WO2014032494A1 - Discovering a peer provider edge (pe) of a virtual private lan service (vpls) instance - Google Patents

Discovering a peer provider edge (pe) of a virtual private lan service (vpls) instance Download PDF

Info

Publication number
WO2014032494A1
WO2014032494A1 PCT/CN2013/080467 CN2013080467W WO2014032494A1 WO 2014032494 A1 WO2014032494 A1 WO 2014032494A1 CN 2013080467 W CN2013080467 W CN 2013080467W WO 2014032494 A1 WO2014032494 A1 WO 2014032494A1
Authority
WO
WIPO (PCT)
Prior art keywords
vsi
advertisement packet
packet
carried
vpls
Prior art date
Application number
PCT/CN2013/080467
Other languages
French (fr)
Inventor
Jinrong YE
Original Assignee
Hangzhou H3C Technologies Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co., Ltd. filed Critical Hangzhou H3C Technologies Co., Ltd.
Publication of WO2014032494A1 publication Critical patent/WO2014032494A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer

Definitions

  • PE PE
  • VPLS VIRTUAL PRIVATE LAN SERVICE
  • Multi-protocol Label Switching (MPLS) Virtual Private Network (VPN) technique may provide VPN services on an IP network. According to this technique, it is convenient and easy to configure speed.
  • MPLS VPN techniques i.e. MPLS Layer 3 VPN (MPLS L3VPN) and MPLS Layer 2 VPN (MPLS L2VPN).
  • MPLS L2VPN provides a point-to-point L2VPN service in a public network, where two sites connected according to this technique appear connected by a physical link.
  • MPLS L2VPN provides a point-to-point L2VPN service in a public network, where two sites connected according to this technique appear connected by a physical link.
  • a switching function between multiple points at a service provider cannot be provided according to the MPLS L2VPN technique.
  • Virtual Private LAN Service (VPLS) technique is developed based on the conventional MPLS L2VPN technique for multi-point to multi-point (MP2MP) VPN networking.
  • MP2MP multi-point to multi-point
  • VPLS provides a better solution for operators.
  • VPLS combines advantages of Ethernet techniques and MPLS techniques and emulates all functions of a conventional Local Area Network (LAN).
  • the main objective of VPLS is to connect multiple LANs which are geographically dispersed and formed by Ethernet networks, so as to make them work as one LAN.
  • FIG. 1 is a schematic diagram illustrating a network structure in which an MP2MP Label Switched Path (LSP) is established according to an example of the present disclosure.
  • LSP MP2MP Label Switched Path
  • FIG. 2 is a schematic diagram illustrating a network structure in which an MP2MP LSP is established according to an example of the present disclosure.
  • FIG. 3 is a flowchart illustrating a VSI advertising procedure in a method for discovering a peer PE of a VPLS instance according an example of the present disclosure.
  • FIG. 4 is a flowchart illustrating a VSI deleting procedure in the method for discovering a peer PE of a VPLS instance according to an example of the present disclosure.
  • FIG. 5 is a schematic diagram illustrating a packet format of a VEDP protocol packet in the case that the VEDP protocol packet is encapsulated in an ACH header of an MPLS TP packet without IP encapsulation according to an example of the present disclosure.
  • FIG. 6 is a schematic diagram illustrating a network structure for discovering a peer PE of a VPLS instance according to an example of the present disclosure.
  • FIG. 7 is a schematic diagram illustrating a structure of a PE according to an example of the present disclosure.
  • FIG. 8 is a schematic diagram illustrating a structure of a PE according to an example of the present disclosure.
  • FIG. 9 is a schematic diagram illustrating a structure of a PE according to an example of the present disclosure.
  • FIG. 10 is a schematic diagram illustrating a hardware structure of a PE according to an example of the present disclosure. DETAILED DESCRIPTION
  • a Virtual Switch Instance is an Ethernet bridge functional entity of a VPLS instance on a Provider Edge (PE). It performs layer 2 packet forwarding according to a MAC address and a VLAN Tag.
  • VSI is a Virtual Edge Device (VE).
  • a Pseudo Wire is a bi-directional virtual connection between VSIs of two PEs.
  • the PW is a communication tunnel of the VPLS in the public network.
  • the peer PE refers to a PE having a VSI belonging to the same VPLS instance as that of the VSI of the local PE.
  • Border Gateway Protocol In a conventional method for automatically discovering a peer PE of a VPLS instance, Border Gateway Protocol (BGP) is involved.
  • BGP Border Gateway Protocol
  • the principle of BGP is complicated, which makes the conventional discovery method complicated.
  • many configurations are required. For example, a BGP full connection needs to be configured for each PE with other PEs, and a BGP extended attribute needs to be configured for each VSI of each PE.
  • an example of the present disclosure describes discovery of a peer PE of a VPLS instance.
  • a MP2MP communication tunnel connecting a first PE and a second PE is configured in a network.
  • the first PE receives, from the second PE via an MP2MP communication tunnel, an advertisement packet carrying at least one VSI configured on the second PE.
  • the first PE determines whether the first PE has a VSI belonging to a same VPLS instance as that of the VSI carried in the advertisement packet. If there is, the first PE determines the second PE as a peer PE of the VPLS instance.
  • the MP2MP communication tunnel connecting each PE is configured in the network.
  • Each PE transmits an advertisement packet carrying at least one VSI configured on the PE to other PEs via the MP2MP communication tunnel.
  • the PE determines, with respect to each VSI carried in the advertisement packet, whether the PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet. If the PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet, it is determined that the other PE is a peer PE of the VPLS instance.
  • the automatic discovery of the peer PE of the VPLS instance is realized.
  • the method of the present disclosure is implemented based on the advertisement packet carrying the at least one VSI configured on the PE via the MP2MP communication tunnel configured in the network, which avoids the use of the complicated BGP protocol and therefore simplifies and improves the efficiency of peer PE discovery.
  • the MP2MP communication tunnel may be an MP2MP Label Switching Path (LSP) or a bi-directional Rendezvous Point Tree (RPT) of IP multicast.
  • LSP MP2MP Label Switching Path
  • RPT Rendezvous Point Tree
  • the bi-directional RPT generally includes two parts: one part takes an RP as a root and takes routers of directly-connected receivers as leaves, referred to as receiver side RPT. Another part takes the RP as a root and routers of directly-connected multicast sources as leaves, referred to as multicast source side RPT.
  • FIG. 1 and FIG. 2 are schematic diagrams illustrating two network structures in which MP2MP LSPs are established according to two examples of the present disclosure.
  • an MP2MP LSP connecting PEs (all PEs or some PEs) is configured in the backbone.
  • the MP2MP LSP acts as a communication tunnel between the PEs for exchanging protocol packets. It carries only protocol packets between the PEs but does not carry user data packets, thus it is a tunnel with low load.
  • a node in the backbone is designated as a root node (the root node may be a Provider device or a PE).
  • PEs are referred to as leaf nodes, except for the root node on the MP2MP LSP.
  • the root node replicates a packet received from any PE acting as a leaf node (i.e., replace an outer layer label of the packet with labels required for transmitting to different PEs), and transmits replicated packets to other PEs connected by the MP2MP LSP.
  • the PEs acting as the leaf nodes can exchange protocol packets through the MP2MP LSP.
  • the root node is a Provider (P) device.
  • the root node is a PE (i.e. PE3).
  • PE i.e. PE3
  • other P devices are not shown, except for the P device designated as the root node.
  • the dashed bi-directional lines denote bi-directional LSP segments connecting the root node and the leaf nodes.
  • the bi-directional LSP segments connect the root note (i.e. P device) with leaf nodes PE1 , PE2, PE3 and PE4.
  • the bi-directional LSP segments connect the root node (i.e. PE3) with leaf nodes PE1 , PE2 and PE4.
  • FIG. 3 is a flowchart illustrating a method for discovering a peer PE of a VPLS instance according to an example of the present disclosure.
  • protocol packets exchanged between PEs are transmitted via the MP2MP LSP as shown in FIG. 1 and FIG. 2.
  • the method may be performed by any PE on the MP2MP LSP.
  • the example method includes two procedures: a VSI advertisement procedure (also referred to as a VE advertisement procedure) and a VSI withdraw procedure (also referred to as a VE withdraw procedure). These two procedures do not have a sequence order, in that they may be performed in any suitable order. Hereinafter, the two example procedures are described respectively.
  • the VSI advertisement procedure includes the following. [0029] At block S302, a first PE receives from a second PE via the MP2MP LSP an advertisement packet (or a VE advertisement packet) carrying at least one VSI configured on the second PE.
  • Each PE on the MP2MP LSP transmits an advertisement packet (or VE advertisement packet) carrying all VSIs configured on the PE to other PEs on the MP2MP LSP. Therefore, the second PE transmits an advertisement packet carrying the VSIs configured on the second PE to other PEs via the MP2MP LSP.
  • the first PE may determine, for each VSI carried in the advertisement packet, whether the first PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet. If yes, it is determined that the second PE is a peer PE of the VPLS instance (i.e., blocks S302-S306). Similarly, the first PE also transmits an advertisement packet carrying the VSIs configured on the first PE to other PEs via the MP2MP LSP.
  • the first PE determines whether the first PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet. If yes, block S306 is performed; otherwise, block S304 is performed to determine a next VSI until all of the VSIs carried in the advertisement packet have been determined.
  • the advertisement packet may carry: a PE ID (identifier) of a PE transmitting the advertisement packet, and a VPLS ID of the VPLS instance to which the VSI configured on the PE transmitting the advertisement packet belongs.
  • Any PE may transmit an advertisement packet carrying the above information to other PEs via the MP2MP LSP, so as to advertise the VSIs configured on the PE.
  • the first PE may receive, from the second PE via the MP2MP LSP, the advertisement packet carrying the PE ID of the second PE and the VPLS ID of the VPLS instance to which the VSI configured on the second PE belongs.
  • the first PE determines that the second PE is a peer PE of the VPLS instance. Then, block S304 is repeated for the next VSI until all of the VSIs carried in the advertisement packet are determined.
  • a PE may configure a remote member list for each VSI configured on the PE.
  • the remote member list records a PE ID of each peer PE of the VPLS instance to which the VSI belongs. After discovering a peer PE of the VPLS instance, the PE may record the PE ID of the peer PE into the remote member list corresponding to the VSI.
  • the first PE adds the PE ID of the second PE carried in the advertisement packet into the remote member list corresponding to the VSI. It should be noted that the PE ID is added into the remote member list if the PE ID of the second PE is not recorded in the remote member list. If the PE ID of the second PE is already on the remote member list, the PE ID needs not to be added again.
  • the VPLS ID of the VPLS instance to which the VSI belongs is adopted to identify the VSI, for each VPLS ID (denoted by VPLS IDi) carried in the advertisement packet transmitted by the second PE, if the first PE determines in block S304 that the first PE has a VSI which belongs to a VPLS instance having a same VPLS ID with VPLS IDi, the first PE records the PE ID of the second PE carried in the advertisement packet into the remote member list corresponding to the VSI corresponding to the VPLS ID.
  • an MP2MP LSP connecting each PE is configured in the network.
  • Each PE transmits an advertisement packet carrying the VSI configured on the PE to other PEs via the MP2MP LSP.
  • the PE determines, with respect to each VSI carried in the advertisement packet, whether the PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet. If there is, it is determined that the other PE is a peer PE of the VPLS instance. Thus, the peer PE of the VPLS instance may be automatically discovered.
  • the example method is implemented based on the advertisement packet which carries the VSI configured on the PE and is transmitted via the MP2MP LSP communication tunnel configured in the network.
  • the example method avoids using the complicated BGP protocol and therefore simplifies and improves the efficiency of peer PE discovery.
  • each PE may transmit the advertisement packet via the MP2MP LSP periodically or transmit the advertisement packet for a predefined number of times.
  • the total number of advertisement packets is reduced and usage of network bandwidth is reduced, especially when there is a relatively large number of the VSIs configured on the PE.
  • the advertisement packet may be transmitted periodically or transmitted according to other rules, which is not restricted in the present disclosure.
  • an identifier R (Request) may be added in the advertisement packet.
  • the identifier R is used for requesting the PE receiving the advertisement packet to transmit VSIs using an advertisement packet.
  • the PE e.g., the first PE or the second PE
  • the PE may transmit the advertisement packet which has an R identifier and carries the newly-configured VSI on the PE to other PEs.
  • the transmission of the advertisement packet is stopped after it has been transmitted for a predefined number of times.
  • the PE After the PE receives the advertisement packet carrying the R identifier from another PE, the PE transmits an advertisement packet with no R identifier to the PE according to the R identifier. The transmission is stopped after the advertisement packet has been transmitted for a predefined number of times.
  • the first PE transmits an advertisement packet carrying the new VSI and the R identifier and stops the transmission after the advertisement packet has been transmitted for a first predefined number of times.
  • other PEs may transmit an advertisement packet carrying the VSI configured on the respective PE but with no R identifier to the first PE.
  • the first PE determines whether the advertisement packet has an R identifier. If the advertisement packet has the R identifier, the first PE transmits an advertisement packet carrying the VSI configured on the first PE but no R identifier to other PEs via the MP2MP LSP and stops the transmission after a second predefined number of times. At this time, block S304 and S306 are also performed.
  • a VSI is deleted on a PE
  • the VSI being deleted should be advertised to other PEs. If the other PE determines that it has a VSI belonging to the same VPLS instance as that of the VSI being deleted, this PE may determine that it is not the peer PE of the VPLS instance anymore.
  • an example VSI withdraw procedure using a withdrawal packet may include the following.
  • a first PE receives from a second PE via the MP2MP LSP a withdrawal packet (may also be referred to as a VE withdrawal packet) carrying at least one VSI being deleted on the second PE, wherein the withdrawal packet is transmitted when the VSI is deleted on the second PE. Similar to the advertisement packet, the withdrawal packet further carries the PE ID of the PE transmitting the withdrawal packet.
  • a withdrawal packet may also be referred to as a VE withdrawal packet carrying at least one VSI being deleted on the second PE, wherein the withdrawal packet is transmitted when the VSI is deleted on the second PE. Similar to the advertisement packet, the withdrawal packet further carries the PE ID of the PE transmitting the withdrawal packet.
  • the PE transmits a withdrawal packet carrying the VSI being deleted to other PEs via the MP2MP LSP.
  • the second PE will transmit a withdrawal packet carrying the VSI being deleted on the second PE to other PEs via the MP2MP LSP.
  • the first PE determines, with respect to each VSI carried in the withdrawal packet, whether the first PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet.
  • the second PE is not a peer PE of the VPLS instance anymore (i.e., blocks S404-S406).
  • the first PE will also transmit a withdrawal packet carrying the VSI being deleted on the first PE to other PEs via the MP2MP LSP.
  • the withdrawal packet may include: PE ID of the PE transmitting the withdrawal packet, and VPLS ID of the VPLS instance to which the VSI being deleted belongs.
  • the first PE may receive a withdrawal packet carrying the PE ID of the second PE and the VPLS ID of the VPLS instance to which the VSI being deleted on the second PE belongs.
  • the PE may transmit the withdrawal packet periodically and stop transmitting the withdrawal packet after a predefined number of times (the number may be defined in advance according to any suitable requirement in practice).
  • the PE may transmit the withdrawal packet according to any other suitable rule, which is not restricted in the present disclosure.
  • the first PE determines whether the first PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet. If the first PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet, block S406 is performed; otherwise, block S404 is repeated to for the next VSI until all VSIs carried in the withdrawal packet have been determined.
  • the first PE may determine whether the first PE has a VSI which belongs to a VPLS instance having a same VPLS ID as VPLS IDj.
  • the first PE determines that the second PE is not the peer PE of the VPLS instance anymore, and deletes the PE ID of the second PE carried in the withdrawal packet from the remote member list corresponding to the VSI. Then, block S404 is performed to determine the next VSI until all of the VSIs carried in the withdrawal packet have been determined.
  • a remote member list may be configured for each VSI configured on the PE.
  • the remote member list is used for recording the PE ID of the peer PE of the VPLS instance to which the VSI belongs. After discovering a peer PE of the VPLS instance, the PE may add the PE ID of the peer PE into the remote member list corresponding to the VSI. After discovering that a PE is not a peer PE of the VPLS instance anymore, the PE may delete the PE ID of that PE from the remote member list corresponding to the VSI.
  • the PE transmits a withdrawal packet carrying the VSI being deleted on the PE to other PEs via the MP2MP LSP.
  • the PE e.g. the first PE
  • receives a withdrawal packet transmitted by another PE e.g. the second PE
  • the first PE determines, with respect to each VSI carried in the withdrawal packet, whether the PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet. If the PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet, it is determined that the second PE is not a peer PE of the VPLS instance anymore.
  • the peer PE of the VPLS instance may be automatically discovered.
  • the method of the present disclosure is implemented based on the withdrawal packet which is transmitted via the MP2MP LSP communication tunnel configured in the network and carries the VSI being deleted on the PE, avoids the use of the complicated BGP protocol and therefore simplifies and improves the efficiency of peer PE discovery.
  • the method for discovering the peer PE of the VPLS instance may be used as an automatic discovery protocol.
  • the example method may be called Virtual Edge Discovery Protocol (VEDP) through which a PE can automatically discover a peer PE of the VPLS instance (i.e., discover a VPLS member).
  • VEDP Virtual Edge Discovery Protocol
  • the MP2MP LSP needs to be configured.
  • the configuration of the MP2MP LSP and the running of the VEDP on the PE are described.
  • the configuration of the MP2MP LSP may include the following.
  • a Virtual Multi-cast Interface is configured on each PE.
  • the VMI is a virtual multi-cast interface but not a real physical interface.
  • a parameter e.g., an ID of a root node (the ID may be an IP address of the root node) required for establishing the MP2MP LSP is configured under the VMI interface. This is to establish the MP2MP LSP which takes the device identified by the ID as the root node and connect each PE (i.e., the PE joins the MP2MP LSP).
  • the MP2MP LSP acts as a communication tunnel between the PEs for exchanging protocol packets and is a protocol communication tunnel provided by the backbone for all of the VPLS instances, as shown in FIG. 1 and FIG. 2.
  • VMI and the MP2MP LSP are associated with each other.
  • the process of the association includes:
  • NHLFE Next Hop Label Forwarding Entry
  • a corresponding relationship (used for receiving VEDP protocol packets) between the VMI and the incoming label corresponding to the MP2MP LSP. If a VEDP protocol packet needs to be transmitted via the MP2MP LSP, the NHLFE corresponding to the VMI is found.
  • the VEDP protocol packet is transmitted according to the information in the NHLFE, so as to being transmitted to the root node via the MP2MP LSP (in particular, a LSP segment between the PE and the root node).
  • the PE transmits the VEDP protocol packet to the root node from the VMI interface via the MP2MP LSP.
  • the root node transmits the replicated protocol packets to other PEs via the MP2MP LSP.
  • a PE joins the MP2MP LSP as a leaf node of the MP2MP LSP
  • the PE initiates an establishment procedure for establishing a LSP segment between the PE and the root node.
  • the PE initiates the establishment procedure for establishing bi-directional LSP segments between the PE and the root node based on a Label Distribution Protocol (LDP).
  • LDP Label Distribution Protocol
  • the bi-directional LSP segments consist of two uni-directional LSPs with reverse directions (i.e. an uplink LSP for transmitting packets; and a downlink LSP for receiving packets).
  • the VMI interface enters an operational state.
  • the VEDP is enabled on the VMI to transmit VEDP packets on the MP2MP LSP (i.e., running the VEDP on the MP2MP LSP communication tunnel to discover which PEs have VSIs belonging to the same VPLS instance).
  • Detailed instructions for enabling the VEDP on the VMI interface may be as follows:
  • VEDP protocol packets including advertisement packets and withdrawal packets
  • all of the VEDP protocol packets will be transmitted to the MP2MP LSP through the VMI interface.
  • all of the VEDP protocol packets will be received from the MP2MP LSP through the VMI interface.
  • any PE acting as a leaf node on the MP2MP LSP may run the VEDP, i.e., executing the above example method to automatically discover the peer PE of the VPLS instance. It mainly includes the following two procedures. [0071 ] VSI advertisement proceedu re
  • the advertisement packet is transmitted to the root node through the VMI interface via the MP2MP LSP first, and then is multicast replicated by the root node and forwarded to other PEs on the MP2MP LSP.
  • the PE receives the advertisement packet forwarded by the root node via the MP2MP LSP through the VMI interface.
  • the advertisement packet may include the following information:
  • the PE ID may be a Label Switching Router ID (LSR ID);
  • VE type there may be two types:
  • VRF Virtual VPN Routing & Forwarding
  • the list may include one or more VPN IDs.
  • the VPN ID list carries the VPLS ID corresponding to each VSI configured on the PE transmitting the advertisement packet.
  • the VPLS ID is a unique ID of the VPLS instance in the backbone.
  • a VPLS ID of a VPLS instance to which a VSI belongs needs to be designated when the VSI is configured on the PE.
  • one VSI corresponds to one VPLS ID.
  • a remote PE list used for recording the discovered remote PE may be stored by the PE.
  • the PE may determine whether the PE ID carried in the advertisement packet is discovered for the first time, i.e., whether the PE ID has been recorded in the remote PE list. If it has been recorded, it indicates that the PE ID is not discovered for the first time; otherwise, it indicates that the PE ID is discovered for the first time, and the PE ID is recorded in the remote PE list.
  • the withdrawal packet may include the following information:
  • VPN ID list in the case that the VE type is VSI, the VPN ID list carries the VPLS ID corresponding to each VSI being deleted on the PE transmitting the withdrawal packet.
  • the PE determines, for each VPLS ID carried in the withdrawal packet, whether the PE has a VSI which belongs to a VPLS instance having the same VPLS ID as the VPLS ID of the VSI carried in the withdrawal packet. If there is, the PE ID carried in the withdrawal packet is deleted from the remote member list corresponding to the VSI having the same VPLS ID. After all VSIs carried in the withdrawal packet have been determined, it may further determine that whether the PE ID exists in any remote member list, if the PE ID does not exist, the PE ID is deleted from the remote PE list.
  • the VEDP protocol packets may be encapsulated in various kinds of existing protocol packets, e.g., User Datagram Protocol (UDP) packet, IP packet, or Associated Channel Header (ACH) of MPLS Transport Profile (TP) without IP encapsulation.
  • UDP User Datagram Protocol
  • IP IP packet
  • ACH Associated Channel Header
  • TP MPLS Transport Profile
  • a global known port needs to be defined in the UDP header as a destination port, so as to indicate that the packet is a VEDP protocol packet.
  • a protocol type field in the IP header should be configured with a particular value, indicating that the packet is a VEDP protocol packet.
  • the packet format may be as shown in FIG. 5, wherein
  • VEDP Code Point indicating the packet is a VEDP protocol packet
  • VEDP Control Packet denoting detailed contents of the packet.
  • FIG. 6 is a schematic diagram illustrating a network for discovering a peer PE of a VPLS instance according to an example of the present disclosure.
  • VPLS instance A includes three sites: site 1 , site 2 and site 3, which are denoted by dotted circles in FIG. 6.
  • VPLS instance B also includes three sites: site 1 , site 2 and site 3, which are denoted by solid circles.
  • V denotes VSI.
  • the PE may advertise a PW label to the peer PE through LDP to establish a PW between the PE and the peer PE.
  • LDP LDP session based on TCP connection needs to be created before the PW label is advertised.
  • a peer of the LDP session needs to be discovered by exchanging LDP hello messages. Since the LDP can also be enabled on the VMI, the LDP packets can also be transmitted via the MP2MP LSP. Therefore, there are the following two methods to discover the peer of the LDP session.
  • the PE transmits a Targeted Hello packet to each PE in the remote PE list. This procedure is similar to that in conventional systems and will not be repeated herein.
  • Link Hello packets may be transmitted to other PEs on the MP2MP LSP through the MP2MP LSP communication tunnel, i.e., running the LDP on the VMI interface.
  • the PE receiving the Link Hello packet may initiate the establishment of the LDP session according to a transport address and a LDP ID carried in the Link Hello packet.
  • an example of the present disclosure provides a PE on which the above method may be applied.
  • the network where the PE is located is configured with an MP2MP LSP connecting each PE.
  • the first PE may include the following modules: a receiving module 10, a first determining module 20, a second determining module 30 and a transmitting module 40.
  • the receiving module 10 is to receive from a second PE via the MP2MP LSP an advertisement packet carrying at least one VSI configured on the second PE;
  • the first determining module 20 is to determine, with respect to each VSI carried in the advertisement packet received by the receiving module 10, whether the first PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet;
  • the second determining module 30 is to determine the second PE as a peer PE of the VPLS instance if the first determining module 20 determines that the first PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet;
  • the transmitting module 40 is to transmit an advertisement packet carrying at least one VSI configured on the first PE via the MP2MP LSP, so that the second PE determines, after receiving the advertisement packet transmitted by the first PE via the MP2MP LSP, whether the second PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet transmitted by the first PE, and determine that the first PE is a peer PE of the VPLS instance if the second PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet transmitted by the first PE.
  • the transmitting module may further include an advertisement packet transmitting unit 412 and a counting unit 414.
  • an advertisement packet transmitting unit 412 may further include an advertisement packet transmitting unit 412 and a counting unit 414.
  • a counting unit 414 may further include an advertisement packet transmitting unit 412 and a counting unit 414.
  • the advertisement packet transmitting unit 412 is to transmit, when a new VSI is configured on the first PE, an advertisement packet carrying the new VSI on the first PE and a predefined identifier, and stop transmitting after a counted value of the counting unit 414 reaches a first predefined number, such that the second PE transmits, after receiving the advertisement packet carrying the predefined identifier from the first PE via the MP2MP LSP, an advertisement packet carrying the VSI configured on the second PE but no predefined identifier;
  • the counting unit 414 is to count the number of times that the advertisement packet carrying the predefined identifier being transmitted by the advertisement packet transmitting unit 412, and count the number of times that the advertisement packet with no predefined identifier is transmitted by the advertisement packet transmitting unit 412;
  • the first determining module 20 is further to determine, after the receiving module 10 receives the advertisement packet carrying the VSI configured on the second PE, whether the advertisement packet transmitted by the second PE carries the predefined identifier, and inform, if it is determined that the advertisement packet carries the predefined identifier, the advertisement packet transmitting unit 412 to transmit an advertisement packet carrying the VSI configured on the first PE but with no predefined identifier and stop transmitting after the counted value of the counting unit 414 reaches a second predefined number.
  • Each VSI may be identified by the VPLS ID of the VPLS instance to which the VSI belongs.
  • the first determining module 20 may be to determine, with respect to a VPLS ID of a VPLS instance to which each VSI carried in the advertisement packet belongs, whether the PE has a VSI which belongs to a VPLS instance having a same VPLS ID as this VPLS ID. This is to determine whether the first PE has the VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet.
  • the advertisement packet further carries the PE ID of the PE transmitting the advertisement packet.
  • the second determining module 30 may further include:
  • a recording unit 312 to add, if the first determining module 20 determines that the first PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet, the PE ID of the second PE carried in the advertisement packet received by the receiving module 10 into a remote member list corresponding to the VSI;
  • the receiving module 10 is further to receive a withdrawal packet carrying a VSI being deleted on the second PE transmitted by the second PE via the MP2MP LSP.
  • the second PE transmits the withdrawal packet to other PEs via the MP2MP LSP when the VSI is deleted on the second PE.
  • the withdrawal packet may further carry the PE ID of the PE transmitting the withdrawal packet;
  • the first determining module 20 is further to determine, with respect to each VSI carried in the withdrawal packet received by the receiving module 10, whether the first PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet;
  • the second determining module 30 is further to determine that the second PE is not a peer PE of the VPLS instance anymore if the first determining module 20 determines that the first PE has the VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet. Therefore, as shown in FIG. 8, the second determining module 30 further includes a deleting unit 316, to delete the PE ID of the second PE carried in the withdrawal packet received by the receiving module 10 from the remote member list corresponding to the VSI if the first determining module 20 determines that the first PE has the VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet.
  • the transmitting module 40 is further transmit, if a VSI on the first PE is deleted, a withdrawal packet carrying the VSI being deleted on the first PE to other PEs via the MP2MP LSP.
  • the second PE may determine, with respect to each VSI being deleted on the first PE, whether the second PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet.
  • the second PE determines that the first PE is not a peer PE of the VPLS instance anymore, and deletes the PE ID of the first PE from the remote member list corresponding to the VSI.
  • the PE Before discovering the peer PE of the VPLS instance, the PE joins the MP2MP LSP as a leaf node. Therefore, as shown in FIG. 9, the PE further includes a creating module 50, to create a VMI on the PE; a designating module 60, to designate a root node associated with the VMI created by the creating module 50.
  • the root node performs a multicast replication to a packet received from each PE and forwards the replicated packets to other PEs connected by the MP2MP LSP
  • the PE further includes an establishing module 70to establish bi-directional LSP segments between the PE and the root node based on the LDP.
  • a hardware module may be implemented mechanically or electronically.
  • a hardware module may comprise dedicated circuitry or logic that is permanently configured (e.g., as a special-purpose processor, such as a Field Programmable Gate Array (FPGA) or an Application-Specific Integrated Circuit (ASIC)) to perform certain operations.
  • a hardware module may also comprise programmable logic or circuitry (e.g., as encompassed within a general-purpose processor or other programmable processor) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by practical considerations such as cost and time etc.
  • FIG. 10 is a schematic diagram illustrating a hardware structure of a PE according to an example of the present disclosure.
  • the PE includes: a memory 510, a processor 520, a packet processing chip 530, and connector part 540 which communicatively connects the memory 510, processor 520 and the packet processing chip 530.
  • the memory 510 is to store machine-readable instructions and relevant information such as lists (including a remote member list corresponding to each VSI and a remote PE list).
  • the saving unit 314 in the PE may be implemented by the memory 510.
  • the machine-readable instructions may be executed by the processor 520 to implement functions of the transmitting module 40, the receiving module 10, the first determining module 20, the recording unit 312 in the second determining module 30, the creating module 50, designating module 60 and the establishing module 70 in the PE. Their functions, which have been described above, are not repeated here.
  • the processor 520 is to communicate with the packet processing chip 530 to transmit and receive the advertisement packet and the withdrawal packet; and to communicate with the memory 510 to read and execute the machine readable instructions stored in the memory 510, so as to implement the functions of the transmitting module 40, receiving module 10, first determining module 20, recording unit 312 in the second determining module 30, creating module 50, designating module 60 and the establishing module 70 in the PE, and to implement the processing to the packet transmitted by the packet processing chip 530.
  • the packet processing chip 530 is connected to other PEs in the backbone and CEs in a local site through a port on the packet processing chip, and is responsible for transmitting and receiving advertisement packets and withdrawal packets. Advertisement packets and withdrawal packets may be transmitted by the processor 520 to other PEs via the MP2MP LSP via the packet processing chip 530. Similarly, advertisement packets and withdrawal packets may be received by the processor 520 via the packet processing chip 530.
  • the connector part 540 is an information exchanging tunnel between the above modules. It may be a bus connecting each module or include multiples lines between the above modules etc.
  • the PE shown in FIG. 10 is merely an example. Other structures different from that described in this example may also be adopted. For example, the operations implemented by executing the machine-readable instructions may also be performed by an ASIC.
  • the above processor 520 may be one or more processors. If there are multiple processors, the multiple processors may read and execute the machine readable instructions cooperatively. Therefore, the detailed structure of the PE is not restricted in the present disclosure.
  • An example of the present disclosure provides a method for automatically discovering a peer PE of a VPLS instance. Relevant protocol packets are transmitted via the MP2MP LSP communication tunnel. The complicated BGP protocol is avoided, discovery of peer PE of a VPLS instance may be performed more simply and efficiently.
  • the configuration required by the example method of the present disclosure is also simple; and in some cases, no configuration is required in a global default state.
  • VMIO may exist on a PE by default
  • VEDP may be enabled on VMIO by default.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present disclosure describes discovery of a peer provider edge (PE) of a Virtual Private LAN Service (VPLS) instance. A Multi-point to Multi-point (MP2MP) communication tunnel connecting a first PE and a second PE is configured in a network. The first PE receives, from the second PE via the MP2MP communication tunnel, an advertisement packet carrying at least one Virtual Switch Instance (VSI) configured on the second PE. For each VSI carried in the advertisement packet, the first PE determines whether the first PE has a VSI belonging to a same VPLS instance as that of the VSI carried in the advertisement packet; and if so, the first PE determines the second PE as a peer PE of the VPLS instance.

Description

DISCOVERING A PEER PROVIDER EDGE (PE) OF A VIRTUAL PRIVATE LAN SERVICE (VPLS) INSTANCE
BACKGROUND
[0001 ] Multi-protocol Label Switching (MPLS) Virtual Private Network (VPN) technique may provide VPN services on an IP network. According to this technique, it is convenient and easy to configure speed. There are two MPLS VPN techniques, i.e. MPLS Layer 3 VPN (MPLS L3VPN) and MPLS Layer 2 VPN (MPLS L2VPN). Conventional MPLS L2VPN provides a point-to-point L2VPN service in a public network, where two sites connected according to this technique appear connected by a physical link. However, a switching function between multiple points at a service provider cannot be provided according to the MPLS L2VPN technique. Virtual Private LAN Service (VPLS) technique is developed based on the conventional MPLS L2VPN technique for multi-point to multi-point (MP2MP) VPN networking. VPLS provides a better solution for operators. VPLS combines advantages of Ethernet techniques and MPLS techniques and emulates all functions of a conventional Local Area Network (LAN). The main objective of VPLS is to connect multiple LANs which are geographically dispersed and formed by Ethernet networks, so as to make them work as one LAN.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] Features of the present disclosure are illustrated by way of example and not limited in the following figure(s), in which like numerals indicate like elements, in which:
[0003] FIG. 1 is a schematic diagram illustrating a network structure in which an MP2MP Label Switched Path (LSP) is established according to an example of the present disclosure.
[0004] FIG. 2 is a schematic diagram illustrating a network structure in which an MP2MP LSP is established according to an example of the present disclosure.
[0005] FIG. 3 is a flowchart illustrating a VSI advertising procedure in a method for discovering a peer PE of a VPLS instance according an example of the present disclosure.
[0006] FIG. 4 is a flowchart illustrating a VSI deleting procedure in the method for discovering a peer PE of a VPLS instance according to an example of the present disclosure.
[0007] FIG. 5 is a schematic diagram illustrating a packet format of a VEDP protocol packet in the case that the VEDP protocol packet is encapsulated in an ACH header of an MPLS TP packet without IP encapsulation according to an example of the present disclosure.
[0008] FIG. 6 is a schematic diagram illustrating a network structure for discovering a peer PE of a VPLS instance according to an example of the present disclosure.
[0009] FIG. 7 is a schematic diagram illustrating a structure of a PE according to an example of the present disclosure.
[0010] FIG. 8 is a schematic diagram illustrating a structure of a PE according to an example of the present disclosure.
[0011 ] FIG. 9 is a schematic diagram illustrating a structure of a PE according to an example of the present disclosure.
[0012] FIG. 10 is a schematic diagram illustrating a hardware structure of a PE according to an example of the present disclosure. DETAILED DESCRIPTION
[0013] Hereinafter, the present disclosure is described in further detail with reference to the accompanying drawings and examples.
[0014] In a VPLS network, a Virtual Switch Instance (VSI) is an Ethernet bridge functional entity of a VPLS instance on a Provider Edge (PE). It performs layer 2 packet forwarding according to a MAC address and a VLAN Tag. VSI is a Virtual Edge Device (VE).
[0015] A Pseudo Wire (PW) is a bi-directional virtual connection between VSIs of two PEs. The PW is a communication tunnel of the VPLS in the public network. In order to establish a PW, it is required to discover a peer PE of the VPLS instance. The peer PE refers to a PE having a VSI belonging to the same VPLS instance as that of the VSI of the local PE.
[001 6] In a conventional method for automatically discovering a peer PE of a VPLS instance, Border Gateway Protocol (BGP) is involved. The principle of BGP is complicated, which makes the conventional discovery method complicated. In addition, many configurations are required. For example, a BGP full connection needs to be configured for each PE with other PEs, and a BGP extended attribute needs to be configured for each VSI of each PE.
[0017] In contrast, an example of the present disclosure describes discovery of a peer PE of a VPLS instance. A MP2MP communication tunnel connecting a first PE and a second PE is configured in a network. The first PE receives, from the second PE via an MP2MP communication tunnel, an advertisement packet carrying at least one VSI configured on the second PE. For each VSI carried in the advertisement packet, the first PE determines whether the first PE has a VSI belonging to a same VPLS instance as that of the VSI carried in the advertisement packet. If there is, the first PE determines the second PE as a peer PE of the VPLS instance.
[0018] According to the example of the present disclosure, the MP2MP communication tunnel connecting each PE is configured in the network. Each PE transmits an advertisement packet carrying at least one VSI configured on the PE to other PEs via the MP2MP communication tunnel. After a PE receives an advertisement packet transmitted by another PE (e.g., the second PE), the PE determines, with respect to each VSI carried in the advertisement packet, whether the PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet. If the PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet, it is determined that the other PE is a peer PE of the VPLS instance. Thus, the automatic discovery of the peer PE of the VPLS instance is realized. The method of the present disclosure is implemented based on the advertisement packet carrying the at least one VSI configured on the PE via the MP2MP communication tunnel configured in the network, which avoids the use of the complicated BGP protocol and therefore simplifies and improves the efficiency of peer PE discovery.
[0019] According to an example of the present disclosure, the MP2MP communication tunnel may be an MP2MP Label Switching Path (LSP) or a bi-directional Rendezvous Point Tree (RPT) of IP multicast. The bi-directional RPT generally includes two parts: one part takes an RP as a root and takes routers of directly-connected receivers as leaves, referred to as receiver side RPT. Another part takes the RP as a root and routers of directly-connected multicast sources as leaves, referred to as multicast source side RPT.
[0020] Hereinafter, the present disclosure is described in further detail with reference to the accompanying drawings and examples.
[0021 ] For simplicity and illustrative purposes, the present disclosure is described by referring to examples. In the following description, numerous example implementations are set forth in order to provide a thorough understanding of the present disclosure. It will be readily apparent however, that the present disclosure may be practiced without limitation to these specific details. In other instances, some methods and structures have not been described in detail so as not to unnecessarily obscure the present disclosure. As used herein, the term "includes" means includes but not limited to, the term "including" means including but not limited to. The term "based on" means based at least in part on. In addition, the terms "a" and "an" are intended to denote at least one of a particular element.
[0022] FIG. 1 and FIG. 2 are schematic diagrams illustrating two network structures in which MP2MP LSPs are established according to two examples of the present disclosure. As shown in FIG. 1 and FIG. 2, an MP2MP LSP connecting PEs (all PEs or some PEs) is configured in the backbone. The MP2MP LSP acts as a communication tunnel between the PEs for exchanging protocol packets. It carries only protocol packets between the PEs but does not carry user data packets, thus it is a tunnel with low load.
[0023] During the establishment of the MP2MP LSP, a node in the backbone is designated as a root node (the root node may be a Provider device or a PE). PEs are referred to as leaf nodes, except for the root node on the MP2MP LSP. The root node replicates a packet received from any PE acting as a leaf node (i.e., replace an outer layer label of the packet with labels required for transmitting to different PEs), and transmits replicated packets to other PEs connected by the MP2MP LSP. Thus, the PEs acting as the leaf nodes can exchange protocol packets through the MP2MP LSP.
[0024] In FIG. 1 , the root node is a Provider (P) device. In FIG. 2, the root node is a PE (i.e. PE3). In FIG. 1 and FIG. 2, other P devices are not shown, except for the P device designated as the root node. The dashed bi-directional lines denote bi-directional LSP segments connecting the root node and the leaf nodes. For example, in FIG. 1 , the bi-directional LSP segments connect the root note (i.e. P device) with leaf nodes PE1 , PE2, PE3 and PE4. In FIG. 2, the bi-directional LSP segments connect the root node (i.e. PE3) with leaf nodes PE1 , PE2 and PE4.
[0025] FIG. 3 is a flowchart illustrating a method for discovering a peer PE of a VPLS instance according to an example of the present disclosure. In this example, protocol packets exchanged between PEs (including advertisement packets and withdrawal packets) are transmitted via the MP2MP LSP as shown in FIG. 1 and FIG. 2. The method may be performed by any PE on the MP2MP LSP.
[0026] The example method includes two procedures: a VSI advertisement procedure (also referred to as a VE advertisement procedure) and a VSI withdraw procedure (also referred to as a VE withdraw procedure). These two procedures do not have a sequence order, in that they may be performed in any suitable order. Hereinafter, the two example procedures are described respectively.
[0027] VSI Advertisement Procedu re
[0028] As shown in FIG. 3, the VSI advertisement procedure according to an example of the present disclosure includes the following. [0029] At block S302, a first PE receives from a second PE via the MP2MP LSP an advertisement packet (or a VE advertisement packet) carrying at least one VSI configured on the second PE.
[0030] Each PE on the MP2MP LSP transmits an advertisement packet (or VE advertisement packet) carrying all VSIs configured on the PE to other PEs on the MP2MP LSP. Therefore, the second PE transmits an advertisement packet carrying the VSIs configured on the second PE to other PEs via the MP2MP LSP. Thus, after receiving from the second PE the advertisement packet carrying the VSIs configured on the second PE, the first PE may determine, for each VSI carried in the advertisement packet, whether the first PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet. If yes, it is determined that the second PE is a peer PE of the VPLS instance (i.e., blocks S302-S306). Similarly, the first PE also transmits an advertisement packet carrying the VSIs configured on the first PE to other PEs via the MP2MP LSP.
[0031 ] At block S304, for each VSI carried in the advertisement packet received in block S302, the first PE determines whether the first PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet. If yes, block S306 is performed; otherwise, block S304 is performed to determine a next VSI until all of the VSIs carried in the advertisement packet have been determined.
[0032] When a new VSI is configured on a PE, a VPLS ID of the VPLS instance to which the VSI belongs is designated. Therefore, the new VSI may be identified by the VPLS ID. The advertisement packet may carry: a PE ID (identifier) of a PE transmitting the advertisement packet, and a VPLS ID of the VPLS instance to which the VSI configured on the PE transmitting the advertisement packet belongs. Any PE may transmit an advertisement packet carrying the above information to other PEs via the MP2MP LSP, so as to advertise the VSIs configured on the PE. Thus, in block S302, the first PE may receive, from the second PE via the MP2MP LSP, the advertisement packet carrying the PE ID of the second PE and the VPLS ID of the VPLS instance to which the VSI configured on the second PE belongs.
[0033] Therefore, in block S304, the first PE may determine, for each VPLS ID (denoted by VPLS IDi, where i=1 , 2, N, and N is the total number of VSIs configured on the second PE) carried in the received advertisement packet, whether the first PE has a VSI which belongs to a VPLS instance having a same VPLS ID with VPLS IDi.
[0034] At block S306, the first PE determines that the second PE is a peer PE of the VPLS instance. Then, block S304 is repeated for the next VSI until all of the VSIs carried in the advertisement packet are determined.
[0035] In practice, a PE may configure a remote member list for each VSI configured on the PE. The remote member list records a PE ID of each peer PE of the VPLS instance to which the VSI belongs. After discovering a peer PE of the VPLS instance, the PE may record the PE ID of the peer PE into the remote member list corresponding to the VSI.
[0036] Thus, for each VSI carried in the advertisement packet transmitted by the second PE, if the first PE determines in block S304 that the first PE has a VSI belonging to the same VPLS as the VSI carried in the advertisement packet, the first PE adds the PE ID of the second PE carried in the advertisement packet into the remote member list corresponding to the VSI. It should be noted that the PE ID is added into the remote member list if the PE ID of the second PE is not recorded in the remote member list. If the PE ID of the second PE is already on the remote member list, the PE ID needs not to be added again.
[0037] If the VPLS ID of the VPLS instance to which the VSI belongs is adopted to identify the VSI, for each VPLS ID (denoted by VPLS IDi) carried in the advertisement packet transmitted by the second PE, if the first PE determines in block S304 that the first PE has a VSI which belongs to a VPLS instance having a same VPLS ID with VPLS IDi, the first PE records the PE ID of the second PE carried in the advertisement packet into the remote member list corresponding to the VSI corresponding to the VPLS ID. If the first PE determines in block S304 that the first PE does not have a VSI which belongs to a VPLS instance having a same VPLS ID with VPLS IDi, it indicates that the VSI is not configured on the first PE. Then, block S304 is repeated to determine the next VSI (i.e., i=i+1 , and return to block S304) until all of the VSIs have been determined (i.e., i=N).
[0038] In the method for discovering the peer PE of the VPLS instance provided by the example of the present disclosure, an MP2MP LSP connecting each PE is configured in the network. Each PE transmits an advertisement packet carrying the VSI configured on the PE to other PEs via the MP2MP LSP. After a PE receives an advertisement packet from another PE (e.g., the second PE), the PE determines, with respect to each VSI carried in the advertisement packet, whether the PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet. If there is, it is determined that the other PE is a peer PE of the VPLS instance. Thus, the peer PE of the VPLS instance may be automatically discovered. The example method is implemented based on the advertisement packet which carries the VSI configured on the PE and is transmitted via the MP2MP LSP communication tunnel configured in the network. The example method avoids using the complicated BGP protocol and therefore simplifies and improves the efficiency of peer PE discovery.
[0039] In the above example, each PE may transmit the advertisement packet via the MP2MP LSP periodically or transmit the advertisement packet for a predefined number of times. As such, the total number of advertisement packets is reduced and usage of network bandwidth is reduced, especially when there is a relatively large number of the VSIs configured on the PE. In practice, the advertisement packet may be transmitted periodically or transmitted according to other rules, which is not restricted in the present disclosure.
[0040] In another example of the present disclosure, if the advertisement packet is transmitted only for a predefined number of times, an identifier R (Request) may be added in the advertisement packet. The identifier R is used for requesting the PE receiving the advertisement packet to transmit VSIs using an advertisement packet. Thus, when a new VSI is configured on the PE, the PE (e.g., the first PE or the second PE) may transmit the advertisement packet which has an R identifier and carries the newly-configured VSI on the PE to other PEs. The transmission of the advertisement packet is stopped after it has been transmitted for a predefined number of times. After the PE receives the advertisement packet carrying the R identifier from another PE, the PE transmits an advertisement packet with no R identifier to the PE according to the R identifier. The transmission is stopped after the advertisement packet has been transmitted for a predefined number of times.
[0041 ] At this time, when a new VSI is configured on the first PE, the first PE transmits an advertisement packet carrying the new VSI and the R identifier and stops the transmission after the advertisement packet has been transmitted for a first predefined number of times. As such, after receiving the advertisement packet carrying the R identifier transmitted by the first PE from the MP2MP LSP, other PEs may transmit an advertisement packet carrying the VSI configured on the respective PE but with no R identifier to the first PE.
[0042] In addition, after receiving the advertisement packet transmitted by the second PE via the MP2MP LSP in block S302, the first PE determines whether the advertisement packet has an R identifier. If the advertisement packet has the R identifier, the first PE transmits an advertisement packet carrying the VSI configured on the first PE but no R identifier to other PEs via the MP2MP LSP and stops the transmission after a second predefined number of times. At this time, block S304 and S306 are also performed.
[0043] VSI Withdraw Procedure
[0044] If a VSI is deleted on a PE, the VSI being deleted should be advertised to other PEs. If the other PE determines that it has a VSI belonging to the same VPLS instance as that of the VSI being deleted, this PE may determine that it is not the peer PE of the VPLS instance anymore.
[0045] As shown in FIG. 4, an example VSI withdraw procedure using a withdrawal packet may include the following.
[0046] At block S402, a first PE receives from a second PE via the MP2MP LSP a withdrawal packet (may also be referred to as a VE withdrawal packet) carrying at least one VSI being deleted on the second PE, wherein the withdrawal packet is transmitted when the VSI is deleted on the second PE. Similar to the advertisement packet, the withdrawal packet further carries the PE ID of the PE transmitting the withdrawal packet.
[0047] If a VSI is deleted on a PE on the MP2MP LSP, the PE transmits a withdrawal packet carrying the VSI being deleted to other PEs via the MP2MP LSP. Thus, if a VSI on the second PE is deleted, the second PE will transmit a withdrawal packet carrying the VSI being deleted on the second PE to other PEs via the MP2MP LSP. After receiving the withdrawal packet carrying the VSI being deleted on the second PE, the first PE determines, with respect to each VSI carried in the withdrawal packet, whether the first PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet. If there is, it is determined that the second PE is not a peer PE of the VPLS instance anymore (i.e., blocks S404-S406). Similarly, if a VSI on the first PE is deleted, the first PE will also transmit a withdrawal packet carrying the VSI being deleted on the first PE to other PEs via the MP2MP LSP.
[0048] If the VSI is identified by the VPLS ID of the VPLS instance to which the VSI belongs, the withdrawal packet may include: PE ID of the PE transmitting the withdrawal packet, and VPLS ID of the VPLS instance to which the VSI being deleted belongs. Thus, in block S402, the first PE may receive a withdrawal packet carrying the PE ID of the second PE and the VPLS ID of the VPLS instance to which the VSI being deleted on the second PE belongs.
[0049] In practice, the PE may transmit the withdrawal packet periodically and stop transmitting the withdrawal packet after a predefined number of times (the number may be defined in advance according to any suitable requirement in practice). The PE may transmit the withdrawal packet according to any other suitable rule, which is not restricted in the present disclosure.
[0050] At block S404, for each VSI carried in the withdrawal packet received in block S402, the first PE determines whether the first PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet. If the first PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet, block S406 is performed; otherwise, block S404 is repeated to for the next VSI until all VSIs carried in the withdrawal packet have been determined.
[0051 ] For each VPLS ID (denoted by VPLS IDj, where j=1 , 2, M, M < N, and M is the total number of VPLS IDs that the withdrawal packet carries) carried in the withdrawal packet, the first PE may determine whether the first PE has a VSI which belongs to a VPLS instance having a same VPLS ID as VPLS IDj.
[0052] At block S406, the first PE determines that the second PE is not the peer PE of the VPLS instance anymore, and deletes the PE ID of the second PE carried in the withdrawal packet from the remote member list corresponding to the VSI. Then, block S404 is performed to determine the next VSI until all of the VSIs carried in the withdrawal packet have been determined.
[0053] In practice, a remote member list may be configured for each VSI configured on the PE. The remote member list is used for recording the PE ID of the peer PE of the VPLS instance to which the VSI belongs. After discovering a peer PE of the VPLS instance, the PE may add the PE ID of the peer PE into the remote member list corresponding to the VSI. After discovering that a PE is not a peer PE of the VPLS instance anymore, the PE may delete the PE ID of that PE from the remote member list corresponding to the VSI.
[0054] Thus, for each VPLS ID (denoted by VPLS IDj) carried in the withdrawal packet transmitted by the second PE, if the first PE determines in block S404 that the first PE has a VSI which belongs to a VPLS instance having the same VPLS ID as VPLS IDj, the first PE deletes the PE ID of the second PE from the corresponding remote member list. If the remote member list does not include the PE ID of the second PE, the withdrawal procedure is not required. If the first PE determines in block S404 that the first PE does not has a VSI which belongs to a VPLS instance having the same VPLS ID as the VPLS IDj, it indicates that the VSI is not configured on the first PE. Block S404 is repeated to determine the next VSI until all of the VSIs carried in the withdrawal packet have been determined (i.e., j=M).
[0055] In an example of the present disclosure, if a VSI is deleted on a PE, the PE transmits a withdrawal packet carrying the VSI being deleted on the PE to other PEs via the MP2MP LSP. After the PE (e.g. the first PE) receives a withdrawal packet transmitted by another PE (e.g. the second PE), the first PE determines, with respect to each VSI carried in the withdrawal packet, whether the PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet. If the PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet, it is determined that the second PE is not a peer PE of the VPLS instance anymore. Thus, the peer PE of the VPLS instance may be automatically discovered. The method of the present disclosure is implemented based on the withdrawal packet which is transmitted via the MP2MP LSP communication tunnel configured in the network and carries the VSI being deleted on the PE, avoids the use of the complicated BGP protocol and therefore simplifies and improves the efficiency of peer PE discovery.
[0056] In addition, since the example method transmits relative packets on the MP2MP LSP which has been configured in the network, the configuration of the PE is relatively simple. [0057] The method for discovering the peer PE of the VPLS instance provided by the example of the present disclosure may be used as an automatic discovery protocol. For example, the example method may be called Virtual Edge Discovery Protocol (VEDP) through which a PE can automatically discover a peer PE of the VPLS instance (i.e., discover a VPLS member).
[0058] Before executing the above example method, the MP2MP LSP needs to be configured. Hereinafter, the configuration of the MP2MP LSP and the running of the VEDP on the PE are described.
[0059] Configuration of the MP2MP LSP
[0060] The configuration of the MP2MP LSP may include the following.
[0061 ] At block A, a Virtual Multi-cast Interface (VMI) is configured on each PE. The VMI is a virtual multi-cast interface but not a real physical interface.
[0062] At block B, a parameter, e.g., an ID of a root node (the ID may be an IP address of the root node) required for establishing the MP2MP LSP is configured under the VMI interface. This is to establish the MP2MP LSP which takes the device identified by the ID as the root node and connect each PE (i.e., the PE joins the MP2MP LSP). The MP2MP LSP acts as a communication tunnel between the PEs for exchanging protocol packets and is a protocol communication tunnel provided by the backbone for all of the VPLS instances, as shown in FIG. 1 and FIG. 2.
[0063] At the same time, the VMI and the MP2MP LSP are associated with each other. The process of the association includes:
establishing a corresponding relationship (used for transmitting VEDP protocol packets) between the VMI and a Next Hop Label Forwarding Entry (NHLFE) corresponding to the MP2MP LSP; information recorded in the NHLFE includes: outgoing label, output port (real physical port) and next hop; and
establishing a corresponding relationship (used for receiving VEDP protocol packets) between the VMI and the incoming label corresponding to the MP2MP LSP. If a VEDP protocol packet needs to be transmitted via the MP2MP LSP, the NHLFE corresponding to the VMI is found.
[0064] Then, the VEDP protocol packet is transmitted according to the information in the NHLFE, so as to being transmitted to the root node via the MP2MP LSP (in particular, a LSP segment between the PE and the root node). [0065] After a VEDP protocol packet is received, if a VMI corresponding to the label carried in the VEDP protocol packet is found in the corresponding relationship, it is determined that the VEDP protocol packet is received from the found VMI. Thus, the PE transmits the VEDP protocol packet to the root node from the VMI interface via the MP2MP LSP. After performing a multicast replication, the root node transmits the replicated protocol packets to other PEs via the MP2MP LSP.
[0066] When a PE joins the MP2MP LSP as a leaf node of the MP2MP LSP, the PE initiates an establishment procedure for establishing a LSP segment between the PE and the root node. The PE initiates the establishment procedure for establishing bi-directional LSP segments between the PE and the root node based on a Label Distribution Protocol (LDP). The bi-directional LSP segments consist of two uni-directional LSPs with reverse directions (i.e. an uplink LSP for transmitting packets; and a downlink LSP for receiving packets). After the LSP segment is established, the VMI interface enters an operational state.
[0067] Ru nni ng of the VEDP on the PE
[0068] The VEDP is enabled on the VMI to transmit VEDP packets on the MP2MP LSP (i.e., running the VEDP on the MP2MP LSP communication tunnel to discover which PEs have VSIs belonging to the same VPLS instance). Detailed instructions for enabling the VEDP on the VMI interface may be as follows:
interface vmi1
rp rp-node-id
vedp enable
[0069] After the VEDP is enabled on the VMI interface, all of the VEDP protocol packets (including advertisement packets and withdrawal packets) will be transmitted to the MP2MP LSP through the VMI interface. And all of the VEDP protocol packets will be received from the MP2MP LSP through the VMI interface.
[0070] Hereinafter, any PE acting as a leaf node on the MP2MP LSP may run the VEDP, i.e., executing the above example method to automatically discover the peer PE of the VPLS instance. It mainly includes the following two procedures. [0071 ] VSI advertisement procedu re
[0072] An example detailed procedure has been described above and will not be repeated herein.
[0073] When the PE transmits an advertisement packet via the MP2MP LSP, the advertisement packet is transmitted to the root node through the VMI interface via the MP2MP LSP first, and then is multicast replicated by the root node and forwarded to other PEs on the MP2MP LSP. When receiving an advertisement packet from the MP2MP LSP, the PE receives the advertisement packet forwarded by the root node via the MP2MP LSP through the VMI interface.
[0074] In practice, the advertisement packet may include the following information:
(1 ) PE ID of the PE transmitting the advertisement packet; the PE ID may be a Label Switching Router ID (LSR ID);
(2) VE type; there may be two types:
VSI, used for VPLS; and
Virtual VPN Routing & Forwarding (VRF), used for L3VPN, which is not concerned in the examples of the present disclosure.
(3) VPN ID list; the list may include one or more VPN IDs. In the case that the VE type is VSI, the VPN ID list carries the VPLS ID corresponding to each VSI configured on the PE transmitting the advertisement packet. The VPLS ID is a unique ID of the VPLS instance in the backbone. As a unique identifier of the VPLS instance provided by the backbone, a VPLS ID of a VPLS instance to which a VSI belongs needs to be designated when the VSI is configured on the PE. Thus, in one example, one VSI corresponds to one VPLS ID.
[0075] A remote PE list used for recording the discovered remote PE may be stored by the PE. Thus, after receiving an advertisement packet transmitted by another PE via the MP2MP LSP, the PE may determine whether the PE ID carried in the advertisement packet is discovered for the first time, i.e., whether the PE ID has been recorded in the remote PE list. If it has been recorded, it indicates that the PE ID is not discovered for the first time; otherwise, it indicates that the PE ID is discovered for the first time, and the PE ID is recorded in the remote PE list.
[0076] VSI withdraw procedure [0077] An example detailed procedure has been described in the above and will not be repeated herein.
[0078] Similar to the advertisement packet, the withdrawal packet may include the following information:
(1 ) PE ID of the PE transmitting the withdrawal packet;
(2) VE type;
(3) VPN ID list; in the case that the VE type is VSI, the VPN ID list carries the VPLS ID corresponding to each VSI being deleted on the PE transmitting the withdrawal packet.
[0079] Similarly, after receiving a withdrawal packet transmitted by another PE from the MP2MP LSP, the PE determines, for each VPLS ID carried in the withdrawal packet, whether the PE has a VSI which belongs to a VPLS instance having the same VPLS ID as the VPLS ID of the VSI carried in the withdrawal packet. If there is, the PE ID carried in the withdrawal packet is deleted from the remote member list corresponding to the VSI having the same VPLS ID. After all VSIs carried in the withdrawal packet have been determined, it may further determine that whether the PE ID exists in any remote member list, if the PE ID does not exist, the PE ID is deleted from the remote PE list.
[0080] In practice, the VEDP protocol packets (including the advertisement packets and the withdrawal packets) may be encapsulated in various kinds of existing protocol packets, e.g., User Datagram Protocol (UDP) packet, IP packet, or Associated Channel Header (ACH) of MPLS Transport Profile (TP) without IP encapsulation.
[0081 ] In the case that the VEDP protocol packet is encapsulated in the UDP packet, a global known port needs to be defined in the UDP header as a destination port, so as to indicate that the packet is a VEDP protocol packet.
[0082] In the case that the VEDP protocol packet is encapsulated in the IP packet, a protocol type field in the IP header should be configured with a particular value, indicating that the packet is a VEDP protocol packet.
[0083] In the case that the VEDP protocol packet is encapsulated in the ACH of the MPLS TP packet without IP encapsulation, the packet format may be as shown in FIG. 5, wherein
VEDP Code Point: indicating the packet is a VEDP protocol packet; VEDP Control Packet: denoting detailed contents of the packet.
[0084] FIG. 6 is a schematic diagram illustrating a network for discovering a peer PE of a VPLS instance according to an example of the present disclosure. As shown in FIG. 6, suppose that there are two VPLS instances in the backbone: VPLS instance A and VPLS instance B. VPLS instance A includes three sites: site 1 , site 2 and site 3, which are denoted by dotted circles in FIG. 6. VPLS instance B also includes three sites: site 1 , site 2 and site 3, which are denoted by solid circles. In FIG. 6, "V" denotes VSI. Through running the VEDP on the PEs, PE2 discovers that remote PE1 and PE4 have VSIs (denoted by dotted rectangles in FIG. 6) belonging to the same VPLS instance A as one VSI on PE2, and discovers that remote PE3 and PE4 have VSIs (denoted by solid rectangles in FIG. 6) belonging to the same VPLS instance B as another VSI on PE2.
[0085] After discovering a peer PE of the VPLS instance, the PE may advertise a PW label to the peer PE through LDP to establish a PW between the PE and the peer PE. According to conventional LDP, a LDP session based on TCP connection needs to be created before the PW label is advertised. In order to create the LDP session, a peer of the LDP session needs to be discovered by exchanging LDP hello messages. Since the LDP can also be enabled on the VMI, the LDP packets can also be transmitted via the MP2MP LSP. Therefore, there are the following two methods to discover the peer of the LDP session.
[0086] In a first method, after obtaining a remote PE list, the PE transmits a Targeted Hello packet to each PE in the remote PE list. This procedure is similar to that in conventional systems and will not be repeated herein.
[0087] In a second method, after the MP2MP LSP is deployed, Link Hello packets may be transmitted to other PEs on the MP2MP LSP through the MP2MP LSP communication tunnel, i.e., running the LDP on the VMI interface. The PE receiving the Link Hello packet may initiate the establishment of the LDP session according to a transport address and a LDP ID carried in the Link Hello packet.
[0088] In accordance with the above method, an example of the present disclosure provides a PE on which the above method may be applied. As shown in FIG. 1 and FIG. 2 for example, the network where the PE is located is configured with an MP2MP LSP connecting each PE. [0089] As shown in FIG. 7, the first PE may include the following modules: a receiving module 10, a first determining module 20, a second determining module 30 and a transmitting module 40.
[0090] 1 . Du ri ng the VSI advertisement procedure:
the receiving module 10 is to receive from a second PE via the MP2MP LSP an advertisement packet carrying at least one VSI configured on the second PE;
the first determining module 20 is to determine, with respect to each VSI carried in the advertisement packet received by the receiving module 10, whether the first PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet;
the second determining module 30 is to determine the second PE as a peer PE of the VPLS instance if the first determining module 20 determines that the first PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet; and
the transmitting module 40 is to transmit an advertisement packet carrying at least one VSI configured on the first PE via the MP2MP LSP, so that the second PE determines, after receiving the advertisement packet transmitted by the first PE via the MP2MP LSP, whether the second PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet transmitted by the first PE, and determine that the first PE is a peer PE of the VPLS instance if the second PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet transmitted by the first PE.
[0091 ] As shown in FIG. 8, the transmitting module may further include an advertisement packet transmitting unit 412 and a counting unit 414. In one example:
the advertisement packet transmitting unit 412 is to transmit, when a new VSI is configured on the first PE, an advertisement packet carrying the new VSI on the first PE and a predefined identifier, and stop transmitting after a counted value of the counting unit 414 reaches a first predefined number, such that the second PE transmits, after receiving the advertisement packet carrying the predefined identifier from the first PE via the MP2MP LSP, an advertisement packet carrying the VSI configured on the second PE but no predefined identifier;
the counting unit 414 is to count the number of times that the advertisement packet carrying the predefined identifier being transmitted by the advertisement packet transmitting unit 412, and count the number of times that the advertisement packet with no predefined identifier is transmitted by the advertisement packet transmitting unit 412; and
the first determining module 20 is further to determine, after the receiving module 10 receives the advertisement packet carrying the VSI configured on the second PE, whether the advertisement packet transmitted by the second PE carries the predefined identifier, and inform, if it is determined that the advertisement packet carries the predefined identifier, the advertisement packet transmitting unit 412 to transmit an advertisement packet carrying the VSI configured on the first PE but with no predefined identifier and stop transmitting after the counted value of the counting unit 414 reaches a second predefined number.
[0092] Each VSI may be identified by the VPLS ID of the VPLS instance to which the VSI belongs. Thus, the first determining module 20 may be to determine, with respect to a VPLS ID of a VPLS instance to which each VSI carried in the advertisement packet belongs, whether the PE has a VSI which belongs to a VPLS instance having a same VPLS ID as this VPLS ID. This is to determine whether the first PE has the VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet.
[0093] The advertisement packet further carries the PE ID of the PE transmitting the advertisement packet. Thus, as shown in FIG. 8, the second determining module 30 may further include:
a recording unit 312, to add, if the first determining module 20 determines that the first PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet, the PE ID of the second PE carried in the advertisement packet received by the receiving module 10 into a remote member list corresponding to the VSI; and
a saving unit 314, to save the remote member list corresponding to the VSI configured on the first PE, wherein the remote member list is used for recording the PE ID of the peer PE of the VPLS instance to which the VSI belongs.
[0094] 2. Duri ng the VSI withdraw procedure [0095] In the PE as shown in FIG. 7 and FIG. 8, the receiving module 10 is further to receive a withdrawal packet carrying a VSI being deleted on the second PE transmitted by the second PE via the MP2MP LSP. The second PE transmits the withdrawal packet to other PEs via the MP2MP LSP when the VSI is deleted on the second PE. Similar to the advertisement packet, the withdrawal packet may further carry the PE ID of the PE transmitting the withdrawal packet;
the first determining module 20 is further to determine, with respect to each VSI carried in the withdrawal packet received by the receiving module 10, whether the first PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet;
the second determining module 30 is further to determine that the second PE is not a peer PE of the VPLS instance anymore if the first determining module 20 determines that the first PE has the VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet. Therefore, as shown in FIG. 8, the second determining module 30 further includes a deleting unit 316, to delete the PE ID of the second PE carried in the withdrawal packet received by the receiving module 10 from the remote member list corresponding to the VSI if the first determining module 20 determines that the first PE has the VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet.
[0096] The transmitting module 40 is further transmit, if a VSI on the first PE is deleted, a withdrawal packet carrying the VSI being deleted on the first PE to other PEs via the MP2MP LSP. As such, after receiving the withdrawal packet transmitted by the first PE via the MP2MP LSP, the second PE may determine, with respect to each VSI being deleted on the first PE, whether the second PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet. If the second PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet, the second PE determines that the first PE is not a peer PE of the VPLS instance anymore, and deletes the PE ID of the first PE from the remote member list corresponding to the VSI.
[0097] Before discovering the peer PE of the VPLS instance, the PE joins the MP2MP LSP as a leaf node. Therefore, as shown in FIG. 9, the PE further includes a creating module 50, to create a VMI on the PE; a designating module 60, to designate a root node associated with the VMI created by the creating module 50. The root node performs a multicast replication to a packet received from each PE and forwards the replicated packets to other PEs connected by the MP2MP LSP The PE further includes an establishing module 70to establish bi-directional LSP segments between the PE and the root node based on the LDP.
[0098] The above modules or units in the examples of the present disclosure may be integrated together or disposed separately. They may be combined into one module or unit or may be divided into multiple sub-modules or sub-units. In various examples, a hardware module may be implemented mechanically or electronically. For example, a hardware module may comprise dedicated circuitry or logic that is permanently configured (e.g., as a special-purpose processor, such as a Field Programmable Gate Array (FPGA) or an Application-Specific Integrated Circuit (ASIC)) to perform certain operations. A hardware module may also comprise programmable logic or circuitry (e.g., as encompassed within a general-purpose processor or other programmable processor) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement a hardware module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by practical considerations such as cost and time etc.
[0099] The above describes the PE according to an example of the present disclosure. Hereinafter, the hardware structure of the PE is described according to another example of the present disclosure. The PE may be a programmable device implemented by combination of software and hardware. FIG. 10 is a schematic diagram illustrating a hardware structure of a PE according to an example of the present disclosure. As shown in FIG. 10, the PE includes: a memory 510, a processor 520, a packet processing chip 530, and connector part 540 which communicatively connects the memory 510, processor 520 and the packet processing chip 530.
[0100] The memory 510 is to store machine-readable instructions and relevant information such as lists (including a remote member list corresponding to each VSI and a remote PE list). The saving unit 314 in the PE may be implemented by the memory 510. The machine-readable instructions may be executed by the processor 520 to implement functions of the transmitting module 40, the receiving module 10, the first determining module 20, the recording unit 312 in the second determining module 30, the creating module 50, designating module 60 and the establishing module 70 in the PE. Their functions, which have been described above, are not repeated here.
[0101 ] The processor 520 is to communicate with the packet processing chip 530 to transmit and receive the advertisement packet and the withdrawal packet; and to communicate with the memory 510 to read and execute the machine readable instructions stored in the memory 510, so as to implement the functions of the transmitting module 40, receiving module 10, first determining module 20, recording unit 312 in the second determining module 30, creating module 50, designating module 60 and the establishing module 70 in the PE, and to implement the processing to the packet transmitted by the packet processing chip 530.
[0102] The packet processing chip 530 is connected to other PEs in the backbone and CEs in a local site through a port on the packet processing chip, and is responsible for transmitting and receiving advertisement packets and withdrawal packets. Advertisement packets and withdrawal packets may be transmitted by the processor 520 to other PEs via the MP2MP LSP via the packet processing chip 530. Similarly, advertisement packets and withdrawal packets may be received by the processor 520 via the packet processing chip 530.
[0103] The connector part 540 is an information exchanging tunnel between the above modules. It may be a bus connecting each module or include multiples lines between the above modules etc.
[0104] It should be noted that the PE shown in FIG. 10 is merely an example. Other structures different from that described in this example may also be adopted. For example, the operations implemented by executing the machine-readable instructions may also be performed by an ASIC. In addition, the above processor 520 may be one or more processors. If there are multiple processors, the multiple processors may read and execute the machine readable instructions cooperatively. Therefore, the detailed structure of the PE is not restricted in the present disclosure. [0105] An example of the present disclosure provides a method for automatically discovering a peer PE of a VPLS instance. Relevant protocol packets are transmitted via the MP2MP LSP communication tunnel. The complicated BGP protocol is avoided, discovery of peer PE of a VPLS instance may be performed more simply and efficiently.
[0106] In addition, the configuration required by the example method of the present disclosure is also simple; and in some cases, no configuration is required in a global default state. For example, VMIO may exist on a PE by default, and VEDP may be enabled on VMIO by default.
[0107] What has been described and illustrated herein is an example of the disclosure along with some of its variations. The terms, descriptions and figures used herein are set forth by way of illustration. Many variations are possible within the spirit and scope of the disclosure, which is intended to be defined by the following claims and their equivalents.

Claims

1 . A method for discovering a peer Provider Edge (PE) of a Virtual Private LAN Service (VPLS) instance, wherein a Multi-point to Multi-point (MP2MP) communication tunnel connecting a first PE and a second PE is configured in a network, the method comprises:
receiving, by the first PE, from the second PE via the MP2MP communication tunnel an advertisement packet carrying at least one Virtual Switch Instance (VSI) configured on the second PE;
for each VSI carried in the advertisement packet, determining, by the first
PE, whether the first PE has a VSI belonging to a same VPLS instance as that of the VSI carried in the advertisement packet; and
if the first PE has the VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet, determining, by the first PE, the second PE as a peer PE of the VPLS instance.
2. The method of claim 1 , further comprising:
transmitting, by the first PE, an advertisement packet carrying at least one VSI configured on the first PE via the MP2MP communication tunnel,
such that, after receiving the advertisement packet transmitted by the first
PE via the MP2MP communication tunnel, the second PE determines, with respect to each VSI carried in the advertisement packet transmitted by the first PE, whether the second PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet transmitted by the first PE, and determines that the first PE is a peer PE of the VPLS instance if the second PE has a VSI belonging to the same VPLS instance with the VSI carried in the advertisement packet transmitted by the first PE.
3. The method of claim 2, wherein the first PE transmitting the advertisement packet carrying at least one VSI configured on the first PE via the MP2MP communication tunnel comprises:
if a new VSI is configured on the first PE, transmitting, by the first PE, the advertisement packet carrying the new VSI and a predefined identifier for a first predefined number of times, such that, after receiving the advertisement packet carrying the predefined identifier transmitted by the first PE via the MP2MP communication tunnel, the second PE transmits an advertisement packet carrying at least one VSI configured on the second PE but with no predefined identifier; and
after the first PE receives from the second PE via the MP2MP communication tunnel the advertisement packet carrying the at least one VSI configured on the second PE, determining, by the first PE, whether the advertisement packet transmitted by the second PE carries the predefined identifier, and if yes, transmitting, by the first PE, an advertisement packet carrying the at least one VSI configured on the first PE but with no predefined identifier for a second predefined number of times.
4. The method of claim 1 or 2, wherein the VSI is identified by a VPLS ID of the VPLS instance to which the VSI belongs; and determining whether the first
PE has the VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet comprises:
for each VPLS ID carried in the advertisement packet, determining whether the first PE has a VSI which belongs to a VPLS instance having a same VPLS ID as the VPLS ID carried in the advertisement packet.
5. The method of claim 1 or 2, wherein the advertisement packet further carries a PE ID of the PE transmitting the advertisement packet; the determining the second PE as the peer PE of the VPLS instance if the first PE has the VSI belonging to the same VPLS instance comprises:
if the first PE has the VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet, adding, by the first PE, the PE ID of the second PE into a remote member list corresponding to the VSI; wherein the remote member list is used for recording the PE ID of the peer PE of the VPLS instance to which the VSI belongs.
6. The method of claim 5, further comprising:
receiving, by the first PE, a withdrawal packet from the second PE via the MP2MP communication tunnel carrying a VSI being deleted on the second PE, wherein the withdrawal packet is transmitted by the second PE via the MP2MP communication tunnel when the VSI on the second PE is deleted; the withdrawal packet further carries the PE ID of the second PE;
for each VSI carried in the withdrawal packet, determining, by the first PE, whether the first PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet;
if the first PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet, determining, by the first PE, that the second PE is not the peer PE of the VPLS instance anymore, and deleting the PE ID of the second PE carried in the withdrawal packet from the remote member list corresponding to the VSI.
7. The method of claim 6, further comprising:
if a VSI on the first PE is deleted, transmitting, by the first PE, a withdrawal packet carrying the VSI being deleted on the first PE via the MP2MP communication tunnel,
such that, after receiving the withdrawal packet transmitted by the first PE via the MP2MP communication tunnel carrying the VSI being deleted on the first PE, the second PE determines whether the second PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet, if the second PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet, the second PE determines that the first PE is not the peer PE of the VPLS instance anymore, and deletes the PE ID of the first PE from a remote member list corresponding to the VSI.
8. The method of claim 1 or 2, wherein the MP2MP communication tunnel is an MP2MP Label Switching Path (LSP), the configuration of the MP2MP LSP comprises:
creating a virtual Multi-cast Interface (VMI) on the first PE;
designating a root node associated with the VMI, wherein the root node is used for perform a multicast replication to a packet received from each PE and forwarding replicated packets to other PEs on the MP2MP LSP; and
establishing bi-directional LSP segments between the first PE and the root node based on a Label Distribution Protocol (LDP).
9. A first Provider Edge (PE), wherein a network where the first PE is located is configured with a Multi-point to Multi-point (MP2MP) communication tunnel, the first PE comprises:
a receiving module, to receive from a second PE via the MP2MP communication tunnel an advertisement packet carrying at least one Virtual Switch Instance (VSI) configured on the second PE;
a first determining module, to determine, with respect to each VSI carried in the advertisement packet received by the receiving module, whether the first PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet; and
a second determining module, to determine that the second PE is a peer PE of the VPLS instance if the first determining module determines that the first PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet.
10. The first PE of claim 9, further comprising
a transmitting module, to transmit an advertisement packet carrying at least one VSI configured on the first PE via the MP2MP communication tunnel, such that, after receiving the advertisement packet transmitted by the first
PE via the MP2MP communication tunnel, the second PE determines, with respect to each VSI carried in the advertisement packet transmitted by the first PE, whether the second PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet transmitted by the first PE, and determines that the first PE is a peer PE of the VPLS instance if the second PE has the VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet transmitted by the first PE.
1 1 . The first PE of claim 10, wherein the transmitting module comprises: an advertisement packet transmitting unit, to transmit, if a new VSI is configured on the first PE, the advertisement packet carrying the new VSI and a predefined identifier, and stop transmitting after a counted value of a counting unit reaches a first predefined value, such that, after receiving the advertisement packet carrying the predefined identifier transmitted by the first PE via the MP2MP communication tunnel, the second PE transmits an advertisement packet carrying the VSI configured on the second PE but with no predefined identifier;
the counting unit is to count the number of times that the advertisement packet carrying the predefined identifier is transmitted by the advertisement packet transmitting unit, and count the number of times that the advertisement packet with no predefined identifier is transmitted by the advertisement packet transmitting unit;
the first determining module is further to determine, after receiving from the second PE via the MP2MP communication tunnel the advertisement packet carrying the VSI configured on the second PE, whether the advertisement packet transmitted by the second PE contains the predefined identifier, and inform, if the advertisement packet contains the predefined identifier, the advertisement packet transmitting unit to transmit the advertisement packet carrying the VSI configured on the first PE but with no predefined identifier and stop transmitting after the counted value of the counting unit reaches a second predefined value.
12. The first PE of claim 9 or 10, wherein each VSI is identified by a VPLS ID of the VPLS instance to which the VSI belongs; the first determining module is further to determine, with respect to each VPLS ID carried in the advertisement packet, whether the first PE has a VSI which belongs to a VPLS instance having a same VPLS ID as the VPLS ID carried in the advertisement packet, so as to determine whether the first PE has the VSI belonging to the same VPLS instance as that of the VSI carried in the advertisement packet.
13. The first PE of claim 9 or 10, wherein the advertisement packet further carries the PE ID of the PE transmitting the advertisement packet; the second determining module further comprises:
a recording unit, to add the PE ID of the second PE carried in the advertisement packet into a remote member list corresponding to the VSI if the first determining module determines that the first PE has the VSI belonging to the same VPLS instance; and
a saving unit, to save the remote member list corresponding to the VSI configured on the first PE, wherein the remote member list records the PE ID of the peer PE of the VPLS instance to which the VSI belongs.
14. The first PE of claim 13, wherein the receiving module is further to receive from the second PE via the MP2MP communication tunnel a withdrawal packet carrying a VSI being deleted on the second PE, wherein the withdrawal packet is transmitted by the second PE when the VSI on the second PE is deleted, the withdrawal packet further carries the PE ID of the second PE;
the first determining module is further to determine, with respect to each VSI carried in the withdrawal packet, whether the first PE has a VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet; and
the second determining module is further to determine that the second PE is not a peer PE of the VPLS instance anymore if the first determining module determines that the first PE has the VSI belonging to the same VPLS instance as that of the VSI carried in the withdrawal packet, and to delete the PE ID of the second PE carried in the withdrawal packet from the remote member list corresponding to the VSI.
15. The first PE of claim 9 or 10, wherein the MP2MP communication tunnel is an MP2MP Label Switching Path (LSP), the first PE further comprises:
a creating module, to create a Virtual Multi-cast Interface (VMI) on the first
PE;
a designating module, to designate a root node associated with the VIM created by the creating module, wherein the root node performs a multicast replication to a packet received from each PE and forwards the replicated packets to other PEs connected by the MP2MP LSP; and
an establishing module, to establish bi-directional LSP segments between the first PE and the root node based on a Label Distribution Protocol (LDP).
PCT/CN2013/080467 2012-08-28 2013-07-31 Discovering a peer provider edge (pe) of a virtual private lan service (vpls) instance WO2014032494A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210308948.4A CN103634210B (en) 2012-08-28 2012-08-28 Find the method and apparatus of the opposite end PE equipment of VPLS example
CN201210308948.4 2012-08-28

Publications (1)

Publication Number Publication Date
WO2014032494A1 true WO2014032494A1 (en) 2014-03-06

Family

ID=50182462

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/080467 WO2014032494A1 (en) 2012-08-28 2013-07-31 Discovering a peer provider edge (pe) of a virtual private lan service (vpls) instance

Country Status (2)

Country Link
CN (1) CN103634210B (en)
WO (1) WO2014032494A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106169969B (en) * 2016-08-31 2020-01-10 华为技术有限公司 Method, related equipment and system for establishing label switching path of virtual private network
CN109600326B (en) * 2018-12-24 2021-11-19 华为技术有限公司 Method, node and system for forwarding data or message
CN114039814B (en) * 2021-11-30 2024-02-23 锐捷网络股份有限公司 Message forwarding method and device, electronic equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101252526A (en) * 2008-04-03 2008-08-27 中兴通讯股份有限公司 Flow control method as well as VPWS network system
US20080205397A1 (en) * 2005-09-07 2008-08-28 Huawei Technologies Co., Ltd. Method for forwarding multicast packets in a virtual private local area network service
CN102075439A (en) * 2011-02-22 2011-05-25 杭州华三通信技术有限公司 Multicast message transmitting method and routing equipment
US8059549B2 (en) * 2009-02-17 2011-11-15 Tellabs Operations, Inc. Method and apparatus for supporting network communications using point-to-point and point-to-multipoint protocols

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101621467B (en) * 2009-08-13 2012-05-30 华为技术有限公司 Method, device and system for realizing multicast VSI
WO2011127665A1 (en) * 2010-04-16 2011-10-20 华为技术有限公司 Method, system and corresponding device for implementing border gateway protocol - advertised discovery (bgp-ad)
CN101848161A (en) * 2010-05-31 2010-09-29 杭州华三通信技术有限公司 Communication method and equipment of MPLS L2VPN (Multiple protocol Label Switching Layer 2 Virtual Private Network) and MPLS L3VPN (Multiple protocol Label Switching Layer 3 Virtual Private Network)
CN102082738A (en) * 2011-03-10 2011-06-01 迈普通信技术股份有限公司 Method for extending MPLS VPN access through public network and PE equipment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080205397A1 (en) * 2005-09-07 2008-08-28 Huawei Technologies Co., Ltd. Method for forwarding multicast packets in a virtual private local area network service
CN101252526A (en) * 2008-04-03 2008-08-27 中兴通讯股份有限公司 Flow control method as well as VPWS network system
US8059549B2 (en) * 2009-02-17 2011-11-15 Tellabs Operations, Inc. Method and apparatus for supporting network communications using point-to-point and point-to-multipoint protocols
CN102075439A (en) * 2011-02-22 2011-05-25 杭州华三通信技术有限公司 Multicast message transmitting method and routing equipment

Also Published As

Publication number Publication date
CN103634210B (en) 2016-10-19
CN103634210A (en) 2014-03-12

Similar Documents

Publication Publication Date Title
US10003531B2 (en) Method for establishing tunnel, method for allocating label, device and network system
EP2104896B1 (en) Border gateway protocol procedures for mpls and layer-2 vpn using ethernet-based tunnels
US7266124B2 (en) Method for setting up QoS supported bi-directional tunnel and distributing L2VPN membership information for L2VPN using extended LDP
EP2789128B1 (en) Mechanism for e-vpn interoperability with vpls
EP1713197B1 (en) A method for implementing the virtual leased line
EP1563644B1 (en) System and method for interconnecting heterogeneous layer 2 vpn applications
EP3595248A1 (en) Static route advertisement
US8929364B2 (en) Supporting BGP based IP-VPN in a routed network
US20070147372A1 (en) Method for Implementing Multicast in Virtual Router-Based Virtual Private Network
US20150146727A1 (en) Forwarding Packets and PE Devices in VPLS
US8929249B2 (en) System and method for virtual private local area network service to use the flow aware pseudowire
JP2013526813A (en) Method and apparatus for MPLS MAC-VPN MPLS label allocation
CN102739501B (en) Message forwarding method and system in two three layer virtual private networks
EP2991284B1 (en) Method and device used in ethernet virtual private network
US20120224579A1 (en) Multiprotocol Label Switching (MPLS) Virtual Private Network (VPN) Over Routed Ethernet Backbone
CN103326940A (en) Method for forwarding message in network and edge device of operator
EP4131872A1 (en) Multicast traffic transmission method and apparatus, communication node, and storage medium
WO2013139270A1 (en) Method, device, and system for implementing layer3 virtual private network
CN107959611B (en) Method, device and system for forwarding message
EP2640014B1 (en) Method and network device for distributing multi-protocol label switching labels
US10469361B1 (en) Loop prevention for EVPN and PBB-EVPN
WO2014032494A1 (en) Discovering a peer provider edge (pe) of a virtual private lan service (vpls) instance
WO2006056131A1 (en) A method for realizing intercommunication between the l3 vpn
Singh BGP MPLS based EVPN And its implementation and use cases
Balus et al. MPLS based Layer 2 Virtual Private Network Services

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13833947

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13833947

Country of ref document: EP

Kind code of ref document: A1