Transmitting packet label contexts within computer networks
First Claim
1. A method comprising:
- receiving, with a first network device intermediately positioned along a label-switched path (LSP) through a network between an ingress to the LSP and an egress to the LSP, a Multi-Protocol Label Switching (MPLS) data unit from a second network device of the network in accordance with a label switching protocol, wherein the data unit includes a label stack affixed to a payload, wherein the label stack includes two or more MPLS labels used for forwarding the data unit through the network and context information associated with at least two of the MPLS labels of the label stack, wherein the context information is arranged in the label stack to alternate between entries containing individual ones of the two or more MPLS labels and entries containing portions of the context information that pertains to the preceding one of the MPLS labels in the label stack and provides a context unused to forward the MPLS data unit and for understanding the associated at least two MPLS labels of the label stack, and wherein the context information identifies a packet flow transported by the data unit by specifying a source address, a source port, a destination address, a destination port and a protocol associated with the payload contained within the data unit;
forwarding the data unit out an output interface of the first network device in accordance with the two or more MPLS labels of the label stack;
when forwarding the data unit, parsing, with the first network device, the data unit to determine the context information; and
recording, with the first network device, the forwarding of the data unit and the determined context information.
1 Assignment
0 Petitions
Accused Products
Abstract
In general, techniques are described for transmitting context information defining contexts for packet labels in a network. More specifically, a network device, e.g., a router, implements the context transmission techniques to facilitate debugging or troubleshooting of the network. The network device may comprise an interface card that receives a Multi-Protocol Label Switching (MPLS) data unit from another network device in accordance with a label switching protocol. The data unit may include a label stack affixed to a payload. The label stack may include one or more MPLS labels and context information associated with at least one of these labels, The interface card may, when forwarding the data unit, parse the data unit to determine the context information and then forward the data unit in accordance with these MPLS labels. A control unit included within the network device may record the forwarding of the data unit and the determined context information.
42 Citations
28 Claims
-
1. A method comprising:
-
receiving, with a first network device intermediately positioned along a label-switched path (LSP) through a network between an ingress to the LSP and an egress to the LSP, a Multi-Protocol Label Switching (MPLS) data unit from a second network device of the network in accordance with a label switching protocol, wherein the data unit includes a label stack affixed to a payload, wherein the label stack includes two or more MPLS labels used for forwarding the data unit through the network and context information associated with at least two of the MPLS labels of the label stack, wherein the context information is arranged in the label stack to alternate between entries containing individual ones of the two or more MPLS labels and entries containing portions of the context information that pertains to the preceding one of the MPLS labels in the label stack and provides a context unused to forward the MPLS data unit and for understanding the associated at least two MPLS labels of the label stack, and wherein the context information identifies a packet flow transported by the data unit by specifying a source address, a source port, a destination address, a destination port and a protocol associated with the payload contained within the data unit; forwarding the data unit out an output interface of the first network device in accordance with the two or more MPLS labels of the label stack; when forwarding the data unit, parsing, with the first network device, the data unit to determine the context information; and recording, with the first network device, the forwarding of the data unit and the determined context information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A network device intermediately positioned along a label-switched path (LSP) through a network between an ingress to the LSP and an egress to the LSP comprising:
-
an interface card that receives a Multi-Protocol Label Switching (MPLS) data unit from a second network device of the network in accordance with a label switching protocol, wherein the data unit includes a label stack affixed to a payload, and wherein the label stack includes two or more MPLS labels used for forwarding the data unit through the network and context information associated with at least one of the labels of the label stack, wherein the context information is arranged in the label stack to alternate between entries containing individual ones of the two or more MPLS labels and entries containing portions of the context information that pertains to the preceding one of the labels in the label stack and provides a context unused to forward the MPLS data unit and for understanding the associated at least two of the MPLS labels of the label stack, and wherein the context information identifies a packet flow transported by the data unit by specifying a source address, a source port, a destination address, a destination port and a protocol associated with the payload contained within the data unit, forwards the data unit in accordance with the two or more MPLS labels of the label stack and, when forwarding the data unit, parses the data unit to determine the context information; and a control unit that records the forwarding of the data unit and the determined context information. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A network system comprising:
-
one or more customer networks; and a network comprising; at least two network devices that each reside at an edge of the network, wherein one of the at least two edge network devices couples to the one or more customer networks; and a transit network device positioned between the at least two edge network devices, wherein the transit network device includes; an interface card that receives a data unit from one of the edge network devices of the network in accordance with a label switching protocol, wherein the data unit includes one or more labels used for forwarding the data unit through the network and context information associated with at least one of the labels, wherein the context information is arranged in the label stack to alternate between entries containing individual ones of the two or more labels and entries containing portions of the context information that pertains to the preceding one of the labels in the label stack and provides a context unused to forward the MPLS data unit and for understanding the associated at least two of the labels of the label stack, and wherein the context information identifies a packet flow transported by the data unit by specifying a source address, a source port, a destination address, a destination port and a protocol associated with the payload contained within the data unit, and wherein the interface card further parses the data unit to determine the context information; and a control unit that presents the determined context information to a user. - View Dependent Claims (23)
-
-
24. A network system comprising:
-
an ingress Label Switching Router (LSR) of a Multi-Protocol Label Switching (MPLS) network; an egress LSR of the MPLS network; and at least one intermediate LSR positioned between the ingress LSR and egress LSR of the MPLS network, wherein the ingress LSR, the egress LSR and the at least one intermediate LSR all lie along a Label Switched Path (LSP) through the MPLS network, wherein the ingress LSR, the egress LSR and the at least one intermediate LSR exchange one or more signaling messages in accordance with a label distribution protocol (LDP) to negotiate establishment of the LSP, and wherein the one or more signaling messages each specifies context information unused to forward the MPLS data unit and to be included within a network stack for at least one of one or more labels when forwarding the MPLS packets along the LSP, and wherein the context information identifies a packet flow transported by the data unit by specifying a source address, a source port, a destination address, a destination port and a protocol associated with the payload contained within the data unit.
-
-
25. A non-transitory computer-readable medium comprising instructions for causing a programmable processor of a first network device to:
-
receive, along a label-switched path (LSP) through a network, a Multi-Protocol Label Switching (MPLS) data unit from a second network device of the network in accordance with a label switching protocol, wherein the data unit includes a label stack affixed to a payload, wherein the label stack includes two or more MPLS labels used for forwarding the data unit through the network and context information associated with at least one of the labels of the label stack, wherein the context information is arranged in the label stack to alternate between entries containing individual ones of the two or more MPLS labels and entries containing portions of the context information that pertains to the preceding one of the MPLS labels in the label stack and provides a context unused to forward the MPLS data unit and for understanding the associated at least two of the MPLS labels of the label stack, and wherein the context information identifies a packet flow transported by the data unit by specifying a source address, a source port, a destination address, a destination port and a protocol associated with the payload contained within the data unit, and wherein the first network device comprises a transit network device intermediately positioned between an ingress to the LSP and an egress to the LSP; forward the data unit in accordance with the two or more MPLS labels of the label stack; when forwarding the data unit, parse the data unit to determine the context information; and record the forwarding of the data unit and the determined context information. - View Dependent Claims (26, 27)
-
-
28. A method comprising:
-
receiving, with a first ingress network device along a label-switched path (LSP) through a first network, a data unit from a second network device of a second network, wherein the data unit includes a header and a payload, but does not include a label stack; inspecting, with the first ingress network device, the header and payload of the data unit to determine a forwarding equivalence class (FEC); determining, with the first ingress network device, a label entry within a forwarding table based on the determined FEC, wherein the label entry defines a MultiProtocol Label Switching (MPLS) label and a scope of context information associated with the MPLS label to affix to the data unit, wherein the context information provides a context unused to forward the MPLS data unit, and wherein the context information identifies a packet flow transported by the data unit by specifying a source address, a source port, a destination address, a destination port and a protocol specified in the header of the data unit; determining, with the first ingress network device, context information in accordance with the scope of the context information defined by the label entry; affixing, with a first ingress network device, a label stack to the data unit in accordance with an MPLS protocol to generate an MPLS packet, wherein the label stack includes the MPLS label defined by the label entry and the determined context information; and forwarding, with the first ingress network device, the MPLS packet out an output interface of the first ingress network device in accordance with the MPLS label of the label stack to a transit network device intermediately positioned between the first ingress network device to the LSP and an egress network device of the LSP so as to enable the transit network device to record the context information included in the label stack.
-
Specification