The above and further advantages of this invention may be better understood by referring to the following description in conjunction with the accompanying drawings, in which like numerals indicate like structural elements and features in various figures. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention.
In brief overview, communications networks embodying the invention can transport packets associated with a multi-protocol label switching (MPLS) application over an Ethernet switch path (ESP) established across a packet-switched network (PSN). Such communication networks encapsulate the MPLS packets within an Ethernet frame. The encapsulation includes an MPLS-in-ESP header that enables the transporting of MPLS packets over an ESP. The MPLS-in-ESP header includes an Ethertype field to indicate the particular protocol of the packet encapsulated in the Ethernet frame. In accordance with the principles of the invention, the Ethertype field contains an Ethertype value that identifies the particular protocol as MPLS. This Ethertype value can be used for packets associated with any type of MPLS application and for transport across any type of ESP, an advantageous recognition that a different Ethertype value does not need to be used for each different type of MPLS application or for each different type of ESP.
In one embodiment, the particular Ethertype value in the Ethertype field is equal to 8847. The Request for Comments: 3032 (RFC 3032), entitled “MPLS Label Stack Encoding” defines and uses this particular value for transporting MPLS labeled packets over connectionless local area network (LAN) data links. In brief, the Ethertype value appears after the MAC source address field in the Ethernet frame, and the particular Ethertype value of 8847 indicates that the Ethernet frame is carrying exactly one MPLS unicast packet.
This embodiment of the present invention recognizes and establishes a new use for this particular Ethertype value, namely, for transporting packets associated with any type of MPLS application across a connection-oriented ESP. The reuse of this Ethertype value for a new purpose has the beneficial advantage of facilitating adoption of the present invention within existing service provider networks. That is, enabling network elements to support the transport of any type of MPLS application across an ESP can be accomplished with a software upgrade, without requiring hardware changes—provided such equipment already recognizes the 8847 Ethertype in accordance with RFC 3032.
The PSN 14 corresponds to a network domain managed by a service provider. The PSN 14 includes first and second provider edge (PE) devices 16-1, 16-2 (generally, 16). In general, a PE device 16 is a network element—also referred to as a device or a node—that communicates with one or more customer edge (CE) devices connected to a customer network 12. For example, PE device 16-1 is in communication with CE 20-1 and CE 20-n. Each CE 20-1, 20-2, 20-n is in communication with a PE 16 over respective links (e.g., attachment circuits) 18-1, 18-2, 18-n. For purposes of describing the invention, the PE device 16-1 may be referred to as ingress PE device 16-1, and the PE device 16-2 as egress PE device 16-2.
Generally, an attachment circuit is part of a user-to-network interface between the PE device 16-1 and a CE device 20 and comprises a physical or logical link configured for the particular technology of the network service. Example embodiments of attachment circuits include, but are not limited to, a frame relay DLCI (data link connection identifier), an ATM VPI/VCI (virtual path identifier/virtual channel identifier), an Ethernet port, a VLAN (virtual LAN), an HDLC (high-level data link control) link, a PPP (point-to-point protocol) connection on a physical interface, a PPP session from an L2TP (Layer 2 tunneling protocol) tunnel, and an MPLS LSP (label switch path).
In general, the PE devices 16 are switches adapted to support communications over an ESP. In general, an ESP is a point-to-point or a point-to-multipoint Ethernet connection established between Ethernet-capable network elements. The ESP may be established through manual or automatic provisioning (e.g., through a control plane, such as GMPLS (generalized multi-protocol label switching)).
In the illustrated example, the ingress PE device 16-1 is in communication with the egress PE device 16-2 over an ESP 22. The type of the ESP 22 depends upon the particular technology used to implement the ESP. For example, when GMPLS is used to establish the ESP 22, the ESP 22 is an Ethernet label switch path (E-LSP). As other examples, when the PSN 14 is employing PBT technology, the ESP 22 is a PBT trunk, and when the PSN 14 is employing PBB (802.1ah) technology, the ESP 22 is a PBB (802.1ah) trunk. Not shown are the various intermediate devices (or nodes) in the ESP 22 between the PE devices 16.
In general, the PE devices 16 are able to receive MPLS packets associated with any type of MPLS application from a customer network 20-1, 20-n and process them for transport over the ESP 22. Examples of types of MPLS applications include, but are not limited to, MPLS, virtual private LAN service (VPLS), Layer 3 virtual private network (VPN) as described in RFC 4364, and pseudo-wire (single and multi-segment).
For processing MPLS packets, the PE device 16-1 includes a service processor 24 and an encapsulator 26. In general, the service processor 24 receives and processes labeled packets from the customer networks 12-1, 12-n in accordance with the type of MPLS application of those packets, and delivers the packets to the encapsulator 26. The encapsulator 26 produces an Ethernet frame 28 for transmission over the ESP 22 to the PE device 16-2. As part of the encapsulation, the ingress PE device 16-1 uses the (foreknown) MAC address of the egress PE device 16-2 at the remote end of the ESP 22.
The Ethernet frame 28 includes a service payload (i.e., message body 34) encapsulated with an MPLS-in-ESP header 30 and an MPLS label stack 32 (as defined in RFC 3032). Whereas the contents of the MPLS-in-ESP header 30 depend upon the particular type of ESP 22, the header 30 of the Ethernet frame 28 includes an Ethertype indicator signifying that the Ethernet frame 28 encapsulates an MPLS packet. The contents of the MPLS label stack 32 within that Ethernet frame 28 depend upon the particular type of MPLS application. The label stack 32 can have one or more labels and, in accordance with the principles of the invention, such label or labels can pertain to any type of MPLS application. Although described herein as being part of the MPLS-in-ESP header 30, the Ethertype field may be deemed separate from the MPLS-in-ESP header 30 (e.g., a standalone header or part of the MPLS label stack).
In brief overview, the ingress PE device 16-1 receives packets of an MPLS application from a customer network (e.g., 12-1), encapsulates each packet within an Ethernet frame, and forwards the encapsulated packets to the egress PE device 16-2 over the ESP 22. Upon receiving the packets over the ESP 22, the egress PE device 16-2 de-encapsulates the MPLS packet from the Ethernet frame for forwarding to the customer network 12-2. It is to be understood that the roles of the PE devices 16-1, 16-2 reverse when transporting traffic in the opposite direction over the ESP 22 from the customer network 12-2 to the customer network 12-1. That is, the egress PE device 16-2 operates as a packet-encapsulating ingress PE device and the ingress PE device 16-1 operates as a packet-de-encapsulating egress device.
In support of these MPLS applications, the PE device 16-1 produces the Ethernet frame 28 (of
In this example, the ingress PE 16-1 and egress PE 16-2 have established a PW 100 in accordance with a control protocol, such as the protocol described in Martini, L. et al, “Pseudowire Setup and Maintenance using the Label Distribution Protocol (LDP)”, RFC 4447, April 2006. The PW 100 traverses the PSN 14 from the ingress PE device 16-1 to the egress PE device 16-2 through the ESP 22. Again, intermediate devices in the ESP 22 are not shown.
In one embodiment, the customer network 12-1 is running an MPLS application in support of any one of a variety of native services (e.g., ATM, Ethernet, Frame Relay, T1/T3, TDM, etc.). The type of link 18-1 between the CE device 20-1 and the ingress PE device 16-1 depends upon the technology of the emulated service. For example, if the customer network 12-1 is supporting an ATM native service, the link 18-1 is an ATM link. The ingress PE device 16-1 provides an interface between this native service and the PW 100. The CE device 20-1 operates unaware that the PSN 14 is employing the PW 100 to provide an emulated service instead of a native service; in this embodiment, the PW 100 is a single segment (SS) PW.
In another embodiment, the customer network (e.g., 12-n) establishes a PW in order to emulate a native service within the customer network 12-n. The link 18-n between the CE device 20-n and the ingress PE device 16-1 is an extension of the established PW. The ingress PE device 16-1 accomplishes a hand-off from the PW of the customer network 12-1 and the PW 100 traversing the PSN 14; in this embodiment, the PW 100 is a segment of a multi-segment (MS) PW.
For either SS PW or MS PW, the ingress PE device 16-1 produces an Ethernet frame 28′″ with an MPLS-in-ESP header 30′″ comprised of ESP-dependent fields 102, the Ethertype field 54 with the Ethertype value (e.g., 8847) signifying that the Ethernet frame contains an MPLS packet, a MPLS service stack 104, an optional control word 106, and the payload 108. The contents of the ESP-dependent fields 102 depend upon the particular type of ESP 22 (e.g., a PBT trunk, PBT/PBB trunk, an 802.1q connection). Such contents typically include source and destination MAC addresses, an Ethertype that corresponds to the type of ESP, and other identifiers such as VIDs and B-VIDs. The control word 106 is an optional header used in some encapsulations to carry per-packet information (e.g., to distinguish PW payload from standard IP payload). The Ethernet frame format 28′″ shown in
At step 166, the ingress PE device 16-1 forwards the Ethernet frame over the ESP 22. Typically, one or more intermediate nodes route the Ethernet frame 28 to the egress PE device 16-2 in accordance with the type of ESP 22 (i.e., based on the information in the MAC DA and VID fields in the MPLS-in-ESP header 30). Upon receiving the Ethernet frame 28, the egress PE device 16-2 extracts (step 170) the MPLS packet from the frame and forwards the packet to the CE device 20-2 of the customer network 12-2.
Aspects of the present invention may be embodied in hardware or software (i.e., program code). Program code may be embodied as computer-executable instructions on or in one or more articles of manufacture, or in or on computer-readable medium. A computer, computing system, or computer system, as used herein, is any programmable machine or device that inputs, processes, and outputs instructions, commands, or data. In general, any standard or proprietary, programming or interpretive language can be used to produce the computer-executable instructions. Examples of such languages include C, C++, Pascal, JAVA, BASIC, Visual Basic, and Visual C++.
Examples of articles of manufacture and computer-readable medium in which the computer-executable instructions may be embodied include, but are not limited to, a floppy disk, a hard-disk drive, a CD-ROM, a DVD-ROM, a flash memory card, a USB flash drive, an non-volatile RAM (NVRAM or NOVRAM), a FLASH PROM, an EEPROM, an EPROM, a PROM, a RAM, a ROM, a magnetic tape, or any combination thereof. The computer-executable instructions may be stored as, e.g., source code, object code, interpretive code, executable code, or combinations thereof. Further, although described predominantly as software, embodiments of the described invention may be implemented in hardware (digital or analog), software, or a combination thereof.
While the invention has been shown and described with reference to specific preferred embodiments, it should be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention as defined by the following claims.
This utility application claims the benefit of U.S. Provisional Patent Application No. 60/812,892, filed on Jun. 12, 2006, titled “Carrying MPLS Applications across Ethernet Switched Trunks”, the entirety of which is incorporated by reference herein.
| Number | Date | Country | |
|---|---|---|---|
| 60812892 | Jun 2006 | US |