WO2007093742A2 - Method for estimating a distance between two terminals belonging to an overlapping network superimposed to at least one underlying network - Google Patents

Method for estimating a distance between two terminals belonging to an overlapping network superimposed to at least one underlying network Download PDF

Info

Publication number
WO2007093742A2
WO2007093742A2 PCT/FR2007/050799 FR2007050799W WO2007093742A2 WO 2007093742 A2 WO2007093742 A2 WO 2007093742A2 FR 2007050799 W FR2007050799 W FR 2007050799W WO 2007093742 A2 WO2007093742 A2 WO 2007093742A2
Authority
WO
WIPO (PCT)
Prior art keywords
network
terminals
terminal
list
distance
Prior art date
Application number
PCT/FR2007/050799
Other languages
French (fr)
Other versions
WO2007093742A3 (en
Inventor
Francis Rischette
Benoît FONDEVIOLE
Laurent Rabret
Original Assignee
France Telecom
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 France Telecom filed Critical France Telecom
Publication of WO2007093742A2 publication Critical patent/WO2007093742A2/en
Publication of WO2007093742A3 publication Critical patent/WO2007093742A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • the invention relates to a method for estimating a distance between two terminals belonging to a collection network superimposed on at least one underlying network.
  • P2P network In a communication network, several terminals are connected to each other and can form a collection network, for example of the "peer-to-peer” type, “peer to peer” in English, hereinafter called P2P network. These terminals, called peers, are undifferentiated and have equivalent capabilities and responsibilities in the network as opposed to a client-server architecture.
  • the communication network is underlying the P2P network.
  • peers communicate and share resources, such as computing capabilities or pieces of information.
  • Peers in a P2P network do not know the structure of the communication network underlying the P2P network to which they belong. Also, when a peer, which will be called later “peer source”, chooses to connect to another peer, which will be called later "peer target” P2P network to which it belongs , it does not have information to select the closest target pair.
  • peer source when a peer, which will be called later “peer source”, chooses to connect to another peer, which will be called later “peer target” P2P network to which it belongs , it does not have information to select the closest target pair.
  • peer target to which it belongs
  • the closest target pair to select the closest target pair.
  • the source peer sends to a number of potential target peers a message called "ping”. On receipt of the "ping" message, each potential target pair sends the "ping" message received to the source peer.
  • the source peer then selects the target peer for which the RTT delay is the shortest.
  • the source peer sends to each potential target pair a "TraceRoute” message and receives in response an indication of the number of routers traversed by the "TraceRoute” message between the source peer and the potential target peer.
  • These methods have the disadvantage of being tedious in particular because they require to be repeated several times and to several peers.
  • "TraceRoute” messages can degrade the performance of the routers constituting the underlying networks.
  • they are difficult to implement because on a network consisting of a large number of machines, it is not possible to send messages to all the machines constituting the P2P network.
  • Another method of selecting a target peer is for the source peer to perform an analysis of the network address of each of the potential target peers. The source peer can then consider as close to target peers whose network address is close to his own.
  • this method is not reliable because the addressing plan of a communication network does not systematically affect adjacent facilities addresses with similarities.
  • the source peer is a vision of the underlying communication network but it does not have the actual knowledge.
  • the step of selecting a target peer is therefore best done according to the vision of the underlying communication network that it is forged. It does not necessarily select a peer close to him in the underlying communication network. This can lead to clogging of the underlying communication network as the P2P networks ramp up and to a non-optimized overlay network.
  • the object of the invention is to provide a service for providing an estimation of a distance between two terminals by taking into account the structure of the underlying communication network.
  • the invention relates to a method of estimating a distance between a first and at least a second terminal, the terminals belonging to a network superimposed on at least one underlying network and respectively attached to home nodes of said underlying network, comprising: a step of determining a first home node of the first terminal, located in the underlying network ; a step of determining a second home node of the second terminal, located in the underlying network; a step of determining a parameter representative of a distance between the first and second home nodes in the underlying network; a step of assigning the determined parameter to the pair composed of the first and second terminals, characterized in that the parameter representing the distance between the first and the second home node is determined from routing announcements broadcast in the network underlying.
  • the distance between the two terminals is similar to the distance between the two home nodes in the underlying network.
  • This approximation makes it possible to very simply obtain a satisfactory estimate of the distance between the two terminals.
  • the distance between the two nodes is determined from the routing announcements broadcast by nodes of the network. This allows to take into account the architecture of the underlying network.
  • the distance between the two home nodes is then estimated according to the actual routing performed by the nodes of the underlying network according to a network vision.
  • it further includes a preliminary step of forming an underlying network topology database during which routing announcements broadcast by nodes of the underlying network are determined. a plurality of triplets composed of two nodes and a parameter representative of a distance between the two nodes and stores them in the database, the determining step of extracting from the database a parameter representative of the distance between two nodes, the two nodes corresponding to the first and the second home node of the first and second terminals respectively. The distance between the two home nodes is obtained by extracting a topology database of the underlying network from a parameter representative of a distance between the two home nodes.
  • the preliminary step of constitution of the network topology database from the routing announcements broadcast by nodes of the network makes it possible to take into account the architecture of the underlying network itself.
  • geographic location data of the nodes of the underlying network are used to calculate the parameter representative of a distance in the preliminary step of building an underlying network topology database.
  • the second terminals forming an unordered list, for the different second terminals of the list, the steps of determining a second attachment node of said second terminal, determination of a parameter representative of the distance between the first and the second attachment node determined and assignment of the determined parameter to a pair composed of the first and the second terminal; and the list of second terminals is ordered according to the parameters representative of the distance respectively assigned to them.
  • the method of estimating a distance between a first and a second terminal is implemented to order a list of second terminals vis-à-vis the first terminal, which constitutes a reference terminal for scheduling.
  • the list is ordered according to the estimated distance between each second terminal of the list and the reference terminal and therefore, depending on the structure of the underlying network.
  • the unordered list of second terminals is sent by the first terminal to a first topology server, the first topology server orders the list and then sends it back to the first terminal.
  • the list of terminals to be processed is sent by the reference terminal to a topology server which will order the list and send it back to the reference terminal.
  • the latter can use this ordered list to preferentially obtain the information sought from a terminal "close” in the sense of the underlying network.
  • the invention also relates to a topology server of an underlying network, arranged to order a list of second terminals vis-à-vis a first terminal, said first and second terminals belonging to a superimposed overlay network one underlying network, said first and second terminals being respectively attached to nodes of attachment of said underlying network, comprising: means for receiving a list of second terminals to be ordered vis-à-vis a first terminal; querying means of a topology database of the underlying network comprising a plurality of triplets composed of two nodes and a parameter representative of a distance between the two nodes; means for scheduling said list of second terminals, arranged to determine a home node of a terminal and to order the list according to parameters representative of the distance between the first terminal and the different second terminals respectively, extracted by the interrogation means; means for sending the ordered list to the first terminal, characterized in that it further comprises: means for constituting said topology database from routing announcements broadcast by nodes of the underlying network.
  • FIG. 1 represents a first communication network as well as the second network; underlying communication;
  • FIG. 2 represents the steps of the method for estimating a distance according to a particular embodiment of the invention;
  • FIG. 3 represents the steps of the method applied to the scheduling of a list of terminals for a terminal;
  • FIG. 4 represents a topology server of the network.
  • FIG. 1 represents a recovery network 2, for example of the P2P type, comprising a plurality of terminals 100, 101, 110, 120, 200, 210, 230 and 231.
  • the Internet network is split up into a plurality of subnetworks ", each comprising a set of routers and operating under a proper technical administration, called" autonomous system ".
  • This P2P network 2 is superimposed on two autonomous systems underlying 1 and 3.
  • the autonomous system 1 comprises a set of routers 10, 11, 12 and 13 carrying the traffic in the autonomous system.
  • the autonomous system 3 comprises a set of routers 20, 21, 22 and 23 carrying the traffic in the autonomous system.
  • the terminals 100, 101, 110, 120 are attached to the first autonomous system via the routers 10, 11, 12.
  • the router of the autonomous system serving the IP prefix (ie the subnet mask) to which the terminal address belongs is referred to as the home router of a terminal.
  • a logical link is shown by a direct line but can traverse various entities of an access network.
  • the routers 10, 11, 12, 13 communicate with each other using an IGP type routing protocol for "Interior Gateway
  • the broadcast information corresponds to the list of nodes in service in the autonomous system and the list of links in service in the latter.
  • Routers 12 and 23 communicate with each other using an EGP type routing protocol for Exterior Gateway Protocol. These routers are responsible for propagating accessibility information about their autonomous system and collecting accessibility information for other autonomous systems.
  • the accessibility information relating to an autonomous system includes in particular the list of routes of this autonomous system that is to say the association prefixes-routers.
  • a topology server 301 (respectively 303) of the network is connected to the autonomous system 1 (respectively 3).
  • This server 301 (respectively 303) comprises a topology database 401 (respectively 403) of its autonomous system.
  • This database comprises a plurality of triplets each composed of two routers defining a path and a parameter representative of a distance between these two routers, for all the paths of the autonomous system, in other words for all the routers taken two by two from the autonomous system.
  • the method for estimating the distance between two terminals will now be described with reference to FIG. 2. By way of example, the distance between the terminals 100 and 120 will be estimated.
  • a prior step EO of the method consists in building a topology database 401 of the autonomous system 1.
  • the server 301 obtains from a probe or other suitable equipment located in the autonomous system the routing announcements broadcast by routers of the network (10, 11, 12, 13) by an IGP routing protocol for "Interior Gateway Protocol".
  • a router when a router (10, 11, 12, 13) initializes, it performs the following actions: discovery of neighboring routers and their network address, calculation of the routing time or cost to reach each neighboring router , construction a signaling message containing the information discovered on neighboring routers, for example, using an IGP type protocol, sending this message to neighboring routers, calculating the shortest path to each router of the autonomous system.
  • the calculation of the shortest path is made using for example the SPF algorithm for "Shortest Path First" better known as the Dijkstra algorithm. This algorithm, well known to those skilled in the art, will not be described here in more detail.
  • It also receives signaling messages of an EGP type protocol. Using these messages, it constitutes a second table allowing, for a destination address or for a set of destination addresses, to obtain the address of the router responsible for the routing of the packets. From the address of the destination router, the address of the router responsible for forwarding the packets to this address is determined by reading in the second table. Then, in the first table, we read the shortest path between the source router and the responsible router. If the destination router does not belong to the same standalone system as the source router, the address of the responsible router is the address of the output router of the standalone system.
  • the server 301 Using the signaling messages of the IGP type protocol, the server 301 itself executes the algorithm for determining the shortest path in order to determine the shortest paths between the routers of the autonomous system taken two by two. This allows it to constitute a first table 37.
  • a path is composed of a source router, a set of crossed intermediate routers and a destination router.
  • This first table 37 includes all the paths of the autonomous system.
  • This second table 38 comprises pairs consisting of a destination address or a set of address addresses. destination and the address of the router responsible for routing packets to that destination address or set of destination addresses.
  • This mode of operation corresponds to that implemented by a router of the autonomous system, as recalled above.
  • the server 301 determines, for each of the paths of the first table 37, a parameter representative of a distance associated with this path.
  • the server 301 uses geographical location data of the routers of the autonomous system.
  • the data is obtained by querying an information system of the operator of the autonomous system.
  • the data can be obtained by querying a DNS domain name server of the autonomous system and more specifically the "DNS LOC" record.
  • DNS LOC DNS domain name server
  • the structure of this record is defined in IETF RFC 1876 (for the Internet Engineering Task Force). It allows to obtain in particular the latitude and the longitude of a router of the autonomous system. Knowing the position of two routers on a sphere, the server 301 can then obtain the distance between these two routers.
  • the server 301 To calculate the distance associated with a path, the server 301 accumulates the distances between successive routers of this path by reading in the first table 37 of the set of successive intermediate routers of the path.
  • the parameter representative of a distance associated with a path is the distance between the source router and the destination router of the path, obtained by accumulating distances between successive routers of the path (source router, router intermediate (s) and destination router).
  • the server 301 calculates the number of elementary links between the source router and the destination router, an elementary link being defined between two successive routers. of the path by reading the first table 37.
  • the parameter representative of a distance associated with a path is a representative number of links of the path (source router, intermediate router (s) and destination router).
  • the server 301 saves the value of this parameter in the database 401 by associating it with the pair formed by the two end routers (source router and destination router). ) of the considered path.
  • the topology database 401 of the autonomous system 1 contains a plurality of triplets composed each of the two end routers of a path and a parameter representative of the distance between these routers.
  • the method comprises a first step E1 of the method for determining, as a function of the network address of the first terminal 100 in the autonomous system 1, the router 10 of attachment of the terminal.
  • the server 301 determines the IP prefix of the network address of the first terminal 100. It then reads in the second table 38 the address of the router 10 attachment of the terminal.
  • This first step El is iterated to the determination of the router 12 of attachment of the second terminal 120.
  • the server 301 knows the routers 10 and 12 of the terminals of the terminals 100 and 120.
  • the two routers belonging to the same autonomous system 1 then extracting, during a second step E2 of the method, the topology database 401 of the autonomous system 1 the distance associated with the path defined by the two routers 10 and 12.
  • the server 301 assigns the distance extracted to the pair of the first 100 and the second 120 terminal and stores it. If the home router of the second terminal does not belong to the same autonomous system, the reading in the second table 38 of the address of the home router of the second terminal then corresponds to the address of the output router of the autonomous system.
  • the method further comprises a step of transferring the topology server 301 to the first terminal 100 of a subset of the base
  • the topology server performs the El step of determining a first home node 10 of the first terminal. It then determines the triplets relating to the first home node 10 and transfers them to the first terminal.
  • the subset of the topology database 401 thus comprises the triplets relating to the first home node.
  • the server can thus include triplets relating to home nodes for which the value of the distance is less than a given value, this given value being configurable.
  • the determination step E1 of a second home node of a second terminal is performed by the first terminal 100.
  • the determination step E2 of a parameter representative of a distance between the first node and the second node of attachment then consists in extracting from the subset of the topology database a parameter representative of the distance between the two nodes, locally at the first terminal.
  • the first terminal 100 locally stores a subset of the topology database and does not request a topology server.
  • step E1 101, 120, 200 and 210 are determined by performing step E1.
  • the server 301 then constitutes a first unordered list LlASl comprising those of the list Ll which all belong to the same autonomous system as the first terminal 100, ie the autonomous system 1.
  • This list LlAS1 comprises the terminals 101 and 120.
  • the server 301 groups in a second unordered list L1AS3 those of the second terminals of the list Ll belonging to the autonomous system 3.
  • the address of the home router corresponds to the address of the output router of the autonomous system 1, that is the router 12.
  • the server 301 processes the unordered list LlASl of the terminals of the autonomous system 1 in order to obtain the parameter representative of the distance between each terminal 101, 120 of the list and the terminal 100 by means of the method estimation of the distance between two terminals described above.
  • the server 301 orders the list of terminals
  • L2AS1 L2AS1.
  • the topology server 301 of the autonomous system 1 contacts the server 303 topology of the autonomous system 3 during a step F4 by providing the second list unordered L IAS 3 system terminals standalone 3 in order to get back the list L2AS3 ordered according to the distance.
  • the same method of processing the list is executed by the topology server 303 of the autonomous system 3 which sends back to the server 301 the ordered list L2AS3.
  • the topology server 301 of the autonomous system 1 aggregates the two ordered lists L2AS1 and L2AS3 into an ordered list L2.
  • the server 301 aggregates the ordered list L2AS1 and the unordered list L1AS3 in order to obtain an ordered list L2, in the case where, for example, such a topology server of the autonomous system n is not available in the autonomous system 3.
  • the terminals belonging to the autonomous system 3 are always located at a greater distance from the first terminal than those of the same autonomous system 1.
  • the ordered list L2AS1 is filtered in order to keep only the terminals to which are assigned parameters representative of the distance less than a predetermined value N and this filtered list constitutes the final list L2.
  • the final list L2 is supplied to the terminal 100 by the server 301.
  • the scheduling of the terminals is carried out according to a criterion of shorter path.
  • the topology database 401 may associate with a couple of routers a parameter representative of a distance according to a path selected on the basis of criteria other than that of the "shortest path".
  • a criterion consisting of privileging routing by a particular autonomous system or, on the contrary, avoiding routing by another autonomous system.
  • the topology server 301 will now be described with reference to FIG. 4.
  • the server 301 comprises a central control unit 30 to which all the modules of the server is connected, this unit being arranged to control the operation of these modules.
  • the server 301 comprises: first storage means, corresponding to the table 37, arranged to store paths comprising a source router, a set of crossed routers and a destination router; second storage means, corresponding to the table 38, arranged to store for a destination address or for a set of destination addresses the address of the router responsible for the routing of the packets; a reception module 31 of a list of second terminals to be arranged L1 with respect to a first terminal and of a request for ordering this list L1; an interrogation module 33 of a topology database 401 of the autonomous system arranged to interrogate the database by providing it with two routers and to obtain a parameter representative of a distance between the two routers provided; a scheduling module 40 of a list received by the reception module 31, arranged to determine a home router of a terminal and to order a list of second terminals vis-à-vis a first terminal, depending parameters representative of the distance between the first terminal and the different second terminals respectively, extracted by the interrogation means; a sending module 32 arranged to
  • the request is for example Web Service ("Web Services" in English) and contains an identification of the requesting terminal, that is to say the first terminal, and a list of terminals to order.
  • the scheduling is carried out according to one of the particular modes of the invention.
  • the scheduling module 40 obtains from the reception module 31 a list of second terminals to be ordered vis-à-vis a first terminal. It implements the step F1 of the method described above for all the second terminals of the list and for the first terminal to determine the respective home routers of all these terminals. For all the second terminals of the list to be ordered and for the first terminal, it determines, by reading in the second storage means 38, the respective home routers.
  • the module 40 For each pair of routers, the first router corresponding to the home router of the first terminal and the second router corresponding to the home router of a second terminal of the list, the module 40 implements the step
  • F2 of the method obtains from the interrogation module 33 a parameter representative of the distance between the two routers of the pair. It stores the pair consisting of the parameter obtained and the corresponding second terminal in the backup means 34 and thus traverses the entire list.
  • the module 40 then executes the step F3 of the method. It orders the parameters thus obtained and provides an ordered list to the sending module 32 of the ordered list to the requesting terminal.
  • the topology database 401 comprises a plurality of triplets composed of two routers and a parameter representative of a distance between the two routers.
  • the database is external to the topology server. Alternatively, it is internal to the server 301.
  • the server 301 also comprises a module 39 arranged to constitute a topology database 401 of the autonomous system 1, the first storage means 37 and the second storage means 38 from routing advertisements disseminated by IGP and / or EGP protocols.
  • the module 39 implements the step EO of the method to constitute these means.
  • the server 301 further comprises: a sending module 35 arranged to send to a topology server 303 of a second network an unordered list of terminals; a reception module 36 arranged to receive an ordered list from a topology server.
  • the module 40 also comprises: a module for creating an unordered list of terminals arranged to create a second list if one of the terminals of the list belongs to another autonomous system than the first terminal, this second list comprising the set of terminals of the unordered list belonging to this other autonomous system; an aggregation module of the two ordered lists arranged to aggregate the ordered lists.
  • the topology server 301, 303 of an underlying network 1 comprises: first storage means, corresponding to the table 37, arranged to store paths comprising a source router, a set of routers crossed and a destination router; second storage means, corresponding to the table 38, arranged to store for a destination address or for a set of destination addresses the address of the router responsible for the routing of the packets; an interrogation module 33 of a topology database 401 of the autonomous system arranged to interrogate the database by providing it with two routers and to obtain a parameter representative of a distance between the two routers provided; a module 39 for constituting a database 401, 403 of topology from routing announcements broadcast by nodes of the underlying network; a module for receiving a request from a subset of the topology database with respect to a first terminal 100; a module for sending the subset of the topology database to the first terminal 100.
  • the modules 31, 32, 33, 35, 36, 39 and 40 which implement the method described above, are preferably software modules comprising software instructions for executing the steps of the method previously described by the server.
  • the software modules can be stored in or transmitted by a data carrier. This can be a hardware storage medium, for example a
  • CD-ROM compact disc-read only memory
  • magnetic diskette a magnetic diskette or a hard disk
  • transmission medium such as an electrical, optical or radio signal, or a telecommunication network.
  • the invention also relates to a program for estimating a distance between a first and a second terminal for a topology server 301, 303, said terminals belonging to a collection network 2 superimposed on at least one underlying network 1 and respectively being attached to home nodes of said underlying network, comprising program instructions for: determining a first home node 10, 11, 12, 13 of the first terminal, located in the underlying network 1; determining El a second node 10, 11, 12, 13 of attachment of the second terminal, located in the underlying network 1; determining a parameter representative of a distance between the first and second home nodes from broadcast advertisements broadcast in the underlying network, assigning said determined parameter E3 to the pair composed of the first and second terminals 110, 120, 121, when said program is executed by the topology server.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

The invention concerns a method for estimating a distance between a first and at least one second terminal, the terminals belonging to an overlapping network superimposed to at least one underlying network and being respectively connected to nodes for connection to said underlying network, including a step of determining a first node for connecting the first terminal, located in the underlying network; a step of determining a second node for connecting the second terminal, located in the underlying network; a step of determining a parameter representing a distance between the first and the second connecting nodes in the underlying network; a step of assigning said predetermined parameter to the pair consisting of the first and the second terminals. The invention is characterized in that the parameter representing the distance between the first and the second connecting nodes is determined based on the routing announcements broadcast in the underlying network.

Description

Procédé d'estimation d'une distance entre deux terminaux appartenant à un réseau de recouyrement superposé à au moins un réseau sous-iacentMethod for estimating a distance between two terminals belonging to a recouyrement network superimposed on at least one underlying network
L'invention concerne un procédé d'estimation d'une distance entre deux terminaux appartenant à un réseau de recouvrement superposé à au moins un réseau sous-jacent.The invention relates to a method for estimating a distance between two terminals belonging to a collection network superimposed on at least one underlying network.
Dans un réseau de communication, plusieurs terminaux sont connectés entre eux et peuvent former un réseau de recouvrement, par exemple de type "pair-à-pair", "peer to peer" en anglais, appelé par la suite réseau P2P. Ces terminaux, appelés pairs, sont indifférenciés et possèdent des capacités et des responsabilités équivalentes dans le réseau contrairement à une architecture de type client- serveur. Le réseau de communication est sous-jacent au réseau P2P.In a communication network, several terminals are connected to each other and can form a collection network, for example of the "peer-to-peer" type, "peer to peer" in English, hereinafter called P2P network. These terminals, called peers, are undifferentiated and have equivalent capabilities and responsibilities in the network as opposed to a client-server architecture. The communication network is underlying the P2P network.
Dans un réseau P2P, les pairs communiquent et se partagent des ressources, par exemple des capacités de calcul ou des éléments d'information. Les pairs d'un réseau P2P ne connaissent pas la structure du réseau de communication sous-jacent au réseau P2P auquel ils appartiennent. Aussi, lorsqu'un pair, que l'on appellera par la suite le "pair source", choisit de se connecter à un autre pair, que l'on appellera par la suite le "pair cible", du réseau P2P auquel il appartient, il ne dispose pas d'informations pour sélectionner le pair cible le plus proche. Pour optimiser la construction des réseaux P2P, il existe différentes méthodes basées sur la mesure de paramètres représentatifs de l'état du réseau. Selon une première méthode, le pair source envoie à différents pairs cibles potentiels un message appelé "Ping". Sur réception du message "Ping", chaque pair cible potentiel renvoie le message "Ping" reçu au pair source. Celui-ci effectue alors une mesure du délai aller- retour, appelé RTT pour "Round Trip Time" en anglais, du message "Ping". Le pair source sélectionne ensuite le pair cible pour lequel le délai RTT est le plus court. Selon une deuxième méthode, le pair source envoie vers chaque pair cible potentiel un message "TraceRoute" et reçoit en réponse une indication du nombre de routeurs traversés par le message "TraceRoute" entre le pair source et le pair cible potentiel. Ces méthodes présentent l'inconvénient d'être fastidieuses notamment du fait qu'elles nécessitent d'être répétées plusieurs fois et à destination de plusieurs pairs. De plus, les messages "TraceRoute" peuvent dégrader les performances des routeurs constitutifs des réseaux sous-jacents. Enfin, elles sont difficiles à mettre en œuvre puisque sur un réseau constitué d'un grand nombre de machines, il n'est pas envisageable d'envoyer des messages vers la totalité des machines constituant le réseau P2P.In a P2P network, peers communicate and share resources, such as computing capabilities or pieces of information. Peers in a P2P network do not know the structure of the communication network underlying the P2P network to which they belong. Also, when a peer, which will be called later "peer source", chooses to connect to another peer, which will be called later "peer target" P2P network to which it belongs , it does not have information to select the closest target pair. To optimize the construction of P2P networks, there are various methods based on the measurement of parameters representative of the state of the network. According to a first method, the source peer sends to a number of potential target peers a message called "ping". On receipt of the "ping" message, each potential target pair sends the "ping" message received to the source peer. This then makes a measurement of the round trip time, called RTT for "Round Trip Time" in English, the message "Ping". The source peer then selects the target peer for which the RTT delay is the shortest. In a second method, the source peer sends to each potential target pair a "TraceRoute" message and receives in response an indication of the number of routers traversed by the "TraceRoute" message between the source peer and the potential target peer. These methods have the disadvantage of being tedious in particular because they require to be repeated several times and to several peers. In addition, "TraceRoute" messages can degrade the performance of the routers constituting the underlying networks. Finally, they are difficult to implement because on a network consisting of a large number of machines, it is not possible to send messages to all the machines constituting the P2P network.
Une autre méthode de sélection d'un pair cible consiste pour le pair source à réaliser une analyse de l'adresse réseau de chacun des pairs cibles potentiels. Le pair source peut alors considérer comme proches des pairs cibles dont l'adresse réseau est proche de la sienne. Toutefois, cette méthode n'est pas fiable car le plan d'adressage d'un réseau de communication n'affecte pas systématiquement aux équipements voisins des adresses présentant des similitudes.Another method of selecting a target peer is for the source peer to perform an analysis of the network address of each of the potential target peers. The source peer can then consider as close to target peers whose network address is close to his own. However, this method is not reliable because the addressing plan of a communication network does not systematically affect adjacent facilities addresses with similarities.
Il est bien entendu qu'il ne s'agit pas d'une liste exhaustive de méthodes. Les publications actuelles cherchent à améliorer l'estimation de certains paramètres du réseau sous-jacent.It is understood that this is not an exhaustive list of methods. Current publications seek to improve the estimation of certain parameters of the underlying network.
En tout état de cause, quelle que soit la méthode utilisée, le pair source se constitue une vision propre du réseau de communication sous-jacent mais il n'en a pas la connaissance réelle. L'étape de sélection d'un pair cible se fait donc au mieux en fonction de la vision du réseau de communication sous-jacent qu'il se forge. Il ne sélectionne donc pas obligatoirement un pair proche de lui dans le réseau de communication sous-jacent. Ceci peut conduire à un engorgement du réseau de communication sous-jacent au fur et à mesure de la montée en puissance des réseaux P2P et à un réseau de recouvrement non optimisé. Le but de l'invention est de proposer un service permettant de fournir une estimation d'une distance entre deux terminaux en prenant en compte la structure du réseau de communication sous-jacent.In any case, whatever the method used, the source peer is a vision of the underlying communication network but it does not have the actual knowledge. The step of selecting a target peer is therefore best done according to the vision of the underlying communication network that it is forged. It does not necessarily select a peer close to him in the underlying communication network. This can lead to clogging of the underlying communication network as the P2P networks ramp up and to a non-optimized overlay network. The object of the invention is to provide a service for providing an estimation of a distance between two terminals by taking into account the structure of the underlying communication network.
A cet effet, l'invention concerne un procédé d'estimation d'une distance entre un premier et au moins un deuxième terminal, les terminaux appartenant à un réseau de recouvrement superposé à au moins un réseau sous-jacent et étant respectivement rattachés à des nœuds de rattachement dudit réseau sous-jacent, comprenant : une étape de détermination d'un premier nœud de rattachement du premier terminal, situé dans le réseau sous-jacent ; - une étape de détermination d'un deuxième nœud de rattachement du deuxième terminal, situé dans le réseau sous-jacent ; une étape de détermination d'un paramètre représentatif d'une distance entre le premier et le deuxième nœud de rattachement dans le réseau sous-jacent ; une étape d'affectation du paramètre déterminé au couple composé du premier et du deuxième terminal, caractérisé en ce que le paramètre représentatif de la distance entre le premier et le deuxième nœud de rattachement est déterminé à partir d'annonces de routage diffusées dans le réseau sous-jacent.For this purpose, the invention relates to a method of estimating a distance between a first and at least a second terminal, the terminals belonging to a network superimposed on at least one underlying network and respectively attached to home nodes of said underlying network, comprising: a step of determining a first home node of the first terminal, located in the underlying network ; a step of determining a second home node of the second terminal, located in the underlying network; a step of determining a parameter representative of a distance between the first and second home nodes in the underlying network; a step of assigning the determined parameter to the pair composed of the first and second terminals, characterized in that the parameter representing the distance between the first and the second home node is determined from routing announcements broadcast in the network underlying.
Ainsi, selon l'invention, la distance entre les deux terminaux est assimilée à la distance entre les deux nœuds de rattachement dans le réseau sous-jacent Cette approximation permet d'obtenir très simplement une estimation satisfaisante de la distance entre les deux terminaux. La distance entre les deux nœuds est déterminée à partir des annonces de routage diffusées par des nœuds du réseau. Ceci permet de prendre en compte l'architecture même du réseau sous-jacent. La distance entre les deux nœuds de rattachement est alors estimée en fonction du routage réel réalisé par les nœuds du réseau sous-jacent selon une vision réseau.Thus, according to the invention, the distance between the two terminals is similar to the distance between the two home nodes in the underlying network. This approximation makes it possible to very simply obtain a satisfactory estimate of the distance between the two terminals. The distance between the two nodes is determined from the routing announcements broadcast by nodes of the network. This allows to take into account the architecture of the underlying network. The distance between the two home nodes is then estimated according to the actual routing performed by the nodes of the underlying network according to a network vision.
Dans un mode de réalisation, il comprend en outre une étape préliminaire de constitution d'une base de données de topologie du réseau sous-jacent au cours de laquelle on détermine à partir d'annonces de routage diffusées par des nœuds du réseau sous-jacent une pluralité de triplets composés de deux nœuds et d'un paramètre représentatif d'une distance entre les deux nœuds et les mémorise dans la base de données, l'étape de détermination consistant à extraire de la base de données un paramètre représentatif de la distance entre deux nœuds, les deux nœuds correspondant au premier et au deuxième nœud de rattachement du premier et du deuxième terminal respectivement. La distance entre les deux nœuds de rattachement est obtenue par extraction d'une base de données de topologie du réseau sous-jacent d'un paramètre représentatif d'une distance entre les deux nœuds de rattachement. L'étape préliminaire de constitution de la base de données de topologie du réseau à partir des annonces de routage diffusées par des nœuds du réseau permet de prendre en compte l'architecture même du réseau sous-jacent.In one embodiment, it further includes a preliminary step of forming an underlying network topology database during which routing announcements broadcast by nodes of the underlying network are determined. a plurality of triplets composed of two nodes and a parameter representative of a distance between the two nodes and stores them in the database, the determining step of extracting from the database a parameter representative of the distance between two nodes, the two nodes corresponding to the first and the second home node of the first and second terminals respectively. The distance between the two home nodes is obtained by extracting a topology database of the underlying network from a parameter representative of a distance between the two home nodes. The preliminary step of constitution of the network topology database from the routing announcements broadcast by nodes of the network makes it possible to take into account the architecture of the underlying network itself.
Dans un autre mode de réalisation, des données de localisation géographique des nœuds du réseau sous-jacent sont utilisées pour calculer le paramètre représentatif d'une distance dans l'étape préliminaire de constitution d'une base de données de topologie du réseau sous-jacent.In another embodiment, geographic location data of the nodes of the underlying network are used to calculate the parameter representative of a distance in the preliminary step of building an underlying network topology database. .
L'utilisation des données de localisation géographique des nœuds du réseau permet d'obtenir ensuite la longueur des routes entre deux nœuds de façon très précise. Avantageusement, en cas de pluralité de deuxièmes terminaux, les deuxièmes terminaux formant une liste non ordonnée, - pour les différents deuxièmes terminaux de la liste, on exécute les étapes de détermination d'un deuxième nœud de rattachement dudit deuxième terminal, de détermination d'un paramètre représentatif de la distance entre le premier et le deuxième nœud de rattachement déterminé et d'affectation du paramètre déterminé à un couple composé du premier et du deuxième terminal; et - on ordonne la liste des deuxièmes terminaux en fonction des paramètres représentatifs de la distance qui leur sont respectivement affectés.The use of the geographical location data of the nodes of the network makes it possible to obtain the length of the routes between two nodes in a very precise manner. Advantageously, in the case of a plurality of second terminals, the second terminals forming an unordered list, for the different second terminals of the list, the steps of determining a second attachment node of said second terminal, determination of a parameter representative of the distance between the first and the second attachment node determined and assignment of the determined parameter to a pair composed of the first and the second terminal; and the list of second terminals is ordered according to the parameters representative of the distance respectively assigned to them.
Le procédé d'estimation d'une distance entre un premier et un deuxième terminal est mis en œuvre pour ordonner une liste de deuxièmes terminaux vis-à-vis du premier terminal, lequel constitue un terminal de référence pour l'ordonnancement. La liste est ordonnée en fonction de la distance estimée entre chaque deuxième terminal de la liste et le terminal de référence et par conséquent, en fonction de la structure du réseau sous-jacent.The method of estimating a distance between a first and a second terminal is implemented to order a list of second terminals vis-à-vis the first terminal, which constitutes a reference terminal for scheduling. The list is ordered according to the estimated distance between each second terminal of the list and the reference terminal and therefore, depending on the structure of the underlying network.
Avantageusement, la liste non ordonnée de deuxièmes terminaux est envoyée par le premier terminal à un premier serveur de topologie, le premier serveur de topologie ordonne la liste puis la renvoie au premier terminal. La liste de terminaux à traiter est envoyée par le terminal de référence à un serveur de topologie qui va ordonner la liste et la renvoyer au terminal de référence.Advantageously, the unordered list of second terminals is sent by the first terminal to a first topology server, the first topology server orders the list and then sends it back to the first terminal. The list of terminals to be processed is sent by the reference terminal to a topology server which will order the list and send it back to the reference terminal.
Ainsi, ce dernier peut-il utiliser cette liste ordonnée afin d'obtenir préférentiellement les informations recherchées auprès d'un terminal "proche" au sens du réseau sous- jacent.Thus, the latter can use this ordered list to preferentially obtain the information sought from a terminal "close" in the sense of the underlying network.
L'invention concerne également un serveur de topologie d'un réseau sous- jacent, agencé pour ordonner une liste de deuxièmes terminaux vis-à-vis d'un premier terminal, lesdits premier et deuxièmes terminaux appartenant à un réseau de recouvrement superposé audit un réseau sous-jacent, lesdits premier et deuxièmes terminaux étant respectivement rattachés à des nœuds de rattachement dudit réseau sous-jacent, comprenant: des moyens de réception d'une liste de deuxièmes terminaux à ordonner vis-à-vis d'un premier terminal; des moyens d'interrogation d'une base de données de topologie du réseau sous- jacent comprenant une pluralité de triplets composés de deux nœuds et d'un paramètre représentatif d'une distance entre les deux nœuds ; des moyens d'ordonnancement de ladite liste de deuxièmes terminaux, agencés pour déterminer un nœud de rattachement d'un terminal et pour ordonner la liste en fonction de paramètres représentatifs de la distance entre le premier terminal et les différents deuxièmes terminaux respectivement, extraits par les moyens d'interrogation; des moyens d'envoi de la liste ordonnée au premier terminal, caractérisé en ce qu'il comprend en outre : des moyens pour constituer ladite base de données de topologie à partir d'annonces de routage diffusées par des nœuds du réseau sous-jacent.The invention also relates to a topology server of an underlying network, arranged to order a list of second terminals vis-à-vis a first terminal, said first and second terminals belonging to a superimposed overlay network one underlying network, said first and second terminals being respectively attached to nodes of attachment of said underlying network, comprising: means for receiving a list of second terminals to be ordered vis-à-vis a first terminal; querying means of a topology database of the underlying network comprising a plurality of triplets composed of two nodes and a parameter representative of a distance between the two nodes; means for scheduling said list of second terminals, arranged to determine a home node of a terminal and to order the list according to parameters representative of the distance between the first terminal and the different second terminals respectively, extracted by the interrogation means; means for sending the ordered list to the first terminal, characterized in that it further comprises: means for constituting said topology database from routing announcements broadcast by nodes of the underlying network.
L'invention sera mieux comprise à l'aide de la description suivante d'un mode de réalisation particulier du procédé de l'invention, en référence aux dessins annexés sur lesquels : la figure 1 représente un premier réseau de communication ainsi que le deuxième réseau de communication sous-jacent; la figure 2 représente les étapes du procédé d'estimation d'une distance selon un mode particulier de réalisation de l'invention; - la figure 3 représente les étapes du procédé appliquées à l'ordonnancement d'une liste de terminaux pour un terminal; - la figure 4 représente un serveur de topologie du réseau.The invention will be better understood with the aid of the following description of a particular embodiment of the method of the invention, with reference to the appended drawings in which: FIG. 1 represents a first communication network as well as the second network; underlying communication; FIG. 2 represents the steps of the method for estimating a distance according to a particular embodiment of the invention; FIG. 3 represents the steps of the method applied to the scheduling of a list of terminals for a terminal; FIG. 4 represents a topology server of the network.
La figure 1 représente un réseau 2 de recouvrement, par exemple de type P2P, comprenant une pluralité de terminaux 100, 101, 110, 120, 200, 210, 230 et 231. Le réseau Internet est scindé en une pluralité de "sous-réseaux", chacun comportant un ensemble de routeurs et fonctionnant sous une administration technique propre, appelés "système autonome".FIG. 1 represents a recovery network 2, for example of the P2P type, comprising a plurality of terminals 100, 101, 110, 120, 200, 210, 230 and 231. The Internet network is split up into a plurality of subnetworks ", each comprising a set of routers and operating under a proper technical administration, called" autonomous system ".
Ce réseau P2P 2 est superposé à deux systèmes autonomes sous-jacents 1 et 3. Le système autonome 1 comprend un ensemble de routeurs 10, 11, 12 et 13 acheminant le trafic dans le système autonome. Le système autonome 3 comprend un ensemble de routeurs 20, 21, 22 et 23 acheminant le trafic dans le système autonome.This P2P network 2 is superimposed on two autonomous systems underlying 1 and 3. The autonomous system 1 comprises a set of routers 10, 11, 12 and 13 carrying the traffic in the autonomous system. The autonomous system 3 comprises a set of routers 20, 21, 22 and 23 carrying the traffic in the autonomous system.
Les terminaux 100, 101, 110, 120 sont rattachés au premier système autonome par l'intermédiaire des routeurs 10, 11, 12. Les terminaux 200, 210, 230 etThe terminals 100, 101, 110, 120 are attached to the first autonomous system via the routers 10, 11, 12. The terminals 200, 210, 230 and
231 sont rattachés au deuxième système autonome 3 par l'intermédiaire des routeurs 20, 21 et 23. Aucun terminal du réseau P2P 2 n'est rattaché au routeur 13231 are attached to the second autonomous system 3 via the routers 20, 21 and 23. No P2P network terminal 2 is attached to the router 13
(respectivement 22) appartenant au système autonome 1 (respectivement 3).(respectively 22) belonging to the autonomous system 1 (respectively 3).
Par la suite, on appelle routeur de rattachement d'un terminal le routeur du système autonome qui dessert le préfixe IP (c'est-à-dire le masque de sous-réseau) auquel appartient l'adresse du terminal. Sur la figure 1, un lien de rattachement logique est matérialisé par un trait direct mais peut traverser divers entités d'un réseau d'accès.Subsequently, the router of the autonomous system serving the IP prefix (ie the subnet mask) to which the terminal address belongs is referred to as the home router of a terminal. In Figure 1, a logical link is shown by a direct line but can traverse various entities of an access network.
Les routeurs 10, 11, 12, 13 (respectivement 20, 21, 22, 23) communiquent entre eux à l'aide d'un protocole de routage de type IGP pour "Interior GatewayThe routers 10, 11, 12, 13 (respectively 20, 21, 22, 23) communicate with each other using an IGP type routing protocol for "Interior Gateway
Protocol" au sein du système autonome 1 (respectivement 3). Les informations diffusées correspondent à la liste des nœuds en service dans le système autonome et la liste des liens en service dans ce dernier. Les routeurs 12 et 23 communiquent entre eux à l'aide d'un protocole de routage de type EGP pour "Exterior Gateway Protocol". Ces routeurs sont responsables de la propagation des informations d'accessibilité relatives à leur système autonome et de la collecte des informations d'accessibilité relatives aux autres systèmes autonomes. Les informations d'accessibilité relatives à un système autonome comprennent en particulier la liste des routes de ce système autonome c'est-à-dire l'association préfixes-routeurs.Protocol "within the autonomous system 1 (respectively 3) The broadcast information corresponds to the list of nodes in service in the autonomous system and the list of links in service in the latter. Routers 12 and 23 communicate with each other using an EGP type routing protocol for Exterior Gateway Protocol. These routers are responsible for propagating accessibility information about their autonomous system and collecting accessibility information for other autonomous systems. The accessibility information relating to an autonomous system includes in particular the list of routes of this autonomous system that is to say the association prefixes-routers.
Un serveur de topologie 301 (respectivement 303) du réseau est connecté au système autonome 1 (respectivement 3). Ce serveur 301 (respectivement 303) comprend une base de données de topologie 401 (respectivement 403) de son système autonome. Cette base de données comprend une pluralité de triplets composés chacun de deux routeurs définissant un chemin et d'un paramètre représentatif d'une distance entre ces deux routeurs, pour l'ensemble des chemins du système autonome, autrement dit pour l'ensemble des routeurs pris deux à deux du système autonome. Le procédé d'estimation de la distance entre deux terminaux va maintenant être décrit en référence à la figure 2. A titre d'exemple, la distance entre les terminaux 100 et 120 va être estimée.A topology server 301 (respectively 303) of the network is connected to the autonomous system 1 (respectively 3). This server 301 (respectively 303) comprises a topology database 401 (respectively 403) of its autonomous system. This database comprises a plurality of triplets each composed of two routers defining a path and a parameter representative of a distance between these two routers, for all the paths of the autonomous system, in other words for all the routers taken two by two from the autonomous system. The method for estimating the distance between two terminals will now be described with reference to FIG. 2. By way of example, the distance between the terminals 100 and 120 will be estimated.
Une étape préalable EO du procédé consiste à construire une base de données de topologie 401 du système autonome 1. Le serveur 301 obtient à partir d'une sonde ou de tout autre équipement adapté localisé dans le système autonome les annonces de routage diffusées par des routeurs du réseau (10, 11, 12, 13) par un protocole de routage de type IGP pour "Interior Gateway Protocol".A prior step EO of the method consists in building a topology database 401 of the autonomous system 1. The server 301 obtains from a probe or other suitable equipment located in the autonomous system the routing announcements broadcast by routers of the network (10, 11, 12, 13) by an IGP routing protocol for "Interior Gateway Protocol".
Il obtient également à partir d'une sonde ou de tout autre équipement adapté localisé dans le système autonome les annonces de routage diffusées des routeurs du réseau (12) par un protocole de routage de type EGP pour "Exterior Gateway Protocol".It also obtains from a probe or other suitable equipment located in the autonomous system broadcast advertisements broadcast network routers (12) by an EGP type routing protocol for "Exterior Gateway Protocol".
On rappelle que lorsqu'un routeur (10, 11, 12, 13) s'initialise, il réalise les actions suivantes: découverte des routeurs voisins et de leur adresse réseau, calcul du délai d'acheminement ou du coût pour atteindre chaque routeur voisin, construction d'un message de signalisation contenant les informations découvertes sur les routeurs voisins, par exemple, à l'aide d'un protocole de type IGP, envoi de ce message aux routeurs voisins, calcul du plus court chemin vers chaque routeur du système autonome. Le calcul du plus court chemin est réalisé à l'aide par exemple de l'algorithme SPF pour "Shortest Path First" plus connu sous le nom d'algorithme de Dijkstra. Cet algorithme, bien connu de l'homme du métier, ne sera pas décrit ici plus en détail. Pour plus d'informations à ce sujet, le lecteur est invité à se reporter au document de E. W. Dijkstra "A note on two problems in connexion with graphs" dans Numerische Mathematik. 1 (1959), S. 269-271. Le routeur (10, 11, 12, 13) stocke dans une première table ces chemins calculés.It is recalled that when a router (10, 11, 12, 13) initializes, it performs the following actions: discovery of neighboring routers and their network address, calculation of the routing time or cost to reach each neighboring router , construction a signaling message containing the information discovered on neighboring routers, for example, using an IGP type protocol, sending this message to neighboring routers, calculating the shortest path to each router of the autonomous system. The calculation of the shortest path is made using for example the SPF algorithm for "Shortest Path First" better known as the Dijkstra algorithm. This algorithm, well known to those skilled in the art, will not be described here in more detail. For more information on this subject, the reader is invited to refer to EW Dijkstra's paper "A note on two problems in connection with graphs" in Numerische Mathematik. 1 (1959), S. 269-271. The router (10, 11, 12, 13) stores in a first table these calculated paths.
Il reçoit également des messages de signalisation d'un protocole de type EGP. A l'aide de ces messages, il constitue une deuxième table permettant, pour une adresse de destination ou pour un ensemble d'adresses de destination, d'obtenir l'adresse du routeur responsable de l'acheminement des paquets. A partir de l'adresse du routeur de destination, on détermine, par lecture dans la deuxième table, l'adresse du routeur responsable de l'acheminement des paquets vers cette adresse. Puis, dans la première table, on lit le plus court chemin entre le routeur source et le routeur responsable. Si le routeur de destination n'appartient pas au même système autonome que le routeur source, l'adresse du routeur responsable correspond à l'adresse du routeur de sortie du système autonome.It also receives signaling messages of an EGP type protocol. Using these messages, it constitutes a second table allowing, for a destination address or for a set of destination addresses, to obtain the address of the router responsible for the routing of the packets. From the address of the destination router, the address of the router responsible for forwarding the packets to this address is determined by reading in the second table. Then, in the first table, we read the shortest path between the source router and the responsible router. If the destination router does not belong to the same standalone system as the source router, the address of the responsible router is the address of the output router of the standalone system.
A l'aide des messages de signalisation du protocole de type IGP, le serveur 301 exécute lui-même l'algorithme de détermination du plus court chemin afin de déterminer les chemins les plus courts entre les routeurs du système autonome pris deux à deux. Ceci lui permet de se constituer une première table 37. Un chemin est composé d'un routeur source, d'un ensemble de routeurs intermédiaires traversés et d'un routeur de destination. Cette première table 37 comprend l'ensemble des chemins du système autonome.Using the signaling messages of the IGP type protocol, the server 301 itself executes the algorithm for determining the shortest path in order to determine the shortest paths between the routers of the autonomous system taken two by two. This allows it to constitute a first table 37. A path is composed of a source router, a set of crossed intermediate routers and a destination router. This first table 37 includes all the paths of the autonomous system.
Il utilise également les messages de signalisation du protocole de type EGP afin se constituer une deuxième table 38. Cette deuxième table 38 comprend des couples constitués d'une adresse de destination ou d'un ensemble d'adresses de destination et de l'adresse du routeur responsable de l'acheminement des paquets vers cette adresse de destination ou cet ensemble d'adresses de destination.It also uses the signaling messages of the EGP type protocol in order to constitute a second table 38. This second table 38 comprises pairs consisting of a destination address or a set of address addresses. destination and the address of the router responsible for routing packets to that destination address or set of destination addresses.
Ce mode de fonctionnement correspond à celui mis en œuvre par un routeur du système autonome, comme rappelé ci-dessus. Le serveur 301 détermine ensuite, pour chacun des chemins de la première table 37, un paramètre représentatif d'une distance associée à ce chemin.This mode of operation corresponds to that implemented by a router of the autonomous system, as recalled above. The server 301 then determines, for each of the paths of the first table 37, a parameter representative of a distance associated with this path.
Dans un premier mode de réalisation, pour calculer le paramètre représentatif d'une distance associée à un chemin, le serveur 301 utilise des données de localisation géographique des routeurs du système autonome. Les données sont obtenues en interrogeant un système d'information de l'opérateur du système autonome. En variante, les données peuvent être obtenues en interrogeant un serveur de noms de domaines DNS du système autonome et plus précisément l'enregistrement "DNS LOC". La structure de cet enregistrement est définie dans le document RFC 1876 de l'IETF (pour Internet Engineering Task Force). Il permet d'obtenir en particulier la latitude et la longitude d'un routeur du système autonome. Connaissant la position de deux routeurs sur une sphère, le serveur 301 peut ensuite obtenir la distance entre ces deux routeurs. Pour calculer la distance associée à un chemin, le serveur 301 cumule les distances entre routeurs successifs de ce chemin par lecture dans la première table 37 de l'ensemble des routeurs intermédiaires successifs du chemin. Ainsi, dans ce premier mode de réalisation, le paramètre représentatif d'une distance associée à un chemin est la distance entre le routeur source et le routeur de destination du chemin, obtenues par cumul des distances entre routeurs successifs du chemin (routeur source, routeur(s) intermédiaire(s) et routeur de destination).In a first embodiment, to calculate the parameter representative of a distance associated with a path, the server 301 uses geographical location data of the routers of the autonomous system. The data is obtained by querying an information system of the operator of the autonomous system. Alternatively, the data can be obtained by querying a DNS domain name server of the autonomous system and more specifically the "DNS LOC" record. The structure of this record is defined in IETF RFC 1876 (for the Internet Engineering Task Force). It allows to obtain in particular the latitude and the longitude of a router of the autonomous system. Knowing the position of two routers on a sphere, the server 301 can then obtain the distance between these two routers. To calculate the distance associated with a path, the server 301 accumulates the distances between successive routers of this path by reading in the first table 37 of the set of successive intermediate routers of the path. Thus, in this first embodiment, the parameter representative of a distance associated with a path is the distance between the source router and the destination router of the path, obtained by accumulating distances between successive routers of the path (source router, router intermediate (s) and destination router).
Dans un deuxième mode de réalisation, pour calculer la distance associée à chacun des chemins de la première table 37, le serveur 301 calcule le nombre de liens élémentaires entre le routeur source et le routeur de destination, un lien élémentaire étant défini entre deux routeurs successifs du chemin par lecture de la première table 37. Ainsi, dans ce deuxième mode de réalisation, le paramètre représentatif d'une distance associée à un chemin est un nombre représentatif des liens du chemin (routeur source, routeur(s) intermédiaire(s) et routeur de destination). Après avoir déterminé le paramètre représentatif d'une distance associée à un chemin, le serveur 301 sauvegarde la valeur de ce paramètre dans la base de données 401 en l'associant au couple formé des deux routeurs d'extrémité (routeur source et routeur de destination) du chemin considéré. Ainsi la base de données de topologie 401 du système autonome 1 contient une pluralité de triplets composés chacun des deux routeurs d'extrémité d'un chemin et d'un paramètre représentatif de la distance entre ces routeurs.In a second embodiment, to calculate the distance associated with each of the paths of the first table 37, the server 301 calculates the number of elementary links between the source router and the destination router, an elementary link being defined between two successive routers. of the path by reading the first table 37. Thus, in this second embodiment, the parameter representative of a distance associated with a path is a representative number of links of the path (source router, intermediate router (s) and destination router). After determining the parameter representing a distance associated with a path, the server 301 saves the value of this parameter in the database 401 by associating it with the pair formed by the two end routers (source router and destination router). ) of the considered path. Thus the topology database 401 of the autonomous system 1 contains a plurality of triplets composed each of the two end routers of a path and a parameter representative of the distance between these routers.
Après l'étape préalable EO de construction de la base de données de topologie 401 du système autonome 1 et des tables de routage 37 et 38, le procédé comprend une première étape El du procédé visant à déterminer, en fonction de l'adresse réseau du premier terminal 100 dans le système autonome 1, le routeur 10 de rattachement du terminal. Le serveur 301 détermine le préfixe IP de l'adresse réseau du premier terminal 100. Il lit alors dans la deuxième table 38 l'adresse du routeur 10 de rattachement du terminal. On itère cette première étape El à la détermination du routeur 12 de rattachement du second terminal 120.After the prior step EO of constructing the topology database 401 of the autonomous system 1 and the routing tables 37 and 38, the method comprises a first step E1 of the method for determining, as a function of the network address of the first terminal 100 in the autonomous system 1, the router 10 of attachment of the terminal. The server 301 determines the IP prefix of the network address of the first terminal 100. It then reads in the second table 38 the address of the router 10 attachment of the terminal. This first step El is iterated to the determination of the router 12 of attachment of the second terminal 120.
A l'issue de ces premières étapes El, le serveur 301 connaît les routeurs 10 et de 12 de rattachement des terminaux 100 et 120.At the end of these first steps El, the server 301 knows the routers 10 and 12 of the terminals of the terminals 100 and 120.
Les deux routeurs appartenant au même système autonome 1, on extrait alors, lors d'une deuxième étape E2 du procédé, de la base de données de topologie 401 du système autonome 1 la distance associée au chemin défini par les deux routeurs 10 et 12.The two routers belonging to the same autonomous system 1, then extracting, during a second step E2 of the method, the topology database 401 of the autonomous system 1 the distance associated with the path defined by the two routers 10 and 12.
Dans une étape E3, le serveur 301 affecte la distance extraite au couple composé du premier 100 et du second 120 terminal et la mémorise. Si le routeur de rattachement du deuxième terminal n'appartient pas au même système autonome, la lecture dans la deuxième table 38 de l'adresse du routeur de rattachement du deuxième terminal correspond alors à l'adresse du routeur de sortie du système autonome.In a step E3, the server 301 assigns the distance extracted to the pair of the first 100 and the second 120 terminal and stores it. If the home router of the second terminal does not belong to the same autonomous system, the reading in the second table 38 of the address of the home router of the second terminal then corresponds to the address of the output router of the autonomous system.
Dans une variante, le procédé comprend en outre une étape de transfert du serveur de topologie 301 vers le premier terminal 100 d'un sous-ensemble de la base de données de topologie 401. Le serveur de topologie effectue l'étape El de détermination d'un premier nœud de rattachement 10 du premier terminal. Il détermine ensuite les triplets relatifs au premier nœud de rattachement 10 et les transfère au premier terminal. Le sous-ensemble de la base de données de topologie 401 comprend donc les triplets relatifs au premier nœud de rattachement. Le serveur peut ainsi inclure les triplets relatifs à des nœuds de rattachement pour lesquels la valeur de la distance est inférieure à une valeur donnée, cette valeur donnée étant paramétrable.In a variant, the method further comprises a step of transferring the topology server 301 to the first terminal 100 of a subset of the base The topology server performs the El step of determining a first home node 10 of the first terminal. It then determines the triplets relating to the first home node 10 and transfers them to the first terminal. The subset of the topology database 401 thus comprises the triplets relating to the first home node. The server can thus include triplets relating to home nodes for which the value of the distance is less than a given value, this given value being configurable.
L'étape de détermination El d'un deuxième nœud de rattachement d'un deuxième terminal est effectuée par le premier terminal 100. L'étape de détermination E2 d'un paramètre représentatif d'une distance entre le premier nœud et le deuxième nœud de rattachement consiste alors à extraire du sous-ensemble de la base de données de topologie un paramètre représentatif de la distance entre les deux nœuds, localement au premier terminal.The determination step E1 of a second home node of a second terminal is performed by the first terminal 100. The determination step E2 of a parameter representative of a distance between the first node and the second node of attachment then consists in extracting from the subset of the topology database a parameter representative of the distance between the two nodes, locally at the first terminal.
Ainsi, le premier terminal 100 mémorise localement un sous-ensemble de la base de données de topologie et ne sollicite pas un serveur de topologie.Thus, the first terminal 100 locally stores a subset of the topology database and does not request a topology server.
Le procédé d'estimation d'une distance entre deux terminaux pour ordonner une liste non ordonnée de deuxièmes terminaux Ll vis-à-vis d'un premier terminal 100 va maintenant être décrit en référence à la figure 3. Supposons que la liste est constituée de 4 terminaux 101, 120, 200 et 210. Lors d'une première étape Fl, les routeurs de rattachement des terminaux 100,The method of estimating a distance between two terminals for ordering an unordered list of second terminals L1 vis-à-vis a first terminal 100 will now be described with reference to Figure 3. Suppose the list is constituted 4 terminals 101, 120, 200 and 210. In a first step Fl, the routers of the terminals of the terminals 100,
101, 120, 200 et 210 sont déterminés en effectuant l'étape El.101, 120, 200 and 210 are determined by performing step E1.
Le serveur 301 constitue alors une première liste non ordonnée LlASl comprenant ceux de la liste Ll qui appartiennent tous au même système autonome que le premier terminal 100, soit le système autonome 1. Cette liste LlASl comprend les terminaux 101 et 120. De la même manière, le serveur 301 regroupe dans une deuxième liste non ordonnée L1AS3 ceux des deuxièmes terminaux de la liste Ll qui appartiennent au système autonome 3. Pour ces terminaux, l'adresse du routeur de rattachement correspond à l'adresse du routeur de sortie du système autonome 1, soit le routeur 12. Dans une deuxième étape F2, le serveur 301 traite la liste non ordonnée LlASl des terminaux du système autonome 1 afin d'obtenir le paramètre représentatif de la distance entre chaque terminal 101, 120 de la liste et le terminal 100 à l'aide du procédé d'estimation de la distance entre deux terminaux décrit ci-dessus. Lors d'une troisième étape F3, le serveur 301 ordonne la liste des terminauxThe server 301 then constitutes a first unordered list LlASl comprising those of the list Ll which all belong to the same autonomous system as the first terminal 100, ie the autonomous system 1. This list LlAS1 comprises the terminals 101 and 120. In the same way , the server 301 groups in a second unordered list L1AS3 those of the second terminals of the list Ll belonging to the autonomous system 3. For these terminals, the address of the home router corresponds to the address of the output router of the autonomous system 1, that is the router 12. In a second step F2, the server 301 processes the unordered list LlASl of the terminals of the autonomous system 1 in order to obtain the parameter representative of the distance between each terminal 101, 120 of the list and the terminal 100 by means of the method estimation of the distance between two terminals described above. During a third step F3, the server 301 orders the list of terminals
LlASl en classant ceux-ci par distance croissante. La liste ordonnée résultante est appelée L2AS1.LlASl classifying these by increasing distance. The resulting ordered list is called L2AS1.
En parallèle, selon le premier mode de réalisation, le serveur 301 de topologie du système autonome 1 contacte le serveur 303 de topologie du système autonome 3 lors d'une étape F4 en lui fournissant la deuxième liste non ordonnée L IAS 3 de terminaux du système autonome 3 afin d'obtenir en retour la liste L2AS3 ordonnée en fonction de la distance. Le même procédé de traitement de la liste est exécuté par le serveur de topologie 303 du système autonome 3 qui renvoie au serveur 301 la liste ordonnée L2AS3. Lors d'une étape F5, le serveur de topologie 301 du système autonome 1 agrège les deux listes ordonnées L2AS1 et L2AS3 en une liste ordonnée L2.In parallel, according to the first embodiment, the topology server 301 of the autonomous system 1 contacts the server 303 topology of the autonomous system 3 during a step F4 by providing the second list unordered L IAS 3 system terminals standalone 3 in order to get back the list L2AS3 ordered according to the distance. The same method of processing the list is executed by the topology server 303 of the autonomous system 3 which sends back to the server 301 the ordered list L2AS3. In a step F5, the topology server 301 of the autonomous system 1 aggregates the two ordered lists L2AS1 and L2AS3 into an ordered list L2.
Alternativement, pour ordonner la liste non ordonnée Ll, le serveur 301 agrège la liste ordonnée L2AS1 et la liste non ordonnée L1AS3 afin d'obtenir une liste ordonnée L2, dans le cas où, par exemple, un tel serveur de topologie du système autonome n'est pas disponible dans le système autonome 3. Les terminaux appartenant au système autonome 3 sont toujours situés à une distance plus grande vis-à-vis du premier terminal que ceux du même système autonome 1.Alternatively, to order the unordered list L1, the server 301 aggregates the ordered list L2AS1 and the unordered list L1AS3 in order to obtain an ordered list L2, in the case where, for example, such a topology server of the autonomous system n is not available in the autonomous system 3. The terminals belonging to the autonomous system 3 are always located at a greater distance from the first terminal than those of the same autonomous system 1.
Dans le deuxième mode de réalisation, la liste ordonnée L2AS1 est filtrée afin de ne conserver que les terminaux auxquels sont affectés des paramètres représentatifs de la distance inférieurs à une valeur prédéterminée N et cette liste filtrée constitue la liste finale L2.In the second embodiment, the ordered list L2AS1 is filtered in order to keep only the terminals to which are assigned parameters representative of the distance less than a predetermined value N and this filtered list constitutes the final list L2.
La liste finale L2 est fournie au terminal 100 par le serveur 301.The final list L2 is supplied to the terminal 100 by the server 301.
Dans la description des modes particuliers de réalisation qui précède, l'ordonnancement des terminaux est réalisé en fonction d'un critère de plus court chemin. En variante, on peut aussi dans la base de données de topologie 401 associer à un couple de routeurs un paramètre représentatif d'une distance selon un chemin sélectionné sur la base de critères autres que celui du "plus court chemin". A titre d'exemples non limitatifs, on peut citer un critère consistant à privilégier le routage par un système autonome particulier ou au contraire à éviter le routage par un autre système autonome.In the description of the particular embodiments which precedes, the scheduling of the terminals is carried out according to a criterion of shorter path. Alternatively, it is also possible in the topology database 401 to associate with a couple of routers a parameter representative of a distance according to a path selected on the basis of criteria other than that of the "shortest path". By way of non-limiting examples, there may be mentioned a criterion consisting of privileging routing by a particular autonomous system or, on the contrary, avoiding routing by another autonomous system.
On va maintenant décrire le serveur de topologie 301 en référence à la figure 4.The topology server 301 will now be described with reference to FIG. 4.
Le serveur 301 comprend une unité centrale de commande 30 à laquelle l'ensemble des modules du serveur est relié, cette unité étant agencée pour contrôler le fonctionnement de ces modules.The server 301 comprises a central control unit 30 to which all the modules of the server is connected, this unit being arranged to control the operation of these modules.
Le serveur 301 comprend : des premiers moyens de stockage, correspondant à la table 37, agencés pour mémoriser des chemins comprenant un routeur source, un ensemble de routeurs traversés et un routeur de destination; - des seconds moyens de stockage, correspondant à la table 38, agencés pour mémoriser pour une adresse de destination ou pour un ensemble d'adresses de destination l'adresse du routeur responsable de l'acheminement des paquets; un module de réception 31 d'une liste de deuxièmes terminaux à ordonner Ll vis-à-vis d'un premier terminal et d'une requête pour ordonner cette liste Ll; - un module d'interrogation 33 d'une base de données de topologie 401 du système autonome agencé pour interroger la base de données en lui fournissant deux routeurs et pour obtenir un paramètre représentatif d'une distance entre les deux routeurs fournis; un module d'ordonnancement 40 d'une liste reçue par le module de réception 31, agencé pour déterminer un routeur de rattachement d'un terminal et pour ordonner une liste de deuxièmes terminaux vis-à-vis d'un premier terminal, en fonction de paramètres représentatifs de la distance entre le premier terminal et les différents deuxièmes terminaux respectivement, extraits par les moyens d'interrogation; un module d'envoi 32 agencé pour envoyer la liste ordonnée au terminal requérant.The server 301 comprises: first storage means, corresponding to the table 37, arranged to store paths comprising a source router, a set of crossed routers and a destination router; second storage means, corresponding to the table 38, arranged to store for a destination address or for a set of destination addresses the address of the router responsible for the routing of the packets; a reception module 31 of a list of second terminals to be arranged L1 with respect to a first terminal and of a request for ordering this list L1; an interrogation module 33 of a topology database 401 of the autonomous system arranged to interrogate the database by providing it with two routers and to obtain a parameter representative of a distance between the two routers provided; a scheduling module 40 of a list received by the reception module 31, arranged to determine a home router of a terminal and to order a list of second terminals vis-à-vis a first terminal, depending parameters representative of the distance between the first terminal and the different second terminals respectively, extracted by the interrogation means; a sending module 32 arranged to send the ordered list to the requesting terminal.
La requête est par exemple de type Service Web ("Web Services" en anglais) et contient une identification du terminal requérant, c'est-à-dire le premier terminal, et une liste de terminaux à ordonner. En fonction du service Web contacté, l'ordonnancement est réalisé selon un des modes particuliers de l'invention.The request is for example Web Service ("Web Services" in English) and contains an identification of the requesting terminal, that is to say the first terminal, and a list of terminals to order. Depending on the web service contacted, the scheduling is carried out according to one of the particular modes of the invention.
Le module d'ordonnancement 40 obtient du module de réception 31 une liste de deuxièmes terminaux à ordonner vis-à-vis d'un premier terminal. Il met en œuvre l'étape Fl du procédé décrit ci-dessus pour l'ensemble des deuxièmes terminaux de la liste et pour le premier terminal afin de déterminer les routeurs de rattachement respectifs de tous ces terminaux. Pour l'ensemble des deuxièmes terminaux de la liste à ordonner et pour le premier terminal, il détermine, par lecture dans les seconds moyens de stockage 38, les routeurs de rattachement respectifs.The scheduling module 40 obtains from the reception module 31 a list of second terminals to be ordered vis-à-vis a first terminal. It implements the step F1 of the method described above for all the second terminals of the list and for the first terminal to determine the respective home routers of all these terminals. For all the second terminals of the list to be ordered and for the first terminal, it determines, by reading in the second storage means 38, the respective home routers.
Pour chaque couple de routeurs, le premier routeur correspondant au routeur de rattachement du premier terminal et le deuxième routeur correspondant au routeur de rattachement d'un deuxième terminal de la liste, le module 40 met en œuvre l'étapeFor each pair of routers, the first router corresponding to the home router of the first terminal and the second router corresponding to the home router of a second terminal of the list, the module 40 implements the step
F2 du procédé et obtient du module d'interrogation 33 un paramètre représentatif de la distance entre les deux routeurs du couple. Il mémorise le couple constitué du paramètre obtenu et du deuxième terminal correspondant dans des moyens de sauvegarde 34 et parcourt ainsi toute la liste.F2 of the method and obtains from the interrogation module 33 a parameter representative of the distance between the two routers of the pair. It stores the pair consisting of the parameter obtained and the corresponding second terminal in the backup means 34 and thus traverses the entire list.
Le module 40 exécute ensuite l'étape F3 du procédé. Il ordonne les paramètres ainsi obtenus et fournit une liste ordonnée au module d'envoi 32 de la liste ordonnée au terminal requérant.The module 40 then executes the step F3 of the method. It orders the parameters thus obtained and provides an ordered list to the sending module 32 of the ordered list to the requesting terminal.
La base de données de topologie 401 comprend une pluralité de triplets composés de deux routeurs et d'un paramètre représentatif d'une distance entre les deux routeurs. La base de données est externe au serveur de topologie. Alternativement, elle est interne au serveur 301.The topology database 401 comprises a plurality of triplets composed of two routers and a parameter representative of a distance between the two routers. The database is external to the topology server. Alternatively, it is internal to the server 301.
Le serveur 301 comprend également un module 39 agencé pour constituer une base de données de topologie 401 du système autonome 1, des premiers moyens de stockage 37 et des seconds moyens de stockage 38 à partir d'annonces de routage diffusées par des protocoles de type IGP et/ou EGP. Le module 39 met en œuvre l'étape EO du procédé pour constituer ces moyens.The server 301 also comprises a module 39 arranged to constitute a topology database 401 of the autonomous system 1, the first storage means 37 and the second storage means 38 from routing advertisements disseminated by IGP and / or EGP protocols. The module 39 implements the step EO of the method to constitute these means.
Dans une variante, le serveur 301 comprend en outre: un module d'envoi 35 agencé pour envoyer à un serveur de topologie 303 d'un deuxième réseau une liste de terminaux non ordonnée; un module de réception 36 agencé pour recevoir d'un serveur de topologie une liste ordonnée.In a variant, the server 301 further comprises: a sending module 35 arranged to send to a topology server 303 of a second network an unordered list of terminals; a reception module 36 arranged to receive an ordered list from a topology server.
Dans ce cas, le module 40 comprend également: un module de création d'une liste de terminaux non ordonnée agencé pour créer une deuxième liste si un des terminaux de la liste appartient à un autre système autonome que le premier terminal, cette deuxième liste comprenant l'ensemble de terminaux de la liste non ordonnée appartenant à cet autre système autonome; un module d'agrégation des deux listes ordonnées agencé pour agréger les listes ordonnées. Dans une variante, le serveur de topologie 301, 303 d'un réseau 1 sous-jacent comprend : des premiers moyens de stockage, correspondant à la table 37, agencés pour mémoriser des chemins comprenant un routeur source, un ensemble de routeurs traversés et un routeur de destination; - des seconds moyens de stockage, correspondant à la table 38, agencés pour mémoriser pour une adresse de destination ou pour un ensemble d'adresses de destination l'adresse du routeur responsable de l'acheminement des paquets; un module d'interrogation 33 d'une base de données de topologie 401 du système autonome agencé pour interroger la base de données en lui fournissant deux routeurs et pour obtenir un paramètre représentatif d'une distance entre les deux routeurs fournis; un module 39 pour constituer une base de données 401, 403 de topologie à partir d'annonces de routage diffusées par des nœuds du réseau sous-jacent ; un module de réception d'une demande d'un sous-ensemble de la base de données de topologie vis-à-vis d'un premier terminal 100 ; un module d'envoi du sous-ensemble de la base de données de topologie au premier terminal 100.In this case, the module 40 also comprises: a module for creating an unordered list of terminals arranged to create a second list if one of the terminals of the list belongs to another autonomous system than the first terminal, this second list comprising the set of terminals of the unordered list belonging to this other autonomous system; an aggregation module of the two ordered lists arranged to aggregate the ordered lists. In a variant, the topology server 301, 303 of an underlying network 1 comprises: first storage means, corresponding to the table 37, arranged to store paths comprising a source router, a set of routers crossed and a destination router; second storage means, corresponding to the table 38, arranged to store for a destination address or for a set of destination addresses the address of the router responsible for the routing of the packets; an interrogation module 33 of a topology database 401 of the autonomous system arranged to interrogate the database by providing it with two routers and to obtain a parameter representative of a distance between the two routers provided; a module 39 for constituting a database 401, 403 of topology from routing announcements broadcast by nodes of the underlying network; a module for receiving a request from a subset of the topology database with respect to a first terminal 100; a module for sending the subset of the topology database to the first terminal 100.
Les modules 31, 32, 33, 35, 36, 39 et 40, qui mettent en œuvre le procédé précédemment décrit, sont de préférence des modules logiciels comprenant des instructions logicielles pour faire exécuter les étapes du procédé précédemment décrit par le serveur. Les modules logiciels peuvent être stockés dans ou transmis par un support de données. Celui-ci peut être un support matériel de stockage, par exemple unThe modules 31, 32, 33, 35, 36, 39 and 40, which implement the method described above, are preferably software modules comprising software instructions for executing the steps of the method previously described by the server. The software modules can be stored in or transmitted by a data carrier. This can be a hardware storage medium, for example a
CD-ROM, une disquette magnétique ou un disque dur, ou bien un support de transmission tel qu'un signal électrique, optique ou radio, ou un réseau de télécommunication.CD-ROM, a magnetic diskette or a hard disk, or a transmission medium such as an electrical, optical or radio signal, or a telecommunication network.
L'invention concerne également un programme d'estimation d'une distance entre un premier et un deuxième terminal pour un serveur de topologie 301, 303, lesdits terminaux appartenant à un réseau 2 de recouvrement superposé à au moins un réseau 1 sous-jacent et étant respectivement rattachés à des nœuds de rattachement dudit réseau sous-jacent, comprenant des instructions de programme pour : déterminer un premier nœud 10, 11, 12, 13 de rattachement du premier terminal, situé dans le réseau 1 sous-jacent ; déterminer El un deuxième nœud 10, 11, 12, 13 de rattachement du deuxième terminal, situé dans le réseau 1 sous-jacent ; déterminer un paramètre représentatif d'une distance entre le premier et le deuxième nœud de rattachement à partir d'annonces de routage diffusées dans le réseau sous-jacent, affecter E3 ledit paramètre déterminé au couple composé du premier et du deuxième terminal 110, 120, 121, lorsque ledit programme est exécuté par le serveur de topologie. The invention also relates to a program for estimating a distance between a first and a second terminal for a topology server 301, 303, said terminals belonging to a collection network 2 superimposed on at least one underlying network 1 and respectively being attached to home nodes of said underlying network, comprising program instructions for: determining a first home node 10, 11, 12, 13 of the first terminal, located in the underlying network 1; determining El a second node 10, 11, 12, 13 of attachment of the second terminal, located in the underlying network 1; determining a parameter representative of a distance between the first and second home nodes from broadcast advertisements broadcast in the underlying network, assigning said determined parameter E3 to the pair composed of the first and second terminals 110, 120, 121, when said program is executed by the topology server.

Claims

REVENDICATIONS
1. Procédé d'estimation d'une distance entre un premier (100) et au moins un deuxième (110, 120, 121) terminal, lesdits terminaux appartenant à un réseau (2) de recouvrement superposé à au moins un réseau (1) sous-jacent et étant respectivement rattachés à des nœuds de rattachement dudit réseau sous-jacent, comprenant : une étape de détermination (El) d'un premier nœud (10, 11, 12, 13) de rattachement du premier terminal, situé dans le réseau (1) sous-jacent ; une étape de détermination (El) d'un deuxième nœud (10, 11, 12, 13) de rattachement du deuxième terminal, situé dans le réseau (1) sous-jacent ; - une étape de détermination (E2) d'un paramètre représentatif d'une distance entre le premier et le deuxième nœud de rattachement dans le réseau (1) sous-jacent ; une étape d'affectation (E3) dudit paramètre déterminé au couple composé du premier et du deuxième terminal (110, 120, 121), caractérisé en ce que : - le paramètre représentatif de la distance entre le premier et le deuxième nœud de rattachement est déterminé à partir d'annonces de routage diffusées dans le réseau sous-jacent.A method for estimating a distance between a first (100) and at least a second (110, 120, 121) terminal, said terminals belonging to a network (2) overlay superimposed on at least one network (1) underlying and respectively attached to nodes of attachment of said underlying network, comprising: a step of determining (El) a first node (10, 11, 12, 13) of attachment of the first terminal, located in the underlying network (1); a step of determining (El) a second node (10, 11, 12, 13) of attachment of the second terminal, located in the network (1) underlying; a step of determining (E2) a parameter representing a distance between the first and the second home node in the underlying network (1); a step of assigning (E3) said determined parameter to the pair composed of the first and second terminals (110, 120, 121), characterized in that: the parameter representative of the distance between the first and the second attachment node is determined from routing announcements broadcast in the underlying network.
2. Procédé selon la revendication 1 comprenant en outre: - une étape préliminaire (EO) de constitution d'une base de données de topologie (401, 403) du réseau (1) sous-jacent au cours de laquelle on détermine à partir d'annonces de routage diffusées par des nœuds du réseau sous-jacent une pluralité de triplets composés de deux nœuds et d'un paramètre représentatif d'une distance entre les deux nœuds et on les mémorise dans la base de données (401, 403), l'étape de détermination (E2) consistant à extraire de la base de données un paramètre représentatif de la distance entre deux nœuds, les deux nœuds correspondant au premier et au deuxième nœud de rattachement du premier et du deuxième terminal respectivement. 2. Method according to claim 1, further comprising: a preliminary step (EO) of constituting a topology database (401, 403) of the underlying network (1) during which it is determined from routing advertisements broadcast by nodes of the underlying network a plurality of triplets composed of two nodes and a parameter representative of a distance between the two nodes and stored in the database (401, 403), the determining step (E2) of extracting from the database a parameter representative of the distance between two nodes, the two nodes corresponding to the first and second home nodes of the first and second terminals respectively.
3. Procédé selon la revendication 2, dans lequel des données de localisation géographique des nœuds du réseau (1) sous-jacent sont utilisées pour calculer le paramètre représentatif d'une distance dans l'étape préliminaire de constitution d'une base de données (401, 403) de topologie du réseau sous-jacent.The method of claim 2, wherein geographic location data of the nodes of the underlying network (1) are used to calculate the parameter representative of a distance in the preliminary step of building a database ( 401, 403) of the underlying network topology.
4. Procédé selon l'une des revendications 1 à 3 dans lequel les annonces de routage sont obtenues à partir d'au moins une sonde placée dans le réseau (1) sous- jacent.4. Method according to one of claims 1 to 3 wherein the routing advertisements are obtained from at least one probe placed in the network (1) underlying.
5. Procédé selon l'une des revendications 1 à 4 dans lequel, en cas de pluralité de deuxièmes terminaux, lesdits deuxièmes terminaux formant une liste non ordonnée, pour les différents deuxièmes terminaux de la liste, on exécute les étapes de détermination (El) d'un deuxième nœud de rattachement dudit deuxième terminal, de détermination (E2) d'un paramètre représentatif de la distance entre le premier et le deuxième nœud de rattachement déterminé et d'affectation (E3) du paramètre déterminé à un couple composé du premier et du deuxième terminal; et on ordonne la liste des deuxièmes terminaux en fonction des paramètres représentatifs de la distance qui leur sont respectivement affectés.5. Method according to one of claims 1 to 4 wherein, in the case of a plurality of second terminals, said second terminals forming an unordered list, for the different second terminals of the list, the determination steps are performed (E1). a second node of attachment of said second terminal, determining (E2) a parameter representative of the distance between the first and second determined home node and assignment (E3) of the determined parameter to a pair composed of the first and the second terminal; and ordering the list of the second terminals according to the parameters representative of the distance respectively assigned to them.
6. Procédé selon la revendication 5, dans lequel la liste non ordonnée de deuxièmes terminaux est envoyée par le premier terminal (100) à un premier serveur de topologie (301, 303), le premier serveur de topologie ordonne la liste puis la renvoie au premier terminal.The method of claim 5, wherein the unordered list of second terminals is sent by the first terminal (100) to a first topology server (301, 303), the first topology server orders the list and then returns it to the first terminal.
7. Procédé selon la revendication 6, dans lequel le premier serveur filtre la liste ordonnée avant de l'envoyer au premier terminal afin de ne conserver que les deuxièmes terminaux auxquels sont affectés des paramètres représentatifs de la distance inférieurs à une valeur prédéterminée. The method of claim 6, wherein the first server filters the ordered list before sending it to the first terminal to retain only the second terminals to which are assigned parameters representative of the distance less than a predetermined value.
8. Procédé selon la revendication 6 ou 7, dans lequel: si au moins l'un des deuxièmes terminaux de la liste non ordonnée appartient à un deuxième réseau (3) sous-jacent, le premier serveur constitue une deuxième liste comprenant ledit au moins un deuxième terminal et interroge un deuxième serveur de topologie ayant accès à une base de données de topologie du deuxième réseau sous-jacent; ledit deuxième serveur ordonne la deuxième liste et la renvoie au premier serveur; et le premier serveur agrège les deux listes ordonnées.The method according to claim 6 or 7, wherein: if at least one of the second terminals of the unordered list belongs to a second underlying network (3), the first server constitutes a second list comprising said at least one a second terminal and queries a second topology server having access to a topology database of the second underlying network; said second server orders the second list and sends it back to the first server; and the first server aggregates the two ordered lists.
9. Serveur de topologie (301, 303) d'un réseau (1) sous-jacent, agencé pour ordonner une liste de deuxièmes terminaux vis-à-vis d'un premier terminal, lesdits premier et deuxièmes terminaux appartenant à un réseau (2) de recouvrement superposé audit un réseau (1) sous-jacent et étant respectivement rattachés à des nœuds de rattachement dudit réseau sous-jacent, comprenant: des moyens de réception (31) d'une liste de deuxièmes terminaux à ordonner vis- à-vis d'un premier terminal (100); des moyens d'interrogation (33) d'une base de données (401, 403) de topologie du réseau sous-jacent comprenant une pluralité de triplets composés de deux nœuds et d'un paramètre représentatif d'une distance entre les deux nœuds ; des moyens d'ordonnancement (40) de ladite liste de deuxièmes terminaux, agencés pour déterminer un nœud de rattachement d'un terminal et pour ordonner la liste en fonction de paramètres représentatifs de la distance entre le premier terminal et les différents deuxièmes terminaux respectivement, extraits par les moyens d'interrogation (33); des moyens d'envoi (32) de la liste ordonnée au premier terminal (100), caractérisé en ce qu'il comprend en outre : des moyens (39) pour constituer ladite base de données (401, 403) de topologie à partir d'annonces de routage diffusées par des nœuds du réseau sous-jacent. 9. Topology server (301, 303) of an underlying network (1), arranged to order a list of second terminals vis-à-vis a first terminal, said first and second terminals belonging to a network ( 2) superimposed on said underlying network (1) and being respectively attached to home nodes of said underlying network, comprising: receiving means (31) of a list of second terminals to be ordered vis-à-vis a first terminal (100); interrogation means (33) of a topology database (401, 403) of the underlying network comprising a plurality of triplets composed of two nodes and a parameter representative of a distance between the two nodes; scheduling means (40) of said list of second terminals, arranged to determine a home node of a terminal and to order the list according to parameters representative of the distance between the first terminal and the different second terminals respectively, extracted by the interrogation means (33); sending means (32) of the ordered list to the first terminal (100), characterized in that it further comprises: means (39) for forming said database (401, 403) of topology from routing announcements broadcast by nodes in the underlying network.
10. Serveur selon la revendication 9 comprenant en outre: des moyens de création (40) d'une autre liste de deuxièmes terminaux si au moins un des deuxièmes terminaux de ladite liste appartient à un deuxième réseau (3) sous-jacent; - des moyens d'envoi (35) à un deuxième serveur de topologie (303) du deuxième réseau sous-jacent de l'autre liste non ordonnée; des moyens de réception (36) de ladite autre liste ordonnée; des moyens d'agrégation (40) des deux listes ordonnées.10. The server of claim 9 further comprising: means for creating (40) another list of second terminals if at least one of the second terminals of said list belongs to a second network (3) underlying; sending means (35) to a second topology server (303) of the second underlying network of the other unordered list; receiving means (36) of said further ordered list; means for aggregating (40) the two ordered lists.
11. Programme d'estimation d'une distance entre un premier et un deuxième terminal pour un serveur de topologie (301, 303), lesdits terminaux appartenant à un réseau (2) de recouvrement superposé à au moins un réseau (1) sous-jacent et étant respectivement rattachés à des nœuds de rattachement dudit réseau sous-jacent, comprenant des instructions de programme pour : - déterminer un premier nœud (10, 11, 12, 13) de rattachement du premier terminal, situé dans le réseau (1) sous-jacent ; déterminer (El) un deuxième nœud (10, 11, 12, 13) de rattachement du deuxième terminal, situé dans le réseau (1) sous-jacent ; déterminer un paramètre représentatif d'une distance entre le premier et le deuxième nœud de rattachement à partir d'annonces de routage diffusées dans le réseau sous-jacent, affecter (E3) ledit paramètre déterminé au couple composé du premier et du deuxième terminal (110, 120, 121), lorsque ledit programme est exécuté par le serveur de topologie.11. A program for estimating a distance between a first and a second terminal for a topology server (301, 303), said terminals belonging to a collection network (2) superimposed on at least one sub-network (1). jacent and respectively attached to home nodes of said underlying network, comprising program instructions for: - determining a first node (10, 11, 12, 13) of attachment of the first terminal, located in the network (1) underlying; determining (E1) a second home node (10, 11, 12, 13) of the second terminal, located in the underlying network (1); determining a parameter representative of a distance between the first and second home nodes from broadcast advertisements broadcast in the underlying network, assigning (E3) said determined parameter to the pair composed of the first and second terminals (110). , 120, 121), when said program is executed by the topology server.
12. Support d'enregistrement lisible par un serveur sur lequel est enregistré le programme selon la revendication 11. 12. Recording medium readable by a server on which the program according to claim 11 is recorded.
PCT/FR2007/050799 2006-02-16 2007-02-14 Method for estimating a distance between two terminals belonging to an overlapping network superimposed to at least one underlying network WO2007093742A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0650558 2006-02-16
FR0650558 2006-02-16

Publications (2)

Publication Number Publication Date
WO2007093742A2 true WO2007093742A2 (en) 2007-08-23
WO2007093742A3 WO2007093742A3 (en) 2007-12-27

Family

ID=36602433

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2007/050799 WO2007093742A2 (en) 2006-02-16 2007-02-14 Method for estimating a distance between two terminals belonging to an overlapping network superimposed to at least one underlying network

Country Status (1)

Country Link
WO (1) WO2007093742A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2458788A1 (en) * 2009-07-24 2012-05-30 Huawei Technologies Co., Ltd. Method, device and system for processing network mapping identifiers and method for selecting peer nodes

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1387527A1 (en) * 2002-07-30 2004-02-04 Agilent Technologies Inc. Identifying network routers and paths

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1387527A1 (en) * 2002-07-30 2004-02-04 Agilent Technologies Inc. Identifying network routers and paths

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
CAI ET AL: "Dynamic server selection using fuzzy inference in content distribution networks" COMPUTER COMMUNICATIONS, ELSEVIER SCIENCE PUBLISHERS BV, AMSTERDAM, NL, vol. 29, no. 8, 29 juin 2005 (2005-06-29), pages 1026-1038, XP005435724 ISSN: 0140-3664 *
CHIPING TANG ET AL: "On the cost-quality tradeoff in topology-aware overlay path probing" PROCEEDINGS. 11TH IEEE INTERNATIONAL CONFERENCE ON NETWORK PROTOCOLS IEEE COMPUT. SOC LOS ALAMITOS, CA, USA, 2003, pages 268-279, XP010671580 ISBN: 0-7695-2024-3 *
DE SILVA R G: "A new approach to Internet host to host distance estimation" PROCEEDINGS OF THE SECOND IASTED INTERNATIONAL CONFERENCE ON COMMUNICATIONS, INTERNET, AND INFORMATION TECHNOLOGY ACTA PRESS ANAHEIM, CA, USA, 2003, pages 72-74, XP008084962 ISBN: 0-88986-398-9 *
FONSECA R ET AL: "Distributed querying of internet distance information" INFOCOM 2005. 24TH ANNUAL JOINT CONFERENCE OF THE IEEE COMPUTER AND COMMUNICATIONS SOCIETIES. PROCEEDINGS IEEE MIAMI, FL, USA 13-17 MARCH 2005, PISCATAWAY, NJ, USA,IEEE, 13 mars 2005 (2005-03-13), pages 2876-2881, XP010829377 ISBN: 0-7803-8968-9 *
FRANCIS P: "A Call for an Internet-wide Host Proximity Service (HOPS)" INTERNET CITATION, [Online] 17 janvier 1999 (1999-01-17), XP002413117 Extrait de l'Internet: URL:http://web.archive.org/web/19990117022416/http://www.ingrid.org/hops/wp.html> [extrait le 2007-01-04] *
GUMMADI K P ET AL: "King: estimating latency between arbitrary Internet end hosts" PROCEEDINGS OF THE SECOND INTERNET MEASUREMENT WORKSHOP. IMW 2002 ACM NEW YORK, NY, USA, 2002, pages 5-18, XP002389836 ISBN: 1-58113-603-X *
MILLER N ET AL: "Collecting network status information for network-aware applications" INFOCOM 2000. NINETEENTH ANNUAL JOINT CONFERENCE OF THE IEEE COMPUTER AND COMMUNICATIONS SOCIETIES. PROCEEDINGS. IEEE TEL AVIV, ISRAEL 26-30 MARCH 2000, PISCATAWAY, NJ, USA,IEEE, US, vol. 2, 26 mars 2000 (2000-03-26), pages 641-650, XP010376153 ISBN: 0-7803-5880-5 *
PAUL FRANCIS ET AL: "IDMaps: A Global Internet Host Distance Estimation Service" IEEE / ACM TRANSACTIONS ON NETWORKING, IEEE / ACM, NEW YORK, NY, US, vol. 9, no. 5, octobre 2001 (2001-10), XP011038948 ISSN: 1063-6692 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2458788A1 (en) * 2009-07-24 2012-05-30 Huawei Technologies Co., Ltd. Method, device and system for processing network mapping identifiers and method for selecting peer nodes
EP2458788A4 (en) * 2009-07-24 2012-07-04 Huawei Tech Co Ltd Method, device and system for processing network mapping identifiers and method for selecting peer nodes
US9325788B2 (en) 2009-07-24 2016-04-26 Huawei Technologies Co., Ltd. Method, device and system for processing a network mapping identifier, and peer selection method

Also Published As

Publication number Publication date
WO2007093742A3 (en) 2007-12-27

Similar Documents

Publication Publication Date Title
JP2020518179A (en) Predictive overlay network architecture
US20090180393A1 (en) Sampling apparatus distinguishing a failure in a network even by using a single sampling and a method therefor
Pujol et al. Steering hyper-giants' traffic at scale
CA3087762A1 (en) Method for configuring a wireless communication range extender system and a wireless communication range extender system implementing said method
FR2903548A1 (en) METHOD FOR AUTOMATICALLY CONTROLLING A TELECOMMUNICATIONS NETWORK WITH LOCAL KNOWLEDGE MUTUALIZATION
EP2163071A2 (en) Method for automatically determining a group of pairs located close to another pair in a communication network and associated server, analysis device and communication device
Dönni et al. Schengen routing: a compliance analysis
WO2019076765A1 (en) Management of connection with other residential gateways of a residential gateway implementing link aggregation
WO2007093742A2 (en) Method for estimating a distance between two terminals belonging to an overlapping network superimposed to at least one underlying network
EP2591588B1 (en) Access to a network of nodes distributed over a communication architecture, using a topology server with multi-criteria selection
EP3373558B1 (en) Communication method for maintaining an application session between a terminal and an application server
KR101445047B1 (en) Confidential or protected access to a network of nodes distributed over a communication architecture with the aid of a topology server
EP2955887B1 (en) Method for dynamic load distribution in a private network
WO2020221779A1 (en) Methods and devices for measuring reputation in a communication network
FR2915044A1 (en) Overlay network`s i.e. peer to peer network, dynamic range determining method, involves determining local dynamic range corresponding to sum of parts of obtained information in corresponding communication node of network
Fukuda et al. Towards evaluation of DNS server selection with geodesic distance
FR3003115A1 (en) METHOD FOR ALLOCATING RESOURCES FOR IMPLEMENTING VIRTUAL NETWORKS IN A TELECOMMUNICATION NETWORK
FR2846170A1 (en) Optimisation of traffic through Internet includes creation of routing tables based on measured performance of different operator routes
EP2273727A1 (en) Method for obtaining service availability information in a communication network, apparatus and corresponding computer program
EP3231137B1 (en) Overlay network for communication network connecting data centres of a cloud services provider
FR3003109A1 (en) METHOD OF CONGESTION CONTROL FOR TELECOMMUNICATIONS NETWORKS
FR3105680A1 (en) Method and device for routing data streams
Kamei et al. Estimating scale of peer‐to‐peer file sharing applications using multilayer partial measurement
CN112219372A (en) Segmenting corporate communication networks
Finkenzeller et al. Critical Mass of a Distributed End-System Monitoring Service.

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07731624

Country of ref document: EP

Kind code of ref document: A2