Message processing method, device and communication system
By generating segmented routed SRv6 messages, the problem of uncontrollable communication paths between VxLANs is solved, enabling message transmission along specific paths, meeting business requirements, and improving transmission efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA TELECOM CORP LTD
- Filing Date
- 2021-07-28
- Publication Date
- 2026-07-07
AI Technical Summary
In existing technologies, the transmission path of messages communicating between VxLANs in the IP network is determined by each routing node in the IP network, which cannot meet specific business requirements.
The VxLAN packets are processed by the first gateway to generate segmented route SRv6 packets, which are then transmitted in the IPv6 network. The path and identification information of the SRv6 packets are used to achieve packet transmission along a specific path.
It enables communication messages between VxLANs to be transmitted in the IP network along a specific path, meeting various service requirements and improving transmission speed and success rate.
Smart Images

Figure CN115695084B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of communications, and in particular to a message processing method, apparatus and communication system. Background Technology
[0002] In related technologies, communication messages between different Virtual Scalable Local Area Networks (VxLANs) are transmitted over IP networks based on the User Datagram Protocol (UDP). Summary of the Invention
[0003] The inventors noted that when messages are transmitted over an IP network based on UDP, each routing node in the IP network that forwards the message finds the next-hop node based on the destination IP address of the message. In other words, the message forwarding path is determined by each routing node in the IP network, which cannot meet the specific business requirements for communication between different VxLANs.
[0004] In view of this, the present disclosure proposes the following solutions.
[0005] According to one aspect of the present disclosure, a message processing method is provided, comprising: a first gateway receiving a first VxLAN message from a first Virtual Extensible Local Area Network (VxLAN) within a first domain, the first VxLAN message including a first identifier and a first payload of a second VxLAN within a second domain; the first gateway processing the first VxLAN message to obtain a segmented routing SRv6 message, the SRv6 message including a second identifier of the second VxLAN, the first payload, and a path from the first gateway to the second gateway; the first gateway sending the SRv6 message to an IPv6 network, such that the second gateway sends a second VxLAN message including the first identifier and the first payload to the second VxLAN according to the second identifier, wherein the SRv6 message is forwarded in the IPv6 network according to the path.
[0006] In some embodiments, the path includes a first set of segmented routing identifiers; the first gateway performs processing on the first VxLAN packet including: if the number of segmented routing identifiers in the first set of segmented routing identifiers is greater than a preset threshold, the first gateway performs processing on the first VxLAN packet in a first manner; if the number is not greater than the preset threshold, the first gateway performs processing on the first VxLAN packet in a second manner, wherein the size of the SRv6 packet obtained by performing the processing in the second manner is greater than the size of the SRv6 packet obtained by performing the processing in the first manner, and the time for performing the processing in the second manner is less than the time for performing the processing in the first manner.
[0007] In some embodiments, the header of the first VxLAN message includes the first identifier and other information besides the first identifier, and the SRv6 message obtained by processing in the first manner does not include the other information.
[0008] In some embodiments, the first segmented routing identifier has a predetermined format; the first gateway performs processing on the first VxLAN packet in a first manner, including: the first gateway performs decapsulation processing on the first VxLAN packet 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; the first gateway performs 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 segmented routing identifier, the second segmented routing identifier includes the first segmented routing identifier and the second identifier, and the second payload is the first payload.
[0009] In some embodiments, the method further includes: before receiving the first VxLAN message, a first gateway receives and stores identification information from a second gateway, the identification information including a first identifier of each of a plurality of VxLANs in a second domain and a second identifier associated with the first identifier, wherein the first identifier and the second identifier of different VxLANs are different, and the plurality of VxLANs includes the second VxLAN; the first gateway determines the second identifier conforming to the predetermined format based on the first identifier by: the first gateway determining the second identifier associated with the first identifier from the stored identification information based on the first identifier.
[0010] In some embodiments, the second gateway sending the second VxLAN message to the second VxLAN based on the second identifier includes: the second gateway determining the first identifier based on the second identifier; the second gateway performing decapsulation processing on the SRv6 message to obtain the first payload; the second gateway obtaining the second VxLAN message based on the first identifier and the first payload; and the second gateway sending the second VxLAN message to the second VxLAN.
[0011] In some embodiments, the second identifier of each VxLAN includes a location portion and a function portion, wherein the location portion is the routing address of the second gateway and the function portion is the first identifier of the VxLAN; the second gateway determines the first identifier based on the second identifier by obtaining the first identifier from the second identifier.
[0012] In some embodiments, the second VxLAN message is the same as the first VxLAN message.
[0013] In some embodiments, the first gateway performs processing on the first VxLAN packet in a second manner, including: the first gateway performs 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.
[0014] In some embodiments, the segmented routing identifier of the second gateway in the path carries an instruction to instruct the upstream node of the second gateway to delete the packet header before sending the SRv6 packet to the second gateway.
[0015] According to another aspect of the present disclosure, a message processing apparatus is provided, located at a first gateway, comprising: a receiving module configured to receive a first VxLAN message from a first Virtual Extensible Local Area Network (VxLAN) within a first domain, the first VxLAN message including a first identifier and a first payload of a second VxLAN within a second domain; a processing module configured to process the first VxLAN message to obtain a segmented routing SRv6 message, the SRv6 message including a second identifier of the second VxLAN, the first payload, and a path from the first gateway to the second gateway; and a sending module configured to send the SRv6 message to an IPv6 network, such that the second gateway sends a second VxLAN message including the first identifier and the first payload to the second VxLAN according to the second identifier, wherein the SRv6 message is forwarded in the IPv6 network according to the path.
[0016] According to another aspect of the present disclosure, a message processing apparatus is provided, located at a first gateway, comprising: a memory; and a processor coupled to the memory, the processor being configured to execute the method described in any of the above embodiments based on instructions stored in the memory.
[0017] According to another aspect of the present disclosure, a communication system is provided, including: a first gateway, including the message processing device described in any of the above embodiments; and a second gateway, configured to send the second VxLAN message to a second VxLAN according to the second identifier.
[0018] According to another aspect of the present disclosure, a computer-readable storage medium is provided, including computer program instructions, wherein the computer program instructions, when executed by a processor, implement the method described in any of the above embodiments.
[0019] In this embodiment, the first gateway processes the first VxLAN message to obtain an SRv6 message that can be transmitted in the IPv6 network along a specific path. The second gateway then sends a second VxLAN message, including a first identifier and a first payload, to the second VxLAN based on the second identifier of the second VxLAN carried in the SRv6 message. Thus, messages communicating between the first and second VxLANs can be transmitted in the IP network along a specific path to meet various specific service requirements.
[0020] The technical solutions of this disclosure will be further described in detail below with reference to the accompanying drawings and embodiments. Attached Figure Description
[0021] To more clearly illustrate the technical solutions in the embodiments of this disclosure or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0022] Figure 1 This is a schematic flowchart of a message processing method according to some embodiments of the present disclosure;
[0023] Figure 2A This is a schematic diagram of a first VxLAN message according to some embodiments of this disclosure;
[0024] Figure 2B This is a schematic diagram of an SRv6 message according to some embodiments of this disclosure;
[0025] Figure 3 This is a flowchart of a message processing method according to other embodiments of this disclosure;
[0026] Figure 4 This is a schematic diagram of the structure of a message processing apparatus according to some embodiments of the present disclosure;
[0027] Figure 5 This is a schematic diagram of the structure of a message processing apparatus according to other embodiments of the present disclosure;
[0028] Figure 6 This is a schematic diagram of the structure of a communication system according to some embodiments of the present disclosure. Detailed Implementation
[0029] The technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this disclosure, and not all embodiments. Based on the embodiments of this disclosure, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this disclosure.
[0030] Unless otherwise specifically stated, the relative arrangement, numerical expressions, and values of the components and steps set forth in these embodiments do not limit the scope of this disclosure.
[0031] At the same time, it should be understood that, for ease of description, the dimensions of the various parts shown in the accompanying drawings are not drawn according to actual scale.
[0032] Techniques, methods, and equipment known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and equipment should be considered part of the specification.
[0033] In all examples shown and discussed herein, any specific values should be interpreted as merely exemplary and not as limitations. Therefore, other examples of exemplary embodiments may have different values.
[0034] It should be noted that similar labels and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be discussed further in subsequent figures.
[0035] Figure 1 This is a schematic flowchart of a message processing method according to some embodiments of the present disclosure.
[0036] like Figure 1 As shown, the message processing method includes steps 102 to 106.
[0037] In step 102, the first gateway receives a first VxLAN message from a first VxLAN within a first domain. The first VxLAN message includes a first identifier and a first payload of a second VxLAN within a second domain.
[0038] For example, a terminal within the first VxLAN sends a message (i.e., a first payload) to the VxLAN Tunnel Endpoint (VTEP) of the first VxLAN. The VTEP of the first VxLAN encapsulates the message to obtain a first VxLAN message. Then, the first gateway receives the first VxLAN message sent by the VTEP of the first VxLAN.
[0039] The first VxLAN message includes a header and a first payload. The first identifier of the second VxLAN is included in the header of the first VxLAN message. The first identifier is, for example, a Virtual Network Infrastructure (VNI) identifier.
[0040] Figure 2A This is a schematic diagram of a first VxLAN message according to some embodiments of the present disclosure.
[0041] like Figure 2A As shown, the header of the first VxLAN packet includes an Outer Ethernet Header, an Outer IP Header, an Outer UDP Header, and a VxLAN Header. The VxLAN Header includes a VxLAN Flag, Reserved bits, and a First Identifier. It is evident that the header of the first VxLAN packet includes other information besides the First Identifier. The payload of the first VxLAN packet (i.e., the first payload) includes an Inner Ethernet Header, the payload containing the original communication data, and a Frame Checking Sequence (FCS).
[0042] In step 104, the first gateway processes the first VxLAN message to obtain a segmented routing (SRv6) message. Here, the SRv6 message includes the second identifier of the second VxLAN, the first load, and the path from the first gateway to the second gateway.
[0043] There are multiple paths from the first gateway to the second gateway. The first gateway can, for example, obtain a path from the controller, determined from these multiple paths based on business requirements. For instance, it can determine the path with the highest network bandwidth to meet low latency requirements.
[0044] The path from the first gateway to the second gateway is included in the header of the SRv6 message. In some embodiments, the path from the first gateway to the second gateway includes a first set of segment route identifiers (SIDs) in the form of a segment list.
[0045] The second identifier may be the same as or different from the first identifier. The following will describe two different ways in which the first gateway performs processing in conjunction with different embodiments.
[0046] Figure 2B This is a schematic diagram of an SRv6 message according to some embodiments of the present disclosure.
[0047] like Figure 2BAs shown, the header of an SRv6 message includes an IPv6 header and a Segment Routing Header (SRH). The destination address in the IPv6 header is the IPv6 address of the second gateway, and the SRH includes the path from the first gateway to the second gateway. The payload (i.e., the second payload) of the SRv6 message obtained using different methods differs, which will be explained in detail later.
[0048] In step 106, the first gateway sends an SRv6 message to the IPv6 network, so that the second gateway sends a second VxLAN message including the first identifier and the first payload to the second VxLAN according to the second identifier.
[0049] It should be understood that SRv6 packets are forwarded in the IPv6 network according to the path described in step 104.
[0050] For example, the second gateway can send a second VxLAN message to the VTEP of the second VxLAN, so that the VTEP can send the first payload to the communication terminal in the second VxLAN according to the destination media access control (MAC) address carried in the internal Ethernet header of the first payload.
[0051] In the above embodiments, the first gateway processes the first VxLAN message to obtain an SRv6 message that can be transmitted in the IPv6 network along a specific path. The second gateway then sends a second VxLAN message, including a first identifier and a first payload, to the second VxLAN based on the second identifier of the second VxLAN carried in the SRv6 message. In this way, messages communicating between the first and second VxLANs can be transmitted in the IP network along a specific path to meet various specific service requirements.
[0052] The following description, in conjunction with some embodiments, further illustrates the point. Figure 1 The message processing method shown.
[0053] In some embodiments, the path from the first gateway to the second gateway includes a first set of SIDs. The first gateway processes the first VxLAN packet in the following ways: if the number of SIDs in the first set of SIDs is greater than a preset threshold, the first gateway processes the first VxLAN packet in a first manner; if the number of SIDs in the first set of SIDs is not greater than the preset threshold, the first gateway processes the first VxLAN packet in a second manner.
[0054] Here, the size of the SRv6 message obtained by processing in the second way is greater than the size of the SRv6 message obtained by processing in the first way, and the processing time in the second way is less than the processing time in the first way.
[0055] It should be understood that the transmission speed of the SRv6 packet in the IP network decreases as the SRv6 packet increases, that is, the transmission speed of the SRv6 packet obtained in the first manner is greater than the transmission speed of the SRv6 packet obtained in the second manner.
[0056] When the number of SIDs in the first group of SIDs is greater than the preset threshold, the first method is used to perform the processing, and when the number of SIDs in the first group of SIDs is not greater than the preset threshold, the second method is used to perform the processing. In this way, the first method can be selected in the case of a long path to ensure the transmission speed of the SRv6 packet, and the second method can be selected in the case of a short path to ensure the processing speed of the first gateway, so as to achieve a balance between the processing speed and the transmission speed of the SRv6 packet, so as to ensure that the second gateway can receive the SRv6 packet faster.
[0057] The following combines Figure 3 Describe the first method for the first gateway to perform processing. The header of the first VxLAN packet includes a first identifier and other information other than the first identifier. The SRv6 packet obtained by the first gateway performing processing 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 identifier in the first VxLAN packet.
[0058] Figure 3 It is a flowchart of a packet processing method according to some other embodiments of the present disclosure.
[0059] As Figure 3 shown, the packet processing method includes steps 102 to step 106. Here, step 104 includes steps 114 to step 134. The same steps as Figure 1 will not be described in detail here.
[0060] In step 114, the first gateway performs decapsulation processing on the first VxLAN packet to obtain the first identifier and the first payload.
[0061] In step 124, the first gateway determines the second identifier of the second VxLAN based on the first identifier of the second VxLAN. Here, the path from the first gateway to the second gateway includes a first group of SIDs with 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.
[0062] In step 134, the first gateway performs encapsulation processing on the first payload to obtain an SRv6 packet. The obtained SRv6 packet includes a header and a second payload. The header of the SRv6 packet includes a second group of SIDs, and the second group of SIDs includes the first group of SIDs and the second identifier of the second VxLAN.
[0063] For example, the path from the first gateway to the second gateway is a first list consisting of the first group of SIDs. A second identifier can be added to the end of the first list to obtain a second list (i.e., the second group of SIDs), so that the number of segments in the second list is equal to the number of segments in the first list plus one.
[0064] In the first approach, the processed SRv6 message does not include any information from the header of the first VxLAN message other than the first identifier. This reduces the size of the SRv6 message, thereby increasing its transmission speed in IPv6 networks.
[0065] In the first approach, the second gateway can send a second VxLAN message to the second VxLAN based on the second identifier in the following manner.
[0066] First, the second gateway determines the first identifier based on the second identifier. Then, the second gateway performs decapsulation processing on the SRv6 message to obtain the first payload. Next, the second gateway obtains the second VxLAN message based on the first identifier and the first payload. Finally, the second gateway sends the second VxLAN message to the second VxLAN.
[0067] It should be understood that, given identical encapsulation formats, the second VxLAN message is identical to the first VxLAN message. However, because the second VxLAN message sent to the second VxLAN includes the first payload, which in turn includes the payload and the destination MAC address, communication can still be successfully completed even if the second VxLAN message is different from the first VxLAN message.
[0068] In the first approach, because the SRv6 message header includes a second SID obtained by adding a second identifier to the first SID, the second gateway is not the destination node of the SRv6 message. This ensures that the second gateway receives the SRv6 message header. Therefore, the second gateway can send second VxLAN messages to the second VxLAN based on the second identifier of the second VxLAN, thereby improving the success rate of message forwarding.
[0069] The first method of the first gateway performing processing is further illustrated below with reference to some embodiments.
[0070] In some embodiments, before receiving the first VxLAN message, the first gateway receives and stores identification information from the second gateway. Here, the identification information from the second gateway includes a first identifier for each of the plurality of VxLANs within the second domain and a second identifier associated with the first identifier. For example, the second gateway sets a corresponding second identifier for each VxLAN within the second domain and associates each second identifier with the first identifier to obtain the identification information sent to the first gateway. It should be understood that the first identifiers of different VxLANs are different, and the second identifiers of different VxLANs are also different. The plurality of VxLANs within the second domain includes second VxLANs. In this case, the first gateway can determine the second identifier associated with the first identifier from the stored identification information based on the first identifier of the second VxLAN.
[0071] In the above embodiments, 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 identifier after receiving the first VxLAN packet. In this way, the first gateway can complete the processing of the first VxLAN packet more quickly, thereby obtaining the SRv6 packet more quickly.
[0072] In some embodiments, the second identifier of each VxLAN includes a locator portion and a function portion. The locator portion is the routing address of the second gateway, and the function portion is the first identifier of that VxLAN. After receiving an SRv6 message, the second gateway can directly obtain the first identifier from the second identifier without having to look up the first identifier associated with the second identifier in the identifier information. Thus, the second gateway can obtain the first identifier of the second VxLAN more quickly, thereby enabling it to receive second VxLAN messages sent to the second VxLAN more quickly.
[0073] The second method of processing by the first gateway is described below. Specifically, the first gateway performs encapsulation processing on the first VxLAN packet to obtain an SRv6 packet. The SRv6 packet obtained by the first gateway in this second method also includes a header and a second payload. However, here, the header includes the 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.
[0074] In the second approach, the first gateway only needs to encapsulate the first VxLAN packet without any additional operations. This reduces the processing load on the first gateway and also improves its processing speed for the first VxLAN packet.
[0075] In some embodiments, the SID of the second gateway in the path from the first gateway to the second gateway carries an instruction to instruct the upstream node of the second gateway to delete the header of the SRv6 message before sending it to the second gateway. This reduces the size of the SRv6 message sent by the upstream node to the second gateway, thereby increasing the transmission speed of the SRv6 message in this process. Furthermore, the second gateway directly receives the second payload (i.e., the first VxLAN message) of the SRv6 message, enabling it to accurately send the first VxLAN message (i.e., the second VxLAN message) to the second VxLAN without performing any additional operations. This reduces the processing load on the second gateway and increases the speed at which the second gateway sends the second VxLAN message to the second VxLAN while maintaining a high success rate in message forwarding.
[0076] It should be understood that because the SRv6 message obtained by the first gateway in the second processing method includes all information in the header of the first VxLAN message except for the first identifier, while the SRv6 message obtained in the first processing method does not include the aforementioned other information, the size of the SRv6 message obtained in the first processing method is smaller than the size of the SRv6 message obtained in the second processing method. Because the first gateway needs to perform more operations in the first method than in the second method, the time required for processing in the first method is greater than the time required for processing in the second method.
[0077] Figure 4 This is a schematic diagram of the structure of a message processing apparatus according to some embodiments of the present disclosure.
[0078] like Figure 4 As shown, the message processing device 400 located at the first gateway includes a receiving module 401, a processing module 402, and a sending module 403.
[0079] The receiving module 401 is configured to receive a first VxLAN message from a first VxLAN within a first domain. The first VxLAN message includes a first identifier and a first payload of a second VxLAN within a second domain.
[0080] Processing module 402 is configured to process the first VxLAN message to obtain an SRv6 message. The SRv6 message includes a second identifier of the second VxLAN, a first payload, and a path from the first gateway to the second gateway.
[0081] The sending module 403 is configured to send SRv6 messages to the IPv6 network, causing the second gateway to send a second VxLAN message including a first identifier and a first payload to the second VxLAN based on the second identifier. The SRv6 message is forwarded in the IPv6 network along the path from the first gateway to the second gateway.
[0082] Figure 5 This is a schematic diagram of the structure of a message processing apparatus according to other embodiments of the present disclosure.
[0083] like Figure 5 As shown, the message processing device 500 located at the first gateway includes a memory 501 and a processor 502 coupled to the memory 501. The processor 502 is configured to execute the method of any of the foregoing embodiments based on instructions stored in the memory 501.
[0084] The memory 501 may include, for example, system memory, fixed non-volatile storage media, etc. The system memory may store, for example, an operating system, application programs, a boot loader, and other programs.
[0085] The message processing device 500 may also include an input / output interface 503, a network interface 504, and a storage interface 505. These interfaces 503, 504, and 505, as well as the memory 501 and processor 502, can be connected, for example, via a bus 506. The input / output interface 503 provides a connection interface for input / output devices such as displays, mice, keyboards, and touchscreens. The network interface 504 provides a connection interface for various networked devices. The storage interface 505 provides a connection interface for external storage devices such as SD cards and USB flash drives.
[0086] Figure 6 This is a schematic diagram of the structure of a communication system according to some embodiments of the present disclosure.
[0087] like Figure 6 As shown, the communication system includes a first gateway 601 and a second gateway 602.
[0088] The first gateway 601 includes message processing devices 400 / 500. The second gateway 602 is configured to send second VxLAN messages to the second VxLAN based on a second identifier of the second VxLAN.
[0089] In some embodiments, the second gateway 602 is further configured to receive a first VxLAN message from a second VxLAN within a second domain, the first VxLAN message including a first identifier and a first payload of the first VxLAN within the first domain; process the first VxLAN message to obtain an SRv6 message, the SRv6 message including a second identifier of the first VxLAN, the first payload, and a path from the second gateway 602 to the first gateway 601; and send the SRv6 message to the IPv6 network such that the first gateway 601 sends a second VxLAN message to the first VxLAN according to the second identifier of the first VxLAN, wherein the SRv6 message is forwarded in the IPv6 network along the path from the second gateway 602 to the first gateway 601. The first gateway 601 is also configured to send the second VxLAN message to the first VxLAN according to the second identifier of the first VxLAN.
[0090] It should be understood that the communication system based on this disclosure can achieve the convergence of SRv6 networks and VxLAN networks. The communication system of this disclosure is particularly suitable for deployment and application in large-scale cloud network data centers. By deploying the communication system of this disclosure, communication messages between different VxLANs can be transmitted along specific paths, thereby meeting specific business requirements.
[0091] This disclosure also provides a computer-readable storage medium including computer program instructions that, when executed by a processor, implement the method of any of the above embodiments.
[0092] The embodiments of this disclosure have now been described in detail. To avoid obscuring the concept of this disclosure, some details known in the art have not been described. Those skilled in the art can fully understand how to implement the technical solutions disclosed herein based on the above description.
[0093] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the embodiments of the message processing apparatus and communication system, since they largely correspond to the method embodiments, the descriptions are relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0094] Those skilled in the art will understand that embodiments of this disclosure can be provided as methods, systems, or computer program products. Therefore, this disclosure can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this disclosure can 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.) containing computer-usable program code.
[0095] This disclosure is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this disclosure. It should be understood that the functions specified in one or more flowchart illustrations and / or one or more blocks in a block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate functions for implementing the functions in the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0096] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0097] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0098] While specific embodiments of this disclosure have been described in detail by way of examples, those skilled in the art should understand that the examples are for illustrative purposes only and not intended to limit the scope of this disclosure. Those skilled in the art should understand that modifications can be made to the above embodiments or equivalent substitutions can be made to some technical features without departing from the scope and spirit of this disclosure. The scope of this disclosure is defined by the appended claims.
Claims
1. A message processing method, comprising: The first gateway receives a first VxLAN message from a first virtual scalable local area network (VxLAN) within a first domain. The first VxLAN message includes a first identifier and a first payload of a second VxLAN within a second domain. The first gateway processes the first VxLAN message to obtain a segmented route 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. The path includes a first set of segmented route identifiers. The first gateway sends the SRv6 message to the IPv6 network, so that the second gateway sends a second VxLAN message including the first identifier and the first payload to the second VxLAN according to the second identifier, wherein the SRv6 message is forwarded in the IPv6 network according to the path. The first gateway performs the following processing on the first VxLAN packet: If the number of segmented route identifiers in the first group of segmented route identifiers is greater than a preset threshold, the first gateway processes the first VxLAN packet in the first manner. If the number is not greater than the preset threshold, the first gateway processes the first VxLAN packet in a second manner, wherein the size of the SRv6 packet obtained by processing in the second manner is greater than the size of the SRv6 packet obtained by processing in the first manner, and the time for processing in the second manner is less than the time for processing in the first manner.
2. The method according to claim 1, wherein, The header of the first VxLAN message includes the first identifier and other information besides the first identifier. The SRv6 message obtained by processing in the first manner does not include the other information.
3. The method according to claim 2, wherein, The first group segment routing identifier has a predetermined format; The first gateway processes the first VxLAN packet according to the first method, including: The first gateway performs decapsulation processing on the first VxLAN packet to obtain the first identifier and the first payload; The first gateway determines a second identifier that conforms to the predetermined format based on the first identifier; The first gateway performs encapsulation processing on the first load to obtain the SRv6 message, wherein the SRv6 message includes a message header and a second load, the message header includes a second segmented routing identifier, the second segmented routing identifier includes a first segmented routing identifier and a second identifier, and the second load is the first load.
4. The method according to claim 3, further comprising: Before receiving the first VxLAN message, the first gateway receives and stores identification information from the second gateway. The identification information includes a first identifier of each VxLAN in the plurality of VxLANs in the second domain and a second identifier associated with the first identifier. The first identifier and the second identifier of different VxLANs are different. The plurality of VxLANs includes the second VxLAN. The first gateway determines a second identifier conforming to the predetermined format based on the first identifier, including: The first gateway determines the second identifier associated with the first identifier from the stored identifier information based on the first identifier.
5. The method according to claim 4, wherein, The second gateway sends the second VxLAN message to the second VxLAN based on the second identifier, including: The second gateway determines the first identifier based on the second identifier; The second gateway performs decapsulation processing on the SRv6 message to obtain the first payload; The second gateway obtains the second VxLAN message based on the first identifier and the first load. The second gateway sends the second VxLAN message to the second VxLAN.
6. The method according to claim 5, wherein, The second identifier of each VxLAN includes a location portion and a function portion, wherein the location portion is the routing address of the second gateway and the function portion is the first identifier of the VxLAN; The second gateway determines the first identifier based on the second identifier, including: The second gateway obtains the first identifier from the second identifier.
7. The method according to claim 5, wherein, The second VxLAN message is the same as the first VxLAN message.
8. The method according to claim 1, wherein, The first gateway processes the first VxLAN packet in the second manner, including: The first gateway performs 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.
9. The method according to claim 8, wherein, The segmented routing identifier of the second gateway in the path carries an instruction to instruct the upstream node of the second gateway to delete the packet header before sending the SRv6 packet to the second gateway.
10. A message processing apparatus, located at a first gateway, comprising: The receiving module is configured to receive a first VxLAN message from a first virtual scalable local area network (VxLAN) within a first domain, the first VxLAN message including a first identifier and a first payload of a second VxLAN within a second domain; The processing module is configured to process the first VxLAN message to obtain a segmented routing SRv6 message, the SRv6 message including a second identifier of the second VxLAN, the first load and a path from the first gateway to the second gateway, the path including a first set of segmented routing identifiers; The sending module is configured to send the SRv6 message to the IPv6 network, such that the second gateway sends a second VxLAN message including the first identifier and the first payload to the second VxLAN according to the second identifier, wherein the SRv6 message is forwarded in the IPv6 network according to the path. The processing module is configured as follows: If the number of segmented route identifiers in the first group of segmented route identifiers is greater than a preset threshold, the first gateway processes the first VxLAN packet in the first manner. If the number is not greater than the preset threshold, the first gateway processes the first VxLAN packet in a second manner, wherein the size of the SRv6 packet obtained by processing in the second manner is greater than the size of the SRv6 packet obtained by processing in the first manner, and the time for processing in the second manner is less than the time for processing in the first manner.
11. A message processing apparatus, located at a first gateway, comprising: Memory; as well as A processor coupled to the memory is configured to execute the method of any one of claims 1-4, 8, and 9 based on instructions stored in the memory.
12. A communication system, comprising: The first gateway includes the message processing device as described in claim 10 or 11; and The second gateway is configured to send the second VxLAN message to the second VxLAN based on the second identifier.
13. A computer-readable storage medium comprising computer program instructions, wherein, When the computer program instructions are executed by the processor, they implement the method described in any one of claims 1-9.