WO2009047439A2 - Method for the failure tolerant distributed routing of data in a network - Google Patents

Method for the failure tolerant distributed routing of data in a network Download PDF

Info

Publication number
WO2009047439A2
WO2009047439A2 PCT/FR2008/051654 FR2008051654W WO2009047439A2 WO 2009047439 A2 WO2009047439 A2 WO 2009047439A2 FR 2008051654 W FR2008051654 W FR 2008051654W WO 2009047439 A2 WO2009047439 A2 WO 2009047439A2
Authority
WO
WIPO (PCT)
Prior art keywords
node
nodes
network
routing
neighboring
Prior art date
Application number
PCT/FR2008/051654
Other languages
French (fr)
Other versions
WO2009047439A3 (en
Inventor
François ELEOUET
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 WO2009047439A2 publication Critical patent/WO2009047439A2/en
Publication of WO2009047439A3 publication Critical patent/WO2009047439A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery

Definitions

  • the present invention relates to the field of telecommunications networks. More specifically, the invention relates to a distributed routing method and system for rapidly re-routing traffic (for example, data streams, information packets) during transit in a telecommunications network in the form of a plurality of interconnected nodes, in case of failure in the network.
  • traffic for example, data streams, information packets
  • the invention can in particular be implemented in applications for routing and re-routing of data in networks of the packet-switched type.
  • routing protocols rely on defined routing algorithms to facilitate routing of data in packet-switched networks.
  • routing algorithms are designed to answer the same problem: in a graph composed of nodes connected by edges, each stop (and not node) having a certain cost (or weight), it is necessary to determine a path minimizing the total cost of stops crossed.
  • This cost may depend on various parameters, such as bandwidth, reliability, delay, etc., or more generally a combination of these different parameters.
  • this is to know which neighbor to send data to another node to minimize the cost of traversing the network, to route data from a source node to destination a target node in the network.
  • OSPF for Open Shortest Path First
  • ISIS for ISIS
  • BGP Border Gateway Protocol
  • EIGRP for "Enhanced Interior Gateway Protocol”
  • OSPF & ISIS link state protocols
  • RIP distributed computing protocols
  • Link state protocols use a broadcast technique that allows different nodes to gain a complete view of the topology of a network and thus run the shortest path algorithm of Djikstra, better known as SPF algorithm, for "Short Path First" in English.
  • SPF algorithm shortest path algorithm
  • This algorithm allows each constituent node of a network architecture to be able to determine which route it must choose to join the other nodes of the network.
  • Such link state protocols provide fast convergence, typically of the order of a few seconds. They are deployed in most operators' telecommunications networks.
  • a disadvantage of this category of protocols lies in the fact that they do not always make it possible to ensure the routing of the information packets during the periods of convergence.
  • a second disadvantage of the link state routing protocols arises from the fact that the information dissemination relating to changes in network topology is independent of the calculation of the routes that an information packet can take between a source node and a network. a target node, micro-loops can be formed during these information dissemination phases, which consequently implies a degradation of the service, which degradation can cover the form of interruption of the routing of the data in the network on certain periods of time.
  • the MPLS protocol for "Multi Protocol Label Switching" in English
  • the notion of a path in IP networks so as to allow routing packets on alternative paths in situations of topology change of the communication network in use thereof.
  • routers do not have a global view of the network. They are content to announce to their neighbors information on the best known path to reach each destination in a given communication network, which allows each router constituting the topology of the communication network to get closer to each other. knowledge of the best route (or path) to reach each destination within the network.
  • algorithm of the prior art of Bellmann-Ford from which the protocol
  • routers exchange vectors indicating the cost of each destination in the network. This is called a routing protocol with distance vectors.
  • a disadvantage of such protocols is that they nevertheless suffer from an infinite counting problem because of their looping distribution of invalid routes (or paths) which substantially penalizes their ability to converge in the event of a failure in the network.
  • connection between two nodes of a network traversed, to associate with each node located on the road taken, the characteristics of the last link used to join said node.
  • the present invention provides a solution that does not have the drawbacks mentioned above
  • the invention aims to solve the aforementioned drawbacks by proposing a distributed routing method, taking advantage of the simplicity of implementation of the link vector protocols, but also, which is adapted to ensure the re-routing of the information packets. in a network architecture, including in case of failure in the latter.
  • the invention relates to a method of routing at least one piece of information between a source node and at least one target node in a network comprising a plurality of N nodes each connected to at least one neighboring node by means of a node. representative link of a connection.
  • said method comprising a step of supervising a state of the connection of each node of said network with each of its neighboring nodes, respectively, it also advantageously comprises an iterative step, for each of the nodes i, i G [1..N]) of said plurality of nodes, of transmission step by step, at least one neighboring node, of at least one message enabling said at least one neighboring node to build as iterations of said iterative step, a tree, said path tree, comprising at least one passing path not by said at least one neighboring node and making it possible to reach said at least one target node, respectively.
  • Path tree means here any related acyclic graph
  • the specificity of the routing method according to the invention resides first and foremost in its ability to allow the detection of network connection drops between constituent nodes of a network architecture, the supervision step making it possible to detect any anomaly concerning a network connection between two nodes constituting the latter, for example a fall of the network connection, or even a failure of a hardware device forming a node of the network (a router or a server, for example).
  • a node advantageously uses the advertisements or messages received from each of its neighboring nodes, respectively, to construct, respectively for each of said neighboring nodes, a tree of paths comprising a predetermined number of paths not passing through said at least one a neighboring node and to reach said at least one target node.
  • each node of the network thus maintains in a routing table of its own as many path trees as it has neighboring nodes, which advantageously allows it to have several routes to reach the same destination, and so to have at least one valid alternative path in case of failure in the network (drop of a connection, temporary or permanent failure of a hardware device, for example).
  • said transmitted message contains at least one information representative of a shorter path to reach said path.
  • least one target node from said source node.
  • any information relating to a predetermined metric and for evaluating and / or determining that one path will be better than another path may advantageously correspond, by way of illustrative and nonlimiting example, to a serial number of a router, or even the cost of a network link between two nodes of a network, such a cost being able to for example depending on a bandwidth level, jitter and / or a percentage of loss of information packets on such a link.
  • the information representative of a shorter path advantageously makes it possible to discriminate relevantly in the choice of an alternative path to be used preferentially when an anomaly is detected in the network, which was not possible. until now not possible to obtain with the solutions of the prior art.
  • each of said nodes of said plurality of nodes contains, for each of said neighboring nodes, at least one path tree in the form of a routing table able to direct at least one message received by said node on a path to reach said target node from said source node
  • each node of the network once its routing table filled, can then rebroadcast to each of its neighbors the best route not passing through this neighbor, which advantageously avoids unnecessary information transmission between neighboring nodes in the network, but above all, lead to the dissemination of alternative paths that may be used in the event of a network connection being broken between nodes of the network.
  • said supervision step is performed by a device for supervising the connectivity of each node of said plurality of nodes of the network with each of said neighboring nodes, respectively.
  • Such a supervision device will also be connected to the network and will have an ability to detect any anomaly in the state of the network connection between the constituent nodes of the latter, or any operating anomaly of a device forming a constituent node. of such a network.
  • An advantage of such a particular embodiment of the invention resides in particular in the possibility of making the routing method according to the invention benefit from already existing network architectures which would be devoid of any fault tolerance mechanism. .
  • said supervision step is performed by each node of said plurality of nodes.
  • a first advantage of the implementation of said supervision step by each node of the network resides in the ability of each node to be able to detect directly and in an optimal manner, in particular with regard to the detection delay, any anomaly likely to concern its own network connections with each of its neighbor nodes.
  • each node that has detected an anomaly of the state of the connection with at least one of its neighboring nodes can advantageously anticipate the re-routing of data or information packets on a route other than that impacted by the fall of the network connection by informing prior to this re-routing, each of its nodes see said anomaly detected, the latter can then take into account the latter by updating accordingly their respective routing tables.
  • Such an approach will further promote fault tolerance and will ensure and ensure continuity of service.
  • a verification step is performed to determine if said anomaly is related to a malfunction of said neighbor node and / or a malfunction of the network link between said node and said neighbor node.
  • a node if a node detects an anomaly relating to its network connection with a first neighbor node, it will check at said verification step if this anomaly corresponds to a failure hardware of said neighbor node, or if it corresponds to a temporary breakdown of the connection link with the node.
  • information would be sent back step by step by the node at the origin of the detection of said anomaly towards the other nodes of the network also having as neighboring node this same first neighboring node, so that these latter can update their respective routing tables, so as to prohibit any subsequent rebroadcasting of information packets on paths that would pass through this first neighbor node.
  • said neighbor nodes update their respective routing tables, to indicate the paths impacted by said anomaly and not being able to be rebroadcast to the other nodes of said plurality of nodes; "rebroadcasting said at least one notification message from said plurality of nodes; said anomaly, step by step by each of said other neighboring nodes, to at least one of their respective neighboring nodes and distinct from said node impacted by said anomaly; said updating and redistributing steps being iterated until all the routing tables of each of the nodes of said plurality of nodes are updated.
  • said updating step the whole of the part of the tree starting from the node concerned by said anomaly is removed (for example by truncation) from the routing table and on the other trees, it is ensured that not repost links that are no longer valid.
  • a technical advantage of such an approach lies in the fact that the alternative paths broadcast step by step to the different nodes of a network will make it possible specifically to deal with the network connection drops that may occur between nodes of the network, which allows to make the network routing according to the invention fault-tolerant, which is an essential condition, particularly with regard to the guarantee of routing data / information packets, for example and without limitation, in services of ToIP or IPTV (IPTV).
  • IPTV IPTV
  • a node detects a fall of the network connection, see more generally an anomaly in the network communication, with one of its neighboring nodes, it is not able to determine the origin of this anomaly, namely for example distinguish between the fall of the network connection or a failure of the network equipment (a router or a communication terminal equipping the neighboring node).
  • the node having detected the anomaly will then indicate in its routing table which is the neighboring node impacted by the anomaly detected, as well as all the routes of its routing table passing through this neighboring node, so as to avoid redistributing it to its other neighbors, any road passing through the neighboring knot impacted by the anomaly.
  • the node having detected the anomaly will then propagate to these other neighbors a notification message of the anomaly, which will then update their own routing table taking account of the latter, before rebroadcasting this notification message step by step.
  • said method comprises a step of updating by said source node of a transmission table containing a set of weakest weight paths transmitted by said source node to each of its nodes. so-called neighboring nodes.
  • a transmission table containing a set of weakest weight paths transmitted by said source node to each of its nodes.
  • neighboring nodes so-called neighboring nodes.
  • a node of said network receives from a first neighbor node an information packet intended for a target node of said network
  • said node executes a step of switching said information packet to a second node distinct from said first neighboring node and located on a shorter path leading to said target node, said shorter path having been transmitted by said second node to said first neighbor node at said transmitting step. Since the paths are always acyclic, such a technical approach makes it possible to switch the packets of information exchanged in the network that is loop-free at any time, even if the routing of the packets is not done according to a plus. short path (lowest weight path).
  • the invention also relates to a communication terminal intended to be used in a node of a network for routing at least one piece of information between a source node and a target node, said network comprising a plurality of nodes each connected to a node. least one neighbor node by means of a connection.
  • such a terminal for example and without limitation, a router or server equipment
  • said terminal comprises in besides means for transmitting, step by step, iteratively for each of the nodes i, i G [1..N] of said plurality of nodes, and to at least one neighboring node, at least one message enabling said auditing at least one neighbor node to build a tree, said path tree, comprising at least one path not passing through said at least one neighboring node and making it possible to reach said at least one target node, respectively.
  • the invention also relates to a communication system comprising a plurality of nodes each connected to at least one neighboring node by means of a connection link in a communication network adapted for the transport of at least one piece of information between a source node and a target node, the system being characterized in that said nodes are each equipped with a communication terminal as mentioned above.
  • the invention also relates to a computer program product downloadable from a communication network and / or stored on a computer readable and / or executable information medium by a microprocessor, characterized in that it comprises code instructions for the execution of a routing method according to the routing method according to the invention described above. It also relates to a recording medium readable by a computer on which is recorded a computer program comprising instructions for performing the steps of the routing method according to the invention.
  • FIG. 1 is a flow chart summarizing the major implementation steps of the routing method according to the invention
  • FIG. 2 serves as a basis for the description of the processing of the increase of the cost of the paths in a communication network by the routing method according to the invention
  • FIG. 3 gives an exemplary implementation of the routing method for routing information packets in the event of a drop in the connection with a node of the network of FIG. 2;
  • FIG. 4 gives an example of implementation of the information packet switching of the routing method according to the invention following the detection of a network connection anomaly with a node of the network of FIG. 2;
  • FIG. 5 presents a flow chart detailing the packet switching principle implemented in the switching step 18 according to the invention, presented in FIG.
  • the present invention therefore proposes a new distributed routing technique, based on link state broadcasting, which allows, on the one hand, to ensure the re-routing of the traffic transiting in a communication network, even in the presence of breakdowns. (drop or loss of the connection between nodes of the network, failure of a device in a node of the network, for example) likely to occur in the network and which, on the other hand is free of loops, at any time, what allows maintaining quality of service in the routing of data, essential point, especially with regard to the implementation of ToIP services, or IP TV, including te but not limited to.
  • the distribution of the calculation of the roads makes it possible to limit the necessary power at the level of each node.
  • the latter is also free of any timer or parameter, which simplifies its implementation.
  • the algorithm proposed through the method according to the invention can serve as a basis for the development of new simple protocols, making it possible to share the extended load, while ensuring the distribution of labels and the maintenance of connectivity in the network, even in the event of faults or anomalies in the network.
  • a network is likened to a set of nodes, connected by point-to-point links, with at most one link between two same nodes.
  • Each node has a unique identifier (that we note ID).
  • nodes have a mechanism to detect any changes in the operational state or characteristics of a link within a finite time period.
  • Nodes exchange ads composed of links used in their routing tables, each ad issued by a node K to its neighbor node /, noted
  • V ⁇ is a vector composed of a variable number of links Vf, ordered according to their distance to the transmitter, comprising the following information:
  • the type of message, specifying whether it is an addition, an update, a deletion or a notification of a link drop; the characteristics of the link, namely: node J for which the neighbor announces a route (ie is the head of the link); o the predecessor node P of this node J in the routing table of the issuer (ie the neighbor node of J by the link considered having initiated the diffusion of this path); o the weight of this link or the cost of the node for the neighbor.
  • each node maintains a link table, a routing table and a transmission table.
  • the links table denoted L in the rest of the description, contains the various operational links to which a node / is connected, as well as their respective costs. It also contains the neighboring nodes to which the / node is connected by means of these different links (network connection).
  • L ⁇ represents the characteristics of a link / ⁇ -> K (link between the node / and a neighboring node K) as stored in the node /.
  • T In the routing table, denoted T, is stored for each node a set of links corresponding to the different announcements received from its neighbors.
  • the node / may receive an announcement from each of its neighbors K containing a route that it stores in its routing table in the form of an entry Rf containing the following information: "the cost of the advertised route;
  • the characteristics of the link, received in V ⁇ o the considered node o the predecessor node of the considered node o the cost of the link between the considered node and its predecessor neighbor node;
  • the neighbor node from which this announcement originates ie the K node;
  • the state of this link o enabled (or “Active”); o busy (or “pending”); o invalid (or “invalid”).
  • the send table makes it possible to keep track of the announcements made to the different neighbors, which firstly makes it possible to avoid the unnecessary transmission of packets (when the entry of the routing table to be announced has not changed ) but also to ensure the switching of the packets.
  • node X the neighbor from which this announcement originates (ie node X);" a marker to force the update broadcast even if the characteristics have not changed.
  • a node adds its own entry to its routing table and sends an empty announcement to each of its neighbors.
  • the node / On receiving an announcement from a neighbor node K, the node / checks whether the entry Rf corresponding to the link L ⁇ is present in C ⁇ . If it is not the case, it adds it (the weight of this road being equal to the weight of the link). On receipt of a message V ⁇ , the node / adds or updates the links Rf entries of its routing table corresponding to different Vf.
  • the node / then updates the cost of each of the nodes of Gf.
  • the node calculates the different announcements V ⁇ that it must send to each of its neighbors K in its table of links L, by calculating for each node J impacted by the previous update which entry Rf he must send to this neighbor.
  • the node / must send to a neighbor the entry Rf having the least weight, such that K is not in the set of predecessor nodes of Rf connecting this entry to the node / (ie that the node K must not to find yourself on the connecting path
  • the different V / are then ordered according to the increasing cost of the corresponding Rf before being sent to the neighboring node K.
  • This convergence phase finally uses a mechanism similar to those of other link vector / path algorithms. It differs nevertheless in the use of the notion of path. Indeed, in the algorithms of the prior art, a node checked at the reception if an ad had made a loop, examining if the path went through. These roads did not bring any information to the receiver. By adding this additional constraint of taking into account the transmission of the paths in the communication network, thus forcing a node / to send to its neighbor node K links belonging to the tree of the shortest path of the network not passing by K, which, step by step, will cause the nodes to broadcast alternative paths.
  • the routing method according to the invention it is assumed that all the nodes are initialized simultaneously. They first emit empty advertisements to their different neighbors who can then add their different links in their routing tables. At the next iteration, the nodes can diffuse the links connecting them to their different neighbors.
  • each of the nodes of the network has a plurality of different paths allowing it to join each of the other nodes of the network, which by means of a method appropriate switching, will allow it to ensure routing to each of these nodes in case of drop of link (network connection for example) with one of its neighbors.
  • a node when a node loses connectivity with one of its neighbors, it can not detect whether it is only a link drop, or a complete fall of the node, in which case it must not to broadcast paths passing through this node to its different neighboring nodes.
  • the routing method according to the invention makes it possible to check the state of a node, while ensuring that the paths rediffused during this verification are valid.
  • a node / receives a link drop notification it puts in its routing table the node J impacted by this fall (the head of the link which has fallen) to the "pending" state, which means that the state of this neighbor node is unknown at this point. It also indicates in its routing table all the entries whose path passes through this "pending" node, thus preventing their rediffusion (for any K in 1 L, and for each node N of the network, have puts
  • a node / when a node / receives a link drop notification from a neighbor node K, it marks the entry Sf to allow confirmation of the link already issued.
  • the node J goes back to the "activated" (or “active") state in the routing table of the node / and this node informs it step by step of its other neighboring nodes which will consequently update their routing tables , respectively.
  • node J can return node J to the active state to start broadcasting again paths that pass through it (for example if it were only a link drop, or if the node is active again).
  • This transition can be done if it receives a link announcement for this node such that the neighbor K that announces this link is on the shortest path to the predecessor node P of this link (or if R p is the best entry of C P ).
  • node E When node E receives this update from node D, it also puts node A in the "pending" state in its routing table, before updating its route for node B and removing in its table of routing the routes for the nodes G, H, I, J, K, L and M passing through the node D.
  • the various nodes of the network keep permanently a route to the other nodes of the network, which ensures routing even during the convergence period.
  • each link is considered to have a weight of one.
  • the node C when it detects the failure, can send an update to the node E by telling it to use the link A ⁇ - I to join the node A (this entry is not set to the "active" state in its routing table, since the path leading to it does not go through B).
  • node C does not send a link drop notification because node D is not located on the shortest path to B.
  • the node D thus has in its routing table an invalid path leading to the node A and passing through the node B, which it can rebroadcast to the rest of the network because this path has a cost of 5, lower than that of the alternative path 2 announced by node C (cost of 6).
  • C has replaced the path 1 by the 2 (of higher cost) in his routing table, which indicates that the path 1 is no longer usable due to detected anomaly impacting network node B.
  • the cost of a route between a source node and a target node of the network increases, this indicates that the path to that target node is no longer valid.
  • a source node / receives an update of the path to a target node J of a neighbor node K involving an increase in the cost of the route Rf between the nodes J and K then it must invalidate all the entries of its routing table Rf ⁇ C 7 having a higher cost and using the same link as
  • a node / must switch the packets to J according to their input interface, according to the following rule: a packet received from a neighbor node K must be sent to the node (the interface) specified in the vector Sf, that is the node by which the node / learned the path it has rebroadcast to the neighbor node K. Since paths are always acyclic, this method ensures loop-free switching at all times, even if routing is not done in the shortest way.
  • the node F sends the packets to M according to the path No. 1.
  • node D has two routes to reach target node M (which are in the "pending" state), so it could use path # 2 (the best of these two routes) to re-route the traffic.
  • the node J when the information packets arrive at the node J, the problem is the same since the entry S M 'no longer exists, the node J must then redirect the packets on the path n ° 3, which will lead them finally to the target node M. However, if nodes are allowed to forward packets in this way, micro-loops will appear during the convergence phase. Indeed, if the path n ° 3 did not exist, the node J would in turn reroute the packets towards the node /, which would have led to the formation of a loop.
  • FIG. 1 summarizes the major implementation steps of the routing method according to the invention, namely: a step 10 of supervising a state of the connection of each node of said network with each of its neighboring nodes, respectively;
  • a verification step 11 to determine whether said anomaly is related to a malfunction of said neighbor node and / or a malfunction of the network link between said node and said neighbor node;
  • an iterative step 12 for each of the nodes i, i G [1..N]) of said plurality of nodes, of transmission, step by step, to at least one neighboring node, of at least one message allowing said least one neighbor node to construct as iterations of said iterative step 12, a path tree comprising a plurality of paths not passing through said at least one neighboring node and making it possible to reach said at least one node target, respectively
  • the routing method according to the invention further comprises:
  • step 17 of update by said source node of a transmission table containing a set of paths of the lowest weight transmitted by said source node to each of said neighboring nodes; a step 18 of switching said packet of information to a second node distinct from said first neighbor node and located on a shorter path leading to said target node, said shorter path having been transmitted by said second node to said first neighbor node at said transmitting step 12.
  • the distributed routing method according to the invention based on the link state broadcast, makes it possible to ensure a re-routing of the traffic (information packets, for example), even in the face of the occurrence faults or failures that can occur in the network, while being free of loops at any time, which allows to maintain a continuity in the services based on the communication network and to offer a constant quality of service to the users , which is essential for certain services, for example and in a non-limiting manner of the ToIP or IPTV type.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

The invention relates to a method for routing at least one piece of information between a source node and a target node in a network including a plurality of N nodes each connected to at least one neighbouring node by a link representative of a connection. According to the invention, the method comprises the step (10) of supervising the state of the connection of each node in said network with each of its neighbouring nodes, respectively, said method further comprising an iterative step for each of the nodes i (i ? [1..N]) of said plurality of nodes, for the sequential transmission to at least one neighbouring node of at least one message enabling said at least one neighbouring node to progressively build after iterations of said iterative step (12) a so-called path tree that comprises at least one path that does not run through said at least one neighbouring node and that can lead to the at least one target node, respectively.

Description

Procédé de routage distribué de données dans un réseau, tolérant aux pannes Distributed data routing method in a network, fault tolerant
La présente invention concerne le domaine des réseaux de télécommunications . Plus précisément, l'invention concerne un procédé et un système de routage distribué destinés à re-router rapidement un trafic (flux de données, paquets d'information, par exemple) en cours de transit dans un réseau de télécommunications se présentant sous la forme d'une pluralité de nœuds interconnectés, en cas de panne dans le réseau. L'invention peut notamment être mise en œuvre dans des applications d'acheminement et de re -routage de données dans des réseaux du type à commutation de paquets.The present invention relates to the field of telecommunications networks. More specifically, the invention relates to a distributed routing method and system for rapidly re-routing traffic (for example, data streams, information packets) during transit in a telecommunications network in the form of a plurality of interconnected nodes, in case of failure in the network. The invention can in particular be implemented in applications for routing and re-routing of data in networks of the packet-switched type.
De nombreux protocoles de routage s'appuient sur des algorithmes de routage définis pour favoriser l'acheminement des données dans des réseaux à commutation de paquets.Many routing protocols rely on defined routing algorithms to facilitate routing of data in packet-switched networks.
De façon générale, de tels algorithmes de routage visent à répondre à une même problématique : dans un graphe composé de nœuds reliés par des arrêtes, chaque arrête (et non nœud) ayant un certain coût (ou poids), il s'agit de déterminer un chemin minimisant le coût total des arrêtes traversées. Ce coût peut dépendre de différents paramètres, tels la bande passante, la fiabilité, le délai, etc., ou plus généralement d'une combinaison de ces différents paramètres.In general, such routing algorithms are designed to answer the same problem: in a graph composed of nodes connected by edges, each stop (and not node) having a certain cost (or weight), it is necessary to determine a path minimizing the total cost of stops crossed. This cost may depend on various parameters, such as bandwidth, reliability, delay, etc., or more generally a combination of these different parameters.
Rapporté au niveau d'un nœud, il s'agit de savoir à quel voisin il devra envoyer des données à destination d'un autre nœud afin de minimiser le coût de la traversée du réseau, pour acheminer des données depuis un nœud source à destination d'un nœud cible dans le réseau.Reported at the node level, this is to know which neighbor to send data to another node to minimize the cost of traversing the network, to route data from a source node to destination a target node in the network.
Dans les réseaux du type IP (pour "Internet Protocol" en anglais, ouIn networks of the IP type (for "Internet Protocol" in English, or
"protocole Internet" en français), on utilise principalement les protocoles RIP (pour"Internet Protocol" in French), RIP protocols are mainly used (for
"Routing Information Protocol" en anglais, ou "protocole de routage d'information" en français), OSPF (pour "Open Shortest Path First" en anglais), ISIS (pour "Routing Information Protocol in English, OSPF (for Open Shortest Path First), ISIS (for
Intermediate System to Intermediate System" en anglais), BGP (pour " Border Gateway Protocol" en anglais ou ") et EIGRP (pour "Enhanced Interior Gateway Protocol" en anglais).Intermediate System to Intermediate System "in English), BGP (for" Border Gateway Protocol "in English or") and EIGRP (for "Enhanced Interior Gateway Protocol").
Ces différents protocoles peuvent êtres regroupés dans deux grandes familles : les protocoles à état de liens (OSPF & ISIS) et les protocoles à calcul distribué (RIP, BGP, STP, EIGRP).These different protocols can be grouped into two major families: link state protocols (OSPF & ISIS) and distributed computing protocols (RIP, BGP, STP, EIGRP).
Les protocoles à état de liens utilisent une technique de diffusion permettant aux différents nœuds d'acquérir une vision complète de la topologie d'un réseau et, ainsi, d'exécuter l'algorithme des plus courts chemins de Djikstra, plus connu sous le nom d'algorithme SPF, pour "Short Path First" en anglais. Cet algorithme permet à chaque nœud constitutif d'une architecture réseau de pouvoir déterminer quelle route il doit choisir pour joindre les autres nœuds du réseau. De tels protocoles à états de liens assurent une convergence rapide, généralement de l'ordre de quelques secondes. Ils sont déployés dans la plupart des réseaux de télécommunications des opérateurs. Cependant, un inconvénient de cette catégorie de protocoles repose sur le fait qu'ils ne permettent pas toujours d'assurer l'acheminement des paquets d'information durant les périodes de convergence.Link state protocols use a broadcast technique that allows different nodes to gain a complete view of the topology of a network and thus run the shortest path algorithm of Djikstra, better known as SPF algorithm, for "Short Path First" in English. This algorithm allows each constituent node of a network architecture to be able to determine which route it must choose to join the other nodes of the network. Such link state protocols provide fast convergence, typically of the order of a few seconds. They are deployed in most operators' telecommunications networks. However, a disadvantage of this category of protocols lies in the fact that they do not always make it possible to ensure the routing of the information packets during the periods of convergence.
De plus, un deuxième inconvénient des protocoles de routage à états de liens provient du fait que la diffusion d'information relative aux changements de topologie de réseau étant indépendante du calcul des routes qu'un paquet d'information pourra emprunter entre un nœud source et un nœud cible, des micro-boucles peuvent se former pendant ces phases de diffusion d'information, ce qui implique en conséquence une dégradation du service, dégradation qui peut recouvrir la forme d'interruption de l'acheminement des données dans le réseau sur certaines périodes de temps. Or, si de tels délais d'interruption restaient tolérables dans le cadre d'une utilisation dite "best effort" des réseaux de type IP, ils ne le sont plus dans le cadre de la mise en œuvre de services du type téléphonie IP (ou ToIP, pour "Telephony over IP" en anglais) ou encore du type télévision sur IP (ou IPTV, pour "Internet Protocol Télévision" en anglais), dans lesquels la continuité du service rendu aux utilisateurs doit être garanti.In addition, a second disadvantage of the link state routing protocols arises from the fact that the information dissemination relating to changes in network topology is independent of the calculation of the routes that an information packet can take between a source node and a network. a target node, micro-loops can be formed during these information dissemination phases, which consequently implies a degradation of the service, which degradation can cover the form of interruption of the routing of the data in the network on certain periods of time. However, if such interruption times remained tolerable in the so-called "best effort" use of IP-type networks, they are no longer possible in the context of the implementation of services of the IP telephony type (or ToIP, for "Telephony over IP" in English) or the type of television over IP (or IPTV, for "Internet Protocol Television" in English), in which the continuity of the service provided to users must be guaranteed.
Pour tenter de palier les inconvénients précités, le protocole MPLS (pour "Multi Protocol Label Switching" en anglais) a introduit la notion de chemin dans les réseaux IP, de façon à permettre d'acheminer des paquets sur des chemins alternatifs dans des situations de changement de topologie du réseau de communication en cours d'utilisation de celui-ci.In an attempt to overcome the aforementioned drawbacks, the MPLS protocol (for "Multi Protocol Label Switching" in English) has introduced the notion of a path in IP networks, so as to allow routing packets on alternative paths in situations of topology change of the communication network in use thereof.
Cependant, un inconvénient d'une telle solution technique est lié à sa complexité de mise en œuvre. Elle s'avère donc mal adaptée pour des réseaux de collecte, dans lesquels le nombre des équipements matériels à gérer est généralement important, comme ceux visés par la présente invention.However, a disadvantage of such a technical solution is related to its complexity of implementation. It is therefore poorly suited for collection networks, in which the number of hardware devices to be managed is generally important, such as those covered by the present invention.
Pour ce qui concerne les protocoles de routage à calcul distribué, les routeurs ne possèdent pas de vision globale du réseau. Ils se contentent d'annoncer à leurs voisins des informations relatives au meilleur chemin connu pour atteindre chaque destination dans un réseau de communication considéré, ce qui permet de proche en proche à chaque routeur constitutif de la topologie du réseau de communication, d'obtenir une connaissance de la meilleure route (ou chemin) permettant d'atteindre chaque destination à l'intérieur du réseau. Dans l'algorithme de l'art antérieur de Bellmann-Ford, dont est issu le protocoleFor distributed computing routing protocols, routers do not have a global view of the network. They are content to announce to their neighbors information on the best known path to reach each destination in a given communication network, which allows each router constituting the topology of the communication network to get closer to each other. knowledge of the best route (or path) to reach each destination within the network. In the algorithm of the prior art of Bellmann-Ford, from which the protocol
RIP, les routeurs s'échangent des vecteurs indiquant le coût de chaque destination dans le réseau. On parle alors de protocole de routage à vecteurs de distance.RIPs, routers exchange vectors indicating the cost of each destination in the network. This is called a routing protocol with distance vectors.
Un inconvénient de tels protocoles est qu'ils souffrent cependant d'un problème de comptage à l'infini en raison de leur diffusion en boucle de routes (ou chemins) invalides qui pénalise sensiblement leur capacité à converger en cas de panne dans le réseau.A disadvantage of such protocols is that they nevertheless suffer from an infinite counting problem because of their looping distribution of invalid routes (or paths) which substantially penalizes their ability to converge in the event of a failure in the network.
Pour palier ce dernier inconvénient, certaines approches connues sous le nom d'algorithme à vecteur de chemins et dont est issu le protocole BGP, ont consisté à indiquer les routes permettant uniquement d'atteindre chaque destination dans un réseau considéré. Celles-ci permettent notamment d'invalider toutes les routes qui seraient détectée comme étant en boucle.To overcome this last disadvantage, some approaches known as the path vector algorithm and from which the BGP protocol originated, consisted in indicating the routes only possible to reach each destination in a given network. These notably make it possible to invalidate all the routes that would be detected as being in a loop.
Plus précisément, de tels protocoles à vecteurs de chemins reposent sur l'approche consistant, plutôt que d'associer à chaque route l'intégralité d'un lien réseauSpecifically, such path vector protocols rely on the consistent approach, rather than associating with each route the entire network link
(connexion entre deux nœuds d'un réseau) traversé, à associer à chaque nœud situé sur la route empruntée, les caractéristiques concernant le dernier lien utilisé pour joindre ledit nœud. Ainsi, une fois mis bout à bout, l'ensemble des différents liens permettent de déterminer la distance de la route qu'un paquet d'information aura à parcourir sur le réseau entre un nœud source et un nœud cible du réseau.(connection between two nodes of a network) traversed, to associate with each node located on the road taken, the characteristics of the last link used to join said node. Thus, once put end to end, the set of different links to determine the distance of the route that a packet of information will have to travel on the network between a source node and a target node of the network.
Cependant, si de tels algorithmes de routage à vecteurs de chemins ou de liens offrent des temps convergence sensiblement équivalents à ceux des algorithmes à états de liens, tout en offrant une complexité réduite de mise en œuvre et en assurant un routage sans boucle à tout instant, il ne permettent pas le réacheminement des paquets d'information durant leurs phases de convergence en cas de panne sur le réseau, ce qui constitue un inconvénient important pour ce qui concerne la mise en œuvre de services de type ToIP ou IPTV, tels que précités.However, if such path vector or link routing algorithms provide convergence times substantially equivalent to those of the link state algorithms, while providing reduced implementation complexity and loopless routing at all times , they do not allow the re-routing of information packets during their convergence phases in the event of a network failure, which is a significant drawback with regard to the implementation of services of the ToIP or IPTV type, as mentioned above .
La présente invention offre une solution qui ne présente pas les inconvénients mentionnés ci-avantThe present invention provides a solution that does not have the drawbacks mentioned above
L'invention vise à résoudre les inconvénients précités en proposant un procédé de routage distribué, tirant parti de la simplicité de mise en œuvre des protocoles à vecteurs de liens, mais aussi, qui soit adapté pour assurer le re-routage des paquets d'information dans une architecture de réseau, y compris en cas de panne dans ce dernier.The invention aims to solve the aforementioned drawbacks by proposing a distributed routing method, taking advantage of the simplicity of implementation of the link vector protocols, but also, which is adapted to ensure the re-routing of the information packets. in a network architecture, including in case of failure in the latter.
Il s'agit notamment au moyen de la présente invention de pouvoir contrôler et assurer la continuité de service, notamment pour des services du type ToIP ou IPTV, et donc de proposer un nouveau protocole de routage réseau qui soit tolérant aux pannes. A cet effet, l'invention concerne un procédé de routage d'au moins une information entre un nœud source et au moins un nœud cible dans un réseau comprenant une pluralité de N nœuds reliés chacun à au moins un nœud voisin au moyen d'un lien représentatif d'une connexion. Selon l'invention, ledit procédé comprenant une étape de supervision d'un état de la connexion de chaque nœud dudit réseau avec chacun de ses nœuds voisins, respectivement, il comprend en outre avantageusement une étape itérative, pour chacun des nœuds i, i G [1..N]) de ladite pluralité de nœuds, de transmission de proche en proche, à au moins un nœud voisin, d'au moins un message permettant audit au moins un nœud voisin de construire au fur et à mesure des itérations de ladite étape itérative, un arbre, dit arbre de chemins, comprenant au moins un chemin ne passant pas par ledit au moins un nœud voisin et permettant d'atteindre ledit au moins au moins un nœud cible, respectivement.It is particularly by means of the present invention to be able to control and ensure continuity of service, especially for services of the ToIP or IPTV type, and therefore to propose a new network routing protocol that is fault-tolerant. For this purpose, the invention relates to a method of routing at least one piece of information between a source node and at least one target node in a network comprising a plurality of N nodes each connected to at least one neighboring node by means of a node. representative link of a connection. According to the invention, said method comprising a step of supervising a state of the connection of each node of said network with each of its neighboring nodes, respectively, it also advantageously comprises an iterative step, for each of the nodes i, i G [1..N]) of said plurality of nodes, of transmission step by step, at least one neighboring node, of at least one message enabling said at least one neighboring node to build as iterations of said iterative step, a tree, said path tree, comprising at least one passing path not by said at least one neighboring node and making it possible to reach said at least one target node, respectively.
Par arbre de chemins on entend ici tout graphe acyclique connexePath tree means here any related acyclic graph
Ainsi, la spécificité du procédé de routage selon l'invention réside tout d'abord dans sa capacité à permettre la détection des chutes de connexion réseau entre des nœuds constitutifs d'une architecture réseau, l'étape de supervision permettant de détecter toute anomalie concernant une connexion réseau entre deux nœuds constitutif de ce dernier, par exemple une chute de la connexion réseau, ou bien encore une panne d'un dispositif matériel formant un nœud du réseau (un routeur ou un serveur, par exemple).Thus, the specificity of the routing method according to the invention resides first and foremost in its ability to allow the detection of network connection drops between constituent nodes of a network architecture, the supervision step making it possible to detect any anomaly concerning a network connection between two nodes constituting the latter, for example a fall of the network connection, or even a failure of a hardware device forming a node of the network (a router or a server, for example).
Ceci est particulièrement intéressant en ce qu'une telle détection autorisée par la mise en œuvre d'une supervision de l'état des connexions réseaux de chaque nœud d'une architecture réseau avec chacun de ses voisins, permet d'anticiper le re-routage des données ou des paquets d'information sur une autre route (ou chemin) que celle impactée par la chute d'une connexion réseau. Une telle possibilité d'anticipation rend le procédé de routage selon l'invention tolérant aux pannes et lui confère une capacité à assurer et à garantir la continuité du service rendu aux usagers, même en situation de panne de certaines connexions et/ou équipements réseau (temporaires ou définitives) constitutives (fs) d'une architecture réseau donnée. Un autre avantage du procédé selon l'invention réside aussi dans la sélection des chemins (un chemin étant constitué d'une succession de liens réseau permettant d'assurer la connexion entre deux nœuds) transmis par un nœud à ses différents voisins.This is particularly interesting in that such a detection authorized by the implementation of a supervision of the state of the network connections of each node of a network architecture with each of its neighbors, makes it possible to anticipate the re-routing data or packets of information on another route (or path) than that impacted by the fall of a network connection. Such an anticipation possibility renders the routing method according to the invention fault-tolerant and confers on it an ability to ensure and guarantee the continuity of the service provided to the users, even in the event of breakdown of certain connections and / or network equipment ( temporary or definitive) constitutive (fs) of a given network architecture. Another advantage of the method according to the invention also lies in the selection of paths (a path consisting of a succession of network links to ensure the connection between two nodes) transmitted by a node to its different neighbors.
En effet, un nœud utilise avantageusement les annonces ou messages reçus de chacun de ses nœuds voisins, respectivement, pour construire, respectivement pour chacun de ses dits nœuds voisins, un arbre de chemins comprenant un nombre prédéterminé de chemins ne passant pas par ledit au moins un nœud voisin et permettant d'atteindre ledit au moins au moins un nœud cible.Indeed, a node advantageously uses the advertisements or messages received from each of its neighboring nodes, respectively, to construct, respectively for each of said neighboring nodes, a tree of paths comprising a predetermined number of paths not passing through said at least one a neighboring node and to reach said at least one target node.
Aussi, chaque nœud du réseau maintient ainsi dans une table de routage qui lui est propre autant d'arbres de chemins qu'il a de nœuds voisins, ce qui lui permet avantageusement de disposer de plusieurs routes pour atteindre une même destination, et ainsi de pouvoir disposer d'au moins un chemin alternatif valide en cas de panne dans le réseau (chute d'une connexion, panne temporaire ou définitive d'un équipement matériel, par exemple).Also, each node of the network thus maintains in a routing table of its own as many path trees as it has neighboring nodes, which advantageously allows it to have several routes to reach the same destination, and so to have at least one valid alternative path in case of failure in the network (drop of a connection, temporary or permanent failure of a hardware device, for example).
Dans un mode de réalisation préféré de l'invention, une relation d'ordre étant définie relativement aux différents chemins contenus dans ledit arbre de chemins, ledit message transmis contient au moins une information représentative d'un plus court chemin permettant d'atteindre ledit au moins un nœud cible, depuis ledit nœud source.In a preferred embodiment of the invention, a command relationship being defined relative to the different paths contained in said path tree, said transmitted message contains at least one information representative of a shorter path to reach said path. least one target node, from said source node.
Par relation d'ordre, on entend toute information relative à une métrique prédéterminée et permettant d'évaluer et/ou de déterminer qu'un chemin sera meilleur qu'un autre chemin. Une telle information pourra avantageusement correspondre, à tire d'exemple illustratif et non limitatif, à un numéro d'ordre d'un routeur, ou bien encore au coût d'un lien réseau entre deux nœuds d'un réseau, un tel coût pouvant par exemple dépendre d'un niveau de bande passante, de la gigue et/ou d'un pourcentage de perte de paquets d'information sur un tel lien. De plus, l'information représentative d'un plus court chemin permet avantageusement de réaliser une discrimination pertinente dans le choix d'un chemin alternatif à utiliser de manière préférentielle lorsqu'une anomalie est détectée dans le réseau, ce qu'il n'était jusqu'alors pas possible d'obtenir avec les solutions de l'art antérieur. Préférentiellement, chacun desdits nœuds de ladite pluralité de nœuds contient, pour chacun de ses dits nœuds voisins au moins un arbre de chemins se présentant sous la forme d'une table de routage apte à aiguiller au moins un message reçu par ledit nœud sur un chemin permettant d'atteindre ledit nœud cible depuis ledit nœud sourceBy order relation, is meant any information relating to a predetermined metric and for evaluating and / or determining that one path will be better than another path. Such information may advantageously correspond, by way of illustrative and nonlimiting example, to a serial number of a router, or even the cost of a network link between two nodes of a network, such a cost being able to for example depending on a bandwidth level, jitter and / or a percentage of loss of information packets on such a link. Moreover, the information representative of a shorter path advantageously makes it possible to discriminate relevantly in the choice of an alternative path to be used preferentially when an anomaly is detected in the network, which was not possible. until now not possible to obtain with the solutions of the prior art. Preferably, each of said nodes of said plurality of nodes contains, for each of said neighboring nodes, at least one path tree in the form of a routing table able to direct at least one message received by said node on a path to reach said target node from said source node
Ainsi, chaque nœud du réseau, une fois sa table de routage renseignée, peut ensuite rediffuser à chacun de ses voisins la meilleure route ne passant pas par ce voisin, ce qui permet avantageusement d'éviter toute transmission d'information inutile entre des nœuds voisins dans le réseau, mais surtout, de conduire à la diffusion de chemins alternatifs susceptibles d'être utilisés en cas de rupture d'une connexion réseau entre des nœuds du réseau. Une telle approche technique selon l'invention permet alors d'éviter toute situation de bouclage ou de phénomène de rebond comme dans les solutions connues de l'art antérieur. Dans un mode de réalisation particulier de l'invention, ladite étape de supervision est exécutée par un dispositif de supervision de la connexité de chaque nœud de ladite pluralité de nœuds du réseau avec chacun de ses dits nœuds voisins, respectivement. Un tel dispositif de supervision sera également connecté au réseau et disposera d'une capacité à détecter toute anomalie de l'état de la connexion réseau entre les nœuds constitutifs de ce dernier, ou encore toute anomalie de fonctionnement d'un équipement formant un nœud constitutif d'un tel réseau.Thus, each node of the network, once its routing table filled, can then rebroadcast to each of its neighbors the best route not passing through this neighbor, which advantageously avoids unnecessary information transmission between neighboring nodes in the network, but above all, lead to the dissemination of alternative paths that may be used in the event of a network connection being broken between nodes of the network. Such a technical approach according to the invention then makes it possible to avoid any loopback situation or rebound phenomenon as in the known solutions of the prior art. In a particular embodiment of the invention, said supervision step is performed by a device for supervising the connectivity of each node of said plurality of nodes of the network with each of said neighboring nodes, respectively. Such a supervision device will also be connected to the network and will have an ability to detect any anomaly in the state of the network connection between the constituent nodes of the latter, or any operating anomaly of a device forming a constituent node. of such a network.
Un avantage d'un tel mode de réalisation particulier de l'invention réside en particulier dans la possibilité de faire profiter du procédé de routage selon l'invention à des architectures réseau déjà existantes et qui seraient dépourvues d'un quelconque mécanisme de tolérance aux pannes.An advantage of such a particular embodiment of the invention resides in particular in the possibility of making the routing method according to the invention benefit from already existing network architectures which would be devoid of any fault tolerance mechanism. .
Dans un mode de réalisation préféré de l'invention, ladite étape de supervision est exécutée par chaque nœud de ladite pluralité de nœuds. Un premier avantage de la mise en œuvre de ladite étape de supervision par chaque nœud du réseau réside dans la capacité de chaque nœud à pouvoir détecter directement et d'une manière optimale, notamment pour ce qui concerne le délai de détection, toute anomalie susceptible de concerner ses propres connexions réseau avec chacun de ses nœuds voisins. Consécutivement à ce premier avantage, chaque nœud ayant détecté une anomalie de l'état de la connexion avec l'un au moins de ses nœuds voisins pourra avantageusement anticiper le re-routage des données ou des paquets d'information sur une autre route que celle impactée par la chute de la connexion réseau en informant préalablement à ce re-routage, chacun de ses nœuds voisjs de ladite anomalie détectée, ces derniers pouvant alors tenir compte de cette dernière en mettant à jour en conséquence leurs tables de routages respectives. Une telle démarche favorisera d'autant plus la tolérance aux pannes et permettra d'assurer et de garantir la continuité du service.In a preferred embodiment of the invention, said supervision step is performed by each node of said plurality of nodes. A first advantage of the implementation of said supervision step by each node of the network resides in the ability of each node to be able to detect directly and in an optimal manner, in particular with regard to the detection delay, any anomaly likely to concern its own network connections with each of its neighbor nodes. As a result of this first advantage, each node that has detected an anomaly of the state of the connection with at least one of its neighboring nodes can advantageously anticipate the re-routing of data or information packets on a route other than that impacted by the fall of the network connection by informing prior to this re-routing, each of its nodes see said anomaly detected, the latter can then take into account the latter by updating accordingly their respective routing tables. Such an approach will further promote fault tolerance and will ensure and ensure continuity of service.
De façon avantageuse, lorsqu'au moins un nœud de ladite pluralité de nœuds détecte à ladite étape de supervision une anomalie d'un état de la connexion réseau avec un de ses voisins, on exécute une étape de vérification pour déterminer si ladite anomalie est liée à un défaut de fonctionnement dudit nœud voisin et/ou à un défaut de fonctionnement du lien réseau entre ledit nœud et ledit nœud voisin.Advantageously, when at least one node of said plurality of nodes detects in said supervision step an anomaly of a state of the network connection with one of its neighbors, a verification step is performed to determine if said anomaly is related to a malfunction of said neighbor node and / or a malfunction of the network link between said node and said neighbor node.
Une telle vérification s'avère intéressante en ce sens qu'elle permet de distinguer dans un premier temps entre des pannes intempestives et des pannes définitives pouvant survenir sur le réseau et, en conséquences de décider de remonter une information pertinente aux autres nœuds du réseau en tenant compte du type de la panne survenue et détectée par un nœud du réseau.Such a verification proves to be interesting in the sense that it makes it possible to distinguish initially between untimely failures and definitive failures that may occur on the network and, consequently, to decide to trace relevant information to the other nodes of the network in question. taking into account the type of failure that has occurred and is detected by a network node.
Ainsi, à titre d'exemple illustratif et non limitatif de ce qui précède, si un nœud détecte une anomalie relative à sa connexion réseau avec un premier nœud voisin, celui-ci va vérifier à ladite étape de vérification si cette anomalie correspond à une panne matérielle dudit nœud voisin, ou si celle-ci correspond à une panne temporaire du lien de connexion avec le nœud.Thus, by way of illustrative and nonlimiting example of the foregoing, if a node detects an anomaly relating to its network connection with a first neighbor node, it will check at said verification step if this anomaly corresponds to a failure hardware of said neighbor node, or if it corresponds to a temporary breakdown of the connection link with the node.
Dans l'hypothèse où il ne s'agit pas d'une panne matérielle du nœud voisin, mais d'une anomalie de connexité avec ce dernier, alors aucune information ne sera envoyée de proche en proche par le nœud aux autres nœuds du réseau qui aurait un lien avec le premier nœud impliqué dans ladite anomalie, ces autres nœuds pouvant a priori continuer à échanger de l'information avec ce premier nœud voisin commun.Assuming that it is not a hardware failure of the neighboring node, but an anomaly of connectivity with the latter, then no information will be sent step by step by the node to the other nodes of the network which would have a link with the first node involved in said anomaly, these other nodes can a priori continue to exchange information with this first common neighbor node.
Dans l'hypothèse contraire, une information serait remontée de proche en proche par le nœud à l'origine de la détection de ladite anomalie vers les autres nœuds du réseau ayant également pour nœud voisin ce même premier nœud voisin, de façon que ces derniers puissent mettre à jour leurs tables de routage respectives, de façon à interdire toute rediffusion ultérieure de paquets d'information sur des chemins qui passeraient par ce premier nœud voisin.In the opposite hypothesis, information would be sent back step by step by the node at the origin of the detection of said anomaly towards the other nodes of the network also having as neighboring node this same first neighboring node, so that these latter can update their respective routing tables, so as to prohibit any subsequent rebroadcasting of information packets on paths that would pass through this first neighbor node.
De façon préférentielle, si à ladite étape de vérification il est déterminé que ladite anomalie concerne un défaut de fonctionnement dudit nœud voisin, alors, on exécute les étapes suivantes :Preferably, if at said verification step it is determined that said anomaly concerns a malfunction of said neighbor node, then, the following steps are performed:
" identification et retrait dans la table de routage associée audit nœud de tous les chemins passant par ledit nœud voisin impacté par ladite anomalie et ne pouvant plus être utilisés pour transmettre ladite au moins une information à destination dudit au moins un nœud cible ; " transmission par ledit nœud à l'un au moins de ses autres nœuds voisins distincts dudit nœud voisin impacté par ladite anomalie d'au moins un message de notification de ladite anomalie ;"identification and removal in the routing table associated with said node of all the paths passing through said neighbor node impacted by said anomaly and no longer being able to be used to transmit said at least one information item to said at least one target node; "transmission by said node to at least one of its other neighboring nodes distinct from said neighbor node impacted by said anomaly of at least one notification message of said anomaly;
" mise à jour par lesdits autres nœuds voisins de leurs tables de routage respectives, pour y indiquer les chemins impactés par ladite anomalie et ne pouvant plus être rediffusés aux autres nœuds de ladite pluralité de nœuds ; " rediffusion dudit au moins un message de notification de ladite anomalie, de proche en proche par chacun desdits autres nœuds voisins, à l'un au moins de leurs nœuds voisins respectifs et distinct dudit nœud impacté par ladite anomalie ; lesdites étapes de mise à jour et de rediffusion étant itérées jusqu'à ce que toutes les tables de routage de chacun des nœuds de ladite pluralité de nœuds soient mises à jour.said neighbor nodes update their respective routing tables, to indicate the paths impacted by said anomaly and not being able to be rebroadcast to the other nodes of said plurality of nodes; "rebroadcasting said at least one notification message from said plurality of nodes; said anomaly, step by step by each of said other neighboring nodes, to at least one of their respective neighboring nodes and distinct from said node impacted by said anomaly; said updating and redistributing steps being iterated until all the routing tables of each of the nodes of said plurality of nodes are updated.
Ainsi, à ladite étape de mise à jour, on retire (par exemple par troncature) de la table de routage toute la partie de l'arbre qui part du nœud concerné par ladite anomalie et sur les autres arbres, on s'assure de ne pas rediffuser des liens qui ne seraient plus valides.Thus, in said updating step, the whole of the part of the tree starting from the node concerned by said anomaly is removed (for example by truncation) from the routing table and on the other trees, it is ensured that not repost links that are no longer valid.
Un avantage technique d'une telle approche réside dans le fait que les chemins alternatifs diffusés de proche en proche auprès des différents nœuds d'un réseau vont permettre de traiter spécifiquement les chutes de connexion réseau pouvant survenir entre des nœuds du réseau, ce qui permet de rendre le routage réseau selon l'invention tolérant aux pannes, ce qui constitue une condition essentielle, notamment pour ce qui concerne la garantie d'acheminement des données/ paquets d'information, par exemple et de façon non limitative, dans des services de ToIP ou de télévision sur IP (IPTV).A technical advantage of such an approach lies in the fact that the alternative paths broadcast step by step to the different nodes of a network will make it possible specifically to deal with the network connection drops that may occur between nodes of the network, which allows to make the network routing according to the invention fault-tolerant, which is an essential condition, particularly with regard to the guarantee of routing data / information packets, for example and without limitation, in services of ToIP or IPTV (IPTV).
Ainsi, lorsqu'un nœud détecte une chute de la connexion réseau, voir plus généralement une anomalie dans la communication réseau, avec un de ses nœuds voisins, il n'est pas capable de déterminer l'origine de cette anomalie, à savoir par exemple distinguer entre la chute de la connexion réseau ou une panne de l'équipement réseau (un routeur ou un terminal de communication équipant le nœud voisin).Thus, when a node detects a fall of the network connection, see more generally an anomaly in the network communication, with one of its neighboring nodes, it is not able to determine the origin of this anomaly, namely for example distinguish between the fall of the network connection or a failure of the network equipment (a router or a communication terminal equipping the neighboring node).
Le nœud ayant détecté l'anomalie va alors indiquer dans sa table de routage quel est le nœud voisin impacté par l'anomalie détectée, ainsi que toutes les routes de sa table de routage passant par ce nœud voisin, de façon lui éviter de redistribuer à ses autres voisins, toute route passant par le nœud voisin impacté par l'anomalie. Le nœud ayant détecté l'anomalie va ensuite propager vers ces autres voisins un message de notification de ladite anomalie, lesquels mettront alors à jour leur propre table de routage en tenant compte de cette dernière, avant de rediffuser de proche en proche ce message de notification vers leurs propres nœuds voisins, de façon qu'en fin de processus, tous les nœuds du réseau aient modifiés leur propre vue de la topologie du réseau en tenant compte de la chute de la connexion réseau détecté, jusqu'à ce que les liens et/ou le nœud impacté par la chute de connexion réseau ait disparu de l'ensemble des tables de routage de tous les nœuds constitutifs de l'architecture réseau considérée (ou éventuellement qu'un nœud informe les autres nœuds que le nœud initialement détecté comme impacté par ladite anomalie est redevenu opérationnel).The node having detected the anomaly will then indicate in its routing table which is the neighboring node impacted by the anomaly detected, as well as all the routes of its routing table passing through this neighboring node, so as to avoid redistributing it to its other neighbors, any road passing through the neighboring knot impacted by the anomaly. The node having detected the anomaly will then propagate to these other neighbors a notification message of the anomaly, which will then update their own routing table taking account of the latter, before rebroadcasting this notification message step by step. to their own neighboring nodes, so that at the end of the process, all the nodes of the network have modified their own view of the network topology taking into account the fall of the detected network connection, until the links and / or the node impacted by the network connection drop has disappeared from the set of routing tables of all the nodes constituting the network architecture considered (or possibly that a node informs the other nodes that the node initially detected as impacted by this anomaly has become operational again).
Dans un mode de réalisation préféré de l'invention, ledit procédé comprend une étape de mise à jour par ledit nœud source d'une table d'émission contenant un ensemble de chemins de poids les plus faibles transmis par ledit nœud source à chacun de ses dits nœuds voisins. Une telle table permet de garder une trace des annonces émises aux différents nœuds voisins, ce qui permet tout d'abord d'éviter l'émission inutile de paquets (lorsque l'entrée de la table de routage à annoncer n'a pas changé) mais également d'assurer la commutation des paquets.In a preferred embodiment of the invention, said method comprises a step of updating by said source node of a transmission table containing a set of weakest weight paths transmitted by said source node to each of its nodes. so-called neighboring nodes. Such a table makes it possible to keep track of the advertisements issued to the different neighboring nodes, which firstly makes it possible to avoid the unnecessary transmission of packets (when the entry of the routing table to be announced has not changed) but also to ensure the switching of the packets.
Avantageusement, lorsqu'un nœud dudit réseau reçoit d'un premier nœud voisin un paquet d'information destiné à un nœud cible dudit réseau, ledit nœud exécute une étape de commutation dudit paquet d'information vers un deuxième nœud distinct dudit premier nœud voisin et situé sur un plus court chemin conduisant audit nœud cible, ledit plus court chemin ayant été transmis par ledit deuxième nœud audit premier nœud voisin à ladite étape de transmission. Du fait que les chemins sont toujours acycliques, une telle approche technique permet d'assurer une commutation des paquets d'information échangés dans le réseau qui soit exempte de boucle à tout instant, même si le routage des paquets ne se fait pas selon un plus court chemin (chemin de poids le plus faible). Cela permet ainsi d'assurer une continuité et une constance de la qualité de service dans l'acheminement des données, même pour un routage d'information dans des réseaux à qualité de service variable. L'invention concerne aussi un terminal de communication destiné à être utilisé dans un nœud d'un réseau pour l'acheminement d'au moins une information entre un nœud source et un nœud cible, ledit réseau comprenant une pluralité de nœuds reliés chacun à au moins un nœud voisin au moyen d'une connexion. Avantageusement, un tel terminal (par exemple et de façon non limitative, un équipement routeur ou serveur) comprenant des moyens de supervision d'un état de la connexion de chaque nœud dudit réseau avec chacun de ses nœuds voisins, respectivement, ledit terminal comprend en outre des moyens pour transmettre de proche en proche, de façon itérative pour chacun des nœuds i, i G [1..N] de ladite pluralité de nœuds, et à destination d'au moins un nœud voisin, au moins un message permettant audit au moins un nœud voisin de construire un arbre, dit arbre de chemins, comprenant au moins un chemin ne passant pas par ledit au moins un nœud voisin et permettant d'atteindre ledit au moins au moins un nœud cible, respectivement.Advantageously, when a node of said network receives from a first neighbor node an information packet intended for a target node of said network, said node executes a step of switching said information packet to a second node distinct from said first neighboring node and located on a shorter path leading to said target node, said shorter path having been transmitted by said second node to said first neighbor node at said transmitting step. Since the paths are always acyclic, such a technical approach makes it possible to switch the packets of information exchanged in the network that is loop-free at any time, even if the routing of the packets is not done according to a plus. short path (lowest weight path). This makes it possible to ensure continuity and consistency of quality of service in the routing of data, even for routing information in networks with variable quality of service. The invention also relates to a communication terminal intended to be used in a node of a network for routing at least one piece of information between a source node and a target node, said network comprising a plurality of nodes each connected to a node. least one neighbor node by means of a connection. Advantageously, such a terminal (for example and without limitation, a router or server equipment) comprising means for monitoring a connection state of each node of said network with each of its neighboring nodes, respectively, said terminal comprises in besides means for transmitting, step by step, iteratively for each of the nodes i, i G [1..N] of said plurality of nodes, and to at least one neighboring node, at least one message enabling said auditing at least one neighbor node to build a tree, said path tree, comprising at least one path not passing through said at least one neighboring node and making it possible to reach said at least one target node, respectively.
L'invention concerne également un système de communication comprenant une pluralité de nœuds reliés chacun à au moins un nœud voisin au moyen d'un lien formant connexion dans un réseau de communication adapté pour le transport d'au moins une information entre un nœud source et un nœud cible, le système étant caractérisé en ce que lesdits nœuds sont équipés chacun d'un terminal de communication tel que précité. L'invention concerne aussi un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support d'information lisible par ordinateur et/ou exécutable par un microprocesseur, caractérisé en ce qu'il comprend des instructions de code pour l'exécution d'un procédé de routage conforme au procédé de routage selon l'invention décrit ci-dessus. Elle concerne encore un support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé de routage selon l'invention.The invention also relates to a communication system comprising a plurality of nodes each connected to at least one neighboring node by means of a connection link in a communication network adapted for the transport of at least one piece of information between a source node and a target node, the system being characterized in that said nodes are each equipped with a communication terminal as mentioned above. The invention also relates to a computer program product downloadable from a communication network and / or stored on a computer readable and / or executable information medium by a microprocessor, characterized in that it comprises code instructions for the execution of a routing method according to the routing method according to the invention described above. It also relates to a recording medium readable by a computer on which is recorded a computer program comprising instructions for performing the steps of the routing method according to the invention.
Les caractéristiques et avantages techniques de la présente invention ressortiront mieux de la description suivante, faite à titre indicatif et non limitatif, au regard des dessins annexés sur lesquels:The characteristics and technical advantages of the present invention will become more apparent from the following description, given by way of non-limiting indication, with reference to the appended drawings in which:
" la figure 1 est un ordinogramme résumant les grandes étapes de mise en œuvre du procédé de routage selon l'invention ; " la figure 2 sert de base à la description du traitement de l'augmentation du coût des chemins dans un réseau de communication par le procédé de routage selon l'invention ;FIG. 1 is a flow chart summarizing the major implementation steps of the routing method according to the invention; FIG. 2 serves as a basis for the description of the processing of the increase of the cost of the paths in a communication network by the routing method according to the invention;
" la figure 3 donne un exemple de mise en œuvre du procédé de routage permettant l'acheminement des paquets d'information dans le cas d'une chute de la connexion avec un nœud du réseau de la figure 2 ;FIG. 3 gives an exemplary implementation of the routing method for routing information packets in the event of a drop in the connection with a node of the network of FIG. 2;
" la figure 4 donne un exemple de mise en œuvre de la commutation de paquets d'information du procédé de routage selon l'invention suite à la détection d'une anomalie de connexion réseau avec un nœud du réseau de la figure 2 ; " la figure 5 présente un ordinogramme détaillant le principe de commutation des paquets mis en œuvre à l'étape 18 de commutation selon l'invention, présentée sur la figure 1.FIG. 4 gives an example of implementation of the information packet switching of the routing method according to the invention following the detection of a network connection anomaly with a node of the network of FIG. 2; FIG. 5 presents a flow chart detailing the packet switching principle implemented in the switching step 18 according to the invention, presented in FIG.
La présente invention propose donc une nouvelle technique de routage distribué, basé sur la diffusion d'états de liens, qui permet d'une part, d'assurer le re- routage du trafic transitant dans un réseau de communication, même en présence de pannes (chute ou perte de la connexion entre nœuds du réseau, panne d'un équipement dans un noud du réseau, par exemple) susceptibles de survenir dans le réseau et qui, d'autre part est exempt de boucles, à tout instant, ce qui permet de maintenir une qualité de service dans l'acheminement des données, point essentiel, notamment pour ce qui concerne la mise en œuvre de services de ToIP, ou de télévision IP, notamment te de façon non limitative.The present invention therefore proposes a new distributed routing technique, based on link state broadcasting, which allows, on the one hand, to ensure the re-routing of the traffic transiting in a communication network, even in the presence of breakdowns. (drop or loss of the connection between nodes of the network, failure of a device in a node of the network, for example) likely to occur in the network and which, on the other hand is free of loops, at any time, what allows maintaining quality of service in the routing of data, essential point, especially with regard to the implementation of ToIP services, or IP TV, including te but not limited to.
La distribution du calcul des routes permet de limiter la puissance nécessaire au niveau de chaque nœud.The distribution of the calculation of the roads makes it possible to limit the necessary power at the level of each node.
De plus comme les nœuds n'ont besoin que d'une vision partielle du réseau, les changements de topologie n'affectent pas toujours l'intégralité du réseau, ce qui contribue à augmenter la capacité de mise à l'échelle de ce procédé de routage selon l'invention.In addition, since nodes only need a partial view of the network, topology changes do not always affect the entire network, which helps to increase the scalability of this process. routing according to the invention.
Ce dernier est également exempt de tout temporisateur ou paramètre, ce qui permet de simplifier sa mise en œuvre. L'algorithme proposé au travers le procédé selon l'invention peut servir de base à l'élaboration de nouveaux protocoles simples, permettant de faire du partage de charge étendu, tout en assurant la diffusion de labels et le maintien de la connectivité dans le réseau, même en cas de survenue de pannes ou d'anomalies dans ce dernier.The latter is also free of any timer or parameter, which simplifies its implementation. The algorithm proposed through the method according to the invention can serve as a basis for the development of new simple protocols, making it possible to share the extended load, while ensuring the distribution of labels and the maintenance of connectivity in the network, even in the event of faults or anomalies in the network.
On décrit ci-dessous un mode de réalisation possible du procédé de routage selon l'invention. Dans la suite de cette description, un réseau est assimilé à un ensemble de nœuds, reliés par des liens point à point, avec au plus un lien entre deux même nœuds. Chaque nœud possède un identifiant unique (que l'on note ID).A possible embodiment of the routing method according to the invention is described below. In the remainder of this description, a network is likened to a set of nodes, connected by point-to-point links, with at most one link between two same nodes. Each node has a unique identifier (that we note ID).
Nous supposons que ces nœuds s'échangent des messages selon un procédé permettant d'assurer leur acheminement sans erreurs, en respectant leur ordre et ce dans un délai fini tant que le lien est opérationnel.We assume that these nodes exchange messages according to a method to ensure their routing without errors, respecting their order and in a finite time as long as the link is operational.
Nous supposons également que les nœuds disposent d'un mécanisme leur permettant de détecter tout changement dans l'état opérationnel ou dans les caractéristiques d'un lien dans un délai fini.We also assume that the nodes have a mechanism to detect any changes in the operational state or characteristics of a link within a finite time period.
Les nœuds échangent des annonces composées de liens utilisés dans leurs tables de routage, chaque annonce émise par un nœud K à son nœud voisin / , notéeNodes exchange ads composed of links used in their routing tables, each ad issued by a node K to its neighbor node /, noted
V κ est un vecteur composé d'un nombre variable de liens Vf , ordonnés selon leur distance à l'émetteur, comportant les informations suivantes :V κ is a vector composed of a variable number of links Vf, ordered according to their distance to the transmitter, comprising the following information:
" le type de message, précisant s'il s'agit d'un ajout, d'une mise à jour, d'une suppression ou d'une notification de chute de lien ; " les caractéristiques du lien, à savoir : o le nœud J pour lequel le voisin annonce une route (i.e. soit la tête du lien) ; o le nœud prédécesseur P de ce nœud J dans la table de routage de l'émetteur (i.e. le nœud voisin de J par le lien considéré ayant initié la diffusion de ce chemin) ; o le poids de ce lien ou le coût du nœud pour le voisin. Ces deux informations sont en effet équivalentes, car en mettant bout à bout le coût des différents liens reçus, le récepteur peut en déduire le coût du chemin menant au nœud J , et inversement, s'il reçoit le coût du chemin menant à J , il peut en déduire le coût du lien J - P en lui retranchant le coût chemin menant à P . Pour assurer le fonctionnement de du procédé de routage selon l'invention, chaque nœud maintient une table des liens, une table de routage et une table d'émission."the type of message, specifying whether it is an addition, an update, a deletion or a notification of a link drop;" the characteristics of the link, namely: node J for which the neighbor announces a route (ie is the head of the link); o the predecessor node P of this node J in the routing table of the issuer (ie the neighbor node of J by the link considered having initiated the diffusion of this path); o the weight of this link or the cost of the node for the neighbor. These two pieces of information are indeed equivalent because, by putting the cost of the different links received end to end, the receiver can deduce the cost of the path leading to the node J, and conversely, if it receives the cost of the path leading to J, he can deduce the cost of the link J - P by deducting the cost path leading to P. To ensure the operation of the routing method according to the invention, each node maintains a link table, a routing table and a transmission table.
La table des liens, notée L dans la suite de la description contient les différents liens opérationnels auquel un nœud / est relié, ainsi que leurs coûts respectifs. Elle contient également les nœuds voisins auxquels le nœud / est connecté au moyen de ces différents liens (connexion réseau).The links table, denoted L in the rest of the description, contains the various operational links to which a node / is connected, as well as their respective costs. It also contains the neighboring nodes to which the / node is connected by means of these different links (network connection).
Par la suite, Lκ représente les caractéristiques d'un lien / <-> K (lien entre le nœud / et un nœud voisin K ) telles que stockées dans le nœud / . Dans la table de routage, notée T , on stocke pour chaque nœud un ensemble de liens correspondant aux différentes annonces reçues de ses voisins.Subsequently, L κ represents the characteristics of a link / <-> K (link between the node / and a neighboring node K) as stored in the node /. In the routing table, denoted T, is stored for each node a set of links corresponding to the different announcements received from its neighbors.
Pour chaque nœud J du réseau, le nœud / peut recevoir une annonce de chacun de ses voisins K contenant une route qu'il stocke dans sa table de routage sous la forme d'une entrée Rf comportant des informations suivantes : " le coût de la route annoncée;For each node J of the network, the node / may receive an announcement from each of its neighbors K containing a route that it stores in its routing table in the form of an entry Rf containing the following information: "the cost of the advertised route;
" les caractéristiques du lien, reçues dans Vκ : o le nœud considéré ; o le nœud prédécesseur du nœud considéré ; o le coût du lien entre le nœud considéré et son nœud voisin prédécesseur;"the characteristics of the link, received in V κ : o the considered node o the predecessor node of the considered node o the cost of the link between the considered node and its predecessor neighbor node;
" le nœud voisin d'où provient cette annonce (soit le nœud K ) ; " l'état de ce lien ; o activé (ou "Active"); o occupé (ou "Pending") ; o non valide (ou "Invalid")."the neighbor node from which this announcement originates (ie the K node);" the state of this link; o enabled (or "Active"); o busy (or "pending"); o invalid (or "invalid").
Ces différentes informations sont référencées de deux manières :These different informations are referenced in two ways:
" tout d'abord, pour chaque nœud J du réseau, on ordonne les Rf dans la table"first of all, for each node J of the network, we order the Rf in the table
C} selon leur poids croissant (en cas d'égalité, on départage les annonces en faveur de celle apprise du voisin ayant le plus petit ID). A cette table sont également associés deux paramètres : o l'état de ce nœud, à savoir « active » ou « pending » ; o un marqueur permettant de déterminer si ce nœud a subi un changement, auquel cas on doit calculer les annonces à envoyer aux voisins pour ce nœud; " ensuite, pour chacun des voisins K de / , les différentes Rf chainées entre elles constituent un arbre Gκ (chaque entrée possède un pointeur permettant d'accéder à l'entrée correspondant au prédécesseur, ainsi qu'un ensemble de pointeurs permettant d'accéder aux successeurs de ce nœud, soit les différents nœuds ayant cette entrée comme prédécesseur). On notera Gf le sous arbre de Gκ constitué de Rf et de l'ensemble de ses successeurs (la branche partant de
Figure imgf000017_0001
C } according to their increasing weight (in the case of a tie, we separate the ads in favor of the one learned from the neighbor with the smallest ID). At this table are also associated two parameters: o the state of this node, namely "active" or "pending"; o a marker to determine if this node has undergone a change, in which case the announcements to be sent to the neighbors for this node must be calculated; "Then, for each of the neighbors K of /, the different Rfs chained together constitute a tree G κ (each entry has a pointer allowing access to the entry corresponding to the predecessor, as well as a set of pointers allowing access to the successors of this node, ie the different nodes having this entry as predecessor.) Note Gf the sub-tree of G κ consisting of Rf and all of its successors (the departing branch of
Figure imgf000017_0001
La table d'émission permet de garder une trace des annonces émises aux différents voisins, ce qui permet tout d'abord d'éviter l'émission inutile de paquets (lorsque l'entrée de la table de routage à annoncer n'a pas changé) mais également d'assurer la commutation des paquets. A chaque fois que le nœud / envoie une route Rf pour un nœud J à un nœud voisin K , une entrée Sf comportant les informations suivantes est crée :The send table makes it possible to keep track of the announcements made to the different neighbors, which firstly makes it possible to avoid the unnecessary transmission of packets (when the entry of the routing table to be announced has not changed ) but also to ensure the switching of the packets. Whenever the node / sends a route Rf for a node J to a neighbor node K, an entry Sf comprising the following information is created:
" les caractéristiques du lien, contenues dans Rf : o le nœud considéré ; o son nœud prédécesseur ; o le coût du lien ;"the characteristics of the link, contained in Rf: o the considered node o its predecessor node o the cost of the link;
" le voisin d'où provient cette annonce (soit le nœud X) ; " un marqueur permettant de forcer l'émission de mise à jour même si les caractéristiques n'ont pas changé. A l'initialisation du procédé (ou algorithme) de routage selon l'invention, un nœud ajoute sa propre entrée à sa table de routage et émet une annonce vide à chacun de ses voisins."the neighbor from which this announcement originates (ie node X);" a marker to force the update broadcast even if the characteristics have not changed. At the initialization of the routing method (or algorithm) according to the invention, a node adds its own entry to its routing table and sends an empty announcement to each of its neighbors.
A la réception d'une annonce d'un nœud voisin K , le nœud / vérifie si l'entrée Rf correspondant au lien Lκ est bien présent dans Cκ . Si ce n'est pas le cas il l'ajoute (le poids de cette route étant égal au poids du lien). A la réception d'un message Vκ , le nœud / ajoute ou met à jour les liens des entrées Rf de sa table de routage correspondant aux différents Vf .On receiving an announcement from a neighbor node K, the node / checks whether the entry Rf corresponding to the link L κ is present in C κ . If it is not the case, it adds it (the weight of this road being equal to the weight of the link). On receipt of a message V κ , the node / adds or updates the links Rf entries of its routing table corresponding to different Vf.
Il calcule ensuite le poids de la route en ajoutant le poids du lien de Rf à celui de la route Rf, , P étant le prédécesseur de J dans Rf . On notera que cette approche itérative nécessite un ordonnancement des Vf selon leurs coûts respectifs, car on ne pourrait ajouter Rf à la table de routage si cette dernière ne contient pas Rf .It then calculates the weight of the road by adding the weight of the link of Rf to that of the route Rf, where P is the predecessor of J in Rf. Note that this iterative approach requires a scheduling of Vf according to their respective costs, because one could not add Rf to the routing table if the latter does not contain Rf.
Le nœud / met ensuite à jour le coût de chacun des nœuds de Gf .The node / then updates the cost of each of the nodes of Gf.
Une fois les différents messages traités, le nœud calcule les différentes annonces Vκ qu'il doit émettre à destination de chacun de ses voisins K dans sa table des liens L , en calculant pour chaque nœud J impacté par la précédente mise à jour quelle entrée Rf il lui faut envoyer à ce voisin.Once the various messages have been processed, the node calculates the different announcements V κ that it must send to each of its neighbors K in its table of links L, by calculating for each node J impacted by the previous update which entry Rf he must send to this neighbor.
Le nœud / doit envoyer à un voisiné l'entrée Rf ayant le poids le plus faible, telle que K ne soit pas dans l'ensemble des nœuds prédécesseurs de Rf reliant cette entrée au nœud / (ie. que le nœud K ne doit pas se trouver sur le chemin reliant
Figure imgf000018_0001
The node / must send to a neighbor the entry Rf having the least weight, such that K is not in the set of predecessor nodes of Rf connecting this entry to the node / (ie that the node K must not to find yourself on the connecting path
Figure imgf000018_0001
Les différentes V/ sont ensuite ordonnées selon le coût croissant des Rf correspondant avant d'être envoyées à destination du nœud voisin K .The different V / are then ordered according to the increasing cost of the corresponding Rf before being sent to the neighboring node K.
Cette phase de convergence utilise finalement un mécanisme similaire à ceux des autres algorithmes à vecteurs de liens/chemins. Elle se distingue néanmoins dans l'utilisation de la notion de chemin. En effet, dans les algorithmes de l'art antérieur, un nœud vérifiait à la réception si une annonce avait effectué une boucle, en examinant si le chemin le traversait. Ces routes n'apportaient donc aucune information au récepteur. En ajoutant cette contrainte supplémentaire de prise en compte à l'émission des chemins dans le réseau de communication, on force ainsi un nœud / à envoyer à son nœud voisin K des liens appartenant à l'arbre des plus courts chemin du réseau ne passant pas par K , ce qui, de proche en proche, va amener les nœuds à diffuser des chemins alternatifs. Dans le procédé de routage selon l'invention, on suppose que tous les nœuds sont initialisés simultanément. Ils émettent d'abord des annonces vides à leurs différents voisins qui peuvent alors ajouter leurs différents liens dans leurs tables de routage. A l'itération suivante, les nœuds peuvent diffuser les liens les reliant à leurs différents voisins.This convergence phase finally uses a mechanism similar to those of other link vector / path algorithms. It differs nevertheless in the use of the notion of path. Indeed, in the algorithms of the prior art, a node checked at the reception if an ad had made a loop, examining if the path went through. These roads did not bring any information to the receiver. By adding this additional constraint of taking into account the transmission of the paths in the communication network, thus forcing a node / to send to its neighbor node K links belonging to the tree of the shortest path of the network not passing by K, which, step by step, will cause the nodes to broadcast alternative paths. In the routing method according to the invention, it is assumed that all the nodes are initialized simultaneously. They first emit empty advertisements to their different neighbors who can then add their different links in their routing tables. At the next iteration, the nodes can diffuse the links connecting them to their different neighbors.
A l'issue de la phase de renseignement des tables de routage des différents nœuds d'un réseau, chacun des nœuds du réseau dispose d'une pluralité de chemins différents lui permettant de joindre chacun des autres nœuds du réseau, ce qui moyennant une méthode de commutation appropriée, lui permettra d'assurer le routage vers chacun de ces nœuds en cas de chute de lien (connexion réseau par exemple) avec un de ses voisins.At the end of the intelligence phase of the routing tables of the different nodes of a network, each of the nodes of the network has a plurality of different paths allowing it to join each of the other nodes of the network, which by means of a method appropriate switching, will allow it to ensure routing to each of these nodes in case of drop of link (network connection for example) with one of its neighbors.
En effet, lorsqu'un nœud perd la connectivité avec un des ses voisins, il ne peut détecter s'il s'agit uniquement d'une chute de lien, ou alors d'une chute complète du nœud, auquel cas il ne doit plus diffuser de chemins passant par ce nœud à ses différents nœuds voisins.Indeed, when a node loses connectivity with one of its neighbors, it can not detect whether it is only a link drop, or a complete fall of the node, in which case it must not to broadcast paths passing through this node to its different neighboring nodes.
Pour ce faire, le procédé de routage selon l'invention permet de vérifier l'état d'un nœud, tout en s'assurant que les chemins rediffusés pendant cette vérification sont valides. De façon plus détaillée, lorsqu'un nœud / reçoit une notification de chute de lien, il met dans sa table de routage le nœud J impacté par cette chute (la tête du lien qui est tombé) à l'état "pending", ce qui signifie que l'état de ce nœud voisin est inconnu à ce stade. Il indique également dans sa table de routage toutes les entrées dont le chemin passe par ce nœud "en attente" ("pending"), empêchant ainsi leur rediffusion (soit pour tout K dans 1L , et pour chaque nœud N du réseau, ont metTo do this, the routing method according to the invention makes it possible to check the state of a node, while ensuring that the paths rediffused during this verification are valid. In more detail, when a node / receives a link drop notification, it puts in its routing table the node J impacted by this fall (the head of the link which has fallen) to the "pending" state, which means that the state of this neighbor node is unknown at this point. It also indicates in its routing table all the entries whose path passes through this "pending" node, thus preventing their rediffusion (for any K in 1 L, and for each node N of the network, have puts
Rf à l'état "pending" si Rf e Gf ).Rf in the "pending" state if Rf e Gf).
Toutefois si un nœud J est relié à un nœud / par un lien opérationnel, / maintiendra ce voisin à l'état "activé", ce qui signifiera que le nœud n'est pas tombé.However, if a node J is connected to a node / by an operational link, / will keep this neighbor in the "activated" state, which will mean that the node has not fallen.
D'autre part, quant un nœud / reçoit une notification de chute de lien d'un nœud voisin K , il marque l'entrée Sf pour permettre une confirmation du lien déjà émis. Ainsi si le nœud J repasse à l'état "activé" (ou "actif") dans la table de routage du nœud / et ce dernier en informe de proche en proche ses autres nœuds voisins qui mettront à jour en conséquence leurs tables de routage, respectivement.On the other hand, when a node / receives a link drop notification from a neighbor node K, it marks the entry Sf to allow confirmation of the link already issued. Thus, if the node J goes back to the "activated" (or "active") state in the routing table of the node / and this node informs it step by step of its other neighboring nodes which will consequently update their routing tables , respectively.
Ensuite, lorsque / émet une mise à jour à ses voisins, il ne relaye cette notification de chute de lien que vers le voisin qui lui a annoncé la meilleure route vers le nœud / (soit la première entrée de C7 ).Then, when / emits an update to its neighbors, it relays this link drop notification only to the neighbor who has announced the best route to the node / (the first entry of C 7 ).
S'il ne possède plus de route vers ce nœud, il émet cette notification vers tous les nœuds auxquels il avait précédemment émis une annonce.If it no longer has a route to this node, it issues this notification to all the nodes to which it had previously issued an announcement.
Pour les successeurs S de J , également impactés par cette chute de lien, il ne rediffuse Rf <≡ Cs que si cette entrée n'est pas à l'état "pending" dans leur table de routage.For successors S J, also affected by this link drop, it rebroadcasts Rf <≡ C s that if the entry is not in the "pending" in their routing table.
Si / ne dispose pas d'entrée satisfaisant ces critères (ie. si tous les chemins vers un nœud cible S passent par le nœud J ), il indique à son nœud voisin K lui ayant annoncé la meilleure route à destination du nœud cible S de supprimer l'entrée qu'il lui avait précédemment transmise.If / does not have an entry satisfying these criteria (ie if all the paths to a target node S pass through the node J), it indicates to its neighbor node K having announced to it the best route to the target node S of delete the entry he had previously sent to him.
Finalement, pour que l'algorithme converge, il faut également que le nœudFinally, for the algorithm to converge, it is also necessary that the node
/ puisse remettre le nœud J à l'état actif pour recommencer à diffuser des chemins qui passent par ce dernier (par exemple s'il s'agissait uniquement d'une chute de lien, ou bien si le nœud est de nouveau actif). Cette transition peut se faire s'il reçoit une annonce de lien pour ce nœud telle que le voisin K qui lui annonce ce lien est sur le plus court chemin vers le nœud prédécesseur P de ce lien (soit si Rp est la meilleure entrée de CP )./ can return node J to the active state to start broadcasting again paths that pass through it (for example if it were only a link drop, or if the node is active again). This transition can be done if it receives a link announcement for this node such that the neighbor K that announces this link is on the shortest path to the predecessor node P of this link (or if R p is the best entry of C P ).
Pour limiter le nombre de messages échangés durant cette phase, on peut mettre en œuvre différents procédés, on peut vérifier, lorsque l'on reçoit une notification de chute de lien, si le prédécesseur indiqué dans ce lien n'est pas déjà actif, auquel cas il s'agit d'une chute de lien, ce qui permet de réactiver les deux nœuds. On peut également vérifier que cette notification provient du voisin ayant annoncé le meilleur chemin pour ce lien.To limit the number of messages exchanged during this phase, it is possible to implement different methods, it can be verified, when receiving a link drop notification, if the predecessor indicated in this link is not already active, to which case it is a link drop, which allows to reactivate the two nodes. One can also check that this notification comes from the neighbor having announced the best way for this link.
L'exemple de la figure 3 illustre ce mécanisme. Sur la figure 3, on suppose que les liens gras ont un coût de un et les liens fins un coût de dix. Lorsque le nœud A tombe, le nœud D détecte la chute du lien A <— D et met ce nœud à l'état "pending" dans sa table de routage, ainsi que toutes les routes qui le traversent.The example in Figure 3 illustrates this mechanism. In Figure 3, it is assumed that the bold links have a cost of one and the links a cost of ten. When the node A falls, the node D detects the fall of the link A <- D and puts this node in the state "pending" in its routing table, as well as all the roads which cross it.
Il émet ensuite une notification vers son nœud voisin E , qui est sur le plus court chemin alternatif vers A .It then sends a notification to its neighbor node E, which is on the shortest alternative path to A.
Simultanément, il diffuse également le lien B <— C car l'ancienne route B <— A <— D n'est plus disponible, tandis que la nouvelle B <— C <— D ne passe pas par le nœud A .Simultaneously, it also broadcasts the link B <- C because the old route B <- A <- D is no longer available, while the new B <- C <- D does not pass through the node A.
Il indique aussi à E de retirer les chemins menant à G , H , / , J , K , L et M (qu'il lui avait précédemment envoyé) de sa table de routage, car E est désormais sur le meilleur chemin alternatif de D pour ces nœuds.It also tells E to remove the paths to G, H, /, J, K, L, and M (which he previously sent) from his routing table, because E is now on the best alternate path of D for these nodes.
Quant le nœud E reçoit cette mise à jour du nœud D , il met également le nœud A à l'état "pending" dans sa table de routage, avant de mettre à jour sa route pour le nœud B et de retirer dans sa table de routage les routes pour les nœuds G , H , I , J , K , L et M passant par le nœud D .When node E receives this update from node D, it also puts node A in the "pending" state in its routing table, before updating its route for node B and removing in its table of routing the routes for the nodes G, H, I, J, K, L and M passing through the node D.
Il rediffuse ensuite le message de notification de la chute de lien (anomalie de connexion) vers le nœud / , mais il ne le rediffuse pas vers le nœud F , car ce nœud n'est pas situé sur le meilleur chemin conduisant au nœud A . Il lui envoie uniquement la mise à jour concernant le nœud B . Pendant ce temps, J a également envoyé une notification vers / , accompagnée d'une mise à jour pour le nœud M . L nœud / prend donc tous les chemins menant au nœud A et retire ce nœud de sa table de routage. Ce faisant il envoie une notification aux nœuds auxquels il avait précédemment envoyé des liens menant au nœud A , soit J , H et E , et ainsi de suite... On pourra noter que dans cet exemple, les différents nœuds du réseau conservent en permanence une route vers les autres nœuds du réseau, ce qui permet d'assurer le routage même pendant la période de convergence.It then rebroadcasts the link drop notification message (connection anomaly) to the / node, but it does not rebroadcast it to the F node, because this node is not located on the best path to the A node. It sends only the update for node B. Meanwhile, J has also sent a notification to / along with an update for the M node. The node / therefore takes all the paths leading to the node A and removes this node from its routing table. In doing so, it sends a notification to the nodes to which it had previously sent links leading to the node A, namely J, H and E, and so on ... It will be noted that in this example, the various nodes of the network keep permanently a route to the other nodes of the network, which ensures routing even during the convergence period.
Pour garantir et maintenir une continuité dans la qualité du service offert aux utilisateurs du réseau de communication, notamment pour ce qui concerne des services du type ToIP ou IPTV, même en cas de chute d'une connexion entre nœuds d'un réseau considéré, il est également important de traiter le problème de l'augmentation des chemins lorsqu'une anomalie réseau est détectée, comme illustré dans l'exemple de réseau de la figure 2 dans lequel on considère une anomalie survenant au niveau du nœud B.In order to guarantee and maintain a continuity in the quality of the service offered to the users of the communication network, in particular with regard to services of the ToIP or IPTV type, even in the event of a fall of a connection between nodes of a considered network, it is also important to address the problem of increasing paths when a network anomaly is detected, as shown in the example of network of FIG. 2 in which an anomaly occurring at node B is considered.
Dans cet exemple et uniquement pour des raisons de simplification, on considère que chaque lien a un poids de un. Dans cette exemple, le nœud C , lorsqu'il détecte la panne, peut envoyer une mise à jour au nœud E en lui indiquant d'utiliser le lien A <— I pour joindre le nœud A (cette entrée n'est pas mise à l'état "actif" dans sa table de routage, puisque le chemin y menant ne passe pas par B ).In this example and only for simplification reasons, each link is considered to have a weight of one. In this example, the node C, when it detects the failure, can send an update to the node E by telling it to use the link A <- I to join the node A (this entry is not set to the "active" state in its routing table, since the path leading to it does not go through B).
Le nœud C ne lui envoie cependant pas de notification de chute de lien, car le nœud D n'est pas situé sur le plus court chemin menant à B .However, node C does not send a link drop notification because node D is not located on the shortest path to B.
Le nœud D possède donc dans sa table de routage un chemin non valide menant au nœud A et passant par le nœud B , qu'il peut rediffuser vers le reste du réseau car ce chemin a un coût de 5, inférieur à celui du chemin alternatif 2 annoncé par le nœud C (coût de 6). Ceci est dû au fait que D n'a pas encore reçu la mise à jour venant de E lui indiquant le lien A <— / . Il peut cependant aisément inférer que le lien A <— B n'est pas utilisable, puisque C a remplacé le chemin 1 par le 2 (de coût supérieur) dans sa table de routage, ce qui indique que le chemin 1 n'est plus utilisable en raison de l'anomalie détectée impactant le nœud réseau B. Lorsque le coût d'une route entre un nœud source et un nœud cible du réseau augmente, cela indique que le chemin qui mène à ce nœud cible n'est plus valide.The node D thus has in its routing table an invalid path leading to the node A and passing through the node B, which it can rebroadcast to the rest of the network because this path has a cost of 5, lower than that of the alternative path 2 announced by node C (cost of 6). This is because D has not yet received the update from E indicating the link A <- /. However, he can easily infer that the link A <- B is not usable, since C has replaced the path 1 by the 2 (of higher cost) in his routing table, which indicates that the path 1 is no longer usable due to detected anomaly impacting network node B. When the cost of a route between a source node and a target node of the network increases, this indicates that the path to that target node is no longer valid.
En conséquence, si un nœud source / reçoit une mise à jour du chemin à destination d'un nœud cible J d'un nœud voisin K impliquant une augmentation du coût de la route Rf entre les nœuds J et K , il doit alors invalider toutes les entrées de sa table de routage Rf <≡ C7 ayant un coût supérieur et utilisant le même lien queConsequently, if a source node / receives an update of the path to a target node J of a neighbor node K involving an increase in the cost of the route Rf between the nodes J and K, then it must invalidate all the entries of its routing table Rf <≡ C 7 having a higher cost and using the same link as
Inversement, si après mise à jour d'une entrée de sa table de routage, il existe d'autres entrées de coût supérieur ayant les mêmes caractéristiques que cette dernière (même poids de lien et même prédécesseur), on doit réactiver ces entrées si elles sont invalides. Une entrée Rf invalide d'une table de routage aura donc systématiquement un coût infini et ne pourra donc ni être utilisée pour la commutation ni être rediffusée vers les autres nœuds du réseau.Conversely, if after updating an entry in its routing table, there are other higher cost entries having the same characteristics as the latter (same link weight and same predecessor), these entries must be reactivated if they are invalid. An invalid Rf entry of a routing table will therefore systematically have an infinite cost and can not be used for switching or rebroadcast to other nodes of the network.
Pour tirer pleinement avantage du procédé de routage selon l'invention, il est nécessaire de commuter les paquets de manière spécifique, comme décrit ci-dessous.To take full advantage of the routing method according to the invention, it is necessary to switch packets specifically, as described below.
Tout d'abord, un nœud / doit commuter les paquets à destination de J en fonction de leur interface d'entrée, selon la règle suivante : un paquet reçu d'un nœud voisin K doit être émis vers le nœud (l'interface) spécifiée dans le vecteur Sf , soit le nœud par lequel le nœud / a appris le chemin qu'il a rediffusé au nœud voisin K . Comme les chemins sont toujours acycliques, cette méthode permet d'assurer une commutation exempte de boucles à tout instant, même si le routage ne se fait pas selon le plus court chemin.Firstly, a node / must switch the packets to J according to their input interface, according to the following rule: a packet received from a neighbor node K must be sent to the node (the interface) specified in the vector Sf, that is the node by which the node / learned the path it has rebroadcast to the neighbor node K. Since paths are always acyclic, this method ensures loop-free switching at all times, even if routing is not done in the shortest way.
On peut noter que cette notion de chemin peut être aisément utilisée pour mettre en œuvre de la commutation de labels. On pourrait en effet ajouter dans chaque vecteur de liens V/un label, que le les différents nœuds utiliseraient ensuite pour commuter les paquets.It can be noted that this notion of path can be easily used to implement label switching. One could indeed add in each vector of links V / label, that the different nodes would then use to switch packets.
Cependant, pendant les phases de convergence, il se pourrait que lorsqu'un nœud reçoit d'un nœud voisin K un paquet à destination d'un nœud cible J , il n'ait plus d'entrée Sf . Dans l'exemple de la figure 4, dans lequel on suppose que le nœud sourceHowever, during the convergence phases, it may be that when a node receives a packet from a neighbor node K to a target node J, it no longer has an entry Sf. In the example of Figure 4, which assumes that the source node
F émet des paquets à destination du nœud cible M , quand le nœud A tombe, il se passe un certain temps avant que le lien M <— L soit annoncé au nœud F .F sends packets to the target node M, when the node A falls, it is a certain time before the link M <- L is announced to the node F.
Pendant ce temps ce chemin ne sera pas établi dans les nœuds du réseau (ils n'ont pas tous émis un vecteur de liens V^ correspondant à ce lien). Pour assurer le routage pendant cette phase, il faut commuter les paquets sur d'autres critères.During this time this path will not be established in the nodes of the network (they did not all emit a vector of links V ^ corresponding to this link). To ensure routing during this phase, it is necessary to switch the packets to other criteria.
Ainsi, au moment de la chute du nœud A , le nœud F envoie les paquets à destination de M selon le chemin n° 1.Thus, at the time of the fall of the node A, the node F sends the packets to M according to the path No. 1.
Lorsque ces paquets arrivent à destination du nœud D , ce dernier ne peut pas les acheminer normalement puisque dans un premier temps l'interface de sortie correspondant à Sf1 est tombée, et cette entrée est ensuite supprimée à l'émission de VE When these packets arrive at the node D, the node can not route them normally since at first the output interface corresponding to Sf 1 has fallen, and this entry is then suppressed on the emission of V E
Pendant cette période, le nœud D dispose cependant de deux routes pour atteindre le nœud cible M (qui sont à l'état "pending"), il pourrait donc utiliser le chemin n°2 (la meilleure de ces deux routes) pour réacheminer le trafic.During this period, however, node D has two routes to reach target node M (which are in the "pending" state), so it could use path # 2 (the best of these two routes) to re-route the traffic.
Cependant, lorsque les paquets d'information arrivent au niveau du nœud J , le problème est le même puisque l'entrée SM' n'existe plus, le nœud J devant alors rediriger les paquets sur le chemin n°3, qui les conduira finalement à destination du nœud cible M . Cependant, si on laisse les nœuds réacheminer les paquets de la sorte, des micro-boucles vont apparaître pendant la phase de convergence. En effet, si le chemin n°3 n'existait pas, le nœud J aurait à son tour re -routé les paquets vers le nœud / , ce qui aurait conduit à la formation d'une boucle.However, when the information packets arrive at the node J, the problem is the same since the entry S M 'no longer exists, the node J must then redirect the packets on the path n ° 3, which will lead them finally to the target node M. However, if nodes are allowed to forward packets in this way, micro-loops will appear during the convergence phase. Indeed, if the path n ° 3 did not exist, the node J would in turn reroute the packets towards the node /, which would have led to the formation of a loop.
Pour empêcher la formation de ce type de boucle, le procédé de routage doit limiter le nombre de re-routages selon des routes ayant un état "pending". Le nombre de fois ou les paquets pourront être réacheminée sur une route à l'état "pending" (quant il ne pourront être commutés selon la table S ) définira un compromis entre la capacité de l'algorithme à acheminer les paquets à destination en cas de faute dans le réseau et sa tendance à retransmettre des paquets inutilement s'il n'existe pas de chemin alternatif.To prevent the formation of this type of loop, the routing method must limit the number of re-routings along roads with a "pending" state. The number of times that packets can be forwarded on a "pending" route (when it can not be switched according to the S table) will be a compromise between the ability of the algorithm to route packets to the destination. fault in the network and its tendency to retransmit packets unnecessarily if there is no alternative path.
Pour mesurer le nombre de réacheminements, il sera nécessaire d'introduire une méthode permettant de mesurer le nombre de fois où un paquet a subi un reroutage sur une route à l'état "pending", par exemple en incrémentant un compteur dans les paquets, ou encore en associant différents tunnels à une même route, chacun de ces tunnels correspondant à un nombre de re -routage.To measure the number of reroutes, it will be necessary to introduce a method for measuring the number of times a packet has been rerouted on a road in the "pending" state, for example by incrementing a counter in the packets, or by associating different tunnels to the same road, each of these tunnels corresponding to a number of re-routing.
Ainsi on s'assure d'envoyer les paquets sur des chemins exempts de boucles, tout en garantissant le maintien du service d'acheminement des paquets d'information entre un nœud source et un nœud cible du réseau.Thus, it is ensured that the packets are sent on paths that are free of loops, while guaranteeing the maintenance of the information packet routing service between a source node and a target node of the network.
La figure 1 résume les grandes étapes de mise en œuvre du procédé de routage selon l'invention, à savoir : " une étape 10 de supervision d'un état de la connexion de chaque nœud dudit réseau avec chacun de ses nœuds voisins, respectivement ;FIG. 1 summarizes the major implementation steps of the routing method according to the invention, namely: a step 10 of supervising a state of the connection of each node of said network with each of its neighboring nodes, respectively;
" une étape 11 de vérification pour déterminer si ladite anomalie est liée à un défaut de fonctionnement dudit nœud voisin et/ou à un défaut de fonctionnement du lien réseau entre ledit nœud et ledit nœud voisin;"a verification step 11 to determine whether said anomaly is related to a malfunction of said neighbor node and / or a malfunction of the network link between said node and said neighbor node;
" une étape 12 itérative, pour chacun des nœuds i, i G [1..N]) de ladite pluralité de nœuds, de transmission de proche en proche, à au moins un nœud voisin, d'au moins un message permettant audit au moins un nœud voisin de construire au fur et à mesure des itérations de ladite étape 12 itérative, un arbre de chemins comprenant une pluralité de chemins ne passant pas par ledit au moins un nœud voisin et permettant d'atteindre ledit au moins au moins un nœud cible, respectivementan iterative step 12, for each of the nodes i, i G [1..N]) of said plurality of nodes, of transmission, step by step, to at least one neighboring node, of at least one message allowing said least one neighbor node to construct as iterations of said iterative step 12, a path tree comprising a plurality of paths not passing through said at least one neighboring node and making it possible to reach said at least one node target, respectively
Si à ladite étape (11) de vérification il est déterminé que ladite anomalie concerne un défaut de fonctionnement dudit nœud voisin, alors, on exécute les étapes suivantes :If in said verification step (11) it is determined that said anomaly relates to a malfunction of said neighbor node, then, the following steps are performed:
" identification 13i et retrait 132 dans la table de routage associée audit nœud de tous les chemins passant par ledit nœud voisin impacté par ladite anomalie et ne pouvant plus être utilisés pour transmettre ladite au moins une information à destination dudit au moins un nœud cible ; " transmission 14 par ledit nœud à l'un au moins de ses autres nœuds voisins distincts dudit nœud voisin impacté par ladite anomalie d'au moins un message de notification de ladite anomalie ;13i identification and withdrawal 13 2 in the routing table associated with said node of all the paths passing through said neighbor node impacted by said anomaly and can no longer be used to transmit said at least one information to said at least one target node; "transmission 14 by said node to at least one of its other neighboring nodes distinct from said neighbor node impacted by said anomaly of at least one notification message of said anomaly;
" mise à jour 15 par lesdits autres nœuds voisins de leurs tables de routage respectives, pour y indiquer les chemins impactés par ladite anomalie et ne pouvant plus être rediffusés aux autres nœuds de ladite pluralité de nœuds ;updated by said other neighboring nodes of their respective routing tables, to indicate the paths impacted by said anomaly and not being able to be rebroadcast to the other nodes of said plurality of nodes;
" rediffusion 16 dudit au moins un message de notification de ladite anomalie, de proche en proche par chacun desdits autres nœuds voisins, à l'un au moins de leurs nœuds voisins respectifs et distinct dudit nœud impacté par ladite anomalie ; lesdites étapes 15 de mise à jour et 16 de rediffusion étant itérées jusqu'à ce que toutes les tables de routage de chacun des nœuds de ladite pluralité de nœuds soient mises à jour. Le procédé de routage selon l'invention comprend encore :repeating said at least one notification message of said anomaly, step by step by each of said other neighboring nodes, to at least one of their respective neighboring nodes and distinct from said node impacted by said anomaly; update and 16 are iterated until all the routing tables of each of the nodes of said plurality of nodes are updated. The routing method according to the invention further comprises:
" étape 17 de mise à jour par ledit nœud source d'une table d'émission contenant un ensemble de chemins de poids les plus faibles transmis par ledit nœud source à chacun de ses dits nœuds voisins; " une étape 18 de commutation dudit paquet d'information vers un deuxième nœud distinct dudit premier nœud voisin et situé sur un plus court chemin conduisant audit nœud cible, ledit plus court chemin ayant été transmis par ledit deuxième nœud audit premier nœud voisin à ladite étape 12 de transmission. Comme évoqué précédemment, le procédé de routage distribué selon l'invention, basé sur la diffusion d'état de liens, permet d'assurer un re-routage du trafic (paquets d'informations, par exemple), même face à l'occurrence de fautes ou de pannes pouvant survenir dans le réseau, tout en étant exempt de boucles à tout instant, ce qui permet de maintenir une continuité dans les services s'appuyant sur le réseau de communication et d'offrir une qualité de service constante aux utilisateurs, ce qui s'avère primordiale pour certains services, par exemple et de façon non limitative du type ToIP ou IPTV."step 17 of update by said source node of a transmission table containing a set of paths of the lowest weight transmitted by said source node to each of said neighboring nodes;" a step 18 of switching said packet of information to a second node distinct from said first neighbor node and located on a shorter path leading to said target node, said shorter path having been transmitted by said second node to said first neighbor node at said transmitting step 12. As mentioned above, the distributed routing method according to the invention, based on the link state broadcast, makes it possible to ensure a re-routing of the traffic (information packets, for example), even in the face of the occurrence faults or failures that can occur in the network, while being free of loops at any time, which allows to maintain a continuity in the services based on the communication network and to offer a constant quality of service to the users , which is essential for certain services, for example and in a non-limiting manner of the ToIP or IPTV type.
La distribution du calcul des routes permet de limiter la puissance nécessaire au niveau de chaque nœud. De plus comme les nœuds n'ont besoin que d'une vision partielle du réseau, les changements de topologie n'affectent pas toujours l'intégralité du réseau, ce qui contribue à augmenter la capacité de mise à l'échelle de ce procédé de routage distribué selon l'invention. De plus, ce dernier étant exempt de tout temporisateur ou paramètre de temporisation, sa mise en œuvre dans une architecture de réseau de communication est très simple et peut coûteuse.The distribution of the calculation of the roads makes it possible to limit the necessary power at the level of each node. In addition, since nodes only need a partial view of the network, topology changes do not always affect the entire network, which helps to increase the scalability of this process. distributed routing according to the invention. In addition, the latter being free from any timer or timing parameter, its implementation in a communication network architecture is very simple and can be expensive.
Un tel procédé pourrait donc aussi être utilisé pour élaborer de nouveaux protocoles simples, permettant de faire du partage de charge étendu, assurant la diffusion de labels et permettant de maintenir une connectivité dans le réseau en cas de faute. Such a method could therefore also be used to develop new simple protocols, allowing for extensive load sharing, ensuring the dissemination of labels and to maintain connectivity in the network in case of fault.

Claims

Revendications claims
1. Procédé de routage d'au moins une information entre un nœud source et au moins un nœud cible dans un réseau comprenant une pluralité de N nœuds reliés chacun à au moins un nœud voisin au moyen d'un lien représentatif d'une connexion, caractérisé en ce que ledit procédé comprenant une étape (10) de supervision d'un état de la connexion de chaque nœud dudit réseau avec chacun de ses nœuds voisins, respectivement, il comprend en outre une étape (12) itérative, pour chacun des nœuds i, i G [1..N]) de ladite pluralité de nœuds, de transmission de proche en proche, à au moins un nœud voisin, d'au moins un message permettant audit au moins un nœud voisin de construire au fur et à mesure des itérations de ladite étape (12) itérative, un arbre, dit arbre de chemins, comprenant au moins un chemin ne passant pas par ledit au moins un nœud voisin et permettant d'atteindre ledit au moins au moins un nœud cible, respectivement.A method of routing at least one piece of information between a source node and at least one target node in a network comprising a plurality of N nodes each connected to at least one neighboring node by means of a link representative of a connection, characterized in that said method comprising a step (10) of monitoring a state of the connection of each node of said network with each of its neighboring nodes, respectively, it further comprises a step (12) iterative, for each of the nodes i, i G [1..N]) of said plurality of nodes, of transmission, step by step, to at least one neighboring node, of at least one message enabling said at least one neighboring node to build as and when measuring iterations of said iterative step (12), a tree, said path tree, comprising at least one path not passing through said at least one neighboring node and making it possible to reach said at least one target node, respectively.
2. Procédé selon la revendication 1, caractérisé en ce que une relation d'ordre étant définie relativement aux différents chemins contenus dans ledit arbre de chemins, ledit message transmis contient au moins une information représentative d'un plus court chemin permettant d'atteindre ledit au moins un nœud cible, depuis ledit nœud source.2. Method according to claim 1, characterized in that a relation of order being defined relative to the different paths contained in said path tree, said transmitted message contains at least one information representative of a shorter path to reach said at least one target node, from said source node.
3. Procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce que chacun desdits nœuds de ladite pluralité de nœuds contient, pour chacun de ses dits nœuds voisins au moins un arbre de chemins se présentant sous la forme d'une table de routage apte à aiguiller au moins un message reçu par ledit nœud sur un chemin permettant d'atteindre ledit nœud cible depuis ledit nœud source.3. Method according to any one of claims 1 and 2, characterized in that each of said nodes of said plurality of nodes contains, for each of said neighboring nodes at least one tree of paths in the form of a table routing adapted to direct at least one message received by said node on a path to reach said target node from said source node.
4. Procédé de routage selon l'une quelconque des revendications 1 à 3, caractérisé en ce que ladite étape (10) de supervision est exécutée par un dispositif de supervision de la connexité de chaque nœud de ladite pluralité de nœuds du réseau avec chacun de ses dits nœuds voisins, respectivement.4. routing method according to any one of claims 1 to 3, characterized in that said step (10) of supervision is performed by a device for monitoring the connectivity of each node of said plurality of nodes of the network with each of its so-called neighboring nodes, respectively.
5. Procédé de routage selon l'une quelconque des revendications 1 à 3, caractérisé en ce que ladite étape (10) de supervision est exécutée par chaque nœud de ladite pluralité de nœuds.5. Routing method according to any one of claims 1 to 3, characterized in that said step (10) supervision is performed by each node of said plurality of nodes.
6. Procédé de routage selon la revendication 5, caractérisé en ce que lorsqu'au moins un nœud de ladite pluralité de nœuds détecte à ladite étape (10) de supervision une anomalie d'un état de la connexion réseau avec un de ses voisins, on exécute une étape (11) de vérification pour déterminer si ladite anomalie est liée à un défaut de fonctionnement dudit nœud voisin et/ou à un défaut de fonctionnement du lien réseau entre ledit nœud et ledit nœud voisin. 6. Routing method according to claim 5, characterized in that when at least one node of said plurality of nodes detects at said step (10) of supervision an anomaly of a state of the network connection with one of its neighbors, a verification step (11) is executed to determine whether said anomaly is related to a malfunction of said neighboring node and / or to a malfunction of the link network between said node and said neighbor node.
7. Procédé de routage selon la revendication 6, caractérisé en ce que si à ladite étape (11) de vérification il est déterminé que ladite anomalie concerne un défaut de fonctionnement dudit nœud voisin, alors, on exécute les étapes suivantes :7. Routing method according to claim 6, characterized in that if said verification step (11) is determined that said anomaly relates to a malfunction of said neighbor node, then, the following steps are performed:
" identification (130 et retrait (132) dans la table de routage associée audit nœud de tous les chemins passant par ledit nœud voisin impacté par ladite anomalie et ne pouvant plus être utilisés pour transmettre ladite au moins une information à destination dudit au moins un nœud cible ;identification (130 and withdrawal (13 2 ) in the routing table associated with said node of all the paths passing through said neighboring node impacted by said anomaly and no longer being able to be used to transmit said at least one information item to said at least one target node;
" transmission (14) par ledit nœud à l'un au moins de ses autres nœuds voisins distincts dudit nœud voisin impacté par ladite anomalie d'au moins un message de notification de ladite anomalie ; " mise à jour (15) par lesdits autres nœuds voisins de leurs tables de routage respectives, pour y indiquer les chemins impactés par ladite anomalie et ne pouvant plus être rediffusés aux autres nœuds de ladite pluralité de nœuds ;"transmission (14) by said node to at least one of its other distinct neighbor nodes of said neighbor node affected by said anomaly of at least one notification message of said anomaly;" update (15) by said other nodes neighbors of their respective routing tables, to indicate the paths impacted by said anomaly and can no longer be rebroadcast to other nodes of said plurality of nodes;
" rediffusion (16) dudit au moins un message de notification de ladite anomalie, de proche en proche par chacun desdits autres nœuds voisins, à l'un au moins de leurs nœuds voisins respectifs et distinct dudit nœud impacté par ladite anomalie ; lesdites étapes (15) de mise à jour et (16) de rediffusion étant itérées jusqu'à ce que toutes les tables de routage de chacun des nœuds de ladite pluralité de nœuds soient mises à jour. "rediffusion (16) of said at least one notification message of said anomaly, step by step by each of said other neighboring nodes, to at least one of their respective neighboring nodes and distinct from said node impacted by said anomaly; 15) and (16) replay is iterated until all the routing tables of each of the nodes of said plurality of nodes are updated.
8. Procédé de routage selon l'une quelconque des revendications 1 à 7, caractérisé en ce qu'il comprend une étape (17) de mise à jour par ledit nœud source d'une table d'émission contenant un ensemble de chemins de poids les plus faibles transmis par ledit nœud source à chacun de ses dits nœuds voisins.8. Routing method according to any one of claims 1 to 7, characterized in that it comprises a step (17) for updating by said source node of a transmission table containing a set of weight paths. the weakest transmitted by said source node to each of said neighboring nodes.
9. Procédé de routage selon l'une quelconque des revendications 1 à 8, caractérisé en ce que lorsqu'un nœud dudit réseau reçoit d'un premier nœud voisin un paquet d'information destiné à un nœud cible dudit réseau, ledit nœud exécute une étape (18) de commutation dudit paquet d'information vers un deuxième nœud distinct dudit premier nœud voisin et situé sur un plus court chemin conduisant audit nœud cible, ledit plus court chemin ayant été transmis par ledit deuxième nœud audit premier nœud voisin à ladite étape (12) de transmission.9. A routing method according to any one of claims 1 to 8, characterized in that when a node of said network receives from a first neighbor node an information packet for a target node of said network, said node performs a step (18) of switching said information packet to a second distinct node of said first neighbor node and located on a shorter path leading to said target node, said shorter path having been transmitted by said second node to said first neighbor node at said transmission step (12).
10. Terminal de communication destiné à être utilisé dans un nœud d'un réseau pour l'acheminement d'au moins une information entre un nœud source et un nœud cible, ledit réseau comprenant une pluralité de nœuds reliés chacun à au moins un nœud voisin au moyen d'une connexion, caractérisé en ce que ledit terminal comprenant des moyens de supervision d'un état de la connexion de chaque nœud dudit réseau avec chacun de ses nœuds voisins, respectivement, le terminal comprend en outre des moyens pour transmettre de proche en proche, de façon itérative pour chacun des nœuds i, i G [1..N] de ladite pluralité de nœuds, et à destination d'au moins un nœud voisin, au moins un message permettant audit au moins un nœud voisin de construire un arbre, dit arbre de chemins, comprenant au moins un chemin ne passant pas par ledit au moins un nœud voisin et permettant d'atteindre ledit au moins au moins un nœud cible, respectivement.A communication terminal for use in a node of a network for routing at least one information between a source node and a target node, said network comprising a plurality of nodes each connected to at least one neighboring node by means of a connection, characterized in that said terminal comprising means for supervising a state of the connection of each node of said network with each of its neighboring nodes, respectively, the terminal further comprises means for transmitting near in near, iteratively for each of the nodes i, i G [1..N] of said plurality of nodes, and to at least one neighboring node, at least one message enabling said at least one neighboring node to construct a tree, said path tree, comprising at least one path not passing through said at least one neighboring node and making it possible to reach said at least one target node, respectively.
11. Système de communication comprenant une pluralité de nœuds reliés chacun à au moins un nœud voisin au moyen d'un lien formant connexion dans un réseau de communication adapté pour le transport d'au moins une information entre un nœud source et un nœud cible, le système étant caractérisé en ce que lesdits nœuds sont équipés chacun d'un terminal de communication selon la revendication 10.A communication system comprising a plurality of nodes each connected to at least one neighboring node by means of a connection link in a communication network adapted for transporting at least one information between a source node and a target node, the system being characterized in that said nodes are each equipped with a communication terminal according to claim 10.
12. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou stocké sur un support d'information lisible par ordinateur et/ou exécutable par un microprocesseur, caractérisé en ce qu'il comprend des instructions de code pour l'exécution d'un procédé de routage conforme à l'une quelconque des revendications 1 à 9.12. Computer program product downloadable from a communication network and / or stored on a computer-readable and / or executable information medium by a microprocessor, characterized in that it comprises code instructions for the execution of a routing method according to any one of claims 1 to 9.
13. Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé de routage selon l'une quelconque des revendications 1 à 9. A computer-readable recording medium on which is recorded a computer program comprising instructions for performing the steps of the routing method according to any one of claims 1 to 9.
PCT/FR2008/051654 2007-09-21 2008-09-16 Method for the failure tolerant distributed routing of data in a network WO2009047439A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0757770A FR2921533A1 (en) 2007-09-21 2007-09-21 METHOD FOR ROUTING DATA DISTRIBUTED IN A NETWORK, FAULT TOLERANT
FR0757770 2007-09-21

Publications (2)

Publication Number Publication Date
WO2009047439A2 true WO2009047439A2 (en) 2009-04-16
WO2009047439A3 WO2009047439A3 (en) 2009-09-03

Family

ID=39494377

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2008/051654 WO2009047439A2 (en) 2007-09-21 2008-09-16 Method for the failure tolerant distributed routing of data in a network

Country Status (2)

Country Link
FR (1) FR2921533A1 (en)
WO (1) WO2009047439A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338505A (en) * 2021-12-01 2022-04-12 杭州迪普科技股份有限公司 Route calculation method, device, storage medium and computer equipment

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3070496B1 (en) * 2017-08-28 2019-09-13 Enedis IDENTIFICATION OF ANOMALY IN AN ELECTRICAL DISTRIBUTION NETWORK

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020067720A1 (en) * 2000-10-10 2002-06-06 The Regents Of The University Of California Method for loop-free multipath routing using predecessor information
US7058016B1 (en) * 2000-10-12 2006-06-06 Cisco Technology, Inc. Method and system for accelerating route calculation in link state routing protocols

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020067720A1 (en) * 2000-10-10 2002-06-06 The Regents Of The University Of California Method for loop-free multipath routing using predecessor information
US7058016B1 (en) * 2000-10-12 2006-06-06 Cisco Technology, Inc. Method and system for accelerating route calculation in link state routing protocols

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338505A (en) * 2021-12-01 2022-04-12 杭州迪普科技股份有限公司 Route calculation method, device, storage medium and computer equipment
CN114338505B (en) * 2021-12-01 2023-06-27 杭州迪普科技股份有限公司 Route calculation method, device, storage medium and computer equipment

Also Published As

Publication number Publication date
WO2009047439A3 (en) 2009-09-03
FR2921533A1 (en) 2009-03-27

Similar Documents

Publication Publication Date Title
EP2279586B1 (en) Technique for protection in a communication network in connected mode of a point-to-multipoint primary tree
CN102282812B (en) Protecting ingress and egress of a label switched path
EP2127270B1 (en) Mechanism for protecting a pseudo link
EP2263353B1 (en) Technique for determining a point-to-multipoint tree linking a root node to a plurality of leaf nodes
WO2003071745A1 (en) Dynamic distributed method for local protection of a label-switching path
WO2008037918A1 (en) System for securing the access to a destination in a virtual private network
EP2337284B1 (en) Secure routing protocol
EP2338258A1 (en) Technique for protecting leaf nodes of a point-to-multipoint tree in a communication network in connected mode
EP2070268B1 (en) Core router capable of securing the output router of an autonomous system
EP2345210B1 (en) Management of routing topology in a network
EP3387802A1 (en) Method for combating micro-looping during the convergence of switching tables
WO2009047439A2 (en) Method for the failure tolerant distributed routing of data in a network
EP2332293B1 (en) Distribution of routes in a network of routers
EP3326294B1 (en) Method for determining a route in a plc network
EP3815316B1 (en) Communication method implemented by a first router of an autonomous system using an interior gateway protocol
EP2238718B1 (en) Technique for protecting a label switching path in connected mode during a fault affecting a given node of the path
FR2939260A1 (en) METHOD FOR CONFIGURING A VIRTUAL CIRCUIT
EP2235893B1 (en) Technique for protecting a multipoint-to-multipoint tag switching path in connected mode upon a failure affecting a given node of the path
EP2254288B1 (en) Method for preventing loops in inter-domain routing
WO2008056088A2 (en) Method for restoring a service booking system in a network after failure
EP2198573A2 (en) Method for establishing intercommunication between a plurality of end nodes via a communication network

Legal Events

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

Ref document number: 08837365

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08837365

Country of ref document: EP

Kind code of ref document: A2