WO2010058144A1 - Method and device for discovering the level-3 topology of a corporate ip internet network - Google Patents

Method and device for discovering the level-3 topology of a corporate ip internet network Download PDF

Info

Publication number
WO2010058144A1
WO2010058144A1 PCT/FR2009/052286 FR2009052286W WO2010058144A1 WO 2010058144 A1 WO2010058144 A1 WO 2010058144A1 FR 2009052286 W FR2009052286 W FR 2009052286W WO 2010058144 A1 WO2010058144 A1 WO 2010058144A1
Authority
WO
WIPO (PCT)
Prior art keywords
rank
subnet
routers
network
discovery
Prior art date
Application number
PCT/FR2009/052286
Other languages
French (fr)
Inventor
Frédéric PAILLER
Romain Delordre
Original Assignee
Centre National D'etudes Spatiales
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Centre National D'etudes Spatiales filed Critical Centre National D'etudes Spatiales
Publication of WO2010058144A1 publication Critical patent/WO2010058144A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies

Definitions

  • the invention relates to a method for discovering the level 3 topology according to the OSI standard of an IP type enterprise network and more generally a corresponding mapping method.
  • IP Internet Protocol
  • the tools developed are for the most part network management tools that do not offer an adequate view of the network either because they do not provide enough information, for example by confining themselves to network equipment, or conversely because the intervention of the operator is necessary to inform additional information.
  • Level 3 information discovery processes level 3 being defined in the OSI (Open Systems Interconnection) classification.
  • Level 3 information is primarily about routers and subnets, where a subnet is defined by interconnected IP network machines that can communicate with each other without having to go through a level 3 router.
  • Such search methods are not limited to the underlying subnets of a same router but can also go beyond the router.
  • the document EP 1 211 843 A1 describes a method for discovering the topology of a level 3 IP network according to the OSI standard which is not limited to the underlying subnetworks of the same router but which makes it possible to go beyond the router.
  • the method described in this document firstly comprises a first step of discovering the different subnetworks of the entire network and for each of them of all their immediate connectivity links with each other. the underlying sub-networks and level 3 routers closest thereafter and then a second step of extracting the topology of the global network.
  • the discovery method described is certainly an exhaustive discovery method having a wide scope of the connectivity links of the different sub-networks with their neighbors but it has the disadvantage of being inefficient and slow to implement in the case where several subnets are looping back and forth across routers.
  • the technical problem is to improve the efficiency of the discovery of the IP level 3 topology of the global network in the case where several subnetworks are looped back together through routers.
  • the subject of the invention is a method for discovering the IP level 3 topology of an internet type network comprising: a set of level 3 IP routers and a set of IP subnetworks forming interconnected nodes according to a predetermined graph topology, and a discovery terminal connected to one of the subnets of the set of networks called the initial subnetwork, the method comprising the steps of starting from the discovery terminal to: determining the sub-network initial network to which the discovery terminal is attached, assigning to the initial subnetwork the value zero as a subnet rank, characterized in that it comprises the steps of: in a recursive loop of current path parameter (Nbsauts), search subnets with the same subnet rank (Nbsauts) from the set of subnets with the rank of a number one below the current value (Nbsauts), the rank of any subnet relative to the discovery terminal being the minimum number of routers required to access said subnet from the discovery terminal, and assigning to the determined subnets with the same subnet rank (Nbsaut
  • the discovery method comprises one or more of the following characteristics:
  • the step of searching for subnets of the same rank Nbsaut comprises for each subnet of rank Nbsaut-1 scanned, a step of determining the routers connected as physical units to said subnetwork of rank Nbsaut -1 independently virtual routing implemented in any of the routers;
  • the method comprises, for each determined router, the steps of: determining the connected active physical interfaces, for each interface, determining the associated subnetwork and verifying that it is not a sub-network of rank lower than or equal to subnet current minus one, and in the case where the associated subnet is of a higher rank, register it in a memory of the subnets to be scanned at the next subnetwork rank index cycle Nbsauts + 1;
  • the method comprises the step of: registering the determined associated subnetwork in a memory of sub-networks already scanned;
  • the step of determining the routers comprises the steps of: recovering the address range of the scanned subnet, and for each IP address contained in the retrieved range, testing the activity of the sending address; a test message, and register the active address when an active machine is detected at this address, and for each registered active IP address, send a UDP request to the destination port associated with the SNMP service, and in the case where the response to this request indicates that the port is not closed, send a request of type sysName, and after reception of the answer, in case the variable sysName is filled and the machine filled is not already known in the list of records of routers, retrieve the list of IP interfaces of equipment with their mask associated with them, and in the case where two sub-networks are detected, the machine is determined as a level 3 router, register the determined router; the step of retrieving the list of physical interfaces
  • the invention also relates to a mapping method comprising a topology discovery method as defined above and a network display step from the subnets and routers recordings, in the form of layers. concentric or parallel, each layer comprising the registered subnetworks of the same rank Nbsauts being distant from the initial sub-network of rank 0 proportionally to the rank of sub-network, and delimited by border zones formed by the routers of the same rank of router.
  • the invention also relates to a system for implementing the method of discovering the IP level 3 topology of an Internet type network comprising: a set of level 3 IP routers and a set of IP sub-networks forming nodes interconnected according to a predetermined graph topology, and a discovery terminal connected to one of the subnets of all the networks called the initial subnet, the discovery terminal being able to determine the initial subnet to which the discovery terminal is attached and to assign the subnet to the subnet; initial network zero as a subnet rank, characterized in that the discovery terminal comprises; means for searching according to a recursive loop of current path parameter (Nbsauts) the subnetworks having the same rank of sub-network
  • Nbsauts recursive loop of current path parameter
  • Nbsauts from the set of immediately lower rank subnets of a number one to the current value (Nbsauts), the rank of any subnet relative to the discovery terminal being the minimum number of routers necessary to access said subnet from the discovery terminal, and to assign to the determined subnets having the same subnet rank (Nbsauts) the current value of the current path parameter (Nbsaut) as a rank of subnet.
  • the system comprises one or more of the following characteristics:
  • the means for searching the subnetworks of the same rank Nbsaut are able to determine routers connected as physical units to said subnetwork of rank Nbsauts -1 independently of a virtual routing implemented in any one of the routers;
  • the means for searching the Nbsaut sub-networks of same rank are suitable for each determined router to determine the connected active physical interfaces, and for each interface to determine the associated subnet and to check that it is not a sub-network. a network of rank lower than or equal to the current rank of sub-network minus one, and in the case where the associated subnet is of a higher rank than registering it in a memory of the subnetworks to be scanned at the next cycle of sub-network rank index Nbsauts + 1.
  • the invention also relates to a recording medium of an instruction recording program that can be executed by a computer implementing a method as defined above.
  • the invention will be better understood on reading the description of a single embodiment which will follow, given solely by way of example and with reference to the drawings in which:
  • FIG. 1 is a view of a general level 3 architecture of an Internet type network
  • FIG. 2 is a flow diagram of a method for discovering the IP level topology of a network of the type described in FIG.
  • FIG. 3 is a detailed flow chart of a particular step of the flowchart described in FIG. 2.
  • an enterprise network of the Internet type that is to say implementing the IP protocols.
  • IP protocols Internet Protocol
  • Intranet is represented at level 3, level 3 being defined according to the OSI (Open System Interconnections) classification.
  • OSI Open System Interconnections
  • the network 2 comprises a set of logical subnetworks interconnected through routers according to a predetermined but unknown graph topology.
  • OSI model-level 2 components such as access switches are not considered in the level 3 discovery process.
  • virtual contexts are implemented on the same router considered as physical entity, they are represented here as independent routers.
  • the network 2 comprises a discovery terminal 3 with a computer 4 having means for determining subnetworks 5.
  • the discovery terminal 3 is connected to any subnet 6 of the network called the initial subnet.
  • first and second routers 8 and 10 are connected to the initial subnet 6.
  • the set 12 formed by the initial subnetwork 6 is defined as the set of subnets with a rank of zero subnetwork.
  • the first router 8 and the second router 10 are called routers having a router rank equal to 1.
  • the set 12 of subnetworks is formed by the subnetworks which are connected to the first and second routers 8, 10, of router rank equal to 1, except the initial subnet 6 of subnet rank equal to zero.
  • the set 12 called set of sub-array subnets equal to 1 is formed of the sub-networks 16, 18, 20 connected to the first router 8 and sub-networks 22, 24 connected to the second router 10 .
  • Tier 2 routers are routers connected to subnets of subnet rank equal to 1 that are not router rank routers equal to 1.
  • routers of router rank equal to 2 are routers 24, 26, 28,
  • the subnetworks interconnected to at least two routers are each represented by a pattern having a gray interior while subnetworks connected to a single router are each represented by a pattern having a white interior. .
  • the set 32 of subnets is formed by the subnets connected to router rank routers equal to 2 except subnets of subnet rank equal to 1.
  • the set 32 called set of sub-array subnets equal to 2 is formed by sub-networks 34, 36, 38, 40, 42, 44 respectively connected to routers of router rank equal to 2 , 24, 24, 26, 28, 28, 30.
  • Router rank routers equal to 3 are routers connected to subnet-rank subnets equal to 2 that are not router-rank routers equal to 2.
  • router-rank routers equal to 3 are routers 46, 48, 50 respectively connected to the sub-networks 34, 38, 42.
  • the set of subnets 52 is formed by the subnets that are connected to the router rank routers equal to 3 except subnets of subnet rank equal to 2.
  • the set 52 called together subnets of sub-network rank equal to 3 is formed by sub-networks 54, 56, 58, 60 connected to routers of router rank equal to 3 respectively routers 46, 48, 48, 50.
  • an ordered description of the topology at level 3 of the network 2 is performed by the computer 4 of the discovery terminal 3 in which the routers and the subnets are ordered according to their rank of router and their rank respectively. subnet that were assigned to them by the computer 4.
  • the subnet rank assigned by the computer 4 and represented by the variable called Nbsauts, for a given subnet relative to the discovery terminal 3 is the minimum number of routers required to access said subnetwork from the discovery terminal 3.
  • the router rank of a router assigned by the computer 4 to a router is equal to the minimum rank of the subnet or subnets connected thereto plus the number 1.
  • the sub-network 22 is connected to both routers 28 and 30 of rank 2 and to router 10 of rank 1.
  • a subnetwork loop exists. It is defined by the chain of connections connecting the initial subnet 6 to the router
  • a flowchart 100 of the discovery method comprises a set of steps traversed according to a recursive type algorithm during which the network is probed by increasing rank of subnet, that is by incrementing the parameter Nbs. .
  • the discovery of the topology of the IP network is implemented from a given point in the network, more precisely here the discovery terminal 3 by the exchange of request and response messages belonging to the Internet protocols.
  • the subnet rank subnet equal to zero on which the search terminal 3 is located is determined as well as the router rank routers equal to 1.
  • the discovery terminal 3 implementing the algorithm in search of routers of router rank equal to 1 performs this search. Once the routers are detected, the computer 4 tries to find to which other subnets these are connected, the computer 4 stores them and finally we scan the current subnet to gather the information on the machines. connected to it. Then, the search for routers on the stored subnets can resume and so on successively.
  • the discovery process thus advances iteratively jump jump incrementing variable Nbsauts until reaching the jump limit set at the beginning of the process or until reaching the limits of the network or routers not delivering information on their external interconnections. More specifically, in a first initialization step 102, a first work stack 104 of the current subarrays to be scanned corresponding to the rank of the current value of the Nbsaut variable, as well as a stack 106 for preparing the subnets to be used. scan at the next hop are emptied that is to say put in a reference state corresponding to the vacuum. In addition, a memory 108 for storing already scanned subnets and routers is also initialized by setting to a reference state corresponding to the vacuum. The current variable of rank of subnetworks, called Nbsauts is set to zero and a maximum number of rank of subnets to be discovered is set also in step 102 by an entry of the operator. In a next step 110, the initial subnet 6 is determined.
  • the initial subnet 6 determined is stacked in the work stack 104.
  • a recursive discovery loop parameterized by the value of the number of jumps, Nbsauts, is initiated by the initial value of Nbsaut equal to zero.
  • a step 116 subsequent to the branching step 112 the current value of the Nbsauts parameter is compared with the value of the predetermined maximum hopping number set during the initialization step 102.
  • a step 122 the work stack 104 is consulted.
  • a step 124 the battery 104 is unstacked from a sub-network unit to start the path of a second loop.
  • a step 126 the routers connected to the subnetwork depilated at 124 and being analyzed are determined.
  • each current router associated with a path pointer of the third loop is examined.
  • a next step 130 the interfaces of the scanned current router being examined and corresponding to the current pointer of the third loop are determined.
  • a next step 134 for the scanned interface being examined, the associated subnet is determined if one exists. If it does not exist, the pointer of the fourth loop is incremented and the method jumps to the connection step 132.
  • a next step 136 it is examined whether the network has already been scanned and examined by going to read the storage memory 108 of sub-networks already scanned. If the subnet has already been scanned and examined by being stored in the memory 108, then the pointer of the fourth loop is incremented and the next interface is examined by skipping to step 132.
  • step 138 it is checked whether the subnet is in the work stack 104. If the subnet is registered in the work stack 104, then the interface pointer of the fourth loop is incremented and the next interface is examined by skipping to step 132. If the subnet is not registered in the work stack 104, then in a step 140 the associated subnet is stacked in the subnet stack 106 to be scanned at the next hop.
  • a step 142 it is examined whether all the interfaces of the current determined router have been scanned and if this is not the case, the method jumps to step 132.
  • step 142 When it is determined in step 142 that all interfaces have been examined, it is determined in step 144 whether all the routers determined in step 126 have been examined. If there is still at least one router to examine, then the process jumps to step 128.
  • the current subnet depicted in step 124 is analyzed in step 146 and the information associated with this current subnet is added to the storage file 108 of the already scanned subnets. .
  • the information associated with this subnet is the subnet rank assigned to it the current value of Nbsauts by the computer 4.
  • step 122 the process jumps to step 122, and in the case where the working stack 104 is not empty, all the steps 124, 126, 128, 130, 132, 136, 138, 140, 142 are repeated. , 144, 146.
  • a step 148 the contents of the subnetting preparation stack 106 are transferred to the work stack 104, the preparation stack 106 then being in an empty reference state.
  • a next step 150 it is checked whether the contents of the work stack 104 are empty.
  • the discovery process is completed in the stopping step 120.
  • the path parameter of the first loop is incremented by one in step 152 and the first discovery loop is again implemented by progressing to step 116 and then to step 122 if the maximum reach of the discovery set by the maximum allowable number of jumps allows.
  • each sub-network is analyzed once and the storage memory 108 of sub-networks already scanned contains in an orderly manner the topology of the network in an order governed by the parameter of the number of hops.
  • a graphical display of the topology of the level 3 network is performed directly from the structured data contained in the storage memory.
  • the graphic display is made as and when the entities of the network are discovered, the distance of the entities discovered with respect to the search terminal being a function of the parameter Nbsauts.
  • step 126 is described in detail in a set of steps.
  • a first step 200 the range of IP addresses of the subnet being examined is recovered. From the IP address of the subnet and its mask provided in step 124, the IP addresses of the minimum and maximum terminal of the machines that this subnet contains are determined.
  • the range is defined by the minimum bound of 192.168.30.0 and the maximum bound of 192.168.30.255.
  • the available addresses in this range are 192.168.30.1, 192.168.30.2, ..., 192.168. 30,254.
  • a fifth loop is traveled for each IP address in this range except the one that has already been registered from the already discovered router. Thus, a router already listed is not scanned again and examined.
  • a next step 204 for each IP address 204, the equipment associated with this address is tested to see if it is active or not.
  • the computer 4 sends an ICMP Echo Request command (ICMP designating in English Internet Control Message Protocol) to the polled machine identified by its IP address which is supposed to respond by an ICMP Echo Reply.
  • ICMP Echo Request command ICMP designating in English Internet Control Message Protocol
  • another method is used which consists in using the TCP protocol in a devious way in relation to its originally intended purpose, the presence of a machine being detected even if it does not respond to NCMP Echo Request.
  • the principle is to send a TCP ACK type packet on the port 80 for example, the packet usually used to transfer data and TCP designating in English Transmission Control Protocol (protocol part of the heart of Internet protocols). Since the remote polled machine has not previously established a connection and does not understand why it receives this message, it responds with an RST message (abbreviation of Reset) that indicates its presence.
  • RST message abbreviation of Reset
  • This test is also valid for a TCP SYN packet that requests the remote machine to establish connections. If the port of the remote machine on which the packet is sent, is closed then this one will answer by a packet of type RST, in the opposite case it will begin the second stage of the establishment of the connection by the sending of a SYN / ACK package, two scenarios that will reveal the presence of the targeted machine.
  • a next step 206 the computer 4 tests whether the machine has responded thus revealing its presence on the sub-network. If it has not done so, the method loops back to step 202. If it has issued a response, the method then proceeds to a next step 208.
  • step 208 the active IP address is stored.
  • a step 210 one tests if all the IP addresses of the range of the loop were traversed.
  • step 210 If in step 210 all the IP addresses of the range traveled have been tested, it leaves the fifth loop to continue at a step 212.
  • a sixth loop is traversed by a pointer describing all the IP addresses found to be active.
  • the computer 4 sends a User Datagram Protocol (UDP) packet to the port 161 associated with the Simple Network Management Protocol (SNMP) service.
  • UDP User Datagram Protocol
  • SNMP Simple Network Management Protocol
  • step 216 the state of the port is tested. If it is closed, there is no access to the SNMP protocol and then we go to step 150. Otherwise we continue to a step 218 consecutive. In step 218 a request of type get-request is sent on the variable
  • a step 220 if the variable SysName is filled in, a step 222 is implemented. Otherwise, we go back to step 212 of connection of the sixth loop, the pointer being on the next active IP address.
  • step 222 if this name is already known among the routers already discovered, it returns to step 212 of branching of the sixth loop, the pointer being on the next active IP address. Otherwise we continue to a next step 224.
  • step 224 the ipAddrTable table and more precisely the ipAdEntNetMask subset (whose OID (Object Identifier abbreviation) is .1.3.6.1.2.1.4.20.1.3) with a SNMP request of type GetBbulkRequest available at from SNMP version 2C, which allows to retrieve from a single packet all the data of the subset.
  • IpAdEntNetMask informs for each IP interface the mask associated with it. The IP address of the interface is found thanks to the OID of the field:
  • a step 226 it is tested whether the machine is connected to two sub-networks or more precisely if it has two active IP addresses that is to say not belonging to the same subnet in which case we can consider that it runs at least at level 3 of the OSI model.
  • An SNMP manageable machine that has more than one different subnet IP interface is then considered a router.
  • a subnet is determined.
  • Standby Router Protocol or VRRP (Virtual Router Redundancy Protocol, described in RFC 3768) are implemented and show in the table two gateway IP addresses including a virtual one.
  • the ipAdEntNetMask table is used to list subnets to which the router is connected.
  • Queries on MIB objects of type Table are requests of the type GetRequest available from version 2C of SNMP.
  • a request of the type get-request the requests getBulkRequest and get-request generating a response of the type get-response.
  • the router is stored in the storage memory 106 of the subnets to be scanned at the next hop. The router is registered with its router rank to which the current value Nbsauts has previously been assigned by the computer 4. The sixth loop is continued until at step 230 where it is tested if IP addresses still active n ' have not been examined yet. If this is the case, the process is continued at step 212 of branching. Otherwise, the step
  • step 126 is complete and the discovery process then continues to step 128.
  • the discovery process described in Figure 2 traverses the routers and subnets by structuring them according to the minimum number of jumps to go from a subnet to the discovery terminal, which avoids to browse several times the same sub-network. in the case where there exists a sub-network loop such as that described by the sub-networks 6, 20, 22.
  • ipAdEntNetMask table makes it possible to find all the interfaces of a router, regardless of any Virtual Virtualization and Forwarding (VRF) virtual partitioning implemented on this router.
  • VRF Virtual Virtualization and Forwarding

Abstract

The invention relates to a method for discovering the level-3 IP topology of an internet network (2) including a step (110) of determining an initial subnetwork (6) to which a discovery terminal (3) is connected. The method comprises steps comprising, in a recursive loop of common path parameters (Nbsauts), searching the subnetworks (34, 36, 38, 40, 42, 44) with the same subnetwork rank (Nbsauts) from all the subnetworks (18, 20, 22) with a rank immediately lower by a number one than the common value (Nbsauts), the rank of a subnetwork being the minimum number of routers required to access said subnetwork from a discovery terminal, and assigning the common value of the common path parameter (Nbsaut) as subnetwork rank to the predetermined subnetworks (34, 36, 38, 40, 42, 44) with the same subnetwork rank (Nbsauts).

Description

Procédé et dispositif de découverte de la topologie de niveau 3 d'un réseau internet IP d'entreprise Method and device for discovering the level 3 topology of a corporate IP internet network
L'invention se rapporte à un procédé de découverte de la topologie de niveau 3 selon la norme OSI d'un réseau d'entreprise de type IP et plus généralement d'un procédé de cartographie correspondant.The invention relates to a method for discovering the level 3 topology according to the OSI standard of an IP type enterprise network and more generally a corresponding mapping method.
L'architecture d'un réseau informatique d'entreprise de type IP, c'est-à-dire utilisant le protocole internet (IP), évolue à une vitesse telle que la documentation associée n'est pas mise à jour suffisamment rapidement pour fournir une image réelle de la topologie du réseau. A cette fin de nombreux outils informatiques ont été développés destinés à découvrir automatiquement et à afficher graphiquement la topologie du réseau.The architecture of an IP-based enterprise computer network, that is to say using the Internet Protocol (IP), is evolving at such a speed that the associated documentation is not updated quickly enough to provide a real picture of the network topology. To this end, numerous computer tools have been developed for automatically discovering and graphically displaying the topology of the network.
Les outils développés sont pour la plupart des outils de supervision du réseau qui n'offrent pas une vision adéquate du réseau soit parce qu'ils ne fournissent pas assez d'informations, par exemple en se bornant aux équipements réseau, soit à l'inverse parce que l'intervention de l'opérateur est nécessaire pour renseigner des informations complémentaires.The tools developed are for the most part network management tools that do not offer an adequate view of the network either because they do not provide enough information, for example by confining themselves to network equipment, or conversely because the intervention of the operator is necessary to inform additional information.
C'est pourquoi des outils ont été proposés qui mettent en œuvre des procédés de découverte d'informations de niveau 3, le niveau 3 étant défini dans la classification de la norme OSI (en anglais Open Systems Interconnexion). Les informations de niveau 3 concernent essentiellement les routeurs et les sous-réseaux, un sous-réseau étant défini par des machines informatiques du réseau IP interconnectées entre elles et qui peuvent communiquer entre elles sans avoir à passer par un routeur de niveau 3.For this reason, tools have been proposed that implement Level 3 information discovery processes, level 3 being defined in the OSI (Open Systems Interconnection) classification. Level 3 information is primarily about routers and subnets, where a subnet is defined by interconnected IP network machines that can communicate with each other without having to go through a level 3 router.
De tels procédés de recherche ne se limitent pas aux sous-réseaux sous- jacents d'un même routeur mais peuvent également aller au-delà du routeur.Such search methods are not limited to the underlying subnets of a same router but can also go beyond the router.
Le document EP 1 211 843 A1 décrit un procédé de découverte de la topologie d'un réseau IP de niveau 3 selon la norme OSI qui ne se limite pas aux sous-réseaux sous-jacents d'un même routeur mais qui permet d'aller au-delà du routeur. Le procédé décrit dans ce document comprend tout d'abord une première étape de découverte des différents sous-réseaux de l'ensemble du réseau et pour chacun d'entre eux de l'ensemble de leurs liens de connectivité immédiate avec les sous-réseaux et routeurs sous-jacents de niveau 3 les plus proches et ensuite une deuxième étape d'extraction de la topologie du réseau global.The document EP 1 211 843 A1 describes a method for discovering the topology of a level 3 IP network according to the OSI standard which is not limited to the underlying subnetworks of the same router but which makes it possible to go beyond the router. The method described in this document firstly comprises a first step of discovering the different subnetworks of the entire network and for each of them of all their immediate connectivity links with each other. the underlying sub-networks and level 3 routers closest thereafter and then a second step of extracting the topology of the global network.
Le procédé de découverte décrit est certes un procédé de découverte exhaustive ayant une portée large des liens de connectivité des différents sous- réseaux avec leurs voisins mais il présente l'inconvénient d'être peu efficace et long à mettre en œuvre dans le cas où plusieurs sous-réseaux se rebouclent entre eux au travers de routeurs.The discovery method described is certainly an exhaustive discovery method having a wide scope of the connectivity links of the different sub-networks with their neighbors but it has the disadvantage of being inefficient and slow to implement in the case where several subnets are looping back and forth across routers.
En effet, la recherche n'est pas orientée de prime abord sur la découverte de la topologie en elle-même, et autorise plusieurs fois de manière redondante la découverte d'un même sous-réseau à une étape différente du procédé.Indeed, the search is not oriented at first glance on the discovery of the topology in itself, and several times redundantly authorizes the discovery of the same sub-network at a different stage of the process.
Le problème technique est d'améliorer l'efficacité de la découverte de la topologie IP de niveau 3 du réseau global dans le cas où plusieurs sous-réseaux sont rebouclés entre eux au travers de routeurs.The technical problem is to improve the efficiency of the discovery of the IP level 3 topology of the global network in the case where several subnetworks are looped back together through routers.
A cet effet, l'invention a pour objet un procédé de découverte de la topologie IP de niveau 3 d'un réseau de type internet comprenant : un ensemble de routeurs IP de niveau 3 et un ensemble de sous-réseaux IP formant des nœuds interconnectés selon une topologie de graphe prédéterminée, et un terminal de découverte connecté à l'un des sous-réseaux de l'ensemble des réseaux appelé sous-réseau initial, le procédé comprenant les étapes consistant à partir du terminal de découverte à : déterminer le sous-réseau initial auquel est rattaché le terminal de découverte, affecter au sous-réseau initial la valeur zéro en tant que rang de sous- réseau, caractérisé en ce qu'il comporte les étapes consistant à : dans une boucle récursive de paramètre de parcours courant (Nbsauts), rechercher les sous-réseaux ayant un même rang de sous-réseau (Nbsauts) à partir de l'ensemble des sous-réseaux de rang immédiatement inférieur d'un nombre un à la valeur courante (Nbsauts), le rang d'un sous-réseau quelconque par rapport au terminal de découverte étant le nombre minimal de routeurs nécessaires pour accéder audit sous-réseau à partir du terminal de découverte, et affecter aux sous-réseaux déterminés ayant un même rang de sous- réseau (Nbsauts) la valeur courante du paramètre de parcours courant (Nbsaut) en tant que rang de sous-réseau.For this purpose, the subject of the invention is a method for discovering the IP level 3 topology of an internet type network comprising: a set of level 3 IP routers and a set of IP subnetworks forming interconnected nodes according to a predetermined graph topology, and a discovery terminal connected to one of the subnets of the set of networks called the initial subnetwork, the method comprising the steps of starting from the discovery terminal to: determining the sub-network initial network to which the discovery terminal is attached, assigning to the initial subnetwork the value zero as a subnet rank, characterized in that it comprises the steps of: in a recursive loop of current path parameter (Nbsauts), search subnets with the same subnet rank (Nbsauts) from the set of subnets with the rank of a number one below the current value (Nbsauts), the rank of any subnet relative to the discovery terminal being the minimum number of routers required to access said subnet from the discovery terminal, and assigning to the determined subnets with the same subnet rank (Nbsauts) the current value of the current path parameter (Nbsaut) as the subnet rank.
Suivant des modes particuliers de réalisation, le procédé de découverte comporte l'une ou plusieurs des caractéristiques suivantes :According to particular embodiments, the discovery method comprises one or more of the following characteristics:
- l'étape de recherche de sous-réseaux de même rang Nbsaut comprend pour chaque sous-réseau de rang Nbsaut-1 balayé, une étape de détermination des routeurs connectés en tant qu'unités physiques audit sous-réseau de rang Nbsauts -1 indépendamment d'un routage virtuel mis en œuvre dans un quelconque des routeurs ;the step of searching for subnets of the same rank Nbsaut comprises for each subnet of rank Nbsaut-1 scanned, a step of determining the routers connected as physical units to said subnetwork of rank Nbsaut -1 independently virtual routing implemented in any of the routers;
- le procédé comprend pour chaque routeur déterminé les étapes consistant à : déterminer les interfaces physiques actives connectées, pour chaque interface, déterminer le sous-réseau associé et vérifier qu'il n'est pas un sous-réseau de rang inférieur ou égal au rang courant de sous- réseau moins un, et dans le cas où le sous-réseau associé est d'un rang supérieur l'enregistrer dans une mémoire des sous-réseaux à balayer au prochain cycle d'indice de rang de sous-réseau Nbsauts + 1 ;the method comprises, for each determined router, the steps of: determining the connected active physical interfaces, for each interface, determining the associated subnetwork and verifying that it is not a sub-network of rank lower than or equal to subnet current minus one, and in the case where the associated subnet is of a higher rank, register it in a memory of the subnets to be scanned at the next subnetwork rank index cycle Nbsauts + 1;
- le procédé comprend l'étape consistant à : enregistrer le sous-réseau associé déterminé dans une mémoire des sous-réseaux déjà balayés ;the method comprises the step of: registering the determined associated subnetwork in a memory of sub-networks already scanned;
- lors de l'étape de l'enregistrement d'un sous-réseau associé déterminé dans la mémoire des sous-réseaux déjà balayés, l'adresse IP et le masque du sous-réseau sont enregistrés dans un même enregistrement ; - l'étape de détermination des routeurs comprend les étapes consistant à : récupérer la plage d'adresse du sous-réseau balayé, et pour chaque adresse IP contenue dans la plage récupérée, tester l'activité de l'adresse l'envoi d'un message de test, et enregistrer l'adresse active lorsqu'une machine active est détecté à cette adresse, et pour chaque adresse IP active enregistrée, envoyer une requête UDP sur le port de destination associé au service SNMP, et dans le cas où la réponse à cette requête indique que le port n'est pas fermé, envoyer une requête de type sysName, et après réception de la réponse, dans le cas où la variable sysName est renseignée et la machine renseignée n'est pas déjà connue dans la liste des enregistrements des routeurs, récupérer la liste des interfaces IP des équipements avec leur masque qui leurs sont associés, et dans le cas où deux sous-réseaux sont détectés, la machine est déterminée comme étant un routeur de niveau 3, enregistrer le routeur déterminé ; - l'étape de récupération de la liste des interfaces physiques comprend les étapes consistant à : interroger la table ipAddrTable et plus précisément le sous-ensemble ipAdEntNetMask dont l'OID est .1.3.6.1.2.1.4.20.1.3 avec une requête SNMP de type getBulkRequest disponible à partir de la version 2c de SNMP, rapatrier d'un seul paquet toutes les données du sous-ensemble ipAdEntNetMask ; etduring the step of registering a determined associated subnetwork in the memory of sub-networks already scanned, the IP address and the mask of the sub-network are recorded in the same record; the step of determining the routers comprises the steps of: recovering the address range of the scanned subnet, and for each IP address contained in the retrieved range, testing the activity of the sending address; a test message, and register the active address when an active machine is detected at this address, and for each registered active IP address, send a UDP request to the destination port associated with the SNMP service, and in the case where the response to this request indicates that the port is not closed, send a request of type sysName, and after reception of the answer, in case the variable sysName is filled and the machine filled is not already known in the list of records of routers, retrieve the list of IP interfaces of equipment with their mask associated with them, and in the case where two sub-networks are detected, the machine is determined as a level 3 router, register the determined router; the step of retrieving the list of physical interfaces comprises the steps of: querying the ipAddrTable table and more specifically the ipAdEntNetMask subset whose OID is .1.3.6.1.2.1.4.20.1.3 with an SNMP request of getBulkRequest type available from SNMP version 2c, retrieve from a single package all the data of the ipAdEntNetMask subset; and
- lors de l'étape de l'enregistrement d'un routeur déterminé, l'adresse IP du routeur déterminé et les adresses des sous-réseaux connectés sont enregistrés dans un même enregistrement sous la forme d'une liste. L'invention a également pour objet un procédé de cartograph ie comprenant un procédé de découverte de topologie tel que défini ci-dessus et une étape d'affichage du réseau à partir des enregistrements des sous-réseaux et des routeurs, sous la forme de couches concentriques ou parallèles, chaque couche regroupant les sous-réseaux enregistrés de même rang Nbsauts étant distante du sous-réseau initial de rang 0 de manière proportionnelle au rang de sous-réseau, et délimités par des zones frontière formés par les routeurs de même rang de routeur.- During the step of registering a specific router, the IP address of the determined router and the addresses of the subnets connected are recorded in the same record in the form of a list. The invention also relates to a mapping method comprising a topology discovery method as defined above and a network display step from the subnets and routers recordings, in the form of layers. concentric or parallel, each layer comprising the registered subnetworks of the same rank Nbsauts being distant from the initial sub-network of rank 0 proportionally to the rank of sub-network, and delimited by border zones formed by the routers of the same rank of router.
L'invention a également pour objet un système de mise en œuvre du procédé de découverte de la topologie IP de niveau 3 d'un réseau de type Internet comprenant : un ensemble de routeurs IP de niveau 3 et un ensemble de sous-réseaux IP formant des nœuds interconnectés selon une topologie de graphe prédéterminée, et un terminal de découverte connecté à l'un des sous-réseaux de l'ensemble des réseaux appelé sous-réseau initial, le terminal de découverte étant apte à déterminer le sous-réseau initial auquel est rattaché le terminal de découverte et à affecter au sous-réseau initial la valeur zéro en tant que rang de sous-réseau, caractérisé en ce que le terminal de découverte comprend ; des moyens pour rechercher selon une boucle récursive de paramètre de parcours courant (Nbsauts) les sous-réseaux ayant un même rang de sous-réseauThe invention also relates to a system for implementing the method of discovering the IP level 3 topology of an Internet type network comprising: a set of level 3 IP routers and a set of IP sub-networks forming nodes interconnected according to a predetermined graph topology, and a discovery terminal connected to one of the subnets of all the networks called the initial subnet, the discovery terminal being able to determine the initial subnet to which the discovery terminal is attached and to assign the subnet to the subnet; initial network zero as a subnet rank, characterized in that the discovery terminal comprises; means for searching according to a recursive loop of current path parameter (Nbsauts) the subnetworks having the same rank of sub-network
(Nbsauts) à partir de l'ensemble des sous-réseaux de rang immédiatement inférieur d'un nombre un à la valeur courante (Nbsauts), le rang d'un sous-réseau quelconque par rapport au terminal de découverte étant le nombre minimal de routeurs nécessaires pour accéder audit sous-réseau à partir du terminal de découverte, et pour affecter aux sous-réseaux déterminés ayant un même rang de sous-réseau (Nbsauts) la valeur courante du paramètre de parcours courant (Nbsaut) en tant que rang de sous-réseau.(Nbsauts) from the set of immediately lower rank subnets of a number one to the current value (Nbsauts), the rank of any subnet relative to the discovery terminal being the minimum number of routers necessary to access said subnet from the discovery terminal, and to assign to the determined subnets having the same subnet rank (Nbsauts) the current value of the current path parameter (Nbsaut) as a rank of subnet.
Suivant des modes particuliers de réalisation, le système comporte l'une ou plusieurs des caractéristiques suivantes :According to particular embodiments, the system comprises one or more of the following characteristics:
- les moyens pour rechercher les sous-réseaux de même rang Nbsaut sont aptes à déterminer des routeurs connectés en tant qu'unités physiques audit sous-réseau de rang Nbsauts -1 indépendamment d'un routage virtuel mis en œuvre dans un quelconque des routeurs ; etthe means for searching the subnetworks of the same rank Nbsaut are able to determine routers connected as physical units to said subnetwork of rank Nbsauts -1 independently of a virtual routing implemented in any one of the routers; and
- les moyens pour rechercher les sous-réseaux de même rang Nbsaut sont aptes pour chaque routeur déterminé à déterminer les interfaces physiques actives connectées, et pour chaque interface à déterminer le sous-réseau associé et à vérifier qu'il n'est pas un sous-réseau de rang inférieur ou égal au rang courant de sous-réseau moins un, et dans le cas où le sous-réseau associé est d'un rang supérieur à l'enregistrer dans une mémoire des sous-réseaux à balayer au prochain cycle d'indice de rang de sous-réseau Nbsauts + 1.the means for searching the Nbsaut sub-networks of same rank are suitable for each determined router to determine the connected active physical interfaces, and for each interface to determine the associated subnet and to check that it is not a sub-network. a network of rank lower than or equal to the current rank of sub-network minus one, and in the case where the associated subnet is of a higher rank than registering it in a memory of the subnetworks to be scanned at the next cycle of sub-network rank index Nbsauts + 1.
L'invention a également pour objet un support d'enregistrement d'un programme d'enregistrement d'instructions aptes à être exécutées par un ordinateur mettant en œuvre un procédé tel que défini ci-dessus. L'invention sera mieux comprise à la lecture de la description d'une unique forme de réalisation qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins sur lesquels :The invention also relates to a recording medium of an instruction recording program that can be executed by a computer implementing a method as defined above. The invention will be better understood on reading the description of a single embodiment which will follow, given solely by way of example and with reference to the drawings in which:
- la Figure 1 est une vue d'une architecture générale de niveau 3 d'un réseau de type Internet,FIG. 1 is a view of a general level 3 architecture of an Internet type network,
- la Figure 2 est un ordinogramme d'un procédé de découverte de la topologie IP de niveau d'un réseau de type décrit à la figure 1 ,FIG. 2 is a flow diagram of a method for discovering the IP level topology of a network of the type described in FIG.
- la Figure 3 est un ordinogramme détaillé d'une étape particulière de l'ordinogramme décrit à la figure 2. Suivant la figure 1 , un réseau 2 d'entreprise de type internet c'est-à-dire mettant en œuvre les protocoles IP (Internet Protocol), encore appelé Intranet est représenté au niveau 3, le niveau 3 étant défini selon la classification OSI (Open System Interconnexions).FIG. 3 is a detailed flow chart of a particular step of the flowchart described in FIG. 2. According to FIG. 1, an enterprise network of the Internet type, that is to say implementing the IP protocols. (Internet Protocol), also called Intranet is represented at level 3, level 3 being defined according to the OSI (Open System Interconnections) classification.
Le réseau 2 comprend un ensemble de sous-réseaux logiques interconnectés entre eux au travers de routeurs selon une topologie de graphe prédéterminée mais inconnue.The network 2 comprises a set of logical subnetworks interconnected through routers according to a predetermined but unknown graph topology.
Ainsi, les composants de niveau 2 selon le modèle OSI tels que des commutateurs d'accès ne sont pas considérés dans le procédé de découverte de niveau 3. En outre, si des contextes virtuels sont mis en œuvre sur un même routeur considéré en tant qu'entité physique, ils sont ici représentés comme des routeurs indépendants.Thus, OSI model-level 2 components such as access switches are not considered in the level 3 discovery process. In addition, if virtual contexts are implemented on the same router considered as physical entity, they are represented here as independent routers.
Le réseau 2 comprend un terminal de découverte 3 avec un ordinateur 4 ayant des moyens de détermination de sous-réseaux 5. Le terminal de découverte 3 est connecté à un sous-réseau quelconque 6 du réseau dénommé sous-réseau initial.The network 2 comprises a discovery terminal 3 with a computer 4 having means for determining subnetworks 5. The discovery terminal 3 is connected to any subnet 6 of the network called the initial subnet.
En plus du terminal de découverte 3 un premier et deuxième routeurs 8 et 10 sont connectés au sous-réseau initial 6.In addition to the discovery terminal 3 a first and second routers 8 and 10 are connected to the initial subnet 6.
L'ensemble 12 formé par le sous-réseau initial 6 est défini comme l'ensemble des sous-réseaux ayant un rang de sous-réseau nul.The set 12 formed by the initial subnetwork 6 is defined as the set of subnets with a rank of zero subnetwork.
Le premier routeur 8 et le deuxième routeur 10 sont qualifiés de routeur ayant un rang de routeur égal à 1. L'ensemble 12 de sous-réseaux est formé par les sous-réseaux qui sont connectés aux premier et deuxième routeurs 8, 10, de rang de routeur égal à 1 , excepté le sous-réseau initial 6 de rang de sous-réseau égal à zéro.The first router 8 and the second router 10 are called routers having a router rank equal to 1. The set 12 of subnetworks is formed by the subnetworks which are connected to the first and second routers 8, 10, of router rank equal to 1, except the initial subnet 6 of subnet rank equal to zero.
Ici, l'ensemble 12 appelé ensemble de sous-réseaux de rang de sous- réseaux égal à 1 est formé des sous-réseaux 16, 18, 20 connectés au premier routeur 8 et des sous-réseaux 22, 24 connectés au deuxième routeur 10.Here, the set 12 called set of sub-array subnets equal to 1 is formed of the sub-networks 16, 18, 20 connected to the first router 8 and sub-networks 22, 24 connected to the second router 10 .
Les routeurs de rang 2 sont les routeurs connectés aux sous-réseaux de rang de sous-réseaux égal à 1 qui ne sont pas des routeurs de rang de routeur égal à 1. Ici, les routeurs de rang de routeur égal à 2 sont des routeurs 24, 26, 28,Tier 2 routers are routers connected to subnets of subnet rank equal to 1 that are not router rank routers equal to 1. Here, routers of router rank equal to 2 are routers 24, 26, 28,
30 connectés respectivement aux sous-réseaux 18, 20, 20 et 22, 22.Connected respectively to the subarrays 18, 20, 20 and 22, 22.
Il est à noter que sur la figure 1 , les sous-réseaux interconnectés à au moins deux routeurs sont représentés chacun par un motif ayant un intérieur grisé tandis que sous-réseaux connectés à un seul routeur sont représentés chacun par un motif ayant un intérieur blanc.It should be noted that in FIG. 1, the subnetworks interconnected to at least two routers are each represented by a pattern having a gray interior while subnetworks connected to a single router are each represented by a pattern having a white interior. .
L'ensemble 32 de sous-réseaux est formé par les sous-réseaux connectés aux routeurs de rang de routeur égal à 2 excepté les sous-réseaux de rang de sous-réseau égal à 1.The set 32 of subnets is formed by the subnets connected to router rank routers equal to 2 except subnets of subnet rank equal to 1.
Ici, l'ensemble 32 appelé ensemble des sous-réseaux de rang de sous- réseau égal à 2 est formé par des sous-réseaux 34, 36, 38, 40, 42, 44 connectés respectivement aux routeurs de rang de routeur égal à 2, 24, 24, 26, 28, 28, 30.Here, the set 32 called set of sub-array subnets equal to 2 is formed by sub-networks 34, 36, 38, 40, 42, 44 respectively connected to routers of router rank equal to 2 , 24, 24, 26, 28, 28, 30.
Les routeurs de rang de routeur égal à 3 sont les routeurs connectés aux sous-réseaux de rang de sous-réseau égal à 2 qui ne sont pas des routeurs de rang de routeur égal à 2. Ici, les routeurs de rang de routeur égal à 3 sont des routeurs 46, 48, 50 connectés respectivement aux sous-réseaux 34, 38, 42.Router rank routers equal to 3 are routers connected to subnet-rank subnets equal to 2 that are not router-rank routers equal to 2. Here, router-rank routers equal to 3 are routers 46, 48, 50 respectively connected to the sub-networks 34, 38, 42.
L'ensemble 52 de sous-réseaux est formé par les sous-réseaux qui sont connectés aux routeurs de rang de routeur égal à 3 excepté les sous-réseaux de rang de sous-réseau égal à 2. Ici, l'ensemble 52 appelé ensemble des sous-réseaux de rang de sous- réseau égal à 3 est formé par des sous-réseaux 54, 56, 58, 60 connectés aux routeurs de rang de routeur égal à 3 respectivement les routeurs 46, 48, 48, 50. Ainsi, une description ordonnée de la topologie au niveau 3 du réseau 2 est effectuée par l'ordinateur 4 du terminal de découverte 3 dans laquelle les routeurs et les sous-réseaux sont ordonnés en fonction respectivement de leur rang de routeur et de leur rang de sous-réseau qui leur ont été affectés par l'ordinateur 4.The set of subnets 52 is formed by the subnets that are connected to the router rank routers equal to 3 except subnets of subnet rank equal to 2. Here, the set 52 called together subnets of sub-network rank equal to 3 is formed by sub-networks 54, 56, 58, 60 connected to routers of router rank equal to 3 respectively routers 46, 48, 48, 50. Thus, an ordered description of the topology at level 3 of the network 2 is performed by the computer 4 of the discovery terminal 3 in which the routers and the subnets are ordered according to their rank of router and their rank respectively. subnet that were assigned to them by the computer 4.
De manière générale, le rang de sous-réseau affecté par l'ordinateur 4 et représenté par la variable dénommée Nbsauts, pour un sous-réseau donné par rapport au terminal de découverte 3 est le nombre minimal de routeurs nécessaires pour accéder audit sous-réseau à partir du terminal de découverte 3. De manière générale, le rang de routeur d'un routeur affecté par l'ordinateur 4 à un routeur est égal au rang minimal du ou des sous-réseaux qui lui sont connectés augmenté du nombre 1.In general, the subnet rank assigned by the computer 4 and represented by the variable called Nbsauts, for a given subnet relative to the discovery terminal 3 is the minimum number of routers required to access said subnetwork from the discovery terminal 3. In general, the router rank of a router assigned by the computer 4 to a router is equal to the minimum rank of the subnet or subnets connected thereto plus the number 1.
Il est à noter que dans la topologie du réseau 2 donnée à titre d'exemple dans la figure 1 , le sous-réseau 22 est connecté à la fois aux deux routeurs 28 et 30 de rang 2, et au routeur 10 de rang 1.It should be noted that in the topology of the network 2 given by way of example in FIG. 1, the sub-network 22 is connected to both routers 28 and 30 of rank 2 and to router 10 of rank 1.
Il est à remarquer également qu'une boucle de sous-réseaux existe. Elle est définie par la chaîne des connexions reliant le sous-réseau initial 6 au routeurIt should also be noted that a subnetwork loop exists. It is defined by the chain of connections connecting the initial subnet 6 to the router
10, le routeur 10 au sous-réseau 22, le sous-réseau 22 au routeur 28, le routeur10, the router 10 to the subnet 22, the subnet 22 to the router 28, the router
28 au sous-réseau 20, le sous-réseau 20 au routeur 8, et le routeur 8 au sous- réseau initial 6.28 to subnet 20, subnet 20 to router 8, and router 8 to the initial subnet 6.
Suivant la figure 2, un ordinogramme 100 du procédé de découverte comprend un ensemble d'étapes parcourues selon un algorithme de type récursif au cours desquelles le réseau est sondé par rang de sous-réseau croissant, c'est à dire en incrémentant le paramètre Nbsauts. La découverte de la topologie du réseau IP est mise en œuvre à partir d'un point donné dans le réseau, plus précisément ici le terminal de découverte 3 par l'échange de messages de requête et réponse appartenant aux protocoles Internet.According to FIG. 2, a flowchart 100 of the discovery method comprises a set of steps traversed according to a recursive type algorithm during which the network is probed by increasing rank of subnet, that is by incrementing the parameter Nbs. . The discovery of the topology of the IP network is implemented from a given point in the network, more precisely here the discovery terminal 3 by the exchange of request and response messages belonging to the Internet protocols.
Tout d'abord, lorsque Nbsaut est égal à zéro, le sous-réseau de rang de sous-réseau égal à zéro sur lequel se trouve le terminal de recherche 3 est déterminé ainsi que les routeurs de rang de routeur égal à 1.First, when Nbsaut is equal to zero, the subnet rank subnet equal to zero on which the search terminal 3 is located is determined as well as the router rank routers equal to 1.
Le terminal de découverte 3 implémentant l'algorithme à la recherche des routeurs de rang de routeur égal à 1 effectue cette recherche. Une fois le où les routeurs détectés, l'ordinateur 4 essaie de trouver à quels autres sous-réseaux ceux-ci sont connectés, l'ordinateur 4 les mémorise et enfin on balaye le sous-réseau courant afin de récolter les informations sur les machines qui y sont connectés. Puis, la recherche de routeurs sur les sous- réseaux mémorisés peut reprendre ainsi de suite de manière successive.The discovery terminal 3 implementing the algorithm in search of routers of router rank equal to 1 performs this search. Once the routers are detected, the computer 4 tries to find to which other subnets these are connected, the computer 4 stores them and finally we scan the current subnet to gather the information on the machines. connected to it. Then, the search for routers on the stored subnets can resume and so on successively.
Le procédé de découverte avance ainsi de manière itérative au saut par saut en incrémentant la variable Nbsauts jusqu'à atteindre la limite de saut fixé en début de procédé ou jusqu'à atteindre les limites du réseau ou des routeurs ne délivrant pas d'informations sur leurs interconnexions externes. Plus précisément, dans une première étape 102 d'initialisation, une première pile 104 de travail des sous-réseaux courants à balayer correspondant au rang de la valeur courante de la variable Nbsaut, ainsi qu'une pile 106 de préparation des sous-réseaux à balayer au prochain saut sont vidées c'est-à-dire mise dans un état de référence correspondant au vide. De plus, une mémoire 108 de stockage des sous-réseaux et de routeurs déjà balayés est également initialisée par une mise à un état de référence correspondant au vide. La variable courante de rang de sous-réseaux, dénommée Nbsauts est mise à zéro et un nombre maximal de rang de sous-réseaux à découvrir est fixé également au cours de l'étape 102 par une saisie de l'opérateur. Dans une étape suivante 110, le sous-réseau initial 6 est déterminé.The discovery process thus advances iteratively jump jump incrementing variable Nbsauts until reaching the jump limit set at the beginning of the process or until reaching the limits of the network or routers not delivering information on their external interconnections. More specifically, in a first initialization step 102, a first work stack 104 of the current subarrays to be scanned corresponding to the rank of the current value of the Nbsaut variable, as well as a stack 106 for preparing the subnets to be used. scan at the next hop are emptied that is to say put in a reference state corresponding to the vacuum. In addition, a memory 108 for storing already scanned subnets and routers is also initialized by setting to a reference state corresponding to the vacuum. The current variable of rank of subnetworks, called Nbsauts is set to zero and a maximum number of rank of subnets to be discovered is set also in step 102 by an entry of the operator. In a next step 110, the initial subnet 6 is determined.
Puis dans une étape 112, le sous-réseau initial 6 déterminé est empilé dans la pile de travail 104.Then in a step 112, the initial subnet 6 determined is stacked in the work stack 104.
Dans une étape 114 de branchement d'une première boucle, une boucle de découverte récursive, paramétrée par la valeur du nombre de sauts, Nbsauts, est amorcée par la valeur initiale de Nbsaut égale à zéro.In a step 114 of branching a first loop, a recursive discovery loop, parameterized by the value of the number of jumps, Nbsauts, is initiated by the initial value of Nbsaut equal to zero.
Dans une étape 116 consécutive à l'étape de branchement 112, la valeur courante du paramètre Nbsauts est comparée à la valeur du nombre de sauts maximal prédéterminée et fixée lors de l'étape d'initialisation 102.In a step 116 subsequent to the branching step 112, the current value of the Nbsauts parameter is compared with the value of the predetermined maximum hopping number set during the initialization step 102.
Lorsque le nombre de sauts maximal est dépassé, alors le procédé est terminé dans l'étape d'arrêt 120.When the maximum hop count is exceeded, then the process is terminated in the stop step 120.
A l'inverse, lorsque le nombre de sauts courant Nbsauts est inférieur ou égal au nombre de sauts maximal, alors un ensemble d'étapes de balayage des sous-réseaux courants correspondant à un rang de sous-réseau égal à Nbsauts est mis en œuvre.Conversely, when the number of jumps current Nbsauts is less than or equal to the maximum number of jumps, then a set of steps of scanning of current subnets corresponding to a subnet rank equal to Nbsauts is implemented.
Dans une étape 122, la pile de travail 104 est consultée.In a step 122, the work stack 104 is consulted.
Dans le cas où la pile 104 n'est pas vide, dans une étape 124 la pile 104 est dépilée d'une unité de sous-réseau pour amorcer le parcours d'une deuxième boucle.In the case where the battery 104 is not empty, in a step 124, the battery 104 is unstacked from a sub-network unit to start the path of a second loop.
Dans une étape 126, les routeurs connectés au sous-réseau dépilé en 124 et en cours d'analyse sont déterminés.In a step 126, the routers connected to the subnetwork depilated at 124 and being analyzed are determined.
Dans une étape 128 de branchement d'une troisième boucle de parcours des routeurs déterminés à l'étape 126, chaque routeur courant associé à un pointeur de parcours de la troisième boucle est examiné.In a step 128 for connecting a third routing loop of the routers determined in step 126, each current router associated with a path pointer of the third loop is examined.
Dans une étape suivante 130, les interfaces du routeur courant balayé en cours d'examen et correspondant au pointeur courant de la troisième boucle sont déterminées. Dans une étape suivante de branchement 132 d'une quatrième boucle de parcours des interfaces déterminés à l'étape 128, chaque interface balayée associée à un pointeur de parcours de la quatrième boucle est examiné.In a next step 130, the interfaces of the scanned current router being examined and corresponding to the current pointer of the third loop are determined. In a subsequent step 132 of connecting a fourth loop of the interfaces determined in step 128, each scanned interface associated with a path pointer of the fourth loop is examined.
Dans une étape 134 suivante, pour l'interface balayée en cours d'examen le sous-réseau associé est déterminé s'il en existe un. S'il n'en n'existe pas le pointeur de la quatrième boucle est incrémenté et le procédé saute à l'étape de branchement 132.In a next step 134, for the scanned interface being examined, the associated subnet is determined if one exists. If it does not exist, the pointer of the fourth loop is incremented and the method jumps to the connection step 132.
S'il existe un sous-réseau associé, dans une étape suivante 136, il est examiné si le réseau a déjà été balayé et examiné en allant lire la mémoire 108 de stockage des sous-réseaux déjà balayés. Si le sous-réseau a déjà été balayé et examiné en se trouvant enregistré dans la mémoire 108, alors le pointeur de la quatrième boucle est incrémenté et on examine l'interface suivante en sautant à l'étape 132.If there is an associated subnet, in a next step 136, it is examined whether the network has already been scanned and examined by going to read the storage memory 108 of sub-networks already scanned. If the subnet has already been scanned and examined by being stored in the memory 108, then the pointer of the fourth loop is incremented and the next interface is examined by skipping to step 132.
Si le sous-réseau n'a pas déjà été balayé, dans une étape 138 consécutive à 136, il est vérifié si le sous-réseau se trouve dans la pile de travail 104. Si le sous-réseau est enregistré dans la pile de travail 104, alors le pointeur d'interface de la quatrième boucle est incrémenté et on examine l'interface suivante en sautant à l'étape 132. Si le sous-réseau n'est pas enregistré dans la pile de travail 104, alors dans une étape 140 le sous-réseau associé est empilé dans la pile 106 de sous-réseau à balayer au prochain saut.If the subnet has not already been scanned, in a step 138 subsequent to 136, it is checked whether the subnet is in the work stack 104. If the subnet is registered in the work stack 104, then the interface pointer of the fourth loop is incremented and the next interface is examined by skipping to step 132. If the subnet is not registered in the work stack 104, then in a step 140 the associated subnet is stacked in the subnet stack 106 to be scanned at the next hop.
Dans une étape 142, on examine si toutes les interfaces du routeur déterminé courant ont été balayées et si tel n'est pas le cas, le procédé saute à l'étape 132.In a step 142, it is examined whether all the interfaces of the current determined router have been scanned and if this is not the case, the method jumps to step 132.
Lorsqu'il est déterminé dans l'étape 142 que toutes les interfaces ont été examinées, il est déterminé dans l'étape 144, si tous les routeurs déterminés à l'étape 126 ont été examinés. S'il existe encore au moins un routeur à examiner, alors le procédé saute à l'étape 128.When it is determined in step 142 that all interfaces have been examined, it is determined in step 144 whether all the routers determined in step 126 have been examined. If there is still at least one router to examine, then the process jumps to step 128.
Si tous les routeurs ont été examinés, le sous-réseau courant dépilé à l'étape 124 est analysé dans l'étape 146 et les informations associées à ce sous- réseau courant sont ajoutées dans le fichier de stockage 108 des sous-réseaux déjà balayés. Parmi les informations associées à ce sous-réseau figure le rang de sous-réseau auquel lui a été affectée la valeur courante de Nbsauts par l'ordinateur 4.If all the routers have been examined, the current subnet depicted in step 124 is analyzed in step 146 and the information associated with this current subnet is added to the storage file 108 of the already scanned subnets. . Among the information associated with this subnet is the subnet rank assigned to it the current value of Nbsauts by the computer 4.
Ensuite, le procédé saute à l'étape 122, et dans le cas où la pile de travail 104 n'est pas vide on recommence l'ensemble des étapes 124, 126, 128, 130, 132, 136, 138, 140, 142, 144, 146.Then, the process jumps to step 122, and in the case where the working stack 104 is not empty, all the steps 124, 126, 128, 130, 132, 136, 138, 140, 142 are repeated. , 144, 146.
Dans le cas où la pile 104 est vide, dans une étape 148, le contenu de la pile de préparation 106 des sous-réseaux est transféré dans la pile de travail 104, la pile de préparation 106 étant alors dans un état de référence vide.In the case where the stack 104 is empty, in a step 148, the contents of the subnetting preparation stack 106 are transferred to the work stack 104, the preparation stack 106 then being in an empty reference state.
Dans une étape suivante 150, il est vérifié si le contenu de la pile de travail 104 est vide.In a next step 150, it is checked whether the contents of the work stack 104 are empty.
Si la pile de travail 104 est vide, alors le procédé de découverte est terminé dans l'étape d'arrêt 120.If the working stack 104 is empty, then the discovery process is completed in the stopping step 120.
Sinon, le paramètre parcours de la première boucle, Nbsauts, est incrémenté d'une unité dans l'étape 152 et la première boucle de découverte est à nouveau mis en œuvre en progressant à l'étape 116 puis à l'étape 122 si la portée maximale de la découverte fixé par le nombre maximal admissible de sauts le permet. Ainsi, chaque sous-réseau est analysé une seule fois et la mémoire 108 de stockage des sous-réseaux déjà balayés contient de manière ordonnée la topologie du réseau selon un ordre régi par le paramètre du nombre de sauts.Otherwise, the path parameter of the first loop, Nbsauts, is incremented by one in step 152 and the first discovery loop is again implemented by progressing to step 116 and then to step 122 if the maximum reach of the discovery set by the maximum allowable number of jumps allows. Thus, each sub-network is analyzed once and the storage memory 108 of sub-networks already scanned contains in an orderly manner the topology of the network in an order governed by the parameter of the number of hops.
Un affichage graphique de la topologie du réseau de niveau 3 est effectué directement à partir des données structurées contenues dans la mémoire de stockage.A graphical display of the topology of the level 3 network is performed directly from the structured data contained in the storage memory.
En variante, l'affichage graphique est effectué au fur et à mesure de la découverte des entités du réseau, l'éloignement des entités découvertes par rapport au terminal de recherche étant fonction du paramètre Nbsauts. Dans la figure 3, l'étape 126 est décrite de manière détaillée en un ensemble d'étapes.As a variant, the graphic display is made as and when the entities of the network are discovered, the distance of the entities discovered with respect to the search terminal being a function of the parameter Nbsauts. In Fig. 3, step 126 is described in detail in a set of steps.
Dans une première étape 200, la plage des adresses IP du sous-réseau en cours d'examen est récupérée. A partir de l'adresse IP du sous-réseau et de son masque fournis à l'étape 124, les adresses IP de la borne minimale et maximale des machines que contient ce sous-réseau sont déterminées.In a first step 200, the range of IP addresses of the subnet being examined is recovered. From the IP address of the subnet and its mask provided in step 124, the IP addresses of the minimum and maximum terminal of the machines that this subnet contains are determined.
Par exemple, si l'adresse IP du sous-réseau est égale à 192.168.30.0 et le masque est égal à 255.255.255.0, alors la plage est définie par la borne minimale égale à 192.168.30.0 et la borne maximale 192.168.30.255. De ce fait, les adresses disponibles de cette plage sont 192.168.30.1 , 192.168.30.2, ..., 192.168. 30.254.For example, if the IP address of the subnet is 192.168.30.0 and the mask is 255.255.255.0, then the range is defined by the minimum bound of 192.168.30.0 and the maximum bound of 192.168.30.255. As a result, the available addresses in this range are 192.168.30.1, 192.168.30.2, ..., 192.168. 30,254.
Dans une étape de branchement 202, une cinquième boucle est parcourue pour chaque adresse IP de cette plage sauf celle qui a déjà été enregistrée du routeur déjà découvert. Ainsi, un routeur déjà répertorié n'est pas à nouveau balayé et examiné. Dans une étape suivante 204, pour chaque adresse IP 204, l'équipement associé à cette adresse est testé pour savoir s'il est actif ou non.In a branching step 202, a fifth loop is traveled for each IP address in this range except the one that has already been registered from the already discovered router. Thus, a router already listed is not scanned again and examined. In a next step 204, for each IP address 204, the equipment associated with this address is tested to see if it is active or not.
Pour cela, l'ordinateur 4 envoie une commande ICMP Echo Request (ICMP désignant en anglais Internet Control Message Protocol) à la machine sondée identifiée par son adresse IP qui est censée répondre par un ICMP Echo Reply. Au cas où la machine sondée ne répond pas, une autre méthode est utilisée qui consiste à utiliser le protocole TCP de manière détournée par rapport à sa finalité originellement prévue, la présence d'une machine étant détectée même si elle ne répond pas à NCMP Echo Request. Pour cela, le principe est d'envoyer un paquet de type TCP ACK sur le port 80 par exemple, le paquet servant habituellement à transférer des données et TCP désignant en anglais Transmission Control Protocol (protocole faisant partie du cœur des protocoles internet). Comme la machine sondée distante n'a pas au préalable établi de connexion et ne comprend pas pourquoi elle reçoit ce message, elle répond par un message RST (abréviation de Reset) qui indique sa présence.For this, the computer 4 sends an ICMP Echo Request command (ICMP designating in English Internet Control Message Protocol) to the polled machine identified by its IP address which is supposed to respond by an ICMP Echo Reply. In case the polled machine does not respond, another method is used which consists in using the TCP protocol in a devious way in relation to its originally intended purpose, the presence of a machine being detected even if it does not respond to NCMP Echo Request. For this, the principle is to send a TCP ACK type packet on the port 80 for example, the packet usually used to transfer data and TCP designating in English Transmission Control Protocol (protocol part of the heart of Internet protocols). Since the remote polled machine has not previously established a connection and does not understand why it receives this message, it responds with an RST message (abbreviation of Reset) that indicates its presence.
Ce test est aussi valable pour un paquet TCP SYN qui demande à la machine distante l'établissement de connexions. Si le port de la machine distante sur lequel est envoyé le paquet, est fermé alors celle-ci répondra par un paquet de type RST, dans le cas contraire elle entamera la seconde étape de l'établissement de la connexion par l'envoi d'un paquet SYN/ACK, deux cas de figures qui dévoileront la présence de la machine ciblée.This test is also valid for a TCP SYN packet that requests the remote machine to establish connections. If the port of the remote machine on which the packet is sent, is closed then this one will answer by a packet of type RST, in the opposite case it will begin the second stage of the establishment of the connection by the sending of a SYN / ACK package, two scenarios that will reveal the presence of the targeted machine.
Dans une étape suivante 206, l'ordinateur 4 teste si la machine a répondu dévoilant ainsi sa présence sur le sous-réseau. Si elle ne l'a pas fait, le procédé reboucle à l'étape 202. Si elle a émis une réponse, le procédé va alors à une étape 208 suivante.In a next step 206, the computer 4 tests whether the machine has responded thus revealing its presence on the sub-network. If it has not done so, the method loops back to step 202. If it has issued a response, the method then proceeds to a next step 208.
Dans l'étape 208, l'adresse IP active est mémorisée.In step 208, the active IP address is stored.
Puis dans une étape 210, on teste si toutes les adresses IP de la plage de la boucle ont été parcourues.Then in a step 210, one tests if all the IP addresses of the range of the loop were traversed.
Si à l'étape 210 toutes les adresses IP de la plage parcourue ont été testées, on sort de la cinquième boucle pour poursuivre à une étape 212.If in step 210 all the IP addresses of the range traveled have been tested, it leaves the fifth loop to continue at a step 212.
Dans l'étape de branchement 212, une sixième boucle est parcourue par un pointeur décrivant toutes les adresses IP trouvées comme étant actives. Dans une étape 214 pour chaque adresse IP active courante, l'ordinateur 4 envoie un paquet UDP (abréviation en anglais de User Datagram Protocol) à destination du port 161 associé au service SNMP (Simple Network Management Protocol). Le paquet ne contient pas de données mais juste les paramètres adéquats pour vérifier si le destinataire possède sur ce port un service soit ouvert, soit fermé ou filtré.In the branching step 212, a sixth loop is traversed by a pointer describing all the IP addresses found to be active. In a step 214 for each current active IP address, the computer 4 sends a User Datagram Protocol (UDP) packet to the port 161 associated with the Simple Network Management Protocol (SNMP) service. The package does not contain data but just the appropriate parameters to check if the recipient has on this port a service is open, closed or filtered.
Dans une étape 216 suivante, l'état du port est testé. S'il est fermé, il n'y a pas d'accès possible au protocole SNMP et on va alors à l'étape 150. Sinon on continue à une étape 218 consécutive. A l'étape 218 une requête de type get-request est envoyée sur la variableIn a next step 216, the state of the port is tested. If it is closed, there is no access to the SNMP protocol and then we go to step 150. Otherwise we continue to a step 218 consecutive. In step 218 a request of type get-request is sent on the variable
SysName de MIB-II (RFC 1213 de la machine), permettant de relever le nom de la machine.SysName of MIB-II (RFC 1213 of the machine), to raise the name of the machine.
Dans une étape 220, si la variable SysName est renseignée, une étape 222 est mise en œuvre. Sinon, on retourne à l'étape 212 de branchement de la sixième boucle, le pointeur étant sur l'adresse IP active suivante.In a step 220, if the variable SysName is filled in, a step 222 is implemented. Otherwise, we go back to step 212 of connection of the sixth loop, the pointer being on the next active IP address.
Dans l'étape 222, si ce nom est déjà connu parmi les routeurs déjà découverts, on retourne à l'étape 212 de branchement de la sixième boucle, le pointeur étant sur l'adresse IP active suivante. Sinon on continue à une étape suivante 224.In step 222, if this name is already known among the routers already discovered, it returns to step 212 of branching of the sixth loop, the pointer being on the next active IP address. Otherwise we continue to a next step 224.
Dans l'étape 224, la table ipAddrTable et plus précisément le sous- ensemble ipAdEntNetMask (dont l'OID (abréviation anglaise de Object Identifier) est .1.3.6.1.2.1.4.20.1.3) avec une requête SNMP de type GetBbulkRequest disponible à partir de la version 2C de SNMP et qui permet de rapatrier d'un seul paquet toutes les données du sous-ensemble. IpAdEntNetMask renseigne pour chaque interface IP le masque qui lui est associé. L'adresse IP de l'interface est retrouvée grâce à l'OID du champ :In step 224, the ipAddrTable table and more precisely the ipAdEntNetMask subset (whose OID (Object Identifier abbreviation) is .1.3.6.1.2.1.4.20.1.3) with a SNMP request of type GetBbulkRequest available at from SNMP version 2C, which allows to retrieve from a single packet all the data of the subset. IpAdEntNetMask informs for each IP interface the mask associated with it. The IP address of the interface is found thanks to the OID of the field:
Figure imgf000016_0001
Figure imgf000016_0001
Tableau ITable I
Dans une étape 226, on teste si la machine est reliée à deux sous-réseaux ou plus précisément si elle possède deux adresses IP actives c'est-à-dire n'appartenant pas au même sous-réseau auquel cas on peut considérer qu'il fonctionne au minimum au niveau 3 du modèle OSI. Une machine gérable par SNMP et qui possède plus d'une interface IP de sous-réseau différents est alors considéré comme un routeur. Finalement, avec l'adresse IP et le masque trouvés dans la table ipAdEntNetMask, un sous-réseau est déterminé.In a step 226, it is tested whether the machine is connected to two sub-networks or more precisely if it has two active IP addresses that is to say not belonging to the same subnet in which case we can consider that it runs at least at level 3 of the OSI model. An SNMP manageable machine that has more than one different subnet IP interface is then considered a router. Finally, with the IP address and mask found in the ipAdEntNetMask table, a subnet is determined.
L'avantage d'identifier un sous-réseau par la table ipAdEntNetMask réside dans le fait que cette méthode permet de trouver les cas où un même routeur possède deux adresses IP ou plus appartenant au même sous-réseau. Cette configuration apparaît dans le cas où l'un des protocoles HSRP (HotThe advantage of identifying a subnet by the ipAdEntNetMask table is that this method finds cases where a single router has two or more IP addresses in the same subnet. This configuration appears in the event that one of the HSRP protocols (Hot
Standby Router Protocol) ou VRRP (Virtual Router Redundancy Protocol, décrit dans la RFC 3768) sont implémentés et font apparaître dans la table deux adresses IP de passerelles dont une virtuelle. La table ipAdEntNetMask permet donc de lister des sous-réseaux auxquels le routeur est relié.Standby Router Protocol) or VRRP (Virtual Router Redundancy Protocol, described in RFC 3768) are implemented and show in the table two gateway IP addresses including a virtual one. The ipAdEntNetMask table is used to list subnets to which the router is connected.
Les interrogations sur les objets MIB du type Table sont des requêtes du type GetRequest disponibles à partir de la version 2C de SNMP.Queries on MIB objects of type Table are requests of the type GetRequest available from version 2C of SNMP.
Elles permettent de rapatrier toutes les valeurs de la table en un paquet et non pas par incrémentation comme dans la version 1 où il faut envoyer une requête GetNext pour parcourir chacune des valeurs de la table.They make it possible to repatriate all the values of the table in a packet and not by incrementation as in version 1 where it is necessary to send a request GetNext to traverse each of the values of the table.
Dans le cas où c'est une valeur unique qui est demandée, alors on utilise une requête du type get-request, les requêtes getBulkRequest et get-request engendrant une réponse du type get-response. Dans une étape 228 si le test effectué à l'étape 226 résulte en une détection de routeurs, le routeur est enregistré dans la mémoire 106 de stockage des sous-réseaux à balayer au prochain saut. Le routeur est enregistré avec son rang de routeur auquel la valeur courante Nbsauts lui a été préalablement affectée par l'ordinateur 4. La sixième boucle est poursuivie jusqu'à à l'étape 230 où il est testé si des adresses IP encore actives n'ont pas été encore examinés. Si c'est le cas, le procédé est poursuivi à l'étape 212 de branchement. Dans le cas contraire, l'étapeIn the case where a single value is requested, then we use a request of the type get-request, the requests getBulkRequest and get-request generating a response of the type get-response. In a step 228 if the test performed in step 226 results in a router detection, the router is stored in the storage memory 106 of the subnets to be scanned at the next hop. The router is registered with its router rank to which the current value Nbsauts has previously been assigned by the computer 4. The sixth loop is continued until at step 230 where it is tested if IP addresses still active n ' have not been examined yet. If this is the case, the process is continued at step 212 of branching. Otherwise, the step
126 est terminée et le procédé de découverte continue alors à l'étape 128.126 is complete and the discovery process then continues to step 128.
Le procédé de découverte décrit à la figure 2 parcourt les routeurs et les sous-réseaux en les structurant en fonction du nombre minimal de saut pour aller d'un sous-réseau au terminal de découverte, ce qui évite de parcourir plusieurs fois un même sous-réseau dans le cas où il existe une boucle de sous-réseau telle que celle décrite par les sous-réseaux 6, 20, 22.The discovery process described in Figure 2 traverses the routers and subnets by structuring them according to the minimum number of jumps to go from a subnet to the discovery terminal, which avoids to browse several times the same sub-network. in the case where there exists a sub-network loop such as that described by the sub-networks 6, 20, 22.
En outre, identifier un sous-réseau par la table ipAdEntNetMask rend possible de trouver toutes les interfaces d'un routeur, indépendamment de tout cloisonnement virtuel de type VRF (Virtual Routing and Forwarding) implémenté sur ce routeur. In addition, identifying a subnet by the ipAdEntNetMask table makes it possible to find all the interfaces of a router, regardless of any Virtual Virtualization and Forwarding (VRF) virtual partitioning implemented on this router.

Claims

REVENDICATIONS
1.- Procédé de découverte de la topologie IP de niveau 3 d'un réseau (2) de type internet comprenant : un ensemble de routeurs IP (8, 10, 24, 26, 28, 30, 46, 48, 50) de niveau 3 et un ensemble de sous-réseaux IP (6, 18, 20, 22, 24, 34, 36, 38, 40, 42, 44) formant des nœuds interconnectés selon une topologie de graphe prédéterminée, et un terminal de découverte (3) connecté à l'un des sous-réseaux de l'ensemble des réseaux appelé sous-réseau initial (6), le procédé comprenant les étapes consistant à partir du terminal de découverte (3) à : déterminer (110) le sous-réseau initial (6) auquel est rattaché le terminal de découverte (3), affecter au sous-réseau initial (6) la valeur zéro en tant que rang de sous- réseau, caractérisé en ce qu'il comporte les étapes consistant à : dans une boucle récursive de paramètre de parcours courant (Nbsauts), rechercher les sous-réseaux (34, 36, 38, 40, 42, 44) ayant un même rang de sous- réseau (Nbsauts) à partir de l'ensemble des sous-réseaux (18, 20, 22) de rang immédiatement inférieur d'un nombre un à la valeur courante (Nbsauts), le rang d'un sous-réseau quelconque par rapport au terminal de découverte (3) étant le nombre minimal de routeurs nécessaires pour accéder audit sous-réseau à partir du terminal de découverte (3), et affecter aux sous-réseaux (34, 36, 38, 40, 42, 44) déterminés ayant un même rang de sous-réseau (Nbsauts) la valeur courante du paramètre de parcours courant (Nbsaut) en tant que rang de sous-réseau.A method for discovering the IP level 3 topology of an internet type network (2) comprising: a set of IP routers (8, 10, 24, 26, 28, 30, 46, 48, 50) of level 3 and a set of IP subnetworks (6, 18, 20, 22, 24, 34, 36, 38, 40, 42, 44) forming interconnected nodes according to a predetermined graph topology, and a discovery terminal ( 3) connected to one of the subnets of the set of networks called the initial subnetwork (6), the method comprising the steps of starting from the discovery terminal (3) to: determining (110) the sub-network initial network (6) to which the discovery terminal (3) is attached, assigning to the initial subnet (6) the value zero as a rank of sub-network, characterized in that it comprises the steps of: in a recursive loop of current path parameter (Nbsauts), search the subnets (34, 36, 38, 40, 42, 44) with the same rank of subnet (Nbsauts) from of all subnets (18, 20, 22) of immediately lower rank of a number one than the current value (Nbsauts), the rank of any subnet relative to the discovery terminal (3) being the minimum number of routers required to access said subnet from the discovery terminal (3), and assigning to the determined subnets (34, 36, 38, 40, 42, 44) having the same rank of sub-networks. network (Nbsauts) the current value of the current path parameter (Nbsaut) as a subnet rank.
2. Procédé de découverte selon la revendication 1 , caractérisé en ce que l'étape de recherche de sous-réseaux de même rang Nbsaut comprend pour chaque sous-réseau de rang Nbsaut-1 balayé, une étape de détermination (126) des routeurs connectés en tant qu'unités physiques audit sous-réseau de rang Nbsauts -1 indépendamment d'un routage virtuel mis en œuvre dans un quelconque des routeurs. 2. The discovery method as claimed in claim 1, wherein the step of searching for sub-networks of the same rank Nbsaut comprises for each sub-network of rank Nbsaut-1 scanned, a step of determining (126) connected routers. as physical units to said rank Nnauts -1 subnet regardless of virtual routing implemented in any of the routers.
3. Procédé de découverte selon la revendication 2, caractérisé en ce que le procédé comprend pour chaque routeur déterminé les étapes consistant à : déterminer (130) les interfaces physiques actives connectées, pour chaque interface, déterminer (134) le sous-réseau associé et vérifier qu'il n'est pas un sous-réseau de rang inférieur ou égal au rang courant de sous- réseau moins un, et dans le cas où le sous-réseau associé est d'un rang supérieur l'enregistrer dans une mémoire (106) des sous-réseaux à balayer au prochain cycle d'indice de rang de sous-réseau Nbsauts + 1.3. The discovery method as claimed in claim 2, characterized in that the method comprises for each determined router the steps of: determining (130) the connected active physical interfaces, for each interface, determining (134) the associated subnetwork and verify that it is not a subnet of rank lower than or equal to the current rank of subnet minus one, and in the case where the associated subnet is of a higher rank, save it in a memory ( 106) subnets to be scanned at the next sub-network rank index cycle Nbsauts + 1.
4. Procédé de découverte selon la revendication 3, caractérisé en ce qu'il comprend l'étape consistant à :4. Discovery method according to claim 3, characterized in that it comprises the step of:
Enregistrer (146) le sous-réseau associé déterminé dans une mémoire (108) des sous-réseaux déjà balayés.Registering (146) the determined associated subnet in a memory (108) of already scanned subnets.
5. Procédé de découverte selon la revendication 4, caractérisé en ce que lors de l'étape de l'enregistrement (146) d'un sous-réseau associé déterminé dans la mémoire (108) des sous-réseaux déjà balayés, l'adresse IP et le masque du sous-réseau sont enregistrés dans un même enregistrement.5. Discovery method according to claim 4, characterized in that during the step of recording (146) a determined subnetwork determined in the memory (108) sub-networks already scanned, the address IP and the subnet mask are saved in a single record.
6. Procédé de découverte selon la revendication 2, caractérisé en ce que l'étape de détermination (126) des routeurs comprend les étapes consistant à : récupérer (200) la plage d'adresse du sous-réseau balayé, et pour chaque adresse IP contenue dans la plage récupérée, tester l'activité de l'adresse (206) l'envoi (204) d'un message de test, et enregistrer (208) l'adresse active lorsqu'une machine active est détecté à cette adresse, et pour chaque adresse IP active enregistrée, envoyer (214) une requête UDP sur le port de destination (161 ) associé au service SNMP, et dans le cas où la réponse à cette requête indique que le port n'est pas fermé, envoyer (218) une requête de type sysName, et après réception de la réponse, dans le cas où la variable sysName est renseignée et la machine renseignée n'est pas déjà connue dans la liste des enregistrements des routeurs, récupérer (224) la liste des interfaces IP des équipements avec leur masque qui leurs sont associés, et dans le cas où deux sous-réseaux sont détectés, la machine est déterminée (226) comme étant un routeur de niveau 3, enregistrer (228) le routeur déterminé.The discovery method according to claim 2, characterized in that the step of determining (126) the routers comprises the steps of: recovering (200) the address range of the scanned subnet, and for each IP address contained in the retrieved range, testing the activity of the address (206) sending (204) a test message, and storing (208) the active address when an active machine is detected at that address, and for each registered active IP address, send (214) a UDP request to the destination port (161) associated with the SNMP service, and in case the response to this request indicates that the port is not closed, send ( 218) a request of the type sysName, and after reception of the answer, in the case where the variable sysName is filled and the machine entered is not already known in the list of the records of the routers, retrieve (224) the list of the interfaces IP equipment with their mask that their are associated, and in the case where two subnetworks are detected, the machine is determined (226) as a level 3 router, register (228) the determined router.
7. Procédé de découverte de topologie selon la revendication 6, caractérisé en ce que l'étape (224) de récupération de la liste des interfaces physiques comprend les étapes consistant à : interroger la table ipAddrTable et plus précisément le sous-ensemble ipAdEntNetMask dont l'OID est .1.3.6.1.2.1.4.20.1.3 avec une requête SNMP de type getBulkRequest disponible à partir de la version 2c de SNMP, rapatrier d'un seul paq uet toutes les don nées du sous-ensemble ipAdEntNetMask. 7. Method of topology discovery according to claim 6, characterized in that the step (224) for recovering the list of physical interfaces comprises the steps of: interrogating the ipAddrTable table and more specifically the subset ipAdEntNetMask whose 'OID is .1.3.6.1.2.1.4.20.1.3 with a SNMP request of type getBulkRequest available from SNMP version 2c, retrieve from a single package and all data from the subset ipAdEntNetMask.
8. Procédé de découverte de topologie selon la revendication 6, caractérisé en ce que lors de l'étape (228) de l'enregistrement d'un routeur déterminé, l'adresse IP du routeur déterminé et les adresses des sous-réseaux connectés sont enregistrés dans un même enregistrement sous la forme d'une liste. Method for discovering a topology according to claim 6, characterized in that during step (228) of the recording of a determined router, the IP address of the determined router and the addresses of the subnetworks connected are recorded in the same record as a list.
9. Procédé de cartographie comprenant un procédé de découverte de topologie défini selon une des revendications 1 à 8 et une étape d'affichage du réseau à partir des enregistrements des sous-réseaux et des routeurs, sous la forme de couches concentriques ou parallèles, chaque couche regroupant les sous-réseaux enregistrés de même rang Nbsauts étant distante du sous-réseau initial de rang 0 de manière proportionnelle au rang de sous-réseau, et délimités par des zones frontière formés par les routeurs de même rang de routeur.A mapping method comprising a topology discovery method defined according to one of claims 1 to 8 and a network display step from the subnets and routers recordings, in the form of concentric or parallel layers, each layer grouping the registered sub-networks of the same rank Nbsauts being distant from the initial sub-network of rank 0 proportionally to the rank of sub-network, and delimited by border zones formed by the routers of the same rank of router.
10. Système de découverte de la topologie IP de niveau 3 d'un réseau de type Internet comprenant : un ensemble de routeurs IP de niveau 3 et un ensemble de sous-réseaux IP formant des nœuds interconnectés selon une topologie de graphe prédéterminée, et un terminal de découverte (3) connecté à l'un des sous-réseaux de l'ensemble des réseaux appelé sous-réseau initial (6), le terminal de découverte (3) étant apte à déterminer le sous-réseau initial (6) auquel est rattaché le terminal de découverte (3) et à affecter au sous-réseau initial (6) la valeur zéro en tant que rang de sous-réseau, caractérisé en ce que le terminal de découverte (3) comprend ; des moyens (5) pour rechercher selon une boucle récursive de paramètre de parcours courant (Nbsauts) les sous-réseaux (34, 36, 38, 40, 42, 44) ayant un même rang de sous-réseau (Nbsauts) à partir de l'ensemble des sous-réseaux (18, 20, 22) de rang immédiatement inférieur d'un nombre un à la valeur courante (Nbsauts), le rang d'un sous-réseau quelconque par rapport au terminal de découverte (3) étant le nombre minimal de routeurs nécessaires pour accéder audit sous-réseau à partir du terminal de découverte (3), et pour affecter aux sous- réseaux (34, 36, 38, 40, 42, 44) déterminés ayant un même rang de sous-réseau (Nbsauts) la valeur courante du paramètre de parcours courant (Nbsaut) en tant que rang de sous-réseau.A system for discovering the IP level 3 topology of an Internet type network comprising: a set of level 3 IP routers and a set of IP subnets forming interconnected nodes according to a predetermined graph topology, and a discovery terminal (3) connected to one of the subnets of all the networks called initial subnet (6), the discovery terminal (3) being able to determine the initial subnet (6) to which is attached the discovery terminal (3) and assigning to the initial subnet (6) the value zero as a subnet rank, characterized in that the discovery terminal (3) comprises; means (5) for searching according to a current path parameter recursive loop (Nbsauts) the subnetworks (34, 36, 38, 40, 42, 44) having the same subnet rank (Nbsauts) from the set of subnets (18, 20, 22) of rank immediately below a number one to the current value (Nbsauts), the rank of any subnetwork relative to the discovery terminal (3) being the minimum number of routers required to access said subnet from the discovery terminal (3), and to assign to the determined subnets (34, 36, 38, 40, 42, 44) having the same rank of sub-networks. network (Nbsauts) the current value of the current path parameter (Nbsaut) as a subnet rank.
11. Système de découverte selon la revendication 10, caractérisé en ce que les moyens (5) pour rechercher les sous-réseaux de même rang Nbsaut sont aptes à déterminer des routeurs connectés en tant qu'unités physiques audit sous- réseau de rang Nbsauts -1 indépendamment d'un routage virtuel mis en œuvre dans un quelconque des routeurs.11. Discovery system according to claim 10, characterized in that the means (5) for searching the Nbsaut sub-networks of the same rank are capable of determining routers connected as physical units to said rank N-subnet. 1 independently of a virtual routing implemented in any of the routers.
12. Système de découverte selon la revendication 11 , caractérisé en ce que les moyens pour rechercher les sous-réseaux de même rang Nbsaut sont aptes pour chaque routeur déterminé à déterminer les interfaces physiques actives connectées, et pour chaque interface à déterminer le sous-réseau associé et à vérifier qu'il n'est pas un sous-réseau de rang inférieur ou égal au rang courant de sous-réseau moins un, et dans le cas où le sous-réseau associé est d'un rang supérieur à l'enregistrer dans une mémoire (106) des sous-réseaux à balayer au prochain cycle d'indice de rang de sous-réseau Nbsauts + 1.12. The discovery system according to claim 11, characterized in that the means for searching the Nbsaut sub-networks of the same rank are suitable for each determined router to determine the connected active physical interfaces, and for each interface to determine the subnetwork. associated and verify that it is not a subnet of rank less than or equal to the current rank of subnet minus one, and in the case where the associated subnet is of a rank higher than the record in a memory (106) of the subnets to be scanned at the next sub-network rank index cycle Nbsauts + 1.
13. Support d'enregistrement d'instructions aptes à être exécutées par un ordinateur (4) mettant en œuvre un procédé défini selon l'une des revendications 1 à 9. 13. Instruction recording medium capable of being executed by a computer (4) implementing a defined method according to one of claims 1 to 9.
PCT/FR2009/052286 2008-11-24 2009-11-24 Method and device for discovering the level-3 topology of a corporate ip internet network WO2010058144A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0857942 2008-11-24
FR0857942A FR2938992B1 (en) 2008-11-24 2008-11-24 METHOD AND DEVICE FOR DISCOVERING LEVEL 3 TOPOLOGY OF AN INTERNET IP NETWORK

Publications (1)

Publication Number Publication Date
WO2010058144A1 true WO2010058144A1 (en) 2010-05-27

Family

ID=40749245

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2009/052286 WO2010058144A1 (en) 2008-11-24 2009-11-24 Method and device for discovering the level-3 topology of a corporate ip internet network

Country Status (2)

Country Link
FR (1) FR2938992B1 (en)
WO (1) WO2010058144A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107040423A (en) * 2017-05-16 2017-08-11 上海上讯信息技术股份有限公司 A kind of method and system of discovering network topology

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1211843A1 (en) 2000-11-30 2002-06-05 Hewlett-Packard Company, A Delaware Corporation Process and apparatus for automatic topology discovery
US20030046427A1 (en) * 2001-09-06 2003-03-06 Goringe Christopher M. Topology discovery by partitioning multiple discovery techniques
US20030097438A1 (en) * 2001-10-15 2003-05-22 Bearden Mark J. Network topology discovery systems and methods and their use in testing frameworks for determining suitability of a network for target applications
EP1322068A2 (en) * 2001-12-19 2003-06-25 Alcatel Canada Inc. Method and apparatus for automatic discovery of logical links between network devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1211843A1 (en) 2000-11-30 2002-06-05 Hewlett-Packard Company, A Delaware Corporation Process and apparatus for automatic topology discovery
US20030046427A1 (en) * 2001-09-06 2003-03-06 Goringe Christopher M. Topology discovery by partitioning multiple discovery techniques
US20030097438A1 (en) * 2001-10-15 2003-05-22 Bearden Mark J. Network topology discovery systems and methods and their use in testing frameworks for determining suitability of a network for target applications
EP1322068A2 (en) * 2001-12-19 2003-06-25 Alcatel Canada Inc. Method and apparatus for automatic discovery of logical links between network devices

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MANSFIELD G ET AL: "Techniques for automated network map generation using SNMP", PROCEEDINGS OF IEEE INFOCOM 1996. CONFERENCE ON COMPUTER COMMUNICATIONS. FIFTEENTH ANNUAL JOINT CONFERENCE OF THE IEEE COMPUTER AND COMMUNICATIONS SOCIETIES. NETWORKING THE NEXT GENERATION. SAN FRANCISCO, MAR. 24 - 28, 1996; [PROCEEDINGS OF INFOCOM],, vol. 2, 24 March 1996 (1996-03-24), pages 473 - 480, XP010158105, ISBN: 978-0-8186-7293-4 *
SIAMWALLA R ET AL: "Discovering Internet Topology", INTERNET CITATION, XP002275271, Retrieved from the Internet <URL:http://www.cs.cornell.edu/skeshav/papers.html> [retrieved on 20040329] *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107040423A (en) * 2017-05-16 2017-08-11 上海上讯信息技术股份有限公司 A kind of method and system of discovering network topology
CN107040423B (en) * 2017-05-16 2020-06-16 上海上讯信息技术股份有限公司 Method and system for discovering network topology

Also Published As

Publication number Publication date
FR2938992A1 (en) 2010-05-28
FR2938992B1 (en) 2012-12-28

Similar Documents

Publication Publication Date Title
Donnet et al. Internet topology discovery: a survey
US6516345B1 (en) Approaches for determining actual physical topology of network based on gathered configuration information representing true neighboring devices
US8683032B2 (en) Generic discovery for computer networks
US8135828B2 (en) Cooperative diagnosis of web transaction failures
EP0951155A1 (en) Method and system for administering networks and systems
CN110430080A (en) Network topology probe method and device
FR2982974A1 (en) METHOD OF PROCESSING A QUERY IN A COMMUNICATION NETWORK CENTERED ON INFORMATION
Weaver et al. Implications of Netalyzr’s DNS measurements
US11509552B2 (en) Application aware device monitoring correlation and visualization
CN1859239A (en) Monitoring and analytic system for route between domain of internet and its working method
GB2527273A (en) Executing loops
EP2168358B1 (en) Methods and devices for diagnostic data communication in a real-time communication network
EP2036271A2 (en) Method of automatic driving of a telecommunications network with local mutualization of knowledge
EP1574000B1 (en) Method for protocol recognition and analysis in data networks
Fanou et al. Exploring and analysing the African web ecosystem
US11032124B1 (en) Application aware device monitoring
WO2010058144A1 (en) Method and device for discovering the level-3 topology of a corporate ip internet network
Leonard et al. Demystifying internet-wide service discovery
CN111478821B (en) Network performance test method and system
Zeitoun et al. Rapid exploration of internet live address space using optimal discovery path
EP2174458A2 (en) Method and system for discovering the layout of communications between applications in an information network
Marder et al. Inferring cloud interconnections: Validation, geolocation, and routing behavior
EP1908254A2 (en) Method for allocating a temporary address to a mobile node of a telecommunication system, equipment and programmes for implementing same
Hsieh et al. Topology discovery for coexisting IPv6 and IPv4 networks
Raspall Building Nemo, a system to monitor IP routing and traffic paths in real time

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09797079

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09797079

Country of ref document: EP

Kind code of ref document: A1