SUMMARIZATION AND LONGEST-PREFIX
MATCH WITHIN MPLS NETWORKS
This application claims the benefit of U.S. Provisional Application No. 61/114,782, filed Nov. 14, 2008, the entire 5 content of which is incorporated herein by reference.
The invention relates to computer networks and, more par- l o ticularly, configuring paths through computer networks.
A computer network is a collection of interconnected com- 15 puting devices that exchange data and share resources. In a packet-based network, such as the Internet, the computing devices communicate data by dividing the data into small blocks called packets. The packets are individually routed across the network from a source device to a destination 20 device. The destination device extracts the data from the packets and assembles the data into its original form. Dividing the data into packets enables the source device to resend only those individual packets that may be lost during transmission. 25
Packet-based computer networks increasingly utilize label switching protocols for traffic engineering and other purposes. Multi-Protocol Label Switching (MPLS) is a mechanism used to engineer traffic patterns within Internet Protocol (IP) networks. MPLS may be viewed as a protocol that allows 30 packet-based networks to emulate certain properties of a circuit-switched network. By utilizing MPLS, a source device can request a path through a network to a destination device, i.e., a Label Switched Path (LSP). An LSP defines a distinct path through the network to carry MPLS packets from the 35 source device to a destination device. Each router along an LSP allocates a label and propagates the label to the closest upstream router along the path for use in forwarding MPLS packets along the path. Routers along the path cooperatively perform MPLS operations to forward the MPLS packets 40 along the established path.
Routers at the beginning of the LSP are commonly known as ingress routers, while routers at the end of the LSP are commonly known as egress routers. Ingress and egress routers are more generally referred to as label edge routers 45 (LERs). Internal routers along the LSP are commonly referred to as label switch routers (LSRs). A set of packets to be forwarded along the LSP is referred to as a forwarding equivalence class (FEC). A FEC, for example, may specify any packets associated with a particular destination address or 50 prefix. As another example, the FEC may define quality of service (QoS) characteristics for the set of packets. A plurality of FECs may exist for each LSP, but there may be only one LSP for any given FEC. The ingress LER uses routing information, propagated from the egress LER, to determine the 55 LSP, to assign labels for the LSP, and to affix a label to each packet of the FEC. The LSRs utilize MPLS protocols to receive MPLS label mappings from downstream LSRs and to advertise MPLS label mappings to upstream LSRs. When an LSR receives an MPLS packet from an upstream router, it 60 switches the MPLS label according to the information in its forwarding table and forwards the packet to the appropriate downstream LSR or LER. The next router along the LSP is commonly referred to as a downstream router or a next hop. The egress LER removes the label from the packet and for- 65 wards the packet to its destination in accordance with standard routing protocols.
Each LSR within the MPLS network maintains a separate and distinct label space from every other LSR within the MPLS network, and each LSR along a given LSP may assign a different MPLS label to the same FEC associated with the LSP. As a result of the distinct label spaces and random mappings, one or more LSRs may assign different labels to a FEC associated with packets to be forwarded to a given destination IP address or prefix. Thus, when establishing a LSP through a network, the LSRs exchange label mappings to overcome the random and independent assignment of MPLS labels to different FECs.
In this way, each router along the LSP maintains a context that associates a FEC with an incoming label and an outgoing label. When an LSR receives a labeled packet, the LSR typically swap the label (i.e., the incoming label) with the outgoing label by performing a exact match label lookup in its internal context. The LSR then performs a full label swap to replace at least one of the labels in the packet with a label allocated by the next hop LSR. The LSR then forwards the packet to the next LSR along the LSP.
In general, techniques are described for best-match label forwarding, i.e., techniques that provide forwarding of MPLS packets by an Label Switching Router (LSR) without requiring the MPLS packets to necessary have labels that exactly and fully match the label assignments by the LSR. For example, as described herein, the LSR may perform a partial match lookup for a given MPLS label with respect to the LSRs label context and, based on the partial or subset lookup, perform only a partial label swap of a portion of the label, referred to herein as a label prefix.
In one example, the LSR within an MPLS network maintains a label space to enable a summarized mapping of FECs to labels or label ranges. When forwarding MPLS packets, the LSR performs a partial lookup of a portion of the MPLS label to the labels or label ranges allocated from the LSR's internal label context. In one exemplary implementation, the LSR performs a longest-prefix match lookup similar to that performed with respect to Internet Protocol (IP). This longestprefix match lookup may also be referred to as a best-match. In other words, the LSR does not require an exact match typically required by conventional LSRs. Moreover, when establishing an LSP, rather than randomly assign a label to a FEC, the LSR reserves within the label space a block or contiguous set of labels for a particular area (e.g., subnet or prefix) of the MPLS network and maps or otherwise associates labels from the reserved block with a contiguous set of network destination addresses (e.g., IP addresses) assigned to that particular area within the MPLS network. As the reserved MPLS label block comprises a contiguous set of labels, the reserved block may be summarized as a range of labels identified by a label prefix, and the label prefix can be mapped to a corresponding network destination address range identified by a destination network address prefix.
When outputting MPLS messages to advertise the label assignment to upstream routers, the LSR may advertise a summarized version of the label assignment that maps the contiguous set of MPLS labels to the contiguous set of network destination addresses. In this way, the LSR need not individually advertise each exact match, one-to-one mapping between MPLS labels and destination addresses, thereby reducing mapping sizes and bandwidth consumption. Moreover, upstream LSRs that receive this summarized mapping may more efficiently perform label lookups by performing a partial or subset lookup, such as a longest-prefix match, rather