WO2025001377A1 - Communication method and apparatus, and communication system - Google Patents
Communication method and apparatus, and communication system Download PDFInfo
- Publication number
- WO2025001377A1 WO2025001377A1 PCT/CN2024/084691 CN2024084691W WO2025001377A1 WO 2025001377 A1 WO2025001377 A1 WO 2025001377A1 CN 2024084691 W CN2024084691 W CN 2024084691W WO 2025001377 A1 WO2025001377 A1 WO 2025001377A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- network
- address
- message
- computing node
- protocol
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
Definitions
- the present application relates to the field of communication technology, and in particular to a communication method, device and communication system.
- the embodiments of the present application provide a communication method, an apparatus, and a communication system for implementing many-to-one mapping between heterogeneous network addresses and reducing excessive occupation of address space.
- 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.
- 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.
- 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.
- 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.
- 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.
- the method further includes: discarding the first message.
- the method may further include: reconfiguring the address mapping page table based on the discarded first message.
- the method may further 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; Convert to obtain a fifth message; and send the fifth message to the first computing node.
- the second network protocol includes an Ethernet protocol/Internet Protocol (IP) protocol
- the first network protocol includes a unified bus (UB) protocol.
- IP Ethernet protocol/Internet Protocol
- UB unified bus
- 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.
- 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.
- 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.
- 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.
- the device 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.
- 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.
- mapping unit is further used to discard the first message.
- the device may further include: an updating unit, configured to reconfigure the address mapping page table based on the discarded first message.
- 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.
- the second network protocol includes an Ethernet protocol/Internet Protocol (IP) protocol
- the first network protocol includes a unified bus (UB) protocol.
- IP Ethernet protocol/Internet Protocol
- UB unified bus
- 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.
- 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;
- 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.
- an embodiment of the present application provides a computer-readable storage medium, comprising computer program instructions.
- 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.
- 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.
- FIG2 is a schematic diagram showing a flow chart of a communication method according to an embodiment of the present application.
- FIG4 is a schematic diagram showing a negotiation message in an RDMA scenario according to an embodiment of the present application.
- FIG5 is a schematic diagram showing the structure of a heterogeneous network according to an embodiment of the present application.
- FIG7 is a schematic diagram showing a flow chart of a communication method according to an embodiment of the present application.
- FIG8 shows a schematic diagram of the structure of a communication device according to an embodiment of the present application.
- 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.
- 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.
- 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.
- 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.
- 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.
- first and second gateway are used to distinguish multiple objects, and are not used to limit the priority or importance of multiple objects.
- 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.
- the first gateway and the second gateway may be the same gateway.
- FIG1 shows a schematic diagram of the architecture of a communication system to which an embodiment of the present application is applicable.
- the communication system may include at least one network system (or network domain), such as network 10_1 , network 10_2 , network 10_3 , etc., and each network system may be interconnected through a gateway device.
- network system or network domain
- 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.
- AI artificial intelligence
- HPC high performance computing
- each computing node in the at least one network system may use the same network protocol.
- 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.
- 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.
- 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.
- different network systems in FIG. 1 may use different network protocols to achieve heterogeneous network interconnection.
- network 10_1 may use network protocol A
- network 10_2 may use network protocol A
- network 10_3 may use network protocol B
- network 10_1 may use network protocol A
- network 10_2 may use network protocol B
- network 10_3 may use network protocol B
- network 10_1 may use network protocol A
- network 10_2 may use network protocol B
- network 10_3 may use network protocol C.
- the gateway device 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.
- FIG2 shows a flow chart of the communication method of an embodiment of the present application.
- the method can be implemented by the gateway device shown in FIG1.
- 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.
- 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.
- the communication method may include the following steps:
- the first gateway device determines a communication address conversion rule between the first network and the second network.
- the first gateway device may determine the communication address conversion rule based on a negotiation message received from the second network.
- the negotiation message is represented by a third message.
- the first gateway device may receive a third message from the first computing node in the second network.
- the third message may include first indication information, and the first indication information may be used to indicate address offset information.
- the first gateway device may determine a communication address conversion rule between the first network and the second network based on the first indication information.
- 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, the length of a set of keys (including at least one key), the message type (type) to be converted, the source address, and the 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 the address offset information required for subsequent communication with the first computing node.
- the starting position information can be indicated in the form of offset and byte length.
- the specific value and the corresponding specific value of the return (reverse) key can be configured by the first computing node, can be a fixed value, or can be an optional value.
- n is an integer greater than or equal to 1. The embodiment of the present application does not limit the configuration method of the key.
- RDMA Remote Direct Memory Access
- the message type to be converted can be UDP
- the source address (SIP) can be 111.111.111.222
- 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 first gateway device receives a first message from the first computing node.
- 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.
- 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 reach the first gateway device located at the boundary of the second network.
- the first gateway device can receive and parse the first message.
- the second network can be an Ethernet/IP network domain
- 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 IPv4 network protocol or 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 the UB network protocol.
- the first network protocol/second network protocol can also be other types of communication protocols, which are not limited in the embodiments of the present application.
- the first gateway device maps the first address carried in the first message to the second address according to the communication address conversion rule.
- the first message may be a request message, such as a computing power acceleration request message from a first computing node.
- the first address corresponds to the second network protocol.
- the second network protocol is the IP protocol
- the first message is an IP message
- 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, as shown in FIG6 .
- the first gateway device may be pre-configured with an address mapping page table.
- 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.
- external services across the UB network can be provided for access by external clients.
- different computing nodes such as servers
- a group 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).
- 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.
- the address mapping page table may be as shown in Table 1 below:
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- the address information carried in the first message is not limited to one type.
- 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).
- the content of the session table may be as follows:
- Session information includes: Key: source IP address (SIP) of message traffic, DIP, a set of dynamic keys;
- SIP source IP address
- Session information includes: Key: SIP, DIP of message traffic, a set of dynamic keys;
- 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.
- the first gateway device queries the content of the session table of the TCP/UDP scenario in 1) based on the SIP, DIP, and a group of dynamic keys carried in the first message
- the first gateway device can convert the SIP using the second network protocol (with symbol Indicates) is a SEID using the first network protocol, converts the DIP using the second network protocol into a DEID using the first network protocol, and adds a set of dynamic keys in the third message to achieve a many-to-one mapping between network addresses.
- the first gateway device queries the content of the session table of the RDMA scenario 2) above based on the SIP, DIP carried in the first message and a set of dynamic keys in the third message, then when implementing S240, the first gateway device can convert SIP into SEID, convert DIP into DEID according to the action recorded in the content of the session table, add a set of dynamic keys, and strip the message UDP header.
- 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.
- the first gateway device sends the second message to the second computing node in the first network.
- the first network is a UB network
- 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.
- the second computing node After the second computing node processes the second message, it can also feed back a response message to the first computing node. As shown in FIG7 , the feedback process can include the following steps:
- 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.
- the first gateway device receives a fourth message from the second computing node.
- 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.
- 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.
- 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.
- the content of the session table may be as follows:
- the first gateway device sends the fifth message, ie, the response message, to the first computing node.
- 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.
- 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.
- 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.
- 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.
- 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
- 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.
- 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.
- CPU central processing unit
- microprocessor a microprocessor
- the units in the device may be implemented in the form of hardware circuits, and the functions of some or all of the units may be realized by designing the hardware circuits, and the hardware circuits may 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 may be realized by designing the logical relationship of the components within the circuit; for another example, in another implementation, the hardware circuit may be implemented by a programmable logic device (PLD), taking a field programmable gate array (FPGA) as an example, which may include a large number of logic gate circuits, and the connection relationship between the logic gate circuits may be configured by a configuration file, thereby realizing the functions of some or all of the above units.
- PLD programmable logic device
- FPGA field programmable gate array
- All units of the above devices may be implemented by a programmable logic device (PLD), and a field programmable gate array (FPGA) may be used as an example, and the connection relationship between the logic gate circuits may be configured by a configuration file, thereby realizing the functions of some or all of the above units.
- PLD programmable logic device
- FPGA field programmable gate array
- the element may be implemented entirely in the form of a processor calling software, or entirely in the form of a hardware circuit, or partially in the form of a processor calling software and the rest in the form of a hardware circuit.
- the processor is a circuit with signal processing capability.
- the processor may be a circuit with instruction reading and running capability, such as a CPU, a microprocessor, a graphics processing unit (GPU) (which may be understood as a microprocessor), or a digital signal processor (DSP), etc.; in another implementation, the processor may realize certain functions through the logical relationship of a hardware circuit, and the logical relationship of the hardware circuit may be fixed or reconfigurable, such as a hardware circuit implemented by an ASIC or PLD, such as an FPGA.
- the process of the processor loading a configuration document to implement the hardware circuit configuration may be understood as the process of the processor loading instructions to implement the functions of some or all of the above units.
- it may also be a hardware circuit designed for artificial intelligence, which may be understood as an ASIC, such as a neural network processing unit (NPU), a tensor processing unit (TPU), a deep learning processing unit (DPU), etc.
- NPU neural network processing unit
- TPU tensor processing unit
- 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.
- processors or processing circuits
- SOC system-on-a-chip
- 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.
- the communication devices in the above embodiments may all be in the form of a computing device as shown in FIG. 9 .
- the device 900 shown in Fig. 9 includes at least one processor 910 and a communication interface 930.
- a memory 920 may also be included.
- connection medium between the processor 910 and the memory 920 is not limited in the embodiment of the present application.
- the processor 910 may perform data transmission through the communication interface 930 when communicating with other devices.
- the processor 910 in FIG. 9 can call the computer-executable instructions stored in the memory 920 so that the device 900 can execute any of the above method embodiments.
- 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.
- the processor may be coupled to the memory through an interface.
- the chip system may also directly include a memory, in which a computer program or computer instructions are stored.
- the memory may be a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memory.
- the nonvolatile 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.
- RAM random access memory
- SRAM static RAM
- DRAM dynamic RAM
- SDRAM synchronous DRAM
- DDR SDRAM double data rate synchronous dynamic random access memory
- ESDRAM enhanced synchronous dynamic random access memory
- SLDRAM synchronous link dynamic random access memory
- DR RAM direct rambus RAM
- 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.
- the processor is an integrated circuit chip with signal processing capabilities.
- 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 on chip (SoC), a CPU, a network processor (NP), a microcontroller unit (MCU), a PLD or other integrated chip, which can implement or execute the methods, steps and logic diagrams disclosed in the embodiments of the present application.
- SoC system on chip
- a general-purpose processor can be a microprocessor.
- the processor or the processor may also be any conventional processor, etc.
- the steps of the method disclosed in the embodiment of the present application can be directly embodied as being executed by a hardware decoding processor, or can be executed by a combination of hardware and software modules in the decoding processor.
- the software module can be located in a mature storage medium in the art 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 the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.
- an embodiment of the present application provides a computer-readable storage medium, which stores a program code.
- the program code runs on the computer, the computer executes the above method embodiment.
- an embodiment of the present application provides a computer program product.
- the computer program product When the computer program product is run on a computer, the computer is enabled to execute the above method embodiment.
- the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware.
- 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.
- These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device that implements the functions specified in one or more processes in the flowchart and/or one or more boxes in the block diagram.
- These computer program instructions may also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, whereby the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and/or one or more boxes in the block diagram.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
相关申请的交叉引用CROSS-REFERENCE TO RELATED APPLICATIONS
本申请要求在2023年06月29日提交中华人民共和国国家知识产权局、申请号为202310785858.2、发明名称为“一种数据传输方法”的中国专利申请,本申请要求在2023年09月07日提交中华人民共和国国家知识产权局、申请号为202311160032.3、发明名称为“一种通信方法、装置和通信系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application filed with the State Intellectual Property Office of the People's Republic of China on June 29, 2023, with application number 202310785858.2 and invention name “A data transmission method”. This application claims the priority of the Chinese patent application filed with the State Intellectual Property Office of the People's Republic of China on September 7, 2023, with application number 202311160032.3 and invention name “A communication method, device and communication system”, all contents of which are incorporated by reference into this application.
本申请涉及通信技术领域,特别涉及一种通信方法、装置和通信系统。The present application relates to the field of communication technology, and in particular to a communication method, device and communication system.
随着科技的发展,网络结构日益复杂,应用程序(application,APP)的开发和设计需求也逐渐向具备输入/输出(Input/Output,IO)高并发、低时延等特性发展,例如高性能计算应用、大数据分析应用等。这些需求的提出,也对相应的业务系统提出了更高的要求。例如,在异构网络互通的场景中,需要实现采用不同网络协议的网络地址之间的多对一的映射,以减少对地址空间的过多占用。而如何实现不同网络地址之间的多对一的映射,仍为亟需解决的重要问题。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
本申请实施例提供一种通信方法、装置和通信系统,用于实现异构网络地址之间的多对一的映射,减少对地址空间的过多占用。The embodiments of the present application provide a communication method, an apparatus, and a communication system for implementing many-to-one mapping between heterogeneous network addresses and reducing excessive occupation of address space.
第一方面,本申请实施例提供了一种通信方法,该方法可由第一网关设备实现,该第一网关设备位于第一网络,该第一网络内的至少一个计算节点采用第一网络协议实现互联,该方法可以包括:确定第一网络与第二网络之间的通信地址转换规则,所述第二网络内的至少一个计算节点采用第二网络协议实现互联;接收来自第二网络内的第一计算节点的第一报文;根据所述通信地址转换规则,将所述第一报文中携带的第一地址映射到第二地址;基于所述第二地址和所述第一网络协议,对所述第一报文进行协议转换,得到第二报文;向所述第一网络内的第二计算节点发送所述第二报文。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.
结合第一方面,在一种可能的实现方式中,所述确定所述第一网络与第二网络之间的通信地址转换规则,包括:接收来自所述第一计算节点的第三报文,其中,所述第三报文中包括第一指示信息,所述第一指示信息用于指示地址偏移信息;根据所述第一指示信息,确定所述第一网络与第二网络之间的通信地址转换规则。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.
结合第一方面,在一种可能的实现方式中,所述根据所述通信地址转换规则,将所述第一报文中携带的第一地址映射到第二地址,包括:根据预先配置的地址映射页表和所述地址偏移信息,将所述第一报文中携带的所述第一地址映射到所述第二地址,其中,所述地址映射页表中记录有第一映射关系,所述第一映射关系用于表征采用所述第一网络协议的不同公网地址与采用所述第二网络协议的不同公网地址之间的映射关系。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.
结合第一方面,在一种可能的实现方式中,若采用所述第一网络协议的不同公网地址关联同一第一服务,所述方法还可以包括:采用以下任一种调度算法,在所述第二网络内确定可提供所述第一服务的计算节点作为所述第二计算节点:先进先出调度算法;轮询调度算法或者最低负载优先调度算法。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.
结合第一方面,在一种可能的实现方式中,所述方法还可以包括:获取在管理平台输入或选择的地址映射信息,并基于所述地址映射信息建立所述地址映射页表。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.
结合第一方面,在一种可能的实现方式中,若所述第一地址无法映射到所述第二地址,所述方法还包括:丢弃所述第一报文。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.
结合第一方面,在一种可能的实现方式中,所述方法还可以包括:基于被丢弃的第一报文,重新配置地址映射页表。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.
结合第一方面,在一种可能的实现方式中,所述方法还可以包括:接收来自所述第二计算节点的第四报文;将所述第四报文中携带的第四地址映射到第五地址,其中,所述第四地址对应于第一网络协议,所述第五地址对应于第二网络协议;基于所述第五地址和所述第二网络协议,对所述第四报文进行协议 转换,得到第五报文;向所述第一计算节点发送所述第五报文。In combination with the first aspect, in a possible implementation, the method may further 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; Convert to obtain a fifth message; and send the fifth message to the first computing node.
结合第一方面,在一种可能的实现方式中,所述第二网络协议包括以太网络协议/网际互连IP协议,所述第一网络协议包括统一总线UB协议。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.
结合第一方面,在一种可能的实现方式中,所述第二网络内的至少一个计算节点中的一者包括以下任一种类型:裸金属服务器、虚拟机、容器、轻量级容器或者无服务器。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.
第二方面,本申请实施例提供了一种通信装置,所述通信地址位于第一网络,所述第一网络内的至少一个计算节点采用第一网络协议实现互联,所述通信装置包括:确定单元,用于确定第一网络与第二网络之间的通信地址转换规则,所述第二网络内的至少一个计算节点采用第二网络协议实现互联;通信接口,用于接收来自所述第二网络内的第一计算节点的第一报文;映射单元,用于根据所述通信地址转换规则,将所述第一报文中携带的第一地址映射到第二地址;转换单元,用于基于所述第二地址和所述第一网络协议,对所述第一报文进行协议转换,得到第二报文;所述通信接口用于向所述第一网络内的第二计算节点发送所述第二报文。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.
结合第二方面,在一种可能的实现方式中,所述确定单元具体用于:接收来自所述第一计算节点的第三报文,其中,所述第三报文中包括第一指示信息,所述第一指示信息用于指示地址偏移信息;根据所述第一指示信息,确定所述第一网络与第二网络之间的通信地址转换规则。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.
结合第二方面,在一种可能的实现方式中,所述映射单元具体用于:根据预先配置的地址映射页表和所述地址偏移信息,将所述第一报文中携带的所述第一地址映射到所述第二地址,其中,所述地址映射页表中记录有第一映射关系,所述第一映射关系用于表征采用所述第一网络协议的不同公网地址与采用所述第二网络协议的不同公网地址之间的映射关系。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.
结合第二方面,在一种可能的实现方式中,若采用所述第一网络协议的不同公网地址关联同一第一服务,所述装置还包括:调度单元,用于采用以下任一种调度算法,在所述第二网络内确定可提供所述第一服务的计算节点作为所述第二计算节点:先进先出调度算法;轮询调度算法或者最低负载优先调度算法。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.
结合第二方面,在一种可能的实现方式中,所述装置还包括:获取单元,用于获取在管理平台输入或选择的地址映射信息,并基于所述地址映射信息建立所述地址映射页表。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.
结合第二方面,在一种可能的实现方式中,若所述第一地址无法映射到所述第二地址,所述映射单元还用于丢弃所述第一报文。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.
结合第二方面,在一种可能的实现方式中,所述装置还可以包括:更新单元,用于基于被丢弃的第一报文,重新配置地址映射页表。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.
结合第二方面,在一种可能的实现方式中,所述通信接口还用于接收来自所述第二计算节点的第四报文;所述映射单元还用于将所述第四报文中携带的第四地址映射到第五地址,其中,所述第四地址对应于第一网络协议,所述第五地址对应于第二网络协议;所述转换单元还用于基于所述第五地址和所述第二网络协议,对所述第三报文进行协议转换,得到第五报文;所述通信接口还用于向所述第一计算节点发送所述第五报文。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.
结合第二方面,在一种可能的实现方式中,所述第二网络协议包括以太网络协议/网际互连IP协议,所述第一网络协议包括统一总线UB协议。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.
结合第二方面,在一种可能的实现方式中,所述第二网络内的至少一个计算节点中的一者包括以下任一种类型:裸金属服务器、虚拟机、容器、轻量级容器或者无服务器。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.
第三方面,本申请实施例还提供了一种通信系统,包括第一计算节点、第一网关设备和第二计算节点,所述第一计算节点位于第二网络,所述第二网络内的至少一个计算节点采用第二网络协议实现互联,所述第二计算节点和所述第一网关设备位于第一网络,所述第一网络内的至少一个计算节点采用第一网络协议实现互联,其中,所述第一网关设备用于确定所述第一网络与所述第二网络之间的通信地址转换规则;所述第一计算节点用于向所述第一网关设备发送第一报文;所述第一网关设备用于接收所述第一报文,根据所述通信地址转换规则将所述第一报文中携带的第一地址映射到第二地址,基于所述第二地址和所述第一网络协议对所述第一报文进行协议转换得到第二报文,向第二计算节点发送所述第二报文,其中,所述第一地址对应于所述第二网络协议,所述第二地址对应于所述第一网络协议;所述第二计算节点用于接收所述第二报文。 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.
第四方面,本申请实施例提供了一种包含指令的计算机程序产品,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如上述第一方面以及第一方面任一可能设计所述的方法。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.
第五方面,本申请实施例提供了一种计算机可读存储介质,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如上述第一方面以及第一方面任一可能设计所述的方法。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.
第六方面,本申请实施例提供了一种计算设备集群,包括至少一个计算设备,每个计算设备包括处理器和存储器;所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如上述第一方面以及第一方面任一可能设计所述的方法。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.
本申请实施例在上述各方面提供的实现的基础上,还可以进行进一步组合以提供更多实现。Based on the implementations provided in the above aspects, the embodiments of the present application can be further combined to provide more implementations.
上述第二方面至第六方面中任一方面中的任一可能实现方式可以达到的技术效果,可以相应参照上述第一方面至第二方面中任一方面中的任一可能实现方式可以达到的技术效果描述,重复之处不予论述。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.
图1示出了本申请实施例适用的通信系统的结构示意图;FIG1 is a schematic diagram showing the structure of a communication system to which an embodiment of the present application is applicable;
图2示出了本申请实施例的通信方法的流程示意图;FIG2 is a schematic diagram showing a flow chart of a communication method according to an embodiment of the present application;
图3示出了本申请实施例的协商报文的示意图;FIG3 is a schematic diagram showing a negotiation message according to an embodiment of the present application;
图4示出了本申请实施例的RDMA场景下的协商报文的示意图;FIG4 is a schematic diagram showing a negotiation message in an RDMA scenario according to an embodiment of the present application;
图5示出了本申请实施例的异构网络的结构示意图;FIG5 is a schematic diagram showing the structure of a heterogeneous network according to an embodiment of the present application;
图6示出了本申请实施例的IP报文的示意图;FIG6 is a schematic diagram showing an IP message according to an embodiment of the present application;
图7示出了本申请实施例的通信方法的流程示意图;FIG7 is a schematic diagram showing a flow chart of a communication method according to an embodiment of the present application;
图8示出了本申请实施例的通信装置的结构示意图;FIG8 shows a schematic diagram of the structure of a communication device according to an embodiment of the present application;
图9示出了本申请实施例的通信装置的结构示意图。FIG. 9 shows a schematic structural diagram of a communication device according to an embodiment of the present application.
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。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.
本申请实施例提供了一种通信方法和通信系统,用于实现异构网络地址之间的多对一的映射,减少对地址空间的过多占用,同时还有助于实现大带宽、灵活可扩展的网络拓扑结构,降低应用通信时延,并减少系统实现和部署负担。其中,方法和装置是基于同一技术构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。并且,在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,各个实施例之间的术语和/或描述具有一致性、且可以相互引用,不同实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。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.
需要说明的是,本申请实施例中“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或a和b和c,其中a,b,c可以是单个,也可以是多个。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.
以及,除非有特别说明,本申请实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的优先级或者重要程度。例如,第一网关、第二网关,只是为了区分不同网络的网关,而不是表示这两个网关的优先级或者重要程度等的不同。例如,在一些实施例中,第一网关与第二网关可以是同一网关。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.
下面结合附图及实施例进行详细介绍。The following is a detailed description with reference to the accompanying drawings and embodiments.
图1示出了本申请实施例适用的通信系统的架构示意图。FIG1 shows a schematic diagram of the architecture of a communication system to which an embodiment of the present application is applicable.
参阅图1所示,该通信系统可以包括至少一个网络系统(或称为网络域),例如表示为网络10_1、网络10_2、网络10_3等,各个网络系统之间可以通过网关设备实现互联互通。 As shown in FIG. 1 , the communication system may include at least one network system (or network domain), such as network 10_1 , network 10_2 , network 10_3 , etc., and each network system may be interconnected through a gateway device.
每个网络系统中可以包括至少一个计算节点,例如网络10_1内的计算节点20_1、计算节点20_2、计算节点20_3,网络10_2内的计算节点20_4、计算节点20_5、计算节点20_6,网络10_3内的计算节点20_7、计算节点20_8、计算节点20_9。每个计算节点可以包括但不限于以下任一种类型,裸金属服务器、虚拟机、容器、轻量级容器或者无服务器,可以用于提供至少一种服务(或者说业务),包括但不限于渲染(Rendering)服务、视频编解码(Media code c)服务、机器学习(Machine Learning)服务、安全(Security)服务、人工智能(Artificial Intelligence,AI)服务、高性能计算(High performance computing,HPC)服务、存储(Storage)服务或者网络(network)服务。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.
在一种可选的实施方式中,该至少一个网络系统中的每个计算节点可以采用相同的网络协议。当不同的网络系统之间需要进行通信时,作为源端的计算节点可以将请求报文发送至网关设备,网关设备会将该请求报文转发至作为目标端的计算节点。目标计算节点在对该请求报文进行处理后,还会向源计算节点反馈响应报文。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.
具体例如,若位于网络10_1内的计算节点20_1需要借助于网络10_3内的计算节点20_7实现算力加速,则计算节点20_1可以发出请求报文。网关设备可以接收来自与计算节点20_1的请求报文,并根据该请求报文中携带的目的地址,向计算节点20_7转发该请求报文。计算节点20_7接收到该请求报文后,利用自身的算力设施对该请求报文进行处理后,向网关设备和计算节点20_1反馈响应报文。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.
随着网络结构的日益复杂,在另一种可选的实施方式中,图1中的不同网络系统可以采用不同的网络协议,实现异构的网络互联互通。As network structures become increasingly complex, in another optional implementation, different network systems in FIG. 1 may use different network protocols to achieve heterogeneous network interconnection.
例如网络10_1可以采用网络协议A,网络10_2可以采用网络协议A,网络10_3可以采用网络协议B。或者例如,网络10_1可以采用网络协议A,网络10_2可以采用网络协议B,网络10_3可以采用网络协议B。或者例如,网络10_1可以采用网络协议A,网络10_2可以采用网络协议B,网络10_3可以采用网络协议C。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.
在实现异构网络的互联互通时,网关设备需要将采用一种网络协议的通信地址映射到采用另一种网络协议的通信地址上,随着网络负载的增多,为减少对地址空间的过多占用,需要实现网络地址之间的多对一的映射。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.
例如,目前业内针对高带宽、低时延的需求设计了一种全新的统一总线(unified bus,UB)协议,以期基于高速物理和链路层技术,利用网络技术重构系统总线架构,实现大带宽、灵活可扩展的网络拓扑,降低应用通信时延,减少系统实现和部署的负担。该UB协议的特性使得采用该UB协议的系统架构有望取代以太网(ethemet)协议/网际互连(Internet protocol,IP)协议来提升系统的整体性能。但采用该UB协议的系统架构也需要实现网络地址之间的多对一的映射,减少对地址空间的过多占用。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.
图2示出了本申请实施例的通信方法的流程示意图。该方法可由图1所示的网关设备实现。在具体实施时,该网关设备可以是独立设备,也可以从逻辑上划分为部署在网络10_1的第一网关设备、部署在网络10_2的第二网关设备、部署在网络10_3的第三网关设备,本申请实施例对此产品形态不做限定。为了便于描述,下文中以第一网络指代网络10_1,以第二网络指代10_2,该第一网络内的至少一个计算节点可以采用第一网络协议实现互联,第二网络内的至少一个计算节点可以采用第二网络协议实现互联,第一网关设备可以用于辅助实现第一网络的不同计算节点与第二网络的不同计算节点之间的互联互通。FIG2 shows a flow chart of the communication method of an embodiment of the present application. The method can be implemented by the gateway device shown in FIG1. 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.
参阅图2所示,该通信方法可以包括以下步骤:Referring to FIG. 2 , the communication method may include the following steps:
S210:第一网关设备确定第一网络与第二网络之间的通信地址转换规则。S210: The first gateway device determines a communication address conversion rule between the first network and the second network.
例如,第一网关设备可以基于接收到的来自于第二网络的协商报文,确定该通信地址转换规则。For example, the first gateway device may determine the communication address conversion rule based on a negotiation message received from the second network.
以第三报文表示该协商报文,具体实施该S210时,第一网关设备可以接收来自于第二网络内的第一计算节点的第三报文,该第三报文中可以包括第一指示信息,该第一指示信息可以用于指示地址偏移信息。第一网关设备可以根据该第一指示信息,确定第一网络与第二网络之间的通信地址转换规则。The negotiation message is represented by a third message. When S210 is specifically implemented, the first gateway device may receive a third message from the first computing node in the second network. The third message may include first indication information, and the first indication information may be used to indicate address offset information. The first gateway device may determine a communication address conversion rule between the first network and the second network based on the first indication information.
如图3所示,该第三报文中可以封装有链路层头部、网络层头部、报文类型信息以及有效载荷(例如用户数据)。该有效载荷中例如可以包括协议报文头部,该协议报文头部可以包括但不限于一组键(key)(包括至少一个key)的长度、需要转换的报文类型(type)、源地址和目的地址等。该有效载荷中还可以包括至少一个key以及该至少一个key的起始位置信息,该至少一个key可以用作与第一计算节点的后续通信所需的地址偏移信息。As shown in FIG3 , 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, the length of a set of keys (including at least one key), the message type (type) to be converted, the source address, and the 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 the address offset information required for subsequent communication with the first computing node.
示例性地,可以以偏移量(offset)和字节长度(length)的方式指示该起始位置信息,n个key的 具体值以及相应的返程(reverse)key的具体值可以是第一计算节点配置的,可以是固定值,也可以是任意(optional)值,n为大于或等于1的整数,本申请实施例对key的配置方式不做限定。For example, the starting position information can be indicated in the form of offset and byte length. The specific value and the corresponding specific value of the return (reverse) key can be configured by the first computing node, can be a fixed value, or can be an optional value. n is an integer greater than or equal to 1. The embodiment of the present application does not limit the configuration method of the key.
如图4所示,以第三报文实现为远程直接内存访问(Remote Direct Memory Access,RDMA)报文为例,可以约定每个key的长度是固定的,在该报文的协议报文头部可以通过key的数量间接地指示一组key的长度,需要转换的报文类型可以是UDP,源地址(SIP)可以是111.111.111.222,目的地址(DIP)可以是111.111.111.111。偏移量取值为12,长度取值为6,表示需要从有效载荷的第12个字节,读取6个字节的内容,以获取所需的key值。该key可以采用16进制表示,例如key=0x15,返程key=0x16。第一网关设备可以采用静态的方式,为key=0x15建立会话信息(例如下文描述的会话表中的一条会话记录),该会话的回程key=0x16,在与第一计算节点的后续通信中,该第一网关设备可以基于该会话信息进行后续的地址的映射以及报文的转换流程。As shown in FIG4 , 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 length of a group of keys can be indirectly indicated by the number of keys in the protocol message header of the message. 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.
S220:第一网关设备接收来自第一计算节点的第一报文。S220: The first gateway device receives a first message from the first computing node.
本申请实施例中,第一计算节点可以位于第二网络,该第二网络内的至少一个计算节点采用第二网络协议实现互联。第一网关设备可以位于第一网络。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.
若第一计算节点存在面向第一网络的访问需求,第一计算节点可以根据待访问的目的计算节点对外公布的公网地址(即目的IP地址(Destination IP Address,DIP))封装第一报文,并发送该第一报文。该第一报文首先会到达位于第二网络边界的第一网关设备。第一网关设备可以接收该第一报文并解析。If the first computing node has an access demand 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 reach the first gateway device located at the boundary of the second network. The first gateway device can receive and parse the first message.
示例性地,如图5所示,该第二网络可以是以太/IP网络域,该第二网络协议可以是以太/IP网络协议,例如IPv4网络协议、或者IPv6网络协议。第二网络内的不同计算节点(例如服务器)可以通过IPv4网络协议或者IPv6网络协议等实现域内通信。第一网络与该第二网络为异构网络,第一网络可以是UB网络域,该第一网络协议可以是UB协议。第一网络内的不同计算节点(例如服务器)可以通过UB网络协议实现域内通信。在其它可选的实施方式中,该第一网络协议/第二网络协议也可以是其它类型的通信协议,本申请实施例对此不做限定。Exemplarily, as shown in Figure 5, 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 IPv4 network protocol or 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 the UB network protocol. In other optional implementations, the first network protocol/second network protocol can also be other types of communication protocols, which are not limited in the embodiments of the present application.
S230:第一网关设备根据通信地址转换规则,将第一报文中携带的第一地址映射到第二地址。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.
本申请实施例中,该第一报文可以是请求报文,例如来自第一计算节点的算力加速请求报文。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.
第一地址对应于第二网络协议。以第二网络协议为IP协议为例,第一报文为IP报文,该第一地址可以是IP地址,例如包括源IP地址和目的IP地址,承载在第一报文的头部,如图6所示。The first address corresponds to the second network protocol. For example, if the second network protocol is the IP protocol, 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, as shown in FIG6 .
在一种可选的实施方式中,第一网关设备上可以预先配置有地址映射页表,实施S230时,第一网关设备可以根据该地址映射页表和在实施S210时获得的地址偏移信息,将第一报文中携带的第一地址映射到第二地址,以利用该第二地址访问第一网络内的资源。其中,该地址映射表中可以记录有第一映射关系,该第一映射关系可以用于表征采用第一网络协议的不同公网地址和采用第二网络协议的不同公网地址之间的映射关系。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.
以第一网络是UB网络为例,在UB原生私网的数据中心里,可以提供跨UB网络的对外服务,供外部客户端访问。在该UB网络的部署阶段,可以基于服务的粒度划分同一网络内的不同计算节点(例如服务器),例如,可以由UB网络内的至少一个服务器组成分组(group,或者称为集群)共同提供一种服务,即不同的公网地址可以关联同一第一服务。管理人员可以将UB网络所能够提供的至少一种服务(例如表示为第一服务)以外部客户端(例如部署在第一计算节点的客户端)认可的地址格式标识,使得外部客户端的公网地址与UB网络所能够提供的至少一种服务绑定。管理人员可以通过管理平台,以输入或者选择的方式配置地址映射信息,并对外提供该地址映射信息。第一网关设备可以获取在管理平台输入或选择的地址映射信息,并基于该地址映射信息建立地址映射页表。该地址映射页表中可以记录有第一映射关系,该第一映射关系可以用于表征采用第一网络协议的不同公网地址与UB网络所提供的第一服务(具体可以是服务端口或者服务关联的UB私网地址)之间的映射关系。当外部客户端向UB网络发出请求时,第一网关设备即可通过查表的方式,将该请求中携带的公网地址映射到某一种具体的服务上,并利用该UB网络中的可用资源,为外部客户端提供相应的服务。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.
示例性地,该地址映射页表可以如下表1所示:Exemplarily, the address mapping page table may be as shown in Table 1 below:
表1
Table 1
应理解,表1仅是对服务端口/服务关联的UB私网地址、外部公网地址、以及两者之间的映射关系的示例说明而非任何限定。在一些实施例中,该外部公网地址与服务端口/服务关联的UB私网地址之间的映射关系可以是N:1,N为大于或等于1的整数。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.
若第一报文中携带的第一地址作为key可以命中表1中的外部公网地址,则可以进入到地址转换流程,即将第一地址转换为外部公网地址关联的第二地址,例如UB EID。If the first address carried in the first message can be used as a key to hit the external public network address in Table 1, 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.
若第一报文中携带的第一地址作为key无法命中表1中的外部公网地址,即第一地址无法映射到第二地址,则第一网关设备可以按照异常处理,丢弃该第一报文,也即丢弃第一网关设备无法识别的服务访问。同时,第一网关设备还可以触发地址映射页表的更新流程。例如,第一网关设备基于被丢弃的第一报文,重新配置地址映射页表,以进一步完善第一网络支持访问的网络类型。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.
S240:第一网关设备基于所述第二地址和所述第一网络协议,对所述第一报文进行协议转换,得到第二报文。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.
具体实施时,第一报文中携带的地址信息不限于一种,例如IP报文中既可以携带源IP地址又可以携带目的IP地址,因此,第一报文中携带的第一地址可以不限于一个地址。该第一网关设备可以按照之前确定的通信地址转换规则,根据第一报文中的不同字段,组合得到一组键(key),并基于该组key查询地址流会话表项。若该会话表存在,则根据会话表中的内容实现第一地址到第二地址的转换。若会话表不存在,则第一网关设备还可以触发针对此条报文流量建立会话表,以及对应的动作(action)。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).
示例性地,会话表的内容可以如下所示:Exemplarily, the content of the session table may be as follows:
1)TCP/UDP场景:1) TCP/UDP scenario:
会话信息包括:Key:报文流量的源IP地址(source IP Address,SIP),DIP,一组动态key;Session information includes: Key: source IP address (SIP) of message traffic, DIP, a set of dynamic keys;
Action:(SEID配置地址池中取,N:1映射),(DEID和DIP一一映射),添加一组动态key。Action: (SEID is configured in the address pool, N:1 mapping), (DEID and DIP are mapped one to one), add a set of dynamic keys.
2)RDMA场景:2) RDMA scenario:
会话信息包括:Key:报文流量的SIP,DIP,一组动态key;Session information includes: Key: SIP, DIP of message traffic, a set of dynamic keys;
Action:(SEID配置地址池中取,N:1映射),(DEID和DIP一一映射),添加一组动态key,并剥除报文UDP头。Action: (SEID is configured in the address pool, N:1 mapping), (DEID and DIP are mapped one to one), add a set of dynamic keys, and strip the UDP header of the message.
其中,SEID配置地址池即上述表1中预先配置的服务端口或服务关联的UB私网地址,多个不同的公网地址可以映射到同一个SEID。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.
若第一网关设备基于第一报文中携带的SIP、DIP、一组动态key,查询到上述1)的TCP/UDP场景的会话表的内容,则实施S240时,第一网关设备可以按照该会话表内容中记录的action,将采用第二网络协议的SIP转换(以符号表示)为采用第一网络协议的SEID,将采用第二网络协议的DIP转换为采用第一网络协议的DEID,同时添加第三报文中的一组动态key,以实现网络地址之间的多对一的映射。If the first gateway device queries the content of the session table of the TCP/UDP scenario in 1) based on the SIP, DIP, and a group of dynamic keys carried in the first message, when implementing S240, the first gateway device can convert the SIP using the second network protocol (with symbol Indicates) is a SEID using the first network protocol, converts the DIP using the second network protocol into a DEID using the first network protocol, and adds a set of dynamic keys in the third message to achieve a many-to-one mapping between network addresses.
若第一网关设备基于第一报文中携带的SIP、DIP、第三报文中的一组动态key,查询到上述2)的RDMA场景的会话表的内容,则实施S240时,第一网关设备可以按照该会话表内容中记录的action,将SIP转换为SEID,将DIP转换为DEID,添加一组动态key,并剥除报文UDP头。If the first gateway device queries the content of the session table of the RDMA scenario 2) above based on the SIP, DIP carried in the first message and a set of dynamic keys in the third message, then when implementing S240, the first gateway device can convert SIP into SEID, convert DIP into DEID according to the action recorded in the content of the session table, add a set of dynamic keys, and strip the message UDP header.
第一网关设备可以根据上述会话表的内容进行转换处理,对第一报文中包含的内容重新进行封装,以转换为UB报文,并在该UB报文中填新写报文的目的地址,例如DEID,封装得到第二报文。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.
S250:第一网关设备向第一网络内的第二计算节点发送所述第二报文。S250: The first gateway device sends the second message to the second computing node in the first network.
例如,第一网络为UB网络,由至少一个计算节点提供同一种服务,例如至少一个公网地址关联同一第一服务,第一网关设备可以采用以下任一种调度算法,在所述第二网络内确定可提供所述第一服务的计算节点作为所述第二计算节点:先进先出调度算法;轮询调度算法或者最低负载优先调度算法。本申请实施例对此第二网络内的服务调度方式不做限定。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.
当第二计算节点对该第二报文进行处理后,还可以向第一计算节点反馈响应报文。如图7所示,该反馈过程可以包括以下步骤:After the second computing node processes the second message, it can also feed back a response message to the first computing node. As shown in FIG7 , the feedback process can include the following steps:
第二计算节点利用地址池中的地址封装第四报文,并在第一网络域内查询路由发送至第一网关设备。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.
S710:第一网关设备接收来自所述第二计算节点的第四报文。 S710: The first gateway device receives a fourth message from the second computing node.
S720:第一网关设备根据通信地址转换规则,将所述第四报文中携带的第四地址映射到第五地址,其中,所述第四地址对应于第一网络协议,所述第五地址对应于第二网络协议。与S230相似地,第一网关设备通过查询地址映射表和在会话表中记录的地址偏移信息进行查询,若第四报文中携带的DEID命中地址映射表,则进入地址转换流程。反之,则丢去第四报文。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.
S730:第一网关设备基于所述第五地址和所述第二网络协议,对所述第四报文进行协议转换,得到第五报文。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.
具体实施时,若第二网络采用IP网络协议,第一网关设备可以根据第四报文中的字段的组合作为组key查询地址流会话表,反向转换EID到IP地址。若未命中该会话表,则丢弃第四报文。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.
示例性地,该会话表内容可以如下所示:Exemplarily, the content of the session table may be as follows:
1)TCP/UDP场景:1) TCP/UDP scenario:
Key:报文流量的SEID,DEID,一组动态key;Key: SEID, DEID of message traffic, a set of dynamic keys;
Action:(SEID和SIP配置1:1映射),(DEID和DIP N:1映射,地址池中配置),添加一组动态key。Action: (SEID and SIP configuration 1:1 mapping), (DEID and DIP N:1 mapping, configured in the address pool), add a set of dynamic keys.
2)RDMA场景:2) RDMA scenario:
Key:报文流量SEID,DEID,一组动态key;Key: message flow SEID, DEID, a set of dynamic keys;
Action:(SEID和SIP配置1:1映射),(DEID和DIP N:1映射,地址池中配置),添加一组动态key,并取出表中UDP头部port,封装UDP报文。Action: (SEID and SIP configuration 1:1 mapping), (DEID and DIP N:1 mapping, configured in the address pool), add a set of dynamic keys, take out the UDP header port in the table, and encapsulate the UDP message.
应理解,此处描述的会话表内容与前文结合S430介绍的会话表内容相同,在此不再赘述。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.
S740:第一网关设备向所述第一计算节点发送所述第五报文,即响应报文。S740: The first gateway device sends the fifth message, ie, the response message, to the first computing node.
上述通信方法中,可以在异构网络之间进行互联互通时,首先通过协议报文进行协商以确定本次会话所需要使用的一组动态key,以便在后续的多次交互中,基于该组key实现异构网络地址之间的多对一映射,在实现异构网络互联互通的同时,减少对地址空间的过多占用。应理解,上述方法实施例仅是以UB网络、以太网络/IP网络作为示例进行介绍,在其它实施例中,还可以采用相似的方法实现其它类型的网络架构之间的互联互通,在此不再赘述。由此,通过上述方法,通过在UB域设置特殊的EID地址代表外部网络,在IP网络域设置IP主机地址/网段代表某个网络域,在UB网络域内增设网关设备实现不同网络地址之间的转换,实现异构网络之间的互联互通,从而实现大带宽、灵活可扩展的网络拓扑,降低应用通信时延,减少系统实现和部署负担。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.
本申请实施例还提供了一种通信装置,用于执行上述方法实施例中第一网关设备所执行的方法,相关特征可以参见上述方法实施例,在此不再赘述。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.
如图8所示,该通信装置800可以包括:确定单元801,用于确定第一网络与第二网络之间的通信地址转换规则,所述第二网络内的至少一个计算节点采用第二网络协议实现互联;通信接口802,用于接收来自所述第二网络内的第一计算节点的第一报文;映射单元803,用于根据所述通信地址转换规则,将所述第一报文中携带的第一地址映射到第二地址;转换单元804,用于基于所述第二地址和所述第一网络协议,对所述第一报文进行协议转换,得到第二报文;所述通信接口802用于向所述第一网络内的第二计算节点发送所述第二报文。具体实现方式,请参考上述方法实施例中第一设备所实现的方法步骤,这里不再赘述。As shown in FIG8 , 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.
应理解,以上装置中各单元的划分仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。此外,装置中的单元可以以处理器调用软件的形式实现;例如装置包括处理器,处理器与存储器连接,存储器中存储有指令,处理器调用存储器中存储的指令,以实现以上任一种方法或实现该装置各单元的功能,其中处理器例如为通用处理器,例如中央处理单元(Central Processing Unit,CPU)或微处理器,存储器为装置内的存储器或装置外的存储器。或者,装置中的单元可以以硬件电路的形式实现,可以通过对硬件电路的设计实现部分或全部单元的功能,该硬件电路可以理解为一个或多个处理器;例如,在一种实现中,该硬件电路为专用集成电路(application-specific integrated circuit,ASIC),通过对电路内元件逻辑关系的设计,实现以上部分或全部单元的功能;再如,在另一种实现中,该硬件电路为可以通过可编程逻辑器件(programmable logic device,PLD)实现,以现场可编程门阵列(Field Programmable Gate Array,FPGA)为例,其可以包括大量逻辑门电路,通过配置文件来配置逻辑门电路之间的连接关系,从而实现以上部分或全部单元的功能。以上装置的所有单 元可以全部通过处理器调用软件的形式实现,或全部通过硬件电路的形式实现,或部分通过处理器调用软件的形式实现,剩余部分通过硬件电路的形式实现。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 may be implemented in the form of hardware circuits, and the functions of some or all of the units may be realized by designing the hardware circuits, and the hardware circuits may 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 may be realized by designing the logical relationship of the components within the circuit; for another example, in another implementation, the hardware circuit may be implemented by a programmable logic device (PLD), taking a field programmable gate array (FPGA) as an example, which may include a large number of logic gate circuits, and the connection relationship between the logic gate circuits may be configured by a configuration file, thereby realizing the functions of some or all of the above units. All units of the above devices may be implemented by a programmable logic device (PLD), and a field programmable gate array (FPGA) may be used as an example, and the connection relationship between the logic gate circuits may be configured by a configuration file, thereby realizing the functions of some or all of the above units. The element may be implemented entirely in the form of a processor calling software, or entirely in the form of a hardware circuit, or partially in the form of a processor calling software and the rest in the form of a hardware circuit.
在本申请实施例中,处理器是一种具有信号的处理能力的电路,在一种实现中,处理器可以是具有指令读取与运行能力的电路,例如CPU、微处理器、图形处理器(graphics processing unit,GPU)(可以理解为一种微处理器)、或数字信号处理器(digital singnal processor,DSP)等;在另一种实现中,处理器可以通过硬件电路的逻辑关系实现一定功能,该硬件电路的逻辑关系是固定的或可以重构的,例如处理器为ASIC或PLD实现的硬件电路,例如FPGA。在可重构的硬件电路中,处理器加载配置文档,实现硬件电路配置的过程,可以理解为处理器加载指令,以实现以上部分或全部单元的功能的过程。此外,还可以是针对人工智能设计的硬件电路,其可以理解为一种ASIC,例如神经网络处理单元(Neural Network Processing Unit,NPU)张量处理单元(Tensor Processing Unit,TPU)、深度学习处理单元(Deep learning Processing Unit,DPU)等。In the embodiment of the present application, the processor is a circuit with signal processing capability. In one implementation, the processor may be a circuit with instruction reading and running capability, such as a CPU, a microprocessor, a graphics processing unit (GPU) (which may be understood as a microprocessor), or a digital signal processor (DSP), etc.; in another implementation, the processor may realize certain functions through the logical relationship of a hardware circuit, and the logical relationship of the hardware circuit may be fixed or reconfigurable, such as a hardware circuit implemented by an ASIC or PLD, such as an FPGA. In a reconfigurable hardware circuit, the process of the processor loading a configuration document to implement the hardware circuit configuration may 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 may also be a hardware circuit designed for artificial intelligence, which may be understood as an ASIC, such as a neural network processing unit (NPU), a tensor processing unit (TPU), a deep learning processing unit (DPU), etc.
可见,以上装置中的各单元可以是被配置成实施以上方法的一个或多个处理器(或处理电路),例如:CPU、GPU、NPU、TPU、DPU、微处理器、DSP、ASIC、FPGA,或这些处理器形式中至少两种的组合。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.
此外,以上装置中的各单元可以全部或部分可以集成在一起,或者可以独立实现。在一种实现中,这些单元集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。该SOC中可以包括至少一个处理器,用于实现以上任一种方法或实现该装置各单元的功能,该至少一个处理器的种类可以不同,例如包括CPU和FPGA,CPU和人工智能处理器,CPU和GPU等。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.
在一个简单的实施例中,本领域的技术人员可以想到上述实施例中的通信装置均可采用图9所示的计算设备的形式。In a simple embodiment, those skilled in the art may appreciate that the communication devices in the above embodiments may all be in the form of a computing device as shown in FIG. 9 .
如图9所示的装置900,包括至少一个处理器910和通信接口930。在一种可选的设计中,还可以包括存储器920。The device 900 shown in Fig. 9 includes at least one processor 910 and a communication interface 930. In an optional design, a memory 920 may also be included.
本申请实施例中不限定上述处理器910以及存储器920之间的具体连接介质。The specific connection medium between the processor 910 and the memory 920 is not limited in the embodiment of the present application.
在如图9的装置中,处理器910在与其他设备进行通信时,可以通过通信接口930进行数据传输。In the apparatus as shown in FIG. 9 , the processor 910 may perform data transmission through the communication interface 930 when communicating with other devices.
当通信装置采用图9所示的形式时,图9中的处理器910可以通过调用存储器920中存储的计算机执行指令,使得装置900可以执行上述任一方法实施例。When the communication device adopts the form shown in FIG. 9 , the processor 910 in FIG. 9 can call the computer-executable instructions stored in the memory 920 so that the device 900 can execute any of the above method embodiments.
本申请实施例还涉及一种芯片系统,该芯片系统包括处理器,用于调用存储器中存储的计算机程序或计算机指令,以使得该处理器执行上述任一实施例的方法。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.
在一种可能的实现方式中,该处理器可以通过接口与存储器耦合。In a possible implementation manner, the processor may be coupled to the memory through an interface.
在一种可能的实现方式中,该芯片系统还可以直接包括存储器,该存储器中存储有计算机程序或计算机指令。In a possible implementation, the chip system may also directly include a memory, in which a computer program or computer instructions are stored.
示例地,存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(doubledata rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。For example, the memory may be a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memory. Among them, the nonvolatile 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 (DR RAM).
本申请实施例还涉及一种处理器,该处理器用于调用存储器中存储的计算机程序或计算机指令,以使得该处理器执行上述任一实施例所述的方法。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.
示例地,在本申请实施例中,处理器是一种集成电路芯片,具有信号的处理能力。例如,该处理器可以是FPGA,可以是通用处理器、DSP、ASIC或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,还可以是系统芯片(system on chip,SoC),还可以是CPU,还可以是网络处理器(network processor,NP),还可以是微控制器(micro controller unit,MCU),还可以是PLD或其他集成芯片,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处 理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。For example, in the embodiments 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 on chip (SoC), a CPU, a network processor (NP), a microcontroller unit (MCU), a PLD or other integrated chip, which can implement or execute the methods, steps and logic diagrams disclosed in the embodiments of the present application. A general-purpose processor can be a microprocessor. The processor or the processor may also be any conventional processor, etc. The steps of the method disclosed in the embodiment of the present application can be directly embodied as being executed by a hardware decoding processor, or can be executed by a combination of hardware and software modules in the decoding processor. The software module can be located in a mature storage medium in the art 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 the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.
应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。It should be understood that the embodiments of the present application may be provided as methods, systems, or computer program products.
在一种可能的实现方式中,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有程序代码,当所述程序代码在所述计算机上运行时,使得计算机执行上述方法实施例。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.
在一种可能的实现方式中,本申请实施例提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例。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.
因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。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.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device that implements the functions specified in one or more processes in the flowchart and/or one or more boxes in the block diagram.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions may also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, whereby the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and/or one or more boxes in the block diagram.
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,各个实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。 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 (15)
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310785858 | 2023-06-29 | ||
| CN202310785858.2 | 2023-06-29 | ||
| CN202311160032.3A CN119232699A (en) | 2023-06-29 | 2023-09-07 | Communication method, device and communication system |
| CN202311160032.3 | 2023-09-07 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025001377A1 true WO2025001377A1 (en) | 2025-01-02 |
Family
ID=93937088
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2024/084691 Pending WO2025001377A1 (en) | 2023-06-29 | 2024-03-29 | Communication method and apparatus, and communication system |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025001377A1 (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110677405A (en) * | 2019-09-26 | 2020-01-10 | 北京金山云网络技术有限公司 | Data processing method and device, electronic equipment and storage medium |
| CN113014680A (en) * | 2019-12-19 | 2021-06-22 | 中兴通讯股份有限公司 | Broadband access method, device, equipment and storage medium |
| CN113590364A (en) * | 2021-09-29 | 2021-11-02 | 阿里云计算有限公司 | Data processing method and device based on distributed shared memory system |
| WO2023000784A1 (en) * | 2021-07-23 | 2023-01-26 | 华为技术有限公司 | Data access method and related device |
| CN115701063A (en) * | 2021-07-30 | 2023-02-07 | 华为技术有限公司 | Message transmission method and communication device |
-
2024
- 2024-03-29 WO PCT/CN2024/084691 patent/WO2025001377A1/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110677405A (en) * | 2019-09-26 | 2020-01-10 | 北京金山云网络技术有限公司 | Data processing method and device, electronic equipment and storage medium |
| CN113014680A (en) * | 2019-12-19 | 2021-06-22 | 中兴通讯股份有限公司 | Broadband access method, device, equipment and storage medium |
| WO2023000784A1 (en) * | 2021-07-23 | 2023-01-26 | 华为技术有限公司 | Data access method and related device |
| CN115701063A (en) * | 2021-07-30 | 2023-02-07 | 华为技术有限公司 | Message transmission method and communication device |
| CN113590364A (en) * | 2021-09-29 | 2021-11-02 | 阿里云计算有限公司 | Data processing method and device based on distributed shared memory system |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110381054A (en) | Message parsing method, device, equipment and computer readable storage medium | |
| CN113497767B (en) | Method, device, computing equipment and storage medium for transmitting data | |
| CN110958213B (en) | Method, TOE component and network device for processing TCP message | |
| US20220027208A1 (en) | Method for controlling of accelerating edge platform network and electronic device using the same | |
| CN115242711A (en) | Message transmission method and device | |
| WO2024093064A1 (en) | Identifier management and forwarding optimization method and apparatus in large-scale multi-modal network | |
| WO2023005723A1 (en) | Packet transmission method and communication apparatus | |
| CN117714398A (en) | A data transmission system, method, electronic device and storage medium | |
| CN112087533A (en) | Message processing method, device, device and storage medium | |
| WO2021238746A1 (en) | Network system and packet transmission method therein, and related apparatus | |
| CN115486045A (en) | Handling user traffic in a virtualized network | |
| CN116633726A (en) | Cloud gateway and method for network adapter and network adapter | |
| WO2024188167A1 (en) | Tunnel technology-based packet processing method and apparatus | |
| CN116018793A (en) | Computing device and method for generating clustered functional IPV6 addresses | |
| WO2025001377A1 (en) | Communication method and apparatus, and communication system | |
| CN114697387B (en) | Data packet transmission method, device and storage medium | |
| CN116095197A (en) | Data transmission method and related device | |
| CN107483628A (en) | One-way agent method and system based on DPDK | |
| CN110602262A (en) | Router and method for processing data message thereof | |
| CN118573516A (en) | Tunnel message encapsulation and decapsulation method, equipment and system | |
| CN119232699A (en) | Communication method, device and communication system | |
| CN118612185A (en) | A network address translation method and computing device | |
| CN114793217B (en) | Intelligent network card, data forwarding method and device and electronic equipment | |
| CN115460303B (en) | A data processing method, device, terminal and storage medium | |
| WO2023186109A1 (en) | Node access method and data transmission system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24830028 Country of ref document: EP Kind code of ref document: A1 |