Data Transmission in a Packet Transport Network (PTN)

The present disclosure describes data transmission in a packet transport network (PTN). A multiple stack device facilitates data transmission between a first edge device of a first PTN technology and a second edge device of a second PTN technology. After receiving a first packet of the first PTN technology from the first edge device, the multiple stack device identifies a first connection with the first edge device according to information of the first packet and identifies a second connection with the second edge device from the first connection based on a relationship between the first connection and the second connection. The first packet is de-encapsulated and re-encapsulated into a second packet of the second PTN technology according to the second connection. The second packet is then forwarded to the second edge device via the second connection.

DETAILED DESCRIPTION

A multiple (e.g. dual) stack device may be used to facilitate data transmission between edge devices employing different PTN technologies in a PTN. For example, a VPLS/PBB dual stack device may be used to connect a Backbone Edge Bridge (BEB) device employing PBB with a Provider Edge (PE) device employing VPLS. A conventional VPLS/PBB dual stack device may issue two sets of hardware table entries to facilitate data transmission between the BEB device and PE device. This is because PBB does not use protocol packets for connection establishment, which is instead triggered by data packets.

The VPLS/PBB dual stack device analyses a customer MAC (C-MAC) address in a received packet to decide on how the packet is forwarded. The VPLS/PBB dual stack device generally relies on one set of table entries to trigger the establishment of a connection and to forward a packet with an unknown MAC address (e.g. via broadcasting), and another set to forward a packet with a known MAC address (e.g. via unicasting).

The present disclosure describes data transmission in a PTN that includes a first edge device of a first PTN technology, a second edge device of a second PTN technology and a multiple stack device facilitating data transmission between the first edge device and the second edge device. In one example, after receiving a first packet of the first PTN technology, the multiple stack device identifies a first connection with the first edge device according to information of the first packet. The multiple stack device then identifies a second connection with the second edge device from the first connection based on a relationship between the first connection and second connection. The first packet is then de-encapsulated and re-encapsulated into a second packet of the second PTN technology according to the second connection. The second packet is then forwarded to the second edge device via the second connection.

Using the above example, the multiple stack device is able to identify the second connection from the first connection based on a relationship between them. This allows forwarding of the second packet to the second edge device via the second connection. The above example does not require two sets of hardware table entries, and as such, hardware resource consumption at the multiple stack device is reduced. For example, data transmission may be facilitated between a BEB device employing PBB and a PE device employing VPLS or MPLS-TP. In the case where PBB is used, the above example does not require checking the C-MAC address in a received MAC-in-MAC packet.

Examples will be described with reference to accompanying drawings.

FIG. 1is a schematic diagram of an example PTN100in which a first edge device110communicates with a second edge device120via a multiple stack device130. The first edge device110employs a first PTN technology and connects with the multiple stack device130via a first connection142. The second edge device120employs a second PTN technology and connects with the multiple stack device130via a second connection144. Since a first packet received from the first edge device110is of the first PTN technology, the first packet needs to be converted to the second PTN technology before it is forwarded to the second edge device120.

Throughout this disclosure, the term “multiple stack device”130is used to generally refer to any suitable network device with interfaces to receive and transmit packets employing different PTN technologies, such as PBB, VPLS, MPLS-TP and related technologies etc. Although examples have been described with reference to a dual stack device in the present disclosure, it will be appreciated that the multiple stack device is not limited to a dual stack device and depending on the application, may be a n-stack device where n is 2 or more. Further, the term “packet” is used broadly to cover unit of data transmitted over the PTN, and may be used interchangeably with “message” etc. The terms “first” and “second” are used to facilitate easy reference to elements, and are not intended to represent any specific sequence.

Some examples of the edge devices110/120and multiple stack device130are provided below, but it will be appreciated that other combinations of different PTN technologies may be used in the PTN100.In one example, one of the first edge device110and second edge device120may be a BEB device employing PBB, while the other is a PE device employing MPLS-TP. In this case, the “MPLS-TP/PBB” multiple stack device130facilitates data transmission between the first edge device110(e.g. BEB device) and second edge device120(e.g. PE device). The first network112is a PBB network, and the second network122a MPLS-TP network.In another example, one of the first edge device110and second edge device120may be a BEB device employing PBB, while the other is a PE device employing VPLS. In this case, the “VPLS/PBB” multiple stack device130facilitates data transmission between the first edge device110(e.g. BEB device) and second edge device120(e.g. PE device). The first network112is a PBB network, and the second network122is a VPLS network.

FIG. 2is a flowchart of an example method200for data transmission in the PTN inFIG. 1. The example method200may be applied in the multiple stack device130connecting the first edge device110(e.g. BEB device) and second edge device120(e.g. PE device).At block210, a first packet of the first PTN technology (e.g. MAC-in-MAC packet) is received by the multiple stack device130(e.g. MPLS-TP/PBB or VPLS/PBB) from the first edge device110(e.g. BEB device).At block220, a first connection142between the multiple stack device130(e.g. MPLS-TP/PBB or VPLS/PBB) and the first edge device110(e.g. BEB device) is identified according to information of the first packet. If the first packet is received from a BEB device, the information may be identification information in a MAC-in-MAC packet, such as B-VLAN (Backbone Virtual Local Area Network), I-SID (Backbone Service Instance Identifier) and B-MAC (Backbone MAC) etc.At block230, a second connection144with the second edge device120(e.g. PE device) is identified from the first connection142based on a relationship150between the first connection142and second connection144. The relationship150may be pre-configured on the multiple stack device130using any suitable technique, such as static command line configuration.At block240, the multiple stack device130de-encapsulates the first packet (e.g. MAC-in-MAC packet), and re-encapsulates the de-encapsulated first packet (e.g. Ethernet message or frame) into a second packet (e.g. MPLS-TP or VPLS packet) according to the second connection144.At block250, the multiple stack device130forwards the second packet (e.g. MPLS-TP or VPLS packet) to the second edge device120(e.g. PE device) via the second connection144.

It will be appreciated that the example method200may be used for data transmission in the reverse direction, i.e. from a PE device to a BEB device. In this case, the PE device may act as a “first edge device”110and the BEB device as a “second edge device”120in the above example as follows. In this case, the header information at block220may be a label assigned by the PE device for its connection with the multiple stack device130.At block210, a first packet of the first PTN technology (e.g. MPLS-TP or VPLS packet) is received by the multiple stack device130(e.g. MPLS-TP/PBB or VPLS/PBB) from the first edge device110(e.g. PE device).At block220, a first connection142between the multiple stack device130(e.g. MPLS-TP/PBB or VPLS/PBB) and the first edge device110(e.g. PE device) is identified according to information of the first packet (e.g. such a label of a MPLS-TP or VPLS packet).At block230, a second connection144with the second edge device120(e.g. BEB device) is identified from the first connection142based on a relationship between the first connection142and second connection144.At block240, the multiple stack device130de-encapsulates the first packet (e.g. MPLS-TP or VPLS packet), and re-encapsulates the de-encapsulated first packet (e.g. Ethernet message or frame) into a second packet (e.g. MAC-in-MAC packet) according to the second connection144.At block250, the multiple stack device130forwards the second packet (e.g. MAC-in-MAC packet) to the second edge device120(e.g. BEB device) via the second connection144.

The relationship150between the first connection142and second connection144may be configured on the multiple stack device130prior to receiving the first packet. The configuration allows the multiple stack device130to learn about the relationship between the first connection142and second connection144. Any suitable technique may be used for the configuration, such as static command line etc.

In a peer to peer (P2P) network, the relationship (150inFIG. 1) between the first connection142and second connection144may be one-to-one. In other words, the first connection142identifies the second connection144and vice versa. As such, there is also a corresponding relationship between “first” information identifying the first connection (e.g. identification information in a MAC-in-MAC packet or label of a MPLS-TP or VPLS message) and “second” information identifying the second connection (e.g. label in a MPLS-TP or VPLS packet). The relationship between the first and second information also identifies the relationship between the first142and second connections144.

Data Transmission between MPLS-TP and PBB Networks

Referring now toFIG. 3, an example PTN300where a BEB device310is connected to a PE device320via an MPLS-TP/PBB dual stack device330. The MPLS-TP/PBB dual stack device330is connected with the PE device320via a main tunnel344aand a standby tunnel344b.The connection established between the MPLS-TP/PBB dual stack device330and the PE device320may be MPLS-TP 1+1 protection tunnel or 1:1 protection tunnel. According to MPLS-TP protocol, a label for the main tunnel344ais different to a label for the standby tunnel344b.

The static command line configures a relationship between the first connection342and second connection344on the MPLS-TP/PBB dual stack device330. The relationship between the first connection342and second connection344may be one-to-one. In particular, the first connection342is between the MPLS/PBB dual stack device330and BEB device310(with I-SID 100 B-VLAN 100 B-MAC 1-1-1).

The second connection344is between the MPLS/PBB dual stack device330and PE device320within Virtual Switch Instance (VSI) 100. Here, the VSI is a virtual instance of a layer 2 switching service provided by the PE device320. The PE device320establishes a virtual connection with a peer (MPLS-TP/PBB dual stack device) within the same VSI and assigns a unique label to the established connection. The label may include a main tunnel label (e.g. Label 1) and/or a standby tunnel label (e.g. Label 2).

The static command line configures that the MPLS/PBB dual stack device330is connected with the PBB network312via outgoing interface ‘ethernet 1/1’, and connected with the MPLS-TP network322via the PE device320with network address ‘1.1.1.1’.

FIG. 4shows an example of data transmission for the network inFIG. 3according toFIG. 2in the case where MPLS-TP 1+1 protection tunnel is used, i.e. MPLS-TP packets are forwarded via both main tunnel and standby tunnel. In one example, the example inFIG. 4may be used for data transmission from a BEB device310to a PE device320(e.g. with network address ‘1.1.1.1’).At block410(related to210inFIG. 2), the MPLS-TP/PBB dual stack device330receives a MAC-in-MAC packet from a BEB device310(“first edge device”).At block420(related to220inFIG. 2), the MPLS-TP/PBB dual stack device330identifies a first connection342with the BEB device310according to identification information of the MAC-in-MAC packet (e.g. B-VLAN 100, I-SID 100 and B-MAC 1-1-1).At block430(related to230inFIG. 2), the MPLS-TP/PBB dual stack device330identifies a second connection344(i.e. MPLS-TP 1+1 protection tunnel) with the PE device320from the first connection342based on a relationship350between the first connection342and the MPLS-TP 1+1 protection tunnel344is shown inFIG. 3.At block440(related to240inFIG. 2), the MPLS-TP/PBB dual stack device330de-encapsulates the MAC-in-MAC packet into an Ethernet frame, and re-encapsulates the Ethernet frame into MPLS-TP packets based on a main tunnel label (see block442) and a standby tunnel label (see block444) assigned by the PE device to the second connection344respectively.At block450(related to250inFIG. 2), the MPLS-TP/PBB dual stack device330forwards the MPLS-TP packet to the PE device310, i.e. one copy via the main tunnel (see block452) and another via the standby tunnel (see block454) from respective outgoing ports.

In the above, information such as B-VLAN 100, I-SID 100 and B-MAC 1-1-1 in the received MAC-in-MAC packet allows the MPLS/PBB dual stack device330to identify the first connection342. This in turns allows the MPLS/PBB dual stack device330to identify the second connection344based on the pre-configured relationship between the first342and second344connection.

Since MPLS-TP 1+1 protection tunnel is used, the PE device320will receive both MPLS-TP packets via the main tunnel and standby tunnel respectively, but will only forward one of them to the MPLS-TP network322. Since different labels are assigned for the main tunnel344aand standby tunnel344b,the PE device320is able to identify the tunnel through which an MPLS-TP is received. For example, the MPLS-TP received via the main tunnel344ais forwarded while the one received via the standby tunnel344bis discarded. After de-encapsulating the MPLS-TP packet received via the main tunnel344a,the PE device320searches for a destination MAC address in the Ethernet frame in a MAC table. Then, the Ethernet frame is forwarded to an outgoing port corresponding to the destination MAC address to the MPLS-TP network322.

FIG. 4may also be applied to data transmission from the PE device320to the BEB device310via the MPLS-TP/PBB dual stack device330. In this case, after receiving MPLS-TP packets from both the main tunnel344aand standby tunnel344b, the MPLS-TP/PBB dual stack device330discards one of the packets, e.g. the packet received via the standby tunnel344b.Based on a label of the main tunnel344a(e.g. label 1), the MPLS-TP/PBB dual stack device330identifies the second connection344with the PE device320, and then the corresponding first connection342with the BEB device310(i.e. connection corresponding with B-VLAN 100, I-SID 100 and B-MAC 1-1-1).

FIG. 5shows an example of data transmission according toFIG. 2in the case where MPLS-TP 3:1 protection tunnel is used, i.e. an MPLS-TP packet is forwarded via a standby tunnel only when the main tunnel is inactive.At block510(related to210inFIG. 2), the MPLS-TP/PBB dual stack device330receives a MAC-in-MAC packet from a BEB device310.At block520(related to220inFIG. 2), the MPLS-TP/PBB dual stack device330identifies a first connection342with the BEB device according to identification information in the MAC-in-MAC packet (e.g. B-VLAN 100, I-SID 100 and B-MAC 1-1-1).At block530(related to230inFIG. 2), the MPLS-TP/PBB dual stack device330determines a second connection344(MPLS-TP 1:1 protection tunnel) with the PE device320according to the first connection342. The relationship350between the first connection and the MPLS-TP 1:1 protection tunnel is shown inFIG. 3.At block540(related to240inFIG. 2), the MPLS-TP/PBB dual stack device330determines whether the main tunnel344ais inactive; see block542.If the main tunnel is inactive (block544), the MPLS-TP/PBB dual stack device330de-encapsulates the MAC-in-MAC packet into an Ethernet frame, and re-encapsulates the Ethernet frame into an MPLS-TP packet according to a standby tunnel label344bassigned by the PE device to the second connection344.Otherwise (main tunnel344ais active, block546), the MPLS-TP/PBB dual stack device330de-encapsulates the MAC-in-MAC packet into an Ethernet frame, and re-encapsulates the Ethernet frame into an MPLS-TP packet according to a main tunnel label344aassigned by the PE device to the second connection344.At block550(related toFIG. 2), the MPLS-TP/PBB dual stack device330either forwards the MPLS-TP packet to the PE device via the main tunnel344aor the standby tunnel344b.

Unlike the case of 1+1 protection tunnel inFIG. 4, the PE device320only receives one MPLS-TP packet from the MPLS-TP/PBB dual stack device330via the main tunnel344a(or the standby tunnel344bif the main tunnel is inactive).

At the PE device320, after de-encapsulating the received MPLS-TP packet, the PE device320searches the MAC table according to a destination MAC address in the Ethernet frame to determine the corresponding outgoing port through which the Ethernet packet is sent to the MPLS-TP network322.

Data Transmission between VPLS and PBB Networks

In another example, the multiple stack device130inFIG. 1may be a VPLS/PBB dual stack device that facilitates data transmission between a PE device of VPLS technology and a BEB device of PBB technology and.

Referring now toFIG. 6, the data transmission may include the following when the BEB device (first edge device110) transmits data to the PE device (second edge device120).At block610(related to210inFIG. 2), a MAC-in-MAC packet is received by the VPLS/PBB dual stack device130from the PE device.At block620(related to220inFIG. 2), a first connection142between the VPLS/PBB dual stack device130and the PE device is identified according to information of the MAC-in-MAC packet. In this case, the information may be identification information of the received MAC-in-MAC packet, such as B-VLAN, I-SID and B-MAC etc.At block630(related to230inFIG. 2), a second connection144with the BEB device is identified from the first connection142based on a relationship between the first connection142and second connection144. The relationship may be configured on the VPLS/PBB dual stack device130prior to receiving the MAC-in-MAC packet.At block640(related to240inFIG. 2), the multiple stack device130de-encapsulates the MAC-in-MAC packet into an Ethernet message or frame, and re-encapsulates the Ethernet message or frame into a VPLS packet according to the second connection144.At block650(related to250inFIG. 2), the multiple stack device130forwards the VPLS packet to the PE device via the second connection144between the PE device and VPLS/PBB dual stack device.

The example inFIG. 6may be applied to data transmission in the reverse direction, i.e. from the PE device (first edge device110in this case) transmits data to the BEB device (second edge device120).At block610, a VPLS packet is received by the VPLS/PBB dual stack device130from the PE device.At block620, a first connection142between the VPLS/PBB dual stack device130and the PE device is identified according to information of the VPLS packet. In this case, the information may be a label of the VPLS packet received from the PE device.At block630, a second connection144with the BEB device is identified from the first connection142based on a relationship between the first connection142and second connection144.At block640, the multiple stack device130de-encapsulates the VPLS packet first packet into an Ethernet message or frame, and re-encapsulates the Ethernet message or frame into a MAC-in-MAC packet according to the second connection144.At block650, the multiple stack device130forwards the MAC-in-MAC packet to the BEB device via the second connection144between the BEB device and VPLS/PBB dual stack device.

The above examples can be implemented by hardware, software or firmware or a combination thereof. Referring toFIG. 7, an example network device700capable of acting as a multiple stack device130/330for facilitating data transmission between an first edge device of a first PTN technology and a second edge device of a second PTN technology in PTN. The network device700may be a switch etc.

The example network device700includes a processor710, a memory720and a network interface device740that communicate with each other via bus730. The processor710is to perform processes described herein with reference toFIG. 1toFIG. 6. In one example, the processor710is to perform the following:Receive a first packet of the first PTN technology from the first edge device.Identify a first connection with the first edge device according to information of the first packet. For example, the information may be identification information in a MAC-in-MAC packet or a label of a MPLS-TP packet or VPLS packet.Identify a second connection with the second edge device from the first connection based on a relationship between the first connection and the second connection. For example, the relationship may be configured on the device700prior to receiving the first packet.De-encapsulate the first packet and re-encapsulate the de-encapsulated first packet into a second packet of the second PTN technology according to the second connection.Forward the second packet to the second edge device via the second connection.

The memory720may store any necessary data722and machine-readable instructions724to perform any of the processes described in the present disclosure. The data722may include the relationship (see150inFIG. 1or350inFIG. 3) between the first connection and second connection, and information identifying the first and second connection (e.g. B-VLAN, I-SID and B-MAC or a MPLS-TP or VPLS label etc).

The memory720may store machine-readable instructions724executable by the processor710and to cause the processor710to perform processes described herein. In one example, the instructions724(not shown inFIG. 7for simplicity) may include:Receiving instruction to receive a first packet of the first PTN technology from the first edge device.Processing instruction to identify a first connection with the first edge device according to information of the first packet.The processing instruction is further to identify a second connection with the second edge device from the first connection based on a relationship between the first connection and the second connection.The processing instruction is further to de-encapsulate the first packet and re-encapsulate the de-encapsulated first packet into a second packet of the second PTN technology according to the second connection.Forwarding instruction to forward the second packet to the second edge device via the second connection.

The methods, processes and functional units described herein may be implemented by hardware (including hardware logic circuitry), software or firmware or a combination thereof. The term ‘processor’ is to be interpreted broadly to include a processing unit, ASIC, logic unit, or programmable gate array etc. The processes, methods and functional units may all be performed by the one or more processors710; reference in this disclosure or the claims to a ‘processor’ should thus be interpreted to mean ‘one or more processors’.

Although one network interface device740is shown inFIG. 7, processes performed by the network interface device740may be split among multiple network interface devices (not shown for simplicity). As such, reference in this disclosure to a ‘network interface device’ should be interpreted to mean ‘one or more network interface devices”.

Further, the processes, methods and functional units described in this disclosure may be implemented in the form of a computer software product. The computer software product is stored in a storage medium and comprises a plurality of instructions for making a processor to implement the methods recited in the examples of the present disclosure.

The figures are only illustrations of an example, wherein the units or procedure shown in the figures are not necessarily essential for implementing the present disclosure. Those skilled in the art will understand that the units in the device in the example can be arranged in the device in the examples as described, or can be alternatively located in one or more devices different from that in the examples. The units in the examples described can be combined into one module or further divided into a plurality of sub-units.

Although the flowcharts described show a specific order of execution, the order of execution may differ from that which is depicted. For example, the order of execution of two or more blocks may be changed relative to the order shown. Also, two or more blocks shown in succession may be executed concurrently or with partial concurrence. All such variations are within the scope of the present disclosure.