Abstract:
A packet transmission network, a plurality of routers have sessions among them based on a routing protocol to exchange routing and/or connectivity data indicating paths for transmitting packets over the network. Each router maintains a first routing table including data sent to another of said routers, and a second routing table including data received from another of said routers. To close at least part of the sessions of a given router, the method consists: in listing the data corresponding to the part of the sessions and contained in at least one of the first and second routing tables; sending an updating message based on the protocol indicating to neighboring routers that the paths indicated in the data are considered out-of-service; then closing the part of the sessions. The router continues transmitting packets emitted on the paths considered out-of-service until the closing step.

Description:
This application claims priority from PCT/FR2004/01451, filed Jun. 10, 2004 which is hereby incorporated by reference in its entirety. 
     The present invention relates to the field of telecommunications, and more particularly to routing protocols and network elements implementing such protocols. 
     BACKGROUND OF THE INVENTION 
     A conventional telecommunication network comprises network elements, called routers, the function of which is to optimize the transmission of the packets. In practice, a packet can generally be transmitted from one element to another element in the network via a number of paths. The routers are used to optimize the transmission of packets by using determined criteria to select the best transmission path out of the possible transmission paths. A router selects such a transmission path based on information normally received according to a routing protocol and stored in routing tables. A routing protocol is a protocol that provides mechanisms enabling a router to construct a routing table and to share routing information with other adjacent routers, in other words, routers with which it maintains a session according to the routing protocol. There are a number of types of routing protocols that use different methods to help the router to collect routing information. 
     A routing protocol named BGP (Border Gateway Protocol), very widely used in the networks, in particular Internet networks, is known. The routers that implement the BGP protocol are normally deployed redundantly. Thus, the routing information transported in the BGP-type protocol can often be accessed from several points in the network. 
     When a router is switched off, the traffic passing through that router is rerouted to another network element. This rerouting operation is also called “routing protocol convergence”. 
     During a routing protocol convergence, packets are likely to be lost. In practice, because the convergence of the routers is not instantaneous, switching off a router causes the packets that are still being routed via the router that has been switched off and is therefore out of service to be lost. 
     Techniques are known for attempting to improve this situation. Thus, a technique called “Graceful Restart BGP” attempts to reduce the packet losses during the BGP routing protocol convergence of a router. 
     This technique is based on a router architecture comprising a control plane and a transfer plane. Thus, while the control plane of a router is not in operation, for maintenance for example, packets passing through the router are still transferred according to the routing information that is already known. This technique is well suited to maintenance of the control plane of a router. 
     However, this technique does not allow all maintenance cases to be covered. In practice, since this technique is based on the operation of the transfer plane, when the transfer plane is not in operation, packets can, despite everything, be lost. Furthermore, implementing such a technique requires the operation of the routing protocol to be modified, and it is therefore relatively complicated. 
     Thus, there is an interest in reducing the loss of packets when a router is switched off by a method that is simple to implement and that covers most maintenance cases. 
     The present invention aims to propose a solution tending to satisfy these requirements. 
     SUMMARY OF THE INVENTION 
     A first aspect of the invention proposes a session control method according to a routing protocol in a packet transmission network comprising a plurality of routers having sessions between them according to said protocol for exchanging routing and/or connectivity information indicating paths for transmitting packets over the network, wherein each of said routers maintains a first routing table containing information sent to another of said routers via said protocol, and a second routing table containing information received from another of said routers via said protocol, said method comprising the following steps for closing at least a part of the sessions of a given router:
         listing the information corresponding to said part of the sessions and contained in at least one of the first and second routing tables;   sending an update message according to said protocol indicating to adjacent routers that the paths indicated in said information are considered to be out of service;   closing said part of the sessions;
 
and wherein said router continues to transmit packets sent over said paths considered to be out of service until the closure step.
       

     A second aspect of the invention proposes a method of maintaining a router in a packet transmission network comprising a plurality of routers having sessions between them according to a routing protocol for exchanging routing and/or connectivity information indicating paths for transmitting packets over the network, wherein each of said routers maintains a first routing table containing information sent to another of said routers via said protocol, and a second routing table containing information received from another of said routers via said protocol, 
     said method comprising the following steps, for a given router: 
     
         
         
           
             initiating maintenance corresponding to a given part of the sessions of the router; 
             closing said part of the sessions of the router, according to a method according to the above method; 
             performing said maintenance. 
           
         
       
    
     A third aspect of the invention proposes a session management system comprising means arranged to implement one of the above methods. 
     A fourth aspect of the invention proposes a router comprising means arranged to operate in the above system. 
     It will be noted that the terms “paths considered to be out of service” indicated by a router given in an update message refers to the paths that are considered to be out of service by the adjacent routers, but that are not yet actually out of service. In practice, until the closure step, the packets continue to be routed via these paths. 
     Thanks to these arrangements, the loss of packets during a routing protocol convergence can be reduced. In practice, when there is a desire to stop all or a part of the messages of a router, the adjacent routers are informed of the changes of routing information via the routing protocol. Consequently, on receiving this information, the adjacent routers can update their routing tables and the convergence of the routing protocol is thus accelerated. The number of packets lost can then be reduced. 
     In a preferred embodiment, the part of the sessions is closed when a determined criterion is satisfied. The result is a better control of the reduction of the loss of packets during a protocol convergence. It is thus possible to close the part of the sessions when it is detected that the number of packets passing over the paths indicated as out of service is substantially zero. Or even, the part of the sessions can be closed on expiry of a timer. 
     In a preferred embodiment, when all the sessions of a router are closed, only the information contained in the first routing table is listed then sent to adjacent routers. 
     Other aspects, aims and advantages of the invention will become apparent from reading the description of one of its embodiments. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The invention will also be better understood by means of the drawings, in which: 
         FIG. 1  illustrates a routing protocol session management method according to an embodiment of the invention; 
         FIG. 2  is a diagram of a network architecture according to an embodiment of the invention; 
         FIG. 3  illustrates a session management method with timer according to an embodiment of the invention. 
     
    
    
     DESCRIPTION OF PREFERRED EMBODIMENTS 
     Some telecommunication networks operating under a single technical administration are unified networks. Others, however, normally substantially larger ones, are split up into a plurality of “subnetworks”, each operating under its own technical administration, called “standalone systems”. A standalone system is a set of routers operating under a single technical administration, using an internal routing protocol and common routing information for routing the packets within the standalone system. Such routers moreover use an external routing protocol to route the packets to the other standalone systems. Certain routing protocols are suitable for use advantageously as internal routing protocol and external routing protocol. Such is the case with the BGP-type routing protocols. A BGP-type routing protocol makes it possible in practice to have sessions between routers of a network so as to ensure the consistency of the routing tables on all the elements within a given administrative domain and over all the administrative domains of a network. 
     A routing protocol derived from the BGP protocol is named MP-BGP, standing for Multi-Protocol BGP. It provides the standalone systems with the possibility of swapping extensive information that the BGP protocol on its own does not manage. This variant of the protocol is used to support certain technologies like MPLS-VPN (Multi-Protocol Label Switching Virtual Private Network), or even Multicast. There are yet other variants of the BGP protocol, like, for example, e-BGP used between routers belonging to different standalone systems, i-BGP used between routers belonging to the same standalone system, or even MP-BGP used for transporting IPv6, Multicast or MPLS VPN addresses. 
     The present invention applies to all the networks based on such protocols. 
     The present invention can be implemented in unified networks as well as in networks comprising a number of administrative domains. It can be applied to networks interconnected to an Internet-type network, or even to networks used for private purposes. 
     The invention covers a configuration in which all the routers of the network advantageously implement a method according to an embodiment of the invention. However, a configuration wherein one of the routers or only some of the routers of the network implements an embodiment of the invention is already proving to be very advantageous. 
     An embodiment of the invention is based on a BGP-type routing protocol. 
     In an embodiment of the invention, a router maintains routing tables containing routing and connectivity information exchanged with adjacent routers via the routing protocol. 
     The terms “adjacent router” of a given router refers to a router having a session based on the routing protocol of the network with the given router. 
     Such a routing protocol specifies the following messages:
         a session opening message, denoted “OPEN”;   a routing and/or connectivity information update message; denoted “UPDATE”; some of these messages can be used to add routing information to the routing tables, others among these messages can be used to remove routing information, the latter being hereinafter called removal update messages;   a message notifying different session states, denoted “NOTIFICATION”, the latter message being used in particular to close a session.       

     The routing protocol according to an embodiment of the invention makes it possible to transport a number of address types, such as, for example, in an IP network, IP Version 4, IP Version 6 addresses, or Multicast type addresses or even MPLS-VPN-type addresses. 
     A router according to an embodiment of the invention maintains a first routing table containing routing and/or connectivity information sent to one or more adjacent routers and a second routing table containing routing and/or connectivity information received from one or more adjacent routers, via the network routing protocol. Such tables are respectively named hereinafter “output table” and “input table”. 
     The invention also covers a configuration in which a router maintains an input table and an output table for each of the routing protocol sessions that it maintains. However, in the interests of clarity, a router manages only one input table and one output table below. The routing and/or connectivity information contained in these tables enables the router to determine packet transmission paths. 
     In an embodiment of the invention, when a router has one or more sessions according to the routing protocol, all or a part of these sessions can be closed with fewer packets lost. 
     In practice, in a first case, a part of a given session of the router can be closed, for example corresponding to a family of addresses of the session. Thus, the router scans its output table and lists the routing and/or connectivity information corresponding to the part of the session. Next, it scans its input table and lists the routing and/or connectivity information corresponding to the part of the session. Then, it sends a removal update message containing the duly listed information to the adjacent routers. Such a message indicates to the routers that they must consider the paths corresponding to the information sent in the removal update message to be out of service. 
     In a second case, a complete session of the router can be closed. Thus, the router scans its output table and lists the routing and/or connectivity information corresponding to the session. Next, it scans its input table and lists the routing and/or connectivity information corresponding to the session. Then, it sends a removal update message containing the duly listed information to the adjacent routers. Such a message indicates to the routers that they must consider the paths corresponding to the information sent in the removal update message to be out of service. 
     In a third case, a group of sessions of the router can be closed. Thus, the router scans its output table and lists the routing and/or connectivity information corresponding to the group of sessions. Next, it scans its input table and lists the routing and/or connectivity information corresponding to the group of sessions. Then, it sends a removal update message containing the duly listed information to the adjacent routers. Such a message indicates to the routers that they must consider the paths corresponding to the information sent in the removal update message to be out of service. 
     In a fourth case, it is also possible to close all the sessions of the router. This operation is simpler than the preceding ones. In practice, in this case, only the output table is preferably scanned. The routing and/or connectivity information corresponding to all the sessions is listed then sent to the adjacent routers. Such a message indicates to the routers that they must consider the paths corresponding to the information sent in the removal update message to be out of service. 
     Between the moment when the removal update message is sent and the moment when the routers receiving the message process the information received and, because of this, cease to transmit packets over the paths considered to be out of service, that is during the rerouting convergence time, the router continues to transmit the packets received over the paths considered to be out of service. 
     Then, when a determined criterion is satisfied, in the first case the part of the sessions is closed, in the second case the complete session is closed, in the third case, the group of sessions is closed and finally, in the fourth case, all the sessions are closed. 
       FIG. 1 . illustrates the main steps of a session control method according to an embodiment of the invention. In a first step  101 , the routing information concerning a part of the sessions is listed. In a second step  102 , a removal update message is sent containing the information previously listed. And, in a third step  103 , the part of the sessions of the router is closed. 
     Preferably, a part of a session, a complete session, a group of sessions or even all the sessions of a router are closed via the sending of a corresponding “NOTIFICATION” message. 
       FIG. 2  illustrates a router network architecture in an embodiment of the present invention. The router network comprises two administrative domains  206  and  207 . A router  202  has a session  210  in the same administrative domain with a router  204  and a session  211  with a router  205 . The router  202  also has a session  208  with a router  201  of the administrative domain  206 . Then the router  201  has a session  209  with a router  203 . 
     There is a desire to switch off the router  202 , to perform an overall maintenance operation for example, and, because of this, to close all the sessions of the router  202 . Abruptly switching off the router  202  would result in the loss of packets transmitted to this router during the routing protocol convergence time. 
     In an embodiment of the invention, when the router  202  is informed of a closure of all its sessions according to the routing protocol, it scans its output table. It selects routing and connectivity information corresponding to all the sessions that it has, that is, the sessions  208 ,  210  and  211 . Then, it sends removal update messages according to the routing protocol to the adjacent routers referenced  201 ,  204  and  205 , that is, to the routers with which it has a session according to the routing protocol. Such removal update messages contain the duly selected routing and/or connectivity information. 
     Then, preferably, after having informed the adjacent routers that they must consider the routing and/or connectivity information contained in the removal update messages to be out of service, the router  202  checks to see if the determined criterion is satisfied. 
     On receiving such removal update messages, the routers  201 ,  204  and  205  update their respective routing tables and, because of this, reroute the packets initially routed to the router  202 , to other routers. Thus, for example, the router  201  reroutes packets initially routed to the router  202  to the router  203 . 
     When the router  202  detects that the determined criterion is satisfied, it closes all these sessions. A number of determined criteria are detailed below. 
     The router can use a determined criterion corresponding to a substantially zero number of packets sent over the paths considered to be out of service. In this case, the part of the sessions or all the sessions are closed only when it is detected that the number of packets sent over the paths considered to be out of service is substantially zero. 
     It is also possible to use a determined criterion corresponding to the expiry of a timer. In this case, it is estimated that the number of packets sent passing over the paths considered to be out of service is substantially zero by assuming that, after a certain time, no more packets will be passing over the paths corresponding to the routing and/or connectivity information sent in the removal update messages. This time preferably corresponds substantially to a latency time introduced by the time to transmit removal update messages from the router  202  to the adjacent routers  201 ,  204  and  205 , and by the processing time of these messages by the adjacent routers. 
     Thus, in this case, preferably, the router  202  manages a timer. When this timer expires, the router estimates that there is no more traffic detected on the corresponding paths, and that therefore the number of packets to be routed is substantially zero. 
     Such a timer can be armed before removal update messages are sent. It can also be armed after removal update messages are sent. 
     Furthermore, a router can manage an overall timer duration for all the router. It can also manage a timer duration corresponding to a group of sessions. It can manage a timer duration corresponding to a complete session or even a timer duration corresponding to a part of the sessions. 
     The present invention covers all other methods that can be used to estimate that the number of packets transmitted to the router over the paths considered to be out of service is substantially zero. 
     In an embodiment of the invention, a partial or total maintenance of a router is initiated. The router informed of a partial or total maintenance closes the part of the sessions corresponding to the partial maintenance initiated, or even to the total maintenance, according to a session management method according to an embodiment of the invention. A partial maintenance may correspond to the closure of a part of a session, a complete session or even a group of complete sessions, and a total maintenance corresponds to the closure of all the sessions. 
       FIG. 3  illustrates a method of managing the closure of a complete routing protocol session according to an embodiment of the invention, wherein the router uses the expiry of a timer to estimate that the traffic passing over the paths considered to be out of service is zero. 
     A router configuration and management system normally makes it possible to indicate to the router that a maintenance of a complete session, for example, is to be carried out. Duly informed, the router initiates a session closure in a step  301 . In a step  302 , the router arms a timer. In a step  303 , the router sends removal update messages to the adjacent routers, containing routing and/or connectivity information corresponding to the session. The expiry of the timer in the step  304  triggers the closure of the session by the router in a step  305 . 
     In an embodiment of the present invention, the router configuration and management system preferably makes it possible to enter a command that involves stopping all or part of the sessions of the router. Such a system can also be used to configure a value for the timer as defined previously. Interesting results are obtained in particular with a timer with a value of 300 seconds. 
     Furthermore, preferably, the router offers two methods of managing a closure of all or part of the sessions. In a first method, it closes all or part of the sessions in such a way that the loss of packets is reduced, as has been described previously. In a second method, it closes all or part of the sessions more abruptly, as in the session closure management methods already known. The configuration system configures the management method that it wants the router to apply. 
     The invention therefore makes it possible to reduce the loss of traffic at the time of scheduled maintenance on a router implementing a BGP-type routing protocol. It can be implemented on one or several routers of the network since a router according to an embodiment of the invention can operate with a router not implementing a management method according to the invention. In practice, the messages defined by the network routing protocol are preferably unmodified. 
     In an embodiment of the present invention, only the sequence of the messages sent on management of a closure of a part of a session, of a complete session, of a group of sessions or even of all the sessions of a router is advantageously modified, the management protocol messages not being modified. Thus, an embodiment of the present invention is easy to implement in existing router networks.