This is the first application filed for the present invention.
Not Applicable.
The present invention relates in general to routing control in data networks, and in particular to constraint route dissemination in a data network that uses an Open Shortest Path First (OSPF) routing protocol.
Open Shortest Path First (OSPF) is a routing protocol developed for Internet Protocol (IP) networks based on the shortest path first or link-state algorithm.
Routers use link-state algorithms to send routing information to all nodes in an IP network by calculating the shortest path to each node based on a topography of the IP network constructed by each node. Each router maintains a routing table in which the router stores routes to particular network destinations. Each router sends the state of its own links to other routers in the IP network.
The advantage of shortest path first algorithms, compared to distance vector algorithms, is that they result in smaller more frequent updates everywhere in the IP network. They also converge quickly, so that problems such as routing loops and infinite counts, in which routers continuously increment the hop count to a particular destination node, are avoided.
A disadvantage of OSPF algorithms is that they require a great deal of processing power and memory in the OSPF routers. However, it is generally believed that the advantages outweigh the disadvantages, and OSPF Version 2, which is defined by RFC 1583, appears to be rapidly replacing Reservation Initiation Protocol (RIP) on IP networks.
Current OSPF link-state routing protocols flood Link-State Advertisements (LSAs) to all OSPF routers. This provides OSPF routers with routing information for routing payload packets on a hop-by-hop basis. However, for the purposes of establishing paths for Traffic Engineering (TE), TE routing information is only required at a point where the path setup is triggered. Consequently, it is not necessary for all routers in a routing area to flood, process and store a large number of TE-LSAs.
If each OSPF router in an IP network of a number (n) of OSPF routers originates a number (L) of LSAs and floods the LSAs on a number (p) of ports, each router in the network potentially receives up to n*L*p LSAs. The total number of LSAs processed by all OSPF routers in the network is therefore potentially n*n*L*p LSAs. This places an unnecessarily large computation load on the OSPF routers, and forces the provision of high speed processors and a large amount of memory in the routers. It also appropriates network bandwidth for LSA exchange that could be more profitably used for payload packet traffic.
The invention provides a method and apparatus for establishing explicit edge-to-edge paths in an Internet Protocol (IP), Multi-Protocol Label Switched (MPLS) or Optical network that uses an open shortest path first (OSPF), or similar routing protocol, for computing explicit constrained paths.
The invention adds a new type of router to the network. The router is a traffic engineering route exchange router (TE-X) that maintains a traffic engineering link-state database (TE-LSDB) using link state information sent by associated OSPF routers in traffic engineering link state advertisement (TE-LSA) messages. The association between a TE-X and other OSPF routers is preferably based on proximity (least cost). The OSPF router only sends TE-LSAs to its associated TE-X via a fast path. The TE-LSAs are not flooded to all routers in the network.
In accordance with the method, traffic engineering link state advertisement (TE-LSA) messages are sent from OSPF routers in the network to a nearest traffic engineering route exchange router (TE-X) in the network, to permit the TE-Xs in the network to maintain traffic engineering link-state databases (TE-LSDB). The nearest TE-X is queried to obtain an explicit edge-to-edge path satisfying specified traffic engineering (TE) parameters supplied by the querying OSPF router.
It should be understood that the concept of the TE-X and the mechanisms for discovering and distributing routes in accordance with the invention are applicable to other routing protocols besides OSPF. For example, Intermediate System to Intermediate System Intra-Domain Routing Exchange Protocol for use in Conjunction with the Protocol for Providing the Connectionless-Mode Network Service (ISO 8473), International Standard ISO 10589, 1992.
The invention therefore provides an improved data network in which traffic engineering message volume is reduced and the computing power and memory required for most routers in the network is dramatically reduced. Network resources are therefore conserved and network provisioning is simplified.
Further features and advantages of the present invention will become apparent from the following detailed description, taken in combination with the appended drawings, in which:
It will be noted that throughout the appended drawings, like features are identified by like reference numerals.
To setup a constraint path in the network 30, an edge router (32, for example) queries the nearest TE-X (42 in this example) for a route satisfying specified constraints. The TE-X 42 returns an explicit set of routes (an Explicit Route Object (ERO), as specified by the Multi-Protocol Label Switched Path (MPLS) protocol). The exact semantics of the query and response message are not a part of this invention.
An edge router discovers TE-Xs in the network 30 via normal Router LSAs, as will be explained below in more detail. TE-Xs in a routing area elect a Designated TE-X and peers with it. Each Area Border Router (ABR), which must also be a TE-X, peers with other TE-Xs in other areas, in the same way. The routers in the network are assumed to be connected (e.g. via a control channel) and can be reached via shortest path routes computed using normal LSAs flooded by OSPF.
As explained above, the TE-LSAs are not flooded like normal LSAs used to calculate the “shortest path”. Consequently, a router 32–40 in the network 30 only sends out one copy of its TE-LSAs and the TE-LSAs are forwarded directly (on a fast path) to the nearest TE-X, without incurring processing delay (in addition to slow path delay) on every hop, which occurs when normal LSAs are flooded. Similarly, a TE-X sends TE-LSAs directly to other TE-Xs via the mechanism of peering with other TE-Xs. As a result, the time required for TE link states to converge within the routing domain is reduced, and routers not involved in initiating the establishment of constraint paths are not burdened with processing and storing (TE/constraint) link states (in addition to normal link states) that they do not need. Only “edge” routers need to have access to the explicit constraint routes.
It should be noted that only routers (OSPF-TE) that support constraint path setup need to be provisioned with the functionality of a TE-X 42–46 in accordance with the invention. It is possible to upgrade existing OSPF label switching routers (LSRs) with OSPF-TE support since there is very little processing and storage impact on the LSRs (see “draft-ietf-mpls-arch-07”). The heavier processing and storage requirement is at the TE-X, which must process and store a large number of TE-LSAs and compute TE routes.
In accordance with the invention, the TE-LSAs are sent directly to the “nearest” TE-X. TE-Xs are discovered through normal Router Link State Advertisement (LSA). A TE-X exchanges TE-LSAs with other peer TE-Xs. Edge routers query a TE-X for a constraint or TE route to a destination.
To be able to discover TE resources (e.g., links, bandwidth) to another router C (router 34 in
If C is reachable (but not directly), it is also possible for A to learn (through the TE-X) about links that could potentially be used to reach C directly. It is likewise possible for A to advertise (again via a TE-X) the potential links that connect it directly, or in ‘one hop’, to other networks that may include another router, and vice-versa. This is useful in applications like virtual private network (VPN), where a router may have connectivity to another router, but not a direct link, and may setup “on-demand” circuits to the other router.
Currently, this is not feasible (every TE link must have a corresponding control channel) because OSPF routers have to flood and exchange TE-LSAs with their neighbors. As explained above, in accordance with the invention OSPF routers send TE-LSAs to a nearest TE-X only. Hence, it is not mandatory to have a control channel for every set of TE links to enable TE routing information to be disseminated.
Changes to OSPF Routers Originating TE-LSAs
In accordance with the invention, OSPF routers are routers 34–38 that are not TE-X 42–46 routers. OSPF routers that support TE-LSA distribution are referred to as OSPF-TE routers. The normal Link-State Database is referred to as a LSDB and the Engineering Link-State Database 48–52 (
OSPF routers that originate TE-LSAs send Link-State Update (LSU) messages directly via unicast to the nearest TE-X instead of flooding them from each of their interfaces. TE-LSAs are only received by TE-Xs. OSPF-TE routers do not receive TE-LSAs originated by other OSPF routers, nor do they send TE-LSAs to other OSPF routers (unless they are TE-Xs) or exchange TE-LSAs with other OSPF routers.
The behavior of OSPF routers with respect to normal LSAs is not changed, with the exception of the processing of Router-LSAs. When a new or newer Router-LSA instance is received (as described in [OSPF]), and the Option Field of the outer-LSA indicates that it is a TE-X, as will be explained below, the OSPF-TE router uses the instance to maintain a list of TE-Xs in the routing area. It also uses the Router-LSA instance to compute an entry in a normal OSPF routing table for the Advertising Router, which is the Router ID for a Router-LSA. The entry in the OSPF routing table is similar to an Autonomous System Border Router (ASBR) route entry. The entry in the routing table is in addition to the normal installation procedure of the Router-LSA in the normal LSDB, which is well known in the art. If the Option Field does not have the TE-X indication set, the Router-LSA is processed and installed as described in RFC2328. The Router ID of a TE-X should be a unique IP address identifying the TE-X router in an Autonomous System, and is preferably not an interface address, but rather an address not assigned to any other interface. It may, however, be an address assigned to a “loopback” or dummy interface.
When an OSPF router is initialized, it establishes adjacencies with its neighbor(s). Once the adjacencies are established (Section 7 of OSPF), an OSPF-TE router determines the nearest TE-Xs from the normal routing table it has computed (See Section “Computing TE-X Routing Entry” below) for the Link-State Database (LSDB). The OSPF-TE goes through its list of TE-Xs, and preferably caches up to two TE-Xs (the primary TE-X and a backup TE-X), as described below in the Section “Determining Nearest TE-Xs”. TE-X capability is advertised in Router-LSA instances, as described below in the Section “Advertising TE-Xs”.
Originating TE-LSAs
Prior to sending a TE-LSA, the OSPF-TE router should send a TE Database summary list and wait for acknowledgement from the TE-X. The details of this procedure are described below in the section “Sending Link State Update TE-LSAs”.
The OSPF-TE router then proceeds to originate TE-LSAs describing its connectivity or links and the constraints associated with the connectivity, and sends these TE-LSAs to the nearest TE-X. The TE-LSAs are defined in [OSPF-TE-EXT], and have the following format:
There are 2 types currently defined:
If the TE-X does not acknowledge a TE-LSA sent, the OSPF-TE router must attempt to retransmit the TE-LSA to the backup TE-X.
VPN Sub-TLV
The purpose of the VPN sub-TLV is to indicate to other nodes in the network the VPN Identifier (VPN ID) [RFC2685], that is associated with a router.
The format of the VPN sub-TLV is as shown below in Table 1:
The VPN sub-TLV is optional. The VPN ID is as defined in [RFC 2685], is 7 octets in length. The “T” field indicates whether a router is connected to a transit VPN node. A transit VPN node permits other VPN nodes to connect to it to reach other VPN nodes. The “No. VPN Attachments” (number of VPN attachment allowed) indicates the maximum number of VPN nodes that can be connected to a transit VPN node, in order to reach other VPN nodes having the same VPN ID.
Replicating or Multicast Capable Sub-TLV
The purpose of the Replicating capable sub-TLV is to indicate to other nodes that a router is capable of replicating data to more than one end point.
The format of the Replicating Capable sub-TLV is shown below in Table 2:
The “No. of Receivers” field indicates the number of receivers permitted to be attached to a Replicating Capable router.
Discovering TE-Xs
OSPF-TE routers discover TE-Xs via normal Router-LSA flooding, as described below with reference to “Advertising the TE-X”. When an OSPF-TE router receives a Router-LSA with the TE-X indication bit on, it stores an IP address of the TE-X in a TE-X data structure. In addition, once a Dijkstra computation of routes to all destinations in the network is performed, the OSPF-TE also stores a cost of a shortest path route to each TE-X in a designated area of the TE-X data structure.
Determining Nearest TE-Xs
The “nearest” TE-X to an OSPF-TE is the TE-X with a least total link cost from the OSPF-TE, which is computed as described above. If an OSPF-TE router is a TE-X, then the nearest TE-X is the router itself. Once an OSPF-TE has received the routing information in the domain, it goes through its list of TE exchanges, starting from the nearest TE-X, to find out which of the TE-Xs will agree to serve the OSPF-TE. The route to a TE-X is determined from the routing table calculation described in Section 16.1 of [OSPF]. In accordance with the invention, the OSPF-TE sends a probe message to each of the TE-Xs in the list, until two TE-Xs agree to serve the OSPF-TE by acknowledging the probe message. The nearest (least cost) TE-X acknowledging the probe message is designated as the primary TE-X, and the next nearest TE-X acknowledging the probe is designated as the backup TE-X. If two TE-Xs have the same route cost, the one with the smallest difference in address value compared to the Router ID of the OSPF-TE, is chosen as the primary TE-X and the other as the backup TE-X.
If only one TE-X responds to the probe messages, then the OSPF-TE is served by only one TE-X, and the OSPF-TE preferably generates an alert message to a network router management system. In an operational network, it should normally be sufficient to have three distributed TE-Xs. Consequently, if one TE-X fails, a primary and secondary TE-X are always available to serve all the OSPF-TES, assuming the network is not partitioned.
Sending Link State Update TE-LSAs
OSPF routers send TE-LSAs directly to the nearest TE-X. If an OSPF router does not receive a Link State Acknowledge for a TE-LSA sent to a particular TE-X after a timeout period, it sends the TE-LSA to a next nearest TE-X and re-invokes the “Determining nearest TE-X” mechanism to discover current serving TE-Xs.
Initially, a Database Summary List is sent to the TE-X, and the sending OSPF-TE expects to receive Link State Requests related to the TE-LSAs that the TE-X wants to update in its database. The OSPF-TE sends the TE-LSAs to the TE-X as requested in a Link State Request message. The difference between this procedure and OSPF database synchronization is that the OSPF-TE does not request TE-LSA from the TE-X.
An OSPF router does not initiate adjacency establishment nor maintain adjacency or exchange hellos with a TE-X. An OSPF router is able to discover the serving TE-X via Router-LSAs, as explained above with reference to “Determining Nearest TE-Xs”.
TE Exchange
TE-Xs must participate in normal OSPF route distribution, although they may not necessarily be participating in path setup or be able to “label switch”, for instance a TE-X may be a leaf of the IP network 30, setup to function solely as a traffic engineering route exchange router (TE-X).
Advertising the TE-X
A TE-X must advertise its capability. Advertising of the TE-X is preferably accomplished using the Router LSA “Options” field as shown below. A TE-bit in the Options field is defined for this purpose. It should be noted that a TE-X also indicates whether it is an area border router, or an AS boundary router, by setting the appropriate bits (bit B and bit E, respectively) in its router-LSAs.]
Options Field in LSA Header is shown in Table 3:
As seen in Table 3, the options field contains 8 bits, 6 of which have to date been reserved for the purposes described below. In accordance with the invention, one of the two reserved bits is used as a TE-bit for advertising a TE-X. The bits in the Options field are respectively used as follows:
E-bit
Specifies the way AS-external-LSAs are flooded, as described in Sections 3.6, 9.5, 10.8 and 12.1.2 of [OSPF].
MC-bit
Specifies whether IP multicast datagrams are forwarded according to the specifications in [MOSPF].
N/P-bit
Specifies the handling of Type-7 LSAs, as specified in [NSSA].
DC-bit
Specifies the router's handling of demand circuits, as specified in [DEMD].
EA-bit
Specifies the router's willingness to receive and forward External-Attributes-LSAs, as specified in [EAL].
O-bit
Specifies the router's willingness to receive and forward Opaque-LSAs as specified in [rfc2370].
TE-bit
Specifies a Traffic Engineering Route Exchange Router in accordance with the invention for receiving and distributing constraint routes, as well as computing and providing constraint paths or explicit routes when queried.
TE Exchange Peering
When a TE-X is initialized, the TE-X behaves like a normal OSPF-TE, creating adjacencies with its neighbor(s) [designated routers (DRs) and backup designated routers (BDRs) on broadcast and NBMA networks) to exchange normal (non TE) routing information. Once a TE-X has established adjacencies and downloaded the domain link state database (as defined in the RFC2328), the TE-X begins to establish adjacencies or peering with other TE-Xs in the area, that it learned from normal (non-TE) Router-LSAs (and stored in the list of TE-Xs). The peering with other TE-Xs is established similarly to the creation of adjacencies with OSPF neighbors. The TE-X sends (unicast) to each other TE-X in the routing area Hello or Keep-Alive messages (to differentiate from OSPF Hello messages). Once the TE-X DR of the routing area is discovered via the Keep-Alive messages, the TE-X attempts to establish an adjacency with the TE-X DR to exchange TE routing information. Once bi-directional communication has been established with the TE-X DR (i.e. 2-Way Received neighbor state), the TE-X proceeds to exchange the TE-LSAs, in the same way as Database synchronization and Exchange of normal LSAs is accomplished, until the TE-X has obtained a full set of TE-LSAs for the routing domain.
A designated router TE-X, the TE-X DR, and the backup designated router TE-X, the TE-X BDR, in a routing area are preferably elected using the same procedures as are used to elect an OSPF DR and BDR. The TE-X DR is responsible for peering with other TE-Xs in a routing area. All TE-Xs maintain a consistent TE-LSDB of the routing area by synchronizing and exchanging TE-LSAs. It should also be noted that a TE-X does not peer with other (non TE-X) OSPF-TEs.
Updating Resources at OSPF-TEs and TE-Xs
Once an OSPF-TE router has setup a path (the router may be functioning as a Label Switched Router, LSR), it should update the designated TE-X of its currently available resources. To accomplish this, the OSPF-TE originates new TE-LSAs reflecting its available resources. On receipt of the new TE-LSAs, the TE-X distributes the new TE-LSAs to each of its peer TE-Xs.
There may be instances during setup of an explicit path (LSP1) in which a TE-X, using its existing TE-LSDB, computes a path that traverses links that do not have enough free resources, because a conflicting path is being established. If this happens, the path setup algorithm may choose to use crank-back, and attempt to obtain a diverse explicit route to the destination from the point where the path setup was cranked back. The router may obtain the diverse explicit route from the TE-X. The choice of heuristics in path setup is beyond the scope of this invention, however, an example of path setup is described to illustrate how routers may obtain an explicit route from a TE-X, under certain circumstances.
The necessity of having absolute up-to-date information should be carefully examined. Nevertheless, the timely distribution of available resources can be improved using the following mechanism. When an edge router 32 (
As described above, all TE-Xs must have consistent TE-LSDBs, but OSPF-TEs do not maintain TE-LSDBs. RR TE-LSAs are only originated by TE-Xs and reflect the delta of resources used. However, RR TE-LSAs do not change the TE topology database. When the connectivity associated with constraints or traffic engineering of an OSPF-TE router changes (e.g. due to, interface failure or link failure), the OSPF-TE must originate new TE-LSAs reflecting the connectivity and currently available resources. A TE-X must flush any corresponding RR TE-LSA from its TE-LSDB upon receiving a more recent TE-LSA from an OSPF-TE. Other peering TE-Xs perform the same action when they receive a copy of the more recent TE-LSA. This ensures that each TE-LSDB in the routing area is consistently up to date. If a path setup fails or returns an error condition, or if a path is torn down, the router requesting the explicit route from the TE-X, should send a “release” explicit route message, to enable the TE-X to originate new “RR” TE-LSAs to flush the older RRTE-LSA from the TE-LSDB of peer TE-Xs. If the resources allocated by routers during path setup are different from the resources requested in the path setup, OSPF-TE routers should also originate new TE-LSAs to reflect the change.
Loose Source Routing
A Label Switching Router (LSR) may obtain an explicit route from a TE-X if it is provided with a Loose Source Route in a path setup-signaling message.
Area Border Routers (ABRS)
Traffic engineering area border routers (TE-ABRs) send out network TE-LSA summaries. The definition of the network summary TE-LSA is beyond the scope of this invention. However, each TE-ABR in a routing area should be a TE-X in each routing area to which it is connected, to permit the ABR to exchange summary TE-LSAs with peer TE-Xs in other routing areas. This has the advantage of permitting a TE-X that is an ABR to provide information respecting paths across another area, and available resources associated with the paths. Otherwise, edge routers are not aware of resources available on routers in other areas. If it is not feasible to have every ABR function as a TE-X, an alternative is to have a domain router TE-X (DR TE-X) in a routing area summarize the network LSAs in that area and distribute the summary to all the ABRs in the routing area. The ABRs should distribute those summary TE-LSAs to the DR TE-X in other routing area(s) to which each ABR is connected. All ABRs in a routing area send network summary TE-LSAs received from other routing areas to the DR TE-X in their area. The DR TE-X in that area should in turn distribute the network summary TE-LSAs from other routing areas to all TE-Xs in the routing area.
TE-X List
Each OSPF-TE maintains a TE-X list for each routing area. An alternate option is to use OSPF Opaque LSAs to distribute router capability to scope the flooding of TE-X capability to a routing area, subnet or autonomous system (AS). A disadvantage is that extra OSPF Opaque LSAs need to be flooded. However, by setting a bit in the Options Field of the Router-LSAs to indicate the router capability, the number of control messages is not increased. It also possible to have different TE-Xs process different Resource Colors, but this is more involved, and more TE-X adjacencies are required. The concept can be expanded to allow different classes of constraints, for example, links for low delay traffic need only be sent to TE-Xs that serve low delay routes.
The TE-X also receives requests for explicit paths from OSPF-TE routers, as explained above. If the message received is a request for an explicit path, the TE-X enters state 100 in which it computes an explicit path using its TE-LSDB, as explained above. The TE-X then enters state 102, in which it returns a path response message to the requesting OSPF-TE. The TE-X then returns to state 90 in which it waits for messages.
The embodiment(s) of the invention described above is(are) intended to be exemplary only. The scope of the invention is therefore intended to be limited solely by the scope of the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
5825772 | Dobbins et al. | Oct 1998 | A |
5881246 | Crawley et al. | Mar 1999 | A |
5920699 | Bare | Jul 1999 | A |
5995503 | Crawley et al. | Nov 1999 | A |
6049524 | Fukushima et al. | Apr 2000 | A |
6205488 | Casey et al. | Mar 2001 | B1 |
6339595 | Rekhter et al. | Jan 2002 | B1 |
6418476 | Luciani | Jul 2002 | B1 |
6473421 | Tappan | Oct 2002 | B1 |
6757258 | Pillay-Esnault | Jun 2004 | B1 |
20020052915 | Amin-Salehi | May 2002 | A1 |