FR2881904A1 - METHOD FOR MANAGING SESSION RESET ACCORDING TO A ROUTING PROTOCOL - Google Patents

METHOD FOR MANAGING SESSION RESET ACCORDING TO A ROUTING PROTOCOL Download PDF

Info

Publication number
FR2881904A1
FR2881904A1 FR0501140A FR0501140A FR2881904A1 FR 2881904 A1 FR2881904 A1 FR 2881904A1 FR 0501140 A FR0501140 A FR 0501140A FR 0501140 A FR0501140 A FR 0501140A FR 2881904 A1 FR2881904 A1 FR 2881904A1
Authority
FR
France
Prior art keywords
router
information
session
routing table
routing
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
FR0501140A
Other languages
French (fr)
Inventor
Marc Capelle
David Jacquet
Bruno Decraene
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
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 SA filed Critical France Telecom SA
Priority to FR0501140A priority Critical patent/FR2881904A1/en
Priority to PCT/FR2006/000240 priority patent/WO2006082321A1/en
Publication of FR2881904A1 publication Critical patent/FR2881904A1/en
Pending legal-status Critical Current

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

Abstract

Dans un réseau de transmission de paquets, une pluralité de routeurs ont entre eux des sessions selon un protocole de routage pour échanger des informations de routage et/ou de connectivité indiquant des chemins pour transmettre des paquets à travers le réseau. Relativement à une session donnée (111), un premier routeur (101) maintient une table de routage (104). Le premier routeur sauvegarde dans une base de données (105) des informations de la table de routage, et le second routeur stocke dans une mémoire (109) des informations envoyées ou à envoyer. Sur le premier routeur, après une perte d'informations contenues dans la table de routage, on récupère (201) les informations sauvegardées dans la base de données. On reçoit (202) depuis le second routeur les informations stockées par le second routeur. On met à jour la table de routage sur la base des informations récupérées et reçues.In a packet transmission network, a plurality of routers have sessions in accordance with a routing protocol for exchanging routing and / or connectivity information indicating paths for transmitting packets across the network. In relation to a given session (111), a first router (101) maintains a routing table (104). The first router stores information from the routing table in a database (105), and the second router stores information sent or to be sent in a memory (109). On the first router, after a loss of information contained in the routing table, it retrieves (201) the information saved in the database. The information stored by the second router is received (202) from the second router. The routing table is updated based on the information retrieved and received.

Description

PROCEDE DE GESTION DE REINITIALISATION DE SESSION SELON UNSESSION RESET MANAGEMENT METHOD ACCORDING TO ONE

PROTOCOLE DE ROUTAGEROUTING PROTOCOL

La présente invention est relative au domaine des télécommunications, et plus particulièrement des protocoles de routage et des équipements de réseau mettant en oeuvre de tels protocoles.  The present invention relates to the field of telecommunications, and more particularly to routing protocols and network equipment implementing such protocols.

Un réseau de télécommunication classique comprend des équipements de réseau, appelés routeurs. Ceux-ci utilisent des protocoles de routage entre eux pour optimiser la transmission des paquets. En effet, la transmission d'un paquet depuis un équipement jusqu'à un autre équipement dans le réseau peut généralement être réalisée suivant plusieurs chemins. Les routeurs, grâce aux protocoles de routage, permettent d'optimiser la transmission de paquets en sélectionnant suivant des critères déterminés le meilleur chemin de transmission parmi des chemins de transmission possibles. Un routeur sélectionne un tel chemin de transmission sur la base d'informations généralement reçues selon un protocole de routage et mémorisées dans des tables de routage. Un protocole de routage est un protocole qui fournit des mécanismes permettant à un routeur de construire une table de routage et de partager des informations de routage avec d'autres routeurs voisins, c'est-à-dire des routeurs avec lesquels il entretient une session selon le protocole de routage. Il existe plusieurs types de protocoles de routage qui utilisent des méthodes différentes pour aider le routeur à collecter des informations de routage.  A conventional telecommunications network includes network equipment, called routers. These use routing protocols between themselves to optimize the transmission of packets. Indeed, the transmission of a packet from one device to another equipment in the network can generally be carried out in several ways. Routers, through routing protocols, optimize the transmission of packets by selecting according to certain criteria the best transmission path among possible transmission paths. A router selects such a transmission path on the basis of information generally received according to a routing protocol and stored in routing tables. A routing protocol is a protocol that provides mechanisms for a router to construct a routing table and share routing information with other neighboring routers, i.e., routers with which it maintains a session. according to the routing protocol. There are several types of routing protocols that use different methods to help the router collect routing information.

Un protocole de routage nommé BGP ( Border Gateway Protocol ) est très largement utilisé dans les réseaux, notamment de type Internet. Les routeurs qui implémentent le protocole BGP sont généralement déployés de façon redondante. Ainsi, les informations de routage transportées dans le protocole de type BGP sont souvent accessibles depuis plusieurs points du réseau.  A routing protocol named BGP (Border Gateway Protocol) is widely used in networks, including Internet type. Routers that implement BGP are typically deployed redundantly. Thus, the routing information transported in the BGP protocol is often accessible from several points of the network.

Le protocole BGP transmet des informations telles que des routes Internet, comme définies par la version 4 du protocole IP, ou IPv4, dans la RFC 791, pour Request For Comment 791. Une extension apportée à ce protocole, nommée MP-BGP pour Multi Protocol BGP, lui permet de transmettre d'autres types de route, sur la base de la version 6 du protocole IP ou IPv6, Multicast, L2-VPN pour Layer 2 Virtual Private Network, L3-VPN pour Layer 3 Virtual Private Network, ...), dans des sessions établies entre deux routeurs.  The BGP protocol transmits information such as Internet routes, as defined by version 4 of the IP protocol, or IPv4, in RFC 791, for Request For Comment 791. An extension to this protocol, named MP-BGP for Multi Protocol BGP, allows it to transmit other types of route, based on version 6 of the IP or IPv6 protocol, Multicast, L2-VPN for Layer 2 Virtual Private Network, L3-VPN for Layer 3 Virtual Private Network, .. .), in sessions established between two routers.

De préférence, chaque routeur a une session établie avec les autres routeurs d'un même réseau. En effet, ce type de protocole est un protocole dit 'fully-meshed'.  Preferably, each router has a session established with the other routers of the same network. Indeed, this type of protocol is a so-called 'fully-meshed' protocol.

Ainsi, un routeur peut router des paquets sur la base d'informations de routage qu'il a reçues depuis son initialisation. De telles informations sont stockées sous forme de tables de routage. De manière générale, certaines de ces tables sont associées à une session donnée et d'autres tables peuvent contenir des informations globales directement relatives au routeur.  Thus, a router can route packets based on routing information it has received since its initialization. Such information is stored as routing tables. In general, some of these tables are associated with a given session and other tables may contain global information directly related to the router.

Lorsqu'un problème se produit sur une session BGP, comme par exemple une perte involontaire de session entre un premier et un second routeurs, ou encore un comportement protocolaire erroné d'un des deux routeurs, ou simplement une fermeture volontaire d'une session pour cause de maintenance, la session BGP est alors interrompue.  When a problem occurs on a BGP session, such as an unintentional session loss between a first and a second router, or an erroneous protocol behavior of one of the two routers, or simply a voluntary closing of a session for cause of maintenance, the BGP session is then interrupted.

L'interruption d'une telle session BGP peut nuire non seulement aux performances des premier et second routeurs mais aussi aux performances du réseau tout entier.  Interrupting such a BGP session may not only affect the performance of the first and second routers but also the performance of the entire network.

En effet, un routage selon le protocole BGP est basé sur la propagation des informations de routeur en routeur dans les sessions BGP entre les routeurs du réseau tout entier. En cas de rupture d'une session BGP, le contenu des tables associées à cette session perdue entre deux routeurs est supprimé sur ces deux routeurs. Les routeurs ne sont donc plus en mesure de router des paquets sur la base des informations contenues dans les tables relatives à la session interrompue. Ce routage, réalisé en l'absence de telles informations, correspond à un mode de fonctionnement dégradé. Le passage d'un mode à l'autre est réalisé lors de la phase de convergence du protocole de routage. On entend par 'phase de convergence d'un protocole de routage', une phase d'adaptation de ce protocole afin de gérer une nouvelle situation, notamment lors de réception de nouvelles informations. Une telle phase d'adaptation peut comprendre un calcul de meilleures routes prenant en compte les nouvelles informations reçues, ou encore une diffusion, ou les cas échéant rediffusion, de ces nouvelles informations à d'autres routeurs, ou encore une diffusion, ou le cas échéant rediffusion, de résultats obtenus à partir de calculs réalisés sur ces nouvelles informations.  Indeed, a routing according to the BGP protocol is based on the propagation of information from router to router in the BGP sessions between the routers of the entire network. In the event of a break in a BGP session, the contents of the tables associated with this lost session between two routers are deleted on these two routers. The routers are no longer able to route packets based on the information contained in the tables relating to the interrupted session. This routing, performed in the absence of such information, corresponds to a degraded mode of operation. The transition from one mode to another is performed during the convergence phase of the routing protocol. The term 'convergence phase of a routing protocol' means a phase of adaptation of this protocol in order to manage a new situation, in particular when new information is received. Such an adaptation phase may include a calculation of better routes taking into account the new information received, or a broadcast, or if necessary rediffusion, of this new information to other routers, or a broadcast, or the case re-broadcast of results obtained from calculations made on this new information.

La session interrompue est ensuite réinitialisée. Une telle gestion de réinitialisation de session requiert certaines étapes à exécuter par le premier et le second routeurs. Ces deux routeurs s'échangent notamment les informations contenues dans les tables globales.  The interrupted session is then reset. Such session reset management requires certain steps to be performed by the first and second routers. These two routers exchange in particular the information contained in the global tables.

Ces étapes de gestion de réinitialisation de session peuvent dans certains cas correspondre à une transmission de grande quantité d'informations entre les deux routeurs, ce qui peut requérir un temps important. Or, pendant la convergence du protocole de routage, la performance du routage des paquets dans le réseau peut être sensiblement diminuée.  These session reset management steps may in some cases correspond to a large amount of information being transmitted between the two routers, which may require a significant amount of time. However, during the convergence of the routing protocol, the performance of the packet routing in the network can be significantly reduced.

Il est de ce fait intéressant de réduire les temps de convergence dans de telles conditions.  It is therefore interesting to reduce convergence times under such conditions.

La présente invention vise à proposer une solution tendant à satisfaire ces besoins.Un premier aspect de l'invention propose un procédé de gestion de réinitialisation de session selon un protocole de routage dans un réseau de transmission de paquets comprenant une pluralité de routeurs ayant entre eux des sessions selon ledit protocole pour échanger des informations de routage et/ou de connectivité indiquant des chemins pour transmettre des paquets à travers le réseau; relativement à une session donnée entre un premier et un second routeurs, le premier routeur maintenant une table de routage mise à jour en fonction d'informations reçues depuis le second routeur dans ladite session; suivant lequel le premier routeur sauvegarde dans une base de données des informations contenues dans ladite table de routage, et le second routeur stocke dans une mémoire des informations envoyées ou à envoyer au premier routeur, ledit procédé comprenant les étapes suivantes exécutées par le premier routeur après une perte d'informations contenues dans la table de routage: /a/ récupérer les informations sauvegardées par le premier routeur dans la base de données; /b/ recevoir depuis le second routeur dans ladite session lesdites informations stockées par le second routeur; /c/ mettre à jour la table de routage sur la base des informations récupérées à l'étape /a/ et des informations reçues à l'étape /b/.  The present invention aims at providing a solution tending to satisfy these needs. A first aspect of the invention proposes a session reset management method according to a routing protocol in a packet transmission network comprising a plurality of routers having between them sessions according to said protocol for exchanging routing and / or connectivity information indicating paths for transmitting packets across the network; relative to a given session between a first and a second router, the first router maintaining a routing table updated based on information received from the second router in said session; wherein the first router stores in a database information contained in said routing table, and the second router stores in a memory information sent or to be sent to the first router, said method comprising the following steps performed by the first router after a loss of information contained in the routing table: / a / recover the information saved by the first router in the database; / b / receiving from the second router in said session said information stored by the second router; / c / updating the routing table on the basis of the information retrieved in step / a / and the information received in step / b /.

Grâce à ces dispositions, lors de la phase de réinitialisation de la session, après interruption de cette dernière, le premier routeur est en mesure de récupérer rapidement les informations de routage précédemment contenues dans sa table de routage. En effet, seules les informations stockées en mémoire par le second routeur sont envoyées au premier routeur. La quantité de ces informations est directement liée au nombre de messages envoyés ou à envoyer dans la session, et par conséquent dépend de la stabilité du réseau. En effet, plus le réseau est stable, moins de messages protocolaires sont émis dans la session. Les informations de connectivité envoyées par un routeur peuvent comprendre notamment l'ensemble des destinations que ce routeur est capable de joindre ou d'atteindre. On en déduit donc aisément que plus un réseau est stable, plus la quantité d'informations stockées en mémoire par le second routeur est faible. De ce fait, dans la phase de réinitialisation de la session, à l'étape /b/, une faible quantité de données circulent entre le second routeur et le premier routeur. Cette quantité peut être très inférieure à la quantité d'informations contenues dans la table de routage du second type du second routeur.  Thanks to these provisions, during the phase of resetting the session, after interruption of the latter, the first router is able to quickly recover the routing information previously contained in its routing table. Indeed, only the information stored in memory by the second router is sent to the first router. The amount of this information is directly related to the number of messages sent or sent in the session, and therefore depends on the stability of the network. Indeed, the more stable the network, the fewer protocol messages are emitted in the session. The connectivity information sent by a router may include all destinations that this router is able to reach or reach. It is therefore easy to deduce that the more stable a network is, the lower the amount of information stored in memory by the second router. Therefore, in the session reset phase, in step / b /, a small amount of data flows between the second router and the first router. This amount can be much less than the amount of information contained in the routing table of the second type of the second router.

On est ainsi en mesure de réduire le temps de convergence du protocole de routage.  It is thus possible to reduce the convergence time of the routing protocol.

On note qu'un tel procédé est basé sur un mécanisme à deux parties, une première partie correspondant aux opérations à mettre en oeuvre dans une phase de fonctionnement 'normal' et une seconde partie correspondant aux opérations à mettre en oeuvre dans une phase de réinitialisation de la session, après une interruption de cette dernière.  It is noted that such a method is based on a two-part mechanism, a first part corresponding to the operations to be implemented in a 'normal' operating phase and a second part corresponding to the operations to be implemented in a reset phase. session, after an interruption of the session.

La sauvegarde dans la base de données du premier routeur peut être déclenchée en fonction de critères définis et le stockage en mémoire du second routeur peut comprendre le stockage en continu dans un journal des informations envoyées ou à envoyer au premier routeur depuis la sauvegarde réalisée par ce dernier.  The backup in the database of the first router can be triggered according to defined criteria and the storage in memory of the second router can comprise the continuous storage in a log of the information sent or to be sent to the first router since the backup performed by this latest.

On peut prévoir que la sauvegarde du premier routeur soit déclenchée à intervalle de temps régulier.  It can be provided that the backup of the first router is triggered at regular intervals of time.

Ainsi, on peut avantageusement déclencher une telle étape de sauvegarde périodiquement ou encore lorsque les conditions de trafic dans le réseau remplissent certains critères définis. Une telle caractéristique offre une flexibilité dans un mode de réalisation de la présente invention qui peut être très efficace pour améliorer les performances de routage dans un réseau. Le procédé selon un mode de réalisation de l'invention comprend en outre, à chaque sauvegarde, les étapes suivantes: /1/ créer un journal sur le second routeur et émettre depuis le second routeur à destination du premier routeur un message de déclenchement de sauvegarde de la table de routage dans la base de données; /2/ sur réception dudit message de déclenchement, par le premier routeur, sauvegarder les informations contenues dans la table de routage dans la base de données; /3/ stocker par le second routeur, dans ledit journal créé, les informations envoyées ou à envoyer au premier routeur.  Thus, it is advantageous to trigger such a backup step periodically or when traffic conditions in the network meet certain defined criteria. Such a feature provides flexibility in an embodiment of the present invention that can be very effective in improving routing performance in a network. The method according to one embodiment of the invention further comprises, at each backup, the following steps: / 1 / create a log on the second router and send from the second router to the first router a backup trigger message the routing table in the database; / 2 / on receiving said trigger message, by the first router, save the information contained in the routing table in the database; / 3 / storing by the second router, in said created log, the information sent or to be sent to the first router.

On peut renouveler la sauvegarde des informations dans la base de données en réitérant les étapes /1/ à /3/ ; les informations dans la base de données par réitération des étapes /1/ à /3/.  We can renew the backup of information in the database by repeating steps / 1 / to / 3 /; the information in the database by repeating steps / 1 / to / 3 /.

Le procédé comprend alors en outre les étapes suivantes, après l'étape /2/ : - supprimer sur le premier routeur les informations sauvegardées lors de la sauvegarde précédente le cas échéant, et émettre depuis le premier routeur à destination du second routeur un message de réponse audit message de déclenchement; - sur réception dudit message de réponse, supprimer le journal créé lors de la sauvegarde précédente le cas échéant.  The method then further comprises the following steps, after step / 2 /: - delete on the first router the information saved during the previous backup if necessary, and send from the first router to the second router a message of response to said trigger message; - On receipt of said response message, delete the log created during the previous backup if necessary.

Le procédé peut comprendre en outre, lors d'une phase d'établissement de la session et/ou au cours de la session établie, une phase de négociation entre le premier et le second routeurs pour déterminer, en fonction de paramètres définis, si on exécute les étapes dudit procédé relativement à ladite session.  The method may furthermore comprise, during a session establishment phase and / or during the established session, a negotiation phase between the first and second routers to determine, according to defined parameters, whether performs the steps of said method with respect to said session.

Les premier et second routeurs peuvent déterminer une période de réalisation des sauvegardes au cours de la phase de négociation.  The first and second routers can determine a period of realization of the backups during the negotiation phase.

Dans un mode de réalisation de la présente invention, le second routeur maintient une table de routage mise à jour en fonction d'informations reçues depuis le second routeur et sauvegarde dans une base de données des informations contenues dans ladite table de routage. Le premier routeur stocke dans une mémoire des informations envoyées ou à envoyer au second routeur. Le second routeur exécute alors les étapes du procédé réalisées par le premier routeur comme les sections précédentes l'énoncent et le premier routeur exécute les étapes du procédé réalisées par le second routeur comme les sections précédentes l'énoncent.Un deuxième aspect de la présente invention propose un routeur destiné à avoir une session avec un autre routeur selon un protocole de routage dans un réseau de transmission de paquets comprenant: des moyens agencés pour maintenir une table de routage mise à jour en fonction d'informations reçues depuis ledit autre routeur dans la session; des moyens agencés pour sauvegarder dans une base de données des informations contenues dans ladite table de routage; des moyens agencés pour récupérer les informations sauvegardées dans ladite base de données; - des moyens agencés pour mettre à jour la table de routage après une perte d'informations contenues dans la table de routage, sur la base des informations récupérées dans ladite base de données après ladite perte d'informations et des informations reçues depuis l'autre routeur après ladite perte d'informations.  In one embodiment of the present invention, the second router maintains an updated routing table based on information received from the second router and stores in a database information contained in said routing table. The first router stores in a memory information sent or to be sent to the second router. The second router then executes the steps of the method performed by the first router as the preceding sections state and the first router executes the process steps performed by the second router as the preceding sections state. A second aspect of the present invention proposes a router for having a session with another router according to a routing protocol in a packet transmission network comprising: means arranged to maintain an updated routing table based on information received from said other router in the session; means arranged for saving information contained in said routing table in a database; means arranged to retrieve the information saved in said database; means arranged to update the routing table after a loss of information contained in the routing table, on the basis of the information retrieved from said database after said loss of information and information received from the other router after said loss of information.

Un troisième aspect propose un routeur destiné à avoir une session avec un autre routeur selon un protocole de routage dans un réseau de transmission de paquets, ledit autre routeur maintenant une table de routage mise à jour en fonction d'informations reçues depuis ledit routeur; ledit routeur comprenant: - des moyens agencés pour stocker dans une mémoire des informations envoyées ou à envoyer audit autre routeur; des moyens agencés pour envoyer audit autre routeur lesdites informations après une perte d'informations contenues dans la table de routage dudit autre routeur.  A third aspect provides a router for having a session with another router according to a routing protocol in a packet transmission network, said other router maintaining a routing table updated based on information received from said router; said router comprising: means arranged to store in a memory information sent or to be sent to said other router; means arranged to send said other router said information after loss of information contained in the routing table of said other router.

Un quatrième aspect de la présente invention propose un système de gestion de réinitialisation de session selon un protocole de routage dans un réseau de transmission de paquets comprenant une pluralité de routeurs ayant entre eux des sessions selon ledit protocole pour échanger des informations de routage et/ou de connectivité indiquant des chemins pour transmettre des paquets à travers le réseau; ledit système comprenant un premier routeur selon le second aspect de la présente invention et un second routeur selon le troisième aspect de la présente invention.  A fourth aspect of the present invention provides a session reset management system according to a routing protocol in a packet transmission network comprising a plurality of routers having between them sessions according to said protocol for exchanging routing information and / or connectivity indicating paths for transmitting packets across the network; said system comprising a first router according to the second aspect of the present invention and a second router according to the third aspect of the present invention.

D'autres aspects, buts et avantages de l'invention apparaîtront à la lecture de la description d'un de ses modes de réalisation.  Other aspects, objects and advantages of the invention will appear on reading the description of one of its embodiments.

L'invention sera également mieux comprise à l'aide des dessins, sur lesquels: - la figure 1 illustre les principales étapes de la première partie du mécanisme sur lequel est basé le procédé de gestion de réinitialisation de session de protocole de routage dans un réseau selon un mode de réalisation de l'invention la figure 2 illustre les principales étapes de la seconde partie du mécanisme sur lequel est basé le procédé de gestion de réinitialisation de session de protocole de routage dans un réseau selon un mode de réalisation de l'invention la figure 3 détaille une architecture de routeurs dans un réseau selon un mode de réalisation de l'invention la figure 4 est un schéma représentant un échange de messages entre deux routeurs ayant une session entre eux, dans la première partie du mécanisme sur lequel est basé le procédé selon un mode de réalisation de la présente invention; la figure 5 est un schéma représentant un échange de messages entre deux routeurs dans une phase de négociation de version de 25 30 fichiers du procédé selon un mode de réalisation de la présente invention.  The invention will also be better understood with the aid of the drawings, in which: FIG. 1 illustrates the main steps of the first part of the mechanism on which the routing protocol session reset management method in a network is based; according to one embodiment of the invention, FIG. 2 illustrates the main steps of the second part of the mechanism on which the routing protocol session reset management method in a network according to one embodiment of the invention is based. FIG. 3 details a router architecture in a network according to one embodiment of the invention; FIG. 4 is a diagram representing an exchange of messages between two routers having a session between them, in the first part of the mechanism on which is based the method according to one embodiment of the present invention; Fig. 5 is a diagram showing an exchange of messages between two routers in a version negotiation phase of 25 files of the method according to an embodiment of the present invention.

Un routeur selon un mode de réalisation de l'invention maintient une première table de routage contenant des informations de routage et/ou de connectivité reçues depuis un ou plusieurs routeurs voisins. De préférence, dans un mode de réalisation de la présente invention, il maintient une seconde table de routage contenant des informations de routage et/ou de connectivité envoyées à un ou plusieurs routeurs voisins, via le protocole de routage du réseau.  A router according to one embodiment of the invention maintains a first routing table containing routing and / or connectivity information received from one or more neighboring routers. Preferably, in one embodiment of the present invention, it maintains a second routing table containing routing and / or connectivity information sent to one or more neighboring routers via the network routing protocol.

De telles tables sont respectivement nommées par la suite 'table de routage du premier type' et 'table de routage du second type'.  Such tables are respectively named afterwards 'routing table of the first type' and 'routing table of the second type'.

Une telle configuration ne limite pas la présente invention. En effet, un procédé selon un mode de réalisation de la présente invention peut être mis en oeuvre facilement sans que le routeur ne maintienne une table de routage du second type.  Such a configuration does not limit the present invention. Indeed, a method according to an embodiment of the present invention can be implemented easily without the router maintaining a routing table of the second type.

Un réseau de type Internet est scindé en une pluralité de 'sous-réseaux', chacun fonctionnant sous une administration technique propre, appelés 'système autonome'. Un système autonome est un ensemble de routeurs fonctionnant sous une seule administration technique, utilisant un protocole de routage intérieur, nommé IGP pour Interior Gateway Protocol, et des informations de routage relatives à ce protocole de routage intérieur et communes à l'ensemble de routeurs pour router les paquets à l'intérieur du système autonome. Les protocoles ISIS pour Intermediate System to Intermediate System, OSPF pour Open Shortest Path First, RIP pour Routing Information Protocol, IGRP pour Interior Gateway Routing Protocol, sont de tels protocoles IGP. De tels routeurs utilisent par ailleurs un protocole de routage extérieur, nommé EGP pour Exterior Gateway Protocol pour router les paquets vers les autres systèmes autonomes. Le protocole BGP4 est un protocole de type EGP.  An Internet-like network is split into a plurality of 'subnetworks', each operating under their own technical administration, called 'autonomous system'. An autonomous system is a set of routers operating under a single technical administration, using an interior routing protocol, named IGP for Interior Gateway Protocol, and routing information relating to that inner routing protocol and common to the set of routers for route the packets inside the autonomous system. The ISIS protocols for Intermediate System to Intermediate System, OSPF for Open Shortest Path First, RIP for Routing Information Protocol, IGRP for Interior Gateway Routing Protocol, are such IGP protocols. Such routers also use an external routing protocol, named EGP for Exterior Gateway Protocol to route packets to other autonomous systems. The BGP4 protocol is an EGP type protocol.

Un protocole de routage dérivé du protocole BGP est nommé MP-BGP, pour Multi Protocol BGP. Il fournit la possibilité aux systèmes autonomes de s'échanger des informations étendues que le protocole BGP seul ne gère pas. Cette variante du protocole est utilisée pour échanger des informations liées à la technologie MPLS-VPN, pour Multi Protocol Label Switching Virtual Private Network, Multicast, ou encore IPv6. II existe encore d'autres variantes du protocole BGP, comme par exemple e-BGP utilisé entre routeurs appartenant à des systèmes autonomes différents et i-BGP utilisé entre routeurs appartenant au même système autonome.  A routing protocol derived from the BGP protocol is named MP-BGP, for Multi Protocol BGP. It provides the ability for autonomous systems to exchange extended information that the BGP protocol alone does not handle. This variant of the protocol is used to exchange information related to the MPLS-VPN technology, for Multi Protocol Label Switching Virtual Private Network, Multicast, or IPv6. There are still other variants of the BGP protocol, for example e-BGP used between routers belonging to different autonomous systems and i-BGP used between routers belonging to the same autonomous system.

La présente invention s'applique à tous les réseaux basés sur de tels protocoles.  The present invention applies to all networks based on such protocols.

La présente invention peut être mise en oeuvre dans des réseaux unifiés ainsi que dans des réseaux comprenant plusieurs domaines administratifs. Elle peut s'appliquer dans des réseaux interconnectés à un réseau de type Internet, ou encore dans des réseaux utilisés à des fins privées.  The present invention can be implemented in unified networks as well as in networks comprising several administrative domains. It can be applied in networks interconnected to an Internet-type network, or in networks used for private purposes.

L'invention couvre une configuration dans laquelle tous les routeurs du réseau mettent en oeuvre avantageusement un procédé selon un mode de réalisation de l'invention. Toutefois, une configuration dans laquelle une partie seulement des routeurs du réseau met en oeuvre un mode de réalisation de l'invention s'avère déjà être très avantageuse.  The invention covers a configuration in which all the routers of the network advantageously implement a method according to one embodiment of the invention. However, a configuration in which only part of the routers of the network implements an embodiment of the invention is already proving to be very advantageous.

Le procédé selon l'invention peut être considéré comme un procédé unidirectionnel en ce sens qu'il comprend certaines opérations réalisées par le premier routeur et d'autres réalisées par le second routeur. II peut avantageusement être mis en oeuvre dans une seule direction, c'est-àdire lorsqu'un seul des deux routeurs met à jour sa table de routage du premier type après une interruption de session entre les deux routeurs.  The method according to the invention can be considered as a unidirectional method in that it comprises certain operations performed by the first router and others carried out by the second router. It can advantageously be implemented in only one direction, that is to say when only one of the two routers updates its routing table of the first type after a session interruption between the two routers.

Il peut également être mis en oeuvre dans les deux directions, par symétrie des opérations réalisées par les deux routeurs. On note par ailleurs qu'on peut mettre en oeuvre le procédé selon l'invention dans une direction indépendamment de la mise en oeuvre du procédé dans l'autre direction.  It can also be implemented in both directions, by symmetry of the operations performed by the two routers. It should also be noted that the method according to the invention can be implemented in one direction independently of the implementation of the method in the other direction.

Les termes routeur voisin d'un routeur donné font référence à un routeur ayant une session selon le protocole de routage du réseau avec le routeur donné.  The terms neighbor router of a given router refer to a router having a session according to the routing protocol of the network with the given router.

Un routeur dans un réseau de routeurs ayant des sessions selon le protocole BGP, gère en général trois types de tables, les tables du premier type et du second type étant relatives à une session donnée et un autre type de table étant relatif au routeur.  A router in a network of routers having sessions according to the BGP protocol, generally manages three types of tables, the tables of the first type and the second type being relative to a given session and another type of table being relative to the router.

Ainsi, le premier type de table de routage relatif à une session, référencé sous le terme "Adjacency-RIB-In", contient les informations protocolaire BGP reçues depuis un routeur voisin dans cette session. Le second type de table de routage relatif à une session, référencé sous le terme "Adjacency-RIB-Out" contient les informations protocolaires BGP envoyées ou à envoyer à un routeur voisin dans cette session. Puis, l'autre type de table de routage, référencé "Local RIB", contient des informations protocolaires BGP relatives au routeur reçues depuis l'ensemble des routeurs voisins définis sur l'équipement. Cette dernière table de routage, ou un sous-ensemble de cette table, peut être diffusé à tous les routeurs voisins configurés sur le routeur considéré, ce qui permet notamment de créer les tables du second type pour tous les routeurs.  Thus, the first type of session-related routing table, referred to as "Adjacency-RIB-In", contains the BGP protocol information received from a neighboring router in that session. The second type of session-related routing table referred to as "Adjacency-RIB-Out" contains the BGP protocol information sent or to be sent to a neighboring router in this session. Then, the other type of routing table, referenced "Local RIB", contains BGP protocol information relating to the router received from all the neighboring routers defined on the equipment. This last routing table, or a subset of this table, can be broadcast to all the neighboring routers configured on the considered router, which allows in particular to create the second type tables for all routers.

En général, un routeur a donc une table unique 'Local RIB' qui synthétise les informations reçues depuis le réseau, et autant de tables de routage du premier et du second type qu'il a de sessions avec d'autres routeurs.  In general, a router therefore has a unique 'Local RIB' table that summarizes the information received from the network, and as many routing tables of the first and second type that it has sessions with other routers.

En cas d'interruption de session entre deux routeurs, les routeurs perdent les informations relatives à la session, c'est-à-dire les informations contenues dans leurs tables de routage du premier et du second type.  In the event of a session break between two routers, the routers lose the information relating to the session, that is to say the information contained in their routing tables of the first and second types.

Un objectif de la présente invention est de permettre que, lors de la réinitialisation de la session, les routeurs puissent mettre à jour au plus vite les informations relatives à cette session.  An object of the present invention is to allow that, during the reset of the session, the routers can update as soon as possible the information relating to this session.

Pour une session entre un premier et un second routeurs, quand on active un tel procédé dans un sens de communication, certaines étapes du procédé sont réalisées sur le premier routeur et certaines autres étapes sont réalisées sur le second routeur. Une telle configuration peut s'avérer être avantageuse dans certaines conditions. II peut également être parfois avantageux de mettre en oeuvre un tel procédé sur une partie seulement des routeurs du réseau.  For a session between a first and a second router, when activating such a method in a communication direction, certain process steps are performed on the first router and some other steps are performed on the second router. Such a configuration may prove to be advantageous under certain conditions. It may also sometimes be advantageous to implement such a method on only part of the routers of the network.

On peut également mettre en oeuvre le procédé de manière symétrique sur les premier et second routeurs d'une même session. Dans ce cas, le procédé est activé de manière bidirectionnelle.  It is also possible to implement the method symmetrically on the first and second routers of the same session. In this case, the method is bidirectionally activated.

Ainsi, la figure 1 illustre une telle application à un routeur dans un réseau de routeurs selon un protocole BGP.  Thus, FIG. 1 illustrates such an application to a router in a router network according to a BGP protocol.

Une session 111 relie un premier routeur 101 et un second routeur 102. Le routeur 101 a une table du premier type 104, ou table 'Tab-In'. Le routeur 102 a une table du second type 108, ou table 'Tab-Out'.  A session 111 connects a first router 101 and a second router 102. The router 101 has a table of the first type 104, or table 'Tab-In'. The router 102 has a table of the second type 108, or table 'Tab-Out'.

Dans un mode de réalisation de la présente invention, le routeur 101 gère en outre une base de données 105 dans laquelle il sauvegarde le contenu de la table 104. Cette sauvegarde est de préférence réalisée toutes les fois que certains critères définis sont remplis. On note que le contenu de cette base de données n'est préférablement pas affecté par des interruptions sur la session 111.  In one embodiment of the present invention, the router 101 also manages a database 105 in which it saves the contents of the table 104. This backup is preferably performed whenever certain defined criteria are fulfilled. Note that the content of this database is preferably not affected by interruptions on the session 111.

Par ailleurs, le routeur 102 stocke en mémoire les informations qui ont déjà été envoyées au routeur 101 et les informations destinées à être envoyées au routeur 101 dans la session 111.  In addition, the router 102 stores in memory the information that has already been sent to the router 101 and the information to be sent to the router 101 in the session 111.

Les sections suivantes décrivent un mode de réalisation du procédé appliqué à une seule session BGP. Il est aisé d'en déduire une application à plusieurs sessions simultanées sur un même routeur.  The following sections describe an embodiment of the method applied to a single BGP session. It is easy to deduce an application to several simultaneous sessions on the same router.

De préférence, la mise en oeuvre du procédé selon un mode de réalisation de la présente invention est optionnelle sur les routeurs. Pendant l'initialisation de la session 111, les routeurs 101 et 102 s'informent mutuellement de leur capacité respective à mettre en oeuvre un tel procédé. Avantageusement, on peut utiliser à cet effet un mécanisme désigné sous les termes de 'capacité' tel que décrit par des documents de l'IETF (pour 'Internet Engineering Task Force') : un document RFC2842 (pour 'Request For Comment') 'Capability advertisement with BGP-4', May 2000 et un document draft-ietf-idr-dynamic-cap-05.txt, 'Dynamic Capability for BGP-4', 14 July 2004.  Preferably, the implementation of the method according to one embodiment of the present invention is optional on the routers. During the initialization of the session 111, the routers 101 and 102 inform each other of their respective capacities to implement such a method. Advantageously, one can use for this purpose a mechanism referred to as the 'capacity' as described by documents of the IETF (for 'Internet Engineering Task Force'): a document RFC2842 (for 'Request For Comment') Capability advertisement with BGP-4 ', May 2000 and a draft-ietf-idr-dynamic-cap-05.txt document,' Dynamic Capability for BGP-4 ', 14 July 2004.

Dans un mode de réalisation de la présente invention, on peut également prévoir qu'un des deux routeurs, en fonction d'un critère déterminé, peut avantageusement débrayer la mise en oeuvre du procédé, à tout moment. En effet, lorsque l'application du procédé devient pénalisante dans certaines conditions du réseau, il peut être intéressant parfois de débrayer cette option. Cela peut être notamment le cas dans des conditions d'instabilité du réseau.  In one embodiment of the present invention, it can also be provided that one of the two routers, depending on a given criterion, can advantageously disengage the implementation of the method, at any time. Indeed, when the application of the process becomes penalizing under certain network conditions, it may be interesting sometimes to disengage this option. This can be particularly the case under conditions of instability of the network.

Le mécanisme sur lequel est basé le procédé peut être décrit en deux parties essentielles. Une première partie correspond au fonctionnement normal des routeurs dans la session. Une seconde partie correspond à la gestion de la réinitialisation de la session lorsque celle-ci a été interrompue.  The mechanism on which the process is based can be described in two essential parts. A first part corresponds to the normal operation of the routers in the session. A second part is the management of the reset of the session when it was interrupted.

On note préalablement que le mécanisme visant à réinitialiser des informations après une interruption de la session 111 est décrit ci-après relativement au routeur 101. Il est aisé d'étendre cette description à l'application de ce mécanisme au routeur 102 par symétrie des opérations. Dans de telles conditions, le routeur 101 et le routeur 102 peuvent appliquer en parallèle et de manière indépendante le même mécanisme.  It is noted beforehand that the mechanism for resetting information after an interruption of the session 111 is described below with respect to the router 101. It is easy to extend this description to the application of this mechanism to the router 102 by symmetry of the operations. . Under such conditions, the router 101 and the router 102 can parallel and independently apply the same mechanism.

Les sections suivantes décrivent la première partie du mécanisme.  The following sections describe the first part of the mechanism.

Dans cette partie, le routeur 101 sauvegarde les informations contenues dans la table du premier type. Les sauvegardes peuvent être réalisées périodiquement.  In this part, the router 101 stores the information contained in the table of the first type. Backups can be performed periodically.

La périodicité de telles sauvegardes peut être déterminée à l'initialisation de la session, et plus précisément, lors d'une phase de négociation entre les deux routeurs qui peut être basée sur le mécanisme de 'capacité'.  The periodicity of such backups can be determined at the initialization of the session, and more specifically, during a negotiation phase between the two routers that can be based on the mechanism of 'capacity'.

Dans un mode de réalisation préféré de l'invention, les routeurs 101 et 102 se communiquent mutuellement, au cours de la phase de négociation, les périodes auxquelles ils sont en mesure de réaliser des sauvegardes, en se communiquant par exemple, la période minimale et la période maximale.  In a preferred embodiment of the invention, the routers 101 and 102 communicate to each other, during the negotiation phase, the periods at which they are able to make backups, by communicating for example the minimum period and the maximum period.

Une sauvegarde peut être assimilable à un point de synchronisation entre le routeur 101 et le routeur 102 relativement aux données sauvegardées dans la base de données 105 d'une part et aux données stockées en mémoire par le routeur 102 d'autre part. Lorsque le mécanisme de gestion de réinitialisation de session est appliqué dans les deux directions, les périodes de sauvegarde des deux routeurs peuvent être différentes. Cette caractéristique est particulièrement avantageuse pour une session entre un réflecteur de routes, ou RR (pour 'Route Reflector'), et son routeur client.  A backup can be likened to a synchronization point between the router 101 and the router 102 relative to the data saved in the database 105 on the one hand and the data stored in memory by the router 102 on the other hand. When the session reset management mechanism is applied in both directions, the backup periods of the two routers may be different. This feature is particularly advantageous for a session between a route reflector, or RR (for 'Route Reflector'), and its client router.

En effet, pour le RR, les sauvegardes des informations de la table du premier type sont très coûteuses car, en général, les RR ont beaucoup plus de sessions à gérer que leurs clients.  In fact, for the RR, the backups of the information of the table of the first type are very expensive because, in general, the RRs have many more sessions to manage than their clients.

On note que, en règle générale, le RR envoie de nombreuses informations protocolaires à son routeur client et le client envoie relativement peu d'informations protocolaires au RR. II est donc important que le routeur client sauvegarde les informations de sa table du premier type à une période relativement courte afin de permettre au RR de ne pas stocker en mémoire une relativement grande quantité d'informations.  It is noted that, as a rule, the RR sends a lot of protocol information to its client router and the client sends relatively little protocol information to the RR. It is therefore important for the client router to save information from its first type table to a relatively short period of time in order to allow the RR not to store a relatively large amount of information in memory.

Sur le routeur 102, les informations envoyées ou à envoyer au routeur 101 sont stockées, de préférence en continu, dans un journal 109 de telle sorte que ce journal contienne l'activité protocolaire générée par le routeur 102 depuis le dernier point de synchronisation, c'est-à-dire depuis la dernière sauvegarde.  On the router 102, the information sent or to be sent to the router 101 is stored, preferably continuously, in a log 109 so that this log contains the protocol activity generated by the router 102 since the last synchronization point, c. since the last backup.

Afin de pouvoir restaurer, lors de la phase de réinitialisation, une table de premier type cohérente, il est nécessaire de synchroniser la réalisation de la sauvegarde sur le routeur 101 et la création du journal correspondant du côté du routeur 102.  In order to be able to restore, during the reset phase, a coherent first type table, it is necessary to synchronize the realization of the backup on the router 101 and the creation of the corresponding log on the side of the router 102.

L'invention couvre toute méthode permettant aux routeurs 101 et 102 de se synchroniser quant à ces informations à mémoriser pendant la phase de fonctionnement normal.  The invention covers any method allowing routers 101 and 102 to synchronize with respect to this information to be memorized during the normal operating phase.

Ainsi, dans certains cas d'instabilité du réseau et/ou lorsque la période d'interruption de la session s'est prolongée, la quantité d'informations stockées dans le journal peut être plus grande que celle des informations contenues dans la table du second type du routeur 102. Dans de telles conditions il peut alors être intéressant de débrayer le mécanisme.  Thus, in certain cases of network instability and / or when the period of interruption of the session has been prolonged, the quantity of information stored in the log may be greater than that of the information contained in the table of the second type of router 102. In such conditions it may be interesting to disengage the mechanism.

Afin de réduire cette quantité d'informations dans le journal 109, on peut également sélectionner les informations à stocker par le routeur 102 dans le journal 109. Ainsi, lorsqu'il existe plusieurs modifications pour une route donnée, on peut ne stocker que les informations relatives aux plus récentes modifications. On peut également, lorsque cela est possible, regrouper des informations  In order to reduce this amount of information in the log 109, it is also possible to select the information to be stored by the router 102 in the log 109. Thus, when there are several modifications for a given route, only the information can be stored. relating to the most recent amendments. Where possible, information can be aggregated

communes à plusieurs routes pour réduire la quantité d'informations à stocker dans le journal 109.  common to multiple routes to reduce the amount of information to be stored in the log 109.

La figure 2 illustre les principales étapes de la seconde partie du procédé de gestion de réinitialisation de session de protocole de routage dans un réseau selon un mode de réalisation de l'invention. Ces étapes correspondent à la gestion de la réinitialisation de la session lorsque celle-ci a été interrompue. Ainsi, afin de mettre à jour sa table de routage du premier type, le routeur 101 récupère les informations sauvegardées 201 dans la base de données 105. Puis, le routeur 102 envoie au routeur 101 les informations stockées dans le journal 109. Ensuite, le routeur 101 est en mesure de mettre à jour sa table de routage du premier type 104 sur la base des informations récupérées et reçues.  FIG. 2 illustrates the main steps of the second part of the routing protocol session reset management method in a network according to one embodiment of the invention. These steps correspond to the management of the reset of the session when it was interrupted. Thus, in order to update its routing table of the first type, the router 101 retrieves the saved information 201 in the database 105. Then, the router 102 sends to the router 101 the information stored in the log 109. Router 101 is able to update its first type routing table 104 based on the retrieved and received information.

En effet, les informations récupérées dans la base de données 105 correspondent à un état de la table de routage du premier type au moment de la dernière sauvegarde. Puis, dans un mode de réalisation préféré de l'invention, les informations reçues depuis le routeur 102 correspondent aux informations déjà envoyées ou restant à envoyer depuis la dernière sauvegarde. De préférence, les informations reçues depuis le routeur 102 correspondent aux informations déjà envoyées ou restant à envoyer qui sont immédiatement consécutives à la dernière sauvegarde. Ainsi, le routeur 101 est en mesure de mettre à jour la table de routage du premier type sans que le routeur 102 ne lui envoie les informations contenues dans sa table du second type. Le routeur 102 envoie uniquement les informations stockées 202 dans le journal 109.  Indeed, the information retrieved from the database 105 corresponds to a state of the routing table of the first type at the time of the last backup. Then, in a preferred embodiment of the invention, the information received from the router 102 corresponds to the information already sent or still to be sent since the last backup. Preferably, the information received from the router 102 corresponds to the information already sent or still to be sent which is immediately consecutive to the last backup. Thus, the router 101 is able to update the routing table of the first type without the router 102 sending him the information contained in its table of the second type. The router 102 sends only the stored information 202 in the log 109.

Une telle caractéristique est d'autant plus avantageuse lorsque peu d'informations ont été stockées par le routeur 102 entre la dernière sauvegarde et les opérations de réinitialisation de la session.  Such a feature is all the more advantageous when little information has been stored by the router 102 between the last backup and the reset operations of the session.

La figure 3 détaille une architecture de routeurs dans un réseau selon un mode de réalisation de l'invention. Les routeurs 101 et 102 comprennent chacun une table de routage globale 301, une table de routage du premier type 104 et une table de routage du second type 108, ainsi qu'une base de données 105 et une mémoire 109 correspondant au journal. La table de routage globale 301 n'étant pas relative à une session donnée, elle peut être utilisée pour mettre à jour la table de routage du second type 108, le cas échéant.  Figure 3 details a router architecture in a network according to one embodiment of the invention. Routers 101 and 102 each include a global routing table 301, a first type routing table 104 and a second type routing table 108, as well as a database 105 and a memory 109 corresponding to the log. Since the global routing table 301 is not relative to a given session, it can be used to update the routing table of the second type 108, if necessary.

A partir de cette figure, on peut aisément déduire une application en parallèle du mécanisme fondé sur les deux parties décrites ci-dessus d'une part relativement au routeur 101 et d'autre part relativement au routeur 102. Chacun de ces routeurs peut appliquer en parallèle et de façon indépendante le mécanisme du procédé selon un mode de réalisation de l'invention.  From this figure, one can easily deduce a parallel application of the mechanism based on the two parts described above on the one hand relatively to the router 101 and secondly relative to the router 102. Each of these routers can apply in parallel and independently the mechanism of the method according to one embodiment of the invention.

La figure 4 est un schéma représentant un échange de messages entre deux routeurs ayant une session entre eux, avant la perte de la session, selon un mode de réalisation de la présente invention. Cet échange de messages correspond à la première partie du mécanisme, comme décrit précédemment.  Fig. 4 is a diagram showing an exchange of messages between two routers having a session with each other before the loss of the session, according to an embodiment of the present invention. This message exchange corresponds to the first part of the mechanism, as previously described.

A titre illustratif, les sections suivantes décrivent l'échange de messages définis dans le protocole BGP dans une session BGP. L'invention couvre également une implémentation pour laquelle d'autres messages sont utilisés.  As an illustration, the following sections describe the exchange of messages defined in the BGP protocol in a BGP session. The invention also covers an implementation for which other messages are used.

Le protocole de type BGP définit un message de mise à jour des informations de routage et/ou de connectivité, noté BGP-UPDATE ou encore BGP-UPD, certains de ces messages permettent d'ajouter des informations de routage dans des tables de routage, d'autres de ces messages permettent de retirer des informations de routage.  The BGP type protocol defines a message for updating routing and / or connectivity information, denoted BGP-UPDATE or BGP-UPD, some of these messages make it possible to add routing information in routing tables, others of these messages can remove routing information.

Il définit également un message, noté BGP-CAPABILITY ou encore BGP-CAPA, qui permet l'échange d'informations autres que des informations de routage entre deux routeurs voisins.  It also defines a message, denoted BGP-CAPABILITY or BGP-CAPA, which allows the exchange of information other than routing information between two neighboring routers.

Dans cette première partie du mécanisme, à l'étape 405, le routeur 102 émet à destination du routeur 101 un message BGP-UPD' 401. Le routeur 102 stocke alors dans un journal N ce message, de préférence en même temps qu'il émet ce message à destination du routeur 101.  In this first part of the mechanism, in step 405, the router 102 transmits to the router 101 a BGP-UPD message 401. The router 102 then stores in a log N this message, preferably at the same time as sends this message to Router 101.

Puis, à une étape 406, correspondant à une étape de synchronisation, le routeur 102 d'une part émet un message 'BGP-CAPA' 402 à destination du routeur 101 et d'autre part, crée un journal N+1 à une étape 407. Cette étape de synchronisation peut être déclenchée en fonction de critères définis. Par exemple, on peut déclencher cette étape à intervalle de temps régulier, périodiquement ou encore lorsque la taille du journal a atteint un seuil prédéterminé. On peut également déclencher cette étape lorsque les conditions de trafic dans le réseau remplissent certains critères définis.  Then, in a step 406, corresponding to a synchronization step, the router 102 sends a 'BGP-CAPA' message 402 to the router 101 and creates an N + 1 log at a step 407. This synchronization step can be triggered according to defined criteria. For example, this step can be triggered at a regular time interval, periodically or when the log size has reached a predetermined threshold. This step can also be triggered when the traffic conditions in the network fulfill certain defined criteria.

Sur réception de ce message, le routeur 101 sauvegarde les informations contenues dans la table du premier type, à une étape 408.  On receipt of this message, the router 101 saves the information contained in the table of the first type, at a step 408.

Un tel message est utilisé dans ce cas pour requérir auprès du routeur 101 une sauvegarde des informations contenues dans la table du premier type.  Such a message is used in this case to request from the router 101 a backup of the information contained in the table of the first type.

De préférence après avoir réalisé cette sauvegarde, à une étape 409, le routeur 101 supprime les informations relatives à la précédente sauvegarde, le cas échéant.  Preferably after performing this backup, in a step 409, the router 101 deletes the information relating to the previous backup, if any.

Puis, à une étape 410, le routeur 101 émet à destination du routeur 102 un autre message 'BGP-CAPA' 403.  Then, in a step 410, the router 101 transmits another message 'BGP-CAPA' 403 to the router 102.

Sur réception de ce message 403, de préférence, le routeur 102 supprime le journal N, à l'étape 410. En effet, à ce stade, les informations stockées dans le journal N ont été prises en compte dans les informations sauvegardées à l'étape précédente 408.  On receipt of this message 403, preferably, the router 102 deletes the log N, in step 410. Indeed, at this stage, the information stored in the log N has been taken into account in the information saved to the previous step 408.

Puis, le routeur 102 est amené à émettre un ou plusieurs messages BGPUDP' 404 à destination du routeur 101. A l'étape 411, le routeur 102 stocke en mémoire ce message dans le journal N+1, créé précédemment à l'étape 407.  Then, the router 102 is sent to send one or more BGPUDP messages' 404 to the router 101. In the step 411, the router 102 stores in memory this message in the N + 1 log, created previously in step 407 .

II stocke ensuite, dans le journal N+1, les messages de type 'BGPUPD' émis à destination du routeur 101 jusqu'à la prochaine étape de synchronisation similaire à l'étape 406.  It then stores, in the N + 1 log, the messages of the type 'BGPUPD' sent to the router 101 until the next synchronization step similar to the step 406.

Les sections précédentes décrivent donc un mécanisme permettant de synchroniser le contenu du journal géré par le routeur 102 avec le contenu de la base de données géré par le routeur 101 en fonctionnement normal. Une telle synchronisation peut permettre d'optimiser les quantités d'informations enregistrées sur les deux routeurs. De ce fait, elle peut permettre de réduire les informations à envoyer depuis le routeur 102 au routeur 101, correspondant aux informations contenues dans le journal, afin de réinitialiser la session après une interruption.  The preceding sections therefore describe a mechanism for synchronizing the contents of the log managed by the router 102 with the contents of the database managed by the router 101 in normal operation. Such a synchronization can make it possible to optimize the quantities of information recorded on the two routers. Therefore, it can reduce the information to be sent from the router 102 to the router 101, corresponding to the information in the log, to reset the session after an interruption.

Un tel mécanisme de synchronisation entre le routeur 101 et le routeur 102 selon un mode de réalisation de la présente invention est décrit à titre illustratif sans introduire de limitation quant aux mécanismes de synchronisation entre les routeurs. La présente invention couvre tout autre mécanisme de synchronisation possible.  Such a synchronization mechanism between the router 101 and the router 102 according to one embodiment of the present invention is described for illustrative purposes without introducing any limitation as to the synchronization mechanisms between the routers. The present invention covers any other possible synchronization mechanism.

Les sections suivantes décrivent un échange de messages relativement à la seconde partie du mécanisme sur lequel est fondé le procédé selon un mode de réalisation de la présente invention.  The following sections describe a message exchange with respect to the second part of the mechanism on which the method according to one embodiment of the present invention is based.

Ainsi, lorsqu'un problème survient, la session BGP est interrompue et les informations présentes dans les tables du premier et du second types relatives à la session sont perdues. Aussi, la réinitialisation de cette session requiert une phase de "réapprentissage" des informations échangées sur cette session auparavant.  Thus, when a problem occurs, the BGP session is interrupted and the information present in the tables of the first and second types relating to the session are lost. Also, resetting this session requires a phase of "relearning" information exchanged on this session before.

Dans un mode de réalisation de la présente invention, lors de la phase d'initialisation de la session entre les deux routeurs, ces routeurs déterminent, de préférence conjointement, s'ils mettent en oeuvre ou non le procédé selon l'invention.  In one embodiment of the present invention, during the initialization phase of the session between the two routers, these routers determine, preferably jointly, whether they implement the method according to the invention or not.

On note par ailleurs que les informations sauvegardées et/ou les informations stockées dans un journal sont enregistrées dans des fichiers selon des formats déterminés.  Note also that the saved information and / or the information stored in a log are recorded in files in specific formats.

Au moment de l'initialisation de la session, dans un mode de réalisation de la présente invention, les routeurs s'accordent au préalable sur une version du journal et/ou des informations à utiliser.  At the time of initialization of the session, in one embodiment of the present invention, the routers agree in advance on a version of the log and / or information to be used.

Pour cela ils se communiquent de préférence la (ou les) versions de fichier qui leur sont respectivement disponibles. Dans un mode de réalisation de la présente invention, un routeur peut disposer de deux versions différentes.  For that they prefer to communicate to each other the file version (s) which are respectively available to them. In one embodiment of the present invention, a router may have two different versions.

Les routeurs négocient de préférence les versions de fichier lors de l'ouverture de la session et plus précisément lors de la négociation de la capacité'.  Routers preferably negotiate file versions when opening the session and more specifically when negotiating the capacity '.

La figure 5 illustre une telle négociation dans une section 500. Dans cette section, dans un message 'BGP-OPEN' 502 destiné à l'ouverture d'une session BGP, le routeur 101 transmet au routeur 102 les versions P et P+1 disponibles concernant la sauvegarde et les versions M et M+1 disponibles concernant le journal. Le routeur 102 transmet, dans un message BGP-OPEN' 503, au routeur 101 les versions L et L+1 disponibles concernant la sauvegarde et les versions K et K+1 disponibles concernant le journal.  FIG. 5 illustrates such a negotiation in a section 500. In this section, in a 'BGP-OPEN' message 502 intended to open a BGP session, the router 101 transmits to the router 102 the P and P + 1 versions. available for backup and available M and M + 1 versions for the log. The router 102 transmits, in a BGP-OPEN message '503, to the router 101 the versions L and L + 1 available concerning the backup and the versions K and K + 1 available concerning the log.

De préférence, les routeurs sélectionnent, pour chaque direction, le numéro de version le plus élevé disponible à la fois sur les deux routeurs.  Preferably, the routers select, for each direction, the highest version number available on both routers at the same time.

On peut, par exemple, décider de mettre en place la version la plus récente commune aux deux routeurs en ce qui concerne les fichiers de sauvegarde et les fichiers relatifs au journal.  For example, you can decide to set up the latest version common to both routers for backup files and log files.

Dans cet exemple, à l'étape 504, le routeur 101 restaure les informations selon la version commune disponible la plus récente et le routeur 102 restaure les informations dans le journal selon la version commune disponible la plus récente du journal.  In this example, in step 504, the router 101 restores the information according to the most current available common version and the router 102 restores the information in the log according to the most recent available common version of the log.

Dans une section 501, le routeur 102 envoie au routeur 101 un ou plusieurs messages 'BGP-UPD' 505 contenant des informations du journal selon la version commune la plus récente.  In a section 501, the router 102 sends to the router 101 one or more 'BGP-UPD' messages 505 containing log information according to the most recent common version.

Ainsi, le routeur 101 est en mesure de traiter ces informations reçues.  Thus, the router 101 is able to process this received information.

Au cours de la réinitialisation de la session, le routeur 101 récupère les informations depuis la base de données 105 et peut mettre à jour sa table de routage du premier type sur la base de ces informations. Le routeur se retrouve alors dans une situation identique à celle correspondant au point de synchronisation tel qu'illustré par l'étape 406.  During the reset of the session, the router 101 retrieves the information from the database 105 and can update its routing table of the first type based on this information. The router is then in a situation identical to that corresponding to the synchronization point as illustrated by step 406.

Puis, le routeur 101 exploite les informations reçues depuis le routeur 102, c'est-à-dire correspondant à celles contenues dans le journal depuis le dernier point de synchronisation de la session. Il met à jour la table de routage du premier type avec ces informations.  Then, the router 101 exploits the information received from the router 102, that is to say corresponding to those contained in the log since the last synchronization point of the session. It updates the routing table of the first type with this information.

Un tel procédé permet de réduire le temps pendant lequel le réseau fonctionne dans des conditions dégradées.  Such a method makes it possible to reduce the time during which the network operates in degraded conditions.

La possibilité de débrayer ce mécanisme à tout moment par l'un ou l'autre des routeurs permet d'éviter un fonctionnement du réseau plus dégradé qu'il ne l'est sans ce mécanisme.  The possibility of disengaging this mechanism at any time by one or the other of the routers makes it possible to avoid a network operation more degraded than it is without this mechanism.

La présente invention trouve une application très avantageuse sur les RR qui disposent d'un grand nombre de sessions et d'un nombre important de routes. Elle permet alors un rétablissement plus rapide des sessions.  The present invention finds a very advantageous application on RRs which have a large number of sessions and a large number of routes. It allows faster recovery of sessions.

Par ailleurs, on peut également prévoir d'activer un tel mécanisme au cours du fonctionnement normal d'une session et non dès la phase d'ouverture. Une telle possibilité peut s'avérer être très intéressante en cas de maintenance du routeur.  In addition, it is also possible to activate such a mechanism during normal operation of a session and not in the opening phase. Such a possibility can be very interesting in case of maintenance of the router.

Cette activation dynamique peut par exemple être réalisée en envoyant un message correspondant à une 'capacité' dynamique lorsque l'on souhaite activer ce mécanisme.  This dynamic activation can for example be achieved by sending a message corresponding to a dynamic 'capacity' when it is desired to activate this mechanism.

On peut également activer le mécanisme dès l'ouverture de la session mais sans activer de sauvegarde périodique. Puis, on peut négocier une mise en oeuvre des sauvegardes périodiques en cours de session entre les deux routeurs.  You can also activate the mechanism as soon as you open the session but without activating a periodic backup. Then, we can negotiate an implementation of periodic backups during the session between the two routers.

On note que, de préférence, les mémoires utilisées sur les routeurs pour mettre en oeuvre un tel procédé selon un mode de réalisation de la présente invention, sont non volatiles. Ainsi, avantageusement, les informations stockées ne sont pas effacées en cas de panne ou d'arrêt de l'équipement.  It is noted that, preferably, the memories used on routers to implement such a method according to an embodiment of the present invention, are non-volatile. Thus, advantageously, the stored information is not erased in case of failure or stop of the equipment.

Claims (11)

REVENDICATIONS 1. Procédé de gestion de réinitialisation de session selon un protocole de routage dans un réseau de transmission de paquets comprenant une pluralité de routeurs ayant entre eux des sessions selon ledit protocole pour échanger des informations de routage et/ou de connectivité indiquant des chemins pour transmettre des paquets à travers le réseau; relativement à une session donnée (111) entre un premier (101) et un second (102) routeurs, le premier routeur maintenant une table de routage (104) mise à jour en fonction d'informations reçues depuis le second routeur dans ladite session; suivant lequel le premier routeur sauvegarde dans une base de données (105) des informations contenues dans ladite table de routage, et le second routeur stocke dans une mémoire (109) des informations envoyées ou à envoyer au premier routeur; ledit procédé comprenant les étapes suivantes exécutées par le premier routeur après une perte d'informations contenues dans la table de routage: /a/ récupérer (201) les informations sauvegardées par le premier routeur dans la base de données; /b/ recevoir (202) depuis le second routeur dans ladite session lesdites informations stockées par le second routeur; /c/ mettre à jour la table de routage sur la base des informations récupérées à l'étape /a/ et des informations reçues à l'étape /b/.  A session reset management method according to a routing protocol in a packet transmission network comprising a plurality of routers having between them sessions according to said protocol for exchanging routing and / or connectivity information indicating paths for transmitting. packets across the network; relative to a given session (111) between a first (101) and a second (102) router, the first router maintaining a routing table (104) updated based on information received from the second router in said session; wherein the first router stores in a database (105) information contained in said routing table, and the second router stores in a memory (109) information sent or to be sent to the first router; said method comprising the following steps performed by the first router after loss of information contained in the routing table: / a / retrieve (201) the information backed up by the first router in the database; / b / receiving (202) from the second router in said session said information stored by the second router; / c / updating the routing table on the basis of the information retrieved in step / a / and the information received in step / b /. 2. Procédé selon la revendication 1, suivant lequel la sauvegarde du premier routeur est déclenchée en fonction de critères définis; et suivant lequel le stockage du second routeur comprend le stockage en continu dans un journal des informations envoyées ou à envoyer au premier routeur depuis ladite sauvegarde.  2. The method of claim 1, wherein the backup of the first router is triggered according to defined criteria; and wherein the storage of the second router includes continuously logging information sent or sent to the first router from said backup. 3. Procédé selon la revendication 2, suivant lequel la sauvegarde du premier routeur est déclenchée à intervalle de temps régulier.  3. The method of claim 2, wherein the backup of the first router is triggered at regular time interval. 4. Procédé selon l'une quelconque des revendications précédentes, comprenant en outre, à chaque sauvegarde, les étapes suivantes: /1/ créer un journal sur le second routeur (102) et émettre depuis le second routeur à destination du premier routeur un message (402) de déclenchement de sauvegarde de la table de routage dans la base de données; /2/ sur réception dudit message de déclenchement, par le premier routeur, sauvegarder (408) les informations contenues dans la table de routage dans la base de données; /3/ stocker (411) par le second routeur, dans ledit journal créé, les informations envoyées ou à envoyer (404) au premier routeur.  The method according to any one of the preceding claims, further comprising, at each backup, the following steps: / 1 / create a log on the second router (102) and transmit from the second router to the first router a message (402) triggering backup of the routing table in the database; / 2 / on receipt of said trigger message, by the first router, save (408) the information contained in the routing table in the database; / 3 / storing (411) by the second router, in said created log, the information sent or to be sent (404) to the first router. 5. Procédé selon la revendication 4, suivant lequel on réitère la sauvegarde des informations dans la base de données (105) en réitérant les étapes /II à /3/ ; ledit procédé comprenant en outre les étapes suivantes, après l'étape /2/ : supprimer sur le premier routeur les informations sauvegardées lors de la sauvegarde précédente le cas échéant, et émettre depuis le premier routeur à destination du second routeur un message de réponse (403) audit message de déclenchement; sur réception dudit message de réponse (403), supprimer le journal créé lors de la sauvegarde précédente le cas échéant.  5. The method according to claim 4, wherein the backup of the information in the database (105) is repeated by repeating the steps / II to / 3 /; said method further comprising the following steps, after step / 2 /: delete on the first router the information saved during the previous backup if necessary, and send from the first router to the second router a response message ( 403) to said trigger message; upon receipt of said response message (403), delete the log created during the previous backup if necessary. 6. Procédé selon l'une quelconque des revendications précédentes, comprenant en outre, lors d'une phase d'établissement de la session et/ou au cours de la session établie, une phase de négociation entre le premier et le second routeur pour déterminer, en fonction de paramètres définis, si on exécute les étapes dudit procédé relativement à ladite session.  The method of any one of the preceding claims, further comprising, during a session establishment phase and / or during the established session, a negotiation phase between the first and the second router to determine according to defined parameters, if the steps of said method are performed relative to said session. 7. Procédé selon la revendication 6, suivant lequel les premier et second routeurs déterminent une période de réalisation des sauvegardes au cours de la phase de négociation.  The method of claim 6, wherein the first and second routers determine a period of performing the backups during the negotiation phase. 8. Procédé selon l'une quelconque des revendications précédentes, suivant lequel, en outre, le second routeur maintient une table de routage mise à jour en fonction d'informations reçues depuis le second routeur et sauvegarde dans une base de données des informations contenues dans ladite table de routage; suivant lequel le premier routeur stocke dans une mémoire des informations envoyées ou à envoyer au second routeur; et suivant lequel on exécute sur le second routeur les étapes dudit procédé réalisées par le premier routeur selon l'une quelconque des revendications précédentes et on exécute sur le premier routeur les étapes dudit procédé réalisées par le second routeur selon l'une quelconque des revendications précédentes.  The method according to any one of the preceding claims, wherein, furthermore, the second router maintains an updated routing table based on information received from the second router and stores in a database information contained in the second router. said routing table; wherein the first router stores information sent or to be sent to the second router in a memory; and according to which the steps of said method performed by the first router according to any one of the preceding claims are executed on the second router and the steps of said method carried out by the second router according to any one of the preceding claims are executed on the first router; . 9. Routeur (101) destiné à avoir une session avec un autre routeur (102) selon un protocole de routage dans un réseau de transmission de paquets comprenant des moyens agencés pour maintenir une table de routage (104) mise à jour en fonction d'informations reçues depuis ledit autre routeur dans la session; des moyens agencés pour sauvegarder dans une base de données (105) des informations contenues dans ladite table de routage; des moyens agencés pour récupérer (201) les informations sauvegardées dans ladite base de données; des moyens agencés pour mettre à jour la table de routage après une perte d'informations contenues dans la table de routage, sur la base des informations récupérées dans ladite base de données après ladite perte d'informations et des informations reçues depuis l'autre routeur après ladite perte d'informations.  A router (101) for having a session with another router (102) according to a routing protocol in a packet transmission network comprising means arranged to maintain an updated routing table (104) based on information received from said other router in the session; means arranged to store in a database (105) information contained in said routing table; means arranged to retrieve (201) the information saved in said database; means arranged to update the routing table after a loss of information contained in the routing table, on the basis of the information retrieved from said database after said loss of information and information received from the other router after said loss of information. 10. Routeur (102) destiné à avoir une session avec un autre routeur (101) selon un protocole de routage dans un réseau de transmission de paquets, ledit autre routeur (101) maintenant une table de routage mise à jour en fonction d'informations reçues depuis ledit routeur; ledit routeur (102) comprenant: des moyens agencés pour stocker dans une mémoire (109) des informations envoyées ou à envoyer audit autre routeur; des moyens agencés pour envoyer audit autre routeur lesdites informations après une perte d'informations contenues dans la table de routage dudit autre routeur.  A router (102) for having a session with another router (101) according to a routing protocol in a packet transmission network, said other router (101) maintaining a routing table updated according to information received from said router; said router (102) comprising: means arranged to store information sent or to be sent to said other router in a memory (109); means arranged to send said other router said information after loss of information contained in the routing table of said other router. 11. Système de gestion de réinitialisation de session selon un protocole de routage dans un réseau de transmission de paquets comprenant une pluralité de routeurs ayant entre eux des sessions selon ledit protocole pour échanger des informations de routage et/ou de connectivité indiquant des chemins pour transmettre des paquets à travers le réseau; ledit système comprenant un premier routeur (101) selon la revendication 9 et un second routeur (102) selon la revendication 10.  A session reset management system according to a routing protocol in a packet transmission network comprising a plurality of routers having between them sessions according to said protocol for exchanging routing and / or connectivity information indicating paths for transmitting. packets across the network; said system comprising a first router (101) according to claim 9 and a second router (102) according to claim 10.
FR0501140A 2005-02-04 2005-02-04 METHOD FOR MANAGING SESSION RESET ACCORDING TO A ROUTING PROTOCOL Pending FR2881904A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0501140A FR2881904A1 (en) 2005-02-04 2005-02-04 METHOD FOR MANAGING SESSION RESET ACCORDING TO A ROUTING PROTOCOL
PCT/FR2006/000240 WO2006082321A1 (en) 2005-02-04 2006-02-02 Session reset management method using a routing protocol

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0501140A FR2881904A1 (en) 2005-02-04 2005-02-04 METHOD FOR MANAGING SESSION RESET ACCORDING TO A ROUTING PROTOCOL

Publications (1)

Publication Number Publication Date
FR2881904A1 true FR2881904A1 (en) 2006-08-11

Family

ID=34953707

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0501140A Pending FR2881904A1 (en) 2005-02-04 2005-02-04 METHOD FOR MANAGING SESSION RESET ACCORDING TO A ROUTING PROTOCOL

Country Status (2)

Country Link
FR (1) FR2881904A1 (en)
WO (1) WO2006082321A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030193890A1 (en) * 2002-04-16 2003-10-16 Tsillas Demetrios James Methods and apparatus for improved failure recovery of intermediate systems
US20040078625A1 (en) * 2002-01-24 2004-04-22 Avici Systems, Inc. System and method for fault tolerant data communication

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7286468B2 (en) * 2002-11-12 2007-10-23 Cisco Technology, Inc. Routing system and method for synchronizing a routing system with peers after failover

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040078625A1 (en) * 2002-01-24 2004-04-22 Avici Systems, Inc. System and method for fault tolerant data communication
US20030193890A1 (en) * 2002-04-16 2003-10-16 Tsillas Demetrios James Methods and apparatus for improved failure recovery of intermediate systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SANGLI S R ET AL: "Graceful Restart Mechanism for BGP", IETF INTERNET DRAFT, 31 July 2003 (2003-07-31), XP002313402 *

Also Published As

Publication number Publication date
WO2006082321A1 (en) 2006-08-10

Similar Documents

Publication Publication Date Title
EP1557009B1 (en) Internal bgp downloader
EP1307015B1 (en) Fault tolerant IS-IS routing system and method corresponding
US20070064702A1 (en) Modifying operation of peer-to-peer networks based on integrating network routing information
EP1650910B1 (en) Controlling parameters of a GMPLS-Ethernet connection
Mislove et al. Experiences in building and operating ePOST, a reliable peer-to-peer application
EP2014031A1 (en) Method for selecting a telephony route withing an ip telephony domain, corresponding device and computer programme
CA2767117A1 (en) Method and system for the efficient and automated management of virtual networks
EP1598997B1 (en) Routing in a communications network
FR2931604A1 (en) PROTECTIVE TECHNIQUE IN A CONNECTED MODE COMMUNICATION NETWORK OF A POINT A MULTIPOINT PRIMARY SHAFT.
EP3804408A1 (en) Method of selecting a route in an ad hoc network
FR2954644A1 (en) RELIABLE ROUTING PROTOCOL
EP2119190B1 (en) Service continuity management in a network
EP2332293B1 (en) Distribution of routes in a network of routers
EP1657866B1 (en) Device for selecting routing information for a router in a communications network
FR2881904A1 (en) METHOD FOR MANAGING SESSION RESET ACCORDING TO A ROUTING PROTOCOL
EP2591587B1 (en) Confidential or protected access to a network of nodes distributed over a communication architecture with the aid of a topology server
EP1754339B1 (en) Method for control management based on a routing protocol
CA2533289C (en) Method of locating mobile communicating objects within a communications network, comprising the transmission of location identifiers by repeaters and server updates
Mundur et al. Routing in intermittent networks using storage domains
WO2006075068A1 (en) Method for controlling sessions according to a routing protocol
WO2020002792A1 (en) Communication method implemented by a first router of an autonomous system using an interior gateway protocol
Pelsser et al. Scalable support of interdomain routes in a single as
FR2893799A1 (en) Route selecting method for e.g. Internet network, involves selecting route based on attributed parameter, before selection of route based on network address of router, where selected route corresponds to that whose reception is earliest
EP2254288B1 (en) Method for preventing loops in inter-domain routing
FR2879870A1 (en) OPERATION INTERRUPTION CONTROL DEVICE FOR A ROUTER OF A COMMUNICATION NETWORK