The present application claims priority from the chinese patent application filed on 29 th 2023, 06, with application number 202310785858.2, entitled "a data transmission method", the entire contents of which are incorporated herein by reference.
Disclosure of Invention
The embodiment of the application provides a communication method and a communication system, which are used for realizing the mapping of many to one among heterogeneous network addresses and reducing the excessive occupation of an address space.
In a first aspect, an embodiment of the present application provides a communication method, where the method may be implemented by a first gateway device, where the first gateway device is located in a first network, and at least one computing node in the first network implements interconnection by using a first network protocol, where the method may include determining a communication address conversion rule between the first network and a second network, where at least one computing node in the second network implements interconnection by using a second network protocol, receiving a first packet from the first computing node in the second network, mapping, according to the communication address conversion rule, a first address carried in the first packet to a second address, performing protocol conversion on the first packet based on the second address and the first network protocol, to obtain a second packet, and sending the second packet to the second computing node in the first network.
With reference to the first aspect, in a possible implementation manner, the determining a communication address conversion rule between the first network and the second network includes receiving a third message from the first computing node, where the third message includes first indication information, where the first indication information is used to indicate address offset information, and determining the communication address conversion rule between the first network and the second network according to the first indication information.
With reference to the first aspect, in one possible implementation manner, the mapping the first address carried in the first packet to the second address according to the communication address translation rule includes mapping the first address carried in the first packet to the second address according to a pre-configured address mapping page table and the address offset information, where a first mapping relationship is recorded in the address mapping page table, and the first mapping relationship is used to characterize a mapping relationship between different public network addresses adopting the first network protocol and different public network addresses adopting the second network protocol.
With reference to the first aspect, in a possible implementation manner, if different public network addresses of the first network protocol are used to associate the same first service, the method may further include using any one of a scheduling algorithm, a polling scheduling algorithm or a lowest load priority scheduling algorithm, to determine, in the second network, a computing node that can provide the first service as the second computing node.
With reference to the first aspect, in a possible implementation manner, the method may further include obtaining address mapping information input or selected at a management platform, and establishing the address mapping page table based on the address mapping information.
With reference to 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 packet.
With reference to the first aspect, in a possible implementation manner, the method may further include reconfiguring the address mapping page table based on the discarded first packet.
With reference to the first aspect, in a possible implementation manner, the method may further include receiving a fourth packet from the second computing node, mapping a fourth address carried in the fourth packet to a fifth address, where the fourth address corresponds to a first network protocol, and the fifth address corresponds to a second network protocol, performing protocol conversion on the fourth packet based on the fifth address and the second network protocol to obtain a fifth packet, and sending the fifth packet to the first computing node.
With reference to the first aspect, in one possible implementation manner, the second network protocol includes an ethernet protocol/internetworking IP protocol, and the first network protocol includes a unified bus UB protocol.
With reference to the first aspect, in one possible implementation manner, one of the at least one computing node within the second network includes any one of a bare metal server, a virtual machine, a container, a lightweight container, or no server.
In a second aspect, the embodiment of the application provides a communication device, wherein a communication address is located in a first network, at least one computing node in the first network is interconnected by adopting a first network protocol, the communication device comprises a determining unit, a communication interface, a mapping unit and a conversion unit, wherein the determining unit is used for determining a communication address conversion rule between the first network and a second network, the at least one computing node in the second network is interconnected by adopting a second network protocol, the communication interface is used for receiving a first message from the first computing node in the second network, the mapping unit is used for mapping the first address carried in the first message to a second address according to the communication address conversion rule, the conversion unit is used for carrying out protocol conversion on the first message based on the second address and the first network protocol to obtain a second message, and the communication interface is used for sending the second message to the second computing node in the first network.
With reference to the second aspect, in one possible implementation manner, the determining unit is specifically configured to receive a third packet from the first computing node, where the third packet includes first indication information, where the first indication information is used to indicate address offset information, and determine a communication address conversion rule between the first network and the second network according to the first indication information.
With reference to the second aspect, in one possible implementation manner, the mapping unit is specifically configured to map the first address carried in the first packet to the second address according to a preconfigured address mapping page table and the address offset information, where a first mapping relationship is recorded in the address mapping page table, and the first mapping relationship is used to characterize a mapping relationship between different public network addresses adopting the first network protocol and different public network addresses adopting the second network protocol.
With reference to the second aspect, in a possible implementation manner, if different public network addresses of the first network protocol are used to associate the same first service, the apparatus further includes a scheduling unit, configured to determine, in the second network, a computing node that can provide the first service as the second computing node, using any one of a first-in-first-out scheduling algorithm, a polling scheduling algorithm, and a lowest-load priority scheduling algorithm.
With reference to the second aspect, in a possible implementation manner, the apparatus further includes an obtaining unit, configured to obtain address mapping information input or selected at the management platform, and establish the address mapping page table based on the address mapping information.
With reference to the second aspect, in one possible implementation manner, if the first address cannot be mapped to the second address, the mapping unit is further configured to discard the first packet.
With reference to the second aspect, in a possible implementation manner, the apparatus may further include an updating unit configured to reconfigure the address mapping page table based on the discarded first packet.
With reference to the second aspect, in one possible implementation manner, the communication interface is further configured to receive a fourth packet from the second computing node, the mapping unit is further configured to map a fourth address carried in the fourth packet to a fifth address, where the fourth address corresponds to a first network protocol, the fifth address corresponds to a second network protocol, the conversion unit is further configured to perform protocol conversion on the third packet based on the fifth address and the second network protocol, to obtain a fifth packet, and the communication interface is further configured to send the fifth packet to the first computing node.
With reference to the second aspect, in one possible implementation manner, the second network protocol includes an ethernet protocol/internetworking IP protocol, and the first network protocol includes a unified bus UB protocol.
With reference to the second aspect, in one possible implementation manner, one of the at least one computing node within the second network includes any one of a bare metal server, a virtual machine, a container, a lightweight container, or no server.
In a third aspect, the embodiment of the present application further provides a communication system, including a first computing node, a first gateway device and a second computing node, where the first computing node is located in a second network, at least one computing node in the second network is interconnected by using a second network protocol, the second computing node and the first gateway device are located in the first network, at least one computing node in the first network is interconnected by using a first network protocol, where the first gateway device is configured to determine a communication address conversion rule between the first network and the second network, the first computing node is configured to send a first packet to the first gateway device, the first gateway device is configured to receive the first packet, map a first address carried in the first packet to a second address according to the communication address conversion rule, perform protocol conversion on the first packet based on the second address and the first network protocol to obtain a second packet, and send the second packet to the second computing node, where the first address corresponds to the second address and the second address corresponds to the second network protocol.
In a fourth aspect, embodiments of the present application provide a computer program product comprising instructions which, when executed by a cluster of computing devices, cause the cluster of computing devices to perform a method as described in the first aspect and any one of the possible designs of the first aspect.
In a fifth aspect, embodiments of the present application provide a computer readable storage medium comprising computer program instructions which, when executed by a cluster of computing devices, perform a method as described in the first aspect and any one of the possible designs of the first aspect.
In a sixth aspect, an embodiment of the present application provides a computing device cluster, including at least one computing device, each computing device including a processor and a memory, where the processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster performs a method as described in the first aspect and any possible design of the first aspect.
Based on the implementation provided in the above aspects, the embodiments of the present application may be further combined to provide further implementations.
The technical effects that may be achieved by any possible implementation manner of any one of the second aspect to the sixth aspect may be correspondingly described with reference to the technical effects that may be achieved by any one of the possible implementation manners of any one of the first aspect to the second aspect, and the descriptions will not be repeated.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present application more apparent, the technical solutions of the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application, and it is apparent that the described embodiments are some embodiments of the present application, but not all embodiments of the present application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
The embodiment of the application provides a communication method and a communication system, which are used for realizing the mapping of many to one among heterogeneous network addresses, reducing the excessive occupation of an address space, simultaneously being beneficial to realizing a network topological structure with large bandwidth, flexibility and expandability, reducing the application communication time delay and reducing the system realization and deployment burden. The method and the device are based on the same technical conception, and because the principle of solving the problems by the method and the device is similar, the implementation of the device and the method can be mutually referred to, and the repeated parts are not repeated. Moreover, in the various embodiments of the application, where no special description or logic conflict exists, the terms and/or descriptions between the various embodiments are consistent and may reference each other, and features of different embodiments may be combined to form new embodiments based on their inherent logic.
It should be noted that, in the embodiments of the present application, "at least one" refers to one or more, and "a plurality" refers to two or more. "and/or" describes an association of associated objects, meaning that there may be three relationships, e.g., A and/or B, and that there may be A alone, while A and B are present, and B alone, where A, B may be singular or plural. The character "/" generally indicates that the context-dependent object is an "or" relationship. "at least one of" or the like means any combination of these items, including any combination of single item(s) or plural items(s). For example, at least one (a, b, or c) of a, b, c, a and b, a and c, b and c, or a and b and c, wherein a, b, c may be single or plural.
And, unless otherwise specified, references to "first," "second," etc. ordinal words of embodiments of the present application are used for distinguishing between multiple objects and are not used for limiting the priority or importance of the multiple objects. For example, the first gateway and the second gateway are only used for distinguishing the gateways of different networks, and are not used for representing the difference of 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 detailed description refers to the accompanying drawings and examples.
Fig. 1 shows a schematic architecture of a communication system to which an embodiment of the present application is applied.
Referring to fig. 1, the communication system 100 may include at least one network system (or referred to as a network domain), for example, denoted as a network 10_1, a network 10_2, a network 10_3, etc., where the respective network systems may be interconnected by a gateway device.
Each network system may include at least one computing node, such as computing node 20_1, computing node 20_2, and computing node 20_3 within network 10_1, computing node 20_4, computing node 20_5, and computing node 20_6 within network 10_2, and computing node 20_7, computing node 20_8, and computing node 20_9 within network 10_3. Each computing node may include, but is not limited to, any of a bare metal server, a virtual machine, a container, a lightweight container, or a no server, which may be used to provide at least one service (or service), including, but not limited to, a render (render) service, a video codec (Media c) service, a machine learning (MACHINE LEARNING) service, a Security (Security) service, an artificial intelligence (ARTIFICIAL INTELLIGENCE, AI) service, a high performance computing (High performance computing, HPC) service, a Storage (Storage) service, or a network (network) service.
In an alternative embodiment, each computing node in the at least one network system may employ the same network protocol. When communication is required between different network systems, the computing node serving as the source end can send a request message to the gateway equipment, and the gateway equipment can forward the request message to the computing node serving as the target end. After processing the request message, the target computing node also feeds back a response message to the source computing node.
Specifically, for example, if the computing node 20_1 located in the network 10_1 needs to implement the computational power acceleration by means of the computing node 20_7 in the network 10_3, the computing node 20_1 may issue a request message. The gateway device may 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 by using its own computing power facility, and then feeds back a response message to the gateway device and the computing node 20_1.
With the increasing complexity of network architecture, in another alternative embodiment, different network protocols may be adopted by different network systems in fig. 1, so as to implement heterogeneous network interconnection.
For example, network 10_1 may employ network protocol a, network 10_2 may employ network protocol a, and network 10_3 may employ network protocol B. Or, for example, network 10_1 may employ network protocol a, network 10_2 may employ network protocol B, and network 10_3 may employ network protocol B. Or, for example, network 10_1 may employ network protocol a, network 10_2 may employ network protocol B, and network 10_3 may employ network protocol C.
When implementing interconnection of heterogeneous networks, the gateway device needs to map a communication address adopting one network protocol to a communication address adopting another network protocol, and as network load increases, in order to reduce excessive occupation of address space, many-to-one mapping between network addresses needs to be implemented.
For example, a brand new unified bus (unified bus, UB) protocol is designed for the requirements of high bandwidth and low time delay in the industry at present, so that a system bus architecture is reconstructed based on high-speed physical and link layer technologies by utilizing network technology, a large-bandwidth, flexible and extensible network topology is realized, application communication time delay is reduced, and the burden of system realization and deployment is reduced. The nature of the UB protocol makes it possible for a system architecture employing the UB protocol to replace the ethernet (ethemet) protocol/internetworking (Internet protocol, IP) protocol to improve overall system performance. However, the system architecture employing the UB protocol also needs to implement many-to-one mapping between network addresses, reducing excessive occupation of address space.
Fig. 2 shows a flow diagram of a communication method according to an embodiment of the application. The method may be implemented by the gateway device shown in fig. 1. In the implementation, the gateway device may be an independent device, or may be logically divided into a first gateway device deployed in the network 10_1, a second gateway device deployed in the network 10_2, and a third gateway device deployed in the network 10_3, which is not limited in the product form according to the embodiment of the present application. For convenience of description, the network 10_1 is referred to as a first network, the network 10_2 is referred to as a second network, at least one computing node in the first network may be interconnected by using a first network protocol, at least one computing node in the second network may be interconnected by using a second network protocol, and the first gateway device may be used to assist in interconnection and interworking between different computing nodes in the first network and different computing nodes in the second network.
Referring to fig. 2, the communication method may include the steps of:
the first gateway device determines a communication address translation rule between the first network and the second network S210.
For example, the first gateway device may determine the communication address translation rule based on a negotiation message received from the second network.
When the negotiation message is represented by the third message and the S210 is implemented, the first gateway device may receive the third message from the first computing node in the second network, where 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 translation rule between the first network and the second network based on the first indication information.
As shown in fig. 3, the third packet may have encapsulated therein a link layer header, a network layer header, packet type information, and a payload (e.g., user data). The payload may include, for example, a protocol message header that may include, but is not limited to, a length of a set of keys (keys) (including at least one key), a type of message (type) to be translated, a source address and a destination address, and the like. The payload may also include at least one key and start location information for the at least one key that may be used as address offset information required for subsequent communications with the first computing node.
For example, the start position information may be indicated by an offset (offset) and a byte length (length), and the specific values of the n keys and the specific values of the corresponding return keys may be configured by the first computing node, may be fixed values, may also be any (optional) value, and n is an integer greater than or equal to 1.
As shown in fig. 4, taking the third packet implemented as a remote direct memory access (Remote Direct Memory Access, RDMA) packet as an example, it may be agreed that the length of each key is fixed, the protocol packet header of the packet may indirectly indicate the length of a group of keys through the number of keys, the packet type to be converted may be UDP, the source address (SIP) may be 111.111.111.222, and the destination address (DIP) may be 111.111.111.111. The offset value is 12 and the length value is 6, which means that the content of 6 bytes needs to be read from the 12 th byte of the payload to obtain the required key value. The key may be represented in a 16-ary representation, for example, key=0x15, and return key=0x16. The first gateway device may establish session information (e.g., a session record in a session table described below) for key=0x15 in a static manner, and the backhaul key=0x16 of the session, and in subsequent communications with the first computing node, the first gateway device may perform subsequent address mapping and message conversion processes based on the session information.
The first gateway device receives a first message from a first computing node S220.
In the embodiment of the application, the first computing node can be located in a second network, and at least one computing node in the second network is interconnected by adopting a second network protocol. The first gateway device may be located in a first network.
If the first computing node has an access requirement facing the first network, the first computing node may encapsulate the first message according to a public network address (i.e., destination IP address IP ADDRESS, DIP) published by the Destination computing node to be accessed, and send the first message. The first message first arrives at a first gateway device at a second network boundary. The first gateway device may receive and parse the first message.
Illustratively, as shown in fig. 5, the second network may be an ethernet/IP network domain, and the second network protocol may be an ethernet/IP network protocol, such as an IPv4 network protocol, or an IPv6 network protocol. A different computing node (e.g., server) within the second network may implement intra-domain communication via an IPv4 network protocol or an IPv6 network protocol, or the like. The first network and the second network are heterogeneous networks, the first network may be a UB network domain, and the first network protocol may be a UB protocol. Different computing nodes (e.g., servers) within the first network may implement intra-domain communications via the UB network protocol. In other alternative embodiments, the first network protocol/second network protocol may be another type of communication protocol, which is not limited by the embodiment of the present application.
And S230, the first gateway equipment maps the first address carried in the first message to the second address according to the communication address conversion rule.
In the embodiment of the present application, the first message may be a request message, for example, a computing power acceleration request message from the first computing node.
The first address corresponds to a second network protocol. Taking the second network protocol as an IP protocol as an example, the first packet is an IP packet, where the first address may be an IP address, for example, including a source IP address and a destination IP address, and is carried in a header of the first packet, as shown in fig. 6.
In an alternative embodiment, the first gateway device may be preconfigured with an address mapping page table, and when implementing S230, the first gateway device may map, according to the address mapping page table and the address offset information obtained when implementing S210, a first address carried in the first packet to a second address, so as to use the second address to access a resource in the first network. The address mapping table may record a first mapping relationship, where the first mapping relationship may be used to characterize a mapping relationship between different public network addresses adopting the first network protocol and different public network addresses adopting the second network protocol.
Taking the example that the first network is a UB network, in a data center of the UB native private network, external services crossing the UB network can be provided for the external clients to access. In the deployment phase of the UB network, different computing nodes (e.g., servers) within the same network may be partitioned based on the granularity of the services, e.g., a group (or cluster) of at least one server within the UB network may collectively provide one service, i.e., different public network addresses may be associated with the same first service. The administrator may identify at least one service (e.g., denoted as a first service) that the UB network is capable of providing in an address format recognized by an external client (e.g., a client deployed at a first computing node) such that a public network address of the external client is bound to the at least one service that the UB network is capable of providing. The manager can configure the address mapping information in an input or selection manner through the management platform and provide the address mapping information to the outside. The first gateway device may obtain address mapping information entered or selected at the management platform and establish an address mapping page table based on the address mapping information. The address mapping page table may have a first mapping relationship recorded therein, where the first mapping relationship may be used to characterize a mapping relationship between different public network addresses using the first network protocol and a first service (specifically, a service port or a UB private network address associated with the service) provided by the UB network. When an external client sends a request to a UB network, the first gateway device can map a public network address carried in the request to a specific service in a table look-up mode, and provide corresponding service for the external client by utilizing available resources in the UB network.
Illustratively, the address mapping page table may be as shown in Table 1 below:
TABLE 1
It should be understood that table 1 is merely an example illustration of a service port/service associated UB private network address, an external public network address, and a mapping relationship therebetween, and is not intended to be limiting. In some embodiments, the mapping between the external public network address and the ubprivate network address associated with the service port/service may be N:1, where N is an integer greater than or equal to 1.
If the first address carried in the first packet as a key can hit the external public network address in table 1, the address conversion flow may be entered, that is, the first address is converted into a second address associated with the external public network address, for example, UB EID.
If the first address carried in the first message is used as the key and cannot be used for commanding the external public network address in the table 1, that is, the first address cannot be mapped to the second address, the first gateway device can discard the first message according to the exception handling, that is, discard the service access which cannot be identified by the first gateway device. Meanwhile, the first gateway device may trigger an update flow 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 refine the network type of the first network support access.
And S240, the first gateway equipment performs protocol conversion on the first message based on the second address and the first network protocol to obtain a second message.
In particular, the address information carried in the first packet is not limited to one type, for example, the IP packet may carry both the source IP address and the destination IP address, so the first address carried in the first packet may not be limited to one address. The first gateway device may combine to obtain a set of keys (keys) according to the previously determined communication address translation rule and according to different fields in the first message, and query the address stream 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 realized according to the content in the session table. If the session table does not exist, the first gateway device may also trigger the session table to be established for the message traffic and a corresponding action (action).
Illustratively, the contents of the session table may be as follows:
1) TCP/UDP scene:
the session information includes Key, namely the source IP address (source IP ADDRESS, SIP) of the message flow, DIP and a group of dynamic keys;
Action is SIP≡→SEID (N: 1 mapping from SEID configuration address pool), DIP≡→ DEID (DEID and DIP one-to-one mapping), and a set of dynamic keys is added.
2) RDMA scene:
the session information comprises Key, namely SIP, DIP and a group of dynamic keys of the message flow;
Action is SIP≡→SEID (N: 1 mapping is taken from the SEID configuration address pool), DIP≡→ DEID (DEID and DIP one-to-one mapping), a group of dynamic keys are added, and the UDP header of the message is stripped.
The SEID configuration address pool is a service port or a UB private network address associated with a service, which is preconfigured in table 1, and a plurality of different public network addresses may be mapped to the same SEID.
If the first gateway device queries the content of the session table of the TCP/UDP scenario of 1) above based on the SIP, DIP, and a set of dynamic keys carried in the first packet, when implementing S240, the first gateway device may follow the action recorded in the content of the session table, SIP using the second network protocol is converted (denoted by symbol "≡→") into SEID using the first network protocol, DIP using the second network protocol is converted into DEID using the first network protocol, and a set of dynamic keys in the third message is added at the same time, so as to realize the mapping between network addresses.
If the first gateway device queries the above 2) based on the SIP, DIP, and a set of dynamic keys in the third message carried in the first message
When implementing S240, the first gateway device may convert SIP into SEID, DIP into DEID, add a set of dynamic keys, and strip the UDP header of the message according to the action recorded in the session table content.
The first gateway device may perform conversion processing according to the content of the session table, encapsulate the content included in the first packet again to convert the content into a UB packet, and fill the UB packet with the destination address of the new write packet, for example DEID, and encapsulate the first packet to obtain the second packet.
And S250, the first gateway equipment sends the second message to a second computing node in the first network.
For example, the first network is a UB network, the same service is provided by at least one computing node, for example, at least one public network address is associated with the same first service, and the first gateway device may employ any one of a scheduling algorithm, a first-in-first-out scheduling algorithm, a polling scheduling algorithm or a lowest-load priority scheduling algorithm, in the second network, to determine the computing node capable of providing the first service as the second computing node. The embodiment of the application does not limit the service scheduling mode in the second network.
After the second computing node processes the second message, a response message can be fed back to the first computing node. As shown in fig. 7, the feedback process may include the steps of:
The second computing node encapsulates the fourth message by the address in the address pool, and queries the route in the first network domain and sends the route to the first gateway device.
And S710, the first gateway equipment receives a fourth message from the second computing node.
And S720, the first gateway equipment maps a fourth address carried in the fourth message to a 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. Similarly to S230, the first gateway device queries by querying the address mapping table and address offset information recorded in the session table, and if DEID carried in the fourth packet hits the address mapping table, it enters the address translation flow. Otherwise, the fourth message is lost.
And S730, the first gateway equipment performs protocol conversion on the fourth message based on the fifth address and the second network protocol to obtain a fifth message.
In the implementation, if the second network adopts the IP network protocol, the first gateway device may query the address flow session table according to the combination of fields in the fourth packet as a group key, and reversely convert the EID to the IP address. If the session table is not hit, the fourth message is discarded.
Illustratively, the session table content may be as follows:
1) TCP/UDP scene:
Key is SEID, DEID, a group of dynamic keys of message flow;
Action: SEID≡→SIP (SEID and SIP configuration 1:1 mapping), DEID ≡→DIP (DEID and DIP N:1 mapping, configuration in address pool), adding a set of dynamic keys.
2) RDMA scene:
key is a group of dynamic keys, namely a message flow SEID, a DEID;
Action: SEID≡→SIP (SEID and SIP configuration 1:1 mapping), DEID →DIP (DEID and DIP N:1 mapping, configuration in address pool), adding a group of dynamic keys, taking out UDP header port in the table, and packaging UDP message.
It should be understood that the contents of the session table described herein are the same as those described in connection with S430, and will not be described herein.
And S740, the first gateway equipment sends the fifth message, namely a response message, to the first computing node.
In the communication method, when interconnection and interworking between heterogeneous networks can be performed, a group of dynamic keys required to be used for the session are determined by negotiating through the protocol message, so that in the subsequent multiple interactions, many-to-one mapping between heterogeneous network addresses is realized based on the group of keys, and excessive occupation of address space is reduced while the interconnection and interworking between heterogeneous networks are realized. It should be understood that the above method embodiments are described by taking UB network and ethernet/IP network as examples, and in other embodiments, similar methods may be used to implement interconnection and interworking between other types of network architectures, which are not described herein. Therefore, through the method, the special EID address is set in the UB domain to represent an external network, the IP host address/network segment is set in the IP network domain to represent a certain network domain, and gateway equipment is additionally arranged in the UB network domain to realize conversion between different network addresses, so that interconnection and intercommunication between heterogeneous networks are realized, thereby realizing a network topology with large bandwidth and flexibility and expandability, reducing application communication delay and reducing system realization and deployment burden.
The embodiment of the present application further provides a communication device, which is configured to execute the method executed by the first gateway device in the above method embodiment, and related features may be referred to the above method embodiment, which is not described herein again.
As shown in fig. 8, the communication device 800 may include a determining unit 801 configured to determine a communication address conversion rule between a first network and a second network, where at least one computing node in the second network is interconnected by using a second network protocol, a communication interface 802 configured to receive a first packet from a first computing node in the second network, a mapping unit 803 configured to map, according to the communication address conversion rule, a first address carried in the first packet to a second address, and a conversion unit 804 configured to perform protocol conversion on the first packet based on the second address and the first network protocol to obtain a second packet, and the communication interface 802 is configured to send the second packet to the second computing node in the first network. For specific implementation, please refer to method steps implemented by the first device in the above method embodiment, which are not described herein.
It should be understood that the division of the units in the above apparatus is only a division of a logic function, and may be fully or partially integrated into one physical entity or may be physically separated. Furthermore, the units in the device may be implemented in the form of processor-invoked software, e.g. the device comprises a processor, which is connected to a memory, in which instructions are stored, the processor invoking the instructions stored in the memory for implementing any of the above methods or for implementing the functions of the units of the device, wherein the processor is e.g. a general purpose processor, such as a central processing unit (Central Processing Unit, CPU) or a microprocessor, and the memory is a memory within the device or a memory outside the device. Or the units in the apparatus may be implemented in the form of hardware circuits, where some or all of the units may be implemented as a design of hardware circuits, where the hardware circuits may be understood as one or more processors, e.g., in one implementation, an application-specific integrated circuit (ASIC), where some or all of the units may be implemented as a design of logic relationships between elements within the circuit, and in another implementation, some or all of the units may be implemented as programmable logic devices (programmable logic device, PLD), where a field programmable gate array (Field Programmable GATE ARRAY, FPGA) may include a number of logic gates, where the connection relationships between the logic gates are configured via a configuration file, to implement the functions of some or all of the units. All units of the above device may be realized in the form of processor calling software, or in the form of hardware circuits, or in part in the form of processor calling software, and in the rest in the form of hardware circuits.
In an 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 processor (graphics processing unit, GPU) (which may be understood as a microprocessor), or a digital signal processor (DIGITAL SINGNAL processor, DSP), etc., and in another implementation, the processor may implement a function through a logic relationship of a hardware circuit, where the logic relationship of the hardware circuit is fixed or reconfigurable, for example, the processor is a hardware circuit implemented by an ASIC or a PLD, such as an FPGA. In the reconfigurable hardware circuit, the processor loads the configuration document, and the process of implementing the configuration of the hardware circuit may be understood as a process of loading instructions by the processor to implement the functions of some or all of the above units. Furthermore, a hardware circuit designed for artificial intelligence may be also be considered as an ASIC, such as a neural network Processing Unit (Neural Network Processing Unit, NPU) tensor Processing Unit (Tensor Processing Unit, TPU), a deep learning Processing Unit (DEEP LEARNING Processing Unit, DPU), and the like.
It will be seen that each of the units in the above apparatus may be one or more processors (or processing circuits) configured to implement the above methods, e.g., CPU, GPU, NPU, TPU, DPU, a microprocessor, DSP, ASIC, FPGA, or a combination of at least two of these processor forms.
Furthermore, the units in the above apparatus may be integrated together in whole or in part, or may 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 methods above or for implementing the functions of the units of the apparatus, where the at least one processor may be of different types, including, for example, a CPU and an FPGA, a CPU and an artificial intelligence processor, a CPU and a GPU, and the like.
In a simple embodiment, one skilled in the art will appreciate that the communication means in the above embodiments may take the form of the computing device shown in fig. 9.
The apparatus 900, as shown in fig. 9, includes at least one processor 910 and a communication interface 930. In an alternative design, memory 920 may also be included.
The specific connection medium between the processor 910 and the memory 920 is not limited in the embodiment of the present application.
In the apparatus of fig. 9, the processor 910 may perform data transmission through the communication interface 930 when communicating with other devices.
When the communications apparatus takes the form shown in fig. 9, the processor 910 in fig. 9 can cause the apparatus 900 to perform any of the method embodiments described above by invoking computer-executable instructions stored in the memory 920.
The embodiment of the application also relates to a chip system, which comprises a processor for calling a computer program or computer instructions stored in a memory, so that the processor performs the method of any of the embodiments described above.
In one possible implementation, the processor may be coupled with the memory through an interface.
In one possible implementation, the system on a chip may also directly include a memory having a computer program or computer instructions stored therein.
By way of example, the memory may be volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory. The nonvolatile memory may be a read-only memory (ROM), a Programmable ROM (PROM), an erasable programmable ROM (erasable PROM), an electrically erasable programmable EPROM (EEPROM), or a flash memory. The volatile memory may be random access memory (random access memory, RAM) which acts as external cache memory. By way of example, and not limitation, many forms of RAM are available, such as static random access memory (STATIC RAM, SRAM), dynamic random access memory (DYNAMIC RAM, DRAM), synchronous Dynamic Random Access Memory (SDRAM), double data rate synchronous dynamic random access memory (doubledata RATE SDRAM, DDR SDRAM), enhanced synchronous dynamic random access memory (ENHANCED SDRAM, ESDRAM), synchronous link dynamic random access memory (SYNCHLINK DRAM, SLDRAM), and direct memory bus random access memory (direct rambus RAM, DR RAM).
The embodiments of the present application also relate to a processor for invoking a computer program or computer instructions stored in a memory to cause the processor to perform the method according to any of the embodiments above.
Illustratively, in an embodiment of the present application, the processor is an integrated circuit chip having signal processing capabilities. For example, the processor may be an FPGA, a general-purpose processor, a DSP, an ASIC or other programmable logic device, discrete gate or transistor logic, discrete hardware components, a system on chip (SoC), a CPU, a network processor (network processor, NP), a microcontroller (micro controller unit, MCU), a PLD or other integrated chip, or a combination thereof, may implement or perform the methods, steps, and logic blocks disclosed in embodiments of the application. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present application may be embodied directly in the execution of a hardware decoding processor, or in the execution of a combination of hardware and software modules in a decoding processor. The software modules may be located in a random access memory, flash memory, read only memory, programmable read only memory, or electrically erasable programmable memory, registers, etc. as well known in the art. The storage medium is located in a memory, and the processor reads the information in the memory and, in combination with its hardware, performs the steps of the above method.
It should be appreciated that embodiments of the present application may be provided as a method, system, or computer program product.
In one possible implementation, the present embodiment provides a computer readable storage medium storing program code that, when executed on the computer, causes the computer to perform the above-described method embodiment.
In one possible implementation, the present embodiment provides a computer program product which, when run on a computer, causes the computer to perform the above-described method embodiments.
Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It will be apparent to those skilled in the art that various modifications and variations can be made to the embodiments of the present application without departing from the scope of the embodiments of the application. Thus, if such modifications and variations of the embodiments of the present application fall within the scope of the claims and the equivalents thereof, the present application is also intended to include such modifications and variations. In various embodiments of the application, where terminology and/or descriptions of the various embodiments are consistent and may be referred to each other, unless specifically indicated as such and where logical conflict, features of different embodiments may be combined to form new embodiments in accordance with their inherent logical relationships.