WO2023005620A1 - 报文处理方法、装置及通信系统 - Google Patents

报文处理方法、装置及通信系统 Download PDF

Info

Publication number
WO2023005620A1
WO2023005620A1 PCT/CN2022/103771 CN2022103771W WO2023005620A1 WO 2023005620 A1 WO2023005620 A1 WO 2023005620A1 CN 2022103771 W CN2022103771 W CN 2022103771W WO 2023005620 A1 WO2023005620 A1 WO 2023005620A1
Authority
WO
WIPO (PCT)
Prior art keywords
vxlan
identifier
gateway
message
packet
Prior art date
Application number
PCT/CN2022/103771
Other languages
English (en)
French (fr)
Inventor
龚霞
朱永庆
伍佑明
陈迅
唐宏
Original Assignee
中国电信股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中国电信股份有限公司 filed Critical 中国电信股份有限公司
Publication of WO2023005620A1 publication Critical patent/WO2023005620A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing

Definitions

  • the present disclosure relates to the communication field, in particular to a message processing method, device and communication system.
  • VxLANs Virtual Extensible Local Area Networks
  • UDP User Datagram Protocol
  • a message processing method including: the first gateway receives a first VxLAN message from a first virtual extensible local area network VxLAN in a first domain, and the first VxLAN message includes The first identifier and the first load of the second VxLAN in the second domain; the first gateway performs processing on the first VxLAN message to obtain a segment routing SRv6 message, and the SRv6 message includes the second VxLAN message of the second VxLAN an identifier, the first load, and a path from the first gateway to the second gateway; and the first gateway sends the SRv6 packet to the IPv6 network, so that the second gateway sends the second VxLAN message including The second VxLAN message with the first identifier and the first payload, wherein the SRv6 message is forwarded along the path in the IPv6 network.
  • the path includes a first group of segment routing identifiers; the processing performed by the first gateway on the first VxLAN message includes: the segment routing identifier in the first group of segment routing identifiers
  • the first gateway performs processing on the first VxLAN packet according to the first method; and when the number is not greater than the preset threshold, the first gateway processes the first VxLAN packet according to the second performing processing on the first VxLAN packet in the first manner, wherein the size of the SRv6 packet obtained by performing the processing in the second manner is larger than the SRv6 packet obtained in the first manner , and the time to execute the processing according to the second method is less than the time to execute the processing according to the first method.
  • the packet header of the first VxLAN packet includes the first identifier and other information except the first identifier, and the SRv6 packet obtained by processing according to the first method The other information stated is not included.
  • the header of the first VxLAN packet includes the first identifier and other information except the first identifier; the first gateway performs processing on the first VxLAN packet to Obtaining the segment routing SRv6 message includes: the first gateway performs processing on the first VxLAN message in the first manner to obtain the SRv6 message, wherein the SRv6 message does not include the other information.
  • the first group of segment routing identifiers has a predetermined format; the processing performed by the first gateway on the first VxLAN message in the first manner includes: the first gateway on the first VxLAN message Executing decapsulation processing to obtain the first identifier and the first payload; the first gateway determines a second identifier conforming to the predetermined format based on the first identifier; and the first gateway executes on the first payload encapsulation processing to obtain the SRv6 message, wherein the SRv6 message includes a message header and a second payload, the message header includes a second group of segment routing identifiers, and the second group of segment routing identifiers includes The first group of segment routing identifiers and the second identifier, and the second payload is the first payload.
  • the method further includes: before receiving the first VxLAN packet, the first gateway receives and stores identification information from the second gateway, the identification information includes The first identification of each VxLAN and the second identification associated with the first identification, the first identifications of different VxLANs are different, the second identifications of different VxLANs are different, and the plurality of VxLANs include the second VxLAN; the first The gateway determining the second identifier conforming to the predetermined format based on the first identifier includes: the first gateway determining the second identifier associated with the first identifier from the stored identifier information based on the first identifier. logo.
  • the second gateway sending the second VxLAN packet to the second VxLAN according to the second identifier includes: the second gateway determines the first identifier based on the second identifier; The SRv6 message performs decapsulation processing to obtain the first load; the second gateway obtains the second VxLAN message based on the first identifier and the first load; and the second gateway sends the second VxLAN message to the second VxLAN Describe the second VxLAN packet.
  • the second identifier includes a location part and a function part, the location part is the routing address of the second gateway, and the function part is the first identifier; the second gateway is based on the second identifier Determining the first identifier includes: obtaining the first identifier from the second identifier by the second gateway.
  • the second VxLAN packet is the same as the first VxLAN packet.
  • the second identifier of each VxLAN includes a location part and a function part
  • the location part is the routing address of the second gateway
  • the function part is the first identifier of the VxLAN.
  • the first gateway performing processing on the first VxLAN packet according to the second method includes: the first gateway performing encapsulation processing on the first VxLAN packet to obtain the SRv6 packet, wherein, The SRv6 packet includes a packet header and a second payload, the packet header includes the path, the second payload is the first VxLAN packet, and the second identifier is the first identifier.
  • the processing performed by the first gateway on the first VxLAN packet to obtain the segment routing SRv6 packet includes: performing encapsulation processing on the first VxLAN packet by the first gateway to obtain the SRv6 packet , wherein the SRv6 packet includes a packet header and a second payload, the packet header includes the path, the second payload is the first VxLAN packet, and the second identifier is the first VxLAN packet a logo.
  • the segment routing identifier of the second gateway in the path carries an instruction to instruct the last-hop node of the second gateway to delete the packet header before sending the SRv6 packet to the second gateway.
  • a message processing device located at the first gateway, including: a receiving module configured to receive a first VxLAN message from a first virtual extensible local area network VxLAN in the first domain , the first VxLAN message includes a first identifier and a first load of a second VxLAN in the second domain; a processing module configured to perform processing on the first VxLAN message to obtain a segment routing SRv6 message, The SRv6 message includes a second identifier of the second VxLAN, the first load, and a path from the first gateway to the second gateway; and a sending module configured to send the SRv6 message to the IPv6 network, so that The second gateway sends a second VxLAN packet including the first identifier and the first load to the second VxLAN according to the second identifier, wherein the SRv6 packet is forwarded according to the path in the IPv6 network .
  • a packet processing device located at the first gateway, including: a memory; and a processor coupled to the memory, the processor is configured to based on the The instructions in the memory execute the method described in any one of the above embodiments.
  • a communication system including: a first gateway, including the packet processing device described in any one of the above embodiments; and a second gateway, configured to Send the second VxLAN packet to the second VxLAN.
  • the second gateway is further configured to send identification information to the first gateway before the first gateway receives the first VxLAN packet, where the identification information includes each of the multiple VxLANs in the second domain.
  • a first identification of a VxLAN and a second identification associated with the first identification the first identifications of different VxLANs are different, the second identifications of different VxLANs are different, and the plurality of VxLANs include the second VxLAN; and the first gateway Also configured to receive and store the identification information before receiving the first VxLAN message; perform decapsulation processing on the first VxLAN message to obtain the first identification and the first payload; determining the second identifier associated with the first identifier from the stored identifier information based on the first identifier; and performing encapsulation processing on the first payload to obtain the SRv6 packet, wherein, The SRv6 packet includes a packet header and a second payload, the packet header includes a second group of segment routing identifiers, and the second group of segment routing identifier
  • the first gateway is further configured to receive and store identification information from the second gateway before receiving the first VxLAN packet, where the identification information includes each of the multiple VxLANs in the second domain
  • the first identification of a VxLAN and the second identification associated with the first identification the first identifications of different VxLANs are different, the second identifications of different VxLANs are different, and the plurality of VxLANs include the second VxLAN; based on the first identification determining the second identifier associated with the first identifier from the stored identifier information; and performing encapsulation processing on the first payload to obtain the SRv6 packet, wherein the SRv6 packet
  • the message includes a packet header and a second payload, the packet header includes a second group of segment routing identifiers, and the second group of segment routing identifiers includes the first group of segment routing identifiers and the second identifier,
  • the second payload is the first payload; and the second gateway is further configured to determine the first identifier based on the second
  • the second identifier includes a location part and a function part, the location part is the routing address of the second gateway, and the function part is the first identifier; the second gateway is configured to obtain from the Obtain the first identifier from the second identifier.
  • the first gateway processes the first VxLAN message to obtain an SRv6 message that can be transmitted in the IPv6 network according to a specific path, and the second gateway according to the second VxLAN second identifier carried in the SRv6 message Send the second VxLAN packet including the first identifier and the first payload to the second VxLAN.
  • the packets communicated between the first VxLAN and the second VxLAN can be transmitted in the IP network according to a specific path to meet various specific service requirements.
  • FIG. 1 is a schematic flowchart of a message processing method according to some embodiments of the present disclosure
  • FIG. 2A is a schematic diagram of a first VxLAN packet according to some embodiments of the present disclosure
  • FIG. 2B is a schematic diagram of an SRv6 message according to some embodiments of the present disclosure.
  • Fig. 3 is a flowchart of a packet processing method according to other embodiments of the present disclosure.
  • Fig. 4 is a schematic structural diagram of a packet processing device according to some embodiments of the present disclosure.
  • Fig. 5 is a schematic structural diagram of a packet processing device according to other embodiments of the present disclosure.
  • Fig. 6 is a schematic structural diagram of a communication system according to some embodiments of the present disclosure.
  • each routing node forwarding the message in the IP network searches for the next hop node according to the destination IP address of the message, that is, the path for forwarding the message It is determined by each routing node in the IP network, which cannot meet the specific service requirements for communication between different VxLANs.
  • Fig. 1 is a schematic flowchart of a packet processing method according to some embodiments of the present disclosure.
  • the message processing method includes step 102 to step 106 .
  • the first gateway receives a first VxLAN packet from a first VxLAN in the first domain.
  • the first VxLAN packet includes the first identifier and the first payload of the second VxLAN in the second domain.
  • a terminal in the first VxLAN sends a packet (that is, a first payload) to a VxLAN tunnel endpoint (VTEP) of the first VxLAN.
  • the VTEP of the first VxLAN encapsulates the packet to obtain the first VxLAN packet.
  • the first gateway receives the first VxLAN packet sent by the VTEP of the first VxLAN.
  • the first VxLAN packet includes a packet header and a first payload.
  • the first identifier of the second VxLAN is included in the packet header of the first VxLAN packet.
  • the first identity is, for example, a virtual network infrastructure (VNI) identity.
  • VNI virtual network infrastructure
  • FIG. 2A is a schematic diagram of a first VxLAN packet according to some embodiments of the present disclosure.
  • the message header of the first VxLAN message includes an external Ethernet header (Outer Ethernet Header), an external IP header (Outer IP Header), an external UDP header (Outer UDP Header) and a VxLAN header (VxLAN Header).
  • the VxLAN header includes a VxLAN flag (Flag), a reserved bit (Reserved) and a first identifier. It can be seen that the header of the first VxLAN packet includes other information besides the first identifier.
  • the load of the first VxLAN message (that is, the first load) includes an inner Ethernet header (Inner Ethernet Header), a load (Payload) as original communication data, and a frame check sequence (Frame Checking Sequence, FCS).
  • the first gateway performs processing on the first VxLAN packet to obtain a segment routing (SRv6) packet.
  • SRv6 message includes the second identifier of the second VxLAN, the first payload, and the path from the first gateway to the second gateway.
  • the first gateway may, for example, obtain from the controller a path determined from various paths according to service requirements. For example, a path with the highest network bandwidth may be determined to meet the requirement of low latency.
  • the path from the first gateway to the second gateway is included in the header of the SRv6 packet.
  • the path from the first gateway to the second gateway includes a first set of Segment Routing Identifiers (SIDs) in the form of a Segment List.
  • the second identifier may be the same as or different from the first identifier, and two different manners for processing by the first gateway will be described later in conjunction with different embodiments.
  • FIG. 2B is a schematic diagram of an SRv6 packet according to some embodiments of the present disclosure.
  • the message header of the SRv6 message includes an IPv6 header and a segment routing header (Segment Routing Header, SRH).
  • the destination address in the IPv6 header is the IPv6 address of the second gateway, and the SRH includes a path from the first gateway to the second gateway.
  • the loads (that is, the second loads) of the SRv6 packets obtained in different ways are different, which will be described in detail later.
  • step 106 the first gateway sends an SRv6 packet to the IPv6 network, so that the second gateway sends a second VxLAN packet including the first identifier and the first payload to the second VxLAN according to the second identifier.
  • SRv6 message is forwarded according to the path in step 104 in the IPv6 network.
  • the second gateway may send the second VxLAN message to the VTEP of the second VxLAN, so that the VTEP sends a message to the communication terminal in the second VxLAN according to the destination media access control (MAC) address carried by the internal Ethernet header in the first load. Send the first payload.
  • MAC media access control
  • the first gateway processes the first VxLAN message to obtain an SRv6 message that can be transmitted in the IPv6 network according to a specific path
  • the second gateway sends an SRv6 message according to the second identifier of the second VxLAN carried in the SRv6 message
  • the second VxLAN sends the second VxLAN packet including the first identifier and the first payload. In this way, the packets communicated between the first VxLAN and the second VxLAN can be transmitted in the IP network according to a specific path to meet various specific service requirements.
  • the message processing method shown in FIG. 1 is further described below in conjunction with some embodiments.
  • the path from the first gateway to the second gateway includes the first set of SIDs.
  • the processing performed by the first gateway on the first VxLAN message includes: when the number of SIDs in the first group of SIDs is greater than a preset threshold, the first gateway performs processing on the first VxLAN message according to the first method; When the number of SIDs in a group of SIDs is not greater than the preset threshold, the first gateway processes the first VxLAN message in the second manner.
  • the size of the SRv6 packet obtained by processing according to the second method is larger than the size of the SRv6 packet obtained by processing according to the first method, and the processing time of the second method is shorter than that of the first method. time.
  • the transmission speed of SRv6 packets in the IP network decreases with the increase of SRv6 packets, that is, the transmission speed of SRv6 packets obtained according to the first method is greater than the transmission speed of SRv6 packets obtained according to the second method transfer speed.
  • the first method can be selected in the case of a long path to ensure the transmission speed of SRv6 packets
  • the second method can be selected in the case of a short path to ensure the processing speed of the first gateway, so that the processing speed A balance is achieved with the transmission speed of the SRv6 message, so as to ensure that the second gateway can receive the SRv6 message faster.
  • the first gateway can directly process the first VxLAN packet according to the first method or the second method, without having to decide whether to use the first method according to the number of SIDs in the first group of SIDs It is still the second way to perform processing on the first VxLAN packet.
  • the packet header of the first VxLAN packet includes the first identifier and other information except the first identifier.
  • the SRv6 packet obtained by the first gateway according to the first method does not include the above other information, and the second payload of the obtained SRv6 packet is the first payload of the first VxLAN packet, and the second identifier is different from the first payload.
  • the first identifier in a VxLAN packet is described below with reference to FIG. 3 .
  • Fig. 3 is a flow chart of a packet processing method according to some other embodiments of the present disclosure.
  • the packet processing method includes step 102 to step 106 .
  • step 104 includes step 114 to step 134 .
  • the same steps as in FIG. 1 are not repeated here.
  • step 114 the first gateway decapsulates the first VxLAN message to obtain the first identifier and the first payload.
  • the first gateway determines a second identity of the second VxLAN based on the first identity of the second VxLAN.
  • the path from the first gateway to the second gateway includes a first set of SIDs in a predetermined format, and the second identifier of the second VxLAN conforms to the predetermined format. That is, the second identifier is also a SID.
  • the first gateway performs encapsulation processing on the first payload to obtain the SRv6 message.
  • the obtained SRv6 packet includes a packet header and a second payload.
  • the packet header of the SRv6 packet includes the second group of SIDs, and the second group of SIDs includes the first group of SIDs and the second identifier of the second VxLAN.
  • the path from the first gateway to the second gateway is the first segment list formed by the first group of SIDs.
  • the second identifier may be added at the end of the first segment list to obtain the second segment list (ie, the second group of SIDs), so that the number of segments in the second segment list is equal to the number of segments in the first segment list plus one.
  • the processed SRv6 packet does not include other information in the packet header of the first VxLAN packet except for the first identifier. In this way, the size of the SRv6 packet can be reduced, thereby increasing the transmission speed of the SRv6 packet in the IPv6 network.
  • the second gateway may send the second VxLAN message to the second VxLAN according to the second identifier in the following manner.
  • the second gateway determines the first identifier based on the second identifier. Then, the second gateway decapsulates the SRv6 packet to obtain the first payload. Afterwards, the second gateway obtains the second VxLAN packet based on the first identifier and the first load. Finally, the second gateway sends the second VxLAN packet to the second VxLAN.
  • the second VxLAN packet is the same as the first VxLAN packet.
  • the second VxLAN packet sent to the second VxLAN includes the first payload, and the first payload includes the payload and the destination MAC address, even if the second VxLAN packet is different from the first VxLAN packet, it can still be processed smoothly. to complete the communication.
  • the second gateway is not the destination node of the SRv6 message, so it can Ensure that the second gateway receives the packet header of the SRv6 packet. In this way, the second gateway can send the second VxLAN message to the second VxLAN according to the second identifier of the second VxLAN, so that the success rate of message forwarding can be improved.
  • the first manner in which the first gateway performs processing is further described below in combination with some embodiments.
  • the first gateway before receiving the first VxLAN packet, receives and stores the identification information from the second gateway.
  • the identification information from the second gateway includes a first identification of each of the multiple VxLANs in the second domain and a second identification associated with the first identification.
  • the second gateway sets a corresponding second identifier for each VxLAN in the second domain, and associates the second identifier of each VxLAN with the first identifier of the VxLAN to obtain the identifier information sent to the first gateway.
  • the plurality of VxLANs within the second domain includes a second VxLAN.
  • the first gateway may determine the second identifier associated with the first identifier from the stored identifier information based on the first identifier of the second VxLAN.
  • the first gateway receives and stores the identification information from the second gateway in advance, instead of sending a request to the second gateway to obtain the second identification after receiving the first VxLAN message. In this way, the first gateway can complete the processing of the first VxLAN message more quickly, so as to obtain the SRv6 message more quickly.
  • the second identifier of the second VxLAN includes a location part (Locator) and a function part (Function).
  • the location part is the routing address of the second gateway
  • the function part is the first identifier of the second VxLAN.
  • the second identifier of each VxLAN included in the identifier information includes a location part and a function part.
  • the location part in the second identifier of each VxLAN is the routing address of the second gateway, and the function part is the first identifier of the VxLAN.
  • the second gateway can directly obtain the first identifier from the second identifier without looking up the first identifier associated with the second identifier from the identifier information . In this way, the second gateway can obtain the first identification of the VxLAN more quickly, thereby obtaining the VxLAN message sent to the VxLAN more quickly.
  • the second manner in which the first gateway performs processing is described below. That is, the first gateway performs encapsulation processing on the first VxLAN packet to obtain the SRv6 packet.
  • the SRv6 packet obtained by the first gateway performing processing in the second manner also includes a packet header and a second payload. But here, the packet header includes a path from the first gateway to the second gateway, the second payload is the entire first VxLAN packet, and the second identifier is the first identifier.
  • the first gateway only needs to encapsulate the first VxLAN packet without any other additional operations. In this way, the processing load of the first gateway can be reduced, and the processing speed of the first VxLAN packet by the first gateway can also be increased.
  • the SID of the second gateway in the path from the first gateway to the second gateway carries an instruction to instruct the last-hop node of the second gateway to delete the SRv6 message before sending the SRv6 message to the second gateway. Header.
  • the size of the SRv6 packet sent to the second gateway by the previous hop node of the second gateway can be reduced, thereby increasing the transmission speed of the SRv6 packet during this process.
  • the second gateway directly receives the second payload of the SRv6 message (that is, the first VxLAN message), so that it can accurately send the first VxLAN message to the second VxLAN without performing other additional operations (ie, the second VxLAN message). In this way, the processing load of the second gateway can be reduced and the speed at which the second gateway sends the second VxLAN message to the second VxLAN can be increased while ensuring the success rate of message forwarding.
  • the SRv6 packet obtained by the first gateway according to the second method includes information other than the first identifier in the header of the first VxLAN packet, and the SRv6 packet obtained by the first method The packet does not include the above other information. Therefore, the size of the SRv6 packet obtained by processing according to the first method is smaller than the size of the SRv6 packet obtained by processing according to the second method. Because the first gateway needs to perform more operations in the first way than in the second way, the time required for processing in the first way is longer than that in the second way time.
  • Fig. 4 is a schematic structural diagram of a packet processing device according to some embodiments of the present disclosure.
  • the packet processing device 400 located at the first gateway includes a receiving module 401 , a processing module 402 and a sending module 403 .
  • the receiving module 401 is configured to receive a first VxLAN message from a first VxLAN in the first domain.
  • the first VxLAN packet includes the first identifier and the first payload of the second VxLAN in the second domain.
  • the processing module 402 is configured to perform processing on the first VxLAN packet to obtain the SRv6 packet.
  • the SRv6 message includes the second identifier of the second VxLAN, the first payload, and the path from the first gateway to the second gateway.
  • the sending module 403 is configured to send the SRv6 packet to the IPv6 network, so that the second gateway sends the second VxLAN packet including the first identifier and the first load to the second VxLAN according to the second identifier.
  • the SRv6 message is forwarded along the path from the first gateway to the second gateway in the IPv6 network.
  • Fig. 5 is a schematic structural diagram of a packet processing device according to some other embodiments of the present disclosure.
  • the message processing device 500 at the first gateway includes a memory 501 and a processor 502 coupled to the memory 501, the processor 502 is configured to execute any of the foregoing based on instructions stored in the memory 501 Example method.
  • the memory 501 may include, for example, a system memory, a fixed non-volatile storage medium, and the like.
  • the system memory may store an operating system, an application program, a boot loader (Boot Loader) and other programs, for example.
  • Boot Loader Boot Loader
  • the packet processing apparatus 500 may further include an input/output interface 503, a network interface 504, a storage interface 505, and the like. These interfaces 503 , 504 , and 505 , and between the memory 501 and the processor 502 may be connected via a bus 506 , for example.
  • the input and output interface 503 provides a connection interface for input and output devices such as a display, a mouse, a keyboard, and a touch screen.
  • the network interface 504 provides a connection interface for various networked devices.
  • the storage interface 505 provides connection interfaces for external storage devices such as SD cards and U disks.
  • Fig. 6 is a schematic structural diagram of a communication system according to some embodiments of the present disclosure.
  • the communication system includes a first gateway 601 and a second gateway 602 .
  • the first gateway 601 includes a message processing device 400/500.
  • the second gateway 602 is configured to send the second VxLAN packet to the second VxLAN according to the second identifier of the second VxLAN.
  • the second gateway 602 is further configured to receive a first VxLAN packet from a second VxLAN in the second domain, where the first VxLAN packet includes the first identifier and the first identifier of the first VxLAN in the first domain.
  • a load the first VxLAN message is processed to obtain an SRv6 message, and the SRv6 message includes a second identifier of the first VxLAN, a first load, and a path from the second gateway 602 to the first gateway 601; to the IPv6 network Sending the SRv6 packet, so that the first gateway 601 sends the second VxLAN packet to the first VxLAN according to the second identifier of the first VxLAN.
  • the SRv6 message is forwarded along the path from the second gateway 602 to the first gateway 601 in the IPv6 network.
  • the first gateway 601 is further configured to send the second VxLAN message to the first VxLAN according to the second identifier of the first VxLAN. That is, the second gateway 602 can perform operations similar to those performed by the first gateway in any of the above embodiments; the first gateway 601 can also perform operations similar to those performed by the second gateway in any of the above embodiments operation.
  • the second gateway 602 is further configured to send identification information to the first gateway 601 before the first gateway 601 receives the first VxLAN packet.
  • the identification information includes a first identification of each of the multiple VxLANs in the second domain and a second identification associated with the first identification. Different VxLANs have different first identifiers, and different VxLANs have different second identifiers.
  • the plurality of VxLANs includes a second VxLAN.
  • the first gateway 601 is further configured to receive and store identification information before receiving the first VxLAN message; perform decapsulation processing on the first VxLAN message to obtain the first identification and the first load; Determining a second identifier associated with the first identifier from stored identifier information based on the first identifier; and performing encapsulation processing on the first payload to obtain an SRv6 packet.
  • the SRv6 packet includes a packet header and a second payload.
  • the packet header includes a second group of SIDs, the second group of SIDs includes the first group of SIDs and a second identifier, and the second payload is the first payload.
  • the first gateway 601 is further configured to receive and store the identification information from the second gateway 602 before receiving the first VxLAN message; an associated second identifier; and performing encapsulation processing on the first payload to obtain an SRv6 packet, where the SRv6 packet includes a packet header and a second payload.
  • the packet header includes the second group of SIDs
  • the second group of SIDs includes the first group of SIDs and the second identifier
  • the second payload is the first payload.
  • the second gateway 602 is further configured to determine the first identifier based on the second identifier; perform decapsulation processing on the SRv6 packet to obtain the first payload; obtain the second VxLAN packet based on the first identifier and the first payload text; and sending the second VxLAN packet to the second VxLAN.
  • the second identification includes a location part and a function part.
  • the location part is the routing address of the second gateway 602
  • the function part is the first identifier.
  • the second gateway 602 may also be configured to obtain the first identity from the second identity.
  • the communication system based on the present disclosure can realize the integration of the SRv6 network and the VxLAN network.
  • the communication system of the present disclosure is especially suitable for deployment and application in large-scale cloud network data centers. By deploying the communication system of the present disclosure, communication packets between different VxLANs can be transmitted according to a specific path, so as to meet specific service requirements.
  • An embodiment of the present disclosure further provides a computer-readable storage medium, including computer program instructions, and when the computer program instructions are executed by a processor, the method of any one of the above-mentioned embodiments is implemented.
  • each embodiment in this specification is described in a progressive manner, each embodiment focuses on the difference from other embodiments, and the same or similar parts of each embodiment can be referred to each other.
  • the description is relatively simple, and for relevant parts, refer to the part of the description of the method embodiment.
  • the embodiments of the present disclosure may be provided as methods, systems, or computer program products. Accordingly, the present disclosure can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present disclosure may take the form of a computer program product embodied on one or more computer-usable non-transitory storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein. .
  • These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to operate in a specific manner, such that the instructions stored in the computer-readable memory produce an article of manufacture comprising instruction means, the instructions
  • the device realizes the function specified in one or more procedures of the flowchart and/or one or more blocks of the block diagram.

Landscapes

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

Abstract

本公开提供了一种报文处理方法、装置及通信系统,涉及通信领域,所述方法包括:第一网关接收来自第一域内的第一VxLAN的第一VxLAN报文,所述第一VxLAN报文包括第二域内的第二VxLAN的第一标识和第一负载;第一网关对所述第一VxLAN报文执行处理以得到SRv6报文,所述SRv6报文包括第二VxLAN的第二标识、所述第一负载和从第一网关到第二网关的路径;和第一网关向IPv6网络发送所述SRv6报文,以使得第二网关根据所述第二标识向第二VxLAN发送包括所述第一标识和所述第一负载的第二VxLAN报文,其中,所述SRv6报文在IPv6网络中按照所述路径被转发。

Description

报文处理方法、装置及通信系统
相关申请的交叉引用
本申请是以CN申请号为202110855993.0,申请日为2021年7月28日的申请为基础,并主张其优先权,该CN申请的公开内容在此作为整体引入本申请中。
技术领域
本公开涉及通信领域,尤其是一种报文处理方法、装置及通信系统。
背景技术
相关技术中,不同虚拟可扩展局域网(VxLAN)之间通信的报文基于用户数据报协议(UDP)在IP网络中传输。
发明内容
根据本公开实施例的一方面,提供一种报文处理方法,包括:第一网关接收来自第一域内的第一虚拟可扩展局域网VxLAN的第一VxLAN报文,所述第一VxLAN报文包括第二域内的第二VxLAN的第一标识和第一负载;第一网关对所述第一VxLAN报文执行处理以得到分段路由SRv6报文,所述SRv6报文包括第二VxLAN的第二标识、所述第一负载和从第一网关到第二网关的路径;和第一网关向IPv6网络发送所述SRv6报文,以使得第二网关根据所述第二标识向第二VxLAN发送包括所述第一标识和所述第一负载的第二VxLAN报文,其中,所述SRv6报文在IPv6网络中按照所述路径被转发。
在一些实施例中,所述路径包括第一组分段路由标识;第一网关对所述第一VxLAN报文执行处理包括:在所述第一组分段路由标识中的分段路由标识的数量大于预设阈值的情况下,第一网关按照第一种方式对所述第一VxLAN报文执行处理;和在所述数量不大于所述预设阈值的情况下,第一网关按照第二种方式对所述第一VxLAN报文执行处理,其中,按照第二种方式执行所述处理得到的所述SRv6报文的大小大于按照第一种方式执行所述处理得到的所述SRv6报文的大小,并且,按照第二种方式执行所述处理的时间小于按照第一种方式执行所述处理的时间。
在一些实施例中,所述第一VxLAN报文的报文头包括所述第一标识和除所述第 一标识之外的其他信息,按照第一种方式执行处理得到的所述SRv6报文不包括所述其他信息。
在一些实施例中,所述第一VxLAN报文的报文头包括所述第一标识和除所述第一标识之外的其他信息;第一网关对所述第一VxLAN报文执行处理以得到分段路由SRv6报文包括:第一网关按照第一种方式对所述第一VxLAN报文执行处理以得到所述SRv6报文,其中,所述SRv6报文不包括所述其他信息。
在一些实施例中,所述第一组分段路由标识具有预定格式;第一网关按照第一种方式对所述第一VxLAN报文执行处理包括:第一网关对所述第一VxLAN报文执行解封装处理,以得到所述第一标识和所述第一负载;第一网关基于所述第一标识确定符合所述预定格式的第二标识;和第一网关对所述第一负载执行封装处理以得到所述SRv6报文,其中,所述SRv6报文包括报文头和第二负载,所述报文头包括第二组分段路由标识,所述第二组分段路由标识包括所述第一组分段路由标识和所述第二标识,所述第二负载为所述第一负载。
在一些实施例中,所述方法还包括:在接收所述第一VxLAN报文之前,第一网关接收并存储来自第二网关的标识信息,所述标识信息包括第二域内的多个VxLAN中的每个VxLAN的第一标识和与第一标识相关联的第二标识,不同VxLAN的第一标识不同,不同VxLAN的第二标识不同,所述多个VxLAN包括所述第二VxLAN;第一网关基于所述第一标识确定符合所述预定格式的第二标识包括:第一网关基于所述第一标识从存储的所述标识信息中确定与所述第一标识相关联的所述第二标识。
在一些实施例中,第二网关根据所述第二标识向第二VxLAN发送所述第二VxLAN报文包括:第二网关基于所述第二标识确定所述第一标识;第二网关对所述SRv6报文执行解封装处理以得到所述第一负载;第二网关基于所述第一标识和所述第一负载得到所述第二VxLAN报文;和第二网关向第二VxLAN发送所述第二VxLAN报文。
在一些实施例中,所述第二标识包括定位部分和功能部分,所述定位部分为第二网关的路由地址,所述功能部分为所述第一标识;第二网关基于所述第二标识确定所述第一标识包括:第二网关从所述第二标识中得到所述第一标识。
在一些实施例中,所述第二VxLAN报文与所述第一VxLAN报文相同。
在一些实施例中,每个VxLAN的第二标识包括定位部分和功能部分,所述定位部分为第二网关的路由地址,所述功能部分为该VxLAN的第一标识。
在一些实施例中,第一网关按照第二种方式对所述第一VxLAN报文执行处理包括:第一网关对所述第一VxLAN报文执行封装处理以得到所述SRv6报文,其中,所述SRv6报文包括报文头和第二负载,所述报文头包括所述路径,所述第二负载为所述第一VxLAN报文,所述第二标识为所述第一标识。
在一些实施例中,第一网关对所述第一VxLAN报文执行处理以得到分段路由SRv6报文包括:第一网关对所述第一VxLAN报文执行封装处理以得到所述SRv6报文,其中,所述SRv6报文包括报文头和第二负载,所述报文头包括所述路径,所述第二负载为所述第一VxLAN报文,所述第二标识为所述第一标识。
在一些实施例中,所述路径中第二网关的分段路由标识携带指令以指示第二网关的上一跳节点在向第二网关发送所述SRv6报文之前删除所述报文头。
根据本公开实施例的另一方面,提供一种报文处理装置,位于第一网关,包括:接收模块,被配置为接收来自第一域内的第一虚拟可扩展局域网VxLAN的第一VxLAN报文,所述第一VxLAN报文包括第二域内的第二VxLAN的第一标识和第一负载;处理模块,被配置为对所述第一VxLAN报文执行处理以得到分段路由SRv6报文,所述SRv6报文包括第二VxLAN的第二标识、所述第一负载和从第一网关到第二网关的路径;和发送模块,被配置为向IPv6网络发送所述SRv6报文,以使得第二网关根据所述第二标识向第二VxLAN发送包括所述第一标识和所述第一负载的第二VxLAN报文,其中,所述SRv6报文在IPv6网络中按照所述路径被转发。
根据本公开实施例的还一方面,提供一种报文处理装置,位于第一网关,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行上述任意一个实施例所述的方法。
根据本公开实施例的还一方面,提供一种通信系统,包括:第一网关,包括上述任意一个实施例所述的报文处理装置;和第二网关,被配置为根据所述第二标识向第二VxLAN发送所述第二VxLAN报文。
在一些实施例中,第二网关还被配置为在第一网关接收所述第一VxLAN报文之前,向第一网关发送标识信息,所述标识信息包括第二域内的多个VxLAN中的每个VxLAN的第一标识和与第一标识相关联的第二标识,不同VxLAN的第一标识不同,不同VxLAN的第二标识不同,所述多个VxLAN包括所述第二VxLAN;并且第一网关还被配置为在接收所述第一VxLAN报文之前,接收并存储所述标识信息;对所述第一VxLAN报文执行解封装处理,以得到所述第一标识和所述第一负载;基于所述 第一标识从存储的所述标识信息中确定与所述第一标识相关联的所述第二标识;和对所述第一负载执行封装处理以得到所述SRv6报文,其中,所述SRv6报文包括报文头和第二负载,所述报文头包括第二组分段路由标识,所述第二组分段路由标识包括所述第一组分段路由标识和所述第二标识,所述第二负载为所述第一负载。
在一些实施例中,第一网关还被配置为在接收所述第一VxLAN报文之前,接收并存储来自第二网关的标识信息,所述标识信息包括第二域内的多个VxLAN中的每个VxLAN的第一标识和与第一标识相关联的第二标识,不同VxLAN的第一标识不同,不同VxLAN的第二标识不同,所述多个VxLAN包括所述第二VxLAN;基于所述第一标识从存储的所述标识信息中确定与所述第一标识相关联的所述第二标识;和对所述第一负载执行封装处理以得到所述SRv6报文,其中,所述SRv6报文包括报文头和第二负载,所述报文头包括第二组分段路由标识,所述第二组分段路由标识包括所述第一组分段路由标识和所述第二标识,所述第二负载为所述第一负载;并且第二网关还被配置为基于所述第二标识确定所述第一标识;对所述SRv6报文执行解封装处理以得到所述第一负载;基于所述第一标识和所述第一负载得到所述第二VxLAN报文;和向第二VxLAN发送所述第二VxLAN报文。
在一些实施例中,所述第二标识包括定位部分和功能部分,所述定位部分为第二网关的路由地址,所述功能部分为所述第一标识;第二网关被配置为从所述第二标识中得到所述第一标识。根据本公开实施例的还一方面,提供一种计算机可读存储介质,包括计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述任意一个实施例所述的方法。
本公开实施例中,第一网关对第一VxLAN报文进行处理得到可以按照特定路径在IPv6网络中传输的SRv6报文,并且,第二网关根据SRv6报文携带的第二VxLAN的第二标识向第二VxLAN发送包括第一标识和第一负载的第二VxLAN报文。如此,第一VxLAN与第二VxLAN之间通信的报文能够按照特定路径在IP网络中传输以满足各种特定的业务需求。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
为了更清楚地说明本公开实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅 是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本公开一些实施例的报文处理方法的流程示意图;
图2A是根据本公开一些实施例的第一VxLAN报文的示意图;
图2B是根据本公开一些实施例的SRv6报文的示意图;
图3是根据本公开另一些实施例的报文处理方法的流程图;
图4是根据本公开一些实施例的报文处理装置的结构示意图;
图5是根据本公开另一些实施例的报文处理装置的结构示意图;
图6是根据本公开一些实施例的通信系统的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
发明人注意到,报文基于UDP在IP网络中传输的方式下,IP网络中转发报文的每个路由节点根据报文的目的IP地址寻找下一跳节点,也即,报文转发的路径是由IP网络中的每个路由节点确定的,这无法满足不同VxLAN之间进行通信的特定的业务需求。
有鉴于此,本公开实施例提出了如下解决方案。
图1是根据本公开一些实施例的报文处理方法的流程示意图。
如图1所示,报文处理方法包括步骤102至步骤106。
在步骤102,第一网关接收来自第一域内的第一VxLAN的第一VxLAN报文。第一VxLAN报文包括第二域内的第二VxLAN的第一标识和第一负载。
例如,第一VxLAN内的终端向第一VxLAN的VxLAN隧道端点(VTEP)发送报文(即,第一负载)。第一VxLAN的VTEP对该报文进行封装,得到第一VxLAN报文。然后,第一网关接收由第一VxLAN的VTEP发送的第一VxLAN报文。
第一VxLAN报文包括报文头和第一负载。第二VxLAN的第一标识被包括在第一VxLAN报文的报文头中。第一标识为例如,虚拟网络基础设施(VNI)标识。
图2A是根据本公开一些实施例的第一VxLAN报文的示意图。
如图2A所示,第一VxLAN报文的报文头包括外部以太头(Outer Ethernet Header)、外部IP头(Outer IP Header)、外部UDP头(Outer UDP Header)和VxLAN头(VxLAN Header)。VxLAN头包括VxLAN标志(Flag)、保留位(Reserved)和第一标识。可见,第一VxLAN报文的报文头除第一标识之外还包括其他信息。第一VxLAN报文的负载(即,第一负载)包括内部以太头(Inner Ethernet Header)、作为原始通信数据的负载(Payload)和帧校验序列(Frame Checking Sequence,FCS)。
在步骤104,第一网关对第一VxLAN报文执行处理以得到分段路由(SRv6)报文。这里,SRv6报文包括第二VxLAN的第二标识、第一负载和从第一网关到第二网关的路径。
从第一网关到第二网关有多种路径。第一网关可以例如,从控制器获取根据业务需求从多种路径中确定的一种路径。例如,可以确定网络带宽最高的一种路径,以满足时延低的需求。
从第一网关到第二网关的路径被包括在SRv6报文的报文头中。在一些实施例中,从第一网关到第二网关的路径包括段列表(Segment List)形式的第一组分段路由标识(SID)。
第二标识与第一标识可以相同,也可以不同,后文将结合不同实施例说明第一网关执行处理的两种不同方式。
图2B是根据本公开一些实施例的SRv6报文的示意图。
如图2B所示,SRv6报文的报文头包括IPv6头和分段路由头(Segment Routing Header,SRH)。IPv6头中目的地址为第二网关的IPv6地址,SRH包括从第一网关 到第二网关的路径。利用不同种方式得到的SRv6报文的负载(即,第二负载)不同,后文将对此进行详细说明。
在步骤106,第一网关向IPv6网络发送SRv6报文,以使得第二网关根据第二标识向第二VxLAN发送包括第一标识和第一负载的第二VxLAN报文。
应理解,SRv6报文在IPv6网络中按照步骤104中的路径被转发。
例如,第二网关可以向第二VxLAN的VTEP发送第二VxLAN报文,以使得VTEP根据第一负载中的内部以太头携带的目的媒体存取控制(MAC)地址向第二VxLAN内的通信终端发送第一负载。
上述实施例中,第一网关对第一VxLAN报文进行处理得到可以按照特定路径在IPv6网络中传输的SRv6报文,并且,第二网关根据SRv6报文携带的第二VxLAN的第二标识向第二VxLAN发送包括第一标识和第一负载的第二VxLAN报文。如此,第一VxLAN与第二VxLAN之间通信的报文能够按照特定路径在IP网络中传输以满足各种特定的业务需求。
下面结合一些实施例进一步说明图1所示的报文处理方法。
在一些实施例中,从第一网关到第二网关的路径包括第一组SID。第一网关对第一VxLAN报文执行处理包括:在第一组SID中的SID的数量大于预设阈值的情况下,第一网关按照第一种方式对第一VxLAN报文执行处理;在第一组SID中的SID的数量不大于该预设阈值的情况下,第一网关按照第二种方式对第一VxLAN报文执行处理。
这里,按照第二种方式执行处理得到的SRv6报文的大小大于按照第一种方式执行处理得到的SRv6报文的大小,并且,按照第二种方式执行处理的时间小于按照第一种执行处理的时间。
应理解,SRv6报文在IP网络中的传输速度随SRv6报文增大而减小,即,按照第一种方式得到的SRv6报文的传输速度大于按照第二种方式得到的SRv6报文的传输速度。
在第一组SID中的SID的数量大于预设阈值的情况下采用第一种方式执行处理,并在第一组SID中的SID的数量不大于预设阈值的情况下采用第二种方式执行处理。如此,可以在路径较长的情况下选择第一种方式以保证SRv6报文的传输速度,而在路径较短的情况下选择第二种方式以保证第一网关的处理速度,从而在处理速度与SRv6报文的传输速度之间取得平衡,以确保第二网关能够更快地接收到SRv6报文。
应理解,本公开实施例不限于此。在一些实施例中,第一网关可以直接按照第一种方式或第二种方式对第一VxLAN报文执行处理,而不必根据第一组SID中的SID的数量来决定是按照第一种方式还是第二种方式对第一VxLAN报文执行处理。
下面结合图3说明第一网关执行处理的第一种方式。第一VxLAN报文的报文头包括第一标识和除第一标识之外的其他信息。第一网关按照第一种方式执行处理得到的SRv6报文不包括上述其他信息,并且,得到的SRv6报文的第二负载为第一VxLAN报文的第一负载,第二标识不同于第一VxLAN报文中的第一标识。
图3是根据本公开另一些实施例的报文处理方法的流程图。
如图3所示,报文处理方法包括步骤102至步骤106。这里,步骤104包括步骤114至步骤134。与图1相同的步骤在此不再赘述。
在步骤114,第一网关对第一VxLAN报文执行解封装处理,以得到第一标识和第一负载。
在步骤124,第一网关基于第二VxLAN的第一标识确定第二VxLAN的第二标识。这里,从第一网关到第二网关的路径包括具有预定格式的第一组SID,并且,第二VxLAN的第二标识符合该预定格式。也即,第二标识也是一个SID。
在步骤134,第一网关对第一负载执行封装处理以得到SRv6报文。得到的SRv6报文包括报文头和第二负载。SRv6报文的报文头包括第二组SID,第二组SID包括第一组SID和第二VxLAN的第二标识。
例如,从第一网关到第二网关的路径为第一组SID构成的第一段列表。可以在第一段列表的末尾处添加第二标识以得到第二段列表(即,第二组SID),以使得第二段列表的Segment数等于第一段列表的Segment数加一。
第一种方式下,处理得到的SRv6报文不包括第一VxLAN报文的报文头中除第一标识之外的其他信息。如此,可以减少SRv6报文的大小,从而提高SRv6报文在IPv6网络中的传输速度。
在第一种方式下,第二网关可以按照如下方式根据第二标识向第二VxLAN发送第二VxLAN报文。
首先,第二网关基于第二标识确定第一标识。然后,第二网关对SRv6报文执行解封装处理以得到第一负载。之后,第二网关基于第一标识和第一负载得到第二VxLAN报文。最后,第二网关向第二VxLAN发送第二VxLAN报文。
应理解,在封装格式完全相同的情况下,第二VxLAN报文与第一VxLAN报文 相同。然而,因向第二VxLAN发送的第二VxLAN报文包括第一负载,第一负载又包括负载和目的MAC地址,故,即便第二VxLAN报文与第一VxLAN报文不相同,仍能够顺利地完成通信。
第一种方式下,因SRv6报文的报文头包括在第一组SID的基础上额外增加第二标识得到的第二组SID,故,第二网关不是SRv6报文的目的节点,从而可以确保第二网关接收到SRv6报文的报文头。如此,第二网关可以根据第二VxLAN的第二标识向第二VxLAN发送第二VxLAN报文,从而可以提高报文转发的成功率。
下面结合一些实施例进一步说明第一网关执行处理的第一种方式。
在一些实施例中,在接收第一VxLAN报文之前,第一网关接收并存储来自第二网关的标识信息。这里,来自第二网关的标识信息包括第二域内的多个VxLAN中的每个VxLAN的第一标识和与第一标识相关联的第二标识。例如,第二网关为第二域内的每个VxLAN设置对应的第二标识,并将每个VxLAN的第二标识与该VxLAN的第一标识相关联以得到向第一网关发送的标识信息。应理解,不同VxLAN的第一标识不同,并且,不同VxLAN的第二标识也不同。第二域内的多个VxLAN包括第二VxLAN。在这种情况下,第一网关可以基于第二VxLAN的第一标识从存储的标识信息中确定与该第一标识相关联的第二标识。
上述实施例中,第一网关提前接收并存储来自第二网关的标识信息,而不是在接收到第一VxLAN报文之后向第二网关发送获取第二标识的请求。如此,第一网关可以更快速地完成对第一VxLAN报文的处理,从而更快速地得到SRv6报文。
在一些实施例中,第二VxLAN的第二标识包括定位部分(Locator)和功能部分(Function)。定位部分为第二网关的路由地址,并且,功能部分为第二VxLAN的第一标识。在接收到SRv6报文之后,第二网关可以直接从第二VxLAN的第二标识中得到第二VxLAN的第一标识。如此,第二网关可以更快速地得到第二VxLAN的第一标识,而不必从标识信息中查找与第二标识相关联的第一标识,从而可以更快速地得到向第二VxLAN发送的第二VxLAN报文。
在一些实施例中,标识信息所包括的每个VxLAN的第二标识均包括定位部分和功能部分。每个VxLAN的第二标识中的定位部分为第二网关的路由地址,并且,功能部分为该VxLAN的第一标识。在接收到携带任意一个VxLAN的第二标识的SRv6报文之后,第二网关都可以直接从第二标识中得到第一标识,而不必从标识信息中查找与第二标识相关联的第一标识。如此,第二网关可以更快速地得到该VxLAN的第 一标识,从而可以更快速地得到向该VxLAN发送的VxLAN报文。
下面说明第一网关执行处理的第二种方式。即,第一网关对第一VxLAN报文执行封装处理以得到SRv6报文。第一网关按照第二种方式执行处理得到的SRv6报文也包括报文头和第二负载。但这里,报文头包括从第一网关到第二网关的路径,第二负载为整个第一VxLAN报文,并且,第二标识为第一标识。
第二种方式下,第一网关只需要对第一VxLAN报文进行封装,无需其他额外操作。如此,既可以减少第一网关的处理负荷,也能够提高第一网关对第一VxLAN报文的处理速度。
在一些实施例中,从第一网关到第二网关的路径中第二网关的SID携带指令以指示第二网关的上一跳节点在向第二网关发送SRv6报文之前删除SRv6报文的报文头。如此,一方面,可以减少第二网关的上一跳节点向第二网关发送的SRv6报文的大小,从而提高SRv6报文在这一过程中的传输速度。另一方面,第二网关直接接收SRv6报文的第二负载(即,第一VxLAN报文),从而可以在无需执行其他额外操作的情况下,准确地向第二VxLAN发送第一VxLAN报文(即,第二VxLAN报文)。如此,能够在保证报文转发的成功率的情况下,减少第二网关的处理负荷并提高第二网关向第二VxLAN发送第二VxLAN报文的速度。
应理解,因第一网关按照第二种方式执行处理得到SRv6报文包括第一VxLAN报文的报文头中除第一标识之外的其他信息,而按照第一种方式执行处理得到的SRv6报文不包括上述其他信息,故,按照第一种方式执行处理得到的SRv6报文的大小小于按照第二种方式执行处理得到的SRv6报文的大小。因第一网关在第一种方式下需要执行的操作多于在第二种方式下需要执行的操作,故,按照第一种方式执行处理所需的时间大于按照第二种方式执行处理所需的时间。
图4是根据本公开一些实施例的报文处理装置的结构示意图。
如图4所示,位于第一网关的报文处理装置400包括接收模块401、处理模块402和发送模块403。
接收模块401被配置为接收来自第一域内的第一VxLAN的第一VxLAN报文。第一VxLAN报文包括第二域内的第二VxLAN的第一标识和第一负载。
处理模块402被配置为对第一VxLAN报文执行处理以得到SRv6报文。SRv6报文包括第二VxLAN的第二标识、第一负载和从第一网关到第二网关的路径。
发送模块403被配置为向IPv6网络发送SRv6报文,以使得第二网关根据第二标 识向第二VxLAN发送包括第一标识和第一负载的第二VxLAN报文。SRv6报文在IPv6网络中按照从第一网关到第二网关的路径被转发。
图5是根据本公开另一些实施例的报文处理装置的结构示意图。
如图5所示,位于第一网关的报文处理装置500包括存储器501以及耦接至该存储器501的处理器502,处理器502被配置为基于存储在存储器501中的指令,执行前述任意一个实施例的方法。
存储器501例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如可以存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
报文处理装置500还可以包括输入输出接口503、网络接口504、存储接口505等。这些接口503、504、505之间、以及存储器501与处理器502之间例如可以通过总线506连接。输入输出接口503为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口504为各种联网设备提供连接接口。存储接口505为SD卡、U盘等外置存储设备提供连接接口。
图6是根据本公开一些实施例的通信系统的结构示意图。
如图6所示,通信系统包括第一网关601和第二网关602。
第一网关601包括报文处理装置400/500。第二网关602被配置为根据第二VxLAN的第二标识向第二VxLAN发送第二VxLAN报文。
在一些实施例中,第二网关602还被配置为接收来自第二域内的第二VxLAN的第一VxLAN报文,该第一VxLAN报文包括第一域内的第一VxLAN的第一标识和第一负载;对第一VxLAN报文执行处理以得到SRv6报文,该SRv6报文包括第一VxLAN的第二标识、第一负载和从第二网关602到第一网关601的路径;向IPv6网络发送SRv6报文,以使得第一网关601根据第一VxLAN的第二标识向第一VxLAN发送第二VxLAN报文。这里,SRv6报文在IPv6网络中按照从第二网关602到第一网关601的路径被转发。第一网关601还被配置为根据第一VxLAN的第二标识向第一VxLAN发送第二VxLAN报文。即,第二网关602可以执行与上述任意一个实施例中的第一网关所执行的操作类似的操作;第一网关601也可以执行与上述任意一个实施例中的第二网关所执行的操作类似的操作。
在一些实施例中,第二网关602还被配置为在第一网关601接收第一VxLAN报文之前,向第一网关601发送标识信息。这里,标识信息包括第二域内的多个VxLAN中的每个VxLAN的第一标识和与第一标识相关联的第二标识。不同VxLAN的第一 标识不同,不同VxLAN的第二标识不同。多个VxLAN包括第二VxLAN。
在这些实施例中,第一网关601还被配置为在接收第一VxLAN报文之前,接收并存储标识信息;对第一VxLAN报文执行解封装处理,以得到第一标识和第一负载;基于第一标识从存储的标识信息中确定与第一标识相关联的第二标识;和对第一负载执行封装处理以得到SRv6报文。这里,SRv6报文包括报文头和第二负载。报文头包括第二组SID,第二组SID包括第一组SID和第二标识,并且,第二负载为第一负载。
在一些实施例中,第一网关601还被配置为在接收第一VxLAN报文之前,接收并存储来自第二网关602的标识信息;基于第一标识从存储的标识信息中确定与第一标识相关联的第二标识;和对第一负载执行封装处理以得到SRv6报文,SRv6报文包括报文头和第二负载。这里,报文头包括第二组SID,第二组SID包括第一组SID和第二标识,并且,第二负载为第一负载。
在这些实施例中,第二网关602还被配置为基于第二标识确定第一标识;对SRv6报文执行解封装处理以得到第一负载;基于第一标识和第一负载得到第二VxLAN报文;和向第二VxLAN发送第二VxLAN报文。
在一些实施例中,第二标识包括定位部分和功能部分。定位部分为第二网关602的路由地址,并且功能部分为第一标识。在这些实施例中,第二网关602还可以被配置为从第二标识中得到第一标识。
应理解,基于本公开的通信系统能够实现SRv6网络与VxLAN网络的融合。本公开的通信系统尤其适合于部署、应用在大规模的云网络数据中心中。通过部署本公开的通信系统,能够使不同VxLAN之间的通信报文按特定的路径传输,从而满足特定的业务需求。
本公开实施例还提供了一种计算机可读存储介质,包括计算机程序指令,该计算机程序指令被处理器执行时实现上述任意一个实施例的方法。
至此,已经详细描述了本公开的各实施例。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于报文处理装置和通信系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解,可由计算机程序指令实现流程图中一个流程或多个流程和/或方框图中一个方框或多个方框中指定的功能。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改或者对部分技术特征进行等同替换。本公开的范围由所附权利要求来限定。

Claims (20)

  1. 一种报文处理方法,包括:
    第一网关接收来自第一域内的第一虚拟可扩展局域网VxLAN的第一VxLAN报文,所述第一VxLAN报文包括第二域内的第二VxLAN的第一标识和第一负载;
    第一网关对所述第一VxLAN报文执行处理以得到分段路由SRv6报文,所述SRv6报文包括第二VxLAN的第二标识、所述第一负载和从第一网关到第二网关的路径;和
    第一网关向IPv6网络发送所述SRv6报文,以使得第二网关根据所述第二标识向第二VxLAN发送包括所述第一标识和所述第一负载的第二VxLAN报文,其中,所述SRv6报文在IPv6网络中按照所述路径被转发。
  2. 根据权利要求1所述的方法,其中,所述路径包括第一组分段路由标识;
    第一网关对所述第一VxLAN报文执行处理包括:
    在所述第一组分段路由标识中的分段路由标识的数量大于预设阈值的情况下,第一网关按照第一种方式对所述第一VxLAN报文执行处理;和
    在所述数量不大于所述预设阈值的情况下,第一网关按照第二种方式对所述第一VxLAN报文执行处理,其中,按照第二种方式执行所述处理得到的所述SRv6报文的大小大于按照第一种方式执行所述处理得到的所述SRv6报文的大小,并且,按照第二种方式执行所述处理的时间小于按照第一种方式执行所述处理的时间。
  3. 根据权利要求2所述的方法,其中,所述第一VxLAN报文的报文头包括所述第一标识和除所述第一标识之外的其他信息,按照第一种方式执行处理得到的所述SRv6报文不包括所述其他信息。
  4. 根据权利要求1所述的方法,其中,所述第一VxLAN报文的报文头包括所述第一标识和除所述第一标识之外的其他信息;
    第一网关对所述第一VxLAN报文执行处理以得到分段路由SRv6报文包括:
    第一网关按照第一种方式对所述第一VxLAN报文执行处理以得到所述SRv6报文,其中,所述SRv6报文不包括所述其他信息。
  5. 根据权利要求3或4所述的方法,其中,所述第一组分段路由标识具有预定格式;
    第一网关按照第一种方式对所述第一VxLAN报文执行处理包括:
    第一网关对所述第一VxLAN报文执行解封装处理,以得到所述第一标识和所述第一负载;
    第一网关基于所述第一标识确定符合所述预定格式的第二标识;和
    第一网关对所述第一负载执行封装处理以得到所述SRv6报文,其中,所述SRv6报文包括报文头和第二负载,所述报文头包括第二组分段路由标识,所述第二组分段路由标识包括所述第一组分段路由标识和所述第二标识,所述第二负载为所述第一负载。
  6. 根据权利要求5所述的方法,还包括:
    在接收所述第一VxLAN报文之前,第一网关接收并存储来自第二网关的标识信息,所述标识信息包括第二域内的多个VxLAN中的每个VxLAN的第一标识和与第一标识相关联的第二标识,不同VxLAN的第一标识不同,不同VxLAN的第二标识不同,所述多个VxLAN包括所述第二VxLAN;
    第一网关基于所述第一标识确定符合所述预定格式的第二标识包括:
    第一网关基于所述第一标识从存储的所述标识信息中确定与所述第一标识相关联的所述第二标识。
  7. 根据权利要求5所述的方法,其中,第二网关根据所述第二标识向第二VxLAN发送所述第二VxLAN报文包括:
    第二网关基于所述第二标识确定所述第一标识;
    第二网关对所述SRv6报文执行解封装处理以得到所述第一负载;
    第二网关基于所述第一标识和所述第一负载得到所述第二VxLAN报文;和
    第二网关向第二VxLAN发送所述第二VxLAN报文。
  8. 根据权利要求7所述的方法,其中,所述第二标识包括定位部分和功能部分,所述定位部分为第二网关的路由地址,所述功能部分为所述第一标识;
    第二网关基于所述第二标识确定所述第一标识包括:
    第二网关从所述第二标识中得到所述第一标识。
  9. 根据权利要求7所述的方法,其中,所述第二VxLAN报文与所述第一VxLAN报文相同。
  10. 根据权利要求6所述的方法,其中,每个VxLAN的第二标识包括定位部分和功能部分,所述定位部分为第二网关的路由地址,所述功能部分为该VxLAN的第一标识。
  11. 根据权利要求2所述的方法,其中,第一网关按照第二种方式对所述第一VxLAN报文执行处理包括:
    第一网关对所述第一VxLAN报文执行封装处理以得到所述SRv6报文,其中,所述SRv6报文包括报文头和第二负载,所述报文头包括所述路径,所述第二负载为所述第一VxLAN报文,所述第二标识为所述第一标识。
  12. 根据权利要求1所述的方法,其中,第一网关对所述第一VxLAN报文执行处理以得到分段路由SRv6报文包括:
    第一网关对所述第一VxLAN报文执行封装处理以得到所述SRv6报文,其中,所述SRv6报文包括报文头和第二负载,所述报文头包括所述路径,所述第二负载为所述第一VxLAN报文,所述第二标识为所述第一标识。
  13. 根据权利要求11或12所述的方法,其中,所述路径中第二网关的分段路由标识携带指令以指示第二网关的上一跳节点在向第二网关发送所述SRv6报文之前删除所述报文头。
  14. 一种报文处理装置,位于第一网关,包括:
    接收模块,被配置为接收来自第一域内的第一虚拟可扩展局域网VxLAN的第一VxLAN报文,所述第一VxLAN报文包括第二域内的第二VxLAN的第一标识和第一负载;
    处理模块,被配置为对所述第一VxLAN报文执行处理以得到分段路由SRv6报 文,所述SRv6报文包括第二VxLAN的第二标识、所述第一负载和从第一网关到第二网关的路径;和
    发送模块,被配置为向IPv6网络发送所述SRv6报文,以使得第二网关根据所述第二标识向第二VxLAN发送包括所述第一标识和所述第一负载的第二VxLAN报文,其中,所述SRv6报文在IPv6网络中按照所述路径被转发。
  15. 一种报文处理装置,位于第一网关,包括:
    存储器;以及
    耦接至所述存储器的处理器,被配置为基于存储在所述存储器中的指令,执行权利要求1-6、10-13任意一项所述的方法。
  16. 一种通信系统,包括:
    第一网关,包括权利要求14或15所述的报文处理装置;和
    第二网关,被配置为根据所述第二标识向第二VxLAN发送所述第二VxLAN报文。
  17. 根据权利要求16所述的系统,其中,
    第二网关还被配置为在第一网关接收所述第一VxLAN报文之前,向第一网关发送标识信息,所述标识信息包括第二域内的多个VxLAN中的每个VxLAN的第一标识和与第一标识相关联的第二标识,不同VxLAN的第一标识不同,不同VxLAN的第二标识不同,所述多个VxLAN包括所述第二VxLAN;并且
    第一网关还被配置为在接收所述第一VxLAN报文之前,接收并存储所述标识信息;对所述第一VxLAN报文执行解封装处理,以得到所述第一标识和所述第一负载;基于所述第一标识从存储的所述标识信息中确定与所述第一标识相关联的所述第二标识;和对所述第一负载执行封装处理以得到所述SRv6报文,其中,所述SRv6报文包括报文头和第二负载,所述报文头包括第二组分段路由标识,所述第二组分段路由标识包括所述第一组分段路由标识和所述第二标识,所述第二负载为所述第一负载。
  18. 根据权利要求16所述的系统,其中,
    第一网关还被配置为在接收所述第一VxLAN报文之前,接收并存储来自第二网 关的标识信息,所述标识信息包括第二域内的多个VxLAN中的每个VxLAN的第一标识和与第一标识相关联的第二标识,不同VxLAN的第一标识不同,不同VxLAN的第二标识不同,所述多个VxLAN包括所述第二VxLAN;基于所述第一标识从存储的所述标识信息中确定与所述第一标识相关联的所述第二标识;和对所述第一负载执行封装处理以得到所述SRv6报文,其中,所述SRv6报文包括报文头和第二负载,所述报文头包括第二组分段路由标识,所述第二组分段路由标识包括所述第一组分段路由标识和所述第二标识,所述第二负载为所述第一负载;并且
    第二网关还被配置为基于所述第二标识确定所述第一标识;对所述SRv6报文执行解封装处理以得到所述第一负载;基于所述第一标识和所述第一负载得到所述第二VxLAN报文;和向第二VxLAN发送所述第二VxLAN报文。
  19. 根据权利要求18所述的系统,其中,所述第二标识包括定位部分和功能部分,所述定位部分为第二网关的路由地址,所述功能部分为所述第一标识;
    第二网关被配置为从所述第二标识中得到所述第一标识。
  20. 一种计算机可读存储介质,包括计算机程序指令,其中,所述计算机程序指令被处理器执行时实现权利要求1-13任意一项所述的方法。
PCT/CN2022/103771 2021-07-28 2022-07-05 报文处理方法、装置及通信系统 WO2023005620A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110855993.0A CN115695084A (zh) 2021-07-28 2021-07-28 报文处理方法、装置及通信系统
CN202110855993.0 2021-07-28

Publications (1)

Publication Number Publication Date
WO2023005620A1 true WO2023005620A1 (zh) 2023-02-02

Family

ID=85059194

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/103771 WO2023005620A1 (zh) 2021-07-28 2022-07-05 报文处理方法、装置及通信系统

Country Status (2)

Country Link
CN (1) CN115695084A (zh)
WO (1) WO2023005620A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104350714A (zh) * 2014-05-29 2015-02-11 华为技术有限公司 一种报文转发方法和VxLAN网关
CN110557316A (zh) * 2018-05-30 2019-12-10 中国电信股份有限公司 报文传输方法、系统、装置及计算机可读存储介质
US20200028758A1 (en) * 2018-07-17 2020-01-23 Cisco Technology, Inc. Multi-cloud connectivity using srv6 and bgp
CN111092801A (zh) * 2018-10-23 2020-05-01 华为技术有限公司 数据传输方法及装置
WO2021083332A1 (zh) * 2019-10-31 2021-05-06 华为技术有限公司 发送报文的方法、装置及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104350714A (zh) * 2014-05-29 2015-02-11 华为技术有限公司 一种报文转发方法和VxLAN网关
CN110557316A (zh) * 2018-05-30 2019-12-10 中国电信股份有限公司 报文传输方法、系统、装置及计算机可读存储介质
US20200028758A1 (en) * 2018-07-17 2020-01-23 Cisco Technology, Inc. Multi-cloud connectivity using srv6 and bgp
CN111092801A (zh) * 2018-10-23 2020-05-01 华为技术有限公司 数据传输方法及装置
WO2021083332A1 (zh) * 2019-10-31 2021-05-06 华为技术有限公司 发送报文的方法、装置及系统

Also Published As

Publication number Publication date
CN115695084A (zh) 2023-02-03

Similar Documents

Publication Publication Date Title
US11671367B1 (en) Methods and apparatus for improving load balancing in overlay networks
US11979322B2 (en) Method and apparatus for providing service for traffic flow
TWI744359B (zh) 一種資料傳輸的方法及網路設備
US8913613B2 (en) Method and system for classification and management of inter-blade network traffic in a blade server
US9823916B2 (en) Methods and apparatus for improving compatibility between network devices
CN110022264B (zh) 控制网络拥塞的方法、接入设备和计算机可读存储介质
WO2016192686A1 (zh) 数据报文转发
CN113326228B (zh) 基于远程直接数据存储的报文转发方法、装置及设备
US10601610B2 (en) Tunnel-level fragmentation and reassembly based on tunnel context
EP4270898A1 (en) Message processing method, device, and computer storage medium
JP2016522627A (ja) パケット処理方法および装置
CN107306215B (zh) 一种数据处理方法、系统及节点
CN111801911B (zh) 业务功能链拥塞跟踪
CN106992918B (zh) 报文转发方法和装置
CN109246016B (zh) 跨vxlan的报文处理方法和装置
CN108737239B (zh) 一种报文转发方法及装置
JP6222505B2 (ja) 入力パラメータを生成するための方法および装置
CN110235417B (zh) 一种sdn及其报文转发的方法和装置
US9847929B2 (en) Cluster and forwarding method
CN108156066B (zh) 报文转发方法和装置
WO2023005620A1 (zh) 报文处理方法、装置及通信系统
WO2023010730A1 (zh) 数据包解析的方法和服务器
US10320661B2 (en) Communication device and communication method
US10171368B1 (en) Methods and apparatus for implementing multiple loopback links
EP3913865A1 (en) Message decapsulation method and device, message encapsulation method and device, electronic device, and 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: 22848225

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE