Communication method and communication apparatus
By configuring WAN IP addresses for terminal devices and using protection parameters, the data transmission problem of RDMA technology in NAT scenarios is solved, enabling normal communication with low latency and high bandwidth.
Patent Information
- Application Number
- PCT/CN2025/079894
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-16
- Filing Date
- 2025-02-28
- Publication Date
- 2025-10-23
AI Technical Summary
In the NAT scenario, the source and destination addresses of RDMA data packets may be converted due to communication between the WAN and LAN, resulting in ICRC check failure and affecting the normal data transmission.
By configuring a wide area network IP address for the terminal device and using the first parameter to protect the data packets from being tampered with during data transmission, the destination address of the data packets can be correctly decoded at the receiving end, thus avoiding IP address translation problems caused by NAT technology.
It enables low-latency, high-bandwidth data transmission between terminal devices and network devices, avoiding data packet verification failures caused by NAT technology and ensuring normal communication.
Smart Images

Figure CN2025079894_23102025_PF_FP_ABST
Abstract
Description
A communication method and a communication apparatus
[0001] The present application claims priority to the Chinese Patent Application No. 202410462715.2, filed on April 16, 2024, and entitled "A communication method and a communication apparatus", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD
[0002] The present application relates to the field of wireless communication, and more particularly, to a communication method and a communication apparatus. BACKGROUND
[0003] Remote direct memory access (RDMA) is a network transmission technology to achieve high throughput and low latency requirements. In the RDMA technology, the memory is mapped to the network adapter, so that the terminal device and the network device can directly access and transmit data without the intervention of the central processing unit (CPU). The direct access to the memory in the RDMA technology can eliminate the overhead of the operating system kernel, thereby realizing low latency and high bandwidth data transmission.
[0004] At present, considering that the internet protocol version 4 (IPv4) addresses are about to be exhausted, a method of network address translation (NAT) is proposed to extend the time of IPv4 address allocation. In the NAT technology, the private network address of the device in the local area network is mainly converted into the public network address in the wide area network, so that the devices in multiple local area networks can share one public network address to access the external Internet, thereby ensuring network interconnection and saving public network addresses.
[0005] In the RDMA technology, the cyclic redundancy check (CRC) is generally used to detect whether there is an error algorithm in data transmission. Among them, the CRC includes invariant CRC (ICRC) and variant CRC (VCRC), and the ICRC is used to cover the fields that should not be changed when the data packet traversal structure is traversed. In the data transmission process of part of the RDMA protocol, the ICRC covers the internet protocol (IP) packet header, resulting in that the source address and the destination address of the IP address cannot be changed in the data packet transmission process.
[0006] It can be seen that in the NAT scenario, the source address and the destination address of the data packet can be converted due to the communication between the wide area network and the local area network. In this scenario, the ICRC in the transmitted data packet fails to be checked under the RDMA technology, and the receiving end refuses to receive the data packet, thereby affecting the normal transmission of data. Therefore, how the RDMA technology adapts to the new characteristics in the wireless scenario is a research hotspot at present. SUMMARY
[0007] Embodiments of the present application provide a communication method, which can ensure normal communication between a terminal device and a network when the RDMA technology faces a NAT scenario.
[0008] In a first aspect, a communication method is provided. The method can be performed by a first network element or a component (e.g., a chip or a circuit) of the first network element.
[0009] The method includes: receiving, by the first network element, first information, the first information being used to indicate that an Internet Protocol (IP) data packet is transmitted between a terminal device and a network device by a Remote Direct Access (RDMA) protocol, and / or being used to indicate a type of the RDMA protocol supported by the terminal device; and configuring, by the first network element, a wide area network (WAN) IP address for the terminal device according to the first information, the WAN IP address being used for transmitting the IP data packet between the terminal device and the network device, wherein the RDMA protocol transmits the IP data packet by using a first parameter, and the first parameter is used to protect the IP data packet from being tampered when the IP data packet is transmitted between the terminal device and the network device.
[0010] It should be understood that the WAN IP address in the present application can also be referred to as a public network IP address, and the local area network IP address can also be referred to as a private network IP address.
[0011] According to the method provided in the present application, the first network element configures a WAN IP address for the terminal device through the first information, and the terminal device transmits an IP data packet based on the WAN IP address corresponding to the terminal device and the network device. The method realizes that the terminal device and the network device can not only transmit the IP data packet by using the RDMA protocol to realize low-latency and high-bandwidth transmission, but also can avoid the problem that the network device and the terminal device cannot normally communicate due to the conversion between the WAN IP address corresponding to the terminal device and the local area network IP address corresponding to the terminal device caused by the NAT technology, which causes the first parameter to be decoded incorrectly.
[0012] In some possible implementation manners in combination with the first aspect, the first information includes one or more of the following:
[0013] a transmission type of the RDMA, a protocol type of the RDMA, or a service type of the RDMA.
[0014] In a possible implementation, the transmission type of the RDMA includes lossy or lossless.
[0015] In a possible implementation, the protocol type of the RDMA includes IB, RoCEv1, or RoCEv2.
[0016] In a possible implementation, the service type of the RDMA includes any one of the following: unreliable datagram UD, reliable datagram RC, unreliable connection UC, or reliable connection RD.
[0017] It should be understood that the RDMA protocol type can also be a related protocol that follows the IB transport protocol layer in the future, or it can be understood that the RDMA type can also be an RDMA protocol that specifically refers to a transport layer following the IB transport protocol, and the present application does not limit this.
[0018] With reference to the first aspect, in some possible implementations, the first network element configures the wide area network IP address for the terminal device according to the first information, including: in a case where a first condition is met, the first network element determines to configure the wide area network IP address for the terminal device according to the first information, where the first condition is related to the RDMA protocol.
[0019] In a possible implementation, the first condition includes any one or more of the following: the terminal device and the network device transmit a data message through the RDMA protocol, and the RDMA protocol type supported by both devices for transmitting the data message is IB, RoCEv1, RoCEv2, or an RDMA protocol that follows / relates to the IB transport protocol in the future.
[0020] With reference to the first aspect, in some possible implementations, the first network element receives the first information used to indicate the RDMA protocol type supported by the terminal device, including: the first network element sends first request information to a unified data management (UDM) network element, where the first request information is used to request to obtain the RDMA protocol type supported by the terminal device, and the first request information includes identification information of the terminal device; and the first network element receives the first information from the UDM network element.
[0021] With reference to the first aspect, in some possible implementations, the first network element configures the wide area network IP address for the terminal device according to the first information, including: the first network element sends first indication information to a user plane function (UPF) network element, where the first indication information is used to instruct the UPF network element to configure the wide area network IP address for the terminal device; or the first network element configures the wide area network IP address for the terminal device by itself according to the first information.
[0022] It should be understood that the first network element configuring the terminal device with the wide area network IP address can be that the first network element indicates the UPF network element to configure the terminal device with the wide area network IP address through the first indication information, or the first network element itself configures the terminal device with the wide area network IP address. Wherein, the first network element indicates the UPF to configure the terminal device with the wide area network IP address, and the UPF network element can select a wide area network IP address from the address resource pool to configure the terminal device.
[0023] In a second aspect, a communication method is provided, which can be executed by a terminal device, or can also be executed by a component (such as a chip or a circuit) of the terminal device, and no limitation is made in this regard.
[0024] The method comprises: the terminal device sending first information, the first information being used to indicate that the terminal device transmits data messages with a network device through a remote direct access RDMA protocol, and / or being used to indicate an RDMA protocol type supported by the terminal device; and the terminal device receiving a wide area network IP address, the wide area network IP address being used for transmitting the data messages between the terminal device and the network device, wherein the RDMA protocol transmits the data messages through a first parameter, and the first parameter is used to protect the data messages from being tampered when the terminal device and the network device transmit the data messages.
[0025] According to the method provided in the present application, it is considered that in the process of transmitting data messages between the terminal device and the network device, the destination address of the data messages is modified by a network element with a NAT function. If the terminal device still decodes the data messages based on the local area network IP address corresponding to the terminal device after receiving the data messages with the modified destination address, the destination address of the data messages is modified by the network element with the NAT function, which causes the data message check to fail, and the communication between the terminal device and the network device fails. In the method, the terminal device indicates the first network element through the first information that the terminal device transmits the data messages with the network device through the RDMA protocol, and / or the RDMA protocol type supported by the terminal device. The terminal device receives the wide area network IP address configured by the first network element for the terminal device, and the terminal device transmits the data messages with the network device based on the wide area network IP address corresponding to the terminal device. Correspondingly, the terminal device checks the received data messages based on the wide area network IP address corresponding to the terminal device, so that the terminal device and the network device can not only transmit the data messages through the RDMA protocol to realize low latency and high bandwidth transmission, but also can avoid the conversion between the wide area network IP address corresponding to the terminal device and the local area network IP address corresponding to the terminal device caused by the NAT technology, so as to avoid the decoding error of the first parameter and the problem that the terminal device and the network device cannot normally communicate.
[0026] It should be understood that the second aspect corresponds to the first aspect described above, and the specific technical effects and related descriptions can be referred to the detailed description of the first aspect.
[0027] In a third aspect, a communication method is provided. The method can be performed by a first network element, or can be performed by a component (such as a chip or a circuit) of the first network element, and the component is not limited.
[0028] The method includes: receiving, by the first network element, first information, the first information being used to indicate that a terminal device and a network device transmit data packets through a remote direct access (RDMA) protocol, and / or being used to indicate a type of RDMA protocol supported by the terminal device; and sending, by the first network element, second indication information to an application function (AF) network element according to the first information, the second indication information being used to indicate that a property of a queue pair (QP) link is determined according to an intranet IP address corresponding to the terminal device, the QP link being a link through which the terminal device and the network device transmit the data packets through the RDMA protocol, wherein the RDMA protocol transmits the data packets through a first parameter, and the first parameter is used to protect the data packets from being tampered when the terminal device and the network device transmit the data packets.
[0029] According to the method provided in the present application, considering that the RDMA protocol transmits data packets through a first parameter, and the first parameter is used to protect the data packets from being tampered during transmission, the first network element indicates, through the second indication information, that the property of the QP link is determined according to the intranet IP address corresponding to the terminal device, so that the network device considers the intranet IP address corresponding to the terminal device when determining the property of the QP link. Correspondingly, after receiving the data packets, the terminal device can successfully decode the destination address in the first parameter based on the intranet IP address corresponding to the terminal device. This method avoids the problem that the destination address check of the receiving terminal device fails due to the NAT technology, resulting in the failure of the data packet check, and ensures that the terminal device and the network device can transmit data packets through the RDMA protocol.
[0030] In some possible implementation manners in combination with the third aspect, the property of the QP link includes: a first address, a second address, and an encoding mode of the first parameter, wherein the first address is a wide area network IP address corresponding to the network device, the second address is a wide area network IP address corresponding to the terminal device, and the encoding mode of the first parameter includes encoding the first parameter based on the intranet IP address corresponding to the terminal device and the wide area network IP address corresponding to the network device.
[0031] It should be understood that the first address can be a destination address of the QP link or a source address, and the second address can be a destination address of the QP link or a source address. When the first address is the destination address, the second address is the source address; when the first address is the source address, the second address is the destination address.
[0032] In some possible implementation manners, the first information includes one or more of the following: a transmission type of the RDMA, a protocol type of the RDMA, or a service type of the RDMA.
[0033] In one possible implementation manner, the transmission type of the RDMA includes lossy or lossless; the protocol type of the RDMA includes IB, RoCEv1, or RoCEv2; and the service type of the RDMA includes any one of the following: unreliable datagram UD, reliable datagram RD, unreliable connection UC, or reliable connection RC.
[0034] It should be understood that the RDMA type can also be a related protocol of a future IB transmission protocol layer, which is not limited in the present application.
[0035] In some possible implementation manners, the first network element receives the first information, including: the first network element sends first request information to a unified data management (UDM) network element, the first request information being used to request to obtain an RDMA protocol type supported by the terminal device, and the first request information including identification information of the terminal device; and the first network element receives the first information from the UDM network element.
[0036] A fourth aspect provides a communication method, which can be executed by an AF network element or a component (for example, a chip or a circuit) of the AF network element, and is not limited in this regard.
[0037] The method includes: an AF network element receiving second indication information, the second indication information being used to indicate to determine a property of a queue pair (QP) link according to a local area network (LAN) IP address corresponding to a terminal device, the QP link being a link through which the terminal device and a network device transmit data packets by using a remote direct access (RDMA) protocol; the AF network element obtaining the LAN IP address corresponding to the terminal device according to the second indication information; and the AF network element sending second information to the network device, the second information including the LAN IP address corresponding to the terminal device, and the second information being used to instruct the network device to generate a first parameter according to the LAN IP address corresponding to the terminal device, wherein the RDMA protocol transmits the data packets by using the first parameter, and the first parameter is used to protect the data packets from being tampered when the terminal device and the network device transmit the data packets.
[0038] It should be understood that the fourth aspect corresponds to the technical solutions in the third aspect described above, and the technical effects and related descriptions of the fourth aspect can be referred to the detailed description of the third aspect.
[0039] In a fifth aspect, a communication method is provided. The method can be performed by a first network element, or can be performed by a component (for example, a chip or a circuit) of the first network element, and the component is not limited.
[0040] The method includes: receiving, by the first network element, first information. The first information is used to indicate that a terminal device and a network device transmit data packets through a remote direct access (RDMA) protocol, and / or is used to indicate an RDMA protocol type supported by the terminal device. According to the first information, the first network element sends third indication information to a user plane function (UPF) network element. The third indication information is used to instruct the UPF network element to send a wide area network (WAN) IP address corresponding to the terminal device to the terminal device. The WAN IP address corresponding to the terminal device is obtained by performing network address translation (NAT) on a local area network (LAN) IP address corresponding to the terminal device.
[0041] According to the method provided in the present application, the RDMA protocol is considered to transmit data packets through a first parameter, and the first parameter is used to protect the data packets from being tampered with during transmission. The first network element instructs the UPF network element to send the WAN IP address corresponding to the terminal device to the terminal device through the third indication information. If the specific content of the data packet is not tampered with during transmission, the terminal device receives the data packet, and based on the WAN IP address corresponding to the terminal device, the first parameter protecting the data packet can be successfully decoded, so that the data packet passes the verification, and it is ensured that the data packet transmitted between the terminal device and the network device through the RDMA protocol can be correctly received.
[0042] In combination with the fifth aspect, in some possible implementation manners, before the first network element sends the third indication information to the UPF network element according to the first information, the method further includes: obtaining, by the first network element, the WAN IP address corresponding to the terminal device from a network element having the NAT function.
[0043] In a sixth aspect, a communication method is provided. The method can be performed by a UPF network element, or can be performed by a component (for example, a chip or a circuit) of the UPF network element, and the component is not limited.
[0044] The user plane function (UPF) network element receives third indication information from the first network element, the third indication information being used to instruct the UPF network element to send a wide area network (WAN) IP address corresponding to the terminal device to the terminal device, the WAN IP address corresponding to the terminal device being obtained by performing network address translation (NAT) on a local area network (LAN) IP address corresponding to the terminal device; and the UPF network element sends third information to the terminal device according to the third indication information, the third information being used to determine a property of a queue pair (QP) link, the QP link being a link between the terminal device and a network device for transmitting data packets by using a remote direct access (RDMA) protocol, and the third information including the WAN IP address corresponding to the terminal device, wherein the RDMA protocol transmits the data packets by using a first parameter, and the first parameter is used to protect the data packets from being tampered when the data packets are transmitted between the terminal device and the network device.
[0045] It should be understood that the sixth aspect corresponds to the technical solution in the above-mentioned fifth aspect, and the technical effects and related descriptions of the sixth aspect can be referred to the detailed introduction of the fifth aspect.
[0046] In combination with the sixth aspect, in some possible implementation manners, the property of the QP link includes a first address, a second address, and a decoding manner of the first parameter, wherein the first address is a WAN IP address corresponding to the network device, the second address is a WAN IP address corresponding to the terminal device, and the decoding manner of the first parameter includes encoding the first parameter based on the WAN IP address corresponding to the terminal device and the WAN IP address corresponding to the network device.
[0047] The seventh aspect provides a communication method, which can be executed by a terminal device or a component (for example, a chip or a circuit) of the terminal device, and the execution is not limited.
[0048] The method includes: receiving, by a terminal device, third information from a user plane function (UPF) network element, the third information being used to determine a property of a queue pair (QP) link, the QP link being a link between the terminal device and a network device for transmitting data packets by using a remote direct access (RDMA) protocol, and the third information including a wide area network (WAN) IP address corresponding to the terminal device; and decoding, by the terminal device, a first parameter based on the WAN IP address corresponding to the terminal device, wherein the RDMA protocol transmits the data packets by using the first parameter, and the first parameter is used to protect the data packets from being tampered when the data packets are transmitted between the terminal device and the network device.
[0049] According to the method provided in the application, the terminal device receives third information including a wide area network IP address corresponding to the terminal device, and determines the attribute of the QP link according to the third information. Wherein, the terminal device can decode the first parameter of the data packet received through the QP link based on the wide area network IP address corresponding to the terminal device, so that when the data packet is verified, it is not affected by the replacement of the destination IP address caused by the NAT (for example, the destination IP address is modified from the wide area network IP address corresponding to the terminal device to the local area network IP address corresponding to the terminal device), resulting in a failed verification, and ensuring that the terminal device and the network device can normally communicate through the RDMA protocol to transmit the data packet.
[0050] In combination with the seventh aspect, in some possible implementation manners, the terminal device decodes the first parameter according to the wide area network IP address corresponding to the terminal device, including: the terminal device replaces the destination address in the data packet with the wide area network IP address corresponding to the terminal device; the terminal device decodes the first parameter; or the terminal device replaces the destination address in the first parameter with the wide area network IP address corresponding to the terminal device, and decodes the first parameter.
[0051] It should be understood that the terminal device modifies the destination address in the data packet received through the QP link to the wide area network IP address corresponding to the terminal device, ensures the correctness of the decoding of the first parameter by the terminal device, and realizes the normal communication between the network device and the terminal device.
[0052] In combination with the seventh aspect, in some possible implementation manners, the attribute of the QP link includes: a first address, a second address and a decoding manner of the first parameter, wherein the first address is a wide area network IP address corresponding to the network device, the second address is a wide area network IP address corresponding to the terminal device, and the decoding manner of the first parameter includes encoding the first parameter based on the wide area network IP address corresponding to the terminal device and the wide area network IP address corresponding to the network device.
[0053] The eighth aspect provides a communication method, which can be executed by a first network element, or can also be executed by a component (such as a chip or a circuit) of the first network element, and the limitation is not made to this.
[0054] The method comprises: a first network element receiving first information, the first information being used to indicate that a terminal device and a network device transmit data messages through a remote direct access (RDMA) protocol, and / or being used to indicate an RDMA protocol type supported by the terminal device; and the first network element sending fourth indication information to a relay node with a network address translation (NAT) function according to the first information, the fourth indication information being used to indicate that a destination address of the data messages transmitted between the terminal device and the network device is an IP address of the relay node, wherein the RDMA protocol transmits the data messages through a first parameter, and the first parameter is used to protect the data messages from being tampered when the terminal device and the network device transmit the data messages.
[0055] According to the method provided in the application, the first network element indicates, through the fourth indication information, that a destination address of data messages transmitted between a terminal device and a network device is an IP address of a relay node with a NAT function, and the relay node is used to convert the data messages transmitted between the terminal device and the network device, so that the data messages can be correctly transmitted between a local area network IP address corresponding to the terminal device and a wide area network IP address corresponding to the network device, and normal transmission of the data messages transmitted between the terminal device and the network device through the RDMA protocol is ensured.
[0056] In combination with the eighth aspect, in some possible implementation manners, the method further comprises: the first network element sending first request information to a unified data management (UDM) network element, the first request information being used to request to acquire an RDMA protocol type supported by the terminal device, and the first request information comprising identification information of the terminal device; and the first network element receiving first information from the UDM network element.
[0057] The ninth aspect provides a communication method, which can be executed by a relay node or a component (for example, a chip or a circuit) of the relay node, and the component is not limited.
[0058] The method comprises: a relay node receiving fourth indication information from a first network element, the fourth indication information being used to indicate that a destination address of data messages transmitted between a terminal device and a network device is an IP address of the relay node, wherein the relay node has a network address translation (NAT) function, the data messages are transmitted between the relay node and the terminal device through a first parameter, and the first parameter is used to protect the data messages from being tampered when the terminal device and the network device transmit the data messages.
[0059] It should be understood that the ninth aspect corresponds to the technical solution in the eighth aspect described above, and the technical effects and related descriptions of the ninth aspect can be referred to the detailed description of the eighth aspect.
[0060] With reference to the ninth aspect, in some possible implementation manners, the method further includes: sending, by the relay node, a first message to the terminal device, the first message being used to indicate that a transmission address of a data packet is a local area network IP address corresponding to the relay node; and sending, by the relay node, a second message to the network device, the second message being used to indicate that the transmission address of the data packet is a wide area network IP address corresponding to the relay node.
[0061] It should be understood that the transmission address of the data packet can be a destination address of the data packet, or a source address of the data packet.
[0062] With reference to the ninth aspect, in some possible implementation manners, the method further includes: receiving, by the relay node, a first data packet from the terminal device, a source address of the first data packet being a local area network IP address corresponding to the terminal device, and a destination address of the first data packet being a local area network IP address corresponding to the relay node; and sending, by the relay node, a second data packet to the network device, the second data packet being a packet in which a source address of the first data packet is changed to a wide area network IP address corresponding to the relay node, and a destination address of the first data packet is changed to a wide area network IP address corresponding to the network device.
[0063] With reference to the ninth aspect, in some possible implementation manners, the method further includes: receiving, by the relay node, a third data packet from the network device, a source address of the third data packet being a wide area network IP address corresponding to the network device, and a destination address of the third data packet being a wide area network IP address corresponding to the relay node; and sending, by the relay node, a fourth data packet to the network device, the fourth data packet being a packet in which a source address of the third data packet is changed to a wide area network IP address corresponding to the relay node, and a destination address of the third data packet is changed to a wide area network IP address corresponding to the terminal device.
[0064] The tenth aspect provides a communication apparatus, including: a transceiver module and a processing module. The transceiver module is configured to receive first information, the first information being used to indicate that a terminal device and a network device transmit an Internet protocol data packet through a remote direct access RDMA protocol, and / or being used to indicate an RDMA protocol type supported by the terminal device. The processing module is configured to configure a wide area network IP address for the terminal device according to the first information, the wide area network IP address being used for the terminal device and the network device to transmit the data packet, wherein the RDMA protocol transmits the data packet through a first parameter, and the first parameter is used to protect the data packet from being tampered when the terminal device and the network device transmit the data packet.
[0065] The transceiver module can perform the receiving and sending processing in the first aspect, and the processing module can perform other processing in the first aspect except for receiving and sending.
[0066] In a eleventh aspect, a communication apparatus is provided, comprising: a transceiver module. The transceiver module is configured to send first information, the first information being used to indicate that a terminal device and a network device transmit Internet protocol datagrams through a remote direct access RDMA protocol, and / or the first information being used to indicate a type of RDMA protocol supported by the terminal device. The transceiver module is further configured to receive a wide area network IP address, the wide area network IP address being used for transmitting the datagrams between the terminal device and the network device. The RDMA protocol transmits the datagrams through a first parameter, and the first parameter is used to protect the datagrams from being tampered when the terminal device and the network device transmit the datagrams.
[0067] The transceiver module can perform the receiving and sending processing in the second aspect.
[0068] In a possible implementation, the communication apparatus further comprises a processing module, which can perform other processing in the second aspect except for receiving and sending.
[0069] In a twelfth aspect, a communication apparatus is provided, comprising: a transceiver module and a processing module. The transceiver module is configured to receive first information, the first information being used to indicate that a terminal device and a network device transmit Internet protocol datagrams through a remote direct access RDMA protocol, and / or the first information being used to indicate a type of RDMA protocol supported by the terminal device. The processing module is configured to send, to an application function AF network element, second indication information through the transceiver module according to the first information, the second indication information being used to indicate that a property of a queue pair QP link is determined according to a local area network IP address corresponding to the terminal device, the QP link being a link through which the terminal device and the network device transmit the datagrams through the RDMA protocol. The RDMA protocol transmits the datagrams through a first parameter, and the first parameter is used to protect the datagrams from being tampered when the terminal device and the network device transmit the datagrams.
[0070] The transceiver module can perform the receiving and sending processing in the third aspect, and the processing module can perform other processing in the third aspect except for receiving and sending.
[0071] In a thirteenth aspect, a communication apparatus is provided, which comprises a transceiver module and a processing module. The transceiver module is configured to receive second indication information, the second indication information being used to indicate that a property of a queue pair (QP) link is determined according to a local area network (LAN) IP address of a terminal device, the QP link being a link between the terminal device and a network device for transmitting Internet protocol (IP) datagrams by using a remote direct access (RDMA) protocol, and the second information comprising a private network IP address of the terminal device. The processing module is configured to acquire the LAN IP address of the terminal device according to the second indication information by using the transceiver module. The transceiver module is further configured to send second information to the network device, the second information comprising the LAN IP address of the terminal device, and the second information being used to instruct the network device to generate a first parameter according to the private network IP address of the terminal device, wherein the RDMA protocol transmits the IP datagrams by using the first parameter, and the first parameter is used to protect the IP datagrams from being tampered when the IP datagrams are transmitted between the terminal device and the network device.
[0072] The transceiver module can perform the receiving and sending processes in the fourth aspect, and the processing module can perform other processes in the fourth aspect except for the receiving and sending processes.
[0073] In a fourteenth aspect, a communication apparatus is provided, which comprises a transceiver module and a processing module. The transceiver module is configured to receive first information, the first information being used to indicate that IP datagrams are transmitted between a terminal device and a network device by using a remote direct access (RDMA) protocol, and / or being used to indicate a type of RDMA protocol supported by the terminal device. The processing module is configured to send second indication information to a user plane function (UPF) network element by using the transceiver module according to the first information, the second indication information being used to instruct the UPF network element to send a wide area network (WAN) IP address of the terminal device to the terminal device, the WAN IP address of the terminal device being obtained by performing network address translation (NAT) on a LAN IP address of the terminal device.
[0074] The transceiver module can perform the receiving and sending processes in the fifth aspect, and the processing module can perform other processes in the fifth aspect except for the receiving and sending processes.
[0075] In a fifteenth aspect, a communication apparatus is provided, which comprises a transceiver module and a processing module. The transceiver module is configured to receive third indication information from a first network element, the third indication information being used to instruct the UPF network element to send a wide area network IP address corresponding to a terminal device to the terminal device, the wide area network IP address corresponding to the terminal device being obtained by performing network address translation (NAT) on a local area network IP address corresponding to the terminal device; and the processing module is configured to send, according to the third indication information, third information to the terminal device through the transceiver module, the third information being used to instruct to determine a property of a queue pair (QP) link according to the wide area network IP address corresponding to the terminal device, the QP link being a link between the terminal device and a network device for transmitting data packets through a remote direct access (RDMA) protocol, and the third information comprising the wide area network IP address corresponding to the terminal device, wherein the RDMA protocol transmits the data packets through a first parameter, and the first parameter is used to protect the data packets from being tampered when the data packets are transmitted between the terminal device and the network device.
[0076] The transceiver module can perform the receiving and sending processes in the sixth aspect described above. The processing module can perform other processes in the sixth aspect described above except for the receiving and sending processes.
[0077] In a sixteenth aspect, a communication apparatus is provided, which comprises a transceiver module and a processing module. The transceiver module is configured to receive third information from a user plane function (UPF) network element, the third information being used to determine a property of a queue pair (QP) link, the QP link being a link between a terminal device and a network device for transmitting data packets through a remote direct access (RDMA) protocol, and the third information comprising a wide area network IP address corresponding to the terminal device; and the processing module is configured to decode a first parameter according to the wide area network IP address corresponding to the terminal device, wherein the RDMA protocol transmits the data packets through the first parameter, and the first parameter is used to protect the data packets from being tampered when the data packets are transmitted between the terminal device and the network device.
[0078] The transceiver module can perform the receiving and sending processes in the seventh aspect described above. The processing module can perform other processes in the seventh aspect described above except for the receiving and sending processes.
[0079] In a seventeenth aspect, a communication apparatus is provided, which comprises a transceiver module and a processing module. The transceiver module is configured to receive first information, the first information being used to indicate that Internet Protocol datagrams are transmitted between a terminal device and a network device via a Remote Direct Access (RDMA) protocol, and / or to indicate a type of RDMA protocol supported by the terminal device. The processing module is configured to send, to a relay node having a Network Address Translation (NAT) function, fourth indication information via the transceiver module, the fourth indication information being used to indicate that a destination address of the datagrams transmitted between the terminal device and the network device is an IP address of the relay node, wherein the RDMA protocol transmits the datagrams via a first parameter used to protect the datagrams from being tampered when the datagrams are transmitted between the terminal device and the network device.
[0080] The transceiver module can perform the receiving and sending processes in the eighth aspect described above. The processing module can perform the processes other than the receiving and sending processes in the eighth aspect described above.
[0081] In an eighteenth aspect, a communication apparatus is provided, which comprises a transceiver module. The transceiver module is configured to receive fourth indication information from a first network element, the fourth indication information being used to indicate that a destination address of Internet Protocol datagrams transmitted between a terminal device and a network device is an IP address of a relay node, wherein the relay node has a Network Address Translation (NAT) function, and the datagrams are transmitted between the relay node and the network device via a first parameter used to protect the datagrams from being tampered when the datagrams are transmitted between the terminal device and the network device.
[0082] The transceiver module can perform the receiving and sending processes in the ninth aspect described above.
[0083] In a possible implementation, the communication apparatus further comprises a processing module, which can perform the processes other than the receiving and sending processes in the ninth aspect described above.
[0084] In a nineteenth aspect, a communication system is provided, which comprises the first network element and an AF network element, or the first network element and a UPF network element, or the first network element and a relay network element.
[0085] In a twentieth aspect, a communication apparatus is provided, which comprises a transceiver module and a processing module. The transceiver module is configured to perform the steps of receiving and sending information in the methods provided in the aspects described above. The processing module is configured to perform the steps of processing in the methods provided in the aspects described above.
[0086] In a twenty-first aspect, a communication apparatus is provided. The apparatus includes a memory configured to store a program, and a processor configured to execute the program stored in the memory. When the program stored in the memory is executed, the processor is configured to perform the method provided in any of the aspects.
[0087] In a twenty-second aspect, a processor is provided. The processor is configured to perform the method provided in any of the aspects. In performing the methods, the processes of sending and obtaining / receiving the information in the methods can be understood as processes of outputting the information by the processor and processes of receiving the input information by the processor. In outputting the information, the processor outputs the information to a transceiver so as to be transmitted by the transceiver. The information can be further processed after being output by the processor and then reaches the transceiver. Similarly, in receiving the input information by the processor, the transceiver obtains / receives the information and inputs the information to the processor. Furthermore, the information can be further processed after being received by the transceiver and then input to the processor.
[0088] Based on the above principle, for example, the receiving request message mentioned in the foregoing method can be understood as the processor receiving the input information.
[0089] For the transmitting, sending and obtaining / receiving operations of the processor, if no special description is made, or if it does not contradict the actual role or inherent logic in the related description, it can be more generally understood as the processor outputting and receiving, inputting, rather than the transmitting, sending and receiving operations directly performed by the radio frequency circuit and the antenna.
[0090] In the implementation process, the processor can be a processor specially used for executing the methods, or a processor executing computer instructions in a memory to execute the methods, such as a general processor. The memory can be a non-transitory memory, such as a read only memory (ROM), which can be integrated on the same chip with the processor, or can be separately arranged on different chips. The type of the memory and the arrangement manner of the memory and the processor are not limited in the embodiments of the present application.
[0091] In a twenty-third aspect, a computer readable storage medium is provided. The computer readable medium stores program codes for execution by an apparatus. The program codes include codes for performing the method provided in any of the aspects.
[0092] In a twenty-fourth aspect, a computer program product including instructions is provided. When the computer program product is run on a computer, the computer is caused to perform the method provided in any of the aspects.
[0093] In a twenty-fifth aspect, a chip is provided, which includes a processor and a communication interface, the processor reads instructions stored on a memory through the communication interface, and is configured to execute the method provided in the above aspects.
[0094] Optionally, as an implementation manner, the chip can further include a memory, the memory stores instructions, and the processor is configured to execute the instructions stored on the memory, and when the instructions are executed, the processor is configured to execute the method provided in the above aspects. BRIEF DESCRIPTION OF DRAWINGS
[0095] FIG. 1 is a schematic diagram of a network architecture 100 provided in the present application.
[0096] FIG. 2 is a schematic diagram of an RDMA storage copy.
[0097] FIG. 3 is a schematic diagram of a packet structure of an IB protocol.
[0098] FIG. 4 is a schematic diagram of a packet structure of a RoCE protocol.
[0099] FIG. 5 is a schematic diagram of Qos mapping in 5G.
[0100] FIG. 6 is a schematic flowchart of a communication method provided in an embodiment of the present application.
[0101] FIG. 7 is a schematic flowchart of another communication method provided in an embodiment of the present application.
[0102] FIG. 8 is a schematic flowchart of another communication method provided in an embodiment of the present application.
[0103] FIG. 9 is a schematic flowchart of another communication method provided in an embodiment of the present application.
[0104] FIG. 10 is a schematic flowchart of another communication method provided in an embodiment of the present application.
[0105] FIG. 11 is a schematic block diagram of a communication apparatus 10 provided in an embodiment of the present application.
[0106] FIG. 12 is a schematic diagram of another communication apparatus 20 provided in an embodiment of the present application.
[0107] FIG. 13 is a schematic diagram of a chip system 30 provided in an embodiment of the present application. DETAILED DESCRIPTION
[0108] The technical solutions in the present application will be described below with reference to the accompanying drawings.
[0109] The technical solutions provided in the present application can be applied to various communication systems, for example: a new radio (NR) system, a long term evolution (LTE) system, an LTE frequency division duplex (FDD) system, an LTE time division duplex (TDD) system, and the like.
[0110] A public land mobile network (PLMN) is a network established and operated by a government or its approved operator for the purpose of providing public land mobile communication services to the public, mainly a public network in which a mobile network operator (MNO) provides mobile broadband access services to users. The PLMN can also be referred to as an operator network. The PLMN described in the embodiments of the present application can be a network conforming to the requirements of the 3rd generation partnership project (3GPP) standard, referred to as a 3GPP network. The 3GPP network usually includes but is not limited to a 5th generation mobile communication (5G) network, referred to as a 5G network, a 4th-generation mobile communication (4G) network, referred to as a 4G network, and other future communication systems, such as a 6th-generation mobile communication (6G) network, and the like.
[0111] For the convenience of description, the embodiments of the present application will be described taking the PLMN as a 5G network as an example.
[0112] FIG. 1 is a schematic diagram of a network architecture provided by the present application, taking a 5G network architecture based on a service-based architecture (SBA) in a non-roaming scenario defined in the 3GPP standardization process as an example. As shown in FIG. 1, the network architecture can include three parts, which are a terminal device part, a data network (DN), and an operator network (i.e., a PLMN) part. The functions of the network elements of each part are briefly described below. The operator network part can include but is not limited to a (radio) access network ((R)AN) 120 and a core network (CN) part.
[0113] The terminal device part can include a terminal device 110, which can also be referred to as a user equipment (UE). The terminal device 110 in this application is a device with wireless transceiver function, which can communicate with one or more core network (CN) network elements through an access network device (or also referred to as an access device) in the (R)AN. The terminal device 110 can also be referred to as an access terminal, a terminal, a user unit, a user station, a mobile station, a mobile station, a remote station, a remote terminal, a mobile device, a user terminal, a user agent, or a user device, etc. The terminal device 110 can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; can also be deployed on water (such as ships, etc.); can also be deployed in the air (such as airplanes, balloons and satellites, etc.). The terminal device 110 can be a cellular phone, a cordless phone, a session initiation protocol (SIP) phone, a smart phone, a mobile phone, a wireless local loop (WLL) station, a personal digital assistant (PDA) computer, a handheld device, a laptop computer, a machine type communication (MTC) terminal, or other devices that can access a network, etc. Alternatively, the terminal device 110 can also be a handheld device, a computing device with wireless communication function, or other devices connected to a wireless modem, a vehicle-mounted device, a wearable device, a unmanned aerial vehicle device, or a terminal in Internet of Things, Internet of Vehicles, 5G network, and future network, any form of terminal in future network, relay user equipment, or terminal in future evolved 6G network, etc. Among them, the relay user equipment can be, for example, a 5G residential gateway (RG). For example, the terminal device 110 can be a virtual reality (VR) terminal, an augmented reality (AR) terminal, a wireless terminal in industrial control, a wireless terminal in self driving, a wireless terminal in remote medical, a wireless terminal in smart grid, a wireless terminal in transportation safety, a wireless terminal in smart city, a wireless terminal in smart home, etc.The terminal device herein refers to a 3GPP terminal. The embodiments of the present application do not limit the type or category of the terminal device. For ease of description, the embodiments of the present application are described below by taking a UE as an example.
[0114] The (R)AN 120 can be regarded as a subnetwork of the operator network, and is an implementation system between the service node of the operator network and the terminal device 110. To access the operator network, the terminal device 110 first accesses the (R)AN 120, and then can be connected to the service node of the operator network through the (R)AN 120. The access network device (RAN device) in the embodiments of the present application is a device that provides wireless communication functions for the terminal device 110, and can also be referred to as a network device. The RAN device includes but is not limited to: a next generation node base station (gNB) in a 5G system, an evolved node B (eNB) in a long term evolution (LTE) system, a radio network controller (RNC), a node B (NB), a base station controller (BSC), a base transceiver station (BTS), a home base station (for example, a home evolved node B or a home node B, HNB), a base band unit (BBU), a transmitting and receiving point (TRP), a transmitting point (TP), a pico base station device, a mobile switching center, or a network device in a future network, etc. In systems using different wireless access technologies, the names of devices with access network device functions may be different. For ease of description, all embodiments of the present application collectively refer to the above-described devices that provide wireless communication functions for the terminal device 110 as access network devices or simply as RAN or AN. It should be understood that the specific type of the access network device is not limited herein.
[0115] The CN part can include, but is not limited to, the following network functions (NFs): a user plane function (UPF) network element 130, a network exposure function (NEF) network element 131, a network function repository function (NRF) network element 132, a policy control function (PCF) network element 133, a unified data management (UDM) network element 134, a unified data repository (UDR) network element 135, a network data analytics function (NWDAF) network element 136, an authentication server function (AUSF) network element 137, an access and mobility management function (AMF) network element 138, a session management function (SMF) network element 139.
[0116] In the present application, the network functions can also be referred to as network elements.
[0117] The data network DN 140, which can also be referred to as a packet data network (PDN), is usually a network located outside the operator network, for example, a third-party network. Of course, in some implementations, the DN can also be deployed by the operator, that is, the DN belongs to a part of the PLMN. The present application does not limit whether the DN belongs to the PLMN. The PLMN can access multiple data networks DN 140, and multiple services can be deployed on the data network DN 140 to provide data and / or voice services for the terminal device 110. For example, the data network DN 140 can be a private network of a certain smart factory, and the sensors installed in the workshop of the smart factory can be terminal devices 110. A control server of the sensors is deployed in the data network DN 140, and the control server can provide services for the sensors. The sensors can communicate with the control server, obtain instructions from the control server, and transmit the collected sensor data to the control server according to the instructions. For another example, the data network DN 140 can be an internal office network of a certain company, and the mobile phones or computers of employees of the company can be terminal devices 110. The mobile phones or computers of the employees can access information and data resources on the internal office network of the company. The terminal device 110 can establish a connection with the operator network through an interface (for example, N1) provided by the operator network, and use data and / or voice services provided by the operator network. The terminal device 110 can also access the data network DN 140 through the operator network, use operator services and / or third-party services deployed on the data network DN 140.
[0118] The following further briefly describes the part of the NF functions contained in the CN.
[0119] 1. The SMF network element 139 is responsible for user plane network element selection, user plane network element redirection, internet protocol (IP) address allocation, establishment, modification and release of bearers, and quality of service (QoS) control.
[0120] 2. The UPF network element 134 is responsible for forwarding and receiving user data in the terminal device. User data can be received from the data network and transmitted to the terminal device through the access network device; the UPF network element can also receive user data from the terminal device through the access network device and forward it to the data network. The transmission resources and scheduling functions provided by the UPF network element for the terminal device are managed and controlled by the SMF network element.
[0121] 3. The PCF network element 133 mainly supports providing a unified policy framework to control network behavior, providing policy rules to control layer network functions, and being responsible for obtaining user subscription information related to policies.
[0122] 4. The NRF network element 132 is a control plane function provided by the operator, which can be used to maintain real-time information of network functions, services in the network. For example, support network service discovery, maintain NF profile supported services, support discovery of service communication proxy (SCP), maintain SCP profile of SCP instance, send notifications about newly registered, deregistered, updated NF and SCP, maintain health status of NF and SCP running, etc.
[0123] 5. The UDM network element 134 is a control plane function provided by the operator, which is responsible for storing the information of the user permanent identifier (SUPI) of the subscribed user, the generic public subscription identifier (GPSI) of the subscribed user, the credential, etc. in the operator network. The SUPI will be encrypted first in the transmission process, and the encrypted SUPI is called the subscription concealed identifier (SUCI). The information stored by the UDM network element 134 can be used for authentication and authorization of the terminal device 110 accessing the operator network. Among them, the subscribed user of the operator network can be a user who uses the service provided by the operator network, for example, a user who uses a subscriber identity module (SIM) card of China Telecom, or a user who uses a SIM card of China Mobile, etc. The credential of the subscribed user can be a long-term key stored in the SIM card or a small file related to SIM card encryption information, etc. for authentication and / or authorization. It should be noted that the user permanent identifier, the credential, the security context, the authentication data (cookie), and the token, etc. are related to the same verification / authentication, authorization information, which are not distinguished and limited for the sake of convenience in the description of the embodiments of the present application.
[0124] 6. The AMF network element 138 is a control plane network function provided by the operator network, which is responsible for access control and mobility management of the terminal device 110 accessing the operator network, for example, including mobile state management, allocation of user temporary identity, authentication and authorization of users, etc. The AMF network element 138 is used for non-access stratum (NAS) connection with the terminal device 110, and has the same 5G NAS security context as the terminal device 110.
[0125] In FIG. 1, the CN further includes: a NEF network element 131, a UDR network element 135, a NEDAF network element 136, an AUSF network element 137, etc. The specific functions of the above network elements can be found in the detailed description of the 5G communication system.
[0126] The functions of the above network elements or devices can be completed by one independent network element, or by several network elements together. In actual deployment, the network elements in the core network can be deployed on the same or different physical devices. For example, as one possible deployment, the AMF and the SMF can be deployed on the same physical device. For another example, the network elements of the 5G core network can be deployed on the same physical device as the network elements of the 4G core network. The embodiments of the present application do not limit this.
[0127] It should be understood that the above naming is only defined for the convenience of distinguishing different functions and should not constitute any limitation on the present application. The present application does not exclude the possibility of using other names in 5G networks and future other networks. For example, in a 6G network, part or all of the above network elements can use the terms in 5G, or other names, etc.
[0128] It should also be understood that the network architecture applied in the embodiments of the present application is only a network architecture described from the perspective of service-oriented architecture, and the network architecture applicable to the embodiments of the present application is not limited to this. Any network architecture that can realize the functions of the above network elements is applicable to the embodiments of the present application.
[0129] It should also be understood that the AMF network element, the SMF network element, the UPF network element, the NEF network element, the AUSF network element, the NRF network element, the PCF network element, and the UDM network element shown in FIG. 1 can be understood as network elements in the core network for realizing different functions, which can be combined into network slices as needed, for example. These core network network elements can be independent devices or can be integrated into the same device to realize different functions. The present application does not limit the specific form of the above network elements.
[0130] For the convenience of understanding the embodiments of the present application, the basic concepts involved in the present application are briefly explained.
[0131] 1. Remote Direct Memory Access (RDMA) technology
[0132] RDMA allows direct data transfer between remote computing nodes without the intervention of the operating system. The basic principle of RDMA is to map the memory to the network adapter, so that it can directly access and transfer data without the intervention of the CPU. This direct access to memory eliminates the overhead of the operating system kernel, thereby realizing low-latency and high-bandwidth data transfer.
[0133] Figure 2 is a schematic diagram of RDMA memory copy. RDMA technology allows direct data transmission between remote computing nodes (e.g., server A and server B in Figure 2), without the intervention of the operating system, which has the following advantages compared with traditional data transmission methods:
[0134] 1) Zero copy: no need to copy data back and forth between user space and kernel space.
[0135] 2) Kernel Bypass: refers to the input and output (IO) data flow can bypass the kernel, that is, the data can be prepared in the user layer and the hardware is notified to prepare for sending and receiving, avoiding the overhead of system call and context switching.
[0136] 3) CPU offload: refers to the read and write of memory, packet encapsulation and parsing offload to hardware operations can be performed without the participation of the remote node CPU in communication.
[0137] The application of RDMA is supported by hardware and software. In specific application scenarios, RDMA can significantly improve the performance and efficiency of data transmission. Among them, based on experiments, for small size message transmission (e.g., 4KB message), RDMA can achieve 7 times effective throughput improvement compared with traditional data transmission methods; for small size message transmission (e.g., 4KB message), RDMA can reduce CPU load from 80% to less than or equal to 10% compared with traditional data transmission methods; for small size message transmission (e.g., 2KB message), RDMA can reduce the node processing time from 25us to less than or equal to 5us compared with traditional data transmission methods. It can be seen that RDMA becomes an optional solution to meet the high throughput and low latency characteristics of future business.
[0138] There are multiple versions of RDMA protocol stack, such as IB, RoCEv1, iWARP, and RoCEv2. The above protocols all comply with the RDMA standard and use the same upper interface. Among them, IB has strong performance, but IB cannot be compatible with existing Ethernet and needs special IB network card and IB switching device; RoCEv2 has moderate performance, RoCEv2 can be compatible with existing Ethernet, and is most widely used in data centers; iWARP has poor performance, iWARP is lossy network and large-scale networking, and has strong reliability, and iWARP supports STCP. At present, IB and RoCEv2 have become the mainstream RDMA protocol and are widely used in various business scenarios.
[0139] RDMA uses a work queue to queue a series of service requests for execution, which is called a queue pair (QP) in RDMA. A QP link includes two ends, corresponding to the sending end and the receiving end respectively. The sending end device and the receiving end device can establish a connection according to the IP address of the other party, and establish a QP on the corresponding RDMA interface, and set the source address of the QP queue as the physical IP address corresponding to the self, and the destination address as the physical IP address of the other party. In the process of data transmission between the sending end device and the receiving end device, the host channel adapter (HCA) card directly reads the data in the registered memory corresponding to the application program, encapsulates the data packet (or called IP packet) according to the source address and destination address in the QP queue, obtains the data packet, and transmits the data packet through the physical network.
[0140] RDMA cyclic redundancy check (CRC), CRC is an algorithm used to detect errors in data transmission. In RDMA communication, CRC is used to ensure the integrity and accuracy of the transmitted data. When data is transmitted from one memory location to another, CRC calculates the checksum of the data, and verifies it after the data arrives at the destination. If the calculated checksum does not match the checksum when sending, it indicates that an error has occurred in the transmission process of the data.
[0141] Figure 3 is a schematic diagram of the data packet structure of the IB protocol. As shown in Figure 3, in the IB transmission protocol, each data packet has two CRCs, namely: invariant CRC (ICRC) and variant CRC (VCRC), wherein the invariant CRC is used to cover the fields that should not be changed when the data packet traverses the structure, the ICRC protects the invariant part of the data packet, ensuring that these parts of the data packet are not tampered with during transmission; the variable CRC is used to cover all variable fields of the data packet, or fields that can be modified. When the data packet passes through a switch or router, some fields in the data packet may need to be modified, such as the virtual channel identifier (VL), at which time the VCRC is recalculated to ensure the integrity of the data packet. The combination of ICRC and VCRC allows switches and routers to modify appropriate fields and still maintain end-to-end data integrity of the transmission control and data portions of the packet.
[0142] FIG. 4 is a schematic diagram of a data packet structure of the RoCE protocol. As shown in FIG. 4, the RoCE protocol (e.g., RoCE vl protocol, RoCE v2 protocol) still adopts the transmission protocol of IB, and the header of the data packet of the RoCE protocol includes an ICRC check code. According to the description in the IB protocol, the ICRC in the RoCE protocol covers the header of the IP data packet, that is, the source address and the destination address of the IP cannot be changed in the transmission process of the data packet.
[0143] 2. Network address translation (NAT) technology
[0144] With the development of the Internet and the increasing network applications, the IPv4 address exhaustion has become a bottleneck restricting the development of the network. The currently proposed IPv6 can fundamentally solve the problem of the IPv4 address space shortage. However, since a large number of network devices and network applications are based on IPv4, before the wide application of IPv6, some transition technologies are needed to extend the time of the completion of the IPv4 address allocation. For example, the NAT technology is used to convert the private network address of the device in the local area network (or referred to as the internal network, private network) into the public network address in the wide area network (or referred to as the public network), so that the devices in multiple local area networks can share one public network address to access the external Internet, thereby ensuring the network intercommunication and saving the public network address.
[0145] Among them, the public network address refers to the globally unique IP address (referred to as public network IP address) on the Internet, which can be routed on the public network. The private network address refers to the host IP address (referred to as private network IP address) in the local area network, which cannot be routed on the public network. According to RFC1918, the private network IP address can include the following three different size address spaces, which can be used by enterprise networks or private networks of different sizes, as follows: 10.0.0.0-10.255.255.255, a total of about 16.77 million IP addresses; 172.16.0.0-172.31.255.255, a total of about 1.04 million IP addresses; 192.168.0.0-192.168.255.255, a total of about 65,536 IP addresses.
[0146] The current application of NAT mainly includes the following aspects: solving the problem of IP address shortage, translating private addresses into public addresses, providing transparent end-to-end communication, which is one of the most important applications; isolating internal and external networks to provide certain network security; virtual server (load balancing), virtual server devices can be implemented by NAT, and the client is connected to the virtual server, and the NAT device converts the destination IP address into the actual server IP address. The NAT device selects a certain real server according to various algorithms, such as distributing and selecting according to the load of each server, thereby realizing load balancing.
[0147] Figure 5 is a schematic diagram of data transmission in 5G. As shown in Figure 5, the local area network includes two devices: HostA and HostB. HostA corresponds to a private network IP address of 10.1.1.1 / 24, and HostB corresponds to a private network IP address of 10.1.1.2 / 24. The wide area network, referred to as the external network, includes a server corresponding to a public network IP address of 2.2.2.2 / 24. HostA and HostB can communicate with the server in the external network through a router having a NAT function. Specifically, when HostA needs to access the Internet, the data packet of HostA is sent to the router having the NAT function. The router converts the private IP address corresponding to the data packet of HostA into a public IP address and forwards the data packet to the target device on the external network based on the public IP address. When multiple internal devices (for example, HostA and HostB) need to access the Internet, the router can distinguish the traffic of HostA and HostB through port numbers. When the target device responds to the data packet of HostA and HostB, the response information of the data packet first reaches the router. The router converts the public IP address and the port number in the response information of the data packet into a private IP address and a port number based on the mapping relationship established when the data packet is previously sent, and sends the response information of the data packet to the corresponding device in the private network.
[0148] 3. NAT application level gateway (ALG) technology
[0149] The ALG technology is an application layer analysis and transparent transmission technology built in a firewall or a NAT device. The principle is that the ALG module in the NAT device performs protocol analysis and rewriting on the signaling packets flowing to a specific address (a specific signaling port of an IP application). For media streams, communication is performed according to a specific port, so that the internal network host using the application can still be routed from the perspective of the external network.
[0150] The principle of the NAT ALG is to use a NAT device with an ALG function to support a specific application layer protocol. When the device detects a new connection request, it first determines whether it is a known application type according to the transport layer port information. If it is determined to be a known application, the ALG function of the application protocol is called to check the deep content of the packet. If any form of IP address and port information is found, the NAT will synchronize the conversion of these information, and an additional conversion table item will be established for the new connection. When the packet reaches the destination host on the external network, the information carried in the application layer protocol is the IP address and port number converted by the NAT device, so that the problem of the packet of some application protocols passing through the NAT can be solved.
[0151] The NAT ALG technology is a conversion agent of specific application protocols, and can complete conversion of address and port number information carried in application layer data. The NAT ALG technology can analyze and convert application layer message information of a multi-channel protocol, and convert and process IP addresses and ports in the payload that need to be converted or fields that need special processing, so as to ensure the correctness of application layer communication.
[0152] In combination with the above-described RDMA technology and related content of the NAT, it can be seen that in the NAT scenario, the source address and the destination address of the transmitted data packet can be converted due to communication between a wide area network and a local area network. In this scenario, the ICRC in the transmitted data packet does not pass the RDMA technology check, so that the receiving end rejects to receive the data packet, affecting normal transmission of data. It can be seen that the current NAT technology is not adapted to the RDMA, mainly due to the limitation of the unchangeable ICRC check in the RDMA, and the existing NAT technology cannot directly adapt to the transmission of the RDMA.
[0153] Based on the above problems, the present application provides a communication method, which can still ensure normal communication between a terminal device and a network when the RDMA technology faces a NAT scenario.
[0154] FIG. 6 is a schematic flowchart of a communication method provided by an embodiment of the present application.
[0155] It should be understood that the first network element can be an SMF network element or a PCF network element, or other network elements having the functions of the SMF network element and the PCF network element, and the present application does not limit this.
[0156] As shown in FIG. 6, the method can include the following steps:
[0157] 601, the first network element receives first information.
[0158] The first information is used to indicate that the terminal device and the network device transmit data packets through the RDMA protocol, and / or the first information is used to indicate a type of RDMA protocol supported by the terminal device.
[0159] It should be understood that the RDMA protocol transmits data packets through a first parameter, and the first parameter is used to protect data packets from being tampered when the terminal device and the network device transmit data packets. For example, the first parameter can be the ICRC in the above-described FIG. 3, and the first parameter can also be other fields or check parameters, and the present application does not limit this.
[0160] As an example, the first information is used to indicate that the terminal device transmits data packets to the network device through the RDMA protocol, and the first information can come from the terminal device. The terminal device determines that it needs to transmit data packets to the network device through the RDMA protocol, and the terminal device sends the first information to the first network element. The first information can be carried in the session request information (for example, the PDU session establishment request information) of the terminal device, or the first information can be transmitted to the first network element by the terminal device through separate signaling, which is not limited in the present application.
[0161] As another example, the first information is used to indicate the RDMA protocol type supported by the terminal device, and the first information can come from the terminal device or other network elements (for example, the UDM network element). When the first information comes from the terminal device, the terminal device can send the RDMA protocol type supported by the terminal device to the first network element; when the first information comes from the UDM network element, the first network element can send a first request information to the UDM network element, the first request information being used to request to obtain the RDMA protocol type supported by the terminal device, and the first request information including the identification information of the terminal device. Correspondingly, the UDM network element receives the first request information, and according to the identification information of the terminal device in the first request information, sends the RDMA protocol type supported by the terminal device to the first network element through the first information.
[0162] Optionally, the first information includes one or more of the following: a transmission type of RDMA, a protocol type of RDMA, or a service type of RDMA.
[0163] The transmission type of RDMA includes lossy or lossless.
[0164] The protocol type of RDMA includes an IB transmission protocol type, a RoCEv1 transmission protocol type, a RoCEv2 transmission protocol type, or other RDMA transmission protocol types following the IB transmission protocol in the future.
[0165] The service type of RDMA includes any one of the following: unreliable datagram (UD), reliable datagram (RD), unreliable connection (UC), or reliable connection (RC).
[0166] 602, the first network element configures a wide area network IP address for the terminal device according to the first information.
[0167] For example, after the first network element receives the first information, the first network element configures a wide area network IP address for the terminal device according to the first information.
[0168] For another example, after the first network element receives the first information, the first network element determines to configure a wide area network IP address for the terminal device in a case where a first condition is met. The first condition is related to the RDMA protocol. Assuming that the first information indicates that the RDMA protocol type supported by the terminal device is the IB transport protocol, the first condition is met, and the first network element determines to configure a wide area network IP address for the terminal device. Assuming that the first information indicates that the RDMA protocol type supported by the terminal device is iWARP, the first condition is not met, and the first network element determines not to configure a wide area network IP address for the terminal device. For example, in this case, the first network element determines to assign a local area network IP address instead of a wide area network IP address to the terminal device. The iWARP transport protocol is not used along with the IB transport protocol, so the iWARP transport protocol does not involve the related content of the first parameter (for example, ICRC) when transmitting a data packet. That is, only in the case where the data packet transmission of the terminal device is related to the RDMA protocol, the first network element assigns a wide area network IP address to the terminal device.
[0169] In a possible implementation manner, the first network element configures a wide area network IP address for the terminal device according to the first information. The first network element determines the wide area network IP address configured for the terminal device, and sends the wide area network IP address configured for the terminal device.
[0170] In another possible implementation manner, the first network element instructs a UPF network element to configure a wide area network IP address for the terminal device according to the first information. The first network element determines to configure a wide area network IP address for the terminal device, and can send first indication information to the UPF network element, where the first indication information is used to instruct the UPF network element to configure a wide area network IP address for the terminal device. Correspondingly, after the UPF network element receives the first indication information, the UPF network element selects a wide area network IP address from an address pool and assigns the wide area network IP address to the terminal device according to the first indication information through a dynamic host configuration protocol (DHCP).
[0171] 603, the terminal device and the network device transmit data packets based on the wide area network IP address corresponding to the terminal device and the wide area network IP address corresponding to the network device.
[0172] For example, after the terminal device receives the wide area network IP address configured for the terminal device, the terminal device and the network device establish a QP link by interacting with the wide area network IP address corresponding to the terminal device and the wide area network IP address corresponding to the network device, and transmit data packets through the QP link.
[0173] According to the method shown in FIG. 6, the first network element determines to configure a wide area network IP address for the terminal device according to the first information. The terminal device and the network device transmit data packets based on the wide area network IP address corresponding to the terminal device and the wide area network IP address corresponding to the network device, so that the terminal device and the network device can transmit data packets through the RDMA protocol, and realize low-latency and high-bandwidth transmission. In addition, since the wide area network IP address is directly allocated to the terminal device, the NAT technology does not need to be performed, thereby avoiding the problem that the terminal device and the network device cannot normally communicate due to the decoding error of the first parameter caused by the conversion of the destination address of the data packet at the wide area network IP address corresponding to the terminal device and the local area network IP address corresponding to the terminal device.
[0174] FIG. 7 is a schematic flowchart of another communication method provided by an embodiment of the present application.
[0175] It should be understood that the first network element can be an SMF network element or a PCF network element, or other network elements having the functions of the SMF network element and the PCF network element, and the present application does not limit this.
[0176] 701, the first network element receives first information.
[0177] The first information is used to indicate that the terminal device and the network device transmit data packets through the RDMA protocol, and / or the first information is used to indicate the type of the RDMA protocol supported by the terminal device.
[0178] It should be understood that the RDMA protocol transmits data packets through a first parameter, and the first parameter is used to protect data packets from being tampered when the terminal device and the network device transmit data packets. For example, the first parameter can be the ICRC involved in FIG. 3, and the first parameter can also be other fields or verification parameters, and the present application does not limit this.
[0179] It should also be understood that the step 701 is similar to the step 601 in FIG. 6, and specific details can be referred to the detailed description of the step 601, which will not be repeated here.
[0180] 702, the first network element sends second indication information to the AF network element.
[0181] Correspondingly, the AF network element receives the second indication information from the first network element.
[0182] For example, after receiving the first information, the first network element determines that the terminal device and the network device need to transmit data messages through RDMA. According to the first information, the first network element sends second indication information to the AF network element, and the second indication information is used to instruct the AF network element to determine the attribute of the QP link according to the local area network IP address corresponding to the terminal device, and the QP link is a link through which the terminal device and the network device transmit data messages through the RDMA protocol.
[0183] Optionally, the second indication information can include the local area network IP address corresponding to the terminal device.
[0184] Optionally, the attribute of the QP link includes a first address, a second address and an encoding mode of a first parameter. The first address can be a wide area network IP address corresponding to the network device, the second address can be a wide area network IP address corresponding to the terminal device, and the encoding mode of the first parameter includes encoding the first parameter based on the local area network IP address corresponding to the terminal device and the wide area network IP address corresponding to the network device.
[0185] 703. The AF network element acquires the local area network IP address corresponding to the terminal device.
[0186] For example, after receiving the second indication information from the first network element, the AF network element can query the local area network IP address corresponding to the terminal device from the core network device through the NEF network element according to the second indication information. Correspondingly, the NEF can query the local area network IP address corresponding to the terminal device from the UPF network element, and forward the local area network IP address and the port number corresponding to the terminal device received from the UPF network element to the AF network element. The NEF can also feed back the wide area network IP address and the port number corresponding to the terminal device to the AF network element, wherein the wide area network IP address and the port number corresponding to the terminal device can be acquired by the NEF through the NRF.
[0187] It should be understood that the specific method of acquiring the local area network IP address corresponding to the terminal device by the AF network element can refer to the detailed introduction of the existing AF specific UE ID retrieval process, and will not be repeated here.
[0188] 704. The AF network element sends second information to the network device.
[0189] Correspondingly, the network device receives the second information from the AF network element.
[0190] For example, after the AF network element obtains the local area network IP address corresponding to the terminal device through the above step 703, the AF network element sends second information to the network device, where the second information includes the local area network IP address corresponding to the terminal device, and the second information is used to indicate that the first parameter is encoded according to the wide area network IP address corresponding to the terminal device.
[0191] 705. The network device generates the first parameter according to the local area network IP address corresponding to the terminal device.
[0192] For example, after the network device receives the second information, the network device generates the first parameter according to the local area network IP address corresponding to the terminal device included in the second information. For example, the network device encodes the first parameter corresponding to the to-be-transmitted data packet based on the local area network IP address corresponding to the terminal device.
[0193] As an example, assuming that the network device is a sending terminal device that sends a data packet, the network device inputs the Header (including the data packet) and the Payload in the to-be-transmitted field into a specific algorithm to obtain a first parameter (or referred to as a check value, for example, ICRC). For example, when the network device encodes the first parameter, the network device replaces the destination address of the data packet in the input field Header with the local area network IP address corresponding to the terminal device instead of the wide area network IP address corresponding to the terminal device, and then generates the first parameter. Correspondingly, after the terminal device receives the data packet, the terminal device compares and decodes the received data packet and the first parameter through a specific algorithm. If the specific content of the data packet is not tampered with in the transmission process, the decoding is successful, and the RDMA protocol is used to transmit the data packet between the terminal device and the network device in the NAT scenario.
[0194] It should be understood that the network device determines the detailed process of transmitting the data packet similar to the existing process, and subsequent steps can be referred to the introduction in the prior art, which will not be described here. It should be noted that the method shown in FIG. 7 is not IP replacement, and the method shown in FIG. 7 modifies the input part of the algorithm (for example, replaces the wide area network IP address corresponding to the terminal device with the local area network IP address corresponding to the terminal device) in the process of encoding the to-be-transmitted data packet in the network device, that is, in the process of generating the first parameter. The method does not modify the specific content of the data packet. Correspondingly, after the terminal device receives the data packet, the terminal device decodes the data packet based on the local area network IP address corresponding to the terminal device. If the data packet is not tampered with in the transmission process, the terminal device decodes the data packet successfully.
[0195] It should also be understood that step 705 is an internal operation of the network device, which can not be embodied in the actual operation process, i.e., step 705 in the flowchart is an optional step.
[0196] 706, the network device and the terminal device transmit data messages by using the RDMA protocol.
[0197] When the network device and the terminal device transmit data messages by using the RDMA protocol, the first parameter can be used to protect the data messages. The first parameter is the first parameter generated by the network device according to the local area network IP address corresponding to the terminal device in step 705, and the data messages are protected by the first parameter during transmission to prevent tampering.
[0198] According to the method shown in FIG. 7, considering that the RDMA protocol transmits data messages by using the first parameter, the first parameter is used to protect the data messages during transmission to prevent tampering. In order to ensure that the data messages transmitted between the terminal device and the network device by using the RDMA protocol can be normally transmitted, the first network element instructs the AF network element to determine the QP link attribute according to the local area network IP address corresponding to the terminal device by using the second indication information. Correspondingly, when determining the data messages transmitted by the QP link, the network device generates the first parameter based on the local area network IP address corresponding to the terminal device, and transmits the data messages to the terminal device by using the first parameter. For the data messages transmitted by using the local area network IP address, if the specific content of the data messages is not tampered during transmission, after the terminal device receives the data messages, the terminal device decodes the first parameter based on the local area network IP address corresponding to the terminal device, so that the first parameter decoding is successful. It can be seen that, in the NAT scenario, the method enables the terminal device and the network device to normally communicate by using the RDMA protocol.
[0199] FIG. 8 is a schematic flowchart of another communication method provided by an embodiment of the present application.
[0200] It should be understood that the first network element can be an SMF network element or a PCF network element, or the first network element is another network element having the function of the SMF network element or the PCF network element, which is not limited in the present application.
[0201] 801, the first network element receives first information.
[0202] The first information is used to indicate that the terminal device and the network device transmit data messages by using the RDMA protocol, and / or the first information is used to indicate the type of the RDMA protocol supported by the terminal device.
[0203] It should be understood that the RDMA protocol transmits the data packet through a first parameter, which is used to protect the data packet from being tampered when the data packet is transmitted between the terminal device and the network device. For example, the first parameter can be the ICRC involved in the above-mentioned FIG. 3, and the first parameter can also be other fields or check parameters, which are not limited by the present application.
[0204] It should also be understood that the step 801 is similar to the step 601 in the above-mentioned FIG. 6, and specific reference can be made to the detailed introduction in the above-mentioned step 601, which will not be repeated here.
[0205] 802, the first network element sends third indication information to the UPF network element.
[0206] Correspondingly, the UPF network element receives the third indication information of the first network element.
[0207] The third indication information is used to instruct the UPF network element to send the wide area network IP address corresponding to the terminal device to the terminal device. The third indication information includes the wide area network IP address corresponding to the terminal device.
[0208] In a possible implementation manner, the first network element has a NAT function, and the first network element can obtain the wide area network IP address corresponding to the terminal device through network address translation from the local area network IP address corresponding to the terminal device, and carry the wide area network IP address corresponding to the terminal device in the second indication information. The local area network IP address corresponding to the terminal device obtained by the first network element is allocated to the terminal device by the SMF network element or the PCF network element in the PDU session establishment process.
[0209] In another possible implementation manner, the first network element does not have a NAT function, and the first network element obtains the wide area network IP address corresponding to the terminal device from the network element with a NAT function before the step 802, and sends the obtained wide area network IP address corresponding to the terminal device to the UPF network element through the third indication information.
[0210] 803, the UPF network element sends third information to the terminal device.
[0211] Correspondingly, the terminal device receives the third information from the UPF network element.
[0212] For example, the UPF network element receives the third indication information, and sends the third information to the terminal device according to the third indication information. The third information is used to instruct to determine the attribute of the QP link according to the wide area network IP address corresponding to the terminal device, the QP link is the link between the terminal device and the network device for transmitting the data packet through the RDMA protocol, and the third information includes the wide area network IP address corresponding to the terminal device.
[0213] Optionally, the attribute of the QP link includes a first address, a second address, and a decoding manner of the first parameter. The first address is a wide area network IP address corresponding to the network device, the second address is a wide area network IP address corresponding to the terminal device, and the decoding manner of the first parameter includes encoding the first parameter based on the wide area network IP address corresponding to the terminal device and the wide area network IP address corresponding to the network device.
[0214] 804, the network device and the terminal device transmit a data packet.
[0215] For example, the network device encodes the first parameter of the transmitted data packet based on the wide area network IP address corresponding to the terminal device. Correspondingly, the terminal device receives the data packet converted by the device with the NAT function, wherein the device with the NAT function replaces the destination address of the data packet from the wide area network IP address corresponding to the terminal device to the local area network IP address corresponding to the terminal device, and sends it to the terminal device. After receiving the third information, the terminal device decodes the data packet sent by the device with the NAT function according to the wide area network IP address corresponding to the terminal device in the third information. Wherein, the terminal device decodes the received data packet based on the wide area network IP address corresponding to the terminal device.
[0216] It should be understood that the terminal device decoding the received data packet based on the wide area network IP address corresponding to the terminal device can be understood as the terminal device decoding the first parameter of the data packet based on the wide area network IP address corresponding to the terminal device, or the terminal device decoding the first parameter based on the wide area network IP address.
[0217] As an example, it is assumed that the network device is the sending terminal device for sending the data packet, and the terminal device is the receiving terminal device for receiving the data packet. The network device sets the source address of the data packet as the wide area network IP address corresponding to the network device, sets the destination address as the wide area network IP address corresponding to the terminal device, encodes the first parameter of the data packet, and sends it. The network device sends the data packet to the wide area network IP address corresponding to the terminal device, which is a network element with NAT function (such as a UPF network element with NAT function). After receiving the data packet from the network device, the network element with NAT function converts the destination address of the data packet from the wide area network IP address corresponding to the terminal device to the local area network IP address corresponding to the terminal device according to the mapping relationship between the terminal device and the network device stored by itself, and sends the converted data packet to the terminal device. Wherein, after receiving the data packet, the terminal device can receive the data packet in the following two ways:
[0218] Method 1
[0219] After the terminal device receives the data packet, the terminal device can replace the destination address corresponding to the data packet by the local area network IP address corresponding to the terminal device with the wide area network IP address corresponding to the terminal device, and the terminal device decodes the first parameter based on the replaced data packet.
[0220] Method 2
[0221] After the terminal device receives the data packet, in the process of decoding the first parameter by the terminal device, the terminal device replaces the destination address in the input decoding algorithm from the local area network IP address corresponding to the terminal device with the wide area network IP address corresponding to the terminal device, and decodes the first parameter.
[0222] If the specific content of the data packet is not tampered with in the transmission process, based on the above-mentioned method 1 or method 2, the terminal device can successfully decode the first parameter, that is, the verification is successful, so that the terminal device and the network device can transmit the data packet through the RDMA protocol in the NAT scenario.
[0223] It should be understood that other processes not fully described for receiving the transmitted data packet by the terminal device are similar to the existing processes, and subsequent steps can be referred to the introduction in the prior art, which will not be described here. It should be noted that the method shown in the above-mentioned FIG. 8 is that in the decoding process, the receiving terminal device modifies the destination address of the data packet in the Header from the local area network IP of the terminal device to the wide area network IP of the terminal device. For example, the process can be IP replacement, that is, the receiving terminal device can directly modify the data packet of the original data packet, or similar to the encoding method, the receiving terminal device only modifies the input of the data packet corresponding to the destination address in the decoding algorithm when decoding the data packet. The method does not modify the actual data packet by modifying the input part of the algorithm (for example, replacing the local area network IP address corresponding to the terminal device with the wide area network IP address corresponding to the terminal device).
[0224] According to the method shown in the above-mentioned FIG. 8, considering that the RDMA protocol transmits the data packet through the first parameter, the first parameter is used to protect the data packet from being tampered with in the transmission process. The first network element indicates the UPF network element to send the wide area network IP address corresponding to the terminal device to the terminal device through the third indication information. If the specific content of the data packet is not tampered with in the transmission process, after the terminal device receives the data packet, the terminal device can successfully decode the first parameter for protecting the data packet based on the wide area network IP address corresponding to the terminal device, so that the data packet passes the verification, and the data packet transmitted between the terminal device and the network device through the RDMA protocol can be correctly received.
[0225] FIG. 9 is a schematic flow chart of another communication method according to an embodiment of the present application.
[0226] It should be understood that the first network element can be an SMF network element or a PCF network element, or the first network element is another network element with the function of an SMF network element or a PCF network element, which is not limited in the present application.
[0227] 901. The first network element receives first information.
[0228] The first information is used to indicate that the terminal device and the network device transmit data packets through the RDMA protocol, and / or the first information is used to indicate the type of RDMA protocol supported by the terminal device.
[0229] It should be understood that the RDMA protocol transmits data packets through a first parameter, which is used to protect data packets from tampering when the terminal device and the network device transmit data packets. For example, the first parameter can be the ICRC mentioned in FIG. 3, and the first parameter can also be other fields or verification parameters, which are not limited in the present application.
[0230] It should also be understood that step 901 is similar to step 601 in FIG. 6, and specific details can be referred to the detailed description of step 601 above, which will not be repeated here.
[0231] 902. The first network element sends fourth indication information to the relay node.
[0232] Correspondingly, the relay node receives the fourth indication information from the first network element.
[0233] It should be understood that the relay node is a node with NAT function. The fourth indication information is used to indicate that the destination address of the terminal device and the network device transmitting data packets is the IP address of the relay node.
[0234] The first network element can be an SMF network element or a PCF network element, or another network element with the function of an SMF network element or a PCF network element, which is not limited in the present application.
[0235] It should also be understood that assuming the first network element is an SMF network element and the relay node is a UPF network element with NAT function, the fourth indication information sent by the SMF network element to the UPF network element can be carried in N4 information for transmission.
[0236] 903. The relay node sends indication information #1 to the terminal device.
[0237] Correspondingly, the terminal device receives the indication information #1 from the relay node.
[0238] The indication information #1 is used to indicate that the transmission address of the data packet is the local area network IP address corresponding to the relay node.
[0239] It should be understood that the transmission address of the data packet includes the destination address of the data packet or the source address of the data packet. The indication information #1 is used to indicate that the destination address of the uplink transmitted data packet is the local area network IP address corresponding to the relay node. The indication information #1 is used to indicate that the source address of the downlink transmitted data packet is the local area network IP address corresponding to the relay node.
[0240] 904. The relay node sends indication information #2 to the network device.
[0241] Correspondingly, the network device receives the indication information #2 from the relay node.
[0242] The indication information #2 is used to indicate that the transmission address of the data packet is the wide area network IP address corresponding to the relay node.
[0243] It should be understood that the transmission address of the data packet includes the destination address of the data packet or the source address of the data packet. The indication information #2 is used to indicate that the source address of the uplink transmitted data packet is the wide area network IP address corresponding to the relay node. The indication information #2 is used to indicate that the destination address of the downlink transmitted data packet is the wide area network IP address corresponding to the relay node.
[0244] It should be understood that the relay node can send the indication information #1 to the terminal device and send the indication information #2 to the network device at the same time, that is, the step 903 and the step 904 can be executed at the same time, or the step 903 and the step 904 can be executed in sequence. For example, the step 903 can be executed before the step 904, or the step 904 can be executed before the step 903, which is not limited by the present application.
[0245] As an example, after the terminal device receives the indication information #1 from the relay node, the terminal device and the relay node establish a communication link #1, the source address of the communication link #1 is the local area network IP address corresponding to the terminal device, and the destination address of the communication link #1 is the local area network IP address corresponding to the relay node, or the source address of the communication link #1 is the local area network IP address corresponding to the relay node, and the destination address of the communication link #1 is the local area network IP address corresponding to the terminal device. Assuming that the first data packet is a data packet transmitted by the terminal device to the network device. The terminal device sends the first data packet to the relay node through the communication link #1, the first data packet is transmitted on the communication link #1, the source address of the first data packet is the local area network IP address corresponding to the terminal device, and the destination address of the first data packet is the local area network IP address corresponding to the relay node. After the relay node receives the first data packet from the terminal device, the source address of the first data packet is converted into the wide area network IP address corresponding to the relay node, the destination address of the first data packet is converted into the wide area network IP address corresponding to the network device, a second data packet is obtained, and the second data packet is transmitted to the network device.
[0246] It should be understood that the communication link #1 can be a QP link established based on RDMA, or other communication links, which are not limited by the present application.
[0247] As another example, after the network device receives the indication information #2 from the relay node, the network device and the relay node establish a communication link #2, the source address of the communication link #2 is the wide area network IP address corresponding to the network device, and the destination address of the communication link #2 is the wide area network IP address corresponding to the relay node, or the source address of the communication link #2 is the wide area network IP address corresponding to the relay node, and the destination address of the communication link #2 is the wide area network IP address corresponding to the network device. Assuming that the third data packet is a data packet transmitted by the network device to the terminal device. The network device sends the third data packet to the relay node through the communication link #2, the third data packet is transmitted on the communication link #2, the source address of the third data packet is the wide area network IP address corresponding to the network device, and the destination address of the third data packet is the wide area network IP address corresponding to the relay node. After the relay node receives the third data packet from the network device, the source address of the third data packet is converted into the local area network IP address corresponding to the relay node, the destination address of the third data packet is converted into the local area network IP address corresponding to the terminal device, a fourth data packet is obtained, and the fourth data packet is transmitted to the terminal device.
[0248] It should be understood that the communication link #2 can be a QP link established based on RDMA, or other communication links, which are not limited by the present application.
[0249] According to the method shown in FIG. 9, the first network element indicates, by the fourth indication information, that a destination address of a data packet transmitted between the terminal device and the network device is an IP address of a relay node with a NAT function. The relay node performs network address translation on the received data packet transmitted between the terminal device and the network device, so that the data packet can be correctly transmitted between the local area network IP address corresponding to the terminal device and the wide area network IP address corresponding to the network device, and normal communication between the terminal device and the network device is ensured.
[0250] FIG. 10 is a schematic flowchart of another communication method provided by an embodiment of the present application.
[0251] 1001. The first network element sends second request information to node #1.
[0252] Correspondingly, node #1 receives the second request information from the first network element.
[0253] The node #1 is a node with a NAT function, for example, the node #1 is a UPF network element with a NAT function, and the node #1 can also be another node with a NAT function.
[0254] The second request information is used to request to obtain related conditions of support of the node #1 for ALG.
[0255] 1002. The first network element receives response information of node #1.
[0256] Correspondingly, node #1 sends the response information to the first network element.
[0257] The response information includes conditions of support of the node #1 for ALG. For example, the response information includes information indicating that the node #1 supports the ALG function, or the response information includes information indicating that the node #1 does not support the ALG function.
[0258] It should be understood that in the case that the node #1 supports the ALG, the method shown in FIG. 10 can further include the following steps:
[0259] 1003. A QP link for transmitting a data packet according to an RDMA protocol is established between the terminal device and the network device.
[0260] For example, when the terminal device and the network device establish the QP link for transmitting data packets, the terminal device and the network device need to exchange information required by the RDMA link (for example, the indication information of the QP link) for establishing the QP link between the terminal device and the network device. Wherein, the terminal device sends the indication information of the QP link on the terminal device side to the network device, the network device sends the indication information of the QP link on the network device side to the terminal device, the terminal device and the network device respectively receive the indication information of the QP link of the opposite terminal device, and based on the indication information of the QP link of the opposite terminal device and the indication information of the QP link of the self device, the QP link is established.
[0261] Wherein, the indication information of the QP link can include one or more of the following: the transmission type of the RDMA, the protocol type of the RDMA, the service type of the RDMA, the number of the QP link, the source address and the destination address of the QP link, the transmission permission information (for example, KEY), the related information of the memory region (MR), and the like.
[0262] It should be understood that step 1003 is prior art, and the details can be referred to the introduction in the prior art, which will not be repeated here.
[0263] It should also be understood that in the case that the node #1 supports the ALG, assuming that the network device sends the data packet #1 to the terminal device, the destination address of the data packet #1 is the wide area network IP address corresponding to the terminal device, and the source address of the data packet #1 is the wide area network IP address corresponding to the network device, the network device transmits the data packet #1 to the wide area network IP address corresponding to the terminal device, the node #1 receives the data packet, and at the same time of converting the destination address of the data packet from the wide area network IP address corresponding to the terminal device to the local area network IP address corresponding to the terminal device, the node #1 adaptively modifies the first parameter of the data packet (for example, modifies the destination address in the first parameter from the wide area network IP address corresponding to the terminal device to the local area network IP address corresponding to the terminal device), so that the modified data packet can meet the RDMA transmission requirement, and the modified data packet is sent to the terminal device.
[0264] For example, assume that device #1 in the communication link supports both the NAT function and the ALG function, i.e., the device #1 is capable of implementing the synchronization modification of the first parameter while implementing the source / destination IP address replacement; assume that the terminal device has completed the RDMA link establishment information interaction with the network device, and has completed the RDMA link establishment (i.e., the source / destination addresses are the wide area network IP corresponding to the terminal device and the wide area network IP corresponding to the network device, respectively); when the network device transmits a data packet to the terminal device, the destination address in the data packet is the wide area network IP address corresponding to the terminal device, and the first parameter is also generated based on the wide area network IP address of the terminal device; when the data packet passes through the device #1, the device #1 replaces the destination address in the header part of the data packet with the local area network IP address corresponding to the terminal device, and replaces (or modifies) the first parameter based on the local area network IP address corresponding to the terminal device in the process of replacing the destination address; the device #1 finally sends the modified data packet to the terminal device. Assume that the specific content of the data packet is not tampered with in the transmission process, and after receiving the data packet, the terminal device can successfully decode the first parameter of the data packet based on the local area network IP address corresponding to the terminal device, i.e., the terminal device and the network device can normally transmit the data packet through the RDMA protocol in the NAT scenario.
[0265] It should be understood that in the case where the node #1 does not support the ALG, the first network element can enable the terminal device and the network device to transmit the data packet through the RDMA protocol by any one or a combination of the methods shown in FIGS. 6-9, so that the data packet can be successfully verified at the receiving end device side, and the normal communication between the terminal device and the network device is ensured.
[0266] According to the method shown in FIG. 10, the first network element determines whether the network element with the NAT function can perform the synchronization modification of part of the fields in the first parameter of the data packet transmitted by the network device and the terminal device through the RDMA protocol in the process of NAT conversion, so that the transmission requirement of the RDMA protocol is met, and the data packet can be transmitted between the terminal device and the network device through the RDMA protocol in the NAT scenario.
[0267] The above describes in detail the communication method provided by the embodiments of the present application in combination with FIGS. 6-10. The above communication method is mainly introduced from the perspective of the interaction between the terminal device and the network device. It can be understood that the terminal device contains the hardware structure and / or software module corresponding to the execution of each function in order to implement the above functions.
[0268] It should be noted that the wide area network IP address in the above embodiments of the present application can be a public network IP address in Ipv4, or a globally unique address that can be directly accessed and identified on the Internet, such as an Ipv6 address, which is allocated by an Internet registration authority.
[0269] Those skilled in the art should understand that, in combination with the units and algorithm steps of the examples described in the embodiments disclosed herein, the present application can be realized in the form of hardware or a combination of hardware and computer software. Whether a certain function is realized in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to realize the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.
[0270] The communication apparatus provided by the present application will be described in detail below in combination with FIGS. 11 to 13. It should be understood that the description of the apparatus embodiments corresponds to the description of the method embodiments. Therefore, the content not described in detail can be referred to the above method embodiments, and part of the content will not be described again for the sake of brevity.
[0271] The embodiments of the present application can divide the functional modules of the transmitting end device or the receiving end device according to the above method examples, for example, each functional module can be divided according to each function, or two or more functions can be integrated in one processing module. The above integrated module can be realized in the form of hardware or in the form of a software functional module. It should be noted that the division of the modules in the embodiments of the present application is illustrative, and is only a logical functional division. In actual implementation, there can be another division manner. The following will be described taking the division of each functional module according to each function as an example.
[0272] FIG. 11 is a schematic block diagram of a communication apparatus 10 provided by an embodiment of the present application. The apparatus 10 includes a transceiver module 11 and a processing module 12. The transceiver module 11 can realize corresponding communication functions, and the processing module 12 is used for data processing, or in other words, the transceiver module 11 is used for executing operations related to receiving and sending, and the processing module 12 is used for executing other operations except receiving and sending. The transceiver module 11 can also be referred to as a communication interface or a communication unit.
[0273] Optionally, the apparatus 10 can further include a storage module 13, which can be used to store instructions and / or data. The processing module 12 can read the instructions and / or data in the storage module, so that the apparatus realizes the actions of the device in each of the above method embodiments.
[0274] In an example, the apparatus 10 can correspond to a first network element (e.g. a SMF network element, a PCF network element) in the above method embodiments, or a component (e.g. a chip) of the first network element.
[0275] The apparatus 10 can implement steps or procedures performed by a first network element in the above method embodiments, where the transceiving module 11 can be configured to perform transceiving related operations of the first network element in the above method embodiments, and the processing module 12 can be configured to perform processing related operations of the first network element in the above method embodiments.
[0276] It should be appreciated that the detailed processes by which the units perform the above corresponding steps are already explained in the above method embodiments, and thus are not repeated here for brevity.
[0277] In another example, the apparatus 10 can correspond to an AF network element in the above method embodiments, or a component (e.g. a chip) of the AF network element.
[0278] It should be appreciated that the detailed processes by which the units perform the above corresponding steps are already explained in the above method embodiments, and thus are not repeated here for brevity.
[0279] In yet another example, the apparatus 10 can correspond to a terminal device in the above method embodiments, or a component (e.g. a chip) of the terminal device.
[0280] It should be appreciated that the detailed processes by which the units perform the above corresponding steps are already explained in the above method embodiments, and thus are not repeated here for brevity.
[0281] In yet another example, the apparatus 10 can correspond to a network device in the above method embodiments, or a component (e.g. a chip) of the network device.
[0282] It should be appreciated that the detailed processes by which the units perform the above corresponding steps are already explained in the above method embodiments, and thus are not repeated here for brevity.
[0283] In yet another example, the apparatus 10 can correspond to a relay node in the above method embodiments, or a component (e.g. a chip) of the relay node.
[0284] It should be appreciated that the detailed processes by which the units perform the above corresponding steps are already explained in the above method embodiments, and thus are not repeated here for brevity.
[0285] It should also be understood that the apparatus 10 herein is embodied in the form of a functional block diagram. The term "module" herein can refer to an application specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated or group) and memory that execute one or more software or firmware programs, a combinational logic circuit, and / or other suitable components that provide the described functionality. In one optional example, those skilled in the art can understand that the apparatus 10 can be embodied as the first network element in the above embodiments, and can be used to execute the processes and / or steps corresponding to the first network element in the above method embodiments; or the apparatus 10 can be embodied as the AF network element in the above embodiments, and can be used to execute the processes and / or steps corresponding to the AF network element in the above method embodiments; or the apparatus 10 can be embodied as the terminal device in the above embodiments, and can be used to execute the processes and / or steps corresponding to the terminal device in the above method embodiments; or the apparatus 10 can be embodied as the network device in the above embodiments, and can be used to execute the processes and / or steps corresponding to the network device in the above method embodiments; or the apparatus 10 can be embodied as the relay node in the above embodiments, and can be used to execute the processes and / or steps corresponding to the relay node in the above method embodiments, and details are not described herein to avoid repetition.
[0286] The apparatus 10 of each of the above schemes has the function of performing the corresponding steps of the device (e.g., the first network element, the relay node, the AF network element, the terminal device, the network device, etc.) in the above methods. The function can be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions; for example, the transceiver module can be replaced by a transceiver (e.g., the sending unit in the transceiver module can be replaced by a transmitter, and the receiving unit in the transceiver module can be replaced by a receiver), and other units such as the processing module can be replaced by a processor, which respectively performs the transceiving operations and related processing operations in each of the method embodiments.
[0287] In addition, the above transceiver module 11 can also be a transceiver circuit (e.g., which can include a receiving circuit and a sending circuit), and the processing module can be a processing circuit.
[0288] FIG. 12 is a schematic diagram of another communication apparatus 20 provided by the embodiments of the present application. The apparatus 20 includes a processor 21, which is used to execute computer programs or instructions stored in a memory 22, or read data / signaling stored in the memory 22, to perform the methods in the above method embodiments. Optionally, the processor 21 is one or more.
[0289] Optionally, as shown in FIG. 9, the apparatus 20 further includes a memory 22, which is configured to store computer programs or instructions and / or data. The memory 22 can be integrated with the processor 21, or can be separately arranged. Optionally, the memory 22 is one or more.
[0290] Optionally, as shown in FIG. 9, the apparatus 20 further includes a transceiver 23, which is configured to receive and / or send signals. For example, the processor 21 is configured to control the transceiver 23 to receive and / or send signals.
[0291] As an option, the apparatus 20 is configured to implement operations performed by a first network element in the above various method embodiments.
[0292] As another option, the apparatus 20 is configured to implement operations performed by an AF network element in the above various method embodiments.
[0293] As yet another option, the apparatus 20 is configured to implement operations performed by a terminal device in the above various method embodiments.
[0294] As still another option, the apparatus 20 is configured to implement operations performed by a network device in the above various method embodiments.
[0295] As still another option, the apparatus 20 is configured to implement operations performed by a relay node in the above various method embodiments.
[0296] It should be understood that the processor mentioned in the embodiments of the present application can be a central processing unit (CPU), and can also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor, or the processor can also be any conventional processor.
[0297] It should also be understood that the memory mentioned in the embodiments of the present application can be a volatile memory and / or a non-volatile memory. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically EPROM (EEPROM) or a flash memory. The volatile memory can be a random access memory (RAM). For example, the RAM can be used as an external cache. As an example but not limitation, the RAM includes the following various forms: static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchlink DRAM (SLDRAM) and direct rambus RAM (DR RAM).
[0298] It should be noted that when the processor is a general processor, a DSP, an ASIC, a FPGA or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component, the memory (storage module) can be integrated in the processor.
[0299] It should also be noted that the memory described herein is intended to include, but not limited to, these and any other suitable types of memory.
[0300] FIG. 13 is a schematic diagram of a chip system 30 provided by an embodiment of the present application. The chip system 30 (or also can be referred to as a processing system) includes a logic circuit 31 and an input / output interface 32.
[0301] Among them, the logic circuit 31 can be a processing circuit in the chip system 30. The logic circuit 31 can be coupled to a storage network element, call instructions in the storage network element, so that the chip system 30 can realize the method and function of each embodiment of the present application. The input / output interface 32 can be an input / output circuit in the chip system 30, output the information processed by the chip system 30, or input the data or signaling information to be processed into the chip system 30 for processing.
[0302] As a solution, the chip system 30 is configured to implement operations performed by the first network element, the relay node, the AF network element, the terminal device, the network device in the above method embodiments.
[0303] For example, the logic circuit 31 is configured to implement operations related to processing performed by the first network element, the relay node, the AF network element, the terminal device, the network device in the above method embodiments; and the input / output interface 32 is configured to implement operations related to sending and / or receiving performed by the first network element, the relay node, the AF network element, the terminal device, the network device in the above method embodiments.
[0304] The embodiments of the present application further provide a computer readable storage medium, having stored thereon computer instructions for implementing the method performed by the first network element, the relay node, the AF network element, the terminal device, the network device in the above method embodiments.
[0305] For example, the computer program, when executed by a computer, enables the computer to implement the method performed by the first network element, the relay node, the AF network element, the terminal device, the network device in the above method embodiments.
[0306] The embodiments of the present application further provide a computer program product, containing instructions, which, when executed by a computer, implement the method performed by the first network element, the relay node, the AF network element, the terminal device, the network device in the above method embodiments.
[0307] The embodiments of the present application further provide a communication system, including the above first network element and the AF network element, and the first network element and the AF network element are configured to implement the related operations performed by the first network element and the AF network element in the above method embodiments.
[0308] Optionally, the communication system can further include the relay node, and the relay node is configured to implement the related operations performed by the relay node in the above method embodiments.
[0309] The explanations and beneficial effects of the related contents in any of the above provided apparatuses can refer to the corresponding method embodiments provided above, and will not be repeated here.
[0310] In several embodiments provided in the present application, it should be understood that the disclosed apparatus and method can be implemented by other manners. For example, the apparatus embodiments described above are only illustrative, for example, the division of the units is only a logical function division, and actual implementation can have another division manner, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units or components shown or discussed can be indirect coupling or communication connection through some interfaces, apparatuses or units, and can be electrical, mechanical or other forms.
[0311] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network or other programmable devices. For example, the computer can be a personal computer, a server or a network device. The computer instructions can be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center through wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) mode. The computer readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. integrated with one or more available media. The available media can be magnetic media (such as floppy disk, hard disk, magnetic tape), optical media (such as DVD), or semiconductor media (such as solid state disk (SSD) and the like. For example, the foregoing available media includes but is not limited to: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk and various media that can store program codes.
[0312] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto, any person skilled in the art can easily think of changes or replacements within the technical range disclosed in the present application, which should be covered in the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims
1. A communication method characterized by comprising: The first network element receives first information, the first information being used to indicate that a terminal device and a network device transmit data messages through a remote direct access RDMA protocol, and / or being used to indicate an RDMA protocol type supported by the terminal device; The first network element configures a wide area network Internet Protocol IP address for the terminal device according to the first information, the wide area network IP address being used for the terminal device and the network device to transmit the data messages, Wherein, the RDMA protocol transmits the data messages through a first parameter, the first parameter being used to protect the data messages from being tampered when the terminal device and the network device transmit the data messages. The first information includes one or more of the following:
2. The method of claim 1, wherein, A transmission type of the RDMA, a protocol type of the RDMA, or a service type of the RDMA. The first network element configures a wide area network IP address for the terminal device according to the first information, including:
3. The method of claim 2, wherein, In a case where a first condition is met, the first network element determines to configure the wide area network IP address for the terminal device according to the first information, Wherein, the first condition is related to the RDMA protocol. The first network element receives the first information, the first information being used to indicate an RDMA protocol type supported by the terminal device, including:
4. The method according to any one of claims 1 to 3, characterized in that, The first network element sends first request information to a unified data management UDM network element, the first request information being used to request to obtain the RDMA protocol type supported by the terminal device, the first request information including identification information of the terminal device; The first network element receives the first information from the UDM network element. The first network element configures the wide area network IP address for the terminal device according to the first information, including:
5. The method according to any one of claims 1 to 4, characterized in that, The first network element sends first indication information to a user plane function UPF network element, the first indication information being used to instruct the UPF network element to configure the wide area network IP address for the terminal device; Or, The first network element configures the wide area network IP address for the terminal device according to the first information. The terminal device sends first information, the first information being used to indicate that a terminal device and a network device transmit data messages through a remote direct access RDMA protocol, and / or being used to indicate an RDMA protocol type supported by the terminal device; 6. A communication method characterized by comprising: The terminal device receives a wide area network IP address corresponding to the terminal device, the wide area network IP address corresponding to the terminal device being used for the terminal device and the network device to transmit the data messages, Wherein, the RDMA protocol transmits the data messages through a first parameter, the first parameter being used to protect the data messages from being tampered when the terminal device and the network device transmit the data messages. The first network element receives first information, the first information being used to indicate that a terminal device and a network device transmit data messages through a remote direct access RDMA protocol, and / or being used to indicate an RDMA protocol type supported by the terminal device; 7. A communication method characterized by comprising: The first network element sends second indication information to an application function (AF) network element according to the first information, and the second indication information is used to indicate that the attribute of a QP link is determined according to the local area network IP address corresponding to the terminal device, the QP link being a link through which the terminal device and the network device transmit the datagram by using a RDMA protocol, The RDMA protocol transmits the datagram by using a first parameter, and the first parameter is used to protect the datagram from being tampered when the terminal device and the network device transmit the datagram.
8. The method of claim 7, wherein, The attribute of the QP link includes a first address, a second address, and an encoding mode of the first parameter, The first address is a wide area network IP address corresponding to the network device, the second address is a wide area network IP address corresponding to the terminal device, and the encoding mode of the first parameter includes encoding the first parameter based on the local area network IP address corresponding to the terminal device and the wide area network IP address corresponding to the network device.
9. A communication method characterized by comprising: The application function (AF) network element receives second indication information, and the second indication information is used to indicate that the attribute of a queue pair (QP) link is determined according to a local area network IP address corresponding to a terminal device, the QP link being a link through which the terminal device and a network device transmit a datagram by using a remote direct access (RDMA) protocol; The AF network element acquires the local area network IP address corresponding to the terminal device according to the second indication information; The AF network element sends second information to the network device, the second information including the local area network IP address corresponding to the terminal device, and the second information being used to instruct the network device to generate a first parameter according to the local area network IP address corresponding to the terminal device, The RDMA protocol transmits the datagram by using the first parameter, and the first parameter is used to protect the datagram from being tampered when the terminal device and the network device transmit the datagram. The attribute of the QP link includes a first address, a second address, and an encoding mode of the first parameter, 10. The method of claim 9, wherein, The first address is a wide area network IP address corresponding to the network device, the second address is a wide area network IP address corresponding to the terminal device, and the encoding mode of the first parameter includes encoding the first parameter based on the local area network IP address corresponding to the terminal device and the wide area network IP address corresponding to the network device. The first network element receives first information, the first information being used to indicate that a terminal device and a network device transmit a datagram by using a remote direct access (RDMA) protocol, and / or being used to indicate a type of RDMA protocol supported by the terminal device; 11. A communication method, comprising: The first network element sends third indication information to a user plane function (UPF) network element according to the first information, and the third indication information is used to instruct the UPF network element to send a wide area network IP address corresponding to the terminal device to the terminal device, the wide area network IP address corresponding to the terminal device being obtained by performing network address translation (NAT) on a local area network IP address corresponding to the terminal device. 12. The method of claim 11, wherein, Before the first network element sends the third indication information to the UPF network element according to the first information, the method further comprises: The first network element obtains the wide area network IP address corresponding to the terminal device from the network element with the NAT function.
13. A method of communication, comprising: Comprise: A user plane function UPF network element receives third indication information from a first network element, the third indication information being used to instruct the UPF network element to send a wide area network IP address corresponding to the terminal device to the terminal device, the wide area network IP address corresponding to the terminal device being obtained by network address translation NAT from a local area network IP address corresponding to the terminal device; The UPF network element sends third information to the terminal device according to the third indication information, the third information being used to instruct to determine the attribute of a queue pair QP link according to the wide area network IP address corresponding to the terminal device, the QP link being a link between the terminal device and a network device for transmitting data messages through a remote direct access RDMA protocol, the third information comprising the wide area network IP address corresponding to the terminal device, Wherein, the RDMA protocol transmits the data message through a first parameter, the first parameter being used to protect the data message from being tampered when transmitting the data message between the terminal device and the network device.
14. The method of claim 13, wherein, The attribute of the QP link comprises: a first address, a second address and a decoding mode of the first parameter, Wherein, the first address is a wide area network IP address corresponding to the network device, the second address is a wide area network IP address corresponding to the terminal device, and the decoding mode of the first parameter comprises encoding the first parameter based on the wide area network IP address corresponding to the terminal device and the wide area network IP address corresponding to the network device.
15. A method of communication, comprising: Comprise: A terminal device receives third information from a user plane function UPF network element, the third information being used to determine the attribute of a queue pair QP link, the QP link being a link between the terminal device and a network device for transmitting data messages through a remote direct access RDMA protocol, the third information comprising a wide area network IP address corresponding to the terminal device; The terminal device decodes a first parameter according to the wide area network IP address corresponding to the terminal device, Wherein, the RDMA protocol transmits the data message through the first parameter, the first parameter being used to protect the data message from being tampered when transmitting the data message between the terminal device and the network device.
16. The method of claim 15, wherein, The terminal device decodes a first parameter according to the wide area network IP address corresponding to the terminal device, comprising: The terminal device replaces the destination address in the data message with the wide area network IP address corresponding to the terminal device; The terminal device decodes the first parameter; Or, The terminal device replaces the destination address in the first parameter with the wide area network IP address corresponding to the terminal device and decodes the first parameter.
17. The method according to claim 15 or 16, characterized in that, The attribute of the QP link comprises: a first address, a second address and a decoding mode of the first parameter, The first address is a wide area network IP address corresponding to the network device, the second address is a wide area network IP address corresponding to the terminal device, and the decoding mode of the first parameter includes encoding the first parameter based on the wide area network IP address corresponding to the terminal device and the wide area network IP address corresponding to the network device.
18. A method of communication, comprising: Comprise: The first network element receives first information, the first information is used to indicate that the terminal device and the network device transmit data messages through a remote direct access RDMA protocol, and / or, is used to indicate an RDMA protocol type supported by the terminal device; The first network element sends fourth indication information to a relay node with a network address translation NAT function according to the first information, the fourth indication information is used to indicate that a destination address of the data messages transmitted between the terminal device and the network device is a data address of the relay node, Wherein, the RDMA protocol transmits the data messages through a first parameter, the first parameter is used to protect the data messages from being tampered when the terminal device and the network device transmit the data messages.
19. The method of claim 18, wherein, The method further comprises: The first network element sends first request information to a unified data management UDM network element, the first request information is used to request to obtain the RDMA protocol type supported by the terminal device, and the first request information comprises identification information of the terminal device; The first network element receives first information from the UDM network element.
20. A method of communication, comprising: Comprise: The relay node receives fourth indication information from the first network element, the fourth indication information is used to indicate that a destination address of data messages transmitted between a terminal device and a network device is an IP address of the relay node, Wherein, the relay node has a network address translation NAT function, the data messages are transmitted between the relay node and the network device through a first parameter, and the first parameter is used to protect the data messages from being tampered when the terminal device and the network device transmit the data messages.
21. The method of claim 20, wherein, The method further comprises: The relay node sends information indicating that a transmission address of the data messages is a local area network IP address corresponding to the relay node to the terminal device; The relay node sends information indicating that a transmission address of the data messages is a wide area network IP address corresponding to the relay node to the network device.
22. The method of claim 20 or 21, wherein, The method further comprises: The relay node receives a first message from the terminal device, a source address of the first data message is a local area network IP address corresponding to the terminal device, and a destination address of the first data message is a local area network IP address corresponding to the relay node; The relay node sends a second data message to the network device, the second data message is a message in which a source address of the first data message is changed to a wide area network IP address corresponding to the relay node, and a destination address of the first data message is changed to a wide area network IP address corresponding to the network device.
23. The method of claim 20 or 21, wherein, The method further comprises: The relay node receives a third data packet from the network device, a source address of the third data packet is a wide area network IP address corresponding to the network device, and a destination address of the third data packet is a wide area network IP address corresponding to the relay node. The relay node sends a fourth data packet to the network device, the fourth data packet is a packet in which a source address of the third data packet is changed to a wide area network IP address corresponding to the relay node, and a destination address of the third data packet is changed to a wide area network IP address corresponding to the terminal device.
24. A communications device, characterized by The apparatus includes a module for performing the method of any one of claims 1 to 5, or the apparatus includes a module for performing the method of claim 6, or the apparatus includes a module for performing the method of claim 7 or 8, or the apparatus includes a module for performing the method of claim 9 or 10, or the apparatus includes a module for performing the method of claim 11 or 12, or the apparatus includes a module for performing the method of claim 13 or 14, or the apparatus includes a module for performing the method of any one of claims 15 to 17, or the apparatus includes a module for performing the method of claim 18 or 19, or the apparatus includes a module for performing the method of any one of claims 20 to 23.
25. A communications device, characterized by comprising a processor coupled to the memory, the processor configured to invoke computer program instructions stored in the memory to perform the method of any one of claims 1 to 5, or to perform the method of claim 6, or to perform the method of claim 7 or 8, or to perform the method of claim 9 or 10, or to perform the method of claim 11 or 12, or to perform the method of claim 13 or 14, or to perform the method of any one of claims 15 to 17, or to perform the method of claim 18 or 19, or to perform the method of any one of claims 20 to 23.
26. A communication system, characterized by comprising a first network element and an application function (AF) network element, wherein: the first network element is configured to perform the method of claim 7 or 8; and the AF network element is configured to perform the method of claim 9 or 10.
27. A communication system, characterized by comprising a first network element and a user plane function (UPF) network element, wherein: the first network element is configured to perform the method of claim 11 or 12; and the UPF network element is configured to perform the method of claim 13 or 14.
28. A communication system, characterized by comprising a first network element and a relay node, wherein: the first network element is configured to perform the method of claim 18 or 19; and the relay node is configured to perform the method of any one of claims 20 to 23, wherein the relay node has a network address translation function.
29. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer instructions which, when executed on a computer, cause the computer to perform the method of any one of claims 1 to 5; or, cause the computer to perform the method of claim 6; or, cause the computer to perform the method of claim 7 or 8; or, cause the computer to perform the method of claim 9 or 10; or, cause the computer to perform the method of claim 11 or 12; or, cause the computer to perform the method of claim 13 or 14; or, cause the computer to perform the method of any one of claims 15 to 17; or, cause the computer to perform the method of claim 18 or 19; or, cause the computer to perform the method of any one of claims 20 to 23.
30. A computer program product, characterised in that, The computer program product comprises computer programs or instructions for performing the method of any one of claims 1 to 5; or, the computer program product comprises computer programs or instructions for performing the method of claim 6; or, the computer program product comprises computer programs or instructions for performing the method of claim 7 or 8; or, the computer program product comprises computer programs or instructions for performing the method of claim 9 or 10; or, the computer program product comprises computer programs or instructions for performing the method of claim 11 or 12; or, the computer program product comprises computer programs or instructions for performing the method of claim 13 or 14; or, the computer program product comprises computer programs or instructions for performing the method of any one of claims 15 to 17; or, the computer program product comprises computer programs or instructions for performing the method of claim 18 or 19; or, the computer program product comprises computer programs or instructions for performing the method of any one of claims 20 to 23.
Citation Information
Patent Citations
Data transmission method and device based on RDMA protocol, equipment and medium
CN115174702A
Session-based remote direct memory access
CN116915832A
Cross-operating-system remote direct memory access method and corresponding system
CN117851334A
Address translation unit, device and method for remote direct memory access of a memory
US20120303948A1