WO2023108492A1 - 通信的方法和装置 - Google Patents
通信的方法和装置 Download PDFInfo
- Publication number
- WO2023108492A1 WO2023108492A1 PCT/CN2021/138412 CN2021138412W WO2023108492A1 WO 2023108492 A1 WO2023108492 A1 WO 2023108492A1 CN 2021138412 W CN2021138412 W CN 2021138412W WO 2023108492 A1 WO2023108492 A1 WO 2023108492A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- end device
- link
- encapsulated
- address
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 182
- 238000004891 communication Methods 0.000 title claims abstract description 116
- 230000015654 memory Effects 0.000 claims description 42
- 230000004044 response Effects 0.000 claims description 40
- 238000001514 detection method Methods 0.000 claims description 31
- 238000003860 storage Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 15
- 238000004806 packaging method and process Methods 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 47
- 230000006870 function Effects 0.000 description 44
- 230000005540 biological transmission Effects 0.000 description 25
- 230000008569 process Effects 0.000 description 18
- 230000008859 change Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 13
- 238000009826 distribution Methods 0.000 description 12
- 230000001413 cellular effect Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 8
- 238000005538 encapsulation Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004040 coloring Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 101100244969 Arabidopsis thaliana PRL1 gene Proteins 0.000 description 2
- 102100039558 Galectin-3 Human genes 0.000 description 2
- 101100454448 Homo sapiens LGALS3 gene Proteins 0.000 description 2
- 101150051246 MAC2 gene Proteins 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 101100059544 Arabidopsis thaliana CDC5 gene Proteins 0.000 description 1
- 101150115300 MAC1 gene Proteins 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
-
- 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/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- 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/24—Multipath
- H04L45/243—Multipath using M+N parallel active paths
-
- 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/72—Routing based on the source address
-
- 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/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
-
- 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
- H04L2212/00—Encapsulation of packets
-
- 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/28—Flow control; Congestion control in relation to timing considerations
Definitions
- the embodiments of the present application relate to the communication field, and more specifically, to a communication method and device.
- the terminal device When the terminal device supports communication through multiple links (such as wireless local area network (wireless fidelity, WIFI) link and long term evolution (long term evolution, LTE) cellular link), use the bandwidth of multiple links at the same time (such as, Multi-link bundle) will get more bandwidth.
- links such as wireless local area network (wireless fidelity, WIFI) link and long term evolution (long term evolution, LTE) cellular link
- WIFI wireless local area network
- LTE long term evolution
- the embodiment of the present application provides a communication method.
- the APP is not aware of the multi-link bundling, thereby realizing the multi-link bundling under the premise of simplifying the operation of the APP.
- a communication method is provided, and the method may be executed by a data sending end device, or may also be executed by a component (such as a chip or a circuit) of the data sending end device, which is not limited, for the convenience of description , the following takes the implementation by the data sending device as an example for illustration.
- the communication method includes: the data sending end device acquires first data, the first data includes the data to be sent of the first application installed in the data sending end device, and the destination address of the first data is the address of the data receiving end device
- the data sending end device determines the first network card address corresponding to the address of the data receiving end device according to the address of the data receiving end device, and the first network card address is the address of one or more network cards of the data receiving end device;
- the data sending end device encapsulates the first data based on the first network card address to obtain the encapsulated first data; the data sending end device sends the encapsulated first data to the data receiving end device through multiple links, Wherein, the destination address of each link in the plurality of links is one of the addresses of the first network card, the source address is one of the addresses of the second network card, and the address of the second network card is one or Addresses of multiple network cards.
- the data sending end device obtains the first data to be sent of the locally installed APP, and encapsulates the first data based on the network card address of the data receiving end device, and the encapsulated data can be bundled through multiple links
- the APP since the data to be sent by the APP is encapsulated based on the network card address and then sent via multiple links, the APP does not perceive the multi-link bundling, thus realizing multiple links under the premise of simplifying the operation of the APP. link binding.
- the data sending device encapsulates the first data based on the first network card address to obtain the encapsulated first data can be understood as: the data sending device encapsulates part of a network card address corresponding to a certain link For the first data, the link sends the part of encapsulated data.
- the method further includes: the data sending end device sends a detection message to the data receiving end device, and the detection message is used to detect whether the data receiving end device Support decapsulation of data based on the network card address; the data sending device receives a response message from the data receiving device, and the response message is used to indicate that the data receiving device supports decapsulating data based on the network card address.
- the data sending end device can know whether the data receiving end device supports decapsulating data based on the network card address by sending a detection message.
- the response message includes the address of the first network card.
- the data sending end device receives a response message from the data receiving end device, and the response message includes the first network card address to ensure that the data sending end device sends
- the encapsulated first data can be decapsulated by the data receiving end device, thereby improving the accuracy of data transmission.
- the method further includes: the data sending device establishes the multiple links according to the first network card address and the second network card address.
- the first data includes a plurality of data packets
- the encapsulated first data includes a plurality of encapsulated data packets
- the link sending the encapsulated first data to the data receiving end device includes: the data sending end device sends a plurality of encapsulated data packets to the data receiving end device through the first link; the method also includes: the The data sending end device receives first indication information from the data receiving end device, where the first indication information is used to indicate the delay difference between two encapsulated data packets transmitted through the first link, the delay The difference is greater than a preset threshold; the data sending device adjusts the weight of the encapsulated data packet transmitted on the first link according to the first indication information, where the first link is any of the multiple links a link.
- the preset threshold may be a threshold for judging the steady state of the network, for example, the preset threshold is N*round-trip time (round-trip time, RTT), and N is a positive integer.
- the data sending end device can dynamically adjust the weight of the encapsulated data packets transmitted on multiple links according to the change value of the one-way delay of the link, so as to keep the balance between multiple links and make full use of multiple links.
- the weight of the encapsulated data packet transmitted on a certain link may be understood as: the weight (or proportion) of the encapsulated data packet transmitted on the link to the encapsulated data packet.
- the two data packets include: two data packets with consecutive sequence numbers transmitted through the first link; or, the sequence numbers transmitted through the first link Two packets that are not consecutive.
- the above two data packets transmitted on the first link may be two data packets with continuous sequence numbers, or two data packets with discontinuous sequence numbers, which improves the flexibility of the solution.
- the adjusted weight of the encapsulated data packet transmitted on the first link is smaller than the weight of the encapsulated data packet transmitted on the first link before adjustment.
- the method further includes: the data sending end device receiving second indication information from the data receiving end device, where the second indication information is used to indicate that the first link The first packet loss rate of the link; the data sending end device adjusts the weight of the encapsulated data packet transmitted on the first link according to the second indication information, where the first link is one of the multiple links any link.
- the data sending end device can dynamically adjust the weight of the encapsulated data packets transmitted on multiple links according to the packet loss rate of the link, so as to maintain a balance between multiple links and make full use of multiple links resources to optimize link performance.
- the first packet loss rate is greater than the second packet loss rate, and the weight of the encapsulated data packet transmitted on the first link after adjustment is smaller than the weight of the first packet loss rate before adjustment.
- the data sending device sends the encapsulated first data to the data receiving device through multiple links, including: the first data of the data sending device A distribution module corresponding to a wireless interface segments the first data into a first data packet and a second data packet, and the second data packet is distributed to the second wireless interface of the data sending end device; the second data packet of the data sending end device A wireless interface sends the encapsulated first data packet to the data receiving end device through the first link; the second wireless interface of the data sending end device sends the encapsulated second packet to the data receiving end device through the second link. data pack.
- multi-band bandwidth bundling can be realized, the bandwidth available for applications can be expanded, and the reliability of data transmission can be improved.
- a communication method is provided, and the method may be executed by a data receiving end device, or may also be executed by a component (such as a chip or a circuit) of the data receiving end device, which is not limited, for the convenience of description , the following takes the implementation by the data receiving device as an example for illustration.
- the communication method includes: the data receiving end device receives the encapsulated first data from the data sending end device through multiple links; the data receiving end device decapsulates the encapsulated first data based on the address of the first network card, and obtains The first data, wherein the first data includes the data to be sent by the first application installed in the data sending end device, the destination address of the first data is the address of the data receiving end device, and the address of the data receiving end device is the same as Corresponding to the first network card address, the first network card address is the address of one or more network cards of the data receiving device, and the encapsulated first data is the data obtained by encapsulating the first data based on the first network card address.
- the first data to be sent of the APP locally installed on the data sending end device is encapsulated based on the network card address of the data receiving end device, and the encapsulated data can be sent by way of multi-link binding.
- the APP since the data to be sent sent by the APP is encapsulated again based on the network card address and then sent via multiple links, the APP does not perceive the multi-link bundling, thus realizing multi-link bundling under the premise of simplifying the APP operation .
- the method further includes: the data receiving end device receives a detection message from the data sending end device, and the detection message is used to detect the data receiving end device Whether to support decapsulating data based on the network card address; in the case that the data receiving device supports decapsulating data based on the network card address, the data receiving device sends a response message to the data sending device, and the response message is used to indicate that the data is received The end device supports decapsulating data based on the network card address.
- the data sending end device can know whether the data receiving end device supports decapsulating data based on the network card address by sending a detection message.
- the response message includes the address of the first network card.
- the data sending end device receives a response message from the data receiving end device, and the response message includes the first network card address to ensure that the data sending end device sends
- the encapsulated first data can be decapsulated by the data receiving end device, thereby improving the accuracy of data transmission.
- the first data includes a plurality of data packets
- the encapsulated first data includes a plurality of encapsulated data packets
- the link receiving the encapsulated first data from the data sending end device includes: the data receiving end device receives a plurality of encapsulated data packets from the data sending end device through the first link;
- the method further includes: the data receiving end device sending first indication information to the data sending end device, where the first indication information is used to indicate the time delay between two encapsulated data packets transmitted through the first link difference, the delay difference is used to adjust the weight of the encapsulated data packet transmitted on the first link, where the delay difference is greater than a preset threshold, and the first link is one of the multiple links any of the links.
- the one-way delay change value of the link can be used to dynamically adjust the weight of the encapsulated data packets transmitted on multiple links, so as to maintain balance between multiple links and make full use of multiple links resources to optimize link performance.
- the weight of the encapsulated data packet transmitted on the first link after adjustment is smaller than the weight of the encapsulated data packet transmitted on the first link before adjustment.
- the method further includes: the data receiving end device sending second indication information to the data sending end device, where the second indication information is used to indicate that the first link
- the first packet loss rate is used to adjust the weight of the encapsulated data packet transmitted on the first link, where the first link is any link in the plurality of links .
- the packet loss rate of a link can be used to dynamically adjust the weight of encapsulated data packets transmitted on multiple links, so as to maintain balance between multiple links, make full use of multiple link resources, and optimize link performance.
- the first packet loss rate is greater than the second packet loss rate, and the weight of the encapsulated data packet transmitted on the first link after adjustment is less than the first packet loss rate before adjustment.
- the weight of the encapsulated data packet transmitted on a link is less than the first packet loss rate before adjustment.
- the second packet loss rate is a packet loss rate of links other than the first link stored locally by the data sending end device.
- the communication device including a unit for performing the method shown in the first aspect above, the communication device may be a data sender device, or may be set in a data sender device
- the implementation of the chip or circuit is not limited in this application.
- the communication means include:
- a processing unit configured to obtain first data, the first data includes data to be sent by a first application installed in the data sending device, and the destination address of the first data is the address of the data receiving device;
- the processing unit is further configured to determine a first network card address corresponding to the address of the data receiving device according to the address of the data receiving device, where the first network card address is an address of one or more network cards of the data receiving device;
- the processing unit is further configured to encapsulate the first data based on the address of the first network card to obtain encapsulated first data;
- a sending unit configured to send the encapsulated first data to the data receiving end device through multiple links
- the destination address of each link in the plurality of links is one of the addresses of the first network card
- the source address is one of the addresses of the second network card
- the address of the second network card is one or Addresses of multiple network cards.
- the sending unit is further configured to send a detection message to the data receiving end device, and the detection message is used to detect whether the data receiving end device supports network card-based Address decapsulation data;
- the unit also includes:
- the receiving unit is configured to receive a response message from the data receiving end device, where the response message is used to indicate that the data receiving end device supports decapsulating data based on the network card address.
- the response message includes the address of the first network card.
- the processing unit is further configured to establish the multiple links according to the first network card address and the second network card address.
- the first data includes a plurality of data packets, and the encapsulated first data includes a plurality of encapsulated data packets;
- the sending unit sends the encapsulated first data to the data receiving device through multiple links, including: the sending unit sends a plurality of encapsulated data packets to the data receiving device through the first link;
- the receiving unit is further configured to receive first indication information from the data receiving end device, where the first indication information is used to indicate a time delay difference between two encapsulated data packets transmitted through the first link, The delay difference is greater than a preset threshold;
- the processing unit is further configured to adjust the weight of the encapsulated data packet transmitted on the first link according to the first indication information
- the first link is any link in the multiple links.
- the weight of the encapsulated data packet transmitted on the first link after adjustment is smaller than the weight of the encapsulated data packet transmitted on the first link before adjustment.
- the processing unit adjusts the weight of the encapsulated data packet transmitted on the first link according to the first indication information, including:
- the receiving unit is further configured to receive second indication information from the data receiving end device, where the second indication information is used to indicate that the first link of the first link - packet loss rate;
- the processing unit is further configured to adjust the weight of the encapsulated data packet transmitted on the first link according to the second indication information
- the first link is any link in the multiple links.
- the first packet loss rate is greater than the second packet loss rate, and the weight of the encapsulated data packet transmitted on the first link after adjustment is less than the weight of the first packet loss rate before adjustment.
- the processing unit is further configured to segment the first data into a first data packet and a second data packet, and distribute the second data packet to the the second wireless interface of the data sending end device,
- the sending unit sends the encapsulated first data to the data receiving device through multiple links, including:
- the first sending unit corresponding to the first wireless interface sends the encapsulated first data packet to the data receiving end device through the first link;
- the second sending unit corresponding to the second wireless interface sends the encapsulated second data packet to the data receiving end device through the second link.
- a communication device including a unit for performing the method shown in the second aspect above.
- the communication device may be a data receiving end device, or may be set in a data receiving end device
- the implementation of the chip or circuit is not limited in this application.
- the communication means include:
- a receiving unit configured to receive the encapsulated first data from the data sending device through multiple links
- a processing unit configured to decapsulate the encapsulated first data based on the address of the first network card to obtain the first data
- the first data includes the data to be sent by the first application installed in the data sending end device
- the destination address of the first data is the address of the data receiving end device
- the address of the data receiving end device is the same as that of the first network card
- the first network card address is the address of one or more network cards of the data receiving end device
- the encapsulated first data is the data obtained by encapsulating the first data based on the first network card address.
- the receiving unit is further configured to receive a detection message from the data sending end device, and the detection message is used to detect whether the data receiving end device supports the
- the network card address decapsulates the data
- the unit also includes:
- the sending unit is configured to send a response message to the data sending device, where the response message is used to indicate that the data receiving device supports decapsulating data based on the network card address.
- the response message includes the address of the first network card.
- the first data includes a plurality of data packets, and the encapsulated first data includes a plurality of encapsulated data packets;
- Receiving the encapsulated first data from the data sending end device includes: the receiving unit receives a plurality of encapsulated data packets from the data sending end device through the first link;
- the unit also includes:
- a sending unit configured to send first indication information to the data sending end device, where the first indication information is used to indicate the delay difference between two encapsulated data packets transmitted through the first link, the delay The difference is used to adjust the weight of the encapsulated data packets transmitted on the multiple links, where the delay difference is greater than a preset threshold, and the first link is any one of the multiple links.
- the weight of the encapsulated data packet transmitted on the first link after adjustment is smaller than the weight of the encapsulated data packet transmitted on the first link before adjustment.
- the device further includes:
- a sending unit configured to send second indication information to the data sending device, where the second indication information is used to indicate a first packet loss rate of the first link, and the first packet loss rate is used to adjust the first link
- the first packet loss rate is greater than the second packet loss rate, and the weight of the encapsulated data packet transmitted on the first link after adjustment is less than the first packet loss rate before adjustment.
- the weight of the encapsulated data packet transmitted on a link is less than the first packet loss rate before adjustment.
- the second packet loss rate is a packet loss rate of links other than the first link stored locally by the data sending end device.
- a communication device includes a processor configured to realize the functions of the data sending end device in the method described in the first aspect above.
- the communication apparatus may further include a memory coupled to the processor, and the processor is configured to implement the function of the data sending end device in the method described in the first aspect above.
- the memory is used to store program instructions and data.
- the memory is coupled with the processor, and the processor can call and execute the program instructions stored in the memory, so as to implement the functions of the data sending end device in the method described in the first aspect above.
- the communication device may further include a communication interface, and the communication interface is used for the communication device to communicate with other devices.
- the communication interface may be a transceiver, an input/output interface, or a circuit.
- the communication device includes: a processor and a communication interface
- the processor is configured to run a computer program, so that the communication device implements any one of the methods described in the first aspect above;
- the processor communicates with the outside through the communication interface.
- the external may be an object other than the processor, or an object other than the device.
- the communication device is a chip or a chip system.
- the communication interface may be an input/output interface, an interface circuit, an output circuit, an input circuit, pins or related circuits on the chip or the chip system.
- the processor may also be embodied as a processing circuit or logic circuit.
- a communication device includes a processor configured to realize the functions of the data receiving end device in the method described in the second aspect above.
- the communication apparatus may further include a memory coupled to the processor, and the processor is configured to implement the functions of the data receiving end device in the method described in the second aspect above.
- the memory is used to store program instructions and data.
- the memory is coupled with the processor, and the processor can call and execute the program instructions stored in the memory, so as to implement the functions of the data receiving end device in the method described in the second aspect above.
- the communication device may further include a communication interface, and the communication interface is used for the communication device to communicate with other devices.
- the communication interface may be a transceiver, an input/output interface, or a circuit.
- the communication device includes: a processor and a communication interface
- the processor is configured to run a computer program, so that the communication device implements any one of the methods described in the second aspect above;
- the processor communicates with the outside through the communication interface.
- the external may be an object other than the processor, or an object other than the device.
- the communication device is a chip or a chip system.
- the communication interface may be an input/output interface, an interface circuit, an output circuit, an input circuit, pins or related circuits on the chip or the chip system.
- the processor may also be embodied as processing circuitry or logic circuitry.
- the present application provides a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and when the computer-readable storage medium is run on a computer, it causes the computer to execute the methods described in the above aspects.
- the present application provides a computer program product including instructions, which, when run on a computer, cause the computer to execute the methods described in the above aspects.
- a ninth aspect provides a communication system, including the communication device described in the third aspect and the communication device described in the fourth aspect.
- a chip device including a processing circuit, the processing circuit is used to call and run a program from the memory, so that the communication device installed with the chip device performs any one of the possibilities in the first and second aspects above. method in the implementation.
- FIG. 1 is a schematic diagram of a scene applicable to an embodiment of the present application.
- Fig. 2 is a schematic diagram of a wide area network multi-link bundling scenario provided by the present application.
- FIG. 3 is a schematic diagram of a local area network multi-link bundling scenario provided by the present application.
- Fig. 4 is a schematic flowchart of a communication method provided by the present application.
- FIG. 5 is a schematic diagram of multi-link bundling data transmission in a wide area network provided by the present application.
- FIG. 6 is a schematic diagram of multi-link bundling data transmission in a local area network provided by the present application.
- FIG. 7 is a schematic flowchart of another communication method provided by an embodiment of the present application.
- FIG. 8 is a schematic flowchart of another communication method provided by an embodiment of the present application.
- FIG. 9 is a schematic block diagram of an apparatus 900 provided by an embodiment of the present application.
- Fig. 10 is a schematic block diagram of an apparatus 1000 provided by an embodiment of the present application.
- Applicable scenarios of the communication method provided in the present application include link bundling scenarios, as shown in FIG. 1 , which is a schematic diagram of applicable scenarios in the embodiment of the present application.
- Fig. 1 Shown in Fig. 1 is the link between terminal equipment #1, terminal equipment #2, interface #1 and interface #2 in terminal equipment #1, interface #3 in terminal equipment #2, interface #1 and interface #3 Link #2 between road #1, interface #2 and interface #3, and an internet protocol (internet protocol, IP) network.
- IP internet protocol
- terminal device #1 may be understood as a data sending end device
- terminal device #2 may be understood as a data receiving end device.
- interface #1 and interface #2 shown in FIG. 1 Between one or more physical interfaces of terminal device #1 (interface #1 and interface #2 shown in FIG. 1 ) and one or more physical interfaces of terminal device #2 (interface #3 shown in FIG. 1 ) Multiple links (link #1 and link #2 shown in Figure 1) are established between them.
- a terminal device (terminal device #1 and terminal device #2 as shown in Figure 1) supports WIFI and LTE cellular link communication, or can also support 2.4G, 5G, dual LTE 4 Using multi-channel communication at the same time will result in greater bandwidth, higher reliability, and the possibility of low latency.
- terminal device #1 uses multiple links (link #1 and link #2 shown in Figure 1) to send data to terminal device #2, and the data receiving end connects multiple links (or called multiple links) Link) data combination, can obtain greater bandwidth.
- heterogeneous links such as power lines and network cables, etc.
- heterogeneous links such as power lines and network cables, etc.
- the IP network shown in FIG. 1 may be a wide area network or a wireless local area network (wireless fidelity, WIFI).
- WIFI wireless local area network
- a wide area network link bundling scenario and a wireless local area network (wireless fidelity, WIFI) multi-link bundling scenario are briefly introduced below.
- Fig. 2 is a schematic diagram of a wide area network multi-link bundling scenario provided by the present application.
- communication between two terminal devices terminal device #1 and terminal device #2 shown in FIG. term evolution, LTE) cellular link, WIFI 2.4G link, WIFI 5G link, etc.
- WIFI 2.4G link WIFI 5G link, etc.
- the virtual link #1 is formed between the terminal device #1 and the terminal device #2 through the LTE#1 cellular link; the virtual link #2 is formed through the LTE#2 cellular link; and the virtual link #2 is formed through the WIFI 2.4
- the G link forms virtual link #3; the WIFI 5G link forms virtual link #4.
- multiple virtual links can be bundled. It can be seen from Figure 2 that multiple virtual links with independent bandwidth (virtual link #1 to virtual link #4 as shown in Figure 2) can be bundled between terminal equipment #1 and terminal equipment #2 is at least one link (the link bundle shown in FIG. 2 ).
- FIG. 2 is only an example to illustrate the wide area network link bundling scenario to which the embodiment of the present application can be applied, and does not constitute any limitation on the protection scope of the present application.
- the number of terminal devices in the wide area network link bundling scene can be
- the access link through which the communication between terminal devices passes may include other link types; for another example, the number of links obtained by bundling multiple virtual links may be multiple, here No more examples one by one.
- FIG. 3 is a schematic diagram of a local area network multi-link bundling scenario provided by the present application.
- two terminal devices (terminal device #1 and terminal device #2 as shown in Figure 3) communicate based on WIFI, through different access links (for example, WIFI 2.4G link, WIFI 5G links, etc.) form multiple virtual links with independent bandwidth.
- WIFI 2.4G link for example, WIFI 2.4G link, WIFI 5G links, etc.
- the virtual link #1 is formed between the terminal device #1 and the terminal device #2 through the WIFI 2.4G link; the virtual link #2 is formed through the WIFI 5G link.
- multiple virtual links can be bundled. It can be seen from Figure 3 that multiple virtual links with independent bandwidth (virtual link #1 and virtual link #2 shown in Figure 3) can be bundled between terminal device #1 and terminal device #2 It is at least one link (the link bundle shown in FIG. 3 ).
- FIG. 3 is only an example to illustrate the local area network link bundling scenario to which the embodiment of the present application can be applied, and does not constitute any limitation on the protection scope of the present application.
- the number of terminal devices in the local area network link bundling scene can be
- the access link through which the communication between terminal devices passes may include other WIFI links; for another example, the number of links obtained by bundling multiple virtual links may be multiple, here No more examples one by one.
- the terminal equipment in the embodiment of the present application may refer to user equipment (user equipment), access terminal, subscriber unit, subscriber station, mobile station, mobile station (mobile station, MS), mobile terminal (mobile terminal, MT), remote station , remote terminal, mobile device, user terminal, terminal, wireless communication device, user agent, or user device.
- a terminal device may be a device that provides voice/data connectivity to users, for example, a handheld device with a wireless connection function, a vehicle-mounted device, and the like.
- examples of some terminals can be: mobile phone (mobile phone), tablet computer (pad), computer with wireless transceiver function (such as notebook computer, palmtop computer, etc.), mobile internet device (mobile internet device, MID), virtual reality (virtual reality, VR) equipment, augmented reality (augmented reality, AR) equipment, wireless terminals in industrial control (industrial control), wireless terminals in self driving (self driving), wireless in remote medical (remote medical) Terminals, wireless terminals in smart grid, wireless terminals in transportation safety, wireless terminals in smart city, wireless terminals in smart home, cellular phones, cordless Telephones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, personal digital assistants (PDAs), handheld devices with wireless communication capabilities, computing devices, or connected Other processing devices to wireless modems, vehicle-mounted devices, wearable devices, terminal devices in the 5G network or terminal devices in the future evolution of the public land mobile network (PLMN), etc.
- PLMN public land mobile network
- the terminal device may also be a terminal device in an Internet of Things (Internet of things, IoT) system.
- IoT Internet of things
- Its main technical feature is to connect objects to the network through communication technology, so as to realize the intelligent network of human-machine interconnection and object interconnection.
- IoT technology can achieve massive connections, deep coverage, and terminal power saving through, for example, narrow band (NB) technology.
- NB narrow band
- the terminal device may be any device that can access the network.
- a certain air interface technology may be used to communicate with each other between the terminal device and the access network device.
- a terminal device can be used to act as a base station.
- a terminal device may act as a scheduling entity, which provides sidelink signals between terminal devices in V2X or D2D, etc.
- a cell phone and an automobile communicate with each other using sidelink signals. Communication between cellular phones and smart home devices without relaying communication signals through base stations.
- An access mode in which a terminal device supports multiple wireless links is called multi-link access.
- the terminal device supports access to two wireless links, WIFI and LTE.
- the terminal device supports 4-way access of WIFI2.4G, WIFI5G, and dual LTE.
- heterogeneous links for example, power lines and network lines.
- multi-link transmission multiple links are established between one or more physical interfaces of the data sending end device and one or more physical interfaces of the data receiving end device, and the data sending end device uses the multi-link
- the road sends data to the data receiving end device, and the data receiving end device combines the multi-link data to obtain greater bandwidth.
- Equal cost multi path (ECMP).
- ECMP is a forwarding mechanism for routing packets along equal-cost multiple paths, with the goal of nearly equal-cost distributed link load sharing. In ECMP it is assumed that all available links are of similar speed.
- the load on each path is 50% of the total load.
- UCMP can set different weights of loads on different paths. For example, when there are 3 available paths (such as 1G, 10G, 100G), in this example, the load on the 1G path accounts for 1% of the total load, and the load on the 10G path accounts for 1% of the total load. The proportion can be set to 10%, and the proportion of the load on the 100G path to the total load can be set to 89%.
- Multipath TCP multipath TCP, MPTCP.
- MPTCP is an ongoing effort in the Multipath TCP Working Group of the Internet Engineering Task Force (IETF), which aims to allow TCP connections to use multiple paths to maximize resource utilization.
- IETF Internet Engineering Task Force
- MPTCP uses a transport layer protocol for concurrent transmission of multiple paths, which can improve end-to-end throughput, increase network utilization, and increase redundancy.
- MPTCP protocol please refer to RFC6824.
- MPTCP is fully compatible with TCP.
- TCP On the basis of TCP, a new TCP option header is added to realize the functions of MPTCP link establishment, link teardown and data transmission.
- Typical application scenarios of MPTCP can be in the access network or in the enterprise network.
- WIFI7 is developing a standard for multilink operation (MLO), enabling devices to simultaneously transmit and receive across different frequency bands and channels.
- MLO multilink operation
- the multilink architecture introduces the concept of a multilink device (MLD), which consists of several Wi-Fi devices (each with a PHY interface to the wireless medium), but one to The interface of the LLC layer.
- MLD multilink device
- Wi-Fi devices each with a PHY interface to the wireless medium
- the interface of the LLC layer In other words, upper layer protocols see the MLD as a single device.
- MLDs have multiple physical wireless interfaces
- MLDs have one MAC address and serial numbers uniquely generated from the same serial number space.
- Packet coloring statistics is a network performance statistics technology. By directly marking service packets, it realizes accurate end-to-end or segmented packet loss measurement of IP packets.
- the network card address is also called the MAC address, and can also be called the LAN address (LAN Address), MAC address, Ethernet address (Ethernet Address) or physical address (Physical Address). Is an address used to identify the location of a network device.
- the third layer of the network layer is responsible for the IP address
- the second layer of the data link layer is responsible for the MAC address.
- the MAC address is used to uniquely identify a network card in the network. , if a device has one or more network cards, each network card has a MAC address.
- the tunnel involved in the following embodiments of this application refers to: one or more effective network card addresses of the data sending end device and one or more network card addresses of the data receiving end device. link.
- the valid network card address of the data sending device includes network card address #1 and network card address #2
- the valid network card address of the data receiving device includes network card address #3 and network card address #4
- the tunnel includes: network card address #1 and network card address The link between #3, the link between NIC address #1 and NIC address #4, the link between NIC address #2 and NIC address #3, and the link between NIC address #2 and NIC address #4 link.
- the kernel is the most fundamental part of an operating system, the part of the software that provides apps with secure access to computer hardware.
- the tunnel proxy system involved in this application can intercept messages, such as intercepting messages sent by the APP to the kernel; it can also realize whether to perform multi-link bundling, such as judging the message according to the feedback from the device receiving the message. Whether the message is sent through multiple links; it is also possible to realize the distribution of data packets, for example, the message needs to be distributed when sending the message through multiple links.
- Netfilter is a Linux 2.4 kernel firewall framework proposed by Rusty Russell. This framework is concise and flexible, and can realize many functions in security policy application, including but not limited to:
- Packet filtering Packet filtering, packet processing, address masquerading, transparent proxy, dynamic network address translation (network address translation, NAT), packet rate limiting, etc.
- Linux Iptable is an application layer application, which modifies the XXtables (Netfilter configuration table) stored in the kernel memory through the interface.
- XXtables are composed of tables (tables) , chains, and rules, Linux Iptable is responsible for modifying rule files at the application layer.
- WDS Wireless distribution system
- WDS refers to a wireless network composed of multiple wireless networks connected to each other. Simply put, WDS is to use two (or more) wireless broadband routers (or APs) to extend the wireless signal to a farther range through mutual connection. Using WDS technology, APs can abandon the traditional wired network for interconnection, and each AP can be used as a master device, a relay device, and a remote device.
- WDS wireless broadband routers
- WDS technology Compared with other wireless extension technologies, WDS technology has a remarkable feature that it retains the MAC address of the client when transmitting data between APs, and the data transmission of the client only involves the MAC address and has nothing to do with the IP address.
- the WIFI bandwidth available to a terminal device will be affected by the bandwidth usage of other terminal devices under the same wireless access point (access point, AP), and will also be affected by the distance between the terminal device and the AP. Influence, the bandwidth will always change.
- access point access point
- the MPTCP mentioned in the above basic concepts cannot support User Datagram Protocol (UDP) services.
- UDP User Datagram Protocol
- high throughput and real-time services often use the UDP protocol.
- MPTCP cannot support video call applications.
- the MLO mentioned in the basic concept above does not support the bundling of heterogeneous links.
- MLO does not support bonding between WIFI and cellular links.
- the current multi-path bundling method either relies on modifying the APP to call a new transport protocol that supports link aggregation (eg, MPTCP mode), or does not support the bundling of heterogeneous links (eg, MLO mode) and the current multi-path
- link aggregation e.g, MPTCP mode
- MLO mode heterogeneous links
- this application provides a communication method in which the application is not aware of path bundling and does not require application modification to call a new transmission protocol, and can support the bundling of heterogeneous links.
- for indication may include both direct indication and indirect indication.
- indication information for indicating A it may include that the indication information directly indicates A or indirectly indicates A, but it does not mean that A must be included in the indication information.
- the "storage" mentioned in the embodiment of the present application may refer to storage in one or more memories.
- the one or more memories may be provided independently, or may be integrated in an encoder or decoder, a processor, or a communication device.
- a part of the one or more memories may also be provided separately, and a part may be integrated in a decoder, a processor, or a communication device.
- the type of the storage may be any form of storage medium, which is not limited in this application.
- the "protocol” involved in the embodiment of the present application may refer to standard protocols in the field of communication, for example, may include LTE protocol, WIFI protocol and related protocols applied in future communication systems, which is not limited in this application.
- the embodiments shown below do not specifically limit the specific structure of the execution subject of the method provided in the embodiment of the application, as long as the program that records the code of the method provided in the embodiment of the application can be executed according to the application
- the method provided in the embodiment may be used for communication.
- the execution subject of the method provided in the embodiment of the present application may be a terminal device, or a functional module in the terminal device that can call a program and execute the program.
- Fig. 4 is a schematic flowchart of a communication method provided by the present application. Include the following steps:
- the data sending end device acquires first data.
- the first data includes to-be-sent data of a first application installed in the data sender device.
- the destination address of the first data is the address of the data receiving end device.
- the address of the data receiving end device may be an IP address (for example, the data receiving end device is a device in a wide area network); or it may also be a MAC address (for example, the data receiving end device is a device in a local area network).
- the address of the data receiving end device may be referred to as the destination address hereinafter.
- the data sending end device involved in the embodiment of the present application may be a terminal device, and may also be a network device (for example, an access network device or a core network device that communicates with the terminal device, etc.).
- a network device for example, an access network device or a core network device that communicates with the terminal device, etc.
- the data sending end device there is no limitation on the specific type of the data sending end device, and it may be any device capable of sending data.
- the first application (application, APP) is an APP installed in the data sending end device.
- it may be an APP installed in the data sending device for communication, or an APP installed in the data sending device for health monitoring.
- first APP installed in the data sending device that needs to send the first data to the data receiving device.
- the aforementioned first data to be sent by the first application may be a message, control signaling, information, etc. to be sent by the first application.
- first data is not limited in the embodiment of the present application, and may be understood as information to be sent by the first application.
- obtaining the first data by the data sending end device includes:
- the first tunnel proxy system in the data sender device intercepts the first data sent by the first APP to the first kernel of the data sender device.
- the first APP may send the first data to the first core of the data sending end device.
- the first APP implements data communication by calling a TCP interface (Socket) or UDP Socket, and sends the first data to the first kernel of the sending end device.
- Socket Socket
- UDP Socket UDP Socket
- the first tunnel proxy system intercepts the data sent by the first APP to the first kernel through linux Iptable.
- the acquisition of the first data by the data sending end device includes:
- the first APP sends the first data to be sent to the data receiving end device to the first tunnel proxy system in the data sending end device.
- the acquisition of the first data by the data sending end device includes:
- the first tunnel proxy system in the data sending end device determines the first data to be sent by the first APP according to the historical data sending records.
- the method process shown in Figure 4 also includes:
- start the first APP installed in the data sending end device discover the IP address of the data receiving end device through a similar discovery mechanism such as a domain name server (domain name system, DNS), and a central registration server, and establish a TCP connection with the data receiving end device. connection or UDP connection.
- a domain name server domain name system, DNS
- central registration server a central registration server
- the first network card address corresponding to the destination address can be determined according to the destination address, and the method flow shown in FIG. 4 also includes:
- the first network card address is the address of one or more network cards of the data receiving end device.
- the first tunnel proxy system in the data sending end device searches the local record table according to the destination address of the first data sent by the first APP.
- the first network card address corresponding to the above destination address already exists in the local record table of the data sending end device.
- the data sending end device may determine the address of the first network card corresponding to the destination address according to the destination address and information already recorded in the record table.
- the local record table of the data sending end device includes information about the destination address, where the information about the destination address includes the address of the first network card corresponding to the destination address.
- the information related to the destination address included in the record table can be obtained through the following methods:
- Method 1 The data sending device has sent the second data whose destination address is the destination address to the data receiving device before sending the first data, and records the relevant information of the destination address in the local record during the process of sending the second data table.
- Method 2 The device at the data sending end obtains information related to the destination address from other devices (eg, a management device).
- Mode 3 The information related to the destination address may be predefined by the protocol.
- the record table may be called a tunnel record table, and may also be called a link record table.
- the first network card address corresponding to the above destination address does not exist in the local record table of the data sending end device.
- the data sending end device needs to start the detection process to detect whether the data receiving end device supports decapsulating data based on the network card address (or detect whether the data receiving end device supports the tunnel proxy function), the method shown in Figure 4
- the process also includes:
- the data sending end device sends a detection message to the data receiving end device, or the data receiving end device receives the detection message from the data sending end device.
- the detection message is used to detect whether the data receiving end device supports decapsulating data based on the network card address.
- the specific format of the detection message is not limited, and it may be any message that can be used to detect whether the device at the data receiving end supports the tunnel proxy function.
- the detection packet may also be called detection information or information.
- the detection result may include the following two possibilities:
- the device at the data receiving end supports the tunnel proxy function.
- the method process shown in Figure 4 also includes:
- the data receiving end device sends a response message to the data sending end device, or the data sending end device receives the response message from the data receiving end device.
- the data receiving end device sends a response message (which may be referred to as a first response message for ease of distinction) to the data sending end device, and the first response message is used to indicate that the data receiving end device supports the tunnel proxy function.
- a response message (which may be referred to as a first response message for ease of distinction)
- the first response message includes the address of the first network card.
- the first network card address and the first response message are respectively sent to the data sending end device.
- the tunnel proxy system of the data sending end device will record the dynamic entry for the destination IP (for example, add the first network card address corresponding to the destination address in the local record table).
- the device at the data receiving end does not support the tunnel proxy function.
- the data receiving end device may not respond to the detection message, for example, the data sending end device has not received a response message from the data receiving end device for responding to the detection message within a period of time.
- the time can be preset, or determined through negotiation between the data sending end device and the data receiving end device; or,
- the data receiving end device sends a second response message to the data sending end device, and the second response message is used to indicate that the data receiving end device does not support the tunnel proxy function, for example, the second response message is used to indicate that the Internet
- the Control Message Protocol Internet Control Message Protocol, ICMP
- ICMP port unreachable
- the detection fails, that is, the data receiving end device does not support the tunnel proxy function.
- the original sending method and encapsulation can be kept unchanged.
- the sending method of the first data is ECMP sending or UCMP sending.
- the sending method and encapsulation method of the first data are not limited.
- the case where the data receiving end device supports the tunnel proxy function is mainly considered, and the case where the data receiving end device does not support the tunnel proxy function is not shown in FIG. 4 .
- the first data may be encapsulated based on the first network card address to obtain the encapsulated first data, and the method shown in FIG. 4 further includes:
- S430 Encapsulate the first data based on the address of the first network card to obtain encapsulated first data.
- the data sending end device adds link encapsulation to the first data, and since the link encapsulation is implemented based on the address of the first network card, the address (or port) of the first data remains unchanged in the link. There is no need to allocate an additional address within the link, nor to modify the operating system kernel of the data sending device.
- the data sending device encapsulates the first data based on the first network card address to obtain the encapsulated first data can be understood as: the data sending device encapsulates part of a network card address corresponding to a certain link For the first data, the link sends the part of encapsulated data.
- the data sending end device may send the encapsulated first data to the data receiving end device through multiple links, and the method shown in FIG. 4 further includes:
- the data sending end device sends the encapsulated first data to the data receiving end device through multiple links, or the data receiving end device receives the encapsulated first data from the data sending end device through multiple links.
- the destination address of each link in the plurality of links is one of the addresses of the first network card
- the source address is one of the addresses of the second network card
- the address of the second network card is the address of the data sending end The addresses of one or more network cards of the device.
- the link may be one of link mechanisms such as UDP link, Ethernet VLAN link, MACinMAC link, and IP link.
- Support heterogeneous link bundling not limited to wireless links, wired links, WIFI, cellular and other types. Bandwidth bundling is performed between multiple links to increase the available network bandwidth, and through multi-link bundling, communication reliability can be improved.
- the data sending end device sends the encapsulated first data to the data receiving end device through multiple links, including:
- the splitting module corresponding to the first wireless interface of the data sending end device segments the first data into a first data packet and a second data packet, and the second data packet is split to the first data packet of the data sending end device.
- the first wireless interface of the data sending end device sends the encapsulated first data packet to the data receiving end device through the first link;
- the second wireless interface of the data sending end device sends the encapsulated second data packet to the data receiving end device through a second link.
- first data packet may be one or more data packets
- second data packet may also be one or more data packets
- the application program of the data sending end device calls the Socket API or the first data generated by other modules of the kernel is sent to the first wireless interface (such as the first wireless WIFI driver), and the first data is divided by the distribution module of the first wireless interface.
- the segment is a data packet, and a serial number is added to the data packet, and then some data packets are distributed to the second wireless interface (such as other wireless interfaces except the first wireless WIFI driver) according to the distribution strategy and the device MAC address mapping table. WIFI driver) data distribution module.
- the data packets other than the above-mentioned partial data packets are encapsulated and sent to the sending buffer of the first wireless interface.
- the data splitting module of the second wireless interface performs WDS encapsulation on part of the split data packets based on the device MAC address mapping table and the information of the second wireless interface and sends them to the sending buffer of the second wireless interface.
- the data packets in the send buffer are sent according to the existing process.
- the data packet received by the data receiving end device is checked and reassembled based on the device MAC address mapping table and cache policy, and the order of the data packet is restored.
- the premise that the data sending end device can send the encapsulated first data to the data receiving end device through multiple links is that multiple links have been established, and the method shown in Figure 4 also includes:
- the tunnel proxy system at the data sending end forms a link according to one or more effective local network card addresses (such as the second network card address) and one or more network card addresses (such as the first network card address) at the data receiving end.
- one or more effective local network card addresses such as the second network card address
- one or more network card addresses such as the first network card address
- link connections may be measured periodically to eliminate failed connections.
- the data receiving end device may decapsulate the received encapsulated first data to obtain the first data.
- the method flow shown in Figure 4 also includes:
- the data receiving end device decapsulates the encapsulated first data to obtain the first data.
- the data receiving end device receives the encapsulated first data through multiple links, and then the data receiving end device decapsulates the encapsulated first data based on the address of the first network card to obtain the first data.
- FIG. 5 is a schematic diagram of multi-way link bundling data transmission in a wide area network provided by the present application.
- terminal device #1 shown in Fig. 5 is a data sending end device
- terminal Device #2 is the data receiver device
- both the data sending end device and the data receiving end device involve invocation of user state modules and kernel state modules.
- the APP implements data communication by calling TCP or UDP socket (Socket) (for example, the APP shown in Figure 5 calls TCP Socket to send data to the kernel).
- the tunnel proxy system filters and intercepts the data of the target APP by configuring the IP table of the kernel, and the interception strategy is managed by the interception strategy management module.
- the intercepted data packets will be sent to the packet receiving module, and the packet receiving module will send the intercepted data to the binding state management module, and the binding state management module will determine whether the subsequent data packets are sent to the shunt according to the feedback of whether the data receiving end device can perform binding The management module, or send it directly to the contract sending module for direct contract sending.
- link (or tunnel) encapsulation will be carried out according to the different connections of the diversion, and then the data packets will be sent to the packet sending module, and the packet sending module will call UDP socket to realize the sending of link data.
- a detection module between the data sending end device and the data receiving end device, which is used to detect whether the data receiving end device is alive (for example, online or offline).
- OS operating System
- the data receiving end device After the data receiving end device receives the data packet through the hardware and operating system (Operating System, OS), it will send the data packet to the packet receiving module in the user state for processing; The decapsulation and out-of-sequence reordering are processed, and then sent to the packet sending module, which calls the raw socket (RAW socket) to send the data packet to the OS, and then is received by the APP.
- OS operating System
- FIG. 6 is a schematic diagram of multi-link bundling data transmission in a local area network provided by the present application.
- terminal devices in the multi-link bundling architecture of the local area network are divided into data sending end devices and data receiving end devices (terminal device #1 shown in Figure 6 is the data sending end device, terminal device #2 is the data receiver device).
- the data to be sent by the application of the data sending device is processed by the OS and sent to WIFI network card 1.
- the tunnel proxy system in the driver of WIFI network card 1 starts to process data distribution, and some data packets are directly sent from the media of this interface.
- Access control 1 Media Access Control, MAC1
- MAC1 Media Access Control
- WIFI network card 2 After the data distribution module of the WIFI network card 2 receives the data packet, it sends the data packet to the interface MAC2 of the network card.
- the data packet received by the network card 4 of the data receiving end device reaches the data aggregation module, and sends the data to the data aggregation module of the network card 3 according to the MAC address MAC3 of the network card 3 provided by the address mapping management.
- the data aggregation module of the network card 3 receives the data received by its own network card and the data sent by the network card 4, aggregates them, and sends them to the OS.
- FIG. 5 and FIG. 6 are only examples to illustrate the application scenarios of the present application, and do not constitute any limitation to the protection scope of the present application.
- This application is aimed at the networking scenario starting from the communication terminal, which can be used not only for link bundling of WIFI 2.4G and 5G in the local area network, but also for link bundling of WIFI links and cellular links in the wide area network.
- this application also proposes a method for dynamically adjusting the shared weights of multiple links, through the measurement of the one-way delay change, the measurement of the packet loss rate, and the feedback of the one-way delay change and the packet loss feedback.
- Time synchronization between communication terminals avoids traditional network resources occupied by a large number of ACK messages, which is especially beneficial on WIFI networks.
- dynamic weight adjustment accurate dynamic sharing is realized, thereby improving the bundled bandwidth available to communication terminals.
- the method for dynamically adjusting the shared weights of multiple links will be described in detail below with reference to FIG. 7 and FIG. 8 .
- FIG. 7 is a schematic flowchart of another communication method provided by an embodiment of the present application. Include the following steps:
- the data receiving end device sends first indication information to the data sending end device, or the data sending end device receives the first indication information from the data receiving end device.
- the first indication information is used to indicate a delay difference between two encapsulated data packets transmitted through the first link.
- the first link is any link in the plurality of links.
- the data receiving end device calculates the time delay difference between every two encapsulated data packets with consecutive sequence numbers for the encapsulated data packets sent from any link.
- the data receiving end device calculates that the delay of the encapsulated data packet with the serial number #1 sent on the first link is 1ms (which can be calculated by the time stamp sent and the receiving time), and the data receiving end device calculates The time delay of the encapsulated data packet with serial number #2 sent from the first link is 2ms, then the time delay of the encapsulated data packet with serial number #1 is the same as that of the encapsulated data packet with serial number #2 The delay difference between the delays of the data packets is 1 ms.
- the data receiving end device calculates the time delay difference between two encapsulated data packets separated by a fixed number of data packets for the encapsulated data packets sent from any link.
- the data receiving end device calculates the delay of the encapsulated data packet #1 sent on the first link as 1 ms, and the data receiving end device calculates the delay of the encapsulated data packet #2 sent on the first link as 3ms, the encapsulated data packet #1 and the encapsulated data packet #2 are separated by Q encapsulated data packets, Q is a positive integer, then the time delay of the encapsulated data packet #1 and the encapsulated data The delay difference between the delays of packets #2 is 2ms.
- the delay difference may be called a one-way delay change value.
- the data receiving end device may indicate the delay difference through the first indication information because the delay difference exceeds a threshold for determining network stability (which may be referred to as a preset threshold), for example, the delay difference exceeds N *Round-trip time delay (round-trip time, RTT), N is a positive integer; another example, the delay difference exceeds a predefined delay (for example, 1ms).
- a threshold for determining network stability which may be referred to as a preset threshold
- N Round-trip time, RTT
- a predefined delay for example, 1ms.
- the size of the preset threshold which may be determined through negotiation between the data receiving end device and the data sending end device, may also be determined by the data receiving end device, or may be pre-defined by the protocol. of.
- the data sending end device may adjust the weights of the encapsulated data packets transmitted on multiple links according to the received first indication information, and the method flow shown in FIG. 7 also includes:
- the data sending end device adjusts the weight of the encapsulated data packet transmitted on the first link.
- the data sending end device adjusts the weight of the encapsulated data packet transmitted on the first link according to the first indication information, including:
- the data sending end device adjusts the weight of the encapsulated data packet transmitted on the first link according to the delay difference, specifically, the adjusted weight of the encapsulated data packet transmitted on the first link is less than the weight of the encapsulated data packet transmitted on the first link before adjustment.
- the weight of the encapsulated data packet transmitted on the first link and the delay difference satisfy the following formula:
- M1 represents the weight of the encapsulated data packet transmitted on the first link after adjustment
- M represents the weight of the encapsulated data packet transmitted on the first link before adjustment
- T represents the delay difference
- the upper-layer application of the data sending device sends encapsulated data packets to the distribution module at a certain rate, and the distribution module performs blind start-up packet-by-packet sharing according to a fixed 1:1 ratio or a static bandwidth ratio (eg, 5:1).
- the encapsulated data packets on each link will be marked with independent serial numbers, that is, the encapsulated data packets on each link will be Has an independent serial number.
- serial number may adopt sequential natural numbers, or the serial number may adopt the cumulative number of bytes sent, or may also adopt other ways of numbering, which is not limited in this application.
- the link may be one of link mechanisms such as UDP link, Ethernet VLAN link, MACinMAC link, and IP link.
- the data receiving device calculates the number of encapsulated data packets with two consecutive sequence numbers, or the distance between two encapsulated data packets separated by a fixed number of encapsulated data packets. The difference in delay between the two, that is, the one-way delay change value, and record this value.
- the data receiving end device sends first indication information to the data sending end device, and the first indication information carries the one-way delay change value.
- the data sending end device receives the first indication information, and adjusts the sharing weight according to the change value of the one-way delay.
- the original ratio is that the scheduling weight between link #1 and link #2 is 5:1, and the change value of the one-way delay received by link #1 is 2ms, which triggers the distribution module to adjust the weight, and the adjusted weight is 5:2 (ie (5/2): 1); if the one-way delay variation value of link #1 continues to increase, the distribution module continues to adjust the weight, and the adjusted weight is 5:4 (ie (( 5/2)/2):1); when the one-way delay variation value of link #1 does not change any more, the last adjusted result can be maintained (for example, maintained as 5:4).
- the weight adjustment will be performed. For example, if the one-way delay variation value of link #2 increases to 2ms, the weight will be adjusted to 5:2(((5/2)/2):(1/2)).
- FIG. 8 is a schematic flowchart of another communication method provided by an embodiment of the present application. Include the following steps:
- the data receiving end device sends the second indication information to the data sending end device, or the data sending end device receives the second indication information from the data receiving end device.
- the second indication information is used to indicate the first packet loss rate of the first link.
- the first link is any link in the plurality of links.
- the data receiving end device calculates the packet loss rate of the data packets within a certain period (for example, within the current measurement period) based on data packet coloring or through sequence number judgment.
- the data receiving end device When the measured packet loss rate is greater than the packet loss threshold, the data receiving end device sends second indication information to the data sending end device, and the second indication information carries the first packet loss rate (for example, the packet loss rate in the latest cycle).
- the packet loss threshold may be predefined, may also be negotiated and determined between the data receiving end device and the data sending end device, or may be issued by the management device, which is not limited in this application.
- the data sending end device may adjust the weight of the encapsulated data packet transmitted on the first link according to the received second indication information, and the method flow shown in FIG. 8 further includes:
- the data sending end device adjusts the weight of the encapsulated data packet transmitted on the first link.
- the data sending end device adjusts the weight of the encapsulated data packet transmitted on the first link according to the second indication information, including:
- the data sending end device adjusts the weight of the encapsulated data packet transmitted on the first link
- the weight of the encapsulated data packet transmitted on the first link after adjustment is smaller than the weight of the encapsulated data packet transmitted on the first link before adjustment.
- the data sending end device upon receiving the second indication information, adjusts the sharing weight according to the packet loss rate, and adjusts the weight in a decreasing direction.
- the data sending end device may determine whether to adjust the weight of the encapsulated data packets transmitted on multiple links, and before performing S820, the method flow shown in FIG. 8 may also include:
- the device at the data sending end determines that the weight of the encapsulated data packet transmitted on the first link needs to be adjusted.
- the packet loss rate of other links (for example, the latest known packet loss rate locally stored by the data sending end device) is needed. Compare.
- the data sending end device determines that the first packet loss rate is greater than a second packet loss rate, the second packet loss rate is the packet loss rate of the second link, and the second link is the packet loss rate of the multiple One or more links in the links except the first link, the packet loss rate of the second link is the latest packet loss rate ( For example, the packet loss rate of the last measurement period).
- the second packet loss rate is not zero, that is, in all other links, all packets are lost, then judge whether the packet loss rate of this link is greater than the packet loss rate of any link, if greater, then The weight of this link needs to be adjusted.
- the second packet loss rate is zero, that is, among all other links, if there are other links without packet loss, the weight of this link needs to be adjusted.
- the data sending device always records the smallest packet loss rate among all links. After the packet loss rate of any link is updated, compare it with the recorded packet loss rate: if it is greater than the recorded packet loss rate, adjust the Link weight, if it is less than or equal to the recorded packet loss rate, it will not be adjusted.
- sequence numbers of the above processes do not mean the order of execution, and the execution order of each process should be determined by its functions and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present application.
- the embodiment shown in FIG. 4 and the embodiment shown in FIG. 7 can be combined. After multi-link bundling transmission is realized according to the embodiment shown in FIG. 4 , multiple links are adjusted based on the embodiment shown in FIG. 7 the weight of.
- the embodiment shown in FIG. 4 and the embodiment shown in FIG. 8 can be combined. After multi-link bundling transmission is realized according to the embodiment shown in FIG. 4 , multiple chains are adjusted based on the embodiment shown in FIG. 8 road weight.
- devices in the existing network architecture are used as examples for illustration (such as data sending end devices, data receiving end devices, etc.), and it should be understood that for specific devices Format
- the embodiment of this application is not limited.
- devices that can implement the same function in the future are applicable to this embodiment of the application.
- the methods and operations implemented by devices may also be implemented by components of the device (such as chips or circuits).
- each network element includes a corresponding hardware structure and/or software module for performing each function.
- the embodiment of the present application can divide the functional modules of the transmitting end device or the receiving end device according to the above method example, for example, each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing module middle.
- the above-mentioned integrated modules can be implemented in the form of hardware or in the form of software function modules. It should be noted that the division of modules in the embodiment of the present application is schematic, and is only a logical function division, and there may be other division methods in actual implementation. In the following, description will be made by taking the division of each functional module corresponding to each function as an example.
- FIG. 9 is a schematic block diagram of an apparatus 900 provided by an embodiment of the present application.
- the device 900 includes a transceiver unit 910 , a processing unit 920 and a storage unit 930 .
- the transceiver unit 910 can implement a corresponding communication function, and the transceiver unit 910 can also be called a communication interface or a communication unit.
- the processing unit 920 is used for data processing.
- the storage unit 930 is used to store instructions and/or data, and the processing unit 920 can read the instructions and/or data in the storage unit, so that the device implements the aforementioned method embodiments.
- the device 900 can be used to execute the actions performed by the device (such as the above-mentioned sending device, receiving device, etc.) in the above method embodiments.
- the device 900 can be a device or a component that can be configured in the device
- the transceiver unit 910 is configured to perform operations related to device sending and receiving in the above method embodiments
- the processing unit 920 is used to perform operations related to device processing in the above method embodiments.
- the apparatus 900 is configured to perform the actions performed by the data sending end device in the above method embodiments.
- the processing unit 920 is configured to obtain first data, the first data includes data to be sent by a first application installed in the data sending device, and the destination address of the first data is the address of the data receiving device;
- the processing unit 920 is further configured to determine a first network card address corresponding to the address of the data receiving device according to the address of the data receiving device, and the first network card address is the address of one or more network cards of the data receiving device ;
- the processing unit 920 is further configured to encapsulate the first data based on the first network card address to obtain encapsulated first data;
- transceiver unit 910 configured to send the encapsulated first data to the data receiving end device through multiple links
- the destination address of each link in the plurality of links is one of the addresses of the first network card
- the source address is one of the addresses of the second network card
- the address of the second network card is one or Addresses of multiple network cards.
- the transceiver unit 910 is further configured to send a detection message to the data receiving device, where the detection message is used to detect whether the data receiving device supports decapsulating data based on the network card address;
- the transceiving unit 910 is further configured to receive a response message from the data receiving end device, where the response message is used to indicate that the data receiving end device supports decapsulating data based on the network card address.
- the response message includes the address of the first network card.
- processing unit 920 is further configured to establish the multiple links according to the first network card address and the second network card address.
- the first data includes a plurality of data packets
- the encapsulated first data includes a plurality of encapsulated data packets
- the transceiving unit 910 sends the encapsulated first data to the data receiving end device through multiple links, including: the transceiving unit 910 sends a plurality of encapsulated data packets to the data receiving end device through the first link;
- the transceiver unit 910 is further configured to receive first indication information from the data receiving end device, where the first indication information is used to indicate the time delay difference between two encapsulated data packets transmitted through the first link ;
- the processing unit 920 is further configured to adjust weights of encapsulated data packets transmitted on the multiple links according to the first indication information
- the first link is any link in the multiple links.
- the weight of the encapsulated data packet transmitted on the first link after adjustment is smaller than the weight of the encapsulated data packet transmitted on the first link before adjustment.
- the transceiving unit 910 is further configured to receive second indication information from the data receiving end device, where the second indication information is used to indicate the first packet loss rate of the first link;
- the processing unit 920 is further configured to adjust the weight of the encapsulated data packet transmitted on the first link according to the second indication information
- the first link is any link in the multiple links.
- the first packet loss rate is greater than the second packet loss rate, and the weight of the encapsulated data packet transmitted on the first link after adjustment is smaller than the weight of the encapsulated data packet transmitted on the first link before adjustment , wherein the second packet loss rate is the packet loss rate of links other than the first link stored locally by the data sending end device.
- the apparatus 900 can implement the steps or processes corresponding to the data sending end device in the method embodiment according to the embodiment of the present application, and the apparatus 900 can include a unit for executing the method executed by the data sending end device in the method embodiment . Moreover, each unit in the apparatus 900 and other operations and/or functions described above are respectively for realizing the corresponding process of the method embodiment in the data sending end device in the method embodiment.
- the transceiver unit 910 can be used to execute the steps of sending and receiving information in the method, such as steps S421, S422 and S440; the processing unit 920 can be used to execute the processing steps in the method, Such as steps S410, S420, S430 and S441.
- the transceiving unit 910 can be used to execute the step of sending and receiving information in the method, such as step S710; the processing unit 920 can be used to execute the processing step in the method, such as step S720.
- the transceiving unit 910 can be used to execute the step of sending and receiving information in the method, such as step S810; the processing unit 920 can be used to execute the processing step in the method, such as step S820.
- the apparatus 900 is configured to perform the actions performed by the data receiving end device in the above method embodiments.
- the transceiver unit 910 is configured to receive the encapsulated first data from the data sending end device through multiple links;
- the processing unit 920 is configured to decapsulate the encapsulated first data based on the address of the first network card to obtain the first data,
- the first data includes the data to be sent by the first application installed in the data sending end device
- the destination address of the first data is the address of the data receiving end device
- the address of the data receiving end device is the same as that of the first network card
- the first network card address is the address of one or more network cards of the data receiving end device
- the encapsulated first data is the data obtained by encapsulating the first data based on the first network card address.
- the transceiver unit 910 is configured to receive a detection message from the data sending device, where the detection message is used to detect whether the data receiving device supports decapsulating data based on the network card address;
- the transceiving unit 910 is configured to send a response message to the data sending device, the response message includes the first network card address, and the response message is used to indicate that the data receiving device supports decapsulating data based on the network card address.
- the response message includes the address of the first network card.
- the first data includes a plurality of data packets
- the encapsulated first data includes a plurality of encapsulated data packets
- the transceiver unit 910 receives the encapsulated first data packets from the data sending end device through multiple links.
- a piece of data including: the transceiver unit 910 receives a plurality of encapsulated data packets from the data sending end device through the first link;
- the transceiver unit 910 is configured to send first indication information to the data sending end device, where the first indication information is used to indicate the time delay difference between two encapsulated data packets transmitted through the first link, the The delay difference is used to adjust the weight of the encapsulated data packet transmitted on the first link, where the first link is any link in the plurality of links.
- the weight of the encapsulated data packet transmitted on the first link after adjustment is smaller than the weight of the encapsulated data packet transmitted on the first link before adjustment.
- the transceiving unit 910 is configured to send second indication information to the data sending end device, where the second indication information is used to indicate a first packet loss rate of the first link, and the first packet loss rate is used for Adjusting the weight of the encapsulated data packet transmitted on the first link, where the first link is any link in the plurality of links.
- the first packet loss rate is greater than the second packet loss rate, and the weight of the encapsulated data packet transmitted on the first link after adjustment is smaller than the weight of the encapsulated data packet transmitted on the first link before adjustment , wherein the second packet loss rate is the packet loss rate of links other than the first link stored locally by the data sending end device.
- the apparatus 900 can implement the steps or processes corresponding to the execution of the data receiving end device in the method embodiment according to the embodiment of the present application, and the apparatus 900 can include a unit for executing the method executed by the data receiving end device in the method embodiment . Moreover, each unit in the apparatus 900 and other operations and/or functions described above are respectively for realizing the corresponding process of the method embodiment in the data receiving end device in the method embodiment.
- the transceiver unit 910 can be used to execute the steps of sending and receiving information in the method, such as steps S421, S422 and S440; the processing unit 920 can be used to execute the processing steps in the method, Such as step S450.
- the transceiver unit 910 can be used to execute the step of sending and receiving information in the method, such as step S710.
- the transceiver unit 910 can be used to execute the step of sending and receiving information in the method, such as step S810 .
- the processing unit 920 in the above embodiments may be implemented by at least one processor or processor-related circuits.
- the transceiver unit 910 may be implemented by a transceiver or transceiver-related circuits.
- the storage unit can be realized by at least one memory.
- the embodiment of the present application further provides a device 1000 .
- the apparatus 1000 includes a processor 1010 and may further include one or more memories 1020 .
- the processor 1010 is coupled with the memory 1020, and the memory 1020 is used to store computer programs or instructions and/or data, and the processor 1010 is used to execute the computer programs or instructions and/or data stored in the memory 1020, so that the methods in the above method embodiments be executed.
- the apparatus 1000 may further include a transceiver 1030, and the transceiver 1030 is used for receiving and/or sending signals.
- the processor 1010 is configured to control the transceiver 1030 to receive and/or send signals.
- the processor 1010 in FIG. 10 may be the processing unit 920 in FIG. 9, which realizes the function of the processing unit 920.
- FIG. 9 The transceiver 1030 in Figure 10 can be the transceiver unit 910 in Figure 9, which realizes the function of the transceiver unit 910, and the operations performed by the transceiver 1030 can refer to the description of the transceiver unit 910 above, and will not be repeated here;
- the memory 1020 may be the storage unit 930 in FIG. 9 to implement the function of the storage unit 930 .
- the apparatus 1000 includes one or more processors 1010 .
- the memory 1020 may be integrated with the processor 1010, or set separately.
- the apparatus 1000 is used to implement the operations performed by the devices (such as the above-mentioned data receiving end device, data sending end device, etc.) in the above method embodiments.
- the embodiment of the present application also provides a computer-readable storage medium, on which computer instructions for implementing the method performed by the device (such as the above-mentioned data receiving end device, data sending end device, etc.) in the above method embodiment are stored.
- Embodiments of the present application also provide a computer program product containing instructions, which when executed by a computer enable the computer to implement the method performed by the device (such as the above-mentioned data receiving end device, data sending end device, etc.) in the above method embodiment.
- the embodiment of the present application further provides a communication system, which includes the device in the above embodiments (such as the above-mentioned data receiving end device, data sending end device, etc.).
- the embodiment of the present application also provides a chip device, including a processing circuit, the processing circuit is used to call and run the program from the memory, so that the communication device installed with the chip device can implement the device (such as the above data receiving device) in the above method embodiment. end device, data sending end device, etc.) to execute the method.
- the processing circuit is used to call and run the program from the memory, so that the communication device installed with the chip device can implement the device (such as the above data receiving device) in the above method embodiment. end device, data sending end device, etc.) to execute the method.
- processors mentioned in the embodiment of the present application may be a central processing unit (central processing unit, CPU), and may also be other general purpose processors, digital signal processors (digital signal processor, DSP), application specific integrated circuits ( application specific integrated circuit (ASIC), off-the-shelf programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
- a general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like.
- the memory mentioned in the embodiments of the present application may be a volatile memory and/or a nonvolatile memory.
- the non-volatile memory can be read-only memory (read-only memory, ROM), programmable read-only memory (programmable ROM, PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically programmable Erases programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
- the volatile memory may be random access memory (RAM).
- RAM random access memory
- RAM can be used as an external cache.
- RAM may include the following forms: static random access memory (static RAM, SRAM), dynamic random access memory (dynamic RAM, DRAM), 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 (synchlink DRAM, SLDRAM) and Direct memory bus random access memory (direct rambus RAM, DR RAM).
- static random access memory static random access memory
- dynamic RAM dynamic random access memory
- DRAM synchronous dynamic random access memory
- SDRAM synchronous DRAM
- double data rate SDRAM double data rate SDRAM
- DDR SDRAM double data rate SDRAM
- ESDRAM enhanced synchronous dynamic random access memory
- SLDRAM synchronous connection dynamic random access memory
- Direct memory bus random access memory direct rambus RAM, DR RAM
- the processor is a general-purpose processor, DSP, ASIC, FPGA or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components
- the memory storage module may be integrated in the processor.
- memories described herein are intended to include, but are not limited to, these and any other suitable types of memories.
- the disclosed devices and methods may be implemented in other ways.
- the device embodiments described above are only illustrative.
- the division of the units is only a logical function division. In actual implementation, there may be other division methods.
- multiple units or components can be combined or May be integrated into another system, or some features may be ignored, or not implemented.
- the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
- the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to implement the solutions provided in this application.
- each functional unit in each embodiment of the present application may be integrated into one unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
- the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable devices.
- the computer may be a personal computer, a server, or a sending end device.
- the computer instructions may be stored in 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 Transmission to another website site, computer, server, or data center by wired (eg, coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (eg, infrared, wireless, microwave, etc.).
- the computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server or a data center integrated with one or more available media.
- the available medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, DVD), or a semiconductor medium (for example, a solid state disk (solid state disk, SSD) etc.
- the aforementioned available medium may include But not limited to: U disk, mobile hard disk, read-only memory (read-only memory, ROM), random access memory (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)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
Claims (23)
- 一种通信的方法,其特征在于,包括:数据发送端设备获取第一数据,所述第一数据包括所述数据发送端设备中安装的第一应用的待发送数据,所述第一数据的目的地址为数据接收端设备的地址;所述数据发送端设备根据所述数据接收端设备的地址确定所述数据接收端设备的地址对应的第一网卡地址,所述第一网卡地址为所述数据接收端设备的一个或者多个网卡的地址;所述数据发送端设备基于所述第一网卡地址对所述第一数据进行封装得到封装后的第一数据;所述数据发送端设备通过多条链路向所述数据接收端设备发送所述封装后的第一数据,其中,所述多条链路中每条链路的目的地址为所述第一网卡地址中的一个,源地址为第二网卡地址中的一个,所述第二网卡地址为所述数据发送端设备的一个或者多个网卡的地址。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:所述数据发送端设备向所述数据接收端设备发送探测报文,所述探测报文用于探测所述数据接收端设备是否支持基于网卡地址解封装数据;所述数据发送端设备接收来自所述数据接收端设备的响应消息,所述响应消息用于指示所述数据接收端设备支持基于网卡地址解封装数据。
- 根据权利要求2所述的方法,其特征在于,所述响应消息中包括所述第一网卡地址。
- 根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:所述数据发送端设备根据所述第一网卡地址和所述第二网卡地址建立所述多条链路。
- 根据权利要求1至4中任一项所述的方法,其特征在于,所述第一数据包括多个数据包,所述封装后的第一数据包括多个封装后的数据包;所述数据发送端设备通过多条链路向所述数据接收端设备发送所述封装后的第一数据,包括:所述数据发送端设备通过第一链路向所述数据接收端设备发送多个封装后的数据包;所述方法还包括:所述数据发送端设备接收来自所述数据接收端设备的第一指示信息,所述第一指示信息用于指示通过第一链路传输的两个封装后的数据包之间的时延差值,所述时延差值大于预设阈值;所述数据发送端设备根据所述第一指示信息调整所述第一链路上传输的封装后的数据包权重,其中,所述第一链路为所述多条链路中的任意一条链路。
- 根据权利要求5所述的方法,其特征在于,调整后所述第一链路上传输的封装后的数据包权重小于调整前所述第一链路上传输 的封装后的数据包权重。
- 根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:所述数据发送端设备接收来自所述数据接收端设备的第二指示信息,所述第二指示信息用于指示第一链路的第一丢包率;所述数据发送端设备根据所述第二指示信息调整所述第一链路上传输的封装后的数据包权重,其中,所述第一链路为所述多条链路中的任意一条链路。
- 根据权利要求7所述的方法,其特征在于,所述第一丢包率大于第二丢包率,调整后所述第一链路上传输的封装后的数据包权重小于调整前所述第一链路上传输的封装后的数据包权重,其中,所述第二丢包率为所述数据发送端设备本地保存的除所述第一链路之外的链路的丢包率。
- 根据权利要求1至8中任一项所述的方法,其特征在于,所述数据发送端设备通过多条链路向所述数据接收端设备发送所述封装后的第一数据,包括:所述数据发送端设备的第一无线接口对应的分流模块将所述第一数据分段为第一数据包和第二数据包,所述第二数据包分流至所述数据发送端设备的第二无线接口;所述数据发送端设备的第一无线接口通过第一链路向所述数据接收端设备发送封装后的第一数据包;所述数据发送端设备的第二无线接口通过第二链路向所述数据接收端设备发送封装后的第二数据包。
- 一种通信的方法,其特征在于,包括:数据接收端设备通过多条链路接收来自数据发送端设备的封装后的第一数据;所述数据接收端设备基于第一网卡地址解封装所述封装后的第一数据,得到第一数据,其中,所述第一数据包括所述数据发送端设备中安装的第一应用的待发送数据,所述第一数据的目的地址为所述数据接收端设备的地址,所述数据接收端设备的地址与所述第一网卡地址相对应,所述第一网卡地址为所述数据接收端设备的一个或者多个网卡的地址,所述封装后的第一数据为所述第一数据基于第一网卡地址封装得到的数据。
- 根据权利要求10所述的方法,其特征在于,所述方法还包括:所述数据接收端设备接收来自所述数据发送端设备的探测报文,所述探测报文用于探测所述数据接收端设备是否支持基于网卡地址解封装数据;所述数据接收端设备向所述数据发送端设备发送响应消息,所述响应消息用于指示所述数据接收端设备支持基于网卡地址解封装数据。
- 根据权利要求11所述的方法,其特征在于,所述响应消息中包括所述第一网卡地址。
- 根据权利要求10至12中任一项所述的方法,其特征在于,所述第一数据包括多个数据包,所述封装后的第一数据包括多个封装后的数据包;所述数据接收端设备通过多条链路接收来自数据发送端设备的封装后的第一数据,包括:所述数据接收端设备通过第一链路接收来自数据发送端设备的多个封装后的数据包;所述方法还包括:所述数据接收端设备向所述数据发送端设备发送第一指示信息,所述第一指示信息用于指示通过所述第一链路传输的两个封装后的数据包之间的时延差值,所述时延差值用于调整所述第一链路上传输的封装后的数据包权重,其中,所述时延差值大于预设阈值,所述第一链路为所述多条链路中的任意一条链路。
- 根据权利要求13所述的方法,其特征在于,调整后所述第一链路上传输的封装后的数据包权重小于调整前所述第一链路上传输的封装后的数据包权重。
- 根据权利要求10至12中任一项所述的方法,其特征在于,所述方法还包括:所述数据接收端设备向所述数据发送端设备发送第二指示信息,所述第二指示信息用于指示第一链路在的第一丢包率,所述第一丢包率用于调整所述第一链路上传输的封装后的数据包权重,其中,所述第一链路为所述多条链路中的任意一条链路。
- 根据权利要求15所述的方法,其特征在于,所述第一丢包率大于第二丢包率,调整后所述第一链路上传输的封装后的数据包权重小于调整前所述第一链路上传输的封装后的数据包权重,其中,所述第二丢包率为所述数据发送端设备本地保存的除所述第一链路之外的链路的丢包率。
- 一种通信的装置,其特征在于,包括用于执行如权利要求1至9中任意一项所述的方法的单元。
- 一种通信的装置,其特征在于,包括用于执行如权利要求10至16中任意一项所述的方法的单元。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序运行时,使得装置执行如权利要求1至9中任意一项所述的方法,或者,使得装置执行如权利要求10至16中任意一项所述的方法。
- 一种包含指令的计算机程序产品,其特征在于,当所述指令运行时,使得装置执行如权利要求1至9中任意一项所述的方法,或者,使得装置执行如权利要求10至16中任意一项所述的方法。
- 一种芯片系统,其特征在于,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片系统的通信装置执行如权利要求1至9中任意一项所述的方法;或者,使得安装有所述芯片系统的通信装置执行如权利要求10至16中任意一项所述的方法。
- 一种通信装置,其特征在于,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,以使得所述通信装置执行权利要求1至9中任一项所述的方法,或者,使得所述通信装置执行权利要求10至16中任一项所述的方法。
- 一种通信系统,其特征在于,所述通信系统包括至少一个如权利要求17所述的通信的装置和至少一个如权利要求18所述的通信的装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202180104947.5A CN118383019A (zh) | 2021-12-15 | 2021-12-15 | 通信的方法和装置 |
EP21967629.3A EP4432621A1 (en) | 2021-12-15 | 2021-12-15 | Communication method and apparatus |
PCT/CN2021/138412 WO2023108492A1 (zh) | 2021-12-15 | 2021-12-15 | 通信的方法和装置 |
US18/743,284 US20240333635A1 (en) | 2021-12-15 | 2024-06-14 | Communication method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/138412 WO2023108492A1 (zh) | 2021-12-15 | 2021-12-15 | 通信的方法和装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/743,284 Continuation US20240333635A1 (en) | 2021-12-15 | 2024-06-14 | Communication method and apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023108492A1 true WO2023108492A1 (zh) | 2023-06-22 |
Family
ID=86775025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/138412 WO2023108492A1 (zh) | 2021-12-15 | 2021-12-15 | 通信的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240333635A1 (zh) |
EP (1) | EP4432621A1 (zh) |
CN (1) | CN118383019A (zh) |
WO (1) | WO2023108492A1 (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102665257A (zh) * | 2012-04-09 | 2012-09-12 | 北京大学 | 一种带宽叠加的无线上网系统和方法 |
CN108833274A (zh) * | 2018-04-12 | 2018-11-16 | 北京韦加航通科技有限责任公司 | 一种基于4g移动网络的多链路聚合实时数据传输系统 |
CN113381939A (zh) * | 2020-03-10 | 2021-09-10 | 阿里巴巴集团控股有限公司 | 数据传输方法、装置、电子设备及计算机可读存储介质 |
-
2021
- 2021-12-15 CN CN202180104947.5A patent/CN118383019A/zh active Pending
- 2021-12-15 WO PCT/CN2021/138412 patent/WO2023108492A1/zh active Application Filing
- 2021-12-15 EP EP21967629.3A patent/EP4432621A1/en active Pending
-
2024
- 2024-06-14 US US18/743,284 patent/US20240333635A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102665257A (zh) * | 2012-04-09 | 2012-09-12 | 北京大学 | 一种带宽叠加的无线上网系统和方法 |
CN108833274A (zh) * | 2018-04-12 | 2018-11-16 | 北京韦加航通科技有限责任公司 | 一种基于4g移动网络的多链路聚合实时数据传输系统 |
CN113381939A (zh) * | 2020-03-10 | 2021-09-10 | 阿里巴巴集团控股有限公司 | 数据传输方法、装置、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20240333635A1 (en) | 2024-10-03 |
CN118383019A (zh) | 2024-07-23 |
EP4432621A1 (en) | 2024-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11343192B2 (en) | Packet processing method, and device | |
US11277313B2 (en) | Data transmission method and corresponding device | |
US8521812B2 (en) | Accessing local network resources in a multi-interface system | |
US11824685B2 (en) | Method for implementing GRE tunnel, access point and gateway | |
JP2018057025A (ja) | 多接続通信用の統合副層 | |
US20220255849A1 (en) | Data Transmission Method and Apparatus | |
JP2023523048A (ja) | パケット処理方法及び関連デバイス | |
EP4106482A1 (en) | Communication method and apparatus | |
US10887943B2 (en) | Packet exchange method and related device | |
US20200280873A1 (en) | Communication method, device, and system | |
US20170070428A1 (en) | Method and system for converting a broadcast packet to a unicast packet at an access point | |
WO2015010487A1 (zh) | 分流数据传输方法、传输设备、系统以及用户终端 | |
US9503276B2 (en) | Method and system to reduce wireless network packets for centralised layer two network | |
WO2023108492A1 (zh) | 通信的方法和装置 | |
US11870685B2 (en) | Packet capsulation method and packet capsulation device | |
US20190394679A1 (en) | Network node communication | |
CN116418854A (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: 21967629 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 202180104947.5 Country of ref document: CN Ref document number: 2021967629 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2021967629 Country of ref document: EP Effective date: 20240613 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |