Communication method and device based on remote direct memory access
By distinguishing the transmission priority of management messages and data messages in PDU sessions, ensuring high priority transmission of management messages is solved, and the problem of RDMA control information cannot be transmitted in time is improved, and the remote memory reading performance is improved.
Patent Information
- Application Number
- CN202410083131.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-19
- Publication Date
- 2025-07-22
AI Technical Summary
In wireless and RDMA fusion technology, other RDMA messages except CM MAD are transmitted through the air interface user plane, resulting in the inability to transmit RDMA control information in time, resulting in the degradation of remote memory reading performance.
By distinguishing the transmission priority of management messages and data messages in PDU sessions, we ensure high priority transmission of management messages. We use a high priority control plane (such as SRB) to transmit management messages, and the user plane (such as DRB or SRB) to transmit data messages, so as to realize timely transmission of management messages.
Improve remote memory reading performance and ensure that RDMA control information can be transmitted to RDMA nodes in a timely manner.
Smart Images

Figure CN120358268A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present application relate to the field of communications, and particularly to a communication method and apparatus based on remote direct memory access. Background Art
[0002] Remote direct memory access (RDMA) technology is used to address the latency in server-side data processing during network transmission. Based on RDMA technology, it is possible to directly access memory data through a network interface without having to transfer data to the kernel by the central processing unit (CPU) and then from the kernel to the network card. RDMA allows for high-throughput, low-latency network communication, and is particularly suitable for use in large-scale parallel computer clusters.
[0003] RDMA packets include management datagrams (MAD) and data packets. MAD is further divided into subnet management (SM) MAD, communication management (CM) MAD, performance MAD, etc. Among them, the priority of SM MAD is higher than that of data packets and other types of MAD.
[0004] In the current technology of integrating wireless and RDMA, CM MAD is transmitted through radio resource control (RRC) signaling on the control plane over the air interface, and other management packets and data packets are transmitted over the air interface on the user plane. However, other RDMA packets except CM MAD are all transmitted over the air interface on the user plane, which may cause the control information of RDMA to not be transmitted to the RDMA node in a timely manner, resulting in a decline in remote memory reading performance. Summary of the Invention
[0005] The present application provides a communication method and apparatus based on remote direct memory access, enabling the management packets of RDMA to be transmitted to the RDMA node in a timely manner and improving remote memory reading performance.
[0006] In a first aspect, a method based on Remote Direct Memory Access (RDMA) is provided. This method can be executed by a terminal, or by a module applied to the terminal (such as a processor, a chip, or a chip system, etc.), or by a logical node, a logical module, or software that can implement all or part of the terminal functions. The method includes: sending a first message, where the first message is used to request the establishment of a Protocol Data Unit (PDU) session, and the PDU session is used to transmit RDMA packets. Receiving a second message, where the second message is used to indicate acceptance of the establishment of the PDU session. Among them, the first message includes first information, and the first information is used to indicate the type of the RDMA packets transmitted by the PDU session. The types of RDMA packets include a first type of packet and a second type of packet, and the transmission priority of the first type of packet is higher than that of the second type of packet. Among them, the first type of packet is a management packet, and the second type of packet is a data packet, or the first type of packet is a first type of management packet, and the second type of packet includes a second type of management packet and / or a data packet, and the first type of management packet is used for subnet management.
[0007] Based on this solution, both the management packets and the data packets of RDMA are transmitted through the PDU session in the user plane. Since the transmission priority of the management packets (such as SM management packets, CM management packets) is higher than that of the data packets, or the transmission priority of the first type of management packet is higher than that of other packets (such as CM management packets, data packets, etc.), the management packets or the first type of management packet can be transmitted preferentially, ensuring that the control information of RDMA can be transmitted to the RDMA node in time and improving the performance of remote memory reading.
[0008] In a second aspect, a method based on Remote Direct Memory Access (RDMA) is provided. This method can be executed by a Radio Access Network (RAN) node, or by a module applied to the RAN node (such as a processor, a chip, or a chip system, etc.), or by a logical node, a logical module, or software that can implement all or part of the RAN node functions. The method includes: receiving a first message, where the first message is used to request the establishment of a Protocol Data Unit (PDU) session, and the PDU session is used to transmit RDMA packets. Sending a second message, where the second message is used to indicate acceptance of the establishment of the PDU session. Among them, the first message includes first information, and the first information is used to indicate the type of the RDMA packets transmitted by the PDU session. The types of RDMA packets include a first type of packet and a second type of packet, and the transmission priority of the first type of packet is higher than that of the second type of packet. Among them, the first type of packet is a management packet, and the second type of packet is a data packet, or the first type of packet is a first type of management packet, and the second type of packet includes a second type of management packet and / or a data packet, and the first type of management packet is used for subnet management. Among them, the technical effects brought by the second aspect can refer to the technical effects brought by the first aspect, and will not be elaborated here.
[0009] In combination with the first aspect or the second aspect, in a possible design, the first type of message is transmitted through the first type of Quality of Service (QoS) flow of the PDU session, and the second type of message is transmitted through the second type of QoS flow of the PDU session. Among them, the priority of the first type of QoS flow is higher than the priority of the second type of QoS flow.
[0010] Based on this possible design, since the priority of the first type of QoS flow for transmitting the first type of message is higher than the priority of the second type of QoS flow for transmitting the second type of message, the first type of message, that is, the management message or the first type of management message, can be transmitted to the RDMA node in a timely manner, improving the remote memory reading performance.
[0011] In combination with the first aspect or the second aspect, in a possible design, the first message further includes second information, and the second information is used to indicate that the category of the PDU session is an RDMA session.
[0012] Based on this possible design, the second information can be used to indicate that the requested PDU session to be established is an RDMA session, so that the session management network element can set a higher priority for the first type of message, only to ensure that the first type of message can be transmitted to the RDMA node in a timely manner.
[0013] In combination with the first aspect or the second aspect, in a possible design, the first information includes the transport layer identifier of the RDMA message. When the transport layer identifier is less than or equal to the first value, the type of the RDMA message transmitted by the PDU session is a management message; when the transport layer identifier is greater than the first value, the type of the RDMA message transmitted by the PDU session is a data message. Based on this possible design, the management message or the data message can be distinguished by the transport layer identifier.
[0014] In combination with the first aspect or the second aspect, in a possible design, the first information includes the link layer identifier of the RDMA message. When the link layer identifier is greater than or equal to the second value, the type of the RDMA message transmitted by the PDU session is the first type of management message; when the link layer identifier is less than the second value, the type of the RDMA message transmitted by the PDU session is the second type of management message and / or other messages, such as the second type of management message and / or data message. Based on this possible design, the first type of management message or other messages, such as the second type of management message and / or data message, can be distinguished by the link layer identifier.
[0015] In combination with the first aspect or the second aspect, in a possible design, the first type of management message includes at least one of the following: information for obtaining or reading node attributes, information for setting or writing node attributes, or response information for read-write requests.
[0016] Combined with the first aspect or the second aspect, in a possible design, the node attribute is used to indicate at least one of the following: node description information, node information, or subnet management information. The node information includes at least one of the following: management message version, subnet management version, or node type. The subnet management information includes at least one of the following: globally unique identifier, subnet management key, subnet management status, or priority.
[0017] Combined with the first aspect or the second aspect, the second message is referred to as the fifth message in the following specific implementation manners.
[0018] In a third aspect, a communication method based on remote direct memory access is provided. This method can be executed by a first communication device, or by a module (such as a processor, a chip, or a chip system, etc.) applied to the first communication device, or can also be implemented by a logical node, a logical module, or software that can implement all or part of the functions of the first communication device. The first communication device can be a terminal or a RAN node. The method includes: determining a first radio bearer for carrying a first message, and sending the first message on the first radio bearer. Wherein, the first message is obtained according to a remote direct memory access (RDMA) message. When the RDMA message is a first type of message, the first radio bearer is a signaling radio bearer (SRB), or when the RDMA message is a second type of message, the first radio bearer is a computing radio bearer (CRB) or a data radio bearer (DRB). Wherein, the first type of message is a management message, the second type of message is a data message, or the first type of message is a first type of management message, and the second type of message includes a second type of management message and / or a data message, and the first type of management message is used for subnet management.
[0019] Based on this solution, by transmitting management messages or the first type of management messages through a high-priority control plane (such as SRB), and transmitting RDMA data messages through a user plane (such as DRB or SRB), the management control messages of RDMA can be preferentially transmitted, so as to ensure that the control information of RDMA can be timely transmitted to the RDMA node, and improve the remote memory reading performance.
[0020] In a possible design, the method further includes: generating an RDMA message based on an RDMA protocol stack; determining a first message according to the RDMA message based on a wireless communication protocol stack.
[0021] Based on this possible design, the integration of the RDMA protocol stack and the wireless communication protocol stack can be realized, and messages can be generated based on the RDMA protocol stack and the wireless communication protocol stack, so as to realize the application of RDMA in wireless communication and reduce the CPU occupancy rate of nodes in the wireless communication system.
[0022] In a possible design, the RDMA protocol stack includes a transport layer, a network layer, and a link layer. Generating an RDMA packet based on the RDMA protocol stack includes: generating a transport layer packet based on the transport layer in the RDMA protocol stack; generating a network layer packet based on the network layer in the RDMA protocol stack according to the transport layer packet; generating a link layer packet based on the link layer in the RDMA protocol stack according to the network layer packet as the RDMA packet.
[0023] In a possible design, when the link layer identifier of the RDMA packet is greater than or equal to a second value, the RDMA packet is a first type of management packet; when the link layer identifier of the RDMA packet is less than the second value, the RDMA packet is a second type of management packet and / or a data packet. Based on this possible design, the first type of management packet and other packets can be identified through the link layer identifier.
[0024] In a possible design, the RDMA protocol stack includes a transport layer. Generating an RDMA packet based on the RDMA protocol stack includes: generating a transport layer packet based on the transport layer in the RDMA protocol stack; determining the RDMA packet according to the transport layer packet.
[0025] In a possible design, determining the RDMA packet according to the transport layer packet includes: using the transport layer packet as the RDMA packet; or, generating a network layer packet based on the network layer in the RDMA protocol stack according to the transport layer packet as the RDMA packet.
[0026] In a possible design, when the transport layer identifier of the RDMA packet is less than or equal to a first value, the RDMA packet is a management packet; or, when the transport layer identifier of the RDMA packet is greater than the first value, the RDMA packet is a data packet. Based on this possible design, management packets or data packets can be identified based on the transport layer identifier.
[0027] In a possible design, when the RDMA packet is a first type of packet, the first packet is carried in a radio resource control (RRC) container or a non-access stratum (NAS) container.
[0028] In a possible design, when the first packet is a first type of packet, generating the first packet based on the radio communication protocol stack according to the RDMA packet includes: generating the first packet based on the RRC layer or the NAS layer in the radio communication protocol stack according to the RDMA packet.
[0029] In a possible design, generating the first packet based on the radio communication protocol stack according to the RDMA packet includes: generating the first packet based on the service data adaptation protocol (SDAP) layer or the packet data convergence protocol (PDCP) layer in the radio communication protocol stack according to the RDMA packet.
[0030] In a possible design, the method further includes: sending a first message for requesting to establish an RRC connection, where the first message includes a cause value for requesting to establish the RRC connection. Among them, when the RDMA message is a first type of message, the cause value is a first cause value, and the first cause value is used to trigger control plane transmission; when the RDMA message is a second type of message, the cause value is a second cause value, and the second cause value is used to trigger user plane transmission. Among them, the first message is referred to as the seventh message in the following specific implementation manners.
[0031] Based on this possible design, when the RDMA message is a first type of message, the first cause value for triggering control plane transmission is carried in the RRC connection establishment request; when the RDMA message is a second type of message, the second cause value for triggering user plane transmission is carried in the RRC connection establishment request, so that when the RDMA message is a first type of message, control plane transmission can be performed, and the first type of message is carried by the SRB; and when the RDMA message is a second type of message, user plane transmission can be performed, and the second message is carried by the CRB or SRB. Finally, the management control message of RDMA can be preferentially transmitted, so as to ensure that the control information of RDMA can be timely transmitted to the RDMA node and improve the remote memory read performance.
[0032] In a possible design, the first cause value is at least one of called response, calling signaling access, or RDMA signaling access, and / or the second cause value is data access or RDMA data access.
[0033] Fourthly, a communication method based on remote direct memory access is provided. This method can be executed by an RAN node, or by a module (such as a processor, a chip, or a chip system, etc.) applied to the RAN node, or by a logical node, a logical module, or software that can implement all or part of the functions of the RAN node. The method includes: receiving a first message through a General Packet Radio Service Tunneling Protocol User Plane (GTP-U) tunnel, where the first message is obtained based on a Remote Direct Memory Access (RDMA) message; and sending the first message on a first radio bearer. Among them, when the RDMA message is a first type of management message, the first radio bearer is a Signaling Radio Bearer (SRB), and the first type of management message is used for communication management; or when the RDMA message is a data message, the first radio bearer is a Computing Radio Bearer (CRB) or a Data Radio Bearer (DRB).
[0034] Based on this solution, management messages for communication management are transmitted through a control plane with high priority (such as SRB), and RDMA data messages are transmitted through a user plane (such as DRB or SRB), enabling the priority transmission of such management messages of RDMA, thereby ensuring that the control information of RDMA can be transmitted to the RDMA node in a timely manner and improving the remote memory read performance. In addition, since the management message is carried by SRB and the reliability of SRB is higher than that of CRB or DRB, the failure of link establishment can be avoided as much as possible, thereby avoiding the reduction of RDMA performance caused by repeated link establishment and improving the performance of RDMA.
[0035] Among them, the first message is called the second message in the following specific implementation manner, the first radio bearer is called the second radio bearer in the following specific implementation manner, and the first type of management message is called the second type of management message in the following specific implementation manner.
[0036] In a possible design, when the GTP-U tunnel is the first GTP-U tunnel, the RDMA message is the first type of management message; or when the GTP-U tunnel is the second GTP-U tunnel, the RDMA message is a data message.
[0037] Based on this possible design, GTP-U tunnels for transmitting the first type of management message and data messages can be respectively established between the RAN node and the core network element, enabling them to use different GTP-U tunnels for transmission.
[0038] In a possible design, when the transport layer identifier of the RDMA message is less than or equal to a first value, the RDMA message is the first type of management message; or when the transport layer identifier of the RDMA message is greater than the first value, the RDMA message is a data message.
[0039] Based on this possible design, the first type of management message or data message can be identified through the transport layer identifier without the need to distinguish through the GTP-U tunnel, enabling the first type of management message and data message to share the GTP-U tunnel between the RAN node and the core network element, reducing the complexity and overhead of establishing a tunnel between the RAN node and the core network element.
[0040] Fifth aspect, there is provided a communication method based on Remote Direct Memory Access (RDMA), which can be executed by a core network element, or by a module (such as a processor, a chip, or a chip system, etc.) applied to the core network element, or by a logical node, a logical module, or software that can implement all or part of the functions of the core network element. The core network element can be a user plane network element or have user plane functions. The method includes: determining a first message, where the first message is obtained based on an RDMA message; sending the first message through a General Packet Radio Service Tunneling Protocol User Plane (GTP-U) tunnel. Wherein, when the RDMA message is a first type of management message, the GTP-U tunnel is a first GTP-U tunnel, and the first type of management message is used for communication management; or, when the RDMA message is a data message, the GTP-U tunnel is a second GTP-U tunnel. Wherein, the computing effect brought by the fifth aspect can refer to the technical effect brought by the fourth aspect, which will not be elaborated here.
[0041] Wherein, the first message is referred to as a second message in the following specific embodiments, and the first type of management message is referred to as a second type of management message in the following specific embodiments.
[0042] Sixth aspect, there is provided a communication method based on Remote Direct Memory Access (RDMA), which can be executed by a Radio Access Network (RAN) node, or by a module (such as a processor, a chip, or a chip system, etc.) applied to the RAN node, or by a logical node, a logical module, or software that can implement all or part of the functions of the RAN node. The method includes: receiving a first message on a first radio bearer, where the first message is obtained based on an RDMA message; sending the first message through a General Packet Radio Service Tunneling Protocol User Plane (GTP-U) tunnel. Wherein, when the RDMA message is a first type of management message, the first radio bearer is a Signaling Radio Bearer (SRB), and the first type of management message is used for communication management; or, when the RDMA message is a data message, the first radio bearer is a Compute Radio Bearer (CRB) or a Data Radio Bearer (DRB).
[0043] Based on this solution, management messages for communication management are transmitted through a high-priority control plane (such as an SRB), and RDMA data messages are transmitted through a user plane (such as a DRB or an SRB), so that the management messages of RDMA can be preferentially transmitted, thereby ensuring that the control information of RDMA can be transmitted to the RDMA node in a timely manner and improving the remote memory reading performance.
[0044] Wherein, the first message is referred to as a third message in the following specific embodiments, the first radio bearer is referred to as a third radio bearer in the following specific embodiments, and the first type of management message is referred to as a second type of management message in the following specific embodiments.
[0045] In a possible design, when the RDMA message is a first type of management message, the GTP-U tunnel is the first GTP-U tunnel; or when the RDMA message is a data message, the GTP-U tunnel is the second GTP-U tunnel.
[0046] Based on this possible design, a GTP-U tunnel for transmitting the first type of management message and a data message can be respectively established between the RAN node and the core network element, so that they can use different GTP-U tunnels for transmission.
[0047] In a possible design, when the transport layer identifier of the RDMA message is less than or equal to a first value, the RDMA message is a first type of management message; or when the transport layer identifier of the RDMA message is greater than the first value, the RDMA message is a data message.
[0048] In a seventh aspect, a communication method based on remote direct memory access is provided. This method can be executed by the core network element, or by a module (such as a processor, a chip, or a chip system, etc.) applied to the core network element, or by a logical node, a logical module, or software that can implement all or part of the functions of the core network element. The core network element can be a user plane network element or have user plane functions. The method includes: receiving a first message through a General Packet Radio Service Tunneling Protocol User Plane (GTP-U) tunnel, where the first message is obtained based on a Remote Direct Memory Access (RDMA) message. When the RDMA message is a first type of management message, the GTP-U tunnel is the first GTP-U tunnel, and the first type of management message is used for communication management; or when the RDMA message is a data message, the GTP-U tunnel is the second GTP-U tunnel. The technical effects brought by the seventh aspect can refer to the technical effects brought by the sixth aspect, which will not be elaborated here.
[0049] Wherein, the first message is referred to as the third message in the following specific embodiments, and the first type of management message is referred to as the second type of management message in the following specific embodiments.
[0050] Combining the fourth aspect to the seventh aspect, in a possible design, the type of the first GTP-U tunnel is the first type, and the first type of GTP-U tunnel is used to transmit the first type of management message of RDMA; or the type of the second GTP-U tunnel is the second type, and the second type of GTP-U tunnel is used to transmit the data message of RDMA.
[0051] Combined with the fourth to seventh aspects, in a possible design, the identifier of the first GTP-U tunnel corresponds to the first type of management message, and the first GTP-U tunnel is used to transmit the first type of management message of RDMA; or, the identifier of the second GTP-U tunnel corresponds to the data message, and the second GTP-U tunnel is used to transmit the data message of RDMA.
[0052] In an eighth aspect, a communication device is provided for implementing various methods. The communication device includes modules, units, or means corresponding to the implementation of the methods, and the modules, units, or means can be implemented by hardware, software, or by hardware executing corresponding software. The hardware or software includes one or more modules or units corresponding to the functions.
[0053] In some possible designs, the communication device may include a processing module and a transceiver module. The processing module can be used to implement the processing functions in any of the above aspects and any possible implementation manners thereof. The transceiver module may include a receiving module and a sending module, which are respectively used to implement the receiving function and the sending function in any of the above aspects and any possible implementation manners thereof.
[0054] In some possible designs, the transceiver module may be composed of a transceiver circuit, a transceiver, a transceiver, or a communication interface.
[0055] In a ninth aspect, a communication device is provided, including: a processor and a memory; the memory is used to store computer instructions, and when the processor executes the instructions, the communication device is enabled to execute the methods described in any aspect.
[0056] In a tenth aspect, a communication device is provided, including: a processor and a communication interface; the communication interface is used to communicate with modules outside the communication device; the processor is used to execute computer programs or instructions, so that the communication device executes the methods described in any aspect.
[0057] In an eleventh aspect, a communication device is provided, including: at least one processor; the processor is used to execute computer programs or instructions stored in the memory, so that the communication device executes the methods described in any aspect. The memory may be coupled to the processor, or may be independent of the processor.
[0058] In a twelfth aspect, a communication device (for example, the communication device may be a chip or a chip system) is provided, and the communication device includes a processor for implementing the functions involved in any of the first to sixth aspects.
[0059] In some possible designs, the communication device includes a memory, and the memory is used to store necessary program instructions and data.
[0060] In some possible designs, when the device is a chip system, it may be composed of chips, or may include chips and other discrete devices.
[0061] It can be understood that the communication device provided in the eighth aspect to the twelfth aspect may be the terminal in the first aspect, or may be a module or unit (for example, a chip, or a chip system, or a circuit) that corresponds one by one to the method / operation / step / action described in the first aspect and is executed in the terminal, or may be a module or unit that can be used in matching with the terminal, or may also be a logical node, logical module or software that can implement all or part of the functions of the terminal.
[0062] Alternatively, the communication device may be the RAN node in the second aspect or the fourth aspect or the sixth aspect, or may be a module or unit (for example, a chip, or a chip system, or a circuit) that corresponds one by one to the method / operation / step / action described in the second aspect or the fourth aspect or the sixth aspect and is executed in the RAN node, or may be a module or unit that can be used in matching with the RAN node, or may also be a logical node, logical module or software that can implement all or part of the functions of the RAN node.
[0063] Alternatively, the communication device may be the first communication device in the third aspect, or may be a module or unit (for example, a chip, or a chip system, or a circuit) that corresponds one by one to the method / operation / step / action described in the third aspect and is executed in the first communication device, or may be a module or unit that can be used in matching with the first communication device, or may also be a logical node, logical module or software that can implement all or part of the functions of the first communication device.
[0064] Alternatively, the communication device may be the core network element in the fifth aspect or the seventh aspect, or may be a module or unit (for example, a chip, or a chip system, or a circuit) that corresponds one by one to the method / operation / step / action described in the fifth aspect or the seventh aspect and is executed in the core network element, or may be a module or unit that can be used in matching with the core network element, or may also be a logical node, logical module or software that can implement all or part of the functions of the core network element.
[0065] It can be understood that when the communication device provided in any one of the eighth aspect to the twelfth aspect is a chip, the sending action / function of the communication device can be understood as outputting information, and the receiving action / function of the communication device can be understood as inputting information.
[0066] In the thirteenth aspect, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program or instruction. When it runs on the communication device, the communication device can execute the method described in any one of the first aspect to the sixth aspect.
[0067] In a fourteenth aspect, there is provided a computer program product containing instructions, which, when running on a communication device, enables the communication device to execute the method described in any one of the first aspect to the sixth aspect.
[0068] In a fifteenth aspect, there is provided a communication system, which includes a terminal and a RAN node. The terminal is used to execute the method described in the first aspect and any possible design thereof, and the RAN node is used to execute the method described in the second aspect and any possible design thereof.
[0069] In a sixteenth aspect, there is provided a communication system, which includes a RAN node and a core network element. The RAN node is used to execute the method described in the fourth aspect or the sixth aspect and any possible design thereof, and the core network element is used to execute the method described in the fifth aspect or the seventh aspect and any possible design thereof.
[0070] Wherein, for the technical effects brought about by any design manner in the eighth aspect to the sixteenth aspect, reference may be made to the technical effects brought about by different design manners in the first aspect to the seventh aspect, which will not be elaborated herein. Description of the Drawings
[0071] Figure 1 It is a schematic diagram of the principle of RDMA provided by this application;
[0072] Figure 2 It is a schematic diagram of an RDMA protocol stack provided by this application;
[0073] Figure 3 It is a schematic diagram of an RDMA service provided by this application;
[0074] Figure 4 It is a schematic diagram of the structure of an RDMA management message provided by this application;
[0075] Figure 5 It is a schematic diagram of the structure of a communication system provided by this application;
[0076] Figure 6 It is a schematic diagram of the structure of another communication system provided by this application;
[0077] Figure 7 It is a schematic diagram of the integration of an RDMA protocol stack and a wireless communication protocol stack provided by this application;
[0078] Figure 8 It is a schematic diagram of the integration of another RDMA protocol stack and a wireless communication protocol stack provided by this application;
[0079] Figure 9 It is a schematic diagram of the flow of a communication method provided by this application;
[0080] Figure 10 Schematic diagram for differentiating message types by QPN and virtual channel number provided by this application;
[0081] Figure 11 Schematic flowchart of another communication method provided by this application;
[0082] Figure 12 Schematic diagram for differentiating message types by virtual channel number provided by this application;
[0083] Figure 13 Schematic diagram for differentiating message types by QPN provided by this application;
[0084] Figure 14 Schematic flowchart of another communication method provided by this application;
[0085] Figure 15 Schematic flowchart of another communication method provided by this application;
[0086] Figure 16 Schematic diagram of a GTP-U tunnel provided by this application;
[0087] Figure 17 Schematic flowchart of another communication method provided by this application;
[0088] Figures 18 - 21 Schematic flowchart of CM handshake link establishment process provided by this application;
[0089] Figures 22 - 24 Schematic diagram of the structure of the communication device provided by this application. Detailed implementation manners
[0090] In the description of this application, unless otherwise specified, " / " indicates that the objects associated before and after are in an "or" relationship. For example, A / B can represent A or B; "and / or" in this application is merely a description of the association relationship of the associated objects, indicating that three relationships can exist. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. Here, A and B can be singular or plural.
[0091] In the description of this application, unless otherwise specified, "a plurality of" means two or more than two. "At least one (item)" or its similar expression refers to any combination of these items, including any combination of single item (item) or plural items (items). For example, at least one (item) of a, b, or c can represent: a, b, c, a - b, a - c, b - c, or a - b - c, where a, b, and c can be single or multiple.
[0092] In addition, for the convenience of clearly describing the technical solutions of the embodiments of the present application, in the embodiments of the present application, terms such as "first" and "second" are used to distinguish identical or similar items with basically the same functions and effects. Those skilled in the art can understand that terms such as "first" and "second" do not limit the quantity and execution order, and "first", "second", etc. do not necessarily mean different.
[0093] In the embodiments of the present application, words such as "exemplary" or "for example" are used to represent examples, illustrations or explanations. Any embodiment or design solution described as "exemplary" or "for example" in the embodiments of the present application should not be construed as being more preferred or having more advantages than other embodiments or design solutions. Rather, the use of words such as "exemplary" or "for example" is intended to present relevant concepts in a specific way for easy understanding.
[0094] It can be understood that the "embodiments" mentioned throughout the specification mean that specific features, structures or characteristics related to the embodiments are included in at least one embodiment of the present application. Therefore, the various embodiments mentioned throughout the specification do not necessarily refer to the same embodiments. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It can be understood that in the various embodiments of the present application, the magnitude of the sequence numbers of the various processes does not mean the order of execution, and the execution order of the various processes should be determined by their functions and internal logics, and should not constitute any limitation to the implementation process of the embodiments of the present application.
[0095] It can be understood that in the present application, "when...", "if", "in the case of..." all mean that corresponding processing will be performed under certain objective circumstances, which does not limit the time, nor does it require a judgment action during implementation, nor does it mean the existence of other limitations.
[0096] It can be understood that some optional features in the embodiments of the present application can, in some scenarios, be implemented independently without relying on other features, such as the current solution they are based on, to solve the corresponding technical problems and achieve the corresponding effects. In some scenarios, they can also be combined with other features according to requirements. Correspondingly, the devices given in the embodiments of the present application can also implement these features or functions accordingly, which will not be elaborated here.
[0097] In this application, unless otherwise specified, the same or similar parts between various embodiments can be referred to each other. In each embodiment of this application, as well as in each implementation manner / implementation method / realization method in each embodiment, if there is no special specification and logical conflict, the terms and / or descriptions between different embodiments, as well as between each implementation manner / implementation method / realization method in each embodiment, are consistent and can be referred to each other. The technical features in different embodiments, as well as in each implementation manner / implementation method / realization method in each embodiment, can be combined to form new embodiments, implementation manners, implementation methods, or realization methods according to their inherent logical relationships. The implementation manners of this application described below do not constitute a limitation on the protection scope of this application.
[0098] To facilitate the understanding of the technical solutions of the embodiments of this application, a brief introduction to the related technologies of this application is given as follows.
[0099] 1. Remote Direct Memory Access (RDMA):
[0100] For high-concurrency and low-latency applications with high input / output (I / O) such as high-performance computing and big data analysis, the traditional Transmission Control Protocol (TCP) / Internet Protocol (IP) software and hardware architecture cannot meet the requirements of the applications. This is because the traditional TCP / IP network communication sends messages through the kernel, and this communication method has a high overhead of data movement and data replication. As Figure 1 shown in the left figure in [reference], the data needs to be moved from the application (APP) to the kernel by the Central Processing Unit (CPU), and then from the kernel to the network card (such as an Ethernet port (ETH Net Port)).
[0101] RDMA technology is used to solve the latency of data processing on the server side in network transmission. Based on RDMA technology, it is possible to directly access memory data through the network interface without the intervention of the operating system kernel. As Figure 1 shown in the right figure in [reference], the RDMA network card directly reads the APP data without the intervention of the CPU in data movement.
[0102] RDMA allows for high-throughput and low-latency network communication, which is especially suitable for use in large-scale parallel computer clusters. When the rate reaches up to 40 gigabits per second (Gbps), the traditional TCP / IP transmission method results in a CPU occupancy rate as high as 100%, while when using an RDMA network card, the CPU occupancy rate is as low as 5%.
[0103] 2. RDMA protocol stack:
[0104] There are various applications of RDMA technology, such as Infiniband (IB), RDMA over Converged Ethernet (RoCE), Internet Wide-Area RDMA Protocol (iWARP), etc.
[0105] InfiniBand is an RDMA technology based on the InfiniBand architecture. It provides a channel-based point-to-point message queue forwarding model. Each application can directly obtain the data messages of this application through the created virtual lane (VL), without the intervention of other operating systems and protocol stacks. As Figure 2 shown, the InfiniBand architecture includes the IB transport layer, the IB network layer, and the IB link layer. The application layer of the InfiniBand architecture adopts RDMA technology, which can provide RDMA read and write access between remote nodes and completely offload the CPU workload; the network transmission uses high-bandwidth transmission; the link layer sets a specific retransmission mechanism to ensure service quality and does not require data buffering.
[0106] The RoCE protocol is divided into two versions: the RoCE v1 protocol and the RoCE v2 protocol. As Figure 2 shown, the RoCE v1 protocol carries RDMA based on Ethernet and can only be deployed in a layer 2 network. Its packet structure is to add a layer 2 Ethernet packet header to the packet of the original IB architecture, and the RoCE packet is identified by Ethertype 0x8915. The RoCE v2 protocol carries RDMA based on the User Datagram Protocol (UDP) / IP protocol and can be deployed in a layer 3 network. Its packet structure is to add a UDP header, an IP header, and a layer 2 Ethernet packet header to the packet of the original IB architecture, and the RoCE packet is identified by the UDP destination port number 4791.
[0107] iWARP is an RDMA technology based on Ethernet and TCP / IP protocols and can run on standard Ethernet infrastructure. iWARP does not specify physical layer information, so it can work on top of any network using TCP / IP protocol. iWARP allows many transport types to share the same physical connection, such as networking, I / O, file systems, block storage, and message communication between processors. As Figure 2 shown, the marker protocol data unit (PDU) aligned framing (MPA) protocol layer serves as an adaptation layer, converting between the message-based direct data placement (DDP) protocol and the byte-stream-based TCP protocol. The RDMA protocol (RDMAP) above the DDP layer is used to provide RDMA semantics to upper-layer protocols.
[0108] 3. RDMA Messages:
[0109] As Figure 3 shown, above the RDMA transport layer, there are management services and consumers. Therefore, above the transport layer, there are management messages (also known as control messages or management control messages) and data messages. Exemplarily, the format of the management datagrams (MAD) is as Figure 4 shown.
[0110] See Figure 4 . The byte MgmtClass represents the type of management message, and different management messages are defined by defining the MgmtClass value. For example, the management type of 0x01 / 0x81 represents the subnet management (SM) MAD, the management type of 0x03 represents the subnet administration (SA) MAD, the management type of 0x04 represents the performance MAD, the management type of 0x07 represents the communication management (CM) MAD, etc. Figure 4 shown. The meanings of other fields can be referred to the relevant descriptions in the existing RDMA standards and will not be elaborated here.
[0111] Generally, the transport layer queue pair number (QPN) of the SM management message is 0, the QPN of other types of management messages is 1, and the QPN of data messages is greater than 1. In addition, at the link layer, the SM management message is mapped to the VL with virtual channel number 15, and other types of management messages and data messages multiplex other VLs. Among them, for the VL with virtual channel number 15, quality of service (QoS) control is not required, and the message in this queue is sent immediately as it arrives; while for the messages on other VLs, a credit mechanism is used for QoS flow control. That is, the priority of the SM management message is higher than that of the RDMA data message or other management messages.
[0112] Generally, the SM management message is transmitted between the subnet manager and the RDMA node in a master-slave mode. The CM management message uses the peer mode of the peer Agent. This is because RDMA communication can perform remote memory read and write between any two communication nodes, and the CM management message is used to obtain the queue pair context (QPC) during remote memory read and write, so the peer mode is adopted.
[0113] With the development of wireless communication, the integration of RDMA and wireless communication has become an inevitable trend. Intel published "6G Cloud-Native System: Vision, Challenges, Architecture Framework and Enabling Technologies" in IEEE Access in 2022, which mentioned that the CM management message of RDMA is transmitted through the control plane radio resource control (RRC) signaling over the air interface, and the data message and other management messages of RDMA, such as the SM management message, are transmitted through the user plane of the air interface.
[0114] However, if both the SM management message and the data message are transmitted through the user plane of the air interface, it is currently impossible to achieve the high-priority transmission of the SM management message, which may cause the control information of RDMA to not be transmitted to the RDMA node in time, resulting in a decline in the performance of remote memory reading. Based on this, the present application provides a communication method based on RDMA. This method can enable the management message of RDMA to be transmitted to the RDMA node in time and improve the performance of remote memory reading.
[0115] The technical solution of the embodiment of the present application can be used in various communication systems, which can be a third generation partnership project (3GPP) communication system, for example, a fourth generation (4G) system such as a long term evolution (LTE) system, a fifth generation (5G) system such as a new radio (NR) system, a system with a hybrid network of LTE and 5G, a non-terrestrial network (NTN), an Internet of Things (IoT) system, a narrowband IoT (NB-IoT) system, or other next-generation communication systems. The communication system can also be a non-3GPP communication system, without limitation.
[0116] Among them, the above-mentioned communication systems applicable to the present application are only examples, and the communication systems applicable to the present application are not limited thereto. The communication system provided by the present application does not impose any limitation on the solution of the present application. It is uniformly described here and will not be elaborated below.
[0117] Figure 5 To show a possible and non-limiting system schematic diagram. As Figure 5 shown, the communication system 50 includes a radio access network (RAN) 500 and a core network (CN) 600. The RAN 500 includes at least one RAN node (such as Figure 1 510a and 510b in, collectively referred to as 510) and at least one terminal (such as Figure 5 520a - 520j in, collectively referred to as 520). The RAN 500 may also include other RAN nodes, for example, wireless relay devices and / or wireless backhaul devices ( Figure 5 not shown in) etc. The terminal 520 is connected to the RAN node 510 in a wireless manner. Exemplarily, as Figure 6 shown, the core network 600 includes user plane network elements. Further, the core network 600 may also include other network elements such as mobility management network elements and session management network elements.
[0118] The RAN node 510 is connected to the core network 600 by wireless or wired means. The core network elements in the core network 600 and the RAN nodes 510 in the RAN 500 may be different physical devices respectively, or may be the same physical device integrating the core network logic function and the radio access network logic function.
[0119] The RAN 500 can be a 3GPP-related cellular system, for example, a 4G or 5G mobile communication system, or an evolved system for the future (such as a sixth generation (6G) mobile communication system). The RAN 500 can also be an open radio access network (O-RAN), a cloud radio access network (CRAN), or a wireless fidelity (WiFi) system. The RAN 500 can also be a communication system that combines two or more of the above systems.
[0120] The RAN node 510, sometimes also referred to as an access network device, a RAN entity, or an access node, etc., forms part of a communication system and is used to assist a terminal in achieving wireless access. The multiple RAN nodes 510 in the communication system 50 can be of the same type or different types. In some scenarios, the roles of the RAN node 510 and the terminal 520 are relative. For example, Figure 5 the network element 520i can be a helicopter or a drone, which can be configured as a mobile base station. For the terminal 520j that accesses the RAN 500 through the network element 520i, the network element 520i is a base station; but for the base station 510a, the network element 520i is a terminal. The RAN node 510 and the terminal 520 are sometimes both referred to as communication devices. For example, Figure 5 the network elements 510a and 510b in the figure can be understood as communication devices with base station functions, and the network elements 520a - 520j can be understood as communication devices with terminal functions.
[0121] In a possible scenario, the RAN node can be a base station, an evolved NodeB (eNodeB), an access point (AP), a transmission reception point (TRP), a next generation NodeB (gNB), a next generation base station in a 6G mobile communication system, a base station in a future mobile communication system, or an access node in a WiFi system, etc. The RAN node can be a macro base station (such as Figure 5 510a in the figure), a micro base station, or an indoor station (such as Figure 5510b) in, relay nodes or donor nodes, or a radio controller in a CRAN scenario. Optionally, the RAN node can also be a server, wearable device, vehicle or in-vehicle device, etc. For example, the access network device in vehicle to everything (V2X) technology can be a road side unit (RSU). All or part of the functions of the RAN node in this application can also be implemented by software functions running on hardware, or by virtualized functions instantiated on a platform (such as a cloud platform). The RAN node in this application can also be a logical node, logical module or software that can implement all or part of the RAN node functions.
[0122] In another possible scenario, multiple RAN nodes cooperate to assist the terminal in achieving wireless access, and different RAN nodes respectively implement part of the functions of the base station. For example, the RAN node can be a central unit (CU), distributed unit (DU), CU-control plane (CP), CU-user plane (UP), or radio unit (RU), etc. The CU and DU can be set separately, or can also be included in the same network element, such as a baseband unit (BBU). The RU can be included in a radio device or radio unit, such as included in a remote radio unit (RRU), active antenna unit (AAU) or remote radio head (RRH).
[0123] In different systems, the CU (or CU-CP and CU-UP), DU or RU may also have different names, but those skilled in the art can understand their meanings. For example, in the ORAN system, the CU can also be called O-CU (open CU), the DU can also be called O-DU, the CU-CP can also be called O-CU-CP, the CU-UP can also be called O-CU-UP, and the RU can also be called O-RU. For the convenience of description, the CU, CU-CP, CU-UP, DU and RU are used as examples in this application. Any one of the CU (or CU-CP, CU-UP), DU and RU in this application can be implemented by a software module, a hardware module, or a combination of a software module and a hardware module.
[0124] A terminal can also be referred to as a terminal device, user equipment (UE), mobile station, mobile terminal, etc. Terminals can be widely applied in various scenarios, such as device-to-device (D2D), vehicle-to-everything (V2X) communication, machine-type communication (MTC), Internet of Things (IoT), virtual reality, augmented reality, industrial control, autonomous driving, remote healthcare, smart grid, smart furniture, smart office, smart wearables, smart transportation, smart city, etc. A terminal can be a mobile phone, tablet computer, computer with wireless transceiver function, wearable device, vehicle, drone, helicopter, airplane, ship, robot, robotic arm, smart home device, etc. Embodiments of this application do not limit the device form of the terminal.
[0125] The user plane network element is mainly responsible for processing user messages, such as forwarding, charging, etc. In a 5G communication system, the user plane network element can be a user plane function (UPF) network element. In future communications such as 6G communication, the user plane network element can still be a UPF network element, or have other names, and embodiments of this application do not limit this.
[0126] The mobility management network element is mainly used for the attachment, mobility management, and tracking area update process of terminals in a mobile network. The mobility management device terminates non-access stratum (NAS) messages, completes registration management, connection management, reachability management, allocates a track area list (TA list), and performs mobility management, etc., and transparently routes session management (SM) messages to the session management network element. In a 5G communication system, the mobility management network element can be an access and mobility management function (AMF) network element. In future communications such as 6G communication, the mobility management network element can still be an AMF network element, or have other names, and embodiments of this application do not limit this.
[0127] The session management network element is mainly responsible for session management in the mobile network, such as session establishment, modification, and release. Specific functions include allocating IP addresses for users, selecting the UPF that provides packet forwarding functions, etc. In a 5G communication system, the session management network element can be a session management function (SMF) network element. In future communications such as 6G communications, the session management network element can still be an SMF network element, or have other names, which are not limited in the embodiments of this application.
[0128] It should be noted that the communication system described in the embodiments of this application is for more clearly explaining the technical solutions of the embodiments of this application, and does not constitute a limitation on the technical solutions provided in the embodiments of this application. Those of ordinary skill in the art know that with the evolution of the network architecture and the emergence of new service scenarios, the technical solutions provided in the embodiments of this application are equally applicable to similar technical problems.
[0129] The following Figure 5 or Figure 6 Taking the interaction between a terminal, a RAN node, and a core network element in the shown communication system as an example, the communication method provided in the embodiments of this application will be described. It should be noted that in the following embodiments of this application, the message names, the names of each parameter, or the names of each piece of information, etc. between the terminal, the RAN node, and the core network element are only examples, and in other embodiments, they can also be other names, and the method provided in this application does not make specific limitations on this.
[0130] It can be understood that in the embodiments of this application, the terminal, the RAN node, or the core network element can execute some or all of the steps in the embodiments of this application. These steps or operations are only examples, and the embodiments of this application can also execute other operations or various deformations of the operations. In addition, each step can be executed in a different order presented in the embodiments of this application, and it is possible not to execute all the operations in the embodiments of this application.
[0131] It can be understood that in this application, the RAN node, the terminal, and the core network element are used as examples of the execution entities for this interaction schematic illustration. However, this application does not limit the execution entities of the interaction schematic illustration. For example, the method executed by the RAN node in this application can also be executed by a module applied to the RAN node (such as a chip, a chip system, or a processor), and can also be implemented by a logical node, a logical module, or software that can implement all or part of the functions of the RAN node; the method executed by the terminal in this application can also be executed by a module applied to the terminal (such as a chip, a chip system, or a processor), and can also be implemented by a logical node, a logical module, or software that can implement all or part of the functions of the terminal; the method executed by the core network element in this application can also be executed by a module applied to the core network element (such as a chip, a chip system, or a processor), and can also be implemented by a logical node, a logical module, or software that can implement all or part of the functions of the core network element.
[0132] In addition, "sending information / message" in this application can be understood as a device sending information / message to another device, or it can also be understood as a logical module inside a device sending information / message to another logical module. For example, "the terminal sends information" can be understood as the terminal sending information to another device (such as a RAN node), or it can be understood as the logical module 1 (such as a processing module) in the terminal sending information to the logical module 2 (such as a transceiver module) in the terminal.
[0133] "Receiving information / message" in this application can be understood as a device receiving information / message from another device, or it can also be understood as a logical module inside a device receiving information / message from another logical module. For example, "the terminal receives information" can be understood as the terminal receiving information from another device (such as a RAN node), or it can be understood as the logical module 1 (such as a processing module) in the terminal receiving information from the logical module 2 (such as a transceiver module) in the terminal.
[0134] "Sending information / message to... (such as the terminal)" or the relevant schematic illustration in the drawings can be understood that the destination of the information / message is the terminal. It can include directly or indirectly sending information to the terminal. "Receiving information from... (such as the RAN node)" or "receiving information sent by... (such as the RAN node)" or "receiving the information sent by (such as the RAN node)", or the relevant schematic illustration in the drawings can be understood that the source of the information is the RAN node, and it can include directly or indirectly receiving information from the RAN node. Necessary processing may be performed on the information between the source and the destination of the information sending, such as format change, etc., but the destination can understand the valid information from the source. Similar expressions in this application can be understood similarly, and will not be elaborated here.
[0135] To better understand the solution of this application, before introducing the communication method provided by this application, a fusion solution of the RDMA protocol stack and the wireless communication protocol stack provided by this application is first introduced.
[0136] As Figure 7 shown in (a) of [], it is a schematic diagram of the fusion of the user plane protocol stack provided by this application. Among them, on the terminal and RAN node sides, the radio access network (RAN) wireless communication protocol stack from top to bottom includes the service data adaptation protocol (SDAP) layer, the packet data convergence protocol (PDCP) layer, the radio link control (RLC) layer, the media access control (MAC) layer, and the physical layer (PHY). In addition, the terminal is externally connected to RDMA hardware to implement the RDMA protocol stack, and the RDMA protocol stack includes a transport layer (such as the InfiniBand (IB) transport layer), a network layer (such as the IB network layer), and a link layer (such as the IB link layer). Among them, the network layer can also be replaced by the IP and UDP layers.
[0137] Between the RAN node and the user plane network element, the user plane protocol stack includes the general packet radio service (GPRS) tunnelling protocol for the user plane (GTP-U), the UDP / IP layer, layer 2 (L2), and layer 1 (L1). The RDMA transport layer packet, the RDMA network layer packet, and the link layer frame (such as the RDMA link layer frame or the Ethernet frame) can be used as the GTP-U payload. On the user plane network element side, the RDMA link layer, the RDMA network layer, and the RDMA transport layer can also be included above the GTP-U layer. On the RDMA server side, it includes the RDMA transport layer, the RDMA network layer, the RDMA link layer, and layer 1 (or layer 1 and layer 2).
[0138] As Figure 7 shown in (b) of [], it is a schematic diagram of the fusion of the control plane protocol stack provided by this application. Among them, on the terminal side and the RAN node side, the radio access network (RAN) wireless protocol stack includes the radio resource control (RRC) layer, the PDCP layer, the RLC layer, the MAC layer, and the PHY. In addition, the terminal side and the mobility management network element side include the non-access stratum (NAS) layer. The terminal is externally connected to RDMA hardware to implement the RDMA protocol stack, and the RDMA protocol stack includes a transport layer, a network layer, and a link layer.
[0139] As Figure 8As shown in (a) below, it is a schematic diagram of another user plane protocol stack integration provided by this application. Among them, the terminal has the transport layer capabilities of the RDMA protocol stack. The terminal may also include the network layer of the RDMA protocol stack, or the functions of the network layer of the RDMA protocol stack may be implemented by the wireless communication protocol stack of the terminal. The link layer functions of the RDMA protocol stack are implemented by the wireless communication protocol stack. Exemplarily, the network layer may also be replaced by the IP and UDP layers.
[0140] Between the RAN node and the user plane network element, the user plane protocol stack includes GTP-U, UDP / IP layer, layer 2 (L2), and layer 1 (L1). The RDMA transport layer packets and RDMA network layer packets can be used as GTP-U payloads. Optionally, the RAN node, the user plane network element, or the RDMA server side has the transport layer and / or network layer of the RDMA protocol stack.
[0141] As Figure 8 As shown in (b) below, it is a schematic diagram of another control plane protocol stack integration provided by this application. Among them, on the terminal side, RAN node side, or mobile management network element side, the protocol stack includes the transport layer of the RDMA protocol stack. On the terminal side and RAN node side, the radio interface protocol stack includes the RRC layer, PDCP layer, RLC layer, MAC layer, and PHY. In addition, the terminal side and the mobile management network element side include the NAS layer.
[0142] Exemplarily, Figure 7 the architecture shown can be called RDMA over wireless. Figure 8 the architecture shown can be called RDMA in wireless. In the CU-DU or O-RAN architecture, the RDMA protocol stack on the RAN node side, such as the RDMA transport layer and / or network layer, can be deployed in the CU or O-CU.
[0143] The communication method provided by this application will be described below. As Figure 9 shown below, it is a communication method provided by this application, and this method includes the following steps:
[0144] S901. The terminal sends a first message to the mobile management network element. Correspondingly, the mobile management network element receives the first message from the terminal.
[0145] Among them, the first message is used to request the establishment of a PDU session. This PDU session is used to transmit RDMA packets. Exemplarily, this first message is a PDU session establishment request message.
[0146] Among them, the first message includes first information.
[0147] In the first possible implementation, the first piece of information is used to indicate the type of RDMA packets transmitted in this PDU session. The types of RDMA packets include the first type of packets and the second type of packets, and the transmission priority of the first type of packets is higher than that of the second type of packets.
[0148] Exemplarily, the first type of packets are management packets, such as RDMA management packets like SM management packets, CM management packets, SA management packets, etc., and the second type of packets are data packets. Alternatively, the first type of packets are the first type of management packets, and the first type of management packets are used for subnet management. For example, the first type of management packet is an SM management packet, and the second type of packets include the second type of management packets and / or data packets. The second type of management packets are other management packets other than the first type of management packets, such as management packets for communication management (i.e., CM management packets), SA management packets, etc.
[0149] Exemplarily, this PDU session can transmit both the first type of RDMA packets and the second type of RDMA packets. For example, the first type of packets are transmitted through the first type of QoS flow of the PDU session, and the second type of packets are transmitted through the second type of QoS flow of the PDU session. Among them, the first type of QoS flow can include one or more QoS flows, and the second type of QoS flow can include one or more QoS flows. The identifiers of the one or more QoS flows included in the first type of QoS flow can be the same or different, and the identifiers of the one or more QoS flows included in the second type of QoS flow can be the same or different.
[0150] Exemplarily, in this first possible implementation, the fact that the first piece of information is used to indicate the type of RDMA packets transmitted in this PDU session can be understood as: the type of RDMA packets that this PDU session is about to transmit, or the type of RDMA packets that this PDU session will transmit first after it is established.
[0151] As a possible implementation, the first piece of information includes the transport layer identifier of the RDMA packet. When the transport layer identifier is less than or equal to the first value, the type of RDMA packets transmitted in this PDU session is the first type of packets; when the transport layer identifier is greater than the first value, the type of RDMA packets transmitted in this PDU session is the second type of packets. Alternatively, when the transport layer identifier is greater than the first value, the type of RDMA packets transmitted in this PDU session is the first type of packets; when the transport layer identifier is less than or equal to the first value, the type of RDMA packets transmitted in this PDU session is the second type of packets. At this time, the first type of packets corresponds to RDMA management packets, and the second type of packets corresponds to RDMA data packets.
[0152] Exemplarily, the transport layer identifier can also be referred to as the layer 4 identifier. Such as Figure 10As shown in (a) thereof, the transport layer identifier may be, for example, QPN, and the first value may be equal to 1. That is, when QPN is 0 or 1, the PDU session transmits the RDMA management message; when QPN is greater than 1, the PDU session transmits the RDMA data message. Of course, the transport layer identifier may also be other identifiers of the transport layer, and the first value may also be other values. The present application does not make specific limitations thereon.
[0153] As another possible implementation, the first information includes the link layer identifier of the RDMA message. When the link layer identifier is greater than or equal to the second value, the type of the RDMA message transmitted by the PDU session is the first type of message; when the link layer identifier is less than the second value, the type of the RDMA message transmitted by the PDU session is the second type of message. Alternatively, when the transport layer identifier is less than the second value, the type of the RDMA message transmitted by the PDU session is the first type of message; when the transport layer identifier is greater than or equal to the second value, the type of the RDMA message transmitted by the PDU session is the second type of message. At this time, the first type of message corresponds to the first type of management message, and the second type of message corresponds to the second type of management message and / or data message.
[0154] Exemplarily, the link layer identifier may also be referred to as the layer 2 identifier. As Figure 10 shown in (b) thereof, the link layer identifier may be, for example, a virtual channel number, and the second value may be 15. That is, when the virtual channel number is greater than or equal to 15, the PDU session transmits the first type of management message of RDMA; when the virtual channel number is less than 15, the PDU session transmits the second type of management message and / or data message of RDMA. Of course, the link layer identifier may also be other identifiers of the link layer, and the second value may also be other values. The present application does not make specific limitations thereon.
[0155] In the second possible implementation manner, the first information is used to indicate that the PDU session is used to transmit the first type of message of RDMA and is not used to transmit the second type of message of RDMA; or the first information is used to indicate that the PDU session is used to transmit the second type of message of RDMA and is not used to transmit the first type of message of RDMA. The transmission priority of the first type of message is higher than that of the second type of message.
[0156] That is, in the second possible implementation manner, the first type of message and the second type of message are transmitted by different PDU sessions. For example, the first type of message is transmitted by the first type of QoS flow of a certain PDU session, and the second type of message is transmitted by the second type of QoS of another PDU session.
[0157] As a possible implementation, the first piece of information includes the transport layer identifier of the RDMA packet. When the transport layer identifier is less than or equal to a first value, the PDU session is used to transmit the first type of RDMA packets and not used to transmit the second type of RDMA packets; when the transport layer identifier is greater than the first value, the PDU session is used to transmit the second type of RDMA packets and not used to transmit the first type of RDMA packets. Alternatively, when the transport layer identifier is greater than the first value, the PDU session is used to transmit the first type of RDMA packets and not used to transmit the second type of RDMA packets; when the transport layer identifier is less than or equal to the first value, the PDU session is used to transmit the second type of RDMA packets and not used to transmit the first type of RDMA packets. At this time, the first type of packets corresponds to RDMA management packets, and the second type of packets corresponds to RDMA data packets. The transport layer identifier and the first value can refer to the relevant descriptions in the first implementation manner above and will not be elaborated here.
[0158] As another possible implementation, the first piece of information includes the link layer identifier of the RDMA packet. When the link layer identifier is greater than or equal to a second value, the PDU session is used to transmit the first type of RDMA packets and not used to transmit the second type of RDMA packets; when the link layer identifier is less than the second value, the PDU session is used to transmit the second type of RDMA packets and not used to transmit the first type of RDMA packets. Alternatively, when the link layer identifier is less than the second value, the PDU session is used to transmit the first type of RDMA packets and not used to transmit the second type of RDMA packets; when the link layer identifier is greater than or equal to, the PDU session is used to transmit the second type of RDMA packets and not used to transmit the first type of RDMA packets. At this time, the first type of packets corresponds to the first type of management packets, and the second type of packets corresponds to the second type of management packets and / or data packets. The link layer identifier and the second value can refer to the relevant descriptions in the first implementation manner above and will not be elaborated here.
[0159] Optionally, the first message further includes second information, which indicates that the category of the PDU session is an RDMA session. The RDMA session can be understood as a new PDU session category provided in this application, indicating a PDU session for transmitting RDMA packets. The RDMA session can also have other names, such as the IB session, as long as the name can indicate a PDU session for transmitting RDMA packets. This application does not make specific limitations on the session name.
[0160] S902. The mobility management network element sends a second message to the session management network element. Correspondingly, the session management network element receives the second message from the mobility management network element.
[0161] Among them, the second message includes the first information. Further, when the first message includes the second information, the second message further includes the second information.
[0162] Exemplarily, the mobility management network element may send the first information, or the first information and the second information, in a session management container to the session management network element. The second message may be a PDU session _ create session management context request message.
[0163] S903. The session management network element determines the priority of the QoS flow in the PDU session or determines the priority of the PDU session according to the first information.
[0164] In the first possible implementation manner, when the first information is used to indicate the type of the RDMA packet transmitted in the PDU session, the session management network element determines the priority of the QoS flow in the PDU session. Exemplarily, the session management network element may determine that the first type of packet is transmitted through the first type of QoS flow of the PDU session, and the second type of packet is transmitted through the second type of QoS flow of the PDU session, that is, the first type of QoS flow and the second type of QoS flow are included in the same PDU session. In addition, the session management network element further determines that the priority of the first type of QoS flow is higher than the priority of the second type of QoS flow.
[0165] In the second possible implementation manner, when the first information is used to indicate that the PDU session is used to transmit the first type of packet of RDMA and not used to transmit the second type of packet of RDMA; or, when the first information is used to indicate that the PDU session is used to transmit the second type of packet of RDMA and not used to transmit the first type of packet of RDMA, the session management network element determines the priority of the PDU session.
[0166] Exemplarily, if the PDU session is used to transmit the first type of packet and not used to transmit the second type of packet, the session management network element determines that the priority of the PDU session is a high priority; if the PDU session is used to transmit the second type of packet and not used to transmit the first type of packet, the session management network element determines that the priority of the PDU session is a low priority. Among them, the priority of the QoS flow included in the PDU session with a high priority is higher than the priority of the QoS flow included in the PDU session with a low priority.
[0167] Exemplarily, when the PDU session is used to transmit the first type of packets and not used to transmit the second type of packets, the first type of packets can be transmitted through the first type of QoS flow of the PDU session, and the second type of packets can be transmitted through the second type of QoS flow of another PDU session; when the PDU session is used to transmit the second type of packets and not used to transmit the first type of packets, the second type of packets can be transmitted through the second type of QoS flow of the PDU session, and the first type of packets can be transmitted through the first type of QoS flow of another PDU session, that is, the first type of QoS flow and the second type of QoS flow are included in different PDU sessions. In addition, the priority of the first type of QoS flow is higher than the priority of the second type of QoS flow.
[0168] S904. The session management network element sends a third message to the mobility management network element. Correspondingly, the mobility management network element receives the third message from the session management network element.
[0169] Wherein, the third message is a response message to the second message. For example, the third message can be a PDU session _ create session management context response message.
[0170] Exemplarily, the third message includes the PDU session identifier, the priorities of the first type of QoS flow and the second type of QoS flow (corresponding to the first possible implementation manner in S903), the PDU session usage or the priority of the PDU session (corresponding to the second possible implementation manner in S903).
[0171] S905. Establishment / modification request and response of the N4 session.
[0172] Exemplarily, the N4 session can be understood as a session or transmission channel between the session management network element and the user plane network element. The session or transmission channel between the session management network element and the user plane network element can also have other names, that is, the N4 session can also have other names, and the present application does not make specific limitations on the name of the N4 session.
[0173] As a possible implementation, in this step S905, the session management network element sends an N4 session establishment / modification request to the user plane network element. The N4 session establishment / modification request is used to provide the packet detection, execution and reporting rules required for the PDU session to the user plane network element, and can also provide the priority of the QoS flow or the PDU session determined in step S903, and request the core network tunnel information (CN Tunnel Info) from the user plane network element. The core network tunnel information is also the GTP-U tunnel information of the uplink packets, such as the GTP-U tunnel identifier on the user plane network element side and the IP address information of the user plane network element.
[0174] After receiving the N4 session establishment / modification request from the session management network element, the user plane network element sends an N4 session establishment / modification response to the session management network element, which carries the N4 session establishment result and CN Tunnel Info.
[0175] S906. Transmission of N1 and N2 messages (N1N2MessageTransfer).
[0176] Exemplarily, N1 can be understood as the interface between the terminal and the mobility management network element, and N2 can be understood as the interface between the RAN node and the mobility management network element. Of course, N1 and N2 can also have other names, and this application does not specifically limit the interface names between the terminal and the mobility management network element and between the RAN node and the mobility management network element.
[0177] As a possible implementation, after receiving the N4 session establishment / modification response, the session management network element can send an N1N2 message transmission request to the mobility management network element, and this request includes N2 session management information sent to the RAN node and an N1 session management container sent to the terminal.
[0178] Exemplarily, the N2 session management information includes PDU session establishment acceptance (PDU Session EstablishmentAccept), the IP address assigned by the user plane network element to the terminal, etc. The N1 session management container includes QoS flow identifier (QoS flowidentifier, QFI), QoS policy (QoS Profile), CN Tunnel Info, etc.
[0179] After receiving the N1N2 message transmission request, the mobility management network element sends a response to the session management network element to confirm receipt of this N1N2 message transmission request.
[0180] S907. The mobility management network element sends a fourth message to the RAN node. Correspondingly, the RAN node receives the fourth message from the mobility management network element.
[0181] Among them, this fourth message includes the PDU session identifier for the terminal, the PDU session establishment acceptance message (including the N1 session management container), and N2 session management information. Exemplarily, this fourth message can be an N2 PDU session request message. The fourth message is a NAS message.
[0182] S908. The RAN node sends a fifth message to the terminal. Correspondingly, the terminal receives the fifth message from the RAN node.
[0183] Among them, the fifth message is used to indicate the acceptance of the establishment of a PDU session. For example, the fifth message may be a PDU Session Establishment Accept message. The fifth message includes an N1 session container. In addition, the RAN node also sends a PDU session identifier to the terminal.
[0184] Optionally, the RAN node also allocates access network tunnel information (AN Tunnel info) for the PDU session. The access network tunnel information is the GTP-U tunnel information of the downlink data packet, such as the GTP-U tunnel information and the IP address information of the RAN node.
[0185] S909. The RAN node sends a sixth message to the mobility management network element. Correspondingly, the mobility management network element receives the sixth message from the RAN node.
[0186] Among them, the sixth message is a response message to the fourth message and includes N2 session management information. The N2 session management information may include a PDU session identifier and access network tunnel information. Exemplarily, the sixth message may be an N2 PDU session response message.
[0187] S910. The terminal and the RDMA server transmit RDMA packets through the PDU session.
[0188] Exemplarily, for the above first possible implementation manner, the first type of packets may be transmitted through the first type of QoS flow of the PDU session, and the second type of packets may be transmitted through the second type of QoS flow of the PDU session. For the above second possible manner, one type of packets among the first type of packets or the second type of packets may be transmitted through the PDU session, and the other type of packets may be transmitted through another PDU session. For example, the first type of packets may be transmitted through the first type of QoS flow of a certain PDU session, and the second type of packets may be transmitted through the second type of QoS flow of another PDU session.
[0189] In a possible implementation manner, when the terminal and the RDMA server transmit RDMA packets through the PDU session, the transmission path of the RDMA packets is RDMA server → user plane network element → RAN node → terminal. After the RDMA packets arrive at the user plane network element, the user plane network element may map the RDMA packets to the corresponding QoS flow of the corresponding PDU session according to the information of the RDMA packets (such as the IP five-tuple or the packet type, etc.). For example, when the RDMA packets are the first type of packets, they are mapped to the first type of QoS flow for transmission, and when the RDMA packets are the second type of packets, they are mapped to the second type of QoS flow for transmission.
[0190] Among them, the QoS flow is identified by a QoS flow index (QFI). The policy control function (PCF) network element / session management network element can configure a QoS template corresponding to the QFI for the user plane network element and / or RAN node. This QoS template is used to define the delay, packet loss rate, priority, etc. of the QoS flow identified by the QFI. Exemplarily, in a 5G system, this QoS template is also called a 5G QoS identifier (5QI). In addition, the session management network element can configure the identifiers of the QoS flows included in the first type of QoS flow and / or the identifiers of the QoS flows included in the second type of QoS flow for the user plane network element and / or RAN node.
[0191] Exemplarily, when the user plane network element sends a QoS flow to the RAN node through a GTP-U tunnel, it can carry the QFI of the QoS flow. The RAN node can then determine its corresponding QoS template and QoS flow type (the first type of QoS flow or the second type of QoS flow) through the QFI, thereby determining the priority of the QoS flow identified by the QFI, and then transmitting the RDMA packet to the terminal based on the priority of the QoS flow. For example, the packets in the high-priority QoS flow are preferentially transmitted to the terminal. The RAN node transmits the RDMA packet to the terminal by calculating a radio bearer (CRB) or a data radio bearer (DRB).
[0192] Exemplarily, the CRB can be understood as a transmission channel for transmitting computing data between the terminal and the RAN node. The RAN node does not need to forward the computing data received through the CRB to the user plane network element and the data network (DN). At the PDCP layer, the computing data carried by the CRB can be understood as a new type of PDCP data PDU, and the computing data can be handed over to the computing resources of the RAN node or the core network for further data processing. In a possible implementation manner, the terminal can generate an RDMA packet based on the RDMA protocol stack, and then based on the wireless communication protocol stack, determine a first packet according to the RDMA packet, and transmit the first packet to the RDMA server through a PDU session. In other words, the first packet is obtained according to the RDMA packet. After receiving the first packet, the RDMA server parses the RDMA packet from the first packet through the processing of the L1 and / or L2 protocol stacks, and then processes the RDMA packet through the RDMA link layer (optional), RDMA network layer, and RDMA transport layer.
[0193] Exemplarily, when the RDMA protocol stack includes a transport layer, a network layer, and a link layer, for example, the protocol stack architecture is as Figure 7As shown, generating an RDMA message based on the RDMA protocol stack may include: generating a transport layer message based on the transport layer in the RDMA protocol stack; generating a network layer message based on the network layer in the RDMA protocol stack according to the transport layer message; and generating a link layer message based on the link layer in the RDMA protocol stack according to the network layer message as the RDMA message.
[0194] Alternatively, when the RDMA protocol stack includes a transport layer, generating an RDMA message based on the RDMA protocol stack may include: generating a transport layer message based on the transport layer in the RDMA protocol stack; and determining the RDMA message according to the transport layer message. When the RDMA protocol stack further includes a network layer, for example, as the protocol stack architecture is as Figure 8 shown, determining the RDMA message according to the transport layer message may include: generating a network layer message based on the network layer in the RDMA protocol stack according to the transport layer message as the RDMA message. When the RDMA protocol stack does not include a network layer, determining the RDMA message according to the transport layer message may include: using the transport layer message as the RDMA message.
[0195] Exemplarily, generating a first message according to the RDMA message based on a wireless communication protocol stack may include: generating a first message based on the SDAP layer or the PDCP layer in the wireless communication protocol stack according to the RDMA message.
[0196] In a possible implementation, two GTP-U tunnels may be established between the RAN node and the user plane network element, one for transmitting the first type of message and the other for transmitting the second type of message. Alternatively, the first type of message and the second type of message may multiplex the same GTP-U tunnel. Reference may be made to the following Figure 15 or Figure 17 description of the GTP-U tunnel between the RAN node and the user plane network element in the method, which will not be elaborated here.
[0197] In the above solution, both the management message and the data message of RDMA are transmitted through the PDU session in the user plane. However, the transmission priority of the management message (such as the SM management message, the CM management message) is higher than that of the data message, or the transmission priority of the SM management message is higher than that of other messages (such as the CM management message, the data message, etc.), so that the SM management message can be transmitted preferentially, ensuring that the control information of RDMA can be transmitted to the RDMA node in time and improving the remote memory reading performance. In addition, using the RDMA technology in a wireless communication system can reduce the CPU occupancy rate of the terminal, the RAN node or the core network element in a high-rate scenario.
[0198] In addition, the present application further provides a communication method. In this method, the first type of RDMA message is transmitted through the control plane of the air interface, and the second type of RDMA message is transmitted through the user plane of the air interface. As Figure 11 shown, the communication method includes the following steps:
[0199] S1101. The first communication device determines a first radio bearer for carrying a first message. Among them, the first message is obtained according to the RDMA message. The RDMA message may be the first type of message or the second type of message.
[0200] Among them, the first type of message is a management message, such as RDMA management messages such as SM management messages, CM management messages, SA management messages, etc., and the second type of message is a data message. Or, the first type of message is a first type of management message, and this first type of management message is used for subnet management. For example, the first type of management message is an SM management message, and the second type of message includes a second type of management message and / or a data message. The second type of management message is other management messages outside the first type of management message, such as management messages for communication management (i.e., CM management messages), SA management messages, etc.
[0201] Among them, when the RDMA message for generating the first message is the first type of message, the first radio bearer is a signalling radio bearer (SRB); or, when the RDMA message is the second type of message, the first radio bearer is a CRB or a DRB.
[0202] That is to say, management messages such as SM management messages and CM management messages are sent on the SRB, and RDMA data messages are sent on the CRB or DRB. Or, the SM management message is sent on the SRB, and other management messages (such as CM management messages, etc.) and data messages are sent on the CRB or DRB.
[0203] Before step S1101, the first communication device also determines the first message. As a possible implementation, the first communication device may be a terminal. When the first communication device determines the first message, it may include the first communication device generating the first message. At this time, the terminal can be used as an RDMA node.
[0204] As another possible implementation, the first communication device may be a RAN node. The first communication device determines the first message, which may include: the first communication device generates the first message; or the first communication device receives the first message from a core network element (such as a user name network element, etc.), and at this time, it can be considered that the first message is generated by the core network element. In this possible implementation, when the first message is generated by the RAN node, the RAN node can be understood as an RDMA service provider. As an RDMA server, the terminal can be used as an RDMA node; when the first message is generated by the core network element, the core network element can be understood as an RDMA service provider. As an RDMA server, the terminal can be used as an RDMA node.
[0205] S1102. The first communication device sends the first message on the first radio bearer. Correspondingly, the second communication device receives the first message on the first radio bearer.
[0206] Exemplarily, the first communication device sends the first message to the second communication device on the first radio bearer. When the first communication device is a terminal, the second communication device may be a RAN node. Further, if the destination of the first message is a core network element, the RAN node also forwards the first message to the core network element; when the first communication device is a RAN node, the second communication device may be a terminal. Based on this solution, the SM management message or management messages such as SM and CM are transmitted through the high-priority control plane (such as SRB), and the RDMA data message is transmitted through the user plane (such as DRB or CRB), so that the management control message of RDMA can be preferentially transmitted, thereby ensuring that the control information of RDMA can be timely transmitted to the RDMA node and improving the remote memory reading performance.
[0207] In a possible implementation manner, in the above step S1101, when the first communication device is a RAN node, the RDMA message is a first type of management message, and the first message is generated by the RAN node, it can be considered that the RAN node has the subnet manager function. When the first communication device is a RAN node, the RDMA message is a first type of management message, and the first message is generated by the core network element, it can be considered that the core network element has the subnet manager function. Or, when the first communication device is a RAN node, the RDMA message is a CM management message, and the first message is generated by the RAN node, it can be considered that the RAN node is used as an RDMA service provider or an RDMA server.
[0208] In addition, when the core network element has the subnet manager function, the core network element can send the first type of management message to the RAN node through the next generation application protocol (NGAP). At this time, the RAN node is used as an RDMA node.
[0209] Exemplarily, the subnet manager function includes at least one of the following: discovering the physical topology of the subnet, assigning local identifiers (LIDs) to RDMA nodes / switches / routers, establishing potential paths between RDMA nodes, scanning the subnet to detect topology changes, managing the addition and deletion of RDMA nodes, etc.
[0210] Exemplarily, the first type of management message includes at least one of the following: information for obtaining or reading node attributes (such as subNGet), information for setting or writing node attributes (such as subNSet), or response information for read / write requests (such as subNGetResp).
[0211] Exemplarily, the node attributes are used to indicate at least one of the following: node description information, node information, or subnet management information. The node information includes at least one of the following: the version of the management message, the subnet management version, or the node type (such as channel adapter (CA) / switch / router, etc.). The subnet management information includes at least one of the following: global unique identifier (GUID), subnet management key, subnet management status, or priority, etc.
[0212] Among them, exemplarily, the GUID may refer to the global unique identifier of the RDMA device (or RDMA node), which is assigned by the vendor during device manufacturing and can be used as the identifier of the RDMA device. The priority may refer to the priority of the subnet manager. The priority of the subnet manager can be configured by the master subnet manager.
[0213] Exemplarily, the CM management message may include at least one of the following: Global Identifier, transport layer identifiers (such as QPN, QPN ID, QP Index, etc.), the key for RDMA transmission, or the key for RDMA read and / or write. For example, the Global Identifier is similar to the IP address of the RDMA node in the TCP / IP mechanism, and the transport layer identifier is used to indicate the queue pair (QP), whose function is similar to the transport layer port number of TCP / IP.
[0214] In a possible implementation, the terminal, RAN node, or core network element generates (or determines) the first message, which may include: generating an RDMA message based on the RDMA protocol stack; determining the first message based on the wireless communication protocol stack according to the RDMA message.
[0215] As a possible implementation, the RDMA protocol stack includes a transport layer, a network layer, and a link layer. For example, the protocol stack architecture is asFigure 7 As shown in the figure. At this time, generating an RDMA message based on the RDMA protocol stack may include: generating a transport layer message based on the transport layer in the RDMA protocol stack; generating a network layer message based on the network layer in the RDMA protocol stack according to the transport layer message; generating a link layer message based on the link layer in the RDMA protocol stack according to the network layer message as the RDMA message.
[0216] In this implementation, the type of the RDMA message can be distinguished by the link layer identifier of the RDMA message. For example, when the link layer identifier of the RDMA message is greater than or equal to a second value, the RDMA message is a first type of message; when the link layer identifier of the RDMA message is less than the second value, the RDMA message is a second type of message. Or, when the link layer identifier of the RDMA message is less than the second value, the RDMA message is a first type of message; when the link layer identifier of the RDMA message is greater than or equal to the second value, the RDMA message is a second type of message. At this time, the first type of message corresponds to a first type of management message, and the second type of message corresponds to a second type of management message and / or data message.
[0217] Exemplarily, the link layer identifier can also be referred to as a layer 2 identifier. As Figure 12 shown, the link layer identifier can be, for example, a virtual channel number, and the second value can be 15, that is, when the virtual channel number is greater than or equal to 15, the RDMA message is a first type of management message, and when the virtual channel number is less than 15, the RDMA message is a second type of management message and / or data message. Of course, the link layer identifier can also be other identifiers of the link layer, and the second value can also be other values, which are not specifically limited in this application.
[0218] As another possible implementation, the RDMA protocol stack includes a transport layer. At this time, generating an RDMA message based on the RDMA protocol stack may include: generating a transport layer message based on the transport layer in the RDMA protocol stack; determining the RDMA message according to the transport layer message.
[0219] When the RDMA protocol stack further includes a network layer, for example, the protocol stack architecture is as Figure 8 shown, determining the RDMA message according to the transport layer message may include: generating a network layer message based on the network layer in the RDMA protocol stack according to the transport layer message as the RDMA message. When the RDMA protocol stack does not include a network layer, determining the RDMA message according to the transport layer message may include: using the transport layer message as the RDMA message.
[0220] In this scenario, the types of RDMA packets can be distinguished by the transport layer identifier of the RDMA packet. For example, when the transport layer identifier of the RDMA packet is less than or equal to a first value, the RDMA packet is a first type of packet; when the transport layer identifier of the RDMA packet is greater than the first value, the RDMA packet is a second type of packet. Or, when the transport layer identifier of the RDMA packet is greater than the first value, the RDMA packet is a first type of packet; when the transport layer identifier of the RDMA packet is less than or equal to the first value, the RDMA packet is a second type of packet. At this time, the first type of packet corresponds to an RDMA management packet, and the second type of packet corresponds to an RDMA data packet.
[0221] Exemplarily, this transport layer identifier can also be referred to as a layer 4 identifier. As Figure 13 shown, the transport layer identifier can be, for example, QPN, and the first value can be 1, that is, when QPN is 0 or 1, the RDMA packet is a management packet, and when QPN is greater than 1, the RDMA packet is a data packet. Of course, the transport layer identifier can also be other identifiers of the transport layer, and the first value can also be other values, which are not specifically limited in this application.
[0222] As a possible implementation, when the RDMA packet is a first type of packet, based on the wireless communication protocol stack, determining a first packet according to the RDMA packet may include: generating the first packet based on the RRC layer or the NAS layer in the wireless communication protocol stack according to the RDMA packet. In addition, the first packet is carried in an RRC container or an NAS container.
[0223] Exemplarily, when the first packet is generated by a terminal and the destination of the first packet is a RAN node, the terminal generates the first packet based on the RRC layer in the wireless communication protocol stack according to the RDMA packet, and the first packet is carried in the RRC container. When the first packet is generated by a terminal and the destination of the first packet is a core network element, the terminal generates the first packet based on the NAS layer in the wireless communication protocol stack according to the RDMA packet, and the first packet is carried in the NAS container.
[0224] When the first packet is generated by a RAN node, the RAN node generates the first packet based on the RRC layer in the wireless communication protocol stack according to the RDMA packet, and the first packet is carried in the RRC container. When the first packet is generated by a core network element, the core network element generates the first packet based on the NAS layer in the wireless communication protocol stack according to the RDMA packet, and the first packet is carried in the NAS container.
[0225] As another possible implementation, when the RDMA message is a second - type message, based on the wireless communication protocol stack, generating a first message according to the RDMA message may include: generating the first message according to the RDMA message based on the SDAP layer or PDCP layer in the wireless communication protocol stack.
[0226] In a possible implementation manner, when the first communication device is a terminal, as Figure 14 shown, before step S1102, the method further includes the following step S1100a. Further, it may also include S1100b - S1100c.
[0227] S1100a. The first communication device sends a seventh message to the second communication device. Correspondingly, the second communication device receives the seventh message from the first communication device.
[0228] Wherein, the second communication device is a RAN node. The seventh message is used to request the establishment of an RRC connection. The seventh message includes a cause value for requesting the establishment of an RRC connection.
[0229] Wherein, when the RDMA message is a first - type message, the cause value for requesting the establishment of an RRC connection is a first cause value, and the first cause value is used to trigger control - plane transmission. Exemplarily, the first cause value is called response (mt - access), calling signaling access (mo - signaling), or RDMA signaling access.
[0230] When the RDMA message is a second - type message, the cause value for requesting the establishment of an RRC connection is a second cause value, and the second cause value is used to trigger user - plane transmission. Exemplarily, the second cause value is data access (mo - data) or RDMA data access.
[0231] Exemplarily, RDMA signaling access or RDMA data access can be understood as the new cause values provided by this application. Of course, RDMA signaling access or RDMA data access may also have other names, and the names thereof in this application are not specifically limited.
[0232] Wherein, the type of the RDMA message can be distinguished by the transport - layer identifier or link - layer identifier of the RDMA message. For relevant descriptions, reference can be made to the foregoing, and details are not repeated here.
[0233] S1100b. The second communication device sends an eighth message to the first communication device. Correspondingly, the first communication device receives the eighth message from the second communication device.
[0234] Wherein, the eighth message is a response message to the seventh message, and the eighth message is used for RRC connection establishment. Exemplarily, the eighth message is an RRC establishment (RRCSetup) message.
[0235] S1100c. The first communication device sends a ninth message to the second communication device. Correspondingly, the second communication device receives the ninth message from the first communication device.
[0236] Wherein, the ninth message is used to indicate the completion of RRC connection establishment. Exemplarily, the ninth message may be an RRC Setup Complete message.
[0237] Optionally, after step S1100c, the RRC connection between the terminal and the RAN node is established, and the terminal can send a first packet to the RAN node through the first radio bearer.
[0238] Based on the above solution, when the RDMA packet is a first-class packet, the terminal carries a first cause value for triggering control plane transmission in the RRC connection establishment request; when the RDMA packet is a second-class packet, the terminal carries a second cause value for triggering user plane transmission in the RRC connection establishment request, so that when the RDMA packet is a first-class packet, control plane transmission can be performed, and the first-class packet is carried by the SRB; and when the RDMA packet is a second-class packet, user plane transmission can be performed, and the second packet is carried by the CRB or DRB. Finally, the management control message of RDMA can be preferentially transmitted, so as to ensure that the control information of RDMA can be timely transmitted to the RDMA node, improving the remote memory reading performance.
[0239] In addition to the above method, the present application also provides a communication method for realizing the downlink transmission of RDMA data packets and management packets for communication management between a core network element (such as a user plane network element) and a RAN node. As Figure 15 shown, the communication method includes the following steps:
[0240] S1501. The core network element determines a second packet.
[0241] Wherein, the second packet is obtained based on the RDMA packet. The RDMA packet may be a second-class management packet or a data packet. The second-class management packet is used for communication management, such as the second-class management packet being a CM management packet.
[0242] Optionally, the core network element may be an RDMA service provider, or an RDMA server, or an RDMA node. The core network element may be a user plane network element, or a network element capable of implementing user plane functions. The implementation of obtaining the second packet based on the RDMA packet may refer to the implementation of determining the first packet based on the RDMA packet above, which will not be elaborated here.
[0243] S1502. The core network element sends a second message through a GTP-U tunnel. Correspondingly, the RAN node receives the second message through the GTP-U tunnel.
[0244] As a possible implementation, when the RDMA message used to generate the second message is a second type of management message, the GTP-U tunnel is the first GTP-U tunnel; when the RDMA message used to generate the second message is a data message, the GTP-U tunnel is the second GTP-U tunnel.
[0245] Among them, the first GTP-U tunnel and the second GTP-U tunnel are different. That is, two types of GTP-U tunnels are established between the core network element and the RAN node, such as GTP-U tunnel 1 and GTP-U tunnel 2, which are respectively used to transmit the second type of management message and data message of RDMA, for example Figure 16 as shown.
[0246] Exemplarily, the type of the first GTP-U tunnel is the first type, and the first type of GTP-U tunnel is used to transmit the second type of management message of RDMA. The type of the second GTP-U tunnel is the second type, and the second type of GTP-U tunnel is used to transmit the data message of RDMA.
[0247] Alternatively, the identifier of the first GTP-U tunnel corresponds to the second type of management message, and the first GTP-U tunnel is used to transmit the second type of management message of RDMA. The identifier of the second GTP-U tunnel corresponds to the data message, and the second GTP-U tunnel is used to transmit the data message of RDMA.
[0248] The core network element can maintain the correspondence between the type of the GTP-U tunnel or the GTP-U tunnel identifier and the type of the RDMA message, so that when sending a message, it selects a GTP-U tunnel corresponding to the type of the RDMA message based on the type of the GTP-U tunnel or this correspondence to send the message.
[0249] As another possible implementation, regardless of whether the RDMA message used to generate the second message is a second type of management message or a data message, the core network element sends the second message through the same GTP-U tunnel. That is, the second type of management message and the data message of RDMA share a GTP-U tunnel.
[0250] S1503. The RAN node sends the second message on the second radio bearer. Correspondingly, the terminal sends the second message on the second radio bearer.
[0251] Among them, when the RDMA message used to generate the second message is a second type of management message, the second radio bearer is the SRB; when the RDMA message is a data message, the second radio bearer is the CRB or DRB. In addition, the terminal can be an RDMA node.
[0252] As a possible implementation, the RAN node can determine whether the RDMA packet used to generate the second packet is a second type of management packet or a data packet based on the GTP-U tunnel for receiving the second packet. Exemplarily, when the GTP-U tunnel is the first GTP-U tunnel, the RDMA packet is a second type of management packet; or, when the GTP-U tunnel is the second GTP-U tunnel, the RDMA packet is a data packet.
[0253] Exemplarily, the RAN node can maintain the correspondence between the type of the GTP-U tunnel or the GTP-U tunnel identifier and the type of the RDMA packet, so that after receiving the second packet through the GTP-U tunnel, it can determine that the RDMA packet used to generate the second packet is a second type of management packet and / or a data packet according to the type of the GTP-U tunnel or the type of the RDMA packet corresponding to the GTP-U tunnel.
[0254] As another possible implementation, in the case where the second type of management packet and the data packet share the GTP-U tunnel, the RAN node can determine whether the RDMA packet is a second type of management packet or a data packet based on the transport layer identifier of the RDMA packet used to generate the second packet.
[0255] For example, when the transport layer identifier of the RDMA packet is less than or equal to a first value, the RDMA packet is a second type of management packet; or, when the transport layer identifier of the RDMA packet is greater than the first value, the RDMA packet is a data packet. Exemplarily, the transport layer identifier can also be referred to as a layer 4 identifier. The transport layer identifier can be, for example, QPN, and the first value can be 1. Of course, the transport layer identifier can also be other identifiers of the transport layer, and the first value can also be other values, which are not specifically limited in this application.
[0256] This application also provides a communication method, which is used to implement the uplink transmission of RDMA data packets and management packets for communication management between a core network element (such as a user plane element) and a RAN node. As Figure 17 shown, the communication method includes the following steps:
[0257] S1701. The terminal determines a third packet.
[0258] Among them, the third packet is obtained based on an RDMA packet. The RDMA packet can be a second type of management packet or a data packet. The second type of management packet is used for communication management, such as the second type of management packet being a CM management packet. The implementation of obtaining the third packet based on the RDMA packet can refer to the implementation of determining the first packet based on the RDMA packet above, which will not be elaborated here.
[0259] S1702. The terminal sends a third message on the third radio bearer. Correspondingly, the RAN node receives the third message on the third radio bearer.
[0260] Among them, when the RDMA message used to generate the third message is a second type of management message, the third radio bearer is an SRB; when the RDMA message is a data message, the third radio bearer is a CRB or a DRB.
[0261] S1703. The RAN node sends the third message through a GTP-U tunnel. Correspondingly, the core network element receives the third message through the GTP-U tunnel.
[0262] As a possible implementation, when the RDMA message used to generate the third message is a second type of management message, the GTP-U tunnel is a first GTP-U tunnel; when the RDMA message used to generate the third message is a data message, the GTP-U tunnel is a second GTP-U tunnel.
[0263] Among them, the first GTP-U tunnel and the second GTP-U tunnel are different. For the relevant description in step S1502 above, it will not be elaborated here.
[0264] Exemplarily, the RAN node can maintain the correspondence between the type of the GTP-U tunnel or the GTP-U tunnel identifier and the type of the RDMA message, so as to select a GTP-U tunnel corresponding to the type of the RDMA message to send the third message based on the type of the GTP-U tunnel or this correspondence.
[0265] As another possible implementation, regardless of whether the RDMA message used to generate the third message is a second type of management message or a data message, the RAN node sends the third message through the same GTP-U tunnel. That is, the second type of management message and the data message of RDMA share a GTP-U tunnel.
[0266] Optionally, the RAN node can determine whether the RDMA message used to generate the third message is a second type of management message or a data message based on the transport layer identifier of the RDMA message. For example, when the transport layer identifier of the RDMA message is less than or equal to a first value, the RDMA message is a second type of management message; or when the transport layer identifier of the RDMA message is greater than the first value, the RDMA message is a data message. For the relevant description in step S1503 above, it will not be elaborated here.
[0267] Based on the above solution, the CM management message is transmitted through a high-priority control plane (such as SRB), and the RDMA data message is transmitted through the user plane (such as DRB or SRB), so that the CM control message of RDMA can be preferentially transmitted, thereby ensuring that the control information of RDMA can be timely transmitted to the RDMA node and improving the remote memory reading performance. In addition, GTP-U tunnels for transmitting CM management messages and data messages can be respectively established between the RAN node and the core network element, so that the two can use different GTP-U tunnels for transmission; or, the CM management message and the data message can share the GTP-U tunnel between the RAN node and the core network element, reducing the complexity and overhead of establishing a tunnel between the RAN node and the core network element.
[0268] In a possible implementation manner, the above Figure 15 or Figure 17 The method shown can be applied to the handshake and link establishment process of RDMA CM between the terminal and the core network element, and this handshake and link establishment process can be used for the terminal and the core network element to interact with QPC. Exemplarily, in the case of respectively establishing GTP-U tunnels for transmitting the second type of management message and the data message between the RAN node and the core network element, as Figure 18 shown, the three-way handshake and link establishment process includes the following steps:
[0269] S1801. The terminal sends a connection request (ConnectRequest) to the RAN node. Correspondingly, the RAN node receives the connection request from the terminal and sends the connection request to the core network element. The core network element receives the connection request.
[0270] Among them, the connection request sent by the terminal to the RAN node can be carried on the SRB. The RAN node can send the connection request to the core network element through the first GTP-U tunnel.
[0271] S1802. The core network element sends a connection reply (ConnectReply) to the RAN node. Correspondingly, the RAN node receives the connection reply from the core network element and sends the connection reply to the terminal.
[0272] Among them, the core network element can send the connection reply to the RAN node through the first GTP-U tunnel. The RAN node can map the connection reply to the SRB and send it to the terminal.
[0273] Exemplarily, the connection reply may include at least one of the following: Global Identifier, transport layer identifier (such as QPN, QPN ID, QP Index, etc.), key for RDMA transmission, or key for RDMA read and / or write.
[0274] S1803. The terminal sends a notification message to the RAN node. Correspondingly, the RAN node receives the notification message from the terminal and sends the notification message to the core network element. The core network element receives the notification message.
[0275] Among them, the notification message can be, for example, ReadyToUse. The notification message can be used to indicate agreement with the parameters carried in the above connection reply.
[0276] Optionally, after step S1803, the terminal and the core network element can perform data interaction. When performing data interaction, the RDMA data packet is carried on the air interface by CRB or DRB and is transmitted between the RAN node and the core network element through the second GTP-U tunnel.
[0277] Exemplarily, in the case where GTP-U tunnels for transmitting the second type of management message and data message are respectively established between the RAN node and the core network element, as Figure 19 shown, the 2-way handshake link establishment process includes the following steps:
[0278] S1901. The terminal sends a Service ID Resolution Request to the RAN node. Correspondingly, the RAN node receives the Service ID Resolution Request from the terminal and sends the Service ID Request to the core network element. The core network element receives the Service ID Resolution Request.
[0279] Among them, the Service ID Resolution Request sent by the terminal to the RAN node can be carried on the SRB. The RAN node can send the Service ID Resolution Request to the core network element through the first GTP-U tunnel.
[0280] S1902. The core network element sends a Service ID Resolution Response to the RAN node. Correspondingly, the RAN node receives the Service ID Resolution Response from the core network element and sends the Service ID Resolution Response to the terminal.
[0281] Among them, the core network element can send the Service ID Resolution Response to the RAN node through the first GTP-U tunnel. The RAN node can map the connection service ID resolution response to the SRB and send it to the terminal.
[0282] Exemplarily, the Service ID Resolution Response can include at least one of the following: Global Identifier, transport layer identifier (such as QPN, QPN ID, QP Index, etc.), key for RDMA transmission, or key for RDMA read and / or write.
[0283] Optionally, after step S1902, the terminal and the core network element can perform data interaction. When performing data interaction, the data packets of RDMA are carried on the air interface by CRB or DRB and are transmitted through the second GTP-U tunnel between the RAN node and the core network element.
[0284] Exemplarily, as Figure 20 shown, in the case where the second type of management packets and data packets multiplex the GTP-U tunnel, the three-way handshake link establishment process is similar to Figure 18 that, with the difference that the transmission between the RAN node and the core network element is carried out through the GTP-U tunnel multiplexed by the second type of management packets and data packets. Similarly, as Figure 21 shown, the two-way handshake establishment process is similar to Figure 19 that, with the difference that the transmission between the RAN node and the core network element is carried out through the GTP-U tunnel multiplexed by the second type of management packets and data packets.
[0285] In a possible implementation manner, when the RAN node acts as an RDMA service provider, or an RDMA server, or an RDMA node, in the method shown above Figures 15 - 21 the interaction between the RAN node and the core network device may not be executed, and the interaction between the terminal and the RAN node still applies.
[0286] The method provided in this application is described above. In addition, this application also provides a communication device for implementing the functions described in the above method embodiments.
[0287] It can be understood that, in order to implement the above functions, the communication device includes corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should easily realize that, combining the units and algorithm steps of each example described in the embodiments disclosed in this article, this application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed in the way of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of this application.
[0288] The embodiments of this application can divide the communication device into function modules according to the above method embodiments. For example, each function module can be divided corresponding to each function, or two or more functions can be integrated into one processing module. The above integrated modules can be implemented in the form of hardware or in the form of software function modules. It should be noted that the division of modules in the embodiments of this application is illustrative, only a logical function division, and there may be other division methods in actual implementation.
[0289] Communication device Figure 22 The structural schematic diagram of a communication device 220 is shown. The communication device 220 includes a processing module 2201 and a transceiver module 2202. The communication device 220 can be used to implement the functions of the above-mentioned terminal, RAN node or core network element.
[0290] In some embodiments, the communication device 220 may further include a storage module ( Figure 22 not shown in the figure) for storing program instructions and data.
[0291] In some embodiments, the transceiver module 2202, which can also be referred to as a transceiver unit, is used to implement the sending and / or receiving functions. The transceiver module 2202 can be composed of a transceiver circuit, a transceiver, a transceiver or a communication interface.
[0292] In some embodiments, the transceiver module 2202 may include a receiving module and a sending module, which are respectively used to execute the receiving and sending steps performed by the terminal, RAN node or core network element in the above method embodiments, and / or other processes to support the technologies described in this article; the processing module 2201 can be used to execute the processing steps performed by the terminal, RAN node or core network element in the above method embodiments, and / or other processes to support the technologies described in this article.
[0293] When the communication device 220 is used to implement the function of the terminal:
[0294] The transceiver module 2202 is used to send a first message, and the first message is used to request the establishment of a protocol data unit (PDU) session, and the PDU session is used to transmit remote direct memory access (RDMA) messages. The transceiver module 2202 is also used to receive a second message, and the second message is used to indicate the acceptance of the establishment of the PDU session. Among them, the first message includes first information, and the first information is used to indicate the type of the RDMA message transmitted by the PDU session. The type of the RDMA message includes a first type of message and a second type of message, and the transmission priority of the first type of message is higher than that of the second type of message. Among them, the first type of message is a management message, and the second type of message is a data message, or the first type of message is a first type of management message, and the second type of message includes a second type of management message and / or a data message, and the first type of management message is used for subnet management.
[0295] When the communication device 220 is used to implement the function of the RAN node, in a possible implementation manner:
[0296] A transceiver module 2202 is configured to receive a first message for requesting to establish a protocol data unit (PDU) session for transmitting remote direct memory access (RDMA) packets. The transceiver module 2202 is further configured to send a second message for indicating acceptance of the establishment of the PDU session. The first message includes first information for indicating the type of the RDMA packets transmitted in the PDU session. The type of the RDMA packets includes a first type of packets and a second type of packets, and the transmission priority of the first type of packets is higher than that of the second type of packets. The first type of packets is management packets, and the second type of packets is data packets, or the first type of packets is first type management packets, and the second type of packets includes second type management packets and / or data packets, and the first type of management packets is used for subnet management.
[0297] In another possible implementation:
[0298] The transceiver module 2202 is configured to receive a first packet through a General Packet Radio Service Tunneling Protocol - User Plane (GTP-U) tunnel, where the first packet is obtained based on a remote direct memory access (RDMA) packet. The transceiver module 2202 is further configured to send the first packet on a first radio bearer. When the RDMA packet is a first type of management packet, the first radio bearer is a Signaling Radio Bearer (SRB), and the first type of management packet is used for communication management; or when the RDMA packet is a data packet, the first radio bearer is a Compute Radio Bearer (CRB) or a Data Radio Bearer (DRB).
[0299] In yet another possible implementation:
[0300] The transceiver module 2202 is configured to receive a first packet on a first radio bearer, where the first packet is obtained based on a remote direct memory access (RDMA) packet. The transceiver module 2202 is further configured to send the first packet through a General Packet Radio Service Tunneling Protocol - User Plane (GTP-U) tunnel. When the RDMA packet is a first type of management packet, the first radio bearer is a Signaling Radio Bearer (SRB), and the first type of management packet is used for communication management; or when the RDMA packet is a data packet, the first radio bearer is a Compute Radio Bearer (CRB) or a Data Radio Bearer (DRB).
[0301] When the communication device 220 is configured to implement the functions of a first communication device, and the first communication device is a terminal or a Radio Access Network (RAN) node:
[0302] A processing module 2201 is configured to determine a first radio bearer for carrying a first message, where the first message is obtained based on a Remote Direct Memory Access (RDMA) message. A transceiver module 2202 is configured to send the first message on the first radio bearer. Wherein, when the RDMA message is a first type of message, the first radio bearer is a Signaling Radio Bearer (SRB); or when the RDMA message is a second type of message, the first radio bearer is a Compute Radio Bearer (CRB) or a Data Radio Bearer (DRB). Wherein, the first type of message is an administrative message, the second type of message is a data message; or the first type of message is a first type of administrative message, the second type of message includes a second type of administrative message and / or a data message, and the first type of administrative message is used for subnet management.
[0303] Optionally, the processing module 2201 is further configured to generate an RDMA message based on an RDMA protocol stack; the processing module 2201 is further configured to determine a first message based on a wireless communication protocol stack according to the RDMA message.
[0304] Optionally, the RDMA protocol stack includes a transport layer, a network layer, and a link layer. The processing module 2201 is configured to generate an RDMA message based on the RDMA protocol stack, including: the processing module 2201 is configured to generate a transport layer message based on the transport layer in the RDMA protocol stack; the processing module 2201 is further configured to generate a network layer message based on the network layer in the RDMA protocol stack according to the transport layer message; the processing module 2201 is further configured to generate a link layer message as the RDMA message based on the link layer in the RDMA protocol stack according to the network layer message.
[0305] Optionally, the RDMA protocol stack includes a transport layer. The processing module 2201 is configured to generate an RDMA message based on the RDMA protocol stack, including: the processing module 2201 is configured to generate a transport layer message based on the transport layer in the RDMA protocol stack; the processing module 2201 is further configured to determine the RDMA message according to the transport layer message.
[0306] Optionally, the processing module 2201 is configured to determine the RDMA message according to the transport layer message, including: the processing module 2201 is configured to use the transport layer message as the RDMA message; or the processing module 2201 is configured to generate a network layer message as the RDMA message based on the network layer in the RDMA protocol stack according to the transport layer message.
[0307] Optionally, the transceiver module 2202 is further configured to send a first message, where the first message is used to request to establish an RRC connection, and the first message includes a cause value for requesting to establish an RRC connection. Wherein, when the RDMA message is a first type of message, the cause value is a first cause value, and the first cause value is used to trigger control plane transmission; when the RDMA message is a second type of message, the cause value is a second cause value, and the second cause value is used to trigger user plane transmission.
[0308] When the communication device 220 is used to implement the functions of a core network element, in a possible implementation:
[0309] A processing module 2201 is configured to determine a first message, where the first message is obtained based on a Remote Direct Memory Access (RDMA) message; a transceiver module 2202 is configured to send the first message through a General Packet Radio Service Tunneling Protocol User Plane (GTP-U) tunnel. Wherein, when the RDMA message is a first type of management message, the GTP-U tunnel is a first GTP-U tunnel, and the first type of management message is used for communication management; or, when the RDMA message is a data message, the GTP-U tunnel is a second GTP-U tunnel.
[0310] In another possible implementation:
[0311] The transceiver module 2202 is configured to receive a first message through a General Packet Radio Service Tunneling Protocol User Plane (GTP-U) tunnel, where the first message is obtained based on a Remote Direct Memory Access (RDMA) message. Wherein, when the RDMA message is a first type of management message, the GTP-U tunnel is a first GTP-U tunnel, and the first type of management message is used for communication management; or, when the RDMA message is a data message, the GTP-U tunnel is a second GTP-U tunnel.
[0312] All relevant contents of each step involved in the above method embodiments can be cited in the function descriptions of the corresponding functional modules, and will not be elaborated here.
[0313] In the present application, the communication device 220 may be presented in a form of dividing each functional module in an integrated manner. Here, a "module" may refer to an Application-Specific Integrated Circuit (ASIC), a circuit, a processor and a memory that execute one or more software or firmware programs, an integrated logic circuit, and / or other devices that can provide the above functions.
[0314] In some embodiments, when Figure 22 the communication device 220 in is a chip or a chip system, the function / implementation process of the transceiver module 2202 may be implemented through the input / output interface (or communication interface) of the chip or chip system, and the function / implementation process of the processing module 2201 may be implemented through the processor (or processing circuit) of the chip or chip system.
[0315] Since the communication device 220 provided in this embodiment can execute the above method, the technical effects it can obtain can refer to the above method embodiments, and will not be elaborated here.
[0316] As a possible product form, the terminal, RAN node, or core network element described in the embodiments of this application can be implemented using the following: one or more field programmable gate arrays (FPGAs), programmable logic devices (PLDs), controllers, state machines, gate logic, discrete hardware components, any other suitable circuits, or any combination of circuits capable of performing the various functions described throughout this application.
[0317] As another possible product form, the terminal or RAN node described in the embodiments of this application can be implemented by a general bus architecture. For ease of explanation, refer to Figure 23 , Figure 23 FIG. 2300 is a schematic structural diagram of a communication device 2300 provided in the embodiments of this application. The communication device 2300 includes a processor 2301 and a transceiver 2302. The communication device 2300 can be a terminal, or a chip or chip system therein; alternatively, the communication device 2300 can be a RAN node, or a chip or module therein. Figure 23 Only the main components of the communication device 2300 are shown. In addition to the processor 2301 and the transceiver 2302, the communication device may further include a memory 2303 and an input / output device (not shown in the figure).
[0318] Optionally, the processor 2301 is mainly used to process communication protocols and communication data, control the entire communication device, execute software programs, and process data of the software programs, so as to implement the methods provided in the above method embodiments. The memory 2303 is mainly used to store software programs and data. The transceiver 2302 may include a radio frequency circuit and an antenna. The radio frequency circuit is mainly used for the conversion between baseband signals and radio frequency signals and the processing of radio frequency signals. The antenna is mainly used to transmit and receive radio frequency signals in the form of electromagnetic waves. The input / output device, such as a touch screen, a display screen, a keyboard, etc., is mainly used to receive data input by the user and output data to the user.
[0319] Optionally, the processor 2301, the transceiver 2302, and the memory 2303 can be connected through a communication bus.
[0320] After the communication device is powered on, the processor 2301 can read the software program in the memory 2303, interpret and execute the instructions of the software program, and process the data of the software program. When data needs to be wirelessly transmitted, after the processor 2301 performs baseband processing on the data to be transmitted, it outputs a baseband signal to the radio frequency circuit, and the radio frequency circuit performs radio frequency processing on the baseband signal and then transmits the radio frequency signal outward in the form of electromagnetic waves through the antenna. When data is sent to the communication device, the radio frequency circuit receives the radio frequency signal through the antenna, converts the radio frequency signal into a baseband signal, and outputs the baseband signal to the processor 2301. The processor 2301 converts the baseband signal into data and processes the data.
[0321] In another implementation, the radio frequency circuit and the antenna can be arranged independently of the processor performing baseband processing. For example, in a distributed scenario, the radio frequency circuit and the antenna can be independent of the communication device and arranged in a remote form.
[0322] In some embodiments, in terms of hardware implementation, those skilled in the art can conceive that the above communication device 220 can adopt Figure 23 the form of the communication device 2300 shown.
[0323] As an example, Figure 22 the function / implementation process of the processing module 2201 in Figure 23 can be implemented by the processor 2301 in the communication device 2300 shown calling the computer-executable instructions stored in the memory 2303. Figure 22 the function / implementation process of the transceiver module 2202 in Figure 23 can be implemented by the transceiver 2302 in the communication device 2300 shown.
[0324] As another possible product form, the terminal or RAN node or core network element in the present application can adopt Figure 24 the composition structure shown, or include Figure 24 the components shown. Figure 24 FIG. is a schematic diagram of the composition of a communication device 2400 provided by the present application. The communication device 2400 can be a terminal or a chip or system-on-chip in the terminal; or, it can be a RAN node or a module or chip or system-on-chip in the RAN node; or, it can be a core network element or a module or chip or system-on-chip in the core network element.
[0325] As shown in Figure 24 the communication device 2400 includes at least one processor 2401, and at least one communication interface ( Figure 24For example, only one communication interface 2404 is shown as an example, and a processor 2401 is also shown as an example. Optionally, the communication device 2400 may further include a communication bus 2402 and a memory 2403.
[0326] The processor 2401 may be a general-purpose central processing unit (CPU), a general-purpose processor, a network processor (NP), a digital signal processor (DSP), a microprocessor, a microcontroller, a PLD, or any combination thereof. The processor 2401 may also be other devices with processing functions, such as circuits, devices, or software modules, without limitation.
[0327] The communication bus 2402 is used to connect different components in the communication device 2400, enabling different components to communicate. The communication bus 2402 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. This bus may be divided into an address bus, a data bus, a control bus, etc. For the sake of representation, Figure 24 only a thick line is shown in the figure, but it does not mean that there is only one bus or one type of bus.
[0328] The communication interface 2404 is used to communicate with other devices or communication networks. Exemplarily, the communication interface 2404 may be a module, a circuit, a transceiver, or any device capable of implementing communication. Optionally, the communication interface 2404 may also be an input / output interface located within the processor 2401 to enable signal input and signal output of the processor.
[0329] The memory 2403 may be a device with storage functions, used to store instructions and / or data. Among them, the instructions may be computer programs.
[0330] Exemplarily, the memory 2403 can be a read-only memory (ROM) or other types of static storage devices that can store static information and / or instructions. It can also be a random access memory (RAM) or other types of dynamic storage devices that can store information and / or instructions. Additionally, it can be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM), or other optical disc storage, optical disc storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media, or other magnetic storage devices, without limitation.
[0331] It should be noted that the memory 2403 can exist independently of the processor 2401 or be integrated with the processor 2401. The memory 2403 can be located inside the communication device 2400 or outside the communication device 2400, without limitation. The processor 2401 can be used to execute the instructions stored in the memory 2403 to implement the method provided in the following embodiments of this application.
[0332] As an alternative implementation, the communication device 2400 can further include an output device 2405 and an input device 2406. The output device 2405 communicates with the processor 2401 and can display information in various ways. For example, the output device 2405 can be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector, etc. The input device 2406 communicates with the processor 2401 and can receive user input in various ways. For example, the input device 2406 can be a mouse, a keyboard, a touch screen device, or a sensing device, etc.
[0333] In some embodiments, in terms of hardware implementation, those skilled in the art can envision that the Figure 22 shown communication device 220 can adopt the Figure 24 form of the shown communication device 2400.
[0334] As an example, Figure 22 the function / implementation process of the processing module 2201 in Figure 24 can be achieved by the processor 2401 in the shown communication device 2400 calling the computer execution instructions stored in the memory 2403.Figure 22 The function / implementation process of the transceiver module 2202 in Figure 24 can be implemented by the communication interface 2404 in the communication device 2400 shown in
[0335] It should be noted that Figure 24 the structure shown does not specifically limit the terminal or RAN node. For example, in some other embodiments of the present application, the terminal or RAN node may include more or fewer components than shown in the figure, or combine certain components, or split certain components, or have different component arrangements. The components shown in the figure can be implemented in hardware, software, or a combination of software and hardware.
[0336] In some embodiments, the embodiments of the present application further provide a communication device, which includes a processor for implementing the method in any of the above method embodiments.
[0337] As a possible implementation, the communication device further includes a memory. The memory is used to store necessary computer programs and data. The computer program may include instructions, and the processor may call the instructions in the computer program stored in the memory to instruct the communication device to execute the method in any of the above method embodiments. Of course, the memory may not be in the communication device.
[0338] As another possible implementation, the communication device further includes an interface circuit, which is a code / data read / write interface circuit for receiving computer execution instructions (the computer execution instructions are stored in the memory, and may be read directly from the memory or may pass through other devices) and transmitting them to the processor.
[0339] As yet another possible implementation, the communication device further includes a communication interface for communicating with modules outside the communication device.
[0340] It can be understood that the communication device may be a chip or a chip system. When the communication device is a chip system, it may be composed of chips or may include chips and other discrete devices. The embodiments of the present application do not make specific limitations on this.
[0341] The present application also provides a computer-readable storage medium, on which a computer program or instructions are stored, and when the computer program or instructions are executed by a computer, the functions in any of the above method embodiments are implemented.
[0342] The present application also provides a computer program product, and when the computer program product is executed by a computer, the functions in any of the above method embodiments are implemented.
[0343] Those of ordinary skill in the art can understand that for the convenience and brevity of description, the specific working processes of the systems, devices, and units described above can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated herein.
[0344] It can be understood that the systems, devices, and methods described in this application can also be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces. The indirect couplings or communication connections of the devices or units can be in electrical, mechanical, or other forms.
[0345] The units described as separate components may or may not be physically separated, that is, they may be located in one place or distributed to multiple network units. The components shown as units may or may not be physical units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0346] In addition, the functional units in each embodiment of this application can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit.
[0347] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using a software program, it can be implemented in whole or in part 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, the processes or functions described in the embodiments of the present application are generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wirelessly (such as infrared, wireless, microwave, etc.). The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains one or more media integrated therein. The available medium may be a magnetic medium (such as a floppy disk, hard disk, magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state drive (SSD)), etc. In the embodiments of the present application, the computer may include the devices described above.
[0348] Although the present application has been described in conjunction with various embodiments, however, in the process of implementing the claimed present application, those skilled in the art can understand and implement other variations of the disclosed embodiments by viewing the accompanying drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude a plurality. A single processor or other unit may implement several functions recited in the claims. Certain measures are recited in mutually different dependent claims, but this does not mean that these measures cannot be combined to produce good results.
[0349] Although the present application has been described in conjunction with specific features and their embodiments, it is obvious that various modifications and combinations can be made without departing from the scope of the present application. Accordingly, the present specification and the drawings are merely exemplary illustrations of the present application defined by the appended claims, and are considered to cover any and all modifications, variations, combinations, or equivalents within the scope of the present application. Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalent technologies, the present application is also intended to include these changes and modifications.
Claims
1. A communication method based on remote direct memory access, characterized in that The method includes: Sending a first message for requesting to establish a Protocol Data Unit (PDU) session for transmitting Remote Direct Memory Access (RDMA) packets. The first message includes first information for indicating the type of the RDMA packets transmitted by the PDU session. The types of the RDMA packets include a first type of packets and a second type of packets, and the transmission priority of the first type of packets is higher than that of the second type of packets. Among them, the first type of packets is management packets, and the second type of packets is data packets, or the first type of packets is a first type of management packets, and the second type of packets includes a second type of management packets and / or data packets, and the first type of management packets is used for subnet management; Receiving a second message for indicating acceptance of the establishment of the PDU session.
2. A communication method based on Remote Direct Memory Access, characterized in that, The method includes: Receiving a first message for requesting to establish a Protocol Data Unit (PDU) session for transmitting Remote Direct Memory Access (RDMA) packets. The first message includes first information for indicating the type of the RDMA packets transmitted by the PDU session. The types of the RDMA packets include a first type of packets and a second type of packets, and the transmission priority of the first type of packets is higher than that of the second type of packets. Among them, the first type of packets is management packets, and the second type of packets is data packets, or the first type of packets is a first type of management packets, and the second type of packets includes a second type of management packets and / or data packets, and the first type of management packets is used for subnet management; Sending a second message for indicating acceptance of the establishment of the PDU session.
3. The method according to claim 1 or 2, wherein The first type of packets is transmitted through a first type of Quality of Service (QoS) flow of the PDU session, and the second type of packets is transmitted through a second type of QoS flow of the PDU session, and the priority of the first type of QoS flow is higher than that of the second type of QoS flow.
4. The method according to any one of claims 1 to 3, characterized in that The first message further includes second information for indicating that the category of the PDU session is an RDMA session.
5. The method according to any one of claims 1 to 4, characterized in that The first information includes a transport layer identifier of the RDMA packets; When the transport layer identifier is less than or equal to a first value, the type of the RDMA packets transmitted by the PDU session is the management packets; When the transport layer identifier is greater than the first value, the type of the RDMA packets transmitted by the PDU session is the data packets.
6. The method according to any one of claims 1-4, characterized in that, The first information includes a link layer identifier of the RDMA packets; When the link layer identifier is greater than or equal to a second value, the type of the RDMA packets transmitted by the PDU session is the first type of management packets; When the link layer identifier is less than the second value, the type of the RDMA packets transmitted by the PDU session is the second type of management packets and / or the data packets.
7. A communication method based on Remote Direct Memory Access, characterized in that, The method includes: Determine a first radio bearer for carrying a first message, where the first message is obtained based on a Remote Direct Memory Access (RDMA) message; Transmit the first message on the first radio bearer; when the RDMA message is a first type of message, the first radio bearer is a Signaling Radio Bearer (SRB), or when the RDMA message is a second type of message, the first radio bearer is a Compute Radio Bearer (CRB) or a Data Radio Bearer (DRB); where the first type of message is an administrative message, the second type of message is a data message, or the first type of message is a first type of administrative message, and the second type of message includes a second type of administrative message and / or a data message, and the first type of administrative message is used for subnet management.
8. The method according to claim 7, characterized in that The method further includes: Generate the RDMA message based on an RDMA protocol stack; Determine the first message based on the RDMA message according to a wireless communication protocol stack.
9. The method according to claim 8, wherein The RDMA protocol stack includes a transport layer, a network layer, and a link layer; The generating the RDMA message based on the RDMA protocol stack includes: Generate a transport layer message based on the transport layer in the RDMA protocol stack; Generate a network layer message based on the network layer in the RDMA protocol stack according to the transport layer message; Generate a link layer message based on the link layer in the RDMA protocol stack according to the network layer message as the RDMA message.
10. The method according to any one of claims 7-9, characterized in that When the link layer identifier of the RDMA message is greater than or equal to a second value, the RDMA message is the first type of administrative message; When the link layer identifier of the RDMA message is less than the second value, the RDMA message is the second type of administrative message and / or a data message.
11. The method according to claim 8, characterized in that The RDMA protocol stack includes a transport layer, and the generating the RDMA message based on the RDMA protocol stack includes: Generate a transport layer message based on the transport layer in the RDMA protocol stack; Determine the RDMA message according to the transport layer message.
12. The method according to claim 11, wherein The determining the RDMA message according to the transport layer message includes: Use the transport layer message as the RDMA message; or Generate a network layer message based on the network layer in the RDMA protocol stack according to the transport layer message as the RDMA message.
13. The method according to any one of claims 7, 8, 11, or 12, wherein When the transport layer identifier of the RDMA message is less than or equal to a first value, the RDMA message is the administrative message; or When the transport layer identifier of the RDMA message is greater than the first value, the RDMA message is the data message.
14. The method according to any one of claims 7-13, characterized in that, When the RDMA message is the first type of message, the first message is carried in a Radio Resource Control (RRC) container or a Non-Access Stratum (NAS) container.
15. The method according to any one of claims 7-14, characterized in that, The method further includes: Transmit a first message, where the first message is used to request the establishment of an RRC connection, and the first message includes a cause value for requesting the establishment of an RRC connection. Wherein, when the RDMA message is the first type of message, the cause value is the first cause value, and the first cause value is used to trigger control plane transmission; when the RDMA message is the second type of message, the cause value is the second cause value, and the second cause value is used to trigger user plane transmission.
16. The method according to claim 15, wherein the first cause value is at least one of called response, calling signaling access, or RDMA signaling access, and / or, the second cause value is data access or RDMA data access.
17. A communication method based on remote direct memory access, characterized in that The method includes: receiving a first message through a General Packet Radio Service Tunneling Protocol user plane GTP-U tunnel, where the first message is obtained based on a Remote Direct Memory Access RDMA message; sending the first message on a first radio bearer; when the RDMA message is a first type of management message, the first radio bearer is a signaling radio bearer SRB, and the first type of management message is used for communication management; or, when the RDMA message is a data message, the first radio bearer is a computing radio bearer CRB or a data radio bearer DRB.
18. The method according to claim 17, wherein when the GTP-U tunnel is a first GTP-U tunnel, the RDMA message is a first type of management message; or when the GTP-U tunnel is a second GTP-U tunnel, the RDMA message is a data message.
19. The method according to claim 17, wherein when the transport layer identifier of the RDMA message is less than or equal to a first value, the RDMA message is a first type of management message; or when the transport layer identifier of the RDMA message is greater than the first value, the RDMA message is a data message.
20. A communication method based on remote direct memory access, characterized in that, The method includes: determining a first message, where the first message is obtained based on a Remote Direct Memory Access RDMA message; sending the first message through a General Packet Radio Service Tunneling Protocol user plane GTP-U tunnel; when the RDMA message is a first type of management message, the GTP-U tunnel is a first GTP-U tunnel, and the first type of management message is used for communication management; or, when the RDMA message is a data message, the GTP-U tunnel is a second GTP-U tunnel.
21. A communication method based on remote direct memory access, characterized in that, The method includes: receiving a first message on a first radio bearer, where the first message is obtained based on a Remote Direct Memory Access RDMA message; when the RDMA message is a first type of management message, the first radio bearer is a signaling radio bearer SRB, and the first type of management message is used for communication management; or, when the RDMA message is a data message, the first radio bearer is a computing radio bearer CRB or a data radio bearer DRB; sending the first message through a General Packet Radio Service Tunneling Protocol user plane GTP-U tunnel.
22. The method according to claim 21, wherein When the RDMA message is a first type of management message, the GTP-U tunnel is a first GTP-U tunnel; or, When the RDMA message is a data message, the GTP-U tunnel is a second GTP-U tunnel.
23. The method according to claim 21 or 22, wherein When the transport layer identifier of the RDMA message is less than or equal to a first value, the RDMA message is a first type of management message; or, When the transport layer identifier of the RDMA message is greater than the first value, the RDMA message is a data message.
24. A communication method based on remote direct memory access, characterized in that, The method includes: Receiving a first message through a General Packet Radio Service Tunneling Protocol User Plane (GTP-U) tunnel, where the first message is obtained based on a Remote Direct Memory Access (RDMA) message; when the RDMA message is a first type of management message, the GTP-U tunnel is a first GTP-U tunnel, and the first type of management message is used for communication management; or, when the RDMA message is a data message, the GTP-U tunnel is a second GTP-U tunnel.
25. The method according to any one of claims 18, 20, 22, or 24, wherein The type of the first GTP-U tunnel is a first type, and the first type of GTP-U tunnel is used to transmit the first type of management message of RDMA; or, The type of the second GTP-U tunnel is a second type, and the second type of GTP-U tunnel is used to transmit the data message of RDMA.
26. The method according to any one of claims 18, 20, 22, or 24, wherein The identifier of the first GTP-U tunnel corresponds to the first type of management message, and the first GTP-U tunnel is used to transmit the first type of management message of RDMA; or, The identifier of the second GTP-U tunnel corresponds to the data message, and the second GTP-U tunnel is used to transmit the data message of RDMA.
27. A communication device, characterized in that, The communication device includes a module for executing the method according to any one of claims 1-26.
28. A communication device, characterized in that, The communication device includes a processor; the processor is configured to run a computer program or instruction to cause the communication device to execute the method according to any one of claims 1-26.
29. A computer-readable storage medium, characterized in that, A computer-readable storage medium stores computer instructions or programs, and when the computer instructions or programs are run on a computer, the method according to any one of claims 1-26 is caused to be executed.
30. A computer program product, characterized in that, The computer program product includes computer instructions; when some or all of the computer instructions are run on a computer, the method according to any one of claims 1-26 is caused to be executed.
Citation Information
Cited By
Communication method and apparatus based on remote direct memory access
WO2025152514A1