WO2021121308A1 - 一种多路径传输的方法及设备 - Google Patents
一种多路径传输的方法及设备 Download PDFInfo
- Publication number
- WO2021121308A1 WO2021121308A1 PCT/CN2020/137149 CN2020137149W WO2021121308A1 WO 2021121308 A1 WO2021121308 A1 WO 2021121308A1 CN 2020137149 W CN2020137149 W CN 2020137149W WO 2021121308 A1 WO2021121308 A1 WO 2021121308A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- mobile terminal
- router
- transceiver
- protocol
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/60—Router architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
- H04L47/193—Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/41—Flow control; Congestion control by acting on aggregated flows or links
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/566—Grouping or aggregating service requests, e.g. for unified processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
- H04W28/086—Load balancing or load distribution among access entities
- H04W28/0861—Load balancing or load distribution among access entities between base stations
- H04W28/0865—Load balancing or load distribution among access entities between base stations of different Radio Access Technologies [RATs], e.g. LTE or WiFi
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
- H04W28/12—Flow control between communication endpoints using signalling between network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
- H04L45/243—Multipath using M+N parallel active paths
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Definitions
- the present invention relates to the field of communication technology, in particular to a method and equipment for multi-path transmission.
- a user equipment has multiple network interfaces, such as Wi-Fi (Wireless-Fidelity, wireless fidelity).
- Wi-Fi Wireless-Fidelity, wireless fidelity
- 2G The 2nd Generation Mobile Communication Technology
- 3G The 3rd Generation Mobile Communication Technology
- 4G The 4th Generation Mobile Communication Technology, fourth Generation mobile communication technology
- 5G The 5th Generation Mobile Communication Technology, fifth-generation mobile communication technology
- the traditional Transmission Control Protocol (Transfer Control Protocol, TCP) is a one-to-one transmission protocol, which cannot make full use of the advantages of multiple access and multiple network interfaces of user equipment, resulting in a waste of resources.
- IETF Internet Engineering Task Force, Internet Engineering Task Force
- MPTCP MultiPath TCP, Multipath Transmission Control Protocol
- MPTCP is an improved protocol of TCP, which allows both parties in communication to transmit data through multiple connections at the same time.
- the current common methods for deploying multi-channel protocols include: deploying multi-channel protocols on the server and performing multiple transmissions on the server to ensure smooth data in both cellular and Wi-Fi networks; deploy multi-channel protocols on network device nodes , Combining long term evolution (LTE) with Wi-Fi networks to increase bandwidth and network speed.
- LTE long term evolution
- the current multi-channel protocol deployment method requires equipment manufacturers or operators to deploy the multi-channel protocol in the server or base station, which brings high costs.
- the purpose of this application is to provide a method and device for multi-path transmission, which can reduce the cost of deploying a multi-path transmission protocol.
- the present application reduces the cost of deploying a multi-path transmission protocol, reduces the communication delay, and improves the user experience.
- a router in a first aspect, includes:
- the transceiver is used to receive coordination information sent by a mobile terminal for cooperatively establishing multiple data transmission channels;
- the processor is configured to run a multi-path transmission protocol, and according to the multi-path protocol, identify the coordination information received by the transceiver, and send matching information to the mobile terminal;
- the transceiver is used to receive and identify the matching confirmation information sent by the mobile terminal;
- the transceiver is used to receive data sent by the mobile terminal via the multiple data transmission channel;
- the processor is used to de-redundant or aggregate the data into a single data
- the transceiver is used to forward the single data to the destination server of the data.
- the multi-path transmission protocol stack is the MPTCP protocol.
- the four data channels are two data channels established through a cellular network, and two data channels established through a Wi-Fi network.
- the router is an edge router.
- a multiplexed network communication system is characterized in that the network communication system includes:
- the mobile terminal has an application program installed, and the data generated by the application program is used to send to the server;
- the mobile terminal is used to copy or split the data into multiple channels of data
- the mobile terminal is also used to run a multi-path transmission protocol to generate coordination information and send it to the router, where the coordination information is used to negotiate with the router to establish multiple data transmission channels;
- the router is configured to run the multi-path transmission protocol and receive the coordination information sent by the mobile terminal;
- the router is also used to identify the coordination information, and when the coordination information is successfully identified, send matching information to the mobile terminal;
- the mobile terminal is also used to receive and identify the matching information
- the mobile terminal sends confirmation matching information to the router;
- the router is an edge router.
- the multi-path transmission protocol stack is the MPTCP protocol.
- the multiple data channels are 4 data channels.
- the 4 data channels are two data channels established through a cellular network, and two data channels established through a Wi-Fi network.
- the application program is an application program related to user safety or privacy.
- an MEC server which is characterized in that it includes:
- the transceiver is used to receive coordination information sent by a mobile terminal for cooperatively establishing multiple data transmission channels;
- the processor is configured to run a multi-path transmission protocol, and according to the multi-path protocol, identify the coordination information received by the transceiver, and send matching information to the mobile terminal;
- the transceiver is used to receive and identify the matching confirmation information sent by the mobile terminal;
- the processor is configured to establish a multiple data transmission channel with the mobile terminal according to the confirmed matching information that is successfully identified;
- the transceiver is used to receive data sent by the mobile terminal via the multiple data transmission channel;
- the processor is used to de-redundant or aggregate the data into a single data
- the transceiver is used to forward the single data to the destination server of the data.
- the multi-path transmission protocol stack is the MPTCP protocol.
- the multiple data channels are 4 data channels.
- the four data channels are two data channels established through a cellular network, and two data channels established through a Wi-Fi network.
- FIG. 1 is a schematic diagram of the principle of a multi-path transmission protocol in an embodiment of the present application
- FIG. 2A is a schematic diagram of the hardware structure of a mobile terminal in an embodiment of the present application.
- 2B is a schematic diagram of the structure of a router in an embodiment of the present application.
- FIG. 3 is a schematic diagram of a network architecture that uses a multi-path transmission protocol to transmit data in an embodiment of the present application
- FIG. 4 is a schematic diagram of a network architecture in which a security application uses a multi-path transmission protocol to transmit data in an embodiment of the present application;
- Fig. 5 is a schematic diagram of a network architecture for transmitting data using a multi-path transmission protocol deployed on an MEC server in an embodiment of the present application;
- FIG. 6 is a schematic diagram of a data flow using a multi-path transmission protocol in an embodiment of the present application.
- FIG. 7 is a schematic diagram of a data flow of a security application using a multi-path transmission protocol in an embodiment of the present application
- Fig. 8 is a schematic diagram of a method for transmitting data using a multi-path transmission protocol in an embodiment of the present application.
- references described in this specification to "one embodiment” or “some embodiments”, etc. mean that one or more embodiments of the present application include a specific feature, structure, or characteristic described in combination with the embodiment. Therefore, the sentences “in one embodiment”, “in some embodiments”, “in some other embodiments”, “in some other embodiments”, etc. appearing in different places in this specification are not necessarily All refer to the same embodiment, but mean “one or more but not all embodiments” unless it is specifically emphasized otherwise.
- the terms “including”, “including”, “having” and their variations all mean “including but not limited to”, unless otherwise specifically emphasized.
- the embodiments of the present application disclose a method and equipment for multi-path transmission, which are used to solve the problem of high cost of deploying a multi-path transmission protocol at present, and can reduce the communication delay.
- the use of routers and mobile terminals to coordinate the use of multi-path transmission protocols can solve the problem of security risks when accessing the network in public places without relying on third-party servers. Deploying the multipath transmission protocol on the local router is more cost-effective than deploying the node on the server or network device. The detailed description will be given below.
- the multi-path transmission protocol is located in the transmission layer of the network protocol stack.
- Network protocol stack also known as protocol stack, is a specific software implementation of a computer network protocol suite.
- the network protocol stack is divided into application layer, transport layer, network layer, data link layer, and physical layer.
- the multi-path transmission protocol belongs to the protocol of the transport layer.
- the sender deployed with the multi-path transmission protocol is allowed to establish multiple sub-channels in a transmission control protocol (TCP) link.
- TCP transmission control protocol
- These channels use a three-way handshake to establish a connection and a four-way handshake to disconnect.
- the above-mentioned channels are bound to a session for multipath transmission, and the upper-layer application can select one of the established channels for transmission.
- the establishment of the first sub-channel of the multi-path transmission protocol follows the TCP three-way handshake, and an identifier capable of establishing multi-path transmission, such as "MP_CAPABLE", and a key for security purposes are added to each message segment sent.
- MP_CAPABLE an identifier capable of establishing multi-path transmission
- the identifier that can establish multi-path transmission is replaced with an identifier that joins multi-path transmission in each segment of the message sent, such as "MP_JOIN", and a token is generated based on the key value.
- the multi-path transmission protocol divides the data to be sent into multiple copies, and uses the sub-channels established above for transmission. Each sub-channel is a separate end-to-end reply.
- the above received data can be aggregated into a single data.
- This transmission mechanism is opaque to upper-layer applications.
- the upper-layer application can add and delete addresses in the link pool through the application programming interface (API), but cannot directly manage and operate the data channel of the multipath transmission protocol.
- the multipath transmission protocol ensures that the low-level TCP components are not affected.
- the specific process of the multi-path transmission protocol establishing a sub-channel in the link is: the sender will send a SYN message to the receiving end, and the field of the multi-path transmission protocol contains an identifier capable of establishing a sub-channel. If the receiving end also supports the same multi-path transmission protocol, it will return a SYN+ACK response, containing the identifier that can establish a sub-channel in the same field.
- the conversation between the sender and the receiver uses the ACK and the identifier that can establish the subchannel to complete the handshake process, ensuring that both ends get the other party's session data.
- the two ends exchanged a 64-bit session key, and at the same time each generated a 32-bit hash shared key.
- the mobile terminal uses both a wireless fidelity (Wi-Fi) network and a 4G cellular network to establish a multi-path transmission dialogue with the server.
- the mobile terminal uses the 4G cellular network to send a SYN data packet to the server.
- the above SYN data packet carries the MP_CAPABLE field, indicating that the mobile terminal supports the multi-path transmission protocol and a key;
- the server’s response SYN+ACK data packet also carries the MP_CAPABLE field and A key;
- the mobile terminal responds with ACK again, and the data channel between the mobile terminal and the server is established at this time;
- the mobile terminal uses the Wi-Fi network to send a SYN packet.
- the above SYN packet carries the MP_JOIN field, indicating that the mobile terminal needs to establish a sub-channel , And carry a token, the above token is the hash value of the above key, the above SYN packet also carries the rand field, rand is a random number; the SYN+ACK packet returned by the server carries the rand field and the HMAC field, and HMAC is The hash value of rand; the mobile terminal replies with an ACK packet, carrying the HMAC field; the server replies with an ACK packet, and the four-way handshake between the mobile terminal and the server is completed, and the sub-channel connection is established.
- coordination information will be generated, which is used to negotiate with the receiving end to establish multiple data transmission channels; the sending end sends the aforementioned coordination information to the receiving end, and the receiving end will Coordination information reception; the receiving end runs the multi-path transmission protocol to identify the coordination information it receives, and if the recognition is successful, it sends matching information to the sending end; the sending end receives the above matching information, and matches according to the matching information, if the matching is successful , Then send confirmation matching information to the receiving end; after receiving the confirmation matching information, the receiving end establishes multiple data transmission channels.
- the mode adopted is: (1) Multiple redundant multiple transmissions, that is, the sender copies the same data packet that needs to be transmitted according to the multi-path transmission protocol, and then uses multiple data channels in parallel Sent to the receiving end, the receiving end will perform data packet aggregation according to the sequence numbers of the data packets sent by different data channels. If there are data packets with the same sequence number from different data channels, one data packet will be left and the rest will be the same Data packets are discarded.
- Packet loss compensation that is, when the sender recognizes that the data packet has failed to be sent, it needs to add a subchannel through the multipath transmission protocol to change the above Data packet loss is supplemented and sent, and the receiving end receives the supplementary data packet sent by the sender, and aggregates the supplementary sent data packet with the initially sent data packet; (3) Special packets are sent redundantly, and the sender will The key message is copied.
- the sender then supplements the transmission through the sub-data channel established by the multi-path transmission protocol.
- the supplementary sent data The packet is sent to the receiving end in parallel with the data packets sent in the manner (1) and (2) above.
- the receiving end will aggregate the data packets according to the sequence numbers of the data packets sent by different data channels. If there are the same data packets from different data channels For data packets with sequence numbers, one data packet will be left and the remaining identical data packets will be discarded. If the sequence numbers are different, data packets with different sequence numbers will be aggregated.
- the multi-path transmission protocol uses four-way handshake to ensure the security of the connection and provide reliable transmission.
- the use of multi-path transmission protocol can avoid disconnection and reconnection, and make full use of network resources. For example, even if there is no Wi-Fi connection, data transmission can be continued through the cellular network.
- FIG. 2A shows a schematic structural diagram of the mobile terminal 100.
- the mobile terminal 100 may include a processor 110, an external memory interface 120, an internal memory 121, a USB interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, and a mobile communication module 150, wireless communication module 160, audio module 170, speaker 170A, receiver 170B, microphone 170C, earphone interface 170D, one or more sensors 180, buttons 190, motor 191, indicator 192, camera 193, display 194, and user An identification module (subscriber identification module, SIM) card interface 195, etc.
- SIM subscriber identification module
- the structure illustrated in this embodiment does not constitute a specific limitation on the mobile terminal 100.
- the mobile terminal 100 may include more or fewer components than shown, or combine certain components, or split certain components, or arrange different components.
- the illustrated components can be implemented in hardware, software, or a combination of software and hardware.
- the processor 110 may include one or more processing units.
- the processor 110 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), and an image signal processor. (image signal processor, ISP), controller, video codec, digital signal processor (digital signal processor, DSP), baseband processor, and/or neural-network processing unit (NPU), etc.
- different processing units may be independent components, or may be integrated in one or more processors.
- the mobile terminal 100 may also include one or more processors 110.
- the controller can generate operation control signals according to the instruction operation code and timing signals to complete the control of fetching instructions and executing instructions.
- a memory may be provided in the processor 110 to store instructions and data.
- the memory in the processor 110 may be a cache memory.
- the memory can store instructions or data that have just been used or recycled by the processor 110. If the processor 110 needs to use the instruction or data again, it can be directly called from the memory. In this way, repeated accesses are avoided, the waiting time of the processor 110 is reduced, and the efficiency of the mobile terminal 100 in processing data or executing instructions is improved.
- the memory can store the code of the multi-path transmission protocol.
- the processor 110 can run the proxy module.
- the proxy module can manage the data stream generated by the application program and decide whether to copy or split the data packet. It can also aggregate or reduce the redundancy of the data packet. I dealt with it.
- the processor 110 may include one or more interfaces.
- the interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, and a universal asynchronous transceiver (universal asynchronous transceiver) interface.
- asynchronous receiver/transmitter, UART) interface mobile industry processor interface (MIPI), general-purpose input/output (GPIO) interface, SIM card interface, and/or universal serial bus ( universal serial bus, USB) interface, etc.
- the USB interface 130 is an interface that complies with the USB standard specification, and specifically may be a Mini USB interface, a Micro USB interface, a USB Type C interface, and so on.
- the USB interface 130 can be used to connect a charger to charge the mobile terminal 100, and can also be used to transfer data between the mobile terminal 100 and peripheral devices.
- the USB interface 130 can also be used to connect earphones and play audio through the earphones.
- the interface connection relationship between the components illustrated in this embodiment is merely a schematic description, and does not constitute a structural limitation of the mobile terminal 100.
- the mobile terminal 100 may also adopt different interface connection modes in the above-mentioned embodiments, or a combination of multiple interface connection modes.
- the wireless communication function of the mobile terminal 100 may be implemented by the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor, and the baseband processor.
- the antenna 1 and the antenna 2 are used to transmit and receive electromagnetic wave signals.
- Each antenna in the mobile terminal 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization.
- Antenna 1 can be multiplexed as a diversity antenna of a wireless local area network.
- the antenna can be used in combination with a tuning switch.
- the mobile communication module 150 may provide a wireless communication solution including 2G/3G/4G/5G and the like applied to the mobile terminal 100.
- the mobile communication module 150 may include one or more filters, switches, power amplifiers, low noise amplifiers, and so on.
- the mobile communication module 150 can receive electromagnetic waves by the antenna 1, and perform processing such as filtering, amplifying and transmitting the received electromagnetic waves to the modem processor for demodulation.
- the mobile communication module 150 can also amplify the signal modulated by the modem processor, and convert it into electromagnetic waves for radiation via the antenna 1.
- at least part of the functional modules of the mobile communication module 150 may be provided in the processor 110.
- at least part of the functional modules of the mobile communication module 150 and at least part of the modules of the processor 110 may be provided in the same component.
- the wireless communication module 160 can provide applications on the mobile terminal 100 including wireless LAN (WLAN), Bluetooth, global navigation satellite system (GNSS), frequency modulation (FM), NFC, and infrared technology. (infrared, IR) and other wireless communication solutions.
- the wireless communication module 160 may be one or more components integrated with one or more communication processing modules.
- the wireless communication module 160 receives electromagnetic waves via the antenna 2, frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110.
- the wireless communication module 160 may also receive a signal to be sent from the processor 110, perform frequency modulation, amplify, and convert it into electromagnetic waves to radiate through the antenna 2.
- the antenna 1 of the mobile terminal 100 is coupled with the mobile communication module 150, and the antenna 2 is coupled with the wireless communication module 160, so that the mobile terminal 100 can communicate with a cellular network and other electronic devices through wireless communication technology.
- the wireless communication technology may include the global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), and broadband code.
- GSM global system for mobile communications
- GPRS general packet radio service
- CDMA code division multiple access
- WCDMA wideband code division multiple access
- WCDMA time division-synchronous code division multiple access
- TD-SCDMA time division-synchronous code division multiple access
- the aforementioned GNSS may include global positioning system (GPS), global navigation satellite system (GLONASS), Beidou navigation satellite system (BDS), quasi-zenith satellite system (quasi- Zenith satellite system, QZSS) and/or satellite-based augmentation systems (SBAS).
- GPS global positioning system
- GLONASS global navigation satellite system
- BDS Beidou navigation satellite system
- QZSS quasi-zenith satellite system
- SBAS satellite-based augmentation systems
- the mobile terminal 100 can implement a display function through a GPU, a display screen 194, an AP, and the like.
- the GPU is a microprocessor for image processing, connected to the display 194 and the AP.
- the GPU is used to perform mathematical and geometric calculations and is used for graphics rendering.
- the processor 110 may include one or more GPUs, which execute instructions to generate or change display information.
- the mobile terminal 100 can implement a shooting function through an ISP, one or more cameras 193, a video codec, a GPU, one or more display screens 194, and APs.
- the external memory interface 120 may be used to connect an external memory card, such as a Micro SD card, so as to expand the storage capacity of the mobile terminal 100.
- the external memory card communicates with the processor 110 through the external memory interface 120 to realize the data storage function. For example, save music, photos, videos and other data files in an external memory card.
- the internal memory 121 may be used to store one or more computer programs, and the one or more computer programs include instructions.
- the internal memory 121 may store the protocol stack of the multi-path transmission protocol.
- the processor 110 can execute the above-mentioned instructions stored in the internal memory 121, so that the mobile terminal 100 executes the method for data transmission based on the multipath transmission protocol provided in some embodiments of the present application, as well as various applications and data processing, etc. .
- the internal memory 121 may include a program storage area and a data storage area.
- the storage program area can store the operating system; the storage program area can also store one or more applications (such as photo galleries, contacts, etc.).
- the data storage area can store data (such as photos, contacts, etc.) created during the use of the mobile terminal 100.
- the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more disk storage components, flash memory components, universal flash storage (UFS), and the like.
- the processor 110 may execute instructions stored in the internal memory 121 and/or instructions stored in a memory provided in the processor 110 to cause the mobile terminal 100 to execute the instructions provided in the embodiments of the present application. The method of data transmission based on the multi-path transmission protocol, as well as other applications and data processing.
- the mobile terminal 100 can implement audio functions through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the earphone interface 170D, and AP. For example, music playback, recording, etc.
- the sensor 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, and an ambient light sensor 180L , Bone conduction sensor 180M and so on.
- the touch sensor 180K can also be called a touch panel or a touch-sensitive surface.
- the touch sensor 180K may be disposed on the display screen 194, and the touch screen is composed of the touch sensor 180K and the display screen 194.
- the touch sensor 180K is used to detect touch operations acting on or near it.
- the touch sensor can transmit the detected touch operation to the AP to determine the type of touch event.
- the visual output related to the touch operation can be provided through the display screen 194.
- the touch sensor 180K may also be disposed on the surface of the mobile terminal 100, which is different from the position of the display screen 194.
- the SIM card interface 195 is used to connect to the SIM card.
- the SIM card can be inserted into the SIM card interface 195 or pulled out from the SIM card interface 195 to achieve contact and separation with the mobile terminal 100.
- the mobile terminal 100 may support one or more SIM card interfaces.
- the SIM card interface 195 can support Nano SIM cards, Micro SIM cards, SIM cards, etc.
- the same SIM card interface 195 can insert multiple cards at the same time. The types of the multiple cards can be the same or different.
- the SIM card interface 195 can also be compatible with different types of SIM cards.
- the SIM card interface 195 may also be compatible with external memory cards.
- the mobile terminal 100 interacts with the network through the SIM card to implement functions such as call and data communication.
- the mobile terminal 100 adopts an eSIM, that is, an embedded SIM card.
- the eSIM card can be embedded in the mobile terminal 100 and cannot be separated from the mobile terminal 100.
- the wireless communication module 160 may be specifically used to establish a short-range wireless communication link with other electronic devices, so that the two can perform short-range wireless data transmission with each other.
- the aforementioned short-range wireless communication link may be a Bluetooth link, a Wi-Fi link, an NFC link, and the like. Therefore, the wireless communication module 160 may specifically include a Bluetooth communication module, a Wi-Fi communication module, or an NFC communication module.
- the present application also provides an embodiment, as shown in FIG. 2B, which is a router 102 deployed with a multi-path transmission protocol.
- the router 102 may include: at least one processor 201, such as a central processing unit (CPU), at least one communication interface 202, a memory 203 and other components. Among them, these components may be connected in communication through one or more communication buses 204.
- processor 201 such as a central processing unit (CPU)
- CPU central processing unit
- communication interface 202 such as a central processing unit (CPU)
- memory 203 such as a central processing unit (CPU)
- these components may be connected in communication through one or more communication buses 204.
- FIG. 2 does not constitute a limitation to the embodiment of the present application. It may be a bus-shaped structure or a star-shaped structure, and may also include more than that shown in the figure. Or fewer parts, or a combination of some parts, or a different arrangement of parts.
- the communication interface 202 may include a wired interface, a wireless interface, and so on.
- the memory 203 may be a random access memory (RAM), or a non-volatile memory (non-volatile memory), such as at least one disk memory.
- a multi-path transmission protocol is stored in the memory 203.
- the processor 201 can call a multi-path transmission protocol from the memory 203, and can also perform routing and forwarding functions.
- the data channel 113 may be a data channel established by the TCP protocol, or may be a data channel established by a user datagram protocol (UDP).
- the server 101 may be an application server, and the user communicates with an application installed on the mobile terminal 100 (for example, a mobile phone) through one or more communication networks. It is understandable that the data generated by the server 101 can be sent to the router 102 through the TCP protocol or the UDP protocol to establish a data channel, and after being copied or split by the proxy module of the router 102, it is forwarded to the negotiated multi-channel sock and The port sends data to the mobile terminal 100 through different network channels. After the mobile terminal 100 receives the data, the proxy module performs aggregation or de-redundancy processing on the received data, and the processed single sock data is forwarded to the upper application.
- the network architecture 120 as shown in FIG. 4 includes a mobile terminal 100, a router 102, a server 101, and a server 103.
- a multipath transmission protocol can be deployed on the mobile terminal 100, and the multipath transmission protocol can be a multipath TCP protocol (multipath TCP, MPTCP) or other multipath transmission protocols.
- the mobile terminal 100 can split or copy data generated by an application (application, APP) running on it through a proxy module, and multiplex the data to the router 102 according to a multiplexing protocol.
- the mobile terminal 100 runs security-related applications (such as online payment applications), privacy-related applications (such as private photos, private files, and other applications), and other non-security and privacy-related applications.
- the data transmission of applications involving security and privacy may use a data channel 114, which is a data channel established by the mobile terminal 100 and the router 102 through a multi-path transmission protocol.
- the data transmission of other non-security and privacy-related applications uses the data channel 115, which is a data channel established between the mobile terminal 110 and the server 103 through the TCP protocol or the UDP protocol.
- the router 102 may be a local router. When the mobile terminal 100 is connected to a public hotspot, data related to security and privacy sent by the mobile terminal 100 may be sent to a third-party server, which may cause information leakage.
- the mobile terminal 110 sends data related to security and privacy applications to the local router 102 through the data channel 114 established by the multi-path transmission protocol, and will not be sent to a third-party server.
- the local router 102 will involve security and privacy.
- the data is sent to the application server 101 through the data channel 116 established by the TCP protocol or the UDP protocol, which can effectively protect the user’s security and privacy, and can achieve Wi-Fi secure access in public places, which solves the problem of Wi-Fi security in public places. The question of risk.
- the data related to security and privacy information generated by the server 101 can be sent to the router 102 through the TCP protocol or the UDP protocol to establish a data channel, and the proxy module of the router 102 will perform the replication or split processing, and then forward it to the negotiation establishment.
- a good multiple sock and port send data to the mobile terminal 100 through different network channels.
- the proxy module After the mobile terminal 100 receives the data, the proxy module performs aggregation or de-redundancy processing on the received data, and the processed single sock data is forwarded to the upper application.
- the network architecture 130 shown in FIG. 5 includes a mobile terminal 100, a mobile edge computing (mobile edge computing, MEC) server 104, and a server 101.
- the server 101 may be an application server.
- Mobile edge computing is a network architecture concept defined by the European Telecommunications Standards Institute (ETSI), which can implement cloud computing functions and an information technology (IT) service environment at the edge of a cellular network.
- ETSI European Telecommunications Standards Institute
- IT information technology
- the MEC server 104 is deployed on a part of the base stations of the cellular network, and can provide computing resources, storage capacity, connectivity, and access to radio access network (RAN) information.
- the MEC server 104 may be a node in the 5G network.
- the MEC server 104 deploys a multi-path transmission protocol, and at the same time, the MEC server 104 supports mobile terminals for access using a Wi-Fi network.
- the mobile terminal 100 can deploy a multi-path transmission protocol, and for specific applications with high network delay requirements, such as video and voice calls, real-time games, live broadcasts, etc., select the above-mentioned specific application data packets to use the multi-path transmission protocol for multiplex transmission.
- the mobile terminal 100 can split or copy data generated by an application (application, APP) running on it through a proxy module, and multiplex the data to the router 102 according to a multiplexing protocol.
- the mobile terminal 100 can establish a cellular network-based data channel 117 and a Wi-Fi network-based data channel 118 with the MEC server 104 through a multi-path transmission protocol.
- the mobile terminal 100 sends the above-mentioned data packets of the specific application to the MEC server 104 through the data channel 117 and the data channel 118 in parallel.
- the MEC server 104 uses the multipath transmission protocol to compare data packets with the same sequence number. The data packet only leaves one remaining data packet discarded, aggregates data packets with different sequence numbers, and performs data on the combined data packet through the data channel 119 established between the MEC server 104 and the server 101 through the TCP protocol or the UDP protocol The package is sent.
- the mobile terminal 100 can also use a multi-path transmission protocol to establish subchannels for the above-mentioned special messages of specific applications for supplementary transmission, so as to achieve the effect of stabilizing the entire data link without packet loss.
- the mobile terminal 100 and the MEC server 104 cooperatively use the multi-path transmission protocol to transmit data.
- the mobile terminal 100 does not need to go through the core network to save time delay.
- the mobile terminal 100 and the MEC server 104 cooperatively use a multi-path transmission protocol to transmit data, and it is also possible to avoid using a third-party server to make data transmission more secure.
- the data generated by the server 101 can be sent to the MEC server 104 through the TCP protocol or the UDP protocol to establish a data channel, and after being copied or split by the proxy module of the MEC server 104, it is forwarded to the negotiated multipath.
- the sock and port send data to the mobile terminal 100 through different network channels.
- the proxy module After the mobile terminal 100 receives the data, the proxy module performs aggregation or de-redundancy processing on the received data, and the processed single sock data is forwarded to the upper application.
- FIG. 6 shows the difference between the mobile terminal 100 using the multi-path transmission protocol to transmit data and not using the multi-path transmission protocol to transmit data.
- This embodiment includes the mobile terminal 100, the router 102, and the server 101.
- the mobile terminal 100 deploys a multi-path transmission protocol and proxy module, and the router 102 deploys the same multi-path transmission protocol and proxy module.
- the server 101 may be an application server.
- the mobile terminal 100 wants to send the data generated by the APP to the target application server 101, and can establish a socket according to the TCP protocol, and use the original data path, that is, single data for data transmission.
- the mobile terminal 100 can negotiate with the router 102 to establish multiple socks and ports according to the currently available network channels.
- the proxy module processes the socket information generated by the APP and copies and forwards it to the negotiated multiple socks and ports, such as sock1 and sock2. , Sock3, sock4, if the mobile terminal 100 supports the use of dual cellular networks and dual Wi-Fi networks, the above four socks can be sent in different data channels using different networks.
- the router 102 receives data packets sent from multiple data channels on the mobile terminal side, and the proxy module aggregates and de-redundates the above data packets according to the data packets and ports, and forms a single sock.
- the single data is established by the router 102 and the server 101 The channel forwards the single sock to the server 101.
- the mobile terminal judges whether it needs to use the multi-path protocol for data transmission based on the upper-layer service requirements and scenarios.
- the mobile terminal 100 is included, and the application APP1 installed on the mobile terminal 100 And APP2, router 102, application server 101 of APP1, and application server 103 of APP2.
- the mobile terminal 100 is deployed with a multi-path transmission protocol and a proxy module, and the router 102 is also deployed with the same multi-path transmission protocol and a proxy module.
- the mobile terminal 100 and the router 102 can cooperate to establish multiple socks and ports for data transmission.
- APP1 installed on the mobile terminal 100 is not a secure application, so the data transmission uses TCP protocol to establish a single data channel to transmit to the application server 103;
- APP2 is a secure application, where Data sock1 that does not involve security information uses TCP protocol to establish a single data channel transmission, among which data sock2 involving security information such as payment is processed by the proxy module and uses the multipath transmission protocol to establish multiple socks and ports in cooperation with the router 102 to transmit the data to Router 102.
- the proxy module of the router 102 aggregates and de-redundates the data packets to form a single sock2, which is established by the TCP protocol between the router 102 and the application server 101
- the data channel is sent to the application server 101.
- the data related to security information generated by the server 101 can be sent to the router 102 through the TCP protocol or the UDP protocol to establish a data channel, and after being copied or split by the proxy module of the router 102, it is forwarded to the negotiated establishment.
- Multiple socks and ports send data to the mobile terminal 100 through different network channels. After the mobile terminal 100 receives the data, it aggregates or de-redundates the received data through the proxy module, and the processed single sock data is forwarded to the security application APP2.
- a multi-path transmission method including a mobile terminal 100, a router 102, a server 101, a server 103, and an MEC server 104.
- the mobile terminal 100 is deployed with a multipath transmission protocol and proxy module
- the MEC server 104 is deployed with the same multipath transmission protocol and proxy module
- the router 102 is deployed with the same multipath transmission protocol and proxy module.
- the router 102 may be a local router.
- step S102 the router 102 receives the multiple sock data sent by the mobile terminal 100, and the multiple sock and port pairs established by the router 102 are aggregated or de-redundant through the proxy module, and the processed sock data is aggregated or de-redundant.
- the single sock data is forwarded to the original destination server 101 through the data channel established by the TCP protocol or the UDP protocol.
- step S103 the server 101 generates sock data, and sends it to the router 102 through the data channel established by the TCP protocol or the UDP protocol.
- the proxy module of the router 102 processes the sock data generated by the server, copies or splits the sock data and forwards it to the negotiated data channel.
- the sock and port send data to the mobile terminal 100 through different network channels.
- step S104 the mobile terminal 100 receives the multiple sock data sent by the router 102, and the mobile terminal 100 performs aggregation or de-redundancy processing on the multiple sock data established by the multi-channel sock and port pair through the proxy module, and the processed The single sock data is forwarded to the upper application.
- the above method may further include:
- step S201 the security application of the mobile terminal 100 generates sock data, and the mobile terminal 100 negotiates with the router 102 to establish multiple socks and ports according to the currently available network channel, such as a cellular network or a Wi-Fi network.
- the proxy module processes the sock information generated by the application, copies or splits and forwards it to the negotiated multi-channel sock and port, and sends data to the router 102 through different network channels.
- step S204 the server 101 generates security-related sock data, and sends it to the router 102 through the data channel established by the TCP protocol or the UDP protocol.
- the proxy module of the router 102 processes the security-related sock data generated by the server, copies or splits the sock data and forwards it To the multi-channel sock and port established through negotiation, data is sent to the mobile terminal 100 through different network channels.
- step S205 the mobile terminal 100 receives multiple security-related sock data sent by the router 102, and the mobile terminal 100 establishes a multi-channel sock and port pair according to the negotiation, and the multiple security-related sock data is aggregated or de-redundant through the proxy module. Processing, forwarding the processed single security-related sock data to the security application.
- the above method may further include:
- step S301 the upper application of the mobile terminal 100 generates sock data, and the mobile terminal 100 negotiates with the MEC server 104 to establish multiple socks and ports according to the currently available network channel, such as a cellular network or a Wi-Fi network.
- the proxy module processes the sock information generated by the application, copies or splits and forwards it to the negotiated multi-channel sock and port, and sends data to the MEC server 104 through different network channels.
- the MEC server 104 receives the multi-channel sock data sent by the mobile terminal 100.
- the MEC server 104 performs aggregation or de-redundancy processing on the multi-channel sock data through the proxy module based on the multi-channel sock and port established through the negotiation.
- the single sock data is forwarded to the original destination server 101 through the data channel established by the TCP protocol or the UDP protocol.
- step S303 the server 101 generates sock data, and sends it to the MEC server 104 through the data channel established by the TCP protocol or the UDP protocol.
- the proxy module of the MEC server 104 processes the sock data generated by the server, copies or splits the sock data and forwards it to the negotiation establishment.
- the multi-channel sock and port send data to the mobile terminal 100 through different network channels.
- Step S304 the mobile terminal 100 receives the multiple sock data sent by the router 102, and the mobile terminal 100 performs aggregation or de-redundancy processing of the multiple sock data through the proxy module based on the multiple sock and port pairs established through the negotiation, and the processed The single sock data is forwarded to the upper application.
- 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.
- 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 DVD), or a semiconductor medium (for example, a solid state disk (SSD)).
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Library & Information Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供一种路由器,其特征在于,所述路由器包括:处理器;收发器;所述收发器用于接收移动终端发送的协同建立多路数据传输通道的协同信息;所述处理器用于运行多路径传输协议,并根据所述多路径协议,对所述收发器接收的所述协同信息进行识别,并发送匹配信息给所述移动终端;所述收发器用于接收并识别所述移动终端发送的确认匹配信息;所述处理器用于根据识别成功的所述确认匹配信息建立与所述移动终端之间的多路数据传输通道;所述收发器用于接收所述移动终端经过所述多路数据传输通道发送的数据;所述处理器用于将所述数据去冗余或者聚合成单一数据;所述收发器用于将所述单一数据转发到所述数据的目的服务器。
Description
本申请要求在2019年12月19日提交中国国家知识产权局、申请号为201911315074.3的中国专利申请的优先权,发明名称为“一种多路径传输的方法及设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本发明涉及通信技术领域,尤其涉及一种多路径传输的方法及设备。
目前,随着互联网的飞速发展,以及手机、笔记本等用户设备(User Equipment,UE)宽带接入技术的进步,一个用户设备具有多个网络接口,如Wi-Fi(Wireless-Fidelity,无线保真)接口、2G(The 2nd Generation Mobile Communication Technology,第二代移动通信技术)接口、3G(The 3rd Generation Mobile Communication Technology,第三代移动通信技术)接口、4G(The 4th Generation Mobile Communication Technology,第四代移动通信技术)接口、5G(The 5th Generation Mobile Communication Technology,第五代移动通信技术)接口等等,从而可以实现到目标节点的多条链路。传统的传输控制协议(Transfer Control Protocol,TCP)是一对一的传输协议,不能够充分利用用户设备的多址多网络接口的优势,从而造成资源浪费。基于此,IETF(Internet Engineering Task Force,互联网工程任务组)提出了MPTCP(MultiPath TCP,多路径传输控制协议)。MPTCP是一种TCP的改进协议,它允许通信双方同时通过多条连接进行数据传送。目前常见的多路协议部署方法有:将多路协议部署在服务器,在服务器做多路传输,可以保证在蜂窝网络和Wi-Fi网络下都能流畅数据;将多路协议部署在网络设备节点,将长期演进(long term evolution,LTE)与Wi-Fi网络相结合,提升带宽和网速。但目前的多路协议部署方法需要设备厂商或者运营商在服务器或者基站部署多路协议,带来很高的成本。
发明内容
本申请的目的在于提供一种多路径传输的方法及装置,可以降低部署多路径传输协议的成本。本申请降低了部署多路径传输协议的成本,降低了通信的时延,提升了用户的使用体验。
上述目标和其他目标将通过独立权利要求中的特征来达成。进一步的实现方式在从属权利要求,说明书和附图中体现。
第一方面,提供一种路由器,其特征在于,所述路由器包括:
处理器;
收发器;
所述收发器用于接收移动终端发送的协同建立多路数据传输通道的协同信息;
所述处理器用于运行多路径传输协议,并根据所述多路径协议,对所述收发器接收的所述协同信息进行识别,并发送匹配信息给所述移动终端;
所述收发器用于接收并识别所述移动终端发送的确认匹配信息;
所述处理器用于根据识别成功的所述确认匹配信息建立与所述移动终端之间的多路数据传输通道;
所述收发器用于接收所述移动终端经过所述多路数据传输通道发送的数据;
所述处理器用于将所述数据去冗余或者聚合成单一数据;
所述收发器用于将所述单一数据转发到所述数据的目的服务器。
在一种可能的实现方式中,其特征在于,所述多路径传输协议栈是MPTCP协议。
在一种可能的实现方式中,根据权利要求1所述的路由器,其特征在于,所述多个数据通道为4个数据通道。
在一种可能的实现方式中,其特征在于,所述4个数据通道是两个通过蜂窝网络建立的数据通道,两个通过Wi-Fi网络建立的数据通道。
在一种可能的实现方式中,其特征在于,所述路由器是边缘路由器。
第二方面,一种多路传输的网络通信系统,其特征在于,所述网络通信系统包括:
移动终端;
路由器;
服务器;
所述移动终端安装了应用程序,所述应用程序产生的数据用于发送至所述服务器;
所述移动终端用于将所述数据复制或者拆分成多路数据;
所述移动终端还用于运行多路径传输协议,产生协同信息并发送至所述路由器,所述协同信息用于与所述路由器协商建立多路数据传输通道;
所述路由器用于运行所述多路径传输协议,并接收所述移动终端发送的所述协同信息;
所述路由器还用于识别所述协同信息,当成功识别所述协同信息,发送匹配信息到所述移动终端;
所述移动终端还用于,接收并识别所述匹配信息;
当成功识别所述匹配信息,所述移动终端发送确认匹配信息给所述路由器;
所述路由器接收并识别所述确认匹配信息,当成功识别所述确认匹配信息,建立与所述移动终端之间的多路数据传输通道。
在一种可能的实现方式中,其特征在于,所述路由器是边缘路由器。
在一种可能的实现方式中,其特征在于,所述多路径传输协议栈是MPTCP协议。
在一种可能的实现方式中,其特征在于,所述多个数据通道为4个数据通道。
在一种可能的实现方式中,其特征在于,所述4个数据通道是两个通过蜂窝 网络建立的数据通道,两个通过Wi-Fi网络建立的数据通道。
在一种可能的实现方式中,其特征在于,所述应用程序是涉及用户安全或者隐私的应用程序。
第三方面,提供一种MEC服务器,其特征在于,包括:
处理器;
收发器;
所述收发器用于接收移动终端发送的协同建立多路数据传输通道的协同信息;
所述处理器用于运行多路径传输协议,并根据所述多路径协议,对所述收发器接收的所述协同信息进行识别,并发送匹配信息给所述移动终端;
所述收发器用于接收并识别所述移动终端发送的确认匹配信息;
所述处理器用于根据识别成功的所述确认匹配信息建立与所述移动终端之间的多路数据传输通道;
所述收发器用于接收所述移动终端经过所述多路数据传输通道发送的数据;
所述处理器用于将所述数据去冗余或者聚合成单一数据;
所述收发器用于将所述单一数据转发到所述数据的目的服务器。
在一种可能的方式中,其特征在于,所述多路径传输协议栈是MPTCP协议。
在一种可能的方式中,其特征在于,所述多个数据通道为4个数据通道。
在一种可能的方式中,其特征在于,所述4个数据通道是两个通过蜂窝网络建立的数据通道,两个通过Wi-Fi网络建立的数据通道。
应当理解的是,本申请中对技术特征、技术方案、有益效果或类似语言的描述并不是暗示在任意的单个实施例中可以实现所有的特点和优点。相反,可以理解的是对于特征或有益效果的描述意味着在一个或多个实施例中包括特定的技术特征、技术方案或有益效果。因此,本说明书中对于技术特征、技术方案或有益效果的描述并不一定是指相同的实施例。进而,还可以任何适当的方式组合本实施例中所描述的技术特征、技术方案和有益效果。本领域技术人员将会理解,无需特定实施例的一个或多个特定的技术特征、技术方案或有益效果即可实现实施例。在其他实施例中,还可在没有体现所有实施例的特定实施例中识别出额外的技术特征和有益效果。
图1是本申请一实施例中多路径传输协议的原理示意图;
图2A是本申请一实施例中移动终端的硬件结构示意图;
图2B是本申请一实施例中路由器的结构示意图;
图3是本申请一实施例中一种使用多路径传输协议传输数据的网络架构示意图;
图4是本申请一实施例中一种安全应用使用多路径传输协议传输数据的网络架构示意图;
图5是本申请一实施例中一种使用部署在MEC服务器的多路径传输协议传 输数据的网络架构示意图;
图6是本申请一实施例中一种使用多路径传输协议的数据流程示意图;
图7是本申请一实施例中一种安全应用使用多路径传输协议的数据流程示意图;
图8是本申请一实施例中一种使用多路径传输协议传输数据的方法示意图。
以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请以下各实施例中,“至少一个”、“一个或多个”是指一个、两个或两个以上。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例公开了一种多路径传输的方法及设备,用于解决目前部署多路径传输协议成本高的问题,且可以降低通信的时延。利用路由器与移动终端协同使用多路径传输协议,能够不依赖第三方服务器,解决在公共场所访问网络有安全风险的问题。将多路径传输协议部署在本地路由器相比部署在服务器或者网络设备的节点更加节省成本。以下将分别进行详细说明。
本申请提供一实施例,如图1所示,多路径传输协议位于网络协议栈的传输层。网络协议栈(protocol stack),又称为协议堆叠,是计算机网络协议套件的一个具体的软件实现。网络协议栈分为应用层、传输层、网络层、数据链路层、物理层,多路径传输协议属于传输层的协议。部署了多路径传输协议的发送端允许在一条传输控制协议(transmission control protocol,TCP)链路中建立多个子通道,当一条通道按照TCP协议的三次握手的方式建立起来后,可以按照三次握手的方式建立其他子通道。这些通道以三次握手建立连接和四次握手解除连接。上述通道都会绑定多路径传输的会话(session),上层的应用(application)可以在建立的多条通道中选择其中一条进行传输。多路径传输协议的第一个子通道的建立,遵循TCP的三次握手,并在每次发送的报文段添加能够建立多路径传输的标识符,如“MP_CAPABLE”,和一个安全用途的key。在建立其他子通道时, 需要进行三次握手,在每次发送报文段将能够建立多路径传输的标识符更换为加入多路径传输的标识符,如“MP_JOIN”,并基于key值生成一个token,用以标识该子通道。多路径传输协议把需要发送的数据分割成多份,并用上述建立的子通道进行传输,每一个子通道都是一个单独的端对端回话。在部署了多路径传输协议的接收端,可以把上述接收的数据聚合成单一的数据。这种传输机制对于上层应用程序来说是不透明的。上层应用程序可以通过应用程序接口(application programming interface,API)在链路池中添加和删除地址,但不能直接管理和操作多路径传输协议的数据通道。多路径传输协议保证了低层级的TCP组件不受影响。
多路径传输协议在链路中建立子通道的具体流程为:发送端会向接收端发送SYN消息,在多路径传输协议的字段中包含了能够建立子通道的标识符。如果接收端也支持相同的多路径传输协议,会返回SYN+ACK响应,在同样的字段中包含了能够建立子通道的标识符。发送端与接收端的会话使用ACK和能够建立子通道的标识符完成了握手过程,确保两端都得到了对方的会话数据。在整个会话过程中,两端交换了64位字节的会话密钥,同时各自生成一个32位的哈希共享密钥。示例性地,移动终端同时使用无线保真(wireless fidelity,Wi-Fi)网络和4G蜂窝网络与服务器建立多路径传输对话。移动终端使用4G蜂窝网络发送一个SYN数据包给服务器,上述SYN数据包携带了MP_CAPABLE字段,表明移动终端支持多路径传输协议,以及一个key;服务器的回应SYN+ACK数据包同样携带了MP_CAPABLE字段以及一个key;移动终端再次回应ACK,此时建立移动终端与服务器之间的数据通道;移动终端使用Wi-Fi网络发送SYN数据包,上述SYN数据包携带了MP_JOIN字段,说明移动终端要建立子通道,并且携带一个token,上述token为上述key的哈希值,上述SYN数据包还携带了rand字段,rand是一个随机数;服务器回应的SYN+ACK数据包携带了rand字段和HMAC字段,HMAC是rand的哈希值;移动终端再回复ACK数据包,携带HMAC字段;服务器回复ACK数据包,此时移动终端与服务器的四次握手完毕,建立子通道连接。
可以理解的是,在发送端运行多路径传输协议时,会产生协同信息,该协同信息用于与接收端协商建立多路数据传输通道;发送端将上述协同信息发送至接收端,接收端将协同信息接收;接收端运行多路径传输协议,将其接收的协同信息进行识别,如果识别成功,则向发送端发送匹配信息;发送端接收上述匹配信息,并根据匹配信息进行匹配,如果匹配成功,则发送确认匹配信息给接收端;接收端在收到确认匹配信息后,建立多路数据传输通道。
发送端使用多路径传输协议传输数据时,采用的模式为:(1)多路冗余多发,即发送端根据多路径传输协议把需要传输的同一数据包进行复制,然后通过多条数据通道并行发送至接收端,接收端会根据不同的数据通道发送来的数据包的序号进行数据包聚合,如果有来自不同数据通道的相同序号的数据包,则将留下一个数据包并将剩余的相同数据包丢弃,如果序号不同,则将不同序号的数据包进 行聚合;(2)丢包补包,即当发送端识别到数据包发送失败,需要通过多路径传输协议增加一条子通道,把上述数据包丢失的数据进行补充发送,接收端收到发送端补充发送的数据包,并将补充发送的数据包与初始发送的数据包进行聚合;(3)特殊报文冗余多发,发送端将关键的报文进行复制,在数据包被以上述(1)、(2)两种方式发送的情况下,发送端再通过多路径传输协议建立的子数据通道进行补充发送,该补充发送的数据包与上述以(1)、(2)方式发送的数据包并行发送到接收端,接收端会根据不同的数据通道发来的数据包的序号进行数据包聚合,如果有来自不同数据通道的相同序号的数据包,则将留下一个数据包并将剩余的相同数据包丢弃,如果序号不同,则将不同序号的数据包进行聚合。
多路径传输协议使用四次握手是为了保证连接的安全,并且可以提供可靠的传输。使用多路径传输协议可以避免断线重连,充分利用网络资源,例如即使没有Wi-Fi连接,也可以通过蜂窝网络继续进行数据传输。
本申请还提供了一实施例,图2A示出了移动终端100的结构示意图。如图2A所示,移动终端100可以包括处理器110,外部存储器接口120,内部存储器121,USB接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,一个或多个传感器180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。可以理解的是,本实施例示意的结构并不构成对移动终端100的具体限定。在另一些实施例中,移动终端100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件,或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的部件,也可以集成在一个或多个处理器中。在一些实施例中,移动终端100也可以包括一个或多个处理器110。其中,控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。在其他一些实施例中,处理器110中还可以设置存储器,用于存储指令和数据。示例性地,处理器110中的存储器可以为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。这样就避免了重复存取,减少了处理器110的等待时间,因而提高了移动终端100处理数据或执行指令的效率。存储器可以存储多路径传输协议的代码,处理器110可以运行proxy模块,proxy模块可以管理应用程序产生的数据流,并决定是否将数据包复制或拆分,还可以对数据包进行聚合或者去冗余处理。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路间(inter-integrated circuit,I2C)接口,集成电路间音频(inter-integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purpose input/output,GPIO)接口,SIM卡接口,和/或通用串行总线(universal serial bus,USB)接口等。其中,USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为移动终端100充电,也可以用于移动终端100与外围设备之间传输数据。该USB接口130也可以用于连接耳机,通过耳机播放音频。
可以理解的是,本实施例示意的各部件间的接口连接关系,只是示意性说明,并不构成对移动终端100的结构限定。在另一些实施例中,移动终端100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
移动终端100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。移动终端100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在移动终端100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括一个或多个滤波器,开关,功率放大器,低噪声放大器等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个部件中。
无线通信模块160可以提供应用在移动终端100上的包括无线局域网(wireless LAN,WLAN),蓝牙,全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),NFC,红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成一个或多个通信处理模块的一个或多个部件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,移动终端100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得移动终端100可以通过无线通信技术与蜂窝网络以及其他电子设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet r adio service,GPRS),码分多址(code division multiple access,CDMA),宽频码分多址(wideband code division multiple access,WCDMA),时分同步码分多址(time division-synchronous code divison multiple access,TD-SCDMA),LTE,GNSS,WLAN,NFC,FM,和/或IR技术等。上述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
移动终端100通过GPU,显示屏194,以及AP等可以实现显示功能。GPU为图像处理的微处理器,连接显示屏194和AP。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行指令以生成或改变显示信息。移动终端100可以通过ISP,一个或多个摄像头193,视频编解码器,GPU,一个或多个显示屏194以及AP等实现拍摄功能。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展移动终端100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐、照片、视频等数据文件保存在外部存储卡中。
内部存储器121可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。内部存储器121可以存储多路径传输协议的协议栈。处理器110可以通过运行存储在内部存储器121的上述指令,从而使得移动终端100执行本申请一些实施例中所提供的基于多路径传输协议进行数据传输的方法,以及各种应用以及数据的处理等。示例性地,内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统;该存储程序区还可以存储一个或多个应用(比如图库、联系人等)等。存储数据区可存储移动终端100使用过程中所创建的数据(比如照片,联系人等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储部件,闪存部件,通用闪存存储器(universal flash storage,UFS)等。在一些实施例中,处理器110可以通过运行存储在内部存储器121的指令,和/或存储在设置于处理器110中的存储器的指令,来使得移动终端100执行本申请实施例中所提供的基于多路径传输协议进行数据传输的方法,以及其他应用及数据处理。
移动终端100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及AP等实现音频功能。例如音乐播放,录音等。
传感器180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。其中,触摸传感器180K,也可称触控面板或触敏表面。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸 传感器可以将检测到的触摸操作传递给AP,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于移动终端100的表面,与显示屏194所处的位置不同。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和移动终端100的接触和分离。移动终端100可以支持一个或多个SIM卡接口。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。移动终端100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,移动终端100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在移动终端100中,不能和移动终端100分离。
在一些实施例中,无线通信模块160具体可以用于与其他电子设备建立短距离无线通信链路,以便两者之间相互进行短距离无线数据传输。示例性地,上述短距离无线通信链路可以是蓝牙链路、Wi-Fi链路、NFC链路等。因此,无线通信模块160具体可以包括蓝牙通信模块、Wi-Fi通信模块或NFC通信模块。
本申请还提供了一实施例,如图2B所示,为部署了多路径传输协议的路由器102。路由器102可以包括:至少一个处理器201,例如中央处理器(central processing unit,CPU),至少一个通信接口202,存储器203等组件。其中,这些组件可以通过一条或多条通信总线204进行通信连接。本领域技术人员可以理解,图2中所示的路由器102的结构并不构成对本申请实施例的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:通信接口202可以包括有线接口和无线接口等。存储器203可以是告诉随机存取存储器(random access memory,RAM),也可以是非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器203中存有多路径传输协议。处理器201可以从存储器203中调用多路径传输协议,还可以执行路由和转送功能。
在一些实施例中,示例性地,如图3所示在网络架构110中,包括移动终端100、路由器102、服务器101。移动终端100上可以部署多路径传输协议,该多路径传输协议可以是多路径TCP协议(multipath TCP,MPTCP),也可以是其他多路径传输协议。移动终端100可以把运行在其上的应用(application,APP)产生的数据通过proxy模块进行拆分或者复制并根据多路传输协议分多路传输给路由器102。例如APP产生的数据可以通过蜂窝网络在移动终端100与路由器102之间的数据通道111上传输数据,上述数据通道111为移动终端110使用多路径传输协议建立的数据通道或者子数据通道,也可以同时用Wi-Fi网络在移动终端100与路由器102之间的数据通道112上传输数据,上述数据通道112位移动终端110使用多路径传输协议建立的数据通道或者子数据通道。路由器102上也部署了与移动终端100相同的多路径传输协议。路由器102将移动终端100传输的由数据通道111和由数据通道112传输的多路数据进行聚合或者去冗余, 将多路传输的数据变为一路数据,并通过数据通道113转发给服务器101,该数据通道113可以是由TCP协议建立的数据通道,也可以是由数据报文协议(user datagram protocol,UDP)建立的数据通道。服务器101可以是应用服务器,用户通过一个或多个通信网络与移动终端100(例如手机)上安装的应用进行通信。可以理解的是,服务器101产生的数据可以通过TCP协议或者UDP协议建立数据通道发送给路由器102,并由路由器102的proxy模块做复制或者拆分处理后,转发到协商建立好的多路sock与端口,通过不同的网络通道发送数据到移动终端100。移动终端100接收到数据后,通过proxy模块对接收到的数据进行聚合或者去冗余的处理,处理后的单一sock数据被转发到上层应用。
在另外一些实施例中,示例性地,如图4所示的网络架构120中,包括移动终端100、路由器102、服务器101和服务器103。移动终端100上可以部署多路径传输协议,该多路径传输协议可以是多路径TCP协议(multipath TCP,MPTCP),也可以是其他多路径传输协议。移动终端100可以把运行在其上的应用(application,APP)产生的数据通过proxy模块进行拆分或者复制并根据多路传输协议分多路传输给路由器102。移动终端100上运行了涉及安全的应用(如网络支付应用)、涉及隐私的应用(如私人照片、私人文件等应用),以及其他非涉及安全、隐私的应用。涉及安全、隐私的应用的数据传输可以使用数据通道114,数据通道114为移动终端100与路由器102通过多路径传输协议建立的数据通道。而其他非涉及安全、隐私的应用的数据传输使用数据通道115,数据通道115为移动终端110与服务器103之间通过TCP协议或者UDP协议建立的数据通道。路由器102可以是本地路由器。当移动终端100连接公共热点时,移动终端100发送的涉及安全、隐私的数据可能被发送到第三方服务器,有信息泄露的风险。在本实施例中移动终端110将涉及安全、隐私的应用的数据通过多路径传输协议建立的数据通道114发送到本地路由器102,不会发送到第三方服务器,再由本地路由器102将涉及安全、隐私的数据通过TCP协议或者UDP协议建立的数据通道116发送到应用服务器101,可以有效的保护用户的安全和隐私,并能够在公共场所实现Wi-Fi安全访问,解决了公共场所Wi-Fi有安全风险的问题。可以理解的是,服务器101产生的涉及安全、隐私信息的数据可以通过TCP协议或者UDP协议建立数据通道发送给路由器102,并由路由器102的proxy模块做复制或者拆分处理后,转发到协商建立好的多路sock与端口,通过不同的网络通道发送数据到移动终端100。移动终端100接收到数据后,通过proxy模块对接收到的数据进行聚合或者去冗余的处理,处理后的单一sock数据被转发到上层应用。
在一些实施例中,示例性地,如图5所示的网络架构130中,包括移动终端100、移动边缘计算(mobile edge computing,MEC)服务器104、服务器101。服务器101可以是应用服务器。移动边缘计算是欧洲电信标准协会(European Telecommunications Standards Institute,ETSI)定义的网络架构概念,可在蜂窝网络的边缘实现云计算功能和信息技术(information technology,IT)的服务环 境。MEC服务器104部署在蜂窝网络的一部分基站上,并能够提供计算资源、存储容量、连接性和对无线电接入网(radio access network,RAN)信息的访问。MEC服务器104可以是5G网络中的一个节点。MEC服务器104部署了多路径传输协议,同时MEC服务器104支持移动终端使用Wi-Fi网络进行访问。移动终端100可以部署多路径传输协议,并针对网络时延要求高的特定应用,如视频语音通话、实时游戏、直播等,选择上述特定应用的数据包使用多路径传输协议来进行多路传输。移动终端100可以把运行在其上的应用(application,APP)产生的数据通过proxy模块进行拆分或者复制并根据多路传输协议分多路传输给路由器102。移动终端100可以与MEC服务器104通过多路径传输协议建立基于蜂窝网络的数据通道117和基于Wi-Fi网络的数据通道118。移动终端100将上述特定应用的数据包通过数据通道117与数据通道118并行发送给MEC服务器104,MEC服务器104在接收到不同数据通道发送来的数据包后,通过多路径传输协议对序号相同的数据包只留下一个剩余的数据包丢弃,对序号不同的数据包进行聚合,并将合并后的数据包通过MEC服务器104与服务器101之间通过TCP协议或者UDP协议建立的数据通道119进行数据包发送。移动终端100还可以通过多路径传输协议,对上述特定应用的特殊报文建立子通道进行补充发送,达到整个数据链路稳定不丢包的效果。本实施例中移动终端100与MEC服务器104协同使用多路径传输协议传输数据,相比图3所示的实施例,不需要经过核心网节省了时延。本实施例中移动终端100与MEC服务器104协同使用多路径传输协议传输数据,还能够不使用第三方服务器,使数据传输更加安全。可以理解的是,服务器101产生的数据可以通过TCP协议或者UDP协议建立数据通道发送给MEC服务器104,并由MEC服务器104的proxy模块做复制或者拆分处理后,转发到协商建立好的多路sock与端口,通过不同的网络通道发送数据到移动终端100。移动终端100接收到数据后,通过proxy模块对接收到的数据进行聚合或者去冗余的处理,处理后的单一sock数据被转发到上层应用。
在一些实施例中,如图6所示为移动终端100使用多路径传输协议传输数据与不使用多路径传输协议传输数据的区别,本实施例包括移动终端100、路由器102、服务器101。移动终端100部署了多路径传输协议与代理(proxy)模块,路由器102部署了同样的多路径传输协议与proxy模块。服务器101可以是应用服务器。移动终端100要将APP产生的数据发送给目标应用服务器101,可以根据TCP协议建立socket,使用原数据路径,也就是单一数据进行数据传输。移动终端100可以根据当前可用的网络通道,与路由器102协商建立多路sock与端口,proxy模块处理APP产生的socket信息,复制转发到建立协商好的多路sock与端口,例如分为sock1、sock2、sock3、sock4,如果移动终端100支持使用双蜂窝网络和双Wi-Fi网络,则可以将上述四个sock分别用不同的网络在不同的数据通道中进行发送。路由器102接收移动终端侧的多个数据通道发送来的数据包,proxy模块根据数据包与端口将上述数据包进行聚合和去冗余,并形成单一sock,通过路由器102与服务器101建立的单一数据通道将单一sock转发到服 务器101。可以理解的是,服务器101产生的数据可以通过TCP协议或者UDP协议建立数据通道发送给路由器102,并由路由器102的proxy模块做复制或者拆分处理后,转发到协商建立好的多路sock与端口,通过不同的网络通道发送数据到移动终端100。移动终端100接收到数据后,通过proxy模块对接收到的数据进行聚合或者去冗余的处理,处理后的单一sock数据被转发到上层应用。
在一些实施例中,如图7所示为移动终端基于上层业务需求与场景判断是否需要使用多路径协议进行数据传输,在上述场景中包括移动终端100,安装在移动终端100上的应用程序APP1和APP2,路由器102,APP1的应用服务器101,APP2的应用服务器103。移动终端100上部署了多路径传输协议和proxy模块,路由器102上也部署了同样的多路径传输协议和proxy模块。移动终端100与路由器102可以协同建立多路sock与端口进行数据传输。例如在移动终端连接公共热点时需要使用安全应用的场景下,安装在移动终端100上的APP1不是安全应用,所以数据传输用TCP协议建立单数据通道传送到应用服务器103;APP2是安全应用,其中不涉及安全信息的数据sock1用TCP协议建立单数据通道传输,其中涉及支付等安全信息的数据sock2通过proxy模块处理并使用多路径传输协议与路由器102协同建立的多路sock与端口将数据传送到路由器102,路由器102在接收多路sock传输的数据后,路由器102的proxy模块对数据包进行聚合和去冗余,并形成单一sock2,通过路由器102与应用服务器101之间用TCP协议建立的单一数据通道发送到应用服务器101。可以理解的是,服务器101产生的涉及安全信息的数据可以通过TCP协议或者UDP协议建立数据通道发送给路由器102,并由路由器102的proxy模块做复制或者拆分处理后,转发到协商建立好的多路sock与端口,通过不同的网络通道发送数据到移动终端100。移动终端100接收到数据后,通过proxy模块对接收到的数据进行聚合或者去冗余的处理,处理后的单一sock数据被转发到安全应用APP2。
在一些实施例中,提供了一种多路径传输的方法,如图8所示,包括移动终端100、路由器102、服务器101、服务器103、MEC服务器104。移动终端100上部署多路径传输协议和proxy模块,MEC服务器104上部署相同的多路径传输协议和proxy模块,路由器102上部署相同的多路径传输协议和proxy模块。路由器102可以是本地路由器。
步骤S101,移动终端100的上层应用产生sock数据,移动终端100的根据当前可用的网络通道,如蜂窝网络或者Wi-Fi网络,与路由器102协商建立多路sock与端口。proxy模块处理应用产生的sock信息,复制或者拆分转发到协商建立好的多路sock与端口,通过不同的网络通道发送数据到路由器102。
步骤S102,路由器102接收移动终端100发送的多路sock数据,路由器102的根据协商建立好的多路sock与端口对多路sock数据通过proxy模块做聚合或者去冗余的处理,把处理后的单一sock数据通过TCP协议或者UDP协议建立的数据通道转发到原目的服务器101。
步骤S103,服务器101产生sock数据,通过TCP协议或者UDP协议建立 的数据通道发送到路由器102,路由器102的proxy模块处理服务器产生的sock数据,复制或者拆分sock数据并转发到协商建立好的多路sock与端口,通过不同的网络通道发送数据到移动终端100。
步骤S104,移动终端100接收到路由器102发送的多路sock数据,移动终端100根据协商建立好的多路sock与端口对多路sock数据通过proxy模块做聚合或者去冗余处理,把处理后的单一sock数据转发到上层应用。
在另一些实施例中,在移动终端100连接公共热点并使用安全应用的场景下,上述方法还可以包括:
步骤S201,移动终端100的安全应用产生sock数据,移动终端100根据当前可用的网络通道,如蜂窝网络或者Wi-Fi网络,与路由器102协商建立多路sock与端口。proxy模块处理应用产生的sock信息,复制或者拆分转发到协商建立好的多路sock与端口,通过不同的网络通道发送数据到路由器102。
步骤S202,移动终端100的非安全应用产生sock数据,移动终端100与服务器103通过TCP协议或者UDP协议建立单一数据通道;非安全sock通过上述单一数据通道发送到服务器103。
步骤S203,路由器102接收移动终端100发送的多路sock数据,路由器102根据协商建立好的多路sock与端口对多路sock数据通过proxy模块做聚合或者去冗余的处理,把处理后的单一sock数据通过TCP协议或者UDP协议建立的数据通道转发到安全服务器101。
步骤S204,服务器101产生涉及安全的sock数据,通过TCP协议或者UDP协议建立的数据通道发送到路由器102,路由器102的proxy模块处理服务器产生的涉及安全的sock数据,复制或者拆分sock数据并转发到协商建立好的多路sock与端口,通过不同的网络通道发送数据到移动终端100。
步骤S205,移动终端100接收到路由器102发送的多路涉及安全的sock数据,移动终端100根据协商建立好的多路sock与端口对多路涉及安全的sock数据通过proxy模块做聚合或者去冗余处理,把处理后的单一涉及安全的sock数据转发到安全应用。
在另一些实施例中,在多路径传输协议与proxy模块部署在MEC服务器104的场景下,上述方法还可以包括:
步骤S301,移动终端100的上层应用产生sock数据,移动终端100根据当前可用的网络通道,如蜂窝网络或者Wi-Fi网络,与MEC服务器104协商建立多路sock与端口。proxy模块处理应用产生的sock信息,复制或者拆分转发到协商建立好的多路sock与端口,通过不同的网络通道发送数据到MEC服务器104。
步骤S302,MEC服务器104接收移动终端100发送的多路sock数据,MEC服务器104根据协商建立好的多路sock与端口对多路sock数据通过proxy模块做聚合或者去冗余的处理,把处理后的单一sock数据通过TCP协议或者UDP协议建立的数据通道转发到原目的服务器101。
步骤S303,服务器101产生sock数据,通过TCP协议或者UDP协议建立的数据通道发送到MEC服务器104,MEC服务器104的proxy模块处理服务器产生的sock数据,复制或者拆分sock数据并转发到协商建立好的多路sock与端口,通过不同的网络通道发送数据到移动终端100。
步骤S304,移动终端100接收到路由器102发送的多路sock数据,移动终端100根据协商建立好的多路sock与端口对多路sock数据通过proxy模块做聚合或者去冗余处理,把处理后的单一sock数据转发到上层应用。
以上实施例中所用,根据上下文,术语“当…时”或“当…后”可以被解释为意思是“如果…”或“在…后”或“接收到…”或“根据…”。类似地,根据上下文,短语“在确定…时”或“如果接收到(所陈述的条件或事件)”可以被解释为意思是“如果接收…”或“响应于确定…”或“在场景(所陈述的条件或事件)下”或“根据…接收到(所陈述的条件或事件)”。另外,在上述实施例中,使用诸如第一、第二之类的关系术语来区份一个实体和另一个实体,而并不限制这些实体之间的任何实际的关系和顺序。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要指出的是,本专利申请文件的一部分包含受著作权保护的内容。除了对专利局的专利文件或记录的专利文档内容制作副本以外,著作权人保留著作权。
Claims (15)
- 一种路由器,其特征在于,所述路由器包括:处理器;收发器;所述收发器用于接收移动终端发送的协同建立多路数据传输通道的协同信息;所述处理器用于运行多路径传输协议,并根据所述多路径协议,对所述收发器接收的所述协同信息进行识别,并发送匹配信息给所述移动终端;所述收发器用于接收并识别所述移动终端发送的确认匹配信息;所述处理器用于根据识别成功的所述确认匹配信息建立与所述移动终端之间的多路数据传输通道;所述收发器用于接收所述移动终端经过所述多路数据传输通道发送的数据;所述处理器用于将所述数据去冗余或者聚合成单一数据;所述收发器用于将所述单一数据转发到所述数据的目的服务器。
- 根据权利要求1所述的路由器,其特征在于,所述多路径传输协议栈是MPTCP协议。
- 根据权利要求1所述的路由器,其特征在于,所述多个数据通道为4个数据通道。
- 根据权利要求1所述的路由器,其特征在于,所述4个数据通道是两个通过蜂窝网络建立的数据通道,两个通过Wi-Fi网络建立的数据通道。
- 根据权利要求1所述的路由器,其特征在于,所述路由器是边缘路由器。
- 一种多路传输的网络通信系统,其特征在于,所述网络通信系统包括:移动终端;路由器;服务器;所述移动终端安装了应用程序,所述应用程序产生的数据用于发送至所述服务器;所述移动终端用于将所述数据复制或者拆分成多路数据;所述移动终端还用于运行多路径传输协议,产生协同信息并发送至所述路由器,所述协同信息用于与所述路由器协商建立多路数据传输通道;所述路由器用于运行所述多路径传输协议,并接收所述移动终端发送的所述协同信息;所述路由器还用于识别所述协同信息,当成功识别所述协同信息,发送匹配信息到所述移动终端;所述移动终端还用于,接收并识别所述匹配信息;当成功识别所述匹配信息,所述移动终端发送确认匹配信息给所述路由器;所述路由器接收并识别所述确认匹配信息,当成功识别所述确认匹配信息,建立与所述移动终端之间的多路数据传输通道。
- 根据权利要求6所述的网络系统,其特征在于,所述路由器是边缘路由器。
- 根据权利要求6所述的网络系统,其特征在于,所述多路径传输协议栈是MPTCP协议。
- 根据权利要求6所述的路由器,其特征在于,所述多个数据通道为4个数据通道。
- 根据权利要求9所述的路由器,其特征在于,所述4个数据通道是两个通过蜂窝网络建立的数据通道,两个通过Wi-Fi网络建立的数据通道。
- 根据权利要求6所述的网络通信系统,其特征在于,所述应用程序是涉及用户安全或者隐私的应用程序。
- 一种MEC服务器,其特征在于,包括:处理器;收发器;所述收发器用于接收移动终端发送的协同建立多路数据传输通道的协同信息;所述处理器用于运行多路径传输协议,并根据所述多路径协议,对所述收发器接收的所述协同信息进行识别,并发送匹配信息给所述移动终端;所述收发器用于接收并识别所述移动终端发送的确认匹配信息;所述处理器用于根据识别成功的所述确认匹配信息建立与所述移动终端之间的多路数据传输通道;所述收发器用于接收所述移动终端经过所述多路数据传输通道发送的数据;所述处理器用于将所述数据去冗余或者聚合成单一数据;所述收发器用于将所述单一数据转发到所述数据的目的服务器。
- 根据权利要求12所述的MEC服务器,其特征在于,所述多路径传输协议栈是MPTCP协议。
- 根据权利要求12所述的MEC服务器,其特征在于,所述多个数据通道为4个数据通道。
- 根据权利要求11所述的MEC服务器,其特征在于,所述4个数据通道是两个通过蜂窝网络建立的数据通道,两个通过Wi-Fi网络建立的数据通道。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20902281.3A EP4054133A4 (en) | 2019-12-19 | 2020-12-17 | MULTI-CHANNEL TRANSMISSION METHOD AND DEVICE |
US17/843,953 US20220321455A1 (en) | 2019-12-19 | 2022-06-17 | Multipath transmission method and device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911315074.3A CN113014483B (zh) | 2019-12-19 | 2019-12-19 | 一种多路径传输的方法及设备 |
CN201911315074.3 | 2019-12-19 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/843,953 Continuation US20220321455A1 (en) | 2019-12-19 | 2022-06-17 | Multipath transmission method and device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021121308A1 true WO2021121308A1 (zh) | 2021-06-24 |
Family
ID=76381063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/137149 WO2021121308A1 (zh) | 2019-12-19 | 2020-12-17 | 一种多路径传输的方法及设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220321455A1 (zh) |
EP (1) | EP4054133A4 (zh) |
CN (1) | CN113014483B (zh) |
WO (1) | WO2021121308A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113905350A (zh) * | 2021-08-27 | 2022-01-07 | 华人运通(上海)自动驾驶科技有限公司 | 数据上行、下行传输方法、车载智能终端、服务器及系统 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11770734B2 (en) * | 2020-01-28 | 2023-09-26 | Verizon Patent And Licensing Inc. | Method and system for edge network exposure function with MEC network |
CN113507303B (zh) * | 2021-07-13 | 2022-05-03 | 深圳市广联智通科技有限公司 | 多天线数据传输方法、装置、计算机设备及存储介质 |
CN113747203B (zh) * | 2021-09-01 | 2022-08-30 | 腾讯科技(深圳)有限公司 | 一种视频信息传输方法、装置、电子设备及存储介质 |
CN113726415B (zh) * | 2021-09-01 | 2022-06-21 | 北京微纳星空科技有限公司 | 一种数据传输方法、测控导航综合系统、电子设备及介质 |
CN114697260B (zh) * | 2022-04-15 | 2023-03-24 | 北京航天驭星科技有限公司 | 自适应信息传输的方法、装置、系统、电子设备及介质 |
CN115334174B (zh) * | 2022-08-22 | 2024-02-06 | 卡斯柯信号有限公司 | 一种基于Subset-037协议的多通道匹配方法及通信方法 |
CN116150702B (zh) * | 2023-02-10 | 2023-11-10 | 北京国信华源科技有限公司 | 一种主备通信融合的数据整合方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120093150A1 (en) * | 2010-10-15 | 2012-04-19 | Telefonaktiebolaget L M Ericsson | Multipath transmission control protocol proxy |
CN104285472A (zh) * | 2014-04-24 | 2015-01-14 | 华为技术有限公司 | Mptcp连接的移动性管理方法和装置 |
US20170118022A1 (en) * | 2015-10-21 | 2017-04-27 | Leauto Intelligent Technology (Beijing) Co. Ltd | Mainstream connection establishment method and device based on multipath transmission control protocol (mptcp) |
WO2019062252A1 (zh) * | 2017-09-30 | 2019-04-04 | 华为技术有限公司 | 服务质量的确定方法、装置及存储介质 |
US20190306068A1 (en) * | 2018-04-02 | 2019-10-03 | Apple Inc. | Multipath Transmission Control Protocol Proxy Use in a Cellular Network |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006203471A (ja) * | 2005-01-19 | 2006-08-03 | Fujitsu Ltd | サーバ、ルータ及び端末 |
WO2015094043A1 (en) * | 2013-12-18 | 2015-06-25 | Telefonaktiebolaget L M Ericsson (Publ) | Multipath tcp subflow establishing on single ip connection |
FR3053196A1 (fr) * | 2016-06-24 | 2017-12-29 | Orange | Procede de communication udp via des chemins multiples entre deux terminaux |
CN107995624B (zh) * | 2017-12-07 | 2021-03-19 | 北京陌陌信息技术有限公司 | 基于多路径数据传输进行声音数据输出的方法 |
CN111866956B (zh) * | 2019-04-28 | 2023-07-14 | 华为技术有限公司 | 一种数据传输方法及对应的设备 |
-
2019
- 2019-12-19 CN CN201911315074.3A patent/CN113014483B/zh active Active
-
2020
- 2020-12-17 WO PCT/CN2020/137149 patent/WO2021121308A1/zh unknown
- 2020-12-17 EP EP20902281.3A patent/EP4054133A4/en active Pending
-
2022
- 2022-06-17 US US17/843,953 patent/US20220321455A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120093150A1 (en) * | 2010-10-15 | 2012-04-19 | Telefonaktiebolaget L M Ericsson | Multipath transmission control protocol proxy |
CN104285472A (zh) * | 2014-04-24 | 2015-01-14 | 华为技术有限公司 | Mptcp连接的移动性管理方法和装置 |
US20170118022A1 (en) * | 2015-10-21 | 2017-04-27 | Leauto Intelligent Technology (Beijing) Co. Ltd | Mainstream connection establishment method and device based on multipath transmission control protocol (mptcp) |
WO2019062252A1 (zh) * | 2017-09-30 | 2019-04-04 | 华为技术有限公司 | 服务质量的确定方法、装置及存储介质 |
US20190306068A1 (en) * | 2018-04-02 | 2019-10-03 | Apple Inc. | Multipath Transmission Control Protocol Proxy Use in a Cellular Network |
Non-Patent Citations (2)
Title |
---|
28 March 2013 (2013-03-28), M. SCHARF ALCATEL-LUCENT BELL LABS A. FORD CISCO: "Multipath TCP (MPTCP) Application Interface Considerations; rfc6897.txt", XP015090329, Database accession no. 6897 * |
See also references of EP4054133A4 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113905350A (zh) * | 2021-08-27 | 2022-01-07 | 华人运通(上海)自动驾驶科技有限公司 | 数据上行、下行传输方法、车载智能终端、服务器及系统 |
CN113905350B (zh) * | 2021-08-27 | 2023-09-15 | 华人运通(上海)自动驾驶科技有限公司 | 数据上行、下行传输方法、车载智能终端、服务器及系统 |
Also Published As
Publication number | Publication date |
---|---|
EP4054133A4 (en) | 2022-12-21 |
CN113014483B (zh) | 2023-04-18 |
CN113014483A (zh) | 2021-06-22 |
US20220321455A1 (en) | 2022-10-06 |
EP4054133A1 (en) | 2022-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021121308A1 (zh) | 一种多路径传输的方法及设备 | |
KR20230118849A (ko) | 멀티 링크 피어 투 피어 통신을 위한 통신 장치 및 통신 방법 | |
WO2020164349A1 (zh) | 数据传输控制方法及相关产品 | |
WO2020134720A1 (zh) | 数据传输控制方法及相关产品 | |
US10492055B2 (en) | Bluetooth advertising processing techniques | |
US10560532B2 (en) | Quick relay session management protocol | |
WO2021098533A1 (zh) | 一种连接建立方法及终端设备 | |
EP2918140A1 (en) | Proxy connection method and apparatus | |
WO2022143071A1 (zh) | 连接建立方法及电子设备 | |
WO2021052482A1 (zh) | 切换sim卡的方法、装置及电子设备 | |
WO2021147660A1 (zh) | 一种数据传输方法及设备 | |
CN110662299B (zh) | 通信方法、装置及存储介质 | |
WO2022143508A1 (zh) | 一种近场中传输数据的方法、设备及系统 | |
WO2021104448A1 (zh) | 一种密钥信息的同步方法、系统及设备 | |
WO2021043277A1 (zh) | 配置蓝牙连接参数的方法和电子设备 | |
CN113038627B (zh) | 一种文件分享方法、移动设备、计算机存储介质 | |
CN114679708A (zh) | 通信方法、系统及电子设备 | |
US11930547B2 (en) | MPTCP friendly cellular multi-connectivity architecture with transparent proxy | |
WO2022001639A1 (zh) | 通信方法、移动设备及路由设备 | |
WO2022227587A1 (zh) | 共享业务的建立方法及相关产品 | |
WO2023051204A1 (zh) | 跨设备连接方法、电子设备及存储介质 | |
WO2022068666A1 (zh) | 基于业务的中继选择方法及相关产品 | |
WO2023217089A1 (zh) | 数据传输方法、装置、设备、系统及存储介质 | |
WO2021143921A1 (zh) | 一种多路径传输控制的方法及控制装置 | |
WO2024119904A1 (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: 20902281 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020902281 Country of ref document: EP Effective date: 20220602 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |