WO2006071901A2 - Automatic route tagging of bgp next-hop routes in igp - Google Patents

Automatic route tagging of bgp next-hop routes in igp Download PDF

Info

Publication number
WO2006071901A2
WO2006071901A2 PCT/US2005/047150 US2005047150W WO2006071901A2 WO 2006071901 A2 WO2006071901 A2 WO 2006071901A2 US 2005047150 W US2005047150 W US 2005047150W WO 2006071901 A2 WO2006071901 A2 WO 2006071901A2
Authority
WO
WIPO (PCT)
Prior art keywords
domain
route
protocol
inter
routing
Prior art date
Application number
PCT/US2005/047150
Other languages
French (fr)
Other versions
WO2006071901A3 (en
Inventor
Clarence Filsfils
Stefano B. Previdi
Jean-Philippe Vasseur
Original Assignee
Cisco Technology, Inc.
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 Cisco Technology, Inc. filed Critical Cisco Technology, Inc.
Priority to EP05855668A priority Critical patent/EP1832056B1/en
Publication of WO2006071901A2 publication Critical patent/WO2006071901A2/en
Publication of WO2006071901A3 publication Critical patent/WO2006071901A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • 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
    • H04L45/026Details of "hello" or keep-alive messages
    • 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
    • H04L45/03Topology update or discovery by updating link state protocols
    • 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
    • H04L45/033Topology update or discovery by updating distance vector protocols
    • 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/52Multiprotocol routers

Definitions

  • This invention relates generally to computer networks, and, more specifically, to a technique for enhancing convergence in a computer network.
  • Data communication in a computer network involves the exchange of data between two or more entities interconnected by communication links and subnetworks (subnets). These entities are typically software programs executing on hardware computer platforms, such as end nodes and intermediate network nodes.
  • the intermediate o network nodes interconnect the communication links and subnets to enable transmission of data between the end nodes, such as personal computers or workstations.
  • a local area network (LAN) is an example of a subnet that provides relatively short distance communication among the interconnected nodes
  • WAN wide area network
  • the Internet is an example of a WAN that connects disparate computer networks throughout the world, providing global communication between nodes on various networks.
  • Communication software executing on the nodes correlate and manage data communication with other nodes.
  • the nodes typically communicate by exchanging dis- 0 crete messages or packets of data according to predefined protocols, such as the Transmission Control Protocol/Internet Protocol (TCP/IP).
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • a protocol consists of a set of rules defining how the nodes interact with each other.
  • network routing software executing on the intermediate nodes allow expansion of communication to other nodes.
  • routing domain is broadly con- strued as a collection of interconnected nodes within a common address space (e.g., a level, area or AS), and an AS is a routing domain managed by a single administrative entity, such as a company, an academic institution or a branch of government.
  • AS autonomous systems
  • ISPs Internet Service Providers
  • An ISP is an example of an AS that typically owns one or more "backbone" networks configured to provide high-speed connection to the Internet.
  • an organization customer may subscribe to one or more ISPs and couple its private domain networks to the ISP's equipment.
  • an ISP Internet Service Provider
  • I 0 intermediate network node such as a switch or router, may be utilized to interconnect a plurality of private networks to an IP backbone network.
  • ISP backbone networks generally require fast convergence in order to provide a reliable service to its customers.
  • Convergence in this context, denotes the ability of a router or network to react to failures or, more generally, to network events and to re- I 5 cover from those failures in order to have minimal disruption time. Examples of such failures include link or node failures.
  • Fast convergence thus involves the ability of the ISP backbone networks to react very quickly to such link and node failures to thereby reroute traffic over alternate paths and, thus, minimize service disruption.
  • a main component of fast convergence in a router is a routing information base 20 (RIB).
  • the RIB is a process that manages a routing table that holds many (e.g., thousands) of routes computed by different protocols, including both interior gateway protocols (IGP) and exterior gateway protocols (EGP).
  • IGP protocols such as conventional link-state protocols, are intra-domain routing protocols that define the manner with which routing information and network-topology information are exchanged and 2 5 processed in a routing domain, such as an ISP backbone network. Examples of conventional link-state protocols include, but are not limited to, the Open Shortest Path First (OSPF) protocol and the Intermediate-System-to-Intermediate-System (ISIS) protocol.
  • OSPF Open Shortest Path First
  • ISIS Intermediate-System-to-Intermediate-System
  • the OSPF protocol is described in more detail in Request for Comments (RFC) 2328, entitled OSPF Version 2, dated April 1998, which is incorporated herein by reference 30 in its entirety.
  • the ISIS protocol is described in more detail in RFC 1195, entitled Use of OSI IS-IS for Routing in TCP/IP and Dual Environments, dated December 1990, which is incorporated herein by reference in its entirety.
  • Each router running a link-state protocol maintains an identical link- state database (LSDB) describing the topology of the routing domain.
  • LSDB link- state database
  • Each piece of the LSDB is a particular router's local state, e.g., the router's usable interfaces and reachable neighbors or adjacencies.
  • neighboring routers are two routers that have interfaces to a common network, wherein an interface is a connection between a router and one of its attached networks.
  • an adjacency is a relationship formed between selected neighbors for the purpose of ex- changing routing information and abstracting the network topology.
  • One or more router adjacencies may be established over an interface.
  • Each router distributes its local state throughout the domain in accordance with an initial LSDB synchronization process and a conventional flooding algorithm.
  • link-state protocol data units that originate after an initial LSDB synchronization between neighbors is completed are delivered to all routers within the flooding scope limits.
  • the PDUs are used to exchange routing information between interconnected routers.
  • the flooding scope limits may comprise an area, a level or the entire AS, depending on the protocol and the type of link-state PDU.
  • An area or level is a collection or group of contiguous networks and nodes (hosts), together with routers having interfaces to any of the included networks. Each area/level runs a separate copy of the link-state routing algorithm and, thus, has its own LSDB.
  • the PDU is a link state advertisement (LSA) comprising a unit of data describing the local state of a router or network
  • LSA link state advertisement
  • LSP link state packet
  • a LSA generally describes any message used by an IGP process to communicate routing information among the nodes, such that the collected LSAs of all routers and networks form the LSDB for the particular link-state protocol.
  • the IGP process executing in a sending router typically generates and disseminates a LSA whose routing information includes a list of the node's neighbors and one or more "cost" values associated with each neighbor.
  • a cost value associated with a neighbor is an arbitrary metric used to determine the relative ease/burden of communicating with that router. For instance, the cost value may be measured in terms of the number of hops required to reach the neighbor, the average time for a packet to reach the neighbor, and/or the amount of network traffic or available bandwidth over a communication link coupled to the neighbor.
  • LSAs are typically transmitted ("advertised") among the routers until each router can construct the same "view" of the network topology by aggregating the received lists of neighbors and cost values.
  • the IGP process advertises routes internal to the routing domain ("internal routes") via LSAs that typically comprise the routers' loopback addresses as well as interface/link addresses.
  • a loopback address is a type of "virtual" interface identifier of the router that is stable and always available (does not fail) and, as such, is advertised instead of a physical interface address to ensure that the router can always reach its neighbor.
  • Each router may input this received routing information to a "shortest path first" (SPF) calculation that determines the lowest-cost network paths that couple the router with each of the other network nodes.
  • SPF shortest path first
  • the well- known Dijkstra algorithm is a conventional technique for performing such a SPF calculation, as described in more detail in Section 12.2.4 of the text book Interconnections Second Edition, by Radia Permian, published September 1999.
  • the routers typically have a topology table that contains all destinations advertised by neighbors. Each entry in the topology table includes the destination address and a list of neighbors that have advertised the destination. For each neighbor, the entry records the advertised metric, which the neighbor stores in its routing table. The metric that the router uses to reach the destination is also associated with the destination. The metric that the router uses in the routing table, and to advertise to other routers, is the sum of the best-advertised metric from all neighbors and the link cost to the best neighbor.
  • An example of a topology table is the LSDB having a map of every router, its links and the states of those links in the routing domain. The LSDB also has a map of every network and every path to each network in the routing domain.
  • the LSA is processed by the IGP process of a receiving router and provided to the RIB so that it can process the advertisement (along with other routing information) to determine best paths for purposes of populating a forwarding table of a forwarding information base (FIB).
  • a link state protocol such as ISIS and OSPF
  • the router that is directly affected by a failure i.e., closest to the failure
  • each router in the network computes a new network topology and, thus, a new path around the failure.
  • the IGP process of each router re-computes its topology table and up- dates the routing table to reflect the topology change.
  • the SPF calculation is applied to the contents of the LSDB to compute a shortest path to each destination network.
  • the algorithm prunes the database of alternate paths and creates a loop-free shortest path tree (SPT) of the topological routing domain.
  • the routing table is then updated to correlate destination nodes with network interfaces as- sociated with the lowest-cost paths to reach those nodes, as determined by the SPF calculation.
  • a plurality of interconnected ASes may be configured to exchange messages in accordance with an EGP, such as the Border Gateway Protocol version 4 (BGP).
  • each routing domain e.g., AS
  • AS includes at least one "border” router through which it communicates with other, interconnected ASes. Before transmitting such messages, however, the routers cooperate to establish a logical "peer" connection (session).
  • BGP is an inter-domain routing protocol that generally operates over a reliable transport protocol, such as TCP, to establish a TCP connection/session; any two border routers that have opened a TCP connection (session) to each other for the purpose of exchanging routing information are known as peers or neighbors.
  • BGP performs routing between ASes by exchanging routing (reachability) information among neighbors of the systems.
  • the routing information exchanged by BGP neighbors typically includes destination address prefixes, i.e., the portions of destination addresses used by the routing protocol to render routing ("next hop") decisions, and associated path attributes.
  • destination addresses include Internet Protocol (IP) version 4 (IPv4) and version 6 (IPv6) addresses, while an example of a path attribute is a next-hop address.
  • IP Internet Protocol
  • IPv6 version 6
  • a path attribute is a next-hop address.
  • Route the combination of a set of path attributes and a prefix
  • the BGP routing protocol is well known and described in detail in Request For Comments (RFC) 1771, by Y. Rekhter and T.
  • BGP speakers within an AS are typically connected via a fully meshed iBGP session arrangement to ensure that all BGP speakers receive route updates from the other BGP speakers in the AS.
  • the speaker chooses a single best path for reaching that destination (prefix). Once chosen, the speaker uses BGP to propagate that best path to its neighbors. The decision is based on the value of attributes, such as next-hop, contained in a BGP update message and other BGP-configurable factors.
  • the BGP next-hop attribute is the network (IP) address of the next hop (neighbor) used to reach the destination prefix.
  • each route advertised by BGP must have a next hop address that is reachable through IGP in order for that route to be considered valid. That is, a valid BGP route must contain an attribute (such as a BGP next-hop address) that, in turn, must exist in the routing table of the router through IGP.
  • OSPF, ISIS processes executing on a router provide routes (best paths per prefixes) to the RIB; however, among the prefixes provided by IGP that the RIB installs into the routing table are those prefixes that are used as BGP next hop addresses. These BGP next hop addresses are illustratively loopback addresses of the BGP next-hop routers.
  • ISP backbone networks require fast convergence in order to provide a reliable service to its customers. Convergence occurs when all of the routers have a consistent perspective ("view") of the network topology. After a topology change, e.g., one or more link and/or node failures, the routers re-compute their best paths; this typically disrupts the service provided by the ISP.
  • next-hop addresses are typically addresses of subnets used to connect servers/gateways; as such, they are considered most important because BGP relies on them for external activity, i.e., activity external to the routing domain.
  • addresses of subnets used to connect servers and gateways could also be part of an internal routing domain.
  • the routers may connect voice over IP (VoIP) servers, such that all IP telephony of the routing domain relies on those servers. Therefore it is desirable to prioritize these next hop addresses to enable fast convergence.
  • VoIP voice over IP
  • a known approach used to determine whether addresses advertised by a routing protocol are important for fast convergence involves explicit configuration by an administrator (user) of a group of routes.
  • the group of routes (addresses) is part of a block of addresses that the user configures as important on each router.
  • Another, more precise approach for determining whether an address advertised by a routing protocol (such as IGP) is important for fast convergence is based on route labeling or "route tagging".
  • route tagging is a conventional ISIS route tag where a user "tags" each important route needed for fast convergence with an administrative tag.
  • ISIS route tagging requires coordination within the network in the sense that every router must be "manually” configured to process (with a predetermined degree of importance) routes having, e.g., a predetermined tag value.
  • an ISP user/administrator may configure the IGP (ISIS) routing protocol running on each router in its ISP network with a command that specifies routes tagged with a predetermined value are important routes.
  • ISIS route tags are the coordination among routers within a routing domain and extensive manual configuration on behalf of the administrator in order to implement such coordination.
  • the present invention substantially reduces manual configuration required to tag routes as important.
  • the present invention overcomes the disadvantages of the prior art by providing a technique for configuring an intermediate network node to automatically determine whether a route advertised by a routing protocol is important for fast convergence in a computer network.
  • an important route needed for fast convergence is a route advertised by the routing protocol, such as an exterior gateway routing protocol (EGP) process executing on the node, as a next-hop address, since external connectivity relies on such a route.
  • EGP exterior gateway routing protocol
  • the EGP process interacts with an interior gateway routing protocol (IGP) process executing on the node to identify the route as an impor- tant route. Identification of an important route, in turn, allows IGP to process the route in a high priority fashion, thereby facilitating fast convergence.
  • IGP interior gateway routing protocol
  • the intermediate network node is a router and the IGP process is an Intermediate-System-to-Intermediate-System (ISIS) protocol process.
  • the EGP is the Border Gateway Protocol (BGP) and, to that end, the important route is a route that represents a BGP next-hop attribute.
  • BGP Border Gateway Protocol
  • the inventive technique is illustratively directed to automatically (dynamically) determining such an important route using, e.g., ISIS route tagging. More precisely, the inventive technique allows the router to detect whether an IGP route is also used as a BGP next-hop attribute and, if so, advertise that route to IGP neighbors in the routing domain using ISIS route tagging so the neighbors (and router) can process the route with high priority during convergence.
  • a BGP process executing on a router to inject internal BGP (iBGP) routes into a routing domain also interacts with an IGP process executing on the router to identify a local prefix used as a BGP next hop attribute for those iBGP routes injected into the domain.
  • ISIS route tagging the router tags the local prefix as an important route for convergence and advertises that tagged route throughout the domain.
  • all IGP routers (including the router) within the routing domain may detect the importance of the tagged route and apply high priority to the route during convergence processing.
  • the present invention provides a technique whereby the importance of a route is determined by an originator of the route, e.g., the BGP process exe- cuting on a router, as opposed to a receiver of the route, e.g., the IGP process of the router and neighboring routers. Since the originator of the route sets the importance of the route, the inventive technique provides an efficient, "backward compatible" approach to determining whether a route advertised by a routing protocol, such as BGP, is important for fast convergence in a computer network.
  • a routing protocol such as BGP
  • FIG. 1 is a schematic block diagram of a computer network comprising a plurality of routing domains interconnected by intermediate network nodes, such as routers;
  • Fig. 2 is a schematic block diagram of an embodiment of a router that may be advantageously used with the present invention
  • Fig. 3 is a schematic block diagram of a conventional network protocol stack, such as the Internet communications protocol stack, within the router of Fig. 2;
  • Fig. 4 is a schematic block diagram illustrating the architecture of the Border Gateway Protocol (BGP);
  • BGP Border Gateway Protocol
  • Fig. 5 is a schematic block diagram of an Intermediate-System-to-Intermediate- System (ISIS) link state advertisement (LSA) that may be advantageously used in ac- cordance with the present invention
  • ISIS Intermediate-System-to-Intermediate- System
  • LSA link state advertisement
  • Fig. 6 is a schematic block diagram of an illustrative sub- type, length, value (TLV) tuple that may be advantageously used to store one or more administrative tags in accordance with the present invention.
  • Fig. 7 is a flowchart illustrating a procedure for configuring the router to auto- matically determine whether a route advertised by a routing protocol, such as BGP, is important for fast convergence in the computer network.
  • a routing protocol such as BGP
  • Fig. 1 is a schematic block diagram of a computer network 100 comprising a plurality of routing domains interconnected by intermediate network nodes.
  • the inter- mediate network nodes may comprise switches but, in the illustrative embodiment, are routers 200.
  • the routing domains or autonomous systems (AS 1-4 ) are illustratively interconnected by border routers 200a-c via point-to-point communication links 202, such as frame relay links, asynchronous transfer mode links or other serial links.
  • the border routers 200a-c of AS 110 (AS 1 ) are illustratively coupled to routers 200d-e via subnetworks, such as local area networks 204.
  • Communication among the routers 200 is typically effected by exchanging discrete data packets or messages in accordance with pre-defined protocols, such as the Transmission Control Protocol/Internet Protocol (TCP/IP). It will be understood to those skilled in the art that other protocols, such as the Internet Packet Exchange (IPX) protocol, may be advantageously used with the present invention.
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • IPX Internet Packet Exchange
  • Routing decisions within each AS may rely on a predetermined "interior" gateway routing protocol (IGP).
  • IGP Internet Protocol
  • An example of an IGP is a conventional link-state protocol, such as the Open Shortest Path First (OSPF) or Intermediate-System-to- Intermediate-System (ISIS) protocol.
  • OSPF Open Shortest Path First
  • ISIS Intermediate-System-to- Intermediate-System
  • routing information may be exchanged among the ASes 110-140 using an "exterior” gateway protocol (EGP), such as the Border Gateway Protocol version 4 (BGP).
  • EGP Border Gateway Protocol version 4
  • BGP speakers BGP speakers
  • BGP speakers 200a-c exchange routing information with other BGP speakers that are not in the same AS using an external form of BGP (eBGP), while the BGP speakers 200a-c within an AS exchange routing information using an internal form of BGP (iBGP).
  • Fig. 2 is a schematic block diagram of a router 200 that may be advantageously used as a border router in accordance with the present invention.
  • the router 200 comprises a route processor 202 coupled to a memory 204 and a plurality of network inter- face adapters 210A- C via a bus 205.
  • the memory 204 may comprise storage locations addressable by the processor and interface adapters for storing software programs and data structures, such as a routing table 235 and topology table 245, respectively, that may be advantageously used with the inventive technique described herein.
  • the route processor 202 may comprise processing elements or logic for executing the software programs and manipulating the data structures. It will be apparent to those skilled in the art that other processor and memory means, including various computer readable me- dia, may be used for storing and executing program instructions pertaining to the inventive technique described herein.
  • a router operating system 220 portions of which are typically resident in memory 204 and executed by the route processor 202, functionally organizes the router by, inter alia, invoking network operations in support of software processes executing on the router.
  • the operating system 220 may be implemented as a single process with a large memory address space, wherein pieces of code within that process provide operating system services, such as one or more routing protocols.
  • the operating system services may be implemented as separately-scheduled processes in distinct, protected address spaces. These software processes, each with its own process address space, execute on the router to manage resources internal to the router and, in the case of a routing protocol, to interact with users.
  • these software processes include routing information base (RIB 230) and routing protocol modules, such as IGP 240 and BGP 400. Communication among the processes is typically effected by the exchange of messages; a known message-passing mechanism provided by router operating system 220 to transfer information between processes (and process address spaces) is the Inter Process Communication (IPC) mechanism.
  • IPC Inter Process Communication
  • a key function of the router 200 is determining the next node to which a packet is sent; in order to accomplish such "routing" the routers cooperate to determine optimal paths through the computer network 100.
  • the routing function is preferably performed by an internetwork layer of a conventional protocol stack within each router.
  • Fig. 3 is a schematic block diagram of a conventional network protocol stack, such as the Internet communications protocol stack 300.
  • the architecture of the Internet proto- col stack is represented by 4 layers termed, in ascending interfacing order, the network interface layer 308, the internetwork layer 306, the transport layer 304 and the application layer 302.
  • the lower network interface layer 308 is generally standardized and implemented in hardware and firmware, whereas the higher layers are typically implemented in the form of software.
  • the primary internetwork layer protocol of the Internet architecture is the IP protocol.
  • IP is primarily a connectionless protocol that provides for intemetwork routing, fragmentation and reassembly of exchanged packets - generally referred to as "datagrams" in an Internet environment - and which relies on transport protocols for end-to-end reliability.
  • An example of such a transport protocol is the TCP protocol, which is implemented by the transport layer 304 and provides connection- oriented services to the upper layer protocols of the Internet architecture.
  • TCP/IP is commonly used to denote the Internet architecture.
  • IGP 240 such as OSPF or, illustratively, ISIS
  • IGP 240 is an intra-domain routing protocol that may be used to perform routing (for the internetwork layer 306) within each routing domain of the computer network 100.
  • IGP 240 maintains a topology table 245 that is configured to store a database of the entire set of nodes and links in the network. This database is provided as an input to a shortest path first (SPF) calculation, e.g., the Dijkstra algorithm, which output is used to construct a shortest path tree (SPT).
  • SPPF shortest path first
  • SPT shortest path tree
  • the SPT is the set of shortest paths, e.g., from the router that computes the algorithm, to any other router in the network.
  • the SPT is thus a subset of the entire database of links and nodes that results from essentially pruning the database.
  • the output of SPT computation is then provided to the RIB 230. That is, the IGP process 240 provides to the RIB 230 all address prefixes that have been advertised by other nodes in the network that are part of the SPT.
  • the RIB then computes (installs) those prefixes into its routing table 235.
  • Border Gateway Protocol version 4 is an inter-domain routing protocol used to perform routing (for the internetwork layer 306) between routing domains (e.g., ASes) of the computer network.
  • BGP speakers within the ASes (hereinafter “neighbors") exchange routing and reachability information among the ASes over a reliable transport layer connection, such as TCP.
  • An adjacency is a relationship formed between selected neighbors for the purpose of exchanging routing messages and abstracting the network topology.
  • the BGP protocol uses the TCP transport layer 304 to ensure reliable communication of routing messages among the neighbors.
  • each BGP speaker 200a-c maintains a routing table that lists all feasible paths to a par- ticular network.
  • the routers further exchange routing information using BGP routing update messages when their routing tables change.
  • the routing update messages are generated by an updating router to advertise routes to each of its neighbors throughout the computer network. These routing updates allow the BGP routers of the ASes to construct a consistent and up-to-date view of the network topology.
  • Fig. 4 is a schematic block diagram illustrating the architecture of the BGP protocol 400.
  • BGP neighbors announce routing updates via TCP connections 402.
  • the BGP protocol "listens" for routing update messages and stores all learned routes for each connection in a BGP database.
  • the BGP database is illustratively organized as Adjacency RIB In (Adj-RIB-In 410), Adjacency RIB Out (Adj-RIB-Out 440) and local RIB (loc-RIB 420).
  • Each neighbor/TCP connection 402 is associated with an Adj-RIB- In 410 and an Adj-RIB-Out 440. Note that this association is a conceptual data construct; there is typically not a separate Adj-RIB-In/-Out database for each neighbor.
  • the BGP protocol 400 runs inbound policy on all routes "learned" for each con- nection 402 and those routes that match are stored in an Adj-RIB-In 410 unique to that connection. Additional inbound policy 450 (filtering) is then applied to those stored routes, with a potentially modified route being installed in the Loc-RIB 420.
  • the Loc- RIB 420 is generally responsible for performing a BGP best path computation that selects the best route per prefix from the union of all policy-modified Adj-RIB-In routes, resulting in routes referred to as "best paths".
  • the set of best paths is then installed in the routing table 235 of RIB 230, where they may contend with routes from other protocols (such as IGP 240) to become the "optimal" path ultimately selected for forwarding. Thereafter, the set of best paths have outbound policy 460 run on them, the result of which is placed in appropriate Adj-RIB-Out 440 and announced to the respective neighbors via the same TCP connections 402 from which routing update messages were learned.
  • the Loc-RIB 420 also provides the RIB 230 with a next hop attribute associated with that best path. That is, the route (best path per prefix) that BGP provides to the RIB includes an indication of the next hop address to that prefix. Notably, the next hop attribute (address) sent to the RIB 230 must be resident in the routing table 235 through another protocol (e.g., IGP 240).
  • the BGP process 400 ensures that the next hop attribute is reachable within IGP prior to sending the best path to the RIB by performing certain validations or checks to the route, one of which is to verify that the next hop attribute is known by the RIB as a valid route. To that end, BGP 400 performs a look up operation into the RIB 230 (e.g., via the IPC mechanism) to verify that the next hop of the best path is already known (resident) in the routing table 235.
  • BGP-enabled routers 200a-c exchange routing information (i.e., external routes) with other BGP-enabled routers that are not in the same AS using eBGP.
  • each router 200a-c propagates (advertises) those externally "learned" BGP routes as BGP originated routes to its internal BGP neighbors within the AS using iBGP. That is, each BGP-enabled router advertises (injects) externally learned routes into its routing domain as iBGP routes using conventional BGP update messages. Yet since it is a router, the BGP-enabled router also executes the IGP protocol to thereby enable it to participate in both BGP and IGP routing.
  • the BGP/IGP en- abled router (hereinafter generally "BGP originator 200") performs (i) BGP routing to propagate external routes inside the AS and (ii) IGP routing to further propagate those routes as iBGP routes used as BGP next hop attributes.
  • the BGP originator 200 advertises the external routes to its iBGP neighbors by identifying itself as the next hop address for those routes. In other words, the next hop address of the routes that the origi- nator 200 advertises to its neighbors is, in fact, an IP loopback address of the originator.
  • the IGP (ISIS) process 240 enables the BGP originator 200 to advertise its loopback address within an LSA that is sent to its IGP neighbors.
  • the present invention is directed to a technique for configuring an intermediate network node, such as a router, to automatically determine whether a route advertised by a routing protocol is important for fast convergence in a computer network.
  • an important route needed for fast convergence is a route advertised by the routing protocol, such as BGP 400, as a next-hop address, since external connectivity relies on such a route.
  • the BGP process 400 interacts with the IGP process 240 to identify the route as an important route. Identification of an important route, in turn, allows IGP to process the route in a high priority fashion, thereby facilitating fast convergence.
  • the IGP process is the ISIS protocol process and the important route is a route that represents a BGP next-hop attribute.
  • the inventive technique is thus illustratively directed to automatically (dynamically) determining such an important route using, e.g., ISIS route tagging. More precisely, the inventive technique allows the router to detect whether an IGP route is also used as a BGP next- hop attribute and, if so, advertise that route to IGP neighbors in the routing domain using ISIS route tagging so the neighbors (and router) can process the route with high priority during convergence.
  • the router illustratively advertises the route via an IGP advertisement embodied as an LSA (e.g., an ISIS LSP).
  • An ISIS LSP may be used to distribute IP prefix reachability information throughout an ISIS routing domain (such as, e.g., an area, level or AS) using one or more type, length and value (TLV) tuples.
  • TLV type, length and value
  • an "extended IP reachability" TLV type 135) is typically included in an LSP to advertise, among other things, IP prefixes to IGP neighbors.
  • the extended IP reachability TLV is described in more de- tail in RFC 3784, by H. Smit and T. Li, published June 2004, entitled Intermediate System to Intermediate System (IS-IS) Extensions for Traffic Engineering (TE) which is hereby incorporated by reference in its entirety.
  • Fig. 5 is a schematic block diagram of an ISIS LSA (LSP) 500 that may be advantageously used in accordance with the present invention.
  • the LSP 500 comprises a conventional LSP header 510 and one or more TLV tuples 520.
  • the LSP header 510 stores, among other things, the LSP's ISIS version number, sequence number and relative "age", as well as authentication data and other packet-related information.
  • Each TLV tuple 520 includes a type field 522, a length field 524 and a value field 526.
  • the type field 522 indicates the type of information stored in the value field 526.
  • the length field 524 identifies the length, usually in octets, of the TLV 520.
  • the value field 526 stores the specific value transported by the TLV.
  • TLV tuple contained in the LSP 500 is an extended IP reachability TLV 530 that is extended to carry an address prefix reachable from a particular IGP router.
  • the "extended reachability TLV" 530 is organized to include a type field 532 containing a predetermined type value (e.g., a "type 135" or "extended IP reachability" TLV), as defined in above-referenced RFC 3784.
  • the length field 534 is a variable length value.
  • the value field 536 illustratively contains, inter alia, the reachable address prefix 540, along with one ore more sub-TLVs 550, each having a type field 552, length field 554 and value field 556.
  • Fig. 6 is a schematic block diagram of an illustrative sub-TLV tuple 600 that may be advantageously used to store one or more administrative tags in accordance with the present invention.
  • the administrative tag sub-TLV is described in Internet Draft www.ietf.org/internet-drafts/draft-ietf-isis-admin-tags-02.txt, July 2004, entitled A Policy Control Mechanism in IS-IS Using Administrative Tags, by C. Martin et al., which is hereby incorporated by reference as though fully set forth herein.
  • the administrative tag sub-TLV 600 comprises a type field 602, a length field 604 and a value field 606.
  • the type field 602 stores a value that identifies the sub-TLV 600 as an administrative tag sub-TLV.
  • the length field 604 stores the length, in octets, of the sub- TLV 600.
  • the value field 606 is configured to store one or more instances of adminis- trative tag information 610.
  • the administrative tag information 610 may be used to specify that the reachable address prefix ("local prefix") 540 stored in the extended IP reachability TLV 530 of LSP 500 is an important route for convergence.
  • the BGP process 400 executing on router 200 to inject iBGP routes into the routing domain also interacts with IGP process 240 executing on the router to identify a local prefix used as a BGP next hop attribute for those iBGP routes injected into the domain.
  • BGP 400 issues an IPC message (or function call) that informs IGP 240 that (i) BGP has advertised one or more iBGP routes using this local (address) prefix as the BGP next hop and (ii) if this address is advertised in IGP, tag those routes as important.
  • Tagging in this context, denotes route tagging and, as such, illustratively applies to the ISIS routing protocol implementation of the IGP.
  • the router tags the local prefix as an important route for convergence and advertises that tagged route throughout the domain.
  • IGP 240 creates a LSP 500 with an extended IP reachability TLV 530 containing, inter alia, the reachable address prefix 540 and the administrative tag sub-TLV 600.
  • the IGP process then inserts predetermined administrative tag information 610 into value field 606 that essentially tags the reachable address prefix (local prefix) 540 as important for convergence.
  • the router 200 uses the administrative tag information 610 to tag the local prefix 540 advertised via IGP as important because that prefix/route is the next hop address of all the externally learned BGP routes.
  • all IGP routers (including the router 200) within the routing domain may detect the importance of the tagged route and apply high priority to the route during convergence processing.
  • the IGP process 240 executing on the router 200 maintains a list of routes (prefixes) considered important for fast convergence.
  • the list (not shown) is illustratively embodied as a data structure containing one or more entries, each of which is configured to store a prefix and a next hop address attribute denoting an important route.
  • IGP 240 processes these important routes before other routes. Specifically, during fast convergence, the IGP process 240 operates on the content of its topology table 245 to compute a SPT and updates the RIB 230 in order to reflect the changes in the topology.
  • Updating of the RIB 230 generally implies (i) removing prefixes, (ii) adding prefixes, and/or (iiii) modifying prefixes in the routing table 235.
  • the prefixes that comprise the computed SPT are either (i) removed (de- leted), (ii) added (installed) or (iii) modified (updated) in the routing table. Since it has been notified of the importance of certain routes/prefixes, IGP 240 processes (e.g., updates the RIB with) those important prefixes first to facilitate fast convergence.
  • Processing of important prefixes first facilitates fast convergence because the RIB process is a large (and time consuming) component of fast convergence. Comput- ing an SPT takes only a few milliseconds, whereas computing or updating the routing table maintained by the RIB may take several hundreds of milliseconds. In this context, processing of important routes (prefixes) first facilitates convergence. Also, an IGP typically sends update information to the RIB sequentially and, as it receives and processes those updates, the RIB may constantly (sequentially) populate the FIB. In this manner, a forwarding engine operates on the FIB to render forwarding decisions using the results of those important processed routes. Fig.
  • Step 7 is a flowchart illustrating a procedure for configuring the router to automatically determine whether a route advertised by a routing protocol, such as BGP, is important for fast convergence in the computer network.
  • the procedure starts at Step 700 and proceeds to Step 702 where a router (e.g., a BGP originator) receives from an IP address.
  • a router e.g., a BGP originator
  • Step 704 the BGP originator advertises those BGP routes to its iBGP neighbors within the routing domain (AS) using one or more conventional BGP update messages that include a local address (i.e., loop- back address) of the BGP originator as the next hop attribute.
  • Step 706 the BGP process 400 executing in the iBGP neighbors (and BGP originator) signals the IGP
  • I 0 process 240 (e.g., via an IPC message or function call) to automatically tag this next hop address, which is also known to be advertised in the IGP, as important.
  • the loopback address had been previously advertised through IGP (ISIS), as determined by BGP 400 when performing a query (lookup operation) into its RIB 230 (described above).
  • ISIS IGP
  • the IGP process 240 executing in the BGP originator tags the local prefix/route as an important route for convergence (e.g., in accordance with ISIS route tagging).
  • any address that is used as BGP next hop attribute is important for convergence. Therefore, rather than having an administrator configure each router to tag a particular local route with a predetermined value because it is
  • the invention enables BGP to cooperate with IGP in order to tag the route dynamically.
  • IGP advertises that tagged route to IGP neighbors (routers) throughout the domain.
  • all IGP routers within the routing domain may detect the importance of the tagged route so that, in Step 712, the IGP process 240 may apply high priority to the tagged route during
  • the present invention provides a technique whereby the importance of a route is determined by an originator of the route, e.g., the BGP process executing on a router, as opposed to a receiver of the route, e.g., the IGP process of the router and neighboring routers. Since the originator of the route sets the importance of 30 the route, the inventive technique provides an efficient, "backward compatible" ap- proach to determining whether a route advertised by a routing protocol, such as BGP, is important for fast convergence in a computer network.
  • a routing protocol such as BGP
  • other IGP protocols such as OSPF
  • OSPF may be configured to achieve the principles of the present invention.
  • tagging of important routes is not currently fully deployable within OSPF, there is activity around extensions to the OSPF protocol that would enable tagging of routes. Yet until it is extended in order to fully support route tags on every route, implementations of the OSPF protocol may have to cope with certain topological constraints/limitations.

Landscapes

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

Abstract

A technique configures an intermediate network node to automatically determine whether a route advertised by a routing protocol is important for fast convergence in a computer network. As used herein, an important route needed for fast convergence is a route advertised by the routing protocol, such as an exterior gateway routing protocol (EGP) process executing on the node, as a next-hop address, since external connectivity relies on such a route. Notably, the EGP process interacts with an interior gateway routing protocol (IGP) process executing on the node to identify the route as an important route. Identification of an important route, in turn, allows IGP to process the route in a high priority fashion, thereby facilitating fast convergence.

Description

AUTOMATIC ROUTE TAGGING OF BGP NEXT-HOP ROUTES IN IGP
FIELD OF THE INVENTION
This invention relates generally to computer networks, and, more specifically, to a technique for enhancing convergence in a computer network.
s BACKGROUND OF THE INVENTION
Data communication in a computer network involves the exchange of data between two or more entities interconnected by communication links and subnetworks (subnets). These entities are typically software programs executing on hardware computer platforms, such as end nodes and intermediate network nodes. The intermediate o network nodes interconnect the communication links and subnets to enable transmission of data between the end nodes, such as personal computers or workstations. A local area network (LAN) is an example of a subnet that provides relatively short distance communication among the interconnected nodes, whereas a wide area network (WAN) enables long distance communication over links provided by public or private tele- s communications facilities. The Internet is an example of a WAN that connects disparate computer networks throughout the world, providing global communication between nodes on various networks.
Communication software executing on the nodes correlate and manage data communication with other nodes. The nodes typically communicate by exchanging dis- 0 crete messages or packets of data according to predefined protocols, such as the Transmission Control Protocol/Internet Protocol (TCP/IP). In this context, a protocol consists of a set of rules defining how the nodes interact with each other. In addition, network routing software executing on the intermediate nodes allow expansion of communication to other nodes. Collectively, these hardware and software components com- s prise a collection of computer networks.
Since management of computer networks can prove burdensome, smaller groups of one or more computer networks can be maintained as separate routing domains or autonomous systems (ASes). In this context, a routing domain is broadly con- strued as a collection of interconnected nodes within a common address space (e.g., a level, area or AS), and an AS is a routing domain managed by a single administrative entity, such as a company, an academic institution or a branch of government. To interconnect dispersed networks and/or provide Internet connectivity, many organizations
5 rely on the infrastructure and facilities of Internet Service Providers (ISPs). An ISP is an example of an AS that typically owns one or more "backbone" networks configured to provide high-speed connection to the Internet. To interconnect private routing domains that are geographically diverse, an organization (customer) may subscribe to one or more ISPs and couple its private domain networks to the ISP's equipment. Here, an
I0 intermediate network node, such as a switch or router, may be utilized to interconnect a plurality of private networks to an IP backbone network.
ISP backbone networks generally require fast convergence in order to provide a reliable service to its customers. Convergence, in this context, denotes the ability of a router or network to react to failures or, more generally, to network events and to re- I5 cover from those failures in order to have minimal disruption time. Examples of such failures include link or node failures. Fast convergence thus involves the ability of the ISP backbone networks to react very quickly to such link and node failures to thereby reroute traffic over alternate paths and, thus, minimize service disruption.
A main component of fast convergence in a router is a routing information base 20 (RIB). The RIB is a process that manages a routing table that holds many (e.g., thousands) of routes computed by different protocols, including both interior gateway protocols (IGP) and exterior gateway protocols (EGP). IGP protocols, such as conventional link-state protocols, are intra-domain routing protocols that define the manner with which routing information and network-topology information are exchanged and 25 processed in a routing domain, such as an ISP backbone network. Examples of conventional link-state protocols include, but are not limited to, the Open Shortest Path First (OSPF) protocol and the Intermediate-System-to-Intermediate-System (ISIS) protocol. The OSPF protocol is described in more detail in Request for Comments (RFC) 2328, entitled OSPF Version 2, dated April 1998, which is incorporated herein by reference 30 in its entirety. The ISIS protocol is described in more detail in RFC 1195, entitled Use of OSI IS-IS for Routing in TCP/IP and Dual Environments, dated December 1990, which is incorporated herein by reference in its entirety.
Each router running a link-state protocol (i.e., IGP) maintains an identical link- state database (LSDB) describing the topology of the routing domain. Each piece of the LSDB is a particular router's local state, e.g., the router's usable interfaces and reachable neighbors or adjacencies. As used herein, neighboring routers (or "neighbors") are two routers that have interfaces to a common network, wherein an interface is a connection between a router and one of its attached networks. Moreover, an adjacency is a relationship formed between selected neighbors for the purpose of ex- changing routing information and abstracting the network topology. One or more router adjacencies may be established over an interface. Each router distributes its local state throughout the domain in accordance with an initial LSDB synchronization process and a conventional flooding algorithm.
In order to guarantee convergence of a link-state protocol, link-state protocol data units (PDUs) that originate after an initial LSDB synchronization between neighbors is completed are delivered to all routers within the flooding scope limits. The PDUs are used to exchange routing information between interconnected routers. The flooding scope limits may comprise an area, a level or the entire AS, depending on the protocol and the type of link-state PDU. An area or level is a collection or group of contiguous networks and nodes (hosts), together with routers having interfaces to any of the included networks. Each area/level runs a separate copy of the link-state routing algorithm and, thus, has its own LSDB. In the case of OSPF, the PDU is a link state advertisement (LSA) comprising a unit of data describing the local state of a router or network, whereas in the case of ISIS, the PDU is a link state packet (LSP). As used herein, a LSA generally describes any message used by an IGP process to communicate routing information among the nodes, such that the collected LSAs of all routers and networks form the LSDB for the particular link-state protocol.
Broadly stated, the IGP process executing in a sending router typically generates and disseminates a LSA whose routing information includes a list of the node's neighbors and one or more "cost" values associated with each neighbor. A cost value associated with a neighbor is an arbitrary metric used to determine the relative ease/burden of communicating with that router. For instance, the cost value may be measured in terms of the number of hops required to reach the neighbor, the average time for a packet to reach the neighbor, and/or the amount of network traffic or available bandwidth over a communication link coupled to the neighbor. LSAs are typically transmitted ("advertised") among the routers until each router can construct the same "view" of the network topology by aggregating the received lists of neighbors and cost values. The IGP process advertises routes internal to the routing domain ("internal routes") via LSAs that typically comprise the routers' loopback addresses as well as interface/link addresses. A loopback address is a type of "virtual" interface identifier of the router that is stable and always available (does not fail) and, as such, is advertised instead of a physical interface address to ensure that the router can always reach its neighbor. Each router may input this received routing information to a "shortest path first" (SPF) calculation that determines the lowest-cost network paths that couple the router with each of the other network nodes. The well- known Dijkstra algorithm is a conventional technique for performing such a SPF calculation, as described in more detail in Section 12.2.4 of the text book Interconnections Second Edition, by Radia Permian, published September 1999.
The routers typically have a topology table that contains all destinations advertised by neighbors. Each entry in the topology table includes the destination address and a list of neighbors that have advertised the destination. For each neighbor, the entry records the advertised metric, which the neighbor stores in its routing table. The metric that the router uses to reach the destination is also associated with the destination. The metric that the router uses in the routing table, and to advertise to other routers, is the sum of the best-advertised metric from all neighbors and the link cost to the best neighbor. An example of a topology table is the LSDB having a map of every router, its links and the states of those links in the routing domain. The LSDB also has a map of every network and every path to each network in the routing domain.
Specifically, the LSA is processed by the IGP process of a receiving router and provided to the RIB so that it can process the advertisement (along with other routing information) to determine best paths for purposes of populating a forwarding table of a forwarding information base (FIB). In a link state protocol, such as ISIS and OSPF, the router that is directly affected by a failure (i.e., closest to the failure) advertises such failure via the LSA to the rest of the network. In response, each router in the network computes a new network topology and, thus, a new path around the failure. To achieve fast convergence, the IGP process of each router re-computes its topology table and up- dates the routing table to reflect the topology change. More specifically, the SPF calculation is applied to the contents of the LSDB to compute a shortest path to each destination network. To that end, the algorithm prunes the database of alternate paths and creates a loop-free shortest path tree (SPT) of the topological routing domain. The routing table is then updated to correlate destination nodes with network interfaces as- sociated with the lowest-cost paths to reach those nodes, as determined by the SPF calculation.
A plurality of interconnected ASes may be configured to exchange messages in accordance with an EGP, such as the Border Gateway Protocol version 4 (BGP). To implement the BGP protocol, each routing domain (e.g., AS) includes at least one "border" router through which it communicates with other, interconnected ASes. Before transmitting such messages, however, the routers cooperate to establish a logical "peer" connection (session). BGP is an inter-domain routing protocol that generally operates over a reliable transport protocol, such as TCP, to establish a TCP connection/session; any two border routers that have opened a TCP connection (session) to each other for the purpose of exchanging routing information are known as peers or neighbors. BGP performs routing between ASes by exchanging routing (reachability) information among neighbors of the systems.
The routing information exchanged by BGP neighbors typically includes destination address prefixes, i.e., the portions of destination addresses used by the routing protocol to render routing ("next hop") decisions, and associated path attributes. Examples of such destination addresses include Internet Protocol (IP) version 4 (IPv4) and version 6 (IPv6) addresses, while an example of a path attribute is a next-hop address. Note that the combination of a set of path attributes and a prefix is referred to as a "route"; the terms "route" and "path" may be used interchangeably herein. The BGP routing protocol is well known and described in detail in Request For Comments (RFC) 1771, by Y. Rekhter and T. Li (1995), Internet Draft <drafi-ietf-idr-bgp4-20.txt> titled, A Border Gateway Protocol 4 (BGP-4) by Y. Rekhter and T. Li (April 2003) and Interconnections, Bridges and Routers, by R. Perlman, published by Addison Wesley Publishing Company, at pages 323-329 (1992), all disclosures of which are hereby incorporated by reference. Two BGP-enabled routers (i.e., BGP speakers) that are not in the same AS use external BGP (eBGP) to exchange routes. Internal BGP (iBGP) is a form of BGP that exchanges routes among iBGP neighbors within an AS. BGP speakers within an AS are typically connected via a fully meshed iBGP session arrangement to ensure that all BGP speakers receive route updates from the other BGP speakers in the AS. When a BGP speaker receives updates from multiple ASes that describe different paths to the same destination, the speaker chooses a single best path for reaching that destination (prefix). Once chosen, the speaker uses BGP to propagate that best path to its neighbors. The decision is based on the value of attributes, such as next-hop, contained in a BGP update message and other BGP-configurable factors. In this context, the BGP next-hop attribute is the network (IP) address of the next hop (neighbor) used to reach the destination prefix.
More specifically, each route advertised by BGP must have a next hop address that is reachable through IGP in order for that route to be considered valid. That is, a valid BGP route must contain an attribute (such as a BGP next-hop address) that, in turn, must exist in the routing table of the router through IGP. Both BGP and IGP
(OSPF, ISIS) processes executing on a router provide routes (best paths per prefixes) to the RIB; however, among the prefixes provided by IGP that the RIB installs into the routing table are those prefixes that are used as BGP next hop addresses. These BGP next hop addresses are illustratively loopback addresses of the BGP next-hop routers. As noted, ISP backbone networks require fast convergence in order to provide a reliable service to its customers. Convergence occurs when all of the routers have a consistent perspective ("view") of the network topology. After a topology change, e.g., one or more link and/or node failures, the routers re-compute their best paths; this typically disrupts the service provided by the ISP. The ISP backbone networks must there- fore be able to react quickly to such failures in order to re-route traffic over alternate paths and, thus, minimize service disruption. However, not all routes require fast con- vergence. Typically the routes (addresses) used as BGP next-hop attributes within BGP update messages are considered most important addresses because they enable connectivity inside and outside of the routing domain. For example, these next-hop addresses are typically addresses of subnets used to connect servers/gateways; as such, they are considered most important because BGP relies on them for external activity, i.e., activity external to the routing domain. Yet, the addresses of subnets used to connect servers and gateways could also be part of an internal routing domain. Here, the routers may connect voice over IP (VoIP) servers, such that all IP telephony of the routing domain relies on those servers. Therefore it is desirable to prioritize these next hop addresses to enable fast convergence.
A known approach used to determine whether addresses advertised by a routing protocol are important for fast convergence involves explicit configuration by an administrator (user) of a group of routes. Here, the group of routes (addresses) is part of a block of addresses that the user configures as important on each router. Another, more precise approach for determining whether an address advertised by a routing protocol (such as IGP) is important for fast convergence is based on route labeling or "route tagging". An example of route tagging is a conventional ISIS route tag where a user "tags" each important route needed for fast convergence with an administrative tag.
However, conventional route tagging requires coordination within the network in the sense that every router must be "manually" configured to process (with a predetermined degree of importance) routes having, e.g., a predetermined tag value. For example, an ISP user/administrator may configure the IGP (ISIS) routing protocol running on each router in its ISP network with a command that specifies routes tagged with a predetermined value are important routes. Thus, a limitation to the conventional use of ISIS route tags is the coordination among routers within a routing domain and extensive manual configuration on behalf of the administrator in order to implement such coordination. The present invention substantially reduces manual configuration required to tag routes as important. SUMMARY OF THE INVENTION
The present invention overcomes the disadvantages of the prior art by providing a technique for configuring an intermediate network node to automatically determine whether a route advertised by a routing protocol is important for fast convergence in a computer network. As used herein, an important route needed for fast convergence is a route advertised by the routing protocol, such as an exterior gateway routing protocol (EGP) process executing on the node, as a next-hop address, since external connectivity relies on such a route. Notably, the EGP process interacts with an interior gateway routing protocol (IGP) process executing on the node to identify the route as an impor- tant route. Identification of an important route, in turn, allows IGP to process the route in a high priority fashion, thereby facilitating fast convergence.
In the illustrative embodiment described herein, the intermediate network node is a router and the IGP process is an Intermediate-System-to-Intermediate-System (ISIS) protocol process. In addition, the EGP is the Border Gateway Protocol (BGP) and, to that end, the important route is a route that represents a BGP next-hop attribute. The inventive technique is illustratively directed to automatically (dynamically) determining such an important route using, e.g., ISIS route tagging. More precisely, the inventive technique allows the router to detect whether an IGP route is also used as a BGP next-hop attribute and, if so, advertise that route to IGP neighbors in the routing domain using ISIS route tagging so the neighbors (and router) can process the route with high priority during convergence.
Operationally, a BGP process executing on a router to inject internal BGP (iBGP) routes into a routing domain also interacts with an IGP process executing on the router to identify a local prefix used as a BGP next hop attribute for those iBGP routes injected into the domain. Using ISIS route tagging, the router tags the local prefix as an important route for convergence and advertises that tagged route throughout the domain. In response, all IGP routers (including the router) within the routing domain may detect the importance of the tagged route and apply high priority to the route during convergence processing. Advantageously, the present invention provides a technique whereby the importance of a route is determined by an originator of the route, e.g., the BGP process exe- cuting on a router, as opposed to a receiver of the route, e.g., the IGP process of the router and neighboring routers. Since the originator of the route sets the importance of the route, the inventive technique provides an efficient, "backward compatible" approach to determining whether a route advertised by a routing protocol, such as BGP, is important for fast convergence in a computer network.
BRIEF DESCRIPTION OF THE DRAWINGS
The above and further advantages of the invention may be better understood by referring to the following description in conjunction with the accompanying drawings in which like reference numbers indicate identical or functionally similar elements: Fig. 1 is a schematic block diagram of a computer network comprising a plurality of routing domains interconnected by intermediate network nodes, such as routers;
Fig. 2 is a schematic block diagram of an embodiment of a router that may be advantageously used with the present invention;
Fig. 3 is a schematic block diagram of a conventional network protocol stack, such as the Internet communications protocol stack, within the router of Fig. 2;
Fig. 4 is a schematic block diagram illustrating the architecture of the Border Gateway Protocol (BGP);
Fig. 5 is a schematic block diagram of an Intermediate-System-to-Intermediate- System (ISIS) link state advertisement (LSA) that may be advantageously used in ac- cordance with the present invention;
Fig. 6 is a schematic block diagram of an illustrative sub- type, length, value (TLV) tuple that may be advantageously used to store one or more administrative tags in accordance with the present invention; and
Fig. 7 is a flowchart illustrating a procedure for configuring the router to auto- matically determine whether a route advertised by a routing protocol, such as BGP, is important for fast convergence in the computer network.
DETAILED DESCRIPTION OF AN ILLUSTRATIVE EMBODIMENT
Fig. 1 is a schematic block diagram of a computer network 100 comprising a plurality of routing domains interconnected by intermediate network nodes. The inter- mediate network nodes may comprise switches but, in the illustrative embodiment, are routers 200. The routing domains or autonomous systems (AS1-4) are illustratively interconnected by border routers 200a-c via point-to-point communication links 202, such as frame relay links, asynchronous transfer mode links or other serial links. The border routers 200a-c of AS 110 (AS1) are illustratively coupled to routers 200d-e via subnetworks, such as local area networks 204. Communication among the routers 200 is typically effected by exchanging discrete data packets or messages in accordance with pre-defined protocols, such as the Transmission Control Protocol/Internet Protocol (TCP/IP). It will be understood to those skilled in the art that other protocols, such as the Internet Packet Exchange (IPX) protocol, may be advantageously used with the present invention.
Routing decisions within each AS may rely on a predetermined "interior" gateway routing protocol (IGP). An example of an IGP is a conventional link-state protocol, such as the Open Shortest Path First (OSPF) or Intermediate-System-to- Intermediate-System (ISIS) protocol. In addition, routing information may be exchanged among the ASes 110-140 using an "exterior" gateway protocol (EGP), such as the Border Gateway Protocol version 4 (BGP). To that end, the BGP-enabled routers (BGP speakers) 200a-c exchange routing information with other BGP speakers that are not in the same AS using an external form of BGP (eBGP), while the BGP speakers 200a-c within an AS exchange routing information using an internal form of BGP (iBGP).
Fig. 2 is a schematic block diagram of a router 200 that may be advantageously used as a border router in accordance with the present invention. The router 200 comprises a route processor 202 coupled to a memory 204 and a plurality of network inter- face adapters 210A-C via a bus 205. The memory 204 may comprise storage locations addressable by the processor and interface adapters for storing software programs and data structures, such as a routing table 235 and topology table 245, respectively, that may be advantageously used with the inventive technique described herein. The route processor 202 may comprise processing elements or logic for executing the software programs and manipulating the data structures. It will be apparent to those skilled in the art that other processor and memory means, including various computer readable me- dia, may be used for storing and executing program instructions pertaining to the inventive technique described herein.
A router operating system 220, portions of which are typically resident in memory 204 and executed by the route processor 202, functionally organizes the router by, inter alia, invoking network operations in support of software processes executing on the router. In one embodiment of the invention, the operating system 220 may be implemented as a single process with a large memory address space, wherein pieces of code within that process provide operating system services, such as one or more routing protocols. Yet, in the illustrative embodiment, the operating system services may be implemented as separately-scheduled processes in distinct, protected address spaces. These software processes, each with its own process address space, execute on the router to manage resources internal to the router and, in the case of a routing protocol, to interact with users. As described herein, these software processes include routing information base (RIB 230) and routing protocol modules, such as IGP 240 and BGP 400. Communication among the processes is typically effected by the exchange of messages; a known message-passing mechanism provided by router operating system 220 to transfer information between processes (and process address spaces) is the Inter Process Communication (IPC) mechanism.
A key function of the router 200 is determining the next node to which a packet is sent; in order to accomplish such "routing" the routers cooperate to determine optimal paths through the computer network 100. The routing function is preferably performed by an internetwork layer of a conventional protocol stack within each router. Fig. 3 is a schematic block diagram of a conventional network protocol stack, such as the Internet communications protocol stack 300. The architecture of the Internet proto- col stack is represented by 4 layers termed, in ascending interfacing order, the network interface layer 308, the internetwork layer 306, the transport layer 304 and the application layer 302.
The lower network interface layer 308 is generally standardized and implemented in hardware and firmware, whereas the higher layers are typically implemented in the form of software. The primary internetwork layer protocol of the Internet architecture is the IP protocol. IP is primarily a connectionless protocol that provides for intemetwork routing, fragmentation and reassembly of exchanged packets - generally referred to as "datagrams" in an Internet environment - and which relies on transport protocols for end-to-end reliability. An example of such a transport protocol is the TCP protocol, which is implemented by the transport layer 304 and provides connection- oriented services to the upper layer protocols of the Internet architecture. The term TCP/IP is commonly used to denote the Internet architecture.
In particular, the internetwork layer 306 concerns the protocol and algorithms that routers utilize so that they can cooperate to calculate paths through the computer network 100. IGP 240, such as OSPF or, illustratively, ISIS, is an intra-domain routing protocol that may be used to perform routing (for the internetwork layer 306) within each routing domain of the computer network 100. As noted, IGP 240 maintains a topology table 245 that is configured to store a database of the entire set of nodes and links in the network. This database is provided as an input to a shortest path first (SPF) calculation, e.g., the Dijkstra algorithm, which output is used to construct a shortest path tree (SPT). The SPT is the set of shortest paths, e.g., from the router that computes the algorithm, to any other router in the network. The SPT is thus a subset of the entire database of links and nodes that results from essentially pruning the database. The output of SPT computation is then provided to the RIB 230. That is, the IGP process 240 provides to the RIB 230 all address prefixes that have been advertised by other nodes in the network that are part of the SPT. The RIB then computes (installs) those prefixes into its routing table 235.
The Border Gateway Protocol version 4 (BGP) is an inter-domain routing protocol used to perform routing (for the internetwork layer 306) between routing domains (e.g., ASes) of the computer network. BGP speakers within the ASes (hereinafter "neighbors") exchange routing and reachability information among the ASes over a reliable transport layer connection, such as TCP. An adjacency is a relationship formed between selected neighbors for the purpose of exchanging routing messages and abstracting the network topology. The BGP protocol uses the TCP transport layer 304 to ensure reliable communication of routing messages among the neighbors. In order to perform routing operations in accordance with the BGP protocol, each BGP speaker 200a-c maintains a routing table that lists all feasible paths to a par- ticular network. The routers further exchange routing information using BGP routing update messages when their routing tables change. The routing update messages are generated by an updating router to advertise routes to each of its neighbors throughout the computer network. These routing updates allow the BGP routers of the ASes to construct a consistent and up-to-date view of the network topology.
Fig. 4 is a schematic block diagram illustrating the architecture of the BGP protocol 400. BGP neighbors announce routing updates via TCP connections 402. The BGP protocol "listens" for routing update messages and stores all learned routes for each connection in a BGP database. The BGP database is illustratively organized as Adjacency RIB In (Adj-RIB-In 410), Adjacency RIB Out (Adj-RIB-Out 440) and local RIB (loc-RIB 420). Each neighbor/TCP connection 402 is associated with an Adj-RIB- In 410 and an Adj-RIB-Out 440. Note that this association is a conceptual data construct; there is typically not a separate Adj-RIB-In/-Out database for each neighbor.
The BGP protocol 400 runs inbound policy on all routes "learned" for each con- nection 402 and those routes that match are stored in an Adj-RIB-In 410 unique to that connection. Additional inbound policy 450 (filtering) is then applied to those stored routes, with a potentially modified route being installed in the Loc-RIB 420. The Loc- RIB 420 is generally responsible for performing a BGP best path computation that selects the best route per prefix from the union of all policy-modified Adj-RIB-In routes, resulting in routes referred to as "best paths". The set of best paths is then installed in the routing table 235 of RIB 230, where they may contend with routes from other protocols (such as IGP 240) to become the "optimal" path ultimately selected for forwarding. Thereafter, the set of best paths have outbound policy 460 run on them, the result of which is placed in appropriate Adj-RIB-Out 440 and announced to the respective neighbors via the same TCP connections 402 from which routing update messages were learned.
In addition to providing a best path per prefix, the Loc-RIB 420 also provides the RIB 230 with a next hop attribute associated with that best path. That is, the route (best path per prefix) that BGP provides to the RIB includes an indication of the next hop address to that prefix. Notably, the next hop attribute (address) sent to the RIB 230 must be resident in the routing table 235 through another protocol (e.g., IGP 240). The BGP process 400 ensures that the next hop attribute is reachable within IGP prior to sending the best path to the RIB by performing certain validations or checks to the route, one of which is to verify that the next hop attribute is known by the RIB as a valid route. To that end, BGP 400 performs a look up operation into the RIB 230 (e.g., via the IPC mechanism) to verify that the next hop of the best path is already known (resident) in the routing table 235.
As noted, BGP-enabled routers 200a-c exchange routing information (i.e., external routes) with other BGP-enabled routers that are not in the same AS using eBGP. In response, each router 200a-c propagates (advertises) those externally "learned" BGP routes as BGP originated routes to its internal BGP neighbors within the AS using iBGP. That is, each BGP-enabled router advertises (injects) externally learned routes into its routing domain as iBGP routes using conventional BGP update messages. Yet since it is a router, the BGP-enabled router also executes the IGP protocol to thereby enable it to participate in both BGP and IGP routing. In this context, the BGP/IGP en- abled router (hereinafter generally "BGP originator 200") performs (i) BGP routing to propagate external routes inside the AS and (ii) IGP routing to further propagate those routes as iBGP routes used as BGP next hop attributes. The BGP originator 200 advertises the external routes to its iBGP neighbors by identifying itself as the next hop address for those routes. In other words, the next hop address of the routes that the origi- nator 200 advertises to its neighbors is, in fact, an IP loopback address of the originator. The IGP (ISIS) process 240 enables the BGP originator 200 to advertise its loopback address within an LSA that is sent to its IGP neighbors.
The present invention is directed to a technique for configuring an intermediate network node, such as a router, to automatically determine whether a route advertised by a routing protocol is important for fast convergence in a computer network. As used herein, an important route needed for fast convergence is a route advertised by the routing protocol, such as BGP 400, as a next-hop address, since external connectivity relies on such a route. Notably, the BGP process 400 interacts with the IGP process 240 to identify the route as an important route. Identification of an important route, in turn, allows IGP to process the route in a high priority fashion, thereby facilitating fast convergence. In the illustrative embodiment, the IGP process is the ISIS protocol process and the important route is a route that represents a BGP next-hop attribute. The inventive technique is thus illustratively directed to automatically (dynamically) determining such an important route using, e.g., ISIS route tagging. More precisely, the inventive technique allows the router to detect whether an IGP route is also used as a BGP next- hop attribute and, if so, advertise that route to IGP neighbors in the routing domain using ISIS route tagging so the neighbors (and router) can process the route with high priority during convergence. The router illustratively advertises the route via an IGP advertisement embodied as an LSA (e.g., an ISIS LSP). An ISIS LSP may be used to distribute IP prefix reachability information throughout an ISIS routing domain (such as, e.g., an area, level or AS) using one or more type, length and value (TLV) tuples. For instance, an "extended IP reachability" TLV (type 135) is typically included in an LSP to advertise, among other things, IP prefixes to IGP neighbors. The extended IP reachability TLV is described in more de- tail in RFC 3784, by H. Smit and T. Li, published June 2004, entitled Intermediate System to Intermediate System (IS-IS) Extensions for Traffic Engineering (TE) which is hereby incorporated by reference in its entirety.
Fig. 5 is a schematic block diagram of an ISIS LSA (LSP) 500 that may be advantageously used in accordance with the present invention. The LSP 500 comprises a conventional LSP header 510 and one or more TLV tuples 520. The LSP header 510 stores, among other things, the LSP's ISIS version number, sequence number and relative "age", as well as authentication data and other packet-related information. Each TLV tuple 520 includes a type field 522, a length field 524 and a value field 526. The type field 522 indicates the type of information stored in the value field 526. The length field 524 identifies the length, usually in octets, of the TLV 520. The value field 526 stores the specific value transported by the TLV.
An example of a TLV tuple contained in the LSP 500 is an extended IP reachability TLV 530 that is extended to carry an address prefix reachable from a particular IGP router. To that end, the "extended reachability TLV" 530 is organized to include a type field 532 containing a predetermined type value (e.g., a "type 135" or "extended IP reachability" TLV), as defined in above-referenced RFC 3784. The length field 534 is a variable length value. The value field 536 illustratively contains, inter alia, the reachable address prefix 540, along with one ore more sub-TLVs 550, each having a type field 552, length field 554 and value field 556. The fields of the sub-TLV(s) 550 may be used in a variety of manners including, for example, ISIS route tagging. Fig. 6 is a schematic block diagram of an illustrative sub-TLV tuple 600 that may be advantageously used to store one or more administrative tags in accordance with the present invention. The administrative tag sub-TLV is described in Internet Draft www.ietf.org/internet-drafts/draft-ietf-isis-admin-tags-02.txt, July 2004, entitled A Policy Control Mechanism in IS-IS Using Administrative Tags, by C. Martin et al., which is hereby incorporated by reference as though fully set forth herein. The administrative tag sub-TLV 600 comprises a type field 602, a length field 604 and a value field 606. The type field 602 stores a value that identifies the sub-TLV 600 as an administrative tag sub-TLV. The length field 604 stores the length, in octets, of the sub- TLV 600. The value field 606 is configured to store one or more instances of adminis- trative tag information 610. According to the invention, the administrative tag information 610 may be used to specify that the reachable address prefix ("local prefix") 540 stored in the extended IP reachability TLV 530 of LSP 500 is an important route for convergence.
Operationally, the BGP process 400 executing on router 200 to inject iBGP routes into the routing domain also interacts with IGP process 240 executing on the router to identify a local prefix used as a BGP next hop attribute for those iBGP routes injected into the domain. In particular, BGP 400 issues an IPC message (or function call) that informs IGP 240 that (i) BGP has advertised one or more iBGP routes using this local (address) prefix as the BGP next hop and (ii) if this address is advertised in IGP, tag those routes as important. Tagging, in this context, denotes route tagging and, as such, illustratively applies to the ISIS routing protocol implementation of the IGP.
Using ISIS route tagging, the router tags the local prefix as an important route for convergence and advertises that tagged route throughout the domain. For example, IGP 240 creates a LSP 500 with an extended IP reachability TLV 530 containing, inter alia, the reachable address prefix 540 and the administrative tag sub-TLV 600. The IGP process then inserts predetermined administrative tag information 610 into value field 606 that essentially tags the reachable address prefix (local prefix) 540 as important for convergence. In other words, the router 200 uses the administrative tag information 610 to tag the local prefix 540 advertised via IGP as important because that prefix/route is the next hop address of all the externally learned BGP routes. In response, all IGP routers (including the router 200) within the routing domain may detect the importance of the tagged route and apply high priority to the route during convergence processing.
In the illustrative embodiment, the IGP process 240 executing on the router 200 (and IGP neighbors) maintains a list of routes (prefixes) considered important for fast convergence. The list (not shown) is illustratively embodied as a data structure containing one or more entries, each of which is configured to store a prefix and a next hop address attribute denoting an important route. At each subsequent routing change requiring re-computation of its topology table and update of the RIB's routing table 235, IGP 240 processes these important routes before other routes. Specifically, during fast convergence, the IGP process 240 operates on the content of its topology table 245 to compute a SPT and updates the RIB 230 in order to reflect the changes in the topology. Updating of the RIB 230 generally implies (i) removing prefixes, (ii) adding prefixes, and/or (iiii) modifying prefixes in the routing table 235. Thus, the prefixes that comprise the computed SPT are either (i) removed (de- leted), (ii) added (installed) or (iii) modified (updated) in the routing table. Since it has been notified of the importance of certain routes/prefixes, IGP 240 processes (e.g., updates the RIB with) those important prefixes first to facilitate fast convergence.
Processing of important prefixes first facilitates fast convergence because the RIB process is a large (and time consuming) component of fast convergence. Comput- ing an SPT takes only a few milliseconds, whereas computing or updating the routing table maintained by the RIB may take several hundreds of milliseconds. In this context, processing of important routes (prefixes) first facilitates convergence. Also, an IGP typically sends update information to the RIB sequentially and, as it receives and processes those updates, the RIB may constantly (sequentially) populate the FIB. In this manner, a forwarding engine operates on the FIB to render forwarding decisions using the results of those important processed routes. Fig. 7 is a flowchart illustrating a procedure for configuring the router to automatically determine whether a route advertised by a routing protocol, such as BGP, is important for fast convergence in the computer network. The procedure starts at Step 700 and proceeds to Step 702 where a router (e.g., a BGP originator) receives from an
5 eBGP neighbor one or more external BGP routes. In Step 704, the BGP originator advertises those BGP routes to its iBGP neighbors within the routing domain (AS) using one or more conventional BGP update messages that include a local address (i.e., loop- back address) of the BGP originator as the next hop attribute. In Step 706, the BGP process 400 executing in the iBGP neighbors (and BGP originator) signals the IGP
I0 process 240 (e.g., via an IPC message or function call) to automatically tag this next hop address, which is also known to be advertised in the IGP, as important. Note that the loopback address had been previously advertised through IGP (ISIS), as determined by BGP 400 when performing a query (lookup operation) into its RIB 230 (described above). is In Step 708 the IGP process 240 executing in the BGP originator tags the local prefix/route as an important route for convergence (e.g., in accordance with ISIS route tagging). According to the invention, any address that is used as BGP next hop attribute is important for convergence. Therefore, rather than having an administrator configure each router to tag a particular local route with a predetermined value because it is
20 an important route, the invention enables BGP to cooperate with IGP in order to tag the route dynamically. In Step 710, IGP advertises that tagged route to IGP neighbors (routers) throughout the domain. In response, all IGP routers (including the BGP originator) within the routing domain may detect the importance of the tagged route so that, in Step 712, the IGP process 240 may apply high priority to the tagged route during
2s convergence processing. The procedure then ends at Step 714.
Advantageously, the present invention provides a technique whereby the importance of a route is determined by an originator of the route, e.g., the BGP process executing on a router, as opposed to a receiver of the route, e.g., the IGP process of the router and neighboring routers. Since the originator of the route sets the importance of 30 the route, the inventive technique provides an efficient, "backward compatible" ap- proach to determining whether a route advertised by a routing protocol, such as BGP, is important for fast convergence in a computer network.
While there has been shown and described an illustrative embodiment that configures an intermediate network node to automatically determine whether a route adver- tised by a routing protocol is important for fast convergence in a computer network, it is to be understood that various other adaptations and modifications may be made within the spirit and scope of the present invention. For example, in an alternate embodiment of the invention, other IGP protocols, such as OSPF, may be configured to achieve the principles of the present invention. Although tagging of important routes is not currently fully deployable within OSPF, there is activity around extensions to the OSPF protocol that would enable tagging of routes. Yet until it is extended in order to fully support route tags on every route, implementations of the OSPF protocol may have to cope with certain topological constraints/limitations.
The foregoing description has been directed to specific embodiments of this in- vention. It will be apparent, however, that other variations and modifications may be made to the described embodiments, with the attainment of some or all of their advantages. For instance, it is expressly contemplated that the teachings of this invention can be implemented as software, including a computer-readable medium having program instructions executing on a computer, hardware, firmware, or a combination thereof. In addition, it is understood that the data structures described herein can include additional information while remaining within the scope of the present invention. Accordingly this description is to be taken only by way of example and not to otherwise limit the scope of the invention. Therefore, it is the object of the appended claims to cover all such variations and modifications as come within the true spirit and scope of the inven- tion.
What is claimed is:

Claims

L A method for configuring one or more intermediate network nodes to automatically determine whether a route is important for fast convergence in a computer network, the method comprising: executing an inter-domain routing protocol on an intermediate network node to inject externally learned routes into a routing domain; interacting, at the inter-domain routing protocol, with an intra-domain routing protocol executing on the node to identify a local prefix used as an inter-domain next hop attribute for the externally learned routes injected into the domain; tagging the local prefix as an important route for convergence; and advertising the tagged important route throughout the domain.
2. The method of Claim 1 further comprising: detecting the importance of the tagged route at others of the intermediate net- work nodes in the routing domain; and applying high priority to the route during convergence processing at the inter- mediate network nodes.
3. The method of Claim 2 wherein the step of interacting comprises issuing one of an inter process communication message and function call from the inter-domain routing protocol to the intra-domain routing protocol.
4. The method of Claim 3 wherein the inter-domain routing protocol is an exterior gateway protocol (EGP).
5. The method of Claim 4 wherein the EGP is a Border Gateway Protocol (BGP).
6. The method of Claim 3 wherein the intra-domain routing protocol is an interior gate- way protocol (IGP). 1 7. The method of Claim 6 wherein the IGP is an Intermediate-System-to-Intermediate-
2 System (ISIS) protocol.
i 8. The method of Claim 1 wherein the intermediate network node is a router.
1 9. A system adapted to configure one or more intermediate network nodes to auto-
2 matically determine whether a route is important for fast convergence in a computer
3 network, the system comprising:
4 an inter-domain routing protocol executing on an intermediate network node,
5 the inter-domain routing protocol configured to inject externally learned routes into a
6 routing domain; and
7 an intra-domain routing protocol executing on the node, the intra-domain rout-
8 ing protocol interacting with the inter-domain routing protocol to identify a local prefix
9 used as an inter-domain next hop attribute for the externally learned routes injected into 0 the domain, the intra-domain routing protocol further configured to tag the local prefix 1 as an important route for convergence and advertise the tagged important route 2 throughout the domain.
1 10. The system of Claim 9 further comprising:
2 other intermediate network nodes executing the intra-domain routing protocol in
3 the routing domain, the other intermediate network nodes configured to detect the im-
4 portance of the tagged route and apply high priority to the route during convergence
5 processing.
1 11. The system of Claim 9 wherein the inter-domain routing protocol is an exterior
2 gateway protocol (EGP).
i
12. The system of Claim 11 wherein the EGP is a Border Gateway Protocol (BGP).
13. The system of Claim 12 wherein the externally learned routes are internal BGP (iBGP) routes originated by the intermediate network node.
14. The system of Claim 13 wherein the local prefix is a loopback address of the in- termediate network node.
15. The system of Claim 10 wherein the intra-domain routing protocol is an interior gateway protocol (IGP).
16. The system of Claim 15 wherein the IGP is an Intermediate-System-to- Intermediate-System (ISIS) protocol.
17. Apparatus adapted to configure one or more intermediate network nodes to auto- matically determine whether a route is important for fast convergence in a computer network, the apparatus comprising: means for executing an inter-domain routing protocol on an inteπnediate net- work node to inject externally learned routes into a routing domain; means for interacting, at the inter-domain routing protocol, with an intra-domain routing protocol executing on the node to identify a local prefix used as an inter-domain next hop attribute for the externally learned routes injected into the domain; means for tagging the local prefix as an important route for convergence; and means for advertising the tagged important route throughout the domain.
18. The apparatus of Claim 17 further comprising: means for detecting the importance of the tagged route at others of the interme- diate network nodes in the routing domain; and means for applying high priority to the route during convergence processing at the intermediate network nodes.
19. A computer readable medium containing executable program instructions for con- figuring one or more intermediate network nodes to automatically determine whether a route is important for fast convergence in a computer network, the executable program instructions comprising program instructions for: executing an inter-domain routing protocol on an intermediate network node to inject externally learned routes into a routing domain; interacting, at the inter-domain routing protocol, with an intra-domain routing protocol executing on the node to identify a local prefix used as an inter-domain next hop attribute for the externally learned routes injected into the domain; tagging the local prefix as an important route for convergence; and advertising the tagged important route throughout the domain.
20. The computer readable medium of Claim 19 further comprising program instruc- tions for: detecting the importance of the tagged route at others of the intermediate net- work nodes in the routing domain; and applying high priority to the route during convergence processing at the inter- mediate network nodes.
PCT/US2005/047150 2004-12-29 2005-12-27 Automatic route tagging of bgp next-hop routes in igp WO2006071901A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP05855668A EP1832056B1 (en) 2004-12-29 2005-12-27 Automatic route tagging of bgp next-hop routes in igp

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/025,203 US7978708B2 (en) 2004-12-29 2004-12-29 Automatic route tagging of BGP next-hop routes in IGP
US11/025,203 2004-12-29

Publications (2)

Publication Number Publication Date
WO2006071901A2 true WO2006071901A2 (en) 2006-07-06
WO2006071901A3 WO2006071901A3 (en) 2006-12-14

Family

ID=36611385

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2005/047150 WO2006071901A2 (en) 2004-12-29 2005-12-27 Automatic route tagging of bgp next-hop routes in igp

Country Status (4)

Country Link
US (2) US7978708B2 (en)
EP (1) EP1832056B1 (en)
CN (1) CN100555968C (en)
WO (1) WO2006071901A2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008055429A1 (en) * 2006-11-09 2008-05-15 Huawei Technologies Co., Ltd. A method and border node for advertising border connection information of a system
WO2009000196A1 (en) * 2007-06-26 2008-12-31 Huawei Technologies Co., Ltd. A method and device for route convergence
WO2009036678A1 (en) * 2007-09-17 2009-03-26 Huawei Technologies Co., Ltd. Method, device and network system for message forwarding
CN102420766A (en) * 2011-12-09 2012-04-18 北京星网锐捷网络技术有限公司 Routing determination method and routing device
US9253255B1 (en) * 2012-07-12 2016-02-02 Juniper Networks, Inc. Content delivery network referral
US9706014B1 (en) 2012-07-12 2017-07-11 Juniper Networks, Inc. Routing protocol interface for generalized data distribution

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7436838B2 (en) * 2004-12-29 2008-10-14 Cisco Technology, Inc. Automatic prioritization of BGP next-hop in IGP
US7978708B2 (en) * 2004-12-29 2011-07-12 Cisco Technology, Inc. Automatic route tagging of BGP next-hop routes in IGP
US7590119B2 (en) * 2005-01-27 2009-09-15 Cisco Technology, Inc. Method and apparatus for context-based prefix updates in border gateway protocol
US8064467B2 (en) * 2005-02-04 2011-11-22 Level 3 Communications, Llc Systems and methods for network routing in a multiple backbone network architecture
EP1849263B1 (en) * 2005-02-04 2017-09-13 Level 3 Communications, LLC Ethernet-based systems and methods for improved network routing
US7545756B2 (en) * 2005-04-21 2009-06-09 Cisco Technology, Inc. Method and apparatus for constructing a forwarding information structure
EP1910938A2 (en) * 2005-07-08 2008-04-16 At&T Corp. Method and system for gateway selection in inter-region communication on ip networks
US7920572B2 (en) * 2005-09-20 2011-04-05 Cisco Technology, Inc. Modifying operation of peer-to-peer networks based on integrating network routing information
US9426092B2 (en) * 2006-02-03 2016-08-23 Level 3 Communications Llc System and method for switching traffic through a network
DE102007001831A1 (en) * 2006-09-14 2008-03-27 Rohde & Schwarz Gmbh & Co. Kg Encrypted communications links addressing and routing method, involves providing interface in encryption device with unique assignment of addresses of routing layer to addresses of another routing layer
US20080263188A1 (en) * 2007-04-20 2008-10-23 Verizon Business Network Services Inc. Method and system for monitoring and analyzing of routing in ip networks
US8805982B1 (en) * 2007-06-29 2014-08-12 Ciena Corporation Progressively determining a network topology and using neighbor information to determine network topology
US7864712B2 (en) * 2007-07-20 2011-01-04 Cisco Technology, Inc. Preventing loops in networks operating different protocols to provide loop-free topology
US8699349B2 (en) * 2007-10-26 2014-04-15 Microsoft Corporation Multi-factor optimized routing
US8396988B2 (en) 2007-12-19 2013-03-12 At&T Intellectual Property I, L.P. Method and system for survival of data plane through a total control plane failure
CN101534239B (en) * 2008-03-13 2012-01-25 华为技术有限公司 Method and device for installing routers
JP2009225056A (en) * 2008-03-14 2009-10-01 Kddi Corp Route controller, route control method and computer program
CN101340372B (en) 2008-08-21 2012-09-19 中国移动通信集团公司 Number automatic routing method, updating method, eliminating method, router and equipment
US8761185B2 (en) * 2009-12-17 2014-06-24 At&T Intellectual Property I, L.P. Communication networks that provide a common transport domain for use by multiple service domains and methods and computer program products for using the same
US8873401B2 (en) * 2010-03-16 2014-10-28 Futurewei Technologies, Inc. Service prioritization in link state controlled layer two networks
US8959139B2 (en) 2010-05-28 2015-02-17 Juniper Networks, Inc. Application-layer traffic optimization service endpoint type attribute
US8688775B2 (en) 2010-05-28 2014-04-01 Juniper Network, Inc. Application-layer traffic optimization service spanning multiple networks
CN102271080B (en) * 2010-06-03 2015-04-29 杭州华三通信技术有限公司 Method for preventing BGP (Border Gateway Protocol) session from being disconnected in the event of changing service, and applicable system thereof
US9077607B2 (en) * 2010-07-23 2015-07-07 Force10 Networks, Inc. Border gateway protocol inbound policy optimization
US8774010B2 (en) 2010-11-02 2014-07-08 Cisco Technology, Inc. System and method for providing proactive fault monitoring in a network environment
US8559341B2 (en) 2010-11-08 2013-10-15 Cisco Technology, Inc. System and method for providing a loop free topology in a network environment
US20120124238A1 (en) * 2010-11-12 2012-05-17 Alcatel-Lucent Bell N.V. Prioritization of routing information updates
US9608903B2 (en) * 2010-11-30 2017-03-28 Donald E. Eastlake, III Systems and methods for recovery from network changes
US8700801B2 (en) * 2010-12-01 2014-04-15 Juniper Networks, Inc. Dynamically generating application-layer traffic optimization protocol maps
CN102546369B (en) * 2010-12-20 2015-09-23 华为技术有限公司 A kind of Border Gateway Protocol route renewing method and system
US8954491B1 (en) 2010-12-30 2015-02-10 Juniper Networks, Inc. Dynamically generating application-layer traffic optimization protocol endpoint attributes
US9019865B2 (en) 2011-03-04 2015-04-28 Juniper Networks, Inc. Advertising traffic engineering information with the border gateway protocol
US8982733B2 (en) 2011-03-04 2015-03-17 Cisco Technology, Inc. System and method for managing topology changes in a network environment
CN102137015B (en) * 2011-03-11 2015-04-08 华为技术有限公司 Routing information acquiring method and network equipment
US8670326B1 (en) 2011-03-31 2014-03-11 Cisco Technology, Inc. System and method for probing multiple paths in a network environment
US8724517B1 (en) 2011-06-02 2014-05-13 Cisco Technology, Inc. System and method for managing network traffic disruption
US8830875B1 (en) 2011-06-15 2014-09-09 Cisco Technology, Inc. System and method for providing a loop free topology in a network environment
US8830867B2 (en) * 2011-07-21 2014-09-09 Telefonaktiebolaget L M Ericsson (Publ) Methods and network elements operable to specify and determine complete sets of link state messages for link state routing protocols
US8553688B2 (en) 2011-07-28 2013-10-08 Cisco Technology, Inc. Dynamic allocation of context identifiers for header compression
US8873409B2 (en) 2011-08-30 2014-10-28 Cisco Technology, Inc. Installing and using a subset of routes for forwarding packets
US10158554B1 (en) * 2012-02-29 2018-12-18 The Boeing Company Heuristic topology management system for directional wireless networks
US8750095B2 (en) * 2012-06-26 2014-06-10 Cisco Technology, Inc. System and method for protection against edge node failure
US9450846B1 (en) 2012-10-17 2016-09-20 Cisco Technology, Inc. System and method for tracking packets in a network environment
US9325561B2 (en) 2012-12-05 2016-04-26 At&T Intellectual Property I, L.P. Inter-provider network architecture
CN103888359B (en) * 2012-12-21 2017-04-12 杭州华三通信技术有限公司 Route calculation method and network device
US10212076B1 (en) * 2012-12-27 2019-02-19 Sitting Man, Llc Routing methods, systems, and computer program products for mapping a node-scope specific identifier
US9577874B2 (en) * 2013-03-14 2017-02-21 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for IP/MPLS fast reroute
GB2527273B (en) 2014-04-11 2016-08-03 Entuity Ltd Executing a loop computer program to identify a path in a network
EP2984799B1 (en) * 2013-04-19 2017-02-01 Entuity Limited Identification of paths in a network of mixed routing/switching devices
ES2620383T3 (en) 2013-04-19 2017-06-28 Entuity Limited Check a traffic forwarding table
GB2519824B (en) 2013-04-19 2015-10-14 Entuity Ltd Identifying an egress port of a device
GB2513188B (en) 2013-04-19 2015-11-25 Entuity Ltd Identification of the paths taken through a network of interconnected devices
CN104158737B (en) * 2013-05-15 2017-07-28 华为技术有限公司 A kind of methods, devices and systems for controlling routing iinformation to issue
CN104158736B (en) * 2013-05-15 2017-12-22 华为技术有限公司 A kind of method and apparatus for determining next-hop, issuing routing iinformation
US9331941B2 (en) 2013-08-12 2016-05-03 Cisco Technology, Inc. Traffic flow redirection between border routers using routing encapsulation
US9344359B1 (en) 2013-09-10 2016-05-17 Juniper Networks, Inc. Ingress protection for multipoint label switched paths
US9258210B2 (en) 2013-10-01 2016-02-09 Juniper Networks, Inc. Dynamic area filtering for link-state routing protocols
US20150109934A1 (en) * 2013-10-23 2015-04-23 Paramasiviah HARSHAVARDHA Internet protocol routing mehtod and associated architectures
CN103701696B (en) * 2013-12-31 2017-07-04 新华三技术有限公司 The method and its device of forwarding address are supported in a kind of IS IS agreements
CN104767687B (en) * 2014-01-03 2019-04-23 国际商业机器公司 Propagate critical path by and establish and update routing table method and apparatus
US9678840B2 (en) 2014-04-29 2017-06-13 Cisco Technology, Inc. Fast failover for application performance based WAN path optimization with multiple border routers
US11088937B1 (en) * 2014-05-08 2021-08-10 Google Llc System and method for synchronized route update
CN105471725B (en) * 2014-08-05 2019-01-22 新华三技术有限公司 Pass through the method for routing and device of autonomous system
CN105634940B (en) * 2014-10-27 2020-06-16 中兴通讯股份有限公司 SR information acquisition method and method for establishing segment routing network
GB2537338A (en) * 2014-11-28 2016-10-19 Aria Networks Ltd Modeling a border gateway protocol network
US10003520B2 (en) * 2014-12-22 2018-06-19 Cisco Technology, Inc. System and method for efficient name-based content routing using link-state information in information-centric networks
CN105991388A (en) * 2015-02-05 2016-10-05 中兴通讯股份有限公司 Routing convergence method, device and virtual private network (VPN) system
US10015073B2 (en) * 2015-02-20 2018-07-03 Cisco Technology, Inc. Automatic optimal route reflector root address assignment to route reflector clients and fast failover in a network environment
EP3269096B1 (en) * 2015-03-11 2019-10-09 Telefonaktiebolaget LM Ericsson (publ) Topology discovery for an application layer messaging protocol with hop-by-hop routing
EP3306874B1 (en) * 2015-07-06 2019-11-13 Huawei Technologies Co., Ltd. Controller device and border routers
US20180143769A1 (en) * 2015-07-31 2018-05-24 Luis Miguel Vaquero Gonzalez Methods to create logical trees of memory systems
CN106470154A (en) * 2015-08-17 2017-03-01 中兴通讯股份有限公司 Border Gateway Protocol (BGP) route source processing method and processing device
CN105591937B (en) * 2015-09-30 2018-12-25 新华三技术有限公司 A kind of acquisition method and equipment of network topological information
US10063457B2 (en) * 2016-03-29 2018-08-28 Juniper Networks, Inc. Method, system, and apparatus for improving forwarding capabilities during route convergence
US10116593B1 (en) * 2016-09-23 2018-10-30 Amazon Technologies, Inc. Transmission and storage of routing path information and routing topology information using a single routing protocol
US10419336B2 (en) * 2018-02-20 2019-09-17 Juniper Networks, Inc. Using disaggregated route information bases (“RIBS”) to increase the resiliency of protocols such as the border gateway protocol (“BGP”)
CN109861913B (en) * 2018-12-25 2020-03-20 华为技术有限公司 Method and device for advertising prefix identification of cross-interior gateway protocol
US10951463B2 (en) * 2019-03-27 2021-03-16 Cisco Technology, Inc. BGP aggregation in Clos networks
CN116782336B (en) * 2019-10-22 2024-07-19 华为技术有限公司 Communication method and device
US11750498B2 (en) * 2021-07-15 2023-09-05 Microsoft Technology Licensing, Llc Guarantying SLA thru edge cloud path orchestration
US12034570B2 (en) 2022-03-14 2024-07-09 T-Mobile Usa, Inc. Multi-element routing system for mobile communications
CN116192657B (en) * 2022-12-29 2024-10-18 中国联合网络通信集团有限公司 Network ISIS route diffusion simulation method and device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5519704A (en) 1994-04-21 1996-05-21 Cisco Systems, Inc. Reliable transport protocol for internetwork routing

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6727258B2 (en) * 1997-10-29 2004-04-27 King Pharmaceutical Research & Development, Inc. Allosteric adenosine receptor modulators
US6202114B1 (en) * 1997-12-31 2001-03-13 Cisco Technology, Inc. Spanning tree with fast link-failure convergence
US6857026B1 (en) * 1999-12-14 2005-02-15 Nortel Networks Limited Using alternate routes for fail-over in a communication network
US6658481B1 (en) * 2000-04-06 2003-12-02 International Business Machines Corporation Router uses a single hierarchy independent routing table that includes a flag to look-up a series of next hop routers for routing packets
US6757258B1 (en) * 2000-05-04 2004-06-29 Cisco Technology, Inc. Method and apparatus for reducing OSPF flooding
US7225270B2 (en) * 2000-10-17 2007-05-29 Cisco Technology, Inc. Selective diversion and injection of communication traffic
US6820134B1 (en) * 2000-12-28 2004-11-16 Cisco Technology, Inc. Optimizing flooding of information in link-state routing protocol
US7035202B2 (en) * 2001-03-16 2006-04-25 Juniper Networks, Inc. Network routing using link failure information
US7139242B2 (en) * 2001-03-28 2006-11-21 Proficient Networks, Inc. Methods, apparatuses and systems facilitating deployment, support and configuration of network routing policies
AU2002323364A1 (en) * 2001-08-24 2003-03-10 Peribit Networks, Inc. Dynamic multi-point meshed overlay network
US6968393B1 (en) * 2001-11-19 2005-11-22 Redback Networks, Inc. Method and apparatus for an attribute oriented routing update
US7027396B1 (en) * 2002-02-13 2006-04-11 At&T Corp. Traffic matrix computation for a backbone network supporting virtual private networks
US7180864B2 (en) * 2002-02-27 2007-02-20 Lucent Technologies Inc. Method and apparatus for exchanging routing information within an autonomous system in a packet-based data network
US6744774B2 (en) * 2002-06-27 2004-06-01 Nokia, Inc. Dynamic routing over secure networks
US7197040B2 (en) * 2002-07-01 2007-03-27 Lucent Technologies Inc. System and method for optimally configuring border gateway selection for transit traffic flows in a computer network
US8036139B2 (en) * 2002-10-28 2011-10-11 Cisco Technology, Inc. Internal BGP downloader
EP1453250A1 (en) * 2003-02-28 2004-09-01 Siemens Aktiengesellschaft Method for a quick reaction to a link break between different routing domains
US7660314B2 (en) * 2004-04-02 2010-02-09 Samsung Electronics Co., Ltd. Apparatus and method for multi-protocol route redistribution in a massively parallel router
US7773610B2 (en) * 2004-07-01 2010-08-10 Cisco Technology, Inc. QoS and fault isolation in BGP traffic, address families and routing topologies
JP4434867B2 (en) * 2004-07-15 2010-03-17 富士通株式会社 MPLS network system and node
US7966012B2 (en) * 2004-09-09 2011-06-21 Parkervision, Inc. Wireless protocol converter
US8068408B2 (en) * 2004-11-01 2011-11-29 Alcatel Lucent Softrouter protocol disaggregation
US9014181B2 (en) * 2004-11-01 2015-04-21 Alcatel Lucent Softrouter separate control network
US7318108B2 (en) * 2004-12-22 2008-01-08 Cisco Technology, Inc. Method and apparatus providing prioritized convergence in border gateway protocol
US7436838B2 (en) * 2004-12-29 2008-10-14 Cisco Technology, Inc. Automatic prioritization of BGP next-hop in IGP
US7978708B2 (en) * 2004-12-29 2011-07-12 Cisco Technology, Inc. Automatic route tagging of BGP next-hop routes in IGP
US7532631B2 (en) * 2005-04-13 2009-05-12 Cisco Technology, Inc. Method and apparatus for accelerating border gateway protocol convergence
US7639688B2 (en) * 2005-07-18 2009-12-29 Cisco Technology, Inc. Automatic protection of an SP infrastructure against exterior traffic
US7778248B2 (en) * 2005-10-28 2010-08-17 Cisco Technology, Inc. Method and apparatus for prioritized processing of routing information
US7647426B2 (en) * 2006-01-12 2010-01-12 Cisco Technology, Inc. Method and apparatus for achieving Border Gateway Protocol convergence using alternate route information

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5519704A (en) 1994-04-21 1996-05-21 Cisco Systems, Inc. Reliable transport protocol for internetwork routing

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8125929B2 (en) 2006-10-09 2012-02-28 Huawei Technologies Co., Ltd. Method and apparatus for advertising border connection information of autonomous system
WO2008055429A1 (en) * 2006-11-09 2008-05-15 Huawei Technologies Co., Ltd. A method and border node for advertising border connection information of a system
US8270317B2 (en) 2006-11-09 2012-09-18 Huawei Technologies Co., Ltd. Method and apparatus for advertising border connection information of autonomous system
US9276836B2 (en) 2006-11-09 2016-03-01 Huawei Technologies Co., Ltd. Method and apparatus for advertising border connection information of autonomous system
US9397925B2 (en) 2006-11-09 2016-07-19 Huawei Technologies Co.,Ltd Method and apparatus for advertising border connection information of autonomous system
WO2009000196A1 (en) * 2007-06-26 2008-12-31 Huawei Technologies Co., Ltd. A method and device for route convergence
WO2009036678A1 (en) * 2007-09-17 2009-03-26 Huawei Technologies Co., Ltd. Method, device and network system for message forwarding
CN102420766A (en) * 2011-12-09 2012-04-18 北京星网锐捷网络技术有限公司 Routing determination method and routing device
US9253255B1 (en) * 2012-07-12 2016-02-02 Juniper Networks, Inc. Content delivery network referral
US9706014B1 (en) 2012-07-12 2017-07-11 Juniper Networks, Inc. Routing protocol interface for generalized data distribution
US9756124B1 (en) 2012-07-12 2017-09-05 Juniper Networks, Inc. Content delivery network referral

Also Published As

Publication number Publication date
US8467394B2 (en) 2013-06-18
EP1832056B1 (en) 2012-09-26
WO2006071901A3 (en) 2006-12-14
EP1832056A4 (en) 2011-01-19
CN100555968C (en) 2009-10-28
EP1832056A2 (en) 2007-09-12
US7978708B2 (en) 2011-07-12
US20110228785A1 (en) 2011-09-22
US20060140136A1 (en) 2006-06-29
CN101040487A (en) 2007-09-19

Similar Documents

Publication Publication Date Title
US7978708B2 (en) Automatic route tagging of BGP next-hop routes in IGP
US7436838B2 (en) Automatic prioritization of BGP next-hop in IGP
CN101455030B (en) Dynamic shared risk node group (srng) membership discovery
US8589573B2 (en) Technique for preventing routing loops by disseminating BGP attribute information in an OSPF-configured network
US7865615B2 (en) Maintaining IGP transparency of VPN routes when BGP is used as a PE-CE protocol
US7522603B2 (en) Technique for efficiently routing IP traffic on CE-CE paths across a provider network
US8572225B2 (en) Technique for graceful shutdown of a routing protocol in a network
US7286479B2 (en) Routing for a communications network
US7814227B2 (en) Computation of a shortest inter-domain TE-LSP across a set of autonomous systems
US8537840B1 (en) Angular distance calculation for BGP best path selection
US7813265B2 (en) Backup BGP paths for non-multipath BGP fast convergence
US7983153B2 (en) Fast reroute (FRR) protection at the edge of a RFC 2547 network
EP1387527A1 (en) Identifying network routers and paths
US20080008104A1 (en) Technique for efficiently determining acceptable link-based loop free alternates in a computer network
Cisco IP Routing Protocols Commands
Cisco IP Routing Protocols Commands
US8737406B1 (en) Method for transmitting IP routes to prioritize convergence
Talaulikar RFC 9552: Distribution of Link-State and Traffic Engineering Information Using BGP
Kalyanaraman Routing: Overview and Key Protocols
Vähäpassi et al. Internet Routing Stability

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200580034452.0

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2005855668

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 4377/DELNP/2007

Country of ref document: IN

NENP Non-entry into the national phase

Ref country code: DE