Communication method, device and communication system

By determining the inter-network address translation rules and using address mapping page tables in the gateway device, many-to-one mapping of heterogeneous network addresses is realized, address space occupation in heterogeneous networks is solved, and network performance and flexibility are improved.

CN119232699APending Publication Date: 2024-12-31HUAWEI TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202311160032.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-06-29
Filing Date
2023-09-07
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

In heterogeneous network interoperability scenarios, implementing many-to-one mapping between different network addresses to reduce excessive occupation of address space is still an urgent problem.

Method used

By determining the communication address conversion rules between networks in the gateway device, using the pre-configured address mapping page table and address offset information, the address of the first network protocol is mapped to the address of the second network protocol, and the scheduling algorithm is used in the first network protocol. The second network determines the computing node that can provide services to realize protocol conversion and address mapping of packets.

Benefits of technology

It realizes many-to-one mapping between heterogeneous network addresses, reduces the use of address space, supports large bandwidth, flexible and scalable network topology, reduces application communication delay, and reduces system implementation and deployment burden.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119232699A_ABST
    Figure CN119232699A_ABST
Patent Text Reader

Abstract

The invention discloses a communication method, device and system, and relates to the technical field of communication. The method can be applied to a first gateway device, the first gateway device is located in a first network, at least one computing node in the first network adopts a first network protocol to realize interconnection, and the method comprises the following steps: determining a communication address conversion rule between the first network and a second network, at least one computing node in the second network adopts a second network protocol to realize interconnection; receiving a first message from a first computing node in the second network; mapping a first address carried in a first message to a second address according to the communication address conversion rule; performing protocol conversion on the first message based on the second address and a second network protocol to obtain a second message; and sending a second message to a second computing node in the first network. According to the method, many-to-one mapping among heterogeneous network addresses is realized, and excessive occupation of address space is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims the priority of the Chinese patent application filed with the State Intellectual Property Office on June 29, 2023, with application number 202310785858.2 and application name “A Data Transmission Method”, all contents of which are incorporated by reference in this application. Technical Field

[0002] The present application relates to the field of communication technology, and in particular to a communication method, device and communication system. Background Art

[0003] With the development of science and technology, network structures are becoming increasingly complex, and the development and design requirements of applications (APPs) are gradually developing towards features such as high concurrency and low latency of input / output (IO), such as high-performance computing applications and big data analysis applications. These requirements have also put forward higher requirements for the corresponding business systems. For example, in the scenario of heterogeneous network interconnection, it is necessary to implement many-to-one mapping between network addresses using different network protocols to reduce excessive occupation of address space. How to implement many-to-one mapping between different network addresses is still an important problem that needs to be solved urgently. Summary of the invention

[0004] The embodiments of the present application provide a communication method and a communication system for implementing many-to-one mapping between heterogeneous network addresses and reducing excessive occupation of address space.

[0005] In a first aspect, an embodiment of the present application provides a communication method, which can be implemented by a first gateway device, wherein the first gateway device is located in a first network, and at least one computing node in the first network uses a first network protocol to achieve interconnection. The method may include: determining a communication address conversion rule between the first network and the second network, and at least one computing node in the second network uses a second network protocol to achieve interconnection; receiving a first message from a first computing node in the second network; mapping a first address carried in the first message to a second address according to the communication address conversion rule; performing protocol conversion on the first message based on the second address and the first network protocol to obtain a second message; and sending the second message to a second computing node in the first network.

[0006] In combination with the first aspect, in a possible implementation method, determining the communication address conversion rules between the first network and the second network includes: receiving a third message from the first computing node, wherein the third message includes first indication information, and the first indication information is used to indicate address offset information; based on the first indication information, determining the communication address conversion rules between the first network and the second network.

[0007] In combination with the first aspect, in a possible implementation method, mapping the first address carried in the first message to the second address according to the communication address conversion rule includes: mapping the first address carried in the first message to the second address according to a pre-configured address mapping page table and the address offset information, wherein a first mapping relationship is recorded in the address mapping page table, and the first mapping relationship is used to characterize the mapping relationship between different public network addresses using the first network protocol and different public network addresses using the second network protocol.

[0008] In combination with the first aspect, in a possible implementation method, if different public network addresses of the first network protocol are used to associate with the same first service, the method may also include: using any of the following scheduling algorithms to determine a computing node that can provide the first service in the second network as the second computing node: a first-in-first-out scheduling algorithm; a polling scheduling algorithm or a lowest load first scheduling algorithm.

[0009] In combination with the first aspect, in a possible implementation manner, the method may further include: acquiring address mapping information input or selected in the management platform, and establishing the address mapping page table based on the address mapping information.

[0010] In combination with the first aspect, in a possible implementation manner, if the first address cannot be mapped to the second address, the method further includes: discarding the first message.

[0011] In combination with the first aspect, in a possible implementation manner, the method may further include: reconfiguring the address mapping page table based on the discarded first message.

[0012] In combination with the first aspect, in a possible implementation, the method may also include: receiving a fourth message from the second computing node; mapping a fourth address carried in the fourth message to a fifth address, wherein the fourth address corresponds to the first network protocol and the fifth address corresponds to the second network protocol; performing protocol conversion on the fourth message based on the fifth address and the second network protocol to obtain a fifth message; and sending the fifth message to the first computing node.

[0013] In combination with the first aspect, in a possible implementation manner, the second network protocol includes an Ethernet protocol / Internet Protocol (IP) protocol, and the first network protocol includes a unified bus (UB) protocol.

[0014] In combination with the first aspect, in a possible implementation, one of the at least one computing node in the second network includes any of the following types: a bare metal server, a virtual machine, a container, a lightweight container, or a serverless server.

[0015] In the second aspect, an embodiment of the present application provides a communication device, wherein the communication address is located in a first network, and at least one computing node in the first network adopts a first network protocol to achieve interconnection, and the communication device includes: a determination unit, used to determine a communication address conversion rule between the first network and the second network, and at least one computing node in the second network adopts a second network protocol to achieve interconnection; a communication interface, used to receive a first message from a first computing node in the second network; a mapping unit, used to map a first address carried in the first message to a second address according to the communication address conversion rule; a conversion unit, used to perform protocol conversion on the first message based on the second address and the first network protocol to obtain a second message; the communication interface is used to send the second message to the second computing node in the first network.

[0016] In combination with the second aspect, in a possible implementation method, the determination unit is specifically used to: receive a third message from the first computing node, wherein the third message includes first indication information, and the first indication information is used to indicate address offset information; determine the communication address conversion rules between the first network and the second network based on the first indication information.

[0017] In combination with the second aspect, in a possible implementation method, the mapping unit is specifically used to: map the first address carried in the first message to the second address according to a pre-configured address mapping page table and the address offset information, wherein a first mapping relationship is recorded in the address mapping page table, and the first mapping relationship is used to characterize the mapping relationship between different public network addresses using the first network protocol and different public network addresses using the second network protocol.

[0018] In combination with the second aspect, in a possible implementation method, if different public network addresses of the first network protocol are used to associate with the same first service, the device also includes: a scheduling unit, used to use any of the following scheduling algorithms to determine a computing node that can provide the first service in the second network as the second computing node: a first-in-first-out scheduling algorithm; a polling scheduling algorithm or a lowest load first scheduling algorithm.

[0019] In combination with the second aspect, in a possible implementation manner, the device further includes: an acquisition unit, configured to acquire address mapping information input or selected in the management platform, and establish the address mapping page table based on the address mapping information.

[0020] In combination with the second aspect, in a possible implementation manner, if the first address cannot be mapped to the second address, the mapping unit is further used to discard the first message.

[0021] In combination with the second aspect, in a possible implementation manner, the device may further include: an updating unit, configured to reconfigure the address mapping page table based on the discarded first message.

[0022] In combination with the second aspect, in a possible implementation, the communication interface is also used to receive a fourth message from the second computing node; the mapping unit is also used to map a fourth address carried in the fourth message to a fifth address, wherein the fourth address corresponds to the first network protocol and the fifth address corresponds to the second network protocol; the conversion unit is also used to perform protocol conversion on the third message based on the fifth address and the second network protocol to obtain a fifth message; the communication interface is also used to send the fifth message to the first computing node.

[0023] In combination with the second aspect, in a possible implementation manner, the second network protocol includes an Ethernet protocol / Internet Protocol (IP) protocol, and the first network protocol includes a unified bus (UB) protocol.

[0024] In combination with the second aspect, in a possible implementation, one of the at least one computing node in the second network includes any of the following types: a bare metal server, a virtual machine, a container, a lightweight container, or a serverless server.

[0025] In the third aspect, an embodiment of the present application also provides a communication system, including a first computing node, a first gateway device, and a second computing node, the first computing node is located in a second network, and at least one computing node in the second network adopts a second network protocol to achieve interconnection, the second computing node and the first gateway device are located in the first network, and at least one computing node in the first network adopts a first network protocol to achieve interconnection, wherein the first gateway device is used to determine the communication address conversion rule between the first network and the second network; the first computing node is used to send a first message to the first gateway device; the first gateway device is used to receive the first message, map the first address carried in the first message to a second address according to the communication address conversion rule, perform protocol conversion on the first message based on the second address and the first network protocol to obtain a second message, and send the second message to the second computing node, wherein the first address corresponds to the second network protocol, and the second address corresponds to the first network protocol; the second computing node is used to receive the second message.

[0026] In a fourth aspect, an embodiment of the present application provides a computer program product comprising instructions, which, when executed by a computing device cluster, enables the computing device cluster to execute the method described in the first aspect and any possible design of the first aspect.

[0027] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, comprising computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster executes the method described in the first aspect and any possible design of the first aspect.

[0028] In a sixth aspect, an embodiment of the present application provides a computing device cluster, comprising at least one computing device, each computing device comprising a processor and a memory; the processor of the at least one computing device is used to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method described in the first aspect above and any possible design of the first aspect.

[0029] Based on the implementations provided in the above aspects, the embodiments of the present application can be further combined to provide more implementations.

[0030] The technical effects that can be achieved by any possible implementation method in any of the second to sixth aspects mentioned above can be correspondingly referred to the description of the technical effects that can be achieved by any possible implementation method in any of the first to second aspects mentioned above, and the repetitions will not be discussed here. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] Figure 1 A schematic diagram showing the structure of a communication system to which the embodiments of the present application are applicable is shown;

[0032] Figure 2 A schematic diagram showing a flow chart of a communication method according to an embodiment of the present application is shown;

[0033] Figure 3 A schematic diagram of a negotiation message according to an embodiment of the present application is shown;

[0034] Figure 4 A schematic diagram of a negotiation message in an RDMA scenario according to an embodiment of the present application is shown;

[0035] Figure 5 A schematic diagram showing the structure of a heterogeneous network in an embodiment of the present application is shown;

[0036] Figure 6 A schematic diagram of an IP message according to an embodiment of the present application is shown;

[0037] Figure 7 A schematic diagram showing a flow chart of a communication method according to an embodiment of the present application is shown;

[0038] Figure 8 A schematic diagram showing the structure of a communication device according to an embodiment of the present application is shown;

[0039] Fig. 9 A schematic diagram of the structure of a communication device according to an embodiment of the present application is shown. DETAILED DESCRIPTION

[0040] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0041] The embodiments of the present application provide a communication method and a communication system for realizing many-to-one mapping between heterogeneous network addresses, reducing excessive occupation of address space, and also helping to realize a large-bandwidth, flexible and scalable network topology, reducing application communication latency, and reducing the burden of system implementation and deployment. Among them, the method and the device are based on the same technical concept. Since the principles of the method and the device for solving problems are similar, the implementation of the device and the method can refer to each other, and the repetitions will not be repeated. In addition, in the various embodiments of the present application, if there is no special explanation and logical conflict, the terms and / or descriptions between the various embodiments are consistent and can be referenced to each other, and the technical features in different embodiments can be combined to form a new embodiment according to their inherent logical relationships.

[0042] It should be noted that in the embodiments of the present application, "at least one" refers to one or more, and "more than one" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, a and b, a and c, b and c, or a and b and c, where a, b, c can be single or multiple.

[0043] Furthermore, unless otherwise specified, the ordinal numbers such as "first" and "second" mentioned in the embodiments of the present application are used to distinguish multiple objects, and are not used to limit the priority or importance of multiple objects. For example, the first gateway and the second gateway are only used to distinguish gateways of different networks, rather than indicating the difference in priority or importance of the two gateways. For example, in some embodiments, the first gateway and the second gateway may be the same gateway.

[0044] The following is a detailed description with reference to the accompanying drawings and embodiments.

[0045] Figure 1 A schematic diagram of the architecture of a communication system to which the embodiments of the present application are applicable is shown.

[0046] See also Figure 1 As shown, the communication system 100 may include at least one network system (or network domain), for example, represented as network 10_1, network 10_2, network 10_3, etc., and each network system may be interconnected through a gateway device.

[0047] Each network system may include at least one computing node, such as computing nodes 20_1, 20_2, and 20_3 in network 10_1, computing nodes 20_4, 20_5, and 20_6 in network 10_2, and computing nodes 20_7, 20_8, and 20_9 in network 10_3. Each computing node may include, but is not limited to, any of the following types: bare metal servers, virtual machines, containers, lightweight containers, or serverless servers, and may be used to provide at least one service (or business), including but not limited to rendering services, video encoding and decoding services, machine learning services, security services, artificial intelligence (AI) services, high performance computing (HPC) services, storage services, or network services.

[0048] In an optional implementation, each computing node in the at least one network system may use the same network protocol. When different network systems need to communicate, the computing node as the source end may send a request message to the gateway device, and the gateway device will forward the request message to the computing node as the target end. After processing the request message, the target computing node will also feed back a response message to the source computing node.

[0049] For example, if the computing node 20_1 in the network 10_1 needs to accelerate computing power with the help of the computing node 20_7 in the network 10_3, the computing node 20_1 can send a request message. The gateway device can receive the request message from the computing node 20_1, and forward the request message to the computing node 20_7 according to the destination address carried in the request message. After receiving the request message, the computing node 20_7 processes the request message using its own computing power facilities, and then feeds back a response message to the gateway device and the computing node 20_1.

[0050] As the network structure becomes increasingly complex, in another optional implementation, Figure 1 Different network systems in a network can adopt different network protocols to achieve heterogeneous network interconnection.

[0051] For example, network 10_1 may use network protocol A, network 10_2 may use network protocol A, and network 10_3 may use network protocol B. Or, for example, network 10_1 may use network protocol A, network 10_2 may use network protocol B, and network 10_3 may use network protocol B. Or, for example, network 10_1 may use network protocol A, network 10_2 may use network protocol B, and network 10_3 may use network protocol C.

[0052] When achieving interconnection and interoperability of heterogeneous networks, the gateway device needs to map the communication address of one network protocol to the communication address of another network protocol. As the network load increases, in order to reduce the excessive occupation of the address space, it is necessary to implement many-to-one mapping between network addresses.

[0053] For example, the industry has designed a new unified bus (UB) protocol to meet the needs of high bandwidth and low latency, in order to reconstruct the system bus architecture based on high-speed physical and link layer technologies and network technology, to achieve a high-bandwidth, flexible and scalable network topology, reduce application communication latency, and reduce the burden of system implementation and deployment. The characteristics of the UB protocol make it possible for the system architecture using the UB protocol to replace the Ethernet protocol / Internet protocol (IP) protocol to improve the overall performance of the system. However, the system architecture using the UB protocol also needs to implement many-to-one mapping between network addresses to reduce excessive occupation of address space.

[0054] Figure 2 The flow chart of the communication method of the embodiment of the present application is shown. Figure 1 The gateway device shown is implemented. In a specific implementation, the gateway device can be an independent device, or it can be logically divided into a first gateway device deployed in network 10_1, a second gateway device deployed in network 10_2, and a third gateway device deployed in network 10_3. The embodiment of the present application does not limit this product form. For ease of description, the first network refers to network 10_1 and the second network refers to 10_2. At least one computing node in the first network can be interconnected using a first network protocol, and at least one computing node in the second network can be interconnected using a second network protocol. The first gateway device can be used to assist in the interconnection between different computing nodes of the first network and different computing nodes of the second network.

[0055] See also Figure 2 As shown, the communication method may include the following steps:

[0056] S210: The first gateway device determines a communication address conversion rule between the first network and the second network.

[0057] For example, the first gateway device may determine the communication address conversion rule based on a negotiation message received from the second network.

[0058] The negotiation message is represented by a third message. When S210 is specifically implemented, the first gateway device can receive a third message from the first computing node in the second network. The third message can include first indication information, and the first indication information can be used to indicate address offset information. The first gateway device can determine the communication address conversion rule between the first network and the second network based on the first indication information.

[0059] like Figure 3 As shown, the third message may encapsulate a link layer header, a network layer header, message type information, and a payload (e.g., user data). The payload may include, for example, a protocol message header, which may include, but is not limited to, a length of a set of keys (including at least one key), a message type (type) to be converted, a source address, and a destination address, etc. The payload may also include at least one key and the starting position information of the at least one key, and the at least one key may be used as address offset information required for subsequent communication with the first computing node.

[0060] Exemplarily, the starting position information can be indicated in the form of an offset and a byte length. The specific values ​​of the n keys and the corresponding specific values ​​of the return key can be configured by the first computing node, and can be a fixed value or an optional value. n is an integer greater than or equal to 1. The embodiment of the present application does not limit the key configuration method.

[0061] like Figure 4As shown, taking the third message implemented as a Remote Direct Memory Access (RDMA) message as an example, it can be agreed that the length of each key is fixed, and the number of keys in the protocol message header of the message can indirectly indicate the length of a group of keys. The message type to be converted can be UDP, the source address (SIP) can be 111.111.111.222, and the destination address (DIP) can be 111.111.111.111. The offset value is 12, and the length value is 6, indicating that 6 bytes of content need to be read from the 12th byte of the payload to obtain the required key value. The key can be expressed in hexadecimal, for example, key = 0x15, return key = 0x16. The first gateway device can establish session information for key = 0x15 in a static manner (for example, a session record in the session table described below), and the return key of the session = 0x16. In subsequent communications with the first computing node, the first gateway device can perform subsequent address mapping and message conversion processes based on the session information.

[0062] S220: The first gateway device receives a first message from the first computing node.

[0063] In the embodiment of the present application, the first computing node may be located in the second network, and at least one computing node in the second network is interconnected using the second network protocol. The first gateway device may be located in the first network.

[0064] If the first computing node has an access requirement to the first network, the first computing node can encapsulate the first message according to the public network address (i.e., the destination IP address (Destination IP Address, DIP)) announced by the destination computing node to be accessed, and send the first message. The first message will first arrive at the first gateway device located at the boundary of the second network. The first gateway device can receive and parse the first message.

[0065] For example, Figure 5 As shown, the second network can be an Ethernet / IP network domain, and the second network protocol can be an Ethernet / IP network protocol, such as an IPv4 network protocol or an IPv6 network protocol. Different computing nodes (such as servers) in the second network can achieve intra-domain communication through an IPv4 network protocol or an IPv6 network protocol. The first network and the second network are heterogeneous networks, the first network can be a UB network domain, and the first network protocol can be a UB protocol. Different computing nodes (such as servers) in the first network can achieve intra-domain communication through an UB network protocol. In other optional implementations, the first network protocol / second network protocol can also be other types of communication protocols, which is not limited in the embodiments of the present application.

[0066] S230: The first gateway device maps the first address carried in the first message to the second address according to the communication address conversion rule.

[0067] In an embodiment of the present application, the first message may be a request message, such as a computing power acceleration request message from a first computing node.

[0068] The first address corresponds to the second network protocol. Taking the second network protocol as the IP protocol as an example, the first message is an IP message, and the first address can be an IP address, for example, including a source IP address and a destination IP address, carried in the header of the first message, such as Figure 6 shown.

[0069] In an optional implementation, the first gateway device may be pre-configured with an address mapping page table. When implementing S230, the first gateway device may map the first address carried in the first message to the second address based on the address mapping page table and the address offset information obtained when implementing S210, so as to access resources in the first network using the second address. The address mapping table may record a first mapping relationship, which may be used to characterize the mapping relationship between different public network addresses using the first network protocol and different public network addresses using the second network protocol.

[0070] Taking the first network as an example, in the data center of the UB native private network, external services across the UB network can be provided for access by external clients. In the deployment stage of the UB network, different computing nodes (such as servers) in the same network can be divided based on the granularity of the service. For example, a group (or cluster) can be formed by at least one server in the UB network to jointly provide a service, that is, different public network addresses can be associated with the same first service. The administrator can identify at least one service that can be provided by the UB network (for example, represented as the first service) in an address format recognized by an external client (for example, a client deployed on the first computing node), so that the public network address of the external client is bound to at least one service that can be provided by the UB network. The administrator can configure the address mapping information by input or selection through the management platform, and provide the address mapping information to the outside. The first gateway device can obtain the address mapping information input or selected in the management platform, and establish an address mapping page table based on the address mapping information. The address mapping page table can record a first mapping relationship, which can be used to characterize the mapping relationship between different public network addresses using the first network protocol and the first service provided by the UB network (specifically, it can be a service port or a UB private network address associated with the service). When an external client sends a request to the UB network, the first gateway device can map the public network address carried in the request to a specific service by looking up a table, and use the available resources in the UB network to provide the external client with the corresponding service.

[0071] Exemplarily, the address mapping page table may be as shown in Table 1 below:

[0072] Table 1

[0073]

[0074]

[0075] It should be understood that Table 1 is only an example of the UB private network address associated with the service port / service, the external public network address, and the mapping relationship between the two, and is not intended to be limiting. In some embodiments, the mapping relationship between the external public network address and the UB private network address associated with the service port / service may be N:1, where N is an integer greater than or equal to 1.

[0076] If the first address carried in the first message can hit the external public network address in Table 1 as a key, the address conversion process can be entered, that is, the first address is converted into a second address associated with the external public network address, such as UB EID.

[0077] If the first address carried in the first message cannot hit the external public network address in Table 1 as a key, that is, the first address cannot be mapped to the second address, then the first gateway device can discard the first message according to the exception processing, that is, discard the service access that the first gateway device cannot recognize. At the same time, the first gateway device can also trigger the update process of the address mapping page table. For example, the first gateway device reconfigures the address mapping page table based on the discarded first message to further improve the network types supported by the first network.

[0078] S240: The first gateway device performs protocol conversion on the first message based on the second address and the first network protocol to obtain a second message.

[0079] In a specific implementation, the address information carried in the first message is not limited to one type. For example, an IP message can carry both a source IP address and a destination IP address. Therefore, the first address carried in the first message may not be limited to one address. The first gateway device can combine a set of keys (keys) according to the previously determined communication address conversion rules and different fields in the first message, and query the address flow session table entry based on the set of keys. If the session table exists, the conversion from the first address to the second address is implemented according to the content in the session table. If the session table does not exist, the first gateway device can also trigger the establishment of a session table for this message traffic, as well as a corresponding action (action).

[0080] Exemplarily, the content of the session table may be as follows:

[0081] 1) TCP / UDP scenario:

[0082] The session information includes: Key: the source IP address (SIP) of the message traffic, DIP, a set of dynamic keys;

[0083] Action: SIP←→SEID (take from SEID configuration address pool, N:1 mapping), DIP←→DEID (DEID and DIP are mapped one by one), add a set of dynamic keys.

[0084] 2) RDMA scenario:

[0085] Session information includes: Key: SIP, DIP of message traffic, a set of dynamic keys;

[0086] Action: SIP←→SEID (take from SEID configuration address pool, N:1 mapping), DIP←→DEID (DEID and DIP are mapped one by one), add a set of dynamic keys, and strip the message UDP header.

[0087] The SEID configuration address pool is the UB private network address associated with the service port or service pre-configured in Table 1 above, and multiple different public network addresses can be mapped to the same SEID.

[0088] If the first gateway device queries the content of the session table of the TCP / UDP scenario 1) above based on the SIP, DIP, and a group of dynamic keys carried in the first message, then when implementing S240, the first gateway device can convert the SIP using the second network protocol (indicated by the symbols "←→") to the SEID using the first network protocol, and convert the DIP using the second network protocol to the DEID using the first network protocol according to the action recorded in the content of the session table, and at the same time add a group of dynamic keys in the third message to achieve a many-to-one mapping between network addresses.

[0089] If the first gateway device queries the above 2) based on the SIP, DIP and a group of dynamic keys in the third message carried in the first message

[0090] If the content of the session table of the RDMA scenario is used, when implementing S240, the first gateway device can convert SIP into SEID, convert DIP into DEID, add a set of dynamic keys, and strip the message UDP header according to the action recorded in the session table content.

[0091] The first gateway device can perform conversion processing according to the content of the above session table, re-encapsulate the content contained in the first message to convert it into a UB message, and fill in the destination address of the new message, such as DEID, in the UB message to encapsulate and obtain the second message.

[0092] S250: The first gateway device sends the second message to the second computing node in the first network.

[0093] For example, the first network is a UB network, and at least one computing node provides the same service, such as at least one public network address is associated with the same first service. The first gateway device can use any of the following scheduling algorithms to determine the computing node that can provide the first service in the second network as the second computing node: first-in-first-out scheduling algorithm; polling scheduling algorithm or lowest load first scheduling algorithm. The embodiment of the present application does not limit the service scheduling method in this second network.

[0094] After processing the second message, the second computing node may also feed back a response message to the first computing node. Figure 7 As shown, the feedback process may include the following steps:

[0095] The second computing node encapsulates the fourth message using the address in the address pool, queries the route in the first network domain, and sends the message to the first gateway device.

[0096] S710: The first gateway device receives a fourth message from the second computing node.

[0097] S720: The first gateway device maps the fourth address carried in the fourth message to the fifth address according to the communication address conversion rule, wherein the fourth address corresponds to the first network protocol and the fifth address corresponds to the second network protocol. Similar to S230, the first gateway device performs a query by querying the address mapping table and the address offset information recorded in the session table. If the DEID carried in the fourth message hits the address mapping table, the address conversion process is entered. Otherwise, the fourth message is discarded.

[0098] S730: The first gateway device performs protocol conversion on the fourth message based on the fifth address and the second network protocol to obtain a fifth message.

[0099] In specific implementation, if the second network adopts IP network protocol, the first gateway device can query the address flow session table according to the combination of fields in the fourth message as the group key, and reversely convert the EID to the IP address. If the session table is not hit, the fourth message is discarded.

[0100] Exemplarily, the content of the session table may be as follows:

[0101] 1) TCP / UDP scenario:

[0102] Key: SEID, DEID of message traffic, a set of dynamic keys;

[0103] Action: SEID←→SIP (SEID and SIP are configured with 1:1 mapping), DEID←→DIP (DEID and DIP N:1 mapping, configured in the address pool), add a set of dynamic keys.

[0104] 2) RDMA scenario:

[0105] Key: message flow SEID, DEID, a set of dynamic keys;

[0106] Action: SEID←→SIP (SEID and SIP are configured with 1:1 mapping), DEID←→DIP (DEID and DIP N:1 mapping, configured in the address pool), add a set of dynamic keys, and take out the UDP header port in the table to encapsulate the UDP message.

[0107] It should be understood that the content of the session table described here is the same as the content of the session table introduced in conjunction with S430 above, and will not be repeated here.

[0108] S740: The first gateway device sends the fifth message, ie, the response message, to the first computing node.

[0109] In the above communication method, when interconnecting and interoperating between heterogeneous networks, a group of dynamic keys required for this session can be first negotiated through protocol messages, so that in subsequent multiple interactions, a many-to-one mapping between heterogeneous network addresses can be achieved based on the group of keys, while achieving interconnection and interoperability of heterogeneous networks, reducing excessive occupation of address space. It should be understood that the above method embodiments are only introduced using UB networks and Ethernet / IP networks as examples. In other embodiments, similar methods can also be used to achieve interconnection and interoperability between other types of network architectures, which will not be repeated here. Therefore, through the above method, by setting a special EID address in the UB domain to represent the external network, setting an IP host address / network segment in the IP network domain to represent a certain network domain, and adding a gateway device in the UB network domain to achieve conversion between different network addresses, interconnection and interoperability between heterogeneous networks is achieved, thereby achieving a large bandwidth, flexible and scalable network topology, reducing application communication delays, and reducing the burden of system implementation and deployment.

[0110] The embodiment of the present application also provides a communication device for executing the method executed by the first gateway device in the above method embodiment. The relevant features can be found in the above method embodiment and will not be repeated here.

[0111] like Figure 8 As shown, the communication device 800 may include: a determination unit 801, used to determine the communication address conversion rule between the first network and the second network, at least one computing node in the second network uses the second network protocol to achieve interconnection; a communication interface 802, used to receive a first message from a first computing node in the second network; a mapping unit 803, used to map the first address carried in the first message to a second address according to the communication address conversion rule; a conversion unit 804, used to perform protocol conversion on the first message based on the second address and the first network protocol to obtain a second message; the communication interface 802 is used to send the second message to the second computing node in the first network. For specific implementation methods, please refer to the method steps implemented by the first device in the above method embodiment, which will not be repeated here.

[0112] It should be understood that the division of the units in the above device is only a division of logical functions, and in actual implementation, they can be fully or partially integrated into one physical entity, or they can be physically separated. In addition, the units in the device can be implemented in the form of a processor calling software; for example, the device includes a processor, the processor is connected to a memory, and instructions are stored in the memory. The processor calls the instructions stored in the memory to implement any of the above methods or realize the functions of the units of the device, wherein the processor is, for example, a general-purpose processor, such as a central processing unit (CPU) or a microprocessor, and the memory is a memory inside the device or a memory outside the device. Alternatively, the units in the device can be implemented in the form of hardware circuits, and the functions of some or all of the units can be realized by designing the hardware circuits, and the hardware circuits can be understood as one or more processors; for example, in one implementation, the hardware circuit is an application-specific integrated circuit (ASIC), and the functions of some or all of the above units are realized by designing the logical relationship of the components in the circuit; for another example, in another implementation, the hardware circuit can be realized by a programmable logic device (PLD), taking a field programmable gate array (FPGA) as an example, which can include a large number of logic gate circuits, and the connection relationship between the logic gate circuits is configured by a configuration file, so as to realize the functions of some or all of the above units. All units of the above devices can be realized in the form of a processor calling software, or in the form of a hardware circuit, or in part by a processor calling software, and the rest by a hardware circuit.

[0113] In the embodiment of the present application, the processor is a circuit with signal processing capability. In one implementation, the processor can be a circuit with instruction reading and running capability, such as a CPU, a microprocessor, a graphics processing unit (GPU) (which can be understood as a microprocessor), or a digital signal processor (DSP), etc.; in another implementation, the processor can realize certain functions through the logical relationship of the hardware circuit, and the logical relationship of the hardware circuit is fixed or reconfigurable, such as a hardware circuit implemented by an ASIC or PLD, such as an FPGA. In a reconfigurable hardware circuit, the processor loads a configuration document to implement the process of hardware circuit configuration, which can be understood as the process of the processor loading instructions to implement the functions of some or all of the above units. In addition, it can also be a hardware circuit designed for artificial intelligence, which can be understood as an ASIC, such as a neural network processing unit (Neural Network Processing Unit, NPU) tensor processing unit (Tensor Processing Unit, TPU), deep learning processing unit (Deep learning Processing Unit, DPU), etc.

[0114] It can be seen that each unit in the above device can be one or more processors (or processing circuits) configured to implement the above method, such as: CPU, GPU, NPU, TPU, DPU, microprocessor, DSP, ASIC, FPGA, or a combination of at least two of these processor forms.

[0115] In addition, all or part of the units in the above device can be integrated together, or can be implemented independently. In one implementation, these units are integrated together and implemented in the form of a system-on-a-chip (SOC). The SOC may include at least one processor for implementing any of the above methods or implementing the functions of each unit of the device. The type of the at least one processor may be different, for example, including a CPU and an FPGA, a CPU and an artificial intelligence processor, a CPU and a GPU, etc.

[0116] In a simple embodiment, those skilled in the art can imagine that the communication devices in the above embodiments can all be used Fig. 9 The computing device is shown in the form of a.

[0117] like Fig. 9 The device 900 shown includes at least one processor 910 and a communication interface 930. In an optional design, a memory 920 may also be included.

[0118] The specific connection medium between the processor 910 and the memory 920 is not limited in the embodiment of the present application.

[0119] In such Fig. 9 In the device, the processor 910 can transmit data through the communication interface 930 when communicating with other devices.

[0120] When the communication device uses Fig. 9 When the form shown is Fig. 9 The processor 910 in the apparatus 900 can call the computer-executable instructions stored in the memory 920 so that the apparatus 900 can execute any of the above method embodiments.

[0121] An embodiment of the present application also relates to a chip system, which includes a processor for calling a computer program or computer instructions stored in a memory so that the processor executes the method of any of the above embodiments.

[0122] In a possible implementation manner, the processor may be coupled to the memory through an interface.

[0123] In a possible implementation, the chip system may also directly include a memory, in which a computer program or computer instructions are stored.

[0124] For example, the memory may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct rambus RAM (DRRAM).

[0125] An embodiment of the present application also relates to a processor, which is used to call a computer program or computer instruction stored in a memory so that the processor executes the method described in any of the above embodiments.

[0126] For example, in the embodiment of the present application, the processor is an integrated circuit chip with signal processing capabilities. For example, the processor can be an FPGA, a general-purpose processor, a DSP, an ASIC or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, a system chip (system on chip, SoC), a CPU, a network processor (network processor, NP), a microcontroller (microcontroller unit, MCU), a PLD or other integrated chip, and can implement or execute the methods, steps and logic block diagrams disclosed in the embodiment of the present application. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiment of the present application can be directly embodied as a hardware decoding processor to perform, or the hardware and software modules in the decoding processor are combined and performed. The software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in a memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.

[0127] It should be understood that the embodiments of the present application may be provided as methods, systems, or computer program products.

[0128] In a possible implementation, an embodiment of the present application provides a computer-readable storage medium, which stores a program code. When the program code runs on the computer, the computer executes the above method embodiment.

[0129] In a possible implementation, an embodiment of the present application provides a computer program product. When the computer program product is run on a computer, the computer is enabled to execute the above method embodiment.

[0130] Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.

[0131] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0132] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0133] Obviously, those skilled in the art can make various changes and modifications to the embodiments of the present application without departing from the scope of the embodiments of the present application. Thus, if these modifications and variations of the embodiments of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these changes and variations. In the various embodiments of the present application, if there is no special explanation and logical conflict, the terms and / or descriptions between the various embodiments are consistent and can be referenced to each other, and the technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationships.

Claims

1. A communication method, characterized in that: The method is applied to a first gateway device, the first gateway device is located in a first network, at least one computing node in the first network is interconnected using a first network protocol, and the method includes: Determine a communication address translation rule between the first network and the second network, wherein at least one computing node in the second network is interconnected using a second network protocol; Receiving a first message from a first computing node in the second network; According to the communication address conversion rule, mapping the first address carried in the first message to a second address; Based on the second address and the first network protocol, perform protocol conversion on the first message to obtain a second message; Send the second message to a second computing node in the first network.

2. The method according to claim 1, characterized in that The determining of a communication address conversion rule between the first network and the second network includes: receiving a third message from the first computing node, wherein the third message includes first indication information, and the first indication information is used to indicate address offset information; A communication address conversion rule between the first network and the second network is determined according to the first indication information.

3. The method according to claim 2, characterized in that The mapping, according to the communication address conversion rule, of the first address carried in the first message to the second address includes: According to a pre-configured address mapping page table and the address offset information, the first address carried in the first message is mapped to the second address, wherein a first mapping relationship is recorded in the address mapping page table, and the first mapping relationship is used to characterize the mapping relationship between different public network addresses using the first network protocol and different public network addresses using the second network protocol.

4. The method according to claim 3, characterized in that If different public network addresses of the first network protocol are used to associate with the same first service, the method further includes: Any one of the following scheduling algorithms is used to determine, in the second network, a computing node that can provide the first service as the second computing node: First-in-first-out scheduling algorithm; polling scheduling algorithm or lowest load first scheduling algorithm.

5. The method according to claim 3 or 4, characterized in that: The method further comprises: The address mapping information input or selected in the management platform is acquired, and the address mapping page table is established based on the address mapping information.

6. The method according to any one of claims 1 to 5, characterized in that If the first address cannot be mapped to the second address, the method further includes: The first message is discarded.

7. The method according to claim 6, characterized in that The method further comprises: Based on the discarded first message, the address mapping page table is reconfigured.

8. The method according to any one of claims 1 to 7, characterized in that The method further comprises: receiving a fourth message from the second computing node; According to the communication address conversion rule, mapping the fourth address carried in the fourth message to a fifth address, wherein the fourth address corresponds to the first network protocol and the fifth address corresponds to the second network protocol; Based on the fifth address and the second network protocol, performing protocol conversion on the fourth message to obtain a fifth message; Send the fifth message to the first computing node.

9. The method according to any one of claims 1 to 8, characterized in that The second network protocol includes the Ethernet protocol / Internet IP protocol, and the first network protocol includes the unified bus UB protocol.

10. The method according to any one of claims 1 to 9, characterized in that One of the at least one computing node in the second network includes any of the following types: a bare metal server, a virtual machine, a container, a lightweight container, or a serverless server.

11. A communication device, characterized in that: The communication device is located in a first network, at least one computing node in the first network is interconnected using a first network protocol, and the communication device includes: A determination unit, configured to determine a communication address translation rule between a first network and a second network, wherein at least one computing node in the second network is interconnected using a second network protocol; A communication interface, configured to receive a first message from a first computing node in the second network; A mapping unit, configured to map the first address carried in the first message to a second address according to the communication address conversion rule; a conversion unit, configured to perform protocol conversion on the first message based on the second address and the first network protocol to obtain a second message; The communication interface is used to send the second message to a second computing node in the first network.

12. A communication system, characterized in that: The method comprises a first computing node, a first gateway device, and a second computing node, wherein the first computing node is located in a second network, at least one computing node in the second network is interconnected using a second network protocol, the second computing node and the first gateway device are located in a first network, and at least one computing node in the first network is interconnected using a first network protocol, wherein: The first gateway device is used to determine a communication address conversion rule between the first network and the second network; The first computing node is used to send a first message to the first gateway device; The first gateway device is used to receive the first message, map the first address carried in the first message to a second address according to the communication address conversion rule, perform protocol conversion on the first message based on the second address and the first network protocol to obtain a second message, and send the second message to the second computing node, wherein the first address corresponds to the second network protocol, and the second address corresponds to the first network protocol; The second computing node is used to receive the second message.

13. A computer program product comprising instructions, characterized in that When the instructions are executed by a computing device cluster, the computing device cluster executes the method according to any one of claims 1 to 10.

14. A computer-readable storage medium, characterized in that: The method comprises computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster performs the method according to any one of claims 1 to 10.

15. A computing device cluster, characterized in that: comprising at least one computing device, each computing device comprising a processor and a memory; The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • Operating-level network address conversion method, operating-level network address conversion equipment and network system

    CN102957754A

  • Method, device, equipment and system for obtaining mapping rule and readable storage medium

    CN114513485A

  • Message transmission method and communication device

    CN115701063A