WO2019105462A1 - Method and apparatus for sending packet, method and apparatus for processing packet, pe node, and node - Google Patents

Method and apparatus for sending packet, method and apparatus for processing packet, pe node, and node Download PDF

Info

Publication number
WO2019105462A1
WO2019105462A1 PCT/CN2018/118580 CN2018118580W WO2019105462A1 WO 2019105462 A1 WO2019105462 A1 WO 2019105462A1 CN 2018118580 W CN2018118580 W CN 2018118580W WO 2019105462 A1 WO2019105462 A1 WO 2019105462A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
address
entropy value
node
entropy
Prior art date
Application number
PCT/CN2018/118580
Other languages
French (fr)
Chinese (zh)
Inventor
王玉保
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2019105462A1 publication Critical patent/WO2019105462A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming

Definitions

  • the present application relates to the field of communications, for example, to a method for transmitting and processing a message, a PE node, and a node.
  • network nodes are divided into service-aware nodes and non-service-aware nodes, which are Provider Edge (PE) nodes and scalable virtual local area networks.
  • PE Provider Edge
  • VTEP VXLAN Tunnel End Point
  • NVE Network Virtualization Edge
  • LAG Link Aggregation Group
  • ECMP Equal Cost Multi-Equal Cost Multi- Path
  • the LAG and the ECMP technology generally use the quintuple of the Internet Protocol (IP) packet, the source IP, the destination IP, the protocol type, the source port, and the destination port, as the feature field.
  • IP Internet Protocol
  • the hash is calculated and used as the entropy value of the IP packet, and the arithmetic remainder operation is performed according to the entropy value to select a forwarding path for the packet from the plurality of forwarding paths.
  • the information used to select the forwarding path for packets in load balancing is called entropy. Entropy works in the form of entropy values during load balancing routing.
  • the quintuple defaults only the entropy of the underlay network, and the load balancing algorithm does not consider the entropy in the overlay network.
  • VXLAN virtual eXtensible Local Area Network
  • RFC 7348 virtual eXtensible Local Area Network
  • the VXLAN service shown in FIG. 1 is taken as an example.
  • the same pair of ⁇ source PEs All VPN traffic flows between the destination PEs, whether they belong to different services or whether they are different flows in the same service, are selected by the load balancing algorithm of the LAG connected to the P2 node by the P1 node.
  • the degree of load balancing will be lower and the flow characteristics of the message cannot be reflected.
  • the embodiment of the present application provides a method for sending and processing a message, a PE node, and a node, so as to avoid at least the flow characteristics of the overlay message in the underlay packet transmission process in the related art.
  • An embodiment of the present application provides a method for sending a packet, where the method includes: receiving a first packet from an access circuit AC; processing the first packet to obtain at least one second packet; wherein, the second packet
  • the text includes: a first Internet Protocol IP address; the first IP address is an IP address obtained by modifying a second IP address using a predetermined entropy value; wherein the predetermined entropy value is used to identify the entropy of the first packet; Message.
  • An embodiment of the present application provides a method for processing a packet, where the method includes: receiving a third packet sent by a first service provider edge device PE, where the third packet is a first PE pair from the first PE.
  • the packet obtained by processing the fourth packet received by the access circuit AC, the third packet includes: a first Internet Protocol IP address; and the first IP address is an IP obtained by modifying the second IP address by using a predetermined entropy value.
  • the address, the predetermined entropy value is used to identify the entropy of the fourth packet; and the third packet is processed.
  • An embodiment of the present application provides a packet sending apparatus, where the apparatus includes: a receiving module, configured to receive a first packet from an access circuit AC; and a processing module configured to process the first packet to obtain at least one a second packet, where the second packet includes: a first Internet Protocol IP address; the first IP address is an IP address obtained by modifying the second IP address using a predetermined entropy value; wherein the predetermined entropy value is used to identify The entropy of the first packet; the sending module is configured to send the second packet.
  • An embodiment of the present application provides a packet processing apparatus, where the apparatus includes: a receiving module, configured to receive a third packet sent by a first service provider edge device PE, where the third packet is a first PE pair And receiving, by the fourth packet received by the access circuit AC of the first PE, the third packet includes: a first Internet Protocol IP address; the first IP address is a predetermined entropy value to the second IP address. The IP address obtained by the modification, the predetermined entropy value is used to identify the entropy of the fourth packet, and the processing module is configured to process the third packet.
  • the embodiment of the present application provides a provider edge PE node, including: a communication interface, configured to receive a first packet from an access circuit AC; and a processor configured to process the first packet to obtain at least one second a packet, where the second packet includes: a first Internet Protocol IP address; the first IP address is an IP address obtained by modifying the second IP address using a predetermined entropy value; wherein the predetermined entropy value is used to identify the first Entropy of the message; the communication interface is set to send the second message.
  • the embodiment of the present application provides a node, including: a communication interface, configured to receive a third packet sent by a first service provider edge device PE, where the third packet is a connection of the first PE pair from the first PE.
  • the packet obtained by processing the fourth packet received by the circuit AC, the third packet includes: a first Internet Protocol IP address; and the first IP address is an IP address obtained by modifying the second IP address by using a predetermined entropy value.
  • the predetermined entropy value is used to identify the entropy of the fourth message; the processor is configured to process the third message.
  • the embodiment of the present application provides a packet processing system, including: a first node and a second node, where the first node is configured to receive a first packet from the access circuit AC, and perform the first packet Processing the at least one second packet and sending the second packet to the second node; wherein the second packet includes: a first Internet Protocol IP address; the first IP address is used An IP address obtained by modifying a second IP address by a predetermined entropy value; wherein the predetermined entropy value is used to identify an entropy of the first packet; and the second node is configured to receive the second packet After the text, the second message is processed.
  • the embodiment of the present application provides a storage medium, where the storage medium includes a stored program, where the program is executed to perform the method described in any one of the above.
  • the embodiment of the present application provides a processor, where the processor is configured to run a program, where the program is executed to perform the method described in any of the above.
  • FIG. 1 is a topological diagram of a VXLAN service defined by RFC 7348 in the related art
  • FIG. 2 is a topological diagram of a VXLAN EVPN MAC-VRF service defined by a draft-ietf-bess-evpn-overlay ([EVPN Overlay]) in the related art;
  • FIG. 3 is a topological diagram of a VXLAN EVPN IP-VRF service defined by draft-ietf-bess-evpn-prefix-advertisement ([EVPN Prefix]) in the related art;
  • FIG. 4 is a topological diagram of an EVPN VPWS service defined by RFC 8214 in the related art
  • FIG. 5 is a schematic flowchart of a packet sending method according to an embodiment of the present application.
  • FIG. 6 is a schematic flowchart of a method for processing a packet in a packet sending process to a P1 node according to an embodiment of the present application
  • FIG. 7 is a schematic flowchart of a method for processing a packet in a process of sending a packet to a PE2 node according to an embodiment of the present application
  • FIG. 8 is a structural block diagram of a device for transmitting a message according to an embodiment of the present application.
  • FIG. 9 is a structural block diagram of a processing apparatus for a message according to an embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of a PE node according to an embodiment of the present application.
  • FIG. 11 is a structural block diagram of a node according to an embodiment of the present application.
  • FIG. 12 is a schematic structural diagram of a PE node according to an exemplary embodiment of the present application.
  • FIG. 13 is a schematic structural diagram of a non-service aware node according to an exemplary embodiment of the present application.
  • FIG. 14 is a simplified diagram of a VXLAN package and an SRv6 package according to an exemplary embodiment of the present application.
  • FIG. 15 is a detailed detailed view of a VXLAN package and an SRv6 package according to an exemplary embodiment of the present application;
  • EH Entropy Routing Header
  • FIG. 17 is a comparison diagram of an SRH header format and an SRH header format of an SRv6 package according to an exemplary embodiment of the present application.
  • Ethernet Virtual Private Network (EVPN) service is an important VPN service.
  • RFC7432 defines its control plane framework, including Ethernet Auto-discovery Route and media access control.
  • Four routes such as the Medium Access Control/Internet Protocol Advertisement Route (MAC/IP Advertisement Route), the Inclusive Multicast Ethernet Tag Route, and the Ethernet Segment Route They are called RT-1, RT-2, RT-3, and RT-4 routes, respectively.
  • the draft-ietf-bess-evpn-prefix-advertisement defines the IP Prefix Route of the EVPN service, which is called RT-5 routing.
  • the factor used for load balancing in the message is called entropy
  • the method of carrying the label containing the entropy value in the message, the tag containing the entropy value includes the entropy of the overlay network, but the method depends on For Multi-Protocol Label Switching (MPLS) technology, the underlay network must support MPLS technology, that is, it depends on MPLS encapsulation. In an IPv4 network that does not support MPLS technology, the related technology does not carry entropy in the packet, so the load balancing is uneven.
  • MPLS Multi-Protocol Label Switching
  • the Flow-label field of the IPv6 header is designed to replace the function of the Type of Service (ToS) field of the IPv4 header, but since it is from RFC2460 In the decades between RFC3697 and RFC6437, the specific usage details of this field have not been clearly defined by the standard. Therefore, the field carrying entropy value in practice requires that all non-business-aware nodes in the underlay network support this field. Used for load balancing routing and not for other purposes, or pseudo-randomness of entropy values can interfere with the achievement of other purposes.
  • ToS Type of Service
  • the entropy value of the RFC6790 refers to the entropy value generated according to the feature field of the body of the message, so that the context information of the message is lacking, and the context information includes the interface that the packet enters the device, the service to which the message belongs, and the message.
  • the node to which the text belongs, etc. therefore, there is room for further improvement in the uniformity of load balancing.
  • An embodiment of the present application provides a method for sending a packet, which may be applied to the topology described in FIG. 1 , but is not limited thereto.
  • the method may also be applied to the topology shown in FIG. 2 and FIG. 3 .
  • FIG. 2 is an extensible virtual local area network virtual private network media access control virtual route forwarding defined by [EVPN Overlay] in the related art (Virtual Extensible Local Area Network Ethernet Virtual Private Network Medium Access Control-Virtual Routing Forwarding (VXLAN EVPN MAC-VRF) service topology;
  • Figure 3 is an Ethernet virtual private network prefix [EVPN Prefix] defined in the related art, scalable virtual local area network Ethernet virtual private network Internet protocol virtual Topology diagram of the virtual eXtensible Local Area Network Ethernet Virtual Private Network Internet Protocol (Virtual Routing Forwarding, VXLAN EVPN IP-VRF) service;
  • the execution body of the sending method may be a PE node, and the topology shown in FIG. 1 is taken as an example.
  • the execution body of the sending method may be a PE1 node, a PE2 node, or a PE3 node, as shown in FIG. 1, and is not limited thereto.
  • FIG. 5 is a schematic flowchart of a packet sending method according to an embodiment of the present application. As shown in FIG. 5, the method includes step S502, step S504, and step S506.
  • the PE1 node receives the first packet from the access circuit (AC) of the PE1 node; wherein the access circuit (AC) is an interface between the PE node and the customer edge (CE) node. And a sub-interface or a virtual circuit, wherein the PE node includes a VTEP node and an NVE node.
  • the PE1 node processes the first packet to obtain at least one second packet, where the second packet includes: a first Internet Protocol (IP) address; and the first IP address uses a predetermined entropy value.
  • IP Internet Protocol
  • step S506 the PE1 node sends a second message to the P1 node.
  • the entropy value E (such as the predetermined entropy value) identifies the entropy of the packet P (such as the first packet), and the entropy value E is the specified algorithm F pair and the packet P. Calculating a value obtained by the corresponding at least one specified information, and when any one of the specified information corresponding to the message P randomly changes, the entropy value E calculated by the algorithm F also has The probability of the reservation changes.
  • the predetermined probability is determined by the algorithm F, the total number of binary bits occupied by all the specified information, the total number of binary bits occupied by the specified information, and the total number of binary bits occupied by the entropy value E.
  • the first IP address included in the second packet to be sent is an IP address obtained by modifying the second IP address by using a predetermined entropy value, where the predetermined entropy value is used to identify the entropy of the first packet. That is, by carrying the entropy value information related to the entropy of the first packet in the first IP of the second packet, the node receiving the second packet can benefit from the predetermined entropy value to a certain extent Differentiate whether the first packet encapsulated in the received second packet belongs to a different data stream, for example, whether it belongs to a different service, whether it belongs to a different ⁇ source MAC, destination MAC> binary group, that is, in the second packet.
  • the flow characteristics of the first packet encapsulated in the transmission process can be reflected in the transmission process, thereby avoiding the situation that the flow characteristics of the overlay message cannot be reflected in the underlay packet transmission process in the related art, and the degree of load balancing is improved.
  • the first IP address may be located in at least one of the following locations of the second packet: source IP, destination IP, and Internet Protocol version 6 IPv6 option header.
  • source IP source IP
  • destination IP Internet Protocol version 6 IPv6 option header
  • the MPLS encapsulation of the packet is not required, that is, in the IPv4 or IPv6 network that does not support MPLS, the packet is implemented.
  • the method of carrying the entropy value further avoids the uneven load balancing in the IPv4 and IPv6 underlay networks without requiring the non-service-aware node upgrade in the underlay network and not relying on the MPLS technology.
  • the first IP address is in the IPv6 option header of the second packet, indicating whether the predetermined entropy value exists in the IPv6 option header by using one of the following manners:
  • the Next-header field in the IPv6 header of the second message indicates that it is indicated by a field in the IPv6 option header.
  • IPv6 header may be an IPv6 option header or an IPv6 mandatory header, which is not limited thereto.
  • the second IP address may be the source IP or the destination IP of the second packet obtained by processing the first packet when the function switch of the application is not opened, but not Limited to this.
  • the second IP address may be copied into an IPv6 option header, and the second IP address is modified with the predetermined entropy value in the IPv6 option. A copy of the head.
  • step S504 may be expressed as: encapsulation, modification, but is not limited thereto.
  • modifying the second IP address by using the predetermined entropy value includes at least one of replacing a value of a specified position in the second IP address with a predetermined entropy value, wherein the predetermined entropy value is One of: an eigen-entropy value, a context entropy value, and a comprehensive entropy value; replacing the result obtained by calculating the predetermined entropy value with a value of a specified position in the second IP address, replacing the second IP address a value of the specified location, wherein the predetermined entropy value is one of: an nienic entropy value, a context entropy value, and a comprehensive entropy value; and the value of the specified location in the second IP address is encrypted with the predetermined entropy value
  • the predetermined entropy value is an eigen-entropy value; wherein the eigen-entropy value is an entropy value obtained by hash calculation of at least one feature field in the first packet;
  • the entropy value of the FRC6790 refers to the entropy value generated according to the feature field of the text body, so that the context information of the packet is lacking, and the context information includes the interface of the packet entering the device and the packet to which the packet belongs.
  • the value or the integrated entropy value further improves the uniformity of load balancing.
  • the predetermined entropy value includes an eigen-entropy value
  • the value of the specified position in the second IP address is encrypted by using a predetermined entropy value, that is, the second eigen-entropy value of the first packet is used.
  • the IP address is encrypted.
  • the entropy of the first packet is added to the packet, and the IP address on the PE1 node is encrypted.
  • the non-service-aware node in the underlay network is not required to be upgraded and does not depend on MPLS technology. In this case, the load balancing unevenness in the IPv4 and IPv6 underlay networks is avoided, and the IP address is not exposed.
  • the foregoing feature field may include at least one of the following: a source IP, a destination IP, a protocol type, a source port, a destination port, a ToS field of IPv4, and a Flow-label field of the IPv6 of the first packet;
  • the source media access control (MAC) and the destination MAC address of the first packet the Ethernet type (ethertype) of the first packet, the virtual local area network identity (VLAN ID), and the 802.1p priority. level.
  • the 802.1p priority refers to a priority field defined by 802.1p, and includes a priority in a tag whose Tag Protocol Identifier (TPID) is 0x8100 or 0x88a8.
  • the feature configuration information corresponding to the AC may include at least one of the following: information obtained by the AC mapping; node-level configuration information obtained by the node where the AC is located; and information obtained by mapping the primary interface to which the AC belongs; Information obtained by hashing the Ethernet segment identifier (ESI) corresponding to the primary interface to which the AC belongs; the ESI itself corresponding to the primary interface to which the AC belongs; the primary interface to which the AC belongs ESI IP corresponding to the ESI, wherein the ESI IP is an IP address configured for the ESI, and the ESI IP corresponds to an ESI IP corresponding to an ESI other than the ESI on a node to which the ESI belongs Different from each other.
  • ESI Ethernet segment identifier
  • the foregoing comprehensive entropy value may be obtained according to at least one of the following methods, but is not limited thereto: performing a bitwise logical exclusive OR operation on the eigenenic entropy value and the context entropy value to obtain a Calculating a comprehensive entropy value; calculating the eigeng entropy value, the context entropy value, and any N constants to obtain the integrated entropy value; wherein N is an integer greater than or equal to 1.
  • the service type of the AC may include at least one of: a VPN forwarded based on a MAC header of the first packet in a virtual private network (VPN); VPN forwarded by the IP header of a message (how to refer to the VPN forwarded based on the IP header of the first packet in the VPN, see the exemplary embodiment 9); the VPN forwarded according to the configuration information on the AC in the VPN (See Example 11 for how to forward a VPN in accordance with the configuration information on the AC in the VPN).
  • VPN virtual private network
  • the foregoing step S504 may also be performed as at least one of the following, but is not limited thereto: the PE1 node performs an Extensible Virtual Local Area Network (VXLAN) encapsulation on the first packet;
  • the first packet is encapsulated in a VXLAN Generic Protocol Extensions (GPE);
  • the PE1 node performs Generic Network Virtualization Encapsulation (Geneve) on the first packet; and the PE1 node pairs the first packet.
  • the packet is subjected to Network Virtualization using Generic Routing Encapsulation (NVGRE).
  • the PE1 node encapsulates the first packet with the SRv6 (Segment Routing instantiated on the IPv6 data plane, SRv6).
  • SRv6 Segment Routing instantiated on the IPv6 data plane, SRv6
  • segment route SRv6 may be “implemented by IPv6 data plane” or "SRv6refers to Segment Routing instantiated on the IPv6 data plane".
  • PE1 as the execution subject, but the present invention is not limited to PE1 as the execution subject, and may be PE2, PE3, etc., and is not limited.
  • FIG. 6 is a schematic flowchart of a method for processing a packet in a packet sending process to a P1 node according to an embodiment of the present application. As shown in FIG. 6, the method includes steps S602 and S604.
  • the P1 node receives a third packet sent by the first service provider edge device (PE), where the third packet is an access circuit of the first PE pair from the first PE.
  • the received packet is processed by the fourth packet, where the third packet includes: a first Internet Protocol (IP) address; the first IP address is a predetermined entropy value to the second IP address. And performing the modified IP address, where the predetermined entropy value is used to identify the entropy of the fourth packet.
  • IP Internet Protocol
  • step S604 the P1 node processes the third message.
  • the foregoing 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 first IP address included in the received third packet is an IP address obtained by modifying the second IP address by using a predetermined entropy value, where the predetermined entropy value is used to identify the fourth packet.
  • Entropy that is, by carrying the entropy value information related to the entropy of the fourth packet in the IP of the third packet, so that P1 can distinguish the encapsulated different second packet encapsulated by the predetermined entropy value to some extent.
  • the first packet belongs to a different data stream, for example, whether it belongs to a different service, whether it belongs to a different ⁇ source MAC, destination MAC> binary group, that is, the first packet encapsulated in the second packet transmission process
  • the flow characteristics of the packet can avoid the situation that the flow characteristics of the overlay message cannot be reflected in the underlay packet transmission process in the related art, and the degree of load balancing is improved.
  • the first IP address is located in at least one of the following locations of the third packet: source IP, destination IP, and Internet Protocol version 6 IPv6 option header.
  • the first IP address is located in an IPv6 option header of the second packet
  • whether the predetermined entropy value exists in the IPv6 option header is indicated by one of the following manners:
  • the Next-header field indication in the IPv6 header of the third message is indicated by a field in the IPv6 option header.
  • the destination IP address of the third packet is a remote IP address on the node that receives the third packet, that is, the execution entity of the processing method may be a P1 node, and the foregoing step S604 may be represented by at least one of the following
  • the P1 node selects the load balancing forwarding information according to the first IP address, and the P1 node forwards the third packet according to the load balancing forwarding information; the P1 node and the predetermined entropy carried in the first IP address
  • the binary bits corresponding to the values are respectively regarded as predetermined values, and the third packet is subjected to other processing than forwarding; the P1 node directly forwards the third packet.
  • the load balancing forwarding information may be information that the P1 node selects a forwarding path for the third packet in the load balancing process.
  • predetermined entropy value may be the same as the meaning or interpretation of the predetermined entropy value in the embodiment shown in FIG. 5 above, and details are not described herein again.
  • FIG. 7 is a schematic flowchart of a method for processing a packet in a packet sending process to a PE2 node according to an embodiment of the present application. As shown in FIG. 7, the method includes steps S702 and S704.
  • the PE2 node receives the third packet sent by the first service provider edge device PE, where the third packet is the access circuit of the first PE pair from the first PE (AC) a packet obtained by processing the received fourth packet, where the third packet includes: a first Internet Protocol (IP) address; the first IP address is a modification of the second IP address by using a predetermined entropy value The obtained IP address, the predetermined entropy value is used to identify the entropy of the fourth packet.
  • IP Internet Protocol
  • step S704 the PE2 node processes the third message.
  • the foregoing 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 PE2 may directly receive the third packet sent by the PE1, or may receive the third packet sent by the PE1 by using the P1 or P2 forwarding manner, but is not limited thereto.
  • the first IP address is located in at least one of the following locations of the third packet: source IP, destination IP, and Internet Protocol version 6 IPv6 option header.
  • the first IP address is located in an IPv6 option header of the second packet
  • whether the predetermined entropy value exists in the IPv6 option header is indicated by one of the following manners:
  • the Next-header field in the IPv6 header of the three messages indicates the field in the header of the IPv6 option.
  • the foregoing step S704 may be performed as follows: The binary bit of the first IP address modified by the predetermined entropy value is set to a predetermined value; wherein the predetermined values set by different binary bits are the same or different; the predetermined entropy value is recalculated and recalculated The predetermined entropy value decrypts a portion of the first IP address in the third packet that is encrypted by the predetermined entropy value; wherein the predetermined entropy value is an intrinsic entropy value; The IPv6 option header stripping of the first IP address in the third packet is stripped; the third packet is directly processed.
  • predetermined entropy value the interpretation of the eigen-entropy value and the like can refer to the explanation of the predetermined entropy value and the eigen-entropy value in the embodiment shown in FIG. 5, and details are not described herein again, thank you.
  • the method according to the above embodiments can be implemented by means of software plus a necessary general hardware platform, and of course, by hardware.
  • the technical solution of the present application which is essential or contributes to the related art, may be embodied in the form of a software product stored in a storage medium such as a read only memory/random access memory. (Read Only Memory/Random Access Memory, ROM/RAM), a disk, and an optical disk, including instructions for causing a terminal device (which may be a mobile phone, a computer, a server, or a network device, etc.) to perform each implementation of the present application.
  • a terminal device which may be a mobile phone, a computer, a server, or a network device, etc.
  • a device for transmitting a message is provided, and the device is configured to implement the foregoing embodiments and example embodiments, and details are not described herein.
  • the term "module” is a combination of at least one of software and hardware that can perform a predetermined function.
  • the apparatus described in the following embodiments may be implemented in software, but hardware, or a combination of software and hardware, is also possible and conceivable.
  • the sending apparatus of the packet may be located on the PE node shown in any one of FIG. 1 to FIG. 4, such as the PE1 node, the PE2 node, or the PE3 node shown in FIG. Not limited to this.
  • FIG. 8 is a structural block diagram of a device for transmitting a message according to an embodiment of the present application. As shown in FIG. 8, the device includes a receiving module 82, a processing module 84, and a sending module 86.
  • the receiving module 82 is configured to receive the first message from the access circuit (AC).
  • the processing module 84 is connected to the receiving module 82, and configured to process the first packet to obtain at least one second packet.
  • the second packet includes: a first Internet Protocol (IP) address.
  • IP Internet Protocol
  • the first IP address is an IP address obtained by modifying a second IP address using a predetermined entropy value; wherein the predetermined entropy value is used to identify an entropy of the first packet.
  • the sending module 86 is connected to the processing module 84 and configured to send the second packet.
  • the first IP address included in the second packet to be sent is an IP address obtained by modifying the second IP address by using a predetermined entropy value, where the predetermined entropy value is used to identify the entropy of the first packet. That is, by carrying the entropy value information related to the entropy of the first packet in the first IP of the second packet, the node receiving the second packet can benefit from the predetermined entropy value to a certain extent Differentiate whether the first packet encapsulated in the received second packet belongs to a different data stream, for example, whether it belongs to a different service, whether it belongs to a different ⁇ source MAC, destination MAC> binary group, that is, in the second packet.
  • the flow characteristics of the first packet encapsulated in the transmission process can be reflected in the transmission process, thereby avoiding the situation that the flow characteristics of the overlay message cannot be reflected in the underlay packet transmission process in the related art, and the degree of load balancing is improved.
  • the access circuit (AC) is an interface, a sub-interface, or a virtual circuit between a PE node and a customer edge (CE) node, where the PE node includes a VTEP node and an NVE node; entropy
  • the value E (such as the above-mentioned predetermined entropy value) identifies the entropy of the packet P (such as the first packet), and the entropy value E is the at least one specified information corresponding to the packet P by the specified algorithm F.
  • the calculated value is performed, and when any one of the specified information corresponding to the message P is randomly changed, the entropy value E calculated by the algorithm F also has a predetermined probability to change.
  • the predetermined probability is determined by the algorithm F, the total number of binary bits occupied by all the specified information, the total number of binary bits occupied by the specified information, and the total number of binary bits occupied by the entropy value E.
  • the first IP address may be located in at least one of the following locations of the second packet: source IP, destination IP, and Internet Protocol version 6 IPv6 option header.
  • source IP source IP
  • destination IP Internet Protocol version 6 IPv6 option header
  • the MPLS encapsulation of the packet is not required, that is, in the IPv4 or IPv6 network that does not support MPLS, the packet is implemented.
  • the method of carrying the entropy value further avoids the uneven load balancing in the IPv4 and IPv6 underlay networks without requiring the non-service-aware node upgrade in the underlay network and not relying on the MPLS technology.
  • the first IP address is located in an IPv6 option header of the second packet
  • whether the predetermined entropy value exists in the IPv6 option header is indicated by one of the following manners:
  • the Next-header field in the IPv6 header of the second message indicates that it is indicated by a field in the IPv6 option header.
  • IPv6 header may be an IPv6 option header or an IPv6 mandatory header, which is not limited thereto.
  • the second IP address may be the source IP or the destination IP of the second packet obtained by processing the first packet when the function switch of the application is not opened, but not Limited to this.
  • the second IP address may be copied into an IPv6 option header, and the second IP address is modified with the predetermined entropy value in the IPv6 option. A copy of the head.
  • processing may be expressed as: encapsulation, modification, but not limited thereto.
  • modifying the second IP address by using the predetermined entropy value includes at least one of replacing a value of a specified position in the second IP address with a predetermined entropy value, wherein the predetermined entropy value is One of: an eigen-entropy value, a context entropy value, and a comprehensive entropy value; replacing the result obtained by calculating the predetermined entropy value with a value of a specified position in the second IP address, replacing the second IP address a value of the specified location, wherein the predetermined entropy value is one of: an nienic entropy value, a context entropy value, and a comprehensive entropy value; and the value of the specified location in the second IP address is encrypted with the predetermined entropy value
  • the predetermined entropy value is an eigen-entropy value; wherein the eigen-entropy value is an entropy value obtained by hash calculation of at least one feature field in the first packet;
  • the entropy value of the FRC6790 refers to the entropy value generated according to the feature field of the text body, so that the context information of the packet is lacking, and the context information includes the interface of the packet entering the device and the packet to which the packet belongs.
  • the value or the integrated entropy value further improves the uniformity of load balancing.
  • the predetermined entropy value includes an eigen-entropy value
  • the value of the specified position in the second IP address is encrypted by using a predetermined entropy value, that is, the second eigen-entropy value of the first packet is used.
  • the IP address is encrypted.
  • the entropy of the first packet is added to the packet and the IP address on the PE1 node is encrypted.
  • the non-service-aware node in the underlay network is not required to be upgraded and does not depend on MPLS technology. In this case, the load balancing in the IPv4 and IPv6 underlay networks is not uniform, and the IP address is not exposed.
  • the foregoing feature field may include at least one of the following: source IP, destination IP, protocol type, source port, destination port, IPv4 ToS field, and IPv6 flow label (Flow-1abel) of the first packet. a field; a source media access control (MAC) of the first packet, a destination MAC; an ethertype of the first packet, an inner and outer virtual local area network identifier (VLAN ID), and an 802.1p priority;
  • the 802.1p priority refers to a priority field defined by 802.1p, and includes a priority in a tag whose Tag Protocol Identifier (TPID) is 0x8100 or 0x88a8.
  • the feature configuration information corresponding to the AC may include at least one of the following: information obtained by the AC mapping; node-level configuration information obtained by the node where the AC is located; and information obtained by mapping the primary interface to which the AC belongs; Information obtained by hashing the Ethernet segment identifier (ESI) corresponding to the primary interface to which the AC belongs; the ESI itself corresponding to the primary interface to which the AC belongs; the ESI IP corresponding to the ESI corresponding to the primary interface to which the AC belongs,
  • the ESI IP is an IP address configured for the ESI, and the ESI IP is different from the ESI IP corresponding to other ESIs on the node to which the ESI belongs.
  • the processing module 84 may be further configured to obtain the foregoing comprehensive entropy value according to at least one of the following methods, but is not limited thereto: performing bitwise by the eigen entropy value and the context entropy value Performing a logical exclusive OR operation to obtain the integrated entropy value; calculating by the eigen-entropy value, the context entropy value, and any N constants to obtain the comprehensive entropy value; wherein N is an integer greater than or equal to . It should be noted that the above calculation may be hashed, but is not limited thereto.
  • the service type of the AC may include at least one of: a VPN forwarded based on a MAC header of the first packet in a virtual private network (VPN); A VPN forwarded by the IP header of a packet; a VPN forwarded in the VPN according to the configuration information on the AC.
  • VPN virtual private network
  • the processing module 84 may be configured as at least one of the following, but is not limited thereto: performing an Extensible Virtual Local Area Network (VXLAN) encapsulation on the first packet;
  • the packet is subjected to VXLAN General Protocol Extension (GPE) encapsulation;
  • the first packet is subjected to a general network virtualization encapsulation (Geneve); and the first packet is subjected to network virtualization for network virtualization (Gene Virtualization using Generic Routing) Encapsulation, NVGRE); extending the SRv6 encapsulation of the first packet.
  • VXLAN VXLAN General Protocol Extension
  • the embodiment of the present application further provides a processing device for a message that can be used in the topology shown in any of the above-mentioned FIG. 1 to FIG. 4, and it should be noted that the processing device for the topology message may be located in FIG. 1 to A PE node (such as PE1, PE2, and PE3 is not limited to this) or a non-service-aware node (P1 or P2), and FIG. 9 is a processing device of a packet according to an embodiment of the present application.
  • the block diagram, as shown in FIG. 9, includes a receiving module 92 and a processing module 94.
  • the receiving module 92 is configured to receive a third packet sent by the first service provider edge device PE, where the third packet is an access circuit (AC) of the first PE pair from the first PE
  • the received packet is processed by the received fourth packet, where the third packet includes: a first Internet Protocol (IP) address; the first IP address is modified by using a predetermined entropy value to obtain the second IP address.
  • IP Internet Protocol
  • the IP address, the predetermined entropy value is used to identify the entropy of the fourth packet.
  • the processing module 94 is connected to the receiving module 92 and configured to process the third packet.
  • the third message corresponds to the second message in the embodiment shown in FIG. 8
  • the fourth message corresponds to the first message in the embodiment shown in FIG. 8
  • the PE node where the device shown in FIG. 8 is located in the first PE is not limited thereto.
  • the first IP address included in the received third packet is an IP address obtained by modifying the second IP address by using a predetermined entropy value, where the predetermined entropy value is used to identify the fourth packet.
  • Entropy that is, by carrying the entropy value information related to the entropy of the fourth packet in the IP of the third packet, so that P1 can distinguish the encapsulated different second packet encapsulated by the predetermined entropy value to some extent.
  • the first packet belongs to a different data stream, for example, whether it belongs to a different service, whether it belongs to a different ⁇ source MAC, destination MAC> binary group, that is, the first packet encapsulated in the second packet transmission process
  • the flow characteristics of the packet can avoid the situation that the flow characteristics of the overlay message cannot be reflected in the underlay packet transmission process in the related art, and the degree of load balancing is improved.
  • the first IP address is located in at least one of the following locations of the third packet: source IP, destination IP, and Internet Protocol version 6 IPv6 option header.
  • the destination IP address of the third packet is the remote IP address of the node that receives the third packet, that is, the processing device is located in the P1 node, and the processing module 94 may be configured to be at least one of the following:
  • the first IP address selects the load balancing forwarding information, and the third packet is forwarded according to the load balancing forwarding information; and the binary bits corresponding to the predetermined entropy value carried in the first IP address are respectively regarded as a predetermined value, performing processing other than forwarding on the third packet; directly forwarding the third packet.
  • load balancing forwarding information may be information for selecting a forwarding path for the third packet in the load balancing process.
  • the processing module 94 may be configured to set at least one of the following: The binary bits in the first IP address modified by the predetermined entropy value are set to a predetermined value; wherein the predetermined values set by different binary bits are the same or different; the predetermined entropy value is recalculated, and Calculating, by the predetermined entropy value, a portion of the first IP address in the third packet that is encrypted by the predetermined entropy value; wherein the predetermined entropy value is an intrinsic entropy value; The IPv6 option header including the first IP address in the third packet is stripped; the third packet is directly processed.
  • predetermined entropy value may be the same as the meaning or interpretation of the predetermined entropy value in the embodiment shown in FIG. 8 above, and details are not described herein again.
  • the foregoing multiple modules may be implemented by software or hardware.
  • the foregoing may be implemented by, but not limited to, the foregoing modules are all located in the same processor; or, the multiple modules are The form of any combination is located in a different processor.
  • the embodiment of the present application further provides a PE node, which may be a PE node as shown in any one of FIG. 1 to FIG. 4, such as a PE1 node, a PE2 node, or a PE3 node shown in FIG.
  • the PE node includes a communication interface 1002 and a processor 1004.
  • the communication interface 1002 is configured to receive the first message from the access circuit (AC).
  • the processor 1004 is connected to the communication interface 1002, and is configured to process the first packet to obtain at least one second packet.
  • the second packet includes: a first Internet Protocol (IP) address; the first IP address.
  • IP Internet Protocol
  • the address is an IP address obtained by modifying the second IP address using a predetermined entropy value; wherein the predetermined entropy value is used to identify the entropy of the first packet.
  • the communication interface 1002 is further configured to send a second message.
  • the first IP address included in the second packet sent by the PE node is an IP address obtained by modifying the second IP address by using a predetermined entropy value, where the predetermined entropy value is used to identify the first packet.
  • Entropy that is, by carrying the entropy value information related to the entropy of the first packet in the first IP of the second packet, so that the node receiving the second packet can benefit from the predetermined entropy value to a certain extent Whether the first packet encapsulated in the received second packet belongs to a different data stream, for example, whether it belongs to a different service, whether it belongs to a different ⁇ source MAC, destination MAC> binary group, that is, in the second report.
  • the transmission process of the text can reflect the flow characteristics of the first packet encapsulated in the text, so that the flow characteristics of the overlay message cannot be reflected in the underlay packet transmission process in the related art, and the degree of load balancing is improved.
  • the access circuit (AC) is an interface, a sub-interface, or a virtual circuit between a PE node and a client edge CE node, where the PE node includes a VTEP node and an NVE node; and an entropy value E
  • the entropy of the packet P (such as the foregoing first packet) is determined by the entropy value E, and the at least one specified information corresponding to the packet P is calculated by the specified algorithm F.
  • the predetermined probability is determined by the algorithm F, the total number of binary bits occupied by all the specified information, the total number of binary bits occupied by the specified information, and the total number of binary bits occupied by the entropy value E.
  • the first IP address may be located in at least one of the following locations of the second packet: source IP, destination IP, and Internet Protocol version 6 IPv6 option header.
  • source IP source IP
  • destination IP Internet Protocol version 6 IPv6 option header
  • the MPLS encapsulation of the packet is not required, that is, in the IPv4 or IPv6 network that does not support MPLS, the packet is implemented.
  • the method of carrying the entropy value further avoids the uneven load balancing in the IPv4 and IPv6 underlay networks without requiring the non-service-aware node upgrade in the underlay network and not relying on the MPLS technology.
  • the first IP address is located in an IPv6 option header of the second packet
  • whether the predetermined entropy value exists in the IPv6 option header is indicated by one of the following manners:
  • the Next-header field in the IPv6 header of the second message indicates that it is indicated by a field in the IPv6 option header.
  • IPv6 header may be an IPv6 option header or an IPv6 mandatory header, which is not limited thereto.
  • the second IP address may be the source IP or the destination IP of the second packet obtained by processing the first packet when the function switch of the application is not opened, but not Limited to this.
  • the second IP address may be copied into an IPv6 option header, and the second IP address is modified with the predetermined entropy value in the IPv6 option. A copy of the head.
  • processing may be expressed as: encapsulation, modification, but not limited thereto.
  • modifying the second IP address by using the predetermined entropy value includes at least one of replacing a value of a specified position in the second IP address with a predetermined entropy value, wherein the predetermined entropy value is One of: an eigen-entropy value, a context entropy value, and a comprehensive entropy value; replacing the result obtained by calculating the predetermined entropy value with a value of a specified position in the second IP address, replacing the second IP address a value of the specified location, wherein the predetermined entropy value is one of: an nienic entropy value, a context entropy value, and a comprehensive entropy value; and the value of the specified location in the second IP address is encrypted with the predetermined entropy value
  • the predetermined entropy value is an eigen-entropy value; wherein the eigen-entropy value is an entropy value obtained by hash calculation of at least one feature field in the first packet;
  • the entropy value of the FRC6790 refers to the entropy value generated according to the feature field of the text body, so that the context information of the packet is lacking, and the context information includes the interface of the packet entering the device and the packet to which the packet belongs.
  • the value or the integrated entropy value further improves the uniformity of load balancing.
  • the predetermined entropy value includes an eigen-entropy value
  • the value of the specified position in the second IP address is encrypted by using a predetermined entropy value, that is, the second eigen-entropy value of the first packet is used.
  • the IP address is encrypted.
  • the entropy of the first packet is added to the packet, and the IP address on the PE1 node is encrypted.
  • the non-service-aware node in the underlay network is not required to be upgraded and does not depend on MPLS technology. In this case, the load balancing unevenness in the IPv4 and IPv6 underlay networks is avoided, and the IP address is not exposed.
  • the foregoing feature field may include at least one of the following: a source IP, a destination IP, a protocol type, a source port, a destination port, an IPv4 ToS field, and a Flow-1abel field of the IPv6.
  • a source media access control (MAC) and a destination MAC address of the first packet an ethertype of the first packet, an inner and outer virtual local area network identifier (VLAN ID), and an 802.1p priority
  • the 802.1p priority refers to the priority field defined by 802.1p, including the priority in the tag with the Tag Protocol Identifier (TPID) of 0x8100 or 0x88a8.
  • TPID Tag Protocol Identifier
  • the feature configuration information corresponding to the AC may include at least one of the following: information obtained by the AC mapping; node-level configuration information obtained by the node where the AC is located; and information obtained by mapping the primary interface to which the AC belongs; Information obtained by hashing the Ethernet segment identifier (ESI) corresponding to the primary interface to which the AC belongs; the ESI itself corresponding to the primary interface to which the AC belongs; the ESI IP corresponding to the ESI corresponding to the primary interface to which the AC belongs,
  • the ESI IP is an IP address configured for the ESI, and the ESI IP is different from the ESI IP corresponding to other ESIs on the node to which the ESI belongs.
  • the processor 1004 may be further configured to obtain the foregoing comprehensive entropy value according to at least one of the following methods, but is not limited thereto: performing bitwise by the eigen entropy value and the context entropy value Performing a logical exclusive OR operation to obtain the integrated entropy value; calculating by the eigen-entropy value, the context entropy value, and any N constants to obtain the comprehensive entropy value; wherein N is an integer greater than or equal to . It should be noted that the above calculation may be hashed, but is not limited thereto.
  • the service type of the AC may include at least one of: a VPN forwarded based on a MAC header of the first packet in a virtual private network (VPN); A VPN forwarded by the IP header of a packet; a VPN forwarded in the VPN according to the configuration information on the AC.
  • VPN virtual private network
  • the processor 1004 may be configured as at least one of the following, but is not limited thereto: performing an extensible virtual local area network (VXLAN) encapsulation on the first packet; The packet is subjected to VXLAN General Protocol Extension (GPE) encapsulation; the first packet is subjected to a general network virtualization encapsulation (Geneve); and the first packet is subjected to network virtualization for network virtualization (Gene Virtualization using Generic Routing) Encapsulation, NVGRE); extending the SRv6 encapsulation of the first packet.
  • VXLAN VXLAN General Protocol Extension
  • FIG. 11 is a structural block diagram of a node according to an embodiment of the present application. As shown in FIG. 11, the device includes a communication interface 1102 and a processor 1104.
  • a PE node such as PE1, PE2, PE3 is not limited to this
  • P1 or P2 non-service aware node
  • the communication interface 1102 is configured to receive a third packet sent by the first serving provider edge device PE, where the third packet is a fourth packet received by the first PE from the access circuit (AC) of the first PE. And processing the obtained packet, the third packet includes: a first Internet Protocol (IP) address; the first IP address is an IP address obtained by modifying the second IP address by using a predetermined entropy value, and the predetermined entropy value is used for identifying The entropy of the fourth message.
  • IP Internet Protocol
  • the processor 1104 is connected to the communication interface 1102 and configured to process the third message.
  • the first IP address included in the received third packet is an IP address obtained by modifying the second IP address by using a predetermined entropy value, where the predetermined entropy value is used to identify the fourth packet.
  • Entropy that is, by carrying the entropy value information related to the entropy of the fourth packet in the IP of the third packet, so that P1 can distinguish the encapsulated different second packet encapsulated by the predetermined entropy value to some extent.
  • the first packet belongs to a different data stream, for example, whether it belongs to a different service, whether it belongs to a different ⁇ source MAC, destination MAC> binary group, that is, the first packet encapsulated in the second packet transmission process
  • the flow characteristics of the packet can avoid the situation that the flow characteristics of the overlay message cannot be reflected in the underlay packet transmission process in the related art, and the degree of load balancing is improved.
  • the third message corresponds to the second message in the embodiment shown in FIG. 10
  • the fourth message corresponds to the first message in the embodiment shown in FIG.
  • the first PE described above is the PE node shown in FIG. 10, but is not limited thereto.
  • the first IP address is located in at least one of the following locations of the third packet: source IP, destination IP, and Internet Protocol version 6 IPv6 option header.
  • the destination IP address of the third packet is the remote IP address of the node that receives the third packet, that is, the node is a non-service aware node
  • the processor 1104 may be configured as at least one of the following Selecting the load balancing forwarding information according to the first IP address, and forwarding the third packet according to the load balancing forwarding information; respectively, the binary bits corresponding to the predetermined entropy value carried in the first IP address are respectively Considering a predetermined value, performing processing other than forwarding on the third packet; directly forwarding the third packet.
  • load balancing forwarding information may be information for selecting a forwarding path for the third packet in the load balancing process.
  • the processor 1104 may be configured to be at least one of the following: The binary bit of the first IP address modified by the predetermined entropy value is set to a predetermined value; wherein the predetermined values set by different binary bits are the same or different; the predetermined entropy value is recalculated and recalculated The predetermined entropy value decrypts a portion of the first IP address in the third packet that is encrypted by the predetermined entropy value; wherein the predetermined entropy value is an intrinsic entropy value; The IPv6 option header stripping of the first IP address in the third packet is stripped; the third packet is directly processed.
  • predetermined entropy value may be the same as the meaning or interpretation of the predetermined entropy value in the embodiment shown in FIG. 10 above, and details are not described herein again.
  • the embodiment of the present application 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 an access circuit (AC), where The first packet is processed to obtain at least one second packet, and the second packet is sent to the second node, where the second packet includes: a first Internet Protocol (IP) address;
  • IP Internet Protocol
  • the first IP address is an IP address obtained by modifying a second IP address using a predetermined entropy value; wherein the predetermined entropy value is used to identify an entropy of the first packet; and the second node is set to After receiving the second packet, processing the second packet.
  • IP Internet Protocol
  • the first node may be the PE node shown in FIG. 10 in the foregoing Embodiment 3
  • the second node may be the node shown in FIG. 11 in the foregoing Embodiment 3 (PE node or non-service sensing). node).
  • PE node or non-service sensing node
  • the embodiment of the present application further provides a storage medium including a stored program, wherein the program runs to perform the method described in any of the above.
  • the foregoing storage medium may include, but is not limited to, a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.
  • ROM read-only memory
  • RAM random access memory
  • mobile hard disk a magnetic disk
  • optical disk a variety of media that can store program code.
  • Embodiments of the present application also provide a processor configured to execute a program, wherein the program executes the steps of any of the above methods when executed.
  • the entropy IP transceiver node provided by the exemplary embodiment of the present application is used as a PE node, and the non-service-aware node of the relevant underlay network is not upgraded, and the underlay network is not required to support the MPLS technology, thereby avoiding non-service awareness of the related underlay network.
  • the load balancing on the node cannot reflect the flow characteristics of the overlay packet.
  • the entropy value can be carried in at least one of the source IP and the destination IP, it is possible to avoid load balancing unevenness and the need to upgrade the non-service-aware node of the relevant underlay network and the requirement that the underlay network support the MPLS technology.
  • the use of unified technology avoids uneven load balancing in IPv4 and IPv6 underlay networks. Since the context entropy value is identified, the degree of uniformity of the load balancing is further improved by further carrying the context entropy value. Further, by encrypting the source IP or the destination IP with the intrinsic entropy value of the Overlay packet, the entropy of the Overlay packet is added to the underlay IP header, and the IP address on the PE node is encrypted, which can be simultaneously improved. In the above case, the effect of the entropy value is achieved to achieve a comprehensive effect.
  • the system includes: a VPN infrastructure module, an entropy IP first plug-in module, and an entropy IP second plug-in module, where entropy IP is second.
  • the plug-in module is optional, that is, the PE node may include an entropy IP second plug-in module, or may not include an entropy IP second plug-in module, and specifically includes or does not include an entropy IP second plug-in module, and may be set as needed, and Not limited.
  • the VPN infrastructure module may be similar to the functions performed by the receiving module 82 and the sending module 86, and may complete some functions of the processing module 84, and may complete the functions of the communication interface 1002 and the portion of the processor 1004.
  • the function, or the functions performed by the communication interface 1102 described above and some functions of the processor 1104, may be completed, but are not limited thereto.
  • the entropy IP first plug-in module may perform some functions of the processing module 84 or the processor 1004, such as a function of modifying a second IP using a predetermined entropy value; the entropy IP second plug-in module may complete the processor 1104. Some features, but not limited to this.
  • FIG. 13 is a schematic structural diagram of a non-service-aware node according to an exemplary embodiment of the present application. As shown in FIG. 13, the method includes: an IP basic setting module and an entropy IP third plug-in module. It should be noted that the entropy IP third plug-in module is optional, that is, the non-service-aware node may include an entropy IP third plug-in module, or may not include an entropy IP third plug-in module, and specifically includes or does not include entropy IP.
  • the three plug-in modules can be set as needed, and are not limited.
  • IP basic setting module may complete some functions of the communication interface 1102 and the processor 1104.
  • the entropy IP third plug-in module may perform some functions of the processor 1104, but is not limited thereto.
  • 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.
  • the forwarding plane module of the obtained VXLAN service is the forwarding plane part of the VPN infrastructure module.
  • this module has the same human machine interface and processing flow as RFC7348 described above.
  • an EVPN control plane module obtained by the above method is used for the configuration of the VXLAN tunnel, the configuration of the EVPN instance, the binding configuration of the AC and the EVPN instance, and the VXLAN tunnel. Binding configuration of the EVPN instance.
  • the EVPN instance is identified by the VNI and the VNI is configured by the user.
  • the VXLAN tunnel uses the VPN Router ID of the node as the source IP and the VPN Router ID of the peer node as the destination IP.
  • the VPN Router ID is an IP address of a loopback interface. For the sake of simplicity, without loss of generality, this module sets a node with only one VPN Router ID.
  • the module needs to implement a plug-in mechanism, and when the module forwards the first packet according to the RFC7432 process, the IP packet is added to the first packet, and the X-th message is obtained. The packet does not encapsulate the link layer forwarding information (such as the Ethernet header). Then, the X-th entropy IP first plug-in module is used to modify the source IP address and the destination IP address in the IP encapsulation to obtain the Yth packet, and then obtain the Yth packet.
  • the link layer forwarding information such as the Ethernet header
  • the plugin mechanism can be a function call, a callback function, a polymorphic function, or a standalone plugin.
  • the forwarding plane of the module is the same as that of the forwarding plane of the RFC7348, including the BUM packet forwarding process, the MAC learning process, and the unicast forwarding and forwarding process.
  • the IP address of the VPN Router ID must be a loopback interface address
  • the loopback interface address can be configured with a subnet mask, and the value of each bit of the subnet mask is not required to be 1 . It is worth mentioning that when the low N bit value of the subnet mask is 0, the loopback interface will form a route prefix corresponding to the subnet mask in the IP routing table, and in the underlay network. The route prefix is advertised; and the node considers that the packet with the destination IP address matching the route prefix is the packet of the loopback interface and the packet whose destination IP address is the IP address of the loopback interface. The same processing.
  • the underlay network is set to be an IPv4 network. Therefore, the source IP address and the destination IP address of the VXLAN tunnel are both IPv4 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.
  • the module further calculates a 5-bit entropy value by using a hash operation based on the source MAC address of the first packet, and replaces the destination IP address of the IP packet input by the VPN infrastructure module with the obtained entropy value.
  • the basic IPv4 routing and the IPv4 forwarding function are implemented according to the related technologies.
  • the IPv4 forwarding function includes an MC-LAG-based load balancing function, and the load balancing uses the received IP packet (corresponding to the second packet in the foregoing embodiment). Or the IP quintuple of the third packet is used as an entropy factor to perform a hash calculation to obtain an entropy value of the IP packet.
  • the module does not sense whether the IP packet has the entropy of the inner packet. However, if the source IP or the destination IP of the IP packet already contains the entropy of the inner packet, the entropy factor automatically includes the entropy of the inner packet, and the new entropy value is obtained. Includes the entropy of the inner message.
  • This module also does not need to call the entropy IP third plugin.
  • the network and service deployment process includes the following six steps.
  • the PE node is selected as the PE1, PE2, and PE3 nodes, and the non-service aware node is selected as the P1 and P2 nodes, and the underlay network type is selected.
  • the network and service deployment process sections in each of the exemplary embodiments of the present application use the nodes defined in the exemplary embodiment as the PE1, PE2, PE3, P1, and P2 nodes, and details are not described herein again.
  • the underlay network type selected in this example embodiment is an IPv4 network.
  • the second step is to configure and publish the VPN Router ID of each PE node.
  • Configure a 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 VPN router ID of the PE and use the VPN Router ID.
  • the route prefix generated by the corresponding subnet mask is reachable in the underlay network (can be pinged); the VPN router ID and corresponding route prefix of each PE are different.
  • the subnet mask of the loopback interface is a 27-bit subnet mask, and the value of the host identification part of the IP address of each loopback interface is 1.
  • a normal VXLAN network as shown in FIG. 1 is established and each VXLAN tunnel is configured.
  • the VXLAN tunnel is configured to use the VPN router ID of the target PE node as the destination IP address of the VXLAN tunnel, and the VPN 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 VPN Router ID of PE1
  • the destination IP address is the VPN Router ID of PE3.
  • the source IP address of the tunnel is the VPN Router ID of PE3, and the destination IP address is the VPN 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 the VXLAN tunnels are bound to the VXLAN service.
  • the access side loop is eliminated.
  • the PEs receive the BUM packets received by the PE3 from the AC3 (equivalent to the first packet or the fourth packet in the foregoing embodiment). For example, PE3 will copy one copy of PE1 and PE2. When PE1 and PE2 send packets to CE1, one of the nodes can discard one of them. This is to deploy an MC-LAG on the physical interface to which AC1 and AC2 belong. The session is blocked by the physical interface of AC1 and AC2. After the MC-LAG is enabled, CE1 will not receive two BUM packets. The Layer 2 loop between CE1, PE1, and PE2 also disappears.
  • MC-LAG multi-chassis-link Aggregation Group
  • the VXLAN service is established, and the data packet can be used to verify the forwarding behavior and effect on the PE node and the non-service aware node defined in the exemplary embodiment.
  • the end-to-end packet forwarding process includes the following three steps.
  • the first step is when the PE1 node receives a Broadcast Unknown-unicast & Multicast (BUM) message B1 from the local AC1 (equivalent to the first packet or the fourth packet in the foregoing embodiment).
  • the PE node forwards the B1 message according to the forwarding process defined in RFC7348, and respectively copies two copies B1b of the B1 message (corresponding to the second message or the third message in the foregoing embodiment) and B1c (equivalent to The second packet or the third packet in the foregoing embodiment is sent to the PE2 and the PE3, and the B1b and the B1c packets are added with a VXLAN encapsulation, and the VXLAN encapsulation is external to the B1 packet.
  • the eigen-entropy value of the B1 message is included in the layer IP header, and the eigen-entropy value is an entropy value calculated by the feature field of the B1 text body.
  • the second step assumes that a non-service aware node P1 in the underlay network first receives the B1c message before the PE3 node receives the B1c message, because the P1 node does not To perceive the inner layer packet, it will still forward the B1c packet according to the destination IP address of the B1c packet, as in the case of forwarding the normal IP packet, without losing the generality.
  • the P1 node is configured to press the B1c packet.
  • the destination IP derived forwarding result is that the B1c message is forwarded from the link aggregation group (LAG) between the P1 node and the P2 node shown in FIG.
  • LAG link aggregation group
  • the P1 node calculates the load sharing entropy value according to the quintuple corresponding to the outermost IP header of the B1c packet, as in the case of forwarding the normal IP packet, but the outermost destination IP address of the B1c packet is The entropy of the B1 message has been included. Therefore, the entropy value of the B1c message calculated on the P1 node will automatically contain the entropy of the B1 message. In this way, the entropy value of the B1 message and the entropy value of the B1c message change when the feature field of the inner B1 packet takes a different value, so the load sharing process on the P1 node is given.
  • the egress forwarding information finally selected by the B1c packet will also change, that is, the load sharing on the P1 node is more uniform, because before the PE1 implements this application, no matter how the B1 packet changes, the P1 junction
  • the egress forwarding information obtained by clicking the B1c packet is the same.
  • the balance of the load sharing on the P1 node is improved by the entropy of the inner B1 message added by the PE1 to the outer IP header of the B1c message.
  • the VPN infrastructure module can perform performance statistics on the B1c packet, and the algorithm for performing performance statistics on the B1c packet is not included in the B1c packet.
  • the entropy values are different and different performance statistics counters are used, because for the PE3 nodes, the entropy values used in the present exemplary embodiment are pseudo-random, which is meaningless.
  • This module is the same as the module of the same name in the exemplary embodiment 1, except where explicitly stated.
  • the module sets the underlay network to be an IPv6 network. It is worth mentioning that this means that the source IP address and destination IP address of the VXLAN tunnel configured in this module are both IPv6 addresses.
  • the plug-in mechanism of the module is further processed after receiving the third packet and performing link layer error detection processing and IP layer error detection processing on the third packet.
  • the entropy IP second plug-in module is called to modify the source IP and the destination IP in the IP encapsulation, and then the modified packet continues to be processed according to the processing flow in RFC7348.
  • This module is the same as the module of the same name in the exemplary embodiment 1, except where explicitly stated.
  • the module uses the hash value of the interface name of the physical interface to which the ingress AC of the first packet belongs, as the 32-bit entropy value of the first packet.
  • the source IP address and the destination IP of the VXLAN package used in this module are both IPv6 addresses and conform to the format defined in RFC7348 Section 5 Figure 2.
  • the module uses the source IP field of the second packet as the entropy IP, and the entropy IP is the IP obtained by replacing the lower 32 bits of the source IP input by the VPN infrastructure module with the entropy value. address.
  • entropy IP refers to using the field as a carrier of the entropy of the first packet, by using the entropy value of the first packet to entropy.
  • the IP is modified such that the entropy of the first packet is carried in the entropy IP.
  • the module determines the position of the binary bit to be modified in the third message, and modifies the binary bit at the position.
  • the module is limited to the implementation of the entropy IP first plug-in module, and the module determines that the binary bit to be modified in the third packet is the lower 32 bits of the source IP address, and accordingly, the module further determines that each modification is needed.
  • the bit of the bit, specifically the modification of the bit, is to clear the bit.
  • This module is the same as the module of the same name in the exemplary embodiment 1, except where specifically stated.
  • the module is implemented as a software, and needs to implement a plug-in mechanism, which is set to call the entropy IP third plug-in module to obtain two IP address values, one of which is a source IP substitute value, and the other is a destination IP replacement. value.
  • the plugin mechanism can be a function call, a callback function, a polymorphic function, or a standalone plugin.
  • the module performs link layer error detection processing and IP layer error detection processing on the third packet, and performs source other than load balancing and the third packet.
  • the IP infrastructure is invoked to obtain the source IP substitute value and the destination IP substitute value of the third packet, and the source IP substitute value (or destination IP substitute value) is replaced by the source IP substitute value
  • the source IP value (or destination IP value) of the third packet participates in the processing related to the source IP (or destination IP) address.
  • the processing related to the source IP address of the third packet including the processing of the third text body, and the processing of other messages generated by the third packet triggering, for example, when the third newspaper
  • the node may respond to the source IP address of the third packet with an ICMP message.
  • the main function of this module is to return the source IP substitute value and the destination IP substitute value according to the source IP and destination IP of the IP packet input by the IP infrastructure module.
  • the algorithm for determining the source IP substitute value and the destination IP substitute value is as follows: if the source IP takes the entropy mask to 0, the source IP substitute value is the value of the source IP itself; if the destination IP takes the entropy mask If the value is 0, the destination IP substitute value is the value of the destination IP itself. If the source IP entropy mask is not 0, the source IP address and the source IP take the inverse of the entropy mask.
  • the entropy mask is taken with the destination IP address and the destination IP
  • the inverse of the code performs a bitwise logical AND operation, and the lowest binary position of the obtained result is 1 as the destination IP substitute value.
  • the source IP entropy mask and the destination IP entropy mask are both IPv6 address formats, and the source IP takes the entropy mask hexadecimal value as 0x0FFFFFFFF.
  • the value of the destination IP entropy mask is 0.
  • the module then returns the source IP substitute value and the destination IP substitute value to the IP infrastructure module.
  • this module does not change the messages entered by the IP infrastructure.
  • This step is the same as the corresponding step in the exemplary embodiment 1, except where specifically stated.
  • the underlay network is an IPv6 network
  • the loopback interface where each VPN router ID is located is configured with a 96-bit subnet mask
  • the source IP address and the destination IP address of the VXLAN tunnel are both IPv6 addresses.
  • This step is the same as the corresponding step in the exemplary embodiment 1.
  • the phenomenon that the load balancing effect of the P1 node is improved in the present application is: when the B1 packet enters the EVPN instance from different ACs of the PE1, the corresponding B1c packet is finally obtained at the P1 node.
  • the export forwarding information is also different. This phenomenon is completely because PE1 adds the context entropy of the B1 message to the outer IP of the B1c message, and the context entropy is obtained by hashing the interface name of the ingress AC of the B1 message.
  • This module is the same as the module of the same name in the exemplary embodiment 2 except where explicitly stated.
  • the underlay network technology adopted by this module is IPv6 technology.
  • the module encapsulates the first packet into the second packet, and the encapsulation format is a Geneve encapsulation format, which is defined in the draft-ietf-nvo3-geneve; It defines how to convert a message from a VXLAN package to a Geneve package without changing the basic business effects. This partial conversion is a related technology. Whether to superimpose the functions unique to the Geneve package (relative to RFC7348) is a combination application of the Geneve technology and the present embodiment, and has nothing to do with the present exemplary embodiment itself. For the sake of simplicity, the present exemplary embodiment only considers the common capabilities of the Geneve package and the VXLAN package. The situation within the scope.
  • This module is the same as the module of the same name in the exemplary embodiment 2 except where explicitly stated.
  • the module uses the result of the hash calculation of the destination MAC of the first packet as the 8-bit entropy value of the first packet.
  • the module uses the source IP field of the first packet as the entropy IP, and the entropy IP is a bitwise logical difference between the entropy value and the lower 8 bits of the source IP input by the VPN infrastructure module. Or operate the resulting IP address.
  • This module is the same as the exemplary embodiment 2 except where specifically stated.
  • the position of the binary bit to be modified in the third packet determined by the module is the lower 8 bits of the source IP.
  • the module determines the modification of the binary bit of the location to restore it to its value prior to being modified by the entropy IP first plugin.
  • the restoring method is: first, recalculating the entropy value of the fourth packet carried by the IP header inner layer of the third packet by using an algorithm in the entropy IP first plug-in module, and then using The entropy value is subjected to a bitwise logical exclusive OR operation with the binary bits of the position.
  • the RFC7348 is based on VXLAN data packets for learning the remote MAC entries. If the source IP is not subjected to entropy processing, the remote MAC Entries will frequently drift between different ciphertexts of the same source IP because the VPN infrastructure module does not know that these ciphertexts are the same IP address, it is treated as a different IP address; for the same reason, different source IP addresses are Encrypted ciphertexts may happen to be the same, and they are treated as the same IP address by the VPN infrastructure module, which can be problematic. In this embodiment, the source IP is restored, which is undoubtedly a decryption process, and is also used to remove the inner layer packet (corresponding to the first packet or the fourth packet in the foregoing embodiment) included in the source IP. Entropy.
  • This module is the same as the module of the same name in the exemplary embodiment 2 except where specifically stated.
  • the module adopts an IPv4 routing and forwarding technology, and forwards IPv4 packets.
  • This module is the same as the module of the same name in the exemplary embodiment 2 except where specifically stated.
  • the source IP entropy mask and the destination IP entropy mask are both IPv4 address formats, and the source IP takes an entropy mask, and its hexadecimal value is 0x0FF.
  • the destination IP takes an entropy mask and has a value of 0.
  • This step is the same as the corresponding step in the exemplary embodiment 1, except where specifically stated.
  • each VPN router ID is located is configured with a 24-bit subnet mask.
  • Geneve needs to be deployed in the network and applied to the EVPN instance.
  • This step is the same as the corresponding step in the exemplary embodiment 1.
  • This module is the same as the module of the same name in the exemplary embodiment 2 except where specifically stated.
  • the encapsulation format used by the module to encapsulate the first packet into the second packet is a VXLAN GPE encapsulation format, and the format is defined in draft-ietf-nvo3-vxlan-gpe.
  • the draft defines how to convert messages from VXLAN encapsulation to VXLAN GPE encapsulation without changing the basic business effects. This part of the conversion belongs to the related technology.
  • Whether the function unique to the VXLAN GPE package is superimposed is a combination of the VXLAN GPE technology and the present exemplary embodiment, and is independent of the present exemplary embodiment.
  • the present exemplary embodiment only considers the VXLAN GPE package and the RFC7348 package. The situation within the scope of public competence.
  • This module is the same as the module of the same name in the exemplary embodiment 2 except where specifically stated.
  • the module uses the quintuple ⁇ source IP, destination IP, protocol type, source port number, destination port number> and the flow of the IPv6 header.
  • the 1abel field jointly performs the hash calculation as the 20-bit entropy value of the first message.
  • the module uses the destination IP field of the second packet as the entropy IP, and the entropy IP is a bitwise logical difference between the entropy value and the lower 20 bits of the destination IP input by the VPN infrastructure module. Or operation, the result is stored in the lower 20 bits of the destination IP address.
  • bitwise logical XOR operation is actually a simple encryption algorithm.
  • This module is the same as the exemplary embodiment 2 except where specifically stated.
  • the position of the binary bit to be modified in the third packet determined by the module is the lower 20 bits of the destination IP.
  • the module determines the modification of the binary bit of the location to restore it to its value prior to being modified by the entropy IP first plugin.
  • the restoring method is: first, recalculating the entropy value of the fourth packet carried by the IP header inner layer of the third packet by using an algorithm in the entropy IP first plug-in module, and then using The entropy value is subjected to a bitwise logical exclusive OR operation with the binary bits of the position, and the result is stored in the lower 20 bits of the destination IP of the third message.
  • This module is the same as the module of the same name in the exemplary embodiment 2.
  • This module is the same as the module of the same name in the exemplary embodiment 2 except where specifically stated.
  • the source IP entropy mask and the destination IP entropy mask are both IPv6 address formats, and the source IP takes an entropy mask, and its hexadecimal value is 0.
  • the destination IP takes an entropy mask, and its hexadecimal value is 0x0FFFFF.
  • This step is the same as the corresponding step in the exemplary embodiment 1, except where specifically stated.
  • each VPN router ID is configured with a 108-bit subnet mask.
  • VXLAN GPE needs to be deployed in the network and applied to the EVPN instance.
  • This step is the same as the corresponding step in the exemplary embodiment 2.
  • the specific method of implementing the VPN infrastructure module is as follows.
  • This module is the same as the module of the same name in the exemplary embodiment 2 except where specifically stated.
  • the module generates an IP address, which is called a VNI IP address, by using the VPN router ID and the VNI configured on the EVPN instance, and the VNI IP address is 104 as the high 104 of the VPN Router ID.
  • the VNI is the lower 24 bits; wherein the VNI is not equal to the lower 24 bits of the VPN Router ID.
  • the template encapsulates the first packet into the second packet with the NVGRE (Network Virtualization Using Generic Routing Encapsulation) format, which is defined in RFC7637, draft-ietf -bess-evpn-overlay defines how to convert a message from a VXLAN package to an NVGRE package without changing the basic business effects. This part of the conversion belongs to the related technology. Whether the function of the NVGRE package is superimposed (relative to RFC7348) belongs to the combination of the NVGRE technology and the present exemplary embodiment, and is independent of the present exemplary embodiment. For the sake of simplicity, the present exemplary embodiment only considers the common capability of the NVGRE package and the RFC7348 package. The situation within the scope.
  • NVGRE Network Virtualization Using Generic Routing Encapsulation
  • This module is the same as the module of the same name in the exemplary embodiment 2 except where specifically stated.
  • the module replaces the outermost destination IP address of the packet input by the VPN infrastructure module with the VNI IP, so that the lower 24 bits of the final outermost destination IP address include the EVPN instance.
  • the VNI is the context entropy value of the first packet, which is carried by the second packet.
  • This module is the same as the exemplary embodiment 2 except where specifically stated.
  • the module returns the message input by the VPN infrastructure module to the VPN infrastructure module intact.
  • the lower 24 bits of the destination IP although containing the context entropy value of the inner message, do not need to be cleared because the value is indeed the VXLAN through which the third message passes.
  • the IP address of an interface (specifically, an EVPN instance interface) on the source node of the tunnel (that is, the first PE) corresponds to an IP address, and the destination IP address is indeed IP reachable.
  • the IP address of the entropy value does not meet this condition.
  • This module is the same as the module of the same name in the exemplary embodiment 1, except where specifically stated.
  • the module uses IPv6 routing and forwarding technology to process IPv6 packets.
  • this module is not required for this node.
  • This step is the same as the corresponding step in the exemplary embodiment 2 except where specifically stated.
  • only the 104-bit subnet mask is configured on the loopback interface where each VPN router ID is located.
  • This step is the same as the corresponding step in the exemplary embodiment 2.
  • the specific method of implementing the VPN infrastructure module is as follows.
  • This module is the same as the module of the same name in the exemplary embodiment 5 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 related loopback interface. It is worth mentioning that 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. 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).
  • the VNI configured on the EVPN instance of the module is only regarded as a value identifying the EVPN instance, and does not have the role of the VNI in the RFC 7348. Instead, the method described in the exemplary embodiment 5 is directly adopted.
  • the VNI IP is configured on the EVPN instance interface as the IP address of the corresponding 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; specifically, each of the exemplary embodiments
  • the source IP address of the VXLAN tunnel is the IP address of the EVPN instance interface corresponding to the EVPN instance to which the VXLAN tunnel belongs.
  • the destination IP address is the IP address of the EVPN instance interface corresponding to the EVPN instance to which the VXLAN tunnel belongs.
  • the module used to encapsulate the first packet into the second packet has the same UDP header and VXLAN header as the VXLAN package used in the exemplary embodiment 5, and thus has the same function as the End.DX2 type Function in SRv6. Format; this encapsulation format is referred to herein as a Type A extended SRv6 package, as shown in Figure 14, format B in Figure 15, where Figure 15 is the expansion of Figure 14, including source IP to Ethernet layer payload data. A detailed comparison of the fields between the fields and related fields in the VXLAN package.
  • 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 a type A extension.
  • the SRv6 is encapsulated, and the third packet is forwarded in the EVPN instance corresponding to the EVPN instance interface.
  • each field in the format B in Fig. 15 has the same effect as the field of the same name in the format A in Fig. 15 unless otherwise specified.
  • This module is the same as the module of the same name in the exemplary embodiment 5 except where specifically stated.
  • the module maps the sub-interface VLAN information on the ingress AC to the 24-bit entropy value of the fourth packet by: the upper 12 bits of the entropy value are taken outside the configuration on the ingress AC. Layer ID, the lower 12 bits take the inner VLAN ID configured on the ingress AC. When the inner VLAN ID does not exist, the lower 12 bits take 0x3FF, and the outer VLAN ID does not exist. When the high 12 bits take 0x3FF.
  • the module uses the source IP field of the second packet as the entropy IP, and the entropy IP is obtained by replacing the lower 24 bits of the source IP that will be obtained by the RFC7348 process by using the 24-bit entropy value. IP address.
  • the module does not modify the destination IP field of the packet input by the VPN infrastructure module.
  • the field itself already contains the EVPN service information to which the packet belongs.
  • the DIP is automatically compared with the example embodiment 5. Has more entropy.
  • the module does not modify the upper 104 bits of the source IP field of the second packet. Therefore, the upper 104 bits of the destination IP learned by the MAC learning process are not different from the related technologies. The upper 104 bits can match the second packet to the destination PE node to the associated EVPN instance.
  • This module is the same as the exemplary embodiment 5 except where it is specifically described.
  • the module returns the message input by the VPN infrastructure module to the VPN infrastructure module intact.
  • the source IP address of the packet input by the VPN infrastructure module includes the VLAN ID information corresponding to an AC at the remote end, the information is used for performance statistics, so that the packets from different remote ACs can be obtained.
  • the text is counted on different counters, making performance statistics more accurate.
  • This module is the same as the module of the same name in the exemplary embodiment 5.
  • This module is the same as the module of the same name in the exemplary embodiment 5.
  • This step is the same as the corresponding step in the exemplary embodiment 1, except where specifically stated.
  • each EVPN instance corresponds to an EVPN instance interface, and the interface is configured with an IPv6 address and a 104-bit IPv6 address mask, and a 104-bit IPv6 route prefix generated by any two EVPN instance interfaces. None of them match.
  • the source IP address and destination IP address of each VXLAN tunnel are the IP addresses of an EVPN instance interface.
  • the requirements of the exemplary embodiment 5 must be met.
  • each EVPN instance has only one corresponding EVPN instance interface, and each EVPN instance interface has only one corresponding EVPN instance.
  • This step is the same as the corresponding step in the exemplary embodiment 5.
  • the VXLAN EVPN service is implemented by draft-ietf-bess-evpn-overlay ([EVPN overlay]), and the control plane module of the obtained VXLAN EVPN service is the control plane part of the VPN infrastructure module.
  • the forwarding plane module of the obtained VXLAN EVPN service is the forwarding 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.
  • the EVPN instance is identified by the VNI and the VNI is configured by the user.
  • VXLAN tunnel and its binding relationship with the EVPN instance are dynamically generated by the MP-BGP session according to the [EVPN Overlay] protocol.
  • the configuration requirements and functional requirements of the IP address of the VPN Router ID and the loopback interface and their subnet masks are the same as those in the first embodiment.
  • the underlay network is set to be an IPv4 network. Therefore, the source IP address and the destination IP address of the VXLAN tunnel are both IPv4 addresses.
  • This module is the same as that of the exemplary embodiment 3 except where it is specifically described.
  • the module performs hash calculation based on the source MAC address, the VLAN ID, the 802.1p priority, and the ethertype corresponding to the payload, to obtain the 5-bit eigen-entropy of the first packet. Value, then, the module performs hash calculation based on the interface name of the primary interface to which the ingress AC of the first packet belongs, and obtains a 5-bit context entropy value, and performs a bitwise logical exclusive OR operation with the prime number 29 Performing a bitwise logical exclusive OR operation to obtain a 5-bit integrated entropy value, and then performing a bitwise logical difference between the lower 5 bits of the destination IP of the second packet input by the VPN infrastructure module and the integrated entropy value Or operation, the result is stored in the former.
  • This module is the same as that of the exemplary embodiment 3 except where it is specifically described.
  • the position of the binary bit that needs to be cleared before the processing related to the IP address in the third message determined by the module is the lower 5 bits of the destination IP.
  • This module is the same as the module of the same name in the exemplary embodiment 3.
  • This module is the same as the module of the same name in the exemplary embodiment 3 except where specifically stated.
  • the source IP entropy mask and the destination IP entropy mask are both IPv6 address formats, and the source IP takes an entropy mask, and the hexadecimal value thereof is 0.
  • the destination IP takes an entropy mask, and its hexadecimal value is 0x01F.
  • the network and service deployment process includes the following six steps.
  • the first step is the same as the corresponding step in the exemplary embodiment 1, except that the underlay network is IPv4.
  • the second step is the same as the corresponding step in the exemplary embodiment 1, except that the loopback interface where the VPN Router ID is located is configured with a 27-bit subnet mask.
  • the VXLAN EVPN network shown in Figure 1 is established.
  • the configuration of the Multi-Protocol Border Gateway Protocol (MP-BGP) session is configured between the PE1, the PE2, and the PE3, and the related configuration of the L2VPN EVPN address family is enabled.
  • MP-BGP Multi-Protocol Border Gateway Protocol
  • EVPN RT-3 routing can dynamically generate all VXLAN tunnels required by the service.
  • the VXLAN tunnel generated by the RT-3 route can be adjusted to meet the following rules by simply adjusting the BGP configuration: only one bidirectional VXLAN tunnel is generated between any two PE nodes; any bidirectional VXLAN tunnel Both ends of the tunnel use the VPN router ID of the node as the source IP address of the VXLAN tunnel, and the tunnel source IP address of one end of the same bidirectional VXLAN tunnel is exactly the tunnel destination IP address of the other end. The IP is exactly the tunnel source IP at the other end.
  • the RT-3 route can also generate all the binding relationships between all the VXLAN tunnels and the EVPN instance; these are all related technologies, and those skilled in the art should be able to understand the specific methods involved.
  • a VXLAN EVPN service is established as shown in Figure 1, and the same VNI is assigned to the VXLAN EVPN service at 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 the nodes is established and bound to the VXLAN EVPN service.
  • the access side loop is eliminated.
  • the physical interface that CE1 accesses to PE1 and PE2 is mapped to the same ESI (referred to as ESI1) and ESI1 related configuration, thereby triggering the MP-BGP session to perform DF negotiation according to the RT-4 route described in [EVPN Overlay]. And RT-1 routing is released.
  • the physical interface that CE2 accesses to PE1 and PE2 is also mapped to the same ESI (denoted as ESI2) and the ESI2-related configuration.
  • the present example embodiment assumes that the result of the DF negotiation is that AC1 and AC5 are interfaces of the non-DF roles of ESI1 and ESI2, respectively, in the service. Since the PE node of the present exemplary embodiment implements the [EVPN Overlay] protocol, after configuring the ESI related configuration and completing the relevant signaling process, the two ESI related loops are also released.
  • the VXLAN EVPN service is established, and the data packet can be used to verify the forwarding behavior and effect on the PE node and the non-service aware node defined in the exemplary embodiment.
  • the EVPN topology shown in Figure 2 is used as an example.
  • the end-to-end packet forwarding process includes the following three steps.
  • the first step is the same as that of the exemplary embodiment 1, except that the forwarding plane flow is executed by [EVPN Overlay].
  • the second step is the same as that of the exemplary embodiment 1, except that the forwarding plane flow is executed by [EVPN Overlay].
  • the third step is the same as that of the exemplary embodiment 1, except that the forwarding plane flow is executed by [EVPN Overlay].
  • This module is the same as the exemplary embodiment 7, except where specifically stated.
  • the module sets the underlay network to be an IPv6 network.
  • the source IP address and destination IP address of the VXLAN tunnel dynamically generated by this module are IPv6 addresses.
  • This module is the same as the exemplary embodiment 4 except where specifically stated.
  • the module performs a hash calculation based on the ESI (10 bytes) corresponding to the primary interface to which the ingress AC of the first packet belongs, as the entropy value of the first packet.
  • the module uses the source IP field of the second packet as the entropy IP, and the lower 32 bits of the source IP perform a bitwise logical exclusive OR operation with the entropy value, and the obtained result is stored in the former.
  • This module is the same as the exemplary embodiment 4 except where specifically stated.
  • the position of the binary bit that needs to be cleared before the processing related to the IP address in the third message determined by the module is the lower 32 bits of the source IP.
  • This module is the same as the module of the same name in the exemplary embodiment 5.
  • This module is the same as the module of the same name in the exemplary embodiment 5.
  • the source IP of the third packet is the first PE.
  • the IP address of a loopback interface, and the loopback interface is configured with a 96-bit mask. Therefore, regardless of the value of the ciphertext part of the source IP, it is a reachable IP address, therefore, It cannot be de-entropy-processed, and it does not affect forwarding.
  • This step is the same as the corresponding step in the exemplary embodiment 7, except where specifically stated.
  • the underlay network of the example is an IPv6 network
  • the loopback interface of each VPN router ID is configured with a 96-bit subnet mask
  • the source IP address and the destination IP address of the VXLAN tunnel are both IPv6 addresses.
  • This step is the same as the corresponding step in the exemplary embodiment 7.
  • the VXLAN EVPN service is implemented by [EVPN overlay] and draft-ietf-bess-evpn-prefix-advertisement ([EVPN prefix]), and the control plane module of the obtained VXLAN EVPN service is the control plane part of the VPN infrastructure module.
  • the forwarding plane module of the obtained VXLAN EVPN service is the forwarding plane part of the VPN infrastructure module.
  • the EVPN control plane module obtained by the above method includes the configuration of the BGP L2VPN EVPN address family, the configuration of the IP-VRF instance, and the binding configuration of the AC and the IP-VRF instance.
  • the VRF instance is identified by the VNI and the VNI is from the user configuration.
  • the VXLAN tunnel uses the VPN Router ID of the node as the source IP at the source node and the VPN Router ID of the destination node as the destination IP address.
  • the VPN Router ID is an IP address of a loopback interface. For the sake of simplicity, without loss of generality, this module sets a node with only one VPN Router ID.
  • this module only needs to implement the function corresponding to the interface-less model of IP-VRF to IP-VRF, therefore, in this module
  • the AC interface of the IP-VRF is still a normal sub-interface, and does not include the IRB interface described in [EVPN prefix].
  • the control plane part of the module obtained by the above method does not need to statically configure the VXLAN tunnel, and the RT-5 route can dynamically generate all the required VXLAN tunnels.
  • the VXLAN tunnel generated by RT-5 routing can be adjusted by the following rules: Only one bidirectional VXLAN tunnel is generated between any two PE nodes; any bidirectional VXLAN tunnel Both ends of the tunnel use the VPN router ID of the node as the source IP address of the VXLAN tunnel, and the tunnel source IP address of one end of the same bidirectional VXLAN tunnel is exactly the tunnel destination IP address of the other end. The IP is exactly the tunnel source IP at the other end.
  • the RT-5 route can also generate all the binding relationships between all the VXLAN tunnels and the EVPN instance; these are all related technologies, and those skilled in the art should be able to understand the specific methods involved.
  • this module needs to implement a plug-in mechanism.
  • the module forwards according to the [EVPN prefix] process, the IP encapsulation from the first packet to the second packet is completed, and the plug-in is invoked in the IP encapsulation.
  • the source IP and destination IP are modified.
  • the plugin can be a function call, a callback function, a polymorphic function, or a standalone plugin.
  • this module has the same forwarding process as the forwarding module corresponding to [EVPN prefix].
  • the IP address of the VPN Router ID must be a loopback interface address, and the loopback interface address is configured with a 96-bit mask, so a 96-bit route is formed, and a 96-bit route prefix is issued in the underlay network;
  • the node receives a packet whose destination IP matches the 96-bit route, it considers that the packet is the same as the packet whose destination IP is the loopback interface.
  • the underlay network is set to be an IPv6 network. Therefore, the source IP address and the destination IP address of the VXLAN tunnel are both IPv6 addresses.
  • This module is the same as the exemplary embodiment 8 except where it is specifically described.
  • the module uses the hash value obtained by hashing based on the IP quintuple field of the first message and the ToS field in the Ipv4 header as the final 32-bit entropy value.
  • the module returns the message input by the VPN infrastructure module to the VPN infrastructure module intact.
  • This module is the same as the module of the same name in the exemplary embodiment 5.
  • This module is the same as the module of the same name in the exemplary embodiment 5.
  • the network and service deployment process includes the following six steps.
  • the first step is the same as that of the exemplary embodiment 7, except that the underlay network type selected in the present exemplary embodiment is an IPv6 network.
  • the second step is the same as the example embodiment 7, except that the subnet mask of the loopback interface where the VPN Router ID is located is a 96-bit subnet mask.
  • the third step is the same as in the exemplary embodiment 7, except that the route that generates the VXLAN tunnel and binds the generated VXLAN tunnel to the EVPN instance is an RT-5 route instead of an RT-3 route.
  • a VXLAN L3 EVPN service is established as shown in Figure 1, and the same VNI is assigned to the VXLAN L3 EVPN service at each PE node.
  • the three interfaces, AC1, AC2, and AC3, are bound to the VXLAN L3 EVPN service as access circuits.
  • the MP-BGP session starts to exchange the RT-5 route according to the signaling process defined by [EVPN Prefix], so that the VXLAN tunnel between the nodes is established and bound to the VXLAN L3 EVPN service.
  • Step 5 Configure the IP address of the AC interface. Configure an IP address for each AC. This IP address is in the same subnet as the IP address of the corresponding CE and is different from the IP address of the corresponding CE. For the sake of simplicity, the example embodiment sets each CE as an IPv4 host. Therefore, the EVPN prefix in the RT-5 route advertised by the MP-BGP session is an IPv4 prefix, but the source of the VXLAN tunnel generated by the RT-5 route. Both the IP and destination IP addresses are IPv6 addresses.
  • the VXLAN L3 EVPN service is established, and the data packet can be used to verify the forwarding behavior and effect on the PE node and the non-service aware node defined in the exemplary embodiment.
  • the EVPN topology shown in Figure 3 is used as an example.
  • the end-to-end packet forwarding process includes the following three steps.
  • the PE node In the first step, when the PE1 node receives an IPv4 packet B1 from the local AC1, the PE node forwards the B1 packet according to the forwarding process defined by the [EVPN prefix] without loss of generality, assuming that the packet is based on the B1 packet.
  • the destination IP address should be forwarded to PE3.
  • B1 is packaged as B1c and forwarded to PE3.
  • the second step is the same as the corresponding step in the exemplary embodiment 1, except that B1 is an IPv4 message and the feature field is an IPv4 quintuple of the B1 message.
  • the third step is the same as that of the exemplary embodiment 1, except that the forwarding plane flow is executed by [EVPN prefix].
  • This module is the same as the example embodiment 6 except where it is specifically described.
  • the encapsulation format used by the module is compared with the encapsulation format used by the module, and the SRH header is added.
  • the position of the SRH header is shown in the format C in FIG. 17, and the format B in the figure is used in the exemplary embodiment 6. format.
  • the SRH header is a segmentation routing header defined by the IETF in the draft-ietf-6man-segment-routing-header ([SRH]), and the format of the SRH header is defined in [SRH], including the Flags field and the Segment. List field.
  • This module is the same as the example embodiment 6 except where it is specifically described.
  • the module directly uses the ESI (10 bytes) corresponding to the primary interface to which the entry AC of the first packet belongs, as the lower 10 bytes of the 16-byte entropy value, and the first report.
  • the 6-byte hash value generated by the source MAC address, destination MAC address, Ehertype, and VLAN ID is the upper 6 bytes of the 16-byte entropy value.
  • the encapsulation format used by the module is compared with the encapsulation format used by the module, and the SRH header is added.
  • the position of the SRH header is shown in the format C in FIG. 17, and the format B in the figure is used in the exemplary embodiment 6. format.
  • the SRH header is a segmentation routing header defined by the IETF in the draft-ietf-6man-segment-routing-header ([SRH]), and the format of the SRH header is defined in [SRH], including flags (Flags). Field and Segment List fields.
  • the value of the Flags field in the SRH added by the module satisfies the following condition: the result of the bitwise logical AND operation with the predetermined constant TBD1 is not 0, where TBD1 is defined by the IETF, and the possible value of TBD1 is 1. 2, 4 and 128, etc.
  • the Segment List field is an IPv6 address array.
  • the array in the SRH header added by this module has only one element, that is, Segment List[0].
  • the value of the Segment List[0] in the SRH header added by this module is The entropy value.
  • the module reads the entropy value from the Segment List[0] field of the SRH header of the third message, and strips the SRH header, and copies the value of the next header field in the SRH header to In the IPv6 header, another packet is obtained and returned to the VPN infrastructure module for processing.
  • the lower 10 bytes of the entropy value is the entry AC of the fourth packet carried by the third packet.
  • the corresponding ESI can be used for packet statistics, and the statistics of the packets from different remote ESIs are recorded in different counters, thereby improving the accuracy of packet statistics.
  • the destination IP of the third packet is actually a local segment identifier (SID) on the PE node configuring the destination IP, and the local SID concept is draft-filsfils- The local SID concept described in section 4 of spring-srv6-network-programming-01([srv6-program]).
  • This module actually defines a new type of SRv6 Function corresponding to the local SID, which is the SRv6 Fucntion concept described in [srv6-program] Section 4.
  • the new SRv6 Function indicates that the Segment List[0] field in the SRH header is different from the destination IP, and the Segment List[0] field is an IP address that is not routable in the underlay network, and cannot be like other SRv6 Functions.
  • the destination IP field of the third packet is covered by a Segment List[0] field.
  • the present example may be used in conjunction with the SR-Policy function of the SRv6. In this case, according to the packet encapsulation specification of the SR-Policy, the destination IP of the third packet is not the destination PE node at the beginning (ie, the module).
  • the local SID on the execution entity, but the destination IP of the third packet is modified in the SRv6 forwarding process through each non-service aware node or destination PE node, and finally the destination PE node The point becomes the local SID, and the third message is processed according to the rules of the new SRv6 Fuction.
  • This module is the same as the module of the same name in the exemplary embodiment 2 except where specifically stated.
  • the module in the process of forwarding the IP packet whose destination IP is not the local interface IP, the module calls the SRH header if the IPv6 header is included in the load balancing path selection.
  • the entropy IP third plug-in module obtains the entropy value, and performs load balancing with source IP, destination IP, and the entropy value.
  • the IP quintuple is still used for load balancing.
  • the SRH header is considered to contain an entropy value, and the entropy value is from the SRH header. Read, no set to consider the entropy value is 0.
  • the method for reading the entropy value corresponding to the VPN infrastructure module in the exemplary embodiment is: reading a value of a Segment List[0] in the SRH header as the entropy value.
  • This step is the same as the corresponding step in the exemplary embodiment 6, except where specifically stated.
  • the subnet mask of the first EVPN instance interface configuration is 128 bits.
  • This step is the same as the corresponding step in the exemplary embodiment 6.
  • the VXLAN encapsulated EVPN VPWS service is implemented according to RFC8214 and [EVPN overlay], and the control plane module of the obtained EVPN VPWS service is the control plane part of the VPN infrastructure module.
  • the [EVPN overlay] mainly provides guidance for the format of the packet, and the service processing procedure complies with RFC8214.
  • VXLAN encapsulated EVPN VPWS service is implemented according to RFC8214 and [EVPN overlay], and the forwarding plane module of the obtained EVPN VPWS service is the forwarding surface part of the VPN infrastructure module.
  • the EVPN VPWS control plane module obtained by the above method includes the configuration of the BGP L2VPN EVPN address family, the configuration of the EVI instance corresponding to the EVPN VPWS, and the configuration of each VPWS service instance in the EVI instance.
  • the VPN Router ID is an IP address of a loopback interface. For the sake of simplicity, without loss of generality, this module sets a node with only one VPN Router ID.
  • the control plane part of the module obtained by the above method also establishes a forwarding entry of each VPWS service instance in each of the EVI instances with the participation of BGP routes.
  • the RT-1 route can dynamically generate all required VXLAN tunnels.
  • the VXLAN tunnel generated by RT-1 routing can be adjusted by the following rules: Only one bidirectional VXLAN tunnel is generated between any two PE nodes; any bidirectional VXLAN tunnel Both ends of the tunnel use the VPN router ID of the node as the source IP address of the VXLAN tunnel, and the tunnel source IP address of one end of the same bidirectional VXLAN tunnel is exactly the tunnel destination IP address of the other end. The IP is exactly the tunnel source IP at the other end.
  • the RT-1 route can also generate all the binding relationships between all the VXLAN tunnels and the EVI instance; these are all related technologies, and those skilled in the art should be able to understand the specific method.
  • the first packet is only used to determine the local AC that receives the packet, and after determining the local AC, the first packet The fields in the text are no longer applied to the selection of message forwarding information.
  • the module needs to implement a plug-in mechanism, and set the entropy IP first after the IP encapsulation of the first packet to the second packet is completed when the module forwards according to the EVPN VPWS service forwarding process.
  • the plug-in modifies the source IP and the destination IP in the IP encapsulation, and, when receiving the third packet and processing the third packet, invokes the entropy IP second plug-in to source IP and destination in the IP encapsulation IP is modified.
  • the plugin can be a function call, a callback function, a polymorphic function, or a standalone plugin.
  • this module has the same forwarding process as the corresponding forwarding module in RFC8214 and [EVPN overlay].
  • the IP address of the VPN Router ID must be a loopback interface address, and the loopback interface address is configured with a 96-bit mask, so a 96-bit route is formed, and a 96-bit route prefix is issued in the underlay network;
  • the node receives a packet whose destination IP matches the 96-bit route, it considers that the packet is the same as the packet whose destination IP is the loopback interface.
  • the underlay network is set to be an IPv6 network. Therefore, the source IP address and the destination IP address of the VXLAN tunnel are both IPv6 addresses.
  • This module is the same as the exemplary embodiment 10 except where specifically stated.
  • the module is based on the lower 16 bits of the Local Discriminator value field in the Type 4 or Category 5 ESI corresponding to the primary interface to which the entry AC of the first message belongs.
  • the lower 16 bits of the entropy value use the lower 16 bits of the source MAC of the first message as the upper 16 bits of the entropy value.
  • the module does not insert the SRH header at the position where the third message is inserted into the SRH header, but inserts a new IPv6 routing option header, which is called an entropy route header. , ERH) header, and, in order to quickly eliminate the case of the IPv6 option header without entropy, reduce the processing burden on the IPv6 option header of the non-service-aware node, define a predetermined constant TBD2, when the next header in the IPv6 header When the value of the field is the predetermined regular TBD2, it indicates that the next header is a routing header, and the routing header may contain an entropy value.
  • the value of the TBD2 is determined by the IETF.
  • the router type (Route-type) field of the ERH header takes a value of a predetermined constant TBD3, and the value of the TBD3 is determined by an IETF.
  • the Reserved2 field in the ERH header takes a value of 0xFF, Reserved3, Reserved4, and Reserved5 fields.
  • the value of the Next Header and the Header Extension Length (Hdr Ext Len) field is filled in according to the field definition of the routing header in RFC2460.
  • the access circuit (AC) of the EVPN VPWS service is not limited to the Ethernet type interface.
  • the access circuit (AC) is a Frame Relay (FR) data link connection identifier (Data)
  • the access circuit (AC) is an Asynchronous Transfer Mode (ATM)
  • ATM Asynchronous Transfer Mode
  • VPI Virtual Path Identifier
  • VCI Virtual Channel Identifier
  • the DLCI, VPI, or VCI may also be used to calculate an eigen-entropy value of the first packet when the access channel is identified by the Virtual Channel Identifier (VCI).
  • How to configure such an EVPN VPWS service is not an innovation of the present application. Therefore, it is not exemplified in this specification. It should be clear to those skilled in the art how to extend the use of entropy values to non-Ether types according to the present exemplary embodiment. EVPN VPWS business.
  • This module is the same as the module of the same name in the exemplary embodiment 2 except where specifically stated.
  • the module performs the load balancing path selection if the value of the next header field in the IPv6 header is Referring to TBD2, the first IPv6 option header is considered to be a routing header, and may include an entropy value, so the entropy IP third plugin is called to obtain the inner entropy value, if the value of the next header field in the IPv6 header is Instead of the TBD2, the Entropy IP third plug-in module is not called to obtain the entropy value.
  • the load balancing is performed by the source IP, the destination IP, and the entropy value in the module, and if the entropy value is not obtained according to the above method, Load balancing with IP quintuple.
  • the value of the Route-type field in the first routing header of the third packet is equal to the predetermined constant TBD3, it indicates that it is an ERH header, and the value of the Entropy Value field is the entropy value. If the value of the Route-type field in the first routing header of the third packet is not equal to the predetermined constant TBD3, the inner entropy value of the third packet is considered to be zero.
  • the network and service deployment process includes the following six steps.
  • the first step is the same as that of the exemplary embodiment 7, except that the underlay network type selected in the present exemplary embodiment is an IPv6 network.
  • the second step is the same as the example embodiment 7, except that the subnet mask of the loopback interface where the VPN router ID is located is a 128-bit subnet mask.
  • the third step is the same as in the exemplary embodiment 7, except that the route that generates the VXLAN tunnel and binds the generated VXLAN tunnel to the EVPN instance is an RT-1 route instead of an RT-3 route.
  • an EVPN VPWS service is established as shown in FIG. 4, and the same VNI is specified for the EVPN VPWS service at each PE node.
  • the three interfaces, AC1, AC2, and AC3, are bound to the EVPN VPWS service as access circuits.
  • the MP-BGP session starts to interact with the RT-1 route according to the signaling procedure defined in RFC8214, so that the VXLAN tunnel between the nodes is established and bound to the EVPN VPWS service.
  • the fifth step is to configure ESI.
  • the EVPN VPWS service is established, and the data packet can be used to verify the forwarding behavior and effect on the PE node and the non-service aware node defined in the exemplary embodiment.
  • the end-to-end packet forwarding process includes the following three steps.
  • the PE node In the first step, when the PE1 node receives an IPv4 packet B1 from the local AC1, the PE node forwards the B1 packet according to the forwarding procedure defined in RFC8214, without loss of generality, assuming that the packet is based on the B1 packet.
  • the EVPN instance should forward it to PE3.
  • PE1 then encapsulates B1 as B1c and forwards it to PE3.
  • the second step is the same as the corresponding step in the exemplary embodiment 1, except that B1 is an Ethernet message and the feature field is the source MAC of the B1 message.
  • the third step is the same as in the exemplary embodiment 1, except that the forwarding plane flow is performed in accordance with RFC 8124.
  • This module is the same as the exemplary embodiment 8 except where it is specifically described.
  • each ESI in the module has a corresponding interface with the same name, called an ESI interface, and the IP address of the interface has the full function of the loopback interface address.
  • This module is the same as the exemplary embodiment 8 except where it is specifically described.
  • the module directly adopts the whole ESI IP corresponding to the primary interface to which the ingress AC of the first packet belongs, as a 128-bit entropy value.
  • the ESI IP is an IP address configured on an ESI interface corresponding to the ESI corresponding to the primary interface to which the ingress AC belongs;
  • the module fills in the ESI IP as the entropy value using all 128 bits of the source IP.
  • the module directly returns the third message to the VPN infrastructure module for processing.
  • the entropy value of the source IP bearer of the third packet is a complete body of the ESI IP corresponding to the primary interface to which the local AC of the fourth packet belongs, and the ESI IP is in the underlay.
  • the network is reachable. Therefore, although it has the full effect of entropy, it also has the complete function of an IP address. Therefore, there is no need to regard ESI IP as zero here.
  • the general entropy value often has pseudo-randomness and does not have a complete IP address. Therefore, it is better for non-traffic-aware nodes to treat such pseudo-random entropy values as zero.
  • This module is the same as the module of the same name in the exemplary embodiment 5.
  • This module is the same as the module of the same name in the exemplary embodiment 5.
  • This step is the same as the corresponding step in the exemplary embodiment 8, except where specifically stated.
  • each VPN router ID in this example embodiment is configured with a 128-bit subnet mask.
  • This step is the same as the corresponding step in the exemplary embodiment 8.
  • modules or steps of the present application described above can be implemented in a general-purpose computing device that can be centralized on a single computing device or distributed across a network of multiple computing devices. They may be implemented in program code executable by a computing device, such that they may be stored in a storage device for execution by a computing device, and in some instances, illustrated or described in a different order than those illustrated herein.
  • the steps are either made into individual integrated circuit modules, or a plurality of modules or steps are made into a single integrated circuit module.
  • the application is not limited to any particular combination of hardware and software.

Abstract

The present application provides a method and apparatus for sending a packet, a method and apparatus for processing a packet, a PE node, and a node. The method for sending a packet comprises: receiving a first packet from an access circuit (AC); processing the first packet to obtain at least one second packet, wherein the second packet comprises a first Internet protocol (IP) address, the first IP address being an IP address obtained after a second IP address is modified by using a predetermined entropy value, wherein the predetermined entropy value is used for identifying the entropy of the first packet; and sending the second packet.

Description

报文的发送、处理方法及装置,PE节点,节点Message transmission, processing method and device, PE node, node
本申请要求在2017年11月30日提交中国专利局、申请号为201711243807.8的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。The present application claims priority to Chinese Patent Application No. JP-A No. No. No. No. No. No. No.
技术领域Technical field
本申请涉及通信领域,例如涉及一种报文的发送、处理方法及装置,PE节点,节点。The present application relates to the field of communications, for example, to a method for transmitting and processing a message, a PE node, and a node.
背景技术Background technique
在一条虚拟专用网络(Virtual Private Network,VPN)业务中,网络节点被分为业务感知节点和非业务感知节点,该业务感知节点,即提供商边缘(Provider Edge,PE)节点、可扩展虚拟局域网隧道端点(VXLAN Tunnel End Point,VTEP)节点或网络虚拟边缘(Network Virtualization Edge,NVE)节点,所谓非业务感知节点即PE节点或单层网络(underlay)网络节点。In a virtual private network (VPN) service, network nodes are divided into service-aware nodes and non-service-aware nodes, which are Provider Edge (PE) nodes and scalable virtual local area networks. A VXLAN Tunnel End Point (VTEP) node or a Network Virtualization Edge (NVE) node, a non-service-aware node, that is, a PE node or a single-layer network (underlay) network node.
为了提高运营商网络的带宽利用率,运营商常常部署负荷分担技术,其中,两种广泛应用的负荷分担技术为链路聚合组(Link Aggregation Group,LAG)和等价多路径(Equal Cost Multi-Path,ECMP)。In order to improve the bandwidth utilization of the carrier network, operators often deploy load sharing technologies. The two widely used load sharing technologies are Link Aggregation Group (LAG) and Equal Cost Multi-Equal Cost Multi- Path, ECMP).
所述LAG和ECMP技术在进行负载均衡时,一般使用互联网协议(Internet Protocol,IP)报文的五元组<源IP,目的IP,协议类型,源端口,目的端口>作为作为特征字段来进行哈希计算并作为IP报文的熵值,根据熵值进行算术求余运算来从多条转发路径中给该报文选择一条转发路径。在负载均衡中用于为报文选择转发路径的信息,称为熵,熵在负载均衡选路过程中以熵值的形式来起作用。The LAG and the ECMP technology generally use the quintuple of the Internet Protocol (IP) packet, the source IP, the destination IP, the protocol type, the source port, and the destination port, as the feature field. The hash is calculated and used as the entropy value of the IP packet, and the arithmetic remainder operation is performed according to the entropy value to select a forwarding path for the packet from the plurality of forwarding paths. The information used to select the forwarding path for packets in load balancing is called entropy. Entropy works in the form of entropy values during load balancing routing.
但是对于VPN业务,所述五元组中缺省都只含有underlay网络的熵,所述负载均衡算法并没有考虑叠加网络(Overlay)中的熵。However, for the VPN service, the quintuple defaults only the entropy of the underlay network, and the load balancing algorithm does not consider the entropy in the overlay network.
图1是相关技术中RFC7348定义的可扩展虚拟局域网(Virtual eXtensible Local Area Network,VXLAN)业务的拓扑图,以图1所示的VXLAN业务为例,对于非业务感知节点P1,同一对<源PE,目的PE>之间的所有VPN业务流,无 论其是否属于不同业务,也无论其是否为同一业务中的不同流,均会被P1节点连接P2节点的所述LAG的负载均衡算法选定在同一条转发路径上(因为其所述五元组都相等),负载均衡的程度就会比较低,并且无法体现报文的流特征。1 is a topology diagram of a virtual eXtensible Local Area Network (VXLAN) service defined by RFC 7348 in the related art. The VXLAN service shown in FIG. 1 is taken as an example. For a non-service-aware node P1, the same pair of <source PEs All VPN traffic flows between the destination PEs, whether they belong to different services or whether they are different flows in the same service, are selected by the load balancing algorithm of the LAG connected to the P2 node by the P1 node. On the same forwarding path (because the quintuple is equal), the degree of load balancing will be lower and the flow characteristics of the message cannot be reflected.
针对相关技术中的上述技术问题,目前尚未提出有效的解决方案。In view of the above technical problems in the related art, an effective solution has not yet been proposed.
发明内容Summary of the invention
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。The following is an overview of the topics detailed in this document. This Summary is not intended to limit the scope of the claims.
本申请实施例提供了一种报文的发送、处理方法及装置,PE节点,节点,以至少避免相关技术中在underlay报文传输过程中无法体现overlay报文的流特征的情况。The embodiment of the present application provides a method for sending and processing a message, a PE node, and a node, so as to avoid at least the flow characteristics of the overlay message in the underlay packet transmission process in the related art.
本申请实施例提供了一种报文的发送方法,该方法包括:从接入电路AC接收第一报文;对第一报文进行处理,得到至少一个第二报文;其中,第二报文中包括:第一互联网协议IP地址;第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址;其中,预定熵值用于标识第一报文的熵;发送第二报文。An embodiment of the present application provides a method for sending a packet, where the method includes: receiving a first packet from an access circuit AC; processing the first packet to obtain at least one second packet; wherein, the second packet The text includes: a first Internet Protocol IP address; the first IP address is an IP address obtained by modifying a second IP address using a predetermined entropy value; wherein the predetermined entropy value is used to identify the entropy of the first packet; Message.
本申请实施例提供了一种报文的处理方法,该方法包括:接收第一服务提供商边缘设备PE发送的第三报文,其中,第三报文为第一PE对从第一PE的接入电路AC接收的第四报文进行处理得到的报文,第三报文中包括:第一互联网协议IP地址;第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址,预定熵值用于标识第四报文的熵;处理第三报文。An embodiment of the present application provides a method for processing a packet, where the method includes: receiving a third packet sent by a first service provider edge device PE, where the third packet is a first PE pair from the first PE. The packet obtained by processing the fourth packet received by the access circuit AC, the third packet includes: a first Internet Protocol IP address; and the first IP address is an IP obtained by modifying the second IP address by using a predetermined entropy value. The address, the predetermined entropy value is used to identify the entropy of the fourth packet; and the third packet is processed.
本申请实施例提供了一种报文的发送装置,该装置包括:接收模块,设置为从接入电路AC接收第一报文;处理模块,设置为对第一报文进行处理,得到至少一个第二报文;其中,第二报文中包括:第一互联网协议IP地址;第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址;其中,预定熵值用于标识第一报文的熵;发送模块,设置为发送第二报文。An embodiment of the present application provides a packet sending apparatus, where the apparatus includes: a receiving module, configured to receive a first packet from an access circuit AC; and a processing module configured to process the first packet to obtain at least one a second packet, where the second packet includes: a first Internet Protocol IP address; the first IP address is an IP address obtained by modifying the second IP address using a predetermined entropy value; wherein the predetermined entropy value is used to identify The entropy of the first packet; the sending module is configured to send the second packet.
本申请实施例提供了一种报文的处理装置,该装置包括:接收模块,设置为接收第一服务提供商边缘设备PE发送的第三报文,其中,第三报文为第一PE对从第一PE的接入电路AC接收的第四报文进行处理得到的报文,第三报文中包括:第一互联网协议IP地址;第一IP地址为使用预定熵值对第二IP地 址进行修改得到的IP地址,预定熵值用于标识第四报文的熵;处理模块,设置为处理第三报文。An embodiment of the present application provides a packet processing apparatus, where the apparatus includes: a receiving module, configured to receive a third packet sent by a first service provider edge device PE, where the third packet is a first PE pair And receiving, by the fourth packet received by the access circuit AC of the first PE, the third packet includes: a first Internet Protocol IP address; the first IP address is a predetermined entropy value to the second IP address. The IP address obtained by the modification, the predetermined entropy value is used to identify the entropy of the fourth packet, and the processing module is configured to process the third packet.
本申请实施例提供了一种提供商边缘PE节点,包括:通信接口,设置为从接入电路AC接收第一报文;处理器,设置为对第一报文进行处理,得到至少一个第二报文;其中,第二报文中包括:第一互联网协议IP地址;第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址;其中,预定熵值用于标识第一报文的熵;通信接口,设置为发送第二报文。The embodiment of the present application provides a provider edge PE node, including: a communication interface, configured to receive a first packet from an access circuit AC; and a processor configured to process the first packet to obtain at least one second a packet, where the second packet includes: a first Internet Protocol IP address; the first IP address is an IP address obtained by modifying the second IP address using a predetermined entropy value; wherein the predetermined entropy value is used to identify the first Entropy of the message; the communication interface is set to send the second message.
本申请实施例提供了一种节点,包括:通信接口,设置为接收第一服务提供商边缘设备PE发送的第三报文,其中,第三报文为第一PE对从第一PE的接入电路AC接收的第四报文进行处理得到的报文,第三报文中包括:第一互联网协议IP地址;第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址,预定熵值用于标识第四报文的熵;处理器,设置为处理第三报文。The embodiment of the present application provides a node, including: a communication interface, configured to receive a third packet sent by a first service provider edge device PE, where the third packet is a connection of the first PE pair from the first PE. The packet obtained by processing the fourth packet received by the circuit AC, the third packet includes: a first Internet Protocol IP address; and the first IP address is an IP address obtained by modifying the second IP address by using a predetermined entropy value. The predetermined entropy value is used to identify the entropy of the fourth message; the processor is configured to process the third message.
本申请实施例提供了报文处理系统,包括:第一节点和第二节点;其中,所述第一节点,设置为从接入电路AC接收第一报文,对所述第一报文进行处理得到至少一个第二报文以及将所述第二报文发送给所述第二节点;其中,所述第二报文中包括:第一互联网协议IP地址;所述第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址;其中,所述预定熵值用于标识所述第一报文的熵;所述第二节点,设置为在接收到所述第二报文后,处理所述第二报文。The embodiment of the present application provides a packet processing system, including: a first node and a second node, where the first node is configured to receive a first packet from the access circuit AC, and perform the first packet Processing the at least one second packet and sending the second packet to the second node; wherein the second packet includes: a first Internet Protocol IP address; the first IP address is used An IP address obtained by modifying a second IP address by a predetermined entropy value; wherein the predetermined entropy value is used to identify an entropy of the first packet; and the second node is configured to receive the second packet After the text, the second message is processed.
本申请实施例提供了一种存储介质,存储介质包括存储的程序,其中,程序运行时执行上述任一项所述的方法。The embodiment of the present application provides a storage medium, where the storage medium includes a stored program, where the program is executed to perform the method described in any one of the above.
本申请实施例提供了一种处理器,处理器设置为运行程序,其中,程序运行时执行上述任一项所述的方法。The embodiment of the present application provides a processor, where the processor is configured to run a program, where the program is executed to perform the method described in any of the above.
在阅读并理解了附图和详细描述后,可以明白其他方面。Other aspects will be apparent upon reading and understanding the drawings and detailed description.
附图说明DRAWINGS
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:The drawings described herein are intended to provide a further understanding of the present application, and are intended to be a part of this application. In the drawing:
图1是相关技术中RFC7348定义的VXLAN业务的拓扑图;1 is a topological diagram of a VXLAN service defined by RFC 7348 in the related art;
图2是相关技术中draft-ietf-bess-evpn-overlay([EVPN Overlay])定义的 VXLAN EVPN MAC-VRF业务的拓扑图;2 is a topological diagram of a VXLAN EVPN MAC-VRF service defined by a draft-ietf-bess-evpn-overlay ([EVPN Overlay]) in the related art;
图3是相关技术中draft-ietf-bess-evpn-prefix-advertisement([EVPN Prefix])定义的VXLAN EVPN IP-VRF业务的拓扑图;3 is a topological diagram of a VXLAN EVPN IP-VRF service defined by draft-ietf-bess-evpn-prefix-advertisement ([EVPN Prefix]) in the related art;
图4是相关技术中RFC8214定义的EVPN VPWS业务的拓扑图;4 is a topological diagram of an EVPN VPWS service defined by RFC 8214 in the related art;
图5是根据本申请实施例提供的报文发送方法的流程示意图;FIG. 5 is a schematic flowchart of a packet sending method according to an embodiment of the present application;
图6是根据本申请实施例提供的PE1节点向P1节点发送报文流程中报文处理方法的流程示意图;FIG. 6 is a schematic flowchart of a method for processing a packet in a packet sending process to a P1 node according to an embodiment of the present application;
图7是根据本申请实施例提供的PE1节点向PE2节点发送报文流程中报文处理方法的流程示意图;7 is a schematic flowchart of a method for processing a packet in a process of sending a packet to a PE2 node according to an embodiment of the present application;
图8是根据本申请实施例提供的报文的发送装置的结构框图;FIG. 8 is a structural block diagram of a device for transmitting a message according to an embodiment of the present application;
图9是根据本申请实施例提供的报文的处理装置的结构框图;FIG. 9 is a structural block diagram of a processing apparatus for a message according to an embodiment of the present application;
图10是根据本申请实施例提供的PE节点的结构示意图;FIG. 10 is a schematic structural diagram of a PE node according to an embodiment of the present application;
图11是根据本申请实施例提供的节点的结构框图;FIG. 11 is a structural block diagram of a node according to an embodiment of the present application;
图12是根据本申请示例实施例提供的PE节点的结构示意图;FIG. 12 is a schematic structural diagram of a PE node according to an exemplary embodiment of the present application;
图13是根据本申请示例实施例提供的非业务感知节点的结构示意图;FIG. 13 is a schematic structural diagram of a non-service aware node according to an exemplary embodiment of the present application;
图14是根据本申请示例实施例提供的VXLAN封装与SRv6封装的对比简图;FIG. 14 is a simplified diagram of a VXLAN package and an SRv6 package according to an exemplary embodiment of the present application; FIG.
图15是根据本申请示例实施例提供的VXLAN封装与SRv6封装的对比详图;15 is a detailed detailed view of a VXLAN package and an SRv6 package according to an exemplary embodiment of the present application;
图16是根据本申请示例实施例提供的熵路由标头(Entropy Routing Header,ERH)的一种可能的封装格式图;16 is a diagram of a possible encapsulation format of an Entropy Routing Header (ERH) according to an exemplary embodiment of the present application;
图17是根据本申请示例实施例提供的SRv6封装的带SRH头格式和不带SRH头格式的对比图。FIG. 17 is a comparison diagram of an SRH header format and an SRH header format of an SRv6 package according to an exemplary embodiment of the present application.
具体实施方式Detailed ways
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。The present application will be described in detail below with reference to the drawings in conjunction with the embodiments. It should be noted that the embodiments in the present application and the features in the embodiments may be combined with each other without conflict.
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。It should be noted that the terms "first", "second" and the like in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or order.
以太网虚拟专用网(Ethernet Virtual Private Network,EVPN)业务作为一种 重要的VPN业务,RFC7432定义了它的控制面框架,其中的以太网自动发现路由(Ethernet Auto-discovery Route)、媒体访问控制/互联网协议公告路由(Medium Access Control/Internet Protocol Advertisement Route,MAC/IP Advertisement Route)、包容性多播以太网标记路由(Inclusive Multicast Ethernet Tag Route)、以太网段路由(Ethernet Segment Route)等四种路由分别称为RT-1、RT-2、RT-3和RT-4路由。draft-ietf-bess-evpn-prefix-advertisement又定义了EVPN业务的互联网协议前缀路由(IP Prefix Route)称为RT-5路由。Ethernet Virtual Private Network (EVPN) service is an important VPN service. RFC7432 defines its control plane framework, including Ethernet Auto-discovery Route and media access control. Four routes such as the Medium Access Control/Internet Protocol Advertisement Route (MAC/IP Advertisement Route), the Inclusive Multicast Ethernet Tag Route, and the Ethernet Segment Route They are called RT-1, RT-2, RT-3, and RT-4 routes, respectively. The draft-ietf-bess-evpn-prefix-advertisement defines the IP Prefix Route of the EVPN service, which is called RT-5 routing.
RFC6790中将报文中用于负载均衡的因子称为熵,其在报文中携带含有熵值的标签的办法,所述含有熵值的标签中包含了overlay网络的熵,但是,该办法依赖于多协议标签交换(Multi-Protocol Label Switching,MPLS)技术,要求underlay网络必须支持MPLS技术,即其依赖于MPLS封装。而在不支持MPLS技术的IPv4网络中,相关技术中并没有在报文中携带熵的办法,因此负载均衡很不均匀。In RFC6790, the factor used for load balancing in the message is called entropy, and the method of carrying the label containing the entropy value in the message, the tag containing the entropy value includes the entropy of the overlay network, but the method depends on For Multi-Protocol Label Switching (MPLS) technology, the underlay network must support MPLS technology, that is, it depends on MPLS encapsulation. In an IPv4 network that does not support MPLS technology, the related technology does not carry entropy in the packet, so the load balancing is uneven.
此外,在不支持MPLS技术的IPv6网络中,IPv6头的流标签(Flow-label)字段被设计用来取代IPv4头的业务类型(Type of Service,ToS)字段的功能,但由于在从RFC2460到RFC3697到RFC6437之间的数十年时间中,该字段的具体使用细节一直没有明确的标准定义,因此,该字段承载熵值在实践中要求所有underlay网络中的非业务感知结点都支持该字段用于负载均衡选路且不用于其它目的,或者熵值的伪随机性会对其它目的的达成造成干扰。In addition, in an IPv6 network that does not support MPLS technology, the Flow-label field of the IPv6 header is designed to replace the function of the Type of Service (ToS) field of the IPv4 header, but since it is from RFC2460 In the decades between RFC3697 and RFC6437, the specific usage details of this field have not been clearly defined by the standard. Therefore, the field carrying entropy value in practice requires that all non-business-aware nodes in the underlay network support this field. Used for load balancing routing and not for other purposes, or pseudo-randomness of entropy values can interfere with the achievement of other purposes.
RFC6790的熵值,指的是根据报文本身的特征字段生成的熵值,从而缺少对报文的上下文信息的体现,所述上下文信息包括报文进入设备的接口、报文所属的业务、报文所属的结点等,因此,其负载均衡的均匀程度存在进一步提高的余地。The entropy value of the RFC6790 refers to the entropy value generated according to the feature field of the body of the message, so that the context information of the message is lacking, and the context information includes the interface that the packet enters the device, the service to which the message belongs, and the message. The node to which the text belongs, etc., therefore, there is room for further improvement in the uniformity of load balancing.
某些情况下,用户不希望将自己的具体IP地址暴露在underlay网络中。In some cases, users do not want to expose their specific IP address to the underlay network.
为了避免上述情况,本申请提供了以下几个实施例:In order to avoid the above situation, the present application provides the following embodiments:
实施例1Example 1
本申请实施例提供了一种报文的发送方法,该方法可以应用于图1所述的拓扑中,但并不限于此,比如该方法还可以应用于图2所示的拓扑、图3所示的拓扑或图4所示的拓扑中,其中,图2是相关技术中[EVPN Overlay]定义的可扩展虚拟局域网以太网虚拟专用网媒体访问控制虚拟路由转发(Virtual  Extensible Local Area Network Ethernet Virtual Private Network Medium Access Control-Virtual Routing Forwarding,VXLAN EVPN MAC-VRF)业务的拓扑图;图3是相关技术中以太网虚拟专用网前缀[EVPN Prefix]定义的可扩展虚拟局域网以太网虚拟专用网互联网协议虚拟路由转发(Virtual eXtensible Local Area Network Ethernet Virtual Private Network Internet Protocol-Virtual Routing Forwarding,VXLAN EVPN IP-VRF)业务的拓扑图;图4是相关技术中RFC8214定义的以太网虚拟专用网虚拟专线服务(Ethernet Virtual Private Network Virtual Private Wire Service,EVPN VPWS)业务的拓扑图。该发送方法的执行主体可以是PE节点,以图1所示的拓扑为例,该发送方法的执行主体可以是图1所示的PE1节点、PE2节点或PE3节点,并不限于此。An embodiment of the present application provides a method for sending a packet, which may be applied to the topology described in FIG. 1 , but is not limited thereto. For example, the method may also be applied to the topology shown in FIG. 2 and FIG. 3 . The topology shown in FIG. 4 or the topology shown in FIG. 4, wherein FIG. 2 is an extensible virtual local area network virtual private network media access control virtual route forwarding defined by [EVPN Overlay] in the related art (Virtual Extensible Local Area Network Ethernet Virtual Private Network Medium Access Control-Virtual Routing Forwarding (VXLAN EVPN MAC-VRF) service topology; Figure 3 is an Ethernet virtual private network prefix [EVPN Prefix] defined in the related art, scalable virtual local area network Ethernet virtual private network Internet protocol virtual Topology diagram of the virtual eXtensible Local Area Network Ethernet Virtual Private Network Internet Protocol (Virtual Routing Forwarding, VXLAN EVPN IP-VRF) service; FIG. 4 is an Ethernet virtual private network virtual private line service defined by RFC8214 in related art (Ethernet Virtual Private Network Virtual Private Wire Service, EVPN VPWS) Topology diagram of the service. The execution body of the sending method may be a PE node, and the topology shown in FIG. 1 is taken as an example. The execution body of the sending method may be a PE1 node, a PE2 node, or a PE3 node, as shown in FIG. 1, and is not limited thereto.
以下以该发送方法的执行主体为图1所示的PE1节点,并且报文的发送流程从客户边缘1(Customer Edge1,CE1)经由提供商边缘1(Provider Edge1,PE1)节点向underlay网络中的非业务感知节点P1发送为例进行说明。图5是根据本申请实施例提供的报文发送方法的流程示意图,如图5所示,该方法包括步骤S502,步骤S504和步骤S506。The following is the execution body of the sending method is the PE1 node shown in FIG. 1 , and the sending process of the packet is from the Customer Edge 1 (CE1) to the underlay network via the Provider Edge 1 (PE1) node. The non-service aware node P1 transmission is described as an example. FIG. 5 is a schematic flowchart of a packet sending method according to an embodiment of the present application. As shown in FIG. 5, the method includes step S502, step S504, and step S506.
在步骤S502中,PE1节点从PE1节点的接入电路(Access Circuit,AC)接收第一报文;其中,所述接入电路(AC)为PE节点与客户边缘(CE)节点之间的接口、子接口或虚电路,其中,所述PE节点包括VTEP结点和NVE结点。In step S502, the PE1 node receives the first packet from the access circuit (AC) of the PE1 node; wherein the access circuit (AC) is an interface between the PE node and the customer edge (CE) node. And a sub-interface or a virtual circuit, wherein the PE node includes a VTEP node and an NVE node.
在步骤S504中,PE1节点对第一报文进行处理,得到至少一个第二报文;其中,第二报文中包括:第一互联网协议(IP)地址;第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址;其中,预定熵值用于标识第一报文的熵;In step S504, the PE1 node processes the first packet to obtain at least one second packet, where the second packet includes: a first Internet Protocol (IP) address; and the first IP address uses a predetermined entropy value. An IP address obtained by modifying the second IP address, where the predetermined entropy value is used to identify the entropy of the first packet;
在步骤S506中,PE1节点向P1节点发送第二报文。In step S506, the PE1 node sends a second message to the P1 node.
需要说明的是,熵值E(比如上述预定熵值)标识报文P(比如上述第一报文)的熵,指的是所述熵值E是以指定算法F对与所述报文P对应的至少一个指定信息进行计算得到的数值,并且,当与所述报文P对应的所述指定信息中的任何一个发生随机变化时,通过所述算法F计算出的所述熵值E也有预定的概率发生变化。It should be noted that the entropy value E (such as the predetermined entropy value) identifies the entropy of the packet P (such as the first packet), and the entropy value E is the specified algorithm F pair and the packet P. Calculating a value obtained by the corresponding at least one specified information, and when any one of the specified information corresponding to the message P randomly changes, the entropy value E calculated by the algorithm F also has The probability of the reservation changes.
需要说明的是,该预定的概率是由算法F、全部所述指定信息所占的二进制 位总数和发生变化的指定信息所占的二进制位总数以及熵值E所占的二进制位总数决定。It should be noted that the predetermined probability is determined by the algorithm F, the total number of binary bits occupied by all the specified information, the total number of binary bits occupied by the specified information, and the total number of binary bits occupied by the entropy value E.
通过上述步骤,在发送的第二报文中包括的第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址,其中,该预定熵值用于标识第一报文的熵;即通过在第二报文的第一IP中携带与第一报文的熵有关的熵值信息,使得接收到第二报文的节点能够得益于上述预定熵值而可以在一定程度上区分接收到的不同第二报文中所封装的第一报文是否属于不同数据流,比如,是否属于不同业务,是否属于不同<源MAC,目的MAC>二元组,即在第二报文的传输过程中能够体现其所封装的第一报文的流特征,因而可以避免相关技术中underlay报文传输过程中无法体现overlay报文的流特征的情况,提高了负载均衡的程度。The first IP address included in the second packet to be sent is an IP address obtained by modifying the second IP address by using a predetermined entropy value, where the predetermined entropy value is used to identify the entropy of the first packet. That is, by carrying the entropy value information related to the entropy of the first packet in the first IP of the second packet, the node receiving the second packet can benefit from the predetermined entropy value to a certain extent Differentiate whether the first packet encapsulated in the received second packet belongs to a different data stream, for example, whether it belongs to a different service, whether it belongs to a different <source MAC, destination MAC> binary group, that is, in the second packet. The flow characteristics of the first packet encapsulated in the transmission process can be reflected in the transmission process, thereby avoiding the situation that the flow characteristics of the overlay message cannot be reflected in the underlay packet transmission process in the related art, and the degree of load balancing is improved.
需要说明的是,上述第一IP地址可以位于上述第二报文的以下至少之一位置中:源IP,目的IP以及互联网协议第6版IPv6选项头中。通过将第一IP地址放在第二报文的源IP,目的IP,互联网协议第6版IPv6选项头中的至少之一位置上,即通过将第一报文的熵值携带在第二报文的源IP,目的IP,互联网协议第6版IPv6选项头中的至少之一中,而不需要对报文进行MPLS封装,即在不支持MPLS的IPv4或IPv6网络中,实现了在报文中携带熵值的方法,进而使得在不需要underlay网络中的非业务感知结点升级且不依赖MPLS技术的情况下避免了IPv4和IPv6 underlay网络中的负载均衡不均匀的情况。It should be noted that the first IP address may be located in at least one of the following locations of the second packet: source IP, destination IP, and Internet Protocol version 6 IPv6 option header. By placing the first IP address in at least one of the source IP address, the destination IP address, and the Internet Protocol version 6 IPv6 option header, that is, by carrying the entropy value of the first packet in the second packet. At least one of the source IP address, the destination IP address, and the Internet Protocol version 6 IPv6 option header, and the MPLS encapsulation of the packet is not required, that is, in the IPv4 or IPv6 network that does not support MPLS, the packet is implemented. The method of carrying the entropy value further avoids the uneven load balancing in the IPv4 and IPv6 underlay networks without requiring the non-service-aware node upgrade in the underlay network and not relying on the MPLS technology.
在一实施例中,在所述第一IP地址位于所述第二报文的IPv6选项头中的情况下,通过以下之一方式指示所述IPv6选项头中是否存在所述预定熵值:通过第二报文的IPv6头中下一报头(Next-header)字段指示,通过所述IPv6选项头中的字段指示。In an embodiment, if the first IP address is in the IPv6 option header of the second packet, indicating whether the predetermined entropy value exists in the IPv6 option header by using one of the following manners: The Next-header field in the IPv6 header of the second message indicates that it is indicated by a field in the IPv6 option header.
需要说明的是,上述IPv6头可以是IPv6选项头,也可以是IPv6必选头,其并不限于此。It should be noted that the foregoing IPv6 header may be an IPv6 option header or an IPv6 mandatory header, which is not limited thereto.
需要说明的是,上述第二IP地址可以是在没有打开本申请的功能开关时对所述第一报文进行对应的处理得到的所述第二报文的源IP或目的IP,但并不限于此。当所述第一IP地址在所述IPv6选项头中时,可以将所述第二IP地址复制到IPv6选项头中,再用所述预定熵值修改所述第二IP地址在所述IPv6选项头中的副本。It should be noted that the second IP address may be the source IP or the destination IP of the second packet obtained by processing the first packet when the function switch of the application is not opened, but not Limited to this. When the first IP address is in the IPv6 option header, the second IP address may be copied into an IPv6 option header, and the second IP address is modified with the predetermined entropy value in the IPv6 option. A copy of the head.
需要说明的是,上述步骤S504中的处理可以表现为:封装,修改,但并不 限于此。It should be noted that the processing in the above step S504 may be expressed as: encapsulation, modification, but is not limited thereto.
需要说明的是,使用所述预定熵值对所述第二IP地址进行修改包括以下至少之一:用预定熵值取代第二IP地址中指定位置的值,其中,所述预定熵值为以下之一:本征熵值,上下文熵值以及综合熵值;将用所述预定熵值与所述第二IP地址中指定位置的值进行计算得到的结果替换所述第二IP地址中所述指定位置的值,其中,所述预定熵值为以下之一:本征熵值,上下文熵值以及综合熵值;用所述预定熵值对所述第二IP地址中指定位置的值进行加密,其中,所述预定熵值为本征熵值;其中,所述本征熵值为由所述第一报文中的至少一个特征字段经过哈希计算得到的熵值;所述上下文熵值为由所述AC对应的至少一个特征配置信息经过映射得到的熵值;所述综合熵值为由所述第一报文的本征熵值和所述第一报文的上下文熵值计算得到的熵值。It should be noted that modifying the second IP address by using the predetermined entropy value includes at least one of replacing a value of a specified position in the second IP address with a predetermined entropy value, wherein the predetermined entropy value is One of: an eigen-entropy value, a context entropy value, and a comprehensive entropy value; replacing the result obtained by calculating the predetermined entropy value with a value of a specified position in the second IP address, replacing the second IP address a value of the specified location, wherein the predetermined entropy value is one of: an eigenenic entropy value, a context entropy value, and a comprehensive entropy value; and the value of the specified location in the second IP address is encrypted with the predetermined entropy value The predetermined entropy value is an eigen-entropy value; wherein the eigen-entropy value is an entropy value obtained by hash calculation of at least one feature field in the first packet; the context entropy value An entropy value obtained by mapping at least one feature configuration information corresponding to the AC; the integrated entropy value is calculated by using an eigen-entropy value of the first packet and a context entropy value of the first packet Entropy value.
需要说明的是,FRC6790的熵值指的是根据报文本身的特征字段生成的熵值,从而缺少对报文的上下文信息的体现,所述上下文信息包括报文进入设备的接口、报文所属的业务、报文所属的结点等,而在本申请的实施例中,当预定熵值为上下文熵值或综合熵值的情况下,即在第二报文的第一IP中携带上下文熵值或综合熵值,进一步提高了负载均衡的均匀程度。It should be noted that the entropy value of the FRC6790 refers to the entropy value generated according to the feature field of the text body, so that the context information of the packet is lacking, and the context information includes the interface of the packet entering the device and the packet to which the packet belongs. The service, the node to which the message belongs, and the like, and in the embodiment of the present application, when the predetermined entropy value is the context entropy value or the integrated entropy value, that is, the context entropy is carried in the first IP of the second packet. The value or the integrated entropy value further improves the uniformity of load balancing.
在本申请的实施例中,在上述预定熵值包括本征熵值,用预定熵值对第二IP地址中指定位置的值进行加密,即通过第一报文的本征熵值对第二IP地址进行加密,既在报文中添加了第一报文的熵又对PE1节点上的IP地址进行了加密,既可以在不需要underlay网络中的非业务感知结点升级且不依赖MPLS技术的情况下避免了IPv4和IPv6 underlay网络中的负载均衡不均匀的情况,又可以保证IP地址不会暴露。In an embodiment of the present application, the predetermined entropy value includes an eigen-entropy value, and the value of the specified position in the second IP address is encrypted by using a predetermined entropy value, that is, the second eigen-entropy value of the first packet is used. The IP address is encrypted. The entropy of the first packet is added to the packet, and the IP address on the PE1 node is encrypted. The non-service-aware node in the underlay network is not required to be upgraded and does not depend on MPLS technology. In this case, the load balancing unevenness in the IPv4 and IPv6 underlay networks is avoided, and the IP address is not exposed.
需要说明的是,上述特征字段可以包括以下至少之一:所述第一报文的源IP、目的IP、协议类型、源端口、目的端口、IPv4的ToS字段以及IPv6的Flow-label字段;所述第一报文的源媒体访问控制(MAC)、目的MAC;所述第一报文的以太网类型(ethertype)、内外层虚拟局域网标识(Virtual Local Area Network Identity,VLAN ID)以及802.1p优先级。其中,所述802.1p优先级指的是802.1p定义的优先级字段,包括标记协议标识(Tag Protocol Identifier,TPID)为0x8100或0x88a8的Tag中的优先级。It should be noted that the foregoing feature field may include at least one of the following: a source IP, a destination IP, a protocol type, a source port, a destination port, a ToS field of IPv4, and a Flow-label field of the IPv6 of the first packet; The source media access control (MAC) and the destination MAC address of the first packet; the Ethernet type (ethertype) of the first packet, the virtual local area network identity (VLAN ID), and the 802.1p priority. level. The 802.1p priority refers to a priority field defined by 802.1p, and includes a priority in a tag whose Tag Protocol Identifier (TPID) is 0x8100 or 0x88a8.
上述AC对应的特征配置信息可以包括以下至少之一:由所述AC映射得到 的信息;由所述AC所在的节点得到的节点级配置信息;由所述AC所属的主接口映射得到的信息;由AC所属的主接口对应的以太网分段标识符(Ethernet Segment Identity,ESI)经过哈希计算后得到的信息;所述AC所属的主接口对应的ESI本身;所述AC所属的主接口对应的ESI所对应的ESI IP,其中,所述ESI IP是为所述ESI配置的一个IP地址,所述ESI IP与所述ESI所属的节点上除所述ESI之外的ESI所对应的ESI IP互不相同。The feature configuration information corresponding to the AC may include at least one of the following: information obtained by the AC mapping; node-level configuration information obtained by the node where the AC is located; and information obtained by mapping the primary interface to which the AC belongs; Information obtained by hashing the Ethernet segment identifier (ESI) corresponding to the primary interface to which the AC belongs; the ESI itself corresponding to the primary interface to which the AC belongs; the primary interface to which the AC belongs ESI IP corresponding to the ESI, wherein the ESI IP is an IP address configured for the ESI, and the ESI IP corresponds to an ESI IP corresponding to an ESI other than the ESI on a node to which the ESI belongs Different from each other.
在本申请的实施例中,可以按照以下至少之一方法得到上述综合熵值,但并不限于此:由所述本征熵值和所述上下文熵值进行按位逻辑异或运算,得到所述综合熵值;由所述本征熵值、所述上下文熵值和任意N个常数进行计算,得到所述综合熵值;其中,N为大于或等于1的整数。In the embodiment of the present application, the foregoing comprehensive entropy value may be obtained according to at least one of the following methods, but is not limited thereto: performing a bitwise logical exclusive OR operation on the eigenenic entropy value and the context entropy value to obtain a Calculating a comprehensive entropy value; calculating the eigeng entropy value, the context entropy value, and any N constants to obtain the integrated entropy value; wherein N is an integer greater than or equal to 1.
需要说明的是,上述计算可以哈希计算,但并不限于此。It should be noted that the above calculation may be hashed, but is not limited thereto.
在本申请的一个实施例中,上述AC所属业务类型可以包括以下至少之一:在虚拟专用网络(VPN)中基于所述第一报文的MAC头转发的VPN;在VPN中基于所述第一报文的IP头转发的VPN(如何给在VPN中基于所述第一报文的IP头转发的VPN参见示例实施例9);在VPN中根据所述AC上的配置信息进行转发的VPN(如何给在VPN中根据所述AC上的配置信息进行转发的VPN参见示例实施例11)。In an embodiment of the present application, the service type of the AC may include at least one of: a VPN forwarded based on a MAC header of the first packet in a virtual private network (VPN); VPN forwarded by the IP header of a message (how to refer to the VPN forwarded based on the IP header of the first packet in the VPN, see the exemplary embodiment 9); the VPN forwarded according to the configuration information on the AC in the VPN (See Example 11 for how to forward a VPN in accordance with the configuration information on the AC in the VPN).
在本申请的一个实施例中,上述步骤S504还可以表现为以下至少之一,但并不限于此:PE1节点对所述第一报文进行可扩展虚拟局域网(VXLAN)封装;PE1节点对所述第一报文进行VXLAN通用协议扩展(Generic Protocol Extensions,GPE)封装;PE1节点对所述第一报文进行通用网络虚拟化封装(Generic Network Virtualization Encapsulation,Geneve);PE1节点对所述第一报文进行网络虚拟化之通用路由封装(Network Virtualization using Generic Routing Encapsulation,NVGRE);PE1节点对所述第一报文进行扩展SRv6(Segment Routing instantiated on the IPv6 dataplane,SRv6)封装。In an embodiment of the present application, the foregoing step S504 may also be performed as at least one of the following, but is not limited thereto: the PE1 node performs an Extensible Virtual Local Area Network (VXLAN) encapsulation on the first packet; The first packet is encapsulated in a VXLAN Generic Protocol Extensions (GPE); the PE1 node performs Generic Network Virtualization Encapsulation (Geneve) on the first packet; and the PE1 node pairs the first packet. The packet is subjected to Network Virtualization using Generic Routing Encapsulation (NVGRE). The PE1 node encapsulates the first packet with the SRv6 (Segment Routing instantiated on the IPv6 data plane, SRv6).
需要说明的是,分段路由SRv6可以是“以IPv6数据面实现”或者“在IPv6数据面上实现的分段路由”(SRv6refers to Segment Routing instantiated on the IPv6 dataplane)。It should be noted that the segment route SRv6 may be "implemented by IPv6 data plane" or "SRv6refers to Segment Routing instantiated on the IPv6 data plane".
需要说明的是,上述以PE1作为执行主体进行的说明的,但并不限于PE1作为执行主体,还可以是PE2,PE3等,并不做限定。It should be noted that the above description is made with PE1 as the execution subject, but the present invention is not limited to PE1 as the execution subject, and may be PE2, PE3, etc., and is not limited.
本申请的一个实施例还提供了一种报文的处理方法,该报文的处理方法也可以应用于上述图1至图4中任一图所示的拓扑中,以下仍以图1为例进行说明,报文的处理方法的执行主体可以是图1中的PE1、PE2、PE3,P1和P2中的任意一个节点,其中,P1和P2都是非业务感知节点,以下以该处理方法的执行主体为图1所示的P1节点,并且报文的发送流程从PE1节点向underlay网络中的非业务感知节点P1或向PE2发送为例进行说明。图6是根据本申请实施例提供的PE1节点向P1节点发送报文流程中报文处理方法的流程示意图,如图6所示,该方法包括步骤S602和步骤S604。An embodiment of the present application further provides a method for processing a message, and the processing method of the packet may also be applied to the topology shown in any of the foregoing FIG. 1 to FIG. 4, and the following still takes FIG. 1 as an example. For example, the execution body of the packet processing method may be any one of PE1, PE2, PE3, P1, and P2 in FIG. 1, where P1 and P2 are non-service-aware nodes, and the following is performed by the processing method. The main body is the P1 node shown in FIG. 1, and the packet transmission process is described as an example from the PE1 node to the non-service-aware node P1 or the PE2 in the underlay network. FIG. 6 is a schematic flowchart of a method for processing a packet in a packet sending process to a P1 node according to an embodiment of the present application. As shown in FIG. 6, the method includes steps S602 and S604.
在步骤S602中,P1节点接收第一服务提供商边缘设备(PE)发送的第三报文,其中,所述第三报文为所述第一PE对从所述第一PE的接入电路(AC)接收的第四报文进行处理得到的报文,所述第三报文中包括:第一互联网协议(IP)地址;所述第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址,所述预定熵值用于标识所述第四报文的熵。In step S602, the P1 node receives a third packet sent by the first service provider edge device (PE), where the third packet is an access circuit of the first PE pair from the first PE. (AC) The received packet is processed by the fourth packet, where the third packet includes: a first Internet Protocol (IP) address; the first IP address is a predetermined entropy value to the second IP address. And performing the modified IP address, where the predetermined entropy value is used to identify the entropy of the fourth packet.
在步骤S604中,P1节点处理所述第三报文。In step S604, the P1 node processes the third message.
需要说明的是,上述第一PE可以是PE1节点。上述第三报文相当于上述报文的发送方法所示的实施例中的第二报文,上述第四报文相当于上述报文的发送方法实施例中的第一报文。It should be noted that the foregoing 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.
通过上述方法,通过接收到的第三报文中包括的第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址,其中,该预定熵值用于标识第四报文的熵;即通过在第三报文的IP中携带与第四报文的熵有关的熵值信息,使得P1能够通过上述预定熵值在一定程度上区分接收到的不同第二报文中所封装的第一报文是否属于不同数据流,比如,是否属于不同业务,是否属于不同<源MAC,目的MAC>二元组,即在第二报文的传输过程中能够体现其所封装的第一报文的流特征,因而可以避免相关技术中underlay报文传输过程中无法体现overlay报文的流特征的情况,提高了负载均衡的程度。The first IP address included in the received third packet is an IP address obtained by modifying the second IP address by using a predetermined entropy value, where the predetermined entropy value is used to identify the fourth packet. Entropy; that is, by carrying the entropy value information related to the entropy of the fourth packet in the IP of the third packet, so that P1 can distinguish the encapsulated different second packet encapsulated by the predetermined entropy value to some extent. Whether the first packet belongs to a different data stream, for example, whether it belongs to a different service, whether it belongs to a different <source MAC, destination MAC> binary group, that is, the first packet encapsulated in the second packet transmission process The flow characteristics of the packet can avoid the situation that the flow characteristics of the overlay message cannot be reflected in the underlay packet transmission process in the related art, and the degree of load balancing is improved.
需要说明的是,所述第一IP地址位于所述第三报文的以下至少之一位置中:源IP,目的IP以及互联网协议第6版IPv6选项头中。It should be noted that the first IP address is located in at least one of the following locations of the third packet: source IP, destination IP, and Internet Protocol version 6 IPv6 option header.
需要说明的是,在所述第一IP地址位于所述第二报文的IPv6选项头中的情况下,通过以下之一方式指示所述IPv6选项头中是否存在所述预定熵值:通过所述第三报文的IPv6头中下一报头(Next-header)字段指示,通过所述IPv6选 项头中的字段指示。It should be noted that, in a case where the first IP address is located in an IPv6 option header of the second packet, whether the predetermined entropy value exists in the IPv6 option header is indicated by one of the following manners: The Next-header field indication in the IPv6 header of the third message is indicated by a field in the IPv6 option header.
需要说明的是,上述第三报文的目的IP为接收第三报文的节点上的远端IP地址,即上述处理方法的执行主体可以是P1节点,上述步骤S604可以表现为以下至少之一:P1节点根据所述第一IP地址选择负载均衡转发信息,P1节点根据所述负载均衡转发信息转发所述第三报文;P1节点将与所述第一IP地址中携带的所述预定熵值对应的二进制位分别视为预定值,对所述第三报文进行除转发之外的其它处理;P1节点直接转发所述第三报文。It should be noted that the destination IP address of the third packet is a remote IP address on the node that receives the third packet, that is, the execution entity of the processing method may be a P1 node, and the foregoing step S604 may be represented by at least one of the following The P1 node selects the load balancing forwarding information according to the first IP address, and the P1 node forwards the third packet according to the load balancing forwarding information; the P1 node and the predetermined entropy carried in the first IP address The binary bits corresponding to the values are respectively regarded as predetermined values, and the third packet is subjected to other processing than forwarding; the P1 node directly forwards the third packet.
需要说明的是,上述负载均衡转发信息可以是P1节点在负载均衡过程中对第三报文选择转发路径的信息。It should be noted that the load balancing forwarding information may be information that the P1 node selects a forwarding path for the third packet in the load balancing process.
需要说明的是,上述预定熵值可以与上述图5所示的实施例中的预定熵值的含义或解释相同,此处不再赘述。It should be noted that the foregoing predetermined entropy value may be the same as the meaning or interpretation of the predetermined entropy value in the embodiment shown in FIG. 5 above, and details are not described herein again.
图7是根据本申请实施例提供的PE1节点向PE2节点发送报文流程中报文处理方法的流程示意图,如图7所示,该方法包括步骤S702和步骤S704。FIG. 7 is a schematic flowchart of a method for processing a packet in a packet sending process to a PE2 node according to an embodiment of the present application. As shown in FIG. 7, the method includes steps S702 and S704.
在步骤S702中,PE2节点接收第一服务提供商边缘设备PE发送的第三报文,其中,所述第三报文为所述第一PE对从所述第一PE的接入电路(AC)接收的第四报文进行处理得到的报文,所述第三报文中包括:第一互联网协议(IP)地址;所述第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址,所述预定熵值用于标识所述第四报文的熵。In step S702, the PE2 node receives the third packet sent by the first service provider edge device PE, where the third packet is the access circuit of the first PE pair from the first PE (AC) a packet obtained by processing the received fourth packet, where the third packet includes: a first Internet Protocol (IP) address; the first IP address is a modification of the second IP address by using a predetermined entropy value The obtained IP address, the predetermined entropy value is used to identify the entropy of the fourth packet.
在步骤S704中,PE2节点处理所述第三报文。In step S704, the PE2 node processes the third message.
需要说明的是,上述第一PE可以是PE1节点。上述第三报文相当于上述报文的发送方法所示的实施例中的第二报文,上述第四报文相当于上述报文的发送方法实施例中的第一报文。It should be noted that the foregoing 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.
需要说明的是,上述步骤S702可以表现为:PE2直接接收PE1发送的第三报文,也可以是通过P1或P2的转发的方式来接收PE1发送的第三报文,但并不限于此。It should be noted that, in the foregoing step S702, the PE2 may directly receive the third packet sent by the PE1, or may receive the third packet sent by the PE1 by using the P1 or P2 forwarding manner, but is not limited thereto.
需要说明的是,所述第一IP地址位于所述第三报文的以下至少之一位置中:源IP,目的IP以及互联网协议第6版IPv6选项头中。It should be noted that the first IP address is located in at least one of the following locations of the third packet: source IP, destination IP, and Internet Protocol version 6 IPv6 option header.
需要说明的是,在所述第一IP地址位于所述第二报文的IPv6选项头中的情况下,通过以下之一方式指示所述IPv6选项头中是否存在所述预定熵值:通过第三报文的IPv6头中下一报头(Next-header)字段指示,通过所述IPv6选项头 中的字段。It should be noted that, in a case where the first IP address is located in an IPv6 option header of the second packet, whether the predetermined entropy value exists in the IPv6 option header is indicated by one of the following manners: The Next-header field in the IPv6 header of the three messages indicates the field in the header of the IPv6 option.
在上述第三报文的目的IP是为PE2节点配置的IP地址时,即上述处理第三报文的执行主体为PE2的情况下,上述步骤S704可以表现为:将所述第三报文中的所述第一IP地址中被所述预定熵值修改过的二进制位设置为预定值;其中,不同二进制位设置的预定值相同或不同;重新计算所述预定熵值,并以重新计算后的所述预定熵值对所述第三报文中的所述第一IP地址中被所述预定熵值加密的部分进行解密;其中,所述预定熵值为本征熵值;将所述第三报文中的包含所述第一IP地址的IPv6选项头剥离;直接处理所述第三报文。In the case that the destination IP address of the third packet is the IP address configured for the PE2 node, that is, the processing subject of the third packet is PE2, the foregoing step S704 may be performed as follows: The binary bit of the first IP address modified by the predetermined entropy value is set to a predetermined value; wherein the predetermined values set by different binary bits are the same or different; the predetermined entropy value is recalculated and recalculated The predetermined entropy value decrypts a portion of the first IP address in the third packet that is encrypted by the predetermined entropy value; wherein the predetermined entropy value is an intrinsic entropy value; The IPv6 option header stripping of the first IP address in the third packet is stripped; the third packet is directly processed.
需要说明的是,对于上述预定熵值,本征熵值等的解释可以参考图5所示实施例中对预定熵值,本征熵值的解释,此处不再赘述,谢谢。It should be noted that, for the above-mentioned predetermined entropy value, the interpretation of the eigen-entropy value and the like can refer to the explanation of the predetermined entropy value and the eigen-entropy value in the embodiment shown in FIG. 5, and details are not described herein again, thank you.
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质,例如只读存储器/随机存取存储器(Read Only Memory/Random Access Memory,ROM/RAM)、磁碟、光盘中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请每个实施例所述的方法。Through the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by means of software plus a necessary general hardware platform, and of course, by hardware. Based on such understanding, the technical solution of the present application, which is essential or contributes to the related art, may be embodied in the form of a software product stored in a storage medium such as a read only memory/random access memory. (Read Only Memory/Random Access Memory, ROM/RAM), a disk, and an optical disk, including instructions for causing a terminal device (which may be a mobile phone, a computer, a server, or a network device, etc.) to perform each implementation of the present application. The method described in the example.
实施例2Example 2
在本实施例中还提供了一种报文的发送装置,该装置设置为实现上述实施例及示例实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”为可以实现预定功能的软件和硬件中至少一种的组合。以下实施例所描述的装置可以以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。In this embodiment, a device for transmitting a message is provided, and the device is configured to implement the foregoing embodiments and example embodiments, and details are not described herein. As used hereinafter, the term "module" is a combination of at least one of software and hardware that can perform a predetermined function. The apparatus described in the following embodiments may be implemented in software, but hardware, or a combination of software and hardware, is also possible and conceivable.
需要说明的是,本申请实施例提供的报文的发送装置可以位于图1至图4中任一图所示的PE节点上,比如图1所示的PE1节点、PE2节点或PE3节点,但并不限于此。It should be noted that the sending apparatus of the packet provided by the embodiment of the present application may be located on the PE node shown in any one of FIG. 1 to FIG. 4, such as the PE1 node, the PE2 node, or the PE3 node shown in FIG. Not limited to this.
图8是根据本申请实施例提供的报文的发送装置的结构框图,如图8所示,该装置包括接收模块82,处理模块84和发送模块86。FIG. 8 is a structural block diagram of a device for transmitting a message according to an embodiment of the present application. As shown in FIG. 8, the device includes a receiving module 82, a processing module 84, and a sending module 86.
接收模块82,设置为从接入电路(AC)接收第一报文。The receiving module 82 is configured to receive the first message from the access circuit (AC).
处理模块84,与上述接收模块82连接,设置为对所述第一报文进行处理,得到至少一个第二报文;其中,所述第二报文中包括:第一互联网协议(IP)地址;所述第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址;其中,所述预定熵值用于标识所述第一报文的熵。The processing module 84 is connected to the receiving module 82, and configured to process the first packet to obtain at least one second packet. The second packet includes: a first Internet Protocol (IP) address. The first IP address is an IP address obtained by modifying a second IP address using a predetermined entropy value; wherein the predetermined entropy value is used to identify an entropy of the first packet.
发送模块86,与上述处理模块84连接,设置为发送所述第二报文。The sending module 86 is connected to the processing module 84 and configured to send the second packet.
通过上述装置,在发送的第二报文中包括的第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址,其中,该预定熵值用于标识第一报文的熵;即通过在第二报文的第一IP中携带与第一报文的熵有关的熵值信息,使得接收到第二报文的节点能够得益于上述预定熵值而可以在一定程度上区分接收到的不同第二报文中所封装的第一报文是否属于不同数据流,比如,是否属于不同业务,是否属于不同<源MAC,目的MAC>二元组,即在第二报文的传输过程中能够体现其所封装的第一报文的流特征,因而可以避免相关技术中underlay报文传输过程中无法体现overlay报文的流特征的情况,提高了负载均衡的程度。The first IP address included in the second packet to be sent is an IP address obtained by modifying the second IP address by using a predetermined entropy value, where the predetermined entropy value is used to identify the entropy of the first packet. That is, by carrying the entropy value information related to the entropy of the first packet in the first IP of the second packet, the node receiving the second packet can benefit from the predetermined entropy value to a certain extent Differentiate whether the first packet encapsulated in the received second packet belongs to a different data stream, for example, whether it belongs to a different service, whether it belongs to a different <source MAC, destination MAC> binary group, that is, in the second packet. The flow characteristics of the first packet encapsulated in the transmission process can be reflected in the transmission process, thereby avoiding the situation that the flow characteristics of the overlay message cannot be reflected in the underlay packet transmission process in the related art, and the degree of load balancing is improved.
需要说明的是,所述接入电路(AC)为PE节点与客户边缘(CE)节点之间的接口、子接口或虚电路,其中,所述PE节点包括VTEP结点和NVE结点;熵值E(比如上述预定熵值)标识报文P(比如上述第一报文)的熵,指的是所述熵值E是以指定算法F对与所述报文P对应的至少一个指定信息进行计算得到的数值,并且,当与所述报文P对应的所述指定信息中的任何一个发生随机变化时,通过所述算法F计算出的所述熵值E也有预定的概率发生变化。It should be noted that the access circuit (AC) is an interface, a sub-interface, or a virtual circuit between a PE node and a customer edge (CE) node, where the PE node includes a VTEP node and an NVE node; entropy The value E (such as the above-mentioned predetermined entropy value) identifies the entropy of the packet P (such as the first packet), and the entropy value E is the at least one specified information corresponding to the packet P by the specified algorithm F. The calculated value is performed, and when any one of the specified information corresponding to the message P is randomly changed, the entropy value E calculated by the algorithm F also has a predetermined probability to change.
需要说明的是,该预定的概率是由算法F、全部所述指定信息所占的二进制位总数和发生变化的指定信息所占的二进制位总数以及熵值E所占的二进制位总数决定。It should be noted that the predetermined probability is determined by the algorithm F, the total number of binary bits occupied by all the specified information, the total number of binary bits occupied by the specified information, and the total number of binary bits occupied by the entropy value E.
需要说明的是,上述第一IP地址可以位于上述第二报文的以下至少之一位置中:源IP,目的IP以及互联网协议第6版IPv6选项头中。通过将第一IP地址放在第二报文的源IP,目的IP,互联网协议第6版IPv6选项头中的至少之一位置上,即通过将第一报文的熵值携带在第二报文的源IP,目的IP,互联网协议第6版IPv6选项头中的至少之一中,而不需要对报文进行MPLS封装,即在不支持MPLS的IPv4或IPv6网络中,实现了在报文中携带熵值的方法,进而使得在不需要underlay网络中的非业务感知结点升级且不依赖MPLS技术的情况下避免了IPv4和IPv6 underlay网络中的负载均衡不均匀的情况。It should be noted that the first IP address may be located in at least one of the following locations of the second packet: source IP, destination IP, and Internet Protocol version 6 IPv6 option header. By placing the first IP address in at least one of the source IP address, the destination IP address, and the Internet Protocol version 6 IPv6 option header, that is, by carrying the entropy value of the first packet in the second packet. At least one of the source IP address, the destination IP address, and the Internet Protocol version 6 IPv6 option header, and the MPLS encapsulation of the packet is not required, that is, in the IPv4 or IPv6 network that does not support MPLS, the packet is implemented. The method of carrying the entropy value further avoids the uneven load balancing in the IPv4 and IPv6 underlay networks without requiring the non-service-aware node upgrade in the underlay network and not relying on the MPLS technology.
需要说明的是,在所述第一IP地址位于所述第二报文的IPv6选项头中的情况下,通过以下之一方式指示所述IPv6选项头中是否存在所述预定熵值:通过第二报文的IPv6头中下一报头(Next-header)字段指示,通过所述IPv6选项头中的字段指示。It should be noted that, in a case where the first IP address is located in an IPv6 option header of the second packet, whether the predetermined entropy value exists in the IPv6 option header is indicated by one of the following manners: The Next-header field in the IPv6 header of the second message indicates that it is indicated by a field in the IPv6 option header.
需要说明的是,上述IPv6头可以是IPv6选项头,也可以是IPv6必选头,其并不限于此。It should be noted that the foregoing IPv6 header may be an IPv6 option header or an IPv6 mandatory header, which is not limited thereto.
需要说明的是,上述第二IP地址可以是在没有打开本申请的功能开关时对所述第一报文进行对应的处理得到的所述第二报文的源IP或目的IP,但并不限于此。当所述第一IP地址在所述IPv6选项头中时,可以将所述第二IP地址复制到IPv6选项头中,再用所述预定熵值修改所述第二IP地址在所述IPv6选项头中的副本。It should be noted that the second IP address may be the source IP or the destination IP of the second packet obtained by processing the first packet when the function switch of the application is not opened, but not Limited to this. When the first IP address is in the IPv6 option header, the second IP address may be copied into an IPv6 option header, and the second IP address is modified with the predetermined entropy value in the IPv6 option. A copy of the head.
需要说明的是,上述处理可以表现为:封装,修改,但并不限于此。It should be noted that the above processing may be expressed as: encapsulation, modification, but not limited thereto.
需要说明的是,使用所述预定熵值对所述第二IP地址进行修改包括以下至少之一:用预定熵值取代第二IP地址中指定位置的值,其中,所述预定熵值为以下之一:本征熵值,上下文熵值以及综合熵值;将用所述预定熵值与所述第二IP地址中指定位置的值进行计算得到的结果替换所述第二IP地址中所述指定位置的值,其中,所述预定熵值为以下之一:本征熵值,上下文熵值以及综合熵值;用所述预定熵值对所述第二IP地址中指定位置的值进行加密,其中,所述预定熵值为本征熵值;其中,所述本征熵值为由所述第一报文中的至少一个特征字段经过哈希计算得到的熵值;所述上下文熵值为由所述AC对应的至少一个特征配置信息经过映射得到的熵值;所述综合熵值为由所述第一报文的本征熵值和所述第一报文的上下文熵值计算得到的熵值。It should be noted that modifying the second IP address by using the predetermined entropy value includes at least one of replacing a value of a specified position in the second IP address with a predetermined entropy value, wherein the predetermined entropy value is One of: an eigen-entropy value, a context entropy value, and a comprehensive entropy value; replacing the result obtained by calculating the predetermined entropy value with a value of a specified position in the second IP address, replacing the second IP address a value of the specified location, wherein the predetermined entropy value is one of: an eigenenic entropy value, a context entropy value, and a comprehensive entropy value; and the value of the specified location in the second IP address is encrypted with the predetermined entropy value The predetermined entropy value is an eigen-entropy value; wherein the eigen-entropy value is an entropy value obtained by hash calculation of at least one feature field in the first packet; the context entropy value An entropy value obtained by mapping at least one feature configuration information corresponding to the AC; the integrated entropy value is calculated by using an eigen-entropy value of the first packet and a context entropy value of the first packet Entropy value.
需要说明的是,FRC6790的熵值指的是根据报文本身的特征字段生成的熵值,从而缺少对报文的上下文信息的体现,所述上下文信息包括报文进入设备的接口、报文所属的业务、报文所属的结点等,而在本申请的实施例中,当预定熵值为上下文熵值或综合熵值的情况下,即在第二报文的第一IP中携带上下文熵值或综合熵值,进一步提高了负载均衡的均匀程度。It should be noted that the entropy value of the FRC6790 refers to the entropy value generated according to the feature field of the text body, so that the context information of the packet is lacking, and the context information includes the interface of the packet entering the device and the packet to which the packet belongs. The service, the node to which the message belongs, and the like, and in the embodiment of the present application, when the predetermined entropy value is the context entropy value or the integrated entropy value, that is, the context entropy is carried in the first IP of the second packet. The value or the integrated entropy value further improves the uniformity of load balancing.
在本申请的实施例中,在上述预定熵值包括本征熵值,用预定熵值对第二IP地址中指定位置的值进行加密,即通过第一报文的本征熵值对第二IP地址进行加密,既在报文中添加了第一报文的熵又对PE1节点上的IP地址进行了加密, 既可以在不需要underlay网络中的非业务感知结点升级且不依赖MPLS技术的情况下避免了IPv4和IPv6 underlay网络中的负载均衡不均匀的情况,又也可以保证IP地址不会暴露。In an embodiment of the present application, the predetermined entropy value includes an eigen-entropy value, and the value of the specified position in the second IP address is encrypted by using a predetermined entropy value, that is, the second eigen-entropy value of the first packet is used. The IP address is encrypted. The entropy of the first packet is added to the packet and the IP address on the PE1 node is encrypted. The non-service-aware node in the underlay network is not required to be upgraded and does not depend on MPLS technology. In this case, the load balancing in the IPv4 and IPv6 underlay networks is not uniform, and the IP address is not exposed.
需要说明的是,上述特征字段可以包括以下至少之一:所述第一报文的源IP、目的IP、协议类型、源端口、目的端口、IPv4的ToS字段以及IPv6的流标签(Flow-1abel)字段;所述第一报文的源媒体访问控制(MAC)、目的MAC;所述第一报文的以太网类型(ethertype)、内外层虚拟局域网标识(VLAN ID)以及802.1p优先级;其中,所述802.1p优先级指的是802.1p定义的优先级字段,包括标记协议标识(Tag Protocol Identifier,TPID)为0x8100或0x88a8的Tag中的优先级。It should be noted that the foregoing feature field may include at least one of the following: source IP, destination IP, protocol type, source port, destination port, IPv4 ToS field, and IPv6 flow label (Flow-1abel) of the first packet. a field; a source media access control (MAC) of the first packet, a destination MAC; an ethertype of the first packet, an inner and outer virtual local area network identifier (VLAN ID), and an 802.1p priority; The 802.1p priority refers to a priority field defined by 802.1p, and includes a priority in a tag whose Tag Protocol Identifier (TPID) is 0x8100 or 0x88a8.
上述AC对应的特征配置信息可以包括以下至少之一:由所述AC映射得到的信息;由所述AC所在的节点得到的节点级配置信息;由所述AC所属的主接口映射得到的信息;由AC所属主接口对应的以太网分段标识符(ESI)经过哈希计算后得到的信息;所述AC所属主接口对应的ESI本身;所述AC所属主接口对应的ESI对应的ESI IP,其中,所述ESI IP是为所述ESI配置的一个IP地址,所述ESI IP与所述ESI所属的节点上其它ESI对应的ESI IP互不相同。The feature configuration information corresponding to the AC may include at least one of the following: information obtained by the AC mapping; node-level configuration information obtained by the node where the AC is located; and information obtained by mapping the primary interface to which the AC belongs; Information obtained by hashing the Ethernet segment identifier (ESI) corresponding to the primary interface to which the AC belongs; the ESI itself corresponding to the primary interface to which the AC belongs; the ESI IP corresponding to the ESI corresponding to the primary interface to which the AC belongs, The ESI IP is an IP address configured for the ESI, and the ESI IP is different from the ESI IP corresponding to other ESIs on the node to which the ESI belongs.
在本申请的实施例中,上述处理模块84还可以设置为按照以下至少之一方法得到上述综合熵值,但并不限于此:由所述本征熵值和所述上下文熵值进行按位逻辑异或运算,得到所述综合熵值;由所述本征熵值、所述上下文熵值和任意N个常数进行计算,得到所述综合熵值;其中,N为大于或等于1的整数。需要说明的是,上述计算可以哈希计算,但并不限于此。In the embodiment of the present application, the processing module 84 may be further configured to obtain the foregoing comprehensive entropy value according to at least one of the following methods, but is not limited thereto: performing bitwise by the eigen entropy value and the context entropy value Performing a logical exclusive OR operation to obtain the integrated entropy value; calculating by the eigen-entropy value, the context entropy value, and any N constants to obtain the comprehensive entropy value; wherein N is an integer greater than or equal to . It should be noted that the above calculation may be hashed, but is not limited thereto.
在本申请的一个实施例中,上述AC所属业务类型可以包括以下至少之一:在虚拟专用网络(VPN)中基于所述第一报文的MAC头转发的VPN;在VPN中基于所述第一报文的IP头转发的VPN;在VPN中根据所述AC上的配置信息进行转发的VPN。In an embodiment of the present application, the service type of the AC may include at least one of: a VPN forwarded based on a MAC header of the first packet in a virtual private network (VPN); A VPN forwarded by the IP header of a packet; a VPN forwarded in the VPN according to the configuration information on the AC.
在本申请的一个实施例中,上述处理模块84还可以设置为以下至少之一,但并不限于此:对所述第一报文进行可扩展虚拟局域网(VXLAN)封装;对所述第一报文进行VXLAN通用协议扩展(GPE)封装;对所述第一报文进行通用网络虚拟化封装(Geneve);对所述第一报文进行网络虚拟化之通用路由封装(Network Virtualization using Generic Routing Encapsulation,NVGRE);对所述 第一报文进行扩展SRv6封装。In an embodiment of the present application, the processing module 84 may be configured as at least one of the following, but is not limited thereto: performing an Extensible Virtual Local Area Network (VXLAN) encapsulation on the first packet; The packet is subjected to VXLAN General Protocol Extension (GPE) encapsulation; the first packet is subjected to a general network virtualization encapsulation (Geneve); and the first packet is subjected to network virtualization for network virtualization (Gene Virtualization using Generic Routing) Encapsulation, NVGRE); extending the SRv6 encapsulation of the first packet.
本申请实施例还提供了一种可以用于上述图1至图4中任一图所示的拓扑的报文的处理装置,需要说明的是,上述拓扑报文的处理装置可以位于图1至图4中任一图所示的PE节点(比如PE1,PE2,PE3并不限于此)或非业务感知节点(P1或P2),图9是根据本申请实施例提供的报文的处理装置的结构框图,如图9所示,该装置包括接收模块92和处理模块94。The embodiment of the present application further provides a processing device for a message that can be used in the topology shown in any of the above-mentioned FIG. 1 to FIG. 4, and it should be noted that the processing device for the topology message may be located in FIG. 1 to A PE node (such as PE1, PE2, and PE3 is not limited to this) or a non-service-aware node (P1 or P2), and FIG. 9 is a processing device of a packet according to an embodiment of the present application. The block diagram, as shown in FIG. 9, includes a receiving module 92 and a processing module 94.
接收模块92,设置为接收第一服务提供商边缘设备PE发送的第三报文,其中,所述第三报文为所述第一PE对从所述第一PE的接入电路(AC)接收的第四报文进行处理得到的报文,所述第三报文中包括:第一互联网协议(IP)地址;所述第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址,所述预定熵值用于标识所述第四报文的熵。The receiving module 92 is configured to receive a third packet sent by the first service provider edge device PE, where the third packet is an access circuit (AC) of the first PE pair from the first PE The received packet is processed by the received fourth packet, where the third packet includes: a first Internet Protocol (IP) address; the first IP address is modified by using a predetermined entropy value to obtain the second IP address. The IP address, the predetermined entropy value is used to identify the entropy of the fourth packet.
处理模块94,与上述接收模块92连接,设置为处理所述第三报文。The processing module 94 is connected to the receiving module 92 and configured to process the third packet.
需要说明的是,上述第三报文相当于上述图8所示的实施例中的第二报文,上述第四报文相当于上述图8所示的实施例中的第一报文。上述第一PE上述图8所示的装置所在的PE节点,但并不限于此。It should be noted that the third message corresponds to the second message in the embodiment shown in FIG. 8 , and the fourth message corresponds to the first message in the embodiment shown in FIG. 8 . The PE node where the device shown in FIG. 8 is located in the first PE is not limited thereto.
通过上述装置,通过接收到的第三报文中包括的第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址,其中,该预定熵值用于标识第四报文的熵;即通过在第三报文的IP中携带与第四报文的熵有关的熵值信息,使得P1能够通过上述预定熵值在一定程度上区分接收到的不同第二报文中所封装的第一报文是否属于不同数据流,比如,是否属于不同业务,是否属于不同<源MAC,目的MAC>二元组,即在第二报文的传输过程中能够体现其所封装的第一报文的流特征,因而可以避免相关技术中underlay报文传输过程中无法体现overlay报文的流特征的情况,提高了负载均衡的程度。And the first IP address included in the received third packet is an IP address obtained by modifying the second IP address by using a predetermined entropy value, where the predetermined entropy value is used to identify the fourth packet. Entropy; that is, by carrying the entropy value information related to the entropy of the fourth packet in the IP of the third packet, so that P1 can distinguish the encapsulated different second packet encapsulated by the predetermined entropy value to some extent. Whether the first packet belongs to a different data stream, for example, whether it belongs to a different service, whether it belongs to a different <source MAC, destination MAC> binary group, that is, the first packet encapsulated in the second packet transmission process The flow characteristics of the packet can avoid the situation that the flow characteristics of the overlay message cannot be reflected in the underlay packet transmission process in the related art, and the degree of load balancing is improved.
需要说明的是,所述第一IP地址位于所述第三报文的以下至少之一位置中:源IP,目的IP以及互联网协议第6版IPv6选项头中。It should be noted that the first IP address is located in at least one of the following locations of the third packet: source IP, destination IP, and Internet Protocol version 6 IPv6 option header.
需要说明的是,在所述第一IP地址位于所述第二报文的IPv6选项头中的情况下,通过以下之一方式指示所述IPv6选项头中是否存在所述预定熵值:通过第三报文的IPv6头中下一报头(Next-header)字段指示,通过所述IPv6选项头中的字段指示。It should be noted that, in a case where the first IP address is located in an IPv6 option header of the second packet, whether the predetermined entropy value exists in the IPv6 option header is indicated by one of the following manners: The Next-header field indication in the IPv6 header of the three messages is indicated by the field in the IPv6 option header.
需要说明的是,上述第三报文的目的IP为接收第三报文的节点上的远端IP地址,即上述处理装置位于P1节点中,处理模块94还可以设置为以下至少之一:根据所述第一IP地址选择负载均衡转发信息,根据所述负载均衡转发信息转发所述第三报文;将与所述第一IP地址中携带的所述预定熵值对应的二进制位分别视为预定值,对所述第三报文进行除转发之外的其它处理;直接转发所述第三报文。It should be noted that the destination IP address of the third packet is the remote IP address of the node that receives the third packet, that is, the processing device is located in the P1 node, and the processing module 94 may be configured to be at least one of the following: The first IP address selects the load balancing forwarding information, and the third packet is forwarded according to the load balancing forwarding information; and the binary bits corresponding to the predetermined entropy value carried in the first IP address are respectively regarded as a predetermined value, performing processing other than forwarding on the third packet; directly forwarding the third packet.
需要说明的是,上述负载均衡转发信息可以是在负载均衡过程中对第三报文选择转发路径的信息。It should be noted that the foregoing load balancing forwarding information may be information for selecting a forwarding path for the third packet in the load balancing process.
在上述第三报文的目的IP是为PE节点配置的IP地址时,即上述处理装置位于PE节点中的情况下,上述处理模块94还可以设置为以下至少之一:将所述第三报文中的所述第一IP地址中被所述预定熵值修改过的二进制位设置为预定值;其中,不同二进制位设置的预定值相同或不同;重新计算所述预定熵值,并以重新计算后的所述预定熵值对所述第三报文中的所述第一IP地址中被所述预定熵值加密的部分进行解密;其中,所述预定熵值为本征熵值;将所述第三报文中的包含所述第一IP地址的IPv6选项头剥离;直接处理所述第三报文。When the destination IP address of the third packet is an IP address configured for the PE node, that is, the processing device is located in the PE node, the processing module 94 may be configured to set at least one of the following: The binary bits in the first IP address modified by the predetermined entropy value are set to a predetermined value; wherein the predetermined values set by different binary bits are the same or different; the predetermined entropy value is recalculated, and Calculating, by the predetermined entropy value, a portion of the first IP address in the third packet that is encrypted by the predetermined entropy value; wherein the predetermined entropy value is an intrinsic entropy value; The IPv6 option header including the first IP address in the third packet is stripped; the third packet is directly processed.
需要说明的是,上述预定熵值可以与上述图8所示的实施例中的预定熵值的含义或解释相同,此处不再赘述。It should be noted that the foregoing predetermined entropy value may be the same as the meaning or interpretation of the predetermined entropy value in the embodiment shown in FIG. 8 above, and details are not described herein again.
需要说明的是,上述多个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述多个模块以任意组合的形式分别位于不同的处理器中。It should be noted that the foregoing multiple modules may be implemented by software or hardware. For the latter, the foregoing may be implemented by, but not limited to, the foregoing modules are all located in the same processor; or, the multiple modules are The form of any combination is located in a different processor.
实施例3Example 3
本申请实施例还提供了一种PE节点,该PE节点可以是图1至图4中任一图所示的PE节点,比如图1所示的PE1节点、PE2节点或PE3节点,图10是根据本申请实施例提供的PE节点的结构示意图,如图10所示,该PE节点包括通信接口1002和处理器1004。The embodiment of the present application further provides a PE node, which may be a PE node as shown in any one of FIG. 1 to FIG. 4, such as a PE1 node, a PE2 node, or a PE3 node shown in FIG. According to the structure diagram of the PE node provided by the embodiment of the present application, as shown in FIG. 10, the PE node includes a communication interface 1002 and a processor 1004.
通信接口1002,设置为从接入电路(AC)接收第一报文。The communication interface 1002 is configured to receive the first message from the access circuit (AC).
处理器1004,与上述通信接口1002连接,设置为对第一报文进行处理,得到至少一个第二报文;其中,第二报文中包括:第一互联网协议(IP)地址;第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址;其中,预定 熵值用于标识第一报文的熵。The processor 1004 is connected to the communication interface 1002, and is configured to process the first packet to obtain at least one second packet. The second packet includes: a first Internet Protocol (IP) address; the first IP address. The address is an IP address obtained by modifying the second IP address using a predetermined entropy value; wherein the predetermined entropy value is used to identify the entropy of the first packet.
上述通信接口1002,还设置为发送第二报文。The communication interface 1002 is further configured to send a second message.
通过上述PE节点,在发送的第二报文中包括的第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址,其中,该预定熵值用于标识第一报文的熵;即通过在第二报文的第一IP中携带与第一报文的熵有关的熵值信息,使得接收到第二报文的节点能够得益于上述预定熵值而可以在一定程度上区分接收到的不同第二报文中所封装的第一报文是否属于不同数据流,比如,是否属于不同业务,是否属于不同<源MAC,目的MAC>二元组,即在第二报文的传输过程中能够体现其所封装的第一报文的流特征,因而可以避免相关技术中underlay报文传输过程中无法体现overlay报文的流特征的情况,提高了负载均衡的程度。The first IP address included in the second packet sent by the PE node is an IP address obtained by modifying the second IP address by using a predetermined entropy value, where the predetermined entropy value is used to identify the first packet. Entropy; that is, by carrying the entropy value information related to the entropy of the first packet in the first IP of the second packet, so that the node receiving the second packet can benefit from the predetermined entropy value to a certain extent Whether the first packet encapsulated in the received second packet belongs to a different data stream, for example, whether it belongs to a different service, whether it belongs to a different <source MAC, destination MAC> binary group, that is, in the second report. The transmission process of the text can reflect the flow characteristics of the first packet encapsulated in the text, so that the flow characteristics of the overlay message cannot be reflected in the underlay packet transmission process in the related art, and the degree of load balancing is improved.
需要说明的是,所述接入电路(AC)为PE节点与客户边缘CE节点之间的接口、子接口或虚电路,其中,所述PE节点包括VTEP结点和NVE结点;熵值E(比如上述预定熵值)标识报文P(比如上述第一报文)的熵,指的是所述熵值E是以指定算法F对与所述报文P对应的至少一个指定信息进行计算得到的数值,并且,当与所述报文P对应的所述指定信息中的任何一个发生随机变化时,通过所述算法F计算出的所述熵值E也有预定的概率发生变化。It should be noted that the access circuit (AC) is an interface, a sub-interface, or a virtual circuit between a PE node and a client edge CE node, where the PE node includes a VTEP node and an NVE node; and an entropy value E The entropy of the packet P (such as the foregoing first packet) is determined by the entropy value E, and the at least one specified information corresponding to the packet P is calculated by the specified algorithm F. The obtained value, and when any one of the specified information corresponding to the message P is randomly changed, the entropy value E calculated by the algorithm F also has a predetermined probability of change.
需要说明的是,该预定的概率是由算法F、全部所述指定信息所占的二进制位总数和发生变化的指定信息所占的二进制位总数以及熵值E所占的二进制位总数决定。It should be noted that the predetermined probability is determined by the algorithm F, the total number of binary bits occupied by all the specified information, the total number of binary bits occupied by the specified information, and the total number of binary bits occupied by the entropy value E.
需要说明的是,上述第一IP地址可以位于上述第二报文的以下至少之一位置中:源IP,目的IP以及互联网协议第6版IPv6选项头中。通过将第一IP地址放在第二报文的源IP,目的IP,互联网协议第6版IPv6选项头中的至少之一位置上,即通过将第一报文的熵值携带在第二报文的源IP,目的IP,互联网协议第6版IPv6选项头中的至少之一中,而不需要对报文进行MPLS封装,即在不支持MPLS的IPv4或IPv6网络中,实现了在报文中携带熵值的方法,进而使得在不需要underlay网络中的非业务感知结点升级且不依赖MPLS技术的情况下避免了IPv4和IPv6 underlay网络中的负载均衡不均匀的情况。It should be noted that the first IP address may be located in at least one of the following locations of the second packet: source IP, destination IP, and Internet Protocol version 6 IPv6 option header. By placing the first IP address in at least one of the source IP address, the destination IP address, and the Internet Protocol version 6 IPv6 option header, that is, by carrying the entropy value of the first packet in the second packet. At least one of the source IP address, the destination IP address, and the Internet Protocol version 6 IPv6 option header, and the MPLS encapsulation of the packet is not required, that is, in the IPv4 or IPv6 network that does not support MPLS, the packet is implemented. The method of carrying the entropy value further avoids the uneven load balancing in the IPv4 and IPv6 underlay networks without requiring the non-service-aware node upgrade in the underlay network and not relying on the MPLS technology.
需要说明的是,在所述第一IP地址位于所述第二报文的IPv6选项头中的情况下,通过以下之一方式指示所述IPv6选项头中是否存在所述预定熵值:通过 第二报文的IPv6头中下一报头(Next-header)字段指示,通过所述IPv6选项头中的字段指示。It should be noted that, in a case where the first IP address is located in an IPv6 option header of the second packet, whether the predetermined entropy value exists in the IPv6 option header is indicated by one of the following manners: The Next-header field in the IPv6 header of the second message indicates that it is indicated by a field in the IPv6 option header.
需要说明的是,上述IPv6头可以是IPv6选项头,也可以是IPv6必选头,其并不限于此。It should be noted that the foregoing IPv6 header may be an IPv6 option header or an IPv6 mandatory header, which is not limited thereto.
需要说明的是,上述第二IP地址可以是在没有打开本申请的功能开关时对所述第一报文进行对应的处理得到的所述第二报文的源IP或目的IP,但并不限于此。当所述第一IP地址在所述IPv6选项头中时,可以将所述第二IP地址复制到IPv6选项头中,再用所述预定熵值修改所述第二IP地址在所述IPv6选项头中的副本。It should be noted that the second IP address may be the source IP or the destination IP of the second packet obtained by processing the first packet when the function switch of the application is not opened, but not Limited to this. When the first IP address is in the IPv6 option header, the second IP address may be copied into an IPv6 option header, and the second IP address is modified with the predetermined entropy value in the IPv6 option. A copy of the head.
需要说明的是,上述处理可以表现为:封装,修改,但并不限于此。It should be noted that the above processing may be expressed as: encapsulation, modification, but not limited thereto.
需要说明的是,使用所述预定熵值对所述第二IP地址进行修改包括以下至少之一:用预定熵值取代第二IP地址中指定位置的值,其中,所述预定熵值为以下之一:本征熵值,上下文熵值以及综合熵值;将用所述预定熵值与所述第二IP地址中指定位置的值进行计算得到的结果替换所述第二IP地址中所述指定位置的值,其中,所述预定熵值为以下之一:本征熵值,上下文熵值以及综合熵值;用所述预定熵值对所述第二IP地址中指定位置的值进行加密,其中,所述预定熵值为本征熵值;其中,所述本征熵值为由所述第一报文中的至少一个特征字段经过哈希计算得到的熵值;所述上下文熵值为由所述AC对应的至少一个特征配置信息经过映射得到的熵值;所述综合熵值为由所述第一报文的本征熵值和所述第一报文的上下文熵值计算得到的熵值。It should be noted that modifying the second IP address by using the predetermined entropy value includes at least one of replacing a value of a specified position in the second IP address with a predetermined entropy value, wherein the predetermined entropy value is One of: an eigen-entropy value, a context entropy value, and a comprehensive entropy value; replacing the result obtained by calculating the predetermined entropy value with a value of a specified position in the second IP address, replacing the second IP address a value of the specified location, wherein the predetermined entropy value is one of: an eigenenic entropy value, a context entropy value, and a comprehensive entropy value; and the value of the specified location in the second IP address is encrypted with the predetermined entropy value The predetermined entropy value is an eigen-entropy value; wherein the eigen-entropy value is an entropy value obtained by hash calculation of at least one feature field in the first packet; the context entropy value An entropy value obtained by mapping at least one feature configuration information corresponding to the AC; the integrated entropy value is calculated by using an eigen-entropy value of the first packet and a context entropy value of the first packet Entropy value.
需要说明的是,FRC6790的熵值指的是根据报文本身的特征字段生成的熵值,从而缺少对报文的上下文信息的体现,所述上下文信息包括报文进入设备的接口、报文所属的业务、报文所属的结点等,而在本申请的实施例中,当预定熵值为上下文熵值或综合熵值的情况下,即在第二报文的第一IP中携带上下文熵值或综合熵值,进一步提高了负载均衡的均匀程度。It should be noted that the entropy value of the FRC6790 refers to the entropy value generated according to the feature field of the text body, so that the context information of the packet is lacking, and the context information includes the interface of the packet entering the device and the packet to which the packet belongs. The service, the node to which the message belongs, and the like, and in the embodiment of the present application, when the predetermined entropy value is the context entropy value or the integrated entropy value, that is, the context entropy is carried in the first IP of the second packet. The value or the integrated entropy value further improves the uniformity of load balancing.
在本申请的实施例中,在上述预定熵值包括本征熵值,用预定熵值对第二IP地址中指定位置的值进行加密,即通过第一报文的本征熵值对第二IP地址进行加密,既在报文中添加了第一报文的熵又对PE1节点上的IP地址进行了加密,既可以在不需要underlay网络中的非业务感知结点升级且不依赖MPLS技术的情况下避免了IPv4和IPv6 underlay网络中的负载均衡不均匀的情况,又可以保 证IP地址不会暴露。In an embodiment of the present application, the predetermined entropy value includes an eigen-entropy value, and the value of the specified position in the second IP address is encrypted by using a predetermined entropy value, that is, the second eigen-entropy value of the first packet is used. The IP address is encrypted. The entropy of the first packet is added to the packet, and the IP address on the PE1 node is encrypted. The non-service-aware node in the underlay network is not required to be upgraded and does not depend on MPLS technology. In this case, the load balancing unevenness in the IPv4 and IPv6 underlay networks is avoided, and the IP address is not exposed.
需要说明的是,上述特征字段可以包括以下至少之一:所述第一报文的源IP、目的IP、协议类型、源端口、目的端口、IPv4的ToS字段以及IPv6的Flow-1abel字段;所述第一报文的源媒体访问控制(MAC)、目的MAC;所述第一报文的以太网类型(ethertype)、内外层虚拟局域网标识(VLAN ID)、802.1p优先级;其中,所述802.1p优先级指的是802.1p定义的优先级字段,包括标记协议标识(Tag Protocol Identifier,TPID)为0x8100或0x88a8的Tag中的优先级。It should be noted that the foregoing feature field may include at least one of the following: a source IP, a destination IP, a protocol type, a source port, a destination port, an IPv4 ToS field, and a Flow-1abel field of the IPv6. a source media access control (MAC) and a destination MAC address of the first packet, an ethertype of the first packet, an inner and outer virtual local area network identifier (VLAN ID), and an 802.1p priority; The 802.1p priority refers to the priority field defined by 802.1p, including the priority in the tag with the Tag Protocol Identifier (TPID) of 0x8100 or 0x88a8.
上述AC对应的特征配置信息可以包括以下至少之一:由所述AC映射得到的信息;由所述AC所在的节点得到的节点级配置信息;由所述AC所属的主接口映射得到的信息;由AC所属主接口对应的以太网分段标识符(ESI)经过哈希计算后得到的信息;所述AC所属主接口对应的ESI本身;所述AC所属主接口对应的ESI对应的ESI IP,其中,所述ESI IP是为所述ESI配置的一个IP地址,所述ESI IP与所述ESI所属的节点上其它ESI对应的ESI IP互不相同。The feature configuration information corresponding to the AC may include at least one of the following: information obtained by the AC mapping; node-level configuration information obtained by the node where the AC is located; and information obtained by mapping the primary interface to which the AC belongs; Information obtained by hashing the Ethernet segment identifier (ESI) corresponding to the primary interface to which the AC belongs; the ESI itself corresponding to the primary interface to which the AC belongs; the ESI IP corresponding to the ESI corresponding to the primary interface to which the AC belongs, The ESI IP is an IP address configured for the ESI, and the ESI IP is different from the ESI IP corresponding to other ESIs on the node to which the ESI belongs.
在本申请的实施例中,上述处理器1004还可以设置为按照以下至少之一方法得到上述综合熵值,但并不限于此:由所述本征熵值和所述上下文熵值进行按位逻辑异或运算,得到所述综合熵值;由所述本征熵值、所述上下文熵值和任意N个常数进行计算,得到所述综合熵值;其中,N为大于或等于1的整数。需要说明的是,上述计算可以哈希计算,但并不限于此。In the embodiment of the present application, the processor 1004 may be further configured to obtain the foregoing comprehensive entropy value according to at least one of the following methods, but is not limited thereto: performing bitwise by the eigen entropy value and the context entropy value Performing a logical exclusive OR operation to obtain the integrated entropy value; calculating by the eigen-entropy value, the context entropy value, and any N constants to obtain the comprehensive entropy value; wherein N is an integer greater than or equal to . It should be noted that the above calculation may be hashed, but is not limited thereto.
在本申请的一个实施例中,上述AC所属业务类型可以包括以下至少之一:在虚拟专用网络(VPN)中基于所述第一报文的MAC头转发的VPN;在VPN中基于所述第一报文的IP头转发的VPN;在VPN中根据所述AC上的配置信息进行转发的VPN。In an embodiment of the present application, the service type of the AC may include at least one of: a VPN forwarded based on a MAC header of the first packet in a virtual private network (VPN); A VPN forwarded by the IP header of a packet; a VPN forwarded in the VPN according to the configuration information on the AC.
在本申请的一个实施例中,上述处理器1004还可以设置为以下至少之一,但并不限于此:对所述第一报文进行可扩展虚拟局域网(VXLAN)封装;对所述第一报文进行VXLAN通用协议扩展(GPE)封装;对所述第一报文进行通用网络虚拟化封装(Geneve);对所述第一报文进行网络虚拟化之通用路由封装(Network Virtualization using Generic Routing Encapsulation,NVGRE);对所述第一报文进行扩展SRv6封装。In an embodiment of the present application, the processor 1004 may be configured as at least one of the following, but is not limited thereto: performing an extensible virtual local area network (VXLAN) encapsulation on the first packet; The packet is subjected to VXLAN General Protocol Extension (GPE) encapsulation; the first packet is subjected to a general network virtualization encapsulation (Geneve); and the first packet is subjected to network virtualization for network virtualization (Gene Virtualization using Generic Routing) Encapsulation, NVGRE); extending the SRv6 encapsulation of the first packet.
本申请实施例还提供了一种节点,该节点可以是图1至图4中任一图所示的PE节点(比如PE1,PE2,PE3并不限于此)或非业务感知节点(P1或P2),图11是根据本申请实施例提供的节点的结构框图,如图11所示,该装置包括通信接口1102和处理器1104。The embodiment of the present application further provides a node, which may be a PE node (such as PE1, PE2, PE3 is not limited to this) or a non-service aware node (P1 or P2) as shown in any one of FIG. 1 to FIG. FIG. 11 is a structural block diagram of a node according to an embodiment of the present application. As shown in FIG. 11, the device includes a communication interface 1102 and a processor 1104.
通信接口1102,设置为接收第一服务提供商边缘设备PE发送的第三报文,其中,第三报文为第一PE对从第一PE的接入电路(AC)接收的第四报文进行处理得到的报文,第三报文中包括:第一互联网协议(IP)地址;第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址,预定熵值用于标识第四报文的熵。The communication interface 1102 is configured to receive a third packet sent by the first serving provider edge device PE, where the third packet is a fourth packet received by the first PE from the access circuit (AC) of the first PE. And processing the obtained packet, the third packet includes: a first Internet Protocol (IP) address; the first IP address is an IP address obtained by modifying the second IP address by using a predetermined entropy value, and the predetermined entropy value is used for identifying The entropy of the fourth message.
处理器1104,与上述通信接口1102连接,设置为处理第三报文。The processor 1104 is connected to the communication interface 1102 and configured to process the third message.
通过上述节点,通过接收到的第三报文中包括的第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址,其中,该预定熵值用于标识第四报文的熵;即通过在第三报文的IP中携带与第四报文的熵有关的熵值信息,使得P1能够通过上述预定熵值在一定程度上区分接收到的不同第二报文中所封装的第一报文是否属于不同数据流,比如,是否属于不同业务,是否属于不同<源MAC,目的MAC>二元组,即在第二报文的传输过程中能够体现其所封装的第一报文的流特征,因而可以避免相关技术中underlay报文传输过程中无法体现overlay报文的流特征的情况,提高了负载均衡的程度。And the first IP address included in the received third packet is an IP address obtained by modifying the second IP address by using a predetermined entropy value, where the predetermined entropy value is used to identify the fourth packet. Entropy; that is, by carrying the entropy value information related to the entropy of the fourth packet in the IP of the third packet, so that P1 can distinguish the encapsulated different second packet encapsulated by the predetermined entropy value to some extent. Whether the first packet belongs to a different data stream, for example, whether it belongs to a different service, whether it belongs to a different <source MAC, destination MAC> binary group, that is, the first packet encapsulated in the second packet transmission process The flow characteristics of the packet can avoid the situation that the flow characteristics of the overlay message cannot be reflected in the underlay packet transmission process in the related art, and the degree of load balancing is improved.
需要说明的是,上述第三报文相当于上述图10所示的实施例中的第二报文,上述第四报文相当于上述图10所示的实施例中的第一报文。上述第一PE上述图10所示的PE节点,但并不限于此。It should be noted that the third message corresponds to the second message in the embodiment shown in FIG. 10, and the fourth message corresponds to the first message in the embodiment shown in FIG. The first PE described above is the PE node shown in FIG. 10, but is not limited thereto.
需要说明的是,所述第一IP地址位于所述第三报文的以下至少之一位置中:源IP,目的IP以及互联网协议第6版IPv6选项头中。It should be noted that the first IP address is located in at least one of the following locations of the third packet: source IP, destination IP, and Internet Protocol version 6 IPv6 option header.
需要说明的是,在所述第一IP地址位于所述第二报文的IPv6选项头中的情况下,通过以下之一方式指示所述IPv6选项头中是否存在所述预定熵值:通过第三报文的IPv6头中下一报头(Next-header)字段指示,通过所述IPv6选项头中的字段指示。It should be noted that, in a case where the first IP address is located in an IPv6 option header of the second packet, whether the predetermined entropy value exists in the IPv6 option header is indicated by one of the following manners: The Next-header field indication in the IPv6 header of the three messages is indicated by the field in the IPv6 option header.
需要说明的是,上述第三报文的目的IP为接收第三报文的节点上的远端IP地址,即上述节点为非业务感知节点中,上述处理器1104还可以设置为以下至 少之一:根据所述第一IP地址选择负载均衡转发信息,根据所述负载均衡转发信息转发所述第三报文;将与所述第一IP地址中携带的所述预定熵值对应的二进制位分别视为预定值,对所述第三报文进行除转发之外的其它处理;直接转发所述第三报文。It should be noted that the destination IP address of the third packet is the remote IP address of the node that receives the third packet, that is, the node is a non-service aware node, and the processor 1104 may be configured as at least one of the following Selecting the load balancing forwarding information according to the first IP address, and forwarding the third packet according to the load balancing forwarding information; respectively, the binary bits corresponding to the predetermined entropy value carried in the first IP address are respectively Considering a predetermined value, performing processing other than forwarding on the third packet; directly forwarding the third packet.
需要说明的是,上述负载均衡转发信息可以是在负载均衡过程中对第三报文选择转发路径的信息。It should be noted that the foregoing load balancing forwarding information may be information for selecting a forwarding path for the third packet in the load balancing process.
在上述第三报文的目的IP是为PE节点配置的IP地址时,即上述节点为PE节点的情况下,上述处理器1104还可以设置为以下至少之一:将所述第三报文中的所述第一IP地址中被所述预定熵值修改过的二进制位设置为预定值;其中,不同二进制位设置的预定值相同或不同;重新计算所述预定熵值,并以重新计算后的所述预定熵值对所述第三报文中的所述第一IP地址中被所述预定熵值加密的部分进行解密;其中,所述预定熵值为本征熵值;将所述第三报文中的包含所述第一IP地址的IPv6选项头剥离;直接处理所述第三报文。When the destination IP address of the third packet is an IP address configured for the PE node, that is, the foregoing node is a PE node, the processor 1104 may be configured to be at least one of the following: The binary bit of the first IP address modified by the predetermined entropy value is set to a predetermined value; wherein the predetermined values set by different binary bits are the same or different; the predetermined entropy value is recalculated and recalculated The predetermined entropy value decrypts a portion of the first IP address in the third packet that is encrypted by the predetermined entropy value; wherein the predetermined entropy value is an intrinsic entropy value; The IPv6 option header stripping of the first IP address in the third packet is stripped; the third packet is directly processed.
需要说明的是,上述预定熵值可以与上述图10所示的实施例中的预定熵值的含义或解释相同,此处不再赘述。It should be noted that the foregoing predetermined entropy value may be the same as the meaning or interpretation of the predetermined entropy value in the embodiment shown in FIG. 10 above, and details are not described herein again.
实施例4Example 4
本申请实施例还提供了一种报文的处理系统,包括:第一节点和第二节点;其中,所述第一节点,设置为从接入电路(AC)接收第一报文,对所述第一报文进行处理得到至少一个第二报文以及将所述第二报文发送给所述第二节点;其中,所述第二报文中包括:第一互联网协议(IP)地址;所述第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址;其中,所述预定熵值用于标识所述第一报文的熵;所述第二节点,设置为在接收到所述第二报文后,处理所述第二报文。The embodiment of the present application 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 an access circuit (AC), where The first packet is processed to obtain at least one second packet, and the second packet is sent to the second node, where the second packet includes: a first Internet Protocol (IP) address; The first IP address is an IP address obtained by modifying a second IP address using a predetermined entropy value; wherein the predetermined entropy value is used to identify an entropy of the first packet; and the second node is set to After receiving the second packet, processing the second packet.
需要说明的是,上述第一节点可以是上述实施例3中的图10所示的PE节点,上述第二节点可以是上述实施例3中的图11所示的节点(PE节点或非业务感知节点)。对于第一节点和第二节点的解释,详见实施例3,此处不再赘述。It should be noted that the first node may be the PE node shown in FIG. 10 in the foregoing Embodiment 3, and the second node may be the node shown in FIG. 11 in the foregoing Embodiment 3 (PE node or non-service sensing). node). For the explanation of the first node and the second node, refer to Embodiment 3, and details are not described herein again.
实施例5Example 5
本申请的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项所述的方法。The embodiment of the present application further provides a storage medium including a stored program, wherein the program runs to perform the method described in any of the above.
在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器 (Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等多种可以存储程序代码的介质。In this embodiment, the foregoing storage medium may include, but is not limited to, a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk. A variety of media that can store program code.
本申请的实施例还提供了一种处理器,该处理器设置为运行程序,其中,该程序运行时执行上述任一项方法中的步骤。Embodiments of the present application also provide a processor configured to execute a program, wherein the program executes the steps of any of the above methods when executed.
本实施例中的具体示例可以参考上述实施例及示例实施方式中所描述的示例,本实施例在此不再赘述。For specific examples in this embodiment, reference may be made to the examples described in the foregoing embodiments and example embodiments, and details are not described herein again.
为了更好地理解本申请实施例,以下结合示例的实施例对本申请做进一步解释。In order to better understand the embodiments of the present application, the present application will be further explained below in conjunction with the embodiments of the examples.
采用本申请示例实施例提供的所述熵IP收发节点作为PE节点,在不升级相关underlay网络的非业务感知节点,不要求underlay网络支持MPLS技术的前提下,避免了相关underlay网络的非业务感知节点上负载均衡无法体现overlay报文的流特征的情况。另外,由于熵值可以在源IP以及目IP的至少一种中携带,因此,可以避免负载均衡不均与以及需要升级相关underlay网络的非业务感知节点和要求underlay网络支持MPLS技术的情况,达到在不需要underlay网络中的非业务感知结点升级的前提下,使用统一的技术避免了IPv4和IPv6 underlay网络中的负载均衡不均匀的情况。由于识别出上下文熵值,通过进一步携带上下文熵值,进一步提高了所述负载均衡的均匀程度。进一步地,通过用Overlay报文的本征熵值对源IP或目的IP加密,既在underlay IP头中添加了Overlay报文的熵又对PE结点上的IP地址进行了加密,可以同时改善上述情况,使熵值的作用达到一种综合效果。The entropy IP transceiver node provided by the exemplary embodiment of the present application is used as a PE node, and the non-service-aware node of the relevant underlay network is not upgraded, and the underlay network is not required to support the MPLS technology, thereby avoiding non-service awareness of the related underlay network. The load balancing on the node cannot reflect the flow characteristics of the overlay packet. In addition, since the entropy value can be carried in at least one of the source IP and the destination IP, it is possible to avoid load balancing unevenness and the need to upgrade the non-service-aware node of the relevant underlay network and the requirement that the underlay network support the MPLS technology. Under the premise of not requiring non-service-aware node upgrade in the underlay network, the use of unified technology avoids uneven load balancing in IPv4 and IPv6 underlay networks. Since the context entropy value is identified, the degree of uniformity of the load balancing is further improved by further carrying the context entropy value. Further, by encrypting the source IP or the destination IP with the intrinsic entropy value of the Overlay packet, the entropy of the Overlay packet is added to the underlay IP header, and the IP address on the PE node is encrypted, which can be simultaneously improved. In the above case, the effect of the entropy value is achieved to achieve a comprehensive effect.
图12是根据本申请示例实施例提供的PE节点的结构示意图,如图12所示,包括:VPN基础设施模块,熵IP第一插件模块和熵IP第二插件模块,其中,熵IP第二插件模块是可选的,即上述PE节点可以包括熵IP第二插件模块,也可以不包括熵IP第二插件模块,具体包括还是不包括熵IP第二插件模块,可以根据需要进行设置,并不限定。12 is a schematic structural diagram of a PE node according to an exemplary embodiment of the present application. As shown in FIG. 12, the system includes: a VPN infrastructure module, an entropy IP first plug-in module, and an entropy IP second plug-in module, where entropy IP is second. The plug-in module is optional, that is, the PE node may include an entropy IP second plug-in module, or may not include an entropy IP second plug-in module, and specifically includes or does not include an entropy IP second plug-in module, and may be set as needed, and Not limited.
需要说明的是,上述VPN基础设施模块可以与上述接收模块82,发送模块86完成的功能类似,可以完成上述处理模块84的部分功能,可以完成与上述通信接口1002的功能以及处理器1004的部分功能,或者可以完成上述通信接口1102完成的功能以及处理器1104的部分功能,但并不限于此。It should be noted that the VPN infrastructure module may be similar to the functions performed by the receiving module 82 and the sending module 86, and may complete some functions of the processing module 84, and may complete the functions of the communication interface 1002 and the portion of the processor 1004. The function, or the functions performed by the communication interface 1102 described above and some functions of the processor 1104, may be completed, but are not limited thereto.
上述熵IP第一插件模块可以完成上述处理模块84或处理器1004的部分功 能,比如完成使用预定熵值对第二IP进行修改的功能;上述熵IP第二插件模块可以完成上述处理器1104的部分功能,但并不限于此。The entropy IP first plug-in module may perform some functions of the processing module 84 or the processor 1004, such as a function of modifying a second IP using a predetermined entropy value; the entropy IP second plug-in module may complete the processor 1104. Some features, but not limited to this.
图13是根据本申请示例实施例提供的非业务感知节点的结构示意图,如图13所示,包括:IP基础设置模块和熵IP第三插件模块。需要说明的是,熵IP第三插件模块是可选的,即上述非业务感知节点可以包括熵IP第三插件模块,也可以不包括熵IP第三插件模块,具体包括还是不包括熵IP第三插件模块,可以根据需要进行设置,并不限定。FIG. 13 is a schematic structural diagram of a non-service-aware node according to an exemplary embodiment of the present application. As shown in FIG. 13, the method includes: an IP basic setting module and an entropy IP third plug-in module. It should be noted that the entropy IP third plug-in module is optional, that is, the non-service-aware node may include an entropy IP third plug-in module, or may not include an entropy IP third plug-in module, and specifically includes or does not include entropy IP. The three plug-in modules can be set as needed, and are not limited.
需要说明的是,上述IP基础设置模块可以完成与上述通信接口1102以及上述处理器1104的部分功能,上述熵IP第三插件模块可以完成与上述处理器1104的部分功能,但并不限于此。It should be noted that the IP basic setting module may complete some functions of the communication interface 1102 and the processor 1104. The entropy IP third plug-in module may perform some functions of the processor 1104, but is not limited thereto.
对于上述PE节点或非业务感知节点包括的上述模块的作用可以通过下述示例实施例进行详细描述。The functions of the above modules included in the above PE node or non-service aware node may be described in detail by the following exemplary embodiments.
示例实施例1 Example embodiment 1
结合图12对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE结点的实施作进一步的详细描述。The implementation of the PE node of the method and apparatus (system) of transmitting and using the entropy value of the inner layer message in the outer IP header will be further described in detail with reference to FIG.
1:实现所述VPN基础设施模块。1: Implement the VPN infrastructure module.
按RFC7348实现普通VXLAN业务,则所得VXLAN业务的控制面模块即所述VPN基础设施模块的控制面和人机界面部分。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.
同理,按RFC7348实现VXLAN业务,则所得VXLAN业务的转发面模块即所述VPN基础设施模块的转发面部分。Similarly, if the VXLAN service is implemented according to RFC7348, the forwarding plane module of the obtained VXLAN service is the forwarding plane part of the VPN infrastructure module.
除特殊说明之处以外,本模块与以上所述RFC7348对应的人机界面和处理流程相同。Except for special instructions, this module has the same human machine interface and processing flow as RFC7348 described above.
值得一提的是,按以上方法所得的一种EVPN控制面模块,不失一般性,其可以用于包括VXLAN隧道的配置、EVPN实例的配置、AC与EVPN实例的绑定配置、VXLAN隧道与EVPN实例的绑定配置等内容,其中,EVPN实例以VNI为标识,VNI来自用户配置。其中,所述VXLAN隧道在其两端结点上均以所在结点的VPN Router ID作为源IP,以对端结点的VPN Router ID作为目的IP。其中,所述VPN Router ID是一个loopback接口的IP地址。为描述简便起见,不失一般性,本模块设定一个节点只有一个VPN Router ID。It is worth mentioning that an EVPN control plane module obtained by the above method is used for the configuration of the VXLAN tunnel, the configuration of the EVPN instance, the binding configuration of the AC and the EVPN instance, and the VXLAN tunnel. Binding configuration of the EVPN instance. The EVPN instance is identified by the VNI and the VNI is configured by the user. The VXLAN tunnel uses the VPN Router ID of the node as the source IP and the VPN Router ID of the peer node as the destination IP. The VPN Router ID is an IP address of a loopback interface. For the sake of simplicity, without loss of generality, this module sets a node with only one VPN Router ID.
本模块作为软件实现,需要实现一种插件机制,设置为在本模块按RFC7432流程转发所述第一报文时,给第一报文添加IP封装后,得到第X报文,所述第X报文还没有封装链路层转发信息(比如以太头),然后,以第X报文调用熵IP第一插件模块对IP封装中的源IP和目的IP进行修改,得到第Y报文,然后继续按RFC7432的流程转发所述第Y报文,其中包括按所述第Y报文的目的IP封装链路层转发信息等其它转发信息,得到第二报文(相当于上述实施例中的第二报文或第三报文),并发送所述第二报文。所述插件机制可以是函数调用、回调函数、多态函数也可以是独立插件。As a software implementation, the module needs to implement a plug-in mechanism, and when the module forwards the first packet according to the RFC7432 process, the IP packet is added to the first packet, and the X-th message is obtained. The packet does not encapsulate the link layer forwarding information (such as the Ethernet header). Then, the X-th entropy IP first plug-in module is used to modify the source IP address and the destination IP address in the IP encapsulation to obtain the Yth packet, and then obtain the Yth packet. And continuing to forward the yth message according to the process of the RFC7432, including encapsulating the link layer forwarding information and other forwarding information according to the destination IP address of the yth message, and obtaining the second packet (corresponding to the foregoing embodiment) a second message or a third message), and sending the second message. The plugin mechanism can be a function call, a callback function, a polymorphic function, or a standalone plugin.
除插件机制以外,本模块的转发面与RFC7348对应转发面的处理流程相同,其中包括BUM报文转发流程、MAC学习流程、单播转发转发流程等。Except for the plug-in mechanism, the forwarding plane of the module is the same as that of the forwarding plane of the RFC7348, including the BUM packet forwarding process, the MAC learning process, and the unicast forwarding and forwarding process.
此外,作为VPN Router ID的IP地址必须是一个回送(loopback)接口地址,该loopback接口地址可以配置子网掩码,并且,不需要所述子网掩码的每个二进制位的值均为1。值得一提的是,当所述子网掩码的低N位二进制位值为0时,该loopback接口将在IP路由表中形成一个对应于该子网掩码的路由前缀,并在underlay网络中发布该路由前缀;并且,本结点在接收到一个目的IP匹配该路由前缀的报文时,都认为是该loopback接口的报文,与目的IP为该loopback接口的IP地址的报文进行同样的处理。In addition, the IP address of the VPN Router ID must be a loopback interface address, the loopback interface address can be configured with a subnet mask, and the value of each bit of the subnet mask is not required to be 1 . It is worth mentioning that when the low N bit value of the subnet mask is 0, the loopback interface will form a route prefix corresponding to the subnet mask in the IP routing table, and in the underlay network. The route prefix is advertised; and the node considers that the packet with the destination IP address matching the route prefix is the packet of the loopback interface and the packet whose destination IP address is the IP address of the loopback interface. The same processing.
此外,不失一般性,在本示例实施例中,设定underlay网络为IPv4网络,因此,VXLAN隧道的源IP和目的IP均为IPv4地址。In addition, without loss of generality, in the present exemplary embodiment, the underlay network is set to be an IPv4 network. Therefore, the source IP address and the destination IP address of the VXLAN tunnel are both IPv4 addresses.
此外,本模块当接收到的所述第三报文(相当于上述实施例中的第二报文或第三报文)的目的IP匹配所述EVPN隧道的源IP所在的接口所对应的直连路由前缀时,就认为所述第三报文匹配该隧道,而不检查所述第三报文的源IP是否匹配所述EVPN隧道的目的IP。In addition, 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. When the route prefix is connected, 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.
2:实现所述熵IP第一插件的具体方法。2: A specific method of implementing the entropy IP first plug-in.
与RFC7348不同,本模块还要基于所述第一报文的源MAC通过某种哈希运算计算出5位熵值,并用所得熵值取代所述VPN基础设施模块输入的IP报文的目的IP的低5位原来的值。Different from RFC7348, the module further calculates a 5-bit entropy value by using a hash operation based on the source MAC address of the first packet, and replaces the destination IP address of the IP packet input by the VPN infrastructure module with the obtained entropy value. The lower 5 digits of the original value.
3:实现所述熵IP第二插件模块的具体方法如下:本示例实施例无需此模块。3: The specific method for implementing the entropy IP second plug-in module is as follows: This example embodiment does not need this module.
结合图13对所述在外层IP头中传输和使用内层报文的熵值的方法和装置 (系统)的技术方案的非业务感知P结点的实施作进一步的详细描述:The implementation of the non-service-aware P-node of the method and apparatus (system) of transmitting and using the entropy value of the inner-layer message in the outer IP header is further described in detail with reference to FIG.
1:实现所述IP基础设施模块。1: Implement the IP infrastructure module.
按相关技术实现基本的IPv4路由和IPv4转发功能,所述IPv4转发功能中包括基于MC-LAG的负载均衡功能,负载均衡采用所接收的IP报文(相当于上述实施例中的第二报文或第三报文)的IP五元组作为算熵因子,进行哈希计算,得到所述IP报文的熵值。The basic IPv4 routing and the IPv4 forwarding function are implemented according to the related technologies. The IPv4 forwarding function includes an MC-LAG-based load balancing function, and the load balancing uses the received IP packet (corresponding to the second packet in the foregoing embodiment). Or the IP quintuple of the third packet is used as an entropy factor to perform a hash calculation to obtain an entropy value of the IP packet.
值得一提的是,本模块并不感知所述IP报文中是否带有内层报文的熵。但是,如果所述IP报文的源IP或目的IP中本身已经包含了内层报文的熵,则算熵因子中就自动包含了内层报文的熵,从而所得新熵值中也就包括了内层报文的熵。It is worth mentioning that the module does not sense whether the IP packet has the entropy of the inner packet. However, if the source IP or the destination IP of the IP packet already contains the entropy of the inner packet, the entropy factor automatically includes the entropy of the inner packet, and the new entropy value is obtained. Includes the entropy of the inner message.
本模块也不需要调用所述熵IP第三插件。This module also does not need to call the entropy IP third plugin.
2:实现所述熵IP第三插件模块的具体方法如下。本模块在这种结点上不存在,一般地,这种结点都是相关结点。2: The specific method for implementing the entropy IP third plug-in module is as follows. This module does not exist at this node. Generally, such nodes are related nodes.
以图1所示的VPN拓扑为例,网络及业务部署流程包括以下六步。Taking the VPN topology shown in Figure 1 as an example, the network and service deployment process includes the following six steps.
第一步,选取所述PE结点作为PE1、PE2和PE3结点,选取所述非业务感知结点作为P1和P2结点,选定underlay网络类型。本申请的每个示例实施例中的网络及业务部署流程部分均使用该示例实施例中定义的结点作为PE1、PE2、PE3、P1和P2结点,此后不再赘述。本示例实施例选定的underlay网络类型为IPv4网络。In the first step, the PE node is selected as the PE1, PE2, and PE3 nodes, and the non-service aware node is selected as the P1 and P2 nodes, and the underlay network type is selected. The network and service deployment process sections in each of the exemplary embodiments of the present application use the nodes defined in the exemplary embodiment as the PE1, PE2, PE3, P1, and P2 nodes, and details are not described herein again. The underlay network type selected in this example embodiment is an IPv4 network.
第二步,配置并发布各PE结点的VPN Router ID。给各PE结点配置一个loopback接口,并给该loopback接口配置一个IP地址以及对应的子网掩码,并使用该loopback接口的IP地址作为该PE的VPN Router ID,并且使以该VPN Router ID及其对应的子网掩码生成的路由前缀在underlay网络中是路由可达的(可以ping通);其中,各PE的VPN Router ID以及对应的路由前缀均不同。在本示例实施例中,所述loopback接口的子网掩码为27位子网掩码,所述各loopback接口的IP地址的主机标识部分其值均为1。The second step is to configure and publish the VPN Router ID of each PE node. Configure a 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 VPN router ID of the PE and use the VPN Router ID. The route prefix generated by the corresponding subnet mask is reachable in the underlay network (can be pinged); the VPN router ID and corresponding route prefix of each PE are different. In this example, the subnet mask of the loopback interface is a 27-bit subnet mask, and the value of the host identification part of the IP address of each loopback interface is 1.
第三步,建立图1所示的普通VXLAN网络并配置各VXLAN隧道。其中,同一对PE结点之间只有一条双向隧道。其中,配置到指定目标PE结点的VXLAN隧道时,使用该目标PE结点的VPN Router ID作为该VXLAN隧道的 目的IP地址,使用自己的VPN Router ID作为该VXLAN隧道的源IP地址。值得注意的是,按此办法配置出来的VXLAN隧道,以PE1与PE3之间的VXLAN隧道为例,在PE1上来看该隧道源IP是PE1的VPN Router ID,目的IP是PE3的VPN Router ID,而在PE3上来看该隧道的源IP是PE3的VPN Router ID,目的IP是PE1的VPN Router ID。In the third step, a normal VXLAN network as shown in FIG. 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 VXLAN tunnel is configured to use the VPN router ID of the target PE node as the destination IP address of the VXLAN tunnel, and the VPN router ID is used as the source IP address of the VXLAN tunnel. It is worth noting that the VXLAN tunnel configured in this way takes the VXLAN tunnel between PE1 and PE3 as an example. On PE1, the source IP address of the tunnel is the VPN Router ID of PE1, and the destination IP address is the VPN Router ID of PE3. On PE3, the source IP address of the tunnel is the VPN Router ID of PE3, and the destination IP address is the VPN Router ID of PE1.
第四步,按图1所示建立一条VXLAN业务。其中,AC1、AC2、AC3、AC4、AC5、AC6等6个接口均作为接入电路绑定所述VXLAN业务,并将所述各VXLAN隧道绑定到所述VXLAN业务中。In the fourth step, 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 the VXLAN tunnels are bound to the VXLAN service.
第五步,消除接入侧环路。由于各PE结点对于从各AC接口收到的BUM报文,均采用入口复制,以PE3从AC3收到的BUM报文(相当于上述实施例中的第一报文或第四报文)为例,PE3会给PE1和PE2各复制一份,PE1和PE2在给CE1发包时,其中要有一个结点能够丢弃其中一份,这通过在AC1和AC2所属的物理口上部署一条MC-LAG会话将AC1、AC2所属的物理口阻塞掉一个来实现,MC-LAG启用以后,CE1就不会再收到两份BUM报文,CE1、PE1和PE2之间的二层环路也消失了。同理,AC3、AC4所属的物理口上也要部署一条多机架链路聚合组(Multi-chassis-Link Aggregation Group,MC-LAG)会话。不失一般性,假设两条MC-LAG连接分别阻塞的是AC1所在的物理口和AC5所在的物理口。In the fifth step, the access side loop is eliminated. The PEs receive the BUM packets received by the PE3 from the AC3 (equivalent to the first packet or the fourth packet in the foregoing embodiment). For example, PE3 will copy one copy of PE1 and PE2. When PE1 and PE2 send packets to CE1, one of the nodes can discard one of them. This is to deploy an MC-LAG on the physical interface to which AC1 and AC2 belong. The session is blocked by the physical interface of AC1 and AC2. After the MC-LAG is enabled, CE1 will not receive two BUM packets. The Layer 2 loop between CE1, PE1, and PE2 also disappears. In the same way, a multi-chassis-link Aggregation Group (MC-LAG) session is also deployed on the physical interfaces to which AC3 and AC4 belong. Without losing the generality, it is assumed that the two MC-LAG connections are blocked by the physical interface where AC1 is located and the physical port where AC5 is located.
第六步,经过以上步骤,所述VXLAN业务就建立起来了,可以使用数据报文来验证本示例实施例中定义的PE结点和非业务感知结点上的转发行为和效果了。In the sixth step, after the above steps, the VXLAN service is established, and the data packet can be used to verify the forwarding behavior and effect on the PE node and the non-service aware node defined in the exemplary embodiment.
以图1所示的VPN拓扑为例,端到端报文转发流程包括以下三步。Taking the VPN topology shown in Figure 1 as an example, the end-to-end packet forwarding process includes the following three steps.
第一步,当PE1结点从本地AC1收到一个广播未知-单播组播(Broadcast&Unknown-unicast&Multicast,BUM)报文B1(相当于上述实施例中的第一报文或第四报文)时,所述PE结点按RFC7348定义的转发流程转发B1报文,分别将B1报文的两个副本B1b(相当于上述实施例中的第二报文或第三报文)和B1c(相当于上述实施例中的第二报文或第三报文)发给PE2和PE3,且所述B1b和B1c两个报文相比B1报文来说均添加了VXLAN封装,所述VXLAN封装的外层IP头中包括了所述B1报文的本征熵值,所述本征熵值 即由B1报文本身的特征字段计算出来的熵值。The first step is when the PE1 node receives a Broadcast Unknown-unicast & Multicast (BUM) message B1 from the local AC1 (equivalent to the first packet or the fourth packet in the foregoing embodiment). The PE node forwards the B1 message according to the forwarding process defined in RFC7348, and respectively copies two copies B1b of the B1 message (corresponding to the second message or the third message in the foregoing embodiment) and B1c (equivalent to The second packet or the third packet in the foregoing embodiment is sent to the PE2 and the PE3, and the B1b and the B1c packets are added with a VXLAN encapsulation, and the VXLAN encapsulation is external to the B1 packet. The eigen-entropy value of the B1 message is included in the layer IP header, and the eigen-entropy value is an entropy value calculated by the feature field of the B1 text body.
第二步,不失一般性,假设在PE3结点收到所述B1c报文之前,underlay网络中的一个非业务感知结点P1先收到了所述B1c报文,由于所述P1结点不去感知内层报文,它将仍像转发普通IP报文那样,按B1c报文的目的IP转发B1c报文,不失一般性,本示例实施例设定所述P1结点按B1c报文的目的IP得出的转发结果是将B1c报文从图1中所示的P1节点和P2结点之间的链路聚合组(LAG)上转发出去。进一步地,所述P1结点像转发普通IP报文那样,按B1c报文的最外层IP头对应的五元组计算负荷分担熵值,但是,由于B1c报文的最外层目的IP中已经包括了所述B1报文的熵,因此,P1结点上计算出的B1c报文的熵值将自动包含所述B1报文的熵。这样一来,随着内层B1报文的所述特征字段取不同的值,B1报文的熵值和B1c报文的熵值都会发生变化,于是所述P1结点上的负荷分担流程给B1c报文最终选择的出口转发信息也会随之变化,也就是说,P1结点上的负荷分担更均匀了,因为,在PE1没有实现本申请以前,无论B1报文怎样变化,在P1结点上B1c报文得到的出口转发信息都是一样的。正是在PE1给B1c报文的外层IP头中添加的的内层B1报文的熵的帮助下,所述P1结点上的负荷分担的均衡性才得以提高。The second step, without loss of generality, assumes that a non-service aware node P1 in the underlay network first receives the B1c message before the PE3 node receives the B1c message, because the P1 node does not To perceive the inner layer packet, it will still forward the B1c packet according to the destination IP address of the B1c packet, as in the case of forwarding the normal IP packet, without losing the generality. In this example, the P1 node is configured to press the B1c packet. The destination IP derived forwarding result is that the B1c message is forwarded from the link aggregation group (LAG) between the P1 node and the P2 node shown in FIG. Further, the P1 node calculates the load sharing entropy value according to the quintuple corresponding to the outermost IP header of the B1c packet, as in the case of forwarding the normal IP packet, but the outermost destination IP address of the B1c packet is The entropy of the B1 message has been included. Therefore, the entropy value of the B1c message calculated on the P1 node will automatically contain the entropy of the B1 message. In this way, the entropy value of the B1 message and the entropy value of the B1c message change when the feature field of the inner B1 packet takes a different value, so the load sharing process on the P1 node is given. The egress forwarding information finally selected by the B1c packet will also change, that is, the load sharing on the P1 node is more uniform, because before the PE1 implements this application, no matter how the B1 packet changes, the P1 junction The egress forwarding information obtained by clicking the B1c packet is the same. The balance of the load sharing on the P1 node is improved by the entropy of the inner B1 message added by the PE1 to the outer IP header of the B1c message.
第三步,当PE3结点收到所述B1c报文时,所述VPN基础设施模块可以对B1c报文实施性能统计,所述对B1c报文实施性能统计的算法,不因B1c中所含的熵值不同而采用不同的性能统计计数器,因为对PE3结点来说,本示例实施例中采用的熵值是具有伪随机性的,是没有意义的。In the third step, when the PE3 node receives the B1c packet, the VPN infrastructure module can perform performance statistics on the B1c packet, and the algorithm for performing performance statistics on the B1c packet is not included in the B1c packet. The entropy values are different and different performance statistics counters are used, because for the PE3 nodes, the entropy values used in the present exemplary embodiment are pseudo-random, which is meaningless.
通过上述第二步中已经可知,在本申请实施例中并没有对P1结点做任何改动,就提高了P1结点上的负荷分担效果。并且,本申请没有使用任何MPLS技术。It can be seen from the above second step that in the embodiment of the present application, no change is made to the P1 node, and the load sharing effect on the P1 node is improved. Also, this application does not use any MPLS technology.
示例实施例2 Example embodiment 2
结合图12对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE结点的实施作进一步的详细描述。The implementation of the PE node of the method and apparatus (system) of transmitting and using the entropy value of the inner layer message in the outer IP header will be further described in detail with reference to FIG.
1:实现所述VPN基础设施模块。1: Implement the VPN infrastructure module.
除明确说明之处以外,本模块与示例实施例1中的同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 1, except where explicitly stated.
与示例实施例1不同,本模块设定underlay网络为IPv6网络。值得一提的 是,这意味着本模块所配置的VXLAN隧道的源IP和目的IP均为IPv6地址。Different from the exemplary embodiment 1, the module sets the underlay network to be an IPv6 network. It is worth mentioning that this means that the source IP address and destination IP address of the VXLAN tunnel configured in this module are both IPv6 addresses.
与示例实施例1不同,本模块的插件机制,还要在接收到所述第三报文,并对所述第三报文进行链路层检错处理和IP层检错处理之后,并且处理所述第三报文之前,调用熵IP第二插件模块对IP封装中的源IP和目的IP进行修改,然后对修改后的报文继续按照RFC7348中的处理流程进行处理。Different from the exemplary embodiment 1, the plug-in mechanism of the module is further processed after receiving the third packet and performing link layer error detection processing and IP layer error detection processing on the third packet. Before the third packet, the entropy IP second plug-in module is called to modify the source IP and the destination IP in the IP encapsulation, and then the modified packet continues to be processed according to the processing flow in RFC7348.
2:实现所述熵IP第一插件模块的具体方法如下。2: The specific method of implementing the entropy IP first plug-in module is as follows.
除明确说明之处以外,本模块与示例实施例1中的同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 1, except where explicitly stated.
与示例实施例1不同,本模块使用第一报文的入口AC所属的物理口的接口名的哈希值作为所述第一报文的32位熵值。Different from the first embodiment, the module uses the hash value of the interface name of the physical interface to which the ingress AC of the first packet belongs, as the 32-bit entropy value of the first packet.
与示例实施例1不同,本模块所使用的VXLAN封装的源IP和目的IP均为IPv6地址,并符合RFC7348 Section 5 Figure 2中定义的格式。Different from the exemplary embodiment 1, the source IP address and the destination IP of the VXLAN package used in this module are both IPv6 addresses and conform to the format defined in RFC7348 Section 5 Figure 2.
与示例实施例1不同,本模块使用第二报文的源IP字段作为熵IP,所述熵IP为用所述熵值取代所述VPN基础设施模块输入的源IP的低32位所得的IP地址。Different from the exemplary embodiment 1, the module uses the source IP field of the second packet as the entropy IP, and the entropy IP is the IP obtained by replacing the lower 32 bits of the source IP input by the VPN infrastructure module with the entropy value. address.
值得注意的是,本申请实施例中所述采用某字段作为熵IP,指的是采用该字段作为所述第一报文的熵的载体,通过用所述第一报文的熵值对熵IP进行修改,就使得所述熵IP中承载了所述第一报文的熵。It should be noted that, in the embodiment of the present application, a certain field is used as the entropy IP, which refers to using the field as a carrier of the entropy of the first packet, by using the entropy value of the first packet to entropy. The IP is modified such that the entropy of the first packet is carried in the entropy IP.
3:实现所述熵IP第二插件模块的具体方法如下。3: The specific method for implementing the entropy IP second plug-in module is as follows.
本模块确定所述第三报文中需要修改的二进制位的位置,并对所述位置上的二进制位进行修改。限定于所述熵IP第一插件模块的实现,本模块确定所述第三报文中需要修改的二进制位为源IP地址的低32位,相应地,本模块还确定,对于每个需要修改的位,对该位的所述修改具体地说就是将该位清零。The module determines the position of the binary bit to be modified in the third message, and modifies the binary bit at the position. The module is limited to the implementation of the entropy IP first plug-in module, and the module determines that the binary bit to be modified in the third packet is the lower 32 bits of the source IP address, and accordingly, the module further determines that each modification is needed. The bit of the bit, specifically the modification of the bit, is to clear the bit.
结合图13对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知P结点的实施作进一步的详细描述。The implementation of the non-service-aware P-node of the method and apparatus (system) of transmitting and using the entropy value of the inner layer message in the outer IP header is further described in detail with reference to FIG.
1:实现所述IP基础设施模块。1: Implement the IP infrastructure module.
除特殊说明之处以外,本模块与示例实施例1中的同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 1, except where specifically stated.
与示例实施例1不同,本模块作为软件实现,需要实现一种插件机制,设置为调用熵IP第三插件模块获取两个IP地址值,其中一个是源IP替代值,另一个是目的IP替代值。所述插件机制可以是函数调用、回调函数、多态函数也 可以是独立插件。Different from the exemplary embodiment 1, the module is implemented as a software, and needs to implement a plug-in mechanism, which is set to call the entropy IP third plug-in module to obtain two IP address values, one of which is a source IP substitute value, and the other is a destination IP replacement. value. The plugin mechanism can be a function call, a callback function, a polymorphic function, or a standalone plugin.
与示例实施例1不同,本模块在对所述第三报文进行链路层检错处理和IP层检错处理之后,并且在进行除负载均衡之外的与所述第三报文的源IP或目的IP地址有关的处理时,调用所述IP基础设施获取所述第三报文的源IP替代值和目的IP替代值,并以所述源IP替代值(或目的IP替代值)替代所述第三报文的源IP值(或目的IP值),参与所述与源IP(或目的IP)地址有关的处理。Different from the first embodiment, the module performs link layer error detection processing and IP layer error detection processing on the third packet, and performs source other than load balancing and the third packet. When the IP or destination IP address is processed, the IP infrastructure is invoked to obtain the source IP substitute value and the destination IP substitute value of the third packet, and the source IP substitute value (or destination IP substitute value) is replaced by the source IP substitute value The source IP value (or destination IP value) of the third packet participates in the processing related to the source IP (or destination IP) address.
所述与第三报文的源IP有关的处理,包括对第三报文本身的处理,也包括由所述第三报文触发生成的其它报文的处理,比如,当所述第三报文的TTL耗尽或所述第三报文的目的IP不可达时,本节点可以向所述第三报文的源IP回应一个ICMP消息。The processing related to the source IP address of the third packet, including the processing of the third text body, and the processing of other messages generated by the third packet triggering, for example, when the third newspaper When the TTL of the text is exhausted or the destination IP of the third packet is unreachable, the node may respond to the source IP address of the third packet with an ICMP message.
2:实现所述熵IP第三插件模块的具体方法如下。2: The specific method for implementing the entropy IP third plug-in module is as follows.
本模块的主要作用是根据所述IP基础设施模块输入的IP报文的源IP和目的IP返回源IP替代值和目的IP替代值。其中,确定所述源IP替代值和目的IP替代值的算法如下:若源IP取熵掩码为0,则源IP替代值即为所述源IP本身的值;若目的IP取熵掩码为0,则目的IP替代值即为所述目的IP本身的值;若源IP取熵掩码不为0,则以所述源IP地址与所述源IP取熵掩码的反码进行按位逻辑与运算,并将所得结果的最低二进制位置为1后作为所述源IP替代值;若目的IP取熵掩码不为0,则以所述目的IP地址与所述目的IP取熵掩码的反码进行按位逻辑与运算,并将所得结果的最低二进制位置为1后作为所述目的IP替代值。The main function of this module is to return the source IP substitute value and the destination IP substitute value according to the source IP and destination IP of the IP packet input by the IP infrastructure module. The algorithm for determining the source IP substitute value and the destination IP substitute value is as follows: if the source IP takes the entropy mask to 0, the source IP substitute value is the value of the source IP itself; if the destination IP takes the entropy mask If the value is 0, the destination IP substitute value is the value of the destination IP itself. If the source IP entropy mask is not 0, the source IP address and the source IP take the inverse of the entropy mask. a logical AND operation, and the lowest binary position of the obtained result is 1 as the source IP substitute value; if the destination IP entropy mask is not 0, the entropy mask is taken with the destination IP address and the destination IP The inverse of the code performs a bitwise logical AND operation, and the lowest binary position of the obtained result is 1 as the destination IP substitute value.
其中,在本示例实施例中,所述源IP取熵掩码和所述目的IP取熵掩都是IPv6地址格式,并且,所述源IP取熵掩码的16进制值为0x0FFFFFFFF,所述目的IP取熵掩码的值为0。In this example, the source IP entropy mask and the destination IP entropy mask are both IPv6 address formats, and the source IP takes the entropy mask hexadecimal value as 0x0FFFFFFFF. The value of the destination IP entropy mask is 0.
然后,本模块将所述源IP替代值和所述目的IP替代值返回给所述IP基础设施模块。The module then returns the source IP substitute value and the destination IP substitute value to the IP infrastructure module.
值得注意的是,本模块并不改变所述IP基础设施输入的报文。It is worth noting that this module does not change the messages entered by the IP infrastructure.
以图1所示的VPN业务为例,网络及业务部署流程部分的处理步骤如下。Taking the VPN service shown in Figure 1 as an example, the processing steps of the network and service deployment process are as follows.
除特殊说明之处以外,本步骤与示例实施例1中的对应步骤相同。This step is the same as the corresponding step in the exemplary embodiment 1, except where specifically stated.
同示例实施例1,只除了underlay网络为IPv6网络,且各VPN Router ID 所在的loopback接口均配置了96位子网掩码,且VXLAN隧道的源IP和目的IP均为IPv6地址。With the example embodiment 1, only the underlay network is an IPv6 network, and the loopback interface where each VPN router ID is located is configured with a 96-bit subnet mask, and the source IP address and the destination IP address of the VXLAN tunnel are both IPv6 addresses.
以图1所示的VPN拓扑为例,端到端报文转发流程部分的处理步骤如下。Taking the VPN topology shown in Figure 1 as an example, the processing steps of the end-to-end packet forwarding process are as follows.
本步骤与示例实施例1中的对应步骤相同。除了体现本申请对P1结点的负载均衡效果提高的现象为:当所述B1报文从PE1的不同AC上进入所述EVPN实例时,其对应的B1c报文在P1结点上最终得到的出口转发信息也是不同的。此现象完全是因为PE1在B1c报文的外层IP中添加了所述B1报文的上下文熵,所述上下文熵由所述B1报文的入口AC的接口名进行哈希运算得到。This step is the same as the corresponding step in the exemplary embodiment 1. The phenomenon that the load balancing effect of the P1 node is improved in the present application is: when the B1 packet enters the EVPN instance from different ACs of the PE1, the corresponding B1c packet is finally obtained at the P1 node. The export forwarding information is also different. This phenomenon is completely because PE1 adds the context entropy of the B1 message to the outer IP of the B1c message, and the context entropy is obtained by hashing the interface name of the ingress AC of the B1 message.
示例实施例3 Example embodiment 3
下面结合图12对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE结点的实施作进一步的详细描述。The implementation of the PE node of the method and apparatus (system) of transmitting and using the entropy value of the inner layer message in the outer IP header will be further described in detail below with reference to FIG.
1:实现所述VPN基础设施模块。1: Implement the VPN infrastructure module.
除明确说明之处以外,本模块与示例实施例2中的同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 2 except where explicitly stated.
与示例实施例2不同,本模块采用的underlay网络技术为IPv6技术。Different from the exemplary embodiment 2, the underlay network technology adopted by this module is IPv6 technology.
与示例实施例2不同,本模将所述第一报文封装为所述第二报文所用的封装格式为Geneve封装格式,该格式在draft-ietf-nvo3-geneve中定义;该草案中还定义了如何在不改变基本业务效果的情况下将报文从VXLAN封装转换为Geneve封装,这部分转换属于相关技术。是否叠加Geneve封装特有的功能(相对于RFC7348),属于Geneve技术与本实施例的组合应用,与本示例实施例本身无关,为了简单起见,本示例实施例只考虑Geneve封装与VXLAN封装的公共能力范围之内的情况。Different from the exemplary embodiment 2, the module encapsulates the first packet into the second packet, and the encapsulation format is a Geneve encapsulation format, which is defined in the draft-ietf-nvo3-geneve; It defines how to convert a message from a VXLAN package to a Geneve package without changing the basic business effects. This partial conversion is a related technology. Whether to superimpose the functions unique to the Geneve package (relative to RFC7348) is a combination application of the Geneve technology and the present embodiment, and has nothing to do with the present exemplary embodiment itself. For the sake of simplicity, the present exemplary embodiment only considers the common capabilities of the Geneve package and the VXLAN package. The situation within the scope.
2:实现所述熵IP第一插件模块的具体方法如下。2: The specific method of implementing the entropy IP first plug-in module is as follows.
除明确说明之处以外,本模块与示例实施例2中的同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 2 except where explicitly stated.
与示例实施例2不同,本模块使用第一报文的目的MAC进行哈希计算的结果作为所述第一报文的8位熵值。Different from the example embodiment 2, the module uses the result of the hash calculation of the destination MAC of the first packet as the 8-bit entropy value of the first packet.
与示例实施例2不同,本模块使用第一报文的源IP字段作为熵IP,所述熵IP为用所述熵值与VPN基础设施模块输入的源IP的低8位进行按位逻辑异或操作所得的IP地址。Different from the exemplary embodiment 2, the module uses the source IP field of the first packet as the entropy IP, and the entropy IP is a bitwise logical difference between the entropy value and the lower 8 bits of the source IP input by the VPN infrastructure module. Or operate the resulting IP address.
3:实现所述熵IP第二插件模块的具体方法如下。3: The specific method for implementing the entropy IP second plug-in module is as follows.
除特殊说明之处以外,本模块与示例实施例2相同。This module is the same as the exemplary embodiment 2 except where specifically stated.
与示例实施例2不同,本模块确定的所述第三报文中需要修改的二进制位的位置为源IP的低8位。进一步地,本模块确定对所述位置的二进制位的修改方法为将其复原为其在被熵IP第一插件修改之前的值。具体地,所述复原方法为:首先用所述熵IP第一插件模块中的算法重新计算所述第三报文的IP头内层所承载的所述第四报文的熵值,然后用该熵值与所述位置的二进制位进行按位逻辑异或操作。Different from the example embodiment 2, the position of the binary bit to be modified in the third packet determined by the module is the lower 8 bits of the source IP. Further, the module determines the modification of the binary bit of the location to restore it to its value prior to being modified by the entropy IP first plugin. Specifically, the restoring method is: first, recalculating the entropy value of the fourth packet carried by the IP header inner layer of the third packet by using an algorithm in the entropy IP first plug-in module, and then using The entropy value is subjected to a bitwise logical exclusive OR operation with the binary bits of the position.
值得注意的是,因为所述VPN基础设施本身是RFC7348 VXLAN的一种实现,RFC7348是基于VXLAN数据报文进行远端MAC条目的学习的,如果源IP不进行除熵处理,所述远端MAC条目会频繁在同一源IP的不同密文之间漂移,因为所述VPN基础设施模块并不知道这些密文是同一IP地址,它是作为不同IP地址看待的;同理,不同源IP地址被加密后的密文可能碰巧相同,此时它们又被所述VPN基础设施模块作为同一IP地址看待,也会有问题。本实施例将所述源IP复原,无疑是一种解密过程,也是为了除去所述源IP中所含的内层报文(相当于上述实施例中的第一报文或第四报文)的熵。It is worth noting that, because the VPN infrastructure itself is an implementation of the RFC7348 VXLAN, the RFC7348 is based on VXLAN data packets for learning the remote MAC entries. If the source IP is not subjected to entropy processing, the remote MAC Entries will frequently drift between different ciphertexts of the same source IP because the VPN infrastructure module does not know that these ciphertexts are the same IP address, it is treated as a different IP address; for the same reason, different source IP addresses are Encrypted ciphertexts may happen to be the same, and they are treated as the same IP address by the VPN infrastructure module, which can be problematic. In this embodiment, the source IP is restored, which is undoubtedly a decryption process, and is also used to remove the inner layer packet (corresponding to the first packet or the fourth packet in the foregoing embodiment) included in the source IP. Entropy.
结合图13对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知P结点的实施作进一步的详细描述。The implementation of the non-service-aware P-node of the method and apparatus (system) of transmitting and using the entropy value of the inner layer message in the outer IP header is further described in detail with reference to FIG.
1:实现所述IP基础设施模块。1: Implement the IP infrastructure module.
除特殊说明之处以外,本模块与示例实施例2中的同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 2 except where specifically stated.
与示例实施例2中不同,本模块采用IPv4路由和转发技术,转发的是IPv4报文。Different from the example embodiment 2, the module adopts an IPv4 routing and forwarding technology, and forwards IPv4 packets.
2:实现所述熵IP第三插件模块的具体方法如下。2: The specific method for implementing the entropy IP third plug-in module is as follows.
除特殊说明之处以外,本模块与示例实施例2中的同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 2 except where specifically stated.
与示例实施例2不同,在本模块中,所述源IP取熵掩码和目的IP取熵掩码都是IPv4地址格式,且所述源IP取熵掩码,其16进制值为0x0FF,所述目的IP取熵掩码其值为0。Different from the example embodiment 2, in the module, the source IP entropy mask and the destination IP entropy mask are both IPv4 address formats, and the source IP takes an entropy mask, and its hexadecimal value is 0x0FF. The destination IP takes an entropy mask and has a value of 0.
以图1所示的VPN业务为例,网络及业务部署流程部分的处理步骤如下。Taking the VPN service shown in Figure 1 as an example, the processing steps of the network and service deployment process are as follows.
除特殊说明之处以外,本步骤与示例实施例1中的对应步骤相同。This step is the same as the corresponding step in the exemplary embodiment 1, except where specifically stated.
同示例实施例1,只除了各VPN Router ID所在的loopback接口均配置了 24位子网掩码。同时,需要在网络中部署Geneve并应用于所述EVPN实例。As in the first embodiment, only the loopback interface where each VPN router ID is located is configured with a 24-bit subnet mask. At the same time, Geneve needs to be deployed in the network and applied to the EVPN instance.
以图1所示的VPN拓扑为例,端到端报文转发流程部分的处理步骤如下:Take the VPN topology shown in Figure 1 as an example. The processing steps of the end-to-end packet forwarding process are as follows:
本步骤与示例实施例1中的对应步骤相同。This step is the same as the corresponding step in the exemplary embodiment 1.
示例实施例4 Example embodiment 4
下面结合图12对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE结点的实施作进一步的详细描述。The implementation of the PE node of the method and apparatus (system) of transmitting and using the entropy value of the inner layer message in the outer IP header will be further described in detail below with reference to FIG.
1:实现所述VPN基础设施模块。1: Implement the VPN infrastructure module.
除特殊说明之处以外,本模块与示例实施例2中的同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 2 except where specifically stated.
与示例实施例2不同,本模将所述第一报文封装为所述第二报文所用的封装格式为VXLAN GPE封装格式,该格式在draft-ietf-nvo3-vxlan-gpe中定义,该草案中定义了如何在不改变基本业务效果的前提下将报文从VXLAN封装转换为VXLAN GPE封装,这部分转换属于相关技术。是否叠加VXLAN GPE封装特有的功能(相对于RFC7348),属于VXLAN GPE技术与本示例实施例的组合,与本示例实施例本身无关,为了简单起见,本示例实施例只考虑VXLAN GPE封装与RFC7348封装的公共能力范围之内的情况。Different from the example embodiment 2, the encapsulation format used by the module to encapsulate the first packet into the second packet is a VXLAN GPE encapsulation format, and the format is defined in draft-ietf-nvo3-vxlan-gpe. The draft defines how to convert messages from VXLAN encapsulation to VXLAN GPE encapsulation without changing the basic business effects. This part of the conversion belongs to the related technology. Whether the function unique to the VXLAN GPE package is superimposed (relative to RFC7348) is a combination of the VXLAN GPE technology and the present exemplary embodiment, and is independent of the present exemplary embodiment. For the sake of simplicity, the present exemplary embodiment only considers the VXLAN GPE package and the RFC7348 package. The situation within the scope of public competence.
2:实现所述熵IP第一插件模块的具体方法如下。2: The specific method of implementing the entropy IP first plug-in module is as follows.
除特殊说明之处以外,本模块与示例实施例2中的同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 2 except where specifically stated.
与示例实施例2不同,本模块当内层报文的以太载荷为IPv6包时,使用五元组<源IP,目的IP,协议类型,源端口号,目的端口号>以及IPv6头的Flow-1abel字段共同进行哈希计算的结果作为所述第一报文的20位熵值。Different from the example embodiment 2, when the Ethernet payload of the inner layer packet is an IPv6 packet, the module uses the quintuple <source IP, destination IP, protocol type, source port number, destination port number> and the flow of the IPv6 header. The 1abel field jointly performs the hash calculation as the 20-bit entropy value of the first message.
与示例实施例2不同,本模块使用第二报文的目的IP字段作为熵IP,所述熵IP为用所述熵值与VPN基础设施模块输入的目的IP的低20位进行按位逻辑异或运算,所得结果存入所述目的IP地址的低20位。Different from the exemplary embodiment 2, the module uses the destination IP field of the second packet as the entropy IP, and the entropy IP is a bitwise logical difference between the entropy value and the lower 20 bits of the destination IP input by the VPN infrastructure module. Or operation, the result is stored in the lower 20 bits of the destination IP address.
值得注意的是,按位逻辑异或运算实际上是一种简单加密算法。It is worth noting that the bitwise logical XOR operation is actually a simple encryption algorithm.
3:实现所述熵IP第二插件模块的具体方法如下。3: The specific method for implementing the entropy IP second plug-in module is as follows.
除特殊说明之处以外,本模块与示例实施例2相同。This module is the same as the exemplary embodiment 2 except where specifically stated.
与示例实施例2不同,本模块确定的所述第三报文中需要修改的二进制位的位置为目的IP的低20位。进一步地,本模块确定对所述位置的二进制位的修改方法为将其复原为其在被熵IP第一插件修改之前的值。具体地,所述复原方法为:首先用所述熵IP第一插件模块中的算法重新计算所述第三报文的IP头内 层所承载的所述第四报文的熵值,然后用该熵值与所述位置的二进制位进行按位逻辑异或运算,结果保存在所述第三报文的目的IP的低20位中。Different from the example embodiment 2, the position of the binary bit to be modified in the third packet determined by the module is the lower 20 bits of the destination IP. Further, the module determines the modification of the binary bit of the location to restore it to its value prior to being modified by the entropy IP first plugin. Specifically, the restoring method is: first, recalculating the entropy value of the fourth packet carried by the IP header inner layer of the third packet by using an algorithm in the entropy IP first plug-in module, and then using The entropy value is subjected to a bitwise logical exclusive OR operation with the binary bits of the position, and the result is stored in the lower 20 bits of the destination IP of the third message.
结合图13对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知P结点的实施作进一步的详细描述。The implementation of the non-service-aware P-node of the method and apparatus (system) of transmitting and using the entropy value of the inner layer message in the outer IP header is further described in detail with reference to FIG.
1:实现所述IP基础设施模块。1: Implement the IP infrastructure module.
本模块与示例实施例2中的同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 2.
2:实现所述熵IP第三插件模块的具体方法如下。2: The specific method for implementing the entropy IP third plug-in module is as follows.
除特殊说明之处以外,本模块与示例实施例2中的同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 2 except where specifically stated.
与示例实施例2不同,在本模块中,所述源IP取熵掩码和目的IP取熵掩码都是IPv6地址格式,并且,所述源IP取熵掩码,其16进制值为0,所述目的IP取熵掩码,其16进制值为0x0FFFFF。Different from the example embodiment 2, in the module, the source IP entropy mask and the destination IP entropy mask are both IPv6 address formats, and the source IP takes an entropy mask, and its hexadecimal value is 0. The destination IP takes an entropy mask, and its hexadecimal value is 0x0FFFFF.
以图1所示的VPN业务为例,网络及业务部署流程部分的处理步骤如下。Taking the VPN service shown in Figure 1 as an example, the processing steps of the network and service deployment process are as follows.
除特殊说明之处以外,本步骤与示例实施例1中的对应步骤相同。This step is the same as the corresponding step in the exemplary embodiment 1, except where specifically stated.
同示例实施例2,只除了各VPN Router ID所在的loopback接口均配置了108位子网掩码。同时,需要在网络中部署VXLAN GPE并应用于所述EVPN实例。In the same manner as the second embodiment, only the loopback interface of each VPN router ID is configured with a 108-bit subnet mask. At the same time, VXLAN GPE needs to be deployed in the network and applied to the EVPN instance.
以图1所示的VPN拓扑为例,端到端报文转发流程部分的处理步骤如下:Take the VPN topology shown in Figure 1 as an example. The processing steps of the end-to-end packet forwarding process are as follows:
本步骤与示例实施例2中的对应步骤相同。This step is the same as the corresponding step in the exemplary embodiment 2.
示例实施例5 Example embodiment 5
下面结合图12对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE结点的实施作进一步的详细描述。The implementation of the PE node of the method and apparatus (system) of transmitting and using the entropy value of the inner layer message in the outer IP header will be further described in detail below with reference to FIG.
1:实现所述VPN基础设施模块的具体方法如下。1: The specific method of implementing the VPN infrastructure module is as follows.
除特殊说明之处以外,本模块与示例实施例2中同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 2 except where specifically stated.
与示例实施例2中不同,本模块以VPN Router ID结合EVPN实例上配置的VNI生成一个IP地址,称为VNI IP地址,所述VNI IP地址以VPN Router ID的高104位作为高104,以VNI作为低24位;其中,所述VNI与所述VPN Router ID的低24位不相等。Different from the example embodiment 2, the module generates an IP address, which is called a VNI IP address, by using the VPN router ID and the VNI configured on the EVPN instance, and the VNI IP address is 104 as the high 104 of the VPN Router ID. The VNI is the lower 24 bits; wherein the VNI is not equal to the lower 24 bits of the VPN Router ID.
与示例实施例2不同,本模将所述第一报文封装为所述第二报文所用的封 装格式为NVGRE(Network Virtualization Using Generic Routing Encapsulation)格式,该格式在RFC7637中定义,draft-ietf-bess-evpn-overlay中定义了如何在不改变基本业务效果的前提下将报文从VXLAN封装转换为NVGRE封装,这部分转换属于相关技术。是否叠加NVGRE封装特有的功能(相对于RFC7348),属于NVGRE技术与本示例实施例的组合,与本示例实施例本身无关,为了简单起见,本示例实施例只考虑NVGRE封装与RFC7348封装的公共能力范围之内的情况。Different from the example embodiment 2, the template encapsulates the first packet into the second packet with the NVGRE (Network Virtualization Using Generic Routing Encapsulation) format, which is defined in RFC7637, draft-ietf -bess-evpn-overlay defines how to convert a message from a VXLAN package to an NVGRE package without changing the basic business effects. This part of the conversion belongs to the related technology. Whether the function of the NVGRE package is superimposed (relative to RFC7348) belongs to the combination of the NVGRE technology and the present exemplary embodiment, and is independent of the present exemplary embodiment. For the sake of simplicity, the present exemplary embodiment only considers the common capability of the NVGRE package and the RFC7348 package. The situation within the scope.
2:实现所述熵IP第一插件模块的具体方法如下。2: The specific method of implementing the entropy IP first plug-in module is as follows.
除特殊说明之处以外,本模块与示例实施例2中同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 2 except where specifically stated.
与示例实施例2不同,本模块用所述VNI IP替换所述VPN基础设施模块输入的报文的最外层目的IP,从而使得最终的最外层目的IP的低24位中包括了EVPN实例的VNI,此VNI即为所述第一报文的上下文熵值,它由所述第二报文承载。Different from the example embodiment 2, the module replaces the outermost destination IP address of the packet input by the VPN infrastructure module with the VNI IP, so that the lower 24 bits of the final outermost destination IP address include the EVPN instance. The VNI is the context entropy value of the first packet, which is carried by the second packet.
3:实现所述熵IP第二插件模块的具体方法如下。3: The specific method for implementing the entropy IP second plug-in module is as follows.
除特殊说明之处以外,本模块与示例实施例2相同。This module is the same as the exemplary embodiment 2 except where specifically stated.
与示例实施例2不同,本模块将所述VPN基础设施模块输入的报文原封不动地返回给所述VPN基础设施模块。Different from the exemplary embodiment 2, the module returns the message input by the VPN infrastructure module to the VPN infrastructure module intact.
值得一提的是,目的IP中的低24位尽管包含了内层报文的上下文熵值,但是却不需要清零的原因在于,该处数值确实与所述第三报文所经由的VXLAN隧道的源结点(即所述第一PE)上的某个接口(具体地,是一个EVPN实例接口)的IP地址相对应,因而所述目的IP地址确实是IP可达的,而普通包含熵值的IP地址则不符合这个条件。It is worth mentioning that the lower 24 bits of the destination IP, although containing the context entropy value of the inner message, do not need to be cleared because the value is indeed the VXLAN through which the third message passes. The IP address of an interface (specifically, an EVPN instance interface) on the source node of the tunnel (that is, the first PE) corresponds to an IP address, and the destination IP address is indeed IP reachable. The IP address of the entropy value does not meet this condition.
结合图13对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知P结点的实施作进一步的详细描述。The implementation of the non-service-aware P-node of the method and apparatus (system) of transmitting and using the entropy value of the inner layer message in the outer IP header is further described in detail with reference to FIG.
1:实现所述IP基础设施模块。1: Implement the IP infrastructure module.
除特殊说明之处以外,本模块与示例实施例1中的同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 1, except where specifically stated.
与示例实施例1不同,本模块采用IPv6路由和转发技术,可处理IPv6报文。Different from the exemplary embodiment 1, the module uses IPv6 routing and forwarding technology to process IPv6 packets.
2:实现所述熵IP第三插件模块的具体方法如下。2: The specific method for implementing the entropy IP third plug-in module is as follows.
与示例实施例1相同,本结点不需要此模块。As in the example embodiment 1, this module is not required for this node.
以图1所示的VPN业务为例,网络及业务部署流程部分的处理步骤如下。Taking the VPN service shown in Figure 1 as an example, the processing steps of the network and service deployment process are as follows.
除特殊说明之处以外,本步骤与示例实施例2中的对应步骤相同。This step is the same as the corresponding step in the exemplary embodiment 2 except where specifically stated.
同示例实施例2,只除了各VPN Router ID所在的loopback接口均配置了104位子网掩码。As in the second embodiment, only the 104-bit subnet mask is configured on the loopback interface where each VPN router ID is located.
以图1所示的VPN拓扑为例,端到端报文转发流程部分的处理步骤如下:Take the VPN topology shown in Figure 1 as an example. The processing steps of the end-to-end packet forwarding process are as follows:
本步骤与示例实施例2中的对应步骤相同。This step is the same as the corresponding step in the exemplary embodiment 2.
示例实施例6 Example embodiment 6
下面结合图12对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE结点的实施作进一步的详细描述。The implementation of the PE node of the method and apparatus (system) of transmitting and using the entropy value of the inner layer message in the outer IP header will be further described in detail below with reference to FIG.
1:实现所述VPN基础设施模块的具体方法如下。1: The specific method of implementing the VPN infrastructure module is as follows.
除特殊说明之处以外,本模块与示例实施例5中同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 5 except where specifically stated.
与示例实施例5中不同,本模块的EVPN实例同时也对应一个同名虚接口,称为EVPN实例接口,所述EVPN实例接口具有相关loopback接口的所有功能。值得一提的是,这意味着:EVPN实例接口的IP地址要作为本地主机路由添加到路由表中,并且,该EVPN实例接口上配置的IP地址掩码要作为本地直连路由前缀添加到路由表中,并且,从所述本地主机路由和所述本地直连路由前缀对应的路由条目中均可以知道它是根据哪个接口(必定是EVPN实例接口)所生成的路由。Different from the example embodiment 5, 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 related loopback interface. It is worth mentioning that 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. 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).
与示例实施例5中不同,本模块的EVPN实例上配置的VNI只作为一个标识EVPN实例的数值来看待,并不具有RFC7348中的VNI的作用,取而代之的是直接将示例实施例5中所述的VNI IP作为相应的EVPN实例接口的IP地址配置在所述EVPN实例接口上。Different from the example embodiment 5, the VNI configured on the EVPN instance of the module is only regarded as a value identifying the EVPN instance, and does not have the role of the VNI in the RFC 7348. Instead, the method described in the exemplary embodiment 5 is directly adopted. The VNI IP is configured on the EVPN instance interface as the IP address of the corresponding EVPN instance interface.
与示例实施例5中不同,本示例实施例中每条VXLAN隧道都专属于一条业务,每条业务都为该业务中每个远端节点部署一条VXLAN隧道;具体地,本示例实施例中每条VXLAN隧道的源IP是该VXLAN隧道所属EVPN实例对应的EVPN实例接口的IP地址,目的IP是该VXLAN隧道在目的节点上所属EVPN实例对应的EVPN实例接口的IP地址。Different from the example embodiment 5, 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; specifically, each of the exemplary embodiments The source IP address of the VXLAN tunnel is the IP address of the EVPN instance interface corresponding to the EVPN instance to which the VXLAN tunnel belongs. The destination IP address is the IP address of the EVPN instance interface corresponding to the EVPN instance to which the VXLAN tunnel belongs.
本模块将第一报文封装成第二报文所用的封装与示例实施例5中采用的VXLAN封装相比,去掉了UDP头和VXLAN头,从而与SRv6中End.DX2类 型的Function具有相同的格式;这种封装格式在本申请中称为甲型扩展SRv6封装,如图14,图15中的格式B所示,其中图15是图14的展开,包括了从源IP到以太层载荷数据之间的各字段与VXLAN封装中的相关字段的详细对比。The module used to encapsulate the first packet into the second packet has the same UDP header and VXLAN header as the VXLAN package used in the exemplary embodiment 5, and thus has the same function as the End.DX2 type Function in SRv6. Format; this encapsulation format is referred to herein as a Type A extended SRv6 package, as shown in Figure 14, format B in Figure 15, where Figure 15 is the expansion of Figure 14, including source IP to Ethernet layer payload data. A detailed comparison of the fields between the fields and related fields in the VXLAN package.
相应地,本模块接收第三报文时,若第三报文的目的IP命中一条本地直连路由,且该路由是一个EVPN实例接口生成的,则认为所述第三报文为甲型扩展SRv6封装,并且,所述第三报文在所述EVPN实例接口对应的EVPN实例中转发。转发时,除封装解封装之外,图15中格式B中的每个字段,除特殊说明之处以外,均具有与图15中格式A中的同名字段相同的作用。Correspondingly, 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 a type A extension. The SRv6 is encapsulated, and the third packet is forwarded in the EVPN instance corresponding to the EVPN instance interface. When forwarding, except for the encapsulation decapsulation, each field in the format B in Fig. 15 has the same effect as the field of the same name in the format A in Fig. 15 unless otherwise specified.
2:实现所述熵IP第一插件模块的具体方法如下。2: The specific method of implementing the entropy IP first plug-in module is as follows.
除特殊说明之处以外,本模块与示例实施例5中同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 5 except where specifically stated.
与示例实施例5不同,本模块将入口AC上的子接口VLAN信息映射为所述第四报文的24位熵值,方法是:熵值的高12位取所述入口AC上配置的外层VLAN ID,低12位取所述入口AC上配置的内层VLAN ID,当所述内层VLAN ID不存在对应配置时,低12位取0x3FF,当所述外层VLAN ID不存在对应配置时,高12位取0x3FF。Different from the example embodiment 5, the module maps the sub-interface VLAN information on the ingress AC to the 24-bit entropy value of the fourth packet by: the upper 12 bits of the entropy value are taken outside the configuration on the ingress AC. Layer ID, the lower 12 bits take the inner VLAN ID configured on the ingress AC. When the inner VLAN ID does not exist, the lower 12 bits take 0x3FF, and the outer VLAN ID does not exist. When the high 12 bits take 0x3FF.
与示例实施例5不同,本模块使用第二报文的源IP字段作为熵IP,所述熵IP为用所述24位熵值取代按RFC7348流程转发将得到的源IP的低24位所得的IP地址。Different from the exemplary embodiment 5, the module uses the source IP field of the second packet as the entropy IP, and the entropy IP is obtained by replacing the lower 24 bits of the source IP that will be obtained by the RFC7348 process by using the 24-bit entropy value. IP address.
值得注意的是,本模块并没有修改VPN基础设施模块输入的报文的目的IP字段,但是,该字段中本身已经含有了报文所属的EVPN业务信息,DIP中与示例实施例5相比自动具有了更多的熵。It is worth noting that the module does not modify the destination IP field of the packet input by the VPN infrastructure module. However, the field itself already contains the EVPN service information to which the packet belongs. The DIP is automatically compared with the example embodiment 5. Has more entropy.
值得注意的是,本模块并没有修改所述第二报文的源IP字段的高104位,因此,MAC学习流程学到的目的IP的高104位与相关技术并无不同,所述目的IP的高104位就能使所述第二报文到目的PE节点上匹配到所属的EVPN实例。It should be noted that the module does not modify the upper 104 bits of the source IP field of the second packet. Therefore, the upper 104 bits of the destination IP learned by the MAC learning process are not different from the related technologies. The upper 104 bits can match the second packet to the destination PE node to the associated EVPN instance.
3:实现所述熵IP第二插件模块的具体方法如下。3: The specific method for implementing the entropy IP second plug-in module is as follows.
除特殊说明之处以外,本模块与示例实施例5相同。This module is the same as the exemplary embodiment 5 except where it is specifically described.
与示例实施例5不同,本模块将所述VPN基础设施模块输入的报文原封不动地返回给所述VPN基础设施模块。Different from the exemplary embodiment 5, the module returns the message input by the VPN infrastructure module to the VPN infrastructure module intact.
值得注意的是,因为所述VPN基础设施模块输入的报文的源IP中包括了远端某条AC对应的VLAN ID信息,将该信息用于性能统计,能使得来自远端不 同AC的报文被统计到不同的计数器上,从而使得性能统计数据更为精确。It is worth noting that, because the source IP address of the packet input by the VPN infrastructure module includes the VLAN ID information corresponding to an AC at the remote end, the information is used for performance statistics, so that the packets from different remote ACs can be obtained. The text is counted on different counters, making performance statistics more accurate.
结合图13对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知P结点的实施作进一步的详细描述。The implementation of the non-service-aware P-node of the method and apparatus (system) of transmitting and using the entropy value of the inner layer message in the outer IP header is further described in detail with reference to FIG.
1:实现所述IP基础设施模块。1: Implement the IP infrastructure module.
本模块与示例实施例5中的同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 5.
2:实现所述熵IP第三插件模块的具体方法如下。2: The specific method for implementing the entropy IP third plug-in module is as follows.
本模块与示例实施例5中的同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 5.
以图1所示的VPN业务为例,网络及业务部署流程部分的处理步骤如下。Taking the VPN service shown in Figure 1 as an example, the processing steps of the network and service deployment process are as follows.
除特殊说明之处以外,本步骤与示例实施例1中的对应步骤相同。This step is the same as the corresponding step in the exemplary embodiment 1, except where specifically stated.
同示例实施例5,除了如下情况之外:每个EVPN实例对应一个EVPN实例接口,给该接口配置IPv6地址和104位IPv6地址掩码,且任意两个EVPN实例接口生成的104位IPv6路由前缀均是不相匹配的。每条VXLAN隧道的源IP和目的IP都是某个EVPN实例接口的IP地址,除此之外,还必须满足示例实施例5要求。In the same manner as the example embodiment 5, except that: each EVPN instance corresponds to an EVPN instance interface, and the interface is configured with an IPv6 address and a 104-bit IPv6 address mask, and a 104-bit IPv6 route prefix generated by any two EVPN instance interfaces. None of them match. The source IP address and destination IP address of each VXLAN tunnel are the IP addresses of an EVPN instance interface. In addition, the requirements of the exemplary embodiment 5 must be met.
值得注意的是,每个EVPN实例只有一个对应的EVPN实例接口,每个EVPN实例接口也只有一个对应的EVPN实例。It is worth noting that each EVPN instance has only one corresponding EVPN instance interface, and each EVPN instance interface has only one corresponding EVPN instance.
以图1所示的VPN拓扑为例,端到端报文转发流程部分的处理步骤如下:Take the VPN topology shown in Figure 1 as an example. The processing steps of the end-to-end packet forwarding process are as follows:
本步骤与示例实施例5中的对应步骤相同。This step is the same as the corresponding step in the exemplary embodiment 5.
在示例实施例6中,给其中的EVPN实例接口配置的IPv6地址的低24位是否与对应EVPN实例的VNI值相等,并不影响所述IPv6地址的作用,因为,无论是否有此关系,所述IPv6地址都已经与EVPN实例具有一一对应关系。示例实施例6中之所以采取该种描述方式,只是为了使所述一一对应关系更为直观和明显,并不构成对本示例实施例的不当限定。In the example embodiment 6, whether the lower 24 bits of the IPv6 address configured for the EVPN instance interface are equal to the VNI value of the corresponding EVPN instance does not affect the role of the IPv6 address, because whether or not there is such a relationship The IPv6 address has a one-to-one correspondence with the EVPN instance. The manner in which the description is taken in the example embodiment 6 is only to make the one-to-one correspondence more intuitive and obvious, and does not constitute an improper limitation of the exemplary embodiment.
示例实施例7 Example embodiment 7
结合图12对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE结点的实施作进一步的详细描述。The implementation of the PE node of the method and apparatus (system) of transmitting and using the entropy value of the inner layer message in the outer IP header will be further described in detail with reference to FIG.
1:实现所述VPN基础设施模块。1: Implement the VPN infrastructure module.
按draft-ietf-bess-evpn-overlay([EVPN overlay])实现VXLAN EVPN业务, 则所得VXLAN EVPN业务的控制面模块即所述VPN基础设施模块的控制面部分。The VXLAN EVPN service is implemented by draft-ietf-bess-evpn-overlay ([EVPN overlay]), and the control plane module of the obtained VXLAN EVPN service is the control plane part of the VPN infrastructure module.
同理,按[EVPN overlay]实现VXLAN EVPN业务,则所得VXLAN EVPN业务的转发面模块即所述VPN基础设施模块的转发面部分。Similarly, if the VXLAN EVPN service is implemented by [EVPN overlay], the forwarding plane module of the obtained VXLAN EVPN service is the forwarding plane part of the VPN infrastructure module.
值得一提的是,按以上方法所得的EVPN控制面模块,其中包括MP-BGP协议L2VPN EVPN地址族相关配置、EVPN实例的配置、AC与EVPN实例的绑定配置、ESI相关配置等内容,其中,EVPN实例以VNI为标识,VNI来自用户配置。It is worth mentioning that 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. The EVPN instance is identified by the VNI and the VNI is configured by the user.
值得一提的是,本模块中VXLAN隧道及其与EVPN实例的绑定关系按[EVPN Overlay]协议规定由MP-BGP会话动态生成。It is worth mentioning that the VXLAN tunnel and its binding relationship with the EVPN instance are dynamically generated by the MP-BGP session according to the [EVPN Overlay] protocol.
本模块对插件机制的要求与示例实施例1相同。The requirements of the plug-in mechanism of this module are the same as those of the exemplary embodiment 1.
本模块对VPN Router ID和loopback接口的IP地址及其子网掩码的配置要求和功能要求与示例实施例1相同。The configuration requirements and functional requirements of the IP address of the VPN Router ID and the loopback interface and their subnet masks are the same as those in the first embodiment.
此外,不失一般性,在本示例实施例中,设定underlay网络为IPv4网络,因此,VXLAN隧道的源IP和目的IP均为IPv4地址。In addition, without loss of generality, in the present exemplary embodiment, the underlay network is set to be an IPv4 network. Therefore, the source IP address and the destination IP address of the VXLAN tunnel are both IPv4 addresses.
2:实现所述熵IP第一插件模块的具体方法如下。2: The specific method of implementing the entropy IP first plug-in module is as follows.
除特殊说明之处以外,本模块与示例实施例3相同。This module is the same as that of the exemplary embodiment 3 except where it is specifically described.
与示例实施例3不同,本模块基于所述第一报文的源MAC、VLAN ID、802.1p优先级、载荷对应的ethertype进行哈希计算得出所述第一报文的5位本征熵值,然后,本模块基于所述第一报文的入口AC所属主接口的接口名进行哈希计算,得出5位上下文熵值,将两者进行按位逻辑异或运算,再与素数29进行按位逻辑异或运算,得出5位综合熵值,然后,将VPN基础设施模块所输入的所述第二报文的目的IP的低5位与所述综合熵值进行按位逻辑异或运算,其结果存储在前者中。Different from the example embodiment 3, the module performs hash calculation based on the source MAC address, the VLAN ID, the 802.1p priority, and the ethertype corresponding to the payload, to obtain the 5-bit eigen-entropy of the first packet. Value, then, the module performs hash calculation based on the interface name of the primary interface to which the ingress AC of the first packet belongs, and obtains a 5-bit context entropy value, and performs a bitwise logical exclusive OR operation with the prime number 29 Performing a bitwise logical exclusive OR operation to obtain a 5-bit integrated entropy value, and then performing a bitwise logical difference between the lower 5 bits of the destination IP of the second packet input by the VPN infrastructure module and the integrated entropy value Or operation, the result is stored in the former.
3:实现所述熵IP第二插件模块的具体方法如下。3: The specific method for implementing the entropy IP second plug-in module is as follows.
除特殊说明之处以外,本模块与示例实施例3相同。This module is the same as that of the exemplary embodiment 3 except where it is specifically described.
本模块确定的所述第三报文中在进行与IP地址相关的处理之前需要清零的二进制位的位置为目的IP的低5位。The position of the binary bit that needs to be cleared before the processing related to the IP address in the third message determined by the module is the lower 5 bits of the destination IP.
结合图13对所述在外层IP头中传输和使用内层报文的熵值的方法和装置 (系统)的技术方案的非业务感知P结点的实施作进一步的详细描述。The implementation of the non-service-aware P-node of the method and apparatus (system) of transmitting and using the entropy value of the inner layer message in the outer IP header is described in further detail with reference to FIG.
1:实现所述IP基础设施模块。1: Implement the IP infrastructure module.
本模块与示例实施例3中的同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 3.
2:实现所述熵IP第三插件模块的具体方法如下。2: The specific method for implementing the entropy IP third plug-in module is as follows.
除特殊说明之处以外,本模块与示例实施例3中的同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 3 except where specifically stated.
与示例实施例3不同,在本模块中,所述源IP取熵掩码和目的IP取熵掩码都是IPv6地址格式,并且,所述源IP取熵掩码,其16进制值为0,所述目的IP取熵掩码,其16进制值为0x01F。Different from the example embodiment 3, in the module, the source IP entropy mask and the destination IP entropy mask are both IPv6 address formats, and the source IP takes an entropy mask, and the hexadecimal value thereof is 0. The destination IP takes an entropy mask, and its hexadecimal value is 0x01F.
以图2所示的EVPN拓扑为例,网络及业务部署流程包括以下六步。Taking the EVPN topology shown in Figure 2 as an example, the network and service deployment process includes the following six steps.
第一步,与示例实施例1中的对应步骤相同,除了underlay网络为IPv4。The first step is the same as the corresponding step in the exemplary embodiment 1, except that the underlay network is IPv4.
第二步,与示例实施例1中的对应步骤相同,除了VPN Router ID所在loopback接口配置了27位子网掩码。The second step is the same as the corresponding step in the exemplary embodiment 1, except that the loopback interface where the VPN Router ID is located is configured with a 27-bit subnet mask.
第三步,建立图1所示的VXLAN EVPN网络。包括,在PE1、PE2、PE3之间两两配置多协议边界网关协议(Multi-Protocol Border Gateway Protocol,MP-BGP)会话,并使能L2VPN EVPN地址族的相关配置。为简单起见,通过调整边界网关协议(Border Gateway Protocol,BGP)的配置,使得EVPN RT-3路由可以将业务所需全部VXLAN隧道动态生成。不失一般性,为简单起见,可以通过调整BGP配置使得通过RT-3路由生成的VXLAN隧道符合如下规则:在任意两个PE结点之间,只生成一条双向VXLAN隧道;任一双向VXLAN隧道的两端,均使用所在结点的VPN Router ID作为该VXLAN隧道的源IP,并且,在同一双向VXLAN隧道的两端,一端的隧道源IP正好是另一端的隧道目的IP,一端的隧道目的IP正好是另一端的隧道源IP。同理,通过调整BGP配置,也可以使得RT-3路由能够将所有VXLAN隧道与EVPN实例的绑定关系全部生成;这些均属于相关技术,本领域的技术人员应能明白其中涉及的具体方法。In the third step, the VXLAN EVPN network shown in Figure 1 is established. The configuration of the Multi-Protocol Border Gateway Protocol (MP-BGP) session is configured between the PE1, the PE2, and the PE3, and the related configuration of the L2VPN EVPN address family is enabled. For the sake of simplicity, by adjusting the configuration of the Border Gateway Protocol (BGP), EVPN RT-3 routing can dynamically generate all VXLAN tunnels required by the service. For the sake of simplicity, the VXLAN tunnel generated by the RT-3 route can be adjusted to meet the following rules by simply adjusting the BGP configuration: only one bidirectional VXLAN tunnel is generated between any two PE nodes; any bidirectional VXLAN tunnel Both ends of the tunnel use the VPN router ID of the node as the source IP address of the VXLAN tunnel, and the tunnel source IP address of one end of the same bidirectional VXLAN tunnel is exactly the tunnel destination IP address of the other end. The IP is exactly the tunnel source IP at the other end. Similarly, by adjusting the BGP configuration, the RT-3 route can also generate all the binding relationships between all the VXLAN tunnels and the EVPN instance; these are all related technologies, and those skilled in the art should be able to understand the specific methods involved.
第四步,按图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业务相绑定。In the fourth step, a VXLAN EVPN service is established as shown in Figure 1, and the same VNI is assigned to the VXLAN EVPN service at 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. After the above configuration is completed, 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 the nodes is established and bound to the VXLAN EVPN service.
第五步,消除接入侧环路。给CE1接入到PE1和PE2的物理接口映射到同一个ESI(记为ESI1)以及ESI1相关配置,从而触发所述MP-BGP会话按[EVPN Overlay]中所述的RT-4路由进行DF协商和RT-1路由发布。同理,给CE2接入到PE1和PE2的物理接口也映射到同一个ESI(记为ESI2),以及ESI2相关的配置。不失一般性,本示例实施例假定DF协商的结果是AC1和AC5分别是ESI1和ESI2在所述业务中的non-DF角色的接口。由于本示例实施例的PE结点实现了[EVPN Overlay]协议,在配置ESI相关配置并完成相关信令流程以后,两个ESI相关的环路也均会解除。In the fifth step, the access side loop is eliminated. The physical interface that CE1 accesses to PE1 and PE2 is mapped to the same ESI (referred to as ESI1) and ESI1 related configuration, thereby triggering the MP-BGP session to perform DF negotiation according to the RT-4 route described in [EVPN Overlay]. And RT-1 routing is released. Similarly, the physical interface that CE2 accesses to PE1 and PE2 is also mapped to the same ESI (denoted as ESI2) and the ESI2-related configuration. Without loss of generality, the present example embodiment assumes that the result of the DF negotiation is that AC1 and AC5 are interfaces of the non-DF roles of ESI1 and ESI2, respectively, in the service. Since the PE node of the present exemplary embodiment implements the [EVPN Overlay] protocol, after configuring the ESI related configuration and completing the relevant signaling process, the two ESI related loops are also released.
第六步,经过以上步骤,所述VXLAN EVPN业务就建立起来了,可以使用数据报文来验证本示例实施例中定义的PE结点和非业务感知结点上的转发行为和效果了。In the sixth step, after the above steps, the VXLAN EVPN service is established, and the data packet can be used to verify the forwarding behavior and effect on the PE node and the non-service aware node defined in the exemplary embodiment.
以图2所示的EVPN拓扑为例,端到端报文转发流程包括以下三步。The EVPN topology shown in Figure 2 is used as an example. The end-to-end packet forwarding process includes the following three steps.
第一步,与示例实施例1相同,除了转发面流程按[EVPN Overlay]执行以外。The first step is the same as that of the exemplary embodiment 1, except that the forwarding plane flow is executed by [EVPN Overlay].
第二步,与示例实施例1相同,除了转发面流程按[EVPN Overlay]执行以外。The second step is the same as that of the exemplary embodiment 1, except that the forwarding plane flow is executed by [EVPN Overlay].
第三步,与示例实施例1相同,除了转发面流程按[EVPN Overlay]执行以外。The third step is the same as that of the exemplary embodiment 1, except that the forwarding plane flow is executed by [EVPN Overlay].
在端到端报文转发流程的第三步中已经可以证明,本申请没有对P1结点做任何改动,就提高了P1结点上的负荷分担效果。并且,本申请没有使用任何MPLS技术。In the third step of the end-to-end message forwarding process, it has been proved that the application does not make any changes to the P1 node, thereby improving the load sharing effect on the P1 node. Also, this application does not use any MPLS technology.
示例实施例8 Example embodiment 8
结合图12对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE结点的实施作进一步的详细描述。The implementation of the PE node of the method and apparatus (system) of transmitting and using the entropy value of the inner layer message in the outer IP header will be further described in detail with reference to FIG.
1:实现所述VPN基础设施模块。1: Implement the VPN infrastructure module.
除特殊说明之处以外,本模块与示例实施例7相同。This module is the same as the exemplary embodiment 7, except where specifically stated.
与示例实施例7不同,本模块设定underlay网络为IPv6网络。Different from the exemplary embodiment 7, the module sets the underlay network to be an IPv6 network.
值得一提的是,这意味着本模块所动态生成的VXLAN隧道的源IP和目的IP均为IPv6地址。It is worth mentioning that this means that the source IP address and destination IP address of the VXLAN tunnel dynamically generated by this module are IPv6 addresses.
2:实现所述熵IP第一插件模块的具体方法如下。2: The specific method of implementing the entropy IP first plug-in module is as follows.
除特殊说明之处以外,本模块与示例实施例4相同。This module is the same as the exemplary embodiment 4 except where specifically stated.
与示例实施例4不同,本模块基于所述第一报文的入口AC所属的主接口对应的ESI(10字节)进行哈希计算的结果作为所述第一报文的熵值。本模块使用第二报文的源IP字段作为熵IP,所述源IP的低32位与所述熵值进行按位逻辑异或运算,所得结果存储在前者中。Different from the example embodiment 4, the module performs a hash calculation based on the ESI (10 bytes) corresponding to the primary interface to which the ingress AC of the first packet belongs, as the entropy value of the first packet. The module uses the source IP field of the second packet as the entropy IP, and the lower 32 bits of the source IP perform a bitwise logical exclusive OR operation with the entropy value, and the obtained result is stored in the former.
3:实现所述熵IP第二插件模块的具体方法如下。3: The specific method for implementing the entropy IP second plug-in module is as follows.
除特殊说明之处以外,本模块与示例实施例4相同。This module is the same as the exemplary embodiment 4 except where specifically stated.
与示例实施例4不同,本模块确定的所述第三报文中在进行与IP地址相关的处理之前需要清零的二进制位的位置为源IP的低32位。Different from the exemplary embodiment 4, the position of the binary bit that needs to be cleared before the processing related to the IP address in the third message determined by the module is the lower 32 bits of the source IP.
结合图13对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知P结点的实施作进一步的详细描述。The implementation of the non-service-aware P-node of the method and apparatus (system) of transmitting and using the entropy value of the inner layer message in the outer IP header is further described in detail with reference to FIG.
1:实现所述IP基础设施模块。1: Implement the IP infrastructure module.
本模块与示例实施例5中的同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 5.
2:实现所述熵IP第三插件模块的具体方法如下。2: The specific method for implementing the entropy IP third plug-in module is as follows.
本模块与示例实施例5中的同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 5.
值得注意的是,虽然所述第三报文的源IP的低32位为被熵值加密后的密文且本结点无法对其解密,但是,由于所述源IP是所述第一PE上的一个loopback接口的IP地址,且所述loopback接口配置了96位掩码,因此,无论所述源IP中的密文部分是什么值,它都是路由可达的IP地址,因此,既使不能对其进行除熵处理,也是不影响转发的。It should be noted that although the lower 32 bits of the source IP of the third packet are ciphertexts encrypted by the entropy value and the node cannot decrypt the same, the source IP is the first PE. The IP address of a loopback interface, and the loopback interface is configured with a 96-bit mask. Therefore, regardless of the value of the ciphertext part of the source IP, it is a reachable IP address, therefore, It cannot be de-entropy-processed, and it does not affect forwarding.
以图2所示的VPN业务为例,网络及业务部署流程部分的处理步骤如下。Taking the VPN service shown in Figure 2 as an example, the processing steps of the network and service deployment process are as follows.
除特殊说明之处以外,本步骤与示例实施例7中的对应步骤相同。This step is the same as the corresponding step in the exemplary embodiment 7, except where specifically stated.
与示例实施例7不同,本示例实施例的underlay网络为IPv6网络,且各VPN Router ID所在的loopback接口均配置了96位子网掩码,且VXLAN隧道的源IP和目的IP均为IPv6地址。Different from the example embodiment 7, the underlay network of the example is an IPv6 network, and the loopback interface of each VPN router ID is configured with a 96-bit subnet mask, and the source IP address and the destination IP address of the VXLAN tunnel are both IPv6 addresses.
以图2所示的VPN拓扑为例,端到端报文转发流程部分的处理步骤如下。Taking the VPN topology shown in Figure 2 as an example, the processing steps of the end-to-end packet forwarding process are as follows.
本步骤与示例实施例7中的对应步骤相同。This step is the same as the corresponding step in the exemplary embodiment 7.
示例实施例9 Example embodiment 9
结合图12对所述在外层IP头中传输和使用内层报文的熵值的方法和装置 (系统)的技术方案的PE结点的实施作进一步的详细描述。The implementation of the PE node of the method and apparatus (system) of transmitting and using the entropy value of the inner layer message in the outer IP header will be further described in detail with reference to FIG.
1:实现所述VPN基础设施模块。1: Implement the VPN infrastructure module.
按[EVPN overlay]和draft-ietf-bess-evpn-prefix-advertisement([EVPN prefix])实现VXLAN EVPN业务,则所得VXLAN EVPN业务的控制面模块即所述VPN基础设施模块的控制面部分。The VXLAN EVPN service is implemented by [EVPN overlay] and draft-ietf-bess-evpn-prefix-advertisement ([EVPN prefix]), and the control plane module of the obtained VXLAN EVPN service is the control plane part of the VPN infrastructure module.
同理,按[EVPN overlay]和[EVPN prefix]实现VXLAN EVPN业务,则所得VXLAN EVPN业务的转发面模块即所述VPN基础设施模块的转发面部分。Similarly, if the VXLAN EVPN service is implemented by [EVPN overlay] and [EVPN prefix], the forwarding plane module of the obtained VXLAN EVPN service is the forwarding plane part of the VPN infrastructure module.
值得一提的是,按以上方法所得的EVPN控制面模块,其中包括BGP协议L2VPN EVPN地址族相关配置、IP-VRF实例的配置、AC与IP-VRF实例的绑定配置等内容,其中,IP-VRF实例以VNI为标识,VNI来自用户配置。其中,所述VXLAN隧道在其源结点上以该结点的VPN Router ID作为源IP,以目的结点的VPN Router ID作为目的IP。其中,所述VPN Router ID是一个loopback接口的IP地址。为描述简便起见,不失一般性,本模块设定一个节点只有一个VPN Router ID。It is worth mentioning that the EVPN control plane module obtained by the above method includes the configuration of the BGP L2VPN EVPN address family, the configuration of the IP-VRF instance, and the binding configuration of the AC and the IP-VRF instance. The VRF instance is identified by the VNI and the VNI is from the user configuration. The VXLAN tunnel uses the VPN Router ID of the node as the source IP at the source node and the VPN Router ID of the destination node as the destination IP address. The VPN Router ID is an IP address of a loopback interface. For the sake of simplicity, without loss of generality, this module sets a node with only one VPN Router ID.
值得一提的是,为简单起见,在对本专利来说不失一般性的情况下,本模块只需要实现其中IP-VRF到IP-VRF的interface-less模型对应的功能,因此,本模块中IP-VRF的AC接口仍然是普通子接口,而不包括[EVPN prefix]中所述的IRB接口。It is worth mentioning that, for the sake of simplicity, in the case of the patent without loss of generality, this module only needs to implement the function corresponding to the interface-less model of IP-VRF to IP-VRF, therefore, in this module The AC interface of the IP-VRF is still a normal sub-interface, and does not include the IRB interface described in [EVPN prefix].
值得一提的是,按以上方法所得的本模块的控制面部分,不需要静态配置VXLAN隧道,RT-5路由可以将所需全部VXLAN隧道动态生成。不失一般性,为简单起见,可以通过调整BGP配置使得通过RT-5路由生成的VXLAN隧道符合如下规则:在任意两个PE结点之间,只生成一条双向VXLAN隧道;任一双向VXLAN隧道的两端,均使用所在结点的VPN Router ID作为该VXLAN隧道的源IP,并且,在同一双向VXLAN隧道的两端,一端的隧道源IP正好是另一端的隧道目的IP,一端的隧道目的IP正好是另一端的隧道源IP。同理,通过调整BGP配置,也可以使得RT-5路由能够将所有VXLAN隧道与EVPN实例的绑定关系全部生成;这些均属于相关技术,本领域的技术人员应能明白其中涉及的具体方法。It is worth mentioning that the control plane part of the module obtained by the above method does not need to statically configure the VXLAN tunnel, and the RT-5 route can dynamically generate all the required VXLAN tunnels. Without loss of generality, for simplicity, the VXLAN tunnel generated by RT-5 routing can be adjusted by the following rules: Only one bidirectional VXLAN tunnel is generated between any two PE nodes; any bidirectional VXLAN tunnel Both ends of the tunnel use the VPN router ID of the node as the source IP address of the VXLAN tunnel, and the tunnel source IP address of one end of the same bidirectional VXLAN tunnel is exactly the tunnel destination IP address of the other end. The IP is exactly the tunnel source IP at the other end. Similarly, by adjusting the BGP configuration, the RT-5 route can also generate all the binding relationships between all the VXLAN tunnels and the EVPN instance; these are all related technologies, and those skilled in the art should be able to understand the specific methods involved.
本模块作为软件实现,需要实现一种插件机制,设置为在本模块按[EVPN  prefix]流程转发时,完成从第一报文到第二报文的IP封装后,调用该插件对IP封装中的源IP和目的IP进行修改。所述插件可以是函数调用、回调函数、多态函数也可以是独立插件。As a software implementation, this module needs to implement a plug-in mechanism. When the module forwards according to the [EVPN prefix] process, the IP encapsulation from the first packet to the second packet is completed, and the plug-in is invoked in the IP encapsulation. The source IP and destination IP are modified. The plugin can be a function call, a callback function, a polymorphic function, or a standalone plugin.
除插件机制以外,本模块与[EVPN prefix]对应转发模块的转发流程相同。Except for the plug-in mechanism, this module has the same forwarding process as the forwarding module corresponding to [EVPN prefix].
此外,作为VPN Router ID的IP地址必须是一个loopback接口地址,该loopback接口地址配置了96位掩码,因此,会形成一个96位路由,并且有一个96位路由前缀在underlay网络中发布;并且,本结点在接收到一个目的IP匹配该96位路由的报文时,都认为是该loopback接口的报文,与目的IP为该loopback接口的报文同样处理。In addition, the IP address of the VPN Router ID must be a loopback interface address, and the loopback interface address is configured with a 96-bit mask, so a 96-bit route is formed, and a 96-bit route prefix is issued in the underlay network; When the node receives a packet whose destination IP matches the 96-bit route, it considers that the packet is the same as the packet whose destination IP is the loopback interface.
此外,不失一般性,在本示例实施例中,设定underlay网络为IPv6网络,因此,VXLAN隧道的源IP和目的IP均为IPv6地址。In addition, without loss of generality, in the present exemplary embodiment, the underlay network is set to be an IPv6 network. Therefore, the source IP address and the destination IP address of the VXLAN tunnel are both IPv6 addresses.
2:实现所述熵IP第一插件模块的具体方法如下。2: The specific method of implementing the entropy IP first plug-in module is as follows.
除特殊说明之处以外,本模块与示例实施例8相同。This module is the same as the exemplary embodiment 8 except where it is specifically described.
与示例实施例8不同,本模块以基于所述第一报文的IP五元组字段和Ipv4头中的ToS字段进行哈希运算得到的哈希值作为最终的32位熵值。Different from the exemplary embodiment 8, the module uses the hash value obtained by hashing based on the IP quintuple field of the first message and the ToS field in the Ipv4 header as the final 32-bit entropy value.
3:实现所述熵IP第二插件模块的具体方法如下。3: The specific method for implementing the entropy IP second plug-in module is as follows.
本模块将所述VPN基础设施模块输入的报文原封不动地返回给所述VPN基础设施模块。The module returns the message input by the VPN infrastructure module to the VPN infrastructure module intact.
结合图13对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知P结点的实施作进一步的详细描述。The implementation of the non-service-aware P-node of the method and apparatus (system) of transmitting and using the entropy value of the inner layer message in the outer IP header is further described in detail with reference to FIG.
1:实现所述IP基础设施模块。1: Implement the IP infrastructure module.
本模块与示例实施例5中的同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 5.
2:实现所述熵IP第三插件模块的具体方法如下。2: The specific method for implementing the entropy IP third plug-in module is as follows.
本模块与示例实施例5中的同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 5.
以图3所示的EVPN拓扑为例,网络及业务部署流程包括以下六步。Taking the EVPN topology shown in Figure 3 as an example, the network and service deployment process includes the following six steps.
第一步,与示例实施例7相同,除了本示例实施例选定的underlay网络类型为IPv6网络。The first step is the same as that of the exemplary embodiment 7, except that the underlay network type selected in the present exemplary embodiment is an IPv6 network.
第二步,与示例实施例7相同,除了VPN Router ID所在的loopback接口 的子网掩码为96位子网掩码。The second step is the same as the example embodiment 7, except that the subnet mask of the loopback interface where the VPN Router ID is located is a 96-bit subnet mask.
第三步,与示例实施例7相同,除了生成VXLAN隧道并将所生成的VXLAN隧道绑定到EVPN实例的路由为RT-5路由而不是RT-3路由。The third step is the same as in the exemplary embodiment 7, except that the route that generates the VXLAN tunnel and binds the generated VXLAN tunnel to the EVPN instance is an RT-5 route instead of an RT-3 route.
第四步,按图1所示建立一条VXLAN L3 EVPN业务,并在每个PE结点上为该VXLAN L3 EVPN业务指定相同的VNI。其中,AC1、AC2、AC3、等3个接口均作为接入电路绑定所述VXLAN L3 EVPN业务。完成以上配置以后,所述MP-BGP会话开始按[EVPN Prefix]定义的信令流程交流RT-5路由,导致各节点之间的VXLAN隧道得以建立并且与所述VXLAN L3 EVPN业务相绑定。In the fourth step, a VXLAN L3 EVPN service is established as shown in Figure 1, and the same VNI is assigned to the VXLAN L3 EVPN service at each PE node. The three interfaces, AC1, AC2, and AC3, are bound to the VXLAN L3 EVPN service as access circuits. After the above configuration is completed, the MP-BGP session starts to exchange the RT-5 route according to the signaling process defined by [EVPN Prefix], so that the VXLAN tunnel between the nodes is established and bound to the VXLAN L3 EVPN service.
第五步,配置AC接口的IP地址。给每条AC配置一个IP地址,此IP地址与对应CE的IP地址在同一个子网内,并且与对应CE的IP地址不同。为简单起见,本示例实施例设定各CE为IPv4主机,因此,MP-BGP会话所发布的RT-5路由中的EVPN prefix为IPv4前缀,但是,RT-5路由所生成的VXLAN隧道的源IP和目的IP均为IPv6地址。Step 5: Configure the IP address of the AC interface. Configure an IP address for each AC. This IP address is in the same subnet as the IP address of the corresponding CE and is different from the IP address of the corresponding CE. For the sake of simplicity, the example embodiment sets each CE as an IPv4 host. Therefore, the EVPN prefix in the RT-5 route advertised by the MP-BGP session is an IPv4 prefix, but the source of the VXLAN tunnel generated by the RT-5 route. Both the IP and destination IP addresses are IPv6 addresses.
第六步,经过以上步骤,所述VXLAN L3 EVPN业务就建立起来了,可以使用数据报文来验证本示例实施例中定义的PE结点和非业务感知结点上的转发行为和效果了。In the sixth step, after the above steps, the VXLAN L3 EVPN service is established, and the data packet can be used to verify the forwarding behavior and effect on the PE node and the non-service aware node defined in the exemplary embodiment.
以图3所示的EVPN拓扑为例,端到端报文转发流程包括以下三步。The EVPN topology shown in Figure 3 is used as an example. The end-to-end packet forwarding process includes the following three steps.
第一步,当PE1结点从本地AC1收到一个IPv4报文B1时,所述PE结点按[EVPN prefix]定义的转发流程转发B1报文,不失一般性,假定根据B1报文的目的IP地址应该将其转发给PE3。将B1封装为B1c并转发给PE3。In the first step, when the PE1 node receives an IPv4 packet B1 from the local AC1, the PE node forwards the B1 packet according to the forwarding process defined by the [EVPN prefix] without loss of generality, assuming that the packet is based on the B1 packet. The destination IP address should be forwarded to PE3. B1 is packaged as B1c and forwarded to PE3.
第二步,与示例实施例1中的对应步骤相同,除了B1是一个IPv4报文以及所述特征字段为所述B1报文的IPv4五元组之外。The second step is the same as the corresponding step in the exemplary embodiment 1, except that B1 is an IPv4 message and the feature field is an IPv4 quintuple of the B1 message.
第三步,与示例实施例1相同,除了转发面流程按[EVPN prefix]执行以外。The third step is the same as that of the exemplary embodiment 1, except that the forwarding plane flow is executed by [EVPN prefix].
在端到端报文转发流程的第三步中已经可以证明,本申请没有对P1结点做任何改动,就提高了P1结点上的负荷分担效果。并且,本申请没有使用任何MPLS技术。In the third step of the end-to-end message forwarding process, it has been proved that the application does not make any changes to the P1 node, thereby improving the load sharing effect on the P1 node. Also, this application does not use any MPLS technology.
示例实施例10Example embodiment 10
结合图12对所述在外层IP头中传输和使用内层报文的熵值的方法和装置 (系统)的技术方案的PE结点的实施作进一步的详细描述。The implementation of the PE node of the method and apparatus (system) of transmitting and using the entropy value of the inner layer message in the outer IP header will be further described in detail with reference to FIG.
1:实现所述VPN基础设施模块。1: Implement the VPN infrastructure module.
除特殊说明之处以外,本模块与示例实施例6相同。This module is the same as the example embodiment 6 except where it is specifically described.
与示例实施例6不同,本模块使用的封装格式与其所用封装格式相比,添加了SRH头,SRH头的位置如图17中格式C所示,该图中格式B即为示例实施例6所用格式。所述SRH头为IETF在draft-ietf-6man-segment-routing-header([SRH])中定义的分段路由头,在[SRH]中定义了所述SRH头的格式,包括Flags字段和Segment List字段。Different from the exemplary embodiment 6, the encapsulation format used by the module is compared with the encapsulation format used by the module, and the SRH header is added. The position of the SRH header is shown in the format C in FIG. 17, and the format B in the figure is used in the exemplary embodiment 6. format. The SRH header is a segmentation routing header defined by the IETF in the draft-ietf-6man-segment-routing-header ([SRH]), and the format of the SRH header is defined in [SRH], including the Flags field and the Segment. List field.
2:实现所述熵IP第一插件模块的具体方法如下。2: The specific method of implementing the entropy IP first plug-in module is as follows.
除特殊说明之处以外,本模块与示例实施例6相同。This module is the same as the example embodiment 6 except where it is specifically described.
与示例实施例6不同,本模块直接将所述第一报文的入口AC所属的主接口对应的ESI(10字节)作为16字节熵值的低10字节,将所述第一报文的源MAC、目的MAC、Ehertype、VLAN ID生成的6字节哈希值作为16字节熵值的高6字节。Different from the example embodiment 6, the module directly uses the ESI (10 bytes) corresponding to the primary interface to which the entry AC of the first packet belongs, as the lower 10 bytes of the 16-byte entropy value, and the first report. The 6-byte hash value generated by the source MAC address, destination MAC address, Ehertype, and VLAN ID is the upper 6 bytes of the 16-byte entropy value.
与示例实施例6不同,本模块使用的封装格式与其所用封装格式相比,添加了SRH头,SRH头的位置如图17中格式C所示,该图中格式B即为示例实施例6所用格式。所述SRH头为IETF在draft-ietf-6man-segment-routing-header([SRH])中定义的分段路由头,在[SRH]中定义了所述SRH头的格式,包括标记(Flags)字段和段列表(Segment List)字段。本模块所添加的SRH中所述Flags字段取值满足如下处件:其与预定常数TBD1进行按位逻辑与运算的结果不为0,其中,TBD1待IETF定义,TBD1的可能取值有1、2、4和128等几种可能。其中,Segment List字段是一个IPv6地址数组,本模块所添加的SRH头中该数组只有一个元素,即Segment List[0],本模块所添加的SRH头中所述Segment List[0]取值为所述熵值。Different from the exemplary embodiment 6, the encapsulation format used by the module is compared with the encapsulation format used by the module, and the SRH header is added. The position of the SRH header is shown in the format C in FIG. 17, and the format B in the figure is used in the exemplary embodiment 6. format. The SRH header is a segmentation routing header defined by the IETF in the draft-ietf-6man-segment-routing-header ([SRH]), and the format of the SRH header is defined in [SRH], including flags (Flags). Field and Segment List fields. The value of the Flags field in the SRH added by the module satisfies the following condition: the result of the bitwise logical AND operation with the predetermined constant TBD1 is not 0, where TBD1 is defined by the IETF, and the possible value of TBD1 is 1. 2, 4 and 128, etc. The Segment List field is an IPv6 address array. The array in the SRH header added by this module has only one element, that is, Segment List[0]. The value of the Segment List[0] in the SRH header added by this module is The entropy value.
3:实现所述熵IP第二插件模块的具体方法如下。3: The specific method for implementing the entropy IP second plug-in module is as follows.
本模块从所述第三报文的SRH头的Segment List[0]字段中读出所述熵值,并将所述SRH头剥掉,并将SRH头中的下一报头字段的值拷贝到IPv6头中,得到又一报文并将其返回给所述VPN基础设施模块进行处理,所述熵值的低10字节为所述第三报文承载的所述第四报文的入口AC对应的ESI,可以用于报文统计,将从远端不同ESI过来的报文的统计数据记录到不同的计数器中,从而 提高报文统计的精确性。The module reads the entropy value from the Segment List[0] field of the SRH header of the third message, and strips the SRH header, and copies the value of the next header field in the SRH header to In the IPv6 header, another packet is obtained and returned to the VPN infrastructure module for processing. The lower 10 bytes of the entropy value is the entry AC of the fourth packet carried by the third packet. The corresponding ESI can be used for packet statistics, and the statistics of the packets from different remote ESIs are recorded in different counters, thereby improving the accuracy of packet statistics.
若所述SRH头的所述Flags字段与所述预定常数TBD1进行接位逻辑与运算的结果为0,则不对报文进行任何处理,直接交给所述VPN基础设施模块处理。If the result of the logical AND operation of the Flags field of the SRH header and the predetermined constant TBD1 is 0, no processing is performed on the message, and the processing is directly performed to the VPN infrastructure module.
值得一提的是,所述第三报文的目的IP实际上是配置所述目的IP的PE节点上的一个本地分段标识(Segment Identity,SID),所述本地SID概念即draft-filsfils-spring-srv6-network-programming-01([srv6-program])的section 4中所述本地SID概念。本模块实际上是定义了对应于该本地SID的一种新型的SRv6 Function,所述SRv6 Function概念即[srv6-program]Section 4中所述SRv6 Fucntion概念。此新型SRv6 Function表示SRH头中的Segment List[0]字段如果与所述目的IP不同,则Segment List[0]字段是一个在underlay网络中不可路由的IP地址,并且,不能像其它SRv6 Function那样用Segment List[0]字段覆盖所述第三报文的目的IP字段。本示例实施例可以与SRv6的SR-Policy功能结合使用,此时,按照所述SR-Policy的报文封装规范,所述第三报文的目的IP起初并不是目的PE结点(即本模块的执行主体)上的所述本地SID,但是,所述第三报文的目的IP在经过各个非业务感知结点或目的PE结点的SRv6转发流程的修改,最终会在所述目的PE结点上变为所述本地SID,并按所述新型SRv6 Fuction的规则对所述第三报文进行处理。It is worth mentioning that the destination IP of the third packet is actually a local segment identifier (SID) on the PE node configuring the destination IP, and the local SID concept is draft-filsfils- The local SID concept described in section 4 of spring-srv6-network-programming-01([srv6-program]). This module actually defines a new type of SRv6 Function corresponding to the local SID, which is the SRv6 Fucntion concept described in [srv6-program] Section 4. The new SRv6 Function indicates that the Segment List[0] field in the SRH header is different from the destination IP, and the Segment List[0] field is an IP address that is not routable in the underlay network, and cannot be like other SRv6 Functions. The destination IP field of the third packet is covered by a Segment List[0] field. The present example may be used in conjunction with the SR-Policy function of the SRv6. In this case, according to the packet encapsulation specification of the SR-Policy, the destination IP of the third packet is not the destination PE node at the beginning (ie, the module). The local SID on the execution entity, but the destination IP of the third packet is modified in the SRv6 forwarding process through each non-service aware node or destination PE node, and finally the destination PE node The point becomes the local SID, and the third message is processed according to the rules of the new SRv6 Fuction.
结合图13对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知P结点的实施作进一步的详细描述。The implementation of the non-service-aware P-node of the method and apparatus (system) of transmitting and using the entropy value of the inner layer message in the outer IP header is further described in detail with reference to FIG.
1:实现所述IP基础设施模块。1: Implement the IP infrastructure module.
除特殊说明之处以外,本模块与示例实施例2中的同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 2 except where specifically stated.
与示例实施例2不同,本模块在对目的IP不是本地接口IP的IP报文进行转发的过程中,在进行负载均衡路径选择时,若IPv6报文头中含有所述SRH头,则调用所述熵IP第三插件模块获取所述熵值,并且,以源IP、目的IP和所述熵值进行负载均衡。Different from the example embodiment 2, in the process of forwarding the IP packet whose destination IP is not the local interface IP, the module calls the SRH header if the IPv6 header is included in the load balancing path selection. The entropy IP third plug-in module obtains the entropy value, and performs load balancing with source IP, destination IP, and the entropy value.
与示例实施例2相同,本模块中在所述IP报文不含SRH头时,仍然使用所述IP五元组进行负载均衡。As in the second embodiment, in the module, when the IP packet does not contain the SRH header, the IP quintuple is still used for load balancing.
2:实现所述熵IP第三插件模块的具体方法如下。2: The specific method for implementing the entropy IP third plug-in module is as follows.
若所述SRH头中的Flags字段与所述待定常数TBD1进行按位逻辑与运算的结果不为0,则认为所述SRH头中含有熵值,并从所述SRH头中将所述熵值读出,否置认为熵值为0。其中,与本示例实施例中所述VPN基础设施模块对应的将所述熵值读出的方法为:读取所述SRH头中的Segment List[0]的值作为所述熵值。If the result of the bitwise logical AND operation between the Flags field in the SRH header and the undetermined constant TBD1 is not 0, the SRH header is considered to contain an entropy value, and the entropy value is from the SRH header. Read, no set to consider the entropy value is 0. The method for reading the entropy value corresponding to the VPN infrastructure module in the exemplary embodiment is: reading a value of a Segment List[0] in the SRH header as the entropy value.
以图1所示的VPN业务为例,网络及业务部署流程部分的处理步骤如下。Taking the VPN service shown in Figure 1 as an example, the processing steps of the network and service deployment process are as follows.
除特殊说明之处以外,本步骤与示例实施例6中的对应步骤相同。This step is the same as the corresponding step in the exemplary embodiment 6, except where specifically stated.
与示例实施例6不同,第个EVPN实例接口配置的子网掩码为128位。Unlike the example embodiment 6, the subnet mask of the first EVPN instance interface configuration is 128 bits.
以图1所示的VPN拓扑为例,端到端报文转发流程部分的处理步骤如下。Taking the VPN topology shown in Figure 1 as an example, the processing steps of the end-to-end packet forwarding process are as follows.
本步骤与示例实施例6中的对应步骤相同。This step is the same as the corresponding step in the exemplary embodiment 6.
示例实施例11Example embodiment 11
结合图12对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE结点的实施作进一步的详细描述。The implementation of the PE node of the method and apparatus (system) of transmitting and using the entropy value of the inner layer message in the outer IP header will be further described in detail with reference to FIG.
1:实现所述VPN基础设施模块。1: Implement the VPN infrastructure module.
按RFC8214和[EVPN overlay]实现VXLAN封装的EVPN VPWS业务,则所得EVPN VPWS业务的控制面模块即所述VPN基础设施模块的控制面部分。其中,[EVPN overlay]主要是对报文的格式提供指导,业务处理流程遵照RFC8214。The VXLAN encapsulated EVPN VPWS service is implemented according to RFC8214 and [EVPN overlay], and the control plane module of the obtained EVPN VPWS service is the control plane part of the VPN infrastructure module. The [EVPN overlay] mainly provides guidance for the format of the packet, and the service processing procedure complies with RFC8214.
同理,按RFC8214和[EVPN overlay]实现VXLAN封装的EVPN VPWS业务,则所得EVPN VPWS业务的转发面模块即所述VPN基础设施模块的转发面部分。Similarly, the VXLAN encapsulated EVPN VPWS service is implemented according to RFC8214 and [EVPN overlay], and the forwarding plane module of the obtained EVPN VPWS service is the forwarding surface part of the VPN infrastructure module.
值得一提的是,按以上方法所得的EVPN VPWS控制面模块,其中包括BGP协议L2VPN EVPN地址族相关配置、EVPN VPWS对应的EVI实例的配置、所述EVI实例内的各VPWS业务实例的配置,AC与所述VPWS业务实例的绑定配置、ESI相关配置、VPN Router ID配置等内容。其中,所述VPN Router ID是一个loopback接口的IP地址。为描述简便起见,不失一般性,本模块设定一个节点只有一个VPN Router ID。按以上方法所得的本模块的控制面部分,还会在BGP路由的参与下在每个所述EVI实例中建立每个VPWS业务实例的转发表项。It is worth mentioning that the EVPN VPWS control plane module obtained by the above method includes the configuration of the BGP L2VPN EVPN address family, the configuration of the EVI instance corresponding to the EVPN VPWS, and the configuration of each VPWS service instance in the EVI instance. The binding configuration of the AC and the VPWS service instance, the ESI related configuration, and the VPN Router ID configuration. The VPN Router ID is an IP address of a loopback interface. For the sake of simplicity, without loss of generality, this module sets a node with only one VPN Router ID. The control plane part of the module obtained by the above method also establishes a forwarding entry of each VPWS service instance in each of the EVI instances with the participation of BGP routes.
尤其值得一提的是,按以上方法所得的本模块的控制面部分,不需要静态配置VXLAN隧道,通过调整BGP的配置,RT-1路由可以将所需全部VXLAN隧道动态生成。不失一般性,为简单起见,可以通过调整BGP配置使得通过RT-1路由生成的VXLAN隧道符合如下规则:在任意两个PE结点之间,只生成一条双向VXLAN隧道;任一双向VXLAN隧道的两端,均使用所在结点的VPN Router ID作为该VXLAN隧道的源IP,并且,在同一双向VXLAN隧道的两端,一端的隧道源IP正好是另一端的隧道目的IP,一端的隧道目的IP正好是另一端的隧道源IP。同理,通过调整BGP配置,也可以使得RT-1路由能够将所有VXLAN隧道与所述EVI实例的绑定关系全部生成;这些均属于相关技术,本领域的技术人员应能明白其中涉及的具体方法。In particular, it is not necessary to statically configure the VXLAN tunnel in the control plane part of the module obtained by the above method. By adjusting the BGP configuration, the RT-1 route can dynamically generate all required VXLAN tunnels. Without loss of generality, for simplicity, the VXLAN tunnel generated by RT-1 routing can be adjusted by the following rules: Only one bidirectional VXLAN tunnel is generated between any two PE nodes; any bidirectional VXLAN tunnel Both ends of the tunnel use the VPN router ID of the node as the source IP address of the VXLAN tunnel, and the tunnel source IP address of one end of the same bidirectional VXLAN tunnel is exactly the tunnel destination IP address of the other end. The IP is exactly the tunnel source IP at the other end. Similarly, by adjusting the BGP configuration, the RT-1 route can also generate all the binding relationships between all the VXLAN tunnels and the EVI instance; these are all related technologies, and those skilled in the art should be able to understand the specific method.
尤其值得一提的是,按以上方法所得的本模块的转发面部分,所述第一报文只用于确定接收该报文的本地AC,在确定所述本地AC以后,所述第一报文中的字段不再应用于报文转发信息的选择。It is particularly worth mentioning that, in the forwarding plane part of the module obtained by the above method, the first packet is only used to determine the local AC that receives the packet, and after determining the local AC, the first packet The fields in the text are no longer applied to the selection of message forwarding information.
本模块作为软件实现,需要实现一种插件机制,设置为在本模块按所述EVPN VPWS业务转发流程转发时,完成从第一报文到第二报文的IP封装后,调用熵IP第一插件对IP封装中的源IP和目的IP进行修改,以及,在接收到所述第三报文并且处理所述第三报文时,调用熵IP第二插件对IP封装中的源IP和目的IP进行修改。所述插件可以是函数调用、回调函数、多态函数也可以是独立插件。As a software implementation, the module needs to implement a plug-in mechanism, and set the entropy IP first after the IP encapsulation of the first packet to the second packet is completed when the module forwards according to the EVPN VPWS service forwarding process. The plug-in modifies the source IP and the destination IP in the IP encapsulation, and, when receiving the third packet and processing the third packet, invokes the entropy IP second plug-in to source IP and destination in the IP encapsulation IP is modified. The plugin can be a function call, a callback function, a polymorphic function, or a standalone plugin.
除插件机制以外,本模块与RFC8214和[EVPN overlay]中对应转发模块的转发流程相同。Except for the plug-in mechanism, this module has the same forwarding process as the corresponding forwarding module in RFC8214 and [EVPN overlay].
此外,作为VPN Router ID的IP地址必须是一个loopback接口地址,该loopback接口地址配置了96位掩码,因此,会形成一个96位路由,并且有一个96位路由前缀在underlay网络中发布;并且,本结点在接收到一个目的IP匹配该96位路由的报文时,都认为是该loopback接口的报文,与目的IP为该loopback接口的报文同样处理。In addition, the IP address of the VPN Router ID must be a loopback interface address, and the loopback interface address is configured with a 96-bit mask, so a 96-bit route is formed, and a 96-bit route prefix is issued in the underlay network; When the node receives a packet whose destination IP matches the 96-bit route, it considers that the packet is the same as the packet whose destination IP is the loopback interface.
此外,不失一般性,在本示例实施例中,设定underlay网络为IPv6网络,因此,VXLAN隧道的源IP和目的IP均为IPv6地址。In addition, without loss of generality, in the present exemplary embodiment, the underlay network is set to be an IPv6 network. Therefore, the source IP address and the destination IP address of the VXLAN tunnel are both IPv6 addresses.
2:实现所述熵IP第一插件模块的具体方法如下。2: The specific method of implementing the entropy IP first plug-in module is as follows.
除特殊说明之处以外,本模块与示例实施例10相同。This module is the same as the exemplary embodiment 10 except where specifically stated.
与示例实施例10不同,本模块基于所述第一报文的入口AC所属的主接口对应的第4类或第5类ESI中的本地判别器值(Local Discriminator value)字段的低16位作为熵值的低16位,采用所述第一报文的源MAC的低16位作为熵值的高16位。Different from the exemplary embodiment 10, the module is based on the lower 16 bits of the Local Discriminator value field in the Type 4 or Category 5 ESI corresponding to the primary interface to which the entry AC of the first message belongs. The lower 16 bits of the entropy value use the lower 16 bits of the source MAC of the first message as the upper 16 bits of the entropy value.
与示例实施例10不同,本模块不是在其往所述第三报文插入SRH头的位置插入SRH头,而是插入一种新的IPv6路由选项头,权且称为熵路由报头(Entropy Route Header,ERH)头,并且,为了快速排除IPv6选项头中不带熵值的情况,减少非业务感知结点的对IPv6选项报头的处理负担,定义一个预定常数TBD2,当IPv6头中的下一报头字段的值为所述预定常述TBD2时,表示下一报头是一种路由报头,且该路由报头中可能含有熵值。所述TBD2的值由IETF决定。所述ERH报头的一种可能格式如图16所示;其中,熵值(Entropy Value)字段即用于承载所述熵值。其中,所述ERH报头的路由器类型(Route-type)字段取值为预定常数TBD3,所述TBD3的值由IETF决定,所述ERH头中的Reserved2字段取值为0xFF,Reserved3、Reserved4和Reserved5字段的取值为0,下一报头(Next Header)和报头扩展长度(Header Extension Length,Hdr Ext Len)字段取值按照RFC2460对路由报头的字段定义填写。Different from the exemplary embodiment 10, the module does not insert the SRH header at the position where the third message is inserted into the SRH header, but inserts a new IPv6 routing option header, which is called an entropy route header. , ERH) header, and, in order to quickly eliminate the case of the IPv6 option header without entropy, reduce the processing burden on the IPv6 option header of the non-service-aware node, define a predetermined constant TBD2, when the next header in the IPv6 header When the value of the field is the predetermined regular TBD2, it indicates that the next header is a routing header, and the routing header may contain an entropy value. The value of the TBD2 is determined by the IETF. One possible format of the ERH header is shown in FIG. 16; wherein an Entropy Value field is used to carry the entropy value. The router type (Route-type) field of the ERH header takes a value of a predetermined constant TBD3, and the value of the TBD3 is determined by an IETF. The Reserved2 field in the ERH header takes a value of 0xFF, Reserved3, Reserved4, and Reserved5 fields. The value of the Next Header and the Header Extension Length (Hdr Ext Len) field is filled in according to the field definition of the routing header in RFC2460.
值得注意的是,EVPN VPWS业务的接入电路(AC)并不局限于以太类型的接口,当接入电路(AC)是由帧中继(Frame Relay,FR)数据链路连接标识符(Data Link Connection Identifier,DLCI)标识的接入电路时,或者接入电路(AC)是由异步传输模式(Asynchronous Transfer Mode,ATM),虚路径标识符(Virtual Path identifier,VPI)或虚通道标识符(Virtual Channel Identifier,VCI)所标识的接入电路时,所述DLCI、VPI或VCI也可以用于计算所述第一报文的本征熵值。如何配置这种EVPN VPWS业务并不是本申请的创新点,因此,本说明书中就不一一举例了,本领域的技术人员应当清楚如何根据本示例实施例将熵值的使用扩充到非以太类型的EVPN VPWS业务。It is worth noting that the access circuit (AC) of the EVPN VPWS service is not limited to the Ethernet type interface. When the access circuit (AC) is a Frame Relay (FR) data link connection identifier (Data) When the Link Connection Identifier (DLCI) identifies the access circuit, or the access circuit (AC) is an Asynchronous Transfer Mode (ATM), a Virtual Path Identifier (VPI) or a virtual channel identifier ( The DLCI, VPI, or VCI may also be used to calculate an eigen-entropy value of the first packet when the access channel is identified by the Virtual Channel Identifier (VCI). How to configure such an EVPN VPWS service is not an innovation of the present application. Therefore, it is not exemplified in this specification. It should be clear to those skilled in the art how to extend the use of entropy values to non-Ether types according to the present exemplary embodiment. EVPN VPWS business.
3:实现所述熵IP第二插件模块的具体方法如下。3: The specific method for implementing the entropy IP second plug-in module is as follows.
直接剥除所述第三报文的ERH报头,并将ERH报头中的下一报头字段的值拷贝到IPv6头中,得到又一报文;将得到的该报文返回给所述VPN基础设施模块。Directly stripping the ERH header of the third packet, and copying the value of the next header field in the ERH header to the IPv6 header to obtain another packet; and returning the obtained packet to the VPN infrastructure. Module.
结合图13对所述在外层IP头中传输和使用内层报文的熵值的方法和装置 (系统)的技术方案的非业务感知P结点的实施作进一步的详细描述。The implementation of the non-service-aware P-node of the method and apparatus (system) of transmitting and using the entropy value of the inner layer message in the outer IP header is described in further detail with reference to FIG.
1:实现所述IP基础设施模块。1: Implement the IP infrastructure module.
除特殊说明之处以外,本模块与示例实施例2中的同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 2 except where specifically stated.
与示例实施例2不同,本模块在对目的IP不是本地接口IP的IP报文进行转发的过程中,在进行负载均衡路径选择时,若IPv6报文头中的下一个报头字段的值为所述TBD2,则认为第一个IPv6选项报头为路由报头,且其中可能包括熵值,于是调用熵IP第三插件获取所述内层熵值,若IPv6报文头中的下一个报头字段的值不是所述TBD2,不用调用熵IP第三插件模块获取熵值。Different from the example embodiment 2, in the process of forwarding the IP packet whose destination IP is not the local interface IP, the module performs the load balancing path selection if the value of the next header field in the IPv6 header is Referring to TBD2, the first IPv6 option header is considered to be a routing header, and may include an entropy value, so the entropy IP third plugin is called to obtain the inner entropy value, if the value of the next header field in the IPv6 header is Instead of the TBD2, the Entropy IP third plug-in module is not called to obtain the entropy value.
与示例实施例2不同,在成功按上述方法获得熵值的情况下,本模块中以源IP、目的IP和所述熵值进行负载均衡,在没有按上述方法获得熵值的情况下,仍以IP五元组进行负载均衡。Different from the example embodiment 2, in the case that the entropy value is successfully obtained according to the above method, the load balancing is performed by the source IP, the destination IP, and the entropy value in the module, and if the entropy value is not obtained according to the above method, Load balancing with IP quintuple.
2:实现所述熵IP第三插件模块的具体方法如下。2: The specific method for implementing the entropy IP third plug-in module is as follows.
若所述第三报文的第一个路由报头中的Route-type字段值与预定常数TBD3相等,表示它是一个ERH头,其中,Entropy Value字段之值即为所述熵值。若所述第三报文的第一个路由报头中的Route-type字段值与预定常数TBD3不相等,认为所述第三报文的内层熵值为0。If the value of the Route-type field in the first routing header of the third packet is equal to the predetermined constant TBD3, it indicates that it is an ERH header, and the value of the Entropy Value field is the entropy value. If the value of the Route-type field in the first routing header of the third packet is not equal to the predetermined constant TBD3, the inner entropy value of the third packet is considered to be zero.
以图4所示的EVPN VPWS拓扑为例,网络及业务部署流程包括以下六步。Taking the EVPN VPWS topology shown in Figure 4 as an example, the network and service deployment process includes the following six steps.
第一步,与示例实施例7相同,除了本示例实施例选定的underlay网络类型为IPv6网络。The first step is the same as that of the exemplary embodiment 7, except that the underlay network type selected in the present exemplary embodiment is an IPv6 network.
第二步,与示例实施例7相同,除了VPN Router ID所在的loopback接口的子网掩码为128位子网掩码。The second step is the same as the example embodiment 7, except that the subnet mask of the loopback interface where the VPN router ID is located is a 128-bit subnet mask.
第三步,与示例实施例7相同,除了生成VXLAN隧道并将所生成的VXLAN隧道绑定到EVPN实例的路由为RT-1路由而不是RT-3路由。The third step is the same as in the exemplary embodiment 7, except that the route that generates the VXLAN tunnel and binds the generated VXLAN tunnel to the EVPN instance is an RT-1 route instead of an RT-3 route.
第四步,按图4所示建立一条EVPN VPWS业务,并在每个PE结点上为该EVPN VPWS业务指定相同的VNI。其中,AC1、AC2、AC3、等3个接口均作为接入电路绑定所述EVPN VPWS业务。完成以上配置以后,所述MP-BGP会话开始按RFC8214定义的信令流程交互RT-1路由,导致各节点之间的VXLAN隧道得以建立并且与所述EVPN VPWS业务相绑定。In the fourth step, an EVPN VPWS service is established as shown in FIG. 4, and the same VNI is specified for the EVPN VPWS service at each PE node. The three interfaces, AC1, AC2, and AC3, are bound to the EVPN VPWS service as access circuits. After the above configuration is completed, the MP-BGP session starts to interact with the RT-1 route according to the signaling procedure defined in RFC8214, so that the VXLAN tunnel between the nodes is established and bound to the EVPN VPWS service.
第五步,配置ESI。与示例实施例7相同,除了信令流程为RFC8214中的 流程。The fifth step is to configure ESI. The same as the exemplary embodiment 7, except that the signaling flow is the flow in RFC8214.
第六步,经过以上步骤,所述EVPN VPWS业务就建立起来了,可以使用数据报文来验证本示例实施例中定义的PE结点和非业务感知结点上的转发行为和效果了。In the sixth step, after the above steps, the EVPN VPWS service is established, and the data packet can be used to verify the forwarding behavior and effect on the PE node and the non-service aware node defined in the exemplary embodiment.
以图4所示的EVPN VPWS拓扑为例,端到端报文转发流程包括以下三步。Taking the EVPN VPWS topology shown in Figure 4 as an example, the end-to-end packet forwarding process includes the following three steps.
第一步,当PE1结点从本地AC1收到一个IPv4报文B1时,所述PE结点按RFC8214定义的转发流程转发B1报文,不失一般性,假定根据B1报文的所述的EVPN实例应该将其转发给PE3。于是PE1将B1封装为B1c并转发给PE3。In the first step, when the PE1 node receives an IPv4 packet B1 from the local AC1, the PE node forwards the B1 packet according to the forwarding procedure defined in RFC8214, without loss of generality, assuming that the packet is based on the B1 packet. The EVPN instance should forward it to PE3. PE1 then encapsulates B1 as B1c and forwards it to PE3.
第二步,与示例实施例1中的对应步骤相同,除了B1是一个以太报文以及所述特征字段为所述B1报文的源MAC之外。The second step is the same as the corresponding step in the exemplary embodiment 1, except that B1 is an Ethernet message and the feature field is the source MAC of the B1 message.
第三步,与示例实施例1相同,除了转发面流程按RFC8124执行以外。The third step is the same as in the exemplary embodiment 1, except that the forwarding plane flow is performed in accordance with RFC 8124.
在端到端报文转发流程的第三步中已经可以证明,本申请没有对P1结点做任何改动,就提高了P1结点上的负荷分担效果。并且,本申请没有使用任何MPLS技术。In the third step of the end-to-end message forwarding process, it has been proved that the application does not make any changes to the P1 node, thereby improving the load sharing effect on the P1 node. Also, this application does not use any MPLS technology.
示例实施例12Example embodiment 12
结合图12对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的PE结点的实施作进一步的详细描述。The implementation of the PE node of the method and apparatus (system) of transmitting and using the entropy value of the inner layer message in the outer IP header will be further described in detail with reference to FIG.
1:实现所述VPN基础设施模块。1: Implement the VPN infrastructure module.
除特殊说明之处以外,本模块与示例实施例8相同。This module is the same as the exemplary embodiment 8 except where it is specifically described.
与示例实施例8不同,本模块中每个ESI有一个对应的同名接口,称为ESI接口,该接口上配置IP地址具有loopback接口地址的全部作用。Different from the exemplary embodiment 8, each ESI in the module has a corresponding interface with the same name, called an ESI interface, and the IP address of the interface has the full function of the loopback interface address.
2:实现所述熵IP第一插件模块的具体方法如下。2: The specific method of implementing the entropy IP first plug-in module is as follows.
除特殊说明之处以外,本模块与示例实施例8相同。This module is the same as the exemplary embodiment 8 except where it is specifically described.
与示例实施例8不同,本模块直接采用所述第一报文的入口AC所属的主接口对应的ESI IP的整体作为128位熵值。所述ESI IP为所述入口AC所属的主接口对应的ESI对应的ESI接口上配置的IP地址;Different from the exemplary embodiment 8, the module directly adopts the whole ESI IP corresponding to the primary interface to which the ingress AC of the first packet belongs, as a 128-bit entropy value. The ESI IP is an IP address configured on an ESI interface corresponding to the ESI corresponding to the primary interface to which the ingress AC belongs;
与示例实施例8不同,本模块采用源IP的全部128位填写所述ESI IP作为熵值。Unlike the exemplary embodiment 8, the module fills in the ESI IP as the entropy value using all 128 bits of the source IP.
3:实现所述熵IP第二插件模块的具体方法如下。3: The specific method for implementing the entropy IP second plug-in module is as follows.
本模块直接将所述第三报文原封不动返回给所述VPN基础设施模块进行继续处理。The module directly returns the third message to the VPN infrastructure module for processing.
值得注意的是,因为所述第三报文的源IP承载的熵值是所述第四报文的本地AC所属的主接口对应的所述ESI IP的完整体,且所述ESI IP在underlay网络中是路由可达的,因此,它虽然具有熵值的全部作用,但同时也具有一个IP地址的完整作用,因此,此处无需将ESI IP视为零。但是,一般的熵值常常具有伪随机性,不具有一个完整的IP地址的作用,因而非业务感知节点上最好将这类具有伪随机性的熵值视为零。It is noted that the entropy value of the source IP bearer of the third packet is a complete body of the ESI IP corresponding to the primary interface to which the local AC of the fourth packet belongs, and the ESI IP is in the underlay. The network is reachable. Therefore, although it has the full effect of entropy, it also has the complete function of an IP address. Therefore, there is no need to regard ESI IP as zero here. However, the general entropy value often has pseudo-randomness and does not have a complete IP address. Therefore, it is better for non-traffic-aware nodes to treat such pseudo-random entropy values as zero.
结合图6对所述在外层IP头中传输和使用内层报文的熵值的方法和装置(系统)的技术方案的非业务感知P结点的实施作进一步的详细描述。The implementation of the non-service-aware P-node of the method and apparatus (system) of transmitting and using the entropy value of the inner-layer message in the outer IP header is further described in detail with reference to FIG.
1:实现所述IP基础设施模块。1: Implement the IP infrastructure module.
本模块与示例实施例5中的同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 5.
2:实现所述熵IP第三插件模块的具体方法如下。2: The specific method for implementing the entropy IP third plug-in module is as follows.
本模块与示例实施例5中的同名模块相同。This module is the same as the module of the same name in the exemplary embodiment 5.
以图2所示的VPN业务为例,网络及业务部署流程部分的处理步骤如下。Taking the VPN service shown in Figure 2 as an example, the processing steps of the network and service deployment process are as follows.
除特殊说明之处以外,本步骤与示例实施例8中的对应步骤相同。This step is the same as the corresponding step in the exemplary embodiment 8, except where specifically stated.
与示例实施例8不同,本示例实施例的各VPN Router ID所在的loopback接口均配置了128位子网掩码。Different from the example embodiment 8, the loopback interface of each VPN router ID in this example embodiment is configured with a 128-bit subnet mask.
以图2所示的VPN拓扑为例,端到端报文转发流程部分的处理步骤如下:Take the VPN topology shown in Figure 2 as an example. The processing steps of the end-to-end packet forwarding process are as follows:
本步骤与示例实施例8中的对应步骤相同。This step is the same as the corresponding step in the exemplary embodiment 8.
本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上。它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。Those skilled in the art will appreciate that the various modules or steps of the present application described above can be implemented in a general-purpose computing device that can be centralized on a single computing device or distributed across a network of multiple computing devices. They may be implemented in program code executable by a computing device, such that they may be stored in a storage device for execution by a computing device, and in some instances, illustrated or described in a different order than those illustrated herein. The steps are either made into individual integrated circuit modules, or a plurality of modules or steps are made into a single integrated circuit module. Thus, the application is not limited to any particular combination of hardware and software.

Claims (23)

  1. 一种报文的发送方法,包括:A method for sending a message, including:
    从接入电路AC接收第一报文;Receiving the first packet from the access circuit AC;
    对所述第一报文进行处理,得到至少一个第二报文;其中,所述第二报文中包括:第一互联网协议IP地址;所述第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址;其中,所述预定熵值用于标识所述第一报文的熵;Processing the first packet to obtain at least one second packet, where the second packet includes: a first Internet Protocol IP address; the first IP address is a second using a predetermined entropy value The IP address obtained by modifying the IP address; wherein the predetermined entropy value is used to identify an entropy of the first packet;
    发送所述第二报文。Sending the second message.
  2. 根据权利要求1所述的方法,其中,所述第一IP地址位于所述第二报文的以下至少之一位置中:源IP,目的IP以及互联网协议第6版IPv6选项头中。The method of claim 1, wherein the first IP address is located in at least one of the following locations of the second message: source IP, destination IP, and Internet Protocol version 6 IPv6 option header.
  3. 根据权利要求1所述的方法,其中,使用所述预定熵值对所述第二IP地址进行修改包括以下至少之一:The method of claim 1 wherein modifying the second IP address using the predetermined entropy value comprises at least one of:
    用所述预定熵值取代所述第二IP地址中指定位置的值,其中,所述预定熵值为以下之一:本征熵值,上下文熵值以及综合熵值;And replacing, by the predetermined entropy value, a value of a specified position in the second IP address, wherein the predetermined entropy value is one of: an eigen entropy value, a context entropy value, and a comprehensive entropy value;
    用所述预定熵值与所述第二IP地址中指定位置的值进行计算得到的结果替换所述第二IP地址中所述指定位置的值,其中,所述预定熵值为以下之一:本征熵值,上下文熵值以及综合熵值;And replacing, by the result of the predetermined entropy value and the value of the specified location in the second IP address, a value of the specified location in the second IP address, wherein the predetermined entropy value is one of: Intrinsic entropy value, context entropy value and comprehensive entropy value;
    用所述预定熵值对所述第二IP地址中指定位置的值进行加密,其中,所述预定熵值为本征熵值;Encrypting a value of a specified position in the second IP address by using the predetermined entropy value, wherein the predetermined entropy value is an intrinsic entropy value;
    其中,所述本征熵值为由所述第一报文中的至少一个特征字段经过计算得到的熵值;所述上下文熵值为由所述AC对应的至少一个特征配置信息经过映射得到的熵值;所述综合熵值为由所述第一报文的本征熵值和所述第一报文的上下文熵值计算得到的熵值。The eigen-entropy value is an entropy value calculated by at least one feature field in the first packet, and the context entropy value is obtained by mapping at least one feature configuration information corresponding to the AC. An entropy value; the integrated entropy value is an entropy value calculated from an eigen-entropy value of the first packet and a context entropy value of the first packet.
  4. 根据权利要求3所述的方法,其中,所述特征字段包括以下至少之一:The method of claim 3 wherein said feature field comprises at least one of:
    所述第一报文的源IP、目的IP、协议类型、源端口、目的端口、IPv4的业务类型ToS字段以及IPv6的流标签Flow-label字段;The source IP address, the destination IP address, the protocol type, the source port, the destination port, the IPv4 service type ToS field, and the IPv6 flow label Flow-label field of the first packet;
    所述第一报文的源媒体访问控制MAC以及目的MAC;Source media access control MAC and destination MAC of the first packet;
    所述第一报文的以太网类型ethertype、内外层虚拟局域网标识VLAN ID以及802.1p优先级。The Ethernet type ethertype of the first packet, the inner and outer virtual LAN identifier VLAN ID, and the 802.1p priority.
  5. 根据权利要求3所述的方法,其中,所述AC对应的特征配置信息包括以下至少之一:The method according to claim 3, wherein the feature configuration information corresponding to the AC comprises at least one of the following:
    由所述AC映射得到的信息;Information obtained by the AC mapping;
    由所述AC所在的节点得到的节点级配置信息;Node level configuration information obtained by the node where the AC is located;
    由所述AC所属的主接口映射得到的信息;Information obtained by mapping the primary interface to which the AC belongs;
    由所述AC所属的主接口对应的以太网分段标识符ESI经过哈希计算后得到的信息;Information obtained by hash calculation by the Ethernet segment identifier ESI corresponding to the primary interface to which the AC belongs;
    所述AC所属的主接口对应的ESI本身;The ESI itself corresponding to the primary interface to which the AC belongs;
    所述AC所属的主接口对应的ESI所对应的ESI IP,其中,所述ESI IP是为所述ESI配置的一个IP地址,所述ESI IP与所述ESI所属的节点上除所述ESI之外的ESI所对应的ESI IP互不相同。An ESI IP corresponding to the ESI corresponding to the primary interface to which the AC belongs, where the ESI IP is an IP address configured for the ESI, and the ESI IP and the node to which the ESI belongs are in addition to the ESI The ESI IPs corresponding to the external ESIs are different from each other.
  6. 根据权利要求3所述的方法,其中,按照以下至少之一得到所述综合熵值:The method of claim 3 wherein said integrated entropy value is obtained in accordance with at least one of:
    由所述本征熵值和所述上下文熵值进行按位逻辑异或运算,得到所述综合熵值;Performing a bitwise logical exclusive OR operation on the eigen-entropy value and the context entropy value to obtain the comprehensive entropy value;
    由所述本征熵值、所述上下文熵值和任意N个常数进行计算,得到所述综合熵值;其中,N为大于或等于1的整数。Calculating from the eigen-entropy value, the context entropy value, and any N constants to obtain the integrated entropy value; wherein N is an integer greater than or equal to 1.
  7. 根据权利要求2所述的方法,其中,在所述第一IP地址位于所述第二报文的IPv6选项头中的情况下,通过以下之一指示所述IPv6选项头中是否存在所述预定熵值:The method according to claim 2, wherein, in a case where the first IP address is located in an IPv6 option header of the second message, whether the reservation exists in the IPv6 option header is indicated by one of the following Entropy value:
    通过所述第二报文的IPv6头中下一报头Next-header字段指示;Indicated by the next header Next-header field in the IPv6 header of the second packet;
    通过所述IPv6选项头中的字段指示。Indicated by the field in the IPv6 option header.
  8. 根据权利要求1所述的方法,其中,所述AC所属业务类型包括以下至少之一:The method according to claim 1, wherein the service type to which the AC belongs includes at least one of the following:
    在虚拟专用网络VPN中基于所述第一报文的MAC头转发的VPN;a VPN forwarded based on the MAC header of the first packet in the virtual private network VPN;
    在所述VPN中基于所述第一报文的IP头转发的VPN;a VPN forwarded based on the IP header of the first packet in the VPN;
    在所述VPN中根据所述AC上的配置信息进行转发的VPN。A VPN that forwards according to the configuration information on the AC in the VPN.
  9. 根据权利要求1所述的方法,其中,对所述第一报文进行处理包括以下至少之一:The method of claim 1, wherein processing the first message comprises at least one of the following:
    对所述第一报文进行可扩展虚拟局域网VXLAN封装;Performing an expandable virtual local area network (VXLAN) encapsulation on the first packet;
    对所述第一报文进行VXLAN通用协议扩展GPE封装;Performing a VXLAN general protocol extended GPE encapsulation on the first packet;
    对所述第一报文进行通用网络虚拟化封装Geneve封装;Performing a general network virtualization encapsulation Geneve encapsulation on the first packet;
    对所述第一报文进行网络虚拟化之通用路由封装NVGRE封装;Generating a universal routing encapsulation NVGRE encapsulation of the first packet for network virtualization;
    对所述第一报文进行在IPv6数据面上实现的分段路由SRv6封装。The segmented route SRv6 encapsulation implemented on the IPv6 data plane is performed on the first packet.
  10. 一种报文的处理方法,包括:A method for processing a message, comprising:
    接收服务提供商边缘设备PE发送的第一报文,其中,所述第一报文为所述PE对从所述PE的接入电路AC接收的第二报文进行处理得到的报文,所述第一报文包括:第一互联网协议IP地址;所述第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址,所述预定熵值用于标识所述第二报文的熵;Receiving, by the service provider edge device PE, the first packet, where the first packet is a packet obtained by the PE processing the second packet received by the access circuit AC of the PE, where The first packet includes: a first Internet Protocol IP address; the first IP address is an IP address obtained by modifying a second IP address using a predetermined entropy value, and the predetermined entropy value is used to identify the second packet. Entropy of text
    处理所述第一报文。Processing the first message.
  11. 根据权利要求10所述的方法,其中,所述第一IP地址位于所述第一报文的以下至少之一位置中:源IP,目的IP以及互联网协议第6版IPv6选项头中。The method of claim 10, wherein the first IP address is located in at least one of the following locations of the first message: source IP, destination IP, and Internet Protocol version 6 IPv6 option header.
  12. 根据权利要求10所述的方法,其中,在所述第一IP地址位于所述第一报文的IPv6选项头中的情况下,通过以下之一方式指示所述IPv6选项头中是否存在所述预定熵值:The method according to claim 10, wherein, if the first IP address is located in an IPv6 option header of the first packet, indicating whether the IPv6 option header is present in the IPv6 option header Predetermined entropy value:
    通过所述第一报文的IPv6头中下一报头Next-header字段指示;Indicated by the next header Next-header field in the IPv6 header of the first packet;
    通过所述IPv6选项头中的字段指示。Indicated by the field in the IPv6 option header.
  13. 根据权利要求10所述的方法,其中,当所述第一报文的目的IP是为接收所述第一报文的节点配置的IP地址时,处理所述第一报文,包括:The method according to claim 10, wherein when the destination IP of the first packet is an IP address configured for a node that receives the first packet, processing the first packet includes:
    将所述第一报文中的所述第一IP地址中被所述预定熵值修改过的二进制位设置为预定值;其中,不同二进制位设置的预定值相同或不同;Setting a binary bit of the first IP address in the first packet modified by the predetermined entropy value to a predetermined value; wherein, the predetermined values set by different binary bits are the same or different;
    重新计算所述预定熵值,并以重新计算后的所述预定熵值对所述第一报文中的所述第一IP地址中被所述预定熵值加密的部分进行解密;其中,所述预定熵值为本征熵值;Recalculating the predetermined entropy value, and decrypting, by the recalculated predetermined entropy value, a portion of the first IP address in the first packet that is encrypted by the predetermined entropy value; The predetermined entropy value is an intrinsic entropy value;
    将所述第一报文中的包含所述第一IP地址的所述IPv6选项头剥离;Stripping the IPv6 option header containing the first IP address in the first packet;
    直接处理所述第一报文。Processing the first message directly.
  14. 根据权利要求10所述的方法,其中,当所述第一报文的目的IP为接收所述第一报文的节点上的远端IP地址时,处理所述第一报文,包括以下至少之一:根据所述第一IP地址选择负载均衡转发信息,根据所述负载均衡转发信息转发所述第一报文;The method according to claim 10, wherein when the destination IP of the first packet is a remote IP address on a node that receives the first packet, the first packet is processed, including at least the following One of: selecting load balancing forwarding information according to the first IP address, and forwarding the first packet according to the load balancing forwarding information;
    将与所述第一IP地址中携带的所述预定熵值对应的二进制位分别视为预定值,对所述第一报文进行除转发之外的处理;The binary bits corresponding to the predetermined entropy value carried in the first IP address are respectively regarded as predetermined values, and the first packet is subjected to processing other than forwarding;
    直接转发所述第一报文。Forwarding the first packet directly.
  15. 一种报文的发送装置,包括:A message sending device includes:
    接收模块,设置为从接入电路AC接收第一报文;a receiving module, configured to receive the first packet from the access circuit AC;
    处理模块,设置为对所述第一报文进行处理,得到至少一个第二报文;其中,所述第二报文中包括:第一互联网协议IP地址;所述第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址;其中,所述预定熵值用于标识所述第一报文的熵;The processing module is configured to process the first packet to obtain at least one second packet, where the second packet includes: a first Internet Protocol IP address; the first IP address is a usage reservation The IP address obtained by modifying the second IP address by the entropy value; wherein the predetermined entropy value is used to identify the entropy of the first packet;
    发送模块,设置为发送所述第二报文。The sending module is configured to send the second packet.
  16. 根据权利要求15所述的装置,其中,所述第一IP地址位于所述第二报文的以下至少之一位置中:源IP,目的IP以及互联网协议第6版IPv6选项头中。The apparatus of claim 15, wherein the first IP address is located in at least one of the following locations of the second message: source IP, destination IP, and Internet Protocol version 6 IPv6 option header.
  17. 一种报文的处理装置,包括:A message processing device, comprising:
    接收模块,设置为接收服务提供商边缘设备PE发送的第一报文,其中,所述第一报文为所述PE对从所述PE的接入电路AC接收的第二报文进行处理得到的报文,所述第一报文中包括:第一互联网协议IP地址;所述第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址,所述预定熵值用于标识所述第四报文的熵;The receiving module is configured to receive the first packet sent by the service provider edge device PE, where the first packet is processed by the PE to process the second packet received by the access circuit AC of the PE. The first message includes: a first Internet Protocol IP address; the first IP address is an IP address obtained by modifying a second IP address using a predetermined entropy value, where the predetermined entropy value is used Identifying an entropy of the fourth packet;
    处理模块,设置为处理所述第一报文。And a processing module, configured to process the first packet.
  18. 根据权利要求17所述的装置,其中,所述第一IP地址位于所述第一报文的以下至少之一位置中:源IP,目的IP以及互联网协议第6版IPv6选项头中。The apparatus of claim 17, wherein the first IP address is located in at least one of the following locations of the first message: a source IP, a destination IP, and an Internet Protocol version 6 IPv6 option header.
  19. 一种提供商边缘PE节点,包括:A provider edge PE node, including:
    通信接口,设置为从接入电路AC接收第一报文;a communication interface, configured to receive the first message from the access circuit AC;
    处理器,设置为对所述第一报文进行处理,得到至少一个第二报文;其中,所述第二报文中包括:第一互联网协议IP地址;所述第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址;其中,所述预定熵值用于标识所述第一报文的熵;The processor is configured to process the first packet to obtain at least one second packet, where the second packet includes: a first Internet Protocol IP address; the first IP address is a usage reservation The IP address obtained by modifying the second IP address by the entropy value; wherein the predetermined entropy value is used to identify the entropy of the first packet;
    所述通信接口,设置为发送所述第二报文。The communication interface is configured to send the second message.
  20. 一种节点,包括:A node that includes:
    通信接口,设置为接收服务提供商边缘设备PE发送的第报文,其中,所述第一报文为所述PE对从所述PE的接入电路AC接收的第二报文进行处理得到的报文,所述第一报文中包括:第一互联网协议IP地址;所述第一IP地址为使 用预定熵值对第二IP地址进行修改得到的IP地址,所述预定熵值用于标识所述第二报文的熵;a communication interface, configured to receive a message sent by the service provider edge device PE, where the first packet is processed by the PE to process a second packet received by the access circuit AC of the PE. a packet, the first packet includes: a first Internet Protocol IP address; the first IP address is an IP address obtained by modifying a second IP address by using a predetermined entropy value, where the predetermined entropy value is used to identify Entropy of the second message;
    处理器,设置为处理所述第一报文。a processor configured to process the first message.
  21. 一种报文处理系统,包括:第一节点和第二节点;其中,A message processing system includes: a first node and a second node; wherein
    所述第一节点,设置为从接入电路AC接收第一报文,对所述第一报文进行处理得到至少一个第二报文以及将所述第二报文发送给所述第二节点;其中,所述第二报文中包括:第一互联网协议IP地址;所述第一IP地址为使用预定熵值对第二IP地址进行修改得到的IP地址;其中,所述预定熵值用于标识所述第一报文的熵;The first node is configured to receive a first packet from the access circuit AC, process the first packet to obtain at least one second packet, and send the second packet to the second node. The second packet includes: a first Internet Protocol IP address; the first IP address is an IP address obtained by modifying a second IP address using a predetermined entropy value; wherein the predetermined entropy value is used And identifying an entropy of the first packet;
    所述第二节点,设置为在接收到所述第二报文后,处理所述第二报文。The second node is configured to process the second packet after receiving the second packet.
  22. 一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至14中任一项所述的方法。A storage medium, the storage medium comprising a stored program, wherein the program is executed to perform the method of any one of claims 1 to 14.
  23. 一种处理器,所述处理器设置为运行程序,其中,所述程序运行时执行权利要求1至14中任一项所述的方法。A processor, the processor being arranged to run a program, wherein the program is executed to perform the method of any one of claims 1 to 14.
PCT/CN2018/118580 2017-11-30 2018-11-30 Method and apparatus for sending packet, method and apparatus for processing packet, pe node, and node WO2019105462A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711243807.8 2017-11-30
CN201711243807.8A CN109861924B (en) 2017-11-30 2017-11-30 Message sending and processing method and device, PE node and node

Publications (1)

Publication Number Publication Date
WO2019105462A1 true WO2019105462A1 (en) 2019-06-06

Family

ID=66665419

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/118580 WO2019105462A1 (en) 2017-11-30 2018-11-30 Method and apparatus for sending packet, method and apparatus for processing packet, pe node, and node

Country Status (2)

Country Link
CN (1) CN109861924B (en)
WO (1) WO2019105462A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112260949A (en) * 2020-10-16 2021-01-22 盛科网络(苏州)有限公司 EVPN local priority forwarding method and device based on SRV6 protocol
CN113132202A (en) * 2019-12-31 2021-07-16 华为技术有限公司 Message transmission method and related equipment
CN113472647A (en) * 2021-06-11 2021-10-01 新华三信息安全技术有限公司 Message forwarding method and device
US20210385163A1 (en) * 2019-02-27 2021-12-09 Huawei Technologies Co., Ltd. Packet processing method, packet forwarding apparatus, and packet processing apparatus
CN114374582A (en) * 2021-12-22 2022-04-19 新华三技术有限公司合肥分公司 Communication method and device
CN117596049A (en) * 2023-11-28 2024-02-23 肇庆学院 DDoS attack detection method and device

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3994848A1 (en) * 2019-07-31 2022-05-11 Huawei Technologies Co., Ltd. Transporting mtnc-id over srv6-header for 5g transport
WO2021021169A1 (en) 2019-07-31 2021-02-04 Huawei Technologies Co., Ltd Transporting mtnc-id over srv6-enabled dataplane for 5g transport
CN112350934A (en) * 2019-08-07 2021-02-09 中国电信股份有限公司 Data transmission method, network node and data transmission system
CN112751769B (en) * 2019-10-31 2022-05-10 华为技术有限公司 Method, device and system for sending message
CN112787931B (en) * 2019-11-06 2022-09-23 华为技术有限公司 Message transmission method, proxy node and storage medium
CN111683073A (en) * 2020-05-29 2020-09-18 烽火通信科技股份有限公司 Communication method and system for three-layer application based on MAC
WO2022001287A1 (en) * 2020-07-03 2022-01-06 华为技术有限公司 Message processing method and device
CN112153753B (en) * 2020-09-24 2022-09-16 维沃移动通信有限公司 Network connection method and device
CN112235199B (en) * 2020-10-14 2022-04-22 苏州盛科通信股份有限公司 EVPN horizontal segmentation method and device based on SRV6 protocol
CN112019328B (en) * 2020-10-31 2021-01-26 北京华云安信息技术有限公司 Encryption method, device, equipment and storage medium of IP address
CN112422436B (en) * 2020-11-18 2022-04-01 苏州盛科通信股份有限公司 EVPN BUM message local priority forwarding method and system based on MPLS
CN112769632A (en) * 2020-11-30 2021-05-07 锐捷网络股份有限公司 Method and system for detecting network fault of data center
CN115842764A (en) * 2021-08-25 2023-03-24 中兴通讯股份有限公司 Method and device for issuing RT-5G routing message, storage medium and electronic device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110016309A1 (en) * 2009-07-17 2011-01-20 Hitachi, Ltd. Cryptographic communication system and gateway device
CN106027356A (en) * 2016-07-04 2016-10-12 杭州迪普科技有限公司 Tunnel identifier conversion method and device
CN106797335A (en) * 2016-11-29 2017-05-31 深圳前海达闼云端智能科技有限公司 Data transmission method, data transmission device, electronic equipment and computer program product
CN106879073A (en) * 2017-03-17 2017-06-20 北京邮电大学 The network resource allocation method and device of a kind of service-oriented physical network
CN107210929A (en) * 2015-01-21 2017-09-26 华为技术有限公司 The load balancing of the Internet protocol security tunnel

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7849146B2 (en) * 2008-02-21 2010-12-07 Yahoo! Inc. Identifying IP addresses for spammers
US8711703B2 (en) * 2010-10-29 2014-04-29 Telefonaktiebolaget L M Ericsson (Publ) Load balancing in shortest-path-bridging networks
CN112087386B (en) * 2015-09-22 2024-01-02 华为技术有限公司 Message processing method, device and system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110016309A1 (en) * 2009-07-17 2011-01-20 Hitachi, Ltd. Cryptographic communication system and gateway device
CN107210929A (en) * 2015-01-21 2017-09-26 华为技术有限公司 The load balancing of the Internet protocol security tunnel
CN106027356A (en) * 2016-07-04 2016-10-12 杭州迪普科技有限公司 Tunnel identifier conversion method and device
CN106797335A (en) * 2016-11-29 2017-05-31 深圳前海达闼云端智能科技有限公司 Data transmission method, data transmission device, electronic equipment and computer program product
CN106879073A (en) * 2017-03-17 2017-06-20 北京邮电大学 The network resource allocation method and device of a kind of service-oriented physical network

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210385163A1 (en) * 2019-02-27 2021-12-09 Huawei Technologies Co., Ltd. Packet processing method, packet forwarding apparatus, and packet processing apparatus
US11683272B2 (en) * 2019-02-27 2023-06-20 Huawei Technologies Co., Ltd. Packet processing method, packet forwarding apparatus, and packet processing apparatus
CN113132202A (en) * 2019-12-31 2021-07-16 华为技术有限公司 Message transmission method and related equipment
CN113132202B (en) * 2019-12-31 2023-12-08 华为技术有限公司 Message transmission method and related equipment
CN112260949A (en) * 2020-10-16 2021-01-22 盛科网络(苏州)有限公司 EVPN local priority forwarding method and device based on SRV6 protocol
CN112260949B (en) * 2020-10-16 2022-09-23 苏州盛科通信股份有限公司 EVPN local priority forwarding method and device based on SRV6 protocol
CN113472647A (en) * 2021-06-11 2021-10-01 新华三信息安全技术有限公司 Message forwarding method and device
CN114374582A (en) * 2021-12-22 2022-04-19 新华三技术有限公司合肥分公司 Communication method and device
CN114374582B (en) * 2021-12-22 2024-04-12 新华三技术有限公司合肥分公司 Communication method and device
CN117596049A (en) * 2023-11-28 2024-02-23 肇庆学院 DDoS attack detection method and device
CN117596049B (en) * 2023-11-28 2024-04-12 肇庆学院 DDoS attack detection method and device

Also Published As

Publication number Publication date
CN109861924B (en) 2022-06-21
CN109861924A (en) 2019-06-07

Similar Documents

Publication Publication Date Title
WO2019105462A1 (en) Method and apparatus for sending packet, method and apparatus for processing packet, pe node, and node
CN109861926B (en) Message sending and processing method, device, node, processing system and medium
USRE49485E1 (en) Overlay management protocol for secure routing based on an overlay network
US11888651B2 (en) Virtual private network VPN service optimization method and device
CN109218178B (en) Message processing method and network equipment
US10785148B2 (en) OSPF extensions for flexible path stitchng and selection for traffic transiting segment routing and MPLS networks
US11159421B2 (en) Routing table selection in a policy based routing system
US9264361B2 (en) System and method for implementing multiple label distribution protocol (LDP) instances in a network node
RU2704714C1 (en) Technologies using ospf for providing maximum depth of node and/or communication link segment identifier
CN109076018B (en) Method and equipment for realizing network element in segmented routing network by using IS-IS protocol
EP3896923A1 (en) Bier packet sending method and apparatus
US20200153733A1 (en) Is-is extensions for flexible path stitching and selection for traffic transiting segment routing and mpls networks
EP3488564B1 (en) Method for fast convergence in layer 2 overlay network and non-transitory computer readable storage medium
CN111901235A (en) Method and device for processing route, and method and device for data transmission
WO2021134434A1 (en) Method and system for ethernet virtual private network (evpn) split-horizon filtering
WO2021009554A1 (en) Method and system for secured information exchange between intermediate and endpoint nodes in a communications network
WO2022042547A1 (en) Traffic forwarding processing method, and device
WO2024016869A1 (en) Multicast configuration method and apparatus
WO2019097281A1 (en) Adaptive hash function using bit position scoring to select fragmented windows
US11516123B2 (en) Configuring logical network devices for label-switched networks
WO2022053007A1 (en) Network reachability verification method and apparatus, and computer storage medium

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

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

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 30/09/2020)

122 Ep: pct application non-entry in european phase

Ref document number: 18884572

Country of ref document: EP

Kind code of ref document: A1