WO2021103016A1 - 报文传输方法、通信装置和通信系统 - Google Patents

报文传输方法、通信装置和通信系统 Download PDF

Info

Publication number
WO2021103016A1
WO2021103016A1 PCT/CN2019/122215 CN2019122215W WO2021103016A1 WO 2021103016 A1 WO2021103016 A1 WO 2021103016A1 CN 2019122215 W CN2019122215 W CN 2019122215W WO 2021103016 A1 WO2021103016 A1 WO 2021103016A1
Authority
WO
WIPO (PCT)
Prior art keywords
transport layer
network element
proxy network
message
context
Prior art date
Application number
PCT/CN2019/122215
Other languages
English (en)
French (fr)
Inventor
余芳
李岩
雷骜
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP19953971.9A priority Critical patent/EP4057697A4/en
Priority to CN201980102285.0A priority patent/CN114731557B/zh
Priority to PCT/CN2019/122215 priority patent/WO2021103016A1/zh
Publication of WO2021103016A1 publication Critical patent/WO2021103016A1/zh
Priority to US17/827,539 priority patent/US11722574B2/en
Priority to US18/344,655 priority patent/US20230421642A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/12Reselecting a serving backbone network switching or routing node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/645Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
    • H04L45/655Interaction between route computation entities and forwarding entities, e.g. for route determination or for flow table update
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/16Performing reselection for specific purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/34Modification of an existing route
    • H04W40/36Modification of an existing route due to handover

Definitions

  • This application relates to the field of communications, and in particular to a message transmission method, communication device and communication system.
  • an air interface handover is triggered, that is, the base station connected to the terminal device is switched from the original base station to the current base station.
  • the terminal device is still accessing the original user plane network element at this time.
  • the user plane network element closest to the terminal device may have changed at this time, but the terminal device is still
  • the message is transmitted with the original user plane network element. In this case, the transmission path is longer. Accordingly, the transmission delay of the message will increase, which affects the user experience. In order to reduce the transmission delay of the message, it is necessary to switch the transmission path from the original user plane network element to the new user plane network element.
  • the path is still circuitous.
  • the switch of the server involves the application context migration between the servers. At present, there is no reasonable method to regulate the application context migration and path switching between the servers. Cooperate with each other to avoid message loss.
  • the embodiments of the present application provide a message transmission method, a communication device, and a communication system, which can realize seamless connection between path switching and application state context migration, and avoid packet loss.
  • an embodiment of the present application provides a message transmission method, which is applied to a target transport layer proxy network element, and the method includes: the target transport layer proxy network element establishes a fourth transmission according to the first context of the source transport layer proxy network element Layer connection, the first context is the context of the source transport layer proxy network element regarding the packet transmission on the first path.
  • the target transport layer proxy network element also generates a second context of the target transport layer proxy network element according to the context of the connection between the first context and the fourth transport layer.
  • the target transport layer proxy network element When the target transport layer proxy network element receives the first indication information, the first indication information is used to indicate that the application context migration between the first application server and the second application server is completed, and the target transport layer proxy network element The second context of the proxy network element performs transmission layer processing on the message on the second path, and transmits the message after the transmission layer processing on the second path.
  • the transport layer proxy network element when the application context is migrated between the first application server and the second application server, the first application server and the transport layer proxy network element stop packet transmission, and the transport layer proxy network element includes the source transport layer proxy network element Or the target transport layer proxy network element.
  • the above-mentioned first path is a path established between the terminal device and the first application server, the first path includes a first transport layer connection and a second transport layer connection, and the first transport layer connection is a source transport layer proxy network element
  • the transport layer connection with the terminal device is the transport layer connection between the source transport layer proxy network element and the first application server
  • the second path includes the third transport layer connection and the fourth transport layer connection
  • the third transport layer connection is the transport layer connection between the target transport layer proxy network element and the terminal device
  • the fourth transport layer connection is the transport layer connection between the target transport layer proxy network element and the second application server.
  • the first application server and the transport layer proxy network element stop the message transmission, and the first application server and the second application server After the application context migration of the server is completed, the target transport layer proxy network element performs transport layer processing on the message on the second path according to the second context, which can avoid the context migration process of the first application server and the second application server.
  • the resulting packet loss when the context is migrated between the first application server and the second application server, the first application server and the transport layer proxy network element stop the message transmission, and the first application server and the second application server After the application context migration of the server is completed, the target transport layer proxy network element performs transport layer processing on the message on the second path according to the second context, which can avoid the context migration process of the first application server and the second application server. The resulting packet loss.
  • the target transport layer proxy network element performs transport layer processing on the packets on the second path according to the second context of the target transport layer proxy network element, and transmits the packets processed by the transport layer in the second context. Transmission on the path, including:
  • the target transport layer proxy network element receives the third uplink TCP packet sent by the terminal device, and encapsulates the third uplink TCP packet into a third uplink MPTCP packet according to the second context of the target transport layer proxy network element, and Sending the third upstream MPTCP packet to the second application server on the fourth transport layer connection;
  • the target transport layer proxy network element receives the third downlink MPTCP message sent by the second application server, and encapsulates the third downlink MPTCP message into a third downlink TCP message according to the second context of the target transport layer proxy network element, and The third downlink TCP packet is sent to the terminal device on the third transport layer connection.
  • the method further includes: the target transport layer proxy network element receives a first uplink TCP packet and a first downlink MPTCP packet from the source transport layer proxy network element, where the first uplink TCP packet is A message received by the source transport layer proxy network element but not sent to the first application server, or a message sent by the source transport layer proxy network element to the first application server but not received by the first application server for this
  • the message of the confirmation message of the message, the first downlink MPTCP message is a message received by the source transport layer proxy network element but not sent to the terminal device, or the source transport layer proxy network element sent to the terminal device
  • the message of the confirmation message for the message returned by the terminal device is not received.
  • the target transport layer proxy network element encapsulates the first uplink TCP packet into a first uplink MPTCP packet according to the second context, and sends the first uplink MPTCP packet to the second application on the fourth transport layer connection server.
  • the target transport layer proxy network element encapsulates the first downlink MPTCP message into the first downlink TCP message according to the second context of the target transport layer proxy network element, and connects the first line of the TCP message to the third transport layer connection Send to the terminal device.
  • the target transport layer proxy network element completes the first uplink TCP packet and the first downlink MPTCP packet sent from the source transport layer proxy network element according to the second context, and then performs the second path analysis based on the second context
  • the upper packet is processed at the transport layer, that is, the third uplink TCP packet and the third downlink MPTCP packet are processed at the transport layer according to the second context.
  • the first uplink TCP packet and the first downlink MPTCP packet are received from the source transport layer proxy network element, and the first uplink TCP packet and the first downlink MPTCP packet are processed according to the second context.
  • the text is processed at the transport layer.
  • the second context is determined based on the first context of the source transport layer proxy network element and the fourth transport layer connection context, ensuring that the transport layer processing of the message of the source transport layer proxy network element is not affected by the application context.
  • the impact of migration can also avoid packet loss of the source transport layer proxy network element.
  • the method further includes: the target transport layer proxy network element receives a notification message from the session management network element, the notification message is used to instruct the target transport layer proxy network element to start the transmission layer of the message Processing, optionally, the notification message includes the first context.
  • the first context is sent by the source transport layer proxy network element to the session management network element.
  • the first context can be synchronized between the source transport layer proxy network element and the target transport layer proxy network element, so that the target transport layer proxy network element can obtain the first context of the source transport layer proxy network element.
  • the target transport layer proxy network element before the target transport layer proxy network element receives the first indication information, the target transport layer proxy network element performs transport layer processing on the packets on the third path according to the first context, and transfers the transport layer The processed message is transmitted on the third path.
  • the third path may be a transition path for switching from the first path to the second path.
  • the third path is a path established between the terminal device and the first application server.
  • the third path includes a third transmission layer connection and a fifth transmission layer connection.
  • the fifth transmission layer connection is the target transmission layer proxy network element and the first application server.
  • a transport layer connection between application servers, the fifth transport layer connection passes through the source transport layer proxy network element.
  • the target transport layer proxy network element stops sending data to the first application server, and the second instruction information is that the first application server wants to start the application with the second application server Sent when the context is migrated.
  • the second indication information indicates that the target transport layer proxy network element stops sending data to the first application server, or the second indication information indicates that application context migration is initiated between the first application server and the second application server, etc., in this application
  • the embodiment is not limited.
  • the proxy network element at the target transport layer stops sending data to the first application server, and the application context migration is performed between the first application server and the second application server to avoid packet loss during application context migration , And use the third path as the transition path.
  • the target transport layer proxy network element performs transport layer processing on the packets on the third path according to the first context.
  • the target transport layer proxy network element performs transport layer processing on the packets on the third path according to the first context, and transmits the packets processed by the transport layer on the third path, including:
  • the target transport layer proxy network element receives the fourth uplink TCP packet sent by the terminal device, and encapsulates the fourth uplink TCP packet into a fourth uplink MPTCP packet according to the first context of the source transport layer proxy network element, and combines the fourth uplink TCP packet
  • the upstream MPTCP packet is sent to the first application server on the fifth transport layer connection through the source transport layer proxy network element.
  • the target transport layer proxy network element receives the fourth downlink MPTCP packet forwarded by the source transport layer proxy network element, and encapsulates the fourth downlink MPTCP packet into a fourth downlink TCP packet according to the first context of the source transport layer proxy network element , And send the fourth downlink TCP packet to the terminal device on the third transport layer connection.
  • the method further includes: the target transport layer proxy network element receives a second uplink TCP packet and a second downlink MPTCP packet from the source transport layer proxy network element, and the second uplink TCP packet is the source transmission A message received by the layer proxy network element but not sent to the first application server, or a message sent by the source transport layer proxy network element to the first application server but not receiving the confirmation message for the uplink message,
  • the second downlink MPTCP packet is a packet received by the source transport layer proxy network element but not sent to the terminal device, or a source transport layer proxy network element sent to the terminal device but not received for the downlink packet The message of the confirmation message.
  • the target transport layer proxy network element encapsulates the second uplink TCP packet into a second uplink MPTCP packet according to the first context, and sends the second uplink MPTCP packet to the fifth transport layer connection through the source transport layer proxy network element The first application server.
  • the target transport layer proxy network element encapsulates the second downlink MPTCP packet into a second downlink TCP packet according to the first context, and sends the second downlink TCP packet to the terminal device on the third transport layer connection.
  • the second uplink TCP message and the second downlink MPTCP message of the source transport layer proxy network element are sent to the target transport layer proxy network element for transport layer processing, and the transport layer is processed
  • the message of is transmitted to the first application server on the third path, which can avoid packet loss caused by application context migration.
  • the first context includes the first transport layer connection parameters and the second transport layer connection parameters, and the first transport layer connection parameters and the second transport layer connection parameters are used to perform the transport layer processing; or,
  • the first context includes the first transmission layer connection parameters, the first transmission state parameters, the second transmission layer connection parameters, and the second transmission state parameters.
  • the first transmission layer connection parameters and the second transmission layer connection parameters are used for transmission layer processing,
  • the first transmission state parameter is used to indicate the message transmission state of the first transmission layer connection, and the second transmission state parameter is used to indicate the message transmission state of the second transmission layer connection.
  • an embodiment of the present application provides a message transmission method, which is applied to a source transport layer proxy network element, and the method includes: if the source transport layer proxy network element receives third indication information, the source transport layer proxy network element Stop performing transport layer processing on the packet on the first path according to the first context of the source transport layer proxy network element, where the first context is the context of the source transport layer proxy network element regarding packet transmission on the first path.
  • the first context is used for the target transport layer proxy network element to establish a fourth transport layer connection, and when the target transport layer proxy network element receives the first indication information, it performs an alignment on the second path according to the second context of the target transport layer proxy network element
  • the message is processed by the transport layer, where the second context is determined according to the context of the first context and the fourth transport layer connection, and the first indication information is used to indicate the application context migration between the first application server and the second application server Completed, where, when the application context is migrated, the first application server and the proxy network element stop message transmission, and the proxy network element includes the source transport layer proxy network element or the target transport layer proxy network element;
  • the first path is the path established between the terminal device and the first application server, the first path includes the first transport layer connection and the second transport layer connection, and the first transport layer connection is the source transport layer proxy network element and the terminal device
  • the second transmission layer connection is the transmission layer connection between the source transmission layer proxy network element and the first application server.
  • the second path includes the third transmission layer connection and the fourth transmission layer connection.
  • the third transmission layer The layer connection is the transport layer connection between the target transport layer proxy network element and the terminal device
  • the fourth transport layer connection is the transport layer connection between the target transport layer proxy network element and the second application server.
  • the source transport layer proxy network element when the source transport layer proxy network element receives the third indication information, it stops performing transport layer processing on the packet on the first path according to the first context, thereby transferring the function of the transport layer processing To the target transport layer proxy network element, the application context migration between the first application server and the second application server is realized.
  • the source transport layer proxy network element determines that the source transport layer proxy network element has stopped performing transport layer processing on the message, determines that the target transport layer proxy network element has started the transmission layer processing of the message, and then The session management network element sends a migration completion instruction, and the migration completion instruction is used for the session management network element to trigger the application context migration between the first application server and the second application server.
  • the source transport layer proxy network element is first to stop the transmission layer processing of the message, and the target transport layer proxy network element starts to perform the transport layer processing on the message, and then performs the application context migration, which can reduce the application context migration.
  • the resulting transmission delay is first to stop the transmission layer processing of the message, and the target transport layer proxy network element starts to perform the transport layer processing on the message, and then performs the application context migration, which can reduce the application context migration. The resulting transmission delay.
  • the source transport layer proxy network element before the source transport layer proxy network element stops performing transport layer processing on the packet on the first path according to the first context, the source transport layer proxy network element also detects whether the third uplink packet is An uplink MPTCP packet, the third uplink packet is an uplink packet sent by the target transport layer proxy network element to the first application server through the source transport layer proxy network element. If the source transport layer proxy network element determines that the third uplink packet is an uplink MPTCP packet, it stops performing transport layer processing on the packet on the first path.
  • the implementation of this embodiment can avoid the occurrence of packet loss caused by packets sent by the target transport layer proxy network element that have not undergone transport layer processing before the target transport layer proxy network element initiates transport layer processing, and ensures that each packet is lost.
  • the message is processed at the transport layer.
  • the source transport layer proxy network element sends the first uplink TCP packet and the first downlink MPTCP packet to the target transport layer proxy network element for transport layer processing
  • the first uplink TCP packet is the source A message received by the transport layer proxy network element but not sent to the first application server, or a message sent by the source transport layer proxy network element to the first application server but not receiving the confirmation message for the uplink message
  • a downlink MPTCP message is a message received by the source transport layer proxy network element but not sent to the terminal device, or a source transport layer proxy network element sent to the terminal device but has not received an acknowledgement message for the downlink message Message.
  • the method before the source transport layer proxy network element sends the first uplink TCP message and the first downlink MPTCP message to the target transport layer proxy network element, the method further includes:
  • the source transport layer proxy network element stops sending data to the first application server, and the fourth instruction information is that the first application server wants to start the application context with the second application server Sent during migration.
  • the message transmission between the source transport layer proxy network element and the first application server is stopped to ensure that no packet is lost during the application context migration.
  • the method further includes: the source transport layer proxy network element sends the first context to the session management network element.
  • the source transport layer proxy network element sends the first context to the session management network element, or it can be after the source transport layer proxy network element establishes the second transport layer connection with the first application server , That is, send the first context to the session management network element.
  • an embodiment of the present application provides a message transmission method applied to a session management network element.
  • the method includes: the session management network element determines that application context migration is required between the first application server and the second application server.
  • the session management network element instructs the source transport layer proxy network element to stop transport layer processing on the message, and instructs the target transport layer proxy network element to start transport layer processing on the message.
  • control plane determines that application context migration is required between the first application server and the second application server, and instructs the source transport layer proxy network element to stop transmitting packets Layer processing, and instructing the target transport layer proxy network element to initiate transport layer processing on the message, which is not limited in the embodiment of the present application.
  • the session management network element instructs the source transport layer agent network element to stop the transport layer processing of the message, and instructs the target transport layer agent network element to start the transport layer processing of the message, including:
  • the session management network element sends a notification message to the target transport layer proxy network element.
  • the notification message is used to instruct the target transport layer proxy network element to start transport layer processing of the message.
  • the notification message may also include the source transport layer proxy.
  • the session management network element sends a deactivation instruction to the source transport layer proxy network element, where the deactivation instruction is used to instruct the source transport layer proxy network element to stop performing transport layer processing on the message.
  • the session management network element before the session management network element sends the deactivation instruction to the source transport layer agent network element, it also includes:
  • the session management network element receives an acknowledgment instruction for the notification message, and the acknowledgment instruction is used to instruct the target transport layer proxy network element to confirm that the transport layer processing of the message has been started.
  • the session management network element instructs the source transport layer proxy network element to stop the transmission layer processing of the message after confirming that the target transport layer proxy network element has started the transmission layer processing of the message, so as to ensure that each message All texts are processed at the transport layer.
  • the method further includes: if the session management network element receives the migration completion instruction sent by the source transport layer proxy network element, sending an application migration instruction to the first application server, where the application migration instruction is used to instruct the first application
  • the application context migration is performed between the server and the second application server.
  • the migration completion instruction is used to indicate that the source transport layer proxy network element has stopped processing the message in the transport layer, and the target transport layer proxy network element has started the transmission layer of the message deal with.
  • an embodiment of the present application provides a communication device, including various modules or units for executing the method in any one of the possible implementation manners of the first aspect to the third aspect.
  • a communication device including a processor.
  • the processor is coupled with the memory and can be used to execute instructions in the memory to implement the method in any one of the possible implementation manners of the first aspect to the third aspect.
  • the communication device further includes a memory.
  • the communication device further includes a communication interface, and the processor is coupled with the communication interface.
  • a processor including: an input circuit, an output circuit, and a processing circuit.
  • the processing circuit is configured to receive a signal through the input circuit and transmit a signal through the output circuit, so that the processor executes the method in any one of the possible implementation manners of the first aspect to the third aspect.
  • the above-mentioned processor can be one or more chips
  • the input circuit can be an input pin
  • the output circuit can be an output pin
  • the processing circuit can be a transistor, a gate circuit, a flip-flop, and various logic circuits, etc.
  • the input signal received by the input circuit may be received and input by, for example, but not limited to, a receiver
  • the signal output by the output circuit may be, for example, but not limited to, output to the transmitter and transmitted by the transmitter
  • the circuit can be the same circuit, which is used as an input circuit and an output circuit at different times.
  • the embodiments of the present application do not limit the specific implementation manners of the processor and various circuits.
  • a processing device including a processor and a memory.
  • the processor is used to read instructions stored in the memory, and can receive signals through a receiver, and transmit signals through a transmitter, so as to execute the method in any one of the possible implementation manners of the first aspect to the third aspect.
  • processors there are one or more processors, and one or more memories.
  • the memory may be integrated with the processor, or the memory and the processor may be provided separately.
  • the memory can be a non-transitory (non-transitory) memory, such as a read only memory (ROM), which can be integrated with the processor on the same chip, or can be set in different On the chip, the embodiment of the present application does not limit the type of the memory and the setting mode of the memory and the processor.
  • ROM read only memory
  • sending instruction information may be a process of outputting instruction information from the processor
  • receiving instruction information may be a process of receiving instruction information by the processor.
  • the data output by the processor can be output to the transmitter, and the input data received by the processor can come from the receiver.
  • the transmitter and receiver can be collectively referred to as a transceiver.
  • the processing device in the seventh aspect described above may be one or more chips.
  • the processor in the processing device can be implemented by hardware or software.
  • the processor may be a logic circuit, integrated circuit, etc.; when implemented by software, the processor may be a general-purpose processor, which is implemented by reading software codes stored in the memory, and the memory may Integrated in the processor, can be located outside the processor, and exist independently.
  • a computer program product includes: a computer program (also called code, or instruction), which when the computer program is executed, causes a computer to execute the first aspect to the first aspect. Any one of the three possible implementation methods.
  • a computer-readable medium stores a computer program (also called code, or instruction) when it runs on a computer, so that the computer executes the first aspect to the first aspect described above. Any one of the three possible implementation methods.
  • a communication system which includes the aforementioned source transport layer proxy network element, target transport layer proxy network element, a first application server, and a second application server.
  • the communication system may further include the aforementioned session management network element.
  • the communication system may also include the aforementioned terminal device.
  • a chip system in an eleventh aspect, includes a processor and an interface.
  • the processor is used to call and run a computer program (also called code or instruction) stored in the memory from the memory to implement the first
  • a computer program also called code or instruction
  • the chip system further includes a memory, and the memory is used to store necessary program instructions and data.
  • the chip system can be composed of chips, and can also include chips and other discrete devices.
  • Figure 1 is a 5G system architecture diagram provided by an embodiment of the present application.
  • FIG. 2 is a schematic diagram of an MPTCP protocol architecture provided by an embodiment of the present application.
  • FIG. 3A is a schematic diagram of path switching provided by an embodiment of the present application.
  • FIG. 3B is a schematic diagram of another path switching provided by an embodiment of the present application.
  • FIG. 4 is a schematic diagram of another path switching provided by an embodiment of the present application.
  • FIG. 5A is a schematic flowchart of a message transmission method provided by an embodiment of the present application.
  • FIG. 5B is a schematic flowchart of another message transmission method provided by an embodiment of the present application.
  • FIG. 6 is another schematic diagram of path switching provided by an embodiment of the present application.
  • FIG. 7 is a schematic flowchart of a message transmission method provided by an embodiment of the present application.
  • FIG. 8 is a schematic flowchart of an agent function migration provided by an embodiment of the present application.
  • FIG. 9 is a schematic flowchart of another agent function migration provided by an embodiment of the present application.
  • FIG. 10 is a schematic flowchart of a message transmission method provided by an embodiment of the present application.
  • FIG. 11 is a schematic flowchart of an agent function migration provided by an embodiment of the present application.
  • FIG. 12 is a schematic flowchart of another agent function migration provided by an embodiment of the present application.
  • FIG. 13 is a schematic diagram of connection establishment provided by an embodiment of the present application.
  • FIG. 14 is a schematic diagram of uplink packet transmission according to an embodiment of the present application.
  • FIG. 15 is a schematic diagram of downlink packet transmission according to an embodiment of the present application.
  • FIG. 16 is a schematic diagram of connection establishment provided by an embodiment of the present application.
  • FIG. 17 is a schematic diagram of uplink packet transmission according to an embodiment of the present application.
  • FIG. 18 is a schematic diagram of downlink packet transmission according to an embodiment of the present application.
  • FIG. 19 is a schematic block diagram of a communication device provided by an embodiment of the present application.
  • FIG. 20 is a schematic structural diagram of a terminal device provided by an embodiment of the present application.
  • FIG. 21 is a schematic block diagram of another communication device provided by an embodiment of the present application.
  • LTE long term evolution
  • UMTS universal mobile telecommunication system
  • 5G fifth generation
  • NR new radio
  • FIG. 1 shows a schematic diagram of a 5G system that can be applied to the present application.
  • the system can be divided into two parts: access network and core network.
  • the access network is used to implement wireless access-related functions, and mainly includes a radio access network (radio access network, RAN) device 102.
  • the core network mainly includes the following key logical network elements: user plane function 103, access and mobility management function (AMF) 105, session management function (session management function) 106, strategy Control function (policy control function, PCF) 107, unified data management function (unified data management) 109.
  • the system 100 may also include a user equipment (UE) 101, a data network (DN) 104, and an application function (AF) 108.
  • UE user equipment
  • DN data network
  • AF application function
  • the UE may also be called terminal equipment.
  • the terminal device can communicate with one or more core networks (core networks, CN) via the RAN device.
  • the terminal device may be called an access terminal, terminal, user unit, user station, mobile station, mobile station, remote station, remote terminal, mobile device, user terminal, wireless network device, user agent, or user device.
  • the terminal can be a cellular phone, a cordless phone, a session initiation protocol (SIP) phone, a wireless local loop (WLL) station, a personal digital assistant (PDA), a handheld with wireless communication function Devices, computing devices or other devices connected to wireless modems, in-vehicle devices, wearable devices or the Internet of Things, terminal devices in vehicle networks, and terminal devices of any form in future networks, etc.
  • SIP session initiation protocol
  • WLL wireless local loop
  • PDA personal digital assistant
  • RAN equipment is a type of equipment that connects terminal equipment to a wireless network, and may specifically be a base station.
  • Base stations may include various forms of base stations, such as macro base stations, micro base stations (also called small stations), relay stations, and access points. Specifically, it can be: access point (AP) in wireless local area network (WLAN), global system for mobile communications (GSM), or code division multiple access (code division multiple access)
  • the base transceiver station (BTS) in access, CDMA can also be the base station (NodeB, NB) in wideband code division multiple access (WCDMA), or the evolved base station in LTE (Evolved Node B, eNB or eNodeB), or relay station or access point, or in-vehicle equipment, wearable equipment, and the next generation Node B (gNB) in the 5G system or the public land mobile network that will evolve in the future (public land mobile network, PLMN) base stations in the network.
  • the RAN device in all the embodiments of the present application
  • UDM has functions such as managing the user's contract data and generating user authentication information.
  • AMF is mainly responsible for UE registration management, UE connection management, UE reachability management, UE access authorization and access authentication, UE security functions, UE mobility management, and network slice selection , SMF selection and other functions.
  • the AMF serves as the anchor point of the N1/N2 interface signaling connection and provides the N1/N2 interface session management (SM) message routing for the SMF, and maintains and manages the status information of the UE.
  • SM N1/N2 interface session management
  • SMF is mainly responsible for all control plane functions of UE session management, including UPF selection and control, Internet protocol (IP) address allocation and management, session quality of service (QoS) management, from PCF Obtain policy and charging control (PCC) policies, etc.
  • SMF is also used as the termination point of the SM part in the non-access stratum (NAS) message.
  • PCF has functions such as providing policy rules to the control plane functional entities.
  • AF can be an application server, which can belong to an operator or a third party.
  • UPF is mainly responsible for processing user messages, such as forwarding, charging, etc., and can be used as the anchor point of the protocol data unit (PDU) session connection, that is, the PDU session anchor (PSA) ), responsible for data message filtering, data transmission/forwarding, rate control, billing information generation, user plane QoS processing, uplink transmission authentication, transmission level verification, downlink data packet buffering, and downlink data notification triggering.
  • PDU protocol data unit
  • PDU session anchor responsible for data message filtering, data transmission/forwarding, rate control, billing information generation, user plane QoS processing, uplink transmission authentication, transmission level verification, downlink data packet buffering, and downlink data notification triggering.
  • PDU protocol data unit
  • PDA PDU session anchor
  • UPF can also be used as a branch point for multi-homed PDU sessions.
  • DN a network that provides users with data transmission services, such as IP Multi-media Service (IMS), the Internet, and so on.
  • DN can include application server (AS).
  • AS is a software framework that provides an environment in which applications run, and is used to provide applications with services such as security, data, transaction support, load balancing, and large-scale distributed system management.
  • the UE obtains application messages through communication with the AS. It should be noted that the aforementioned AF is the control plane of the AS.
  • a communication system to which the communication method of the embodiment of the present application can be applied may include more or fewer network elements or devices.
  • the device or network element in Figure 1 can be hardware, software that is functionally divided, or a combination of the two.
  • the devices or network elements in Figure 1 can communicate with other devices or network elements.
  • the embodiment of the present application uses the source transport layer proxy network element as the source PSA (Source PSA, S-PSA), and the target transport layer proxy network element as the target PSA (target PSA, T-PSA).
  • the first application server is a source application server (source AS, S-AS), and the second application server is a target AS (target AS, T-AS) as an example for description.
  • Transmission control protocol transmission control protocol
  • TCP is a connection-oriented, reliable, byte stream-based transport layer communication protocol.
  • TCP gives each packet a sequence number, and the sequence number also ensures that the packets sent to the receiving end are received in order.
  • the receiving end sends back a corresponding acknowledgement (ACK) for the successfully received bytes. If the sending end does not receive the confirmation within a reasonable round-trip time (RTT), then the corresponding data ( (Assumed to be lost) will be retransmitted.
  • RTT round-trip time
  • the client and server establish a TCP connection based on the TCP three-way handshake process:
  • the client sends a TCP synchronization sequence numbers (SYN) message to the server and waits for the server to confirm;
  • SYN TCP synchronization sequence numbers
  • the server receives the TCP SYN message and replies to the SYN+ACK message
  • the client receives the SYN+ACK message and replies with another ACK message to confirm that it has received the SYN+ACK message.
  • Multipath TCP Multipath TCP, MPTCP
  • MPTCP is a multipath TCP protocol used for multipath transmission. Its core idea is to add a Multipath TCP layer that supports multipath transmission between the application layer and the transport layer to achieve multipath transmission.
  • the Multipath TCP layer of the client can divide the data transmitted by the application layer into multiple MPTCP substreams. Different MPTCP substreams are sent to the server through different network interfaces, and the server will Different MTCP sub-streams are aggregated at the MPTCP layer and then delivered to the application layer, thereby realizing multi-path transmission between the client and the server.
  • MPTCP provides such a mechanism: the failed data of MPTCP subflow 1 (Subflow1) can be retransmitted on MPTCP subflow 2 (Subflow2) to ensure that the data arrives successfully.
  • MPTCP's data queue mapping allows the sender to be in different subflows. The data is retransmitted with the same data sequence number.
  • the MPTCP connection is established between the client and the server based on the MPTCP three-way handshake process:
  • the client sends a TCP SYN message to the server, and an MP_CAPABLE option is included in the MPTCP option field, which includes the client's session key (Key);
  • the server If the server supports MPTCP, it will return a SYN+ACK message, and also include an MP_CAPABLE option in the MPTCP option field, which carries the server-side Key. Subsequent SYN+ACK messages that carry the MP_CAPABLE option are referred to as MPTCP SYN+ACK messages, and SYN+ACK messages that do not carry the MP_CAPABLE option are called TCP SYN+ACK messages.
  • the client returns an ACK message, and an MP_CAPABLE option is included in the MPTCP option field, which carries the Key of the client and the Key of the server.
  • Subsequent ACK messages that carry the MP_CAPABLE option are referred to as MPTCP ACK messages, and ACK messages that do not carry the MP_CAPABLE option are referred to as TCP ACK messages.
  • the session secret Key is used by the client and the server to generate a token for identifying the MPTCP session between the client and the server.
  • the session secret key is also used by the client and server to generate a 32-bit hash shared secret key, that is, a hash-based message authentication code (HMAC), so as to establish a new MPTCP session.
  • HMAC hash-based message authentication code
  • the host can obtain the IP address information of both parties through information exchange, and establish a new sub-flow through the unused address pair.
  • any party that supports communication can first request the establishment of a new sub-stream on an existing connection, but it is best to start at the requesting end of the connection establishment.
  • the new substream is established by sending a general TCP SYN/ACK packet.
  • the package includes the TCP option to join the connection (MP_JOIN).
  • MP_JOIN Use the verification code in MP_CAPABLE to identify the validity of the connection that the substream joins. Encryption will be negotiated during the MP_JOIN handshake. Strategy.
  • Host A uses the new address to send a SYN packet to the opposite host B.
  • the SYN packet carries the MP_JOIN option.
  • the MP_JOIN option contains Token-B.
  • the function of Token-B is to tell host B which MPTCP connection to establish a new connection. ⁇ ;
  • the opposite host B sends a SYN/ACK packet to host A that carries the MP_JOIN option.
  • the MP_JOIN option contains HMAC-B, and HMAC-B is B’s authentication information;
  • Host A sends an ACK packet to the opposite host.
  • the ACK packet carries the MP_JOIN option.
  • the MP_JOIN option contains HMAC-A, which is A’s authentication information.
  • each FIN will only affect a certain substream that sends the FIN packet, and FIN can only close a specific substream.
  • DATA_FIN has the same semantics and behavior as standard TCP FIN, except that its scope is at the MPTCP connection level. After sending DATA_FIN, the entire MPTCP connection will be closed, but only after all data has been successfully received will it be confirmed by DATA_ACK. Once a DATA_FIN is confirmed, all substreams must be disconnected.
  • the purpose of the address increase is to inform the communication peer of the available IP-[port]. For example, Host A can obtain the IP-B1 address of Host B through the DNS process, but does not know the IP-B2 of the other interface of Host B. Then, after the MPTCP sub-flow is established between Host A and IP-B1, Host B It is possible to notify Host A (ADD_ADDR) of another IP address IP-B2, so that Host A can establish a new MPTCP substream with IP-B2.
  • AD_ADDR Host A
  • ADD_ADDR usually adds a global IP, otherwise the IP address may be unreachable during the sub-flow establishment process.
  • the peer IP address used by the initiator of the newly created MPTCP substream can be obtained through an ADD_ADDR message or other methods.
  • the transport layer proxy function is the function of the transport layer proxy network element (the target transport layer proxy network element or the source transport layer proxy network element in the embodiment of this application) that performs transport layer processing on the message.
  • the transport layer proxy network element may be a user plane network.
  • the transport layer proxy network element is responsible for exchanging data between the upstream transport layer connection and the downstream transport layer connection. It needs to maintain the association relationship between the upstream and downstream transport layer connection states.
  • the upstream and downstream transport layer connections can be based on different Transport layer protocols, such as TCP and MPTCP, at this time, the transport layer processing may be to process a message of one transmission protocol into a message of another transmission protocol. For example, encapsulating a TCP message into an MPTCP message, or decapsulating an MPTCP message into a TCP message, and so on.
  • the source transport layer proxy network element migrates the transport layer proxy function to the target transport layer proxy network element means that the source transport layer proxy network element stops performing transport layer processing on the message, and the target transport layer proxy network element starts Transport layer processing is performed on the message, where the context in which the target transport layer proxy network element performs transport layer processing on the message may be determined according to the context in which the source transport layer proxy network element performs transport layer processing on the message.
  • an air interface handover is triggered, that is, the base station of the UE is switched from the original base station to the current base station.
  • the UE still accesses the original user plane network element at this time.
  • the user plane network element closest to the UE may have changed at this time, but the UE is still the same as the original user plane network element.
  • the plane network element transmits the message. In this case, the transmission path is longer, and accordingly, the transmission delay of the message will increase.
  • FIG. 3A shows a schematic diagram of a PSA handover scenario.
  • S-AS first application server
  • T-AS second application server
  • S-AS first application server
  • T-AS second application server
  • the air interface handover is first triggered.
  • the user plane data is transmitted through path A
  • the user plane data is transmitted through path B.
  • the UE accesses the user plane anchor S-PSA through the base station 2, and the user plane transmission path is circuitous and the path delay increases.
  • the user plane transmission path needs to be switched from path B to path C, and to realize the switch from path B to path C, not only the transfer of the transport layer proxy function is required (that is, the S-PSA stops processing the packet at the transport layer, T -PSA starts to process the message at the transport layer), and application context migration between S-AS and T-AS is also required.
  • the message transmission method provided in the embodiments of this application can realize seamless path switching and application context switching Docking to avoid packet loss.
  • the above-mentioned PSA switching may be implemented by an uplink classifier (UL CL).
  • UL CL uplink classifier
  • UL CL means that SMF can add a new PSA UPF to the original PDU session, and at the same time insert a UL CL into the data transmission path of the original PDU session.
  • the "UL CL” function is provided by UPF, and its purpose is to forward data packets that meet service filtering rules to a specified path.
  • UPF with "UL CL” function When a UPF with "UL CL” function is inserted into a PDU session data channel, this PDU session can provide multiple different paths to the same DN through multiple PSAs.
  • the function of "UL CL" is to transmit uplink data to different PDU session anchor points, and combine downlink data to transmit to the UE.
  • a common scenario is that the UPF with UL CL function is combined with the newly added anchor UPF, that is, the newly added PSA UPF also has the UL CL function.
  • SMF inserts a new anchor point UPF T-PSA, and T-PSA also serves as UL CL, and then the user plane data path becomes path B'.
  • FIG. 3B The path switching of FIG. 3B will be further elaborated below with reference to FIG. 4.
  • the first path in FIG. 4 is path B'in FIG. 3B
  • the second path in FIG. 4 is path C in FIG. 3B.
  • the UE establishes a session with the S-PSA through the base station 1, that is, the data transmission path of the session is the path A shown by the dashed line in FIG. 4.
  • the air interface is switched.
  • the user plane data transmission path is switched from path A to path B in Figure 4.
  • SMF detects that the UE is moving and needs to switch PSA.
  • the S-PSA performs transmission layer processing on the message on the first path.
  • the user plane transmission path is circuitous and the path delay increases.
  • the embodiment of the present application provides a message transmission method, which can realize seamless connection between path switching and application context migration, and avoid packet loss. The details are described below.
  • the UE needs to switch PSA when moving, so the target transport layer proxy network element (T-PSA) is inserted into the user plane transmission path as ULCL, that is, the message transmission path is the path B'in Figure 3B.
  • T-PSA target transport layer proxy network element
  • ULCL user plane transmission path
  • T-AS target transport layer proxy network element
  • Switching from path B'to path C requires application context migration between the first application server (S-AS) and the second application server (T-AS).
  • S-AS first application server
  • T-AS second application server
  • the path switching and application context migration will be performed in conjunction with Figure 5A and Figure 5B below. The mutual cooperation between each other is elaborated in detail, so as to avoid packet loss.
  • the method may include but is not limited to S410 to S440.
  • the steps are described below. It should be noted that the order of execution is not limited between the steps.
  • the source transport layer proxy network element When the source transport layer proxy network element receives the third indication information, the source transport layer proxy network element stops performing transport layer processing on the packet on the first path according to the first context of the source transport layer proxy network element ,
  • the first context is the context of the source transport layer proxy network element regarding packet transmission on the first path;
  • the first path is the path established between the terminal equipment (UE) and the first application server (S-AS), and the first path includes a first transport layer connection and a second transport layer connection, so
  • the first transport layer connection is the transport layer connection between the source transport layer proxy network element (S-PSA) and the terminal device
  • the second transport layer connection is the source transport layer proxy network element (S-PSA).
  • S-PSA source transport layer proxy network element
  • S-AS source transport layer proxy network element
  • SMF detects that the terminal device is moving and needs to switch PSA, so the target transport layer proxy network element is inserted into the user plane transmission path as ULCL, and the target transport layer proxy network element only forwards the packets on the first path, and does not respond to the first path.
  • the packets on the path are processed by the transport layer, that is, the transport layer proxy function of the target transport layer proxy network element has not been activated at this time.
  • the source transport layer proxy network element performs transport layer processing on the message on the first path according to the first context, that is, the source transport layer proxy network element receives the uplink message sent from the terminal device from the target transport layer proxy network element, and performs the processing according to the first context.
  • a context performs transport layer processing on the uplink message, and then sends the uplink message after the transport layer processing to the first application server, or the source transport layer proxy network element receives the downlink sent to the terminal device from the first application server
  • the downlink message is processed by the transmission layer according to the first context, and then the downlink message after the transmission layer processing is sent to the terminal device through the target transmission layer proxy network element.
  • the first context includes the first transport layer connection parameters and the second transport layer connection parameters.
  • the first transport layer connection parameters and the second transport layer connection parameters are used by the source transport layer proxy network element to perform the transport layer of the message on the first path. deal with.
  • the first context includes the first transmission layer connection parameter, the first transmission state parameter, the second transmission layer connection parameter, and the second transmission state, and the first transmission layer connection parameter and the second transmission layer connection parameter are used for transmission layer processing ,
  • the first transmission state parameter is used to indicate the message transmission state of the first transmission layer connection
  • the second transmission state parameter is used to indicate the message transmission state of the second transmission layer connection.
  • the first transport layer connection parameters and the second transport layer connection parameters are used by the source transport layer proxy network element to perform the transport layer of the message on the first path. deal with.
  • the first context includes the first transmission layer connection parameter, the first transmission state parameter, the second transmission layer connection parameter, and the second transmission state, and the first transmission layer connection parameter and the second transmission layer connection parameter are used for transmission layer processing ,
  • the first transport layer connection parameters and the second transport layer connection parameters include but are not limited to: the IP address and port number of the UE, and the second transport layer connection The local IP address and port number, the IP address and port number of Server1; the Key information and hash encryption algorithm information of the two ends (S-PSA and Server1) of the second transport layer connection (such as HMAC-SHA256 encryption algorithm),
  • SDF service data flow
  • the first transmission state parameter may be the transmitted sequence number of the uplink and downlink packets of the TCP connection in FIG. 9 and FIG. 12 and the ACK transmitted sequence number of the uplink and downlink packets of the TCP connection
  • the second transmission state parameter may be FIG. 9
  • the sequence numbers of the uplink and downlink messages that are connected to the MPTCP in Figure 12 have been sent and the sequence number of the ACK has been sent for the uplink and downlink messages of the MPTCP connection.
  • the subsequent embodiments which will not be repeated here.
  • the first transport layer connection may be a TCP connection
  • the second transport layer connection may be an MPTCP connection
  • the transport layer processing may include encapsulating uplink TCP packets into MPTCP packets, and decapsulating downlink MPTCP packets into TCP Message.
  • the source transport layer proxy network element When the source transport layer proxy network element receives the third indication information, the source transport layer proxy network element stops performing transport layer processing on the packet on the first path according to the first context of the source transport layer proxy network element. Optionally, before the source transport layer proxy network element stops performing transport layer processing, it may be executed after confirming that the target transport layer proxy network element has started to perform transport layer processing on the message.
  • the source transport layer proxy network element stops performing transport layer processing on the message, and after the target transport layer proxy network element starts to perform transport layer processing on the message, the target transport layer proxy network element can continue to process the message according to the source
  • the first context of the transport layer proxy network element performs transport layer processing on the packets on the third path, and transmits the packets processed by the transport layer on the third path.
  • the third path is still the packet transmission path between the terminal device and the first application server. However, the third path is different from the first path in that the target transport layer proxy network element pairs on the third path.
  • the packets on the first path are processed by the transport layer, and the first path is the source transport layer proxy network element that performs transport layer processing on the packets on the first path.
  • the third path may include the third transport layer connection and the fifth transport layer connection.
  • the third transport layer connection is the transport layer connection between the terminal device and the target transport layer proxy network element
  • the fifth transport layer connection is the target transport layer proxy network.
  • the fifth transport layer connection passes through the source transport layer proxy network element, that is, after the target transport layer proxy network element processes the uplink message sent by the terminal device to the transmission layer, the uplink message after the transmission layer processing is passed through the source transport layer
  • the proxy network element sends to the first application server on the fifth transport layer connection.
  • the target transport layer proxy network element receives the downlink message sent by the first application server on the fifth transport layer connection from the source transport layer proxy network element, and performs transport layer processing on the downlink message, and then performs transport layer processing The subsequent downlink message is sent to the terminal device on the third transport layer connection.
  • the source transport layer proxy network element stops performing transport layer processing
  • the second uplink message is a message received by the source transport layer proxy network element but not sent to the first application server
  • the second uplink message is sent by the source transport layer proxy network element To the first application server, but did not receive the message of the confirmation message returned by the first application server for the second uplink message
  • the second downlink message was received by the source transport layer proxy network element but not sent to the terminal
  • the message of the device, and/or, the second downlink message is a message sent by the source transport layer proxy network element to the terminal device, but the terminal device has not received the confirmation message returned by the terminal device for the second downlink message.
  • the source transport layer proxy network element will send the second uplink message and/or the second downlink message to the target transport layer proxy network element, and the target transport layer proxy network element compares the first context of the source transport layer proxy network element to the first context.
  • the second uplink message and/or the second downlink message are processed by the transport layer, the second downlink message processed by the transport layer is sent to the terminal device on the third transmission connection, and the second downlink message processed by the transport layer is sent to the terminal device.
  • the second uplink message is sent to the first application server on the fifth transmission connection.
  • the third transport layer connection can be a TCP connection
  • the fifth transport layer connection can be an MPTCP connection
  • the target transport layer proxy network element can perform transport layer processing on the uplink and downlink packets sent by the source transport layer proxy network element. Including: encapsulating the second uplink TCP message into a second MPTCP message, and sending the second MPTCP message to the first application server on the fifth transport layer connection. Decapsulate the second downlink MPTCP message into a second TCP message, and send the second TCP message to the terminal device on the third transport layer connection.
  • the first application server stops packet transmission with the target transport layer proxy network element.
  • the target transport layer proxy network element receives the second indication information sent by the first application server, the target transport layer proxy network element stops sending data to the first application server, and the second indication information is the first application Sent when the server wants to start the application context migration with the second application server
  • the second indication information may also instruct the target transport layer proxy network element to stop sending data to the first application server, or
  • the second indication information indicates that the first application server of the target transport layer proxy network element has stopped sending data to the target transport layer proxy network element, or, in another optional implementation manner, the The second indication information may also indicate that application context migration is initiated between the first application server and the second application server.
  • the target transport layer proxy network element After the target transport layer proxy network element receives the first indication information, it is used to indicate that the application context migration between the first application server and the second application server is completed, and then the second context of the target transport layer proxy network element is adjusted to the second
  • the packets on the path are processed by the transport layer, and the packets after the transport layer processing are transmitted on the second path. For details, please refer to the description of step S440, which will not be repeated here.
  • the third path is used as the transition path, through which the target transport layer proxy network element is started to perform transport layer processing on the packet, and the source transport layer proxy network element is stopped to perform the packet processing. It is processed by the transport layer, and then the application context migration is performed, so as to realize seamless connection between path switching and application context migration and avoid packet loss.
  • the second optional implementation manner In this implementation manner, the third path mentioned in the first optional implementation manner does not exist, and the first path is directly switched to the second path.
  • the second path includes the third path.
  • the transport layer connection is connected to the fourth transport layer.
  • the third transport layer connection is the transport layer connection between the terminal device and the target transport layer proxy network element
  • the fourth transport layer connection is the target transport layer proxy network element between the target transport layer proxy network element and the second application server.
  • the transport layer connection between.
  • the source transport layer proxy network element stops packet transmission with the first application server.
  • Application context migration is performed between the first application server and the second application server, the source transport layer proxy network element stops performing transport layer processing on the message, and the target transport layer proxy network element starts to perform transport layer processing on the message.
  • the source transport layer proxy network element stops the message transmission with the first application server, there will be a first uplink message cached by the source transport layer proxy network element, and/or, the source transport layer proxy network element
  • the buffered first downlink packet the first uplink packet is a packet received by the source transport layer proxy network element but not sent to the first application server, and/or, the first uplink packet is the source transmission
  • the first downlink message is the source transport layer proxy network element A message received but not sent to the terminal device, and/or the first downlink message was sent to the terminal device by the source transport layer proxy network element, but the terminal device did not receive the first downlink message for the terminal device The message of the confirmation message returned.
  • the source transport layer proxy network element sends the first uplink message and/or the first downlink message to the target transport layer proxy network element, and the target transport layer proxy network element pairs according to the second context of the target transport layer proxy network element.
  • the first uplink message and/or the first downlink message are processed by the transport layer, and the first downlink message after the transport layer processing is sent to the terminal device on the third transport layer connection, and The first uplink packet processed by the transport layer is sent to the second application server on the fourth transport layer connection.
  • the third transport layer connection can be a TCP connection
  • the fourth transport layer connection can be an MPTCP connection
  • the target transport layer proxy network element can perform transport layer processing on the uplink and downlink packets sent by the source transport layer proxy network element. Including: encapsulating the first uplink TCP message into the first MPTCP message, and sending the first MPTCP message to the second application server on the fourth transport layer connection. Decapsulate the first downstream MPTCP message into a first TCP message, and send the first TCP message to the terminal device on the third transport layer connection.
  • the target transport layer proxy network element performs transport layer processing on the message according to the second context and the specific process of transmitting the transport layer processed message on the second path. Please refer to the description of step S440 for details. Go into details.
  • the source transport layer proxy network element stops packet transmission with the first application server, and the source transport layer The packets processed by the transport layer are transmitted on the second path, so as to realize seamless connection of application context migration and path switching, and avoid packet loss.
  • the target transport layer proxy network element obtains the first context.
  • the target transport layer proxy network element may obtain the first context of the source transport layer proxy network element through the session management network element, that is, the source transport layer proxy network element sends the first context to the session management network element, and the session management network element Then send it to the target transport layer agent network element.
  • the first context is synchronized between the target transport layer proxy network element and the source transport layer proxy network element, so that the target transport layer proxy network element obtains the first transmission of the source transport layer proxy network element regarding the packet transmission on the first path.
  • Context Specifically, after the establishment of the first path is completed, the source transport layer proxy network element may directly send the first context to the target transport layer proxy network element.
  • the session management network element After the session management network element detects that the UE is moving and needs to switch PSA, the session management network element establishes a user plane tunnel between the source transport layer proxy network element and the target transport layer proxy network element, and the source transport layer proxy network element passes the user The surface tunnel transmits the first context to the target transport layer proxy network element.
  • the first context includes a first transport layer connection parameter and a second transport layer connection parameter, and the first transport layer connection parameter and the second transport layer connection parameter are used for transport layer processing.
  • the first context includes the first transmission layer connection parameters, the first transmission state parameters, the second transmission layer connection parameters, and the second transmission state parameters.
  • the first transmission layer connection parameters and the second transmission layer connection parameters are used for transmission layer processing,
  • the first transmission state parameter is used to indicate the message transmission state of the first transmission layer connection, and the second transmission state parameter is used to indicate the message transmission state of the second transmission layer connection.
  • the target transport layer proxy network element establishes a fourth transport layer connection according to the first context of the source transport layer proxy network element, where the first context is that the source transport layer proxy network element transmits packets on the first path.
  • the second transport layer connection parameter in the first context may also be used to establish a fourth transport layer connection between the target transport layer proxy network element and the second application server.
  • the second transport layer connection and the fourth transport layer connection are both MPTCP connections, where the second transport layer connection and the fourth transport layer connection may belong to the same MPTCP session.
  • the second transport layer connection and the fourth transport layer connection may be different MPTCP substreams of the same MPTCP session. Since the second transport layer connection and the fourth transport layer connection are different MPTCP substreams of the same MPTCP session, according to the existing MPTCP mechanism, the endpoints of the MPTCP session can merge and sort the packets on different substreams, which can be avoided The message is out of order.
  • the target transport layer proxy network element can establish the fourth transport layer connection based on all or part of the following information.
  • the following information includes: the local (ie, transport layer proxy network element) IP address and port number of the MPTCP connection, and the IP address of Server1 (IP1) and port number; Key information and hash encryption algorithm information at both ends of the MPTCP connection (such as HMAC-SHA256 encryption algorithm), for specific SDF, the mapping relationship between DSN and SSN, ISSN and other information that is not related to timing .
  • HMAC-SHA256 For the details of HMAC-SHA256, DSN, SSN, ISSN, etc., you can refer to the prior art. .
  • the context of the MPTCP connection needs to be synchronized between the second application server and the first application server, and the context of the MPTCP connection It may include: key information on the side of the target transport layer proxy network element and the side of the first application server, a hash encryption algorithm, and so on.
  • the context of the MPTCP connection is used to establish a fourth transport layer connection between the second application server and the target transport layer proxy network element.
  • the target transport layer proxy network element also needs to obtain the address of the second application server before establishing the fourth transport layer connection with the second application server, so as to establish the fourth transport layer connection with the second application server .
  • the target transport layer proxy network element can obtain the address of the second application server from the session management network element, or it can also obtain the address of the second application server from the first application server through address addition, for example, from the TCP ADD_ADDR message Obtained from the first application server.
  • the target transport layer proxy network element receives the first indication information, the first indication information is used to indicate that the application context migration between the first application server and the second application server is completed, and the target transport layer proxy The network element performs transmission layer processing on the message on the second path according to the second context of the target transmission layer proxy network element, and transmits the message after the transmission layer processing on the second path.
  • the context is determined according to the context of the first context and the fourth transport layer connection, wherein, when the application context is transferred, the first application server and the transport layer proxy network element stop message transmission, so
  • the transport layer proxy network element includes the source transport layer proxy network element or the target transport layer proxy network element.
  • the target transport layer proxy network element when it receives the first indication information, it can perform transport layer processing on the packet on the second path according to the second context.
  • the target transport layer proxy network element before performing transport layer processing on the packets on the second path according to the second context, receives the upstream and downstream packets buffered by the source transport layer proxy network element from the source transport layer proxy network element Further, perform transmission layer processing on the uplink and downlink messages according to the second context, and transmit the uplink and downlink messages after the transmission layer processing on the second path.
  • the target transport layer proxy network element receives the upstream and downstream packets buffered by the source transport layer proxy network element from the source transport layer proxy network element Further, perform transmission layer processing on the uplink and downlink messages according to the second context, and transmit the uplink and downlink messages after the transmission layer processing on the second path.
  • the second context is determined based on the context of the first context and the fourth transport layer connection.
  • the context of the fourth transport layer connection includes, but is not limited to, the IP address and port number of the second application server, and the fourth transport layer connection.
  • the session management network element is used to instruct the source transport layer agent network element to stop the transmission layer processing of the packet, and the session management network element to instruct the target transport layer agent network element to start the transmission layer processing of the packet.
  • the session management network element may instruct the source transport layer agent network element to stop the transmission layer processing of the message, and the session management network element may instruct the target transport layer agent network element to start the message transmission.
  • the text is processed at the transport layer.
  • the description of the embodiment in FIG. 5B please refer to the description of the embodiment in FIG. 5B.
  • FIG. 5B a schematic diagram of another optional message transmission method provided by an embodiment of this application. As shown in the figure, the method includes but is not limited to the following steps:
  • the session management network element determines that application context migration between the first application server and the second application server is required
  • the session management network element can be determined by detecting the movement of the terminal that the application context migration between the first application server and the second application server needs to be performed. Specifically, the SMF first detects that the terminal device moves and needs to replace the anchor user plane network element. Specifically, the SMF may determine that the terminal device needs to replace the anchor user plane network element according to the position information after the air interface handover of the terminal device; then the SMF sends the user plane anchor change notification or the data network access point identifier (data network access identifier) to the AF.
  • DNAI DNAI change notification message
  • the notification message carries the identification of the target DNAI, optionally, the identification of the terminal; AF receives the user plane anchor change notification or the DNAI change notification sent by the SMF, and instructs the SMF to perform the application server Context migration between.
  • the session management network element instructs the target transport layer agent network element to start transport layer processing on the message
  • the session management network element may send a notification message to the target transport layer proxy network element, and the notification message is used to instruct the target transport layer proxy network element to start transport layer processing on the message.
  • the notification message It may also include the first context of the source transport layer proxy network element regarding packet transmission on the first path, so that the target transport layer proxy network element can establish a fourth transport layer connection according to the first context, and according to the first context Connect with the fourth transport layer to generate the second context, or the target transport layer proxy network element can perform transport layer processing on the packets on the third path according to the first context.
  • the notification message may also include the first context of the source transport layer proxy network element regarding packet transmission on the first path, so that the target transport layer proxy network element can establish a fourth transport layer connection according to the first context, and according to the first context Connect with the fourth transport layer to generate the second context, or the target transport layer proxy network element can perform transport layer processing on the packets on the third path according to the first context.
  • the session management network element instructs the source transport layer proxy network element to stop performing transport layer processing on the packet.
  • the session management network element may send a deactivation instruction to the source transport layer proxy network element, where the deactivation instruction is used to instruct the source transport layer proxy network element to stop performing transport layer processing on the message.
  • the third indication information in S404 in the embodiment of the present application may be the deactivation instruction.
  • the source transport layer proxy network element stops performing transport layer processing on the packet on the first path according to the first context of the source transport layer proxy network element ,
  • the first context is the context of the source transport layer proxy network element regarding packet transmission on the first path;
  • S405 The target transport layer proxy network element obtains the first context.
  • the target transport layer proxy network element establishes a fourth transport layer connection according to the first context of the source transport layer proxy network element, where the first context is the transmission of the message on the first path by the source transport layer proxy network element.
  • the target transport layer agent network element receives the first indication information
  • the first indication information is used to indicate that the application context migration between the first application server and the second application server is completed
  • the target transport layer agent The network element performs transmission layer processing on the message on the second path according to the second context of the target transmission layer proxy network element, and transmits the message after the transmission layer processing on the second path.
  • the context is determined according to the context of the first context and the fourth transport layer connection, wherein, when the application context is transferred, the first application server and the transport layer proxy network element stop message transmission, so
  • the transport layer proxy network element includes the source transport layer proxy network element or the target transport layer proxy network element.
  • steps S404 to S407 please refer to the description of the embodiment in FIG. 5A, which will not be repeated here.
  • the session management network element is the SMF
  • the source transport layer proxy network element is the source PSA (Source PSA, S-PSA)
  • the target transport layer proxy network element is the target PSA (target PSA, T-PSA)
  • the first application server is Server1
  • the second application server is Server2 as an example for description.
  • starting T-PSA to perform transport layer processing on messages is referred to as starting the transport layer proxy function
  • stopping S-PSA to perform transport layer processing on messages is referred to as stopping the execution of the transport layer proxy function.
  • T-PSA starts the transport layer proxy function
  • S-PSA stops performing the transport layer proxy function, which is called the transport layer proxy function migration.
  • the specific SDF mentioned in the subsequent embodiments refers to the packets that satisfy the service filtering rules.
  • the TCP/IP connection between the UE and the server is divided into two parts: a normal TCP connection between the UE and the PSA, and an MPTCP connection between the PSA and the server, for example, an established MPTCP substream.
  • a normal TCP connection between the UE and the PSA there is a TCP connection between the UE and S-PSA, an MPTCP connection between S-PSA and Server1 (such as MPTCP substream 1), a TCP connection between UE and T-PSA, and T-PSA and Server1
  • MPTCP connection for example, MPTCP substream 1
  • MPTCP substream 2 for example, MPTCP substream 2
  • the following describes the establishment of the TCP connection and the MPTCP connection described above with reference to Figure 13-18.
  • the UE is used to establish the TCP connection with the S-PSA
  • the S-PSA is used to establish the connection with Server1.
  • the MPTCP connection is taken as an example and includes two optional implementation modes:
  • the methods for establishing a TCP connection and an MPTCP connection include but are not limited to steps 0 to 7:
  • Step 0 The SMF issues forwarding rules to the S-PSA, including instructing the S-PSA to start the transport layer proxy function for the specific SDF.
  • Step 1 When the UE needs to transmit service data, it initiates a TCP connection to Server1.
  • the source address carried in the payload of the TCP SYN message is the UE's address IPA, and the target address is the IP address IP1 of Server1.
  • the S-PSA receives the TCP SYN sent by the UE, and determines to start the transport layer proxy function according to the SMF instructions, and then sends a TCP SYN message to Server1.
  • the TCP SYN message carries the MP_CAPABLE option.
  • the MP_CAPABLE option is used to communicate with Server1.
  • the source address carried in the payload of the TCP SYN packet is the S-PSA address IP3, and the destination address is the IP address IP1 of Server1.
  • Step 3 Server1 replies to S-PSA with a SYN+ACK message.
  • the SYN+ACK message carries the MP_CAPABLE option, indicating that Server1 supports MPTCP.
  • Step 4 After receiving the SYN+ACK message from Server1, the S-PSA replies to the UE with a SYN+ACK message, which does not carry the MP_CAPABLE option.
  • Step 5 The S-PSA receives the ACK message returned by the UE.
  • Step 6 After receiving the ACK message from the UE, the S-PSA replies to Server1 with an ACK message, which carries the MP_CAPABLE option.
  • Step 7 The S-PSA sends the first context of the S-PSA to SMF, including: UE's IP address and port number, MPTCP connection local IP address and port number, Server 1 IP address and port number; MPTCP connection two Key information/encryption algorithm (such as HMAC-SHA256) and other information that has nothing to do with the timing of the end; for the specific SDF, the mapping relationship between the TCP sequence number and the SSN, the mapping relationship between the DSN and the SSN.
  • SMF includes: UE's IP address and port number, MPTCP connection local IP address and port number, Server 1 IP address and port number; MPTCP connection two Key information/encryption algorithm (such as HMAC-SHA256) and other information that has nothing to do with the timing of the end; for the specific SDF, the mapping relationship between the TCP sequence number and the SSN, the mapping relationship between the DSN and the SSN.
  • HMAC-SHA256 Key information/encryption algorithm
  • steps 1, 4, and 5 follow the TCP three-way handshake process
  • the format of the TCP message in the step is also the same as the existing corresponding TCP message
  • steps 2, 3, and 6 follow the MPTCP three-way handshake process.
  • the format is also the same as the existing response MPTCP message, and S-PSA does not generate TCP messages and MPTCP messages, but only modifies the received TCP message or MPTCP message format before forwarding it.
  • the S-PSA After receiving the TCP message sent by the UE, the S-PSA encapsulates it into an MPTCP message and forwards it to Server1; in the downlink direction, the S-PSA receives the MPTCP message sent by Server1, encapsulates it into a TCP message and forwards it to the UE. And S-PSA will send the first context of the S-PSA to the SMF after the connection is established, so that the subsequent SMF will directly send the first context of the S-PSA to the T when the T-PSA's transport layer proxy function is activated. -PSA, the first context includes connection parameters of the TCP connection and connection parameters of the MPTCP connection.
  • step 7 is an optional step.
  • the S-PSA sends the first context to the SMF, so as to send the first context to the T-PSA through the SMF.
  • the S-PSA may directly send the first context to the T-PSA.
  • the SMF establishes a user plane tunnel between the S-PSA and the T-PSA, and the S-PSA transmits the first context to the T-PSA through the user plane tunnel.
  • the uplink message sent by the UE carries the TCP sequence number.
  • the PSA After the PSA receives the uplink message, it performs MPTCP encapsulation at the transport layer and generates the substream sequence number SSN according to the TCP sequence number of the message.
  • the PSA After the PSA completes the MPTCP encapsulation of the message, it sends the MPTCP message to the Server.
  • the PSA After receiving the ACK sent by the server for the MPTCP message, the PSA returns a TCP ACK to the UE according to the correspondence between the TCP sequence number and the SSN, which carries the TCP sequence number.
  • the MPTCP message sent by the Server carries the SSN.
  • the PSA After receiving the MPTCP message, the PSA generates the TCP sequence number according to the substream sequence number SSN, and decapsulates the MPTCP message according to the TCP sequence number. Generate a TCP message and send the TCP message to the UE.
  • the PSA After the PSA receives the TCP ACK from the UE, it completes the mapping between the TCP SN and the SSN according to the mapping relationship between the SSN and the TCP SN, and returns an MPTCP ACK to the server, carrying the SSN.
  • the PSA After the PSA receives the uplink message sent by the UE, it will not directly reply TCP ACK to the UE. Instead, after receiving the MPTCP ACK sent by the Server, the modified format will be changed to TCP ACK and then forwarded to the UE. If the UE does not receive it When TCP ACK is reached, the uplink message will be retransmitted.
  • PSA After PSA receives the downlink message sent by the Server, it will not directly reply MPTCP ACK to the Server. Instead, after receiving the TCP ACK sent by the UE, it will modify the format to MPTCP ACK and forward it to the Server. If the Server does not receive MPTCP ACK, the downlink message will be retransmitted.
  • the methods for establishing a TCP connection and an MPTCP connection include but are not limited to steps 0 to 6:
  • Step 0 The SMF issues forwarding rules to the S-PSA, including instructing the S-PSA to start the transport layer proxy function for the specific SDF.
  • Step 1 When the UE needs to transmit service data, it initiates a TCP connection to Server1.
  • the source address carried in the payload of the SYN message is the UE's address IPA, and the target address is the IP address IP1 of the source server Server1.
  • Step 2 S-PSA receives the TCP SYN sent by the UE, generates TCP SYN+ACK, and replies to the UE with TCP SYN+ACK;
  • Step 3 S-PSA determines to start the transport layer proxy function according to the instructions of SMF.
  • S-PSA sends a TCP SYN message to Server1.
  • the TCP SYN message carries the MP_CAPABLE option.
  • S-PSA establishes an MPTCP connection with Server1, and sends a TCP SYN message.
  • the source address carried in the payload of the document is the address IP3 of S-PSA, and the destination address is the IP address IP1 of Server1.
  • Step 4 The S-PSA receives the TCP ACK sent by the UE;
  • Step 5 Server1 sends a SYN+ACK message to S-PSA, which carries the MP_CAPABLE option.
  • Step 6 S-PSA replies to Server1 with an ACK message and carries the MP_CAPABLE option.
  • steps 1, 4, and 5 follow the TCP three-way handshake process
  • the format of the TCP message in the step is also the same as the existing corresponding TCP message
  • steps 2, 3, and 6 follow the MPTCP three-way handshake process.
  • the format is also the same as the existing response MPTCP message.
  • steps 1, 2, and 4 are executed in order
  • steps 3, 5, and 6 are executed in order
  • step 3 is executed after step 1
  • the execution order of step 5 and step 6 has nothing to do with step 2 and step 4.
  • the S-PSA in Figure 16 generates a SYN message and an ACK message and sends them to the UE or Server1 without waiting for the SYN message and ACK message sent by other network elements (UE or Server1) to be forwarded.
  • S-PSA does not need to wait for receiving the MPTCP SYN+ACK message sent by Sever 1 in step 5, and then perform step 2 to send a TCP SYN+ACK message to the UE; S-PSA does not need to wait for the received UE to send it in step 4 After receiving the TCP ACK message, perform step 6 to send an MPTCP ACK message to Server1.
  • S-PSA will not send the first context of S-PSA to SMF. Later, when the TCP transport layer proxy function is migrated, S-PSA will send the first context to SMF. Because in this implementation manner, the first context includes the real-time transmission status of the message. For details, please refer to the description of the subsequent embodiments, which will not be repeated here.
  • the message sent by the UE carries the TCP sequence number.
  • the PSA replies to the UE with an ACK, and MPTCP encapsulates the message at the transport layer, according to the TCP sequence number of the message Generate the sub-stream sequence number SSN, after completing the MPTCP encapsulation of the message, send the MPTCP message to the server, and receive the ACK returned by the server.
  • the MPTCP message sent by the server carries the SSN.
  • the PSA After the PSA receives the MPTCP message, it replies with an ACK to the server, decapsulates the received message by MPTCP, and generates the TCP sequence number based on the SSN. Generate a TCP message according to the TCP sequence number, send the TCP message to the UE, and receive the ACK sent by the UE.
  • the PSA After the PSA receives the uplink message sent by the UE, it will generate an ACK, return it to the UE, and send the uplink message to the server after MPTCP encapsulation. It does not need to wait until the server replies with an ACK for the uplink message. Return a TCP ACK to the UE.
  • the PSA needs to buffer the received uplink message sent by the UE. After receiving the ACK from the server for the uplink message, the uplink message is deleted from the buffer to avoid the need Retransmit the message. If the message needs to be retransmitted, that is, if the PSA does not receive the ACK from the Server, the PSA can directly retransmit the message that it has buffered.
  • PSA does not need to wait for the UE to reply ACK before replying to the server.
  • PSA also needs to buffer the received downlink message sent by the server. After receiving the UE’s ACK for the downlink message, the PSA will cache it Delete the downlink message in the.
  • S-PSA migrates the transport layer proxy function to T-PSA, that is, S-PSA stops performing transport layer processing on the packets on the first path, and T-PSA starts to process packets on the first path.
  • the T-PSA will continue to transmit the packets processed by the transport layer to Server1 on the third path, where the third path is the transition path from the first path to the second path, and the first path and the second path are The three paths are all paths established by the UE and Server1, but the S-PSA on the first path performs transmission layer processing on the message, the T-PSA on the third path performs transmission layer processing on the message, and the second path is established between the UE and Server2 route of.
  • T-PSA stops the message transmission with Server1
  • Server1 wants to perform application context migration with server2
  • Server1 wants to perform application context migration with server2
  • Server1 wants to perform application context migration with server2
  • Server1 wants to complete the application context migration with server2
  • T-PSA starts the second The message transmission on the path is described in detail below:
  • the UE establishes a PDU session with the S-PSA, and the data transmission path of the PDU session is path A in FIG. 4.
  • the SMF issues forwarding rules to the S-PSA.
  • the forwarding rules are used to instruct the S-PSA to activate the transport layer proxy function for a specific SDF.
  • the UE moves to perform air interface handover, the user plane transmission path is switched from path A to path B in Figure 4, SMF detects that the UE moves and needs to switch PSA, and inserts T-PSA as ULCL into the user plane transmission path, so that the user plane
  • the data transmission path is switched from path B in Figure 4 to the first path, where the first path includes the first transport layer connection between the UE and the T-PSA and the second transport layer connection between the T-PSA and Server 1.
  • the first transport layer connection is a TCP connection
  • the second transport layer connection is an MPTCP connection.
  • the SMF sends a DNAI change notification to Server1.
  • the notification includes the target DNAI, the UE ID, and the UE ID is the Generic Public Subscription Identity (GPSI) or the UE IP address, optional, in the request, It also includes Application ID (application ID).
  • GPSI Generic Public Subscription Identity
  • application ID application ID
  • Server1 confirms that the application migration can be performed, and then replies an ACK to the SMF.
  • SMF After receiving the ACK from Server1, SMF confirms that application migration can be performed. SMF triggers S-PSA and T-PSA to perform transport layer proxy function migration between S-PSA and T-PSA, that is, T-PSA initiates the message transfer Perform transport layer processing, and S-PSA stops performing transport layer processing on the message.
  • T-PSA initiates the message transfer Perform transport layer processing
  • S-PSA stops performing transport layer processing on the message.
  • the third path includes the third transport layer connection and the fifth transport layer connection.
  • the third transport layer connection is the UE and T -TCP connection between PSA
  • the fifth transport layer connection is the MPTCP connection between T-PSA and Server 1, used to carry MPTCP substream 1.
  • S-PSA sends a migration completion instruction to SMF.
  • the migration completion instruction is used to indicate the completion of the migration of the transport layer agent function, that is, T-PSA has started the transmission layer processing of the message, and S-PSA has stopped transmitting the message ⁇ Layer processing.
  • the SMF sends an application migration instruction to Server1, where the application migration instruction is used to instruct Server1 and Server2 to perform application context migration;
  • Server2 Before performing application context migration between Server1 and Server2, Server2 obtains part of the MPTCP connection context irrelevant to the timing from Server1, including the key information of the second transport layer connection, encryption algorithm (such as HMAC-SHA256), etc., which is convenient for the fourth
  • the establishment of the transport layer connection that is, the establishment of an MPTCP connection between Server2 and T-PSA, which is used to carry MTPCP substream 2;
  • T-PSA establishes an MPTCP connection with Server2. Before T-PSA establishes an MPTCP connection, it needs to obtain the address of Server2, which can be obtained from SMF, or it can also be obtained from Server1 through an address increase message.
  • Server2 can be obtained from SMF, or it can also be obtained from Server1 through an address increase message.
  • the application examples are not limited.
  • Server1 receives the FIN instruction sent by T-PSA, and initiates the application context migration with Server2 and the context migration of the second transport layer connection (ie MPTCP connection).
  • the context of the second transport layer connection includes but is not limited to S- PSA key information, encryption algorithm (such as HMAC-SHA256), etc.
  • the context of the second transport layer connection is used to establish MTPCP substream 2 between Server2 and T-PSA.
  • Server2 sends instruction information to the T-PSA, where the instruction information is used to indicate that the application context migration between Server1 and Server2 is completed;
  • the T-PSA starts packet transmission on MPTCP substream 2 and deletes MPTCP substream 1. At this time, the packet transmission path is switched from the third path to the second path.
  • the MPTCP mechanism can be used to merge and sort packets. , To avoid packet loss and disorder caused by application switching.
  • FIG. 8 is a schematic diagram of a transport layer proxy function migration provided by an embodiment of this application. As shown in the figure, this embodiment includes but is not limited to the following steps:
  • the SMF After the SMF confirms that the application context migration can be performed, it sends a notification message to the T-PSA.
  • the notification message is used to instruct the T-PSA to start the transport layer proxy function for the specific SDF.
  • the notification message may include the S-PSA.
  • the first context Regarding the first context of the message transmission on the first path (the first context may be sent to the SMF in advance by the S-PSA, as shown in step 7 in FIG. 13), the first context is the S-PSA regarding the first context.
  • the first context may include the first transport layer connection parameters and the second transport layer connection parameters.
  • the first transport layer connection parameters and the second transport layer connection parameters include but are not limited to : UE's IP address and port number, the local IP address and port number of the second transport layer connection, the IP address and port number of Server1; the Key information of the two ends of the second transport layer connection (S-PSA and Server1), Ukraine Encryption algorithm information (such as HMAC-SHA256 encryption algorithm), for a specific SDF, the mapping relationship between data sequence number (data sequence number, DSN) and subflow sequence number (subflow sequence number, SSN), and initial subflow sequence Number (initial subflow sequence number, ISSN), the mapping relationship between the TCP sequence number of the first transport layer connection and the SSN, and other information that has nothing to do with timing.
  • Encryption algorithm information such as HMAC-SHA256 encryption algorithm
  • the foregoing first context may not need to be forwarded to the T-PSA by the SMF, and the S-PSA may directly send the first context to the T-PSA.
  • the SMF establishes a user plane tunnel between the S-PSA and the T-PSA, and the S-PSA transmits the first context to the T-PSA through the user plane tunnel.
  • the T-PSA After receiving the notification message of the SMF, the T-PSA starts the transport layer proxy function, and replies a confirmation message to the SMF to notify the SMF that the transport layer proxy function has been started.
  • T-PSA After T-PSA starts the transport layer proxy function, for the downlink message, T-PSA detects that the downlink message is a TCP or MPTCP message. If it is an MPTCP message, it performs MPTCP decapsulation to generate a TCP message, namely T -PSA encapsulates the MPTCP message into a TCP message according to the first context. If the downstream message is a TCP message, it means that S-PSA has performed MPTCP decapsulation, that is, S-PSA has received it from Server1 according to the first context The received downlink MPTCP message is encapsulated into a TCP message, and T-PSA directly forwards the TCP message to the UE;
  • T-PSA For uplink packets, T-PSA encapsulates the TCP packets from the UE with MPTCP and sends them to S-PSA, that is, T-PSA encapsulates the TCP packets into MPTCP packets according to the first context, and the S-PSA Forward to Server1.
  • the SMF After receiving the confirmation message sent by the T-PSA in S602, the SMF sends a deactivation instruction to the S-PSA.
  • the deactivation instruction is used to instruct the S-PSA to stop performing the transport layer proxy function.
  • the S-PSA After the S-PSA receives the deactivation instruction sent by the SMF, for the downlink message, the S-PSA directly forwards the downlink message to the T-PSA, and the T-PSA encapsulates it into a TCP message according to the first context .
  • S-PSA receives uplink packets from T-PSA and detects that the uplink packets are TCP packets or MPTCP packets. If it is a TCP packet, it means that T-PSA starts the transport layer proxy function.
  • the uplink message is already on the transmission path from T-PSA to S-PSA, T-PSA does not encapsulate the message into an MPTCP message according to the first context, and S-PSA will make the uplink message according to the first context Encapsulate it into an MPTCP message, and send the encapsulated MPTCP message to Server1; if the upstream message from T-PSA is an MPTCP message, it means that T-PSA has started the transport layer proxy function, and S-PSA stops performing transmission Layer proxy function. After S-PSA subsequently receives the uplink message from T-PSA, it directly forwards it without any further detection.
  • the S-PSA After the S-PSA stops performing the transport layer proxy function, it sends a confirmation message to the SMF to indicate that the transport layer proxy function migration is complete, and triggers the SMF to send an application context migration instruction to Server1.
  • FIG. 9 is a schematic diagram of another transport layer proxy function migration provided by an embodiment of this application. As shown in the figure, this embodiment includes but is not limited to the following steps:
  • the SMF After the SMF confirms that the application context migration can be performed, it sends a deactivation instruction to the S-PSA, where the deactivation instruction is used to instruct the S-PSA to stop executing the transport layer proxy function for the specific SDF;
  • the S-PSA buffers the uplink and downlink messages that have not been forwarded, and replies to the SMF with an acknowledgement message (Acknowledge, ACK).
  • the ACK is used to indicate that the S-PSA has stopped performing the transport layer proxy function.
  • the acknowledgement message includes the S-
  • the PSA relates to the first context of packet transmission on the first path.
  • the first context includes a first transmission layer connection parameter, a first transmission state parameter, a second transmission layer connection parameter, and a second transmission state parameter.
  • the first transport layer connection parameters and the second transport layer connection parameters may include, but are not limited to: the IP address and port number of the UE, the local IP address and port number of the second transport layer connection, and the IP address and port number of Server1; Key information of the two ends of the transport layer connection (S-PSA and Server1), hash encryption algorithm information (such as HMAC-SHA256 encryption algorithm), for a specific SDF, data sequence number (DSN) and sub-stream sequence
  • SSN subflow sequence number
  • initial subflow sequence number initial subflow sequence number
  • ISSN initial subflow sequence number
  • TCP sequence number of the first transport layer connection and the SSN and other information that are not related to timing.
  • the first transmission state parameter and the second transmission state parameter may include, but are not limited to: the sequence number of the uplink packet of the first transport layer connection (ie TCP connection) has been received, the sequence number of the downlink packet has been sent, the sequence number of the uplink ACK has been sent, and the downlink ACK The serial number etc. have been received.
  • the sequence number of the uplink message has been sent, the sequence number of the downlink message has been received, the sequence number of the uplink ACK has been received, and the sequence number of the downlink ACK has been sent, etc.
  • the received sequence number of the uplink message of the first transport layer connection refers to the TCP sequence number of the message in the S-PSA buffer that the S-PSA has received the uplink TCP message sent by the UE but has not responded to the ACK.
  • the transmitted sequence number of the downlink message of the first transport layer connection refers to the TCP sequence number of the message buffered by the S-PSA, the S-PSA has been sent to the UE but the UE reply ACK has not been received; the first transmission
  • the uplink ACK sent sequence number of the layer connection refers to the S-PSA buffered message, the S-PSA has fed back the TCP sequence number of the ACK message for the uplink message sent by the UE; the downlink ACK of the first transmission connection has been sent.
  • the received sequence number refers to the TCP sequence number of the message that the S-PSA buffers for the downlink message sent to the UE and the S-PSA has received the ACK message that the UE feedbacks.
  • the transmitted sequence number of the uplink packet of the second transport layer connection refers to the TCP sequence number of the packet that the S-PSA has sent to Server1 but has not received the reply from Server1ACK among the packets buffered by the S-PSA; the second transport layer connection
  • the received sequence number of the downlink message refers to the TCP sequence number of the message buffered by S-PSA, which has been received by S-PSA from Server1 but has not responded to Server1 with an ACK;
  • the upstream ACK received sequence number of S-PSA refers to the TCP sequence number of the message that S-PSA has received for the upstream message that has been sent to Server1 in the message buffered by the S-PSA; the second transmission connection
  • the downlink ACK sent sequence number refers to the TCP sequence number of the downlink TCP message sent by Server1 that has been received by the S-PSA for the downlink TCP message sent by Server1 among the messages buffered by the S-PSA.
  • first transmission layer connection parameter and the second transmission layer connection parameter are parameters that have nothing to do with timing
  • first transmission state parameter and the second transmission state parameter are parameters related to timing
  • the SMF sends a notification message to the T-PSA, where the notification message is used to instruct the T-PSA to start the transport layer proxy function for a specific SDF, and the notification message includes the first context in S702.
  • the T-PSA starts the transport layer proxy function according to the instruction of the SMF, and returns an ACK to the SMF.
  • S-PSA also forwards the uplink messages received but not sent to Server1 or not received ACK from Server1 to T-PSA; and, downlink messages received but not sent to the UE or not received ACK from the UE are forwarded to T-PSA. The message is forwarded to T-PSA.
  • the processing method of T-PSA for uplink and downlink packets can refer to the processing methods of Figure 17 and Figure 18.
  • T-PSA receives the downlink packets sent by S-PSA, if If no ACK is sent for the downlink message, then an ACK will be returned to Server1 for the downlink message; further optional, if the downlink message has not been sent to the UE, if the downlink message is an MPTCP message, the MPTCP solution is executed.
  • T-PSA Encapsulation to generate a TCP message, that is, T-PSA encapsulates the MPTCP message into a TCP message according to the first context, and then sends the TCP message to the UE; if the downlink message is a TCP message, it is directly forwarded to the UE .
  • the T-PSA may first send the downlink message from the S-PSA buffer to the UE. The T-PSA buffers the downlink message before receiving the ACK that the UE responds to the downlink message.
  • the T-PSA After receiving the uplink message sent by the S-PSA, the T-PSA returns an ACK to the UE if it does not send an ACK for the uplink message. Further optionally, if the uplink message has not been sent to Server1, if the uplink message is a TCP message, MPTCP encapsulation is performed to generate an MPTCP message, that is, the T-PSA sends the TCP message according to the first context Encapsulate it into an MPTCP message, and then send the MPTCP message to Server1; if the upstream message is an MPTCP message, it is directly forwarded to Server1.
  • the T-PSA can first send the uplink text from the S-PSA buffer to Server1. The T-PSA buffers the uplink packet before receiving the ACK from Server1 for the uplink packet.
  • S-PSA migrates the transport layer proxy function to T-PSA, that is, S-PSA stops performing transport layer processing on packets on the first path, and T-PSA starts transport layer processing on packets.
  • Application context migration is performed between Server1 and server2.
  • the transport layer proxy function is migrated.
  • application context migration can be carried out at the same time, as detailed below:
  • the UE establishes a PDU session with the S-PSA, and the data transmission path of the PDU session is path A in FIG. 4.
  • the SMF issues forwarding rules to the S-PSA.
  • the forwarding rules are used to instruct the S-PSA to activate the transport layer proxy function for a specific SDF.
  • the UE moves to perform air interface handover, the user plane transmission path is switched from path A to path B in Figure 4, SMF detects that the UE moves and needs to switch PSA, and inserts T-PSA as ULCL into the user plane transmission path, so that the user plane
  • the data transmission path is switched from path B in Figure 4 to the first path, where the first path includes the first transport layer connection between the UE and the T-PSA and the second transport layer connection between the T-PSA and Server 1.
  • the first transport layer connection is a TCP connection
  • the second transport layer connection is an MPTCP connection.
  • the SMF sends a DNAI change (DNAI handover) notification to Server1.
  • the notification includes the target DNAI and the UE ID.
  • the UEID may be GPSI or UE IP.
  • the request also includes Application ID (application ID).
  • Server1 confirms that the application migration can be executed, and then replies an ACK to the SMF.
  • Server1 stops sending messages to the UE, and sends a "FIN” indication to S-PSA, instructing S-PSA Server1 to stop sending messages, and S-PSA receives the message sent by Server1 After the "FIN” indication message, reply "ACK” and send a "FIN” indication to Server1, instructing Server1S-PSA to stop sending messages to Server1.
  • the application status between S-PSA and Server1 is suspended.
  • Server1 receives the "FIN" instruction sent by S-PSA, and starts the application context migration with Server2 and the context migration of the second transport layer connection (ie MPTCP connection).
  • the context of the second transport layer connection includes but not Limited to the key information of S-PSA, encryption algorithm (such as HMAC-SHA256), etc., the context of the second transport layer connection is used to establish MTPCP substream 2 between Server2 and T-PSA.
  • S807 S-PSA, after receiving the ACK sent by Server1 (that is, step 4 in S805), initiates the transfer of the transport layer proxy function with T-PSA, or S-PSA notifies SMF, and SMF initiates S-PSA and T-PSA.
  • Transfer layer proxy function between PSAs For specific options, please refer to Figure 11 and Figure 12 for the transfer layer proxy function migration process between S-PSA and T-PSA, which will not be repeated for the time being.
  • T-PSA triggers the establishment of MPTCP substream 2 between Server2, that is, the establishment of the fourth transport layer connection.
  • the indication information is used to indicate that the application context migration between Server1 and Server2 is complete
  • T-PSA starts packet transmission on MPTCP substream 2.
  • the packet transmission path is switched from the first path to the second path, where the second path includes the third transmission layer between the UE and the T-PSA
  • the connection and the fourth transport layer connection between the T-PSA and Server2 wherein the third transport layer connection is a TCP connection, and the fourth transport layer connection is an MPTCP connection.
  • the MPTCP mechanism can be used to merge and sort packets. , To avoid packet loss and disorder caused by application switching.
  • FIG. 11 is a schematic diagram of a transport layer proxy function migration provided by an embodiment of this application.
  • the message transmission mode in this embodiment can be the message transmission mode shown in FIG. 14 and FIG.
  • the row data packet may be a packet received but not sent by S-PSA. As shown in the figure, this embodiment includes but is not limited to the following steps:
  • S-PSA After receiving the "FIN" sent by Server1, S-PSA sends a transport layer proxy function migration instruction to SMF;
  • the SMF sends a notification message to the T-PSA.
  • the notification message instructs the T-PSA to start the transport layer proxy function for a specific SDF.
  • the notification message includes the S-PSA's first message transmission on the first path.
  • a context, the first context may be obtained through step 7 in FIG. 13.
  • the first context may not be forwarded through the SMF, and the S-PSA may directly send the first context to the T-PSA.
  • the SMF establishes a user plane tunnel between the S-PSA and the T-PSA, and the S-PSA transmits the first context to the T-PSA through the user plane tunnel.
  • the first context may include a first transport layer connection parameter and a second transport layer connection parameter.
  • the first transport layer connection parameter and the second transport layer connection parameter include but are not limited to: the IP address and port of the UE Number, the local IP address and port number of the second transport layer connection, the IP address and port number of Server1; the Key information and hash encryption algorithm information of the two ends (S-PSA and Server1) of the second transport layer connection (if used HMAC-SHA256 encryption algorithm), for a specific SDF, the mapping relationship between data sequence number (data sequence number, DSN) and subflow sequence number (subflow sequence number, SSN), initial subflow sequence number (initial subflow sequence number, ISSN), the mapping relationship between the TCP sequence number of the first transport layer connection and the SSN, and other information that has nothing to do with timing.
  • HMAC-SHA256, DSN, SSN, ISSN, etc. you can refer to the prior art.
  • the T-PSA After receiving the notification message of the SMF, the T-PSA starts the transport layer proxy function and returns an ACK to the SMF.
  • the SMF sends a deactivation instruction to the S-PSA, where the deactivation instruction is used to instruct the S-PSA to stop performing the transport layer proxy function.
  • S-PSA sends "FIN" to Server1, that is, after S-PSA stops sending packets to Server1, it sends the buffered uplink and downlink packets to T-PSA.
  • T-PSA For the downlink message, T-PSA detects that the downlink message is a TCP message or an MPTCP message, and if the downlink message is an MPTCP message, it performs MPTCP decapsulation to generate a TCP message, that is, T-PSA according to the second
  • the context encapsulates the MPTCP message into a TCP message, where the second context is determined by T-PSA according to the first context and the fourth transport layer connection context, and sends the TCP message to the UE; if the downlink message If the message is a TCP message, it is directly forwarded to the UE. If the UE responds with an ACK for the downlink message, the T-PSA sends an ACK to Server2.
  • the T-PSA preferentially processes the downlink packets buffered by the S-PSA sent by the S-PSA.
  • T-PSA For the upstream message, T-PSA detects that the upstream message is a TCP message or an MPTCP message, and if the upstream message is a TCP message, it performs MPTCP encapsulation to generate an MPTCP message, that is, T-PSA according to the second context
  • the TCP message is encapsulated into an MPTCP message, and the MPTCP message is sent to Server2, where the second context is determined by T-PSA according to the first context and the fourth transport layer connection context; if the uplink message If it is an MPTCP packet, it is directly forwarded to Server2.
  • the T-PSA sends an ACK to the UE.
  • the T-PSA preferentially processes the uplink packets buffered by the S-PSA sent by the S-PSA.
  • FIG. 12 is a schematic diagram of another transport layer proxy function migration provided by an embodiment of this application.
  • the message transmission mode in this embodiment can be the message transmission mode shown in FIGS. 17 and 18, and the S-PSA cache
  • the uplink and downlink data packets can be packets received by S-PSA but not sent and/or packets received by S-PSA but not received ACK.
  • S-PSA will also buffer the uplink packet.
  • this embodiment includes but is not limited to the following steps:
  • the transport layer proxy function migration instruction may include the first context of the S-PSA regarding packet transmission on the first path.
  • the context includes a first transmission layer connection parameter, a first transmission state parameter, a second transmission layer connection parameter, and a second transmission state parameter.
  • the first transport layer connection parameters, the second transport layer connection parameters : the IP address and port number of the UE, the local IP address and port number of the second transport layer connection, the IP address and port number of Server1; the two transport layer connections Key information of the end (S-PSA and Server1), hash encryption algorithm information (such as HMAC-SHA256 encryption algorithm), for a specific SDF, data sequence number (DSN) and subflow sequence number (subflow sequence number) , SSN) mapping relationship, initial subflow sequence number (initial subflow sequence number, ISSN), the first transport layer connection TCP sequence number and the SSN mapping relationship and other information that is not related to timing.
  • hash encryption algorithm information such as HMAC-SHA256 encryption algorithm
  • the first transmission state parameter and the second transmission state parameter may include but are not limited to:
  • the sequence number of the uplink message of the first transport layer connection (ie TCP connection) has been received, the sequence number of the downlink message has been sent, the sequence number of the uplink ACK has been sent, the sequence number of the downlink ACK has been received, etc.
  • the second transport layer connection ie MPTCP connection
  • the sequence number of the uplink message has been sent, the sequence number of the downlink message has been received, the sequence number of the uplink ACK has been received, and the sequence number of the downlink ACK has been sent, etc.
  • the SMF sends a notification message to the T-PSA.
  • the notification message is used to instruct the T-PSA to start the transport layer proxy function for a specific SDF.
  • the notification message includes the first step contained in the transport layer proxy function migration instruction in step S1001. Context.
  • the T-PSA After receiving the instruction from the SMF, the T-PSA starts the transport layer proxy function, and returns an ACK to the SMF.
  • the SMF After receiving the ACK from the T-PSA, the SMF confirms that the T-PSA has activated the transport layer proxy function, and the SMF sends a deactivation instruction to the S-PSA.
  • S-PSA sends the buffered uplink and downlink messages to T-PSA.
  • the processing method of T-PSA on uplink and downlink packets can refer to the processing methods in Figure 17 and Figure 18.
  • T-PSA receives the downlink packets sent by S-PSA, it is based on If the first transmission state parameter and the second transmission state parameter determine that no ACK is sent for the downlink message, then an ACK is sent back to Server2 for the downlink message; further optionally, if the downlink message has not been sent to the UE, if the downlink message has not been sent to the UE, If the downlink message is an MPTCP message, MPTCP decapsulation is performed to generate a TCP message, that is, T-PSA encapsulates the MPTCP message into a TCP message according to the second context, and then sends the TCP message to the UE;
  • the second context is determined by T-PSA based on a context and the fourth transport layer connection context.
  • the T-PSA may first send the downlink message from the S-PSA buffer to the UE.
  • the T-PSA buffers the downlink message before receiving the ACK that the UE responds to the downlink message.
  • T-PSA For the uplink packet, after receiving the uplink packet sent by the S-PSA, T-PSA determines according to the first transmission state parameter and the second transmission state parameter that no ACK is sent for the uplink packet, and then for the uplink packet, The UE replies with an ACK. Further optionally, if the uplink message has not been sent to Server1, and if the uplink message is a TCP message, MPTCP encapsulation is performed to generate an MPTCP message, that is, T-PSA encapsulates the TCP message into MPTCP message, and then send the MPTCP message to Server2, where the second context is determined by T-PSA according to a context and the fourth transport layer connection context; if the uplink message is an MPTCP message, it is directly Forward to Server2.
  • the T-PSA can first send the uplink text from the S-PSA buffer to Server2. The T-PSA buffers the uplink packet before receiving the ACK from Server1 for the uplink packet.
  • FIG. 19 is a schematic block diagram of a communication device provided by an embodiment of the present application.
  • the communication device 1700 may include a transceiving unit 1710 and a processing unit 1720.
  • the transceiver unit 1710 can be used to receive information (or messages) sent by other devices, and can also be used to send information (or messages) to other devices.
  • the processing unit 1720 can be used to perform internal processing of the device.
  • the communication device 1700 may correspond to the source transport layer proxy network element (for example, S-PSA) in the foregoing method embodiment.
  • the communication device 1700 may be a source transport layer proxy network element, or It can be the chip in the source transport layer proxy network element.
  • the communication device 1700 may include a unit for performing operations performed by the source transport layer proxy network element in the foregoing method embodiment, and each unit in the communication device 1700 is used to implement the source transport layer in the foregoing method embodiment. The operation performed by the agent network element.
  • the processing unit 1720 is configured to, if the third indication information is received through the transceiving unit 1710, stop performing transport layer processing on the packet on the first path according to the first context of the source transport layer proxy network element ,
  • the first context is the context of the source transport layer proxy network element regarding packet transmission on the first path;
  • the first context is used for the target transport layer proxy network element to establish a fourth transport layer connection, and when the target transport layer proxy network element receives the first indication information, according to the second transmission layer of the target transport layer proxy network element
  • the context performs the transport layer processing on the packet on the second path, where the second context is determined according to the context of the first context and the fourth transport layer connection, and the first indication information is used for Indicate that the application context migration between the first application server and the second application server is completed, wherein, when the application context is migrated, the message transmission between the first application server and the proxy network element is stopped, and the proxy network element Including the source transport layer proxy network element or the target transport layer proxy network element;
  • the first path is a path established between the terminal device and the first application server, the first path includes a first transport layer connection and a second transport layer connection, and the first transport layer connection is The transmission layer connection between the source transport layer proxy network element and the terminal device, the second transmission layer connection is the transmission layer connection between the source transport layer proxy network element and the first application server, and The second path includes a third transmission layer connection and the fourth transmission layer connection.
  • the third transmission layer connection is a transmission layer connection between a target transmission layer proxy network element and the terminal device.
  • the fourth transmission layer The layer connection is the transport layer connection between the target transport layer proxy network element and the second application server.
  • the communication device 1700 may correspond to the target transport layer proxy network element (for example, T-PSA) in the foregoing method embodiment.
  • the communication device 1700 may be a target transport layer proxy network element, or It can be the chip in the target transport layer proxy network element.
  • the communication device 1700 may include a unit for performing operations performed by the target transport layer proxy network element in the foregoing method embodiment, and each unit in the communication device 1700 is used to implement the target transport layer in the foregoing method embodiment. The operation performed by the agent network element.
  • the processing unit 1720 is configured to establish a fourth transport layer connection according to the first context of the source transport layer proxy network element, where the first context is the message of the source transport layer proxy network element on the first path Transmission context; the transceiver unit 1710 is configured to receive first indication information, where the first indication information is used to indicate that the application context migration between the first application server and the second application server is completed.
  • the processing unit 1720 is configured to perform transport layer processing on the packet on the second path according to the second context of the target transport layer proxy network element.
  • the transceiving unit 1710 is further configured to transmit the packet processed by the transport layer on the second path, where the second context is determined according to the context of the connection between the first context and the fourth transport layer, wherein, when the application context is migrated, message transmission is stopped between the first application server and the transport layer proxy network element, and the transport layer proxy network element includes the source transport layer proxy network element or the target transmission Layer proxy network element;
  • the first path is a path established between the terminal device and the first application server, the first path includes a first transport layer connection and a second transport layer connection, and the first transport layer connection is The transmission layer connection between the source transport layer proxy network element and the terminal device, the second transmission layer connection is the transmission layer connection between the source transport layer proxy network element and the first application server, and The second path includes a third transmission layer connection and the fourth transmission layer connection.
  • the third transmission layer connection is a transmission layer connection between a target transmission layer proxy network element and the terminal device.
  • the fourth transmission layer The layer connection is the transport layer connection between the target transport layer proxy network element and the second application server.
  • the communication device 1700 may correspond to the session management network element (such as SMF) in the foregoing method embodiment.
  • the communication device 1700 may be a session management network element or a session management network element. Chip.
  • the communication device 1700 may include a unit for performing operations performed by the session management network element in the foregoing method embodiment, and each unit in the communication device 1700 is used to implement the operations performed by the session management network element in the foregoing method embodiment. Action performed.
  • the communication device 1700 may correspond to the first application server (for example, Server1) in the foregoing method embodiment.
  • the communication device 1700 may be the first application server or the first application server. Chip.
  • the communication device 1700 may include a unit for performing operations performed by the first application server in the foregoing method embodiment, and each unit in the communication device 1700 is used to implement the operations performed by the first application server in the foregoing method embodiment. Action performed.
  • the communication device 1700 may correspond to the second application server (for example, Server2) in the foregoing method embodiment.
  • the communication device 1700 may be the second application server or the second application server. Chip.
  • the communication device 1700 may include a unit for performing operations performed by the second application server in the foregoing method embodiment, and each unit in the communication device 1700 is used to implement the operations performed by the second application server in the foregoing method embodiment. Action performed.
  • the communication device 1700 may correspond to the UE in the foregoing method embodiment.
  • the communication device 1700 may be a UE or a chip in the UE.
  • the communication device 1700 may include a unit for performing operations performed by the UE in the foregoing method embodiment, and each unit in the communication device 1700 is used to implement the operations performed by the UE in the foregoing method embodiment.
  • the transceiver unit 1710 in the communication device 1700 may correspond to the transceiver 2020 in the terminal device 2000 shown in FIG. 20, and the processing unit 1720 in the communication device 1700 may correspond to The processor 2010 in the terminal device 2000 is shown in FIG. 19.
  • the transceiver unit 1710 in the communication device 1700 may be an input/output interface.
  • the transceiver unit 1710 in the communication device 1700 may correspond to
  • the processing unit 1720 may correspond to the processor 3020 shown in FIG. 21.
  • FIG. 20 is a schematic structural diagram of a terminal device 2000 provided by an embodiment of the present application.
  • the terminal device 2000 can be applied to the system shown in FIG. 1 to perform the functions of the terminal device (or UE) in the foregoing method embodiment.
  • the terminal device 2000 includes a processor 2010 and a transceiver 2020.
  • the terminal device 2000 further includes a memory 2030.
  • the processor 2010, the transceiver 2002, and the memory 2030 can communicate with each other through internal connection paths to transfer control or data signals.
  • the memory 2030 is used to store computer programs, and the processor 2010 is used to call and transfer from the memory 2030. Run the computer program to control the transceiver 2020 to send and receive signals.
  • the terminal device 2000 may further include an antenna 2040 for transmitting the uplink data or uplink control signaling output by the transceiver 2020 through a wireless signal.
  • the above-mentioned processor 2010 and the memory 2030 may be combined into a processing device, and the processor 2010 is configured to execute the program code stored in the memory 2030 to realize the above-mentioned functions.
  • the memory 2030 may also be integrated in the processor 2010 or independent of the processor 2010.
  • the processor 2010 may correspond to the processing unit in FIG. 19.
  • the above-mentioned transceiver 2020 may correspond to the transceiver unit in FIG. 19.
  • the transceiver 2020 may include a receiver (or receiver, receiving circuit) and a transmitter (or transmitter, transmitting circuit). Among them, the receiver is used to receive signals, and the transmitter is used to transmit signals.
  • the terminal device 2000 shown in FIG. 20 can implement each process involving the terminal device in any method embodiment of the foregoing method embodiments.
  • the operation or function of each module in the terminal device 2000 is to implement the corresponding process in the foregoing method embodiment.
  • the above-mentioned processor 2010 can be used to perform the actions described in the previous method embodiments implemented by the terminal device, and the transceiver 2020 can be used to perform the terminal device described in the previous method embodiments to send to or receive from the network device action.
  • the transceiver 2020 can be used to perform the terminal device described in the previous method embodiments to send to or receive from the network device action.
  • the aforementioned terminal device 2000 may further include a power supply 2050 for providing power to various devices or circuits in the terminal device.
  • the terminal device 2000 may also include one or more of an input unit 2060, a display unit 2070, an audio circuit 2080, a camera 2090, and a sensor 2100.
  • the audio circuit It may also include a speaker 2082, a microphone 2084, and so on.
  • FIG. 21 is a schematic structural diagram of a communication device according to an embodiment of the present application. It should be understood that the communication device 1900 shown in FIG. 21 is only an example, and the communication device in the embodiment of the present application may further include other modules or units, or include modules with similar functions to the modules in FIG. All modules in 21.
  • the communication device 1900 includes a communication interface 3010 and at least one processor 3020.
  • the communication device 1900 may correspond to any one of the source transport layer proxy network element, the target transport layer proxy network element, the first application server, the second application server, and the session management network element.
  • At least one processor 3020 executes program instructions, so that the communication device 1900 implements the corresponding process of the method executed by the corresponding network element in the foregoing method embodiment.
  • the communication device 1900 may further include a memory.
  • the memory can store program instructions, and at least one processor 3020 can read the program instructions stored in the memory and execute the program instructions.
  • the processor in the embodiments of the present application may be a central processing unit (Central Processing Unit, CPU), and the processor may also be other general-purpose processors, digital signal processors (digital signal processors, DSP), and application specific integrated circuits (application specific integrated circuits). integrated circuit, ASIC), ready-made programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
  • the present application also provides a computer program product, the computer program product includes: computer program code, when the computer program code runs on a computer, the computer executes any of the foregoing method embodiments In the terminal device side method.
  • the present application also provides a computer-readable medium storing program code, which when the program code runs on a computer, causes the computer to execute the source in the foregoing method embodiment The method of the transport layer acting on the network element side.
  • the present application also provides a computer-readable medium storing program code, which when the program code runs on a computer, causes the computer to execute the target in the foregoing method embodiment The method of the transport layer acting on the network element side.
  • the present application also provides a computer-readable medium storing program code, which when the program code runs on a computer, causes the computer to execute the first method in the foregoing method embodiments.
  • the present application also provides a computer-readable medium storing program code, which when the program code runs on a computer, causes the computer to execute the first method in the foregoing method embodiments. 2. The method on the application server side.
  • the present application also provides a computer-readable medium that stores program code, and when the program code runs on a computer, the computer executes the session in the foregoing method embodiment.
  • the method of managing the network element side is not limited to the embodiments of the present application.
  • the present application also provides a system, which includes the aforementioned terminal device, source transport layer proxy network element, target transport layer proxy network element, first application server, second application server, and session management At least one of the network elements.
  • An embodiment of the present application also provides a processing device, including a processor and an interface; the processor is configured to execute the method in any of the foregoing method embodiments.
  • the aforementioned processing device may be a chip.
  • the processing device may be a field programmable gate array (FPGA), a general-purpose processor, a digital signal processor (digital signal processor, DSP), or an application specific integrated circuit (ASIC) , Ready-made programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, or system on chip (SoC), or central processing
  • the central processor unit (CPU) can also be a network processor (NP), a digital signal processing circuit (digital signal processor, DSP), or a microcontroller (microcontroller unit, MCU) It can also be a programmable logic device (PLD) or other integrated chips.
  • NP network processor
  • DSP digital signal processor
  • MCU microcontroller unit
  • PLD programmable logic device
  • the methods, steps, and logical block diagrams disclosed in the embodiments of the present application can be implemented or executed.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
  • the steps of the method disclosed in the embodiments of the present application may be directly embodied as being executed and completed by a hardware decoding processor, or executed and completed by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in a mature storage medium in the field, such as random access memory, flash memory, read-only memory, programmable read-only memory, or electrically erasable programmable memory, registers.
  • the storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.
  • the memory in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory may be read-only memory (ROM), programmable read-only memory (programmable ROM, PROM), erasable programmable read-only memory (erasable PROM, EPROM), and electrically available Erase programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
  • the volatile memory may be random access memory (RAM), which is used as an external cache.
  • RAM random access memory
  • static random access memory static random access memory
  • dynamic RAM dynamic RAM
  • DRAM dynamic random access memory
  • synchronous dynamic random access memory synchronous DRAM, SDRAM
  • double data rate synchronous dynamic random access memory double data rate SDRAM, DDR SDRAM
  • enhanced synchronous dynamic random access memory enhanced SDRAM, ESDRAM
  • synchronous connection dynamic random access memory serial DRAM, SLDRAM
  • direct rambus RAM direct rambus RAM
  • the computer program product includes one or more computer instructions.
  • 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 a website, computer, server, or data center.
  • 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 or a data center integrated with one or more available media.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, and a magnetic tape), an optical medium (for example, a high-density digital video disc (digital video disc, DVD)), or a semiconductor medium (for example, a solid state disk (solid state disc, SSD)) etc.
  • the network equipment in the above-mentioned device embodiments completely corresponds to the network equipment or terminal equipment in the terminal equipment and method embodiments, and the corresponding modules or units execute the corresponding steps.
  • the communication unit transmits the receiving or the terminal equipment in the method embodiments.
  • the processing unit processor
  • the functions of specific units refer to the corresponding method embodiments. Among them, there may be one or more processors.
  • a component may be, but is not limited to, a process, a processor, an object, an executable file, an execution thread, a program, or a computer running on the processor.
  • the application running on the computing device and the computing device can be components.
  • One or more components can reside in a process or thread of execution, and the components can be located on one computer or distributed between two or more computers.
  • these components can be executed from various computer readable media having various data structures stored thereon.
  • a component can pass a local signal based on a signal having one or more data packets (for example, data from two components interacting with another component in a local system, a distributed system, or a network, such as the Internet that interacts with other systems through a signal). Or remote process to communicate.
  • a signal having one or more data packets for example, data from two components interacting with another component in a local system, a distributed system, or a network, such as the Internet that interacts with other systems through a signal.
  • remote process to communicate for example, data from two components interacting with another component in a local system, a distributed system, or a network, such as the Internet that interacts with other systems through a signal.
  • a corresponding to B means that B is associated with A, and B can be determined according to A.
  • determining B based on A does not mean that B is determined only based on A, and B can also be determined based on A and/or other information.
  • the above is an example of three elements A, B and C to illustrate the optional items of the item.
  • the item includes at least one of the following: A, B,..., and X"
  • the applicable items for the item can also be obtained in accordance with the aforementioned rules.
  • the terminal device and/or the network device can perform some or all of the steps in the embodiment of this application. These steps or operations are only examples, and the embodiments of this application can also perform other operations or various Deformation of the operation. In addition, each step may be executed in a different order presented in the embodiments of the present application, and it may not be necessary to perform all the operations in the embodiments of the present application.
  • the disclosed system, device, and method can be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or It can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of this application essentially or the part that contributes to the existing technology or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including Several instructions are used to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read only memory ROM, random access memory RAM, magnetic disk or optical disk and other media that can store program codes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例提供一种报文传输方法、通信装置和通信系统,其中,报文传输方法包括:目标传输层代理网元根据源传输层代理网元的第一上下文建立第四传输层连接,所述第一上下文是所述源传输层代理网元关于第一路径上的报文传输的上下文;若所述目标传输层代理网元接收到第一指示信息,所述第一指示信息用于指示第一应用服务器与第二应用服务器之间的应用上下文迁移完成,所述目标传输层代理网元根据所述目标传输层代理网元的第二上下文对第二路径上的报文进行传输层处理,并将传输层处理后的报文在所述第二路径上传输,实施本申请实施例,能够避免丢包。

Description

报文传输方法、通信装置和通信系统 技术领域
本申请涉及通信领域,尤其涉及一种报文传输方法、通信装置和通信系统。
背景技术
在通信系统中,当终端设备从原来的基站的覆盖范围移动至当前的基站的覆盖范围时,会触发空口的切换,即将和终端设备连接的基站从原来的基站切换到当前的基站。虽然终端设备的位置发生了变化,但是此时终端设备仍然接入的是原来的用户面网元,而实际上此时离终端设备最近的用户面网元可能已经发生了变化,但是终端设备仍然与原来的用户面网元进行报文的传输,这种情况下传输路径较长,相应地,报文的传输时延就会变大,影响用户体验。为了降低报文的传输时延,有必要将传输路径从原来的用户面网元切换到新的用户面网元,进一步的,如果仍然将终端设备的数据发送给原本的服务器,路径仍然存在迂回,难以满足低时延需求,因此还需要对服务器进行切换,其中,服务器的切换涉及到服务器之间的应用上下文迁移,目前不存在比较合理的方法规范服务器之间的应用上下文迁移和路径切换之间的配合,来避免报文丢失。
发明内容
本申请实施例提供一种报文传输方法、通信装置和通信系统,能够实现路径切换和应用状态上下文迁移之间的无缝对接,避免丢包。
第一方面,本申请实施例提供一种报文传输方法,应用于目标传输层代理网元,该方法包括:目标传输层代理网元根据源传输层代理网元的第一上下文建立第四传输层连接,该第一上下文是源传输层代理网元关于第一路径上的报文传输的上下文。目标传输层代理网元还根据第一上下文和第四传输层连接的上下文,生成目标传输层代理网元的第二上下文。
当目标传输层代理网元接收到第一指示信息,该第一指示信息用于指示第一应用服务器与第二应用服务器之间的应用上下文迁移完成,目标传输层代理网元根据该目标传输层代理网元的第二上下文对第二路径上的报文进行传输层处理,并将传输层处理后的报文在所述第二路径上传输。其中,在第一应用服务器与第二应用服务器之间进行应用上下文迁移时,第一应用服务器与传输层代理网元之间停止报文传输,该传输层代理网元包括源传输层代理网元或者目标传输层代理网元。
其中,上述第一路径为终端设备与所述第一应用服务器之间建立的路径,第一路径包括第一传输层连接和第二传输层连接,第一传输层连接为源传输层代理网元与终端设备之间的传输层连接,第二传输层连接为源传输层代理网元与第一应用服务器之间的传输层连接,第二路径包括第三传输层连接和第四传输层连接,第三传输层连接为目标传输层代理网元与终端设备之间的传输层连接,第四传输层连接为目标传输层代理网元与第二应用服务器之间的传输层连接。
根据本申请实施例提供的方法,第一应用服务器与第二应用服务器之间上下文迁移时,第一应用服务器与传输层代理网元之间停止报文传输,在第一应用服务器与第二应用服务 器的应用上下文迁移完成之后,目标传输层代理网元才根据第二上下文对第二路径上的报文进行传输层处理,可以实现避免第一应用服务器和第二应用服务器的上下文迁移过程中所导致的丢包。
在一种可能的设计中,目标传输层代理网元根据目标传输层代理网元的第二上下文对第二路径上的报文进行传输层处理,并将传输层处理后的报文在第二路径上传输,包括:
所述目标传输层代理网元接收所述终端设备发送的第三上行TCP报文,根据目标传输层代理网元的第二上下文将第三上行TCP报文封装成第三上行MPTCP报文,并将第三上行MPTCP报文在第四传输层连接上发送至第二应用服务器;
所述目标传输层代理网元接收第二应用服务器发送的第三下行MPTCP报文,根据目标传输层代理网元的第二上下文将第三下行MPTCP报文封装成第三下行TCP报文,并将第三下行TCP报文在第三传输层连接上发送至终端设备。
在一种可能的设计中,该方法还包括:目标传输层代理网元从源传输层代理网元接收第一上行TCP报文和第一下行MPTCP报文,该第一上行TCP报文是所述源传输层代理网元接收但未发送给所述第一应用服务器的报文,或者,是源传输层代理网元发送给第一应用服务器但未接收到第一应用服务器返回的针对该报文的确认消息的报文,所述第一下行MPTCP报文是所述源传输层代理网元接收但未发送给终端设备的报文,或者是源传输层代理网元发送给终端设备但未接收到终端设备返回的针对该报文的确认消息的报文。
目标传输层代理网元根据第二上下文将第一上行TCP报文封装成第一上行MPTCP报文,并将所述第一上行MPTCP报文在第四传输层连接上发送至所述第二应用服务器。
目标传输层代理网元根据目标传输层代理网元的第二上下文将第一下行MPTCP报文封装成第一下行TCP报文,并将第一行TCP报文在第三传输层连接上发送至终端设备。
可选的,目标传输层代理网元在根据第二上下文完成从源传输层代理网元发送的第一上行TCP报文和第一下行MPTCP报文后,再根据第二上下文对第二路径上的报文进行传输层处理,即再根据第二上下文对第三上行TCP报文和第三下行MPTCP报文进行传输层处理,具体请参照前述实施例的描述,在此不再赘述。
根据该实施例提供的方法,从源传输层代理网元接收第一上行TCP报文和第一下行MPTCP报文,并根据第二上下文对第一上行TCP报文和第一下行MPTCP报文进行传输层处理,该第二上下文是根据源传输层代理网元的第一上下文和第四传输层连接上下文确定的,保证源传输层代理网元的报文的传输层处理不受应用上下文迁移的影响,还能避免源传输层代理网元的报文丢包。
在一种可能的设计中,该方法还包括:目标传输层代理网元从会话管理网元接收通知消息,所述通知消息用于指示所述目标传输层代理网元启动对报文进行传输层处理,可选的,该通知消息包括所述第一上下文。
可选的,该第一上下文是源传输层代理网元发送给会话管理网元的。
在另一种可选的实施方式中,源传输层代理网元和目标传输层代理网元之间可以同步第一上下文,从而使得目标传输层代理网元获取到源传输层代理网元的第一上下文。
在一种可能的设计中,在目标传输层代理网元接收第一指示信息之前,该目标传输层代理网元根据第一上下文对第三路径上的报文进行传输层处理,并将传输层处理后的报文 在第三路径上传输。该第三路径可以是从第一路径切换到第二路径的过渡路径。该第三路径是终端设备与所述第一应用服务器之间建立的路径,第三路径包括第三传输层连接和第五传输层连接,第五传输层连接为目标传输层代理网元与第一应用服务器之间的传输层连接,第五传输层连接经过源传输层代理网元。
若接收第一应用服务器发送的第二指示信息,目标传输层代理网元停止向所述第一应用服务器发送数据,第二指示信息是第一应用服务器要启动与第二应用服务器之间的应用上下文迁移时发送的。或者,第二指示信息指示目标传输层代理网元停止向第一应用服务器发送数据,或者,第二指示信息指示第一应用服务器与第二应用服务器之间启动应用上下文迁移,等等,本申请实施例不作限定。
根据该实施例的报文传输方法,在目标传输层代理网元停止向第一应用服务器发送数据,第一应用服务器与第二应用服务器之间进行应用上下文迁移,避免应用上下文迁移时的丢包,并且将第三路径作为过渡路径,目标传输层代理网元根据第一上下文对第三路径上的报文进行传输层处理,在第一应用服务器与第二应用服务器应用上下文迁移完成之后,再启动第二路径上的报文传输,即在第二应用服务器建立第四传输层连接过程中,第一应用服务器仍然在进行报文传输,减小因应用上下文迁移所导致的传输时延。
在一种可能的设计中,该目标传输层代理网元根据第一上下文对第三路径上的报文进行传输层处理,并将传输层处理后的报文在第三路径上传输,包括:
目标传输层代理网元接收终端设备发送的第四上行TCP报文,并根据源传输层代理网元的第一上下文将第四上行TCP报文封装成第四上行MPTCP报文,并将第四上行MPTCP报文通过源传输层代理网元在第五传输层连接上发送至第一应用服务器。
目标传输层代理网元接收通过源传输层代理网元转发的第四下行MPTCP报文,并根据源传输层代理网元的第一上下文将第四下行MPTCP报文封装成第四下行TCP报文,并将第四下行TCP报文在第三传输层连接上发送至终端设备。
在一种可能的设计中,该方法还包括:目标传输层代理网元从源传输层代理网元接收第二上行TCP报文和第二下行MPTCP报文,第二上行TCP报文是源传输层代理网元接收但未发送给第一应用服务器的报文,或者,是源传输层代理网元发送给第一应用服务器但未接收到针对该上行报文的确认消息的报文,所述第二下行MPTCP报文是所述源传输层代理网元接收但未发送给所述终端设备的报文,或者,是源传输层代理网元发送给终端设备但未接收针对该下行报文的确认消息的报文。
目标传输层代理网元根据第一上下文将第二上行TCP报文封装成第二上行MPTCP报文,并将第二上行MPTCP报文通过源传输层代理网元在第五传输层连接上发送至第一应用服务器。
目标传输层代理网元根据第一上下文将第二下行MPTCP报文封装成第二下行TCP报文,并将第二下行TCP报文在所述第三传输层连接上发送至所述终端设备。
根据该实施例的报文传输方法,将源传输层代理网元的第二上行TCP报文和第二下行MPTCP报文发送至目标传输层代理网元进行传输层处理,并将传输层处理后的报文在第三路径上传输至第一应用服务器,可以避免应用上下文迁移导致的丢包。
在一种可能的设计中,第一上下文包括第一传输层连接参数和第二传输层连接参数, 第一传输层连接参数和第二传输层连接参数用于进行所述传输层处理;或者,
第一上下文包括第一传输层连接参数、第一传输状态参数、第二传输层连接参数和第二传输状态参数,第一传输层连接参数和第二传输层连接参数用于进行传输层处理,第一传输状态参数用于指示第一传输层连接的报文传输状态,第二传输状态参数用于指示第二传输层连接的报文传输状态。
第二方面,本申请实施例提供一种报文传输方法,应用于源传输层代理网元,该方法包括:若源传输层代理网元接收到第三指示信息,该源传输层代理网元停止根据源传输层代理网元的第一上下文对第一路径上的报文进行传输层处理,该第一上下文是源传输层代理网元关于第一路径上的报文传输的上下文。
第一上下文用于目标传输层代理网元建立第四传输层连接,并在目标传输层代理网元接收到第一指示信息时,根据目标传输层代理网元的第二上下文对第二路径上的报文进行传输层处理,其中,第二上下文是根据第一上下文和第四传输层连接的上下文确定,第一指示信息用于指示第一应用服务器与第二应用服务器之间的应用上下文迁移完成,其中,在应用上下文迁移时,第一应用服务器与代理网元之间停止报文传输,代理网元包括源传输层代理网元或者目标传输层代理网元;
其中,第一路径为终端设备与第一应用服务器之间建立的路径,第一路径包括第一传输层连接和第二传输层连接,第一传输层连接为源传输层代理网元与终端设备之间的传输层连接,第二传输层连接为源传输层代理网元与第一应用服务器之间的传输层连接,第二路径包括第三传输层连接和第四传输层连接,第三传输层连接为目标传输层代理网元与终端设备之间的传输层连接,第四传输层连接为目标传输层代理网元与第二应用服务器之间的传输层连接。
根据本申请实施例的方法,源传输层代理网元在接收到第三指示信息时,停止根据第一上下文对第一路径上的报文进行传输层处理,从而将对传输层处理的功能转移到目标传输层代理网元,实现第一应用服务器与第二应用服务器之间的应用上下文迁移。
在一种可能的设计中,该源传输层代理网元确定源传输层代理网元已停止对报文进行传输层处理,确定目标传输层代理网元已启动对报文进行传输层处理,向会话管理网元发送迁移完成指令,该迁移完成指令用于会话管理网元触发第一应用服务器与第二应用服务器之间进行应用上下文迁移。
实施该实施例,先让源传输层代理网元停止对报文进行传输层处理,目标传输层代理网元启动对报文进行传输层处理,然后再进行应用上下文迁移,可以降低应用上下文迁移所导致的传输时延。
在一种可能的设计中,在源传输层代理网元停止根据第一上下文对第一路径上的报文进行传输层处理之前,该源传输层代理网元还检测第三上行报文是否为上行MPTCP报文,该第三上行报文是目标传输层代理网元通过源传输层代理网元发送至第一应用服务器的上行报文。若源传输层代理网元确定第三上行报文是上行MPTCP报文,则停止对第一路径上的报文进行传输层处理。
实施该实施例,可以避免在目标传输层代理网元启动传输层处理之前,该目标传输层代理网元已经发出的报文未进行传输层处理而导致的丢包情况的发生,保证对每个报文进 行传输层处理。
在一种可能的设计中,源传输层代理网元将第一上行TCP报文和第一下行MPTCP报文发送至目标传输层代理网元进行传输层处理,第一上行TCP报文是源传输层代理网元接收但未发送给第一应用服务器的报文,或者,是源传输层代理网元发送至第一应用服务器但未接收到针对该上行报文的确认消息的报文,第一下行MPTCP报文是源传输层代理网元接收但未发送给终端设备的报文,或者,是源传输层代理网元发送给终端设备但未接收到针对该下行报文的确认消息的报文。
在一种可能的设计中,源传输层代理网元将第一上行TCP报文和第一下行MPTCP报文发送至目标传输层代理网元之前,还包括:
若源传输层代理网元接收到第四指示信息,源传输层代理网元停止向第一应用服务器发送数据,第四指示信息是第一应用服务器要启动与第二应用服务器之间的应用上下文迁移时发送的。
在进行应用上下文迁移之前,停止源传输层代理网元与第一应用服务器之间的报文传输,保证应用上下文迁移过程中不会丢包。
在一种可能的设计中,方法还包括:源传输层代理网元向会话管理网元发送第一上下文。其中,可以是需要进行应用上下文迁移时,源传输层代理网元向会话管理网元发送第一上下文,或者,可以是源传输层代理网元建立与第一应用服务器的第二传输层连接后,即向会话管理网元发送第一上下文。
第三方面,本申请实施例提供一种报文传输方法,应用于会话管理网元,该方法包括:会话管理网元确定第一应用服务器和第二应用服务器之间需要进行应用上下文迁移。
会话管理网元指示源传输层代理网元停止对报文进行传输层处理,并指示目标传输层代理网元启动对报文进行传输层处理。
可以理解的是,上述方法也可以由控制面控制执行,即控制面确定第一应用服务器和第二应用服务器之间需要进行应用上下文迁移,并指示源传输层代理网元停止对报文进行传输层处理,以及指示目标传输层代理网元启动对报文进行传输层处理,本申请实施例不作限定。
一种可能的设计中,会话管理网元指示源传输层代理网元停止对报文进行传输层处理,并指示目标传输层代理网元启动对报文进行传输层处理,包括:
会话管理网元向目标传输层代理网元发送通知消息,该通知消息用于指示目标传输层代理网元启动对报文进行传输层处理,可选的,该通知消息还可以包括源传输层代理网元的第一上下文。
会话管理网元向源传输层代理网元发送去激活指令,去激活指令用于指示源传输层代理网元停止对报文进行传输层处理。
在一种可能的设计中,会话管理网元向源传输层代理网元发送去激活指令之前,还包括:
会话管理网元接收到针对通知消息的确认指令,该确认指令用于指示目标传输层代理网元确认已启动对报文进行传输层处理。
在该实施例中,会话管理网元在确认目标传输层代理网元已经启动对报文进行传输层 处理后,才指示源传输层代理网元停止对报文进行传输层处理,保证每一个报文均进行了传输层处理。
在一种可能的设计中,方法还包括:若会话管理网元接收到源传输层代理网元发送的迁移完成指令,向第一应用服务器发送应用迁移指令,应用迁移指令用于指示第一应用服务器和第二应用服务器之间进行应用上下文迁移,迁移完成指令用于指示源传输层代理网元已停止对报文进行传输层处理,且目标传输层代理网元已启动对报文进行传输层处理。
第四方面,本申请实施例提供了一种通信装置,包括用于执行第一方面至第三方面中任一种可能实现方式中的方法的各个模块或单元。
第五方面,提供了一种通信装置,包括处理器。该处理器与存储器耦合,可用于执行存储器中的指令,以实现上述第一方面至第三方面中任一种可能实现方式中的方法。可选地,该通信装置还包括存储器。可选地,该通信装置还包括通信接口,处理器与通信接口耦合。
第六方面,提供了一种处理器,包括:输入电路、输出电路和处理电路。所述处理电路用于通过所述输入电路接收信号,并通过所述输出电路发射信号,使得所述处理器执行第一方面至第三方面中任一种可能实现方式中的方法。
在具体实现过程中,上述处理器可以为一个或多个芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本申请实施例对处理器及各种电路的具体实现方式不做限定。
第七方面,提供了一种处理装置,包括处理器和存储器。该处理器用于读取存储器中存储的指令,并可通过接收器接收信号,通过发射器发射信号,以执行第一方面至第三方面中任一种可能实现方式中的方法。
可选地,所述处理器为一个或多个,所述存储器为一个或多个。
可选地,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
应理解,相关的数据交互过程例如发送指示信息可以为从处理器输出指示信息的过程,接收指示信息可以为处理器接收指示信息的过程。具体地,处理器输出的数据可以输出给发射器,处理器接收的输入数据可以来自接收器。其中,发射器和接收器可以统称为收发器。
上述第七方面中的处理装置可以是一个或多个芯片。该处理装置中的处理器可以通过硬件来实现也可以通过软件来实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第八方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被运行时,使得计算机执行上述第一方面至第三方面中任一种可能实现方式中的方法。
第九方面,提供了一种计算机可读介质,所述计算机可读介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面至第三方面中任一种可能实现方式中的方法。
第十方面,提供了一种通信系统,包括前述源传输层代理网元、目标传输层代理网元、第一应用服务器、第二应用服务器。
可选的,该通信系统还可以包括前述会话管理网元。
可选地,该通信系统还可以包括前述中的终端设备。
第十一方面,提供了一种芯片系统,该芯片系统包括处理器和接口,处理器用于从存储器中调用并运行存储器中存储的计算机程序(也可以称为代码,或指令),以实现第一方面至第三方面中任一种可能实现方式中所涉及的功能,在一种可能的设计中,该芯片系统还包括存储器,存储器用于保存必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
附图说明
图1是本申请实施例提供的一种5G系统架构图;
图2是本申请实施例提供的一种MPTCP协议架构示意图;
图3A是本申请实施例提供的一种路径切换示意图;
图3B是本申请实施例提供的另一种路径切换示意图;
图4是本申请实施例提供的另一种路径切换示意图;
图5A是本申请实施例提供的一种报文传输方法的示意性流程图;
图5B是本申请实施例提供的另一种报文传输方法的示意性流程图;
图6是本申请实施例提供的又一种路径切换示意图;
图7是本申请实施例提供的一种报文传输方法的示意性流程图;
图8是本申请实施例提供的一种代理功能迁移的示意性流程图;
图9是本申请实施例提供的另一种代理功能迁移的示意性流程图;
图10是本申请实施例提供的一种报文传输方法的示意性流程图;
图11是本申请实施例提供的一种代理功能迁移的示意性流程图;
图12是本申请实施例提供的另一种代理功能迁移的示意性流程图;
图13是本申请实施例提供的一种连接建立示意图;
图14是本申请实施例提供的一种上行报文传输示意图;
图15是本申请实施例提供的一种下行报文传输示意图;
图16是本申请实施例提供的一种连接建立示意图;
图17是本申请实施例提供的一种上行报文传输示意图;
图18是本申请实施例提供的一种下行报文传输示意图;
图19是本申请实施例提供的通信装置的示意性框图;
图20是本申请实施例提供的终端设备的结构示意图;
图21是本申请实施例提供的另一通信装置的示意性框图。
具体实施方式
首先,在描述本申请实施例之前,对本申请实施例涉及的名称或术语进行介绍。
本申请实施例的技术方案可以应用于各种通信系统,例如:长期演进(long term evolution,LTE)系统、通用移动通信系统(universal mobile telecommunication system,UMTS)、第五代(5th generation,5G)系统、新无线(new radio,NR)以及随着技术的发展出现的其他新的系统等。
图1示出了一种可以应用于本申请的5G系统的示意图。如图1所示,该系统可以分为接入网和核心网两部分。接入网用于实现无线接入有关的功能,主要包括无线接入网络(radio access network,RAN)设备102。核心网主要包括以下几个关键逻辑网元:用户面功能(user plane function)103、接入和移动管理功能(access and mobility management function,AMF)105、会话管理功能(session management function)106、策略控制功能(policy control function,PCF)107、统一数据管理功能(unified data management)109。该系统100还可以包括用户设备(user equipment,UE)101、数据网络(data network,DN)104和应用功能(application function,AF)108。各网元之间的接口如图1中所示。应理解,网元之间还可以采用服务化接口进行通信。
UE,也可以称为终端设备。终端设备可以经RAN设备与一个或多个核心网(core network,CN)进行通信。终端设备可称为接入终端、终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、无线网络设备、用户代理或用户装置。终端可以是蜂窝电话、无绳电话、会话启动协议(session initiation protocol,SIP)电话、无线本地环路(wireless localloop,WLL)站、个人数字处理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它设备、车载设备、可穿戴设备或物联网、车辆网中的终端设备以及未来网络中的任意形态的终端设备等。
RAN设备,是一种将终端设备接入到无线网络的设备,具体可以为基站。基站可以包括各种形式的基站,例如:宏基站,微基站(也称为小站),中继站,接入点等。具体可以为:无线局域网(wireless local area network,WLAN)中的接入点(access point,AP),全球移动通信系统(global system for mobile communications,GSM)或码分多址接入(code division multiple access,CDMA)中的基站(base transceiver station,BTS),也可以是宽带码分多址(wideband code division multiple access,WCDMA)中的基站(NodeB,NB),还可以是LTE中的演进型基站(Evolved Node B,eNB或eNodeB),或者中继站或接入点,或者车载设备、可穿戴设备以及5G系统中的下一代节点B(the next generation Node B,gNB)或者未来演进的公用陆地移动网(public land mobile network,PLMN)网络中的基站等。为方便描述,本申请所有实施例中,将RAN设备统称为基站。
UDM,具备管理用户的签约数据,生成用户的认证信息等功能。
AMF,主要负责UE的注册管理、UE的连接管理、UE的可达性管理、UE的接入授权和接入鉴权、UE的安全功能,UE的移动性管理,网络切片(network slice)选择,SMF选择等功能。AMF作为N1/N2接口信令连接的锚点并为SMF提供N1/N2接口会话管理 (session management,SM)消息的路由,维护和管理UE的状态信息。
SMF,主要负责UE会话管理的所有控制面功能,包括UPF的选择与控制,网络互连协议(internet protocol,IP)地址分配及管理,会话的服务质量(quality of service,QoS)管理,从PCF获取策略与计费控制(policy and charging control,PCC)策略等。SMF还作为非接入层(non-access stratum,NAS)消息中SM部分的终结点。
PCF,具备向控制面功能实体提供策略规则等功能。
AF,可以是应用服务器,其可以属于运营商,也可以属于第三方。
UPF,主要负责对用户报文进行处理,如转发、计费等,可以作为协议数据单元(protocol data unit,PDU)会话(session)连接的锚定点,即PDU会话锚点(PDU session anchor,PSA),负责对UE的数据报文过滤、数据传输/转发、速率控制、生成计费信息、用户面QoS处理、上行传输认证、传输等级验证、下行数据包缓存及下行数据通知触发等。UPF还可以作为多宿主(multi-homed)PDU会话的分支点。
DN,为用户提供数据传输服务的网络,例如,IP多媒体业务(IP Multi-media service,IMS)、互联网等。DN中可以包括应用服务器(application server,AS),AS是一种软件框架,提供一个应用程序运行的环境,用于为应用程序提供安全、数据、事务支持、负载平衡大型分布式系统管理等服务。UE通过与AS通信获取应用报文。需要说明的是,上述AF为AS的控制面。
应理解,本申请实施例并不限定只应用于图1所示的系统架构中。例如,可以应用本申请实施例的通信方法的通信系统中可以包括更多或更少的网元或设备。图1中的设备或网元可以是硬件,也可以是从功能上划分的软件或者以上二者的结合。图1中的设备或网元之间可以通过其他设备或网元通信。
在详细介绍本申请的方法之前,首先对本申请涉及的一些概念作简单介绍。
在后续阐述中,为了便于理解,本申请实施例以源传输层代理网元为源PSA(Source PSA,S-PSA),目标传输层代理网元为目标PSA(target PSA,T-PSA),第一应用服务器为源应用服务器(source AS,S-AS),第二应用服务器为目标AS(target AS,T-AS)为例进行说明。
1、传输控制协议(transmission control protocol,TCP)
TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP为了保证报文传输的可靠性,给每个包一个序号,同时序号也保证了传送到接收端的包的按序接收。接收端对已成功收到的字节发回一个相应的确认(acknowledgement,ACK),如果发送端在合理的往返时延(round-trip time,RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。
以客户端和服务器之间建立TCP连接为例,对建立TCP连接的流程进行说明。
客户端和服务器基于TCP的三次握手过程建立TCP连接:
(1)客户端向服务器发送TCP同步序列编号(synchronize sequence numbers,SYN)消息,等待服务器确认;
(2)服务器收到TCP SYN消息,回复SYN+ACK消息;
(3)客户端收到SYN+ACK消息,回复另一ACK消息,用来确认已经收到SYN+ACK消息。
2、多径TCP(Multipath TCP,MPTCP)
MPTCP是用于进行多径传输的多径TCP协议,其核心思想是在应用层和传输层之间加入支持多路径传输的Multipath TCP层,以实现多路径传输。
以客户端向服务器发送数据为例,如图2所示,客户端的Multipath TCP层可以将应用层传输的数据分为多个MPTCP子流,不同MPTCP子流通过不同网络接口发送至服务器,服务器将不同的MTCP子流在MPTCP层进行汇聚后递交至应用层,从而实现客户端和服务器之间的多路径传输。
MPTCP提供这样一种机制:MPTCP子流1(Subflow1)发送失败的数据可以在MPTCP子流2(Subflow2)上重传,以保证数据成功到达,MPTCP的数据队列映射允许发送端在不同的子流上以相同的数据序列号重传数据。
客户端和服务器之间基于MPTCP三次握手过程建立MPTCP连接:
(1)客户端向服务器端发送一个TCP SYN消息,在MPTCP选项字段里包含了一个MP_CAPABLE选项,该选项中包括客户端的会话秘钥(Key);
(2)如果服务器支持MPTCP,会返回一个SYN+ACK消息,同样在MPTCP选项字段里包含一个MP_CAPABLE选项,该选项携带服务器端的Key。后续把携带了MP_CAPABLE选项的SYN+ACK消息简称为MPTCP SYN+ACK消息,没有携带MP_CAPABLE选项的SYN+ACK消息,称为TCP SYN+ACK消息。
(3)客户端返回ACK消息,在MPTCP选项字段里包含一个MP_CAPABLE选项,该选项携带客户端的Key和服务器端的Key。后续把携带了MP_CAPABLE选项的ACK消息简称为MPTCP ACK消息,没有携带MP_CAPABLE选项的ACK消息,称为TCP ACK消息。
会话秘钥Key用于客户端和服务器端各自生成一个用来标识客户端和服务器之间的MPTCP会话的令牌(token)。
会话秘钥Key还用于客户端和服务器端生成32位哈希共享秘钥,即基于哈希算法的消息验证码(Hash-based message authentication code,HMAC),以便作为在该MPTCP会话上建立新的连接的时候客户端和服务器端作为鉴权信息进行验证。因此,在三次握手之后,通信两端都得到了对方的MPTCP会话数据。
3、MPTCP子流的建立:
主机通过信息交流能够获得双方的IP地址信息,通过未用的地址对建立新的子流。理论上支持通信的任何一方都能在现有的连接上首先请求建立新子流,但最好能在连接建立的请求端开始。新子流通过发送通用TCP的SYN/ACK包建立,包中包括加入连接TCP选项(MP_JOIN),使用MP_CAPABLE中的验证码来识别子流加入的连接的合法性,在MP_JOIN握手过程中会协商加密策略。
MPTCP子流建立的具体流程如下:
(1)主机A使用新地址向对端主机B发送SYN包,该SYN包携带了MP_JOIN选项, MP_JOIN选项中含有Token-B,Token-B的作用是告诉主机B要在哪个MPTCP连接上建立新的子流;
(2)对端主机B向主机A发送SYN/ACK包携带了MP_JOIN选项,MP_JOIN选项含有HMAC-B,HMAC-B是B的鉴权信息;
(3)主机A向对端主机发送ACK包,该ACK包携带了MP_JOIN选项,MP_JOIN选项含有HMAC-A,HMAC-A是A的鉴权信息。
4、关闭MPTCP连接:
只有当某条子流的发送端和接收端都相互确认对方的FIN后,该子流才能被彻底关闭。MPTCP为了子流可以独立工作和向后兼容标准TCP,每个FIN只会影响到发送该FIN包的某条子流,FIN只能关闭特定的子流。
当应用层调用套接字上的close()函数时,表明应用程序没有数据再需要发送,标准TCP中这时候会产生一个FIN包来关闭连接,MPTCP则使用DATA_FIN来完成相同的功能,DATA_FIN不但可以代表没有数据再发送,还可以证明在它之前发送的所有数据都被接收端成功接收。DATA_FIN与标准TCP的FIN具有相同的语义和行为,只是它的作用域是在MPTCP连接级,发送DATA_FIN后,将关闭整个MPTCP连接,但只有在所有数据均被成功接收后才会被DATA_ACK确认,一旦一个DATA_FIN被确认,所有子流必须被断开。
5、地址删除:
在MPTCP连接的生命周期内,如果某个IP地址突然不可用,则此IP的主机应该向对端发送一个REMOVE_ADDR选项,告知对端某个IP地址不可用,从而将不可用的IP地址从MPTCP连接中删除,当一个IP地址被删除后,跟此IP地址相关联的任何MPTCP子流都被断开。
6、地址增加:
地址增加的目的是将可用的IP-[port]告诉给通信对端。例如,Host A通过DNS过程可以获取Host B的IP-B1地址,但是并不知道Host B另一个接口的IP-B2,那么当Host A与IP-B1之间建立完MPTCP子流之后,Host B可以将另一个IP地址IP-B2通知给Host A(ADD_ADDR),以便Host A可以与IP-B2之间建立新的MPTCP子流。
注意:当Host B将IP-B2告诉给Host A之后,并不意味着Host A马上就向IP-B2发起MPTCP子流建立过程。
ADD_ADDR增加的通常是一个global IP,否则可能会导致子流建立过程中IP地址不可达。新建MPTCP子流的发起方所使用的对端IP地址可以通过ADD_ADDR消息或者其他方式获得。
7、传输层代理功能:
传输层代理功能是传输层代理网元(本申请实施例的目标传输层代理网元或者源传输层代理网元)对报文进行传输层处理的功能,传输层代理网元可以是用户面网元,传输层代理网元负责在上游传输层连接和下游传输层连接之间交换数据,需要维护上下游传输层连接状态之间的关联关系,具体的,上下游传输层连接可以是基于不同的传输层协议,比如TCP和MPTCP,此时,传输层处理可以是将一种传输协议的报文处理为另一种传输协议的报文。例如,将TCP报文封装为MPTCP报文,或者,将MPTCP报文解封装为TCP 报文等等。
8、传输层代理功能迁移:
本申请实施例中源传输层代理网元将传输层代理功能迁移到目标传输层代理网元是指,源传输层代理网元停止对报文进行传输层处理,而目标传输层代理网元启动对报文进行传输层处理,其中目标传输层代理网元对报文进行传输层处理的上下文可以是根据源传输层代理网元对报文进行传输层处理的上下文确定的。
在通信系统中,当UE从原来的基站的覆盖范围移动至当前基站的覆盖范围时,会触发空口的切换,即将UE的基站从原来的基站切换到当前的基站。虽然UE的位置发生了变化,但是此时UE仍然接入的是原来的用户面网元,而实际上此时离UE最近的用户面网元可能已经发生了变化,但是UE仍然与原来的用户面网元进行报文的传输,这种情况下传输路径较长,相应地,报文的传输时延就会变大。为了降低报文的传输时延,有必要将传输路径从原来的用户面网元切换到新的用户面网元,也就是说,要进行PSA切换。
图3A示出了PSA切换场景示意图。如图3A所示,S-AS(第一应用服务器)和T-AS(第二应用服务器)可以提供相同的应用服务。当UE从基站1的覆盖范围移动到基站2的覆盖范围时,首先会触发空口切换,切换前用户面数据通过路径A传输,空口切换后用户面数据通过路径B传输。但此时UE通过基站2接入用户面锚点S-PSA,用户面传输路径存在迂回,路径时延增大。对于一些低时延业务,比如在5ms时延需求的典型场景下,如果此时不将锚点从S-PSA切换为T-PSA,即将用户面传输路径从路径B切换到路径C,仍然采用路径B的话,在UE继续移动的情况下,路径B的时延会进一步增大,导致无法满足5ms的时延需求。为此,需要将用户面传输路径从路径B切换到路径C,而要实现路径B切换到路径C,不仅需要进行传输层代理功能迁移(即S-PSA停止对报文进行传输层处理,T-PSA启动对报文进行传输层处理),还需要S-AS与T-AS之间进行应用上下文迁移,本申请实施例提供的报文传输方法,可以实现路径切换和应用上下文切换的无缝对接,避免丢包。
其中,上述PSA切换可以通过上行分类器(uplink classifier,UL CL)实现。
UL CL是指:SMF可以在为原PDU会话新增一个新的PSA UPF,同时在原PDU会话的数据传输路径中插入一个UL CL。"UL CL"功能由UPF提供,其目的是将满足业务过滤规则的数据包转发到指定的路径去。当一个具备"UL CL"功能的UPF被插入到一条PDU会话数据通道时,这个PDU会话就可以通过多个PSA,提供接入到同一个DN的多条不同的路径。"UL CL"的功能是传输上行数据到不同的PDU会话锚点中,将下行数据合并传输到UE。一种常见的场景是具有UL CL功能的UPF和新增的锚点UPF合设,即新增的PSA UPF同时具有UL CL的功能。如图3B,UE空口切换完成后,SMF插入新的锚点UPF T-PSA,同时T-PSA还作为UL CL,随后用户面数据路径变为路径B’。
下面结合附图4对图3B的路径切换作进一步阐述,图4中的第一路径是在图3B中的路径B’,图4中的第二路径即是图3B中的路径C。
如图4所示,UE通过基站1建立与S-PSA之间的会话,即该会话的数据传输路径为图4中的虚线所示路径A。UE移动后进行空口切换,用户面数据传输路径从图4中的路径 A切换到路径B,SMF检测到UE移动需要切换PSA,选择T-PSA作为新增的PSA,并将T-PSA作为ULCL插入到用户面传输路径中,使得用户面数据传输路径从图4中的路径B切换到第一路径。S-PSA对第一路径上的报文进行传输层处理,此时,用户面传输路径存在迂回,路径时延增大。需要进一步从第一路径切换到第二路径,其中,路径切换时,对于有状态的应用,需要将终端的应用上下文从S-AS迁移至T-AS,若应用上下文迁移与路径切换之间不进行协同,则会出现丢包。例如,在将报文的传输路径从第一路径切换至第二路径的过程中,在第一路径上正在传输的报文有可能由于路径切换操作导致丢失,这样会造成丢包率较高,从而导致传输性能较差。
本申请实施例提供一种报文传输方法,可以实现路径切换和应用上下文迁移之间的无缝对接,避免丢包。下面具体阐述。
下面,结合上文所描述的概念,对申请提供的方法进行说明。
如图3B所示,UE移动需要切换PSA,因此将目标传输层代理网元(T-PSA)作为ULCL插入到用户面传输路径中,即报文传输路径为图3B中的路径B’,此时路径存在迂回,需要从路径B’切换到路径C。而从路径B’切换到路径C需要第一应用服务器(S-AS)与第二应用服务器(T-AS)之间进行应用上下文迁移,下面结合图5A和图5B对路径切换和应用上下文迁移之间的相互配合作具体阐述,从而避免丢包。
如图5A所示,该方法可以包括但不限于S410至S440,以下对各步骤进行说明,需要说明的是,各个步骤之间不限定执行的先后顺序。
S410,当源传输层代理网元接收到第三指示信息,所述源传输层代理网元停止根据所述源传输层代理网元的第一上下文对第一路径上的报文进行传输层处理,所述第一上下文是所述源传输层代理网元关于第一路径上的报文传输的上下文;
如图4所示,第一路径为终端设备(UE)与第一应用服务器(S-AS)之间建立的路径,所述第一路径包括第一传输层连接和第二传输层连接,所述第一传输层连接为所述源传输层代理网元(S-PSA)与所述终端设备之间的传输层连接,所述第二传输层连接为所述源传输层代理网元(S-PSA)与所述第一应用服务器(S-AS)之间的传输层连接。
其中,SMF检测到终端设备移动需要切换PSA,因此将目标传输层代理网元作为ULCL插入到用户面传输路径中,目标传输层代理网元只转发第一路径上的报文,而不对第一路径上的报文进行传输层处理,即此时目标传输层代理网元的传输层代理功能还未被激活。源传输层代理网元根据第一上下文对第一路径上的报文进行传输层处理,即源传输层代理网元从目标传输层代理网元接收从终端设备发出的上行报文,并根据第一上下文对该上行报文进行传输层处理,然后将进行传输层处理后的上行报文发送至第一应用服务器,或者,源传输层代理网元从第一应用服务器接收发送给终端设备的下行报文,并根据第一上下文对该下行报文进行传输层处理,然后将进行传输层处理后的下行报文通过目标传输层代理网元发送给终端设备。
第一上下文包括第一传输层连接参数和第二传输层连接参数,第一传输层连接参数和第二传输层连接参数用于源传输层代理网元对第一路径上的报文进行传输层处理。或者,第一上下文包括第一传输层连接参数、第一传输状态参数、第二传输层连接参数和第二传 输状态,第一传输层连接参数和第二传输层连接参数用于进行传输层处理,第一传输状态参数用于指示第一传输层连接的报文传输状态,第二传输状态参数用于指示第二传输层连接的报文传输状态。可选的,第一传输层连接参数和第二传输层连接参数,该第一传输层连接参数和第二传输层连接参数包括但不限于:UE的IP地址与端口号,第二传输层连接的本地IP地址与端口号,Server1的IP地址与端口号;第二传输层连接的两端(S-PSA和Server1)的Key信息、哈希加密算法信息(如采用HMAC-SHA256加密算法),针对特定的业务数据流(service data flow,SDF),数据序列号(data sequence number,DSN)和子流序列号(subflow sequence number,SSN)之间的映射关系、初始子流序列号(initial subflow sequence number,ISSN),第一传输层连接的TCP序列号和SSN的映射关系等与时序无关的信息。关于HMAC-SHA256、DSN、SSN和ISSN等的详细内容,可以参照现有技术。可选的,第一传输状态参数可以是图9和图12中TCP连接的上下行报文已发送序号以及TCP连接的上下行报文的ACK已发送序号,第二传输状态参数可以是图9和图12中MPTCP连接的上下行报文已发送序号以及MPTCP连接上下行报文的ACK已发送序号。具体请参照后续实施例的描述,暂不赘述。
可选的,第一传输层连接可以是TCP连接,第二传输层连接可以是MPTCP连接,则传输层处理可以包括将上行TCP报文封装为MPTCP报文,将下行MPTCP报文解封装为TCP报文。
当源传输层代理网元接收到第三指示信息,所述源传输层代理网元停止根据所述源传输层代理网元的第一上下文对第一路径上的报文进行传输层处理。可选的,源传输层代理网元停止进行传输层处理之前,可以是在确认目标传输层代理网元已启动对报文进行传输层处理后执行的。
第一种可选的实施方式,源传输层代理网元停止对报文进行传输层处理,目标传输层代理网元启动对报文进行传输层处理后,目标传输层代理网元可以继续根据源传输层代理网元的第一上下文对第三路径上的报文进行传输层处理,并将传输层处理后的报文在第三路径上传输。如图6所示,第三路径仍然是终端设备与第一应用服务器之间的报文传输路径,但是,第三路径不同于第一路径的是,目标传输层代理网元对第三路径上的报文进行传输层处理,而第一路径是源传输层代理网元对第一路径上的报文进行传输层处理。第三路径可以包括第三传输层连接和第五传输层连接,第三传输层连接是终端设备与目标传输层代理网元之间的传输层连接,第五传输层连接是目标传输层代理网元与第一应用服务器之间的传输层连接。其中,第五传输层连接经过源传输层代理网元,即目标传输层代理网元将终端设备发送的上行报文进行传输层处理后,将进行传输层处理后的上行报文通过源传输层代理网元在第五传输层连接上发送给第一应用服务器。或者,目标传输层代理网元从源传输层代理网元接收第一应用服务器在第五传输层连接上发送的下行报文,并对该下行报文进行传输层处理后,将进行传输层处理后的下行报文在第三传输层连接上发送给终端设备。
可选的,在源传输层代理网元停止进行传输层处理时,会存在该源传输层代理网元缓存的第二上行报文,和/或,该源传输层代理网元缓存的第二下行报文,该第二上行报文是该源传输层代理网元接收但未发送给第一应用服务器的报文,和/或,该第二上行报文是该 源传输层代理网元发送给第一应用服务器,但未接收到该第一应用服务器针对该第二上行报文返回的确认消息的报文,该第二下行报文是该源传输层代理网元接收但未发送给终端设备的报文,和/或,该第二下行报文是该源传输层代理网元发送给终端设备,但未收到该终端设备针对该第二下行报文返回的确认消息的报文。源传输层代理网元会将该第二上行报文和/或第二下行报文发送给目标传输层代理网元,目标传输层代理网元根据源传输层代理网元的第一上下文对第二上行报文和/或第二下行报文进行传输层处理,将进行传输层处理后的第二下行报文在第三传输连接上发送给终端设备,以及,将进行传输层处理后的第二上行报文在第五传输连接上发送给第一应用服务器。
可选的,第三传输层连接可以是TCP连接,第五传输层连接可以是MPTCP连接,则目标传输层代理网元对源传输层代理网元发送过来的上下行报文进行传输层处理可以包括:将第二上行TCP报文封装为第二MPTCP报文,并将第二MPTCP报文在第五传输层连接上发送给第一应用服务器。将第二下行MPTCP报文解封装为第二TCP报文,并将第二TCP报文在第三传输层连接上发送给终端设备。
其中,在第一应用服务器要与第二应用服务器进行应用上下文迁移时,第一应用服务器停止与目标传输层代理网元之间进行报文传输。具体可选的,当目标传输层代理网元接收到第一应用服务器发送的第二指示信息,该目标传输层代理网元停止向第一应用服务器发送数据,该第二指示信息是第一应用服务器要启动与第二应用服务器之间的应用上下文迁移时发送的,一种可选的实施方式,该第二指示信息还可以指示目标传输层代理网元停止向第一应用服务器发送数据,或者,另一种可选的实施方式,该第二指示信息指示目标传输层代理网元第一应用服务器已经停止向目标传输层代理网元发送数据,或者,另一种可选的实施方式,该第二指示信息还可以指示第一应用服务器与第二应用服务器之间启动应用上下文迁移。
在目标传输层代理网元接收到第一指示信息,用于指示第一应用服务器与第二应用服务器之间的应用上下文迁移完成后,才根据目标传输层代理网元的第二上下文对第二路径上的报文进行传输层处理,并将进行传输层处理后的报文在第二路径上传输,具体请参照步骤S440的描述,在此暂不赘述。
通过第一种可选的实施方式,将第三路径作为过渡路径,通过该第三路径启动目标传输层代理网元对报文进行传输层处理,并停止源传输层代理网元对报文进行传输层处理的,然后再进行应用上下文迁移,从而实现路径切换和应用上下文迁移无缝对接,避免丢包。
第二种可选的实施方式,该种实施方式中不存在第一种可选的实施方式中所提及的第三路径,直接从第一路径切换到第二路径,第二路径包括第三传输层连接和第四传输层连接,第三传输层连接是终端设备与目标传输层代理网元之间的传输层连接,第四传输层连接是目标传输层代理网元与第二应用服务器之间的传输层连接。具体可选的,在第一应用服务器与第二应用服务器之间进行应用上下文迁移之前,源传输层代理网元停止与第一应用服务器之间的报文传输。第一应用服务器与第二应用服务器之间进行应用上下文迁移,源传输层代理网元停止对报文进行传输层处理,目标传输层代理网元启动对报文进行传输层处理。
其中,源传输层代理网元停止与第一应用服务器之间的报文传输时,会存在该源传输 层代理网元缓存的第一上行报文,和/或,该源传输层代理网元缓存的第一下行报文,该第一上行报文是该源传输层代理网元接收但未发送给第一应用服务器的报文,和/或,该第一上行报文是该源传输层代理网元发送给第一应用服务器,但未接收到该第一应用服务器针对该第一上行报文返回的确认消息的报文,该第一下行报文是该源传输层代理网元接收但未发送给终端设备的报文,和/或,该第一下行报文是该源传输层代理网元发送给终端设备,但未收到该终端设备针对该第一下行报文返回的确认消息的报文。源传输层代理网元会将该第一上行报文和/或第一下行报文发送给目标传输层代理网元,目标传输层代理网元根据目标传输层代理网元的第二上下文对该第一上行报文和/或第一下行报文进行传输层处理,并将进行传输层处理后的第一下行报文在第三传输层连接上发送给终端设备,以及,将进行传输层处理后的第一上行报文在第四传输层连接上发送给第二应用服务器。
可选的,第三传输层连接可以是TCP连接,第四传输层连接可以是MPTCP连接,则目标传输层代理网元对源传输层代理网元发送过来的上下行报文进行传输层处理可以包括:将第一上行TCP报文封装为第一MPTCP报文,并将第一MPTCP报文在第四传输层连接上发送给第二应用服务器。将第一下行MPTCP报文解封装为第一TCP报文,并将第一TCP报文在第三传输层连接上发送给终端设备。
其中,目标传输层代理网元根据第二上下文对报文进行传输层处理以及将传输层处理后的报文在第二路径上传输的具体过程请具体请参照步骤S440的描述,在此暂不赘述。
通过第二种可选的实施方式,在进行第一应用服务器与第二应用服务器的应用上下文迁移之前,源传输层代理网元停止与第一应用服务器之间的报文传输,并且源传输层使得并将传输层处理后的报文在第二路径上传输,从而实现应用上下文迁移和路径切换的无缝对接,避免丢包。
S420,目标传输层代理网元获取第一上下文;
可选的,目标传输层代理网元可以通过会话管理网元获取源传输层代理网元的第一上下文,即源传输层代理网元将第一上下文发送给会话管理网元,会话管理网元再发送给目标传输层代理网元。或者,目标传输层代理网元与源传输层代理网元之间同步第一上下文,从而使得目标传输层代理网元获取到源传输层代理网元关于第一路径上的报文传输的第一上下文。具体的,在第一路径建立完成后,源传输层代理网元可以直接将所述第一上下文发送给目标传输层代理网元。比如,在会话管理网元检测到UE移动需要切换PSA后,会话管理网元在源传输层代理网元和目标传输层代理网元之间建立用户面隧道,源传输层代理网元通过该用户面隧道向目标传输层代理网元传输所述第一上下文。
可选的,所述第一上下文包括第一传输层连接参数和第二传输层连接参数,所述第一传输层连接参数和所述第二传输层连接参数用于进行传输层处理。或者,
第一上下文包括第一传输层连接参数、第一传输状态参数、第二传输层连接参数和第二传输状态参数,第一传输层连接参数和第二传输层连接参数用于进行传输层处理,第一传输状态参数用于指示第一传输层连接的报文传输状态,第二传输状态参数用于指示第二传输层连接的报文传输状态。
S430,目标传输层代理网元根据源传输层代理网元的第一上下文建立第四传输层连接,所述第一上下文是所述源传输层代理网元关于第一路径上的报文传输的上下文;
在一个实施例中,第一上下文中的第二传输层连接参数还可以用于建立目标传输层代理网元与第二应用服务器之间的第四传输层连接。第二传输层连接和第四传输层连接均为MPTCP连接,其中,第二传输层连接和第四传输层连接可以属于同一个MPTCP会话。例如,第二传输层连接和第四传输层连接可以是同一个MPTCP会话的不同MPTCP子流。由于第二传输层连接和第四传输层连接是同一个MPTCP会话的不同MPTCP子流,依据MPTCP现有机制,MPTCP会话的端点可以对不同子流上的报文进行合并和排序,则可以避免报文乱序问题。
目标传输层代理网元可以根据以下信息中的全部信息或者部分信息建立第四传输层连接,以下信息包括:MPTCP连接的本地(即传输层代理网元)IP地址与端口号,Server1的IP地址(IP1)与端口号;MPTCP连接两端的Key信息、哈希加密算法信息(如采用HMAC-SHA256加密算法),针对特定的SDF,DSN和SSN之间的映射关系、ISSN等与时序无关的信息。关于HMAC-SHA256、DSN、SSN和ISSN等的详细内容,可以参照现有技术。。
需要说明的是,在目标传输层代理网元与第二应用服务器之间建立第四传输层连接之前,第二应用服务器与第一应用服务器之间需要进行MPTCP连接的上下文同步,MPTCP连接的上下文可以包括:目标传输层代理网元侧和第一应用服务器侧的key信息,哈希加密算法等等。该MPTCP连接的上下文用于第二应用服务器与目标传输层代理网元之间建立第四传输层连接。
进一步可选的,目标传输层代理网元在与第二应用服务器之间建立第四传输层连接之前还需要获取第二应用服务器的地址,从而与第二应用服务器之间建立第四传输层连接。目标传输层代理网元可以从会话管理网元获取第二应用服务器的地址,或者,也可以从第一应用服务器中通过地址增加的方式获取到第二应用服务器的地址,例如通过TCP ADD_ADDR消息从第一应用服务器中获取到。
S440,若所述目标传输层代理网元接收到第一指示信息,所述第一指示信息用于指示第一应用服务器与第二应用服务器之间的应用上下文迁移完成,所述目标传输层代理网元根据所述目标传输层代理网元的第二上下文对第二路径上的报文进行传输层处理,并将传输层处理后的报文在所述第二路径上传输,所述第二上下文是根据所述第一上下文和所述第四传输层连接的上下文确定,其中,在所述应用上下文迁移时,所述第一应用服务器与传输层代理网元之间停止报文传输,所述传输层代理网元包括所述源传输层代理网元或者所述目标传输层代理网元。
在一个实施例中,当目标传输层代理网元接收到第一指示信息时,即可以根据第二上下文对第二路径上的报文进行传输层处理。可选的,在根据第二上下文对第二路径上的报文进行传输层处理之前,目标传输层代理网元从源传输层代理网元接收该源传输层代理网元缓存的上下行报文,进一步根据第二上下文对该上下行报文进行传输层处理,并将进行传输层处理后的上下行报文在第二路径上传输。具体请参照上述第二种可选的实施方式中的描述,在此不再赘述。
其中,第二上下文是根据第一上下文和第四传输层连接的上下文确定,第四传输层连接的上下文包括但不限于,第二应用服务器的IP地址和端口号,以及第四传输层连接上的 TCP序列号和SSN的映射关系,DSN和SSN的映射关系等等。
可以理解的是,上述以会话管理网元指示源传输层代理网元停止对报文进行传输层处理,以会话管理网元指示目标传输层代理网元启动对报文进行传输层处理。
基于图5A的报文传输方法,其中,可以是由会话管理网元指示源传输层代理网元停止对报文进行传输层处理,以及由会话管理网元指示目标传输层代理网元启动对报文进行传输层处理,具体请参照图5B实施例的描述。
如图5B所示,为本申请实施例提供的另一种可选的报文传输方法示意图,如图所示,该方法包括但不限于以下步骤:
S401、会话管理网元确定需要进行第一应用服务器和第二应用服务器之间的应用上下文迁移;
其中,会话管理网元可以是通过检测终端移动确定需要进行第一应用服务器和第二应用服务器之间的应用上下文迁移,具体的,SMF首先检测到终端设备移动需要更换锚点用户面网元,具体的,可以是SMF根据终端设备空口切换后的位置信息确定终端设备需要更换锚点用户面网元;随后SMF向AF发送用户面锚点变化通知或数据网络接入点标识(data network access identifier,DNAI)变化通知消息,通知消息中携带目标DNAI的标识,可选的,还携带终端的标识;AF收到SMF发送的用户面锚点变化通知或DNAI变化通知后,指示SMF需要进行应用服务器之间的上下文迁移。
S402、会话管理网元向目标传输层代理网元指示启动对报文进行传输层处理;
在一个实施例中,会话管理网元可以向目标传输层代理网元发送通知消息,该通知消息用于指示目标传输层代理网元启动对报文进行传输层处理,可选的,该通知消息还可以包括源传输层代理网元关于第一路径上的报文传输的第一上下文,以便于目标传输层代理网元可以根据该第一上下文建立第四传输层连接,以及根据该第一上下文和第四传输层连接,生成第二上下文,或者目标传输层代理网元可以根据该第一上下文对第三路径上的报文进行传输层处理,具体请参照图5A实施例的描述,在此不再赘述。
S403、会话管理网元向源传输层代理网元指示停止对报文进行传输层处理。
在一个实施例中,会话管理网元可以向源传输层代理网元发送去激活指令,该去激活指令用于指示源传输层代理网元停止对报文进行传输层处理。本申请实施例S404中的第三指示信息可以是该去激活指令。
S404、若源传输层代理网元接收到第三指示信息,所述源传输层代理网元停止根据所述源传输层代理网元的第一上下文对第一路径上的报文进行传输层处理,所述第一上下文是所述源传输层代理网元关于第一路径上的报文传输的上下文;
S405、目标传输层代理网元获取第一上下文;
S406、目标传输层代理网元根据源传输层代理网元的第一上下文建立第四传输层连接,所述第一上下文是所述源传输层代理网元关于第一路径上的报文传输的上下文;
S407、若所述目标传输层代理网元接收到第一指示信息,所述第一指示信息用于指示第一应用服务器与第二应用服务器之间的应用上下文迁移完成,所述目标传输层代理网元根据所述目标传输层代理网元的第二上下文对第二路径上的报文进行传输层处理,并将传输层处理后的报文在所述第二路径上传输,所述第二上下文是根据所述第一上下文和所述 第四传输层连接的上下文确定,其中,在所述应用上下文迁移时,所述第一应用服务器与传输层代理网元之间停止报文传输,所述传输层代理网元包括所述源传输层代理网元或者所述目标传输层代理网元。
其中,步骤S404至步骤S407请参照图5A实施例的描述,在此不再赘述。
结合图7至图18,对图5A和图5B所示的方法进行更详细的介绍。为便于理解,图7至图18中,以会话管理网元为SMF,源传输层代理网元为源PSA(Source PSA,S-PSA),目标传输层代理网元为目标PSA(target PSA,T-PSA),第一应用服务器为Server1,第二应用服务器为Server2为例进行说明。在后续实施例中,将“启动T-PSA对报文进行传输层处理”称为启动传输层代理功能,将“停止S-PSA对报文进行传输层处理”称为停止执行传输层代理功能,T-PSA启动传输层代理功能,S-PSA停止执行传输层代理功能,称为传输层代理功能迁移。
后续实施例中所提及的针对特定的SDF是指针对满足业务过滤规则的报文。
其中,将UE与服务器间的TCP/IP连接分为两部分:UE和PSA之间是普通TCP连接,PSA和server之间是MPTCP连接,比如可以是建立的一个MPTCP子流。具体可选的,UE与S-PSA之间为TCP连接,S-PSA与Server1之间为MPTCP连接(比如MPTCP子流1),UE与T-PSA之间为TCP连接,T-PSA与Server1之间为MPTCP连接(比如MPTCP子流1),T-PSA与server2之间为MPTCP连接(比如MPTCP子流2)。
为了便于理解,下面结合附图13-附图18先对上述建立TCP连接以及MPTCP连接进行介绍,其中,以UE建立与S-PSA之间的TCP连接,以及S-PSA建立与Server1之间的MPTCP连接作为举例说明,包括两种可选的实施方式:
第一种可选的实施方式,请参照图13,建立TCP连接和MPTCP连接的方式包括但不限于步骤0-步骤7:
步骤0、SMF给S-PSA下发转发规则,包括指示S-PSA针对特定的SDF启动传输层代理功能。
步骤1、UE需要进行业务数据传输时,发起到Server1的TCP连接,在TCP SYN报文的payload中携带的源地址是UE的地址IPA,目标地址是Server1的IP地址IP1。
步骤2、S-PSA收到UE发送的TCP SYN,根据SMF的指示确定要启动传输层代理功能,则给Server1发送TCP SYN消息,在TCP SYN报文携带MP_CAPABLE选项,该MP_CAPABLE选项用于与Server1建立MPTCP连接,在TCP SYN报文的payload中携带的源地址是S-PSA的地址IP3,目标地址是Server1的IP地址IP1。
步骤3、Server1向S-PSA回复SYN+ACK报文,SYN+ACK报文中携带MP_CAPABLE选项,表明Server1支持MPTCP。
步骤4、S-PSA收到Server1的SYN+ACK报文后,向UE回复SYN+ACK报文,其中,不携带MP_CAPABLE选项。
步骤5、S-PSA接收UE回复的ACK报文。
步骤6、S-PSA接收到UE回复的ACK报文后,给Server1回复ACK报文,其中携带MP_CAPABLE选项。
步骤7、S-PSA给SMF发送该S-PSA的第一上下文,包括:UE的IP地址与端口号,MPTCP连接的本地IP地址与端口号,Server 1的IP地址与端口号;MPTCP连接两端的Key信息/加密算法(如HMAC-SHA256)等与时序无关的信息;针对的特定的SDF,TCP序列号和SSN的映射关系,DSN和SSN的映射关系。
上述可见,步骤1、4、5遵循TCP三次握手过程,步骤中的TCP消息的格式也与现有相应的TCP消息相同;步骤2、3、6遵循MPTCP三次握手过程,步骤中的MPTCP消息的格式也与现有响应的MPTCP消息相同,并且S-PSA不生成TCP消息和MPTCP消息,,只是修改收到的TCP消息或MPTCP消息的格式后转发。例如,上行方向,S-PSA收到UE发送的TCP消息后,封装成MPTCP消息后转发给Server1;下行方向,S-PSA收到Server1发送的MPTCP消息后,封装成TCP消息后转发给UE。并且S-PSA会将该S-PSA的第一上下文在连接建立完成后发送给SMF,便于后续SMF在启动T-PSA的传输层代理功能时,直接将S-PSA的第一上下文发送给T-PSA,该第一上下文包括TCP连接的连接参数以及MPTCP连接的连接参数。
需要说明的是,步骤7是可选步骤,作为一种可选的实现方式,S-PSA向SMF发送第一上下文,以便通过SMF将第一上下文发送给T-PSA。
在另一种可选的实现方式中,在第一路径建立完成后,不需要SMF的转发,S-PSA可以直接将所述第一上下文发送给T-PSA。比如,在会话管理网元检测到UE移动需要切换PSA后,SMF在S-PSA和T-PSA之间建立用户面隧道,S-PSA通过该用户面隧道向T-PSA传输所述第一上下文。
基于图13的TCP连接以及MPTCP连接的建立方式,下面结合附图14和附图15对上行报文和下行报文的传输方式进行介绍:
对于上行报文,请参照图14,UE发送的上行报文携带TCP序列号,PSA收到上行报文以后,在传输层进行MPTCP封装,并根据报文的TCP序列号生成子流序列号SSN,PSA完成对报文的MPTCP封装后,将MPTCP报文发送给Server。PSA收到Server针对MPTCP报文发送的ACK后,根据TCP序列号和SSN的对应关系,给UE返回TCP ACK,携带所述TCP序列号。
对于下行报文,请参照图15,Server发送的MPTCP报文携带SSN,PSA收到MPTCP报文以后,根据子流序列号SSN生成TCP序列号,对MPTCP报文进行解封装,根据TCP序列号生成TCP报文,并将TCP报文发送给UE。PSA收到UE的TCP ACK后,根据SSN和TCP SN的映射关系,完成TCP SN到SSN的映射,并向Server返回MPTCP ACK,携带SSN。
上述可见,PSA收到UE发送的上行报文后,不会直接向UE回复TCP ACK,而是在接收到Server发送的MPTCP ACK后,修改格式变成TCP ACK后转发给UE,若UE未接收到TCP ACK,则会重传上行报文。PSA收到Server发送的下行报文后,也不会直接向Server回复MPTCP ACK,而是在接收到UE发送的TCP ACK后,修改格式变成MPTCP ACK后转发给Server,若Server未接收到MPTCP ACK,则会重传下行报文。
第二种可选的实施方式,请参照图16,建立TCP连接和MPTCP连接的方式包括但不限于步骤0-步骤6:
步骤0、SMF给S-PSA下发转发规则,包括指示S-PSA针对特定的SDF启动传输层代理功能。
步骤1、UE需要传输业务数据时,发起到Server1的TCP连接,在SYN报文的payload中携带的源地址是UE的地址IPA,目标地址是源服务器Server1的IP地址IP1。
步骤2、S-PSA收到UE发送的TCP SYN,生成TCP SYN+ACK,并给UE回复TCP SYN+ACK;
步骤3、S-PSA根据SMF的指示确定要启动传输层代理功能,S-PSA给Server1发送TCP SYN消息,在TCP SYN报文携带MP_CAPABLE选项,S-PSA与Server1建立MPTCP连接,在TCP SYN报文的payload中携带的源地址是S-PSA的地址IP3,目标地址是Server1的IP地址IP1。
步骤4、S-PSA接收UE发送的TCP ACK;
步骤5、Server1向S-PSA发送SYN+ACK报文,其中携带MP_CAPABLE选项。
步骤6、S-PSA向Server1回复ACK报文,并携带MP_CAPABLE选项。
上述可见,步骤1、4、5遵循TCP三次握手过程,步骤中的TCP消息的格式也与现有相应的TCP消息相同;步骤2、3、6遵循MPTCP三次握手过程,步骤中的MPTCP消息的格式也与现有响应的MPTCP消息相同。步骤1、2、4按序执行,步骤3、5、6按序执行,步骤3在步骤1之后执行,步骤5和步骤6的执行顺序与步骤2和步骤4无关。图16中S-PSA会生成SYN报文和ACK报文,并发送给UE或者Server1,而不需要等到接收到其他网元(UE或者Server1)发送的SYN报文和ACK报文后进行转发。即S-PSA不需要等收到Sever 1在步骤5发送的MPTCP SYN+ACK消息后,再执行步骤2给UE发送TCP SYN+ACK消息;S-PSA也不需要等收到UE在步骤4发送的TCP ACK消息后,再执行步骤6给Server1发送MPTCP ACK消息。并且在图16中,连接建立完成后,S-PSA不会把S-PSA的第一上下文发送给SMF,后续在TCP传输层代理功能迁移时,S-PSA才把第一上下文发送给SMF,因为这种实施方式下,第一上下文包括报文的实时传输状态。具体请参照后续实施例的描述,暂不赘述。
基于图16的TCP连接以及MPTCP连接的建立方式,下面结合附图17和附图18对上行报文和下行报文的传输方式进行介绍:
对于上行报文,请参照图17,UE发送的报文携带TCP序列号,PSA收到该报文以后,向UE回复ACK,在传输层对报文进行MPTCP封装,根据报文的TCP序列号生成子流序列号SSN,在对报文完成MPTCP封装后,将MPTCP报文发送给Server,并接收Server返回的ACK。
对于下行报文,请参照图18,Server发送的MPTCP报文携带SSN PSA收到MPTCP报文以后,向Server回复ACK,并对收到的报文进行MPTCP解封装,根据SSN生成TCP序列号,根据TCP序列号生成TCP报文,并将TCP报文发送给UE,并接收UE发送的ACK。
上述可见,PSA收到UE发送的上行报文后,会生成ACK,返回至UE,并将上行报 文进行MPTCP封装后发送给Server,而不需要等到Server针对该上行报文回复ACK后,再给UE返回TCP ACK,该种方式中,PSA需要缓存接收到的UE发送的上行报文,在收到Server针对该上行报文的ACK后,才从缓存中删除该上行报文,以避免需要进行报文重传,若需要进行报文重传,即PSA未接收到Server回复的ACK,则PSA可以直接重传自己缓存的报文。下行报文同理,PSA不需要等到UE回复ACK后再向Server回复ACK,PSA也需要缓存接收到的Server发送的下行报文,在收到UE针对该下行报文的ACK后,才从缓存中删除该下行报文。
如图7所示,在该实施例中S-PSA将传输层代理功能迁移至T-PSA,即S-PSA停止对第一路径上的报文进行传输层处理,而T-PSA启动对报文进行传输层处理,T-PSA将对传输层处理后的报文在第三路径上继续传输至Server1,其中,第三路径是第一路径到第二路径的过渡路径,第一路径和第三路径均是UE与Server1建立的路径,但是第一路径上S-PSA对报文进行传输层处理,第三路径上T-PSA对报文进行传输层处理,第二路径是UE与Server2建立的路径。若Server1要与server2进行应用上下文迁移时,T-PSA停止与Server1之间进行报文传输,Server1要与server2进行应用上下文迁移,在Server1要与server2应用上下文迁移完成后,T-PSA启动第二路径上的报文传输,下面具体阐述:
S501、UE建立与S-PSA之间的PDU会话,该PDU会话的数据传输路径为图4中的路径A。在会话建立过程中,SMF给S-PSA下发转发规则,该转发规则用于指示S-PSA针对特定的SDF,启动传输层代理功能。
其中,UE和Server1之间初始连接建立过程可以参照图13或者图16,在此不再赘述。
S502、UE移动执行空口切换,用户面传输路径从图4中的路径A切换到路径B,SMF检测到UE移动需要切换PSA,将T-PSA作为ULCL插入到用户面传输路径中,使得用户面数据传输路径从图4中的路径B切换到第一路径,其中第一路径包括UE和T-PSA之间的第一传输层连接和T-PSA与Server 1之间的第二传输层连接,其中,所述第一传输层连接为TCP连接,第二传输层连接为MPTCP连接。
S503、SMF向Server1发送DNAI change(DNAI切换)通知,通知中包括目标DNAI,UE ID,UE ID为通用公共签约标识(Generic Public Subscription Identity,GPSI)或UE IP地址,可选的,请求中,还包括Application ID(应用程序ID)。
S504、Server1确认可以执行应用迁移,则向SMF回复ACK。
S505、SMF收到Server1的ACK后,确认可以执行应用迁移,SMF触发S-PSA与T-PSA执行S-PSA与T-PSA之间的传输层代理功能迁移,即T-PSA启动对报文进行传输层处理,S-PSA停止对报文进行传输层处理。其中,具体的S-PSA与T-PSA之间的传输层代理功能迁移流程可以参照图8和图9的描述,暂不赘述。
S-PSA与T-PSA之间的传输层代理功能迁移完成后,第三路径建立完成,第三路径包括第三传输层连接和第五传输层连接,其中第三传输层连接是UE和T-PSA之间的TCP连接,第五传输层连接是T-PSA和Server 1之间的MPTCP连接,用来承载MPTCP子流1。
S506、S-PSA向SMF发送迁移完成指令,该迁移完成指令用于指示传输层代理功能迁移完成,即T-PSA已启动对报文进行传输层处理,S-PSA已停止对报文进行传输层处理。
S507,SMF向Server1发送应用迁移指令,该应用迁移指令用于指示Server1与Server2之间执行应用上下文迁移;
S508、在Server1与Server2之间执行应用上下文迁移前,Server2从Server1获取部分与时序无关的MPTCP连接上下文,包括第二传输层连接的key信息,加密算法(如HMAC-SHA256)等,便于第四传输层连接的建立,即Server2和T-PSA之间建立MPTCP连接,用来承载MTPCP子流2;
S509、T-PSA建立和Server2之间的MPTCP连接,其中,T-PSA建立MPTCP连接之前需要获取Server2的地址,可以是从SMF中获取,或者,也可以从Server1中通过地址增加消息获取,本申请实施例不作限定。
S510、Server1确定执行应用上下文迁移时,T-PSA与Server1之间应用状态暂停,即Server1停止发送下行报文给T-PSA,并向T-PSA发送“FIN”指示,指示T-PSAServer1停止发送报文。T-PSA收到Server1发送的“FIN”指示消息后,回复“ACK”,并且向Server1发送“FIN”指示,指示Server1T-PSA停止向Server1发送报文。
S511、Server1收到T-PSA发送的FIN指示,启动和Server2之间的应用上下文迁移以及第二传输层连接(即MPTCP连接)的上下文迁移,第二传输层连接的上下文包括但不限于S-PSA的key信息,加密算法(如HMAC-SHA256)等,所述第二传输层连接的上下文用于Server2和T-PSA之间MTPCP子流2的建立。
S512、在Server1和Server2之间应用上下文迁移完成后,Server2向T-PSA发送指示信息,该指示信息用于指示Server1和Server2之间应用上下文迁移完成;
S513、T-PSA启动MPTCP子流2上的报文传输,并删除MPTCP子流1,此时报文传输的路径由第三路径切换到第二路径。
可以理解的是,两条共享同一MPTCP连接参数的MPTCP子流分别建立在T-PSA与Server1之间和T-PSA与Server2之间,在Server2侧可以利用MPTCP的机制对报文进行合并和排序,避免应用切换引起的丢包和乱序。
下面结合附图8和附图9对步骤S505中所提及传输层代理功能迁移作举例说明:
请参照图8,为本申请实施例提供的一种传输层代理功能迁移示意图,如图所示,该实施例包括但不限于以下步骤:
S601、SMF确认可以执行应用上下文迁移后,向T-PSA发送通知消息,该通知消息用于指示T-PSA针对特定的SDF启动传输层代理功能,可选的,该通知消息可以包括S-PSA关于第一路径上报文传输的第一上下文(该第一上下文可以是S-PSA预先发送给SMF的,如图13中的步骤7所示),该第一上下文是S-PSA关于第一路径上的报文传输的上下文,可选的,第一上下文可以包括第一传输层连接参数和第二传输层连接参数,该第一传输层连接参数和第二传输层连接参数包括但不限于:UE的IP地址与端口号,第二传输层连接的本地IP地址与端口号,Server1的IP地址与端口号;第二传输层连接的两端(S-PSA和Server1)的Key信息、哈希加密算法信息(如采用HMAC-SHA256加密算法),针对特定的SDF,数据序列号(data sequence number,DSN)和子流序列号(subflow sequence number,SSN)之间的映射关系、初始子流序列号(initial subflow sequence number,ISSN),第一传 输层连接的TCP序列号和SSN的映射关系等与时序无关的信息。关于HMAC-SHA256、DSN、SSN和ISSN等的详细内容,可以参照现有技术。
可选的,上述第一上下文可以不需要由SMF转发给T-PSA,可以是S-PSA直接将所述第一上下文发送给T-PSA。比如,在会话管理网元检测到UE移动需要切换PSA后,SMF在S-PSA和T-PSA之间建立用户面隧道,S-PSA通过该用户面隧道向T-PSA传输所述第一上下文。
S602、T-PSA收到SMF的通知消息后,启动传输层代理功能,并向SMF回复确认消息,通知SMF已经启动传输层代理功能。
在T-PSA启动传输层代理功能后,针对下行报文,T-PSA检测该下行报文是TCP或者MPTCP报文,如果是MPTCP报文,则执行MPTCP解封装,生成TCP报文,即T-PSA根据第一上下文将MPTCP报文封装成TCP报文,如果该下行报文是TCP报文,则说明S-PSA进行了MPTCP解封装,即S-PSA已经根据第一上下文将从Server1收到的下行MPTCP报文封装成了TCP报文,T-PSA直接将该TCP报文转发给UE;
针对上行报文,T-PSA对来自UE的TCP报文进行MPTCP封装后发给S-PSA,即T-PSA根据第一上下文将所述TCP报文封装成MPTCP报文,并由S-PSA转发给Server1。
S603、SMF收到S602中T-PSA发送的确认消息后,向S-PSA发送去激活指令,该去激活指令用于指示S-PSA停止执行传输层代理功能。
在S-PSA收到SMF的发送的去激活指令后,针对下行报文,S-PSA将该下行报文直接转发给T-PSA,由T-PSA根据第一上下文将其封装成TCP报文。
针对上行报文,S-PSA接收来自T-PSA的上行报文,并检测该上行报文为TCP报文或者MPTCP报文,如果是TCP报文,则说明T-PSA启动传输层代理功能时,该上行报文已经在T-PSA到S-PSA的传输路径上,T-PSA未根据第一上下文将该报文封装成MPTCP报文,S-PSA会根据第一上下文将该上行报文封装成MPTCP报文,并将封装后的MPTCP报文发送给Server1;如果来自T-PSA的上行报文是MPTCP报文,则说明T-PSA已经启动传输层代理功能,S-PSA停止执行传输层代理功能,S-PSA后续接收到来自T-PSA的上行报文后,直接进行转发,而不再进行检测。
S604、S-PSA停止执行传输层代理功能后,向SMF发送确认消息,用于指示传输层代理功能迁移完成,触发SMF向Server1发送应用上下文迁移指令。
请参照图9,为本申请实施例提供的另一种传输层代理功能迁移示意图,如图所示,该实施例包括但不限于以下步骤:
S701、SMF确认可以执行应用上下文迁移后,向S-PSA发送去激活指令,该去激活指令用于指示S-PSA针对特定的SDF停止执行传输层代理功能;
S702、S-PSA缓存未转发的上下行报文,并给SMF回复确认消息(Acknowledge,ACK),该ACK用于指示该S-PSA已经停止执行传输层代理功能,该确认消息中包括S-PSA关于第一路径上报文传输的第一上下文,第一上下文包括第一传输层连接参数、第一传输状态参数、第二传输层连接参数以及第二传输状态参数。
第一传输层连接参数、第二传输层连接参数可以包括但不限于:UE的IP地址与端口 号,第二传输层连接的本地IP地址与端口号,Server1的IP地址与端口号;第二传输层连接的两端(S-PSA和Server1)的Key信息、哈希加密算法信息(如采用HMAC-SHA256加密算法),针对特定的SDF,数据序列号(data sequence number,DSN)和子流序列号(subflow sequence number,SSN)之间的映射关系、初始子流序列号(initial subflow sequence number,ISSN),第一传输层连接的TCP序列号和SSN的映射关系等与时序无关的信息。关于HMAC-SHA256、DSN、SSN和ISSN等的详细内容,可以参照现有技术。
第一传输状态参数、第二传输状态参数可以包括但不限于:第一传输层连接(即TCP连接)的上行报文已接收序号,下行报文已发送序号,上行ACK已发送序号、下行ACK已接收序号等。第二传输层连接(即MPTCP连接)的上行报文已发送序号,下行报文已接收序号,上行ACK已接收序号以及下行ACK已发送序号等。
其中,第一传输层连接的上行报文已接收序号是指,S-PSA缓存的报文中,S-PSA已接收到UE发送的上行TCP报文但未回复ACK的报文的TCP序列号;第一传输层连接的下行报文已发送序号是指,S-PSA缓存的报文中,S-PSA已经发送给UE但未接收到UE回复ACK的报文的TCP序列号;第一传输层连接的上行ACK已发送序号,是指S-PSA缓存的报文中,S-PSA针对UE发送的上行报文已经反馈了ACK的报文的TCP序列号;第一传输连接的下行ACK已接收序号是指,S-PSA缓存的报文中,S-PSA针对发送给UE的下行报文,已经接收到该UE反馈ACK的报文的TCP序列号。
第二传输层连接的上行报文已发送序号是指,S-PSA缓存的报文中,S-PSA已经发送给Server1但未收到Server1ACK回复的报文的TCP序列号;第二传输层连接的下行报文已接收序号是指,S-PSA缓存的报文中,S-PSA已经接收的Server1发送的下行报文但未给Server1回复ACK的报文的TCP序列号;第二传输层连接的上行ACK已接收序号是指,S-PSA缓存的报文中,S-PSA针对已发送给Server1的上行报文,已经接收到该Server1反馈ACK的报文的TCP序列号;第二传输连接的下行ACK已发送序号是指,S-PSA缓存的报文中,S-PSA针对Server1发送的下行TCP报文,已经接收到Server1反馈ACK的报文的TCP序列号。
其中,所述第一传输层连接参数和第二传输层链接参数是与时序无关的参数,第一传输状态参数和第二传输状态参数是与时序相关的参数。
S703、SMF向T-PSA发送通知消息,该通知消息用于指示T-PSA针对特定的SDF启动传输层代理功能,该通知消息中包括S702中的第一上下文。
S704、T-PSA根据SMF的指示启动传输层代理功能,并给SMF回复ACK。
相应的,S-PSA还要将接收但没有发送给Server1或没有从Server1收到ACK的上行报文转发给T-PSA;以及,将接收但没有发送给UE或没有从UE收到ACK的下行报文转发给T-PSA。
其中,T-PSA对上下行报文的处理方式可以参照图17和图18的处理方式,具体可选的,针对下行报文,T-PSA收到S-PSA发送的下行报文后,若未针对该下行报文发送ACK,则针对该下行报文给Server1回复ACK;进一步可选的,若该下行报文还未发送给UE,如果该下行报文是MPTCP报文,则执行MPTCP解封装,生成TCP报文,即T-PSA根据第一上下文将MPTCP报文封装成TCP报文,然后将该TCP报文发送给UE;如果该下行报 文是TCP报文,则直接转发给UE。可选的,T-PSA可以先把来自S-PSA缓存的下行报文发送给UE。T-PSA未收到UE针对该下行报文回复的ACK之前,缓存该下行报文。
针对上行报文,T-PSA收到S-PSA发送的上行报文后,若未针对该上行报文发送ACK,则给UE回复ACK。进一步可选的,若该上行报文还未发送给Server1,如果该上行报文是TCP报文,则执行MPTCP封装,生成MPTCP报文,即T-PSA根据第一上下文将所述TCP报文封装成MPTCP报文,然后将该MPTCP报文发送给Server1;如果该上行报文是MPTCP报文,则直接转发给Server1。可选的,T-PSA可以先把来自S-PSA缓存的上行文发送给Server1。T-PSA未收到Server1针对该上行报文回复的ACK之前,缓存该上行报文。
如图10所示,在该实施例中在S-PSA与T-PSA传输层代理功能迁移之前、以及Server1与server2之间进行应用上下文迁移之前,S-PSA与Server1之间停止报文传输,S-PSA将传输层代理功能迁移至T-PSA,即S-PSA停止对第一路径上的报文进行传输层处理,而T-PSA启动对报文进行传输层处理。Server1与server2之间进行应用上下文迁移,在传输层代理功能迁移完成之后,以及应用上下文迁移完成之后,T-PSA启动第二路径上的报文传输,在该实施例中,传输层代理功能迁移和应用上下文迁移可以同时进行,下面具体阐述:
S801、UE建立与S-PSA之间的PDU会话,该PDU会话的数据传输路径为图4中的路径A。在会话建立过程中,SMF给S-PSA下发转发规则,该转发规则用于指示S-PSA针对特定的SDF,启动传输层代理功能。
其中,UE和Server1之间初始连接建立过程可以参照图13或者图16,在此不再赘述。
S802、UE移动执行空口切换,用户面传输路径从图4中的路径A切换到路径B,SMF检测到UE移动需要切换PSA,将T-PSA作为ULCL插入到用户面传输路径中,使得用户面数据传输路径从图4中的路径B切换到第一路径,其中第一路径包括UE和T-PSA之间的第一传输层连接和T-PSA与Server 1之间的第二传输层连接,其中,所述第一传输层连接为TCP连接,第二传输层连接为MPTCP连接。
S803、SMF向Server1发送DNAI change(DNAI切换)通知,通知中包括目标DNAI,UE ID,UEID可以是GPSI或UE IP,可选的,请求中,还包括Application ID(应用程序ID)。
S804、Server1确认可以执行应用迁移,则向SMF回复ACK。
S805、在Server1和Server2之间进行应用上下文迁移之前,Server1停止向UE发送报文,并向S-PSA发送“FIN”指示,指示S-PSA Server1停止发送报文,S-PSA收到Server1发送的“FIN”指示消息后,回复“ACK”,并且向Server1发送“FIN”指示,指示Server1S-PSA停止向Server1发送报文。S-PSA与Server1之间应用状态暂停。
S806、Server1收到S-PSA发送的“FIN”指示,启动和Server2之间的应用上下文迁移,以及第二传输层连接(即MPTCP连接)的上下文迁移,第二传输层连接的上下文包括但不限于S-PSA的key信息,加密算法(如HMAC-SHA256)等,所述第二传输层连接的上下文用于Server2和T-PSA之间MTPCP子流2的建立。
S807、S-PSA收到Server1发送的ACK(即S805中的步骤4)后,启动与T-PSA之间的传输层代理功能迁移,或者S-PSA通知SMF,SMF启动S-PSA与T-PSA之间的传输 层代理功能迁移。具体可选的,S-PSA与T-PSA之间的传输层代理功能迁移流程请参照图11和图12所示,暂不赘述。
S808、T-PSA触发建立和Server2之间的MPTCP子流2,即第四传输层连接建立。
S809、若T-PSA接收到Server1发送的指示信息,该指示信息用于指示Server1和Server2之间应用上下文迁移完成
S810、T-PSA启动在MPTCP子流2上的报文传输,此时报文传输的路径由第一路径切换到第二路径,其中第二路径包括UE和T-PSA之间的第三传输层连接和T-PSA与Server2之间的第四传输层连接,其中,所述第三传输层连接为TCP连接,第四传输层连接为MPTCP连接。
可以理解的是,两条共享同一MPTCP连接参数的MPTCP子流分别建立在T-PSA与Server1之间和T-PSA与Server2之间,在Server2侧可以利用MPTCP的机制对报文进行合并和排序,避免应用切换引起的丢包和乱序。
下面结合附图11和附图12对步骤S807中所提及传输层代理功能迁移作举例说明:
请参照图11,为本申请实施例提供的一种传输层代理功能迁移示意图,该实施例中报文传输方式可以是图14和图15所示的报文传输方式,S-PSA缓存的上下行数据包可以是S-PSA接收但未发送的报文,如图所示,该实施例包括但不限于以下步骤:
S901、S-PSA接收到Server1发送的“FIN”后,向SMF发送传输层代理功能迁移指示;
S902、SMF向T-PSA发送通知消息,该通知消息指示T-PSA针对特定的SDF启动传输层代理功能,可选的,该通知消息中包括S-PSA关于第一路径上报文传输的第一上下文,该第一上下文可以是通过图13中的步骤7得到的。
可选的,该第一上下文可以不通过SMF转发,S-PSA可以直接将所述第一上下文发送给T-PSA。比如,在会话管理网元检测到UE移动需要切换PSA后,SMF在S-PSA和T-PSA之间建立用户面隧道,S-PSA通过该用户面隧道向T-PSA传输所述第一上下文。
具体可选的,该第一上下文可以包括第一传输层连接参数和第二传输层连接参数,该第一传输层连接参数和第二传输层连接参数包括但不限于:UE的IP地址与端口号,第二传输层连接的本地IP地址与端口号,Server1的IP地址与端口号;第二传输层连接的两端(S-PSA和Server1)的Key信息、哈希加密算法信息(如采用HMAC-SHA256加密算法),针对特定的SDF,数据序列号(data sequence number,DSN)和子流序列号(subflow sequence number,SSN)之间的映射关系、初始子流序列号(initial subflow sequence number,ISSN),第一传输层连接的TCP序列号和SSN的映射关系等与时序无关的信息。关于HMAC-SHA256、DSN、SSN和ISSN等的详细内容,可以参照现有技术。
S903、T-PSA收到SMF的通知消息后,启动传输层代理功能,并向SMF回复ACK。
S904、SMF向S-PSA发送去激活指令,该去激活指令用于指示S-PSA停止执行传输层代理功能。
具体可选的,S-PSA在给Server1发送“FIN”后,即S-PSA停止向Server1发送报文后,将缓存的上下行报文发送给T-PSA。
针对下行报文,T-PSA检测该下行报文为TCP报文或者MPTCP报文,如果该下行报文是MPTCP报文,则执行MPTCP解封装,生成TCP报文,即T-PSA根据第二上下文将MPTCP报文封装成TCP报文,其中,所述第二上下文是T-PSA根据第一上下文和第四传输层连接上下文确定的,并将该TCP报文发送给UE;如果该下行报文是TCP报文,则直接转发给UE。若接收到UE针对该下行报文回复的ACK,则T-PSA向Server2发送ACK。可选的,T-PSA优先处理S-PSA发送的该S-PSA缓存的下行报文。
针对上行报文,T-PSA检测该上行报文为TCP报文或者MPTCP报文,如果该上行报文是TCP报文,则执行MPTCP封装,生成MPTCP报文,即T-PSA根据第二上下文将TCP报文封装成MPTCP报文,并将该MPTCP报文发送给Server2,其中,所述第二上下文是T-PSA根据第一上下文和第四传输层连接上下文确定的;如果该上行报文是MPTCP报文,则直接转发给Server2。若接收到Server2针对该上行报文回复的ACK,则T-PSA向UE发送ACK。可选的,T-PSA优先处理S-PSA发送的该S-PSA缓存的上行报文。
请参照图12,为本申请实施例提供的另一种传输层代理功能迁移示意图,该实施例中报文传输方式可以是图17和图18所示的报文传输方式,S-PSA缓存的上下行数据包可以是S-PSA接收但未发送的报文和/或S-PSA接收但未接收到ACK的报文,例如,某个上行报文虽然发送给Server1,但是未接收到Server1返回的关于该上行报文的ACK,则S-PSA也会缓存该上行报文,又例如,某个下行报文虽然发送给UE,但是未接收到UE返回的关于该下行报文的ACK,则S-PSA也会缓存该下行报文。如图所示,该实施例包括但不限于以下步骤:
S1001、S-PSA接收到Server1发送的FIN后,向SMF发送传输层代理功能迁移指示,该传输层代理功能迁移指示可以包括S-PSA关于第一路径上报文传输的第一上下文,第一上下文包括第一传输层连接参数、第一传输状态参数、第二传输层连接参数以及第二传输状态参数。
第一传输层连接参数、第二传输层连接参数:UE的IP地址与端口号,第二传输层连接的本地IP地址与端口号,Server1的IP地址与端口号;第二传输层连接的两端(S-PSA和Server1)的Key信息、哈希加密算法信息(如采用HMAC-SHA256加密算法),针对特定的SDF,数据序列号(data sequence number,DSN)和子流序列号(subflow sequence number,SSN)之间的映射关系、初始子流序列号(initial subflow sequence number,ISSN),第一传输层连接的TCP序列号和SSN的映射关系等与时序无关的信息。关于HMAC-SHA256、DSN、SSN和ISSN等的详细内容,可以参照现有技术。
第一传输状态参数、第二传输状态参数可以包括但不限于:
第一传输层连接(即TCP连接)的上行报文已接收序号,下行报文已发送序号,上行ACK已发送序号、下行ACK已接收序号等。第二传输层连接(即MPTCP连接)的上行报文已发送序号,下行报文已接收序号,上行ACK已接收序号以及下行ACK已发送序号等。
第一传输状态参数和第二传输状态参数的描述请参照前述实施例的描述,在此不再赘述。
S1002、SMF向T-PSA发送通知消息,该通知消息用于指示T-PSA针对特定的SDF启 动传输层代理功能,该通知消息中包括步骤S1001中传输层代理功能迁移指示中所包含的第一上下文。
S1003、T-PSA收到SMF的指示后,启动传输层代理功能,并向SMF回复ACK。
S1004、SMF在接收到T-PSA回复的ACK后,确认T-PSA已启动传输层代理功能,SMF向S-PSA发送去激活指令。
相应的,S-PSA将缓存的上下行报文发送给T-PSA。
其中,T-PSA对上下行报文的处理方式可以参照图17和图18的处理方式,具体可选的,针对下行报文,T-PSA收到S-PSA发送的下行报文后,根据第一传输状态参数、第二传输状态参数确定未针对该下行报文发送ACK,则针对该下行报文给Server2回复ACK;进一步可选的,若该下行报文还未发送给UE,如果该下行报文是MPTCP报文,则执行MPTCP解封装,生成TCP报文,即T-PSA根据第二上下文将MPTCP报文封装成TCP报文,然后将该TCP报文发送给UE;其中,所述第二上下文是T-PSA根据一上下文和第四传输层连接上下文确定的。如果该下行报文是TCP报文,则直接转发给UE。可选的,T-PSA可以先把来自S-PSA缓存的下行报文发送给UE。T-PSA未收到UE针对该下行报文回复的ACK之前,缓存该下行报文。
针对上行报文,T-PSA收到S-PSA发送的上行报文后,根据第一传输状态参数、第二传输状态参数确定未针对该上行报文发送ACK,则针对该上行报文,给UE回复ACK。进一步可选的,若该上行报文还未发送给Server1,如果该上行报文是TCP报文,则执行MPTCP封装,生成MPTCP报文,即T-PSA根据第二上下文将TCP报文封装成MPTCP报文,然后将该MPTCP报文发送给Server2,其中,所述第二上下文是T-PSA根据一上下文和第四传输层连接上下文确定的;如果该上行报文是MPTCP报文,则直接转发给Server2。可选的,T-PSA可以先把来自S-PSA缓存的上行文发送给Server2。T-PSA未收到Server1针对该上行报文回复的ACK之前,缓存该上行报文。
以上,结合图3至图18详细说明了本申请实施例提供的方法。以下,结合图19至图21详细说明本申请实施例提供的装置。
图19是本申请实施例提供的通信装置的示意性框图。如图19所示,该通信装置1700可以包括收发单元1710和处理单元1720。
其中,收发单元1710可以用于接收其他装置发送的信息(或消息),还可以用于向其他装置发送信息(或消息)。处理单元1720可以用于进行装置的内部处理。
在一种可能的设计中,该通信装置1700可对应于上述方法实施例中的源传输层代理网元(例如,S-PSA),如该通信装置1700可以是源传输层代理网元,也可以是源传输层代理网元中的芯片。该通信装置1700可以包括用于执行上述方法实施例中由源传输层代理网元所执行的操作的单元,并且,该通信装置1700中的各单元分别为了实现上述方法实施例中由源传输层代理网元所执行的操作。
示例性的,处理单元1720用于,若通过所述收发单元1710接收到第三指示信息,停止根据所述源传输层代理网元的第一上下文对第一路径上的报文进行传输层处理,所述第一上下文是所述源传输层代理网元关于第一路径上的报文传输的上下文;
所述第一上下文用于目标传输层代理网元建立第四传输层连接,并在所述目标传输层代理网元接收到第一指示信息时,根据所述目标传输层代理网元的第二上下文对第二路径上的报文进行所述传输层处理,其中,所述第二上下文是根据所述第一上下文和所述第四传输层连接的上下文确定,所述第一指示信息用于指示第一应用服务器与第二应用服务器之间的应用上下文迁移完成,其中,在所述应用上下文迁移时,所述第一应用服务器与代理网元之间停止报文传输,所述代理网元包括所述源传输层代理网元或者所述目标传输层代理网元;
其中,所述第一路径为终端设备与所述第一应用服务器之间建立的路径,所述第一路径包括第一传输层连接和第二传输层连接,所述第一传输层连接为所述源传输层代理网元与所述终端设备之间的传输层连接,所述第二传输层连接为所述源传输层代理网元与所述第一应用服务器之间的传输层连接,所述第二路径包括第三传输层连接和所述第四传输层连接,所述第三传输层连接为目标传输层代理网元与所述终端设备之间的传输层连接,所述第四传输层连接为所述目标传输层代理网元与第二应用服务器之间的传输层连接。
在一种可能的设计中,该通信装置1700可对应于上述方法实施例中的目标传输层代理网元(例如,T-PSA),如该通信装置1700可以是目标传输层代理网元,也可以是目标传输层代理网元中的芯片。该通信装置1700可以包括用于执行上述方法实施例中由目标传输层代理网元所执行的操作的单元,并且,该通信装置1700中的各单元分别为了实现上述方法实施例中由目标传输层代理网元所执行的操作。
示例性的,处理单元1720用于,根据源传输层代理网元的第一上下文建立第四传输层连接,所述第一上下文是所述源传输层代理网元关于第一路径上的报文传输的上下文;所述收发单元1710用于,接收第一指示信息,所述第一指示信息用于指示第一应用服务器与第二应用服务器之间的应用上下文迁移完成。所述处理单元1720用于,根据所述目标传输层代理网元的第二上下文对第二路径上的报文进行传输层处理。所述收发单元1710还用于,将传输层处理后的报文在所述第二路径上传输,所述第二上下文是根据所述第一上下文和所述第四传输层连接的上下文确定,其中,在所述应用上下文迁移时,所述第一应用服务器与传输层代理网元之间停止报文传输,所述传输层代理网元包括所述源传输层代理网元或者所述目标传输层代理网元;
其中,所述第一路径为终端设备与所述第一应用服务器之间建立的路径,所述第一路径包括第一传输层连接和第二传输层连接,所述第一传输层连接为所述源传输层代理网元与所述终端设备之间的传输层连接,所述第二传输层连接为所述源传输层代理网元与所述第一应用服务器之间的传输层连接,所述第二路径包括第三传输层连接和所述第四传输层连接,所述第三传输层连接为目标传输层代理网元与所述终端设备之间的传输层连接,所述第四传输层连接为所述目标传输层代理网元与第二应用服务器之间的传输层连接。
在一种可能的设计中,该通信装置1700可对应于上述方法实施例中的会话管理网元(例如SMF),如该通信装置1700可以是会话管理网元,也可以是会话管理网元中的芯片。该通信装置1700可以包括用于执行上述方法实施例中由会话管理网元所执行的操作的单元,并且,该通信装置1700中的各单元分别为了实现上述方法实施例中由会话管理网元所执行的操作。
在一种可能的设计中,该通信装置1700可对应于上述方法实施例中的第一应用服务器(例如Server1),如该通信装置1700可以是第一应用服务器,也可以是第一应用服务器中的芯片。该通信装置1700可以包括用于执行上述方法实施例中由第一应用服务器所执行的操作的单元,并且,该通信装置1700中的各单元分别为了实现上述方法实施例中由第一应用服务器所执行的操作。
在一种可能的设计中,该通信装置1700可对应于上述方法实施例中的第二应用服务器(例如Server2),如该通信装置1700可以是第二应用服务器,也可以是第二应用服务器中的芯片。该通信装置1700可以包括用于执行上述方法实施例中由第二应用服务器所执行的操作的单元,并且,该通信装置1700中的各单元分别为了实现上述方法实施例中由第二应用服务器所执行的操作。
在一种可能的设计中,该通信装置1700可对应于上述方法实施例中的UE,如该通信装置1700可以是UE,也可以是UE中的芯片。该通信装置1700可以包括用于执行上述方法实施例中由UE所执行的操作的单元,并且,该通信装置1700中的各单元分别为了实现上述方法实施例中由UE所执行的操作。
应理解,该通信装置1700为UE时,该通信装置1700中的收发单元1710可对应于图20中示出的终端设备2000中的收发器2020,该通信装置1700中的处理单元1720可对应于图19中示出的终端设备2000中的处理器2010。
还应理解,该通信装置1700为配置于UE中的芯片时,该通信装置1700中的收发单元1710可以为输入/输出接口。
应理解,该通信装置1700对应源传输层代理网元、目标传输层代理网元、第一应用服务器、第二应用服务器或会话管理网元时,该通信装置1700中的收发单元1710可对应于图21中示出的通信接口3010,处理单元1720可对应于图21中示出的处理器3020。
图20是本申请实施例提供的终端设备2000的结构示意图。该终端设备2000可应用于如图1所示的系统中,执行上述方法实施例中终端设备(或UE)的功能。如图20所示,该终端设备2000包括处理器2010和收发器2020。可选地,该终端设备2000还包括存储器2030。其中,处理器2010、收发器2002和存储器2030之间可以通过内部连接通路互相通信,传递控制或数据信号,该存储器2030用于存储计算机程序,该处理器2010用于从该存储器2030中调用并运行该计算机程序,以控制该收发器2020收发信号。可选地,终端设备2000还可以包括天线2040,用于将收发器2020输出的上行数据或上行控制信令通过无线信号发送出去。
上述处理器2010可以和存储器2030可以合成一个处理装置,处理器2010用于执行存储器2030中存储的程序代码来实现上述功能。具体实现时,该存储器2030也可以集成在处理器2010中,或者独立于处理器2010。该处理器2010可以与图19中的处理单元对应。
上述收发器2020可以与图19中的收发单元对应。收发器2020可以包括接收器(或称接收机、接收电路)和发射器(或称发射机、发射电路)。其中,接收器用于接收信号,发射器用于发射信号。
应理解,图20所示的终端设备2000能够实现上述方法实施例中任一方法实施例中涉及终端设备的各个过程。终端设备2000中的各个模块的操作或功能,分别为了实现上述方 法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
上述处理器2010可以用于执行前面方法实施例中描述的由终端设备内部实现的动作,而收发器2020可以用于执行前面方法实施例中描述的终端设备向网络设备发送或从网络设备接收的动作。具体请见前面方法实施例中的描述,此处不再赘述。
可选地,上述终端设备2000还可以包括电源2050,用于给终端设备中的各种器件或电路提供电源。
除此之外,为了使得终端设备的功能更加完善,该终端设备2000还可以包括输入单元2060、显示单元2070、音频电路2080、摄像头2090和传感器2100等中的一个或多个,所述音频电路还可以包括扬声器2082、麦克风2084等。
图21是本申请一个实施例的通信装置的示意性结构图。应理解,图21示出的通信装置1900仅是示例,本申请实施例的通信装置还可包括其他模块或单元,或者包括与图21中的各个模块的功能相似的模块,或者并非要包括图21中所有模块。
通信装置1900包括通信接口3010和至少一个处理器3020。
该通信装置1900可以对应源传输层代理网元、目标传输层代理网元、第一应用服务器、第二应用服务器以及会话管理网元中的任一网元。至少一个处理器3020执行程序指令,使得通信装置1900实现上述方法实施例中由对应网元所执行的方法的相应流程。
可选地,通信装置1900还可以包括存储器。该存储器可以存储程序指令,至少一个处理器3020可以读取存储器所存储的程序指令并执行该程序指令。
本申请实施例中的处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
根据本申请实施例提供的方法,本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行前述任一方法实施例中终端设备侧的方法。
根据本申请实施例提供的方法,本申请还提供一种计算机可读介质,该计算机可读介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行前述方法实施例中源传输层代理网元侧的方法。
根据本申请实施例提供的方法,本申请还提供一种计算机可读介质,该计算机可读介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行前述方法实施例中目标传输层代理网元侧的方法。
根据本申请实施例提供的方法,本申请还提供一种计算机可读介质,该计算机可读介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行前述方法实施例中第一应用服务器侧的方法。
根据本申请实施例提供的方法,本申请还提供一种计算机可读介质,该计算机可读介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行前述方法实施例 中第二应用服务器侧的方法。
根据本申请实施例提供的方法,本申请还提供一种计算机可读介质,该计算机可读介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行前述方法实施例中会话管理网元侧的方法。
根据本申请实施例提供的方法,本申请还提供一种系统,其包括前述的终端设备、源传输层代理网元、目标传输层代理网元、第一应用服务器、第二应用服务器以及会话管理网元中的至少一项。
本申请实施例还提供了一种处理装置,包括处理器和接口;所述处理器用于执行上述任一方法实施例中的方法。
应理解,上述处理装置可以是一个芯片。例如,该处理装置可以是现场可编程门阵列(field programmable gate array,FPGA),可以是通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processor unit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地 产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disc,SSD))等。
上述各个装置实施例中网络设备与终端设备和方法实施例中的网络设备或终端设备完全对应,由相应的模块或单元执行相应的步骤,例如通信单元(收发器)执行方法实施例中接收或发送的步骤,除发送、接收外的其它步骤可以由处理单元(处理器)执行。具体单元的功能可以参考相应的方法实施例。其中,处理器可以为一个或多个。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程或执行线程中,部件可位于一个计算机上或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地或远程进程来通信。
应理解,说明书通篇中提到的“实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各个实施例未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
应理解,在本申请实施例中,编号“第一”、“第二”…仅仅为了区分不同的对象,比如为了区分不同的网络设备,并不对本申请实施例的范围构成限制,本申请实施例并不限于此。
还应理解,在本申请中,“当…时”、“若”以及“如果”均指在某种客观情况下网元会做出相应的处理,并非是限定时间,且也不要求网元实现时一定要有判断的动作,也不意味着存在其它限定。
还应理解,在本申请各实施例中,“A对应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
还应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本申请中出现的类似于“项目包括如下中的一项或多项:A,B,以及C”表述的含义,如无特别说明,通常是指该项目可以为如下中任一个:A;B;C;A和B;A和C;B和C;A,B和C;A和A;A,A和A;A,A和B;A,A和C,A,B和B;A,C和C;B和B,B,B和B,B,B和C,C和C;C,C和C,以及其他A,B和C的组合。以上是以A,B和C共3个元素进行举例来说明该项目的可选用条目,当表达为“项目包括如下中至少一种:A,B,……,以及X”时,即表达中具有更多元素时,那么该项目可以适用的条目也可以按照前述规则获得。
可以理解的,本申请实施例中,终端设备和/或网络设备可以执行本申请实施例中的部分或全部步骤,这些步骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照本申请实施例呈现的不同的顺序来执行,并且有可能并非要执行本申请实施例中的全部操作。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖 在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (25)

  1. 一种报文传输方法,其特征在于,包括:
    目标传输层代理网元根据源传输层代理网元的第一上下文建立第四传输层连接,所述第一上下文是所述源传输层代理网元关于第一路径上的报文传输的上下文;
    当所述目标传输层代理网元接收到第一指示信息,所述第一指示信息用于指示第一应用服务器与第二应用服务器之间的应用上下文迁移完成,所述目标传输层代理网元根据所述目标传输层代理网元的第二上下文对第二路径上的报文进行传输层处理,并将传输层处理后的报文在所述第二路径上传输,所述第二路径包括第三传输层连接和所述第四传输层连接,所述第二上下文是根据所述第一上下文和所述第四传输层连接的上下文确定,其中,在所述应用上下文迁移时,所述第一应用服务器与传输层代理网元之间停止报文传输,所述传输层代理网元包括所述源传输层代理网元或者所述目标传输层代理网元;
    其中,所述第一路径为终端设备与所述第一应用服务器之间建立的路径,所述第一路径包括第一传输层连接和第二传输层连接,所述第一传输层连接为所述源传输层代理网元与所述终端设备之间的传输层连接,所述第二传输层连接为所述源传输层代理网元与所述第一应用服务器之间的传输层连接,所述第三传输层连接为目标传输层代理网元与所述终端设备之间的传输层连接,所述第四传输层连接为所述目标传输层代理网元与第二应用服务器之间的传输层连接。
  2. 如权利要求1所述的方法,其特征在于,所述方法还包括:
    所述目标传输层代理网元从所述源传输层代理网元接收第一上行传输控制协议TCP报文和第一下行多径传输控制协议MPTCP报文,所述第一上行TCP报文是所述源传输层代理网元接收但未发送给所述第一应用服务器的报文,所述第一下行MPTCP报文是所述源传输层代理网元接收但未发送给所述终端设备的报文;
    所述目标传输层代理网元根据所述第二上下文将所述第一上行TCP报文封装成第一上行MPTCP报文,并将所述第一上行MPTCP报文在所述第四传输层连接上发送至所述第二应用服务器;
    所述目标传输层代理网元根据所述目标传输层代理网元的第二上下文将所述第一下行MPTCP报文封装成第一下行TCP报文,并将所述第一行TCP报文在所述第三传输层连接上发送至所述终端设备。
  3. 如权利要求1或2所述的方法,其特征在于,所述方法还包括:
    所述目标传输层代理网元从会话管理网元接收通知消息,所述通知消息用于指示所述目标传输层代理网元启动对报文进行传输层处理,所述通知消息包括所述第一上下文。
  4. 如权利要求1所述的方法,其特征在于,所述若所述目标传输层代理网元接收到第一指示信息之前,还包括:
    所述目标传输层代理网元根据所述第一上下文对第三路径上的报文进行传输层处理,并将传输层处理后的报文在所述第三路径上传输;其中,所述第三路径为所述终端设备与所述第一应用服务器之间建立的路径,所述第三路径包括所述第三传输层连接和第五传输层连接,所述第五传输层连接为所述目标传输层代理网元与所述第一应用服务器之间的传 输层连接,所述第五传输层连接经过所述源传输层代理网元;
    若接收所述第一应用服务器发送的第二指示信息,所述目标传输层代理网元停止向所述第一应用服务器发送数据,所述第二指示信息是所述第一应用服务器要启动与所述第二应用服务器之间的应用上下文迁移时发送的。
  5. 如权利要求4所述的方法,其特征在于,所述方法还包括:
    所述目标传输层代理网元从所述源传输层代理网元接收第二上行TCP报文和第二下行MPTCP报文,所述第二上行TCP报文是所述源传输层代理网元接收但未发送给所述第一应用服务器的报文,所述第二下行MPTCP报文是所述源传输层代理网元接收但未发送给所述终端设备的报文;
    所述目标传输层代理网元根据所述第一上下文将所述第二上行TCP报文封装成第二上行MPTCP报文,并将所述第二上行MPTCP报文通过所述源传输层代理网元在所述第五传输层连接上发送至所述第一应用服务器;
    所述目标传输层代理网元根据所述第一上下文将所述第二下行MPTCP报文封装成第二下行TCP报文,并将所述第二下行TCP报文在所述第三传输层连接上发送至所述终端设备。
  6. 如权利要求1-5任一项所述的方法,其特征在于,所述第一上下文包括第一传输层连接参数和第二传输层连接参数,所述第一传输层连接参数和所述第二传输层连接参数用于进行所述传输层处理;或者,
    所述第一上下文包括所述第一传输层连接参数、第一传输状态参数、所述第二传输层连接参数和第二传输状态参数,所述第一传输层连接参数和所述第二传输层连接参数用于进行所述传输层处理,所述第一传输状态参数用于指示所述第一传输层连接的报文传输状态,所述第二传输状态参数用于指示所述第二传输层连接的报文传输状态。
  7. 一种报文传输方法,其特征在于,包括:
    若源传输层代理网元接收到第三指示信息,所述源传输层代理网元停止根据所述源传输层代理网元的第一上下文对第一路径上的报文进行传输层处理,所述第一上下文是所述源传输层代理网元关于第一路径上的报文传输的上下文;
    所述第一上下文用于目标传输层代理网元建立第四传输层连接,并在所述目标传输层代理网元接收到第一指示信息时,根据所述目标传输层代理网元的第二上下文对第二路径上的报文进行所述传输层处理,其中,所述第二上下文是根据所述第一上下文和所述第四传输层连接的上下文确定,所述第一指示信息用于指示第一应用服务器与第二应用服务器之间的应用上下文迁移完成,其中,在所述应用上下文迁移时,所述第一应用服务器与代理网元之间停止报文传输,所述代理网元包括所述源传输层代理网元或者所述目标传输层代理网元;
    其中,所述第一路径为终端设备与所述第一应用服务器之间建立的路径,所述第一路径包括第一传输层连接和第二传输层连接,所述第一传输层连接为所述源传输层代理网元与所述终端设备之间的传输层连接,所述第二传输层连接为所述源传输层代理网元与所述第一应用服务器之间的传输层连接,所述第二路径包括第三传输层连接和所述第四传输层连接,所述第三传输层连接为目标传输层代理网元与所述终端设备之间的传输层连接,所 述第四传输层连接为所述目标传输层代理网元与第二应用服务器之间的传输层连接。
  8. 如权利要求7所述的方法,其特征在于,所述方法还包括:
    所述源传输层代理网元向会话管理网元发送迁移完成指令,所述迁移完成指令用于指示所述源传输层代理网元已停止对报文进行传输层处理,且所述目标传输层代理网元已启动对报文进行传输层处理,所述迁移完成指令用于所述会话管理网元触发所述第一应用服务器和所述第二应用服务器之间进行应用上下文迁移。
  9. 如权利要求7或8所述的方法,其特征在于,所述源传输层代理网元停止根据所述源传输层代理网元的第一上下文对第一路径上的报文进行传输层处理之前,还包括:
    所述源传输层代理网元检测第三上行报文是否为上行MPTCP报文,所述第三上行报文是所述目标传输层代理网元通过所述源传输层代理网元发送至所述第一应用服务器的上行报文;
    所述源传输层代理网元确定所述第三上行报文是上行MPTCP报文。
  10. 如权利要求7或8所述的方法,其特征在于,所述方法还包括:
    所述源传输层代理网元将第一上行TCP报文和第一下行MPTCP报文发送至所述目标传输层代理网元进行传输层处理,所述第一上行TCP报文是所述源传输层代理网元接收但未发送给所述第一应用服务器的报文,所述第一下行MPTCP报文是所述源传输层代理网元接收但未发送给所述终端设备的报文。
  11. 如权利要求10所述的方法,其特征在于,所述源传输层代理网元将第一上行TCP报文和第一下行MPTCP报文发送至所述目标传输层代理网元之前,还包括:
    若所述源传输层代理网元接收到第四指示信息,所述源传输层代理网元停止向所述第一应用服务器发送数据,所述第四指示信息是所述第一应用服务器要启动与所述第二应用服务器之间的应用上下文迁移时发送的。
  12. 如权利要求7至11任一项所述的方法,其特征在于,所述方法还包括:
    所述源传输层代理网元向所述会话管理网元发送所述第一上下文。
  13. 一种报文传输方法,其特征在于,包括:
    会话管理网元确定第一应用服务器和第二应用服务器之间需要应用上下文迁移;
    所述会话管理网元指示源传输层代理网元停止对报文进行传输层处理,并指示目标传输层代理网元启动对报文进行传输层处理。
  14. 如权利要求13所述的方法,其特征在于,所述会话管理网元指示源传输层代理网元停止对报文进行传输层处理,并指示目标传输层代理网元启动对报文进行传输层处理,包括:
    所述会话管理网元向所述目标传输层代理网元发送通知消息,所述通知消息用于指示所述目标传输层代理网元启动对报文进行传输层处理;
    所述会话管理网元向所述源传输层代理网元发送去激活指令,所述去激活指令用于指示所述源传输层代理网元停止对报文进行传输层处理。
  15. 如权利要求14所述的方法,其特征在于,所述会话管理网元向所述源传输层代理网元发送去激活指令之前,还包括:
    所述会话管理网元接收到针对所述通知消息的确认指令,所述确认指令用于指示所述 目标传输层代理网元确认已启动对报文进行传输层处理。
  16. 如权利要求13至15任一项所述的方法,其特征在于,所述方法还包括:
    若所述会话管理网元接收到所述源传输层代理网元发送的迁移完成指令,向所述第一应用服务器发送应用迁移指令,所述应用迁移指令用于指示所述第一应用服务器和所述第二应用服务器之间进行应用上下文迁移,所述迁移完成指令用于指示所述源传输层代理网元已停止对报文进行传输层处理,且所述目标传输层代理网元已启动对报文进行传输层处理。
  17. 一种报文传输方法,其特征在于,包括:
    当源传输层代理网元接收到第三指示信息,所述源传输层代理网元停止根据所述源传输层代理网元的第一上下文对第一路径上的报文进行传输层处理,所述第一上下文是所述源传输层代理网元关于第一路径上的报文传输的上下文;
    所述目标传输层代理网元根据所述第一上下文建立第四传输层连接;
    若所述目标传输层代理网元接收到第一指示信息,所述第一指示信息用于指示第一应用服务器与第二应用服务器之间的应用上下文迁移完成,所述目标传输层代理网元根据所述目标传输层代理网元的第二上下文对第二路径上的报文进行传输层处理,并将传输层处理后的报文在所述第二路径上传输,所述第二路径包括第三传输层连接和所述第四传输层连接,所述第二上下文是根据所述第一上下文和所述第四传输层连接的上下文确定,其中,在所述应用上下文迁移时,所述第一应用服务器与传输层代理网元之间停止报文传输,所述传输层代理网元包括所述源传输层代理网元或者所述目标传输层代理网元;
    其中,所述第一路径为终端设备与所述第一应用服务器之间建立的路径,所述第一路径包括第一传输层连接和第二传输层连接,所述第一传输层连接为所述源传输层代理网元与所述终端设备之间的传输层连接,所述第二传输层连接为所述源传输层代理网元与所述第一应用服务器之间的传输层连接,所述第三传输层连接为目标传输层代理网元与所述终端设备之间的传输层连接,所述第四传输层连接为所述目标传输层代理网元与第二应用服务器之间的传输层连接。
  18. 如权利要求17所述的方法,其特征在于,所述目标传输层代理网元根据所述第一上下文建立第四传输层连接之前,还包括:
    所述第一应用服务器接收应用迁移指令,所述应用迁移指令是确定所述源传输层代理网元已停止对报文进行传输层处理,且所述目标传输层代理网元已启动对报文进行传输层处理时触发的,所述第一应用服务器执行与所述第二应用服务器之间的应用上下文迁移。
  19. 如权利要求17或18所述的方法,其特征在于,所述方法还包括:
    会话管理网元从所述源传输层代理网元接收所述第一上下文,并将所述第一上下文发送至所述目标传输层代理网元。
  20. 一种通信系统,其特征在于,所述通信系统包括源传输层代理网元和目标传输层代理网元;
    所述源传输层代理网元,用于在接收到第三指示信息时,停止根据所述源传输层代理网元的第一上下文对第一路径上的报文进行传输层处理,所述第一上下文是所述源传输层代理网元关于第一路径上的报文传输的上下文;
    所述目标传输层代理网元,用于根据所述第一上下文建立第四传输层连接,并在接收到第一指示信息时,所述第一指示信息用于指示第一应用服务器与第二应用服务器之间的应用上下文迁移完成,根据所述目标传输层代理网元的第二上下文对第二路径上的报文进行传输层处理,并将传输层处理后的报文在所述第二路径上传输,所述第二路径包括第三传输层连接和所述第四传输层连接,所述第二上下文是根据所述第一上下文和所述第四传输层连接的上下文确定,其中,在所述应用上下文迁移时,所述第一应用服务器与传输层代理网元之间停止报文传输,所述传输层代理网元包括所述源传输层代理网元或者所述目标传输层代理网元;
    其中,所述第一路径为终端设备与所述第一应用服务器之间建立的路径,所述第一路径包括第一传输层连接和第二传输层连接,所述第一传输层连接为所述源传输层代理网元与所述终端设备之间的传输层连接,所述第二传输层连接为所述源传输层代理网元与所述第一应用服务器之间的传输层连接,所述第三传输层连接为目标传输层代理网元与所述终端设备之间的传输层连接,所述第四传输层连接为所述目标传输层代理网元与第二应用服务器之间的传输层连接。
  21. 如权利要求20所述的系统,其特征在于,所述系统还包括第一应用服务器和第二应用服务器;
    所述第一应用服务器,用于在接收到应用迁移指令时,所述应用迁移指令是确定所述源传输层代理网元已停止对报文进行传输层处理,且所述目标传输层代理网元已启动对报文进行传输层处理时触发的,执行与所述第二应用服务器之间的应用上下文迁移。
  22. 如权利要求20或21所述的系统,其特征在于,所述系统还包括会话管理网元,
    所述会话管理网元,用于从所述源传输层代理网元接收所述第一上下文,并将所述第一上下文发送至所述目标传输层代理网元。
  23. 一种通信装置,其特征在于,所述装置用于执行如权利要求1-6中任一项、7-12中任一项、或者13-16中任一项所述的方法。
  24. 一种通信装置,其特征在于,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得所述装置执行如权利要求1-6中任一项、7-12中任一项、或者13-16中任一项所述的方法。
  25. 一种计算机可读存储介质,其上存储有计算机程序或指令,其特征在于,所述计算机程序或指令被执行时使得计算机执行如权利要求1-6中任一项、7-12中任一项、或者13-16任一项所述的方法。
PCT/CN2019/122215 2019-11-29 2019-11-29 报文传输方法、通信装置和通信系统 WO2021103016A1 (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP19953971.9A EP4057697A4 (en) 2019-11-29 2019-11-29 PACKET TRANSMISSION METHOD, COMMUNICATION DEVICE AND COMMUNICATION SYSTEM
CN201980102285.0A CN114731557B (zh) 2019-11-29 2019-11-29 报文传输方法、通信装置和通信系统
PCT/CN2019/122215 WO2021103016A1 (zh) 2019-11-29 2019-11-29 报文传输方法、通信装置和通信系统
US17/827,539 US11722574B2 (en) 2019-11-29 2022-05-27 Packet transmission method, communication apparatus, and communication system
US18/344,655 US20230421642A1 (en) 2019-11-29 2023-06-29 Packet transmission method, communication apparatus, and communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/122215 WO2021103016A1 (zh) 2019-11-29 2019-11-29 报文传输方法、通信装置和通信系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/827,539 Continuation US11722574B2 (en) 2019-11-29 2022-05-27 Packet transmission method, communication apparatus, and communication system

Publications (1)

Publication Number Publication Date
WO2021103016A1 true WO2021103016A1 (zh) 2021-06-03

Family

ID=76128736

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/122215 WO2021103016A1 (zh) 2019-11-29 2019-11-29 报文传输方法、通信装置和通信系统

Country Status (4)

Country Link
US (2) US11722574B2 (zh)
EP (1) EP4057697A4 (zh)
CN (1) CN114731557B (zh)
WO (1) WO2021103016A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113630748A (zh) * 2021-08-18 2021-11-09 南斗六星系统集成有限公司 一种智能网联车辆文件中转传输方法及系统

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021140630A1 (ja) * 2020-01-09 2021-07-15 日本電信電話株式会社 処理装置、再配置方法及び再配置プログラム
KR20210125389A (ko) * 2020-04-08 2021-10-18 삼성전자주식회사 Target AF로 Notification을 전송하는 방법 및 장치
US11652729B1 (en) * 2022-07-19 2023-05-16 Uab 360 It Enabling efficient communications in a mesh network

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108462735A (zh) * 2017-02-21 2018-08-28 华为技术有限公司 一种选择会话管理功能实体的方法、装置和系统
US20180270778A1 (en) * 2017-03-17 2018-09-20 Samsung Electronics Co., Ltd. Af influenced pdu session management and subscription procedures
CN109788078A (zh) * 2017-11-13 2019-05-21 华为技术有限公司 应用服务器切换方法、设备及系统
US20190261260A1 (en) * 2018-02-17 2019-08-22 Huawei Technologies Co., Ltd. System and method for ue context and pdu session context management
CN110192406A (zh) * 2016-12-15 2019-08-30 Lg 电子株式会社 用于在无线通信系统中执行切换的方法及其设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10849189B2 (en) * 2016-08-18 2020-11-24 Convida Wireless, Llc Network service exposure for service and session continuity
WO2019027742A1 (en) * 2017-08-04 2019-02-07 Intel IP Corporation ESTABLISHING DATA TRANSFER TUNNEL BETWEEN TWO USER PLAN FUNCTIONS IN A FIFTH GENERATION
CN110138685B (zh) * 2018-02-08 2021-01-15 华为技术有限公司 一种通信方法及装置
US10979355B2 (en) * 2018-04-02 2021-04-13 Apple Inc. Multipath transmission control protocol proxy use in a cellular network
WO2019210966A1 (en) * 2018-05-03 2019-11-07 Huawei Technologies Co., Ltd. Client device, network control node and upf for transmission and reception of streams of data packets in multi-connectivity

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110192406A (zh) * 2016-12-15 2019-08-30 Lg 电子株式会社 用于在无线通信系统中执行切换的方法及其设备
CN108462735A (zh) * 2017-02-21 2018-08-28 华为技术有限公司 一种选择会话管理功能实体的方法、装置和系统
US20180270778A1 (en) * 2017-03-17 2018-09-20 Samsung Electronics Co., Ltd. Af influenced pdu session management and subscription procedures
CN109788078A (zh) * 2017-11-13 2019-05-21 华为技术有限公司 应用服务器切换方法、设备及系统
US20190261260A1 (en) * 2018-02-17 2019-08-22 Huawei Technologies Co., Ltd. System and method for ue context and pdu session context management

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4057697A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113630748A (zh) * 2021-08-18 2021-11-09 南斗六星系统集成有限公司 一种智能网联车辆文件中转传输方法及系统
CN113630748B (zh) * 2021-08-18 2024-04-12 南斗六星系统集成有限公司 一种智能网联车辆文件中转传输方法及系统

Also Published As

Publication number Publication date
US20220294858A1 (en) 2022-09-15
EP4057697A1 (en) 2022-09-14
CN114731557A (zh) 2022-07-08
US20230421642A1 (en) 2023-12-28
EP4057697A4 (en) 2022-11-30
US11722574B2 (en) 2023-08-08
CN114731557B (zh) 2024-07-30

Similar Documents

Publication Publication Date Title
US11051358B2 (en) Method for releasing context of user equipment in non-3GPP access network and network entity performing the same
JP7118237B2 (ja) 通信方法及び通信装置
WO2021103016A1 (zh) 报文传输方法、通信装置和通信系统
WO2020259509A1 (zh) 一种应用迁移方法及装置
WO2021042653A1 (zh) 路径切换方法、通信装置和通信系统
US11729686B2 (en) Transmission control method, apparatus, and system
TW201220790A (en) MPTCP and mobile IP interworking
WO2014127515A1 (zh) 业务提供系统、方法、移动边缘应用服务器及支持节点
TW201108674A (en) Method and apparatus for link aggregation in a heterogeneous communication system
KR20210113591A (ko) 데이터 흐름 처리 방법, 기기 및 저장 매체
WO2018176336A1 (zh) 数据传输方法和通信设备
WO2019047935A1 (zh) 一种会话建立方法及装置
WO2018023544A1 (zh) 通信方法、用户设备、基站、控制面网元和通信系统
WO2019213922A1 (zh) 中继网络中节点间转发数据的方法和网络节点
WO2022099484A1 (zh) 标识发送方法和通信装置
KR102641949B1 (ko) 비프록시 기반 다중 경로 전송 시스템, 그리고 이의 세션 연결을 위한 시그널링 방법
WO2022063187A1 (zh) 一种通信方法和装置
WO2012088830A1 (zh) 一种通信方法、消息处理方法及系统
US11997547B2 (en) Mobility management in information centric networking
JP2024506102A (ja) 進化型パケットシステム非アクセス層セキュリティアルゴリズムを構成する方法、および関連装置
WO2018228309A1 (zh) 缓存控制方法、网元及控制器
WO2021190513A1 (zh) 一种数据传输方法、装置及系统
WO2015089837A1 (zh) 路由优化的方法、路由器及位置管理实体
WO2022227010A1 (zh) 管理协议数据单元会话的方法和装置
WO2022141113A1 (zh) 多播业务通信的方法和通信装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19953971

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019953971

Country of ref document: EP

Effective date: 20220610

NENP Non-entry into the national phase

Ref country code: DE