In packet-switched networks, packets traveling from a source address to a destination address may be transmitted through many intermediate network nodes, such as switches or routers. Intermediate network nodes that receive packets headed for the destination address utilize look-up tables to determine the next hop for the packets. Label switching is a technique that has been developed to expedite the look-up process at each hop as packets travel from a source address to a destination address. In brief, label switching involves attaching a label to a packet that enables the next hop of the packet to be quickly determined by an intermediate network node that has received the packet. One label switching protocol that is being standardized by the Internet Engineering Task Force (IETF) is known as multi-protocol label switching (MPLS).
FIG. 1 depicts multiple network nodes 102 that utilize MPLS to forward packets through a mesh network. The network nodes are referred to as label switch routers (LSRs) and a group of interconnected LSRs define an MPLS domain 104. LSRs that are at the edge of the MPLS domain and provide an interface to non-MPLS network nodes are referred to as edge LSRs (also as ingress LSRs and egress LSRs with respect to packets that are entering or leaving the MPLS domain). The path that labeled packets travel through an MPLS domain is referred to as the label switch path (LSP). FIG. 1 depicts examples of two LSPs, working LSP 1 and protection LSP 1, which extend between LSRs in the MPLS domain. Although only two LSPs are depicted, an MPLS domain may include thousands of unique LSPs.
MPLS is often used in conjunction with the Internet protocol (IP) at the Network layer (layer 3) and a Data Link layer (layer 2) protocol such as Ethernet (IEEE 802.3x), asynchronous transfer mode (ATM), or Frame Relay. According to the MPLS protocol, an MPLS header, also referred to as a “shim header,” is inserted between the Network layer header (the inner header) and the Data Link layer header (the outer header) to guide a labeled packet through an MPLS domain. Multiple shim headers can be stacked, as is known in the field, to support hierarchical operations. MPLS can also be used in a layer 2 environment where the shim header is located between two layer 2 headers.
FIG. 2 depicts an example of a labeled packet that includes an outer header 208 (i.e., a MAC header that includes a destination address, a source address, and a type field), a label switching header 210 (also referred to as the shim header), an inner header 212 and payload 214 (i.e., an IP header and an IP payload), and a MAC trailer 216 (i.e., the CRC). As described by the IETF (RFC 3032, January 2001) and shown in the expanded view of FIG. 2, an MPLS shim header includes a 20-bit MPLS label field 218, a 3-bit experimental use field 220, a 1-bit stacking field 222, and an 8-bit time-to-live (TTL) field 224. The MPLS label field carries the label value that is used to forward a packet to the next LSR. The experimental use field is not yet fully defined, the stacking field is used to identify when an MPLS header is the last MPLS header in a stack of MPLS headers, and the TTL field carries a TTL value that places a limit on the number of hops an MPLS packet can traverse within an MPLS domain.
As is well known in the field, packet-switched networks are currently being adapted to support traditional telecommunications traffic, such as voice communications. In order for packet-switched networks to support traditional telecommunications traffic, the packet-switched networks must include failure protection mechanisms that ensure a standard of reliability that meets or exceeds the reliability standards that are achieved by circuit-switched networks. For example, it is important that a label switched network can recover from an LSP failure within 50 milliseconds (ms).
In metropolitan areas, traditional circuit-switched traffic is often carried using ring network architectures. Ring networks are now being adapted to carry packet-switched traffic and label switching is being implemented on the ring networks to provide improved quality of service. In order for packet-switched ring networks to carry telecommunications traffic, they must ensure a standard of reliability that meets or exceeds the reliability standards of circuit-switched ring networks.
One failure protection technique that has been proposed for mesh-type MPLS-based networks involves establishing a unique protection LSP for each working LSP and switching packets from the working LSP to the protection LSP if the working LSP fails. For example, referring to the mesh network of FIG. 1, protection LSP 1 is established to provide a protection pathway for working LSP 1. If there is a failure of a link that is utilized by the working LSP, then packets that would have been sent on the working LSP are switched to the protection LSP. The TTL values of the packets that are switched to the protection LSP are set to allow the packets to traverse the number of hops on the protection LSP. After the switched packets have traversed all of the hops on the protection LSP, the shim headers are popped.
In the example of FIG. 1, if there is a failure of either one of the links that supports working LSP 1, then, according to the technique, packets that would have been sent on working LSP 1 are switched to protection LSP 1 and the TTL values are set to allow the packets to traverse the protection LSP. The switched packets traverse the protection LSP until the destination LSR is reached and then the protection LSP shim header is popped, causing the packets to exit the MPLS domain. While this technique works well in a mesh-type network, the technique does not work as well in a ring-type network because label switched packets may traverse multiple different LSPs around a ring before exiting the MPLS domain.
Another drawback to the above-described protection scheme is that packets traversing the protection LSP will arrive at the destination LSR on a different port than the port used by the working LSP. Having packets that previously arrived on one port suddenly arrive on a different port indicates to the receiving LSR that there has been a network topology change that must be learned. Topology learning consumes valuable processing time that could be used to perform other critical operations.
In view of the desire to use ring-type packet-switched networks to carry traditional telecommunications traffic and the problems of current failure protection techniques, what is needed is a failure protection technique for label switched ring networks that provides fast protection switching, that does not trigger additional topology learning, and that is easy to implement.