CN117714233B - Method, computer equipment and medium for tunnel message encapsulation - Google Patents
Method, computer equipment and medium for tunnel message encapsulation Download PDFInfo
- Publication number
- CN117714233B CN117714233B CN202410157702.4A CN202410157702A CN117714233B CN 117714233 B CN117714233 B CN 117714233B CN 202410157702 A CN202410157702 A CN 202410157702A CN 117714233 B CN117714233 B CN 117714233B
- Authority
- CN
- China
- Prior art keywords
- tunnel
- message
- network
- neighbor table
- address resolution
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000005538 encapsulation Methods 0.000 title claims abstract description 63
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000004044 response Effects 0.000 claims abstract description 36
- 230000005540 biological transmission Effects 0.000 claims abstract description 16
- 238000004590 computer program Methods 0.000 claims description 14
- 230000005641 tunneling Effects 0.000 claims description 9
- 238000012217 deletion Methods 0.000 claims description 6
- 230000037430 deletion Effects 0.000 claims description 6
- 238000011161 development Methods 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 description 63
- 238000012545 processing Methods 0.000 description 25
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000004806 packaging method and process Methods 0.000 description 9
- 208000000044 Amnesia Diseases 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 231100000863 loss of memory Toxicity 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000002195 synergetic effect Effects 0.000 description 5
- 230000032683 aging Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 206010063385 Intellectualisation Diseases 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The application relates to the technical field of computers and provides a method, computer equipment and a medium for tunnel message encapsulation. The method comprises the following steps: in response to the updating of the transport network layer neighbor table, the virtual switch uses the updated table to synchronously update tunnel-related network protocol addresses of a plurality of tunnels in the tunnel neighbor table; responding to the tunnel message encapsulation of the inner layer message and the tunnel message transmission through the first tunnel, and obtaining a destination physical address corresponding to a destination network protocol address included in the outer layer message by inquiring a local address resolution protocol table; when the inquiry is successful, the destination physical address is utilized for encapsulation, when the inquiry fails, the message is cached, an address resolution protocol request is sent, and when the corresponding address resolution protocol response is not received in the message life cycle, the cached message is cleaned. Thus, the success rate of tunnel message encapsulation is improved, zero packet loss is realized, network delay is reduced, and network transmission performance is improved.
Description
Technical Field
The present application relates to the field of computer technologies, and in particular, to a method, a computer device, and a medium for tunnel packet encapsulation.
Background
The development of cloud computing and data centers is applied to network virtualization, isolation between a physical network layer and a virtual network layer is realized by using a tunneling technology, a plurality of virtual networks are created on the basis of the existing physical network, and automation and intellectualization of the data centers are realized. In the prior art, tunnel packet encapsulation and tunnel packet transmission are performed by using a tunnel technology, packet loss may be caused by address resolution, namely, packet loss may occur under the condition of low traffic, thus requiring retransmission, which is not beneficial to improving network performance and reducing delay.
Therefore, the application provides a method, computer equipment and medium for tunnel message encapsulation, which are used for solving the technical problems in the prior art.
Disclosure of Invention
In a first aspect, the present application provides a method for tunneling packet encapsulation. The method comprises the following steps: in response to an update of a transport network layer neighbor table, the virtual switch synchronously updates tunnel-related network protocol addresses of a plurality of tunnels in a tunnel neighbor table of the virtual switch using the updated transport network layer neighbor table; responding to the inner layer message for tunnel message encapsulation and the tunnel message transmission through a first tunnel in the plurality of tunnels, and obtaining a destination physical address corresponding to a destination network protocol address included in the outer layer message by inquiring a local address resolution protocol table relative to the virtual switch, wherein the tunnel related network protocol address of the first tunnel comprises the destination network protocol address; and when the local address resolution protocol table query fails, caching the inner layer message and sending an address resolution protocol request to the destination network protocol address, and when an address resolution protocol response corresponding to the address resolution protocol request is not received in a message life cycle associated with the inner layer message, clearing the cached inner layer message.
By a first aspect of the present application, two update mechanisms are provided that operate independently of each other, the first update mechanism being: in response to an update of a transport network layer neighbor table, the virtual switch synchronously updates tunnel-related network protocol addresses of a plurality of tunnels in a tunnel neighbor table of the virtual switch using the updated transport network layer neighbor table; the second update mechanism is: responding to the inner layer message for tunnel message encapsulation and tunnel message transmission through a first tunnel in the tunnels, acquiring a destination physical address corresponding to a destination network protocol address included in the outer layer message by inquiring a local address resolution protocol table relative to the virtual switch, caching the inner layer message and transmitting an address resolution protocol request to the destination network protocol address when the local address resolution protocol table is failed in inquiring, and clearing the cached inner layer message when an address resolution protocol response corresponding to the address resolution protocol request is not received in a message life cycle associated with the inner layer message. It should be appreciated that the first update mechanism and the second update mechanism operate independently of each other and act in concert. Under the synergistic effect of the two updating mechanisms, the loss of the first packet can be avoided, the forwarding efficiency of the first packet of the tunnel is improved, the quantity of the first packet needing to be cached can be reduced, the loss of memory resources and processing flows is reduced, the success rate of tunnel message encapsulation is improved, zero packet loss is realized, and the network delay and the network transmission performance are also reduced.
In a possible implementation manner of the first aspect of the present application, the updating of the transport network layer neighbor table includes actively polling whether the tunnel-related network protocol addresses of the plurality of tunnels in the tunnel neighbor table exist corresponding to the physical address.
In a possible implementation manner of the first aspect of the present application, the method further includes: after the virtual switch synchronously updates the tunnel-related network protocol addresses of the tunnels in the tunnel neighbor table of the virtual switch by using the updated transport network layer neighbor table, the virtual switch updates the tunnel-related network protocol addresses in the address resolution protocol table of the kernel by using the updated transport network layer neighbor table.
In a possible implementation manner of the first aspect of the present application, the kernel is configured to: based on all network protocol addresses in the address resolution protocol table of the kernel, an address resolution protocol request is sent to all network protocol addresses in the address resolution protocol table of the kernel so as to update the tunnel related network protocol addresses in the address resolution protocol table of the kernel and the non-tunnel related network protocol addresses in the address resolution protocol table of the kernel.
In a possible implementation manner of the first aspect of the present application, the transport network layer neighbor table includes at least one entry for indicating a correspondence between a network protocol address and a physical address, the updated transport network layer neighbor table includes a new entry with respect to the at least one entry, wherein the virtual switch synchronously updates tunnel related network protocol addresses of the plurality of tunnels in the tunnel neighbor table of the virtual switch with the updated transport network layer neighbor table, and includes: and the virtual switch updates the tunnel related network protocol addresses of the tunnels in the tunnel neighbor table of the virtual switch by using the newly added table entry in the updated transport network layer neighbor table.
In a possible implementation manner of the first aspect of the present application, the updating of the transport network layer neighbor table is based at least on tunnel creation and tunnel deletion of the plurality of tunnels.
In a possible implementation manner of the first aspect of the present application, the updating of the transport network layer neighbor table is at least further based on whether a network protocol address corresponding to the tunnel to be added is present in the transport network layer neighbor table.
In a possible implementation manner of the first aspect of the present application, the virtual switch uses the updated transport network layer neighbor table to synchronously update the tunnel related network protocol addresses of the plurality of tunnels in the tunnel neighbor table of the virtual switch, so as to reduce the probability of failure in querying the local address resolution protocol table.
In a possible implementation manner of the first aspect of the present application, the method further includes: when the address resolution protocol response corresponding to the address resolution protocol request is received in the message life cycle associated with the inner layer message, updating the local address resolution protocol table by utilizing the address resolution protocol response, and carrying out tunnel message encapsulation on the cached inner layer message to obtain the tunnel message.
In a possible implementation manner of the first aspect of the present application, the inner layer packet includes an inner layer ethernet packet header, an inner layer network protocol address header, and a payload.
In a possible implementation manner of the first aspect of the present application, the tunnel message format of the tunnel message is a virtual extended lan, a network virtualization generic routing encapsulation or a generic network virtualization encapsulation.
In a possible implementation manner of the first aspect of the present application, the virtual switch is an open virtual switch, or a combination of an open virtual switch and a data plane development suite.
In a second aspect, embodiments of the present application further provide a computer device, the computer device including a memory, a processor, and a computer program stored on the memory and executable on the processor, the processor implementing a method according to any one of the implementations of any one of the above aspects when the computer program is executed.
In a third aspect, embodiments of the present application also provide a computer-readable storage medium storing computer instructions that, when run on a computer device, cause the computer device to perform a method according to any one of the implementations of any one of the above aspects.
In a fourth aspect, embodiments of the present application also provide a computer program product comprising instructions stored on a computer-readable storage medium, which when run on a computer device, cause the computer device to perform a method according to any one of the implementations of any one of the above aspects.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for the description of the embodiments will be briefly described below, and it is obvious that the drawings in the following description are some embodiments of the present application, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a schematic diagram of a tunnel packet enclosure;
Fig. 2 is a flow chart of a method for tunnel packet encapsulation according to an embodiment of the present application;
fig. 3 is a schematic structural diagram of a computing device according to an embodiment of the present application.
Detailed Description
Embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
It should be understood that in the description of the application, "at least one" means one or more than one, and "a plurality" means two or more than two. In addition, the words "first," "second," and the like, unless otherwise indicated, are used solely for the purposes of description and are not to be construed as indicating or implying a relative importance or order.
Fig. 1 is a schematic diagram of a tunnel packet encapsulation. As shown in fig. 1, network device a 112 located in network a 110 sends tunnel messages to network device B122 located in network B120 through tunnel 130. Here, the tunnel message is obtained by performing tunnel message encapsulation on the original message based on the tunnel technology and is used for performing tunnel message transmission through the tunnel. By utilizing the tunnel technology, a physical network consisting of physical equipment and physical links can be isolated from a virtual network, a plurality of virtual networks can be created on the basis of the physical network, and the problem that private networks cannot be communicated through public networks or heterogeneous networks cannot be directly communicated can be solved. One way of tunneling packet encapsulation is by means of a generic routing encapsulation protocol (Generic Routing Encapsulation, GRE) for encapsulating packets using one routing protocol in packets of another protocol. For example, network a 110 and network B120 shown in fig. 1 may be two lans employing new versions of internet protocols, but a third party network connecting network a 110 and network B120 may employ old versions of internet protocols, tunneling techniques such as the generic routing encapsulation protocol may be used to encapsulate packets of data applicable to the new versions of internet protocols in packets applicable to the old versions of internet protocols, and then the encapsulated packets are passed through tunnel 130 for traffic. For another example, the network a 110 and the network B120 shown in fig. 1 may be two private networks and use private addresses, and the original packet of the network device a 112 located in the network a 110 may be added with the header of the public network and the public network address by using tunneling technology, such as a general routing encapsulation protocol, so that the traffic may be transmitted through the tunnel 130, and the header of the public network may be removed after the network device B122 located in the network B120 receives the traffic, and the like, to be restored to the original packet. In cloud computing and data center networks, open source virtual switches (OVSs) are typically utilized to provide data plane traffic forwarding for various virtualized devices, virtual functions. The virtual switch can support tunnel message encapsulation and tunnel message transmission of the original message, so that automation and intellectualization of the data center can be realized by creating a plurality of virtual networks and a common route encapsulation protocol under the condition of not modifying the existing physical network. Wherein, the sending end, for example, the network device a 112 located in the network a 110 shown in fig. 1, tunnels the original message, and then sends the tunnel message through the tunnel 130; the receiving end, for example, the network device B122 located in the network B120 shown in fig. 1, after receiving the packet, determines whether the packet is a tunnel packet, for example, a packet encapsulated by using a generic routing encapsulation protocol, and then may perform tunnel decapsulation through the corresponding tunnel portal, so as to restore the packet to the original packet. For the transmitting end, when the virtual switch sends an original message to be tunnel message encapsulated to the tunnel portal, if the address resolution protocol (Address Resolution Protocol, ARP) of the opposite end is not learned at this time, the original message may be discarded due to the address resolution problem, which may cause packet loss and require packet retransmission, which is not beneficial to improving network performance and reducing delay. The following describes in detail with reference to specific embodiments of the present application, how to improve success rate of tunnel packet encapsulation, achieve zero packet loss, and also reduce network delay and improve network transmission performance by using the method, the computer device, and the medium for tunnel packet encapsulation provided in the embodiments of the present application.
Fig. 2 is a flow chart of a method for tunnel packet encapsulation according to an embodiment of the present application. As shown in fig. 2, the method includes the following steps.
Step S210: in response to an update of the transport network layer neighbor table, the virtual switch synchronously updates tunnel-related network protocol addresses of a plurality of tunnels in a tunnel neighbor table of the virtual switch using the updated transport network layer neighbor table.
Step S220: and responding to the tunnel message encapsulation of the inner layer message and the tunnel message transmission through a first tunnel in the plurality of tunnels, and acquiring a destination physical address corresponding to a destination network protocol address included in the outer layer message by inquiring a local address resolution protocol table relative to the virtual switch, wherein the tunnel related network protocol address of the first tunnel comprises the destination network protocol address.
Step S230: and when the local address resolution protocol table is successfully queried, not caching the inner layer message, and carrying out tunnel message encapsulation on the inner layer message by utilizing the target physical address to obtain a tunnel message formed by the inner layer message and the outer layer message.
Step S240: and caching the inner layer message and sending an address resolution protocol request to the destination network protocol address when the local address resolution protocol table fails to inquire, and clearing the cached inner layer message when an address resolution protocol response corresponding to the address resolution protocol request is not received in a message life cycle associated with the inner layer message.
Referring to fig. 2, the method for encapsulating a tunnel packet shown in fig. 2 includes two update mechanisms that operate independently of each other, and under the synergistic effect of the two update mechanisms, the loss of the first packet can be avoided, the forwarding efficiency of the first packet of the tunnel is improved, the number of first packets that need to be cached can be reduced, and the loss of memory resources and processing flows can be reduced. Specifically, step S210 defines a first updating mechanism, in response to updating the transport network layer neighbor table, the virtual switch synchronously updates tunnel-related network protocol addresses of a plurality of tunnels in the tunnel neighbor table of the virtual switch using the updated transport network layer neighbor table. Here, each tunnel has a unique source network protocol (Internet Protocol, IP) address and destination network protocol address, and when tunnels with different destination network protocol addresses are created, a potential entry is newly added in the tunnel neighbor table for indicating the network protocol address and physical address, also called a media access control address (MEDIA ACCESS control address, MAC) address. In the network model, the third layer network layer is generally responsible for IP addresses, i.e. network protocol addresses, and the second layer data link layer is responsible for MAC addresses, i.e. physical addresses. Therefore, the correspondence between the IP address and the MAC address, that is, the correspondence between the network protocol address and the physical address, in the application of the tunneling technique, means that the encapsulation of the outer layer data is performed by the correct destination network protocol address on which each tunnel depends on the basis of the original message, which is the key of correctly performing tunnel message encapsulation. If the destination physical address of the outer layer is not found in the local address resolution protocol (Address Resolution Protocol, ARP) table or the local ARP neighbor table during tunnel packet encapsulation, the outer layer data encapsulation cannot be completed correctly, which may cause a problem of discarding the original packet, such as first packet discard. In this way, in response to the update of the transport network layer neighbor table, the virtual switch synchronously updates the tunnel-related network protocol addresses of the plurality of tunnels in the tunnel neighbor table of the virtual switch by using the updated transport network layer neighbor table, meaning that the virtual switch actively responds to the update of the transport network layer neighbor table and synchronously updates the tunnel neighbor table of the virtual switch, which means that when tunnel portals with different destination network protocol addresses are created, the virtual switch timely fills the newly added entries in the tunnel neighbor table with the physical address-related information (thus avoiding the problem that the virtual switch does not actively fill the entries with the physical address-related information), that is, timely updates the tunnel neighbor table to ensure that the correspondence between the network protocol addresses and the physical addresses therein can be used for correctly performing tunnel message encapsulation. In some embodiments, the updating of the tunnel-related network protocol addresses of the plurality of tunnels in the tunnel neighbor table of the virtual switch in response to an update of the transport network layer neighbor table is synchronized, and this updating mechanism may be performed in conjunction with a polling mechanism. The virtual switch can send address resolution protocol messages without corresponding physical address related information in all the table items through a polling mechanism, and complete information filling of the corresponding table items after receiving address resolution protocol responses. For example, it is possible to confirm whether or not a corresponding MAC exists each time after acquiring a tunnel IP, if not, send an ARP request packet and process an ARP response packet through the transceiving packet logic of the OVS, and if so, traverse the next tunnel IP according to a polling mechanism until the last tunnel IP. In some embodiments, the updating mechanism is used for synchronously updating the tunnel-related network protocol addresses of a plurality of tunnels in the tunnel neighbor table of the virtual switch in response to updating of the transport network layer neighbor table, and not only can the entry filling in the tunnel neighbor table be completed based on the ARP request sent by the OVS so as to complete updating of the tunnel neighbor table of the OVS, but also the tunnel neighbor table and the kernel neighbor table of the OVS can be synchronously updated at the same time. Therefore, the probability of failure in inquiring the outer physical address when the first packet is packaged in the tunnel message is greatly reduced, and the probability of successful completion of the tunnel message packaging is improved; the forwarding rate of the tunnel first packet is improved; the operation loss of updating the local address resolution protocol by the kernel message can be saved by synchronously updating the kernel neighbor table, so that the construction rate of the kernel head packet is effectively improved; because the update scope is limited to the tunnel-related network protocol addresses of the plurality of tunnels in the tunnel neighbor table of the virtual switch, compared with a mechanism of the kernel for updating the address resolution protocol of all network protocol addresses, the method has the advantages of small update scope and high execution efficiency.
With continued reference to fig. 2, steps S220 and S240 define another update mechanism (for purposes of illustration only, the first update mechanism may be referred to as the second update mechanism, where the first update mechanism and the second update mechanism operate independently and cooperatively with each other), and in response to tunneling an inner layer message and tunneling the message through the first tunnel of the plurality of tunnels, obtain a destination physical address corresponding to a destination network protocol address included in an outer layer message by querying a local address resolution protocol table of the virtual switch, where when the local address resolution protocol table fails, buffering the inner layer message and sending an address resolution protocol request to the destination network protocol address, and when an address resolution protocol response corresponding to the address resolution protocol request is not received within a message lifetime associated with the inner layer message, the buffered inner layer message is cleaned. Here, the tunnel-related network protocol address of the first tunnel includes the destination network protocol address. Thus, when the inner layer packet is encapsulated and the tunnel packet is sent through the first tunnel of the plurality of tunnels, it means that the outer layer data is encapsulated through the correct destination network protocol address relied on by each tunnel on the basis of the original packet (i.e., the inner layer packet), where the destination physical address corresponding to the destination network protocol address included in the outer layer packet is obtained by querying the local address resolution protocol table corresponding to the virtual switch. The local address resolution protocol table, i.e. the local ARP table, is local to the virtual switch, e.g. located on the same host or on the same server. If the destination physical address of the outer layer is not found in the local address resolution protocol table or the local ARP neighbor table during tunnel packet encapsulation, the outer layer data encapsulation cannot be completed correctly, in other words, if the physical address corresponding to the outer layer network protocol address is not found in the tunnel neighbor table of the virtual switch, the encapsulation of the packet header containing the physical address cannot be completed. Thus, for the case of query failure, this alternative update mechanism, in order to completely prevent the head packet from being dropped, proposes, at step S240: and caching the inner layer message and sending an address resolution protocol request to the destination network protocol address when the local address resolution protocol table fails to inquire, and clearing the cached inner layer message when an address resolution protocol response corresponding to the address resolution protocol request is not received in a message life cycle associated with the inner layer message. Thus, when the original message is packaged in the tunnel message, if the package including the physical address header cannot be completed because the physical address corresponding to the external network protocol address cannot be queried in the tunnel neighbor table, the virtual switch caches the original message and sends an ARP request packet to acquire the physical address. And after the required physical address is acquired, re-executing tunnel message packaging and forwarding operation on the original message in the cache. Meanwhile, by executing a timeout aging mechanism on the messages in the cache, the aging mechanism can clear the messages in the cache exceeding the set time aiming at the network unreachable scene. It should be understood that the second update mechanism means that, whenever the local address resolution protocol table fails to query, an address resolution protocol request needs to be sent, and in order to prevent the first packet from being discarded, an inner layer packet is buffered and a timeout aging mechanism is performed, that is, when the packet lifetime associated with the inner layer packet expires, a packet in the buffer, for which no corresponding address resolution protocol response has been received, is cleared. Therefore, by reducing the probability of the occurrence of query failure, the first packet is prevented from being discarded, so that the forwarding efficiency of the first packet of the tunnel is improved, and the number of the first packets needing to be cached is reduced, namely the loss of memory resources and processing flows is reduced. The first update mechanism mentioned above, that is, in response to the update of the transport network layer neighbor table, the virtual switch uses the updated transport network layer neighbor table to synchronously update the tunnel-related network protocol addresses of the plurality of tunnels in the tunnel neighbor table of the virtual switch. With the first updating mechanism, when tunnel ports with different destination network protocol addresses are created, the virtual switch timely fills the newly added entry in the tunnel neighbor table with the physical address related information (so that the problem that the virtual switch cannot actively fill the entry with the physical address related information is avoided), that is, the tunnel neighbor table is timely updated to ensure that the corresponding relationship between the network protocol address and the physical address can be used for correctly performing tunnel message encapsulation. Therefore, the probability of failure in inquiring the outer physical address when the first packet is packaged in the tunnel message is greatly reduced, and the probability of successful completion of the tunnel message packaging is improved; the forwarding rate of the tunnel first packet is improved. Therefore, by utilizing the first updating mechanism, the active ARP updating operation can be executed, and the requirements of tunnel service can be responded in time in a shorter triggering period; under the action of the first updating mechanism, the operation of the second updating mechanism, namely, the original message needing to execute the tunnel message encapsulation service, can greatly reduce the probability of failure in searching the MAC address according to the tunnel outer layer IP, which means that the probability of triggering the sending of an address resolution protocol request and the caching of an inner layer message in the second updating mechanism is effectively reduced, thereby improving the processing and forwarding efficiency of the tunnel first packet, and reducing the consumption of memory resources and processing flows by reducing the number of the first packet needing to be cached; under the cooperation of the first updating mechanism and the second updating mechanism, even if the condition of MAC searching fails, the received original message can be cached, then an ARP request is immediately sent out, and after ARP information is updated, the cached message is sent out, so that zero packet loss can be achieved under the condition of normal network conditions.
With continued reference to fig. 2, the second update mechanism described above includes performing a timeout aging mechanism on the cached packets, that is, clearing the cached inner packet when an address resolution protocol response corresponding to the address resolution protocol request is not received within a packet lifetime associated with the inner packet. Here, the timeout clearing message is directed to a case of network anomaly, for example, a case where a response is not obtained for a long time due to network congestion, link anomaly, or the like. These network anomalies may generally be considered as unreachable networks, and thus it is acceptable for packet loss to occur in such network anomalies, not because of packet loss caused by the processing mechanism. In addition, the overtime clear message can reserve enough waiting time, so that zero packet loss can be realized under the condition that the network condition is normal. In addition, based on the destination IP of the tunnel table, a mechanism for periodically checking and updating the tunnel neighbor table is provided, and the processing time of the first packet can be effectively reduced through the mechanism. Therefore, the processing mechanism of the tunnel message package is improved through the first updating mechanism and the second updating mechanism, and packet loss caused by address resolution problem is avoided. When the query is successful, that is, when the local address resolution protocol table is successfully queried, this means that the destination physical address corresponding to the destination network protocol address included in the outer layer packet is successfully obtained, and when the local address resolution protocol table is successfully queried, the inner layer packet is not cached, and the tunnel packet is encapsulated by using the destination physical address to obtain a tunnel packet composed of the inner layer packet and the outer layer packet in step S230; therefore, the support of tunnel message packaging and tunnel message sending of the original message is realized, and automation and intellectualization of the data center can be realized by creating a plurality of virtual networks and a common route packaging protocol under the condition of not modifying the existing physical network.
In summary, the method for tunnel packet encapsulation shown in fig. 2 includes two update mechanisms that operate independently of each other, the first update mechanism being: in response to an update of a transport network layer neighbor table, the virtual switch synchronously updates tunnel-related network protocol addresses of a plurality of tunnels in a tunnel neighbor table of the virtual switch using the updated transport network layer neighbor table; the second update mechanism is: responding to the inner layer message for tunnel message encapsulation and tunnel message transmission through a first tunnel in the tunnels, acquiring a destination physical address corresponding to a destination network protocol address included in the outer layer message by inquiring a local address resolution protocol table relative to the virtual switch, caching the inner layer message and transmitting an address resolution protocol request to the destination network protocol address when the local address resolution protocol table is failed in inquiring, and clearing the cached inner layer message when an address resolution protocol response corresponding to the address resolution protocol request is not received in a message life cycle associated with the inner layer message. It should be appreciated that the first update mechanism and the second update mechanism operate independently of each other and act in concert. Under the synergistic effect of the two updating mechanisms, the loss of the first packet can be avoided, the forwarding efficiency of the first packet of the tunnel is improved, the quantity of the first packet needing to be cached can be reduced, the loss of memory resources and processing flows is reduced, the success rate of tunnel message encapsulation is improved, zero packet loss is realized, and the network delay and the network transmission performance are also reduced.
In one possible implementation, the updating of the transport network layer neighbor table includes actively polling whether the respective tunnel-related network protocol addresses of the plurality of tunnels in the tunnel neighbor table exist for a corresponding physical address. Thus, by actively polling whether the corresponding physical addresses exist in the tunnel-related network protocol addresses of each of the plurality of tunnels in the tunnel neighbor table, the virtual switch can actively utilize the first updating mechanism to cooperate with the second updating mechanism on the basis that the virtual switch actively responds to the updating of the transport network layer neighbor table to synchronously update the tunnel neighbor table of the virtual switch, and the first updating mechanism is actively utilized to update the tunnel neighbor table in time to ensure the corresponding relation between the network protocol addresses and the physical addresses, and can timely fill the newly-added entries in the tunnel neighbor table with the physical address related information. Therefore, the probability of failure in inquiring the outer physical address when the first packet is packaged in the tunnel message is greatly reduced, and the probability of successful completion of the tunnel message packaging is improved; the forwarding rate of the tunnel first packet is improved.
In one possible embodiment, the method further comprises: after the virtual switch synchronously updates the tunnel-related network protocol addresses of the tunnels in the tunnel neighbor table of the virtual switch by using the updated transport network layer neighbor table, the virtual switch updates the tunnel-related network protocol addresses in the address resolution protocol table of the kernel by using the updated transport network layer neighbor table. In this way, the updated transport network layer neighbor table is utilized to synchronously update the tunnel neighbor table of the virtual switch and the address resolution protocol table of the kernel. By updating the tunnel-related network protocol address in the address resolution protocol table of the kernel, the operation loss of the kernel message for updating the local address resolution protocol can be saved, that is, the probability of the kernel initiating the operation for updating the local address resolution protocol because the tunnel-related network protocol address in the address resolution protocol table of the kernel needs to be updated can be reduced. In addition, considering that the kernel generally does not distinguish between the tunnel-related network protocol address in the address resolution protocol table of the kernel and other network protocol addresses, that is, non-tunnel-related network protocol addresses, when initiating the operation of updating the local address resolution protocol, compared with the mechanism of the kernel for updating the address resolution protocol of all network protocol addresses, the virtual switch uses the updated transport network layer neighbor table to update the tunnel-related network protocol address in the address resolution protocol table of the kernel, and has the advantages of small updating range and high execution efficiency. Therefore, the probability of failure in inquiring the outer physical address when the first packet is packaged in the tunnel message is greatly reduced, and the probability of successful completion of the tunnel message packaging is improved; the forwarding rate of the tunnel first packet is improved; the operation loss of updating the local address resolution protocol by the kernel message can be saved by synchronously updating the kernel neighbor table, so that the construction rate of the kernel head packet is effectively improved; because the update scope is limited to the tunnel-related network protocol addresses of the plurality of tunnels in the tunnel neighbor table of the virtual switch, compared with a mechanism of the kernel for updating the address resolution protocol of all network protocol addresses, the method has the advantages of small update scope and high execution efficiency.
In some embodiments, the kernel is configured to: based on all network protocol addresses in the address resolution protocol table of the kernel, an address resolution protocol request is sent to all network protocol addresses in the address resolution protocol table of the kernel so as to update the tunnel related network protocol addresses in the address resolution protocol table of the kernel and the non-tunnel related network protocol addresses in the address resolution protocol table of the kernel. Therefore, the probability of failure in inquiring the outer physical address when the first packet is packaged in the tunnel message is greatly reduced, and the probability of successful completion of the tunnel message packaging is improved; the forwarding rate of the tunnel first packet is improved; the operation loss of updating the local address resolution protocol by the kernel message can be saved by synchronously updating the kernel neighbor table, so that the construction rate of the kernel head packet is effectively improved; because the update scope is limited to the tunnel-related network protocol addresses of the plurality of tunnels in the tunnel neighbor table of the virtual switch, compared with a mechanism of the kernel for updating the address resolution protocol of all network protocol addresses, the method has the advantages of small update scope and high execution efficiency.
In one possible implementation manner, the transport network layer neighbor table includes at least one entry for indicating a correspondence between a network protocol address and a physical address, the updated transport network layer neighbor table includes a new entry with respect to the at least one entry, wherein the virtual switch synchronously updates tunnel related network protocol addresses of the plurality of tunnels in the tunnel neighbor table of the virtual switch with the updated transport network layer neighbor table, and includes: and the virtual switch updates the tunnel related network protocol addresses of the tunnels in the tunnel neighbor table of the virtual switch by using the newly added table entry in the updated transport network layer neighbor table. Thus, not only is the tunnel neighbor table updated in time to ensure the corresponding relation between the network protocol address and the physical address, but also the related information of the physical address can be filled in time for the newly added table entry in the tunnel neighbor table. Therefore, the probability of failure in inquiring the outer physical address when the first packet is packaged in the tunnel message is greatly reduced, and the probability of successful completion of the tunnel message packaging is improved; the forwarding rate of the tunnel first packet is improved. In some embodiments, the virtual switch uses the updated transport network layer neighbor table to synchronously update the tunnel-related network protocol addresses of the plurality of tunnels in the tunnel neighbor table of the virtual switch, and synchronously, or at least partially synchronously, the virtual switch uses the updated transport network layer neighbor table to update the tunnel-related network protocol addresses in the address resolution protocol table of the kernel, so that the operation loss of the kernel message update local address resolution protocol is saved, and the construction rate of the first packet of the kernel is effectively improved.
In one possible implementation, the updating of the transport network layer neighbor table is based at least on tunnel creation and tunnel deletion of the plurality of tunnels. The updating of the transport network layer neighbor table may be based on a variety of factors or due to a variety of circumstances. One of these is tunnel creation and tunnel deletion of the plurality of tunnels, such as creation of a new tunnel or deletion of an existing tunnel. When a network protocol address corresponding to a tunnel portal to be added does not exist in the tunnel neighbor table, the creation of the tunnel portal provides a new entry for the tunnel neighbor table. Multiple tunnels may share entries in the same tunnel neighbor table. Thus, updating the transport network layer neighbor table based at least on tunnel creation and tunnel deletion of the plurality of tunnels, whereby the virtual switch synchronously updates tunnel-related network protocol addresses of the plurality of tunnels in the tunnel neighbor table of the virtual switch with the updated transport network layer neighbor table utilizing a first update mechanism, i.e., in response to the update of the transport network layer neighbor table; therefore, the probability of failure in inquiring the physical address in the tunnel neighbor list when the newly-built tunnel portal is used for tunnel message encapsulation can be greatly reduced.
In some embodiments, the updating of the transport network layer neighbor table is further based at least on whether a network protocol address corresponding to a tunnel to be added is present in the transport network layer neighbor table. In this way, at least based on whether the network protocol address corresponding to the tunnel to be added exists in the transport network layer neighbor table, when the network protocol address corresponding to the tunnel to be added does not exist in the transport network layer neighbor table, updating the transport network layer neighbor table, and further using a first updating mechanism, that is, in response to updating of the transport network layer neighbor table, the virtual switch uses the updated transport network layer neighbor table to synchronously update the tunnel-related network protocol addresses of the plurality of tunnels in the tunnel neighbor table of the virtual switch; therefore, the probability of failure in inquiring the physical address in the tunnel neighbor list when the newly-built tunnel portal is used for tunnel message encapsulation can be greatly reduced.
In some embodiments, the virtual switch uses the updated transport network layer neighbor table to synchronously update tunnel-related network protocol addresses of the plurality of tunnels in the tunnel neighbor table of the virtual switch, thereby reducing the probability of failure of the local address resolution protocol table query. Thus, by two update mechanisms running independently of each other, the first update mechanism is: in response to an update of a transport network layer neighbor table, the virtual switch synchronously updates tunnel-related network protocol addresses of a plurality of tunnels in a tunnel neighbor table of the virtual switch using the updated transport network layer neighbor table; the second update mechanism is: responding to the inner layer message for tunnel message encapsulation and tunnel message transmission through a first tunnel in the tunnels, acquiring a destination physical address corresponding to a destination network protocol address included in the outer layer message by inquiring a local address resolution protocol table relative to the virtual switch, caching the inner layer message and transmitting an address resolution protocol request to the destination network protocol address when the local address resolution protocol table is failed in inquiring, and clearing the cached inner layer message when an address resolution protocol response corresponding to the address resolution protocol request is not received in a message life cycle associated with the inner layer message. It should be appreciated that the first update mechanism and the second update mechanism operate independently of each other and act in concert. Under the synergistic effect of the two updating mechanisms, the loss of the first packet can be avoided, the forwarding efficiency of the first packet of the tunnel is improved, the quantity of the first packet needing to be cached can be reduced, the loss of memory resources and processing flows is reduced, the success rate of tunnel message encapsulation is improved, zero packet loss is realized, and the network delay and the network transmission performance are also reduced.
In one possible embodiment, the method further comprises: when the address resolution protocol response corresponding to the address resolution protocol request is received in the message life cycle associated with the inner layer message, updating the local address resolution protocol table by utilizing the address resolution protocol response, and carrying out tunnel message encapsulation on the cached inner layer message to obtain the tunnel message. The timeout clearing message is aimed at the situation of network abnormality, such as the situation that the response is not obtained for a long time due to network congestion, link abnormality and the like. These network anomalies may generally be considered as unreachable networks, and thus it is acceptable for packet loss to occur in such network anomalies, not because of packet loss caused by the processing mechanism. In addition, the overtime clear message can reserve enough waiting time, so that zero packet loss can be realized under the condition that the network condition is normal. Therefore, the forwarding efficiency of the tunnel first packet is improved by preventing the first packet from being discarded.
In one possible implementation, the inner layer packet includes an inner layer ethernet packet header, an inner layer network protocol address header, and a payload. In one possible implementation, the tunnel message format of the tunnel message is a virtual extended local area network (Virtual eXtensible Local Area Network, VXLAN), a network virtualization generic routing encapsulation (Network Virtualization using Generic Routing Encapsulation, NVGRE) or a generic network virtualization encapsulation (Generic Network Virtualization Encapsulation, GENEVE). In one possible implementation, the virtual switch is an open virtual switch, or a combination of an open virtual switch and a data plane development suite. It should be understood that, the method, the computer device and the medium for tunnel packet encapsulation provided by the embodiment of the application can be suitable for application scenarios such as cloud computing and data centers, can be suitable for any suitable inner layer packet or packet encapsulation format of original packet, can also be suitable for any suitable tunnel packet format, and the virtual switch can adopt any suitable product or service, so long as the synergistic effect of the two update mechanisms running independently of each other is met, the loss of the first packet can be avoided, the forwarding efficiency of the first packet of the tunnel is improved, the number of first packets needing buffering can be reduced, the loss of memory resources and processing flows is reduced, the success rate of tunnel packet encapsulation is improved, zero packet loss is realized, and the network delay and network transmission performance are also reduced.
Fig. 3 is a schematic structural diagram of a computing device according to an embodiment of the present application, where the computing device 300 includes: one or more processors 310, a communication interface 320, and a memory 330. The processor 310, the communication interface 320 and the memory 330 are interconnected by a bus 340. Optionally, the computing device 300 may further include an input/output interface 350, where the input/output interface 350 is connected to an input/output device for receiving parameters set by a user, etc. The computing device 300 can be used to implement some or all of the functionality of the device embodiments or system embodiments of the present application described above; the processor 310 can also be used to implement some or all of the operational steps of the method embodiments described above in connection with the embodiments of the present application. For example, specific implementations of the computing device 300 performing various operations may refer to specific details in the above-described embodiments, such as the processor 310 being configured to perform some or all of the steps of the above-described method embodiments or some or all of the operations of the above-described method embodiments. For another example, in an embodiment of the present application, the computing device 300 may be configured to implement some or all of the functionality of one or more components of the apparatus embodiments described above, and the communication interface 320 may be configured to implement communication functions and the like necessary for the functionality of the apparatus, components, and the processor 310 may be configured to implement processing functions and the like necessary for the functionality of the apparatus, components.
It should be appreciated that the computing device 300 of fig. 3 may include one or more processors 310, and that the plurality of processors 310 may cooperatively provide processing power in a parallelized connection, a serialized connection, a serial-parallel connection, or any connection, or the plurality of processors 310 may constitute a processor sequence or processor array, or the plurality of processors 310 may be separated into primary and secondary processors, or the plurality of processors 310 may have different architectures such as employing heterogeneous computing architectures. In addition, the computing device 300 shown in FIG. 3, the associated structural and functional descriptions are exemplary and not limiting. In some example embodiments, computing device 300 may include more or fewer components than shown in fig. 3, or combine certain components, or split certain components, or have a different arrangement of components.
Processor 310 may take many specific forms, for example, processor 310 may include one or more combinations of a central processing unit (central processing unit, CPU), a graphics processor (graphic processing unit, GPU), a neural network processor (neural-network processing unit, NPU), a tensor processor (tensor processing unit, TPU), or a data processor (data processing unit, DPU), and embodiments of the present application are not limited in this respect. Processor 310 may also be a single-core processor or a multi-core processor. The processor 310 may be formed by a combination of a CPU and a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (programmable logic device, PLD), or a combination thereof. The PLD may be a complex programmable logic device (complex programmable logic device, CPLD), a field-programmable gate array (FPGA) GATE ARRAY, generic array logic (GENERIC ARRAY logic, GAL), or any combination thereof. Processor 310 may also be implemented solely with logic devices incorporating processing logic, such as an FPGA or Digital Signal Processor (DSP), etc. The communication interface 320 may be a wired interface, which may be an ethernet interface, a local area network (local interconnect network, LIN), etc., or a wireless interface, which may be a cellular network interface, or use a wireless lan interface, etc., for communicating with other modules or devices.
The memory 330 may be a nonvolatile memory such as a read-only memory (ROM), a Programmable ROM (PROM), an erasable programmable ROM (erasable PROM, EPROM), an electrically erasable programmable EPROM (EEPROM), or a flash memory. Memory 330 may also be volatile memory, which may be random access memory (random access memory, RAM) used as external cache memory. By way of example, and not limitation, many forms of RAM are available, such as static random access memory (STATIC RAM, SRAM), dynamic random access memory (DYNAMIC RAM, DRAM), synchronous Dynamic Random Access Memory (SDRAM), double data rate synchronous dynamic random access memory (double DATA RATE SDRAM, DDR SDRAM), enhanced synchronous dynamic random access memory (ENHANCED SDRAM, ESDRAM), synchronous link dynamic random access memory (SYNCHLINK DRAM, SLDRAM), and direct memory bus random access memory (direct rambus RAM, DR RAM). Memory 330 may also be used to store program code and data such that processor 310 invokes the program code stored in memory 330 to perform some or all of the operational steps of the method embodiments described above, or to perform corresponding functions in the apparatus embodiments described above. Moreover, computing device 300 may contain more or fewer components than shown in FIG. 3, or may have a different configuration of components.
Bus 340 may be a peripheral component interconnect express (per network protocol address heral component interconnect express, PCIe) bus, or an extended industry standard architecture (extended industry standard architecture, EISA) bus, a unified bus (unified bus, ubus or UB), a computer quick link (compute express link, CXL), a cache coherent interconnect protocol (cache coherent interconnect for accelerators, CCIX), or the like. The bus 340 may be divided into an address bus, a data bus, a control bus, and the like. The bus 340 may include a power bus, a control bus, a status signal bus, and the like in addition to a data bus. But is shown with only one bold line in fig. 3 for clarity of illustration, but does not represent only one bus or one type of bus.
The method and the device provided by the embodiment of the application are based on the same inventive concept, and because the principle of solving the problem by the method and the device is similar, the embodiment, the implementation, the example or the implementation of the method and the device can be mutually referred, and the repetition is not repeated. Embodiments of the present application also provide a system comprising a plurality of computing devices, each of which may be structured as described above. The functions or operations that may be implemented by the system may refer to specific implementation steps in the above method embodiments and/or specific functions described in the above apparatus embodiments, which are not described herein.
Embodiments of the present application also provide a computer-readable storage medium having stored therein computer instructions which, when executed on a computer device (e.g., one or more processors), implement the method steps of the method embodiments described above. The specific implementation of the processor of the computer readable storage medium in executing the above method steps may refer to specific operations described in the above method embodiments and/or specific functions described in the above apparatus embodiments, which are not described herein again.
It will be appreciated by those skilled in the art that embodiments of the present application may be provided as a method, system, or computer program product. The application can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Embodiments of the application may be implemented, in whole or in part, in software, hardware, firmware, or any other combination. When implemented in software, the above-described embodiments may be implemented in whole or in part in the form of a computer program product. The present application may take the form of a computer program product embodied on one or more computer-usable storage media having computer-usable program code embodied therein. The computer program product includes one or more computer instructions. When loaded or executed on a computer, produces a flow or function in accordance with embodiments of the present application, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by a wired (e.g., coaxial cable, fiber optic, digital subscriber line), or wireless (e.g., infrared, wireless, microwave, etc.). Computer readable storage media can be any available media that can be accessed by a computer or data storage devices, such as servers, data centers, etc. that contain one or more collections of available media. Usable media may be magnetic media (e.g., floppy disks, hard disks, tape), optical media, or semiconductor media. The semiconductor medium may be a solid state disk, or may be a random access memory, flash memory, read only memory, erasable programmable read only memory, electrically erasable programmable read only memory, register, or any other form of suitable storage medium.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. Each flow and/or block of the flowchart and/or block diagrams, and combinations of flows and/or blocks in the flowchart and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may 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, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks. These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks. These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In the foregoing embodiments, the descriptions of the embodiments are emphasized, and for parts of one embodiment that are not described in detail, reference may be made to the related descriptions of other embodiments. It will be apparent to those skilled in the art that various modifications and variations can be made to the embodiments of the present application without departing from the spirit or scope of the embodiments of the application. The steps in the method of the embodiment of the application can be sequentially adjusted, combined or deleted according to actual needs; the modules in the system of the embodiment of the application can be divided, combined or deleted according to actual needs. The present application is also intended to include such modifications and alterations if they come within the scope of the claims and the equivalents thereof.
Claims (14)
1. A method for tunneling packet encapsulation, the method comprising:
in response to an update of a transport network layer neighbor table, the virtual switch synchronously updates tunnel-related network protocol addresses of a plurality of tunnels in a tunnel neighbor table of the virtual switch using the updated transport network layer neighbor table;
responding to the inner layer message for tunnel message encapsulation and the tunnel message transmission through a first tunnel in the plurality of tunnels, and obtaining a destination physical address corresponding to a destination network protocol address included in the outer layer message by inquiring a local address resolution protocol table relative to the virtual switch, wherein the tunnel related network protocol address of the first tunnel comprises the destination network protocol address;
When the local address resolution protocol table is successfully queried, the inner layer message is not cached, and the inner layer message is subjected to tunnel message encapsulation by utilizing the destination physical address to obtain a tunnel message consisting of the inner layer message and the outer layer message,
And caching the inner layer message and sending an address resolution protocol request to the destination network protocol address when the local address resolution protocol table fails to inquire, and clearing the cached inner layer message when an address resolution protocol response corresponding to the address resolution protocol request is not received in a message life cycle associated with the inner layer message.
2. The method of claim 1, wherein the updating of the transport network layer neighbor table comprises actively polling whether the respective tunnel-related network protocol addresses of the plurality of tunnels in the tunnel neighbor table exist for a corresponding physical address.
3. The method according to claim 1, wherein the method further comprises:
After the virtual switch synchronously updates the tunnel-related network protocol addresses of the tunnels in the tunnel neighbor table of the virtual switch by using the updated transport network layer neighbor table, the virtual switch updates the tunnel-related network protocol addresses in the address resolution protocol table of the kernel by using the updated transport network layer neighbor table.
4. A method according to claim 3, wherein the kernel is configured to: based on all network protocol addresses in the address resolution protocol table of the kernel, an address resolution protocol request is sent to all network protocol addresses in the address resolution protocol table of the kernel so as to update the tunnel related network protocol addresses in the address resolution protocol table of the kernel and the non-tunnel related network protocol addresses in the address resolution protocol table of the kernel.
5. The method of claim 1, wherein the transport network layer neighbor table includes at least one entry for indicating a correspondence between network protocol addresses and physical addresses, the updated transport network layer neighbor table includes a new entry relative to the at least one entry, wherein the virtual switch synchronously updates tunnel-related network protocol addresses of the plurality of tunnels in the tunnel neighbor table of the virtual switch with the updated transport network layer neighbor table, comprising:
and the virtual switch updates the tunnel related network protocol addresses of the tunnels in the tunnel neighbor table of the virtual switch by using the newly added table entry in the updated transport network layer neighbor table.
6. The method of claim 1, wherein the updating of the transport network layer neighbor table is based at least on tunnel creation and tunnel deletion of the plurality of tunnels.
7. The method of claim 6, wherein the updating of the transport network layer neighbor table is further based at least on whether a network protocol address corresponding to a tunnel to be added is present in the transport network layer neighbor table.
8. The method of claim 7, wherein the virtual switch synchronously updates tunnel-related network protocol addresses of the plurality of tunnels in the tunnel neighbor table of the virtual switch with the updated transport network layer neighbor table, thereby reducing a probability of failure of the local address resolution protocol table query.
9. The method according to claim 1, wherein the method further comprises:
When the address resolution protocol response corresponding to the address resolution protocol request is received in the message life cycle associated with the inner layer message, updating the local address resolution protocol table by utilizing the address resolution protocol response, and carrying out tunnel message encapsulation on the cached inner layer message to obtain the tunnel message.
10. The method of claim 1, wherein the inner layer message comprises an inner layer ethernet message header, an inner layer network protocol address header, and a payload.
11. The method of claim 1, wherein the tunnel message format of the tunnel message is a virtual extended local area network, a network virtualization generic routing encapsulation, or a generic network virtualization encapsulation.
12. The method of claim 1, wherein the virtual switch is an open virtual switch, or a combination of an open virtual switch and a data plane development suite.
13. A computer device, characterized in that it comprises a memory, a processor and a computer program stored on the memory and executable on the processor, which processor implements the method according to any of claims 1 to 12 when executing the computer program.
14. A computer readable storage medium storing computer instructions which, when run on a computer device, cause the computer device to perform the method of any one of claims 1 to 12.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410157702.4A CN117714233B (en) | 2024-02-04 | 2024-02-04 | Method, computer equipment and medium for tunnel message encapsulation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410157702.4A CN117714233B (en) | 2024-02-04 | 2024-02-04 | Method, computer equipment and medium for tunnel message encapsulation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117714233A CN117714233A (en) | 2024-03-15 |
CN117714233B true CN117714233B (en) | 2024-04-19 |
Family
ID=90157274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410157702.4A Active CN117714233B (en) | 2024-02-04 | 2024-02-04 | Method, computer equipment and medium for tunnel message encapsulation |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117714233B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118264617B (en) * | 2024-05-31 | 2024-09-20 | 济南浪潮数据技术有限公司 | Method, system, equipment and storage medium for transmitting data of overlay network |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685528A (en) * | 2013-12-18 | 2014-03-26 | 北京奇虎科技有限公司 | Information displaying method and device |
CN114826826A (en) * | 2022-04-28 | 2022-07-29 | 北京金山云网络技术有限公司 | Network congestion information transmission method and device, public cloud network and electronic equipment |
WO2023011605A1 (en) * | 2021-08-06 | 2023-02-09 | 华为技术有限公司 | Mail download and query method in beidou communication system, and system and related apparatus |
CN116455991A (en) * | 2023-06-13 | 2023-07-18 | 珠海星云智联科技有限公司 | Tunnel encapsulation message checksum calculation method and related device |
-
2024
- 2024-02-04 CN CN202410157702.4A patent/CN117714233B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685528A (en) * | 2013-12-18 | 2014-03-26 | 北京奇虎科技有限公司 | Information displaying method and device |
WO2023011605A1 (en) * | 2021-08-06 | 2023-02-09 | 华为技术有限公司 | Mail download and query method in beidou communication system, and system and related apparatus |
CN114826826A (en) * | 2022-04-28 | 2022-07-29 | 北京金山云网络技术有限公司 | Network congestion information transmission method and device, public cloud network and electronic equipment |
CN116455991A (en) * | 2023-06-13 | 2023-07-18 | 珠海星云智联科技有限公司 | Tunnel encapsulation message checksum calculation method and related device |
Also Published As
Publication number | Publication date |
---|---|
CN117714233A (en) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117714233B (en) | Method, computer equipment and medium for tunnel message encapsulation | |
US11403227B2 (en) | Data storage method and apparatus, and server | |
US11489945B2 (en) | TCP packet processing method, toe component, and network device | |
CN110022264B (en) | Method for controlling network congestion, access device and computer readable storage medium | |
CN102055667B (en) | Methods and apparatus for configuring virtual network switch | |
US20240345988A1 (en) | Message forwarding method and apparatus based on remote direct data storage, and network card and device | |
CN106878184B (en) | Data message transmission method and device | |
WO2021139289A1 (en) | Packet sending method, routing table entry generation method, device, and storage medium | |
CN111740847B (en) | High-speed network data transmission system and method based on FPGA | |
WO2020073907A1 (en) | Method and apparatus for updating forwarding entry | |
CN113746749A (en) | Network connection device | |
CN109525518B (en) | IP message network address conversion method and device based on FPGA | |
CN113839862B (en) | Method, system, terminal and storage medium for synchronizing ARP information between MCLAG neighbors | |
CN116074131B (en) | Data processing method, intelligent network card and electronic equipment | |
WO2023273957A1 (en) | Computing power release method and apparatus, and computing power update method and apparatus | |
CN109120556B (en) | A kind of method and system of cloud host access object storage server | |
WO2019179161A1 (en) | Data traffic processing method, device and system | |
CN113098780B (en) | Message processing method of virtual network, electronic equipment and storage medium | |
US11436172B2 (en) | Data frame interface network device | |
CN113497767A (en) | Method and device for transmitting data, computing equipment and storage medium | |
CN117527731A (en) | Packet editing method, computer equipment and medium for hardware unloading | |
CN117527689B (en) | Stream table unloading method, system, device, cluster and medium | |
CN115225708B (en) | Message forwarding method computer equipment and storage medium | |
CN117714398B (en) | Data transmission system, method, electronic equipment and storage medium | |
CN110445721B (en) | Message forwarding method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |