WO2019105461A1 - 报文的发送、处理方法及装置、pe节点、节点 - Google Patents

报文的发送、处理方法及装置、pe节点、节点 Download PDF

Info

Publication number
WO2019105461A1
WO2019105461A1 PCT/CN2018/118570 CN2018118570W WO2019105461A1 WO 2019105461 A1 WO2019105461 A1 WO 2019105461A1 CN 2018118570 W CN2018118570 W CN 2018118570W WO 2019105461 A1 WO2019105461 A1 WO 2019105461A1
Authority
WO
WIPO (PCT)
Prior art keywords
esi
packet
value
node
evpn
Prior art date
Application number
PCT/CN2018/118570
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 中兴通讯股份有限公司
Priority to RU2020100597A priority Critical patent/RU2735725C1/ru
Priority to US16/642,504 priority patent/US11374862B2/en
Priority to EP18884497.1A priority patent/EP3720066B1/en
Publication of WO2019105461A1 publication Critical patent/WO2019105461A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • 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
    • 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]
    • H04L12/4675Dynamic sharing of VLAN information amongst network nodes
    • H04L12/4679Arrangements for the registration or de-registration of VLAN attribute values, e.g. VLAN identifiers, port VLAN membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop-free operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2521Translation architectures other than single NAT servers
    • H04L61/2528Translation at a proxy

Definitions

  • FIG. 3 is a schematic flowchart of a method for processing a packet according to an embodiment
  • the method further includes at least one of: in the second packet
  • the outer layer of the source IP adds an MPLS encapsulation corresponding to the destination IP in the same IP header as the source IP (see the exemplary embodiment 13); wherein the source IP is not in the routing table where the destination IP is located.
  • the present embodiment further provides a packet processing method, which can be applied to the topology shown in FIG. 1 , and the execution body of the packet processing method may be a PE node, and the following is a packet sending method.
  • the execution subject is the PE1 node shown in FIG. 1, and the packet transmission process is transmitted from the CE1 to the PE2 via the PE1 node as an example.
  • FIG. 3 is a schematic flowchart of a method for processing a packet according to an embodiment. As shown in FIG. 3, the method includes the following steps.
  • the IP corresponding to the second AC may include at least one of: an ESI IP of the ESI corresponding to the second AC, and a designated bit of the ESI IP of the ESI corresponding to the second AC according to the The IP obtained by modifying the root leaf attribute of the second AC, and the IP address of the ESI IP of the ESI corresponding to the second AC is replaced by the IP ID corresponding to the second AC, and the third And an IP obtained by modifying the specified bit of the third IP according to the root leaf attribute of the second AC, where the ESI corresponding to the second AC is an ESI bound to the primary interface to which the second AC belongs,
  • the ESI IP of the ESI is an IP address corresponding to the ESI
  • the VLAN ID value corresponding to the second AC is a VLAN ID value configured on the second AC to match the first packet.
  • the third IP may include: a first part and a second part, wherein the first part includes the local index, and the second part comprises at least one of: at the first PE node a specified part of the specified IP address configured on the first PE node, wherein the specified part is included in the third IP of all the ACs on the first PE node; a common binary bit portion of the configured attribute value; a common binary bit portion of the specified IP address configured on each PE point of the VPN domain to which the second packet belongs by the same configuration command, wherein the VPN domain A set of PE nodes that send or receive the second message.
  • the local index includes at least one of: a value of the ESI itself; an ESI alias value, where the ESI alias value is configured for the ESI corresponding to the first AC for the first a value of an attribute of the other ESI on the node where the AC is located; an ESI local distinguishing value, wherein the ESI local distinguishing value is the first specified field in the ESI corresponding to the first AC
  • the intra-ESI domain distinguishes values, wherein the intra-ESI domain distinguishing values are in the ESI corresponding to the first AC.
  • the value of the second specified field where the values of the second specified fields corresponding to different ESIs are different in the VPN domain to which the first PE node belongs.
  • a control plane of the MAC entry learned by the AC bound to the EVPN instance bound to the first AC issuing a control plane of the MAC entry learned by the AC bound to the EVPN instance bound to the first AC; a fifth EVPN control plane, where the fifth EVPN control plane is published in the backbone IP-VRF a control plane for the correspondence between the ESI IP and the ESI or the correspondence between the information in the third IP and the ESI; the backbone IP-VRF is bound to the EVPN instance bound to the first AC IP-VRF; a sixth EVPN control plane, wherein the sixth EVPN control plane is to publish the correspondence between the ESI IP and the ESI or the information and the third IP in the backbone MAC-VRF
  • the control plane of the correspondence relationship of the ESI; the backbone MAC-VRF is an L2VPN instance bound to the EVPN instance to which the first AC is bound.
  • the method according to the foregoing embodiment can be implemented by means of software plus a general hardware platform, or by hardware. Or it can be embodied in the form of a software product.
  • the computer software product is stored in a storage medium (such as a read-only memory (ROM) / a random access memory (RAM), a magnetic disk, an optical disk), and includes a plurality of instructions for making a
  • the terminal device (which may be a mobile phone, a computer, a server, or a network device, etc.) performs the method described in any of the above embodiments.
  • the local index may include at least one of: a value of the ESI itself; an ESI alias value, where the ESI alias value is configured for the ESI corresponding to the first AC for the first a value of an attribute of the other ESI on the node where the AC is located; an ESI local distinguishing value, wherein the ESI local distinguishing value is the first specified field in the ESI corresponding to the first AC
  • the value of the first specified field that is different from the ESI is different in the PE node where the first AC is located; the value in the ESI domain is differentiated, and the value in the ESI domain is the value corresponding to the first AC.
  • the value of the second specified field in the ESI where the value of the second specified field corresponding to different ESIs is different in the VPN domain to which the PE node where the first AC belongs.
  • the source IP of the second packet may be routable in the underlay network or in the underlay network.
  • the processing module 54 is configured to perform ESI filtering on the third packet according to the configuration information on the second IP and the receiver that receives the third packet by: Determining, by the third packet, one or more specified packets; determining a second AC that sends each specified packet; and specifying each of the second IP and the configuration information of the second AC of each specified packet The message is subjected to ESI filtering; wherein the configuration information includes at least one of the following: a root leaf attribute of the second AC of each specified message and an IP corresponding to the second AC of each specified message.
  • the third IP may include: a first part and a second part, wherein the first part includes the local index, and the second part comprises at least one of: at the first PE node a specified part of the specified IP address configured on the first PE node, wherein the specified part is included in the third IP of all the ACs on the first PE node; a common binary bit portion of the configured attribute value; a common binary bit portion of the specified IP address configured on each PE point of the VPN domain to which the second packet belongs by the same configuration command, wherein the VPN domain A set of PE nodes that send or receive the second message.
  • the first IP is located in one of the following locations of the third message: in the outermost source IP and in the IPv6 option header.
  • the source IP address of the third packet when the source IP address of the third packet meets one of the following conditions, the source IP address of the third packet is unreachable in the underlay network: the IPv4 header of the third packet
  • the value of the protocol type field is a first specified value
  • the value of the next header field in the IPv6 header of the third packet is a second specified value
  • the outer header of the IP header of the third packet is an Ethernet header.
  • the value of the ethertype field is the third specified value
  • the specified bit of the source IP of the third packet is the fourth specified value
  • the designated bit of the destination IP of the third packet is the fifth specified value and the source IP
  • the specified bit is the sixth specified value.
  • a PE node is also provided, and the PE node may be a PE node in the architecture shown in FIG. 1 above, but is not limited thereto.
  • 6 is a schematic diagram of a PE node according to an embodiment. As shown in FIG. 6, the PE node includes: a communication interface 62, configured to receive a first packet from a first access circuit AC; and a processor 64 to communicate with the foregoing The interface is connected to the interface, and is configured to process the first packet to obtain one or more second packets.
  • the second packet includes a first IP, where the first IP includes: a second IP or an IP obtained by encrypting a partial bit of the second IP with an eigen-entropy value of the first packet; the second IP being one of: an ESI IP of the ESI corresponding to the first AC And using the IP obtained by modifying the specified bit of the ESI of the ESI corresponding to the first AC according to the root attribute of the first AC, and using the partial part of the ESI IP of the ESI corresponding to the first AC.
  • An ESI corresponding to the AC is an ESI bound to the primary interface to which the first AC belongs, and an ESI IP of the ESI is an IP address corresponding to the ESI, and the The value of the VLAN ID corresponding to the AC is the value of the VLAN ID that is configured by the first AC to match the first packet, and the third IP is the PE node where the first AC is located and the first An IP of the AC corresponding to the ESI on the PE node, or an IP index of the VPN domain to which the PE of the first AC belongs and the local index of the ESI corresponding to the first AC on the PE node
  • the determined IP; the communication interface 62 is further configured to send each second message.
  • the foregoing encapsulation may be an IP encapsulation. In this way, it is possible to achieve some effects of PBB EVPN without using PBB and MPLS encapsulation.
  • the third IP may include: a first part and a second part, wherein the first part includes the local index, and the second part includes at least one of: at the first AC a specified part of the specified IP address configured on the PE node, where the specified part is included in the third IP address of all the ACs on the PE node, and the same configuration command is used on the PE node where the first AC is located.
  • a common binary bit portion of the specified attribute value respectively configured by the ESI a common binary bit portion of the specified IP address configured on each PE point of the VPN domain to which the second packet belongs by using the same configuration command, where The VPN domain is a set of PE nodes that send or receive the second packet.
  • the local index is unique to the ESI on the PE node where the ESI is located, that is, the local index uniquely identifies the ESI corresponding to the local index on the PE node, but is not limited thereto.
  • the local index may be a value of the ESI itself, but is not limited thereto.
  • the first IP is located in one of the following locations of the second message: in the source IP and in the IPv6 option header.
  • the second EVPN control plane issues the correspondence between the ESI IP and the ESI without routing Relationship or a corresponding relationship between the information in the third IP and the ESI, but issuing a control plane of the MAC entry learned by the AC bound to the EVPN instance bound to the first AC by a route;
  • a third EVPN a control plane wherein the third EVPN control plane is configured to issue a correspondence between the ESI IP and the ESI or a correspondence between the information in the third IP and the ESI by using a route, but not by routing A bound to the EVPN instance bound to the first AC a control plane of the learned MAC entry;
  • a fourth EVPN control plane wherein the fourth EVPN control plane issues the correspondence between the ESI IP and the ESI or the information in the third IP without routing Corresponding relationship of the ESI, and not issuing a
  • the processor 64 when the processor 64 processes the first packet based on the second EVPN control plane or the fourth EVPN control, the processor may not depend on the correspondence between the ESI IP and the ESI or the There are two correspondences between the information in the third IP and the corresponding relationship in the ESI.
  • the processor 64 is further configured to perform at least one of: the source IP in the second packet.
  • the outer layer is added with the MPLS encapsulation corresponding to the destination IP in the same IP header as the source IP; wherein the source IP is not in the routing table where the destination IP is located; and the second packet is IPv4. Setting a value of a protocol type field in the header to a first specified value; setting a value of a next header field in an IPv6 header of the second packet to a second specified value; and an IP header of the second packet
  • the value of the ethertype field in the corresponding outer Ethernet header is set to the third specified value.
  • the node includes: a communication interface, configured to receive a third packet sent by the first serving provider edge PE node, where the The third packet is a packet that is processed by the first PE node to process the fourth packet received by the first AC, where the third packet includes a first IP, where the first IP includes: a second IP or an IP obtained by encrypting a partial bit of the second IP with an eigen-entropy value of the fourth packet; the second IP being one of: an ESI of ESI corresponding to the first AC IP, the IP address obtained by modifying the specified bit of the ESI IP of the ESI corresponding to the first AC according to the root leaf attribute of the first AC, and the partial bit of the ESI IP of the ESI corresponding to the first AC The IP obtained by replacing the IP ID corresponding to the first AC, the third IP or an IP obtained by modifying the specified bit of the ESI IP of the ESI corresponding to the first AC according to the root leaf attribute of the first AC, and the partial bit of the
  • the value of the VLAN ID corresponding to the first AC is a value of a VLAN ID configured on the first AC for matching the fourth packet, where the third IP is a PE node where the first AC is located.
  • the IP determined by the local index on the PE node corresponding to the first AC or the VPN domain to which the PE node where the first AC belongs and the ESI corresponding to the first AC are in the PE node
  • the IP address determined by the local index; the processor is connected to the communication interface, and configured to process the third packet according to an ESI value corresponding to the first IP included in the third packet, or according to The second IP and the configuration information on the receiver that receives the third packet perform ESI filtering on the third packet.
  • the first PE may be a PE1 node.
  • the third packet corresponds to the second packet in the embodiment shown in the method for transmitting the packet, and the fourth packet corresponds to the first packet in the method for transmitting the packet.
  • the third IP may include: a first part and a second part, wherein the first part includes the local index, and the second part comprises at least one of: at the first PE node a specified part of the specified IP address configured on the first PE node, wherein the specified part is included in the third IP of all the ACs on the first PE node; a common binary bit portion of the configured attribute value; a common binary bit portion of the specified IP address configured on each PE point of the VPN domain to which the second packet belongs by the same configuration command, wherein the VPN domain A set of PE nodes that send or receive the second message.
  • the local index includes at least one of: a value of the ESI itself; an ESI alias value, where the ESI alias value is configured for the ESI corresponding to the first AC for the first a value of an attribute of the other ESI on the node where the AC is located; an ESI local distinguishing value, wherein the ESI local distinguishing value is the first specified field in the ESI corresponding to the first AC
  • the intra-ESI domain distinguishes values, wherein the intra-ESI domain distinguishing values are in the ESI corresponding to the first AC.
  • the value of the second specified field where the values of the second specified fields corresponding to different ESIs are different in the VPN domain to which the first PE node belongs.
  • the third packet is obtained by the first PE processing the fourth packet based on at least one of the following control planes: a first EVPN control plane, where the first EVPN
  • the control plane is configured to issue the correspondence between the ESI IP and the ESI or the correspondence between the information in the third IP and the ESI through a route, and publish the EVPN bound by the first AC through a route.
  • a control plane of the MAC entry of the AC learning bound by the instance a second EVPN control plane, wherein the second EVPN control plane issues the correspondence between the ESI IP and the ESI or the third Corresponding relationship between the information in the IP and the ESI, but issuing a control plane of the MAC entry learned by the AC bound to the EVPN instance bound to the first AC by a route; a third EVPN control plane, where The third EVPN control plane is configured to issue a correspondence between the ESI IP and the ESI or a correspondence between the information in the third IP and the ESI through a route, but is not issued by the route by the first AC Control plane of the MAC entry learned by the AC bound to the EVPN instance; fourth EV a PN control plane, wherein the fourth EVPN control plane issues the correspondence between the ESI IP and the ESI or the correspondence between the information in the third IP and the ESI without routing, and does not pass the route And issuing a control plane of the
  • the source IP of the third packet is the destination IP
  • the source IP is routable in the underlay network or not routable in the underlay network.
  • the source IP address of the third packet when the source IP address of the third packet meets one of the following conditions, the source IP address of the third packet is unreachable in the underlay network: in the IPv4 header of the third packet.
  • the value of the protocol type field is a first specified value; the value of the next header field in the IPv6 header of the third packet is a second specified value; and the outer header of the IP header of the third packet is in the outer header.
  • the value of the ethertype field is a third specified value; the specified bit of the source IP of the third packet is a fourth specified value; the designated bit of the destination IP of the third packet is a fifth specified value and the source IP is The specified bit is the sixth specified value.
  • the embodiment further provides a packet processing system, including: a first node and a second node; wherein the first node is configured to receive a first packet from the first access circuit AC, Processing, the first packet is sent to obtain one or more second packets, and the one or more second packets are sent to the second node; wherein each second packet includes a first IP address
  • the first IP includes: a second IP or an IP obtained by encrypting a partial bit of the second IP with an eigen-entropy value of the first packet; the second IP being one of: The ESI IP of the ESI corresponding to the first AC, the IP address of the ESI IP of the ESI corresponding to the first AC is modified according to the Root/Leaf attribute of the first AC, and the The part of the ESI IP of the ESI corresponding to the AC is replaced by the IP ID corresponding to the first AC, and the third IP is set according to the root attribute of the first AC.
  • the modified ESI wherein the ESI corresponding to the first AC is an ESI bound to the primary interface to which the first AC belongs, and the ESI IP of the ESI is The IP address corresponding to the ESI, the VLAN ID value corresponding to the first AC is a VLAN ID value configured on the first AC for matching the first packet, and the third IP is a Determining, by the PE node where the first AC is located, the IP index determined by the local index of the ESI corresponding to the first AC on the PE node or the VPN domain to which the edge node PE node where the first AC is located belongs An AC corresponding to the local index of the ESI on the PE node; the second node is set to each of the first according to an ESI value corresponding to the first IP included in each second packet The second packet is processed, or the second packet is ESI filtered according to the second IP and the configuration information on the receiver that receives the second packet.
  • the exemplary embodiment provides a device (system) for EVPN service ESI internal loop avoidance, wherein the PE node provided by the exemplary embodiment includes the following modules: a standard EVPN control plane module: VXLAN according to RFC7348 Control plane management; also includes routing and forwarding management of the underlay network required for VXLAN deployment, such as Multiprotocol-Border Gateway Protocol (MP-BGP) session; standard EVPN forwarding table management module: according to RFC7348 Provides management of multiple forwarding tables for VXLAN;
  • MP-BGP Multiprotocol-Border Gateway Protocol
  • the apparatus further includes: an ESI alias (Alias) mapping module: the module determines an ESI alias value for the specified ESI, and the ESI alias value may be explicitly specified or extracted from a certain field of the ESI. In addition, the module also sends the mapping relationship between the ESI and ESI alias values configured by the user to the new EVPN forwarding module.
  • the ESI Alias mapping module also determines the Designated Forwarder (DF)/non-DF role for each AC for each ESI, where the DF/non-DF role plays a role in the forwarding process as defined in RFC7432.
  • DF Designated Forwarder
  • the method of determining whether each AC is a DF or a non-DF role is not limited to RFC7432.
  • this rule is referred to as an ESI IP verification rule of the VXLAN data packet in the present disclosure.
  • the process of verifying ESI IP by this rule is called the ESI IP verification process.
  • this module can also identify IPv6 Segment Routing (SRv6) End.DX2 encapsulated packets, and is also served by an End.DX2 type SRv6 Segment Identifier (SID).
  • SID IPv6 Segment Identifier
  • VNI and VXLAN Tunnel Endpoint (VTEP) IP in RFC7348 for a VXLAN instance See Exemplary Embodiment 5.
  • the VXLAN service is deployed in the manner of deploying the VXLAN service defined in RFC7348.
  • the PE nodes used are PE nodes that implement the ESI Alias mapping module and the new EVPN forwarding module.
  • the VXLAN service already has the basic functions of the VXLAN service defined in RFC7348.
  • the mapping relationship between each local ESI on the node and the ESI alias value of each local ESI is configured through the configuration interface provided by the ESI Alias mapping module. Including ESI is 0 and ESI is not 0.
  • the VXLAN EVPN service is implemented according to draft-ietf-bess-evpn-overlay (hereinafter referred to as "[EVPN overlay]”), and the control plane module of the obtained VXLAN EVPN service is the control plane part of the VPN infrastructure module.
  • the EVPN control plane module obtained by the above method includes the MP-BGP protocol L2VPN EVPN address family configuration, the configuration of the EVPN instance, the binding configuration of the AC and the EVPN instance, and the ESI related configuration, where the EVPN instance is VNI Identification, VNI comes from user configuration.
  • the binding relationship between the VXLAN tunnel and the VXLAN tunnel and the EVPN instance in this module is dynamically generated by the MP-BGP session according to the [EVPN Overlay] protocol.
  • the Prefix 1 is referred to as a source IP-dedicated black hole route prefix of the node.
  • here is a node with only one source IP-specific black hole route prefix.
  • the module is configured to assign a corresponding local unique 16-bit ESI alias value to each local ESI, and when receiving the callback of the EVPN infrastructure, the first encapsulated by the Xth packet.
  • the ESI alias value corresponding to the ESI corresponding to the primary interface to which the ingress AC of the packet belongs covers the lower 16 bits of the source IP address of the second packet, and then the modified packet is returned to the EVPN infrastructure module.
  • IP third plug-in module The method for implementing the IP third plug-in module is as follows:
  • the module returns the Yth message to the EVPN infrastructure module intact.
  • the Zth message is directly returned to the EVPN infrastructure module.
  • the IPv4 forwarding function includes a load balancing function based on the Multi-Chassis-Link Aggregation Group (MC-LAG), and the load balancing is performed by using an IP quintuple. Entropy factor.
  • M-LAG Multi-Chassis-Link Aggregation Group
  • the module forwards only based on the IP header of the Xth packet (including the IPv6 option header).
  • the module performs IP forwarding on the Xth packet whose destination IP address is not the local direct IP address of the local node, and the process of performing IP forwarding on the Xth packet according to the destination IP does not change.
  • This module is configured to perform the route reachability check when the source IP address of the IP packet with the highest value of the source IP address of the source IP address is Prefix2.
  • the entropy IP third plug-in module is used to perform the source IP route reachability check.
  • the entropy IP third plugin is called to perform processing, and the destination IP address used for the packet is obtained.
  • the source IP address of the Xth packet is directly used as the destination IP address of the packet.
  • the module may also abandon the passive packet return when the passive packet is triggered. At this time, the entropy IP third plug-in is not required to be called.
  • the module is configured to specify that when the received upper 16 bits of the source IP address of the Xth packet are the specified value Prefix2, the processing of the packet satisfies the following rules: 1) triggering the passive in the third packet When the packet is returned, the packet is returned to the designated IP address S1; 2), and when the third packet triggers the source IP route reachability check, the check is ignored.
  • the first step is to select the implementation that each node takes.
  • the PE nodes defined in this exemplary embodiment are selected as the PE1, PE2, and PE3 nodes, and the non-service-aware nodes defined in the exemplary embodiment are selected as the P1 and P2 nodes.
  • the network and service deployment flow sections in the present exemplary embodiment and the following exemplary embodiments all use the nodes defined in the exemplary embodiment as the PE1, PE2, PE3, P1, and P2 nodes, and details are not described herein again. Since the PE node and the non-service aware node defined in the present exemplary embodiment are both IPv4 nodes, this means that the underlay network type selected by the present exemplary embodiment is an IPv4 network.
  • the second step is to configure and publish the EVPN route ID of each PE node.
  • Configure a local loopback interface for each PE node configure an IP address and a corresponding subnet mask for the loopback interface, and use the IP address of the loopback interface as the EVPN Router ID of the PE.
  • the route prefix generated by the EVPN router ID and the subnet mask corresponding to the EVPN router ID is reachable in the underlay network (can be pinged); the EVPN router IDs and corresponding route prefixes of different PEs are different.
  • the subnet mask of the loopback interface is a 32-bit subnet mask, and the value of the host identification part of the IP addresses of the multiple loopback interfaces is 1.
  • the VXLAN EVPN network shown in Figure 1 is established.
  • the MP-BGP session is configured between the PE1, PE2, and PE3, and the related configuration of the L2VPN EVPN address family is enabled.
  • EVPN RT-3 routing can dynamically generate all VXLAN tunnels required by the service.
  • a VXLAN EVPN service is established as shown in Figure 1, and the same VNI is assigned to the VXLAN EVPN service on each PE node.
  • the six interfaces, such as AC1, AC2, AC3, AC4, AC5, and AC6, are bound to the VXLAN EVPN service as access circuits.
  • the MP-BGP session starts to exchange the RT-3 route according to the signaling process defined by [EVPN Overlay], so that the VXLAN tunnel between different nodes is established and bound to the VXLAN EVPN service.
  • the sixth step configure the ESI filtering configuration.
  • Configure the same source IP-specific blackhole route prefix on each PE node and configure an ESI alias value for each non-zero ESI on each PE, so that the same non-zero ESI has the same ESI alias value on different PEs.
  • the ESI alias values of any two different non-zero ESIs are different, regardless of whether two different non-zero ESIs are on the same PE.
  • the VXLAN EVPN service is established, and the data message can be used to verify the forwarding behavior and effect on the PE node and the non-service-aware P node defined in the exemplary embodiment.
  • the processing steps of the end-to-end packet forwarding part include the following steps.
  • the PE1 node receives an address resolution protocol (ARP) packet B1 (corresponding to the first packet) from the local AC1
  • ARP address resolution protocol
  • the EVPN infrastructure module forwards the B1 packet, including The remote PE2 and PE3 and the local AC4 forward the packet.
  • the AC4 is discarded because it is negotiated as a non-DF role.
  • the copy of the B1 message sent by PE1 to PE2 is recorded as B1b (corresponding to the second message), and the copy of the B1 message sent by PE1 to PE3 is recorded as B1c.
  • the outer source IP of the VXLAN encapsulation of the B1b and B1c copies is the same, denoted as ESI_IP1, where the upper 16 bits of the ESI_IP1 are the upper 16 bits of the source IP-specific black hole routing prefix, and the lower 16 bits of the ESI_IP1 are The value of the ESI alias value.
  • the EVPN infrastructure module forwards the B1b packet.
  • the B1b packet is a BUM packet, and the source IP address of the packet is ESI_IP1.
  • the ESI alias value corresponding to the ESI corresponding to the physical port to which AC2 belongs is equal to the lower 16 bits of ESI_IP1, so the copy cannot be forwarded to AC2; another copy of the packet is forwarded to AC5.
  • the ESI alias value corresponding to the ESI corresponding to the physical port to which AC5 belongs is not equal to the lower 16 bits of ESI_IP1. Therefore, the copy can be forwarded to AC5.
  • the ESI alias is skipped because the ESI of AC6 is 0.
  • the value filtering process forwards the packets directly from AC6.
  • the PE3 node when the PE3 node receives the B1c message, when the EVPN infrastructure module forwards the B1c message to the AC3, the B1c message is a BUM message, but since the ESI of the AC3 is 0, there is no need to perform ESI filtration.
  • the fourth step when PE1 receives a BUM packet B4 from AC4, according to the forwarding process similar to B1, the outer source IP of the VXLAN encapsulation is filled with ESI_IP2, and a copy of B4 is forwarded to PE3, due to B4c and B1c has different outer source IP addresses.
  • PE3 will count B4c into two records. According to the standard [EVPN Overlay] process, B4c and B1c can only be counted because VXLAN encapsulation and outer IP encapsulation are identical. Go to a record. Therefore, this embodiment can achieve more detailed traffic statistics than the standard [EVPN Overlay].
  • IP first plug-in module The method for implementing the IP first plug-in module is as follows:
  • This module does not make any modifications to the message.
  • IP second plug-in module The method for implementing the IP second plug-in module is as follows:
  • This module is the same as the module of the same name in Exemplary Embodiment 1, except where specifically stated.
  • IP third plug-in module The method for implementing the IP third plug-in module is as follows:
  • IP fourth plug-in module The method for implementing the IP fourth plug-in module is as follows:
  • the module sets the ESI IP corresponding to the ESI corresponding to the source IP address of the third packet and the primary interface to which the egress AC of the Zth packet belongs. Matching with the ESI IP mask, if the source IP can match the ESI IP and ESI IP mask, discard the message, if the source IP cannot match the ESI IP or ESI IP mask, then The message is returned to the EVPN infrastructure module for further processing.
  • This module is the same as the module of the same name in Exemplary Embodiment 1.
  • This module is the same as the module of the same name in Exemplary Embodiment 1.
  • the first step is to select the implementation that each node takes.
  • the second step is to configure and publish the EVPN Router ID of each PE node. The same as in the first embodiment.
  • the VXLAN EVPN network shown in Figure 1 is established.
  • a VXLAN EVPN service is established as shown in Figure 1, and the same VNI is assigned to the VXLAN EVPN service on each PE node.
  • the fifth step is to configure the ESI basic configuration.
  • each ESI is configured with one ESI IP and one 28-bit IP address mask corresponding to the ESI IP, the upper 16 bits of the ESI IP and the source IP-dedicated black hole routing prefix.
  • the upper 16 bits are the same.
  • the same ESI has the same ESI IP high 28 bits on different PEs, and the high 28 bits of ESI IP of different ESIs are different.
  • the VXLAN EVPN service is established, and the data message can be used to verify the forwarding behavior and effect on the PE node and the non-service-aware P node defined in the exemplary embodiment.
  • the processing steps of the end-to-end packet forwarding part include the following steps.
  • the process of forwarding the B1b packet by the EVPN infrastructure module is the same as that of the exemplary embodiment 1, and the result of the ESI filtering is the same, only the ESI filtering rule.
  • the ESI IP configured on the ESI corresponding to the source IP address of the B1b packet and the physical port to which each egress AC belongs.
  • the third to fourth steps are the same as in the first embodiment except for the value of the outer source IP of the VXLAN package.
  • the BGP next hop of the RT-2 route advertised by the neighboring PEs of the same ESI is different because the BGP next hop of the RT-2 route is the EVPN router ID of the route source node.
  • the outer destination IP addresses of VXLAN packets of different neighboring PEs that are forwarded to the same remote ESI are different, and thus the flow-by-flow load sharing mode cannot be supported.
  • this module still supports per-service load balancing (per service load- Balance), as long as the load balancing can be performed on the CE; at this time, PE3 is equivalent to the PE nodes passing the packet W sent by the CE1, and the PEs that forward the CE3 to the packet W are processed by the PE node.
  • the PE node that passes the W changes, the PE node that the packet U passes through also changes, and when different W packets go to different PE nodes, different packets U also go to different PE nodes, thereby implementing a per service load. -balance effect.
  • the ESI IP of the B1c packet source IP is actually a context entropy value of the B1 packet. Therefore, when the same B1 packet enters the PE1 node from the different ACs of the PE1 node and generates a B1c packet. In the case where the B1c message is processed by the load balancing process on the P1 node in the two cases, the selected forwarding path is different.
  • the common VXLAN service is implemented according to RFC7348, and the control plane module of the obtained VXLAN service is the control plane and the human-machine interface part of the VPN infrastructure module.
  • this module has the same human machine interface and processing flow as RFC7348 described above.
  • the module needs to implement a plug-in mechanism, in which the first packet is encapsulated into the X-th packet according to the RFC7348 forwarding process, and the X-th packet is a link layer-free encapsulation.
  • the X-th packet is a link layer-free encapsulation.
  • the received message is processed in the EVPN instance according to the process defined in RFC7348, to obtain one or more Z-th messages, and an exit AC of each Z-th message, with the Z-th message and The egress AC of the Zth packet is a parameter, and the IP fourth plugin is invoked. If the IP fourth plugin does not discard the Zth packet, continue to process according to the process in [EVPN Overlay], including Adding a link layer encapsulation to the Zth message according to the destination IP address.
  • the plug-in mechanism may be a function call, a callback function, a polymorphic function, or a separate plug-in.
  • the underlay network is set to be an IPv6 network, and therefore, the source IP and the destination IP of the VXLAN tunnel are both IPv6 addresses.
  • the destination IP of the received third packet (equivalent to the second packet or the third packet in the foregoing embodiment) matches the interface corresponding to the interface where the source IP address of the EVPN tunnel is located.
  • the third packet is matched to the tunnel, and the source IP of the third packet is matched to the destination IP address of the EVPN tunnel.
  • IP first plug-in module The method for implementing the IP first plug-in module is as follows:
  • This module is the same as the module of the same name in Exemplary Embodiment 2 except where specifically stated.
  • the module does not need to configure the source IP-dedicated black hole routing prefix.
  • each ESI of the module has a virtual interface of the same name, called an ESI virtual interface, and the virtual interface has all the functions of the loopback interface.
  • the ESI IP of this module is configured on the ESI virtual interface and configured as a 128-bit IPv6 mask.
  • the module covers the source IP of the Xth packet with the ESI IP, and then returns the modified packet to the EVPN infrastructure module for further processing.
  • IP second plug-in module The method for implementing the IP second plug-in module is as follows:
  • the module returns the message input by the EVPN infrastructure module to the EVPN infrastructure module intact.
  • IP third plug-in module The method for implementing the IP third plug-in module is as follows:
  • the module returns the message input by the EVPN infrastructure module to the EVPN infrastructure module intact.
  • IP fourth plug-in module The method for implementing the IP fourth plug-in module is as follows:
  • the Zth message is directly returned to the EVPN infrastructure module.
  • the module LIC If the ESI of the egress AC of the Zth packet is not 0, the module LICifies the source IP of the Zth packet with the ESI corresponding to the ESI corresponding to the egress of the Zth packet. The ESI IP of the interface is compared. If the source IP is equal to the ESI IP, the packet is discarded. If the source IP is not equal to the ESI IP, the packet is returned to the EVPN infrastructure module. Continue processing.
  • the basic IPv6 routing and IPv6 forwarding functions are implemented.
  • the IPv6 forwarding function includes an MC-LAG based load balancing function, and the load balancing uses an IP quintuple as an arithmetic entropy factor.
  • the module does not detect whether an entropy value exists in the IP packet. However, if the source IP or the destination IP of the Zth packet already contains the entropy value of the inner layer packet, the entropy value of the inner layer packet is automatically included in the entropy factor, and the new entropy value is obtained. It also includes the entropy value of the inner message.
  • This module also does not need to call the entropy IP third plugin.
  • This module does not exist on such a node.
  • a node is an existing node in the related art.
  • the processing steps of the network and service deployment part include the following steps.
  • the first step is to select the implementation that each node takes.
  • the second step is to configure and publish the EVPN Router ID of each PE node.
  • the normal VXLAN network shown in Figure 1 is established and each VXLAN tunnel is configured. Among them, there is only one bidirectional tunnel between the same pair of PE nodes.
  • the EVPN router ID of the target PE node is used as the destination IP address of the VXLAN tunnel, and the EVPN router ID is used as the source IP address of the VXLAN tunnel.
  • the VXLAN tunnel configured in this way takes the VXLAN tunnel between PE1 and PE3 as an example.
  • the source IP address of the tunnel is the EVPN Router ID of PE1
  • the destination IP address is the EVPN Router ID of PE3.
  • the source IP address of the tunnel is the EVPN Router ID of PE3, and the destination IP address is the EVPN Router ID of PE1.
  • a VXLAN service is established as shown in FIG.
  • Each of the six interfaces, such as AC1, AC2, AC3, AC4, AC5, and AC6, is bound to the VXLAN service as an access circuit, and each VXLAN tunnel is bound to the VXLAN service.
  • the fifth step is to configure the ESI basic configuration.
  • the sixth step configure the ESI filtering configuration.
  • the ESI alias value in the exemplary embodiment 1 is replaced with ESI IP, in addition, it is also ensured that the ESI IP is reachable on the underlay network.
  • the VXLAN EVPN service is established, and the data message can be used to verify the forwarding behavior and effect on the PE node and the non-service-aware P node defined in the exemplary embodiment.
  • the processing steps of the end-to-end packet forwarding part include the following steps.
  • the process of forwarding the two copies B1b and B1c of the B1 packet by the EVPN infrastructure module is the same as that in Embodiment 1, except that the B1b is The source IP of the outer layer of the VXLAN encapsulation of the B1c is changed to ESI_IP3, and the ESI_IP3 is the ESI IP configured on the ESI corresponding to the physical port to which the AC1 belongs.
  • the process of forwarding the B1b packet by the EVPN infrastructure module is the same as that of the exemplary embodiment 1, and the result of the ESI filtering is the same, only the ESI filtering rule.
  • the ESI IP configured on the ESI corresponding to the source IP address of the B1b packet and the physical port to which each egress AC belongs.
  • the third to fourth steps are the same as the exemplary embodiment 1 except for the value of the outer source IP of the VXLAN package.
  • the present exemplary embodiment is completely impossible to forward the BUM message received from ESI1 (AC1) from other adjacent links (AC2) of ESI1;
  • the embodiment forwards only one BUM message received from ESI1 (AC1) to ESI2 (AC4 and AC5), and only one copy is sent out (since only one AC in AC4 and AC5 is the DF role).
  • RFC7348 originally does not support ESI characteristics. To support ESI features, it is necessary to introduce [EVPN Overlay] control plane, at least introduce RT-4 and "Local Bias" mechanism (including RT-1 routing), and the present exemplary embodiment only The introduction of RT-4 routing gives the RFC7348 ESI features.
  • This embodiment is different from the exemplary embodiment 1.
  • the data side MAC learning is performed according to RFC7348.
  • the MAC learning process is a standard RFC7348 process, Since the value of the outer source IP of the VXLAN package of B1b and B1c is different from the value of the outer source IP of the VXLAN package in the standard RFC7348, the result of MAC learning is different, but the VXLAN service can be performed normally.
  • Unicast forwarding therefore, the present exemplary embodiment does not list the forwarding steps of unicast messages.
  • This module is the same as the module of the same name in Exemplary Embodiment 3 except where specifically stated.
  • the EVPN instance of the module also corresponds to a virtual interface of the same name, which is called an EVPN instance interface.
  • the EVPN instance interface has all the functions of the loopback interface. This means that the IP address of the EVPN instance interface is added to the routing table as a local host route, and the IP address mask configured on the EVPN instance interface is added to the route as a local direct route prefix combined with the IP address. In the table, and from the local host route and the route entry corresponding to the local direct route prefix, it is known that it is a route generated according to which interface (must be an EVPN instance interface).
  • each VXLAN tunnel in the present exemplary embodiment is dedicated to one service, and each service deploys one VXLAN tunnel for each remote node in the service.
  • the source IP address of each VXLAN tunnel in the exemplary embodiment is the IP address of the EVPN instance interface corresponding to the EVPN instance to which the VXLAN tunnel belongs, and the destination IP address is the IP address of the EVPN instance interface corresponding to the EVPN instance to which the VXLAN tunnel belongs. .
  • SRv6, End.DX2, SID, and Function are SRv6 described in section 4 of draft-filsfils-spring-srv6-network-programming-01 (hereinafter referred to as [srv6-program]). , End.DX2, SID and Function concepts.
  • the third packet When the third packet is received by the module, if the destination IP address of the third packet is a local direct route, and the route is generated by an EVPN instance interface, the third packet is considered to be an extended-type SRv6 encapsulation.
  • the third packet is forwarded in the EVPN instance corresponding to the EVPN instance interface.
  • each field in the format B in FIG. 11 has the same effect as the field of the same name in the format A in FIG. 11 except where otherwise specified.
  • the lower 12 bytes of the destination IP address of the packet is used as the inner VLAN ID.
  • the upper 12 bytes of the lower 24 bytes of the IP address are used as the outer VLAN ID, and the inner VLAN ID, the outer VLAN ID, and the ESI virtual interface are searched for the corresponding sub-interface.
  • the EVPN instance bound to the sub-interface is the EVPN instance to which the packet belongs.
  • the format for decoding the third packet corresponding to the IP address of the EVPN instance interface of the instance is used as the format for decoding the third packet. If the inner and outer VLAN IDs are 0x3FF, the AC is the primary interface.
  • the AC is a sub-interface configured with a single-layer VLAN ID. If the inner VLAN ID is not 0x3FF, the AC is configured. Subinterface of a double-layer VLAN.
  • the plug-in mechanism implemented by this module is the same as in Embodiment 3.
  • the destination IP address of the third packet is actually a parameterized local SID on the PE node configuring the destination IP
  • the local SID concept with parameters is the [srv6-program]
  • This module actually defines a new type of SRv6 parameters (ARGS) and SRv6 Function corresponding to SRv6 ARGS.
  • the SRv6 Function concept is the SRv6 Fucntion concept described in [srv6-program] Section 4.
  • the new SRv6 Function indicates that the ARGS included in the lower 24 bits of the corresponding local SID is used to find a sub-interface matching the corresponding VLAN ID information on the ESI corresponding to the SID, and the third packet belongs to the sub-interface. Forwarded in the EVPN instance.
  • This embodiment can be used in combination with the SR-Policv function of the SRv6.
  • the destination IP address of the third packet is not the destination PE node.
  • the local SID with the parameter on the executor of the module, but the destination IP of the third packet is modified by the SRv6 forwarding process of the at least one non-service-aware node or the destination PE node.
  • the local SID is changed on the destination PE node, and the third packet is processed according to the new SRv6 function (Fuction) rule.
  • IP first plug-in module The method for implementing the IP first plug-in module is as follows:
  • This module is the same as the module of the same name in Exemplary Embodiment 3 except where specifically stated.
  • the ESI IP of the module is configured on the ESI virtual interface and configured as a 104-bit IPv6 mask.
  • the module covers the source IP of the second packet with the ESI IP, and then returns the modified packet to the EVPN infrastructure module for further processing.
  • IP second plug-in module The method for implementing the IP second plug-in module is as follows:
  • This module is the same as the module of the same name in Exemplary Embodiment 3 except where specifically stated.
  • the module uses the inner VLAN ID of the ingress AC of the first packet as the lower 12 bits of the source IP of the packet input by the EVPN infrastructure module, and the first packet is the first packet.
  • the outer VLAN ID of the ingress AC is the upper 12 bits of the lower 24 bits of the source IP, wherein when the ingress AC is not a sub-interface, the inner and outer VLAN IDs are regarded as 0x3FF, when the ingress AC When a sub-interface with only a single-layer VLAN ID is configured, the inner VLAN ID is regarded as 0x3FF.
  • the module then returns the modified message to the EVPN infrastructure module.
  • This module is the same as the module of the same name in Exemplary Embodiment 3.
  • IP fourth plug-in module The method for implementing the IP fourth plug-in module is as follows:
  • the Zth message is directly returned to the EVPN infrastructure module.
  • the module sets the lower 32 bits of the source IP of the Z-th message to the ESI corresponding to the primary interface to which the egress AC of the Z-th message belongs. Comparing the selected fields, comparing the upper 96 bits of the source IP of the Zth message with the upper 96 bits of the focus prefix, and if they are equal, discarding the message if the The lower 32 bits of the source IP of the Z-th message are not equal to the selected field in the ESI corresponding to the primary interface to which the egress AC of the Z-th message belongs, or the source IP of the Z-th message is 96. The bit is not equal to the upper 96 bits of the fob prefix, and the message is returned to the EVPN infrastructure module for further processing.
  • This module is the same as the module of the same name in Exemplary Embodiment 3.
  • the processing steps of the network and service deployment part include the following steps.
  • the second step is to configure and publish the EVPN Router ID of each PE node.
  • the VXLAN EVPN network shown in Figure 1 is established.
  • the fifth step is to configure the ESI basic configuration.
  • the VXLAN EVPN service is established, and the data message can be used to verify the forwarding behavior and effect on the PE node and the non-service-aware P node defined in the exemplary embodiment.
  • the processing steps of the end-to-end packet forwarding part include the following steps.
  • the process of forwarding the two copies B1b and B1c of the B1 packet by the EVPN infrastructure module is the same as that of the exemplary embodiment 4, except that The source IP of the outer layer of the VXLAN package of the B1b and B1c is changed to ESI_IP5, and the ESI_IP5 is the ESI IP configured on the ESI corresponding to the physical port to which the AC1 belongs.
  • the third to fourth steps are the same as the exemplary embodiment 4 except that the value of the outer layer source IP of the SRv6 package is extended.
  • this module learns the far-end MAC entries based on the MAC learning process of RFC7348, instead of knowing the far-end MAC entries through RT-2 routing.
  • the ESI IP in the module is not only the source IP address of the Xth message but also the destination IP address of the Xth message, which is determined by the MAC learning process in RFC7348. . Therefore, the ESI IP in this module is reachable in the underlay network.
  • the ESI configured by the module is selected according to the following ESI format, which is identified by a triplet ⁇ ESI Type, VPN Domain, GDV>, where the ESI type (Type) is TBD1 (TBD1).
  • the value may need to be defined by the Internet Assigned Numbers Authority (IANA).
  • TBD2, TBD3, and TBD4 are the same, and will not be described later.
  • the VPN domain (Domain) is a VPN domain identifier
  • Discriminator value, GDV) is the identifier of the ESI in the VPN domain.
  • Figure 9 shows one possible implementation of the new ESI format, but is not limited thereto.
  • the module does not call the IP second plug-in module and the IP third plug-in module.
  • IP first plug-in module The method for implementing the IP first plug-in module is as follows:
  • IP second plug-in module The method for implementing the IP second plug-in module is as follows:
  • the Zth message is directly returned to the EVPN infrastructure module.
  • the module sets the ESI corresponding to the lower 8 bits of the source IP of the Zth packet and the primary interface to which the egress AC of the Zth packet belongs.
  • the GDV fields are compared. If they are equal, the packets are discarded. If they are not equal, the packets are returned to the EVPN infrastructure module for further processing.
  • This module is the same as the module of the same name in Exemplary Embodiment 3 except where specifically stated.
  • the module is based on the IPv4 routing and forwarding technology and processes IPv4 messages.
  • the VXLAN EVPN network shown in Figure 1 is established.
  • a VXLAN EVPN service is established as shown in Figure 1, and the same VNI is assigned to the VXLAN EVPN service on each PE node.
  • each ESI adopts an ESI format of the type TBD1.
  • the ESI format of the type TBD1 consists of a field (indicated as A) in which all ESIs in the same VPN domain take a uniform value, and a field (denoted as B) in which different ESIs take different values in the VPN domain.
  • the ESI IP of the ESI consists of the lower 24 bits of A and the lower 8 bits of B.
  • the process of forwarding the B1b packet by the EVPN infrastructure module is the same as that of the exemplary embodiment 1, and the result of the ESI filtering is the same, only the ESI filtering rule.
  • the ESI IP configured on the ESI corresponding to the source IP address of the B1b packet and the physical port to which each egress AC belongs.
  • the third to fourth steps are the same as the exemplary embodiment 1 except for the value of the VXLAN package outer layer source IP.
  • the present exemplary embodiment after the RT-1 route and the RT-2 route are removed, since the far-end MAC entry is obtained by MAC learning of the data plane, this means that only the PE node actually having the data stream to refresh the MAC entry is present.
  • the MAC entry will be stable. If there is no PE node that actually has the data stream to refresh the MAC entry, the MAC entry will soon age out.
  • the EVPN control plane such as [EVPN Overlay]
  • the present exemplary embodiment greatly saves the memory resources occupied by the MAC entries and the CPU processing resources, which is originally the advantage of the PBB EVPN defined by RFC7623, and the present exemplary embodiment also has the same. Meanwhile, the present exemplary embodiment can support characteristics such as ESI as compared with RFC7348.
  • This module is the same as the module of the same name in Exemplary Embodiment 6, except where specifically stated.
  • the module also implements the function corresponding to the RT-1 route in [EVPN Overlay].
  • the remote MAC learning process of the data plane still exists, and the remote MAC learning is performed.
  • the flow is still the same as in the exemplary embodiment 6, and an attempt is made to use the ESI IP of the remote ESI as the destination IP of the Xth message.
  • the IP address ⁇ Domain:GDV> of the ESI interface in this module is not released in the underlay network, and thus the ESI IP is no longer used as the destination IP of the Xth message.
  • This module is the same as the module of the same name in Exemplary Embodiment 6, except where specifically stated.
  • the module also replaces the destination IP of the Xth message by using the high 24 bits of the destination IP as the value of the VPN Domain field of the target ESI for the purpose.
  • the value of the lower 8 bits of the IP is used as the value of the GDV of the target ESI, and then the RT-1 route corresponding to the target ESI is found, and the value of the BGP nexthop of the RT-1 route is used as the new value of the destination IP.
  • the Y message the destination IP address needs to be replaced only when the first packet is a known unicast packet. When the first packet is a BUM packet, the destination IP address does not need to be replaced.
  • IP second plug-in module The method for implementing the IP second plug-in module is as follows:
  • This module is the same as the module of the same name in Exemplary Embodiment 6.
  • IP third plug-in module The method for implementing the IP third plug-in module is as follows:
  • This module is the same as the module of the same name in Exemplary Embodiment 6.
  • This module is the same as the module of the same name in Exemplary Embodiment 6.
  • This module is the same as the module of the same name in Exemplary Embodiment 1.
  • This module is the same as the module of the same name in Exemplary Embodiment 1.
  • the processing steps of the network and service deployment part include the following steps.
  • the second step is to configure and publish the EVPN Router ID of each PE node. The same as in the sixth embodiment.
  • the VXLAN EVPN network shown in Figure 1 is established.
  • a VXLAN EVPN service is established as shown in Figure 1, and the same VNI is assigned to the VXLAN EVPN service on each PE node.
  • the sixth step configure the ESI filtering configuration.
  • the ESI IP is not routable on the underlay network.
  • the VXLAN EVPN service is established, and the data message can be used to verify the forwarding behavior and effect on the PE node and the non-service-aware P node defined in the exemplary embodiment.
  • the process of forwarding the B1b packet by the EVPN infrastructure module is the same as that of the exemplary embodiment 1, and the result of the ESI filtering is the same, only the ESI filtering rule.
  • the ESI IP configured on the ESI corresponding to the source IP address of the B1b packet and the physical port to which each egress AC belongs.
  • the third to fourth steps are the same as the exemplary embodiment 1 except for the value of the VXLAN package outer layer source IP.
  • the present exemplary embodiment solves the problem that the first IP of the third packet is required to be reachable in the underlay network in the exemplary embodiment 6 because the remote MAC entry of Embodiment 6 is based on RFC 7348.
  • the data plane MAC learning process this means that for a two-way communication session between CE1 and CE3, the IP address of the source IP of the third message in one communication direction of the session, in the same session The other communication direction will be used as the destination IP, and the destination IP will be routable in the underlay network.
  • This module is the same as the module of the same name in the exemplary embodiment 7.
  • IP first plug-in module The method for implementing the IP first plug-in module is as follows:
  • This module is the same as the module of the same name in Exemplary Embodiment 7, except where specifically stated.
  • the module changes the protocol type field in the IPv4 header of the Xth message to TBD2.
  • the module considers that the IPv4 header of the y-th message carries the UDP packet. And, the source IP of the Yth packet is not in the routing table checked by the destination IP, but in the second routing table. The parsing of the message is performed in the same manner as in the exemplary embodiment 7 in accordance with the header of the message within UDP. In the exemplary embodiment, even if a route in the routing table checked by the destination IP can formally match the source IP, the route is not related to the source IP because the destination IP and the The source IP is not in the same routing space.
  • the processing of the yth message by the module if the route involving the source IP is involved, the second routing table shall prevail. Normally, there is no such processing in normal forwarding. Such processing is generally an abnormal situation in which the destination IP is unreachable or the time to live (Time To Live, TTL) is exhausted. At this time, the first Y text body cannot be processed normally.
  • the second routing table does not affect the normal forwarding performance of the Yth packet; in addition, there is a case where a second routing table is required, which is opened in the underlay network.
  • the source IP addressability check is performed, the source IP reachability check is ignored for the IP packet whose protocol type is TBD2 in the IPv4 header, or the source IP reachability check is performed in the second routing table.
  • the module issues the ESI IP of the ESI interface in the underlay network, but it needs to indicate that the route is a route in the second routing table.
  • the underlay routing protocol of the module when the underlay routing protocol of the module receives a route in the second routing table, the route needs to be added to the second routing table, and is represented in the corresponding second routing table entry.
  • the next hop of the route is an IP address in the first routing table or an IP address in the second routing table.
  • IP second plug-in module The method for implementing the IP second plug-in module is as follows:
  • This module is the same as the module of the same name in the exemplary embodiment 7.
  • IP third plug-in module The method for implementing the IP third plug-in module is as follows:
  • This module is the same as the module of the same name in the exemplary embodiment 7.
  • IP fourth plug-in module The method for implementing the IP fourth plug-in module is as follows:
  • This module is the same as the module of the same name in the exemplary embodiment 7.
  • This module implements all underlay routing, forwarding, and processing procedures related to the processing flow of receiving an IP packet of the protocol type TBD2 in the IPv4 header in the EVPN infrastructure module in the exemplary embodiment.
  • This module is the same as the module of the same name in Exemplary Embodiment 6.
  • the processing steps of the network and service deployment part include the following steps.
  • the first step is to select the implementation that each node takes.
  • the second step is to configure and publish the EVPN Router ID of each PE node.
  • a VXLAN EVPN service is established as shown in Figure 1, and the same VNI is assigned to the VXLAN EVPN service on each PE node.
  • the fifth step is to configure the ESI basic configuration.
  • the sixth step configure the ESI filtering configuration.
  • the ESI IP needs to be published in the second routing table, this means that the ability of the IGP route to issue routes in the second routing table needs to be enabled.
  • the VXLAN EVPN service is established, and the data message can be used to verify the forwarding behavior and effect on the PE node and the non-service-aware P node defined in the exemplary embodiment.
  • the processing steps of the end-to-end packet forwarding part include the following steps:
  • the process of forwarding the two copies B1b and B1c of the B1 packet by the EVPN infrastructure module is the same as that of the exemplary embodiment 1, except that The source IP of the outer layer of the VXLAN package of the B1b and B1c is changed to ESI_IP8, and the ESI_IP8 is the ESI IP configured on the ESI corresponding to the physical port to which the AC1 belongs.
  • the process of forwarding the B1b packet by the EVPN infrastructure module is the same as that of the exemplary embodiment 1, and the result of the ESI filtering is the same, only the ESI filtering rule.
  • the ESI IP configured on the ESI corresponding to the source IP address of the B1b packet and the physical port to which each egress AC belongs.
  • the module does not modify the source IP field of the Xth message.
  • a VXLAN EVPN service is established as shown in Figure 1, and the same VNI is assigned to the VXLAN EVPN service on each PE node.
  • the sixth step configure the ESI filtering configuration.
  • the ESI IP is configured to be even except for each.
  • the VXLAN EVPN service is established, and the data message can be used to verify the forwarding behavior and effect on the PE node and the non-service-aware P node defined in the exemplary embodiment.
  • the processing steps of the end-to-end packet forwarding part include:
  • the process of forwarding the B1b packet by the EVPN infrastructure module is the same as that in the exemplary embodiment 2.
  • the result of the ESI filtering is the same, but the judgment is increased.
  • the third to fourth steps are the same as the exemplary embodiment 1 except for the value of the VXLAN package outer layer source IP.
  • the BGP next hop of the RT-2 route is the EVPN Router ID of the routing source node
  • the BGP next hop of the RT-2 route advertised by the MAC learned from different neighboring PEs of the same ESI is the outer layer destination IP address of the VXLAN packets of different neighboring PEs that are forwarded to the same remote ESI is different. Therefore, the per-flow load sharing mode cannot be supported. However, this module still supports per service. Load-balance, as long as the load balancing can be performed on the CE.
  • This module is the same as the module of the same name in Embodiment 7, except where specifically stated.
  • the underlay network of the module supports MPLS, which means that there may be a label in the underlay network routing table, and the third packet received by the module may have an MPLS label.
  • the module checks the underlay routing table with the destination IP of the packet returned by the IP fourth plug-in module, and if there is an MPLS label in the routing entry that is hit, The forwarding information of the label stack and the outer layer of the label stack is encapsulated according to the MPLS forwarding process, and the final packet is sent.
  • the IP layer is terminated, and the UDP layer is the port number corresponding to the VXLAN data packet, the EVPN forwarding process is performed.
  • LSP Label Switching Path
  • IP first plug-in module The method for implementing the IP first plug-in module is as follows:
  • the module replaces the source IP address of the Xth packet and the destination IP address of the Xth packet, and refers to the exemplary embodiment 7.
  • IP second plug-in module The method for implementing the IP second plug-in module is as follows:
  • IP third plug-in module The method for implementing the IP third plug-in module is as follows:
  • This module is the same as the module of the same name in the exemplary embodiment 7.
  • IP fourth plug-in module The method for implementing the IP fourth plug-in module is as follows:
  • This module is the same as the module of the same name in the exemplary embodiment 7.
  • a basic function of mapping an IPv4 route to an LSP and performing corresponding MPLS forwarding is implemented.
  • This module also does not need to call the entropy IP third plug-in module.
  • This exemplary embodiment does not require this module.
  • the processing steps of the network and service deployment part include the following steps.
  • the processing steps of the end-to-end packet forwarding part include the following steps.
  • This module is the same as the module of the same name in Embodiment 13 except where specifically stated.
  • the module binds one IP-VRF to each EVPN instance, and the IP-VRF is referred to as the backbone IP-VRF of the EVPN instance.
  • the module does not release the RT-1per EVI route, only the RT-1per ES route is issued, and the RT-1per ES route issued by the module is also different from the embodiment 13.
  • the RT-1per ES route issued by the module is also different from the embodiment 13.
  • the backbone IP-VRF of the VNI_I is VRF_B
  • the ESI corresponding to the AC is E1
  • the ESI IP of the E1 is IP_E
  • the IP_E is used as a local host in the VRF_B. IP address.
  • IP address For each local host IP address T1 in the VRF_B, an RT-1per ES route is advertised.
  • the ESI of the route is ESI corresponding to T1
  • the ETI is 0xFFFFFF
  • the route distinguisher (RD) is the RD of the VRF_B.
  • the egress router destination of the IP-VRF is carried.
  • the BGP next hop is the EVPN Router ID of the routing source node, and the label value is an MPLS implicit null label.
  • the module imports the RT-1per ES route into the corresponding backbone IP-VRF according to the routing target to form a 32-bit route T2, where the ESI is routed by RT-1per ESI.
  • the lower 24 bits of the VPN Domain field are the upper 24 bits of T2
  • the lower 8 bits of the GDV field of the ESI are the lower 8 bits of T2
  • the next hop of the T2 route is the next hop of the RT-1per ES route. That is, the EVPN Router ID of the routing source node.
  • IP first plug-in module The method for implementing the IP first plug-in module is as follows:
  • This module is the same as the module of the same name in Exemplary Embodiment 13, except where specifically stated.
  • the method for replacing the destination IP address of the X-th message by the module is as follows: the destination IP is used to look up the table in the routing table of the backbone IP-VRF bound to the EVPN instance. The value of the BGP next hop of the hit route entry is used as the new value of the destination IP to form a Yth message, which is returned to the EVPN infrastructure module to continue forwarding.
  • IP second plug-in module The method for implementing the IP second plug-in module is as follows:
  • This module is the same as the module of the same name in Exemplary Embodiment 13.
  • IP third plug-in module The method for implementing the IP third plug-in module is as follows:
  • This module is the same as the module of the same name in Exemplary Embodiment 13.
  • IP fourth plug-in module The method for implementing the IP fourth plug-in module is as follows:
  • This module is the same as the module of the same name in Exemplary Embodiment 13.
  • This module is the same as the module of the same name in Exemplary Embodiment 13.
  • This module is the same as the module of the same name in Exemplary Embodiment 13.
  • the processing steps of the network and service deployment part include the following steps.
  • the first step is to select the implementation that each node takes.
  • the second step is to configure and publish the EVPN Router ID of each PE node.
  • the VXLAN EVPN network shown in Figure 1 is established.
  • a VXLAN EVPN service is established as shown in Figure 1, and the same VNI is assigned to the VXLAN EVPN service on each PE node.
  • the fifth step is to configure the ESI basic configuration.
  • the sixth step configure the ESI filtering configuration.
  • the third to fourth steps are the same as in the first embodiment except for the value of the outer source IP of the VXLAN package.
  • This module is the same as the module of the same name in Embodiment 14 except where specifically stated.
  • the module configures an 80-bit IPv6 unicast prefix, and uses the upper 80 bits of the IPv6 unicast prefix as the upper 80 bits of the ESI IP corresponding to all ESIs on the node.
  • the module replaces the RT-1 per ES route in the embodiment 14 with the RT-2 route in the RFC7623.
  • the backbone MAC of the VNI_I The VRF is VPLS_B, the ESI corresponding to the AC is E1, and the ESI alias value of E1 is MAC_E, and MAC_E is taken as a local host MAC address in VRF_B.
  • an RT-2 route is advertised, where the ESI field takes a value of 0, the MAC address field takes the value of the ESI alias value, and the RD and the route target value
  • the Ethernet (Tag) identifier (ID) field has a value of 0
  • the MPLS-Label1 field has a value of MPLS explicit null label
  • the IP Address field and the MPLS-Label2 field are vacant (not appearing In the route).
  • the module when receiving the RT-2 route, imports the RT-2 route into the corresponding backbone MAC-VRF according to the routing target, to form a backbone MAC entry M2, where The value of the MAC Address field of the RT-2 route is taken as the value of M2, and the next hop of the M2 entry is the BGP next hop of the RT-2 route, that is, the EVPN Router ID of the route source node.
  • IP first plug-in module The method for implementing the IP first plug-in module is as follows:
  • This module is the same as the module of the same name in Exemplary Embodiment 14, except where specifically stated.
  • the method for replacing the destination IP of the X-th message by the module is as follows: a routing table of the backbone MAC-VRF bound to the EVPN instance with the lower 48 bits of the destination IP address.
  • the middle lookup table uses the value of the next hop of the hit MAC entry as the new value of the destination IP to form a Yth message, and returns to the EVPN infrastructure module to continue forwarding.
  • IP second plug-in module The method for implementing the IP second plug-in module is as follows:
  • This module is the same as the module of the same name in Exemplary Embodiment 14.
  • IP third plug-in module The method for implementing the IP third plug-in module is as follows:
  • This module is the same as the module of the same name in Exemplary Embodiment 14.
  • IP fourth plug-in module The method for implementing the IP fourth plug-in module is as follows:
  • This module is the same as the module of the same name in Exemplary Embodiment 14.
  • This module is the same as the module of the same name in Exemplary Embodiment 13.
  • This module is the same as the module of the same name in Exemplary Embodiment 13.
  • the processing steps of the network and service deployment part include the following steps.
  • the first step is to select the implementation that each node takes.
  • the second step is to configure and publish the EVPN Router ID of each PE node.
  • the VXLAN EVPN network shown in Figure 1 is established.
  • a VXLAN EVPN service is established as shown in Figure 1, and the same VNI is assigned to the VXLAN EVPN service on each PE node.
  • the fifth step is to configure the ESI basic configuration.
  • the sixth step configure the ESI filtering configuration.
  • the VXLAN EVPN service is established, and the data message can be used to verify the forwarding behavior and effect on the PE node and the non-service-aware P node defined in the exemplary embodiment.
  • the processing steps of the end-to-end packet forwarding part include the following steps.
  • the process of forwarding the two copies B1b and B1c of the B1 packet by the EVPN infrastructure module is the same as that of the exemplary embodiment 13, except that The source IP of the outer layer of the VXLAN encapsulation of B1b and B1c is changed to ESI_IP15, and the lower 48 bits of the ESI_IP15 are the 6-byte ESI alias configured on the ESI corresponding to the physical port to which the AC1 belongs.
  • the process of forwarding the B1b packet by the EVPN infrastructure module is the same as that of the exemplary embodiment 13, and the result of the ESI filtering is the same, only the ESI filtering rule.
  • the third to fourth steps are the same as the exemplary embodiment 1 except for the value of the VXLAN package outer layer source IP.
  • This module is the same as the module of the same name in Embodiment 15, except where specifically stated.
  • the module directly configures an ASE IP for each ESI as the ESI IP of the ESI, and the ESI alias value is no longer configured.
  • the module replaces the backbone MAC-VRF with the backbone IP-VRF, and the RT-2 route issued by this module is also released in the IP-VRF.
  • the RT-2 route advertised by the module is in the format shown in Section 7.2 of Section RFC7432 (Section 7.2), wherein the IP Address field takes the value of the ESI IP, and the ESI field takes the value.
  • ESI IP corresponding ESI, MAC Address field value is 0 or 0x0FFFFFFFFFF (where all active (all-active) mode takes 0, single-active mode (single-active mode takes 0x0FFFFFFFFFF), RD and routing target value and implementation
  • the RT-1per ES route in the example 14 is the same, and the Ethernet Tag ID field is 0.
  • the value of the MPLS-Label1 field is a local value of an MPLS label that uniquely identifies the IP-VRF instance identified by the RD.
  • the value of the -Label2 field is the same as the MPLS Label field of the RT-1per ES route.
  • the module imports the RT-2 route into the corresponding backbone IP-VRF according to the routing target, to form a 128-bit route IP_E, where The value of the ESI IP field of the RT-2 route is taken as the value of IP_F.
  • the next hop of the IP_F route is the next hop of the RT-2 route, that is, the EVPN Router ID of the route source node.
  • This module is the same as the module of the same name in Exemplary Embodiment 14.
  • IP fourth plug-in module The method for implementing the IP fourth plug-in module is as follows:
  • This module is the same as the module of the same name in Exemplary Embodiment 14, except where specifically stated.
  • the module may also perform legality verification on the source IP of the Yth packet in the backbone IP-VRF, as follows: Check the table in the routing table of the backbone IP-VRF bound to the EVPN instance. If there is a corresponding routing entry, the packet is a legal packet. If the corresponding routing entry does not exist, the packet is an invalid packet. Measures such as alarms can be taken.
  • This module is the same as the module of the same name in Exemplary Embodiment 13.
  • the second step is to configure and publish the EVPN Router ID of each PE node.
  • a VXLAN EVPN service is established as shown in Figure 1, and the same VNI is assigned to the VXLAN EVPN service on each PE node.
  • the sixth step configure the ESI filtering configuration.
  • only one IPv6 address is configured as an ESI IP except for each ESI.
  • This module is the same as the module of the same name in Exemplary Embodiment 1, except where specifically stated.
  • the source IP of the third packet in the exemplary embodiment 1 is actually difficult to be in the underlay network by double checking the destination IP and the source IP of the third packet.
  • the problem of the IP as the destination IP (which is actually equivalent to the source IP still consumes the IP address resources in the underlay network to a certain extent), because the network communication generally has a two-way session and acts as a communication direction.
  • the IP address of the destination IP is used as the source IP in the other communication direction of the same session. That is, the source IP does not necessarily refer to the source IP-specific black hole route prefix as described in the exemplary embodiment 1.
  • the first IP and most likely the IP of the normal communication in the underlay network.
  • the destination IP of the third packet is all the IP address with the specified value, and only the upper part of the destination IP is the specified value and the source IP matches the source IP.
  • the packet of the private black hole route prefix is considered to be a packet whose source IP is not routable in the underlay network. Therefore, the source IP of the third packet may be the same as the specified upper part of the destination IP. Any IP address other than the IP address, regardless of whether an IP address having the same value as the source IP is used as the destination IP in the underlay network, because the source IP and the destination IP are equal even if the source IP and the destination IP are equal.
  • the solution has only one limitation on the IP address planning in the underlay network, that is, the PE node of the embodiment performs the same high-order part of the EVPN Router ID of the PE node, and there is no limitation.
  • the underlay network can communicate with the Internet, and communication in the Internet can be via the underlay network.
  • the solution is to make the first IP not consume the IP address resource in the underlay network (for example, when the underlay network is an IPv4 network).
  • the advantage of the solution is that MPLS technology is required.
  • the module is configured to specify that when the upper 16 bits of the source IP address of the received X packet are Prefix 2, the processing of the packet satisfies the following rules: 1) triggering a passive back in the third packet In the case of a packet, the packet is returned to the designated IP address S1; 2) and the check is ignored when the third packet triggers the source IP reachability check.
  • the processing steps of the network and service deployment part include the following steps.
  • the first step is to select the implementation that each node takes.
  • the second step is to configure and publish the EVPN Router ID of each node.
  • Both the PE node and the P node must be configured with a 32-bit EVPN Router ID, and the upper 24 bits of the EVPN Router ID of the PE node and the P node are the same. Other than this, it is the same as Exemplary Embodiment 1.
  • the third to sixth steps are the same as the exemplary embodiment 1.
  • This module is the same as the module of the same name in Exemplary Embodiment 16, except where specifically stated.
  • the plug-in mechanism implemented by the module is as shown in FIG. 13 : the first packet is encapsulated into an X-th message according to the [EVPN Overlay] forwarding process, and the X-th message is a An IP packet without a corresponding link layer encapsulation (such as a MAC header); then, using the Xth packet as a parameter, first calling the IP first plugin, and modifying the source of the Xth packet in the IP first plugin. After returning the IP and then returning, the IP second plug-in is called, and an IP MPLS label is added outside the X-th packet in the IP second plug-in and an IP address T is returned. Then, the underlay routing table is checked by the IP address T.
  • Layer link layer encapsulation obtaining a Qth message, using the Qth message as a parameter, calling the IP third plugin to obtain 0, one or more Zth messages, and corresponding to each of the Zth messages
  • the module also forms a host routing entry in the corresponding backbone IP-VRF by the IP address of the EVPN instance interface of each EVPN instance.
  • the RT-3 route issued by the module also carries the SRv6-VPN TLV defined in the draft-dawra-idr-srv6-vpn-01, and the SR is carried in the SRv6-VPN TLV.
  • the module After receiving the RT-3 route, the module replaces the originally initiated routing IP address with the IP address carried in the SRv6-VPN TLV when performing the corresponding processing in the exemplary embodiment 16 (Originating Router)
  • the s IP address field and the role of the BGP next hop.
  • the IP address of the RT-3 route carried by the SRv6-VPN TLV is added to the EVPN instance to which the RT-3 route belongs.
  • a routing entry I is formed, the forwarding information of the routing entry I is the forwarding information of the RT-3 route, and the forwarding information of the RT-3 route includes the P of the RT-3 route.
  • the MPLS label is used as a private network outbound label of the IP-VRF of the routing entry I.
  • the BGP next hop of the route is the BGP next hop of the route entry I.
  • IP first plug-in module The method for implementing the IP first plug-in module is as follows:
  • the module replaces the source IP of the Xth packet with the ESI IP of the ESI corresponding to the primary interface to which the first AC belongs.
  • the module does not replace the destination IP of the Xth message.
  • IP second plug-in module The method for implementing the IP second plug-in module is as follows:
  • the module searches the routing table of the backbone IP-VRF bound to the EVPN instance by the destination IP address of the X-th packet, and hits a routing entry R. However, the module does not follow the routing entry R. The destination IP address of the Xth packet is replaced. The module adds a layer of MPLS label to the IP header of the destination IP address of the Xth packet. The MPLS label is a private network with the routing entry R. The tag then returns the value of the BGP next hop of the routing entry R to the EVPN infrastructure module.
  • IP third plug-in module The method for implementing the IP third plug-in module is as follows:
  • This module is the same as the module of the same name in Exemplary Embodiment 16, except where specifically stated.
  • the Qth packet belongs to the Qth The EVPN instance identified by the VNI field of the packet.
  • IP fourth plug-in module The method for implementing the IP fourth plug-in module is as follows:
  • This module is the same as the module of the same name in Exemplary Embodiment 16, except where specifically stated.
  • the processing steps of the network and service deployment part include the following steps.
  • a VXLAN EVPN service is established as shown in Figure 1, and the same VNI is assigned to the VXLAN EVPN service on each PE node.
  • the fifth step is to configure the ESI basic configuration.
  • the VXLAN EVPN service is established, and the data message can be used to verify the forwarding behavior and effect on the PE node and the non-service-aware P node defined in the exemplary embodiment.
  • the process of forwarding the B1b packet by the EVPN infrastructure module is the same as that of the exemplary embodiment 16.
  • the result of the ESI filtering is the same, only the ESI filtering rule.
  • the ESI IP configured on the ESI corresponding to the source IP address of the B1b packet and the physical port to which each egress AC belongs.

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

本公开提供了一种报文的发送、处理方法及装置、PE节点、节点;其中,报文的发送方法包括:从AC接收第一报文;对第一报文进行处理,得到第二报文;其中,第二报文中包括第一IP,其中,第一IP包括:第二IP或将第二IP的部分位用第一报文的本征熵值加密后得到的IP;第二IP为以下之一:与AC对应的ESI的ESI IP;将与AC对应的ESI的ESI IP的指定位根据AC的根叶属性修改后得到的IP;将与AC对应的ESI的ESI IP的部分位用与AC对应的VLAN ID值替换后所得的IP;第三IP以及将第三IP的指定位根据AC的根叶属性修改后得到的IP;发送第二报文。

Description

报文的发送、处理方法及装置、PE节点、节点
本公开要求在2017年11月30日提交中国专利局、申请号为201711257639.8的中国专利申请的优先权,该申请的全部内容通过引用结合在本公开中。
技术领域
本公开涉及通信技术领域,例如涉及一种报文的发送、处理方法及装置、PE节点、节点。
背景技术
可扩展虚拟局域网(Virtual eXtensible Local Area Network,VXLAN)封装作为用于数据中心大二层互联的主要技术,国际互联网工程任务组(The Internet Engineering Task Force,IETF)在RFC7348中定义了VXLAN封装格式,以及普通VXLAN业务的转发流程和控制流程,这种普通VXLAN业务基于数据面的媒体访问控制(Media Access Control,MAC)学习建立MAC表项,但不能支持以太网分段标识符(Ethernet Segment Identifier,ESI)功能。
IETF在dratf-ietf-bess-evpn-overlay-08(以下简称[EVPN Overlay])中将RFC7432扩展到了VXLAN封装,成为VXLAN以太网虚拟专用网络(Ethernet Virtual Private Network,EVPN)业务,同时,IETF在draft-ietf-bess-evpn-etree中将RFC7432中定义的多协议标签交换(Multiprotocol Label Switching,MPLS)EVPN业务从以太网局域网(Ethernet-Local Area Network,E-LAN)扩展到了以太网树形(Ethernet-TREE,E-TREE)形态,但是VXLAN EVPN由于报文中缺少VXLAN网络标识(VXLAN Network Identifier,VNI)标签栈结构,无法进行同样的扩展。
此外,基于[EVPN Overlay]的VXLAN EVPN业务,从同一服务提供商边缘(Provider Edge,PE)节点的不同ESI收上来的报文在转发给远端节点时,所用VXLAN封装是相同的,这样,远端节点在收到这些报文后,就无法将从同一PE节点的不同ESI收上来的报文区分开来,如果想统计同一ESI经过不同邻接PE节点到达同一远端PE节点时的流量总和,也是不可能的。
发明内容
本公开提供了一种报文的发送、处理方法及装置、PE节点、节点,以至少解决相关技术中VXLAN业务不支持ESI的问题。
本公开提供了一种报文的发送方法,包括:从接入电路(Access Circuit,AC)接收第一报文;对第一报文进行处理,得到至少一个第二报文;其中,每个第二报文中包括第一互联网协议(Internet Protocol,IP),其中,第一IP包括:第二IP或将第二IP的部分位用第一报文的本征熵值加密后得到的IP;第二IP为以下之一:与AC对应的以太网分段标识符ESI的ESI IP;将与AC对应的ESI的ESI IP的指定位根据AC的根叶属性修改后得到的IP;将与AC对应的ESI的ESI IP的部分位用与AC对应的虚拟局域网标识(VLAN Identifier,VLAN ID)值替换后所得的IP;第三IP;以及将第三IP的指定位根据AC的根叶属性修改后得到的IP;其中,与AC对应的ESI为AC所属主接口绑定的ESI,ESI的ESI IP为与ESI对应的IP 地址,与AC对应的VLAN ID值为AC上配置的用于匹配第一报文的VLAN ID值,第三IP为由AC所在的PE节点和AC对应的ESI在PE节点上的本地索引确定的IP或由AC所在的边缘节点PE节点所属的虚拟专用网络VPN域和AC对应的ESI在PE节点上的本地索引确定的IP;发送每个第二报文。
本公开还提供了一种报文的处理方法,包括:接收服务提供商边缘PE节点发送的第一报文,其中,第三报文为PE节点对从AC接收的第二报文进行处理得到的报文,第一报文中包括第一IP,其中,第一IP包括:第二IP或将第二IP的部分位用第二报文的本征熵值加密后得到的IP;第二IP为以下之一:与AC对应的ESI的ESI IP;将与AC对应的ESI的ESI IP的指定位根据AC的根叶属性修改后得到的IP;将与AC对应的ESI的ESI IP的部分位用与AC对应的VLAN ID值替换后所得的IP;第三IP;以及将第三IP的指定位根据AC的根叶属性修改后得到的IP;其中,与AC对应的ESI为AC所属主接口绑定的ESI,ESI的ESI IP为与ESI对应的IP地址,与第一AC对应的VLAN ID值为AC上配置的用于匹配第二报文的VLAN ID值,第三IP为由AC所在的PE节点和AC对应的ESI在PE节点上的本地索引确定的IP或由AC所在的PE节点所属的VPN域和AC对应的ESI在PE节点上的本地索引确定的IP;根据与所述第三报文中包含的第一IP对应的ESI值对所述第一报文进行处理,或者,根据所述第二IP和接收所述第一报文的接收方上的配置信息对所述第一报文进行ESI过滤。
本公开还提供了一种报文的发送装置,包括:接收模块,设置为从接入电路AC接收第一报文;处理模块,设置为对第一报文进行处理,得到至少一个第二报文;其中,每个第二报文中包括第一IP,其中,第一IP包括:第二IP或将第二IP的部分位用第一报文的本征熵值加密后得到的IP;第二IP为以下之一:与AC对应的ESI的ESI IP;将与AC对应的ESI的ESI IP的指定位根据AC的根叶属性修改后得到的IP;将与AC对应的ESI的ESI IP的部分位用与AC对应的VLAN ID值替换后所得的IP;第三IP;以及将第三IP的指定位根据AC的根叶属性修改后得到的IP;其中,与AC对应的ESI为AC所属主接口绑定的ESI,ESI的ESI IP为与ESI对应的IP地址,与AC对应的VLAN ID值为AC上配置的用于匹配第一报文的VLAN ID值,第三IP为由AC所在的PE节点和AC对应的ESI在PE节点上的本地索引确定的IP或由AC所在的PE节点所属的VPN域和AC对应的ESI在PE节点上的本地索引确定的IP;发送模块,设置为发送每个第二报文。
本公开还提供了一种报文的处理装置,包括:接收模块,设置为接收服务提供商边缘PE节点发送的第一报文,其中,第一报文为第一PE对从AC接收的第二报文进行处理得到的报文,第一报文中包括第一IP,其中,第一IP包括:第二IP或将第二IP的部分位用第二报文的本征熵值加密后得到的IP;第二IP为以下之一:与AC对应的ESI的ESI IP;将与AC对应的ESI的ESI IP的指定位根据AC的根叶属性修改后得到的IP;将与AC对应的ESI的ESI IP的部分位用与第一AC对应的VLAN ID值替换后所得的IP;第三IP以及将第三IP的指定位根据AC的根叶属性修改后得到的IP;其中,与AC对应的ESI为AC所属主接口绑定的ESI,ESI的ESI IP为与ESI对应的IP地址,与AC对应的VLAN ID值为AC上配置的用于匹配第二报文的VLAN ID值,第三IP为由AC所在的PE节点和AC对应的ESI在PE节点上的本地索引确定的IP或由AC所在的PE节点所属的VPN域和AC对应的ESI在PE节点上的本地索引确定的IP;处理模块,设置为根据与所述第一报文中包含的第一IP对应的ESI 值对所述第一报文进行处理,或者,根据所述第二IP和接收所述第一报文的接收方上的配置信息对所述第一报文进行ESI过滤。
本公开还提供了一种PE节点,包括:通信接口,设置为从接入电路AC接收第一报文;处理器,设置为对第一报文进行处理,得到至少一个第二报文;其中,每个第二报文中包括第一IP,其中,第一IP包括:第二IP或将第二IP的部分位用第一报文的本征熵值加密后得到的IP;第二IP为以下之一:与AC对应的ESI的ESI IP;将与AC对应的ESI的ESI IP的指定位根据AC的根叶属性修改后得到的IP;将与AC对应的ESI的ESI IP的部分位用与AC对应的VLAN ID值替换后所得的IP;第三IP以及将第三IP的指定位根据AC的根叶属性修改后得到的IP;其中,与AC对应的ESI为AC所属主接口绑定的ESI,ESI的ESI IP为与ESI对应的IP地址,与AC对应的VLAN ID值为AC上配置的用于匹配第一报文的VLAN ID值,第三IP为由AC所在的PE节点和AC对应的ESI在PE节点上的本地索引确定的IP或由AC所在的PE节点所属的VPN域和AC对应的ESI在PE节点上的本地索引确定的IP;通信接口,还设置为发送每个第二报文。
本公开提供了一种节点,包括:通信接口,设置为接收服务提供商边缘PE节点发送的第一报文,其中,第一报文为PE节点对从AC接收的第二报文进行处理得到的报文,第一报文中包括第一IP,其中,第一IP包括:第二IP或将第二IP的部分位用第二报文的本征熵值加密后得到的IP;第二IP为以下之一:与AC对应的ESI的ESI IP;将与AC对应的ESI的ESI IP的指定位根据AC的根叶属性修改后得到的IP;将与AC对应的ESI的ESI IP的部分位用与AC对应的VLAN ID值替换后所得的IP;第三IP以及将第三IP的指定位根据AC的根叶属性修改后得到的IP;其中,与AC对应的ESI为AC所属主接口绑定的ESI,ESI的ESI IP为与ESI对应的IP地址,与AC对应的VLAN ID值为AC上配置的用于匹配第二报文的VLAN ID值,第三IP为由AC所在的PE节点和AC对应的ESI在PE节点上的本地索引确定的IP或由AC所在的PE节点所属的VPN域和AC对应的ESI在PE节点上的本地索引确定的IP;处理器,设置为根据与所述第一报文中包含的第一IP对应的ESI值对所述第一报文进行处理,或者,根据所述第二IP和接收所述第一报文的接收方上的配置信息对所述第一报文进行ESI过滤。
本公开还提供了一种报文的处理系统,包括:第一节点和第二节点;其中,所述第一节点,设置为从接入电路AC接收第一报文,对所述第一报文进行处理,得到至少一个第二报文,以及将所述至少一个第二报文发送给所述第二节点;其中,每个第二报文中包括第一互联网协议IP,其中,所述第一IP包括:第二IP或将第二IP的部分位用所述第一报文的本征熵值加密后得到的IP;所述第二IP为以下之一:与所述AC对应的以太网分段标识符ESI的ESI IP;将与所述AC对应的ESI的ESI IP的指定位根据所述AC的根叶Root/Leaf属性修改后得到的IP;将与所述AC对应的ESI的ESI IP的部分位用与所述AC对应的虚拟局域网标识VLAN ID值替换后所得的IP;第三IP以及将第三IP的指定位根据所述AC的根叶属性修改后得到的IP;其中,与所述AC对应的ESI为所述AC所属主接口绑定的ESI,所述ESI的ESI IP为与所述ESI对应的IP地址,与所述AC对应的VLAN ID值为所述AC上配置的用于匹配所述第一报文的VLAN ID值,所述第三IP为由所述AC所在的PE节点和所述AC对应的ESI在所述PE节点上的本地索引确定的IP或由所述AC所在的边缘节点PE节点所属的虚拟专用网络VPN域和所述AC对应的ESI在所述PE节点上的本地索引确定的IP;所述 第二节点,设置为根据与每个第二报文中包含的第一IP对应的ESI值对所述每个第二报文进行处理,或者,根据所述第二IP和接收所述每个第二报文的接收方上的配置信息对所述每个第二报文进行ESI过滤。
本公开还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述任一项所述的方法。
本公开还提供了一种处理器,所述处理器设置为运行程序,其中,所述程序运行时执行上述任一项所述的方法。
附图说明
图1是一实施例提供的[EVPN Overlay]定义的VXLAN EVPN业务的典型拓扑图;
图2是一实施例提供的报文发送方法的流程示意图;
图3是一实施例提供的报文的处理方法的流程示意图;
图4是一实施例的报文的发送装置的结构框图;
图5是一实施例提供的报文的处理装置的结构框图;
图6是一实施例提供的PE节点的示意图;
图7是另一实施例提供的PE节点的结构示意图;
图8是一实施例提供的非业务感知节点的结构示意图;
图9是一实施例提供的ESI格式的示意图;
图10是一实施例提供的SRv6封装格式的示意图;
图11是另一实施例提供的SRv6封装格式的示意图;
图12是一实施例提供的SHR头在SRv6封装中的位置的示意图;
图13是一实施例提供的PE节点的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来说明本公开。
本公开的说明书和权利要求书及上述附图中的术语“第一”或“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
RFC7623将RFC7432定义的MPLS EVPN业务扩展为运营商骨干网桥(Provider Backbone Bridging,PBB)EVPN业务,但是,所述PBB EVPN业务仍然离不开MPLS封装,而很多场景MPLS技术是难以部署的,比如虚拟运营商穿越传统运营商网络建立虚拟专用网络业务(Virtual Private Network,VPN)业务的情况,但PBB EVPN确实有一些具有自身特色的技术效果,相关技术中也并没有规定如何在没有PBB和MPLS封装条件的环境下继承这些技术效果。
另外,虽然源IP在IP报文转发中不具有必需的作用,IP报文的转发是依据目的IP进行的,但是,在一些场景中,会使用单播逆向路径转发(Unicast Reverse Path Forwarding,URPF) 和逆向路径转发(Reverse Path Forwarding,RPF)等技术对源IP的合法性进行检查,这实际上是要求源IP能作为目的IP在underlay网络中是可路由的,因而在某些场景下,这将导致下层underlay网络的IP地址资源比较浪费。
实施例一
本公开提供了一种报文的发送方法,该方法可以适用于图1所示的拓扑,但并不限于此。图1是一实施例提供的[EVPN Overlay]定义的VXLAN EVPN业务的拓扑图。该发送方法的执行主体可以是PE节点,以图1所示的拓扑为例,该发送方法的执行主体可以是图1所示的PE1节点、PE2节点或PE3节点,并不限于此。
以下以该发送方法的执行主体为图1所示的PE1节点,并且报文的发送流程从用户边缘节点(Customer Edge,CE)1经由PE1节点向underlay网络中的PE2节点发送为例进行说明。图2是一实施例提供的报文发送方法的流程示意图,如图2所示,该方法包括如下步骤。
步骤S202,PE1从第一AC接收第一报文。
步骤S204,PE1对第一报文进行处理和封装,得到一个或多个第二报文。本实施例中,第二报文中包括第一IP,第一IP包括:第二IP或将第二IP的部分位用第一报文的本征熵值加密后得到的IP(参见示例性实施例5);第二IP为以下之一:与第一AC对应的ESI的ESI IP,将与第一AC对应的ESI的ESI IP的指定位根据第一AC的Root/Leaf属性修改后得到的IP(参见示例性实施例12),将与第一AC对应的ESI的ESI IP的部分位用与第一AC对应的VLAN ID值替换后所得的IP(参见示例性实施例4),第三IP以及将第三IP的指定位根据第一AC的根叶属性修改后得到的IP;其中,与第一AC对应的ESI为第一AC所属主接口绑定的ESI,ESI的ESI IP为与ESI对应的IP地址,与第一AC对应的VLAN ID值为第一AC上配置的用于匹配第一报文的VLAN ID值,第三IP为由第一AC所在的PE节点和第一AC对应的ESI在PE节点上的本地索引确定的IP或由第一AC所在的PE节点所属的VPN域和第一AC对应的ESI在PE节点上的本地索引确定的IP。
步骤S206,PE1发送每个第二报文。
通过上述步骤,通过第二报文中包括的第一IP中携带了与接收第一报文的第一AC对应的ESI相关的信息,使得与该第二报文相关的业务,比如VXLAN业务等能够支持ESI功能,解决了VXLAN业务不支持ESI的问题。
本实施例中,所述本征熵值为由所述第一报文中的一个或多个特征字段经过指定算法计算得到的值,比如示例性实施例5中,所述特征字段就是源MAC的低32位,所述指定算法就是函数f(x)=x,按位逻辑异或运算就是一种简单加密算法,因为,用数值A对字段B施加两次按位逻辑异或运算之后,所得结果仍为B被修改之前的值,其中,第一次运算相当于加密,第二次运算相当于解密。
本实施例中,通过在第一IP中携带上述ESI相关的信息,即从同一PE的不同ESI处发送的报文中都包括不同ESI各自的ESI相关的信息,因而在远端接收到这些报文时可以通过不同ESI各自的ESI相关的信息实现对这些报文的区分,因此,可以解决从同一PE的不同ESI接收到的报文转发给远端时这些报文无法被区分的问题,同时也能够统计同一ESI经过不同邻接PE节点到达同一远端PE节点时的流量总和。
本实施例中,上述封装可以是IP封装,通过这种方式可以实现在不使用PBB和MPLS封装的情况下,仍然能够实现PBB EVPN具有的一些效果(参见示例性实施例6,7,13-16,18)。
另外,通过上述方法的一种实施例,即在第一IP中携带第一AC的根叶属性,进而可以在报文中不需要VNI标签栈结构也能够实现将VXLAN EVPN业务从E-LAN扩展到了E-TREE形态。所述根叶属性本身是一个属性,根叶属性取值有根(Root)和叶(Leaf)两种情况。
本实施例中,在所述第一AC的根叶属性的值为Root的情况下,根据所述Root对所述ESI IP的指定位修改得到的IP与在所述第一AC的根叶属性的值为叶Leaf的情况下根据所述Leaf对所述ESI IP的指定位修改得到的IP不同;在所述第一AC的根叶属性的值为根Root的情况下根据所述Root对所述第三IP的指定位修改得到的IP与在所述第一AC的根叶属性的值为Leaf的情况下根据所述Leaf对所述第三IP的指定位修改得到的IP不同。
在一实施例中,上述第三IP可以包括:第一部分和第二部分,其中,所述第一部分包括所述本地索引,所述第二部分包括以下至少之一:在所述第一AC所在PE节点上配置的指定IP地址的指定部分(参见示例性实施例1);其中,所述PE节点上的所有AC的第三IP中均包含所述指定部分;通过同一条配置命令在所述第一AC所在PE节点上逐个ESI分别配置的指定属性值中共同的二进制位部分(参见示例性实施例6);通过同一条配置命令在所述第二报文所属的VPN域的每个PE点上配置的指定IP地址的共同二进制位部分(参见示例性实施例1),其中,所述VPN域为发送或接收所述第二报文的PE节点的集合。
在一实施例中,上述本地索引在ESI所在的PE节点上针对ESI是唯一的,即该本地索引在PE节点上唯一标识与该本地索引对应的ESI,但并不限于此。
在一实施例中,上述本地索引可以包括以下至少之一:ESI本身的值(参见实施例11);ESI别名值(参见示例性实施例2),其中,所述ESI别名值为给所述第一AC对应的ESI配置的用于在所述第一AC所在的节点上区别于所述节点上其它ESI的属性的值;ESI本地区分值(参见示例性实施例5),其中,所述ESI本地区分值为所述第一AC对应的ESI中的第一指定字段的取值;在所述第一AC所在的PE节点中,不同ESI对应的所述第一指定字段的值不同;ESI域内区分值(参见示例性实施例6),其中,所述ESI域内区分值为所述第一AC对应的ESI中的第二指定字段的取值,其中,在所述第一AC所在的PE节点所属的VPN域中,不同的ESI对应的所述第二指定字段的值不同。
在一实施例中,在上述第三IP为互联网协议第6版(Internet Protocol Version 6,IPv6)的情况下,上述本地索引可以是ESI本身的值,但并不限于此。
在一个实施例中,上述第一IP位于所述第二报文的以下位置之一:源IP中和IPv6选项头中(参见示例性实施例11)。
在一个实施例中,上述步骤S204可以体现为:基于以下控制面中的至少之一对所述第一报文进行处理:第一EVPN控制面,其中,所述第一EVPN控制面为既通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,又通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的媒体访问控制MAC条目的控制面;第二EVPN控制面(参见示例性实施例2),其中,所述第二EVPN控制面为不通过路由发 布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,但通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;第三EVPN控制面(参见示例性实施例7),其中,所述第三EVPN控制面为通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,但不通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;第四EVPN控制面(参见示例性实施例6),其中,所述第四EVPN控制面为不通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,并且不通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;第五EVPN控制面,其中,所述第五EVPN控制面为在骨干IP虚拟路由和转发实例(IP-Virtual Routing and Forwarding,IP-VRF)中发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系的控制面;所述骨干IP-VRF为所述第一AC所绑定的EVPN实例绑定的IP-VRF;第六EVPN控制面,其中,所述第六EVPN控制面为在骨干MAC虚拟路由和转发实例(MAC-Virtual Routing and Forwarding,MAC-VRF)中发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系的控制面;所述骨干MAC-VRF为所述第一AC所绑定的EVPN实例绑定的二层虚拟专用网络(Layer 2 Virtual Private Networks,L2VPN)实例。
在一实施例中,在基于上述第二EVPN控制面或第四EVPN控制面对第一报文进行处理时,可以不依赖于所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系。
在一实施例中,在基于所述第五EVPN控制面对所述第一报文进行处理,得到的所述第二报文中不包括所述骨干IP-VRF的私网标签(参见示例性实施例14和16)或包括所述骨干IP-VRF的私网标签(参见示例性实施例18);在基于所述第六EVPN控制面对所述第一报文进行处理,得到的所述第二报文中不包括所述骨干MAC-VRF的私网标签(参见示例性实施例15)或包括所述骨干MAC-VRF的私网标签。
在一个实施例中,所述第二报文的源IP在下层(underlay)网络中可路由或在underlay网络中不可路由(参见示例性实施例1,2,7-18)。
在一实施例中,通过采用在underlay网络中不可路由的源IP能够节省underlay网络的IP地址资源。
在一实施例中,当所述第二报文的源IP在underlay网络中不可路由时,在上述步骤S206之前,上述方法还包括以下至少之一:在所述每个第二报文的所述源IP的外层添加与所述源IP在同一个IP头中的目的IP所对应的MPLS封装(参见示例性实施例13);其中,所述源IP不在所述目的IP所在的路由表中;将所述每个第二报文的互联网协议第4版(Internet Protocol Version 4,IPv4)头中的协议类型字段的值设置为第一指定值(参见示例性实施例8);将所述第二报文的IPv6头中的下一报头字段的值设置为第二指定值(参见示例性实施例9);将所述每个第二报文的IP头对应的外层以太头中的以太网类型(ethertype)字段的值设置为第三指定值(参见示例性实施例10)。
本实施例还提供了一种报文的处理方法,该方法可以应用于上述图1所示的拓扑中,上 述报文的处理方法的执行主体可以是PE节点,以下以报文的发送方法的执行主体为图1所示的PE1节点,并且报文的发送流程从CE1经由PE1节点向PE2发送为例进行说明。图3是一实施例提供的报文的处理方法的流程示意图,如图3所示,该方法包括如下步骤。
S302,PE2节点接收第一服务提供商边缘PE节点发送的第三报文,其中,所述第三报文为所述第一PE节点对从第一AC接收的第四报文进行处理得到的报文,所述第三报文中包括第一IP,其中,所述第一IP包括:第二IP或将第二IP的部分位用所述第四报文的本征熵值加密后得到的IP;所述第二IP为以下之一:与所述第一AC对应的ESI的ESI IP,将与所述第一AC对应的ESI的ESI IP的指定位根据所述第一AC的根叶属性修改后得到的IP,将与所述第一AC对应的ESI的ESI IP的部分位用与所述第一AC对应的VLAN ID值替换后所得的IP,第三IP以及将第三IP的指定位根据所述第一AC的根叶属性修改后得到的IP;其中,与所述第一AC对应的ESI为所述第一AC所属主接口绑定的ESI,所述ESI的ESI IP为与所述ESI对应的IP地址,与所述第一AC对应的VLAN ID值为所述第一AC上配置的用于匹配所述第四报文的VLAN ID值,所述第三IP为由所述第一AC所在的PE节点和所述第一AC对应的ESI在所述PE节点上的本地索引确定的IP或由所述第一AC所在的PE节点所属的VPN域和所述第一AC对应的ESI在所述PE节点上的本地索引确定的IP。
步骤S304,根据与所述第三报文中包含的第一IP对应的ESI值对所述第三报文进行处理,或者,根据所述第二IP和接收所述第三报文的接收方上的配置信息对所述第三报文进行ESI过滤。
通过上述步骤,通过第三报文中包括的第一IP中携带了与接收第四报文的第一AC对应的ESI相关的信息,使得与该第三报文相关的业务比如VXLAN业务等能够支持ESI功能,解决了VXLAN业务不支持ESI的问题。
在一实施例中,上述第一PE可以是PE1节点。上述第三报文相当于上述报文的发送方法所示的实施例中的第二报文,上述第四报文相当于上述报文的发送方法实施例中的第一报文。
在一实施例中,上述步骤S304中的根据与所述第三报文中包含的第一IP对应的ESI值对所述第三报文进行处理可以表现为:当与所述第三报文中包含的第一IP对应的ESI为第一指定值时,将所述第三报文镜像到指定服务器;当与所述第三报文中包含的第一IP对应的ESI为第二指定值时,对所述第三报文进行指定的服务质量QoS处理;当与所述第三报文中包含的第一IP对应的ESI为第三指定值时,采用与所述指定值绑定的性能统计计数器对所述第三报文进行性能统计。
在一实施例中,上述步骤S304中的根据所述第二IP和接收所述第三报文的接收方上的配置信息对所述第三报文进行ESI过滤可以表现为:根据所述第三报文确定一个或多个指定报文;确定用于发送每个指定报文的第二AC;根据所述第二IP和每个指定报文的第二AC的配置信息对所述每个指定报文进行ESI过滤;其中,所述配置信息包括以下至少之一:所述每个指定报文的第二AC的根叶属性,所述每个指定报文的第二AC对应的IP。
在一实施例中,第二AC对应的IP可以包括以下至少之一:与所述第二AC对应的ESI的ESI IP,将与所述第二AC对应的ESI的ESI IP的指定位根据所述第二AC的根叶属性修改后得到的IP,将与所述第二AC对应的ESI的ESI IP的部分位用与所述第二AC对应的 VLAN ID值替换后所得的IP,第三IP以及将第三IP的指定位根据所述第二AC的根叶属性修改后得到的IP;其中,与所述第二AC对应的ESI为所述第二AC所属主接口绑定的ESI,所述ESI的ESI IP为与所述ESI对应的IP地址,与所述第二AC对应的VLAN ID值为所述第二AC上配置的用于匹配所述第一报文的VLAN ID值,所述第四IP为由所述第二AC所在的PE节点和所述第二AC对应的ESI在所述PE节点上的本地索引确定的IP或由所述第二AC所在的PE节点所属的VPN域和所述第二AC对应的ESI在所述PE节点上的本地索引确定的IP。
在一实施例中,上述根据所述第二IP和每个指定报文的第二AC的配置信息对所述每个指定报文进行ESI过滤可以包括:在每个指定报文的第二AC所属主接口绑定的ESI为非零或每个指定报文的第二AC的根叶属性的值为Leaf的情况下,在所述第二IP与所述每个第二AC满足第一预定条件的情况下,丢弃所述每个指定报文;其中,所述第二IP为所述第二IP或将所述第二IP的部分位的值经由所述第四报文的本征熵值解密后得到的IP。
上述第一预定条件包括以下至少之一:所述第二IP与所述每个指定报文的第二AC对应的IP相等(参见示例性实施例1);所述第二IP中指定二进制位的值为1且所述每个指定报文的第二AC的根叶属性的值为Leaf(参见示例性实施例12);所述第二IP中指定二进制位的值为0且所述每个指定报文的第二AC的根叶属性的值为Leaf(参见示例性实施例12);IP1∧IP2<(m+1)(参见示例性实施例2),其中,∧是按位逻辑异或运算符;(IP1&IP2)&Flag=Flag(参见示例性实施例12),其中,&是按位逻辑与运算符,Flag为预定数值,且Flag中只有一个二进制位的值为1;其中,IP1为所述第二IP,IP2为所述每个指定报文的第二AC对应的IP,m是IP地址反掩码,其中,所述IP地址反掩码为所述每个指定报文的第二AC所属主接口绑定的ESI对应的ESI IP的IP地址掩码经按位取反运算后所得的。
在一实施例中,上述第三IP可以包括:第一部分和第二部分,其中,所述第一部分包括所述本地索引,所述第二部分包括以下至少之一:在所述第一PE节点上配置的指定IP地址的指定部分;其中,所述第一PE节点上的所有AC的第三IP中均包含所述指定部分;通过同一条配置命令在所述第一PE节点上逐个ESI分别配置的属性值中共同的二进制位部分;通过同一条配置命令在所述第二报文所属的VPN域的每个PE点上配置的指定IP地址的共同二进制位部分,其中,所述VPN域为发送或接收所述第二报文的PE节点的集合。
在一实施例中,所述本地索引包括以下至少之一:ESI本身的值;ESI别名值,其中,所述ESI别名值为给所述第一AC对应的ESI配置的用于在所述第一AC所在的节点上区别于所述节点上其它ESI的属性的值;ESI本地区分值,其中,所述ESI本地区分值为所述第一AC对应的ESI中的第一指定字段的取值;在所述第一PE节点中,不同ESI对应的所述第一指定字段的值不同;ESI域内区分值,其中,所述ESI域内区分值为所述第一AC对应的ESI中的第二指定字段的取值,其中,在所述第一PE节点所属的VPN域中,不同的ESI对应的所述第二指定字段的值不同。
在一个实施例中,所述第一IP位于所述第三报文的以下之一位置:源IP中和IPv6选项头中。
在一实施例中,所述第三报文为所述第一PE基于以下控制面至少之一对所述第四报文进行处理得到的:第一EVPN控制面,其中,所述第一EVPN控制面为既通过路由发布所述 ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,又通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;第二EVPN控制面,其中,所述第二EVPN控制面为不通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,但通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;第三EVPN控制面,其中,所述第三EVPN控制面为通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,但不通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;第四EVPN控制面,其中,所述第四EVPN控制面为不通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,并且不通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;第五EVPN控制面,其中,所述第五EVPN控制面为在骨干IP-VRF中发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系的控制面;所述骨干IP-VRF为所述第一AC所绑定的EVPN实例绑定的IP-VRF;第六EVPN控制面,其中,所述第六EVPN控制面为在骨干MAC-VRF中发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系的控制面;所述骨干MAC-VRF为所述第一AC所绑定的EVPN实例绑定的L2VPN实例。
在一个实施例中,所述第三报文的源IP在underlay网络中可路由或在underlay网络中不可路由。
在一实施例中,当所述第三报文的源IP满足以下之一条件时,所述第三报文的源IP在underlay网络中路由不可达:所述第三报文的IPv4头中的协议类型字段的值为第一指定值;所述第三报文的IPv6头中的下一报头字段的值为第二指定值;所述第三报文的IP头对应的外层以太头中的ethertype字段的值为第三指定值;所述第三报文的源IP的指定位为第四指定值;所述第三报文的目的IP的指定位为第五指定值并且源IP的指定位为第六指定值。
在一实施例中,第一指定值,第二指定值,第三指定值,第四指定值,第五指定值和第六指定值,可以根据实际需要进行设定,但并不限于此。
在一实施例中,当所述第三报文的源IP在underlay网络中不可路由时,上述步骤S304可以表现为以下至少之一:不进行URPF检查(参见示例性实施例1中的非业务感知节点的解释);根据指定路由表(参见示例性实施例8)和所述第三报文的源IP进行URPF检查;不发送第五报文(参见示例性实施例1);根据指定路由表发送第五报文(参见示例性实施例1);当所述第三报文的目的IP为组播IP时,不进行RPF检查(参见示例性实施例10);当所述第三报文的目的IP为组播IP时,根据指定路由表和所述第三报文的源IP进行RPF检查(参见示例性实施例10);其中,所述指定路由表与用于根据所述第三报文的目的IP转发所述第三报文的路由表不同;所述第五报文为在所述第三报文满足预定条件的情况下生成的报文。
在一实施例中,上述方法还包括:当所述第三报文的源IP在underlay网络中不可路由时,对第三报文进行以下操作之一:不进行URPF检查(参见示例性实施例1中的非业务感知节点的解释);根据指定路由表(参见示例性实施例8)和所述第三报文的源IP进行URPF检查;不发送第五报文(参见示例性实施例1);根据指定路由表发送第五报文(参见示例性 实施例1);当所述第三报文的目的IP为组播IP时,不进行RPF检查(参见示例性实施例10);当所述第三报文的目的IP为组播IP时,根据指定路由表和所述第三报文的源IP进行RPF检查(参见示例性实施例10);其中,所述指定路由表与用于根据所述第三报文的目的IP转发所述第三报文的路由表不同;所述第五报文为在所述第三报文满足预定条件的情况下生成的报文。
通过以上的实施方式的描述,本领域的技术人员可以了解到根据上述实施例的方法可借助软件加通用硬件平台的方式来实现,也可以通过硬件。或者可以以软件产品的形式体现出来。该计算机软件产品存储在一个存储介质(如只读存储器(Read-Only Memory,ROM)/随机存取存储器(Random Access Memory,RAM)、磁碟、光盘)中,包括多个指令用以使得一台终端设备(可以是手机、计算机、服务器或者网络设备等)执行上述任意实施例所述的方法。
实施例二
在本实施例中还提供了一种报文的发送装置,该装置用于实现上述实施例,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置可以以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是一实施例的报文的发送装置的结构框图,该发送装置可以位于图1所示的架构中的PE节点中,以位于图1所示的PE1节点为例,上述发送装置包括:接收模块42,设置为从第一AC接收第一报文;处理模块44,与上述接收模块42连接,设置为对所述第一报文进行处理,得到一个或多个第二报文;其中,每个第二报文中包括第一IP,其中,所述第一IP包括:第二IP或将第二IP的部分位用所述第一报文的本征熵值加密后得到的IP;所述第二IP为以下之一:与所述第一AC对应的ESI的ESI IP,将与所述第一AC对应的ESI的ESI IP的指定位根据所述第一AC的根叶属性修改后得到的IP,将与所述第一AC对应的ESI的ESI IP的部分位用与所述第一AC对应的VLAN ID值替换后所得的IP,第三IP以及将第三IP的指定位根据所述第一AC的根叶属性修改后得到的IP;其中,与所述第一AC对应的ESI为所述第一AC所属主接口绑定的ESI,所述ESI的ESI IP为与所述ESI对应的IP地址,与所述第一AC对应的VLAN ID值为所述第一AC上配置的用于匹配所述第一报文的VLAN ID值,所述第三IP为由所述第一AC所在的PE节点和所述第一AC对应的ESI在所述PE节点上的本地索引确定的IP或由所述第一AC所在的PE节点所属的VPN域和所述第一AC对应的ESI在所述PE节点上的本地索引确定的IP;发送模块46,与上述处理模块44连接,设置为发送每个第二报文。
通过上述装置,通过第二报文中包括的第一IP中携带了与接收第一报文的第一AC对应的ESI相关的信息,使得与该第二报文相关的业务比如VXLAN业务等能够支持ESI功能,解决了相关技术中VXLAN业务不支持ESI的问题。
在一实施例中,通过在第一IP中携带上述ESI相关的信息,即从同一PE的不同ESI处发送的报文中都包括不同ESI各自的ESI相关的信息,因而在远端接收到这些报文时可以通过不同ESI各自的ESI相关的信息实现对这些报文的区分,因此,可以解决从同一PE的不同ESI接收到的报文转发给远端时这些报文无法被区分的问题,同时也能够统计同一ESI经 过不同邻接PE节点到达同一远端PE节点时的流量总和。
在一实施例中,上述封装可以是IP封装,通过这种方式可以实现在不使用PBB和MPLS封装的情况下,仍然能够实现PBB EVPN具有的一些效果。
另外,通过上述方法的一种实施例,即在第一IP中携带第一AC的根叶属性,进而可以在报文中不需要VNI标签栈结构也能够实现MPLS EVPN业务从E-LAN扩展到了E-TREE形态。
在一实施例中,在所述第一AC的根叶属性的值为Root的情况下根据所述Root对所述ESI IP的指定位修改得到的IP与在所述第一AC的根叶属性的值为Leaf的情况下根据所述Leaf对所述ESI IP的指定位修改得到的IP不同;在所述第一AC的根叶属性的值为Root的情况下根据所述Root对所述第三IP的指定位修改得到的IP与在所述第一AC的根叶属性的值为Leaf的情况下根据所述Leaf对所述第三IP的指定位修改得到的IP不同。
在一实施例中,上述第三IP可以包括:第一部分和第二部分,其中,所述第一部分包括所述本地索引,所述第二部分包括以下至少之一:在所述第一AC所在PE节点上配置的指定IP地址的指定部分;其中,所述PE节点上的所有AC的第三IP中均包含所述指定部分;通过同一条配置命令在所述第一AC所在PE节点上逐个ESI分别配置的指定属性值中共同的二进制位部分;通过同一条配置命令在所述第二报文所属的VPN域的每个PE点上配置的指定IP地址的共同二进制位部分,其中,所述VPN域为发送或接收所述第二报文的PE节点的集合。
在一实施例中,上述本地索引在ESI所在的PE节点上针对ESI是唯一的,即该本地索引在PE节点上唯一标识与该本地索引对应的ESI,但并不限于此。
在一实施例中,上述本地索引可以包括以下至少之一:ESI本身的值;ESI别名值,其中,所述ESI别名值为给所述第一AC对应的ESI配置的用于在所述第一AC所在的节点上区别于所述节点上其它ESI的属性的值;ESI本地区分值,其中,所述ESI本地区分值为所述第一AC对应的ESI中的第一指定字段的取值;在所述第一AC所在的PE节点中,不同ESI对应的所述第一指定字段的值不同;ESI域内区分值,其中,所述ESI域内区分值为所述第一AC对应的ESI中的第二指定字段的取值,其中,在所述第一AC所在的PE节点所属的VPN域中,不同的ESI对应的所述第二指定字段的值不同。
在一实施例中,在上述第三IP为IPv6的情况下,上述本地索引可以是ESI本身的值,但并不限于此。
在一个实施例中,上述第一IP位于所述第二报文的以下位置之一:源IP中和IPv6选项头中。
在一个实施例中,上述处理模块54是设置为通过如下方式实现对所述第一报文进行处理:基于以下控制面至少之一对所述第一报文进行处理:第一EVPN控制面,其中,所述第一EVPN控制面为既通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,又通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;第二EVPN控制面,其中,所述第二EVPN控制面为不通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,但 通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;第三EVPN控制面,其中,所述第三EVPN控制面为通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,但不通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;第四EVPN控制面,其中,所述第四EVPN控制面为不通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,并且不通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;第五EVPN控制面,其中,所述第五EVPN控制面为在骨干IP-VRF中发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系的控制面;所述骨干IP-VRF为所述第一AC所绑定的EVPN实例绑定的IP-VRF;第六EVPN控制面,其中,所述第六EVPN控制面为在骨干MAC-VRF中发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系的控制面;所述骨干MAC-VRF为所述第一AC所绑定的EVPN实例绑定的L2VPN实例。
在一实施例中,在上述处理模块44基于上述第二EVPN控制面或第四EVPN控制面对第一报文进行处理时,可以不依赖于上述ESI IP与所述ESI的对应关系和所述第三IP中的信息与所述ESI的对应关系两种对应关系。
在一实施例中,在上述处理模块44基于所述第五EVPN控制面对所述第一报文进行处理,得到的所述第二报文中不包括所述骨干IP-VRF的私网标签或包括所述骨干IP-VRF的私网标签;在基于所述第六EVPN控制面对所述第一报文进行处理,得到的所述第二报文中不包括所述骨干MAC-VRF的私网标签或包括所述骨干MAC-VRF的私网标签。
在一个实施例中,所述第二报文的源IP作为目的IP的情况下,所述源IP在下层网络underlay网络中可路由或在underlay网络中不可路由。
通过采用在underlay网络中不可路由的源IP能够节省underlay网络的IP地址资源。
在一实施例中,当所述第二报文的源IP在underlay网络中不可路由时,上述处理模块54还设置为进行以下操作至少之一:在所述第二报文的所述源IP的外层添加与所述源IP在同一个IP头中的目的IP所对应的MPLS封装;其中,所述源IP不在所述目的IP所在的路由表中;将所述第二报文的IPv4头中的协议类型字段的值设置为第一指定值;将所述第二报文的IPv6头中的下一报头字段的值设置为第二指定值;将所述第二报文的IP头对应的外层以太头中的ethertype字段的值设置为第三指定值。
本实施例还提供了一种报文的处理装置,该装置可以位于图1所示的PE节点,以位于图1所示的PE2节点。图5是一实施例提供的报文的处理装置的结构框图,如图5所示,该装置包括:接收模块52,设置为接收第一服务提供商边缘PE节点发送的第三报文,其中,所述第三报文为所述第一PE节点对从第一AC接收的第四报文进行处理得到的报文,所述第三报文中包括第一IP,其中,所述第一IP包括:第二IP或将第二IP的部分位用所述第四报文的本征熵值加密后得到的IP;所述第二IP为以下之一:与所述第一AC对应的ESI的ESI IP,将与所述第一AC对应的ESI的ESI IP的指定位根据所述第一AC的根叶属性修改后得到的IP,将与所述第一AC对应的ESI的ESI IP的部分位用与所述第一AC对应的VLAN ID值替换后所得的IP,第三IP以及将第三IP的指定位根据所述第一AC的根叶属性修改后得 到的IP;其中,与所述第一AC对应的ESI为所述第一AC所属主接口绑定的ESI,所述ESI的ESI IP为与所述ESI对应的IP地址,与所述第一AC对应的VLAN ID值为所述第一AC上配置的用于匹配所述第四报文的VLAN ID值,所述第三IP为由所述第一AC所在的PE节点和所述第一AC对应的ESI在所述PE节点上的本地索引确定的IP或由所述第一AC所在的PE节点所属的VPN域和所述第一AC对应的ESI在所述PE节点上的本地索引确定的IP;处理模块54,与上述接收模块52连接,设置为根据与所述第三报文中包含的第一IP对应的ESI值对所述第三报文进行处理,或者,根据所述第二IP和接收所述第三报文的接收方上的配置信息对所述第三报文进行ESI过滤。
通过上述装置,通过第三报文中包括的第一IP中携带了与接收第一报文的第一AC对应的ESI相关的信息,使得与该第四报文相关的业务比如VXLAN业务等能够支持ESI功能,解决了VXLAN业务不支持ESI的问题。
在一实施例中,上述第一PE可以是PE1节点。上述第三报文相当于上述报文的发送方法所示的实施例中的第二报文,上述第四报文相当于上述报文的发送方法实施例中的第一报文。
在一实施例中,上述处理模块54是设置为通过如下方式至少之一实现根据与所述第三报文中包含的第一IP对应的ESI值对所述第三报文进行处理:当与所述第三报文中包含的第一IP对应的ESI为第一指定值时,将所述第三报文镜像到指定服务器;当与所述第三报文中包含的第一IP对应的ESI为第二指定值时,对所述第三报文进行指定的服务质量QoS处理;当与所述第三报文中包含的第一IP对应的ESI为第三指定值时,采用与所述指定值绑定的性能统计计数器对所述第三报文进行性能统计。
在一实施例中,上述处理模块54是设置为通过如下方式实现根据所述第二IP和接收所述第三报文的接收方上的配置信息对所述第三报文进行ESI过滤:根据所述第三报文确定一个或多个指定报文;确定发送每个指定报文的第二AC;根据所述第二IP和每个指定报文的第二AC的配置信息对每个指定报文进行ESI过滤;其中,所述配置信息包括以下至少之一:所述每个指定报文的第二AC的根叶属性以及所述每个指定报文的第二AC对应的IP。
在一实施例中,上述处理模块54是设置为通过如下方式实现根据所述第二IP和每个指定报文的第二AC的配置信息对每个指定报文进行ESI过滤:在所述每个指定报文的第二AC所属主接口绑定的ESI为非零或所述每个指定报文的第二AC的根叶属性的值为Leaf的情况下,在所述第二IP与所述每个第二AC满足第一预定条件的情况下,丢弃所述每个指定报文。
上述第一预定条件包括以下至少之一:所述第二IP与所述第二AC对应的IP相等;所述第二IP中指定二进制位的值为1且所述第二AC的根叶属性的值为Leaf;所述第二IP中指定二进制位的值为0且所述第二AC的根叶属性的值为Leaf;IP1∧IP2<(m+1),其中,∧是按位逻辑异或运算符;(IP1&IP2)&Flag=Flag,其中,&是按位逻辑与运算符,Flag为预定数值,且Flag中只有一个二进制位的值为1;其中,IP1为所述第二IP,IP2为所述第二AC对应的IP,m是IP地址反掩码,其中,所述IP地址反掩码为所述第二AC所属主接口绑定的ESI对应的ESI IP的IP地址掩码经按位取反运算后所得的。
在一实施例中,上述第三IP可以包括:第一部分和第二部分,其中,所述第一部分包括所述本地索引,所述第二部分包括以下至少之一:在所述第一PE节点上配置的指定IP地址 的指定部分;其中,所述第一PE节点上的所有AC的第三IP中均包含所述指定部分;通过同一条配置命令在所述第一PE节点上逐个ESI分别配置的属性值中共同的二进制位部分;通过同一条配置命令在所述第二报文所属的VPN域的每个PE点上配置的指定IP地址的共同二进制位部分,其中,所述VPN域为发送或接收所述第二报文的PE节点的集合。
在一实施例中,所述本地索引包括以下至少之一:ESI本身的值;ESI别名值,其中,所述ESI别名值为给所述第一AC对应的ESI配置的用于在所述第一AC所在的节点上区别于所述节点上其它ESI的属性的值;ESI本地区分值,其中,所述ESI本地区分值为所述第一AC对应的ESI中的第一指定字段的取值;在所述第一PE节点中,不同ESI对应的所述第一指定字段的值不同;ESI域内区分值,其中,所述ESI域内区分值为所述第一AC对应的ESI中的第二指定字段的取值,其中,在所述第一PE节点所属的VPN域中,不同的ESI对应的所述第二指定字段的值不同。
在一个实施例中,所述第一IP位于所述第三报文的以下位置之一:最外层源IP中和IPv6选项头中。
在一实施例中,所述第三报文为所述第一PE基于以下控制面至少之一对所述第四报文进行处理得到的:第一EVPN控制面,其中,所述第一EVPN控制面为既通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,又通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;第二EVPN控制面,其中,所述第二EVPN控制面为不通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,但通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;第三EVPN控制面,其中,所述第三EVPN控制面为通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,但不通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;第四EVPN控制面,其中,所述第四EVPN控制面为不通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,并且不通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;第五EVPN控制面,其中,所述第五EVPN控制面为在骨干IP-VRF中发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系的控制面;所述骨干IP-VRF为所述第一AC所绑定的EVPN实例绑定的IP-VRF;第六EVPN控制面,其中,所述第六EVPN控制面为在骨干MAC-VRF中发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系的控制面;所述骨干MAC-VRF为所述第一AC所绑定的EVPN实例绑定的L2VPN实例。
在一个实施例中,所述第三报文的源IP作为目的IP的情况下,所述源IP在underlay网络中可路由或在underlay网络中不可路由。
在一实施例中,当所述第三报文的源IP满足以下之一条件时,所述第三报文的源IP在underlay网络中路由不可达:所述第三报文的IPv4头中的协议类型字段的值为第一指定值;所述第三报文的IPv6头中的下一报头字段的值为第二指定值;所述第三报文的IP头对应的外层以太头中的ethertype字段的值为第三指定值;所述第三报文的源IP的指定位为第四指定值;所述第三报文的目的IP的指定位为第五指定值并且源IP的指定位为第六指定值。
本实施例中,第一指定值,第二指定值,第三指定值,第四指定值,第五指定值和第六指定值,可以根据实际需要进行设定,但并不限于此。
在一实施例中,当所述第三报文的源IP在underlay网络中不可路由时,上述处理模块还设置为进行以下操作至少之一:不进行URPF检查;根据指定路由表和所述第三报文的源IP进行URPF检查;不发送第五报文;根据指定路由表发送第五报文;当所述第三报文的目的IP为组播IP时,不进行RPF检查;当所述第三报文的目的IP为组播IP时,根据指定路由表和所述第三报文的源IP进行RPF检查;其中,所述指定路由表与用于根据所述第三报文的目的IP转发所述第三报文的路由表不同;所述第五报文为在所述第三报文满足预定条件的情况下生成的报文。
在一实施例中,上述多个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述多个模块以任意组合的形式分别位于不同的处理器中。
实施例三
在本实施例中还提供了一种PE节点,该PE节点可以是上述图1所示的架构中的PE节点,但并不限于此。图6是一实施例提供的PE节点的示意图,如图6所示,该PE节点包括:通信接口62,设置为从第一接入电路AC接收第一报文;处理器64,与上述通信接口72连接,设置为对所述第一报文进行处理,得到一个或多个第二报文;其中,每个第二报文中包括第一IP,其中,所述第一IP包括:第二IP或将第二IP的部分位用所述第一报文的本征熵值加密后得到的IP;所述第二IP为以下之一:与所述第一AC对应的ESI的ESI IP,将与所述第一AC对应的ESI的ESI IP的指定位根据所述第一AC的根叶属性修改后得到的IP,将与所述第一AC对应的ESI的ESI IP的部分位用与所述第一AC对应的VLAN ID值替换后所得的IP,第三IP,将第三IP的指定位根据所述第一AC的根叶属性修改后得到的IP;其中,与所述第一AC对应的ESI为所述第一AC所属主接口绑定的ESI,所述ESI的ESI IP为与所述ESI对应的IP地址,与所述第一AC对应的VLAN ID值为所述第一AC上配置的用于匹配所述第一报文的VLAN ID值,所述第三IP为由所述第一AC所在的PE节点和所述第一AC对应的ESI在所述PE节点上的本地索引确定的IP或由所述第一AC所在的PE节点所属的VPN域和所述第一AC对应的ESI在所述PE节点上的本地索引确定的IP;上述通信接口62,还设置为发送每个第二报文。
通过上述PE节点,通过第三报文中包括的第一IP中携带了与接收第一报文的第一AC对应的ESI相关的信息,使得与该第四报文相关的业务比如VXLAN业务等能够支持ESI功能,解决了VXLAN业务不支持ESI的问题。
本实施例中,通过在第一IP中携带上述ESI相关的信息,即从同一PE的不同ESI处发送的报文中都包括不同ESI各自的ESI相关的信息,因而在远端接收到这些报文时可以通过不同ESI各自的ESI相关的信息实现对这些报文的区分,因此,可以解决从同一PE的不同ESI接收到的报文转发给远端时这些报文无法被区分的问题,同时也能够统计同一ESI经过不同邻接PE节点到达同一远端PE节点时的流量总和。
在一实施例中,上述封装可以是IP封装,通过这种方式可以实现在不使用PBB和MPLS封装的情况下,仍然能够实现PBB EVPN具有的一些效果。
另外,通过上述方法的一种实施例,即在第一IP中携带第一AC的根叶属性,进而可以在报文中不需要VNI标签栈结构也能够实现MPLS EVPN业务从E-LAN扩展到了E-TREE形态。
在一实施例中,在所述第一AC的根叶属性的值为Root的情况下根据所述Root对所述ESI IP的指定位修改得到的IP与在所述第一AC的根叶属性的值为Leaf的情况下根据所述Leaf对所述ESI IP的指定位修改得到的IP不同;在所述第一AC的根叶属性的值为Root的情况下根据所述Root对所述第三IP的指定位修改得到的IP与在所述第一AC的根叶属性的值为Leaf的情况下根据所述Leaf对所述第三IP的指定位修改得到的IP不同。
在一实施例中,上述第三IP可以包括:第一部分和第二部分,其中,所述第一部分包括所述本地索引,所述第二部分包括以下至少之一:在所述第一AC所在PE节点上配置的指定IP地址的指定部分;其中,所述PE节点上的所有AC的第三IP中均包含所述指定部分;通过同一条配置命令在所述第一AC所在PE节点上逐个ESI分别配置的指定属性值中共同的二进制位部分;通过同一条配置命令在所述第二报文所属的VPN域的每个PE点上配置的指定IP地址的共同二进制位部分,其中,所述VPN域为发送或接收所述第二报文的PE节点的集合。
在一实施例中,上述本地索引在ESI所在的PE节点上针对ESI是唯一的,即该本地索引在PE节点上唯一标识与该本地索引对应的ESI,但并不限于此。
在一实施例中,上述本地索引可以包括以下至少之一:ESI本身的值;ESI别名值,其中,所述ESI别名值为给所述第一AC对应的ESI配置的用于在所述第一AC所在的节点上区别于所述节点上其它ESI的属性的值;ESI本地区分值,其中,所述ESI本地区分值为所述第一AC对应的ESI中的第一指定字段的取值;在所述第一AC所在的PE节点中,不同ESI对应的所述第一指定字段的值不同;ESI域内区分值,其中,所述ESI域内区分值为所述第一AC对应的ESI中的第二指定字段的取值,其中,在所述第一AC所在的PE节点所属的VPN域中,不同的ESI对应的所述第二指定字段的值不同。
在一实施例中,在上述第三IP为IPv 6的情况下,上述本地索引可以是ESI本身的值,但并不限于此。
在一个实施例中,上述第一IP位于所述第二报文的以下位置之一:源IP中和IPv6选项头中。
在一个实施例中,上述处理器64是设置为通过以下方式对所述第一报文进行处理:基于以下控制面至少之一对所述第一报文进行处理:第一EVPN控制面,其中,所述第一EVPN控制面为既通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,又通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;第二EVPN控制面,其中,所述第二EVPN控制面为不通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,但通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;第三EVPN控制面,其中,所述第三EVPN控制面为通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,但不通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;第四EVPN控制面,其中,所述 第四EVPN控制面为不通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,并且不通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;第五EVPN控制面,其中,所述第五EVPN控制面为在骨干IP-VRF中发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系的控制面;所述骨干IP-VRF为所述第一AC所绑定的EVPN实例绑定的IP-VRF;第六EVPN控制面,其中,所述第六EVPN控制面为在骨干MAC-VRF中发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系的控制面;所述骨干MAC-VRF为所述第一AC所绑定的EVPN实例绑定的L2VPN实例。
在一实施例中,在上述处理器64基于上述第二EVPN控制面或第四EVPN控制面对第一报文进行处理时,可以不依赖于上述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系两种对应关系。
在一实施例中,在上述处理器64基于所述第五EVPN控制面对所述第一报文进行处理,得到的所述第二报文中不包括所述骨干IP-VRF的私网标签或包括所述骨干IP-VRF的私网标签;在基于所述第六EVPN控制面对所述第一报文进行处理,得到的所述第二报文中不包括所述骨干MAC-VRF的私网标签或包括所述骨干MAC-VRF的私网标签。
在一个实施例中,所述第二报文的源IP作为目的IP的情况下,所述源IP在下层网络underlay网络中可路由或在underlay网络中不可路由。
通过采用在underlay网络中不可路由的源IP能够节省underlay网络的IP地址资源。
在一实施例中,当所述第二报文的源IP在underlay网络中不可路由时,上述处理器64还设置为进行以下操作至少之一:在所述第二报文的所述源IP的外层添加与所述源IP在同一个IP头中的目的IP所对应的MPLS封装;其中,所述源IP不在所述目的IP所在的路由表中;将所述第二报文的IPv4头中的协议类型字段的值设置为第一指定值;将所述第二报文的IPv6头中的下一报头字段的值设置为第二指定值;将所述第二报文的IP头对应的外层以太头中的ethertype字段的值设置为第三指定值。
本实施例还提供了另一种节点,该节点可以位于图1所示的PE节点。该实施例中的PE节点的结构与上述图6类似,此处不再赘述,该节点包括:通信接口,设置为接收第一服务提供商边缘PE节点发送的第三报文,其中,所述第三报文为所述第一PE节点对从第一AC接收的第四报文进行处理得到的报文,所述第三报文中包括第一IP,其中,所述第一IP包括:第二IP或将第二IP的部分位用所述第四报文的本征熵值加密后得到的IP;所述第二IP为以下之一:与所述第一AC对应的ESI的ESI IP,将与所述第一AC对应的ESI的ESI IP的指定位根据所述第一AC的根叶属性修改后得到的IP,将与所述第一AC对应的ESI的ESI IP的部分位用与所述第一AC对应的VLAN ID值替换后所得的IP,第三IP以及将第三IP的指定位根据所述第一AC的根叶属性修改后得到的IP;其中,与所述第一AC对应的ESI为所述第一AC所属主接口绑定的ESI,所述ESI的ESI IP为与所述ESI对应的IP地址,与所述第一AC对应的VLAN ID值为所述第一AC上配置的用于匹配所述第四报文的VLAN ID值,所述第三IP为由所述第一AC所在的PE节点和所述第一AC对应的ESI在所述PE节点上的本地索引确定的IP或由所述第一AC所在的PE节点所属的VPN域和所述第一AC对应的 ESI在所述PE节点上的本地索引确定的IP;处理器,与上述通信接口连接,设置为根据与所述第三报文中包含的第一IP对应的ESI值对所述第三报文进行处理,或者,根据所述第二IP和接收所述第三报文的接收方上的配置信息对所述第三报文进行ESI过滤。
通过上述装置,通过第二报文中包括的第一IP中携带了与接收第一报文的第一AC对应的ESI相关的信息,使得与该第二报文相关的业务比如VXLAN业务等能够支持ESI功能,解决了VXLAN业务不支持ESI的问题。
本实施例中,上述第一PE可以是PE1节点。上述第三报文相当于上述报文的发送方法所示的实施例中的第二报文,上述第四报文相当于上述报文的发送方法实施例中的第一报文。
在一实施例中,上述处理器是设置为通过以下至少之一实现根据与所述第三报文中包含的第一IP对应的ESI值对所述第三报文进行处理:当与所述第三报文中包含的第一IP对应的ESI为第一指定值时,将所述第三报文镜像到指定服务器;当与所述第三报文中包含的第一IP对应的ESI为第二指定值时,对所述第三报文进行指定的服务质量QoS处理;当与所述第三报文中包含的第一IP对应的ESI为第三指定值时,采用与所述指定值绑定的性能统计计数器对所述第三报文进行性能统计。
在一实施例中,上述处理器是设置为通过如下方式实现根据所述第二IP和接收所述第三报文的接收方上的配置信息对所述第三报文进行ESI过滤:根据所述第三报文确定一个或多个指定报文;确定用于发送每个指定报文的第二AC;根据所述第二IP和每个指定报文的第二AC的配置信息对每个指定报文进行ESI过滤;其中,所述配置信息包括以下至少之一:所述每个指定报文的第二AC的根叶属性以及所述每个指定报文的第二AC对应的IP。
在一实施例中,上述处理器是设置为通过如下方式实现根据所述第二IP和每个指定报文的第二AC的配置信息对每个指定报文进行ESI过滤:在所述每个指定报文的第二AC所属主接口绑定的ESI为非零或所述每个指定报文的第二AC的根叶属性的值为Leaf的情况下,在所述第二IP与所述每个指定报文的第二AC满足第一预定条件的情况下,丢弃所述每个指定报文;其中,所述第二IP为所述第二IP或将所述第二IP的部分位的值经由所述第四报文的本征熵值解密后得到的IP。
上述第一预定条件包括以下至少之一:所述第二IP与所述第二AC对应的IP相等;所述第二IP中指定二进制位的值为1且所述第二AC的根叶属性的值为Leaf;所述第二IP中指定二进制位的值为0且所述第二AC的根叶属性的值为Leaf;IP1∧IP2<(m+1),其中,∧是按位逻辑异或运算符;(IP1&IP2)&Flag=Flag,其中,&是按位逻辑与运算符,Flag为预定数值,且Flag中只有一个二进制位的值为1;其中,IP1为所述第二IP,IP2为所述第二AC对应的IP,m是IP地址反掩码,其中,所述IP地址反掩码为所述第二AC所属主接口绑定的ESI对应的ESI IP的IP地址掩码经按位取反运算后所得的。
在一实施例中,上述第三IP可以包括:第一部分和第二部分,其中,所述第一部分包括所述本地索引,所述第二部分包括以下至少之一:在所述第一PE节点上配置的指定IP地址的指定部分;其中,所述第一PE节点上的所有AC的第三IP中均包含所述指定部分;通过同一条配置命令在所述第一PE节点上逐个ESI分别配置的属性值中共同的二进制位部分;通过同一条配置命令在所述第二报文所属的VPN域的每个PE点上配置的指定IP地址的共同二进制位部分,其中,所述VPN域为发送或接收所述第二报文的PE节点的集合。
在一实施例中,所述本地索引包括以下至少之一:ESI本身的值;ESI别名值,其中,所述ESI别名值为给所述第一AC对应的ESI配置的用于在所述第一AC所在的节点上区别于所述节点上其它ESI的属性的值;ESI本地区分值,其中,所述ESI本地区分值为所述第一AC对应的ESI中的第一指定字段的取值;在所述第一PE节点中,不同ESI对应的所述第一指定字段的值不同;ESI域内区分值,其中,所述ESI域内区分值为所述第一AC对应的ESI中的第二指定字段的取值,其中,在所述第一PE节点所属的VPN域中,不同的ESI对应的所述第二指定字段的值不同。
在一个实施例中,所述第一IP位于所述第三报文的以下位置之一:最外层源IP中和IPv6选项头中。
在一实施例中,所述第三报文为所述第一PE基于以下控制面至少之一对所述第四报文进行处理得到的:第一EVPN控制面,其中,所述第一EVPN控制面为既通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,又通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;第二EVPN控制面,其中,所述第二EVPN控制面为不通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,但通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;第三EVPN控制面,其中,所述第三EVPN控制面为通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,但不通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;第四EVPN控制面,其中,所述第四EVPN控制面为不通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,并且不通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;第五EVPN控制面,其中,所述第五EVPN控制面为在骨干IP-VRF中发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系的控制面;所述骨干IP-VRF为所述第一AC所绑定的EVPN实例绑定的IP-VRF;第六EVPN控制面,其中,所述第六EVPN控制面为在骨干MAC-VRF中发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系的控制面;所述骨干MAC-VRF为所述第一AC所绑定的EVPN实例绑定的L2VPN实例。
在一个实施例中,所述第三报文的源IP作为目的IP的情况下,所述源IP在underlay网络中可路由或在underlay网络中不可路由。
在一实施例中,当所述第三报文的源IP满足以下条件之一时,所述第三报文的源IP在underlay网络中路由不可达:所述第三报文的IPv4头中的协议类型字段的值为第一指定值;所述第三报文的IPv6头中的下一报头字段的值为第二指定值;所述第三报文的IP头对应的外层以太头中的ethertype字段的值为第三指定值;所述第三报文的源IP的指定位为第四指定值;所述第三报文的目的IP的指定位为第五指定值并且源IP的指定位为第六指定值。
本实施例中,第一指定值,第二指定值,第三指定值,第四指定值,第五指定值和第六指定值,可以根据实际需要进行设定,但并不限于此。
在一实施例中,当所述第三报文的源IP在underlay网络中不可路由时,上述处理模块还设置为进行以下操作至少之一:不进行URPF检查;根据指定路由表和所述第三报文的源IP 进行URPF检查;不发送第五报文;根据指定路由表发送第五报文;当所述第三报文的目的IP为组播IP时,不进行RPF检查;当所述第三报文的目的IP为组播IP时,根据指定路由表和所述第三报文的源IP进行RPF检查;其中,所述指定路由表与用于根据所述第三报文的目的IP转发所述第三报文的路由表不同;所述第五报文为在所述第三报文满足预定条件的情况下生成的报文。
实施例四
本实施例还提供了一种报文的处理系统,包括:第一节点和第二节点;其中,所述第一节点,设置为从第一接入电路AC接收第一报文,对所述第一报文进行处理,得到一个或多个第二报文,以及将所述一个或多个第二报文发送给所述第二节点;其中,每个第二报文中包括第一IP,其中,所述第一IP包括:第二IP或将第二IP的部分位用所述第一报文的本征熵值加密后得到的IP;所述第二IP为以下之一:与所述第一AC对应的ESI的ESI IP,将与所述第一AC对应的ESI的ESI IP的指定位根据所述第一AC的Root/Leaf属性修改后得到的IP,将与所述第一AC对应的ESI的ESI IP的部分位用与所述第一AC对应的VLAN ID值替换后所得的IP,第三IP,将第三IP的指定位根据所述第一AC的根叶属性修改后得到的IP;其中,与所述第一AC对应的ESI为所述第一AC所属主接口绑定的ESI,所述ESI的ESI IP为与所述ESI对应的IP地址,与所述第一AC对应的VLAN ID值为所述第一AC上配置的用于匹配所述第一报文的VLAN ID值,所述第三IP为由所述第一AC所在的PE节点和所述第一AC对应的ESI在所述PE节点上的本地索引确定的IP或由所述第一AC所在的边缘节点PE节点所属的VPN域和所述第一AC对应的ESI在所述PE节点上的本地索引确定的IP;所述第二节点,设置为根据与每个第二报文中包含的第一IP对应的ESI值对所述每个第二报文进行处理,或者,根据所述第二IP和接收所述每个第二报文的接收方上的配置信息对所述每个第二报文进行ESI过滤。
在一实施例中,上述第一节点可以是上述实施例三中的图6所示的PE节点,即上述实施例三中发送第二报文的PE节点,上述第二节点可以是上述实施例三中的另一种节点,即接收第三报文的节点。对于第一节点和第二节点的解释,请见实施例3,此处不再赘述。
实施例五
本实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项所述的方法。
在本实施例中,上述存储介质可以包括但不限于:U盘、ROM、RAM、移动硬盘、磁碟或者光盘等至少一种可以存储程序代码的介质。
本实施例还提供了一种处理器,该处理器设置为运行程序,其中,该程序运行时执行上述任一种方法中的步骤。
本实施例中的示例可以参考上述实施例所描述的示例,本实施例在此不再赘述。
以下结合示例性实施例对本公开进行说明。
图7是一示例性实施例提供的PE节点的结构示意图。如图7所示,包括:EVPN基础设施模块,IP第一插件模块,IP第二插件模块,IP第三插件模块,IP第四插件模块,其中,IP第一插件模块,IP第二插件模块,IP第三插件模块以及IP第四插件模块是可选的。以IP第 二插件模块为例进行说明。IP第二插件模块为可选的,含义为上述PE节点可以包括IP第二插件模块,也可以不包括IP第二插件模块。在一实施例中,包括还是不包括IP第二插件模块,可以根据需要进行设置,并不限定。
上述EVPN基础设施模块可以与上述接收模块42和发送模块46完成的功能类似,并且也可以完成上述处理模块44的部分功能,或者可以完成与上述通信接口62的功能以及处理器64的部分功能,但并不限于此。
上述IP第一插件模块,IP第二插件模块,IP第三插件模块,IP第四插件模块可以结合,部分结合或单独可以完成上述处理模块44或处理器64的部分功能,但并不限于此。
图8是一示例性实施例提供的非业务感知节点的结构示意图。如图8所示,包括:IP基础设置模块,熵IP第三插件模块;本实施例中,熵IP第三插件模块是可选的,即上述非业务感知节点可以包括熵IP第三插件模块,也可以不包括熵IP第三插件模块,包括还是不包括熵IP第三插件模块,可以根据需要进行设置,并不限定。
在一实施例中,上述IP基础设置模块可以完成上述通信接口62以及上述处理器64的部分功能,上述熵IP第三插件模块可以完成上述处理器64的部分功能,但并不限于此。
对于上述PE节点或非业务感知节点包括的上述模块的作用通过下述示例性实施例进行描述。
本示例性实施例提供了一种EVPN业务ESI内部环路避免的装置(系统),其中,本示例性实施例提供的PE节点包括以下模块:标准EVPN控制面模块:按RFC7348的规定对VXLAN的控制面进行管理;也包括部署VXLAN所需的underlay网络的路由以及转发管理,比如多协议边界网关协议(Multiprotocol-Border Gateway Protocol,MP-BGP)会话等;标准EVPN转发表管理模块:按RFC7348的规定对VXLAN的多种转发表进行管理;
该装置还包括:ESI别名(Alias)映射模块:本模块给指定ESI确定一个ESI别名值,ESI别名值可以是显式指定,也可以是从ESI的某个字段中提取。并且,本模块还要将用户配置的ESI与ESI别名值的映射关系下发到新型EVPN转发模块。ESI Alias映射模块还要确定每个ESI对应的每个AC的指定转发器(Designated Forwarder,DF)/non-DF角色,其中DF/non-DF角色在转发流程中所起的作用如RFC7432所定义,但确定每个AC是DF还是non-DF角色的方法,不局限于RFC7432。
新型EVPN转发模块:按RFC7348规定实现VXLAN的所有功能,除了如下不同之外:本模块能读取一个AC接口所属的ESI对应的ESI别名值,记为该AC的ESI别名值;本模块能读取VXLAN封装的广播、未知单播和组播(Broadcast,Unknown unicast and Multicast,BUM)报文的underlay源IP地址,记为该报文的ESI别名值;本模块能将BUM报文的ESI别名值与BUM报文的转发出口AC的ESI别名值进行比较,如果BUM报文的ESI别名值与BUM报文的转发出口AC的ESI别名值相同,则丢弃该报文,如果BUM报文的ESI别名值与BUM报文的转发出口AC的ESI别名值不同,则允许该报文执行后续的转发;为描述方便起见,本公开中将此规则称为VXLAN数据报文的ESI IP校验规则,将按此规则校验ESI IP的过程称为ESI IP校验过程。相比RFC7348,本模块还可以识别基于IPv6的分段路由(IPv6Segment Routing,SRv6)End.DX2封装的报文,并由一个End.DX2类型的SRv6分段标识符(Segment Identifier,SID)同时充当RFC7348中的VNI和VXLAN隧道端点(VXLAN Tunnel  EndPoint,VTEP)IP对于一个VXLAN实例所起的作用。参见示例性实施例5。
本示例性实施例提供的所述EVPN业务ESI内环路避免的方法包括以下基本步骤:
第一步,按照部署RFC7348中定义的VXLAN业务的方式,将VXLAN业务部署起来,所用PE节点,均为实现了所述ESI Alias映射模块和所述新型EVPN转发模块的PE节点。这样,经过此步骤,此VXLAN业务就已经具有了RFC7348中定义的VXLAN业务的基本功能。
第二步,给EVPN网络中每个ESI(非0)映射一个ESI别名值,不同ESI(非0)应当映射到不同ESI别名值;给EVPN网络中每个PE节点映射一个ESI别名值,作为该PE节点上的所有ESI为0的AC共用的ESI别名值。同一ESI(非0)在不同PE节点上应该被映射到同一ESI别名值。为描述方便起见,以上规则称为ESI别名映射规则(相当于上述映射关系)。
第三步,在每个节点上,通过ESI Alias映射模块提供的配置接口,将该节点上的每个本地ESI与每个本地ESI的ESI别名值的映射关系配置上去。包括ESI为0和ESI不为0两种情况。
采用本示例性实施例提供的所述VXLAN EVPN增强节点,解决了RFC7348定义的基本VXLAN业务不支持ESI功能的缺点,避开了[EVPN Overlay]定义的本地(Local Bias)机制对ESI的组网限制,并且使得对VXLAN封装报文的流量统计具备了精确到ESI的必要条件。
示例性实施例1
结合图7对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE节点的实施作进行描述。
1:实现所述EVPN基础设施模块:
按draft-ietf-bess-evpn-overlay(以下简称“[EVPN overlay]”)实现VXLAN EVPN业务,则所得VXLAN EVPN业务的控制面模块即所述VPN基础设施模块的控制面部分。
同理,按[EVPN overlay]实现VXLAN EVPN业务,则所得VXLAN EVPN业务的转发面模块即所述VPN基础设施模块的转发面部分。
按以上方法所得的EVPN控制面模块,其中包括MP-BGP协议L2VPN EVPN地址族相关配置、EVPN实例的配置、AC与EVPN实例的绑定配置以及ESI相关配置等内容,其中,EVPN实例以VNI为标识,VNI来自用户配置。
本模块中VXLAN隧道及VXLAN隧道与EVPN实例的绑定关系按[EVPN Overlay]协议规定由MP-BGP会话动态生成。
本模块作为软件实现时,需要实现一种插件机制,为:按[EVPN Overlay]转发流程将所述第一报文封装成一个或多个第X报文,所述第X报文是一个不带对应链路层封装(比如MAC头)的IP报文;然后,对于每一个第X报文分别进行如下处理:先调用IP第一插件修改所述第X报文,再调用IP第二插件修改所述第X报文,在IP第二插件返回后,再继续按[EVPN Overlay]流程转发所述第X报文,包括根据目的IP给所述第X报文添加相应的外层多种封装(包括链路层封装)得到所述第二报文,以及发送所述第二报文。在作为接收端接收 所述第三报文,并确定为含有待终结的VXLAN封装的报文后,剥掉所述VXLAN封装的外层IP头外面的所有其它报文头,得到第Y报文(所述外层IP头仍然保留在其中),由第Y报文中的VNI确定第Y报文所属的EVPN实例,然后,在对所述第Y报文进行所述EVPN实例中的处理之前,先调用IP第三插件修改所述第Y报文,以所得报文在EVPN实例中继续按[EVPN Overlay]中定义的流程处理,得到一个或者多个第Z报文,以及发送每个第Z报文的出口AC,以所述第Z报文及所述第Z报文的出口AC为参数,调用所述IP第四插件,若所述IP第四插件没有将所述第Z报文丢弃,则继续按[EVPN Overlay]中的流程处理。
与所述EVPN基础设施模块不同,在从AC收到一个BUM报文时,本模块无视[EVPN Overlay]第8.3.1部分(Section 8.3.1)中对实现“Local Bias”机制的建议,仍然按RFC7432规定,不能往non-DF角色的AC转发该BUM报文。
在示例性实施例中,设定Underlay网络为IPv4网络,因此,EVPN隧道的源IP和目的IP均为IPv4地址。
与所述VPN基础设施模块不同,本模块当所述第Y报文的目的IP匹配所述EVPN隧道的源IP所在的接口所对应的直连路由前缀时,就认为所述第Y报文匹配该隧道,而不检查所述第Y报文的源IP是否匹配所述EVPN隧道的目的IP。
2:实现所述IP第一插件模块的方法如下:
本模块通过配置来指定当收到的所述第Y报文的源IP的高16位与指定16位路由前缀Prefix1/16的高16位相同时,对该报文的处理满足如下规则:1)在所述第三报文触发被动回包时,回包到指定IP地址S1;2)并且,在所述第三报文触发源IP可达性检查时,忽略检查。
当所述Prefix1/16被指定具有以上所述作用时,在本说明书中,就称所述Prefix1为本节点的一个源IP专用黑洞路由前缀。源IP专用黑洞路由前缀可以有多个,为描述简单起见,这里设定一个节点只有一个源IP专用黑洞路由前缀。
本模块在收到所述EVPN基础设施的回调时,以所述源IP专用黑洞路由前缀的高16位覆盖所述第X报文的源IP的高16位,然后将修改后的报文返回给EVPN基础设施模块。
3:实现所述IP第二插件模块的方法如下:
本模块通过配置来给每个本地ESI指定一个对应的本地唯一的16位ESI别名值,并在收到所述EVPN基础设施的回调时,以被所述第X报文封装的所述第一报文的入口AC所属的主接口对应的ESI对应的ESI别名值覆盖所述第二报文的源IP的低16位,然后将修改后的报文返回给EVPN基础设施模块。
4:实现所述IP第三插件模块的方法如下:
本模块将所述第Y报文原封不动地返回给所述EVPN基础设施模块。
5:实现所述IP第四插件模块的方法如下:
若所述第Z报文的出口AC的ESI为0,则将所述第Z报文直接返回给所述EVPN基础设施模块。
若所述第Z报文的出口AC的ESI不为0,本模块将所述第Z报文的源IP的低16位与所述出口AC所属的主接口对应的ESI对应的ESI别名值进行比较,如果相等,则将报文丢 弃,如果不相等,将报文返回给所述EVPN基础设施模块继续处理。
本示例性实施例中,所述ESI别名值由于在所述第二报文所属的VPN域中的所有ESI的ESI别名值之间具有唯一性,因此,可以用于报文统计,将从远端不同ESI过来的报文的统计数据记录到不同的计数器中,从而提高报文统计的精确性。
结合图8对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知节点的实施进行说明:
1:实现所述IP基础设施模块:
实现基本的IPv4路由和IPv4转发功能,所述IPv4转发功能中包括基于跨设备链路聚合(Multi-Chassis-Link Aggregation Group,MC-LAG)的负载均衡功能,负载均衡采用IP五元组作为算熵因子。
本模块只基于所述第X报文的IP头(包括IPv6选项头)进行转发。
本模块对目的IP不是本节点的本地直连IP地址的所述第X报文进行IP转发,所述根据目的IP对所述第X报文进行IP转发的流程相对相关技术没有改变。
本模块通过配置指定当对源IP的高16位为指定值Prefix2的IP报文的源IP进行路由可达性检查时,调用熵IP第三插件模块进行所述源IP路由可达性检查。
并且,当所述第X报文的源IP满足所述条件,并且触发被动回包时,则调用熵IP第三插件进行处理,获取回包所用的目的IP地址。相关技术中则是直接用所述第X报文的源IP地址作为回包的目的IP地址。
在一实施例中,本模块也可以在触发被动回包时放弃进行被动回包,此时,不需要调用熵IP第三插件。
2:实现所述熵IP第三插件模块的方法如下:
本模块通过配置来指定当收到的所述第X报文的源IP的高16位为指定值Prefix2时,对该报文的处理满足如下规则:1)在所述第三报文触发被动回包时,回包到指定IP地址S1;2)并且,在所述第三报文触发源IP路由可达性检查时,忽略检查。
本模块返回的IP地址即所述源IP专用黑洞路由前缀对应的指定IP地址S1。
以图1所示的EVPN拓扑为例,网络及业务部署部分的处理步骤包括如下步骤。
第一步,选定每个节点所采取的实现。选取本示例性实施例所定义的PE节点作为PE1、PE2和PE3节点,选取本示例性实施例所定义的非业务感知节点作为P1和P2节点。本示例性实施例以及下述示例性实施例中的网络及业务部署流程部分均使用该示例性实施例中定义的节点作为PE1、PE2、PE3、P1和P2节点,此后不再赘述。由于本示例性实施例所定义的PE节点和非业务感知节点都是IPv4节点,因此,这也就意味着本示例性实施例选定的underlay网络类型为IPv4网络。
第二步,配置并发布每个PE节点的EVPN路由(Router)ID。给每个PE节点配置一个本地环回(loopback)接口,并给该loopback接口配置一个IP地址以及对应的子网掩码,并使用该loopback接口的IP地址作为该PE的EVPN Router ID,并且使以该EVPN Router ID 及该EVPN Router ID对应的子网掩码生成的路由前缀在underlay网络中是路由可达的(可以ping通);其中,不同PE的EVPN Router ID以及对应的路由前缀均不同。在本示例性实施例中,所述loopback接口的子网掩码为32位子网掩码,多个loopback接口的IP地址的主机标识部分的值均为1。
第三步,建立图1所示的VXLAN EVPN网络。包括,在PE1、PE2和PE3之间两两配置MP-BGP会话,并使能L2VPN EVPN地址族的相关配置。为简单起见,通过调整BGP的配置,使得EVPN RT-3路由可以将业务所需全部VXLAN隧道动态生成。在一实施例中,可以通过调整BGP配置使得通过RT-3路由生成的VXLAN隧道符合如下规则:在任意两个PE节点之间,只生成一条双向VXLAN隧道;任一双向VXLAN隧道的两端,均使用所在节点的EVPN Router ID作为该VXLAN隧道的源IP,并且,在同一双向VXLAN隧道的两端,一端的隧道源IP正好是另一端的隧道目的IP,一端的隧道目的IP正好是另一端的隧道源IP。同理,通过调整BGP配置,也可以使得RT-3路由能够将所有VXLAN隧道与EVPN实例的绑定关系全部生成。
第四步,按图1所示建立一条VXLAN EVPN业务,并在每个PE节点上为该VXLAN EVPN业务指定相同的VNI。其中,AC1、AC2、AC3、AC4、AC5、AC6等6个接口均作为接入电路绑定所述VXLAN EVPN业务。完成以上配置以后,所述MP-BGP会话开始按[EVPN Overlay]定义的信令流程交流RT-3路由,导致不同节点之间的VXLAN隧道得以建立并且与所述VXLAN EVPN业务相绑定。
第五步,配置ESI基础配置。给CE1接入到PE1和PE2的物理接口映射到同一个ESI(记为ESI1)以及ESI1相关配置,从而触发所述MP-BGP会话按[EVPN Overlay]中所述的RT-4路由进行DF协商和RT-1路由发布。同理,给CE2接入到PE1和PE2的物理接口也映射到同一个ESI(记为ESI2),以及ESI2相关的配置。本实施例假定所述DF协商的结果是AC1和AC4分别是ESI1和ESI2在所述业务中的non-DF角色的接口。
第六步,配置ESI过滤配置。在每台PE节点上配置同一个源IP专用黑洞路由前缀,并给每个PE上的每个非零ESI配置一个ESI别名值,使得同一非零ESI在不同PE上的ESI别名值均相同,且任意两个不同的非零ESI的ESI别名值均不同,无论两个不同的非零ESI是否位于同一PE上。
经过以上步骤,所述VXLAN EVPN业务就建立起来了,可以使用数据报文来验证本示例性实施例中定义的PE节点和非业务感知P节点上的转发行为和效果了。
以图1所示的EVPN拓扑为例,端到端报文转发部分的处理步骤包括如下步骤。
第一步,当PE1节点从本地AC1收到一个地址解析协议(Address Resolution Protocol,ARP)报文B1(相当于上述第一报文)时,所述EVPN基础设施模块转发B1报文,包括往远端PE2和PE3和本地AC4转发报文,但是,AC4由于被协商为non-DF角色,该份拷贝被丢弃。为描述方便起见,将PE1发往PE2的那个B1报文的拷贝记为B1b(相当于上述第二报文),将PE1发往PE3的那个B1报文的拷贝记为B1c。其中,B1b和B1c两份拷贝的VXLAN封装的外层源IP是相同的,记为ESI_IP1,其中ESI_IP1的高16位为所述源IP专用黑洞路由前缀的高16位,ESI_IP1的低16位为所述ESI别名值的值。
第二步,当PE2节点收到所述B1b报文时,所述EVPN基础设施模块转发B1b报文,只 是,由于B1b报文是BUM报文,且报文的源IP为ESI_IP1,在往AC2转发该报文的一份拷贝时,因为AC2所属物理口对应的ESI对应的ESI别名值与ESI_IP1的低16位相等,因此不能转发该拷贝到AC2;在往AC5转发该报文的另一份拷贝时,因为AC5所属物理口对应的ESI对应的ESI别名值与ESI_IP1的低16位不相等,因此可转发该拷贝到AC5,往AC6转发时,因为AC6的ESI为0,跳过按ESI别名值过滤的流程,将报文直接从AC6转发出去。
第三步,当PE3节点收到所述B1c报文时,所述EVPN基础设施模块转发B1c报文到AC3时,虽然B1c报文是BUM报文,但由于AC3的ESI为0,也无需进行ESI过滤。
第四步,当PE1从AC4收到一个BUM报文B4时,按与B1类似的转发流程,VXLAN封装的外层源IP会填成ESI_IP2,B4的一个拷贝B4c转发到PE3时,由于B4c和B1c的外层源IP不同,PE3就会将B4c统计到两条记录中去,而完全按标准的[EVPN Overlay]流程,B4c和B1c由于VXLAN封装及外层IP封装完全相同,只能被统计到一条记录中去。因此,本实施例能够实现比标准的[EVPN Overlay]更细致的流量统计。
综合第一步和第二步,已经可以证明,本实施例对于从ESI1(AC1)收到的BUM报文完全不可能再从ESI1的其它邻接链路(AC2)转发出去;同时,本公开对于从ESI1(AC1)收到的BUM报文转发到ESI2(AC4和AC5)时,最多只会转发一份出去(因为AC4和AC5中只有一条AC是DF角色)。
示例性实施例2
结合图7对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE节点的实施进行描述。
1:实现所述EVPN基础设施模块:
除特殊说明之处以外,本模块与实施例1中的同名模块相同。
与示例性实施例1不同,本模块不调用所述IP第一插件模块和所述IP第三插件模块。
与示例性实施例1不同,本模块不实现[EVPN Overlay]中RT-1路由的相关功能,这意味着本模块发布的RT-2路由的ESI字段的值均为0。
相关技术中,[EVPN Overlay]技术在去掉RT-1路由之后,无法完成同一以太分段(Ethernet Segment,ES)内的环路避免,但是本公开可以。
2:实现所述IP第一插件模块的方法如下:
本模块不对报文进行任何修改。
3:实现所述IP第二插件模块的方法如下:
除特殊说明之处以外,本模块与示例性实施例1中的同名模块相同。
与示例性实施例1不同,本模块通过配置来给每个本地ESI指定一个ESI IP和相应的ESI IP掩码,所述ESI IP的高16位与所述源IP专用黑洞路由前缀的高16位相同,所述ESI IP掩码的高16位为0x0FFFF。
与示例性实施例1不同,本模块以所述ESI IP覆盖所述第二报文的源IP,然后将修改后的报文返回给EVPN基础设施模块。
4:实现所述IP第三插件模块的方法如下:
本模块不对报文进行任何修改。
5:实现所述IP第四插件模块的方法如下:
若所述第Z报文的出口AC的ESI为0,则将所述第Z报文直接返回给所述EVPN基础设施模块。
若所述第Z报文的出口AC的ESI不为0,则本模块将所述第三报文的源IP与所述第Z报文的出口AC所属的主接口对应的ESI对应的ESI IP及ESI IP掩码进行匹配,如果所述源IP能够匹配所述ESI IP及ESI IP掩码,则将报文丢弃,如果所述源IP不能够匹配所述ESI IP或ESI IP掩码,则将报文返回给所述EVPN基础设施模块继续处理。
本实施例中,将所述第三报文的源IP记为IP1,将所述ESI IP记为IP2,将所述掩码记为m,则上述丢弃所述报文的规则实际上相当于当IP1∧IP2<(m+1)时丢弃报文。
结合图8对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知节点的实施进行描述。
1:实现所述IP基础设施模块:
本模块与示例性实施例1中的同名模块相同。
2:实现所述熵IP第三插件模块的方法如下:
本模块与示例性实施例1中的同名模块相同。
以图1所示的EVPN拓扑为例,网络及业务部署部分的处理步骤包括如下步骤。
第一步,选定每个节点所采取的实现。与示例性实施例1相同,只是多个PE节点和P节点均为本实施例中所定义的节点。
第二步,配置并发布每个PE节点的EVPN Router ID。与实施例1相同。
第三步,建立图1所示的VXLAN EVPN网络。与示例性实施例1相同。
第四步,按图1所示建立一条VXLAN EVPN业务,并在每个PE节点上为该VXLAN EVPN业务指定相同的VNI。与示例性实施例1相同。
第五步,配置ESI基础配置。与示例性实施例1相同。
第六步,配置ESI过滤配置。与示例性实施例1相同,只除了给每个ESI配置一个ESI IP和一个与该ESI IP对应的28位IP地址掩码,所述ESI IP的高16位与所述源IP专用黑洞路由前缀的高16位相同。同一ESI在不同PE上ESI IP高28位均相同,不同ESI的ESI IP的高28位均不同。
经过以上步骤,所述VXLAN EVPN业务就建立起来了,可以使用数据报文来验证本示例性实施例中定义的PE节点和非业务感知P节点上的转发行为和效果了。
以图1所示的EVPN拓扑为例,端到端报文转发部分的处理步骤包括如下步骤。
第一步,当PE1节点从本地AC1收到一个ARP报文B1时,所述EVPN基础设施模块转发B1报文的两份拷贝B1b和B1c的过程与示例性实施例1是一样的,只是所述B1b和B1c 的VXLAN封装外层的源IP变为ESI_IP2,所述ESI_IP2为AC1所属物理口对应的ESI上配置的ESI IP。
第二步,当PE2节点收到所述B1b报文时,所述EVPN基础设施模块转发B1b报文的过程与示例性实施例1是一样的,ESI过滤的结果也是一样的,只是ESI过滤规则变为比较B1b报文的源IP与每个出口AC所属物理口对应的ESI上配置的ESI IP。
第三步至第四步,除VXLAN封装外层源IP的值以外,与实施例1均相同。
由于RT-2路由的BGP下一跳为路由源节点的EVPN Router ID,因此从同一ESI的不同邻接PE上学到的MAC发布的RT-2路由的BGP下一跳是不同的,导致本模块对于转发到同一远端ESI的不同邻接PE的VXLAN报文的外层目的IP是不同的,因而也就无法支持逐流的负荷分担模式,但是,本模块仍然支持每服务负载均衡(per service load-balance),只要CE上可以进行负荷分担;此时PE3上相当于按照由CE1发出的报文W所经过的PE节点决定转发CE3给报文W回应的报文U经过哪些PE节点,从而实现当W经过的PE节点改变时,报文U经过的PE节点也改变,并且,不同的W报文走不同PE节点时,不同的报文U也走不同的PE节点,从而实现一种per service load-balance效果。
作为所述B1c报文源IP的ESI IP,实际上是所述B1报文的一个上下文熵值,因此,当同样的所述B1报文从PE1节点不同的AC进入PE1节点并生成B1c报文时,所述B1c报文在这两种情况下在P1节点上经过负载均衡流程处理所选择的转发路径是不相同的。
本实施例中,所述上下文熵值为由接收所述B1报文的AC接口对应的一个或多个特征配置信息经过映射得到的熵值。在本实施例中,所述特征配置信息包括所述AC接口所属主接口对应的ESI信息,所述ESI IP就代表了所述ESI的熵,当与B1报文具有相同的字节序例的X1报文从另一个AC接口接收到时,换句话说,X1报文与B1报文唯一的不同是具有不同的上下文,所述上下文熵值就标识了所述上下文。
示例性实施例3
结合图7对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE节点的实施进行描述。
1:实现所述EVPN基础设施模块:
按RFC7348实现普通VXLAN业务,则所得VXLAN业务的控制面模块即所述VPN基础设施模块的控制面和人机界面部分。
同理,按RFC7348实现VXLAN业务,则所得VXLAN业务的转发面模块即所述VPN基础设施模块的转发面部分。
除特殊说明之处以外,本模块与以上所述RFC7348对应的人机界面和处理流程相同。
本实施例中,按以上方法所得的一种EVPN控制面模块,可以用于包括VXLAN隧道的配置、EVPN实例的配置、AC与EVPN实例的绑定配置以及VXLAN隧道与EVPN实例的绑定配置等内容,其中,EVPN实例以VNI为标识,VNI来自用户配置。其中,所述VXLAN隧道在其两端节点上均以所在节点的EVPN Router ID作为源IP,以对端节点的EVPN Router ID作为目的IP。本实施例中,所述EVPN Router ID是一个loopback接口的IP地址。为描述 简便起见,本模块设定一个节点只有一个EVPN Router ID。
本模块作为软件实现,需要实现一种插件机制,为:在按RFC7348转发流程将所述第一报文封装成所述第X报文,所述第X报文是一个不带链路层封装(比如MAC头)的IP报文;然后,以第X报文作为参数,先调用IP第一插件,以所得结果作为参数,再调用IP第二插件。在接收所述第Y报文并确定第Y报文所属的EVPN实例之后,在对所述第Y报文进行所述EVPN实例中的处理之前,以所述第Y报文为参数,调用IP第三插件,以所得报文在EVPN实例中继续按RFC7348中定义的流程处理,得到一个或者多个第Z报文,以及每个第Z报文的出口AC,以所述第Z报文及所述第Z报文的出口AC为参数,调用所述IP第四插件,若所述IP第四插件没有将所述第Z报文丢弃,则继续按[EVPN Overlay]中的流程处理,包括根据目的IP给所述第Z报文添加链路层封装。
本实施例中,所述插件机制可以是函数调用、回调函数、多态函数也可以是独立插件。
除插件机制以外,本模块的转发面与RFC7348对应转发面的处理流程相同,转发面的处理流程包括BUM报文转发流程、MAC学习流程以及单播转发转发流程等。
在本示例性实施例中,设定underlay网络为IPv6网络,因此,VXLAN隧道的源IP和目的IP均为IPv6地址。
此外,本模块当接收到的所述第三报文(相当于上述实施例中的第二报文或第三报文)的目的IP匹配所述EVPN隧道的源IP所在的接口所对应的直连路由前缀时,就认为所述第三报文匹配该隧道,而不检查所述第三报文的源IP是否匹配所述EVPN隧道的目的IP。
2:实现所述IP第一插件模块的方法如下:
除特殊说明之处以外,本模块与示例性实施例2中的同名模块相同。
与示例性实施例1不同,本模块不需要配置所述源IP专用黑洞路由前缀。
与示例性实施例1不同,本模块的每个ESI具有一个同名虚接口,称为ESI虚接口,该虚接口具有loopback接口的所有功能。
与实施例1不同,本模块的ESI IP配置在所述ESI虚接口上,且配置为128位IPv6掩码。
与示例性实施例1不同,本模块以所述ESI IP覆盖所述第X报文的源IP,然后将修改后的报文返回给EVPN基础设施模块继续处理。
3:实现所述IP第二插件模块的方法如下:
本模块将所述EVPN基础设施模块输入的报文原封不动地返回给所述EVPN基础设施模块。
4:实现所述IP第三插件模块的方法如下:
本模块将所述EVPN基础设施模块输入的报文原封不动地返回给所述EVPN基础设施模块。
5:实现所述IP第四插件模块的方法如下:
若所述第Z报文的出口AC的ESI为0,则将所述第Z报文直接返回给所述EVPN基础设施模块。
若所述第Z报文的出口AC的ESI不为0,则本模块将所述第Z报文的源IP与所述第Z报文的出口AC所属的主接口对应的ESI对应的ESI虚接口的ESI IP进行比较,如果所述源IP与所述ESI IP相等,则将报文丢弃,如果所述源IP与所述ESI IP不相等,则将报文返回给所述EVPN基础设施模块继续处理。
结合图8对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知节点的实施进行描述:
1:实现所述IP基础设施模块:
实现基本的IPv6路由和IPv6转发功能,所述IPv6转发功能中包括基于MC-LAG的负载均衡功能,负载均衡采用IP五元组作为算熵因子。
本实施例中,本模块并不感知IP报文中是否存在熵值。但是,如果所述第Z报文的源IP或目的IP中本身已经包含了内层报文的熵值,则算熵因子中就自动包含了内层报文的熵值,从而所得新熵值中也就包括了内层报文的熵值。
本模块也不需要调用所述熵IP第三插件。
2:实现所述熵IP第三插件模块的方法如下:
本模块在这种节点上不存在,这种节点都是相关技术中已有节点。
以图1所示的EVPN拓扑为例,网络及业务部署部分的处理步骤包括如下步骤。
第一步,选定每个节点所采取的实现。与实施例1相同,只是多个PE节点和P节点均为本实施例中所定义的节点。
第二步,配置并发布每个PE节点的EVPN Router ID。与示例性实施例1相同。
第三步,建立图1所示的普通VXLAN网络并配置每条VXLAN隧道。其中,同一对PE节点之间有且仅有只有一条双向隧道。其中,配置到指定目标PE节点的VXLAN隧道时,使用该目标PE节点的EVPN Router ID作为该VXLAN隧道的目的IP地址,使用自己的EVPN Router ID作为该VXLAN隧道的源IP地址。按此办法配置出来的VXLAN隧道,以PE1与PE3之间的VXLAN隧道为例,在PE1上来看该隧道源IP是PE1的EVPN Router ID,目的IP是PE3的EVPN Router ID,而在PE3上来看该隧道的源IP是PE3的EVPN Router ID,目的IP是PE1的EVPN Router ID。
第四步,按图1所示建立一条VXLAN业务。其中,AC1、AC2、AC3、AC4、AC5、AC6等6个接口均作为接入电路绑定所述VXLAN业务,并将每条VXLAN隧道绑定到所述VXLAN业务中。
第五步,配置ESI基础配置。与示例性实施例1中的对应步骤相同,只除了本实施例中PE节点只发布RT-4路由以外。
第六步,配置ESI过滤配置。与示例性实施例1中的对应步骤相同,只除了用ESI IP取代了示例性实施例1中的ESI别名值以外,此外,还要保证ESI IP在underlay网络上是路由可达的。
第七步,经过以上步骤,所述VXLAN EVPN业务就建立起来了,可以使用数据报文来 验证本示例性实施例中定义的PE节点和非业务感知P节点上的转发行为和效果了。
以图1所示的EVPN拓扑为例,端到端报文转发部分的处理步骤包括如下步骤。
第一步,当PE1节点从本地AC1收到一个ARP报文B1时,所述EVPN基础设施模块转发B1报文的两份拷贝B1b和B1c的过程与实施例1是一样的,只是所述B1b和B1c的VXLAN封装外层的源IP变为ESI_IP3,所述ESI_IP3为AC1所属物理口对应的ESI上配置的ESI IP。
第二步,当PE2节点收到所述B1b报文时,所述EVPN基础设施模块转发B1b报文的过程与示例性实施例1是一样的,ESI过滤的结果也是一样的,只是ESI过滤规则变为比较B1b报文的源IP与每个出口AC所属物理口对应的ESI上配置的ESI IP。
第三步至第四步,除VXLAN封装的外层源IP的值之外,与示例性实施例1均相同。
综合第一步和第二步,已经可以证明,本示例性实施例对于从ESI1(AC1)收到的BUM报文完全不可能再从ESI1的其它邻接链路(AC2)转发出去;同时,本实施例对于从ESI1(AC1)收到的BUM报文转发到ESI2(AC4和AC5)时,最多只会转发一份出去(因为AC4和AC5中只有一条AC是DF角色)。并且,RFC7348本来是不支持ESI特性的,要支持ESI特性必须引入[EVPN Overlay]控制面,至少引入RT-4以及“Local Bias”机制(包括RT-1路由),而本示例性实施例只引入RT-4路由,就使RFC7348具有了ESI特性。
本实施例与示例性实施例1中不同,在PE2和PE3转发B1b和B1c两个报文的同时,还会按RFC7348进行数据面的MAC学习,虽然MAC学习流程是标准的RFC7348流程,但是,由于B1b和B1c的VXLAN封装的外层源IP的值与标准的RFC7348中的VXLAN封装的外层源IP的值是不同的,因而MAC学习的结果也是不同的,但都是能正常进行VXLAN业务的单播转发的,因此,本示例性实施例没有列出单播报文的转发步骤。
示例性实施例4
结合图7对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE节点的实施作进行描述。
1:实现所述EVPN基础设施模块:
除特殊说明之处以外,本模块与示例性实施例3中的同名模块相同。
与示例性实施例3中不同,本模块的EVPN实例同时也对应一个同名虚接口,称为EVPN实例接口,所述EVPN实例接口具有loopback接口的所有功能。这意味着:EVPN实例接口的IP地址要作为本地主机路由添加到路由表中,并且,该EVPN实例接口上配置的IP地址掩码要与所述IP地址结合作为本地直连路由前缀添加到路由表中,并且,从所述本地主机路由和所述本地直连路由前缀对应的路由条目中均可以知道它是根据哪个接口(必定是EVPN实例接口)所生成的路由。
与示例性实施例3中不同,本模块的EVPN实例上配置的VNI只作为一个标识EVPN实例的数值来看待,并不具有RFC7348中的VNI的作用,取而代之的是直接将一个IP地址配置在所述EVPN实例接口上。
与示例性实施例3中不同,本示例性实施例中每条VXLAN隧道都专属于一条业务,每 条业务都为该业务中每个远端节点部署一条VXLAN隧道。本示例性实施例中每条VXLAN隧道的源IP是该VXLAN隧道所属EVPN实例对应的EVPN实例接口的IP地址,目的IP是该VXLAN隧道在目的节点上所属EVPN实例对应的EVPN实例接口的IP地址。
本模块将第一报文封装成第二报文所用的封装与实施例3中采用的VXLAN封装相比,去掉了用户数据报协议(User Datagram Protocol,UDP)头和VXLAN头,从而与SRv6中目的IP为具有End.DX2类型的SRv6功能(Function)的SID的报文具有相同的格式;这种封装格式在本公开中称为甲型扩展SRv6封装。如图10和图11中的格式B所示,图11是图10的展开,包括了从源IP到以太层载荷数据之间的多个字段的对比。本示例性实施例中,所述SRv6、End.DX2、SID和Function等概念即draft-filsfils-spring-srv6-network-programming-01(以下简称[srv6-program])的section 4中所述SRv6、End.DX2、SID和Function概念。
本模块接收第三报文时,若第三报文的目的IP命中一条本地直连路由,且该路由是一个EVPN实例接口生成的,则认为所述第三报文为甲型扩展SRv6封装,并且,所述第三报文在所述EVPN实例接口对应的EVPN实例中转发。转发时,除封装解封装之外,图11中格式B中的每个字段,除特殊说明之处以外,均具有与图11中格式A中的同名字段相同的作用。
与示例性实施例3不同,当所述第三报文的目的IP命中所述ESI虚接口的直连网段路由时,以报文目的IP的低12字节作为内层VLAN ID,以报文目的IP的低24字节中的高12字节作为外层VLAN ID,以<所述内层VLAN ID,所述外层VLAN ID,所述ESI虚接口>查找对应的子接口,以该子接口绑定的EVPN实例作为报文所属的EVPN实例,以该实例的EVPN实例接口的IP地址对应的对所述第三报文解码的格式作为对所述第三报文解码的格式。若内外层VLAN ID均为0x3FF,则AC为主接口,若内层VLAN ID为0x3FF,则AC为配置了单层VLAN ID的子接口,若内层VLAN ID不为0x3FF,则AC为配置了双层VLAN的子接口。
与所述VPN基础设施模块不同,本模块所实现的插件机制与实施例3中相同。
本实施例中,所述第三报文的目的IP实际上是配置所述目的IP的PE节点上的一个带参数的本地SID,所述带参数的本地SID概念即[srv6-program]的第三部分(section 3)中所述“LOC:FUNCT:ARGS”格式的本地SID概念。本模块实际上是定义了一种新型的SRv6参数(arguments,ARGS)以及SRv6 ARGS对应的SRv6 Function,所述SRv6 Function概念即[srv6-program]Section 4中所述SRv6 Fucntion概念。此新型SRv6 Function表示对应的本地SID中的低24位中包含的ARGS用于查找该SID对应的ESI上的匹配对应VLAN ID信息的子接口,并将所述第三报文在该子接口所属的EVPN实例中转发。本实施例可以与SRv6的分段路由策略(SR-Policv)功能结合使用,此时,按照所述SR-Policv的报文封装规范,所述第三报文的目的IP起初并不是目的PE节点(即本模块的执行主体)上的所述带参数的本地SID,但是,所述第三报文的目的IP在经过至少一个非业务感知节点或目的PE节点的SRv6转发流程的修改,最终会在所述目的PE节点上变为所述本地SID,并按所述新型SRv6功能(Fuction)的规则对所述第三报文进行处理。
2:实现所述IP第一插件模块的方法如下:
除特殊说明之处以外,本模块与示例性实施例3中的同名模块相同。
与示例性实施例2不同,本模块的ESI IP配置在所述ESI虚接口上,且配置为104位IPv6 掩码。
与示例性实施例2相同,本模块以所述ESI IP覆盖所述第二报文的源IP,然后将修改后的报文返回给EVPN基础设施模块继续处理。
3:实现所述IP第二插件模块的方法如下:
除特殊说明之处以外,本模块与示例性实施例3中的同名模块相同。
与示例性实施例3不同,本模块以所述第一报文的入口AC的内层VLAN ID作为EVPN基础设施模块输入的报文的源IP的低12位,以所述第一报文的入口AC的外层VLAN ID作为所述源IP的低24位中的高12位,其中,当所述入口AC不是子接口时,所述内外层VLAN ID均视为0x3FF,当所述入口AC是只配置了单层VLAN ID的子接口时,所述内层VLAN ID视为0x3FF。然后本模块将修改后的报文返回给所述EVPN基础设施模块。
4:实现所述IP第三插件模块的方法如下:
本模块与示例性实施例3中的同名模块相同。
5:实现所述IP第四插件模块的方法如下:
若所述第Z报文的出口AC的ESI为0,则将所述第Z报文直接返回给所述EVPN基础设施模块。
若所述第Z报文的出口AC的ESI不为0,则本模块将所述第Z报文的源IP与所述第Z报文的出口AC所属的主接口对应的ESI对应的ESI虚接口的ESI IP及ESI IP的掩码进行匹配,如果所述源IP能够匹配所述ESI IP及所述ESI IP的掩码,则将报文丢弃,如果所述源IP不能够匹配所述ESI IP或所述ESI IP的掩码,则将报文返回给所述EVPN基础设施模块继续处理。
结合图8对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知节点的实施进行描述。
1:实现所述IP基础设施模块:
本模块与示例性实施例3中的同名模块相同。
2:实现所述熵IP第三插件模块的方法如下:
本模块与示例性实施例3中的同名模块相同。
以图1所示的EVPN拓扑为例,网络及业务部署部分的处理步骤包括如下步骤。
第一步,选定每个节点所采取的实现。与示例性实施例3相同,只是多个PE节点和P节点均为本实施例中所定义的节点。
第二步,配置并发布每个PE节点的EVPN Router ID。与示例性实施例3相同。
第三步,建立图1所示的普通VXLAN网络并配置每条VXLAN隧道。与示例性实施例3中的对应步骤相同。
第四步,按图1所示建立一条VXLAN业务。与示例性实施例3中的对应步骤相同。
第五步,配置ESI基础配置。与示例性实施例3中的对应步骤相同。
第六步,配置ESI过滤配置。与示例性实施例3中的对应步骤相同,只除了所述ESI IP对应的IP地址掩码为104位掩码以外,此外,还要由配置保证所述ESI IP对应的104位路由前缀在underlay网络中是可路由的,并且,同一ESI在不同PE上发布的所述104位路由前缀是相同的,并且,不同ESI发布的所述104位路由前缀均不同。
经过以上步骤,所述VXLAN EVPN业务就建立起来了,可以使用数据报文来验证本示例性实施例中定义的PE节点和非业务感知P节点上的转发行为和效果了。
以图1所示的EVPN拓扑为例,端到端报文转发部分的处理步骤包括如下步骤。
第一步,当PE1节点从本地AC1收到一个ARP报文B1时,所述EVPN基础设施模块转发B1报文的两份拷贝B1b和B1c的过程与示例性实施例3是一样的,只是所述B1b和B1c采用所述扩展SRv6封装且所述B1b和B1c的外层的源IP的高104位为ESI_IP4的高104位,所述ESI_IP4为AC1所属物理口对应的ESI上配置的ESI IP。
第二步,当PE2节点收到所述B1b报文时,所述EVPN基础设施模块转发B1b报文的过程与示例性实施例3是一样的,ESI过滤的结果也是一样的,只是ESI过滤规则变为比较B1b报文的源IP的高104位与每个出口AC所属物理口对应的ESI上配置的ESI IP的高104位。
第三步至第四步,除报文封装格式采用扩展SRv6格式以及外层源IP的值不同之外,与示例性实施例3均相同。
在本示例性实例中,ESI IP既在源IP中,又可能在目的IP中。当所述第一报文为广播报文时,目的IP中不会有ESI IP,但当所述第一报文为单播报文且为已知单播报文时,目的IP中也会包含ESI IP的高位部分。
示例性实施例5
结合图7对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE节点的实施进行描述。
1:实现所述EVPN基础设施模块:
除特殊说明之处以外,本模块与示例性实施例4中的同名模块相同。
与示例性实施例4中不同,本模块按[EVPN Overlay]实现信令和转发流程。
与示例性实施例4中不同,本模块在对所述EVPN实例发布EVPN路由时,均以所述EVPN实例对应的EVPN实例接口的IP地址作为相应路由的边界网关协议(Border Gateway Protocol,BGP)下一跳。所述EVPN路由包括RT-4路由、RT-3路由、RT-2路由和RT-1per以太网虚拟互联(Ethernet Virtualization Interconnection,EVI)路由。
与示例性实施例4中不同,本模块当接收的所述第Y报文的目的IP为某个EVPN实例接口的IP地址时,确定所述Y报文属于所述EVPN实例接口对应的EVPN实例。
与示例性实施例4中不同,本模块设定所配置的ESI选用满足如下要求的ESI格式:该ESI中存在一个字段,本节点上不同ESI中该字段的值是不同的,为描述简便起见,所述字段称为特选字段。
在RFC7432第五部分(Section 5)中定义的类型3(Type 3)、类型4(Type 4)和类型 5(Type 5)中都存在一个这样的特选字段,而且所述特选字段都叫本地鉴别值(Local Discriminator value,LDV)。
与示例性实施例4中不同,本模块设定所配置的ESI中的所述特选字段的位宽如果大于32位,则本模块限定只使用所述特选字段的的低32位。
2:实现所述IP第一插件模块的方法如下:
本模块支持配置一个loopback接口地址,该loopback接口地址配置96位子网掩码,并将该loopback接口的IP地址的高96位称为中灶前缀。该loopback接口将在IP路由表中形成一个对应于该中灶前缀的96位路由前缀,并在underlay网络中发布该路由前缀;并且,本节点在接收到一个目的IP匹配该路由前缀的报文时,都认为是该loopback接口的报文,与目的IP为该loopback接口的IP地址的报文进行同样的处理。
本模块以所述中灶前缀覆盖所述EVPN基础设施模块输入进来的报文的源IP的高96位,然后将修改后的报文返回给EVPN基础设施模块。
3:实现所述IP第二插件模块的方法如下:
本模块以被所述EVPN基础设施模块输入的报文封装的所述第一报文的入口AC所属的主接口对应的ESI中的所述特选字段的值与所述第一报文的源MAC的低32位进行按位逻辑异或运算,并以运算结果作为所述源IP的低32位,然后将修改后的报文返回给EVPN基础设施模块。
本实施例中,所述源MAC的低32位就是所述第一报文的本征熵值,所述特选字段以及所述源IP的高96位就是报文的上下文熵值。用所述本征熵值对源IP进行加密,可以使得当所述第一报文的源MAC发生变化时,对应的所述第二报文在P1节点上能选择不同的负载均衡路径。
4:实现所述IP第三插件模块的方法如下:
本模块确定的所述第Y报文中在进行与IP地址相关的处理之前需要复原的二进制位的位置为所述源IP地址的低32位。复原采用如下方法:先用与所述IP第二插件模块相同的算法计算出所述第Y报文内层承载的所述第四报文的本征熵值,然后,用所述本征熵值与所述源IP地址的低32位进行接位逻辑异或运算,所得结果保存在所述源IP地址的低32位中,则新的源IP地址的低32位中就保存了在所述IP第二插件模块对所述源IP地址加密之前的值,即所述特选字段的值。
然后,将修改后的报文返回给所述EVPN基础设施模块。
5:实现所述IP第四插件模块的方法如下:
若所述第Z报文的出口AC的ESI为0,则将所述第Z报文直接返回给所述EVPN基础设施模块。
若所述第Z报文的出口AC的ESI为0,则本模块将所述第Z报文的源IP的低32位与所述第Z报文的出口AC所属的主接口对应的ESI中的所述特选字段进行比较,将所述第Z报文的源IP的高96位与所述中灶前缀的高96位进行比较,如果均相等,则将报文丢弃,如果将所述第Z报文的源IP的低32位与所述第Z报文的出口AC所属的主接口对应的ESI中 的所述特选字段不相等或所述第Z报文的源IP的高96位与所述中灶前缀的高96位不相等,则将报文返回给所述EVPN基础设施模块继续处理。
结合图8对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知节点的实施进行描述。
1:实现所述IP基础设施模块:
本模块与示例性实施例3中的同名模块相同。
2:实现所述熵IP第三插件模块的方法如下:
本模块与示例性实施例3中的同名模块相同。
以图1所示的EVPN拓扑为例,网络及业务部署部分的处理步骤包括如下步骤。
第一步,选定每个节点所采取的实现。与示例性实施例4相同,只是多个PE节点和P节点均为本实施例中所定义的节点。
第二步,配置并发布每个PE节点的EVPN Router ID。与示例性实施例4相同。
第三步,建立图1所示的VXLAN EVPN网络。与示例性实施例4相同。
第四步,按图1所示建立一条VXLAN EVPN业务,并在每个PE节点上为该VXLAN EVPN业务指定相同的VNI。与示例性实施例4相同。
第五步,配置ESI基础配置。与示例性实施例4相同。
第六步,配置ESI过滤配置。与示例性实施例4相同,只除了每节点配置一个96位掩码的loopback接口,并指定以该loopback接口的IP地址的高96位(称为中灶前缀)作为本地任何ESI的ESI IP的高96位,以ESI中的本地区分值字段作为ESI IP的低32位。同一VPN域中不同PE节点上所述中灶前缀是不同的。
经过以上步骤,所述VXLAN EVPN业务就建立起来了,可以使用数据报文来验证本示例性实施例中定义的PE节点和非业务感知P节点上的转发行为和效果了。
以图1所示的EVPN拓扑为例,端到端报文转发部分的处理步骤包括如下步骤。
第一步,当PE1节点从本地AC1收到一个ARP报文B1时,所述EVPN基础设施模块转发B1报文的两份拷贝B1b和B1c的过程与示例性实施例4是一样的,只是所述B1b和B1c的VXLAN封装外层的源IP变为ESI_IP5,所述ESI_IP5为AC1所属物理口对应的ESI上配置的ESI IP。
第二步,当PE2节点收到所述B1b报文时,所述EVPN基础设施模块转发B1b报文的过程与示例性实施例4是一样的,ESI过滤的结果也是一样的,只是ESI过滤规则变为比较B1b报文的源IP的低32位与每个出口AC所属物理口对应的ESI的本地区分值字段。
第三步至第四步,除扩展SRv6封装外层源IP的值以外,与示例性实施例4均相同。
示例性实施例6
结合图7对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE节点的实施进行描述。
1:实现所述EVPN基础设施模块:
除特殊说明之处以外,本模块与实施例1中的同名模块相同。
与实施例1中不同,本模块没有实现[EVPN Overlay]中的RT-1路由和RT-2路由对应的功能。
这意味着本模块基于RFC7348的MAC学习流程来学习远端的MAC条目,而不是通过RT-2路由来获知远端的MAC条目。
与示例性实施例1中不同,本模块中ESI IP不仅作为所述第X报文的源IP地址,还作为所述第X报文目的IP地址,这是由RFC7348中的MAC学习流程决定的。因此,本模块中的ESI IP在underlay网络中是路由可达的。
与实施例1中不同,本模块设定所配置的ESI选用如下ESI格式,该ESI格式由三元组<ESI Type,VPN Domain,GDV>来标识,其中,ESI类型(Type)为TBD1(TBD1值可能需由互联网号码分配当局(Internet Assigned Numbers Authority,IANA)定义,TBD2、TBD3、TBD4与此同,后不赘述),VPN域(Domain)为一个VPN域的标识符,全球鉴别值(Global Discriminator value,GDV)为ESI在该VPN域中的标识符。图9所示即所述新ESI格式的一种可能实现,但不限于此。为实现方便起见,本模块限定VPN Domain的值不大于0x0FFFFFF,GDV的值不大于0x0FF。并且,以VPN Domain的值作为高24位,以ESI Alias的值作为低24位可以得到一个IPv4地址,此IP地址记为<Domain:GDV>。
与示例性实施例1中不同,本模块中每个ESI具有一个同名虚接口,称为ESI接口,所述<Domain:GDV>即为所述ESI接口的IP地址,称为ESI IP,且所述VPN Domain中的其它ESI对应的ESI IP,均与所述ESI IP不同,且所述VPN Domain中的其它ESI对应的ESI IP的高24位,均与所述ESI IP的高24位相同。
与示例性实施例1中不同,本模块不调用所述IP第二插件模块和所述IP第三插件模块。
2:实现所述IP第一插件模块的方法如下:
本模块以所述<Domain:GDV>作为源IP地址覆盖所述EVPN基础设施模块输入进来的报文的源IP,然后将修改后的报文返回给EVPN基础设施模块。
3:实现所述IP第二插件模块的方法如下:
本示例性实施例中不存在此模块。
4:实现所述IP第三插件模块的方法如下:
本示例性实施例中不存在此模块。
5:实现所述IP第四插件模块的方法如下:
若所述第Z报文的出口AC的ESI为0,则将所述第Z报文直接返回给所述EVPN基础设施模块。
若所述第Z报文的出口AC的ESI不为0,则本模块将所述第Z报文的源IP的低8位与所述第Z报文的出口AC所属的主接口对应的ESI的GDV字段进行比较,如果相等,则将报文丢弃,如果不相等,将报文返回给所述EVPN基础设施模块继续处理。
结合图8对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知节点的实施进行描述。
1:实现所述IP基础设施模块:
除特殊说明之处以外,本模块与示例性实施例3中的同名模块相同。
与示例性实施例3中不同,本模块基于IPv4路由和转发技术并处理IPv4报文。
2:实现所述熵IP第三插件模块的方法如下:
除特殊说明之处以外,本模块与示例性实施例3中的同名模块相同。
以图1所示的EVPN拓扑为例,网络及业务部署部分的处理步骤包括如下步骤。
第一步,选定每个节点所采取的实现。与示例性实施例1相同,只是多个PE节点和P节点均为本示例性实施例中所定义的节点。
第二步,配置并发布每个PE节点的EVPN Router ID。与示例性实施例1相同。
第三步,建立图1所示的VXLAN EVPN网络。与示例性实施例1相同。
第四步,按图1所示建立一条VXLAN EVPN业务,并在每个PE节点上为该VXLAN EVPN业务指定相同的VNI。与示例性实施例1相同,只除了关闭RT-2路由和RT-1路由的发布,并打开数据面的MAC学习以外。
第五步,配置ESI基础配置。与示例性实施例1相同。
第六步,配置ESI过滤配置。与示例性实施例1相同,只除了每个ESI采用一种类型为TBD1的ESI格式以外。所述类型为TBD1的ESI格式由一个在同一VPN域中所有ESI取统一的值的字段(记为A),和一个在VPN域中不同ESI取不同值的字段(记为B)组成。本示例性实施例中,所述ESI的ESI IP就由A的低24位和B的低8位组成。
经过以上步骤,所述VXLAN EVPN业务就建立起来了,可以使用数据报文来验证本示例性实施例中定义的PE节点和非业务感知P节点上的转发行为和效果了。
以图1所示的EVPN拓扑为例,端到端报文转发部分的处理步骤包括:
第一步,当PE1节点从本地AC1收到一个ARP报文B1时,所述EVPN基础设施模块转发B1报文的两份拷贝B1b和B1c的过程与实施例1是一样的,只是所述B1b和B1c的VXLAN封装外层的源IP变为ESI_IP6,所述ESI_IP6为AC1所属物理口对应的ESI上配置的ESI IP。
第二步,当PE2节点收到所述B1b报文时,所述EVPN基础设施模块转发B1b报文的过程与示例性实施例1是一样的,ESI过滤的结果也是一样的,只是ESI过滤规则变为比较B1b报文的源IP与每个出口AC所属物理口对应的ESI上配置的ESI IP。
第三步至第四步,除VXLAN封装外层源IP的值以外,与示例性实施例1均相同。
本示例性实施例中,在去掉RT-1路由和RT-2路由之后,由于远端MAC条目采用数据面的MAC学习获得,这意味着,只有实际存在数据流来刷新MAC条目的PE节点上,MAC条目才会稳定存在,如果没有实际存在数据流来刷新MAC条目的PE节点上的话,MAC条目很快就老化掉了,相比[EVPN Overlay]等EVPN控制面来说,本示例性实施例大大节约了 MAC条目所占用的内存资源以及CPU处理资源,这本来是RFC7623定义的PBB EVPN的优点,本示例性实施例也一并具有了。同时,本示例性实施例相比RFC7348来说,还能支持ESI等特性。
示例性实施例7
结合图7对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE节点的实施作进行描述。
1:实现所述EVPN基础设施模块:
除特殊说明之处以外,本模块与示例性实施例6中的同名模块相同。
与示例性实施例6中不同,本模块还实现了[EVPN Overlay]中的RT-1路由对应的功能。本示例性实施例中,由于本模块与示例性实施例6中同样没有实现RT-2路由对应的功能,因此,数据面的远端MAC学习流程仍然是存在的,并且,该远端MAC学习流程仍然同示例性实施例6一样,试图使用远端ESI的ESI IP作为所述第X报文的目的IP。
与示例性实施例6中不同,本模块中ESI接口的IP地址<Domain:GDV>在underlay网络中是不发布的,因而ESI IP不再作为所述第X报文的目的IP。
2:实现所述IP第一插件模块的方法如下:
除特殊说明之处以外,本模块与示例性实施例6中的同名模块相同。
与示例性实施例6中不同,本模块还要替换所述第X报文的目的IP,方法为:以所述目的IP的高24位作为目标ESI的VPN Domain字段的值,以所述目的IP的低8位的值作为目标ESI的GDV的值,然后找到所述目标ESI对应的RT-1路由以所述RT-1路由的BGP nexthop的值作为所述目的IP的新的值,形成第Y报文。但是,只有当所述第一报文是已知单播报文时,才需要替换目的IP,当所述第一报文是BUM报文时,不需要替换目的IP。
3:实现所述IP第二插件模块的方法如下:
本模块与示例性实施例6中的同名模块相同。
4:实现所述IP第三插件模块的方法如下:
本模块与示例性实施例6中的同名模块相同。
5:实现所述IP第四插件模块的方法如下:
本模块与示例性实施例6中的同名模块相同。
结合图8对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知节点的实施进行描述。
1:实现所述IP基础设施模块:
本模块与示例性实施例1中的同名模块相同。
2:实现所述熵IP第三插件模块的方法如下:
本模块与示例性实施例1中的同名模块相同。
以图1所示的EVPN拓扑为例,网络及业务部署部分的处理步骤包括如下步骤。
第一步,选定每个节点所采取的实现。与示例性实施例6相同,只是多个PE节点和P节点均为本实施例中所定义的节点。
第二步,配置并发布每个PE节点的EVPN Router ID。与实施例6相同。
第三步,建立图1所示的VXLAN EVPN网络。与示例性实施例6相同。
第四步,按图1所示建立一条VXLAN EVPN业务,并在每个PE节点上为该VXLAN EVPN业务指定相同的VNI。与示例性实施例6相同,只除了关闭RT-2路由的发布并打开数据面的MAC学习之外。
第五步,配置ESI基础配置。与示例性实施例6相同。
第六步,配置ESI过滤配置。与示例性实施例6相同,只除了ESI IP在underlay网络上不是可路由的以外。
经过以上步骤,所述VXLAN EVPN业务就建立起来了,可以使用数据报文来验证本示例性实施例中定义的PE节点和非业务感知P节点上的转发行为和效果了。
以图1所示的EVPN拓扑为例,端到端报文转发部分的处理步骤包括如下步骤。
第一步,当PE1节点从本地AC1收到一个ARP报文B1时,所述EVPN基础设施模块转发B1报文的两份拷贝B1b和B1c的过程与实施例1是一样的,只是所述B1b和B1c的VXLAN封装外层的源IP变为ESI_IP7,所述ESI_IP7为AC1所属物理口对应的ESI上配置的ESI IP。
第二步,当PE2节点收到所述B1b报文时,所述EVPN基础设施模块转发B1b报文的过程与示例性实施例1是一样的,ESI过滤的结果也是一样的,只是ESI过滤规则变为比较B1b报文的源IP与每个出口AC所属物理口对应的ESI上配置的ESI IP。
第三步至第四步,除VXLAN封装外层源IP的值以外,与示例性实施例1均相同。
本示例性实施例解决了示例性实施例6中要求所述第三报文的第一IP在underlay网络中路由可达的问题,这是因为实施例6的远端MAC条目是基于RFC7348中的数据面MAC学习流程而获知的,这意味着,对于CE1和CE3之间的一个双向通信会话来说,在该会话的一个通信方向上作为第三报文的源IP的IP地址,在同一会话的另一个通信方向上会作为目的IP,作为目的IP就要在underlay网络中可路由。但是,在引入本方案后,虽然MAC学习流程没有变,但是,在转发流程中,所述第三报文的目的IP被替换成相应RT-1路由的BGP下一跳IP地址,所述BGP下一跳IP地址本身就是在underlay网络中可路由的IP地址,并且,作为一个通信方向上的第三报文的源IP的IP地址不会再被作为相反通信方向上的目的IP,因此,所述第一IP就具有了不占用underlay网络IP地址资源的必要条件。
示例性实施例8
结合图7对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE节点的实施进行描述。
1:实现所述EVPN基础设施模块:
本模块与示例性实施例7中的同名模块相同。
2:实现所述IP第一插件模块的方法如下:
除特殊说明之处以外,本模块与示例性实施例7中的同名模块相同。
与示例性实施例7不同,本模块将所述第X报文的IPv4头中的协议类型字段改为TBD2。
与示例性实施例7不同,本模块若接收到的第Y报文的IPv4头中的协议类型字段为TBD2,则本模块认为所述第Y报文的IPv4头内层承载的是UDP报文,并且,所述第Y报文的源IP不在目的IP所查的路由表中,而是在第二路由表中。对报文的解析根据UDP以内的报文头按照与示例性实施例7相同的方法进行。本示例性实施例中,即使所述目的IP所查的路由表中有一条路由在形式上能匹配所述源IP,该条路由也跟所述源IP无关,因为所述目的IP和所述源IP不在同一个路由空间。
与示例性实施例7不同,本模块对所述第Y报文的处理,如果涉及源IP的路由,则以第二路由表为准。正常转发中一般不会有这样的处理,这样的处理一般是目的IP不可达或生存期(Time To Live,TTL)耗尽等异常情况,此时所述第Y报文本身已经无法正常处理了,才会进入这些处理流程,因此,第二路由表不会影响所述第Y报文的正常转发性能;此外,还有一种情况需要用到第二路由表,那就是在underlay网络中开启了源IP可达性检查时,需要对所述IPv4头中协议类型为TBD2的IP报文忽略源IP可达性检查,或者,在第二路由表中进行源IP可达性检查。
与示例性实施例7不同,本模块要将所述ESI接口的ESI IP在underlay网络中发布,但是,发布时需要指明所述路由是第二路由表中的路由。
与示例性实施例7不同,本模块的underlay路由协议在收到一条第二路由表中的路由时,需要将该条路由加入到第二路由表中,在相应的第二路由表条目中表示该条路由的下一跳是一个第一路由表中的IP地址还是第二路由表中的IP地址。
与示例性实施例7不同,本模块在以所述第Y报文的源IP查所述第二路由表时,若所得下一跳还是一个在第二路由表中的IP地址,则以所述下一跳地址继续在所述第二路由表中迭代,直到找到一个在所述目的IP所查的路由表中的下一跳地址为止。
3:实现所述IP第二插件模块的方法如下:
本模块与示例性实施例7中的同名模块相同。
4:实现所述IP第三插件模块的方法如下:
本模块与示例性实施例7中的同名模块相同。
5:实现所述IP第四插件模块的方法如下:
本模块与示例性实施例7中的同名模块相同。
结合图8对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知节点的实施进行描述。
1:实现所述IP基础设施模块:
本模块实现本示例性实施例中所述EVPN基础设施模块中与接收IPv4头中协议类型为TBD2的IP报文的处理流程相关的所有underlay路由、转发以及处理流程。
2:实现所述熵IP第三插件模块的方法如下:
本模块与示例性实施例6中的同名模块相同。
以图1所示的EVPN拓扑为例,网络及业务部署部分的处理步骤包括如下步骤。
第一步,选定每个节点所采取的实现。与示例性实施例7相同,只是多个PE节点和P节点均为本实施例中所定义的节点。
第二步,配置并发布每个PE节点的EVPN Router ID。与示例性实施例7相同。
第三步,建立图1所示的VXLAN EVPN网络。与示例性实施例7相同。
第四步,按图1所示建立一条VXLAN EVPN业务,并在每个PE节点上为该VXLAN EVPN业务指定相同的VNI。与示例性实施例7相同。
第五步,配置ESI基础配置。与示例性实施例7相同。
第六步,配置ESI过滤配置。与示例性实施例7相同,只除了ESI IP需要在第二路由表中发布以外,这意味着需要使能IGP路由发布第二路由表中的路由的能力。
经过以上步骤,所述VXLAN EVPN业务就建立起来了,可以使用数据报文来验证本示例性实施例中定义的PE节点和非业务感知P节点上的转发行为和效果了。
以图1所示的EVPN拓扑为例,端到端报文转发部分的处理步骤包括如下步骤:
第一步,当PE1节点从本地AC1收到一个ARP报文B1时,所述EVPN基础设施模块转发B1报文的两份拷贝B1b和B1c的过程与示例性实施例1是一样的,只是所述B1b和B1c的VXLAN封装外层的源IP变为ESI_IP8,所述ESI_IP8为AC1所属物理口对应的ESI上配置的ESI IP。
第二步,当PE2节点收到所述B1b报文时,所述EVPN基础设施模块转发B1b报文的过程与示例性实施例1是一样的,ESI过滤的结果也是一样的,只是ESI过滤规则变为比较B1b报文的源IP与每个出口AC所属物理口对应的ESI上配置的ESI IP。
第三步至第四步,除VXLAN封装外层源IP的值以外,与示例性实施例1均相同。
示例性实施例9
除了underlay使用IPv6并且以IPv6报文头的下一报头字段的值为TBD3表示所述第X报文或所述第Y报文IP头内层承载的是UDP报文且所述第X报文或第Y报文的源IP在第二路由表中之外,与示例性实施例8中相同。
示例性实施例10
除了以太头中的ethertype字段的值为TBD4表示以太头内层所承载的报文为IP报文且所述IP报文的源IP在所述第二路由表中之外,与示例性实施例8中相同。
本示例性实施例中,通过将IPv4头中的协议类型字段或IPv6头中的下一报头字段或以太头的ethertype字段设置为指定值的办法来表示对应IP头中的源IP与目的IP不在同一路由表中,这是一个具有通用性的做法,并不受源IP中是否含有所述第一IP的限制,只是说,当源IP中含有所述第一IP时,这三个方案可以使得本公开的第一IP不消耗underlay网络中的IP地址资源,具有更好的效果。
在示例性实施例8中当所述第一报文为BUM报文时,转发依靠的是入口复制隧道,但其实也可以采用IP组播组将IP组播组与实施例8进行组合,此时,当所述第三报文又具备所述ethertype字段的值为TBD4的条件时,可以不进行URPF检查,或者,在指定路由表中进行URPF检查。
示例性实施例11
结合图7对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE节点的实施进行描述。
1:实现所述EVPN基础设施模块:
除特殊说明之处以外,本模块与示例性实施例5中的同名模块相同。
与示例性实施例5不同,本模块所发出的所述第X报文使用的封装格式与该实施例所用封装格式相比,增加了路由扩展头(Segment Routing Header,SRH),SRH头的位置图12中的格式A所示,图12中格式B即为示例性实施例5所用格式。所述SRH头为IETF在draft-ietf-6man-segment-routing-header(以下简称“[SRH]”)中定义的分段路由头,在[SRH]中定义了所述SRH头的格式,包括分段表(Segment List)字段。
与示例性实施例5不同,本模块所接收的所述第Y报文也采用与所述第X报文相同的封装格式。
本实施例中,所述SRH的添加和剥离均不由本模块进行,但本模块需要识别[SRH]封装并能收发具有[SRH]封装的报文。
与示例性实施例5中不同,本模块不限定所配置ESI的类型和格式。
2:实现所述IP第一插件模块的方法如下:
除特殊说明之处以外,本模块与实施例5中的同名模块相同。
与示例性实施例5中不同,不需要配置所述中灶前缀。
与示例性实施例5不同,本模块直接将所述第一报文的入口AC所属的主接口对应的ESI(10字节)作为16字节熵值的低10字节,将EVPN Router ID的高6字节作为16字节熵值的高6字节。
与示例性实施例5不同,本模块使用了所述[SRH]封装,并在SRH头的Segment List数组字段的Segment List[0]中填写所述熵值。
然后,本模块将修改后的报文返回给EVPN基础设施模块。
本示例性实施例中,本模块并没有修改所述第X报文的源IP字段。
3:实现所述IP第二插件模块的方法如下:
本模块将所述EVPN基础设施模块输入的报文原封不动地返回给EVPN基础设施模块。
4:实现所述IP第三插件模块的方法如下:
本模块将所述EVPN基础设施模块输入的报文原封不动地返回给EVPN基础设施模块。
5:实现所述IP第四插件模块的方法如下:
若所述第Z报文的出口AC的ESI为0,则将所述第Z报文直接返回给所述EVPN基础设施模块。
若所述第Z报文的出口AC的ESI不为0,则本模块以从所述第Z报文的SRH头的Segment List[0]字段的低10字节中读出的值作为一个ESI的值,若所述ESI的值与所述第Z报文的出口AC所属主接口对应的ESI的值相同,则将所述第Z报文丢弃。若所述ESI的值与所述第Z报文的出口AC所属主接口对应的ESI的值不相同,则将所述SRH头剥掉后,将修改后的报文返回给所述VPN基础设施模块继续进行处理。
本示例性实施例中,所述ESI值可以用于报文统计,将从远端不同ESI过来的报文的统计数据记录到不同的计数器中,从而提高报文统计的精确性,另外,出口PE上可以配置将指定入口ESI的报文镜像到监控服务器上分析,或者,出口PE上可以配置对从指定入口ESI过来的所述第三报文进行指定的QoS处理。相关技术中的RFC7348或VXLAN EPVN中由于报文中不含有与入口ESI有关的信息,因而无法进行类似处理。
本实施例中,所述第三报文的目的IP实际上是配置所述目的IP的PE节点上的一个本地SID(所述本地SID概念参见示例性实施例4)。本模块实际上是定义了对应于该本地SID的一种新型的SRv6 Function(所述SRv6 Function概念参见示例性实施例4),此新型SRv6 Function表示SRH头中的Segment List[0]字段如果与所述目的IP不同,则Segment List[0]字段的低10字节是一个ESI值,并且,当该ESI值与该SRH所属报文的出口AC所属主接口对应的ESI值相同时,该SRH所在的报文将被丢弃。本示例性实施例也可以与SRv6的SR-Policy功能结合使用,原理参见实施例4。
与VXLAN封装类似的EVPN封装除SRv6封装外,还有通用路由封装的网络虚拟化(Network Virtualization using Generic Routing Encapsulation,NVGRE)、通用网络虚拟化封装(Generic Network Virtualization Encapsulation,Geneve)、VXLAN通用协议扩展(VXLAN Generic Protocol Extension)VXLAN GPE封装。同时用SRv6封装完成与VXLAN封装完成的指定功能在一定意义上等价的功能,在本说明书中的几个实施例中已经有了比较充分的体现。综合这些,本领域的技术人员不难得到用所述NVGRE、Geneve、VXLAN GPE封装完成与本实施例在一定意义上等价的功能的办法。比如,Geneve封装中的变量长度选项(Variable Length Options)可以用于承载本实施例中SRH头所承载的内容,VXLAN-GPE封装的增加封装协议(Next Protocol)可以指示内层报文中是否含有本实施例中SRH头所承载的内容,NVGRE封装的协议类型(Protocol Type)可以指示内层报文中是否含有本示例性实施例中SRH头所承载的内容。其中,Geneve的基础标准为draft-ietf-nvo3-geneve,VXLAN-GPE的基础标准为draft-ietf-nvo3-vxlan-gpe,NVGRE的基础标准为RFC7637,可资参考。
结合图8对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知节点的实施进行描述。
1:实现所述IP基础设施模块:
本模块与示例性实施例3中的同名模块相同。
2:实现所述熵IP第三插件模块的方法如下:
本模块与示例性实施例3中的同名模块相同。
以图1所示的EVPN拓扑为例,网络及业务部署部分的处理步骤包括如下步骤。
第一步,选定每个节点所采取的实现。与示例性实施例5相同,只是多个PE节点和P节点均为本示例性实施例中所定义的节点。
第二步,配置并发布每个PE节点的EVPN Router ID。与示例性实施例5相同。
第三步,建立图1所示的VXLAN EVPN网络。与示例性实施例5相同。
第四步,按图1所示建立一条VXLAN EVPN业务,并在每个PE节点上为该VXLAN EVPN业务指定相同的VNI。与实施例5相同。
第五步,配置ESI基础配置。与实施例5相同。
第六步,配置ESI过滤配置。与实施例5相同,只除了使能SRH编解码能力,以及指定将ESI整体的值存入SRH中。
经过以上步骤,所述VXLAN EVPN业务就建立起来了,可以使用数据报文来验证本实施例中定义的PE节点和非业务感知P节点上的转发行为和效果了。
以图1所示的EVPN拓扑为例,端到端报文转发部分的处理步骤包括如下步骤。
第一步,当PE1节点从本地AC1收到一个ARP报文B1时,所述EVPN基础设施模块转发B1报文的两份拷贝B1b和B1c的过程与实施例5是一样的,只是所述B1b和B1c的采用的扩展SRv6封装增加了SRH头,所述SRH头的所述Segment List[0]的低10字节的值为10字节ESI的值。
第二步,当PE2节点收到所述B1b报文时,所述EVPN基础设施模块转发B1b报文的过程与示例性实施例5是一样的,ESI过滤的结果也是一样的,只是ESI过滤规则变为比较B1b报文的SRH头中所述Segment List[0]的低10字节的值与每个出口AC所属物理口对应的10字节ESI的值。
第三步至第四步,除外层源IP的值不同以及用SRH头进行ESI过滤以外,与示例性实施例6均相同。
示例性实施例12
结合图7对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE节点的实施进行描述。
1:实现所述EVPN基础设施模块:
本模块与示例性实施例2中的同名模块相同。
2:实现所述IP第一插件模块的方法如下:
本模块与示例性实施例2中的IP第二插件模块相同。
3:实现所述IP第二插件模块的方法如下:
本模块根据所述第一AC的根叶属性修改所述EVPN基础设施模块输入的报文的源IP的最低位。方法是:当所述第一AC的根叶属性的值为Leaf的AC时,本模块将所述源IP的最低位的值置为1,当所述第一AC为Root属性的AC时,本模块将所述源IP的最低位的值置 为0。
本模块将修改后的报文返回给所述EVPN基础设施模块。
本示例性实施例中,同一ES上可以有很多子接口,这些子接口可能有的是Root属性,有的是Leaf属性,因此,从同一ES上的不同子接口接收到所述第一报文时所发出的对应的所述第二报文的源IP是可能不相同的。
4:实现所述IP第三插件模块的方法如下:
本模块与示例性实施例2中的同名模块相同。
5:实现所述IP第四插件模块的方法如下:
本模块当所述第三报文的源IP的最低位为1且所述第Z报文的出口AC的根叶属性的值为Leaf时,直接丢弃所述第Z报文。当所述第三报文的源IP的最低位不为1或所述第Z报文的出口AC的根叶属性的值不为Leaf时,若所述出口AC的ESI为0,则将报文原封不动地返回所述EVPN基础设施模块继续转发。本实施例中,本模块以所述第三报文的源IP的最低位为1表示该源IP在所述第三报文的入口PE上对应的所述第一AC的根叶属性的值为Leaf,实际上,以所述源IP的最低位为0表示所述根叶属性的值为Leaf,以1表示所述根叶属性的值为Root,在技术上也是可以仿照本示例性实施例实现的,此处并非限定。并且,所述源IP中表示根叶属性的位也不一定是最低位,此处选择最低位来表示,仅仅是为了简单起见。
本示例性实施例中,当所述第Z报文的出口AC对应的ESI非零且所述出口AC的根叶属性的值为Leaf时,将所述第三报文的源IP记为IP3,将所述出口AC对应的第二IP记为IP4,将0x01记为Flag,则上述丢弃所述第Z报文的条件实际上相当于当(IP3&IP4)&Flag=Flag时丢弃报文。
如果(IP3&IP4)&Flag不等于Flag,本模块将所述第三报文的源IP与所述出口AC所属的主接口对应的ESI对应的ESI IP及所述ESI IP的掩码进行路由匹配,如果所述源IP能够匹配所述ESI IP及所述ESI IP的掩码,则将报文丢弃,如果所述源IP不能够匹配所述ESI IP及所述ESI IP的掩码,将报文返回给所述EVPN基础设施模块继续处理。
结合图8对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知节点的实施进行描述。
1:实现所述IP基础设施模块:
本模块与示例性实施例2中的同名模块相同。
2:实现所述熵IP第三插件模块的方法如下:
本模块与示例性实施例2中的同名模块相同。
以图1所示的EVPN拓扑为例,网络及业务部署部分的处理步骤包括如下步骤。
第一步,选定每个节点所采取的实现。与示例性实施例2相同,只是多个PE节点和P节点均为本示例性实施例中所定义的节点。
第二步,配置并发布每个PE节点的EVPN Router ID。与示例性实施例2相同,只除了 每个EVPN Router ID都是偶数。
第三步,建立图1所示的VXLAN EVPN网络。与示例性实施例2相同。
第四步,按图1所示建立一条VXLAN EVPN业务,并在每个PE节点上为该VXLAN EVPN业务指定相同的VNI。与示例性实施例2相同,除了将AC1和AC2指定为Leaf属性,将AC4和AC5指定为Root属性,将AC6指定为Leaf属性以外,将AC7指定为Root属性
第五步,配置ESI基础配置。与示例性实施例2相同。
第六步,配置ESI过滤配置。与示例性实施例2相同,只除了所配置的每个ESI IP都是偶数。
经过以上步骤,所述VXLAN EVPN业务就建立起来了,可以使用数据报文来验证本示例性实施例中定义的PE节点和非业务感知P节点上的转发行为和效果了。
以图1所示的EVPN拓扑为例,端到端报文转发部分的处理步骤包括:
第一步,当PE1节点从本地AC1收到一个ARP报文B1时,所述EVPN基础设施模块转发B1报文的两份拷贝B1b和B1c的过程与示例性实施例2是一样的,只是所述B1b和B1c的VXLAN封装外层的源IP的高31位变为ESI_IP12的高31位,所述ESI_IP12为AC1所属物理口对应的ESI上配置的ESI IP,所述ESI_IP12的最低位由AC1的根叶属性决定,Leaf为1,Root为0。
第二步,当PE2节点收到所述B1b报文时,所述EVPN基础设施模块转发B1b报文的过程与示例性实施例2是一样的,ESI过滤的结果也是一样的,只是增加了判断B1b报文的源IP最低位为1且出口AC的根叶属性的值为Leaf时丢弃相应B1b副本的过程,作为此过程的结果,B1b报文将要转发到AC6的那份拷贝将被丢弃。
第三步至第四步,除VXLAN封装外层源IP的值以外,与示例性实施例1均相同。
本示例性实施例中,由于RT-2路由的BGP下一跳为路由源节点的EVPN Router ID,因此从同一ESI的不同邻接PE上学到的MAC发布的RT-2路由的BGP下一跳是不同的,导致本模块对于转发到同一远端ESI的不同邻接PE的VXLAN报文的外层目的IP是不同的,因而也就无法支持逐流的负荷分担模式,但是,本模块仍然支持per service load-balance,只要CE上可以进行负荷分担。
示例性实施例13
结合图7对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE节点的实施进行描述。
1:实现所述EVPN基础设施模块:
除特殊说明之处以外,本模块与实施例7中的同名模块相同。
与示例性实施例7中不同,本模块的underlay网络支持MPLS,这意味着:underlay网络路由表中可能有出标签,并且,本模块接收的所述第三报文中可能有MPLS标签。
与示例性实施例7中不同,当IP第四插件模块返回时,本模块以IP第四插件模块返回的报文的目的IP查underlay路由表,若所命中的路由条目中有MPLS标签,则按MPLS转发 流程封装出标签栈以及出标签栈外层的转发信息,并将所述最终报文发出。
与示例性实施例7中不同,所述第三报文在MPLS层终结,IP层终结,UDP层为VXLAN数据报文对应的端口号时,再进行EVPN转发流程。
本实施例中,通过添加上述underlay网络的标记交换路径(Label Switching Path,LSP)标签,在underlay网络上就不用再担心源IP在underlay网络中不可路由的问题,因为,这种情况下,underlay网络中的非业务感知节点的转发流程仅仅是一个普通的标签交换,并不涉及所述URPF检查等处理流程。因此,后续的示例性实施例14、15和16全部继承了这一思想。
2:实现所述IP第一插件模块的方法如下:
本模块与示例性实施例7中的同名模块相同。
本实施例中,本模块既替换所述第X报文的源IP,也替换所述第X报文的目的IP,参考示例性实施例7。
3:实现所述IP第二插件模块的方法如下:
本模块与示例性实施例7中的同名模块相同。
4:实现所述IP第三插件模块的方法如下:
本模块与示例性实施例7中的同名模块相同。
5:实现所述IP第四插件模块的方法如下:
本模块与示例性实施例7中的同名模块相同。
结合图8对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知节点的实施进行描述。
1:实现所述IP基础设施模块:
实现基本的将IPv4路由映射为LSP并进行相应的MPLS转发的功能。
本模块也不需要调用所述熵IP第三插件模块。
2:实现所述熵IP第三插件模块的方法如下:
本示例性实施例不需要此模块。
以图1所示的EVPN拓扑为例,网络及业务部署部分的处理步骤包括如下步骤。
除需要额外部署underlay网络的MPLS功能以外,与示例性实施例7相同。
以图1所示的EVPN拓扑为例,端到端报文转发部分的处理步骤包括如下步骤。
除EVPN网络侧报文在外层IP头外面添加了MPLS标签之外,与示例性实施例7相同。
示例性实施例14
结合图7对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE节点的实施进行描述。
1:实现所述EVPN基础设施模块:
除特殊说明之处以外,本模块与实施例13中的同名模块相同。
与示例性实施例13不同,本模块给每个EVPN实例绑定一个IP-VRF,此IP-VRF称为所述EVPN实例的骨干IP-VRF。
与示例性实施例13不同,本模块不发布RT-1per EVI路由,只发布RT-1per ES路由,且本模块所发布的RT-1per ES路由也与实施例13不同。本实施例中,若某个AC绑定了EVPN实例VNI_I,VNI_I的骨干IP-VRF为VRF_B,该AC对应的ESI为E1,E1的ESI IP为IP_E,则将IP_E作为VRF_B中的一条本地主机IP地址。对于VRF_B中的每一条本地主机IP地址T1,发布一条RT-1per ES路由,该路由的ESI为T1对应的ESI,ETI为0xFFFFFFFF,路由区分符(Route Distinguisher,RD)为VRF_B的RD,路由目标携带所述IP-VRF的出口(export)路由目标,BGP下一跳为路由源节点的EVPN Router ID,标签值为MPLS隐式空标签。
本模块在收到所述RT-1per ES路由时,将RT-1per ES路由按照路由目标导入到对应的骨干IP-VRF中,形成一条32位路由T2,其中,以RT-1per ESI路由的ESI的VPN Domain字段的低24位作为T2的高24位,以所述ESI的GDV字段的低8位作为T2的低8位,T2路由的下一跳为RT-1per ES路由的下一跳,也就是路由源节点的EVPN Router ID。
2:实现所述IP第一插件模块的方法如下:
除特殊说明之处以外,本模块与示例性实施例13中的同名模块相同。
与示例性实施例13中不同,本模块替换所述第X报文的目的IP采取的方法如下:以所述目的IP在所述EVPN实例绑定的骨干IP-VRF的路由表中查表,以所命中的路由条目的BGP下一跳的值作为所述目的IP的新的值,形成第Y报文,返回给所述EVPN基础设施模块继续转发。
3:实现所述IP第二插件模块的方法如下:
本模块与示例性实施例13中的同名模块相同。
4:实现所述IP第三插件模块的方法如下:
本模块与示例性实施例13中的同名模块相同。
5:实现所述IP第四插件模块的方法如下:
本模块与示例性实施例13中的同名模块相同。
结合图8对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知节点的实施进行描述。
1:实现所述IP基础设施模块:
本模块与示例性实施例13中的同名模块相同。
2:实现所述熵IP第三插件模块的方法如下:
本模块与示例性实施例13中的同名模块相同。
以图1所示的EVPN拓扑为例,网络及业务部署部分的处理步骤包括如下步骤。
第一步,选定每个节点所采取的实现。与示例性实施例7相同,只是多个PE节点和P 节点均为本实施例中所定义的节点。
第二步,配置并发布每个PE节点的EVPN Router ID。与示例性实施例13相同。
第三步,建立图1所示的VXLAN EVPN网络。与示例性实施例13相同。
第四步,按图1所示建立一条VXLAN EVPN业务,并在每个PE节点上为该VXLAN EVPN业务指定相同的VNI。与示例性实施例13相同。
第五步,配置ESI基础配置。与示例性实施例13相同。
第六步,配置ESI过滤配置。与示例性实施例13相同,只除了需要配置骨干IP-VRF以及为EVPN实例指定对应的骨干IP-VRF之外。
经过以上步骤,所述VXLAN EVPN业务就建立起来了,可以使用数据报文来验证本示例性实施例中定义的PE节点和非业务感知P节点上的转发行为和效果了。
以图1所示的EVPN拓扑为例,端到端报文转发部分的处理步骤包括如下步骤。
第一步,当PE1节点从本地AC1收到一个ARP报文B1时,所述EVPN基础设施模块转发B1报文的两份拷贝B1b和B1c的过程与示例性实施例13是一样的,只是所述B1b和B1c的VXLAN封装外层的源IP变为ESI_IP8,所述ESI_IP8为AC1所属物理口对应的ESI上配置的ESI IP。
第二步,当PE2节点收到所述B1b报文时,所述EVPN基础设施模块转发B1b报文的过程与示例性实施例13是一样的,ESI过滤的结果也是一样的,只是ESI过滤规则变为比较B1b报文的源IP与每个出口AC所属物理口对应的ESI上配置的ESI IP。
第三步至第四步,除VXLAN封装外层源IP的值以外,与实施例1均相同。
示例性实施例15
结合图7对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE节点的实施进行描述。
1:实现所述EVPN基础设施模块:
除特殊说明之处以外,本模块与实施例14中的同名模块相同。
与示例性实施例14不同,本模块underlay为IPv6。
与示例性实施例14不同,本模块为每个ESI配置一个单播MAC地址作为ESI别名值,同一节点上不同ESI的所述ESI别名值不相同。
与示例性实施例14不同,本模块配置一个80位IPv6单播前缀,并以该IPv6单播前缀的高80位作为本节点上所有ESI对应的ESI IP的高80位。
与示例性实施例14不同,本模块中ESI对应的ESI IP的低48位由所述单播MAC地址格式的ESI别名值组成。
与示例性实施例14不同,本模块用RFC7623中的RT-2路由取代实施例14中的RT-1per ES路由,本实施例中若某个AC绑定了EVPN实例VNI_I,VNI_I的骨干MAC-VRF为VPLS_B,该AC对应的ESI为E1,E1的ESI别名值为MAC_E,则将MAC_E作为VRF_B 中的一条本地主机MAC地址。对于VPLS_B中的每一条本地主机MAC地址M1,发布一条RT-2路由,其中,ESI字段取值为0,MAC地址(Address)字段取值为所述ESI别名值,RD和路由目标取值与实施例16中相同,以太网(Ethernet)标签(Tag)标识(ID)字段取值为0,MPLS-Label1字段取值为MPLS显式空标签,IP Address字段和MPLS-Label2字段空缺(不出现在路由中)。
与示例性实施例14不同,本模块在收到所述RT-2路由时,将所述RT-2路由按照路由目标导入到对应的骨干MAC-VRF中,形成一条骨干MAC条目M2,其中,以所述RT-2路由的MAC Address字段的值作为M2的值,M2条目的下一跳为所述RT-2路由的BGP下一跳,也就是路由源节点的EVPN Router ID。
2:实现所述IP第一插件模块的方法如下:
除特殊说明之处以外,本模块与示例性实施例14中的同名模块相同。
与示例性实施例14中不同,本模块替换所述第X报文的目的IP采取的方法如下:以所述目的IP的低48位在所述EVPN实例绑定的骨干MAC-VRF的路由表中查表,以所命中的MAC条目的下一跳的值作为所述目的IP的新的值,形成第Y报文,返回给所述EVPN基础设施模块继续转发。
3:实现所述IP第二插件模块的方法如下:
本模块与示例性实施例14中的同名模块相同。
4:实现所述IP第三插件模块的方法如下:
本模块与示例性实施例14中的同名模块相同。
5:实现所述IP第四插件模块的方法如下:
本模块与示例性实施例14中的同名模块相同。
结合图8对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知节点的实施进行描述。
1:实现所述IP基础设施模块:
本模块与示例性实施例13中的同名模块相同。
2:实现所述熵IP第三插件模块的方法如下:
本模块与示例性实施例13中的同名模块相同。
以图1所示的EVPN拓扑为例,网络及业务部署部分的处理步骤包括如下步骤。
第一步,选定每个节点所采取的实现。与示例性实施例13相同,只是多个PE节点和P节点均为本实施例中所定义的节点。
第二步,配置并发布每个PE节点的EVPN Router ID。与示例性实施例13相同。
第三步,建立图1所示的VXLAN EVPN网络。与示例性实施例13相同。
第四步,按图1所示建立一条VXLAN EVPN业务,并在每个PE节点上为该VXLAN EVPN业务指定相同的VNI。与示例性实施例13相同。
第五步,配置ESI基础配置。与示例性实施例13相同。
第六步,配置ESI过滤配置。与示例性实施例13相同,只除了需要配置骨干MAC-VRF以及为EVPN实例指定对应的骨干MAC-VRF以及为ESI配置6字节ESI别名值之外。
经过以上步骤,所述VXLAN EVPN业务就建立起来了,可以使用数据报文来验证本示例性实施例中定义的PE节点和非业务感知P节点上的转发行为和效果了。
以图1所示的EVPN拓扑为例,端到端报文转发部分的处理步骤包括如下步骤。
第一步,当PE1节点从本地AC1收到一个ARP报文B1时,所述EVPN基础设施模块转发B1报文的两份拷贝B1b和B1c的过程与示例性实施例13是一样的,只是所述B1b和B1c的VXLAN封装外层的源IP变为ESI_IP15,所述ESI_IP15的低48位为AC1所属物理口对应的ESI上配置的6字节ESI别名。
第二步,当PE2节点收到所述B1b报文时,所述EVPN基础设施模块转发B1b报文的过程与示例性实施例13是一样的,ESI过滤的结果也是一样的,只是ESI过滤规则变为比较B1b报文的源IP的低48位与每个出口AC所属物理口对应的ESI上配置的6字节ESI别名值。
第三步至第四步,除VXLAN封装外层源IP的值以外,与示例性实施例1均相同。
示例性实施例16
结合图7对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE节点的实施进行描述。
1:实现所述EVPN基础设施模块:
除特殊说明之处以外,本模块与实施例15中的同名模块相同。
与示例性实施例15不同,本模块直接为每个ESI配置一个IPv6地址作为所述ESI的ESI IP,不再配置ESI别名值。
与示例性实施例15不同,本模块用骨干IP-VRF代替骨干MAC-VRF,本模块所发布的RT-2路由也是在IP-VRF中发布。本示例性实施例中,本模块所发布的RT-2路由,格式如RFC7432第7.2部分(Section 7.2)所示,其中,IP Address字段取值为所述ESI IP,ESI字段取值为所述ESI IP对应的ESI,MAC Address字段取值为0或0x0FFFFFFFFFFFF(其中,所有主动(all-active)模式取0,单独主动模式(single-active)模式取0x0FFFFFFFFFFFF),RD和路由目标取值与实施例14中所述RT-1per ES路由相同,Ethernet Tag ID字段取值为0,MPLS-Label1字段取值为本地一个能唯一确定所述RD所标识的IP-VRF实例的MPLS标签的值,MPLS-Label2字段取值与所述RT-1per ES路由的MPLS Label字段相同。
与示例性实施例15不同,本模块在收到所述RT-2路由时,将所述RT-2路由按照路由目标导入到对应的骨干IP-VRF中,形成一条128位路由IP_E,其中,以RT-2路由的ESI IP字段的值作为IP_F的值,IP_F路由的下一跳为RT-2路由的下一跳,也就是路由源节点的EVPN Router ID。当同一骨干IP-VRF中收到的两条RT-2路由具有相同ESI IP和不同ESI时,所述相同ESI IP暂时不用于转发,直到其中一条路由被撤销为止。
本示例性实施例中,所述骨干IP-VRF可以绑定自己的AC,当所述骨干IP-VRF从自己 的AC收到一个IP报文时,可以采用该报文的目的IP在该IP-VRF中查表,并以查表所命中的路由条目所对应的RT-2路由的MPLS-Label2字段对应的MPLS标签作为私网出标签,除此之外的转发流程与普通基于MPLS的IP-VRF没有区别,当所述骨干IP-VRF在IP-VRF中发起一个主动因特网包搜索器(Packet Internet Groper,ping)远端ESI IP的过程时,除了作为出标签的私网标签来自所述RT-2路由以外,转发流程与普通基于MPLS EVPN的IP-VRF没有区别。
2:实现所述IP第一插件模块的方法如下:
除特殊说明之处以外,本模块与示例性实施例14中的同名模块相同。
与示例性实施例14中不同,本模块的骨干IP-VRF的路由表中均为IPv6路由,查表所用的目的IP也是IPv6地址。
3:实现所述IP第二插件模块的方法如下:
本模块与示例性实施例14中的同名模块相同。
4:实现所述IP第三插件模块的方法如下:
本模块与示例性实施例14中的同名模块相同。
5:实现所述IP第四插件模块的方法如下:
除特殊说明之处以外,本模块与示例性实施例14中的同名模块相同。
在一实施例中,与示例性实施例14中不同,本模块还可以在所述骨干IP-VRF中对所述第Y报文的源IP进行合法性效验,方法如下:以所述源IP在所述EVPN实例绑定的骨干IP-VRF的路由表中查表,如果存在对应的路由条目,则为合法报文,如果不存在对应的路由条目,则为非法报文,对于非法报文可以采取告警等措施。
结合图8对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知节点的实施进行描述。
1:实现所述IP基础设施模块:
本模块与示例性实施例13中的同名模块相同。
2:实现所述熵IP第三插件模块的具体方法如下:
本模块与实施例示例性13中的同名模块相同。
以图1所示的EVPN拓扑为例,网络及业务部署部分的处理步骤包括如下步骤:
第一步,选定每个节点所采取的实现。与示例性实施例14相同,只是多个PE节点和P节点均为本示例性实施例中所定义的节点。
第二步,配置并发布每个PE节点的EVPN Router ID。与示例性实施例14相同,除了underlay为IPv6网络。
第三步,建立图1所示的VXLAN EVPN网络。与实施例14相同。
第四步,按图1所示建立一条VXLAN EVPN业务,并在每个PE节点上为该VXLAN EVPN业务指定相同的VNI。与示例性实施例1相同。
第五步,配置ESI基础配置。与示例性实施例14相同。
第六步,配置ESI过滤配置。与示例性实施例14相同,只除了每个ESI配置一个IPv6地址作为ESI IP之外。
经过以上步骤,所述VXLAN EVPN业务就建立起来了,可以使用数据报文来验证本示例性实施例中定义的PE节点和非业务感知P节点上的转发行为和效果了。
以图1所示的EVPN拓扑为例,端到端报文转发部分的处理步骤包括如下步骤。
第一步,当PE1节点从本地AC1收到一个ARP报文B1时,所述EVPN基础设施模块转发B1报文的两份拷贝B1b和B1c的过程与示例性实施例14是一样的,只是所述B1b和B1c的VXLAN封装外层的源IP变为ESI_IP16,所述ESI_IP16为AC1所属物理口对应的ESI上配置的ESI IP。
第二步,当PE2节点收到所述B1b报文时,所述EVPN基础设施模块转发B1b报文的过程与示例性实施例14是一样的,ESI过滤的结果也是一样的,只是ESI过滤规则变为比较B1b报文的源IP与每个出口AC所属物理口对应的ESI上配置的ESI IP。
第三步至第四步,除VXLAN封装外层源IP的值以外,与实施例1均相同。
示例性实施例17
结合图7对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE节点的实施进行描述:同示例性实施例1。
结合图8对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知P节点的实施进行描述。
1:实现所述IP基础设施模块:
除特殊说明之处以外,本模块与示例性实施例1中的同名模块相同。
与示例性实施例1中不同,只有当所述第三报文的目的IP的高24位与本节点的EVPN Router ID的高24位相同并且所述第三报文的源IP的高16位与所述源IP专用黑洞路由前缀的高16位相同时,才调用所述IP第三插件模块进行源IP路由检查以及确定被动回包的目的IP地址。
本示例性实施例中,通过对所述第三报文的目的IP和源IP的双重校验,解决了示例性实施例1中所述第三报文的源IP实际上很难在underlay网络中再作为目的IP的问题(这实际上相当于所述源IP还是在一定程度上消耗了underlay网络中的IP地址资源),因为,网络通信一般是有双向会话的,在一个通信方向上作为目的IP的IP地址,在同一会话的另一个通信方向上就会作为源IP,也就是说,源IP即使匹配示例性实施例1中所述源IP专用黑洞路由前缀,也不一定是所述第一IP,而很可能是underlay网络中正常通信的IP。但是,在引入本方案以后,由于所述第三报文的目的IP全部是高位部分为指定值的IP地址,并且,只有目的IP的高位部分为所述指定值并且源IP匹配所述源IP专用黑洞路由前缀的报文才会被认为是源IP在underlay网络中不可路由的报文,这样一来,所述第三报文的源IP就可以是除了与目的IP的指定高位部分相同的IP地址以外的任意IP地址,不用管underlay网络中有没有使用与所述源IP具有相等数值的IP地址作为目的IP,因为,即使所述源IP和目的IP 相等,所述源IP和目的IP也不是同一IP地址,因为所述源IP和目的IP不在同一路由表中,不属于同一个IP地址空间。这样一来,本方案对underlay网络中的IP地址规划只有一个限制,那就是,凡是实现本实施例的PE节点,PE节点的EVPN Router ID的指定高位部分相同,除此之外,没有任何限制,甚至于underlay网络可以与互联网联通,互联网中的通信可以经由所述underlay网络。本方案是使所述第一IP不消耗underlay网络中的IP地址资源(例如,当underlay网络为IPv4网络时)的另一办法,与示例性实施例13相比,本方案的优点在于,不需要采用MPLS技术。
2:实现所述熵IP第三插件模块的方法如下:
本模块通过配置来指定当收到的所述第X报文的源IP的高16位为Prefix2时,对该报文的处理同时满足如下规则:1)在所述第三报文触发被动回包时,回包到指定IP地址S1;2)并且,在所述第三报文触发源IP可达性检查时,忽略检查。
本模块返回的IP地址即所述源IP专用黑洞路由前缀对应的指定IP地址S1。
以图1所示的EVPN拓扑为例,网络及业务部署部分的处理步骤包括如下步骤。
第一步,选定每个节点所采取的实现。与示例性实施例1相同,只是多个PE节点和P节点均为本示例性实施例中所定义的节点。
第二步,配置并发布每个节点的EVPN Router ID。PE节点与P节点均要配置32位EVPN Router ID,且PE节点以及P节点的EVPN Router ID的高24位均相同。除此之外,与示例性实施例1相同。
第三步至第六步,与示例性实施例1相同。
以图1所示的EVPN拓扑为例,端到端报文转发部分的处理步骤包括如下步骤:与示例性实施例1相同。
示例性实施例18
结合图13对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE节点的实施进行描述。
1:实现所述EVPN基础设施模块:
除特殊说明之处以外,本模块与示例性实施例16中的同名模块相同。
与示例性实施例16不同,本模块所实现的插件机制如图13所示:按[EVPN Overlay]转发流程将所述第一报文封装成第X报文,所述第X报文是一个不带对应的链路层封装(比如MAC头)的IP报文;然后,以第X报文作为参数,先调用IP第一插件,在IP第一插件中修改所述第X报文的源IP并返回后,再调用IP第二插件,在IP第二插件中在所述第X报文外面添加一层MPLS标签并返回一个IP地址T,然后,以所述IP地址T查underlay路由表,若所命中的路由条目中有MPLS标签,则按MPLS转发流程封装出标签栈以及出标签栈外层的转发信息,得到第二报文,并将所述第二报文发出。在接收所述第三报文并以所述第三报文中的私网标签确定所述第三报文所属的骨干IP-VRF实例之后,剥掉所述第三报文的MPLS标签以及外层链路层封装,得到第Q报文,以所述第Q报文为参数,调用IP第三插件获得0个、一个或多个第Z报文以及每个所述第Z报文对应的出口AC,对于每个所述第Z报文及 每个第Z报文对应的出口AC,继续按RFC7348中的剩余流程和RFC7432中的DF过滤流程处理。
与示例性实施例16不同,本模块还要将每个EVPN实例的EVPN实例接口的IP地址在对应的骨干IP-VRF中形成一条主机路由条目。
与示例性实施例16不同,本模块所发布的RT-3路由还要携带draft-dawra-idr-srv6-vpn-01中定义的SRv6-VPN TLV,所述SRv6-VPN TLV中携带所述RT-3路由所属EVPN实例的EVPN实例接口的IP地址。
本模块在收到所述RT-3路由之后,在进行示例性实施例16中的相应处理时,要用所述SRv6-VPN TLV中携带的所述IP地址代替原来发起路由IP地址(Originating Router′s IP Address)字段和BGP下一跳的作用,此外,还要将所述RT-3路由通过所述SRv6-VPN TLV携带的所述IP地址添加到所述RT-3路由所属EVPN实例对应的骨干IP-VRF实例中,形成一个路由条目I,所述路由条目I的转发信息即所述RT-3路由的转发信息,所述RT-3路由的转发信息中包括RT-3路由的P组播业务接口隧道(P-Multicast Service Interface Tunnel,PMSI Tunnel)属性(Attribute)中携带的私网MPLS标签,所述MPLS标签作为路由条目I的IP-VRF私网出标签,所述RT-3路由的BGP下一跳作为所述路由条目I的BGP下一跳。
2:实现所述IP第一插件模块的方法如下:
本模块以所述第一AC所属主接口对应的ESI的ESI IP替换所述第X报文的源IP。
本示例性实施例中,本模块并不替换所述第X报文的目的IP。
3:实现所述IP第二插件模块的方法如下:
本模块以所述第X报文的目的IP在所述EVPN实例绑定的骨干IP-VRF的路由表中查表,命中一个路由条目R,但是,本模块并不根据所述路由条目R来替换所述第X报文的目的IP,取而代之的是,本模块在所述第X报文的目的IP所在的IP头外面添加一层MPLS标签,所述MPLS标签就是以路由条目R的私网标签,然后,返回所述路由条目R的BGP下一跳的值给所述EVPN基础设施模块。
本实施例中,无论所述第一报文是单播报文还是BUM报文,都会进行上述转发流程,但第一报文为单播报文时所获取到的转发信息与第一报文为BUM报文时所获取到的转发信息是不同的,比如,前者获取的BGP下一跳来自RT-2路由,后者获取的BGP下一跳来自RT-3路由。
4:实现所述IP第三插件模块的方法如下:
除特殊说明之处以外,本模块与示例性实施例16中的同名模块相同。
若所述第Q报文的目的IP是所述骨干IP-VRF中的一个本地主机IP地址,且UDP端口为VXLAN数据报文对应的端口号,则所述第Q报文属于所述第Q报文的VNI字段所标识的EVPN实例。
以所述第Q报文在所述EVPN实例中继续按RFC7348中定义的流程处理,得到一个或者多个第Z报文,以及每个第Z报文的出口AC,以每个所述第Z报文及其出口AC为参数,分别调用所述IP第四插件,最后将所有没有被所述IP第四插件丢弃的所述第Z报文及所述 第Z报文的出口AC返回给所述EVPN基础设施模块。
5:实现所述IP第四插件模块的方法如下:
除特殊说明之处以外,本模块与示例性实施例16中的同名模块相同。
与示例性实施例16中不同,本模块将未丢弃的报文返回给所述IP第三插件模块,而不是返回给所述EVPN基础设施模块。
结合图8对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知节点的实施进行描述:
1:实现所述IP基础设施模块:
本模块与示例性实施例13中的同名模块相同。
2:实现所述熵IP第三插件模块的方法如下:
本模块与示例性实施例13中的同名模块相同。
以图1所示的EVPN拓扑为例,网络及业务部署部分的处理步骤包括如下步骤。
第一步,选定每个节点所采取的实现。与示例性实施例16相同,只是多个PE节点和P节点均为本示例性实施例中所定义的节点。
第二步,配置并发布每个PE节点的EVPN Router ID。与示例性实施例16相同。
第三步,建立图1所示的VXLAN EVPN网络。与示例性实施例16相同。
第四步,按图1所示建立一条VXLAN EVPN业务,并在每个PE节点上为该VXLAN EVPN业务指定相同的VNI。与示例性实施例16相同。
第五步,配置ESI基础配置。与示例性实施例16相同。
第六步,配置ESI过滤配置。与示例性实施例16相同,只除了需要配置骨干IP-VRF以及为EVPN实例指定对应的骨干IP-VRF之外。
经过以上步骤,所述VXLAN EVPN业务就建立起来了,可以使用数据报文来验证本示例性实施例中定义的PE节点和非业务感知P节点上的转发行为和效果了。
以图1所示的EVPN拓扑为例,端到端报文转发部分的处理步骤包括如下步骤。
第一步,当PE1节点从本地AC1收到一个ARP报文B1时,所述EVPN基础设施模块转发B1报文的两份拷贝B1b和B1c的过程与实施例16是一样的,只是所述B1b和B1c的VXLAN封装外层的源IP变为ESI_IP18,所述ESI_IP18为AC1所属物理口对应的ESI上配置的ESI IP;
第二步,当PE2节点收到所述B1b报文时,所述EVPN基础设施模块转发B1b报文的过程与示例性实施例16是一样的,ESI过滤的结果也是一样的,只是ESI过滤规则变为比较B1b报文的源IP与每个出口AC所属物理口对应的ESI上配置的ESI IP。
第三步至第四步,除VXLAN封装外层IP头外面添加了一层骨干IP-VRF对应的私网MPLS标签以外,与示例性实施例16均相同。
本示例性实施例中定义的PE节点与示例性实施例14、15和16中定义的节点最大的不 同在于,PE节点对应的所述B1b和B1c报文真正地带有骨干IP-VRF对应的私网标签封装,这使得本实施例中定义的PE节点可以用于一种类似于虚拟专用局域网服务(Hierarchical Virtual Private LAN Service,H-VPLS)的分层架构,边缘节点(类似H-VPLS中的靠近用户侧的PE设备(User facing-Provider Edge,UPE)或PBB中的骨干边缘桥(Backbone Edge Bridge,BEB))采用本实施例中定义的节点,而汇聚节点(类似H-VPLS中服务提供商边缘(Network Facing Provider Edge,NPE)或PBB中的骨干网核心网桥(Backbone Core Bridge,BCB))采用只支持骨干IP-VRF转发功能的节点。
上述的本公开的至少一个模块或至少一个步骤可以用通用的计算装置来实现,上述至少一个模块或至少一个步骤可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上。在一实施例中,至少一个模块或至少一个步骤可以用计算装置可执行的程序代码来实现,从而,可以将至少一个模块或至少一个步骤存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将至少一个模块或至少一个步骤分别制作成至少一个集成电路模块,或者将至少一个模块或至少一个步骤中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。

Claims (28)

  1. 一种报文的发送方法,包括:
    从接入电路AC接收第一报文;
    对所述第一报文进行处理,得到至少一个第二报文;其中,每个第二报文中包括第一互联网协议IP,其中,所述第一IP包括:第二IP或将第二IP的部分位用所述第一报文的本征熵值加密后得到的IP;所述第二IP为以下之一:与所述AC对应的以太网分段标识符ESI的ESI IP;将与所述AC对应的ESI的ESI IP的指定位根据所述AC的根叶Root/Leaf属性修改后得到的IP;将与所述AC对应的ESI的ESI IP的部分位用与所述AC对应的虚拟局域网标识VLAN ID值替换后所得的IP;第三IP;以及将第三IP的指定位根据所述AC的根叶属性修改后得到的IP;其中,与所述AC对应的ESI为所述AC所属主接口绑定的ESI,所述ESI的ESI IP为与所述ESI对应的IP地址,与所述AC对应的VLAN ID值为所述AC上配置的用于匹配所述第一报文的VLAN ID值,所述第三IP为由所述AC所在的服务提供商边缘PE节点和所述AC对应的ESI在所述PE节点上的本地索引确定的IP或由所述AC所在的PE节点所属的虚拟专用网络VPN域和所述AC对应的ESI在所述PE节点上的本地索引确定的IP;
    发送每个第二报文。
  2. 根据权利要求1所述的方法,其中,
    在所述AC的根叶属性的值为根Root的情况下根据所述Root对所述ESI IP的指定位修改得到的IP与在所述AC的根叶属性的值为叶Leaf的情况下根据所述Leaf对所述ESI IP的指定位修改得到的IP不同;
    在所述AC的根叶属性的值为根Root的情况下根据所述Root对所述第三IP的指定位修改得到的IP与在所述AC的根叶属性的值为Leaf的情况下根据所述Leaf对所述第三IP的指定位修改得到的IP不同。
  3. 根据权利要求1所述的方法,其中,所述第三IP包括:第一部分和第二部分,其中,在所述第三IP为由所述AC所在的边缘PE节点和所述AC对应的ESI在所述PE节点上的本地索引确定的IP的情况下,所述第一部分包括所述本地索引,所述第二部分包括以下至少之一:在所述AC所在PE节点上配置的指定IP地址的指定部分;其中,所述PE节点上的所有AC的第三IP中均包含所述指定部分;以及,通过同一条配置命令在所述AC所在PE节点上逐个ESI分别配置的指定属性值中共同的二进制位部分;
    在所述第三IP为由所述AC所在的边缘PE节点所属的VPN域和所述AC对应的ESI在所述PE节点上的本地索引确定的IP的情况下,所述第一部分包括所述本地索引,所述第二部分包括:通过同一条配置命令在所述第二报文所属的VPN域的每个PE点上配置的指定IP地址的共同二进制位部分,其中,所述VPN域为发送或接收所述第二报文的PE节点的集合。
  4. 根据权利要求1或3所述的方法,其中,所述本地索引包括以下至少之一:
    ESI本身的值;
    ESI别名值,其中,所述ESI别名值为给所述AC对应的ESI配置的用于在所述AC所在的PE节点上区别于所述PE节点上其它ESI的属性的值;
    ESI本地区分值,其中,所述ESI本地区分值为所述AC对应的ESI中的第一指定字段的 取值;在所述AC所在的PE节点中,不同ESI对应的所述第一指定字段的值不同;
    ESI域内区分值,其中,所述ESI域内区分值为所述AC对应的ESI中的第二指定字段的取值,其中,在所述AC所在的PE节点所属的VPN域中,不同的ESI对应的所述第二指定字段的值不同。
  5. 根据权利要求1所述的方法,其中,所述第一IP位于所述第二报文的以下位置之一:
    源IP中以及互联网协议第6版IPv6选项头中。
  6. 根据权利要求1所述的方法,其中,所述对所述第一报文进行处理包括:基于以下控制面中的至少之一对所述第一报文进行处理:
    第一以太网虚拟专用网络EVPN控制面,其中,所述第一EVPN控制面为既通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,又通过路由发布由与所述AC绑定的EVPN实例所绑定的AC学习的媒体访问控制MAC条目的控制面;
    第二EVPN控制面,其中,所述第二EVPN控制面为不通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,但通过路由发布由与所述AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;
    第三EVPN控制面,其中,所述第三EVPN控制面为通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,但不通过路由发布由与所述AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;
    第四EVPN控制面,其中,所述第四EVPN控制面为不通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,并且不通过路由发布由与所述AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;
    第五EVPN控制面,其中,所述第五EVPN控制面为在骨干IP虚拟路由和转发实例IP-VRF中发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系的控制面;所述骨干IP-VRF为所述AC所绑定的EVPN实例绑定的IP-VRF;
    第六EVPN控制面,其中,所述第六EVPN控制面为在骨干MAC虚拟路由和转发实例MAC-VRF中发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系的控制面;所述骨干MAC-VRF为所述AC所绑定的EVPN实例绑定的二层虚拟专用网络L2VPN实例。
  7. 根据权利要求6所述的方法,其中,
    在基于所述第五EVPN控制面对所述第一报文进行处理,得到的所述第二报文中不包括所述骨干IP-VRF的私网标签或包括所述骨干IP-VRF的私网标签;
    在基于所述第六EVPN控制面对所述第一报文进行处理,得到的所述第二报文中不包括所述骨干MAC-VRF的私网标签或包括所述骨干MAC-VRF的私网标签。
  8. 根据权利要求1所述的方法,其中,每个第二报文的源IP在下层underlay网络中可路由或在underlay网络中不可路由。
  9. 根据权利要求8所述的方法,其中,当每个第二报文的源IP在underlay网络中不可路由时,在发送每个第二报文之前,还包括以下至少之一:
    在每个第二报文的所述源IP的外层添加与所述源IP在同一个IP头中的目的IP所对应的多协议标签交换MPLS封装;其中,所述源IP不在所述目的IP所在的路由表中;
    将所述每个第二报文的互联网协议第4版IPv4头中的协议类型字段的值设置为第一指定值;
    将所述每个第二报文的IPv6头中的下一报头字段的值设置为第二指定值;
    将所述每个第二报文的IP头对应的外层以太头中的以太网类型ethertype字段的值设置为第三指定值。
  10. 一种报文的处理方法,包括:
    接收服务提供商边缘PE节点发送的第一报文,其中,所述第一报文为所述PE节点对从第一AC接收的第二报文进行处理得到的报文,所述第一报文中包括第一互联网协议IP,其中,所述第一IP包括:第二IP或将第二IP的部分位用所述第二报文的本征熵值加密后得到的IP;所述第二IP为以下之一:与所述第一AC对应的以太网分段标识符ESI的ESI IP;将与所述第一AC对应的ESI的ESI IP的指定位根据所述第一AC的根叶属性修改后得到的IP;将与所述第一AC对应的ESI的ESI IP的部分位用与所述第一AC对应的虚拟局域网标识VLAN ID值替换后所得的IP;第三IP;以及将第三IP的指定位根据所述第一AC的根叶属性修改后得到的IP;其中,与所述第一AC对应的ESI为所述第一AC所属主接口绑定的ESI,所述ESI的ESI IP为与所述ESI对应的IP地址,与所述第一AC对应的VLAN ID值为所述第一AC上配置的用于匹配所述第二报文的VLAN ID值,所述第三IP为由所述第一AC所在的PE节点和所述第一AC对应的ESI在所述PE节点上的本地索引确定的IP或由所述第一AC所在的PE节点所属的虚拟专用网络VPN域和所述第一AC对应的ESI在所述PE节点上的本地索引确定的IP;
    根据与所述第一报文中包含的第一IP对应的ESI值对所述第一报文进行处理,或者,根据所述第二IP和接收所述第一报文的接收方上的配置信息对所述第一报文进行ESI过滤。
  11. 根据权利要求10所述的方法,其中,所述根据与所述第一报文中包含的第一IP对应的ESI值对所述第一报文进行处理包括:
    当与所述第一报文中包含的第一IP对应的ESI为第一指定值时,将所述第一报文镜像到指定服务器;
    当与所述第一报文中包含的第一IP对应的ESI为第二指定值时,对所述第一报文进行指定的服务质量QoS处理;
    当与所述第一报文中包含的第一IP对应的ESI为第三指定值时,采用与所述第三指定值绑定的性能统计计数器对所述第一报文进行性能统计。
  12. 根据权利要求10所述的方法,其中,所述根据所述第二IP和接收所述第一报文的接收方上的配置信息对所述第一报文进行ESI过滤包括:
    根据所述第一报文确定至少一个指定报文;
    确定用于发送每个指定报文的第二AC;
    根据所述第二IP和每个指定报文的第二AC的配置信息对所述每个指定报文进行ESI过滤;其中,所述配置信息包括以下至少之一:所述第二AC的根叶属性,以及,所述第二AC对应的IP。
  13. 根据权利要求12所述的方法,其中,根据所述第二IP和每个指定报文的第二AC的配置信息对所述每个指定报文进行ESI过滤包括:
    在每个指定报文的第二AC所属主接口绑定的ESI为非零或所述第二AC的根叶属性的值为Leaf的情况下,且在所述第二IP与所述每个指定报文的第二AC满足第一预定条件的情况下,丢弃所述每个指定报文。
  14. 根据权利要求13所述的方法,其中,所述第一预定条件包括以下至少之一:
    所述第二IP与所述每个指定报文的第二AC对应的IP相等;
    所述第二IP中指定二进制位的值为1且所述每个指定报文的第二AC的根叶属性的值为Leaf;
    所述第二IP中指定二进制位的值为0且所述每个指定报文的第二AC的根叶属性的值为Leaf;
    IP1^IP2<(m+1),其中,^是按位逻辑异或运算符;
    (IP1&IP2)&Flag=Flag,其中,&是按位逻辑与运算符,Flag为预定数值,且Flag中只有一个二进制位的值为1;
    其中,IP1为所述第二IP,IP2为所述每个指定报文的第二AC对应的IP,m是IP地址反掩码,其中,所述IP地址反掩码为所述每个指定报文的第二AC所属主接口绑定的ESI对应的ESI IP的IP地址掩码经按位取反运算后所得的。
  15. 根据权利要求10所述的方法,其中,所述第三IP包括:第一部分和第二部分,其中,在所述第三IP为由所述第一AC所在的PE节点和所述第一AC对应的ESI在所述PE节点上的本地索引确定的IP的情况下,所述第一部分包括所述本地索引,所述第二部分包括以下至少之一:在所述第一PE节点上配置的指定IP地址的指定部分;其中,所述第一PE节点上的所有AC的第三IP中均包含所述指定部分;以及,通过同一条配置命令在所述第一PE节点上逐个ESI分别配置的指定属性值中共同的二进制位部分;
    在所述第三IP为由所述第一AC所在的PE节点所属的VPN域和所述第一AC对应的ESI在所述PE节点上的本地索引确定的IP的情况下,所述第一部分包括所述本地索引,所述第二部分包括:通过同一条配置命令在所述第二报文所属的VPN域的每个PE点上配置的指定IP地址的共同二进制位部分,其中,所述VPN域为发送或接收所述第二报文的PE节点的集合。
  16. 根据权利要求10或15所述的方法,其中,所述本地索引包括以下至少之一:
    ESI本身的值;
    ESI别名值,其中,所述ESI别名值为给所述第一AC对应的ESI配置的用于在所述第一 AC所在的PE节点上区别于所述PE节点上其它ESI的属性的值;
    ESI本地区分值,其中,所述ESI本地区分值为所述第一AC对应的ESI中的第一指定字段的取值;在所述PE节点中,不同ESI对应的所述第一指定字段的值不同;
    ESI域内区分值,其中,所述ESI域内区分值为所述第一AC对应的ESI中的第二指定字段的取值,其中,在所述PE节点所属的VPN域中,不同的ESI对应的所述第二指定字段的值不同。
  17. 根据权利要求10所述的方法,其中,所述第一IP位于所述第一报文的以下之一位置:
    源IP中以及互联网协议第6版IPv6选项头中。
  18. 根据权利要求10所述的方法,其中,所述第一报文为所述PE节点基于以下控制面中的至少之一对所述第二报文进行处理得到的:
    第一以太网虚拟专用网络EVPN控制面,其中,所述第一EVPN控制面为既通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,又通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;
    第二EVPN控制面,其中,所述第二EVPN控制面为不通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,但通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;
    第三EVPN控制面,其中,所述第三EVPN控制面为通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,但不通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;
    第四EVPN控制面,其中,所述第四EVPN控制面为不通过路由发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系,并且不通过路由发布由与所述第一AC绑定的EVPN实例所绑定的AC学习的MAC条目的控制面;
    第五EVPN控制面,其中,所述第五EVPN控制面为在骨干IP虚拟路由和转发实例IP-VRF中发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系的控制面;所述骨干IP-VRF为所述第一AC所绑定的EVPN实例绑定的IP-VRF;
    第六EVPN控制面,其中,所述第六EVPN控制面为在骨干MAC虚拟路由和转发实例MAC-VRF中发布所述ESI IP与所述ESI的对应关系或所述第三IP中的信息与所述ESI的对应关系的控制面;所述骨干MAC-VRF为所述第一AC所绑定的EVPN实例绑定的L2VPN实例。
  19. 根据权利要求10所述的方法,其中,所述第一报文的源IP在下层underlay网络中可路由或在underlay网络中不可路由。
  20. 根据权利要求19所述的方法,其中,当所述第一报文的源IP满足以下之一条件时,所述第一报文的源IP在underlay网络中路由不可达:
    所述第一报文的IPv4头中的协议类型字段的值为第一指定值;
    所述第一报文的IPv6头中的下一报头字段的值为第二指定值;
    所述第一报文的IP头对应的外层以太头中的ethertype字段的值为第三指定值;
    所述第一报文的源IP的指定位为第四指定值;
    所述第一报文的目的IP的指定位为第五指定值并且所述第一报文的源IP的指定位为第六指定值。
  21. 根据权利要求19所述的方法,还包括:当所述第一报文的源IP在underlay网络中不可路由时,对所述第一报文进行以下操作之一:
    不进行单播逆向路径转发URPF检查;
    根据指定路由表和所述第一报文的源IP进行URPF检查;
    不发送第三报文;
    根据指定路由表发送第三报文;
    当所述第一报文的目的IP为组播IP时,不进行逆向路径转发RPF检查;
    当所述第一报文的目的IP为组播IP时,根据指定路由表和所述第一报文的源IP进行RPF检查;
    其中,所述指定路由表与用于根据所述第一报文的目的IP转发所述第一报文的路由表不同;所述第三报文为在所述第一报文满足预定条件的情况下生成的报文。
  22. 一种报文的发送装置,包括:
    接收模块,设置为从接入电路AC接收第一报文;
    处理模块,设置为对所述第一报文进行处理,得到至少一个个第二报文;其中,每个第二报文中包括第一互联网协议IP,其中,所述第一IP包括:第二IP或将第二IP的部分位用所述第一报文的本征熵值加密后得到的IP;所述第二IP为以下之一:与所述AC对应的以太网分段标识符ESI的ESI IP;将与所述AC对应的ESI的ESI IP的指定位根据所述AC的根或叶Root/Leaf属性修改后得到的IP;将与所述AC对应的ESI的ESI IP的部分位用与所述AC对应的虚拟局域网标识VLAN ID值替换后所得的IP;第三IP;以及将第三IP的指定位根据所述AC的根叶属性修改后得到的IP;其中,与所述AC对应的ESI为所述AC所属主接口绑定的ESI,所述ESI的ESI IP为与所述ESI对应的IP地址,与所述AC对应的VLANID值为所述AC上配置的用于匹配所述第一报文的VLAN ID值,所述第三IP为由所述第一AC所在的PE节点和所述AC对应的ESI在所述PE节点上的本地索引确定的IP或由所述AC所在的PE节点所属的虚拟专用网络VPN域和所述AC对应的ESI在所述PE节点上的本地索引确定的IP;
    发送模块,设置为发送每个第二报文。
  23. 一种报文的处理装置,包括:
    接收模块,设置为接收服务提供商边缘PE节点发送的第一报文,其中,所述第一报文为所述PE节点对从AC接收的第二报文进行处理得到的报文,所述第一报文中包括第一互联网协议IP,其中,所述第一IP包括:第二IP或将第二IP的部分位用所述第二报文的本征熵 值加密后得到的IP;所述第二IP为以下之一:与所述AC对应的以太网分段标识符ESI的ESI IP;将与所述AC对应的ESI的ESI IP的指定位根据所述AC的根叶Root/Leaf属性修改后得到的IP;将与所述AC对应的ESI的ESI IP的部分位用与所述AC对应的虚拟局域网标识VLAN ID值替换后所得的IP;第三IP;以及将第三IP的指定位根据所述AC的根叶属性修改后得到的IP;其中,与所述AC对应的ESI为所述AC所属主接口绑定的ESI,所述ESI的ESI IP为与所述ESI对应的IP地址,与所述AC对应的VLAN ID值为所述第一AC上配置的用于匹配所述第二报文的VLAN ID值,所述第三IP为由所述AC所在的PE节点和所述AC对应的ESI在所述PE节点上的本地索引确定的IP或由所述AC所在的PE节点所属的虚拟专用网络VPN域和所述AC对应的ESI在所述PE节点上的本地索引确定的IP;
    处理模块,设置为根据与所述第一报文中包含的第一IP对应的ESI值对所述第一报文进行处理,或者,在所述第一IP包括所述第二IP的情况下,根据所述第二IP和接收所述第一报文的接收方上的配置信息对所述第一报文进行ESI过滤。
  24. 一种服务提供商边缘PE节点,包括:
    通信接口,设置为从接入电路AC接收第一报文;
    处理器,设置为对所述第一报文进行处理,得到至少一个第二报文;其中,每个第二报文中包括第一互联网协议IP,其中,所述第一IP包括:第二IP或将第二IP的部分位用所述第一报文的本征熵值加密后得到的IP;所述第二IP为以下之一:与所述AC对应的以太网分段标识符ESI的ESI IP;将与所述AC对应的ESI的ESI IP的指定位根据所述AC的根叶Root/Leaf属性修改后得到的IP;将与所述AC对应的ESI的ESI IP的部分位用与所述AC对应的虚拟局域网标识VLAN ID值替换后所得的IP;第三IP以及将第三IP的指定位根据所述AC的根叶属性修改后得到的IP;其中,与所述AC对应的ESI为所述AC所属主接口绑定的ESI,所述ESI的ESI IP为与所述ESI对应的IP地址,与所述AC对应的VLAN ID值为所述AC上配置的用于匹配所述第一报文的VLAN ID值,所述第三IP为由所述AC所在的PE节点和所述AC对应的ESI在所述PE节点上的本地索引确定的IP或由所述AC所在的PE节点所属的虚拟专用网络VPN域和所述第一AC对应的ESI在所述PE节点上的本地索引确定的IP;
    所述通信接口,还设置为发送每个第二报文。
  25. 一种节点,包括:
    通信接口,设置为接收服务提供商边缘PE节点发送的第一报文,其中,所述第一报文为所述PE对从AC接收的第二报文进行处理得到的报文,所述第一报文中包括第一互联网协议IP,其中,所述第一IP包括:第二IP或将第二IP的部分位用所述第二报文的本征熵值加密后得到的IP;所述第二IP为以下之一:与所述第一AC对应的以太网分段标识符ESI的ESI IP;将与所述AC对应的ESI的ESI IP的指定位根据所述AC的根叶Root/Leaf属性修改后得到的IP;将与所述AC对应的ESI的ESI IP的部分位用与所述AC对应的虚拟局域网标识VLAN ID值替换后所得的IP;第三IP;以及将第三IP的指定位根据所述AC的根叶属性修改后得到的IP;其中,与所述AC对应的ESI为所述AC所属主接口绑定的ESI,所述ESI的ESI IP为与所述ESI对应的IP地址,与所述AC对应的VLAN ID值为所述AC上配置的用于匹配所述第二报文的VLAN ID值,所述第三IP为由所述AC所在的PE节点和所述AC 对应的ESI在所述PE节点上的本地索引确定的IP或由所述AC所在的PE节点所属的虚拟专用网络VPN域和所述AC对应的ESI在所述PE节点上的本地索引确定的IP;
    处理器,设置为根据与所述第一报文中包含的第一IP对应的ESI值对所述第一报文进行处理,或者,在所述第一IP包括所述第二IP的情况下,根据所述第二IP和接收所述第一报文的接收方上的配置信息对所述第一报文进行ESI过滤。
  26. 一种报文的处理系统,包括:第一节点和第二节点;
    其中,所述第一节点,设置为从接入电路AC接收第一报文,对所述第一报文进行处理,得到至少一个第二报文,以及将所述至少一个第二报文发送给所述第二节点;其中,每个第二报文中包括第一互联网协议IP,其中,所述第一IP包括:第二IP或将第二IP的部分位用所述第一报文的本征熵值加密后得到的IP;所述第二IP为以下之一:与所述AC对应的以太网分段标识符ESI的ESI IP;将与所述AC对应的ESI的ESI IP的指定位根据所述AC的根叶Root/Leaf属性修改后得到的IP;将与所述AC对应的ESI的ESI IP的部分位用与所述AC对应的虚拟局域网标识VLAN ID值替换后所得的IP;第三IP;以及将第三IP的指定位根据所述AC的根叶属性修改后得到的IP;其中,与所述AC对应的ESI为所述AC所属主接口绑定的ESI,所述ESI的ESI IP为与所述ESI对应的IP地址,与所述AC对应的VLAN ID值为所述AC上配置的用于匹配所述第一报文的VLAN ID值,所述第三IP为由所述AC所在的PE节点和所述AC对应的ESI在所述PE节点上的本地索引确定的IP或由所述AC所在的边缘节点PE节点所属的虚拟专用网络VPN域和所述AC对应的ESI在所述PE节点上的本地索引确定的IP;
    所述第二节点,设置为根据与每个第二报文中包含的第一IP对应的ESI值对所述每个第二报文进行处理,或者,根据所述第二IP和接收所述每个第二报文的接收方上的配置信息对所述每个第二报文进行ESI过滤。
  27. 一种存储介质,所述存储介质包括存储的程序,所述程序运行时执行权利要求1至21中任一项所述的方法。
  28. 一种处理器,所述处理器设置为运行程序,其中,所述程序运行时执行权利要求1至21中任一项所述的方法。
PCT/CN2018/118570 2017-11-30 2018-11-30 报文的发送、处理方法及装置、pe节点、节点 WO2019105461A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
RU2020100597A RU2735725C1 (ru) 2017-11-30 2018-11-30 Способ и устройство обработки и отправки пакетов, узел pe и узел
US16/642,504 US11374862B2 (en) 2017-11-30 2018-11-30 Packet sending and processing method and apparatus, PE node, and node
EP18884497.1A EP3720066B1 (en) 2017-11-30 2018-11-30 Packet sending and processing method and apparatus, pe node, and node

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711257639.8 2017-11-30
CN201711257639.8A CN109861926B (zh) 2017-11-30 2017-11-30 报文的发送、处理方法、装置、节点、处理系统和介质

Publications (1)

Publication Number Publication Date
WO2019105461A1 true WO2019105461A1 (zh) 2019-06-06

Family

ID=66665420

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/118570 WO2019105461A1 (zh) 2017-11-30 2018-11-30 报文的发送、处理方法及装置、pe节点、节点

Country Status (5)

Country Link
US (1) US11374862B2 (zh)
EP (1) EP3720066B1 (zh)
CN (1) CN109861926B (zh)
RU (1) RU2735725C1 (zh)
WO (1) WO2019105461A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112235199A (zh) * 2020-10-14 2021-01-15 盛科网络(苏州)有限公司 基于srv6协议的evpn水平分割方法和装置
CN112422436A (zh) * 2020-11-18 2021-02-26 盛科网络(苏州)有限公司 基于mpls的evpn bum报文本地优先转发方法和系统
CN115442288A (zh) * 2022-08-19 2022-12-06 中国信息通信研究院 一种SRv6网络数据包检查方法和装置
US20230216706A1 (en) * 2021-12-31 2023-07-06 Arista Networks, Inc. Automatic rsvp tunnel endpoint aliasing

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019119220A1 (en) * 2017-12-18 2019-06-27 Telefonaktiebolaget Lm Ericsson (Publ) Provider edge device and method implemented thereon for ethernet virtual private network
JP6805194B2 (ja) * 2018-02-15 2020-12-23 日本電信電話株式会社 経路情報転送装置、経路情報転送方法および経路情報転送プログラム
CN110971433B (zh) * 2018-09-29 2022-02-22 华为技术有限公司 获取SRv6隧道信息的方法、设备和系统
CN112311643B (zh) * 2019-07-24 2023-04-18 深圳市中兴微电子技术有限公司 一种evpn报文转发方法、系统、存储介质和终端
JP2022547992A (ja) * 2019-09-11 2022-11-16 華為技術有限公司 データ伝送制御方法及び装置
CN116321348A (zh) * 2019-10-22 2023-06-23 华为技术有限公司 一种通信方法及装置
CN112751769B (zh) * 2019-10-31 2022-05-10 华为技术有限公司 发送报文的方法、装置及系统
CN112787931B (zh) * 2019-11-06 2022-09-23 华为技术有限公司 报文传输方法、代理节点及存储介质
CN113132294B (zh) * 2019-12-30 2022-05-13 中国移动通信集团四川有限公司 一种数据包的过滤方法、系统及装置
CN111555950B (zh) * 2020-03-26 2022-05-13 厦门网宿有限公司 报文处理方法、装置、服务器和存储介质
US11470071B2 (en) * 2020-04-20 2022-10-11 Vmware, Inc. Authentication for logical overlay network traffic
CN111711555B (zh) * 2020-05-29 2022-10-21 新华三信息安全技术有限公司 一种报文处理方法及装置
CN113839873A (zh) * 2020-06-24 2021-12-24 中兴通讯股份有限公司 信息处理方法、节点及存储介质
CN113852534B (zh) * 2020-06-28 2022-09-27 上海诺基亚贝尔股份有限公司 将vno接入网切片的流量通过pbb隧道进行传输的方法与设备
CN111917625B (zh) * 2020-07-17 2021-10-08 中盈优创资讯科技有限公司 Vxlan业务到sr域的差分实现方法、装置及各节点
CN114598634A (zh) * 2020-12-02 2022-06-07 华为技术有限公司 报文传输的方法、获取对应关系的方法、装置及系统
CN114760248B (zh) * 2020-12-28 2023-11-17 北京华为数字技术有限公司 报文传输方法、设备及系统
CN114915580B (zh) * 2021-01-28 2023-06-02 中国电信股份有限公司 数据包的路由方法以及系统
US11671282B2 (en) * 2021-05-24 2023-06-06 Hewlett Packard Enterprise Development Lp Method and system for dynamically activating virtual networks in a distributed tunnel fabric
CN115914093A (zh) * 2021-09-30 2023-04-04 中兴通讯股份有限公司 虚拟专用网络业务标识的分配方法、报文处理方法及装置
US11979349B2 (en) * 2021-11-15 2024-05-07 Juniper Networks, Inc. Mobile network user plane with access network user plane function
CN114374582B (zh) * 2021-12-22 2024-04-12 新华三技术有限公司合肥分公司 通信方法及装置
US20230246957A1 (en) * 2022-02-03 2023-08-03 3nets.io, Inc. Tunneling extension header for segment routing
CN114679405B (zh) * 2022-04-12 2023-07-25 烽火通信科技股份有限公司 SRv6报文转发方法、存储介质、电子设备及装置
CN117478572A (zh) * 2022-07-21 2024-01-30 华为技术有限公司 通信方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140294004A1 (en) * 2010-05-19 2014-10-02 Alcatel Lucent Method and apparatus for mpls label allocation for a bgp mac-vpn
CN104253759A (zh) * 2013-06-30 2014-12-31 华为技术有限公司 报文转发方法、装置及系统
CN104365066A (zh) * 2013-05-24 2015-02-18 华为技术有限公司 用于以太虚拟专用网的方法和设备
WO2015165311A1 (zh) * 2014-04-30 2015-11-05 华为技术有限公司 传输数据报文的方法和供应商边缘设备
CN107040469A (zh) * 2015-12-30 2017-08-11 丛林网络公司 网络设备及方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE523714C2 (sv) * 2002-07-05 2004-05-11 Packetfront Sweden Ab Ett filter i ett gränssnitt inom ett öppet system av typ skikt2 för trafikseparation i minst en router för åtkomstomkoppling inom ett nät, och ett förfarande för detta
JP5830093B2 (ja) * 2010-06-29 2015-12-09 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 非対称ネットワーク・アドレス・カプセル化
US10536357B2 (en) * 2015-06-05 2020-01-14 Cisco Technology, Inc. Late data detection in data center
US10673742B2 (en) * 2015-09-10 2020-06-02 Telefonaktiebolaget Lm Ericsson (Publ) Multicast state reduction via tunneling in a routed system
US9985879B2 (en) * 2015-12-28 2018-05-29 Juniper Networks, Inc. Apparatus, system, and method for preventing multicast traffic drops at egress routers in E-Tree topologies
US10187304B2 (en) * 2016-03-02 2019-01-22 Juniper Networks, Inc. Processing inter-VLAN traffic in an ethernet tree
CN106209643B (zh) * 2016-07-14 2019-08-06 新华三技术有限公司 报文转发方法及装置
US10320658B2 (en) * 2016-10-18 2019-06-11 Cisco Technology, Inc. Method and system for asymmetric redundancy mechanisms in multi-homed network access topologies
CN108259291B (zh) * 2016-12-29 2021-01-29 华为技术有限公司 Vxlan报文处理方法、设备及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140294004A1 (en) * 2010-05-19 2014-10-02 Alcatel Lucent Method and apparatus for mpls label allocation for a bgp mac-vpn
CN104365066A (zh) * 2013-05-24 2015-02-18 华为技术有限公司 用于以太虚拟专用网的方法和设备
CN104253759A (zh) * 2013-06-30 2014-12-31 华为技术有限公司 报文转发方法、装置及系统
WO2015165311A1 (zh) * 2014-04-30 2015-11-05 华为技术有限公司 传输数据报文的方法和供应商边缘设备
CN107040469A (zh) * 2015-12-30 2017-08-11 丛林网络公司 网络设备及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SAJASSI, ALI ET AL.: "E-TREE Support in EVPN & PBB-EVPN, Draft-sajassi-12vpn-evpn- etree-02", L2VPN WORKGROUP INTERNET -DRAFT, 21 October 2013 (2013-10-21), pages 1 - 10, XP015095764 *
See also references of EP3720066A4

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112235199A (zh) * 2020-10-14 2021-01-15 盛科网络(苏州)有限公司 基于srv6协议的evpn水平分割方法和装置
CN112235199B (zh) * 2020-10-14 2022-04-22 苏州盛科通信股份有限公司 基于srv6协议的evpn水平分割方法和装置
CN112422436A (zh) * 2020-11-18 2021-02-26 盛科网络(苏州)有限公司 基于mpls的evpn bum报文本地优先转发方法和系统
CN112422436B (zh) * 2020-11-18 2022-04-01 苏州盛科通信股份有限公司 基于mpls的evpn bum报文本地优先转发方法和系统
US20230216706A1 (en) * 2021-12-31 2023-07-06 Arista Networks, Inc. Automatic rsvp tunnel endpoint aliasing
US11700149B1 (en) * 2021-12-31 2023-07-11 Arista Networks, Inc. Automatic RSVP tunnel endpoint aliasing
CN115442288A (zh) * 2022-08-19 2022-12-06 中国信息通信研究院 一种SRv6网络数据包检查方法和装置
CN115442288B (zh) * 2022-08-19 2023-06-27 中国信息通信研究院 一种SRv6网络数据包检查方法和装置

Also Published As

Publication number Publication date
EP3720066A1 (en) 2020-10-07
EP3720066A4 (en) 2021-08-25
US20200287826A1 (en) 2020-09-10
RU2735725C1 (ru) 2020-11-06
EP3720066B1 (en) 2023-06-07
US11374862B2 (en) 2022-06-28
CN109861926B (zh) 2023-02-07
CN109861926A (zh) 2019-06-07

Similar Documents

Publication Publication Date Title
WO2019105461A1 (zh) 报文的发送、处理方法及装置、pe节点、节点
WO2019105462A1 (zh) 报文的发送、处理方法及装置,pe节点,节点
USRE49485E1 (en) Overlay management protocol for secure routing based on an overlay network
US11888651B2 (en) Virtual private network VPN service optimization method and device
US20200296025A1 (en) Route Processing Method and Apparatus, and Data Transmission Method and Apparatus
US11902049B2 (en) BIER packet sending method and apparatus
CN109218178B (zh) 一种报文处理方法及网络设备
US11159421B2 (en) Routing table selection in a policy based routing system
RU2704714C1 (ru) Технологии для предоставления максимальной глубины идентификатора сегмента узла и/или линии связи, использующие ospf
CN110417655B (zh) 一种数据报文转发的方法及装置
EP3987714A1 (en) Method and system to transmit broadcast, unknown unicast, or multicast (bum) traffic for multiple ethernet virtual private network (evpn) instances (evis)
CN112637237A (zh) 基于SRoU的业务加密方法、系统、设备及存储介质
Pawar et al. Segmented proactive flow rule injection for service chaining using SDN
Cittadini et al. MPLS virtual private networks
JP7322088B2 (ja) パケット検出方法および第1のネットワーク機器
WO2021208664A1 (zh) 报文检测的方法、设备以及系统
WO2019097281A1 (en) Adaptive hash function using bit position scoring to select fragmented windows
WO2022053007A1 (zh) 网络可达性验证方法及装置、计算机存储介质
CN118075186A (zh) 用于sd-wan的通信方法、报文处理方法及网络设备
Ellis et al. CCIE Routing and Switching V4. 0 Quick Reference

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018884497

Country of ref document: EP

Effective date: 20200630