WO2019205836A1 - 一种数据报文转发的方法及装置 - Google Patents

一种数据报文转发的方法及装置 Download PDF

Info

Publication number
WO2019205836A1
WO2019205836A1 PCT/CN2019/078707 CN2019078707W WO2019205836A1 WO 2019205836 A1 WO2019205836 A1 WO 2019205836A1 CN 2019078707 W CN2019078707 W CN 2019078707W WO 2019205836 A1 WO2019205836 A1 WO 2019205836A1
Authority
WO
WIPO (PCT)
Prior art keywords
label
esi
destination
tpe
node
Prior art date
Application number
PCT/CN2019/078707
Other languages
English (en)
French (fr)
Inventor
王玉保
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2019205836A1 publication Critical patent/WO2019205836A1/zh

Links

Images

Classifications

    • 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
    • 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/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]

Definitions

  • the present invention relates to the field of communications, and in particular, to a method and an apparatus for forwarding data packets.
  • the MPLS EVPN defined in RFC7432 must be aware of user MAC entries on the SPE node because the TPEs need to advertise user MAC entries with each other.
  • establishing BGP sessions directly between TPEs is not practical in large EVPN networks because TPE The number is large. Assuming the number of TPEs is N, the number of required BGP sessions is the square of N.
  • the actual practice is that, as shown in Figure 1, the TPE only establishes a BGP session with a few SPEs in the vicinity, and the SPE establishes a BGP session between the two. Since the number of SPEs is much smaller than the number of TPEs, this greatly reduces the number of BGP sessions required in an EVPN network. But this also makes the SPE aware of user MAC entries and re-posts user MAC entries from one TPE to other TPEs or SPEs.
  • RFC7623 defines the PBB EVPN form of the EVPN service.
  • the PBB EVPN adopts the BGP session establishment mode shown in Figure 1, which can solve the problem of overloading the user MAC entry on the SPE node in the large hierarchical L2 EVPN network because PBB EVPN
  • the EVPN instance is divided into an I component instance and a B component instance, where the B component instance does not perceive the user MAC entry, and the PBB EVPN only needs to deploy the PBB EVPN B component instance on the SPE node, and the PBB EVPN is on the TPE node.
  • the I component and the B component need to be deployed, but the user MAC entry does not need to be published because the I component of the PBB EVPN can learn the user MAC entry and its forwarding information on the data side.
  • the EVPN private network label advertised by IMPLS routing, EAD-EVI routing, and MAC/IP distribution routing defined by RFC7432 is an MP2P label.
  • the outer tunnel of the LDP LSP as the EVPN unicast packet is also used.
  • the MP2P label, and the egress node of the MP2P label (that is, the MPLS egress node defined by RFC3031) cannot distinguish the data packets sent by different ingress nodes (that is, the MPLS ingress node defined by RFC3031), which makes the egress TPE unable to learn the user on the data plane.
  • the correspondence between the MAC entry and the home TPE cannot determine the forwarding information of the user MAC entry.
  • the TPE node of the MPLS EVPN must advertise user MAC entry information, and the SPE node must perceive user MAC entry information on all TPE nodes. Due to the large number of TPEs in the large EVPN network, the user MAC entries on each TPE are also Many, this makes the MPLS EVPN face the danger of overloading the SPE node user MAC entries.
  • the current solution to this problem is to switch to PBB EVPN or VXLAN over L3EVPN.
  • the data encapsulation format of the existing PBB EVPN is the 802.1ah PBB header format defined in RFC7623.
  • the native 802.1ah itself is rarely deployed, and the 802.1ah cost is higher for PBB EVPN.
  • the existing technical solution for making the SPE node not aware of the user MAC entry in the large hierarchical L2 EVPN network either needs to add the PBB encapsulation to the packet, or add the VXLAN encapsulation to the packet, without the PBB header or the VXLAN.
  • the encapsulation of the header makes the technical solution that the SPE node in the hierarchical L2EVPN network does not perceive the user MAC entry does not exist in some cases.
  • a technical problem solved by the solution provided by the embodiment of the present invention is that the SPE node MAC entry is overloaded.
  • a method for forwarding a data packet includes: the endpoint operator edge device TPE1 receives an MPLS encapsulated EVPN data packet MEDP1 including a label stack, wherein the MEDP1 encapsulates an Ethernet data packet EDP1.
  • the source MAC address of the EDP1 is MAC1; the TPE1 determines, according to the label stack in the MEDP1, the value ESI1 of the broadcast domain BD1 and the remote portal ESI to which the MEDP1 belongs, where the remote entry ESI corresponding to the MEDP1
  • the ESI to which the remote TPE2 node that encapsulates the EDP1 is MEDP1 receives the AC used by the EDP1; wherein the TPE1 uses the remote access ESI or the remote ingress TPE for at least one of the following purposes:
  • the TPE1 uses the remote access ESI or the remote ingress TPE for at least one of the following purposes:
  • the TPE1 performs a specified process on the MEDP1 message; the TPE1 records the far
  • the destination ESI1 is the destination ESI of ⁇ BD1, MAC1>, wherein the BD1 is the broadcast domain BD to which the MEDP1 belongs, and the destination ESI of the ⁇ BD1,
  • the TPE1 records that the remote ingress TPE2 is the destination TPE of the ⁇ BD1, MAC1>, wherein the destination TPE of the ⁇ BD1, MAC1> is the destination of the Ethernet data packet of the MAC1 in the BD1.
  • the TPE is a TPE for identifying an AC to which the device identified by the MAC1 is connected.
  • a method for forwarding a data packet includes: the endpoint operator edge device TPE3 acquires a unicast Ethernet data packet EDP3 from the access circuit AC3, wherein the AC3 belongs to an Ethernet segment identifier. ESI3 and the AC3 is bound to the Ethernet virtual private network EVPN broadcast domain BD1, and the destination MAC of the EDP3 is MAC2; the TPE3 is found by using a binary group ⁇ the BD1, the destination MAC of the EDP3> as a key value.
  • Corresponding purpose ESI4 or destination TPE5 and according to the multi-protocol label switching MPLS encapsulation process, generating a multi-point to point MP2P outgoing label including a local ingress ESI label, a context identification label stack element LSE, and a destination ESI or destination TPE
  • the MPLS encapsulates the EVPN data message MEDP3, and the context identifier LSE carries information of the active node identifier; preferably, the TPE3 does not add a PBB package or a VXLAN package to the MEDP3; the TPE3 does not use the BD1
  • the local MAC entry in is published to the remote TPE node.
  • the TPE3 forwards the MEDP3 to the or the destination TPE 5 or an adjacent node TPE4 of the destination ESI4; wherein the ESI4 is a previously determined Ethernet data packet in the BD1 whose destination MAC address is the MAC2
  • the destination ESI the TPE5 is a destination TPE in which the destination MAC in the BD1 is the Ethernet data packet of the MAC2, and the local entry ESI is the ESI3 to which the AC3 receiving the EDP3 belongs, the local The ingress ESI tag is the ESI tag of the ESI3, and the source node identifier is a globally unique identifier of the TPE3 node transmitting the MEDP3 in the EVPN network.
  • An apparatus for forwarding data packets includes: a receiving module, configured to receive an MPLS encapsulated EVPN data packet MEDP1 including a label stack, where the MEDP1 encapsulates an Ethernet data packet EDP1, The source MAC address of the EDP1 is MAC1; the determining module is configured to determine, according to the label stack in the MEDP1, a node identifier of the remote entry TPE to which the MEDP1 belongs or a value ESI1 of the remote entry ESI, where the remote end The ingress TPE is a remote TPE2 node that encapsulates the EDP1 as MEDP1, and the remote access ESI corresponding to the MEDP1 is an ESI to which the TPE2 node receives the AC used by the EDP1; wherein the TPE1 will be the far
  • the end entry ESI or the remote ingress TPE is used for at least one of the following: when the remote entry ESI of the MEDP 1 is a specified value and the E
  • the TPE1 records that the remote ingress TPE2 is the destination TPE of the ⁇ BD1, MAC1>, wherein the destination TPE of the ⁇ BD1, MAC1> is the destination of the Ethernet data packet of the MAC1 in the BD1.
  • the TPE is a TPE for identifying an AC to which the device identified by the MAC1 is connected.
  • An apparatus for forwarding data packets includes: an obtaining module, configured to acquire a unicast Ethernet data packet EDP3 from an access circuit AC3, where the AC3 belongs to an Ethernet segment identifier ESI3 and The AC3 is bound to the Ethernet virtual private network EVPN broadcast domain BD1, the destination MAC of the EDP3 is MAC2, and the encapsulation module is configured to use the binary group ⁇ the BD1, the destination MAC address of the EDP3 as a key value to find Corresponding purpose ESI4 or destination TPE5, and according to the multi-protocol label switching MPLS encapsulation process, generating a multi-point to point MP2P outgoing label including a local ingress ESI label, a context identification label stack element LSE, and a destination ESI or destination TPE
  • the MPLS encapsulates the EVPN data packet MEDP3, and the context identifier LSE carries the information of the active node identifier; the forwarding module is configured to forward the ME
  • the destination TPE of the Ethernet data packet the local entry ESI is the ESI3 to which the AC3 receiving the EDP3 belongs, the local entry ESI label is the ESI label of the ESI3, and the source node identifier is the MEDP3 that sends the MEDP3 A globally unique identifier of the TPE3 node in the EVPN network.
  • the device includes: a processor, and a memory coupled to the processor; the memory is stored on the processor and operable to run on the processor.
  • the data packet forwarding procedure, the step of the data packet forwarding method according to the embodiment of the present invention is implemented when the data packet forwarding program is executed by the processor.
  • a computer storage medium stores a program for forwarding a data packet, and the method for forwarding the data packet according to the embodiment of the present invention is implemented by the processor when the program for forwarding the data packet is executed by the processor. step.
  • a computer program product comprising a computer program stored on a non-transitory computer readable storage medium, the computer program comprising program instructions, when the program instructions are executed by a computer
  • the computer is caused to perform the methods described in the various aspects above.
  • FIG. 1 is a topological diagram of a PBB EVPN service defined by RFC7623 in the related art provided by the prior art;
  • FIG. 2 is a flowchart of a method for forwarding data packets according to an embodiment of the present invention
  • FIG. 3 is a schematic diagram of an apparatus for forwarding data packets according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of a packet encapsulation format according to an embodiment of the present invention.
  • FIG. 5 is a networking diagram of a TPE node separately applied according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of values of labels in each layer LSE of a label stack 1 and a label stack 2 of a message according to an embodiment of the present invention
  • FIG. 7 is a schematic diagram of values of labels in each layer LSE of a label stack 3 and a label stack 4 of a message according to an embodiment of the present invention
  • FIG. 8 is a schematic diagram of values of labels in a label stack 5 of a message and layers LSE of a label stack 6 according to an embodiment of the present invention
  • FIG. 9 is a schematic diagram of values of labels in each layer LSE of a label stack 7 and a label stack 8 of a message according to an embodiment of the present invention.
  • FIG. 10 is a schematic diagram of values of labels in a label stack 9 of a message and layers LSE of a label stack 10 according to an embodiment of the present invention
  • FIG. 11 is a schematic diagram of values of labels in each layer LSE of a label stack 11 and a label stack 12 of a message according to an embodiment of the present invention
  • FIG. 12 is a schematic diagram of values of labels in a label stack 13 of a message and layers LSE of a label stack 14 according to an embodiment of the present invention
  • FIG. 13 is a networking diagram of a single-homed ES and dual-homed ES hybrid access EVPN network according to an embodiment of the present invention.
  • FIG. 14 is a schematic diagram of values of labels in each layer LSE of a label stack 15 and a label stack 16 of a message according to an embodiment of the present invention.
  • RFC6073 defines the concepts of T-PE and S-PE.
  • the present disclosure follows the T-PE and S-PE concepts, but RFC6073 is for traditional L2VPN services.
  • the present disclosure describes EVPN services.
  • the T-PE is referred to as a TPE and the S-PE is referred to as an SPE.
  • RFC7432 defines the concept of ES (Ethernet Segment) and ESI (Ethernet Segment Identifier), where ES is divided into single-homed ES and multi-homed.
  • ES ESI is the identifier of the multi-homed ES.
  • the TPE is said to be the ES and the contiguous TPE identifying the ESI of the ES, otherwise referred to as its non-contiguous TPE.
  • the ESI label is defined in the RFC7432, and the ESI label is used for ESI filtering.
  • the ESI filtering is only for the BUM packet.
  • the unicast packet cannot be encapsulated with the ESI label. Therefore, the current EVPN unicast packet can only encapsulate the downstream allocation mode. If the unicast packet encapsulates the ESI label of the downstream allocation mode, the Option B cross-domain node will use the unicast packet in the corresponding ESI when the unicast packet passes through the Option B inter-domain node. Load balancing between adjacent TPE nodes causes the downstream allocation ESI label to reach the wrong downstream.
  • the limitation of the ESI label cannot be carried in the unicast packet, so that the downstream node cannot know the remote entry ESI of the known unicast packet on the data plane, and the difference between the known unicast packet of the specified remote entry ESI cannot be made.
  • the known unicast packet of the specified remote ingress ESI cannot be mirrored to the specified server or QoS processing.
  • the source MAC of the known unicast packet and its remote entry ESI cannot be learned on the data plane. Correspondence relationship.
  • RFC3032 defines the label stack code of the MPLS package.
  • the PBB EVPN and MPLS EVPN also use the label stack code.
  • the label stack defined by RFC3032 is composed of an LSE (Label Stack Entry, LSE) sequence.
  • LSE Label Stack Entry, LSE
  • Each LSE contains 32 binary bits, of which the tag value is 20 bits, the bottom of the stack is 1 bit, the lifetime TTL is 8 bits, and the traffic class TC is 3 bits.
  • ETI Ethernet Tag Identifier
  • VLAN-based service interface VLAN-bundle service interface
  • VLAN-aware bundle service interface VLAN-aware bundle service interface
  • the BD (Broadcast Domain) concept is defined in the VLAN-aware bundle service interface, and the ETI identifier is used to specify a broadcast domain in the EVI.
  • the ETI cannot distinguish between two broadcast domains belonging to different EVIs because Different EVIs can use the same ETI to identify a broadcast domain.
  • the BD concept is also applicable to the VLAN-bundle service interface and the VLAN-based service interface. In each of the two service interfaces, each EVI (EVPN Instance, EVPN instance)
  • BD is equivalent to EVI.
  • the EVPN route advertisement specification under the VLAN-aware bundle service interface is defined in Section 6.4 and Section 7.4 of draft-ietf-bess-evpn-usage-09, in which Section 6.2 and Section 7.2 define VLAN-based services.
  • EVPN route publishing specification under the interface is defined in Section 6.4 and Section 7.4 of draft-ietf-bess-evpn-usage-09, in which Section 6.2 and Section 7.2 define VLAN-based services.
  • RFC5331 defines the downstream distribution mode and the upstream distribution mode of the MPLS label.
  • the ESI label can be either the downstream distribution mode or the upstream distribution mode in the MPLS EVPN.
  • the corresponding control plane and forwarding plane are described in RFC7432.
  • RFC5331 also defines a label concept and a context label concept that are assigned upstream, where the label assigned upstream represents the label assigned by the upstream node of the FEC.
  • the label assigned upstream may also be referred to as an upstream distribution mode label or an upstream distribution label
  • the label assigned downstream may also be referred to as a downstream distribution mode label or a downstream distribution label.
  • RFC5331 also defines a context label (Context Label) concept, which provides label space identification information for the upstream distribution mode label immediately adjacent to its inner layer; in general, the context label may also be referred to as a context identification label, therefore, the context The LSE where the tag is located may also be referred to as a context identifier LSE, wherein the context tag itself may also be an upstream distribution tag.
  • Section 8 of RFC5331 also defines a special context tag, namely Context Label on LANs, and considers the LAN context tag to be an upstream distribution mode tag.
  • RFC3031 defines the concept of label space per platform. This is a label space for downstream allocation. Labels in the MPLS label stack. By default, ILM tables are searched in each platform label space. The ILM table is also defined by RFC3031. There are also concepts such as NHLFE and FEC. The context information of the corresponding tag can be recorded in the ILM table. A common context information is the FEC information to which the tag belongs.
  • RFC7274 defines the concept of XL (Extension Label) and ESPL (Extended Special-Purpose Label), and defines the concept of RSPL (Regular Special-Purpose Label), which is compared with ESPL.
  • XL is an MPLS label with a label value of 15
  • ESPL is an XL inner layer followed by an XL label
  • XL and its adjacent ESPL form a compound label.
  • IREL Ingress-Replication ESI Label
  • IRML Ingress
  • IRML Ingress
  • -Replication Multicast Label ingress replication multicast label
  • LDPL LDP Label, LDP label, LDPL for short
  • DAEL Downstream-assigned ESI Label, downstream distribution method ESI label, DAEL for short
  • DAEEL Downstream-assigned EAD-EVI Route's Label, downstream distribution mode ES-EVI routing label (abbreviated as DAEEL)
  • UAEEL Downstream-assigned ESI Label, upstream allocation mode ESI label, UAEL for short
  • UAML Upstream-assigned Multicast Label, Upstream distribution mode multicast label (UAML)
  • MLDPL Multicast LDP Label, MLDP label, MLDPL for short
  • GUCL Global Unique
  • the value of the FEC is named, the name of the value of the FEC being the name of the value of ESI in the NLRI of the EAD-ES route; wherein, in particular, the DAEL tag is pressed in the known unicast forwarding flow An IREL tag of the stack; wherein, specifically, the UAEL tag is an upstream allocation mode ESI label assigned to a local ESI on the node on which the UAEL tag is pushed, for the purpose of description, the disclosure provides The value of the FEC of the UAEL tag is named, and the name of the FEC value is a name corresponding to the value of the ESI; wherein, specifically, the IRML tag is the I received on the node that pushes the IRML tag The private network label of the ingress replication mode carried in the MET route.
  • the present disclosure names the value of the FEC of the IRML label, and the name of the FEC value is the BD name of the IMET route. a splicing of the name of the value of the original router IP address field in the NLRI of the IMET route; wherein, in particular, the UAML label is allocated on the node that pushes the UAML label for the local BD on the node.
  • the upstream allocation mode private network label for the description, the present disclosure names the value of the FEC of the UAML label, the name of the FEC value is the splicing of the name of the BD and the name of the node;
  • the DAML tag is a private network label of a downstream allocation manner carried in the IMET route received on the node that pushes the DAML label, and the value of the FEC of the DAML label in the disclosure is the description.
  • the name of the value of the FEC is the splicing of the name of the BD name of the IMET route and the value of the original router IP address field in the NLRI of the IMET route, and the same TPE node is the IRML allocated by the same BD.
  • the DAML tags may be the same tag value or different tag values. When the two tags are the same tag value, the same route attribute of the IMET route may be used for publishing; wherein, specifically, the DAEEL tag is the DAEEL tag.
  • the label carried in the EAD-EVI route received by the node of the stack from its downstream node (specifically, the MPLS label in the NLRI of the EAD-EVI route), for the sake of description, the disclosure to the DAEEL label
  • the value of the FEC is named, the name of the value of the FEC being the splicing of the name of the value of the ESI in the NLRI of the EAD-EVI route and the name of the BD to which the EAD-EVI route belongs; wherein, specifically,
  • the GUCL tag is the lower 20 bits of the node identifier on the node that pushes the GUCL tag; wherein, specifically, the NHEL tag is a node on which the NHEL tag is pushed onto the stack.
  • the next hop ESI label of the downstream allocation mode carried in the received EAD-ES route For the description, the present disclosure names the value of the FEC of the NHEL label, and the name of the FEC value is the EAD.
  • -ES routed value of ESI in NLRI Specifically, the DAOIL tag is a downstream distribution mode tag carried in an EAD-ES route received on a node that pushes the DAOIL tag, and the DAOIL tag is a downlink distribution mode DPI tag or GUCLI.
  • the DPI and the GUCLI are described later; wherein the RSVPL is an RSVP-TE tunnel outbound label on a node that pushes the RSVPL label; wherein the LDPL is on a node that pushes the LDPL label onto the stack
  • the label of the LDP LSP is outbound.
  • the label value of the RSVPL, LDPL, DAEEL, NHEL, DAML, and IRML labels changes when passing through the SPE node.
  • IREL/IRML/DAML/DAEL specifically refers to the IREL/IRML/DAML/DAEL tags assigned by other nodes to the nodes that push them into the label stack.
  • UAEL/UAML refers to the upstream of the nodes assigned to push them onto the label stack. Distribution method UAEL/UAML label.
  • the data packet encapsulation format used in the present disclosure is as shown in the target encapsulation in FIG. 4, and includes an MPLS label stack.
  • the present disclosure is in the label stack in the MPLS encapsulated EVPN data packet sent by each node.
  • Each layer LSE is named. Specifically, each layer LSE uses the category of the label contained therein as its own name in the associated label stack; for convenience of description, the present disclosure is each layer in each preferred embodiment.
  • the value of the label in the LSE is also named. Specifically, except for the special description, the name of the label value is composed of three parts, and the three parts are separated by an underscore. The first part is the name of the FEC to which the label belongs.
  • the second part is the name of the node to which the tag is assigned (in particular, the second part of the GUCL tag value name is GU, which means globally unique), and the third part is the name of the LSE where the tag is located.
  • the present specification discloses a specific double pop-up operation, that is, an operation of finding a corresponding ESI value by an inner layer ESI label and an outer layer GUCL label corresponding to the double pop-up operation, based on the method, the specification discloses A method of learning the correspondence between a MAC entry and a destination ESI on a data plane.
  • the present specification discloses a method for learning the correspondence between a MAC entry and its destination ESI by receiving an MPLS encapsulated EVPN data packet on the data plane, the MAC entry from the EVPN data. Obtained in the source MAC address of the packet, and the destination ESI is obtained from the FEC information of the label in the label stack of the same packet.
  • the present invention discloses an EVPN route extension, which can carry a GUCL label in an EVPN route (including IMET routing, EAD-EVI routing, EAD-ES routing, and MAC/IP distribution routing, etc.), and the GUCL label is an UNLS label space.
  • the label in the middle which is the globally unique identifier of the TPE node in its own EVPN network.
  • the present specification discloses a dual pop-up predictive mechanism, that is, in the context information of the immediately adjacent outer label of the two adjacent labels corresponding to the double pop-up operation, indicating that the outer label is popped up and then double
  • the pop-up operation the label functioning as such an indication is referred to as a DPI (Double-pop Indicator, DPI for short) label in this specification.
  • DPI Double-pop Indicator
  • the present specification discloses a specific double pop-up operation, that is, an operation of finding a corresponding ESI value by using an inner layer ESI label and an outer layer GUCL label in two adjacent labels corresponding to the double pop-up operation, based on the Methods, the present specification discloses a method of learning the correspondence between a MAC entry and its destination ESI by the MAC learning method by adding an ESI tag and a GUCL tag to the message.
  • the GUCL tag may be advertised by the BGP path attribute carried by the EVPN route, or may be included in the specified bit of the source node identifier field of the EVPN route with the source node identifier.
  • the present specification defines a known way that a remote TPE node can be encapsulated by MPLS by simultaneously encapsulating the GUCL tag, the UAEL tag, and the DPI tag in a data message.
  • GUCLI tag (GUCL Indicator), which is displayed on the node that pops the tag stack of the GUCLI tag, and the tag indicates that the inner layer is immediately adjacent to the tag X and is to be searched in the GUCL tag space.
  • ILM table ILM table.
  • the GUCL tag space is the same as the tag space of the Context Label on LANs in RFC5331 Section 8, where each tag is a node identifier of a node in the MPLS network where the node is located, The difference is: first, the GUCL label space is shared by all interfaces on the node, rather than each interface having a different GUCL label space; second, the label in the GUCL label space (for example, the label X).
  • the context information includes global unique identification information of the node corresponding to the label, instead of unique node identification information only in the LAN; third, the label in the GUCL label space (for example, the label X) is not necessarily It is predicted that the inner layer is adjacent to the label in the UNLS label space because the label in the GUCL label space is likely to be the bottom of the stack (see preferred embodiment 8).
  • the invention discloses an EAD-ES route extension, so that two ESI labels of UAEL and DAEL can be carried in one EAD-ES route simultaneously; the invention also discloses another EAD-ES route extension, which enables routing in EAD-ES.
  • the next hop ESI label and the original ESI label can be distinguished, and the next hop ESI label and ESI label that can distinguish EAD-ES routes are EAD-ES routes that can be used as complete forwarding to the destination TPE in the EVPN network where the SPE exists.
  • One of the preconditions for information is that the original ESI label cannot be exposed as a top-of-stack label on the SPE node.
  • the original ESI label and the next hop ESI label in the same EAD-ES route may be the same label or different labels.
  • the original ESI label may be DAEL or UAEL, or may be carried at the same time.
  • DAEL and UAEL are used as the original ESI label, but the next hop ESI label can only be the label of the downstream allocation method; when the original ESI label is DAEL and is the same label as the next hop ESI label, the two generally need to use different fields.
  • the present invention also discloses a method for performing different MAC learning processes on different MPLS encapsulated EVPN data packets sent by the same remote TPE1 node: specifically, the TPE1 forwards it.
  • the data packet received on the AC with the ESI of 0 learns the correspondence between the MAC entry and the destination TPE.
  • TPE1 enables the destination TPE to identify the message by adding a GUCLI tag to its tag stack when forwarding its data message received from the AC with ESI 0.
  • the present invention discloses an EVPN service TPE node, which can be used in combination with an SPE node, in an EVPN network without an SPE node, or in a P node capable of using only an SPE node. Use in case.
  • the disclosure also refers to these SPE nodes as the EVPN service P node of the TPE node. It should be noted that the SPE node of the EVPN service P node of the TPE node may still be an SPE node for other services (such as the traditional MPLS L3VPN service).
  • the present invention also discloses an SPE node, when the EPE-ES route carrying the next hop ESI label is received and re-released, the SPE node will modify its next hop to indicate the The SPE node's own IP address, the SPE node will simultaneously modify the next hop ESI label of the EAD-ES route, while leaving the original ESI label unchanged.
  • the SPE node is used, so that in the EVPN network where the SPE node exists, the TPE node can no longer issue EAD-EVI routes, and the EAD-ES route will replace the EAD-EVI route for obtaining
  • the complete forwarding information of the neighboring TPE nodes of the corresponding ESI (which means that the NHEL tag will replace the DAEEL tag, see Preferred Embodiment 4); thus, the routing management pressure on the SPE node is further alleviated.
  • FIG. 2 is a flowchart of a method for forwarding data packets according to an embodiment of the present invention.
  • the method includes: Step S101: The edge operator TPE1 receives an MPLS encapsulated EVPN data packet MEDP1 including a label stack. The MEDP1 encapsulates the Ethernet data packet EDP1, and the source MAC address of the EDP1 is MAC1.
  • the remote entry TPE is a remote TPE2 node that encapsulates the EDP1 as MEDP1, and the remote entry ESI corresponding to the MEDP1 receives the EDP1 for the TPE2 node
  • the ESI to which the AC used belongs wherein the TPE1 uses the remote entry ESI or the remote entry TPE for at least one of the following purposes: when the remote entry ESI of the MEDP 1 is a specified value and the EDP1
  • the TPE1 performs the specified processing on the MEDP1 message when the unicast is known on the TPE2 node; the TPE1 records the destination ESI where the remote entry ESI1 is ⁇ BD1, MAC1>, where BD1 is the broadcast domain BD to which the MEDP1 belongs, and the ⁇ BD1
  • the destination ESI of the MAC1> is the destination ESI of the Ethernet data packet of the MAC1 in the BD1, and the destination ESI is an
  • the TPE1 records that the remote ingress TPE2 is the destination TPE of the ⁇ BD1, MAC1>, wherein the destination TPE of the ⁇ BD1, MAC1> is the destination of the Ethernet data packet of the MAC1 in the BD1.
  • the TPE is a TPE for identifying an AC to which the device identified by the MAC1 is connected.
  • the TPE1 forwards the Ethernet data packet with the destination MAC and the MAC1 in the BD1 to the destination TPE of the ⁇ BD1, MAC1> or a remote neighboring TPE node of the destination ESI.
  • the TPE1 determines a value of the remote entry ESI of the MEDP1 according to the context identification information and the remote entry ESI label included in the label stack in the MEDP1, where the TPE1 determines the label stack.
  • the method for the context identification information and the remote entry ESI label is as follows: the TPE1 reads the current top-of-stack label L in the MEDP1 label stack; the label L is an RSPL label or an ESPL label whose label value is the first specified value.
  • the tag L is followed by a context identifier LSE and a remote entry ESI label, and the context identifier LSE is the context identifier information; the label L is an RSPL or ESPL label whose label value is a second specified value.
  • the tag L is identified by the context of the tag in the immediate vicinity of the tag, the remote port entry ESI is 0, the context identifier LSE is the context identifier information, and the tag value of the tag L is an indication of the TPE1 assignment.
  • the inner layer is adjacent to the LSE as the tag value of the context identifier LSE, and then the tag L (ie, the DAOIL tag) is followed by the context identifier LSE and the far-end entry ESI tag, and the context identifier LSE is the upper
  • the identifier L is the downstream allocation mode label of the local ESI X assigned by the TPE1, and the TPE1 has determined the broadcast domain BD1 to which the MEDP1 belongs, then the label L (ie, the IREL)
  • the label is the remote entry ESI label, the ESI X is the remote entry ESI; the label L is the downstream distribution mode label of the local ESI X assigned by the TPE1, and the TPE1 is not determined In the broadcast
  • the end entry ESI label is a downstream allocation mode label that identifies the RSVP LSP, and the RSVP LSP carries an upstream allocation mode label, and the extended tunnel ID of the RSVP LSP is obtained according to the label L.
  • the label immediately adjacent to the label L is the downstream distribution mode label (ie, the NHEL label) of the local ESI that is allocated by the TPE1
  • the label immediately adjacent to the label L is immediately adjacent to the label.
  • the TPE1 determines, according to the context identifier information, a value of a node identifier of the remote ingress TPE, including: if the MEDP1 includes a downstream allocation mode GUCLI label or an RSPL or ESPL whose value is a second specified value.
  • the label pops up the label stack at the TPE1 node, and the value of the original router IP address in the IMET route received by the TPE1 is consistent with the context identifier information, and the value of the original router IP address in the IMET route is the Node identification information of the ingress TPE; wherein the value of the original router IP address field consistent with the context identification information means that the field value is equal to the context identification information or a specified partial binary bit of the field value is The specified partial binary bits of the context identification information are respectively equal by bits.
  • the TPE1 determines the value of the remote portal ESI and the node identifier information of the remote ingress TPE according to the context identifier information and the remote ingress ESI label, including: if the TPE1 receives the EAD-ES The value of the ESI tag in the route is equal to the value of the far-end ingress ESI tag, and the route source node identifier in the EAD-ES route is consistent with the context identifier information, then the NLRI of the EAD-ES route is The ESI is the remote entry ESI, and the information in the source node identifier of the EAD-ES route is the identification information of the remote entry TPE; wherein the route source node identifier is the EAD-ES route The identifier in the advertised information of the TPE node of the route, the information is filled in by the TPE node when the route is advertised, and the route source node identifier and the context identifier information are consistent with the identifier and the context identifier information.
  • the TPE1 takes one of the following information in the EAD-ES route as the routing source node identifier of the EAD-ES route: the value of the next hop field of the EAD-ES route; the EAD-ES The value of the route attribute of the route; the value of the originator identifier ORIGINATOR_ID path attribute of the EAD-ES route; the value of the original carrier edge device OPE TLV of the EAD-ES route.
  • the method for determining, by the TPE1, the broadcast domain BD1 to which the MEDP1 belongs is one of: determining the BD1 to which the BD1 belongs by using the specified inbound label of the MEDP1; (refer to the preferred embodiment 1); The two-layer VLAN tag of the EDP1 determines the BD1 to which it belongs (see the preferred embodiment 9); the BD1 belongs to the BD1 by the one-layer VLAN tag of the EDP1 encapsulated by the MEDP1 and the designated in-label.
  • the embodiment of the present invention further provides a data packet forwarding method, including: the endpoint operator edge device TPE3 acquires a unicast Ethernet data packet EDP3 from the access circuit AC3, where the AC3 belongs to the Ethernet segment identifier. ESI3 and the AC3 is bound to the Ethernet virtual private network EVPN broadcast domain BD1, and the destination MAC of the EDP3 is MAC2; the TPE3 is found by using a binary group ⁇ the BD1, the destination MAC of the EDP3> as a key value.
  • ESI4 or destination TPE5 and according to the multi-protocol label switching MPLS encapsulation process, generating a multi-point to point MP2P outgoing label including a local ingress ESI label, a context identification label stack element LSE, and a destination ESI or destination TPE
  • the MPLS encapsulates the EVPN data packet MEDP3, and the context identifier LSE carries the information of the active node identifier; the TPE3 forwards the MEDP3 to the destination TPE 5 or an adjacent node TPE4 of the destination ESI4;
  • ESI4 is a previously determined destination ESI in which the destination MAC in the BD1 is the Ethernet data packet of the MAC2, and the TPE5 is previously determined in the BD1 that the destination MAC in the BD1 is the Ethernet data of the MAC2.
  • the local entry ESI is an ESI3 to which the AC3 receiving the EDP3 belongs
  • the local entry ESI label is an ESI label of the ESI3
  • the source node identifier is a TPE3 node that sends the MEDP3 A globally unique identifier in the EVPN network.
  • the TPE3 does not issue a local MAC entry in the BD1 to a remote TPE node, and the TPE3 does not add a PBB encapsulation or a VXLAN encapsulation to the MEDP3.
  • the local ingress ESI label is allocated by the TPE3, and the local ingress ESI label is an upstream allocation mode ESI label corresponding to the ESI3.
  • the context identifier LSE identifies a TPE3 node that sends the MEDP3 by using one of the following manners: the label value of the context identifier LSE is carried by the TPE3 node in an EAD-ES route advertised for the ESI3 a value of the source node identifier; the specified portion of the context identifier in the LSE other than the stack bottom identifier and a corresponding portion of the source node identifier carried by the TPE3 node in the EAD-ES route issued for the ESI3
  • the binary bits are equal by bit.
  • the MP2P outgoing label corresponding to the destination TPE includes one of the following situations: the outgoing label corresponding to the destination TPE is the next hop in the EAD-ES route sent by the destination TPE node with an ESI of 0.
  • the outbound label corresponding to the destination TPE is an MPLS label in the NLRI in the EAD-EVI route sent by the destination TPE node with an ESI of 0; the outgoing label corresponding to the destination TPE is from the destination
  • the TPE node is a downstream distribution mode label obtained in the IMET route sent by the BD1.
  • the MP2P outgoing label corresponding to the destination ESI includes one of the following situations: the outgoing label corresponding to the destination ESI is in the EAD-ES route sent by the TPE node where the destination ESI is located. a next hop ESI tag; the outbound tag corresponding to the destination ESI is the MPLS label in the NLRI in the EAD-EVI route sent by the destination ESI from the TPE node where the destination ESI is located.
  • the MEDP3 further includes a context identifier predictive label, and the context identifier indicates that the label is an outer layer of the context identifier LSE, wherein the context identifier indicates that the inner layer indicates that if there is still an LSE, then The LSE next to the context identifier predictive label is the context identifier LSE.
  • the method for determining the destination ESI of the Ethernet data packet of the MAC2 in the BD1 is as follows: the destination ESI is a statically configured ESI bound to the MAC2; the destination ESI is based on Encapsulating an ESI defined by an MPLS label stack of an MPLS encapsulated EVPN data packet MEDP4 of an Ethernet data packet having a source MAC address of MAC2; the destination ESI is an ESI carried in a remote MAC distribution route, the MAC distribution route The value of the MAC field in the NLRI is MAC2.
  • the TPE3 selects one of the following fields in the EAD-ES route to fill in the routing source node identifier: a value of a next hop field of the EAD-ES route; a path attribute of the EAD-ES route The value of the originator identifier ORIGINATOR_ID path attribute of the EAD-ES route; the value of the original carrier edge device OPE TLV of the EAD-ES route.
  • the next hop ESI label is a downstream allocation mode, and the next hop ESI label is carried in one of the following attributes of the EAD-ES route: an MPLS label in the NLRI of the EAD-ES route The value of the field; the value of the path attribute of the EAD-ES route.
  • the context identifier predictive label is a designated RSPL label
  • the context identifier predictive label is a specified ESPL label
  • the context identifier indicates that the label value of the label is
  • Each platform label space is reserved by the TPE4 node, and the TPE4 node advertises its ability to support the context identifier indicating label to the TPE3 node by signaling; the context identifier indicates that the label value of the label is on each platform.
  • the label space is specified by a static configuration, and the TPE3 node and the context identifier specified on the TPE4 node indicate that the label value of the label is equal (ie, the DAOIL label).
  • the MEDP 3 further includes an Ethermark Identifier (ETI) of not less than 12 bits, where the ETI is transmitted through two layers of VLAN tags, and the ETI locally identifies the broadcast domain BD1 to which the MEDP3 belongs.
  • ETI Ethermark Identifier
  • the embodiment of the present invention further provides a method for forwarding a routing message, including: the switching point operator edge device SPE1 receives an EAD-ES route that is sent by the TPE1 and carries the original ESI label and the next hop ESI label, where The EAD-ES route performs a route reflection to replace the next hop mode, overwriting the next hop ESI tag without rewriting the original ESI tag.
  • the new next hop ESI label used to rewrite the next hop ESI label conforms to the following rule: the new next hop ESI label is a label of a downstream allocation mode, and is allocated by the SPE1 node;
  • the new next hop ESI label and the original next hop ESI label form a label switching operation on the forwarding plane, wherein the new next hop ESI label is an inbound label, and the original next hop ESI label is an outgoing label.
  • the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, by hardware, but in many cases, the former is A better implementation.
  • the technical solution of the present invention which is essential or contributes to the prior art, may be embodied in the form of a software product stored in a storage medium (such as ROM/RAM, disk,
  • the optical disc includes a number of instructions for causing a terminal device (which may be a cell phone, a computer, a server, or a network device, etc.) to perform the methods described in various embodiments of the present invention.
  • FIG. 3 is a schematic diagram of a device for forwarding data packets according to an embodiment of the present invention.
  • the receiving module 201 is configured to receive an MPLS encapsulated EVPN data packet MEDP1 including a label stack, where the MEDP1 package
  • the Ethernet data packet EDP1, the source MAC of the EDP1 is MAC1
  • the determining module 202 is configured to determine, according to the label stack in the MEDP1, a node identifier of the remote entry TPE to which the MEDP1 belongs or a remote entry ESI a value ESI1, wherein the remote ingress TPE is a remote TPE2 node that encapsulates the EDP1 as MEDP1, and the remote ingress ESI corresponding to the MEDP1 is an ESI to which the TPE2 node receives the ECP used by the EDP1;
  • the TPE1 uses the remote ingress ESI or the remote ingress TPE for at least one of the following purposes: when the remote access ESI of the
  • the destination ESI of the ⁇ BD1, MAC1> is the BD1
  • the destination MAC is the destination ESI of the Ethernet data packet of the MAC1
  • the destination ESI is an ESI for identifying the ES where the device identified by the MAC1 is located.
  • the TPE1 records that the remote ingress TPE2 is the destination TPE of the ⁇ BD1, MAC1>, wherein the destination TPE of the ⁇ BD1, MAC1> is the destination of the Ethernet data packet of the MAC1 in the BD1.
  • the TPE is a TPE for identifying an AC to which the device identified by the MAC1 is connected.
  • the embodiment of the present invention further provides an apparatus for forwarding data packets, including: an obtaining module, configured to acquire a unicast Ethernet data packet EDP3 from the access circuit AC3, where the AC3 belongs to the Ethernet segment identifier ESI3 and The AC3 is bound to the Ethernet virtual private network (EVPN) broadcast domain BD1, and the destination MAC address of the EDP3 is a MAC2 encapsulation module, and is used to find a corresponding value by using a binary group ⁇ the BD1, the destination MAC address of the EDP3> as a key value.
  • an obtaining module configured to acquire a unicast Ethernet data packet EDP3 from the access circuit AC3, where the AC3 belongs to the Ethernet segment identifier ESI3 and The AC3 is bound to the Ethernet virtual private network (EVPN) broadcast domain BD1, and the destination MAC address of the EDP3 is a MAC2 encapsulation module, and is used to find a corresponding value by using a binary group ⁇ the BD1, the destination
  • Purpose ESI4 or destination TPE5 and according to the multi-protocol label switching MPLS encapsulation process, generate MPLS including a local ingress ESI label, a context identification label stack element LSE, and a multi-point to point MP2P outgoing label corresponding to the destination ESI or destination TPE Encapsulating the EVPN data message MEDP3, and the context identifier LSE carries the information of the active node identifier; the forwarding module is configured to forward the MEDP3 to the destination TPE 5 or an adjacent node TPE4 of the destination ESI4;
  • the ESI4 is a previously determined destination ESI in the BD1 where the destination MAC is the MAC2 Ethernet data packet, and the TPE5 is the previously determined Ethernet in the BD1 whose destination MAC is the MAC2.
  • the destination TPE of the data message, the local entry ESI is the ESI3 to which the AC3 receiving the EDP3 belongs, the local entry ESI label is the ESI label of the ESI3, and the source node identifier is the TPE3 that sends the MEDP3
  • the globally unique identifier of the node in the EVPN network is the TPE3 to sends the MEDP3 The globally unique identifier of the node in the EVPN network.
  • the embodiment of the invention further provides a device for forwarding data packets, the device comprising: a processor, and a memory coupled to the processor; the memory is stored on the processor and operable on the processor.
  • the data packet forwarding procedure, the step of the data packet forwarding method is implemented by the processor to implement the data packet forwarding method according to the embodiment of the present invention.
  • the embodiment of the present invention further provides a computer storage medium, which stores a program for forwarding a data packet, and the method for forwarding the data packet provided by the embodiment of the present invention when the program for forwarding the data packet is executed by the processor step.
  • Embodiments of the present invention also provide a computer program product comprising a computer program stored on a non-transitory computer readable storage medium, the computer program comprising program instructions, when the program instructions are executed by a computer
  • the computer is caused to perform the method of any of the above method embodiments.
  • the implementation of the TPE node of the method and device (system) for making the MPLS EVPN core SPE node not aware of the user MAC is further described in detail below with reference to FIG. 5: establishing an MPLS EVPN network as shown in FIG. 5, including The CE node, the TPE node, and the P node use the ingress replication mode for the BUM packet forwarding.
  • the PDN tunnel uses the LDP LSP.
  • the CE1 and the TPE1 are connected through the AC1 on the ESI1.
  • the CE2 and the TPE2 are connected through the AC2 on the ESI2 without loss of generality.
  • the process of communicating between the CE1 and the CE2 in the broadcast domain BD1 of one of the EVPN instances of the EVI2000 through the TPE1 and the TPE2 is considered, without loss of generality. Only the ARP of CE1 requesting CE2 and the CE2 replying to ARP by CE1 are considered. The forwarding situation on TPE1 and TPE2 in which both AC1 and AC2 belong to the broadcast domain BD1.
  • the deployment of the EVPN network of each preferred embodiment of the present specification imposes specific constraints, which are adjusted by the administrator of the EVPN network by adjusting the configuration on each node, unless otherwise specified.
  • these constraints are: First, the node identifier of each TPE/SPE node is a unicast routable IP address, and only the last 20 bits of the node identifier of each TPE/SPE node can be
  • the EPE network uniquely identifies the TPE/SPE node; secondly, the node identifier of each TPE/SPE is simultaneously used as: LSRID of LDP and RSVP-TE, router ID of BGP, source IP address of TCP session of BGP session, The next hop address of the P2MP LSP that is rooted by the node when the node advertises the BGP route; the root node identifier of the FEC of the P2MP LSP with the node as the root; the IP address of the FEC of
  • each TPE node in the preferred embodiment of the present specification allocates two independent labels for each local BD, respectively, as L1 and L2, respectively.
  • the tag L1 is the IRML or DAML tag carried in the IMET route corresponding to the BD (if needed)
  • the tag L2 is the DAEEL tag in the EAD-EVI route (if issued) issued by the TPE node for the BD, and each time
  • Each TPE node assigns an upstream distribution mode label L3 to each local BD as a UAML label carried (if carried) in the IMET route corresponding to the BD, and each TPE node has its own node identifier low. 20 bits as the value of your own GUCL tag (if needed).
  • P1, P2, and P3 nodes in the figure also serve as BGP route reflector RR nodes. These RR nodes do not modify the next hop of the reflected EVPN route.
  • each TPE node in the MPLS EVPN network implements the MPLS EVPN service according to the VLAN-based service interface defined in RFC7432. Since there is only one broadcast domain BD in an EVI in the VLAN-based service interface, only The EVI2000, the BD1 is determined accordingly.
  • each TPE does not advertise its own user MACs learned from the local AC through EVPN routes.
  • ESI label for the locally non-contiguous ESI on each TPE needs to be allocated (using the downstream allocation method) and EAD-ES routes are issued, but EAD-EVI routes need not be issued; it is worth noting that the locals are not contiguous.
  • ESI X, EAD-ES routes corresponding to ESI X should be issued only when X has at least one remote EAD-ES route imported into a local EVPN instance.
  • the description of the value of the label stack in each preferred embodiment of the present specification adopts a method of describing only the specific tag values specific to the preferred embodiment and the specific node, and no abstract value rule description is performed.
  • the value rule is described in the embodiment, the value rule of each tag category is described in the tag category name definition, and the two rules are combined with the specific tag value (especially the tag category).
  • the description of the name and the existing EVPN technology one of ordinary skill in the art can easily extract a general label value rule from it.
  • the label stack of the BUM packet forwarded by the TPE1 to the TPE2 (for example, the ARP request packet from the CE1) is recorded as the label stack 1.
  • the label stack 1 has three layers of LSE from the inside to the outside, followed by IREL, IRML, and LDPL.
  • the value of the label in each layer LSE is as shown in the label stack 1 in FIG. 6 (the inner label is on the top and the outer label is on the bottom, FIG. 7, FIG. 8, FIG. 9, FIG. 10, FIG. 11, FIG. 12, FIG.
  • the ESI1_TPE2_IREL is the ingress replication mode ESI label allocated by the TPE2 to the ESI1.
  • the label is advertised by the TPE2 to the TPE1 through the EAD-ES route, and the TPE2_P_LDPL is the LDP LSP of the TPE1 to the TPE2.
  • the label, BD1TPE2_TPE2_IRML is the IRML label allocated by the TPE2 to the BD1, and the IRML label is the downstream distribution mode label carried in the IMET route.
  • the ESI1_TPE2_IREL label is encapsulated regardless of whether the AC1 on the TPE1 is a DF or a non-DF role on the ESI1. ;
  • RFC7432 explicitly requires that when AC1 is in the DF role, the BUM message received from AC1 is forwarded to the remote node without encapsulating the ESI label. This makes the correspondence between the learning MAC entry and the destination ESI in the data plane become Impossible; in which the EVPN forwarding procedure TPE1 defined in RFC7432 sends a BUM packet to TPE2 does not enter ESI because of the existence of the ESI label and the release of the EAD-ES route for the local non-contiguous ESI on the TPE.
  • the label push process which is performed by the modified MPLS EVPN control plane of the preferred embodiment, enters this process because TPE2 issues an EAD-ES route corresponding to ESI1 to TPE1.
  • the TPE2 determines the BD to which the packet belongs by using the IRML label in the ARP request packet.
  • the known unicast packets forwarded by TPE2 to TPE1 need to be assigned to the ESI label of TPE1 for the local ingress ESI (ie ESI2) of the packet (using the downstream allocation method).
  • the stack is marked as the label stack 2, and the label stack 2 includes the DAEL, DAEEL, and LDPL three-layer labels from the inside to the outside, wherein the values of the labels are as shown in the label stack 2 in FIG. 6:
  • ESI2_TPE1_DAEL tag is TEC1 for the DAEL tag issued by ESI2, and ESI2 is the ESI to which the ingress AC of the ARP Reply message belongs.
  • each The load balancing information is forwarded to a neighboring TPE node of ESI1, and the value of the DAEL label in the label stack 2 is consistent with the EAD-EVI route forwarding information selected by the load balancing, because load balancing is selected to the TPE1 in this example.
  • the forwarding information of the EAD-EVI route, so the DAEL label value in the label stack 2 selects the ESI2_TPE1_DAEL, where TPE1 is a contiguous TPE node of ESI1.
  • the ESI1BD1_TPE1_DAEEL label that is, the FEC is the DAEEL label of the ⁇ ESI1, BD1>. Therefore, the ESI1BD1_TPE1_DAEEL is the label in the EAD-EVI route issued by the TPE1 for the binary ⁇ ESI1, BD1>, where ESI1 is the ARP Request message.
  • the MAC learning is divided into two steps: the first step (referred to as the first step of MAC learning in the following embodiments), and the BUM message from the MPLS encapsulated EVPN data packet (in this example, the The value of the remote entry ESI of the ARP request packet is obtained in the ARP request packet; the second step (the second step of the MAC learning is the same in each preferred embodiment except the special description), The ESI records the destination ESI of the host that is the source MAC identifier of the BUM message in the BD1.
  • the TPE1_P_LDPL label is an outgoing label of the LDP LSP from TPE2 to TPE1, wherein the TPE1 is selected by each load balancing process in each adjacent TPE of the ESI1.
  • CE1 After the CE1 sends an ARP Request message to CE2 until CE1 receives the ARP Reply message from CE2, CE1 can send the ordinary unicast Ethernet data packet EDP1 to the CE2 (the destination MAC address is M2).
  • the ARP response message enters the same MAC learning process as that on the TPE 2 (that is, the correspondence between the MAC entry and the destination ESI is obtained from the IREL tag and the inner layer source MAC), when the EDP1 reaches the TPE1 node, Is a known unicast message, and the EDP1 forwards the EDP1 to an adjacent PE node of the ESI2 according to the same logic as the TPE2; each TPE receives any legal MPLS encapsulated EVPN datagram from the network side.
  • the MAC learning process is performed, and the correspondence between the learned MAC entry and its destination ESI can be used for the corresponding purpose in the corresponding broadcast domain.
  • the PSN tunnel of the preferred embodiment may use not only an LDP LSP but also an MPLS tunnel or an LSP such as an RSVP tunnel, a static TE tunnel, a BGP-LU LSP, or an SR-MPLS; and the preferred embodiment is The description is convenient.
  • the communication between CE1 and CE2 is taken as an example.
  • the ARP interaction process is symmetric with the ARP interaction process in the preferred embodiment.
  • the MAC learning process and the data forwarding process defined in the preferred embodiment are not limited to ARP packets, and ordinary Ethernet data packets are available, including BUM reports.
  • the unicast packet wherein the BUM packet refers to the flow of the ARP request packet, and the unicast packet is referred to the flow of the ARP signature packet.
  • the data packet encapsulation format adopted by the preferred embodiments of the present disclosure and its comparison with PBB EVPN are as shown in FIG. 2 , wherein the target encapsulation is the encapsulation used in the disclosure, which does not include 802.1.
  • the ah PBB header, and in addition to the contents of the label stack, has exactly the same structure as the MPLS EVPN data encapsulation format defined in RFC7432. It is worth noting that it does not include the PBB package or the VXLAN package.
  • the preferred TPE node defined in Embodiment 1 has the following drawbacks: it can only be used in the topology without the SPE node shown in Figure 5, and cannot be used in the topology with the SPE node shown in Figure 1.
  • ESI2_TPE1_DAEL is the downstream allocation mode ESI label allocated by TPE1.
  • the ARP response message may be load balanced by the SPE1 node to the TPE3 node, thus causing an unpacking error on TPE3.
  • the preferred embodiment 1 requires each TPE to assign an ESI label of the downstream allocation mode to the ESI having no adjacency relationship locally, which increases the control plane burden and label consumption of the TPE.
  • the preferred embodiment replaces the DAEL tag in the tag stack 2 with an upstream distribution mode ESI tag.
  • the preferred embodiment uses the method of enhancing the TPE node to make the SPE node not aware of the user MAC entry, and each SPE node is implemented by draft-heitz-bess-evpn-option-b (hereinafter referred to as [EVPN Option B]).
  • the SPE node does not change the value of the ESI label in the EAD-ES route when changing the next hop of the EAD-ES route and re-issuing, whether the ESI label is an upstream allocation method or Downstream distribution method.
  • the P node in FIG. 5 is replaced with the SPE node in conjunction with FIG. 1 to become a TPE node of the technical solution of the method and device (system) for making the MPLS EVPN core SPE node not aware of the user MAC.
  • the implementation is further described in detail: the preferred embodiment is identical to the preferred embodiment 1 except where specifically stated.
  • each TPE indicates in its own EAD-ES route whether its ESI label is an upstream distribution label or a downstream distribution method label.
  • an EAD-ES route can carry both an upstream allocation mode ESI label and a downstream allocation mode ESI label. In this case, it is necessary to indicate which one is the upstream allocation mode ESI label. This is true of the following preferred embodiments and will not be described again.
  • the label stack of the BUM message forwarded by the TPE1 to the TPE2 is recorded as the label stack 3.
  • the label stack 3 includes UAEL, GUCL, RSPL, IRML and a 5-layer label such as LDPL, wherein the label value in each layer LSE in the label stack 3 is as shown in the label stack 3 in FIG.
  • the ESI1_TPE1_UAEL is a UAEL label assigned to the ESI1 by the TPE1, and the ESI1 is The ESI to which the ingress AC of the ARP Request message belongs;
  • the TPE1UNLS_GU_GUCL tag is the globally unique identifier of the TPE1 in the EVPN network shown in Figure 1, and the TPE1 advertises the tag in each EAD-ES route through the GUCL extended community attribute;
  • the BD1TPE2_SPE1_IRML is an IRML label after the TML2 allocates the IRML label allocated to the BD1 through the SPE, and the SPE1_P_LDPL is an outgoing label of the LDP LSP from the TPE1 to the SPE1;
  • the DPI_RSPL is used to give a pop-up
  • the node of the DPI_RSPL label indicates that the inner layer is adjacent to the two layers of labels (ie, the UAEL label and the GUCL label) as a
  • the first step of the MAC learning process is different from the MAC learning first step in the preferred embodiment 1.
  • the specific process is as follows: A specified value of the RSPL tag knows that a double pop-up operation is required after the RSPL tag is popped up. In the EVPN context, the two tags of the double pop-up operation are considered to be the inner UAEL tag and the outer GUCL tag, respectively, and then the EAD received by the TPE2 is searched. - the EAD-ES route in which the ESI label is equal to the UAEL label and the GUCL label is equal to the GUCL label, and the value of the ESI field in the NLRI of the EAD-ES route is the ARP request. The value of the remote entry ESI of the message.
  • the LSE where the GUCL tag is located is the context identifier LSE, and the UAEL tag is the remote entry ESI tag, and the RSPL tag is The context identifier is a predictive label.
  • the label stack of the known unicast message forwarded by the TPE2 to the TPE1 is recorded as the label stack 4.
  • the label stack 4 is a 5-layer LSE such as UAEL, GUCL, RSPL, DAEEL and LDPL from the inside to the outside.
  • the value of the label in each layer LSE is as shown in the label stack 4 in FIG. 7 .
  • the TPE2 issues the label in the EAD-ES route through the GUCL extended community attribute;
  • the DPI_RSPL is the same as the DPI_RSPL in the label stack 3;
  • ESI1BD1_SPE2_DAEEL is the DAEEL tag corresponding to ⁇ ESI1, BD1> received by the local node, which is the same as the DAEEL tag in the preferred embodiment 1, except that the DAEEL received by the TPE2 in the preferred embodiment
  • the tag is assigned by SPE2.
  • the SPE2_P_LDPL label is the outgoing label of the LDP LSP from TPE2 to SPE2.
  • CE1 After the CE1 sends an ARP Request message to CE2 until CE1 receives the ARP Reply message from CE2, CE1 can send the ordinary unicast Ethernet data packet EDP1 (the destination MAC address is M2) to CE2.
  • the MAC learning process is also performed when the ARP response packet is sent.
  • the EDP1 is a known unicast packet when the EDP1 is sent to the TPE1 node, and the EDP1 forwards the EDP1 to the same logic as the TPE2.
  • TPE1 knows from the DPI_RSPL tag that its inner layer is next to the label as a GUCL label, and the inner layer of the GUCL label is a UAEL label, and neither the GUCL label nor the UAEL label can be in the per-platform label space of the TPE1.
  • the ILM table is checked, and the ESI corresponding to the two is found according to the following rule: carrying the upstream allocation mode ESI tag of the UAEL tag and the EAD-ES route of the GUCL extended community attribute of the GUCL tag.
  • the ESI value in the NLRI is the ESI value corresponding to the two; each TPE receives any legal MPLS encapsulated EVPN data packet from the network side, whether the data packet is a BUM packet or a known unicast packet.
  • the MAC learning process is performed, and the correspondence between the learned MAC entry and its destination ESI can be used for forwarding the Ethernet data packet of the corresponding destination MAC in the corresponding broadcast domain; it is worth noting that In the mode of BUM packet forwarding, the upstream allocation mode ESI label is adopted, which is not available in the prior art.
  • the prior art considers that the ingress replication mode should adopt the downstream allocation mode ESI label, and in the preferred embodiment, it is precisely
  • the upstream allocation mode ESI label in the BUM message of the ingress replication mode avoids that each non-contiguous TPE of the ESI has to issue a corresponding EAD-ES route (otherwise the non-contiguous TPE cannot learn the ESI for the data plane).
  • the UAEL label is encapsulated in the unicast packet forwarding, so that the ARP reply packet sent by the TPE2 to the TPE1 or the TPE3 can be forwarded to the CE1.
  • the tag values of the UAEL and DAEL assigned by the same TPE to the same local ESI can be equal, but even if they are equal, they are essentially different tags; further, when the TPE implementation can guarantee any local ESI UAEL
  • the tag values of DAEL and DAEL are equal, the two can even be carried by the same field, but this disclosure does not recommend this; in general, UAEL and DAEL should be carried by two fields, both of which can be in the same BGP route attribute. , can also be in different routing properties.
  • the GUCL tag can be published by BGP extended community attribute or path attribute, or by the lower 20 bits of the node identifier.
  • the GUCL extended community attribute is a newly defined BGP extended community attribute used to publish GUCL tags, which is just one way to publish GUCL tags.
  • the MAC learning can simultaneously record the destination ESI and the destination TPE of the MAC entry, and select the forwarding information in the EAD-EVI route according to the destination TPE, so that the The packet sent by a host and the packet sent to the host go through the same forwarding path (only in different directions); when ESI is in all-active mode, it can be handled as such, but from the user's point of view, it may not be done. Necessary.
  • the preferred embodiment 2 solves the problem that the TPE in the preferred embodiment 1 cannot be used with the SPE node.
  • the RFC7274 requires the ESPL to be preferentially used instead of the RSPL, because there are only 16 RSPLs, which are very scarce resources.
  • the preferred embodiment replaces the RSPL tag with an ESPL tag.
  • the present preferred embodiment is identical to the preferred embodiment 2 except where specifically stated.
  • control plane and the forwarding plane of the EVI instance all adopt the VLAN-aware bundle service interface, which means that each BD is composed of a dual group ⁇ the EVI instance to which the BD belongs.
  • the ETI> corresponding to the BD is identified.
  • the label stack of the BUM message forwarded by the TPE1 to the TPE2 is recorded as the label stack 5.
  • the label stack 5 is identical to the label stack 3, and the TPE2 forwards the known list to the TPE1.
  • the label stack of the broadcast message is recorded as the label stack 6.
  • the label stack 6 is obtained by replacing the DPI_RSPL label in the label stack 5 with the DPI_ESPL label and the outer XL label thereof.
  • the label stack 5 and the label stack 6 are The details of the value of the label in each LSE are as shown in FIG. 8; wherein the XL label is a label with a label value of 15, and the DPI_ESPL is an ESPL label with a label value of the specified value TBD1.
  • TPE1 when the top label is When the value is TBD1 and is an ESPL label, TPE1 knows that the label is popped up to perform a double pop-up operation. Because it is in the EVPN context, TPE1 also knows that the inner label of the double pop-up operation is the outer label of the ESI label. GUCL label.
  • the other processing procedures are the same as in the preferred embodiment 2 except that the dual pop-up predictive label is ESPL instead of RSPL.
  • RSPL/ESPL label is the context identifier predictive label.
  • the ESPL/RSPL label can also be used for the hybrid networking of the existing TPE node and the TPE node defined by the present invention.
  • the specific method is as follows: if the TPE 30 is an existing TPE node, the TPE 30 is advertised through the BGP route. The MAC entry does not require other nodes to perform MAC learning on the data plane of the MPLS encapsulated EVPN data packet sent by itself; conversely, if the TPE 31 is a TPE node defined by the present invention, it preferably does not issue a MAC entry through the BGP route, and thus needs other The point is the MAC learning of the data plane.
  • the TPE31 node When the two are mixed, the TPE31 node sends the MAC entry to the TPE30 node through the BGP route. However, the TPE node defined by the present invention does not issue the MAC through the BGP route. The entry, and the TPE31 node only performs MAC learning on the data plane of the MPLS encapsulated EVPN data packet carrying the specified RSPL/ESPL label, and thus the MPLS encapsulated EVPN data packet sent by the TPE30 node does not carry the designated RSPL/ On the ESPL label, the TPE31 node does not perform MAC learning on the data plane of these messages.
  • the hybrid networking capability enables the continuity of the running EVPN service to be maintained to some extent when the TPE nodes defined by the present invention replace the existing TPE nodes that are running the EVPN service one by one.
  • the preferred embodiment 3 solves some of the problems of the preferred embodiment 1 and the preferred embodiment 2, but like the two preferred embodiments, there are still some areas for improvement.
  • the use of ESPL tags makes the tag layer in the tag stack too much, which increases the burden on the forwarding plane.
  • the SPE node does not perceive the user MAC entry, it still needs to perceive the EAD-EVI route, if there are M ESIs, The ESI joins N broadcast domains, then there will be M multiplied by N EAD-EVI routes on the SPE.
  • the preferred embodiment removes the RSPL/ESPL label and replaces the EAD-EVI route with EAD-ES routing (so no EAD-EVI routing is required), and accordingly, a new SPE node needs to be defined.
  • TPE node of the method and device (system) for making the MPLS EVPN core SPE node not aware of the user MAC is further described in detail below with reference to FIG. 1.
  • the preferred embodiment is described except where otherwise specified. The same as the preferred embodiment 3.
  • the preferred embodiment uses the VLAN-aware bundl service interface to forward data packets and uses the VLAN-aware bundle service interface to advertise IMET routes.
  • the preferred embodiment does not publish EAD-EVI routes and publish EAD-ES routes using a VLAN-based service interface.
  • each BD can still be identified by the binary group ⁇ the EVI instance to which the BD belongs, and the ETI> corresponding to the BD.
  • the values of the ETIs of the identified broadcast domains in different EVIs on the same TPE are not equal to each other. Therefore, the BDs can be directly identified only by the ETI.
  • the label stack of the BUM message forwarded by the TPE1 to the TPE2 is recorded as the label stack 7, and the label stack 7 is obtained by removing the RSPL from the label stack 5, wherein the label of each LSE is taken.
  • the value is shown in label stack 7 in Figure 9.
  • the TPE2 writes the BD1TPE2_TPE2_IRML tag to the TPE1, and writes the context information indicating the double pop-up indication in the ILM table of the tag, so that the tag becomes a DPI tag of the downstream allocation mode at the same time, and the TPE2
  • the TPE2 carries the DPI extended community attribute in the IMET route that advertises the IRML label.
  • the TPE1 knows that the IRML is also a DPI label by using the extended community attribute. Therefore, the RSPL label or the ESPL label is not added to the packet.
  • the MAC learning process performed by the TPE2 after receiving the ARP request packet is consistent with that of the preferred embodiment 3 except that the DPI tag type is different, except that the broadcast domain in the preferred embodiment is VLAN-aware.
  • the broadcast domain under the bundle user interface.
  • the label stack of the known unicast message forwarded by the TPE2 to the TPE1 is recorded as the label stack 8.
  • the label stack 8 includes four layers of LSEs, such as UAEL, GUCL, NHEL, and LDPL, from the inside to the outside.
  • the label stack 8 is obtained by removing the ESPL label and the XL label from the label stack 6 and replacing the DAEEL label with the NHEL label.
  • the value of each LSE label is as shown in the label stack 8 in FIG.
  • the ESI1_SPE2_NHEL is received by the TPE 2
  • the next hop ESI tag carried in the EAD-ES route of ESI1, specifically, the ESI1_SPE2_NHEL tag is allocated by SPE2.
  • the EAD-ES route is advertised to the SPE1 by the TPE1, and then advertised by the SPE1 to the SPE2, and then advertised by the SPE2 to the TPE2.
  • the intermediate SPE1 and SPE2 both reassign the next hop ESI label to the route and rewrite the next hop as I will republish it later.
  • the TPE1 After receiving the ARP response packet, the TPE1 can directly find the corresponding broadcast domain BD1 by using the outermost two VLAN tags carried in the packet, without the participation of the NHEL tag.
  • the DPI extended community attribute is a method for notifying a tag to have DPI capability by defining a new BGP extended community attribute, but the DPI capability notification method is not limited thereto.
  • each TPE node is implemented according to the TPE node defined in the preferred embodiment, and each SPE node is implemented according to draft-heitz-bess-evpn-option-b (hereinafter referred to as [EVPN Option B]).
  • the SPE node in the preferred embodiment can identify the EAD-ES route sent by the TPE node and carrying the original ESI label and the next hop ESI label, and replace the route hop of the next hop mode in the EAD-ES route.
  • Rewriting the next hop ESI tag without rewriting the original ESI tag, and rewriting the new next hop ESI tag used by the next hop ESI tag conforms to the following rule: the new next hop
  • the ESI label is a label of the downstream allocation mode and is allocated by the SPE1 node; the new next hop ESI label forms a label switching operation with the original next hop ESI label on the forwarding plane, where the new next hop ESI label For the incoming tag, the original next hop ESI tag is the outgoing tag.
  • the GUCL tag is used to carry the node identification information of the ingress TPE to the egress TPE, but the context information of the part of the MPLS tunnel (such as RSVP-TE or P2MP LSP) has the ingress LSR information of the tunnel, EVPN
  • the ingress LSR of the ingress TPE and the EVPN outer tunnel can be identified by the same IP address.
  • the node identification information of the ingress TPE is not required to be carried through the GUCL label.
  • the preferred embodiment indirectly obtains the node identification information of the ingress TPE through the context information of the MPLS tunnel to further reduce the length of the label stack.
  • the present preferred embodiment is identical to the preferred embodiment 1 except where specifically stated.
  • the preferred embodiment uses an mLDP tunnel to replicate BUM messages.
  • the label stack of the BUM message forwarded by the TPE1 to the TPE2 is recorded as the label stack 9.
  • the label stack 9 includes three layers including UAEL, UAML, and MLDPL from the inside out. LSE, wherein the value of the label of each layer LSE is as shown in the label stack 9 in FIG.
  • the ESI1_TPE1_UAEL is the same as the label stack 7; wherein the BD1TPE1_TPE1_UAML is a UAML label allocated by the TPE1 to the BD1;
  • the TPE1BD1_P(TPE2)_MLDPL is the downstream allocation mode of the MLDP P2MP LSP allocated by the TPE1 and the TPE1 with the BD1 as the Opaque Value.
  • the ARP request received by the TPE2 is noted.
  • the LSE where the MLDPL tag is located is the context identifier LSE
  • the UAEL tag is the remote entry ESI tag.
  • the label stack of the known unicast message forwarded by the TPE2 to the TPE1 is recorded as the label stack 10.
  • the label stack 10 includes three layers of LSEs, such as UAEL, NHEL and RSVPL, from the inside to the outside, wherein The value of the label of each layer LSE is as shown in the label stack 10 in FIG. 10: wherein the ESI2_TPE2_UAEL and ESI1_TPE1_NHEL are the same as the label stack 8; wherein the TPE1_P_RSVPL is the P device between TPE2 and TPE1 from TPE2 to TPE1.
  • LSEs such as UAEL, NHEL and RSVPL
  • the downstream distribution mode of the RSVP-TE tunnel is out of the label; wherein the label stack 6 is obtained by replacing the DPI_RSPL label in the label stack 5 with the DPI_ESPL label and the outer XL label; wherein the XL label is A label with a label value of 15, DPI_ESPL is an ESPL label with a label value of TBD1.
  • TPE1 On TPE1, when the top label value is TBD1 and is an ESPL label, TPE1 knows that the label is popped up to perform a double pop operation. Because it is in the EVPN context, TPE1 also knows that the inner label corresponding to the double pop-up operation is the outer label of the ESI label is a GUCL label.
  • the LSE where the RSVPL tag is located is the context identifier LSE, and the UAEL tag is the remote portal ESI tag.
  • the other processing procedures are the same as in the preferred embodiment 2 except that the double pop-up predictive label is ESPL instead of RSPL.
  • the solution in the preferred embodiment 5 is only applicable to the EVPN network without the SPE node shown in FIG. 5, and is not applicable to the EVPN network with the SPE node shown in FIG. 1 because, in the EVPN network shown in FIG. 1, RSVP-TE
  • the tunnel can only be established from TPE2 to SPE2.
  • the RSVPL label received by TPE1 is actually the label of the RSVP-TE tunnel that is built from SPE1 to TPE1.
  • the context information of the RSVPL label actually contains the node identifier information of SPE1. Instead of the node identification information of the TPE2, the TPE1 node cannot perform a correct MAC learning process for the ARP reply message.
  • the preferred embodiment solves the above problem by adding a downstream distribution mode operation predictive tag DAOIL to a known unicast message.
  • the present preferred embodiment is identical to the preferred embodiment 5 except where specifically stated.
  • the preferred embodiment replaces the P node in FIG. 5 with an SPE node, and becomes the EVPN network structure shown in FIG. 1.
  • the label stack of the BUM message forwarded by the TPE1 to the TPE2 is recorded as the label stack 11, and the label stack 11 includes three layers including UAEL, UAML, and MLDPL from the inside out.
  • LSE wherein the value of the label of each layer LSE is as shown in the label stack 11 in FIG. 11: wherein the ESI1_TPE1_UAEL and BD1TPE1_TPE1_UAML are the same as the label stack 9; wherein the TPE1BD1_P(SPE1)_MLDPL is between TPE1 and SPE1
  • the P/SPE device is configured to label the downstream distribution mode of the MLDP P2MP LSPs with the TPE1 as the root.
  • the MLDPL is allocated by the SPE1. It is noted that although the MLDPL label received by the TPE2 is TPE2, the SPE2 is the root.
  • the inbound label allocated by the mLDP P2MP LSP does not include the node identification information of the TPE1, but includes the context information of the UAML label received by the TPE2, and the UAML label can be learned according to the context information and the UAML label.
  • the FEC information includes the node identification information of the TPE1, and the value of the ESI1 can be obtained by using the node identification information and the UAEL label received by the TPE2.
  • the LSE where the MLDPL tag is located is the context identifier LSE, and the UAEL tag is the remote entry ESI tag.
  • the label stack of the known unicast message forwarded by the TPE2 to the TPE1 is recorded as the label stack 12.
  • the label stack 12 includes five layers including UAEL, GUCL, DAOIL, NHEL and RSVPL from the inside out. LSE, wherein the value of the label of each layer LSE is as shown in the label stack 12 in FIG.
  • ESI2_TPE2_UAEL, TPE2UNLS_TPE2_GUCL, and ESI2_SPE2_NHEL are the same as the label stack 8; wherein the SPE2_P_RSVPL is a P device between the TPE2 and the SPE2 Deriving a label for the downstream allocation of the RSVP-TE tunnel allocation from the TPE2 to the SPE2; wherein the DPI_TPE1_DAOIL is a DAOIL label indicating a double pop-up operation allocated on the TPE1; the TPE1 receives the DPI_TPE1_DAOIL as a current stack After the MPLS encapsulates the EVPN data packet of the top label, it is considered that the DPI_TPE1_DAOIL label needs to perform a dual eject operation in the immediate vicinity of the two-layer label.
  • the SPE1 is configured to load balance the known unicast packet to the TPE2 node. And causing the TPE2 node to discard the packet because the DPI_TPE1_DAOIL label is not recognized, and the double pop-up indicating the DAOIL label allocated on all adjacent PEs of the same ESI Must be the same, this can be a double pop-up tags to indicate DAOIL guarantee can also be guaranteed by a central node responsible for the reunification of the double on all nodes TPE pop label indicates DAOIL static configuration.
  • the tag value of the DAOIL tag may also be reserved in each platform label space and retained by the TPE nodes (retained as the same tag value), and the TPE nodes notify their support by signaling. The ability to describe DAOIL tags to other TPE nodes.
  • DAOIL tag is the context identifier predictive tag.
  • the preferred embodiment 4 reduces the length of the label stack by removing the DPI label, it can only support the label stack format carrying the GUCL label and the UAEL label due to the lack of the DPI label, when the two remote TPEs carry the GUCL label and the UAEL Labels, when one does not carry the GUCL label and the UAEL label, it cannot be distinguished.
  • the preferred embodiment addresses this issue by introducing a DACL tag.
  • the label stack of the BUM message forwarded by the TPE1 to the TPE2 is recorded as the label stack 13.
  • the label stack 13 is obtained by replacing the GUCL label in the label stack 7 with a DACL label.
  • the value of the label of each LSE is as shown in the label stack 13 in FIG. 12: wherein the TPE1UNLS_TPE2_DACL is a downstream allocation mode label allocated by the TPE2 to identify an upstream neighbor label space on the TPE1 node;
  • Each TPE needs to allocate one DACL label to each remote TPE, and the DACL labels allocated to the same remote TPE on the neighboring TPEs of the same ESI must be equal, which can be configured by statically configuring the DACL label. To guarantee.
  • each TPE is to notify the corresponding remote TPE of each DACL label that is allocated by the TPE.
  • the TPE2 can obtain the TPE1 by using the TPE1UNLS_TPE2_DACL carried in the packet.
  • the identification information of the UNLS label space is then used to find the value of ESI1 by checking the ILM table in the label space with ESI1_TPE1_UAEL.
  • the LSE where the DACL tag is located is the context identifier LSE, and the UAEL tag is the remote entry ESI tag.
  • the label stack of the known unicast message forwarded by the TPE2 to the TPE1 is recorded as the label stack 14, and the label stack 14 replaces the GUCL label in the label stack 8 with the DACL label. It is obtained that the value of the label of each LSE is as shown in the label stack 14 in FIG. 12: wherein the DACL label has the same meaning as the DACL label in the label stack 13, except that the corresponding node is different.
  • the LSE where the DACL tag is located is the context identifier LSE, and the UAEL tag is the remote ingress ESI tag.
  • the DACL label can be advertised by defining a new BGP route type, or by carrying a new BGP route attribute in the existing BGP route.
  • the preferred embodiments 1-7 only consider the case where all ACs are bound with valid ESI (the value is not 0).
  • ESI the value is not 0
  • the remote TPE node after receiving the Ethernet data packet from the single-homed AC and sending it to the remote TPE node in the form of MPLS-encapsulated EVPN data packets, The remote TPE node must learn the correspondence between the MAC entry and its destination TPE node, instead of learning the correspondence between MAC and ESI. Because ESI is 0, it does not really represent an ES.
  • the ES with ESI of 0 on each TPE does not. Belongs to the same ES.
  • the preferred embodiment adds two single-homed ACs and their corresponding CE nodes on the basis of FIG. 1, and becomes FIG. 13, and then describes the MAC learning flow when there is a single-homed AC based on FIG.
  • the preferred embodiment is the same as the preferred embodiment 3 except where specifically stated.
  • the preferred embodiment In addition to examining the ARP request/response interaction between CE1 and CE2, the preferred embodiment also examines the ARP request/response interaction between CE7 and CE6, due to the ARP request/response interaction procedure and preferred implementation between CE1 and CE2.
  • Example 3 is identical. Unless otherwise specified, the ARP request/response message described in this section refers to the ARP request/response message exchanged between CE7 and CE6.
  • the LSE where the GUCL tag is located is the context identifier LSE.
  • the label stack of the BUM message received by the TPE1 from the AC with the ESI of 0 and forwarded to the TPE2 is recorded as the label stack 15, and the label stack 15 includes the GUCL from the inside out.
  • a 5-layer LSE such as ESPL, XL, IRML, or LDPL, wherein the value of the label in each layer LSE is as shown in the label stack 15 in FIG.
  • the UNLSI_ESPL is an ESPL label having a value of TBD3, and the UNLSI_ESPL is The label pops up on the node of the label stack (in this case, TPE2), which indicates that the inner layer is next to the label in the global UNLS label space, and in the EVPN context, further indicates that it is a GUCL label; then, TPE2 will The GUCL tag is compared with the GUCL tag carried in the IMET route in the BD1 received by the TPE2, and the IP address of the source router in the equal IMET route is the destination TPE node corresponding to the source MAC of the ARP packet. Node identification information.
  • the label stack of the known unicast message received by the TPE2 from the AC with the ESI of 0 and forwarded to the TPE1 is recorded as the label stack 16, and the label stack 16 is from the inside out. It includes a 5-layer LSE such as GUCL, ESPL, XL, DAML, LDPL, etc., wherein the values of the labels in each layer LSE are as shown in the label stack 16 in FIG.
  • the GUCL, ESPL, LDPL value rules and the label stack 15 The same is true, except that the corresponding node is different; wherein the BD1TPE1_TPE1_DAML tag is a DAML tag allocated by the TPE1 node to the BD1, and the tag is based on the destination MAC of the ARP response message (ie, MAC1) and the MAC1 obtained from the MAC learning process.
  • the destination TPE (ie TPE1) is obtained from the IMET route sent by the TPE1 node for BD1.
  • the LSE where the GUCL tag is located is the context identifier LSE.
  • the forwarding procedure and the MAC learning procedure of the packet received by the AC from the ESI that is not 0 are the same as the preferred embodiment 3.
  • the receiving end distinguishes the two types of packets by using different values of the ESPL/RSPL label.
  • the ESPL tag is the context tag predictive tag.
  • the single-homed AC can also be processed in a manner substantially consistent with the foregoing preferred embodiments by issuing an EAD-ES route and an EAD-EVI route with an ESI of 0.
  • EAD-ES and EAD-EVI routes with different ESIs issued by different TPEs must carry different RDs. This is to prevent these routes from forming protection relationships (such as load sharing relationships) on SPE nodes, and also avoid SPE nodes. Modify the label in the EAD-ES (or EAD-EVI) route with ESI 0 from different TPEs (such as the next hop ESI label) to the same downstream allocation mode label assigned by the SPE node.
  • the same TPE node pair The EAD-EVI routes with ESI 0 of different broadcast domain BDs must also carry different RDs.
  • the protection relationship (such as the load sharing relationship);
  • the LSE where the GUCL tag is located as a context identifier LSE may be equivalent to the source node identifier as a whole, and the determination method is: All the bits other than the bottom of the stack constitute a value P, and all the bits in the source node identifier except the unicast/multicast flag constitute the value Q. If P and Q are equal, the LSE is equivalent to The source node identifier, or the LSE, is consistent with the node identification information in the source node identifier.
  • the forwarding information is obtained from the IMET route whose original router IP address field is equal to the destination TPE of the MAC entry, and the method can also be applied to the following scenario: the TPE Issuing a MAC distribution route to the route reflector RR node instead of the SPE node, but still issuing the EAD-ES, EAD-EVI, IMET route to the SPE node, the TPE receiving the MAC distribution route but not using the label in the MAC distribution route And the next hop information, using only the ESI information or the original node identifier information (such as the value of OPE TLV) in the MAC distribution route to select information in other types of EVPN routes (such as EAD-EVI routing or IMET routing) As forwarding information.
  • the TPE Issuing a MAC distribution route to the route reflector RR node instead of the SPE node, but still issuing the EAD-ES, EAD-EVI, IMET route to the SPE node, the TPE receiving the MAC distribution route but
  • the user MAC entry can also be made undetected on the SPE node (instead, the other RR node perceives the user MAC entry, but the RR node does not forward the data traffic, and the two bear the traffic pressure and the routing pressure respectively).
  • the TPE node does not need to perform MAC learning on the data plane, provided that a route reflection network can be established.
  • the GUCL tag can also be used to optimize VPLS auto-discovery as defined by RFC6074.
  • the control plane of the VPLS automatic discovery is two processes: the first step is to discover the PW to be established by using BGP, and the second step is to establish the discovered PW by using LDP.
  • the PW discovery and establishment process can be completed simultaneously in the first step of the improvement, so that the second step is no longer needed.
  • the method is as follows: each VPLS instance is assigned a label, which is called a VPLS label, and the VPLS label is advertised in the auto-discovery route defined in RFC6074, and the dual-group ⁇ local GUCL label, remote VPLS label> constitutes a composite label.
  • PW remote composite label the binary group ⁇ remote GUCL label, local VPLS label> constitutes a composite label, called PW local composite label, replace the original second step with the PW remote composite label
  • PW local composite label the binary group ⁇ remote GUCL label, local VPLS label> constitutes a composite label, called PW local composite label, replace the original second step with the PW remote composite label
  • the PW local label is used to replace the PW local label originally issued in the LDP session, and the PW is established.
  • the VPLS auto-discovery process defined in RFC6074 can also be used to optimize the VPLS auto-discovery process defined in RFC4761 by automatically discovering the label base address of the route by using the VPLS defined in RFC4761.
  • Base acts as the remote VPLS label.
  • the local VEID defined in RFC4761 constructs a label with the same value instead of the GUCL label as the inner layer outgoing label. The two replace the PW outgoing label as a composite label.
  • the improved VPLS automatic discovery process in this way eliminates the need for label allocation based on label blocks (a continuous label), thereby simplifying implementation and improving label resource utilization.
  • the present preferred embodiment is identical to the preferred embodiment 1 except where specifically stated.
  • the ETI of the BD to which the AC belongs is 24 bits wide, and is carried in the EVPN data packet through the two-layer VLAN tag (VLAN-Tag).
  • the BD to which the ARP request message belongs is determined by using two layers of VLAN-Tag instead of one layer of VLAN-Tag.
  • the ETI of the BD may also be embodied in an EVPN data packet as a single-layer extended VLAN-Tag having a value greater than 12-bit VID (VLAN ID, VLAN identifier), and the extended VLAN-Tag may be Indicated by a new Ethertype value.
  • the present preferred embodiment is identical to the preferred embodiment 9, except where specifically stated.
  • the preferred embodiment uses the I component instance to represent the BD bound by the AC, and the B component instance to publish the IMET route and the EAD-ES route; wherein each I component instance is bound to only one B component instance.
  • the preferred embodiment uses the I component instance to represent the BD bound by the AC, and the B component instance to publish the IMET route and the EAD-ES route; wherein each I component instance is bound to only one B component instance.
  • multiple I component instances can be bound to the same B component instance, and different I component instances bound to the same B component instance are distinguished by ETI.
  • the IMET route received by the preferred embodiment in the B component is imported into the associated I component instance according to the ETI, just as the I component instance receives the routes in person.
  • the preferred embodiment is the same as the preferred embodiment 9 in the data packet encapsulation and forwarding procedure except that the manner of indicating the BD and the EVPN routing is different.
  • the cost pressure of decoding the chip by the PBB package or the VXLAN package is avoided.

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

本发明公开了一种数据报文转发的方法及装置,涉及通信技术领域,其方法包括:终结点运营商边缘设备TPE1接收包含标签栈的MPLS封装EVPN数据报文MEDP1,其中,所述MEDP1封装了以太数据报文EDP1,所述EDP1的源MAC为MAC1;所述TPE1根据所述MEDP1中的标签栈确定所述MEDP1所属的远端入口TPE的节点标识符或远端入口ESI的值ESI1,其中,所述远端入口TPE为将所述EDP1封装为MEDP1的远端TPE2节点,所述MEDP1对应的远端入口ESI为所述TPE2节点接收所述EDP1所用的AC所属的ESI。

Description

一种数据报文转发的方法及装置
交叉引用
本发明要求在2018年4月28日提交至中国专利局、申请号为201810401585.6、发明名称为“一种数据报文转发的方法及装置”的中国专利申请的优先权,该申请的全部内容通过引用结合在本发明中。
技术领域
本发明涉及通信领域,特别涉及一种数据报文转发的方法及装置。
背景技术
RFC7432定义的MPLS EVPN在SPE节点上必须感知用户MAC条目,这是因为其TPE之间需要相互发布用户MAC条目,但是,TPE之间直接建立BGP会话在大型EVPN网络中是不实际的,因为TPE数量很多,假设TPE的数量为N,所需BGP会话的数量则为N的二次方。比较实际的做法是,如图1所示,TPE只跟附近的少数几个SPE建立BGP会话,而SPE之间则两两建立BGP会话。由于SPE的数量远远小于TPE的数量,这就大大减少了EVPN网络中所需的BGP会话数量。但这同时也使得SPE要感知用户MAC条目,并且将来自一个TPE的用户MAC条目重新发布给其它TPE或SPE。
RFC7623定义了EVPN业务的PBB EVPN形态,所述PBB EVPN就采用了图1所示的BGP会话建立方式,可以解决大型层次化L2 EVPN网络中SPE节点上用户MAC条目过载的问题,因为PBB EVPN的EVPN实例分为I组件实例和B组件实例,其中B组件实例中不感知用户MAC条目,而所述PBB EVPN在SPE节点上只需要部署PBB EVPN的B组件实例,所述PBB EVPN在TPE节点上需要部署I组件和B组件,但是不需要发布用户MAC条目,因为PBB EVPN的I组件可以在数据面学习用户MAC条目及其转发信息。
但是,RFC7432定义的MPLS EVPN的在IMET路由、EAD-EVI路由 和MAC/IP分发路由中发布的EVPN私网标签均是一种MP2P标签,LDP LSP作为EVPN单播报文转发的外层隧道也是采用的MP2P标签,而MP2P标签的出口节点(即RFC3031定义的MPLS egress node)无法区分不同入口节点(即RFC3031定义的MPLS ingress node)发来的数据报文,这使得出口TPE无法在数据面学习用户MAC条目与归属TPE的对应关系,也就无法确定用户MAC条目的转发信息。因此,所述MPLS EVPN的TPE节点必须发布用户MAC条目信息,所述SPE节点必须感知所有TPE节点上的用户MAC条目信息,由于大型EVPN网络中TPE数量众多,每个TPE上的用户MAC条目也很多,这使得所述MPLS EVPN面临SPE节点用户MAC条目过载的危险,目前解决此问题的方法是改用PBB EVPN或VXLAN over L3EVPN。
现有的PBB EVPN的数据报文封装格式为RFC7623中定义的带有802.1ah PBB头的报文格式,但是,原生的802.1ah本身已经很少部署,为了PBB EVPN而实现802.1ah成本较高。
现有的在大型层次化L2 EVPN网络中使SPE节点不感知用户MAC条目的技术方案,要么需要给报文添加PBB封装,要么需要给报文添加VXLAN封装,通过不带PBB头也不带VXLAN头的封装使层次化L2EVPN网络中SPE节点不感知用户MAC条目的技术方案在一些情形下还不存在。
发明内容
根据本发明实施例提供的方案解决的技术问题是SPE节点MAC条目过载。
根据本发明实施例提供的一种数据报文转发的方法,包括:终结点运营商边缘设备TPE1接收包含标签栈的MPLS封装EVPN数据报文MEDP1,其中,所述MEDP1封装了以太数据报文EDP1,所述EDP1的源MAC为MAC1;所述TPE1根据所述MEDP1中的标签栈确定所述MEDP1所属的广播域BD1和远端入口ESI的值ESI1,其中,所述MEDP1对应的远端入口ESI为将所述EDP1封装为MEDP1的远端TPE2节点接收所述EDP1 所用的AC所属的ESI;其中,所述TPE1将所述远端入口ESI或远端入口TPE用于以下至少之一用途:当所述MEDP1的所述远端入口ESI为指定值且所述EDP1在所述TPE2节点上为已知单播时,所述TPE1对所述MEDP1报文进行指定处理;所述TPE1记录所述远端入口ESI1为<BD1,MAC1>的目的ESI,其中,所述BD1为所述MEDP1所属的广播域BD,所述<BD1,MAC1>的目的ESI为所述BD1中目的MAC为所述MAC1的以太数据报文的目的ESI,所述目的ESI为用于标识MAC1所标识的设备所在的ES的ESI。
所述TPE1记录所述远端入口TPE2为<BD1,MAC1>的目的TPE,其中,所述<BD1,MAC1>的目的TPE为所述BD1中目的MAC为所述MAC1的以太数据报文的目的TPE,所述目的TPE为用于标识MAC1所标识的设备所连接的AC的所在的TPE。
根据本发明实施例提供的一种数据报文转发的方法,包括:终结点运营商边缘设备TPE3从接入电路AC3获取单播以太数据报文EDP3,其中,所述AC3属于以太分段标识符ESI3且所述AC3绑定到以太虚拟专用网络EVPN广播域BD1,所述EDP3的目的MAC为MAC2;所述TPE3以二元组<所述BD1,所述EDP3的目的MAC>为键值查找到对应的目的ESI4或目的TPE5,并据以进行多协议标签交换MPLS封装处理,生成包含本地入口ESI标签、上下文标识标签栈元素LSE和与目的ESI或目的TPE对应的多点到点MP2P出标签的MPLS封装EVPN数据报文MEDP3,且所述上下文标识LSE携带有源节点标识符的信息;优选地,所述TPE3不往所述MEDP3中添加PBB封装或VXLAN封装;所述TPE3不将所述BD1中的本地MAC条目发布给远端TPE节点。
所述TPE3将所述MEDP3转发给所述或目的TPE5或所述目的ESI4的一个邻接节点TPE4;其中,所述ESI4为此前预先确定的所述BD1内目的MAC为所述MAC2的以太数据报文的目的ESI,所述TPE5为此前预先确定的所述BD1内目的MAC为所述MAC2的以太数据报文的目的TPE,所述本地入口ESI为接收所述EDP3的AC3所属的ESI3,所述本地入口ESI标签为所述ESI3的ESI标签,所述源节点标识符为发送所述 MEDP3的TPE3节点在所述EVPN网络中的全局唯一标识符。
根据本发明实施例提供的一种数据报文转发的装置,包括:接收模块,用于接收包含标签栈的MPLS封装EVPN数据报文MEDP1,其中,所述MEDP1封装了以太数据报文EDP1,所述EDP1的源MAC为MAC1;确定模块,用于根据所述MEDP1中的标签栈确定所述MEDP1所属的远端入口TPE的节点标识符或远端入口ESI的值ESI1,其中,所述远端入口TPE为将所述EDP1封装为MEDP1的远端TPE2节点,所述MEDP1对应的远端入口ESI为所述TPE2节点接收所述EDP1所用的AC所属的ESI;其中,所述TPE1将所述远端入口ESI或远端入口TPE用于以下至少之一用途:当所述MEDP1的所述远端入口ESI为指定值且所述EDP1在所述TPE2节点上为已知单播时,所述TPE1对所述MEDP1报文进行指定处理;所述TPE1记录所述远端入口ESI1为<BD1,MAC1>的目的ESI,其中,所述BD1为所述MEDP1所属的广播域BD,所述<BD1,MAC1>的目的ESI为所述BD1中目的MAC为所述MAC1的以太数据报文的目的ESI,所述目的ESI为用于标识MAC1所标识的设备所在的ES的ESI。
所述TPE1记录所述远端入口TPE2为<BD1,MAC1>的目的TPE,其中,所述<BD1,MAC1>的目的TPE为所述BD1中目的MAC为所述MAC1的以太数据报文的目的TPE,所述目的TPE为用于标识MAC1所标识的设备所连接的AC的所在的TPE。
根据本发明实施例提供的一种数据报文转发的装置,包括:获取模块,用于从接入电路AC3获取单播以太数据报文EDP3,其中,所述AC3属于以太分段标识符ESI3且所述AC3绑定到以太虚拟专用网络EVPN广播域BD1,所述EDP3的目的MAC为MAC2;封装模块,用于以二元组<所述BD1,所述EDP3的目的MAC>为键值查找到对应的目的ESI4或目的TPE5,并据以进行多协议标签交换MPLS封装处理,生成包含本地入口ESI标签、上下文标识标签栈元素LSE和与目的ESI或目的TPE对应的多点到点MP2P出标签的MPLS封装EVPN数据报文MEDP3,且所述上下文标识LSE携带有源节点标识符的信息;转发模块,用于将所述MEDP3转发给所述目的TPE5或所述目的ESI4的一个邻接节点TPE4; 其中,所述ESI4为此前预先确定的所述BD1内目的MAC为所述MAC2的以太数据报文的目的ESI,所述TPE5为此前预先确定的所述BD1内目的MAC为所述MAC2的以太数据报文的目的TPE,所述本地入口ESI为接收所述EDP3的AC3所属的ESI3,所述本地入口ESI标签为所述ESI3的ESI标签,所述源节点标识符为发送所述MEDP3的TPE3节点在所述EVPN网络中的全局唯一标识符。
根据本发明实施例提供的一种数据报文转发的设备,所述设备包括:处理器,以及与所述处理器耦接的存储器;所述存储器上存储有可在所述处理器上运行的数据报文转发的程序,所述数据报文转发的程序被所述处理器执行时实现根据本发明实施例提供的数据报文转发的方法的步骤。
根据本发明实施例提供的一种计算机存储介质,存储有数据报文转发的程序,所述数据报文转发的程序被处理器执行时实现根据本发明实施例提供的数据报文转发的方法的步骤。
根据本发明实施例提供的一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行以上各个方面所述的方法。
附图说明
图1是现有技术提供的相关技术中RFC7623定义的PBB EVPN业务的拓扑图;
图2是本发明实施例提供的一种数据报文转发的方法流程图;
图3是本发明实施例提供的一种数据报文转发的装置示意图;
图4是根据本发明实施例提供的报文封装格式示意图;
图5是根据本发明实施例提供的TPE节点单独应用的组网图;
图6是根据本发明实施例的报文的标签栈1和标签栈2的各层LSE中的标签的取值的示意图;
图7是根据本发明实施例提供的报文的标签栈3和标签栈4的各层LSE中的标签的取值的示意图;
图8是根据本发明实施例提供的报文的标签栈5和标签栈6的各层LSE中的标签的取值的示意图;
图9是根据本发明实施例提供的报文的标签栈7和标签栈8的各层LSE中的标签的取值的示意图;
图10是根据本发明实施例提供的报文的标签栈9和标签栈10的各层LSE中的标签的取值的示意图;
图11是根据本发明实施例提供的报文的标签栈11和标签栈12的各层LSE中的标签的取值的示意图;
图12是根据本发明实施例提供的报文的标签栈13和标签栈14的各层LSE中的标签的取值的示意图;
图13是根据本发明实施例提供的单归ES和双归ES混合接入EVPN网络的组网图;
图14是根据本发明实施例提供的报文的标签栈15和标签栈16的各层LSE中的标签的取值的示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
RFC6073定义了T-PE和S-PE的概念,本公开沿用了所述T-PE和S-PE概念,但RFC6073针对的是传统L2VPN业务,本公开描述的是EVPN业务,为了加以区别,本公开将T-PE称为TPE,将S-PE称为SPE。
RFC7432定义了ES(Ethernet Segment,以太网分段)和ESI(Ethernet SegmentIdentifier,以太网分段标识符)的概念,其中,ES分为单归属(Single-homed)ES和多归属(Multi-homed)ES,ESI为多归属ES的标识符。在本公开中,当某个ES与某个TPE相邻时,称该TPE为该ES以及标识该ES的ESI的邻接TPE,否则称为其非邻接TPE。
RFC7432中定义了ESI标签,所述ESI标签用于ESI过滤,所述ESI过滤仅针对BUM报文,已知单播报文不能封装ESI标签,原因在于,目前EVPN单播报文只能封装下游分配方式的标签,若单播报文中封装了下 游分配方式的ESI标签,则所述单播报文在经过Option B跨域节点时,所述Option B跨域节点会将所述单播报文在相应ESI的多个邻接TPE节点之间进行负载均衡,导致所述下游分配ESI标签可能会到达错误的下游。已知单播报文中不能携带ESI标签的限制,使得下游节点在数据面不能获知所述已知单播报文的远端入口ESI,也就无法对指定远端入口ESI的已知单播报文进行差异化处理,比如,无法将指定远端入口ESI的已知单播报文镜像到指定服务器或进行QoS处理,比如,无法在数据面学习所述已知单播报文的源MAC与其远端入口ESI的对应关系。
RFC3032定义了MPLS封装的标签栈编码,PBB EVPN和MPLS EVPN也采用了所述标签栈编码,RFC3032定义的标签栈由一个LSE(Label Stack Entry,标签栈元素,简称LSE)序列所组成,序列中的每个LSE含有32个二进制位,其中,标签值占20位,栈底标识占1位,生存时间TTL占8位,流量类别TC占3位。
RFC7432 Section 6中定义了ETI(ETI,以太网标记标识符)概念,并基于ETI定义了三种业务界面,即VLAN-based业务界面、VLAN-bundle业务界面、VLAN-aware bundle业务界面,其中,VLAN-aware bundle业务界面中定义了BD(Broadcast domain,广播域)概念,并采用ETI标识指定EVI中的一个广播域,但仅凭所述ETI无法区别分属不同EVI的两个广播域,因为不同EVI中可以使用同一ETI分别标识一个广播域;此外,BD概念在VLAN-bundle业务界面和VLAN-based业务界面中也适用,在这两种业务界面中,每个EVI(EVPN Instance,EVPN实例,简称为EVI)中只有一个BD,此时BD等价于EVI。
在draft-ietf-bess-evpn-usage-09中的Section 6.4和Section 7.4中定义了VLAN-aware bundle业务界面下的EVPN路由发布规范,在其中的Section6.2和Section 7.2定义了VLAN-based业务界面下的EVPN路由发布规范。
RFC5331定义了MPLS标签的下游分配方式和上游分配方式,其中,在MPLS EVPN中ESI标签既可以采用下游分配方式又可以采用上游分配方式,相应控制面和转发面在RFC7432中都有描述。同时,RFC5331还定义了被上游分配的标签概念和上下文标签概念,其中被上游分配的标签 表示由FEC的上游节点负责分配的标签。一般情况下,被上游分配的标签也可以称为上游分配方式标签或者上游分配标签,被下游分配的标签也可以称为下游分配方式标签或下游分配标签。此外,RFC5331还定义了上下文标签(Context Label)概念,所述上下文标签为其内层紧邻的上游分配方式标签提供标签空间标识信息;一般地,上下文标签也可以称为上下文标识标签,因此,上下文标签所在的LSE也可以称为上下文标识LSE,其中,上下文标签本身也可以是一种上游分配标签。特别地,RFC5331的Section 8中还定义了一种特殊的上下文标签,即局域网上下文标签(Context Label on LANs),并且认为所述局域网上下文标签也是一种上游分配方式标签。
RFC3031定义了每平台标签空间的概念,这是一种下游分配方式的标签空间,MPLS标签栈中的标签,缺省在每平台标签空间中查找ILM表,所述ILM表也是RFC3031定义的,同时还有NHLFE和FEC等概念,ILM表中可以记录对应标签的上下文信息,一种常见的上下文信息就是该标签所属的FEC信息。
RFC7274定义了XL(Extension Label,扩展标签)和ESPL(Extended Special-Purpose Label,扩展特殊目的标签)概念,同时定义了与ESPL相对比的RSPL(Regular Special-Purpose Label,常规特殊目的标签)概念,其中XL是标签值为15的MPLS标签,ESPL是XL内层紧跟XL的标签,XL与其相邻的ESPL共同组成一个复合标签(compound label)。
除XL、RSPL和ESPL三种标签外,为描述方便起见,本说明书还定义了以下14种标签类别,分别是IREL(Ingress-Replication ESI Label,入口复制ESI标签,简称为IREL)、IRML(Ingress-Replication Multicast Label,入口复制组播标签,简称为IRML)、LDPL(LDP Label,LDP标签,简称为LDPL)、DAEL(Downstream-assigned ESI Label,下游分配方式ESI标签,简称为DAEL)、DAEEL(Downstream-assigned EAD-EVI Route’s Label,下游分配方式ES-EVI路由标签,简称为DAEEL)、UAEL(Upstream-assigned ESI Label,上游分配方式ESI标签,简称为UAEL)、UAML(Upstream-assigned Multicast Label,上游分配方式组播标签,简称 为UAML)、MLDPL(Multicast LDP Label,mLDP标签,简称为MLDPL)、GUCL(Global Unique Context Label,全局唯一上下文标签,简称为GUCL)、NHEL(Next Hop ESI Label,下一跳ESI标签,简称为NHEL)和RSVPL(RSVP Label,RSVP标签,简称为RSVPL)、GUCLI(GUCL Indicator,GUCL标签预示符,简称GUCLI)、DPI(Double-pop Indicator,标签双重弹出操作预示符,简称DPI)、DAOIL(Downstream-assigned Operation Indicating Label,下游分配方式的标签操作预示标签,简称DAOIL);其中,具体地,所述IREL标签为将所述IREL标签压栈的节点上收到的EAD-ES路由中携带的下游分配方式原始ESI标签,为描述方使起见,本公开给所述IREL标签的FEC的值进行命名,所述FEC的值的名称为所述EAD-ES路由的NLRI中的ESI的值的名称;其中,具体地,所述DAEL标签为在已知单播转发流程中被压栈的IREL标签;其中,具体地,所述UAEL标签为将所述UAEL标签压栈的节点上为该节点上的本地ESI分配的上游分配方式ESI标签,为描述方使起见,本公开给所述UAEL标签的FEC的值进行命名,所述FEC的值的名称为为对应ESI的值的名称;其中,具体地,所述IRML标签为将所述IRML标签压栈的节点上收到的IMET路由中携带的入口复制模式的私网标签,为描述方使起见,本公开给所述IRML标签的FEC的值进行命名,所述FEC的值的名称为所述IMET路由所述的BD名称与所述IMET路由的NLRI中的原始路由器IP地址字段的值的名称的拼接;其中,具体地,所述UAML标签为将所述UAML标签压栈的节点上为该节点上的本地BD分配的上游分配方式私网标签,为描述方使起见,本公开给所述UAML标签的FEC的值进行命名,所述FEC的值的名称为该BD的名称与该节点的名称的拼接;其中,具体地,所述DAML标签为将所述DAML标签压栈的节点上收到的IMET路由中携带的下游分配方式的私网标签,为描述方使起见,本公开给所述DAML标签的FEC的值进行命名,所述FEC的值的名称为所述IMET路由所述的BD名称与所述IMET路由的NLRI中的原始路由器IP地址字段的值的名称的拼接,同一TPE节点为同一BD分配的IRML标签和DAML标签可以是同一标签值,也可以是不同标签值,当两者是同一标签值时, 可以使用IMET路由的同一路由属性来发布;其中,具体地,所述DAEEL标签为将所述DAEEL标签压栈的节点从其下游节点收到的EAD-EVI路由中携带的标签(具体就是所述EAD-EVI路由的NLRI中的MPLS标签),为描述方使起见,本公开给所述DAEEL标签的FEC的值进行命名,所述FEC的值的名称为所述EAD-EVI路由的NLRI中的ESI的值的名称与所述EAD-EVI路由所属的BD的名称的拼接;其中,具体地,除特殊说明之处以外,所述GUCL标签为将所述GUCL标签压栈的节点上的节点标识符的低20位;其中,具体地,所述NHEL标签为将所述NHEL标签压栈的节点上收到的EAD-ES路由中携带的下游分配方式下一跳ESI标签,为描述方使起见,本公开给所述NHEL标签的FEC的值进行命名,所述FEC的值的名称为所述EAD-ES路由的NLRI中的ESI的值的名称;其中,具体地,所述DAOIL标签为将所述DAOIL标签压栈的节点上收到的EAD-ES路由中携带的下游分配方式标签,DAOIL标签是一种下游分配方式的DPI标签或者GUCLI标签,所述DPI和所述GUCLI在后面说明;其中,RSVPL为将所述RSVPL标签压栈的节点上的RSVP-TE隧道出标签;其中,LDPL为将所述LDPL标签压栈的节点上的LDP LSP出标签;其中,RSVPL、LDPL、DAEEL、NHEL、DAML、IRML等标签在经过SPE节点时标签值会发生变化。
其中,IREL/IRML/DAML/DAEL特指其它节点分配给将它们压入标签栈的节点的IREL/IRML/DAML/DAEL标签,UAEL/UAML特指将它们压入标签栈的节点上分配的上游分配方式UAEL/UAML标签。
本公开采用的数据报文封装格式如图4中目标封装所示,其中包括一个MPLS标签栈,为描述方便起见,本公开为各节点发送的MPLS封装EVPN数据报文中所述标签栈中的每层LSE都进行了命名,具体地,每层LSE都使用其中包含的标签的类别作为自身在所属标签栈中的名称;为描述方便起见,本公开为各优选实施例中的所述每层LSE中的标签的取值也进行了命名,具体地,除特殊说明之处以外,标签值的名称由三部分组成,三部分之间由下划线分隔,第一部分是该标签所归属的FEC的名称,第二部分是分配该标签的节点名称(特殊地,GUCL标签值名称的第二部 分为GU,表示全局唯一),第三部分是该标签所在的LSE的名称。
本说明书公开了一种具体的双重弹出操作,即通过与所述双重弹出操作对应的内层ESI标签和外层GUCL标签共同查找到对应的ESI值的操作,基于该方法,本说明书公开了一种在数据面学习MAC条目与目的ESI对应关系的方法。
为了实现所述SPE节点不感知用户MAC条目,本说明书公开了一种在数据面通过接收MPLS封装EVPN数据报文来学习MAC条目与其目的ESI对应关系的方法,所述MAC条目从所述EVPN数据报文的源MAC中获取,所述目的ESI从同一报文的标签栈中的标签的FEC信息获取。
本发明公开了一种EVPN路由扩展,使得在EVPN路由(包括IMET路由、EAD-EVI路由、EAD-ES路由和MAC/IP分发路由等)中可以携带GUCL标签,所述GUCL标签是UNLS标签空间中的标签,它是TPE节点在所属EVPN网络中的全局唯一标识符。
相应地,本说明书公开了一种双重弹出预示机制,即在双重弹出操作对应的两层相邻标签的紧邻的外层标签的上下文信息中指示在弹出所述外层标签后紧接着要进行双重弹出操作,起这种指示作用的标签在本说明书中称为DPI(Double-pop Indicator,双重弹出预示,简称为DPI)标签。
本说明书公开了一种具体的双重弹出操作,即通过与所述双重弹出操作对应的两层相邻标签中的内层ESI标签和外层GUCL标签共同查找到对应的ESI值的操作,基于该方法,本说明书公开了一种通过给报文添加ESI标签和GUCL标签使得目的TPE节点可以按所述MAC学习方法学习MAC条目与其目的ESI的对应关系的方法。所述GUCL标签可以通过EVPN路由携带的BGP路径属性来发布,也可以包含在EVPN路由的源节点标识符字段的指定二进制位中与所述源节点标识符一起发布。
基于所述双重弹出预示机制和GUCL标签携带方法,本说明书定义了一种通过在数据报文中同时封装所述GUCL标签、UAEL标签和DPI标签来使得远端TPE节点可以通过MPLS封装的已知单播EVPN数据报文学习到MAC条目与其目的TPE节点或目的ESI的对应关系的方法。
本说明书公开了一种GUCLI标签(GUCL Indicator,全局唯一上下文 标签预识符),在将所述GUCLI标签弹出标签栈的节点上,该标签预示其内层紧邻标签X要在GUCL标签空间中查找ILM表。所述GUCL标签空间与RFC5331 Section 8中的局域网上下文标签(Context Label on LANs)所属的标签空间一样,其中的每个标签都是所在节点所在的MPLS网络中的某个节点的节点标识符,其区别在于:第一,所述GUCL标签空间是所在节点上的所有接口共享的,而不是每个接口有不同的GUCL标签空间;第二,所述GUCL标签空间中的标签(例如所述标签X)的上下文信息中包括与该标签对应的节点的全局唯一标识信息,而不是只在LAN内唯一的节点标识信息;第三,所述GUCL标签空间中的标签(例如所述标签X)不一定预示其内层紧邻标签为UNLS标签空间中的标签,因为所述GUCL标签空间中的标签有可能作为栈底(参见优选实施例8)。
本发明公开了一种EAD-ES路由扩展,使得一条EAD-ES路由中可以同时携带UAEL和DAEL两种ESI标签;本发明还公开了另一种EAD-ES路由扩展,使得在EAD-ES路由中能够区分下一跳ESI标签和原始ESI标签,能够区分EAD-ES路由的下一跳ESI标签和ESI标签是EAD-ES路由在存在SPE的EVPN网络中能够用来作为到目的TPE的完整转发信息的前提条件之一,因为原始ESI标签是无法在SPE节点上暴露为栈顶标签的。
值得注意的是,同一EAD-ES路由中的原始ESI标签和下一跳ESI标签可以是同一标签,也可以是不同标签;其中,原始ESI标签可能是DAEL,也可以是UAEL,也可以同时携带DAEL和UAEL作为原始ESI标签,但下一跳ESI标签只能是下游分配方式的标签;当原始ESI标签为DAEL且与下一跳ESI标签是同一标签时,两者一般也需要使用不同字段来携带,因为SPE上对这两个标签的处理是不同的,但是,在确定EVPN网络中不存在SPE节点时,原始ESI标签也可以与下一跳ESI标签是同一字段。
针对ESI为0的AC,本发明还公开了一种对同一远端TPE1节点发来的不同的MPLS封装EVPN数据报文分别进行不同的MAC学习流程的方法:具体是,对于TPE1转发过来的其从ESI为0的AC上收到的数据报文,学习MAC条目与目的TPE的对应关系,对于TPE1转发过来的其从ESI不为0的AC上收到的数据报文,学习MAC条目与目的ESI的对应 关系。TPE1通过在转发其从ESI为0的AC上收到的数据报文时在其标签栈中添加GUCLI标签来使得目的TPE上能够将该报文识别出来。
基于以上方法,本发明公开了一种EVPN业务TPE节点,所述TPE节点可以与SPE节点组合使用,也可以在没有SPE节点的EVPN网络中使用,也可以在只使用SPE节点的P节点能力的情况下使用。当所述TPE节点只使用SPE节点的P节点能力时,本公开也称这些SPE节点为所述TPE节点的EVPN业务P节点。值得注意的是,作为所述TPE节点的EVPN业务P节点的SPE节点,对于其它业务(比如传统MPLS L3VPN业务)可能仍然是SPE节点。
本发明还公开了一种SPE节点,所述SPE节点在收到携带下一跳ESI标签的EAD-ES路由并对其进行重新发布时,若重新发布时将修改其下一跳为表示所述SPE节点自身的IP地址,则所述SPE节点将同时修改所述EAD-ES路由的下一跳ESI标签,而对原始ESI标签保持不变。
值得注意的是,采用所述SPE节点,使得在存在SPE节点的EVPN网络中,TPE节点可以不再发布EAD-EVI路由,所述EAD-ES路由将取代所述EAD-EVI路由用于获取到相应ESI的邻接TPE节点的完整转发信息(这意味着,NHEL标签将取代DAEEL标签,参见优选实施例4);这样一来,进一步减轻了SPE节点上的路由管理压力。
实施例1
图2是本发明实施例提供的一种数据报文转发的方法流程图,如图2所示,包括:步骤S101:终结点运营商边缘设备TPE1接收包含标签栈的MPLS封装EVPN数据报文MEDP1,其中,所述MEDP1封装了以太数据报文EDP1,所述EDP1的源MAC为MAC1;步骤S102:所述TPE1根据所述MEDP1中的标签栈确定所述MEDP1所属的远端入口TPE的节点标识符或远端入口ESI的值ESI1,其中,所述远端入口TPE为将所述EDP1封装为MEDP1的远端TPE2节点,所述MEDP1对应的远端入口ESI为所述TPE2节点接收所述EDP1所用的AC所属的ESI;其中,所述TPE1将所述远端入口ESI或远端入口TPE用于以下至少之一用途:当所述MEDP1的所述远端入口ESI为指定值且所述EDP1在所述TPE2节点上为 已知单播时,所述TPE1对所述MEDP1报文进行指定处理;所述TPE1记录所述远端入口ESI1为<BD1,MAC1>的目的ESI,其中,所述BD1为所述MEDP1所属的广播域BD,所述<BD1,MAC1>的目的ESI为所述BD1中目的MAC为所述MAC1的以太数据报文的目的ESI,所述目的ESI为用于标识MAC1所标识的设备所在的ES的ESI。
所述TPE1记录所述远端入口TPE2为<BD1,MAC1>的目的TPE,其中,所述<BD1,MAC1>的目的TPE为所述BD1中目的MAC为所述MAC1的以太数据报文的目的TPE,所述目的TPE为用于标识MAC1所标识的设备所连接的AC的所在的TPE。
其中,所述TPE1将所述BD1中目的MAC与所述MAC1相等的以太数据报文转发到所述<BD1,MAC1>的目的TPE或目的ESI的一个远端邻接TPE节点。
其中,所述TPE1根据所述MEDP1中的标签栈所包含的上下文标识信息和远端入口ESI标签来确定所述MEDP1的远端入口ESI的值,其中,所述TPE1确定所述标签栈中的上下文标识信息和远端入口ESI标签的方法如下:所述TPE1读取所述MEDP1标签栈中的当前栈顶标签L;所述标签L为其标签值为第一指定值的RSPL标签或ESPL标签,则所述标签L以内依次为上下文标识LSE和远端入口ESI标签,所述上下文标识LSE即为所述上下文标识信息;所述标签L为其标签值为第二指定值的RSPL或ESPL标签,则所述标签L以内紧邻标签为上下文标识LSE,所述远端入口ESI为0,所述上下文标识LSE即为所述上下文标识信息;所述标签L的标签值为所述TPE1分配的指示其内层紧邻LSE为上下文标识LSE的标签值,则所述标签L(即所述DAOIL标签)以内依次为上下文标识LSE和远端入口ESI标签,所述上下文标识LSE即为所述上下文标识信息;所述标签L为所述TPE1分配的标识其本地ESI X的下游分配方式标签,且所述TPE1已确定所述MEDP1所属的广播域BD1,则所述标签L(即所述IREL标签)即为所述远端入口ESI标签,所述ESI X即为远端入口ESI;所述标签L为所述TPE1分配的标识本地ESI X的下游分配方式标签,且所述TPE1未确定所述MEDP1所属的广播域BD1,则所述标签L (即所述NHEL标签)以内依次为上下文标识LSE和远端入口ESI标签,所述上下文标识LSE即为所述上下文标识信息;所述标签L为标识mLDP P2MP LSP或RSVP P2MP LSP的下游分配标签,则根据所述标签L获取所述P2MP LSP的根节点的标识符作为上下文标识信息,所述标签L以内紧邻的标签以内紧邻的标签为远端入口ESI标签;所述标签L为标识RSVP LSP的下游分配方式标签,且所述RSVP LSP承载上游分配方式标签,则根据所述标签L获取所述RSVP LSP的扩展隧道ID作为上下文标识信息,若所述标签L以内紧邻的标签为所述TPE1分配的标识本地ESI的下游分配方式标签(即所述NHEL标签),则所述标签L以内紧邻的标签以内紧邻的标签为远端入口ESI标签。
其中,所述TPE1根据所述上下文标识信息确定所述远端入口TPE的节点标识符的值,包括:若所述MEDP1中包含的下游分配方式GUCLI标签或值为第二指定值的RSPL或ESPL标签在所述TPE1节点弹出标签栈,且所述TPE1收到的IMET路由中的原始路由器IP地址的值与所述上下文标识信息一致,则该IMET路由中的原始路由器IP地址的值就是所述入口TPE的节点标识信息;其中,所述原始路由器IP地址字段的值与所述上下文标识信息一致指的是所述字段值与所述上下文标识信息相等或者所述字段值的指定部分二进制位与所述上下文标识信息的指定部分二进制位按位分别相等。
其中,所述TPE1根据所述上下文标识信息和所述远端入口ESI标签确定所述远端入口ESI的值和远端入口TPE的节点标识信息,包括:若所述TPE1收到的EAD-ES路由中的ESI标签的值与所述远端入口ESI标签的值相等,且所述EAD-ES路由中的路由源节点标识符与所述上下文标识信息一致,则该EAD-ES路由的NLRI中的ESI就是所述远端入口ESI,该EAD-ES路由的源节点标识符中的信息就是所述远端入口TPE的标识信息;其中,所述路由源节点标识符为所述EAD-ES路由中的标识发布该路由的TPE节点的信息,该信息由该TPE节点在发布该路由时填写,所述路由源节点标识符与上下文标识信息一致指的是所述标识符与所述上下文标识信息相等或者所述标识符的指定部分二进制位与所述上下文标 识信息的指定部分二进制位按位分别相等。
具体得说,所述TPE1取EAD-ES路由中的如下信息之一作为该EAD-ES路由的路由源节点标识符:所述EAD-ES路由的下一跳字段的值;所述EAD-ES路由的路径属性的值;所述EAD-ES路由的发起者标识符ORIGINATOR_ID路径属性的值;所述EAD-ES路由的原始运营商边缘设备OPE TLV的值。
具体地说,所述TPE1确定所述MEDP1所属广播域BD1的方法为以下之一:通过所述MEDP1的指定入标签确定所属BD1(参见优选实施例1);通过被所述MEDP1封装的所述EDP1的两层VLAN Tag确定所属BD1(参见优选实施例9);通过被所述MEDP1封装的所述EDP1的一层VLAN Tag和指定入标签共同确定所属BD1。
实施例2
本发明实施例还提供了一种数据报文转发的方法,包括:终结点运营商边缘设备TPE3从接入电路AC3获取单播以太数据报文EDP3,其中,所述AC3属于以太分段标识符ESI3且所述AC3绑定到以太虚拟专用网络EVPN广播域BD1,所述EDP3的目的MAC为MAC2;所述TPE3以二元组<所述BD1,所述EDP3的目的MAC>为键值查找到对应的目的ESI4或目的TPE5,并据以进行多协议标签交换MPLS封装处理,生成包含本地入口ESI标签、上下文标识标签栈元素LSE和与目的ESI或目的TPE对应的多点到点MP2P出标签的MPLS封装EVPN数据报文MEDP3,且所述上下文标识LSE携带有源节点标识符的信息;所述TPE3将所述MEDP3转发给所述目的TPE5或所述目的ESI4的一个邻接节点TPE4;其中,所述ESI4为此前预先确定的所述BD1内目的MAC为所述MAC2的以太数据报文的目的ESI,所述TPE5为此前预先确定的所述BD1内目的MAC为所述MAC2的以太数据报文的目的TPE,所述本地入口ESI为接收所述EDP3的AC3所属的ESI3,所述本地入口ESI标签为所述ESI3的ESI标签,所述源节点标识符为发送所述MEDP3的TPE3节点在所述EVPN网络中的全局唯一标识符。
优选地,所述TPE3不将所述BD1中的本地MAC条目发布给远端TPE 节点,所述TPE3不往所述MEDP3中添加PBB封装或VXLAN封装。
其中,所述本地入口ESI标签由所述TPE3分配,且所述本地入口ESI标签为所述ESI3对应的上游分配方式ESI标签。
具体地说,所述上下文标识LSE通过如下方式之一标识发送所述MEDP3的TPE3节点:所述上下文标识LSE的标签值为所述TPE3节点在为所述ESI3发布的EAD-ES路由中携带的源节点标识符的值;所述上下文标识LSE中的除栈底标识以外的指定部分二进制位与所述TPE3节点在为所述ESI3发布的EAD-ES路由中携带的源节点标识符的对应部分二进制位按位分别相等。
其中,所述与目的TPE对应的MP2P出标签包括以下情况之一:所述与目的TPE对应的出标签为所述目的TPE节点发来的ESI为0的EAD-ES路由中的下一跳ESI标签;所述与目的TPE对应的出标签为所述目的TPE节点发来的ESI为0的EAD-EVI路由中的NLRI中的MPLS标签;所述与目的TPE对应的出标签为从所述目的TPE节点为所述BD1发来的IMET路由中获取的下游分配方式标签。
其中,所述与目的ESI对应的MP2P出标签包括以下情况之一:所述与目的ESI对应的出标签为所述目的ESI所在的TPE节点为所述目的ESI发来的EAD-ES路由中的下一跳ESI标签;所述与目的ESI对应的出标签从所述目的ESI所在的TPE节点为所述目的ESI发来的EAD-EVI路由中的NLRI中的MPLS标签。
优选地,所述MEDP3中还包括上下文标识预示标签,且所述上下文标识预示标签在所述上下文标识LSE的外层,其中,所述上下文标识预示标签表示其内层如果还存在LSE,则其中紧邻所述上下文标识预示标签的那个LSE为上下文标识LSE。
具体地说,所述确定所述BD1内目的MAC为所述MAC2的以太数据报文的目的ESI的方法如下:所述目的ESI为静态配置的与MAC2绑定的ESI;所述目的ESI为根据封装了一个源MAC为MAC2的以太数据报文的MPLS封装EVPN数据报文MEDP4的MPLS标签栈确定的ESI;所述目的ESI为一条远端MAC分发路由中携带的ESI,所述MAC分发路由 的NLRI中的MAC字段的值为MAC2。
具体地说,所述TPE3选取EAD-ES路由中的如下字段之一填写所述路由源节点标识符:所述EAD-ES路由的下一跳字段的值;所述EAD-ES路由的路径属性的值;所述EAD-ES路由的发起人标识符ORIGINATOR_ID路径属性的值;所述EAD-ES路由的原始运营商边缘设备OPE TLV的值。
其中,所述下一跳ESI标签为下游分配方式,并且,所述下一跳ESI标签在所述EAD-ES路由的如下之一属性中携带:所述EAD-ES路由的NLRI中的MPLS标签字段的值;所述EAD-ES路由的路径属性的值。
具体地说,添加所述上下文标识预示标签需要满足以下条件之一:所述上下文标识预示标签为指定RSPL标签;所述上下文标识预示标签为指定ESPL标签;所述上下文标识预示标签的标签值在每平台标签空间中且被所述TPE4节点保留,且所述TPE4节点通过信令通告其支持所述上下文标识预示标签的能力给所述TPE3节点;所述上下文标识预示标签的标签值在每平台标签空间中且需通过静态配置指定,且所述TPE3节点和所述TPE4节点上指定的所述上下文标识预示标签的标签值相等(即所述DAOIL标签)。
可选地,所述MEDP3中还包括不低于12位的以太标记标识符ETI,所述ETI通过两层VLAN Tag传输,且所述ETI在本地唯一标识所述MEDP3所属的广播域BD1。
实施例3
本发明实施例还提供了一种路由报文转发的方法,包括:交换点运营商边缘设备SPE1接收TPE1发送的同时携带原始ESI标签和下一跳ESI标签的EAD-ES路由,在对所述EAD-ES路由进行更换下一跳方式的路由反射,重写所述下一跳ESI标签而不重写所述原始ESI标签。
其中,重写所述下一跳ESI标签所用的新下一跳ESI标签,符合如下规则:所述新下一跳ESI标签为下游分配方式的标签,且为所述SPE1节点所分配;所述新下一跳ESI标签与原下一跳ESI标签在转发面形成一个标签交换操作,其中,新下一跳ESI标签为入标签,原下一跳ESI标签为出标签。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例4
图3是本发明实施例提供的一种数据报文转发的装置示意图,如图3所示,接收模块201,用于接收包含标签栈的MPLS封装EVPN数据报文MEDP1,其中,所述MEDP1封装了以太数据报文EDP1,所述EDP1的源MAC为MAC1;确定模块202,用于根据所述MEDP1中的标签栈确定所述MEDP1所属的远端入口TPE的节点标识符或远端入口ESI的值ESI1,其中,所述远端入口TPE为将所述EDP1封装为MEDP1的远端TPE2节点,所述MEDP1对应的远端入口ESI为所述TPE2节点接收所述EDP1所用的AC所属的ESI;其中,所述TPE1将所述远端入口ESI或远端入口TPE用于以下至少之一用途:当所述MEDP1的所述远端入口ESI为指定值且所述EDP1在所述TPE2节点上为已知单播时,所述TPE1对所述MEDP1报文进行指定处理;所述TPE1记录所述远端入口ESI1为<BD1,MAC1>的目的ESI,其中,所述BD1为所述MEDP1所属的广播域BD,所述<BD1,MAC1>的目的ESI为所述BD1中目的MAC为所述MAC1的以太数据报文的目的ESI,所述目的ESI为用于标识MAC1所标识的设备所在的ES的ESI。
所述TPE1记录所述远端入口TPE2为<BD1,MAC1>的目的TPE,其中,所述<BD1,MAC1>的目的TPE为所述BD1中目的MAC为所述MAC1的以太数据报文的目的TPE,所述目的TPE为用于标识MAC1所标识的设备所连接的AC的所在的TPE。
实施例5
本发明实施例还提供了一种数据报文转发的装置,包括:获取模块,用于从接入电路AC3获取单播以太数据报文EDP3,其中,所述AC3属于以太分段标识符ESI3且所述AC3绑定到以太虚拟专用网络EVPN广播域BD1,所述EDP3的目的MAC为MAC2封装模块,用于以二元组<所述BD1,所述EDP3的目的MAC>为键值查找到对应的目的ESI4或目的TPE5,并据以进行多协议标签交换MPLS封装处理,生成包含本地入口ESI标签、上下文标识标签栈元素LSE和与目的ESI或目的TPE对应的多点到点MP2P出标签的MPLS封装EVPN数据报文MEDP3,且所述上下文标识LSE携带有源节点标识符的信息;转发模块,用于将所述MEDP3转发给所述目的TPE5或所述目的ESI4的一个邻接节点TPE4;其中,所述ESI4为此前预先确定的所述BD1内目的MAC为所述MAC2的以太数据报文的目的ESI,所述TPE5为此前预先确定的所述BD1内目的MAC为所述MAC2的以太数据报文的目的TPE,所述本地入口ESI为接收所述EDP3的AC3所属的ESI3,所述本地入口ESI标签为所述ESI3的ESI标签,所述源节点标识符为发送所述MEDP3的TPE3节点在所述EVPN网络中的全局唯一标识符。
实施例6
本发明实施例还提供了一种数据报文转发的设备,所述设备包括:处理器,以及与所述处理器耦接的存储器;所述存储器上存储有可在所述处理器上运行的数据报文转发的程序,所述数据报文转发的程序被所述处理器执行时实现根据本发明实施例还提供的数据报文转发的方法的步骤。
实施例7
本发明实施例还提供了一种计算机存储介质,存储有数据报文转发的程序,所述数据报文转发的程序被处理器执行时实现本发明实施例还提供的数据报文转发的方法的步骤。
实施例7
本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任 意方法实施例中的方法。
优选实施例1
下面就结合图5对所述使MPLS EVPN核心SPE节点不感知用户MAC的方法和装置(系统)的技术方案的TPE节点的实施作进一步的详细描述:建立如图5所示MPLS EVPN网络,包括CE节点、TPE节点和P节点,BUM报文转发采用入口复制模式,PSN隧道采用LDP LSP;其中,CE1与TPE1通过ESI1上的AC1连接,CE2与TPE2通过ESI2上的AC2连接,不失一般性,考察其中一个EVPN实例EVI2000的一个广播域BD1中CE1与CE2之间经过TPE1和TPE2进行通信的过程,不失一般性,只考虑CE1请求CE2的ARP以及CE2对CE1回复ARP这一回合交互过程中的TPE1和TPE2上的转发情况,其中,AC1、AC2均归属于广播域BD1。
为描述方便起见,不失一般性,除特殊说明之处以外,本说明书各个优选实施例的EVPN网络的部署均附加特定约束,这些约束由所述EVPN网络的管理员通过调整各节点上的配置人为保证,具体地,这些约束为:第一,各TPE/SPE节点的节点标识符为单播可路由IP地址,并且只凭各TPE/SPE节点的节点标识符的后20位就能够在所述EVPN网络中唯一标识该TPE/SPE节点;第二,各TPE/SPE的节点标识符同时作为:LDP和RSVP-TE的LSRID,BGP的路由器ID,BGP会话的TCP会话的源IP地址,该节点发布BGP路由时填写的表示该节点自身的下一跳地址;以该节点为根的P2MP LSP的FEC中的根节点标识符;以该节点为出口LSR的LDPLSP的FEC中的IP地址;以该节点为出口LSR的RSVP-TE隧道的FEC中的IPv4/IPv6隧道端点地址;以该节点为入口LSR的RSVP-TE隧道的FEC中的扩展隧道ID;该节点为TPE节点时,该TPE节点发布的IMET路由的原始路由器IP地址(Originating Router's IP Address)字段的值;该节点为TPE节点时,该TPE节点发布的EVPN路由的OPE TLV中远端端点子TLV(Remote Endpoint Sub-TLV)的值。
为描述方便起见,不失一般性,除特殊说明之处以外,本说明书各个优选实施例中每个TPE节点均为每个本地BD分配两个独立的标签,分别记为L1和L2,其中,标签L1作为该BD对应的IMET路由中携带(如 果需要的话)的IRML或DAML标签,标签L2作为该TPE节点为该BD发布的EAD-EVI路由(如果发布的话)中的DAEEL标签,同时,每个TPE节点均为每个本地BD分配一个上游分配方式的标签L3,作为该BD对应的IMET路由中携带(如果携带的话)的UAML标签,同时,每个TPE节点将自己的节点标识符的低20位作为自己的GUCL标签(如果需要的话)的值。
值得注意的是,这些约束是为了便于描述本公开的技术方案细节,并不构成对本发明保护范围的不当限定,根据本公开的内容,本领域的一般技术人员很容易知道在突破这些约束的情况下,如何实现本公开的技术方案,这一点,在后面各优选实施例中不再一一重复说明,但每个优选实施例会说明自己发布的EVPN路由类型。
值得注意的是,图中P1、P2和P3节点同时作为BGP路由反射器RR节点,这些RR节点不修改所反射的EVPN路由的下一跳。
除特殊说明之处以外,所述MPLS EVPN网络中各TPE节点按RFC7432定义的VLAN-based业务界面实现MPLS EVPN业务,由于VLAN-based业务界面中一个EVI中只有一个广播域BD,因此,只要确定所述EVI2000,所述BD1就随之确定了。
与RFC7432不同,各TPE不通过EVPN路由发布自己从本地AC上学习到的用户MAC。
与RFC7432不同,各TPE上对于本地不邻接的ESI也需要分配(采用下游分配方式)ESI标签并且发布EAD-ES路由,但不需要发布EAD-EVI路由;值得注意的是,对于本地不邻接的ESI X,只有当X至少有一条远端发来的EAD-ES路由导入本地某个EVPN实例中时,才应当发布与ESI X对应的EAD-ES路由。
为描述方便起见,本说明书中各优选实施例对标签栈取值情况的描述,采取只描述具体到优选实施例和具体节点的具体标签取值的方式,而不再进行抽象的取值规则描述,但由于在实施例中描述了取值规则,在标签类别名称定义中描述了每种标签类别的取值规则,结合所述两种规则、所述具体标签取值情况(尤其是标签的类别名称)的描述和现有EVPN技术, 本领域的一般技术人员很容易从中提取出具有一般性的标签取值规则。
TPE1转发给TPE2的BUM报文(比如来自CE1的ARP请求报文)的标签栈记为标签栈1,标签栈1中从内到外有3层LSE,依次是IREL、IRML和LDPL,其中,各层LSE中的标签的取值如图6中标签栈1(图中内层标签在上,外层标签在下,图7、图8、图9、图10、图11、图12、图14也是如此,不再赘述)所示:其中,所述ESI1_TPE2_IREL为TPE2为ESI1分配的入口复制方式ESI标签,此标签由TPE2通过EAD-ES路由发布给TPE1,TPE2_P_LDPL为TPE1到TPE2的LDP LSP的出标签,BD1TPE2_TPE2_IRML为TPE2为BD1分配的IRML标签,所述IRML标签即IMET路由中携带的下游分配方式标签;其中,无论TPE1上AC1在ESI1上是DF还是非DF角色,都要封装所述ESI1_TPE2_IREL标签;
值得注意是的,RFC7432明确要求当AC1为DF角色时,将从AC1收到的BUM报文转发到远端节点时不封装ESI标签,这使得在数据面学习MAC条目与其目的ESI的对应关系成为不可能;其中,由于“TPE上对于本地不邻接的ESI也需要分配ESI标签并且发布EAD-ES路由”的存在,按RFC7432定义的EVPN转发流程TPE1给TPE2发BUM包时本来并不会进入ESI标签压栈流程,在本优选实施例修改后的MPLS EVPN控制面的作用下,则会进入此流程,因为TPE2给TPE1发布了与ESI1对应的EAD-ES路由。
其中,TPE2通过所述ARP请求报文中的IRML标签确定报文所属的BD。
与RFC7432不同,TPE2转发给TPE1的已知单播报文(比如来自CE2的ARP应答报文)需要将TPE1为该报文的本地入口ESI(即ESI2)所分配(采用下游分配方式)的ESI标签压栈,其标签栈记为标签栈2,标签栈2中从内到外依次包括DAEL、DAEEL和LDPL三层标签,其中,各标签的取值如图6中标签栈2所示:其中,ESI2_TPE1_DAEL标签即TPE1对于ESI2发布的DAEL标签,ESI2即所述ARP Reply报文的入口AC所属的ESI;值得注意的是,因为TPE2上到ESI1的EAD-EVI路由有多条负载均衡转发信息,每条负载均衡转发信息通往ESI1的一个邻接TPE节 点,标签栈2中所述DAEL标签的取值要与负载均衡选择的EAD-EVI路由转发信息一致,因为本例中负载均衡选择了到TPE1的EAD-EVI路由的转发信息,所以标签栈2中所述DAEL标签取值选择所述ESI2_TPE1_DAEL,其中,TPE1是ESI1的一个邻接TPE节点。
其中,ESI1BD1_TPE1_DAEEL标签即FEC为<ESI1,BD1>的DAEEL标签,因此,ESI1BD1_TPE1_DAEEL即TPE1对于二元组<ESI1,BD1>发布的EAD-EVI路由中的标签,其中ESI1即所述ARP Request报文的ESI1_TPE2_IREL标签对应的ILM表项所属的ESI;值得注意的是,这意味着在收到所述ARP Request报文时,需要在数据面对该ARP Request报文进行源MAC(本例中为M1)学习,从中获得M1与ESI1的对应关系,将ESI1作为M1的目的ESI。
其中,所述MAC学习分为两个步骤:第一步(以下各实施例中简称为MAC学习第一步),从作为MPLS封装EVPN数据报文的所述BUM报文(本例中为所述ARP请求报文)中获取所述ARP请求报文的远端入口ESI的值;第二步(除特殊说明之处以外,各优选实施例中MAC学习的第二步均相同),将该ESI记录为所述BD1中所述BUM报文的源MAC标识的主机的目的ESI。
其中,TPE1_P_LDPL标签即从TPE2到TPE1的LDP LSP的出标签,其中,所述TPE1由负载均衡流程在ESI1的各个邻接TPE中选出。
在所述CE1给CE2发送ARP请求报文直到CE1收到CE2回复的ARP应答报文之后,CE1就可以给CE2发送普通单播以太数据报文EDP1(目的MAC为M2),由于TPE1在收到所述ARP应答报文进也会进行与TPE2上同样的MAC学习流程(即从IREL标签和内层源MAC获取MAC条目与其目的ESI的对应关系),所述EDP1到所述TPE1节点时,已经是一个已知单播报文,所述EDP1根据与TPE2相同的逻辑,将所述EDP1转发给所述ESI2的一个邻接PE节点;每个TPE在从网络侧收到任何合法的MPLS封装EVPN数据报文时,无论该数据报文是BUM报文还是已知单播报文,均要进行所述MAC学习流程,所学习到的MAC条目与其目的ESI的对应关系,均可用于相应广播域中相应目的MAC的以太数据报 文的转发;值得注意的是,源节点标识符可以通过OPE TLV来发布,也可以通过ORIGINATOR_ID属性或下一跳属性发布,也可以通过BGP扩展团体属性或路径属性来发布。
值得一提的是,本优选实施例的PSN隧道不仅可以使用LDP LSP,也可以使用RSVP隧道、静态TE隧道、BGP-LU LSP、SR-MPLS等MPLS隧道或LSP;并且,本优选实施例为了描述方便,只以CE1先主动给CE2的通信为例进行说明,实际上,对于CE2先主动给CE1通信的情况,其ARP交互过程与本优选实施例中的ARP交互过程是对称的,转发原理是相同的,可以按相同的转发原理进行实现;并且,本优选实施例定义的MAC学习过程和数据转发过程也不局限于ARP报文,普通的以太数据报文都是可以的,包括BUM报文和已知单播报文,其中BUM报文参照所述ARP请求报文的流程,已知单播报文参照所述ARP应签报文的流程。
值得一提的是,本公开各优选实施例采用的数据报文封装格式及其与PBB EVPN的对比,如图2所示,其中,目标封装即为本公开所采用的封装,它不包括802.1ah PBB头,并且除标签栈内容有所不同之外,它与RFC7432定义的MPLS EVPN数据封装格式具有完全相同的结构,值得注意的是,它既不包括PBB封装,也不包括VXLAN封装。
优选实施例2
优选实施例1定义的TPE节点存在如下缺陷:它只能在图5所示不含SPE节点的拓扑中使用,在图1所示含有SPE节点的拓扑中则无法使用。
其原因就在于,当TPE2给TPE1发送的ARP应答报文经过SPE1节点时,SPE1节点会将其在ESI1的两个邻接节点TPE1和TPE3之间负载均衡,虽然所述ARP应答报文中封装的ESI2_TPE1_DAEL是TPE1分配的下游分配方式ESI标签,但是,所述ARP应答报文却可能被SPE1节点负载均衡到所述TPE3节点上,因而造成在TPE3上的解包错误。
此外,优选实施例1要求各TPE为本地没有邻接关系的ESI分配下游分配方式的ESI标签,这加重了TPE的控制面负担和标签消耗。
为解决这些问题,本优选实施例采用上游分配方式ESI标签取代标签栈2中的所述DAEL标签。
本优选实施例采用增强TPE节点的方法来使SPE节点不感知用户MAC条目,各SPE节点按draft-heitz-bess-evpn-option-b(以下简称[EVPN Option B])实现。
值得注意的是,所述SPE节点在改变EAD-ES路由的下一跳并重新发布时,不会改变所述EAD-ES路由中的ESI标签的值,无论所述ESI标签是上游分配方式还是下游分配方式。
下面就结合图1将图5中的P节点替换为所述SPE节点,成为图1)对所述使MPLS EVPN核心SPE节点不感知用户MAC的方法和装置(系统)的技术方案的TPE节点的实施作进一步的详细描述:除特殊说明之处以外,本优选实施例与优选实施例1相同。
除特殊说明之处以外,每个TPE均在自己发布的EAD-ES路由中指明自己所发布的ESI标签是上游分配方式标签,还是下游分配方式标签。特殊地,一条EAD-ES路由可以同时携带一个上游分配方式ESI标签和一个下游分配方式ESI标签,此时,需要指明哪一个是上游分配方式ESI标签。后面各优选实施例均是如此,不再赘述。
与优选实施例1不同,本优选实施例中,TPE1转发给TPE2的BUM报文的标签栈记为标签栈3,所述标签栈3中自内而外依次包括UAEL、GUCL、RSPL、IRML和LDPL等5层标签,其中,所述标签栈3中各层LSE中的标签取值如图7中标签栈3所示:其中,所述ESI1_TPE1_UAEL为TPE1给ESI1分配的UAEL标签,ESI1即所述ARP Request报文的入口AC所属的ESI;其中,TPE1UNLS_GU_GUCL标签即TPE1在图1所示EVPN网络中的全局唯一标识符,TPE1通过GUCL扩展团体属性在每条EAD-ES路由中发布该标签;其中,所述BD1TPE2_SPE1_IRML为TPE2给BD1分配的IRML标签经过SPE重新进行标签映射之后的IRML标签,所述SPE1_P_LDPL为从TPE1到SPE1的LDP LSP的出标签;其中,所述DPI_RSPL是一个用于给弹出所述DPI_RSPL标签的节点预示其内层紧邻两层标签(即UAEL标签和GUCL标签)为双重弹出操作的RSPL标签(标签值小于16的标签),其标签值为第一指定值;其中,TPE2在收到所述ARP请求报文时需要进行MAC学习,所述MAC学习的第一步与优 选实施例1中的MAC学习第一步有所不同,具体流程如下:TPE2通过标签值为第一指定值的RSPL标签知道弹出RSPL标签后要进行双重弹出操作,在EVPN上下文中,认为双重弹出操作的两个标签分别是内层UAEL标签和外层GUCL标签,然后,查找TPE2收到的EAD-ES路由中上游分配方式ESI标签与所述UAEL标签相等且GUCL标签与所述GUCL标签相等的那条EAD-ES路由,该EAD-ES路由的NLRI中的ESI字段的值就是所述ARP请求报文的远端入口ESI的值。
值得注意的是,在TPE2收到的所述ARP请求报文中,所述GUCL标签所在的LSE就是所述上下文标识LSE,所述UAEL标签就是所述远端入口ESI标签,所述RSPL标签就是所述上下文标识预示标签。
本优选实施例中,TPE2转发给TPE1的已知单播报文的标签栈记为标签栈4,所述标签栈4自内而外依次为UAEL、GUCL、RSPL、DAEEL和LDPL等5层LSE,其中,各层LSE中的标签的取值如图7中标签栈4所示:其中,ESI2_TPE2_UAEL标签即TPE2为ESI2分配的上游分配方式ESI标签,ESI2即所述ARP Reply报文的入口AC所属的ESI;其中,TPE2UNLS_GU_GUCL标签即TPE2在图1所示EVPN网络中的全局唯一标识符,TPE2通过GUCL扩展团体属性在EAD-ES路由中发布该标签;其中,DPI_RSPL同标签栈3中的DPI_RSPL;其中,ESI1BD1_SPE2_DAEEL即本节点收到的与<ESI1,BD1>对应的DAEEL标签,这一点是与优选实施例1中的DAEEL标签相同的,不同的是,本优选实施例中TPE2收到的所述DAEEL标签是由SPE2分配的。
其中,SPE2_P_LDPL标签即从TPE2到SPE2的LDP LSP的出标签。
在所述CE1给CE2发送ARP请求报文直到CE1收到CE2回复的ARP应答报文之后,CE1就可以给CE2发送普通单播以太数据报文EDP1(目的MAC为M2)了,由于TPE1在收到所述ARP应答报文时也会进行MAC学习流程,所述EDP1到所述TPE1节点时,已经是一个已知单播报文,所述EDP1根据与TPE2相同的逻辑,将所述EDP1转发给所述ESI2的一个邻接PE节点;值得注意的是,在TPE1收到的所述ARP应答报文中,所述GUCL标签所在的LSE就是所述上下文标识LSE,所述UAEL标签 就是所述远端入口ESI标签,所述RSPL标签就是所述上下文标识预示标签。
TPE1收到所述ARP应答报文时进行MAC学习的流程与TPE2收到所述ARP请求报文时进行MAC学习的流程相比,在确定所述MPLS封装EVPN数据报文的远端入口ESI的值上面有如下不同:TPE1从DPI_RSPL标签知道其内层紧邻标签为GUCL标签,GUCL标签内层紧邻标签为UAEL标签,所述GUCL标签和所述UAEL标签均不能在所述TPE1的每平台标签空间中查ILM表,而是按如下规则找到两者共同对应的ESI:携带了值为所述UAEL标签的上游分配方式ESI标签和值为所述GUCL标签的GUCL扩展团体属性的EAD-ES路由的NLRI中的ESI值即为两者共同对应的ESI值;每个TPE在从网络侧收到任何合法的MPLS封装EVPN数据报文时,无论该数据报文是BUM报文还是已知单播报文,均要进行所述MAC学习流程,所学习到的MAC条目与其目的ESI的对应关系,均可用于相应广播域中相应目的MAC的以太数据报文的转发;值得注意的是,在入口复制模式的BUM报文转发中采用上游分配方式ESI标签,是现有技术中所没有的,现有技术认为入口复制模式应当采用下游分配方式ESI标签,而在本优选实施例中,恰恰是通过在入口复制模式的BUM报文中采用上游分配方式ESI标签避免了每个ESI的非邻接TPE不得不发布对应的EAD-ES路由(否则所述非邻接TPE无法在数据面学习以该ESI为目的ESI的MAC条目)。
值得注意的是,通过在已知单播报文转发中封装UAEL标签,使得无论SPE1将TPE2发来的所述ARP应答报文转发给TPE1还是TPE3,都是能正常转发给CE1的。
值得注意的是,同一TPE对同一本地ESI分配的UAEL和DAEL的标签值可以相等,但即使两者相等,本质上仍然是不同的标签;进一步地,当TPE的实现能保证本地任何ESI的UAEL和DAEL的标签值均相等时,两者甚至可以通过同一字段携带,但本公开并不建议这么做;一般地,UAEL和DAEL应当通过两个字段来携带,两者可以在同一BGP路由属性中,也可以在不同路由属性中。
值得注意的是,GUCL标签可以通过BGP扩展团体属性或路径属性来发布,也可以通过节点标识符的低20位来发布。所述GUCL扩展团体属性是一种新定义的BGP扩展团体属性,用来发布GUCL标签,这只是发布GUCL标签的方法之一。
值得注意的是,当ESI为single-active模式时,MAC学习可以同时记录MAC条目的目的ESI和目的TPE,并根据目的TPE选择指定EAD-EVI路由中的转发信息,这样一来,可以使得从某个主机发来的报文与发往该主机的报文经过相同的转发路径(只是方向不同);当ESI为all-active模式时,也可如此处理,但从用户角度,可能没有这样做的必要。
优选实施例3
优选实施例2虽然解决了优选实施例1中的TPE不能与SPE节点配合使用的问题,但是,RFC7274要求优先采用ESPL而不是RSPL,因为RSPL只有16个,是很稀缺的资源。
为解决这些问题,本优选实施例采用ESPL标签取代RSPL标签。
除特殊说明之处以外,本优选实施例与优选实施例2相同。
与优选实施例2不同,本优选实施例中,EVI实例的控制面和转发面都采用VLAN-aware bundle业务界面,这意味着,每个BD由二元组<所述BD所属的EVI实例,与所述BD对应的ETI>来标识。
与优选实施例2不同,本优选实施例中,TPE1转发给TPE2的BUM报文的标签栈记为标签栈5,所述标签栈5与标签栈3完全一样,TPE2转发给TPE1的已知单播报文的标签栈记为标签栈6,所述标签栈6是将标签栈5中的DPI_RSPL标签替换为DPI_ESPL标签及其外层的XL标签之后得到的,所述标签栈5和标签栈6的各LSE中标签取值的详情如图8中所示;其中,所述XL标签即标签值为15的标签,DPI_ESPL即为标签值为指定值TBD1的ESPL标签,在TPE1上,当栈顶标签值为TBD1且为ESPL标签时,TPE1就知道该标签弹出后要执行一个双重弹出操作,因为是在EVPN上下文中,TPE1还知道所述双重弹出操作对应的内层标签为ESI标签外层标签为GUCL标签。
当TPE1收到所述ARP应答报文时,除所述双重弹出预示标签为ESPL 而不是RSPL外,其它处理流程(包括MAC学习流程)均与优选实施例2中相同。
值得注意的是,所述RSPL/ESPL标签就是所述上下文标识预示标签。
值得注意的是,所述ESPL/RSPL标签还可以用于现有TPE节点和本发明定义的TPE节点的混合组网,具体方法如下:若TPE30是现有TPE节点,则TPE30会通过BGP路由发布MAC条目并且不需要其它节点对自己发送的MPLS封装EVPN数据报文进行数据面的MAC学习;反之,若TPE31是本发明定义的TPE节点,则它优选不通过BGP路由发布MAC条目,因而需要其它其点进行数据面的MAC学习;当两者混合组网时,所述TPE31节点要给所述TPE30节点通过BGP路由发布MAC条目,但是,不给其它由本发明定义的TPE节点通过BGP路由发布MAC条目,并且,所述TPE31节点只对携带指定RSPL/ESPL标签的MPLS封装EVPN数据报文进行数据面的MAC学习,因而所述TPE30节点发来的MPLS封装EVPN数据报文由于未携带指定RSPL/ESPL标签,所述TPE31节点就不会对这些报文进行数据面的MAC学习。
这种混合组网能力使得用本发明定义的TPE节点逐一取代现有正在运行EVPN业务的TPE节点时,可以在一定程度上保持所述正在运行的EVPN业务的连续性。
优选实施例4
优选实施例3虽然解决了优选实施例1和优选实施例2存在的一些问题,但它与那两个优选实施例一样,仍然存在一些可以改进的地方。
一方面,采用ESPL标签使得标签栈中标签层次过多,加重了转发面负担,另一方面,SPE节点虽然不感知用户MAC条目,但仍然要感知EAD-EVI路由,假如有M个ESI,每个ESI加入N个广播域,那么,SPE上将有M乘以N条EAD-EVI路由。
为了解决这些问题,本优选实施例去除了RSPL/ESPL标签,并采用EAD-ES路由取代EAD-EVI路由(因而不再需要发布EAD-EVI路由),相应地,需要定义一种新的SPE节点。
下面就结合图1对所述使MPLS EVPN核心SPE节点不感知用户MAC 的方法和装置(系统)的技术方案的TPE节点的实施作进一步的详细描述:除特殊说明之处以外,本优选实施例与优选实施例3相同。
与优选实施例3不同,本优选实施例采用VLAN-aware bundl业务界面转发数据报文,并采用VLAN-aware bundle业务界面发布IMET路由,但是,与RFC7432中的VLAN-aware bundle业务界面不同,本优选实施例不发布EAD-EVI路由,并且采用VLAN-based业务界面发布EAD-ES路由。
与优选实施例3相同,本优选实施例中,每个BD虽然仍然可以由二元组<所述BD所属的EVI实例,与所述BD对应的ETI>来标识。但是,与优选实施例3不同,本优选实施例中,同一TPE上不同EVI中的标识广播域的ETI的值互不相等,因此,仅仅通过ETI也可以直接标识所述BD。
与优选实施例3不同,本优选实施例中,TPE1转发给TPE2的BUM报文的标签栈记为标签栈7,所述标签栈7由标签栈5去掉RSPL得到,其中各LSE的标签的取值如图9中标签栈7所示。
其中,所述TPE2在分配所述BD1TPE2_TPE2_IRML标签给TPE1时,在该标签的ILM表中写入了表示双重弹出预示的上下文信息,使得该标签同时成为一个下游分配方式的DPI标签,并且,所述TPE2在发布所述IRML标签的IMET路由中携带了DPI扩展团体属性,所述TPE1通过该扩展团体属性知道所述IRML同时作为DPI标签,因此,不再向报文中添加RSPL标签或ESPL标签;
其中,除DPI标签类型不同之外,所述TPE2在接收到所述ARP请求报文以后进行的MAC学习流程与优选实施例3是一致的,只是本优选实施例中的广播域为VLAN-aware bundle用户界面下的广播域。
本优选实施例中,TPE2转发给TPE1的已知单播报文的标签栈记为标签栈8,所述标签栈8自内而外依次包括UAEL、GUCL、NHEL和LDPL等4层LSE,所述标签栈8由标签栈6去掉ESPL标签和XL标签并将DAEEL标签替换为NHEL标签得到,其中各LSE的标签的取值如图9中标签栈8所示:其中,所述ESI1_SPE2_NHEL为TPE2收到的ESI1的 EAD-ES路由中所带的下一跳ESI标签,具体地,所述ESI1_SPE2_NHEL标签由SPE2分配。所述EAD-ES路由由TPE1发布给SPE1,再由SPE1发布给SPE2,再由SPE2发布给TPE2,中间SPE1和SPE2均会为该路由重新分配下一跳ESI标签,并且将下一跳改写为自己以后再重新发布。
其中,TPE1在接收到所述ARP应答报文以后,通过报文中携带的最外两层VLAN Tag可以直接找到对应的广播域BD1,而不需要所述NHEL标签的参与。
值得注意的是,所述DPI标签和NHEL标签就是所述上下文标识预示标签。所述DPI扩展团体属性是通过定义一种新的BGP扩展团体属性来通知某个标签具有DPI能力的方法,但DPI能力的通知方法并不局限于此。
结合图1对所述使MPLS EVPN核心SPE节点不感知用户MAC的方法和装置(系统)的技术方案的SPE节点的实施作进一步的详细描述:除特殊说明之处以外,所述MPLS EVPN网络中各TPE节点按本优选实施例中定义的TPE节点实现,各SPE节点按draft-heitz-bess-evpn-option-b(以下简称[EVPN Option B])实现。
本优选实施例中的SPE节点能够识别所述TPE节点发出的同时携带原始ESI标签和下一跳ESI标签的EAD-ES路由,在对所述EAD-ES路由进行更换下一跳方式的路由反射,重写所述下一跳ESI标签而不重写所述原始ESI标签,并且,重写所述下一跳ESI标签所用的新下一跳ESI标签,符合如下规则:所述新下一跳ESI标签为下游分配方式的标签,且为所述SPE1节点所分配;所述新下一跳ESI标签与原下一跳ESI标签在转发面形成一个标签交换操作,其中,新下一跳ESI标签为入标签,原下一跳ESI标签为出标签。
优选实施例5
在优选实施例4中,GUCL标签用于携带入口TPE的节点标识信息到出口TPE,但是,部分MPLS隧道(比如RSVP-TE或P2MP LSP)的上下文信息中自带隧道的入口LSR信息,EVPN的入口TPE与EVPN外层隧道的入口LSR可以选用同一IP地址来标识,此时,不再需要通过GUCL标签携带入口TPE的节点标识信息。
本优选实施例通过MPLS隧道的上下文信息来间接获取入口TPE的节点标识信息,以进一步减少标签栈的长度。
除特殊说明之处以外,本优选实施例与优选实施例1相同。
与优选实施例1不同,本优选实施例采用mLDP隧道来对BUM报文进行复制。
与优选实施例1不同,本优选实施例中,TPE1转发给TPE2的BUM报文的标签栈记为标签栈9,所述标签栈9中自内而外依次包括UAEL、UAML、MLDPL等3层LSE,其中,各层LSE的标签的取值如图10中标签栈9所示:其中,所述ESI1_TPE1_UAEL同标签栈7;其中,所述BD1TPE1_TPE1_UAML是TPE1为BD1分配的UAML标签;其中,所述TPE1BD1_P(TPE2)_MLDPL为TPE1与TPE2之间的P设备为以TPE1为根以BD1为Opaque Value的mLDP P2MP LSP分配的下游分配方式出标签;值得注意的是,在TPE2收到的所述ARP请求报文中,所述MLDPL标签所在的LSE就是所述上下文标识LSE,所述UAEL标签就是所述远端入口ESI标签。
与优选实施例1不同,TPE2转发给TPE1的已知单播报文的标签栈记为标签栈10,所述标签栈10中自内而外依次包括UAEL、NHEL和RSVPL等3层LSE,其中,各层LSE的标签的取值如图10中标签栈10所示:其中,所述ESI2_TPE2_UAEL和ESI1_TPE1_NHEL同标签栈8;其中,所述TPE1_P_RSVPL为TPE2与TPE1之间的P设备为从TPE2到TPE1的RSVP-TE隧道分配的下游分配方式出标签;其中,所述标签栈6是将标签栈5中的DPI_RSPL标签替换为DPI_ESPL标签及其外层的XL标签之后得到的;其中,所述XL标签即标签值为15的标签,DPI_ESPL即为标签值为指定值TBD1的ESPL标签,在TPE1上,当栈顶标签值为TBD1且为ESPL标签时,TPE1就知道该标签弹出后要执行一个双重弹出操作,因为是在EVPN上下文中,TPE1还知道所述双重弹出操作对应的内层标签为ESI标签外层标签为GUCL标签。
值得注意的是,在TPE1收到的所述ARP应答报文中,所述RSVPL标签所在的LSE就是所述上下文标识LSE,所述UAEL标签就是所述远 端入口ESI标签。
当TPE1收到所述ARP应答报文时,除所述双重弹出预示标签为ESPL而不是RSPL之外,其它处理流程(包括MAC学习流程)均与优选实施例2中相同。
优选实施例6
优选实施例5中的方案只适用于图5所示不含SPE节点的EVPN网络,不适用于图1所示含有SPE节点的EVPN网络,因为,在图1所示EVPN网络中,RSVP-TE隧道只能从TPE2建到SPE2,TPE1收到的RSVPL标签实际上是从SPE1建到TPE1的RSVP-TE隧道的标签,所述RSVPL标签的上下文信息中实际上包含的是SPE1的节点标识信息,而不是TPE2的节点标识信息,因此,所述TPE1节点无法对所述ARP应答报文进行正确的MAC学习流程。
本优选实施例通过在已知单播报文中增加下游分配方式操作预示标签DAOIL来解决上述问题。
除特殊说明之处以外,本优选实施例与优选实施例5相同。
与优选实施例5不同,本优选实施例将图5中的P节点替换为SPE节点,成为图1所示EVPN网络结构。
与优选实施例5不同,本优选实施例中,TPE1转发给TPE2的BUM报文的标签栈记为标签栈11,所述标签栈11中自内而外依次包括UAEL、UAML、MLDPL等3层LSE,其中,各层LSE的标签的取值如图11中标签栈11所示:其中,所述ESI1_TPE1_UAEL和BD1TPE1_TPE1_UAML同标签栈9;其中,所述TPE1BD1_P(SPE1)_MLDPL为TPE1与SPE1之间的P/SPE设备为以TPE1为根的mLDP P2MP LSP分配的下游分配方式出标签;本例中所述MLDPL由SPE1分配;值得注意的是,虽然TPE2收到的MLDPL标签是TPE2为以SPE2为根的mLDP P2MP LSP分配的入标签,其上下文信息中并不包括TPE1的节点标识信息,但是却包括TPE2收到的UAML标签的上下文信息,根据所述上下文信息和UAML标签能够得知所述UAML标签的FEC信息,所述FEC信息中包括TPE1的节点标识信息,以所述节点标识信息和TPE2收到的UAEL标签可以获取所述 ESI1的值。
值得注意的是,所述ESI1_TPE1_UAEL在从TPE1到TPE2的过程中不会被交换。
值得注意的是,在TPE2收到的所述ARP请求报文中,所述MLDPL标签所在的LSE就是所述上下文标识LSE,所述UAEL标签就是所述远端入口ESI标签。
与优选实施例5不同,TPE2转发给TPE1的已知单播报文的标签栈记为标签栈12,所述标签栈12中自内而外依次包括UAEL、GUCL、DAOIL、NHEL和RSVPL等5层LSE,其中,各层LSE的标签的取值如图11中标签栈12所示:其中,所述ESI2_TPE2_UAEL、TPE2UNLS_TPE2_GUCL和ESI2_SPE2_NHEL同标签栈8;其中,所述SPE2_P_RSVPL为TPE2与SPE2之间的P设备为从TPE2到SPE2的RSVP-TE隧道分配的下游分配方式出标签;其中,所述DPI_TPE1_DAOIL为所述TPE1上分配的预示双重弹出操作的DAOIL标签;所述TPE1收到以所述DPI_TPE1_DAOIL为当前栈顶标签的MPLS封装EVPN数据报文后,就认为所述DPI_TPE1_DAOIL标签以内紧邻两层标签需要进行双重弹出操作;值得注意的是,为了防止由于SPE1将所述已知单播报文负载均衡到TPE2节点而导致所述TPE2节点由于不能识别所述DPI_TPE1_DAOIL标签而将报文丢弃,同一ESI的所有邻接PE上分配的双重弹出预示DAOIL标签必须相同,这一点可以通过静态配置所述双重弹出预示DAOIL标签来保证,也可以通过由一个中心节点统一负责所有TPE节点上的双重弹出预示DAOIL标签来保证。
值得注意的是,所述DAOIL标签的标签值也可以在每平台标签空间中且被所述各TPE节点保留(保留为相同的标签值),且所述各TPE节点通过信令通告其支持所述DAOIL标签的能力给其它TPE节点。
值得注意的是,所述DAOIL标签就是所述上下文标识预示标签。
优选实施例7
优选实施例4虽然通过去除DPI标签减少了标签栈的长度,但是,由于缺少DPI标签,它只能支持携带GUCL标签和UAEL标签的标签栈格 式,当两个远端TPE一个携带GUCL标签和UAEL标签,一个不携带GUCL标签和UAEL标签时,它就无法区分处理了。
本优选实施例通过引入DACL标签来解决此问题。
下面就结合图1对所述使MPLS EVPN核心SPE节点不感知用户MAC的方法和装置(系统)的技术方案的TPE节点的实施作进一步的详细描述:除特殊说明之处以外,本优选实施例与优选实施例4相同。
与优选实施例1不同,本优选实施例中,TPE1转发给TPE2的BUM报文的标签栈记为标签栈13,所述标签栈13为将标签栈7中的GUCL标签替换为DACL标签得到,其中各LSE的标签的取值如图12中标签栈13所示:其中,所述TPE1UNLS_TPE2_DACL为所述TPE2为标识TPE1节点上的上游分配邻居标签空间而分配的下游分配方式标签;值得注意的是,每个TPE要为每个远端TPE分配一个所述DACL标签,并且,同一ESI的各个邻接TPE上为同一远端TPE分配的所述DACL标签必须相等,这可以通过静态配置所述DACL标签来保证。
值得注意的是,每个TPE要将自己分配的每个DACL标签通知给对应的远端TPE;其中,TPE2在接收到所述ARP请求报文以后,通过报文中携带的TPE1UNLS_TPE2_DACL可以获得TPE1的UNLS标签空间的标识信息,然后用ESI1_TPE1_UAEL在所述标签空间中查ILM表得到ESI1的值。
值得注意的是,在TPE2收到的所述ARP请求报文中,所述DACL标签所在的LSE就是所述上下文标识LSE,所述UAEL标签就是所述远端入口ESI标签。
与优选实施例1不同,本优选实施例中,TPE2转发给TPE1的已知单播报文的标签栈记为标签栈14,所述标签栈14为将标签栈8中的GUCL标签替换为DACL标签得到,其中各LSE的标签的取值如图12中标签栈14所示:其中,所述DACL标签与标签栈13中的DACL标签有相同的含义,只是对应的节点不同。
值得注意的是,在TPE1收到的所述ARP应答报文中,所述DACL标签所在的LSE就是所述上下文标识LSE,所述UAEL标签就是所述远端 入口ESI标签。
值得注意的是,所述DACL标签可以通过定义新的BGP路由类型来发布,也可以通过在现有BGP路由中携带新的BGP路由属性来发布。
优选实施例8
优选实施例1-7都只考虑了所有AC全部绑定有效ESI(值不为0)的情况,当EVPN网络中存在单归属AC时,由于单归属AC的ESI全部为0,也没有对应的ESI标签,无法完全不变地通过上述方法来进行MAC学习,实际上,从单归属AC收到以太数据报文并以MPLS封装的EVPN数据报文的形式发到远端TPE节点上后,在远端TPE节点上必须学习MAC条目与其目的TPE节点的对应关系,而不是学习MAC与ESI的对应关系,因为ESI为0并不真正代表一个ES,各个TPE上ESI为0的ES之间也不属于同一ES。
本优选实施例在图1的基础上添加两条单归属AC及其对应的CE节点,成为图13,然后基于图13来描述存在单归AC时的MAC学习流程。
除特殊说明之处以外,本优选实施例与优选实施例3相同。
除考察CE1与CE2之间的ARP请求/应答交互之外,本优选实施例还考察CE7与CE6之间的ARP请求/应答交互,由于CE1与CE2之间的ARP请求/应答交互流程与优选实施例3完全相同,除特殊说明之处以外,本节所述的ARP请求/应答报文均是指CE7与CE6之间交互的ARP请求/应答报文。
值得注意的是,在TPE2收到的所述ARP请求报文中,所述GUCL标签所在的LSE就是所述上下文标识LSE。
与优选实施例3不同,本优选实施例中,TPE1从ESI为0的AC收到并转发给TPE2的BUM报文的标签栈记为标签栈15,所述标签栈15自内而外包括GUCL、ESPL、XL、IRML、LDPL等5层LSE,其中,各层LSE中的标签的取值如图14中标签栈15所示:其中,UNLSI_ESPL是值为TBD3的ESPL标签,在将所述UNLSI_ESPL标签弹出标签栈的节点上(本例中即TPE2),它表示其内层紧邻标签是全局UNLS标签空间中的标签,在EVPN上下文中,进一步表示它是一个GUCL标签;然后,TPE2 将所述GUCL标签与TPE2收到的所述BD1中的IMET路由中携带的GUCL标签进行比较,两者相等的IMET路由中的源始路由器IP地址就是所述ARP应该报文的源MAC对应的目的TPE节点的节点标识信息。
与优选实施例3不同,本优选实施例中,TPE2从ESI为0的AC收到并转发给TPE1的已知单播报文的标签栈记为标签栈16,所述标签栈16自内而外包括GUCL、ESPL、XL、DAML、LDPL等5层LSE,其中,各层LSE中的标签的取值如图14中标签栈16所示:其中,GUCL、ESPL、LDPL取值规则与标签栈15中相同,只是对应的节点不同;其中,所述BD1TPE1_TPE1_DAML标签为TPE1节点为BD1分配的DAML标签,该标签根据所述ARP应答报文的目的MAC(即MAC1)以及从MAC学习流程中得到的MAC1的目的TPE(即TPE1)从TPE1节点为BD1发来的IMET路由中得到。
值得注意的是,在TPE1收到的所述ARP应答报文中,所述GUCL标签所在的LSE就是所述上下文标识LSE。
本优选实施例对于从ESI不为0的AC收到的报文的转发流程和MAC学习流程与优选实施例3相同,接收端通过ESPL/RSPL标签的不同取值来区分两种报文,所述ESPL标签就是所述上下文标识预示标签。
值得注意的是,也可以通过发布ESI为0的EAD-ES路由和EAD-EVI路由来按照与前面各优选实施例基本一致的方法来处理单归属AC,此时,需要注意如下问题:第一,不同TPE发布的ESI为0的EAD-ES和EAD-EVI路由必须携带不同的RD,这是为了避免在SPE节点上这些路由形成保护关系(比如负荷分担关系),同时,也避免了SPE节点将来自不同TPE的ESI为0的EAD-ES(或EAD-EVI)路由中的标签(比如下一跳ESI标签)修改为该SPE节点分配的同一下游分配方式标签,同理,同一TPE节点对不同广播域BD发布的ESI为0的EAD-EVI路由也必须携带不同RD;第二,TPE在收到BD1对应的ESI为0的EAD-EVI或EAD-ES路由时,这些路由之间不能形成保护关系(比如负荷分担关系);第三,当MAC条目中没有记录有效的目的ESI时,TPE在转发EVPN数据报文时根据MAC条目与目的TPE的对应关系选择对应的ESI为0的EAD-EVI 路由中的DAEEL标签及其转发信息,或者,选择对应的ESI为0的EAD-ES路由中的NHEL标签及其转发信息。值得注意的是,采用这种方法,接收端TPE需要通过获取到的远端入口ESI值是否为0来决定是记录MAC条目与目的ESI的对应关系,还是记录MAC条目与目的TPE的对应关系。
值得注意的是,当源节点标识符为单播IPv4地址时,所述GUCL标签所在的LSE作为一种上下文标识LSE可以整体等价于源节点标识符,其判定方法是:所述LSE中除栈底标识以外的所有二进制位组成数值P,所述源节点标识符中除单播/组播标志之外的所有二进制位组成数值Q,若P与Q相等,则说所述LSE等价于源节点标识符,或者说所述LSE与所述源节点标识符中的节点标识信息一致。
值得注意的是,对于目的ESI为0的MAC条目,从原始路由器IP地址字段与所述MAC条目的目的TPE相等的IMET路由选择转发信息,这一做法,还可以应用于如下场景:所述TPE发布MAC分发路由到路由反射器RR节点而不是SPE节点,但是仍然发布EAD-ES、EAD-EVI、IMET路由到SPE节点,所述TPE接收MAC分发路由但不使用所述MAC分发路由中的标签和下一跳信息,只使用所述MAC分发路由中的ESI信息或原始节点标识符信息(比如OPE TLV的值)来选择其它类型的EVPN路由(比如EAD-EVI路由或IMET路由)中的信息作为转发信息。采用所述做法,也可以使得SPE节点上不感知用户MAC条目(取而代之的是,另一个RR节点感知用户MAC条目,但RR节点不转发数据流量,两者分别承担了流量压力和路由压力),同时,TPE节点还不用进行数据面的MAC学习,前提是能建立一个路由反射网络。
值得注意的是,所述GUCL标签也可以用于优化RFC6074定义的VPLS自动发现。所述VPLS自动发现的控制面是两个过程:第一步先用BGP发现要建立的PW,第二步再用LDP建立所发现的PW。采用GUCL标签,在改进后的第一步中就可以同时完成PW的发现和建立过程,因而所述第二步也就不再需要了。其方法为:给每个VPLS实例分配一个标签,称为VPLS标签,所述VPLS标签在RFC6074定义的自动发现路由中发布,则二元组<本地GUCL标签,远端VPLS标签>组成一个复合标签,称为PW 远端复合标签,同理,二元组<远端GUCL标签,本地VPLS标签>组成一个复合标签,称为PW本地复合标签,用所述PW远端复合标签取代原来第二步中的从LDP会话获取的PW远端标签,用所述PW本地复合标签取代原来在LDP会话中发布的PW本地标签,PW也就得以建立了。
值得注意的是,也可以用所述优化RFC6074定义的VPLS自动发现过程的方法去优化RFC4761定义的VPLS自动发现过程,其方法为:以所述RFC4761中定义的VPLS自动发现路由的标签基址Label Base作为远端VPLS标签,以RFC4761中定义的本地VEID构造一个相同值的标签取代所述GUCL标签作为内层出标签,两者作为复合标签共同取代PW出标签。采用这种方式改进的VPLS自动发现过程,不再需要基于标签块(一段连续标签)的标签分配方式,因而可以简化实现和提高标签资源利用率。
优选实施例9
除特殊说明之处以外,本优选实施例与优选实施例1相同。
与优选实施例4不同,本优选实施例中,标识AC所属的BD的ETI为24位宽,并且通过两层VLAN标记(VLAN-Tag)在EVPN数据报文中携带。
与优选实施例4不同,本优选实施例中,TPE2上通过两层VLAN-Tag而不是一层VLAN-Tag来确定所述ARP请求报文所属的BD。
值得注意的是,所述标识BD的ETI在EVPN数据报文中也可以体现为具有大于12位VID(VLAN ID,VLAN标识符)值的单层扩展VLAN-Tag,所述扩展VLAN-Tag可以通过一个新的以太类型(Ethertype)值来指示。
优选实施例10
除特殊说明之处以外,本优选实施例与优选实施例9相同。
与优选实施例9不同,本优选实施例采用I组件实例表示AC所绑定的BD,采用B组件实例发布IMET路由和EAD-ES路由;其中,每个I组件实例只绑定一个B组件实例,但多个I组件实例可以绑定同一个B组件实例,绑定同一B组件实例的不同I组件实例之间以ETI互相区分。
与优选实施例9不同,本优选实施例在B组件中接收的IMET路由根据ETI导入到所属的I组件实例中,就如同I组件实例亲自收到了这些路 由一样处理。
除表示BD和发布EVPN路由的方式不同以外,本优选实施例在数据报文封装和转发流程上与优选实施例9相同。
根据本发明实施例提供的方案,避开了PBB封装或VXLAN封装对芯片解码的成本压力。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。

Claims (13)

  1. 一种数据报文转发的方法,其中,包括:
    终结点运营商边缘设备TPE1接收包含标签栈的MPLS封装EVPN数据报文MEDP1,其中,所述MEDP1封装了以太数据报文EDP1,所述EDP1的源MAC为MAC1;
    所述TPE1根据所述MEDP1中的标签栈确定所述MEDP1所属的远端入口TPE的节点标识符或远端入口ESI的值ESI1,其中,所述远端入口TPE为将所述EDP1封装为MEDP1的远端TPE2节点,所述MEDP1对应的远端入口ESI为所述TPE2节点接收所述EDP1所用的AC所属的ESI;
    其中,所述TPE1将所述远端入口ESI或远端入口TPE用于以下至少之一用途:
    当所述MEDP1的所述远端入口ESI为指定值且所述EDP1在所述TPE2节点上为已知单播时,所述TPE1对所述MEDP1报文进行指定处理;
    所述TPE1记录所述远端入口ESI1为<BD1,MAC1>的目的ESI,其中,所述BD1为所述MEDP1所属的广播域BD,所述<BD1,MAC1>的目的ESI为所述BD1中目的MAC为所述MAC1的以太数据报文的目的ESI,所述目的ESI为用于标识MAC1所标识的设备所在的ES的ESI;
    所述TPE1记录所述远端入口TPE2为<BD1,MAC1>的目的TPE,其中,所述<BD1,MAC1>的目的TPE为所述BD1中目的MAC为所述MAC1的以太数据报文的目的TPE,所述目的TPE为用于标识MAC1所标识的设备所连接的AC的所在的TPE。
  2. 根据权利要求1所述的方法,其中,所述TPE1根据所述MEDP1中的标签栈所包含的上下文标识信息和远端入口ESI标签来确定所述MEDP1的远端入口ESI的值,其中,所述TPE1确定所述标签栈中的上下文标识信息和远端入口ESI标签的方法如下:
    所述TPE1读取所述MEDP1标签栈中的当前栈顶标签L;
    所述标签L为其标签值为第一指定值的RSPL标签或ESPL标签,则所述标签L以内依次为上下文标识LSE和远端入口ESI标签,所述上下文 标识LSE即为所述上下文标识信息;
    所述标签L为其标签值为第二指定值的RSPL或ESPL标签,则所述标签L以内紧邻标签为上下文标识LSE,所述远端入口ESI为0,所述上下文标识LSE即为所述上下文标识信息;
    所述标签L的标签值为所述TPE1分配的指示其内层紧邻LSE为上下文标识LSE的标签值,则所述标签L以内依次为上下文标识LSE和远端入口ESI标签,所述上下文标识LSE即为所述上下文标识信息;
    所述标签L为所述TPE1分配的标识其本地ESI X的下游分配方式标签,且所述TPE1已确定所述MEDP1所属的广播域BD1,则所述标签L即为所述远端入口ESI标签,所述ESI X即为远端入口ESI;
    所述标签L为所述TPE1分配的标识本地ESI X的下游分配方式标签,且所述TPE1未确定所述MEDP1所属的广播域BD1,则所述标签L以内依次为上下文标识LSE和远端入口ESI标签,所述上下文标识LSE即为所述上下文标识信息;
    所述标签L为标识mLDP P2MP LSP或RSVP P2MP LSP的下游分配标签,则根据所述标签L获取所述P2MP LSP的根节点的标识符作为上下文标识信息,所述标签L以内紧邻的标签以内紧邻的标签为远端入口ESI标签;
    所述标签L为标识RSVP LSP的下游分配方式标签,且所述RSVP LSP承载上游分配方式标签,则根据所述标签L获取所述RSVP LSP的扩展隧道ID作为上下文标识信息,若所述标签L以内紧邻的标签为所述TPE1分配的标识本地ESI的下游分配方式标签,则所述标签L以内紧邻的标签以内紧邻的标签为远端入口ESI标签。
  3. 根据权利要求2所述的方法,其中,所述TPE1根据所述上下文标识信息和所述远端入口ESI标签确定所述远端入口ESI的值和远端入口TPE的节点标识信息,包括:
    若所述TPE1收到的EAD-ES路由中的ESI标签的值与所述远端入口ESI标签的值相等,且所述EAD-ES路由中的路由源节点标识符与所述上下文标识信息一致,则该EAD-ES路由的NLRI中的ESI就是所述入口 ESI,该EAD-ES路由的源节点标识符中的信息就是所述远端入口TPE的标识信息;
    其中,所述路由源节点标识符为所述EAD-ES路由中的标识发布该路由的TPE节点的信息,该信息由该TPE节点在发布该路由时填写,所述路由源节点标识符与上下文标识信息一致指的是所述标识符与所述上下文标识信息相等或者所述标识符的指定部分二进制位与所述上下文标识信息的指定部分二进制位按位分别相等。
  4. 根据权利要求1所述的方法,其中,所述TPE1确定所述MEDP1所属广播域BD1的方法为以下之一:
    通过所述MEDP1的指定入标签确定所属BD1;
    通过被所述MEDP1封装的所述EDP1的两层VLAN Tag确定所属BD1;
    通过被所述MEDP1封装的所述EDP1的一层VLAN Tag和指定入标签共同确定所属BD1。
  5. 一种数据报文转发的方法,其中,包括:
    终结点运营商边缘设备TPE3从接入电路AC3获取单播以太数据报文EDP3,其中,所述AC3属于以太分段标识符ESI3且所述AC3绑定到以太虚拟专用网络EVPN广播域BD1,所述EDP3的目的MAC为MAC2;
    所述TPE3以二元组<所述BD1,所述EDP3的目的MAC>为键值查找到对应的目的ESI4或目的TPE5,并据以进行多协议标签交换MPLS封装处理,生成包含本地入口ESI标签、上下文标识标签栈元素LSE和与目的ESI或目的TPE对应的多点到点MP2P出标签的MPLS封装EVPN数据报文MEDP3,且所述上下文标识LSE携带有源节点标识符的信息;
    所述TPE3将所述MEDP3转发给所述目的TPE5或所述目的ESI4的一个邻接节点TPE4;
    其中,所述ESI4为此前预先确定的所述BD1内目的MAC为所述MAC2的以太数据报文的目的ESI,所述TPE5为此前预先确定的所述BD1内目的MAC为所述MAC2的以太数据报文的目的TPE,所述本地入口ESI为接收所述EDP3的AC3所属的ESI3,所述本地入口ESI标签为所述ESI3的ESI标签,所述源节点标识符为发送所述MEDP3的TPE3节点在所述 EVPN网络中的全局唯一标识符。
  6. 根据权利要求5所述的方法,其中,所述本地入口ESI标签由所述TPE3分配,且所述本地入口ESI标签为所述ESI3对应的上游分配方式ESI标签。
  7. 根据权利要求5所述的方法,其中,所述与目的ESI对应的MP2P出标签包括以下情况之一:
    所述与目的ESI对应的出标签为所述目的ESI所在的TPE节点为所述目的ESI发来的EAD-ES路由中的下一跳ESI标签;
    所述与目的ESI对应的出标签从所述目的ESI所在的TPE节点为所述目的ESI发来的EAD-EVI路由中的NLRI中的MPLS标签。
  8. 根据权利要求7所述的方法,其中,所述下一跳ESI标签为下游分配方式,并且,所述下一跳ESI标签在所述EAD-ES路由的如下之一属性中携带:
    所述EAD-ES路由的NLRI中的MPLS标签字段的值;
    所述EAD-ES路由的路径属性的值。
  9. 根据权利要求8所述的方法,其中,所述MEDP3中还包括不低于12位的以太标记标识符ETI,所述ETI通过两层VLAN Tag传输,且所述ETI在本地唯一标识所述MEDP3所属的广播域BD1。
  10. 一种数据报文转发的装置,其中,包括:
    接收模块,用于接收包含标签栈的MPLS封装EVPN数据报文MEDP1,其中,所述MEDP1封装了以太数据报文EDP1,所述EDP1的源MAC为MAC1;
    确定模块,用于根据所述MEDP1中的标签栈确定所述MEDP1所属的远端入口TPE的节点标识符或远端入口ESI的值ESI1,其中,所述远端入口TPE为将所述EDP1封装为MEDP1的远端TPE2节点,所述MEDP1对应的远端入口ESI为所述TPE2节点接收所述EDP1所用的AC所属的ESI;
    其中,所述TPE1将所述远端入口ESI或远端入口TPE用于以下至少之一用途:
    当所述MEDP1的所述远端入口ESI为指定值且所述EDP1在所述TPE2节点上为已知单播时,所述TPE1对所述MEDP1报文进行指定处理;
    所述TPE1记录所述远端入口ESI1为<BD1,MAC1>的目的ESI,其中,所述BD1为所述MEDP1所属的广播域BD,所述<BD1,MAC1>的目的ESI为所述BD1中目的MAC为所述MAC1的以太数据报文的目的ESI,所述目的ESI为用于标识MAC1所标识的设备所在的ES的ESI;
    所述TPE1记录所述远端入口TPE2为<BD1,MAC1>的目的TPE,其中,所述<BD1,MAC1>的目的TPE为所述BD1中目的MAC为所述MAC1的以太数据报文的目的TPE,所述目的TPE为用于标识MAC1所标识的设备所连接的AC的所在的TPE。
  11. 一种数据报文转发的装置,其中,包括:
    获取模块,用于从接入电路AC3获取单播以太数据报文EDP3,其中,所述AC3属于以太分段标识符ESI3且所述AC3绑定到以太虚拟专用网络EVPN广播域BD1,所述EDP3的目的MAC为MAC2;
    封装模块,用于以二元组<所述BD1,所述EDP3的目的MAC>为键值查找到对应的目的ESI4或目的TPE5,并据以进行多协议标签交换MPLS封装处理,生成包含本地入口ESI标签、上下文标识标签栈元素LSE和与目的ESI或目的TPE对应的多点到点MP2P出标签的MPLS封装EVPN数据报文MEDP3,且所述上下文标识LSE携带有源节点标识符的信息;
    转发模块,用于将所述MEDP3转发给所述目的TPE5或所述目的ESI4的一个邻接节点TPE4;
    其中,所述ESI4为此前预先确定的所述BD1内目的MAC为所述MAC2的以太数据报文的目的ESI,所述TPE5为此前预先确定的所述BD1内目的MAC为所述MAC2的以太数据报文的目的TPE,所述本地入口ESI为接收所述EDP3的AC3所属的ESI3,所述本地入口ESI标签为所述ESI3的ESI标签,所述源节点标识符为发送所述MEDP3的TPE3节点在所述EVPN网络中的全局唯一标识符。
  12. 一种数据报文转发的设备,所述设备包括:处理器,以及与所述处理器耦接的存储器;所述存储器上存储有可在所述处理器上运行的数据 报文转发的程序,所述数据报文转发的程序被所述处理器执行时实现如权利要求1至9中任一项所述的数据报文转发的方法的步骤。
  13. 一种计算机存储介质,存储有数据报文转发的程序,所述数据报文转发的程序被处理器执行时实现如权利要求1至9中任一项所述的数据报文转发的方法的步骤。
PCT/CN2019/078707 2018-04-28 2019-03-19 一种数据报文转发的方法及装置 WO2019205836A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810401585.6A CN110417655B (zh) 2018-04-28 2018-04-28 一种数据报文转发的方法及装置
CN201810401585.6 2018-04-28

Publications (1)

Publication Number Publication Date
WO2019205836A1 true WO2019205836A1 (zh) 2019-10-31

Family

ID=68294327

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/078707 WO2019205836A1 (zh) 2018-04-28 2019-03-19 一种数据报文转发的方法及装置

Country Status (2)

Country Link
CN (1) CN110417655B (zh)
WO (1) WO2019205836A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111371686A (zh) * 2020-03-19 2020-07-03 刘奇峰 一种报文转发方法及装置
CN114363041A (zh) * 2021-12-31 2022-04-15 河南信大网御科技有限公司 基于动态操作系统指纹及协议指纹的内网防护方法及系统
EP4087197A4 (en) * 2019-12-31 2023-05-17 ZTE Corporation METHODS FOR PROCESSING DATA PACKETS BASED ON VIRTUAL LINES AND METHODS FOR CONSTRUCTING ROUTING TABLE ENTRIES

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111294360A (zh) * 2020-02-27 2020-06-16 南京贝伦思网络科技股份有限公司 基于mac_in_mac封装的融合分流方法和设备
WO2022183927A1 (zh) * 2021-03-02 2022-09-09 华为技术有限公司 一种报文传输方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030142674A1 (en) * 2002-01-30 2003-07-31 Nortel Networks Limited Label control method and apparatus for virtual private LAN segment networks
CN102035729A (zh) * 2010-11-22 2011-04-27 杭州华三通信技术有限公司 一种组播数据转发方法及其装置
CN102857400A (zh) * 2012-09-14 2013-01-02 中兴通讯股份有限公司 一种二层虚拟专用网中广播域的建立方法及装置
CN103685022A (zh) * 2012-09-17 2014-03-26 杭州华三通信技术有限公司 报文转发方法及服务提供商网络边缘设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7626984B2 (en) * 2006-10-25 2009-12-01 At&T Corp. Method and apparatus for providing congruent multicast and unicast routing
US9590902B2 (en) * 2014-11-10 2017-03-07 Juniper Networks, Inc. Signaling aliasing capability in data centers
US20170063600A1 (en) * 2015-08-31 2017-03-02 Juniper Networks, Inc. Egress protection for bum traffic with link failures in evpn
CN106850380B (zh) * 2015-12-04 2020-09-29 中国电信股份有限公司 实现多协议标签交换的三层虚拟专用网络的方法和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030142674A1 (en) * 2002-01-30 2003-07-31 Nortel Networks Limited Label control method and apparatus for virtual private LAN segment networks
CN102035729A (zh) * 2010-11-22 2011-04-27 杭州华三通信技术有限公司 一种组播数据转发方法及其装置
CN102857400A (zh) * 2012-09-14 2013-01-02 中兴通讯股份有限公司 一种二层虚拟专用网中广播域的建立方法及装置
CN103685022A (zh) * 2012-09-17 2014-03-26 杭州华三通信技术有限公司 报文转发方法及服务提供商网络边缘设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4087197A4 (en) * 2019-12-31 2023-05-17 ZTE Corporation METHODS FOR PROCESSING DATA PACKETS BASED ON VIRTUAL LINES AND METHODS FOR CONSTRUCTING ROUTING TABLE ENTRIES
US11924094B2 (en) 2019-12-31 2024-03-05 Zte Corporation Virtual circuit-based data packet processing method and forwarding table entry construction method
CN111371686A (zh) * 2020-03-19 2020-07-03 刘奇峰 一种报文转发方法及装置
CN111371686B (zh) * 2020-03-19 2023-01-24 刘奇峰 一种报文转发方法及装置
CN114363041A (zh) * 2021-12-31 2022-04-15 河南信大网御科技有限公司 基于动态操作系统指纹及协议指纹的内网防护方法及系统
CN114363041B (zh) * 2021-12-31 2023-08-11 河南信大网御科技有限公司 基于动态操作系统指纹及协议指纹的内网防护方法及系统

Also Published As

Publication number Publication date
CN110417655B (zh) 2021-07-02
CN110417655A (zh) 2019-11-05

Similar Documents

Publication Publication Date Title
US11700198B2 (en) Transmission control method, node, network system and storage medium
US11936552B2 (en) Method and device for implementing VPN cross-domain, and border node
US10484203B2 (en) Method for implementing communication between NVO3 network and MPLS network, and apparatus
WO2019205836A1 (zh) 一种数据报文转发的方法及装置
US9444677B2 (en) Scalable edge node protection using IPv6 segment routing extension header
EP3002913B1 (en) Tunnel establishment method, label allocation method, device, and network system
US11689452B2 (en) Method for forwarding service data, network device, and network system
US8385341B2 (en) Ethernet frame broadcast emulation
US20230155932A1 (en) Multicast traffic transmission method and apparatus, communication node, and storage medium
WO2015165311A1 (zh) 传输数据报文的方法和供应商边缘设备
CN113132235B (zh) 基于虚电路的数据报文处理方法、转发表项的构建方法
EP2991284B1 (en) Method and device used in ethernet virtual private network
WO2020107977A1 (zh) 一种路径构建的方法及相关设备
WO2022121466A1 (zh) 以太虚拟专用网的数据处理方法、设备及存储介质
EP2961117A1 (en) Method, device and system for establishing label switched path
WO2013139270A1 (zh) 实现三层虚拟专用网络的方法、设备及系统
CN113904981A (zh) 一种路由信息处理方法、装置、电子设备和存储介质
WO2020244304A1 (zh) 路由信息发送的方法、路由选路的方法和装置
EP2832055B1 (en) Pseudowire groups in a packet switched network
US8817648B2 (en) Pseudowire extended group messaging in a packet switched network
WO2012159351A1 (zh) 一种标签分配方法、装置和系统
US20130258837A1 (en) Pseudowire extended group actions in a packet switched network

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: 19793123

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 11/03/2021)

122 Ep: pct application non-entry in european phase

Ref document number: 19793123

Country of ref document: EP

Kind code of ref document: A1