WO2019149287A1 - 链路丢包的检测方法及装置、存储介质及处理器 - Google Patents
链路丢包的检测方法及装置、存储介质及处理器 Download PDFInfo
- Publication number
- WO2019149287A1 WO2019149287A1 PCT/CN2019/074633 CN2019074633W WO2019149287A1 WO 2019149287 A1 WO2019149287 A1 WO 2019149287A1 CN 2019074633 W CN2019074633 W CN 2019074633W WO 2019149287 A1 WO2019149287 A1 WO 2019149287A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- link
- sequence number
- packet
- global
- sub
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
Definitions
- the present application relates to the field of communications, for example, to a method and device for detecting link packet loss, a storage medium, and a processor.
- the delays of the data sent from the two links to the opposite end are inconsistent due to the inconsistent delays of the two links that send the packets, causing the packets to be out of order.
- the peer After receiving the packet, the peer will perform the order and then forward it. Therefore, when the two links are load-balanced, a global sequence number is encapsulated in the transmitted packet, and the peer end performs the order-preserving processing on the serial number. If there is a packet loss on the intermediate link, the sequencer cannot determine whether the packet is actually lost or because the delay is too late. It needs to continue waiting for the packet. Only a large timeout threshold value can be preset.
- the packet After the waiting time exceeds the threshold, the packet will be considered as a packet loss, triggering the issuance of the sequence-preserved packets, and expanding the cache of consecutive packets to be sent. Time increases the overall latency of both links. This affects the overall binding bandwidth. That is, in the related art, there is a problem that the method for detecting link packet loss is relatively simple, and the link delay is increased.
- the embodiment of the present invention provides a method and a device for detecting link packet loss, a storage medium, and a processor, so as to overcome the defect that the method for detecting link loss in the related art is relatively simple, and the link delay is increased.
- a method for detecting a packet loss of a link includes: receiving a packet encapsulated with a global sequence number and a sub-link sequence number, where the sub-link sequence number is used for identifier transmission a sub-link of the packet; if the global sequence number is greater than a global sequence number to be received, the packet is saved in a preset sub-link sequence number according to the sub-link sequence number In the linked list, determining, according to the packet saved in the preset sub-link serial number list, the packet loss condition of the link that sends the packet.
- a link loss detecting apparatus including: a receiving module, configured to receive a packet encapsulated with a global sequence number and a sub-link sequence number, wherein the sub-link The serial number is used to identify the sub-link that sends the message; the first saving module is configured to set the sub-link serial number according to the global serial number that is greater than the current global serial number to be received.
- the message is saved in a preset sub-link serial number linked list; the determining module is configured to determine, according to the preset message of the preset sub-link serial number linked list, the link that sends the packet Package situation.
- a storage medium comprising a stored program, the program running to perform the method of any of the above.
- a processor configured to execute a program, the program running to perform the method of any of the above.
- FIG. 1 is a block diagram showing the hardware structure of a mobile terminal for detecting a link loss packet according to an embodiment of the present application
- FIG. 2 is a flowchart of a method for detecting link packet loss according to an embodiment of the present application
- FIG. 3 is a schematic diagram of a wired-wireless convergence access networking in the embodiment
- FIG. 5 is a schematic diagram of a sequence-preserving message in the embodiment
- FIG. 6 is a structural block diagram of a link loss detecting apparatus according to an embodiment of the present application.
- FIG. 1 is a hardware structural block diagram of a mobile terminal detecting a link loss detecting method according to an embodiment of the present application.
- mobile terminal 10 may include one or more (only one of which is shown in FIG. 1) processor 102 (processor 102 may include, but is not limited to, a Microcontroller Unit (MCU) or a programmable logic device.
- MCU Microcontroller Unit
- a processing device such as a Field Programmable Gate Array (FPGA), a memory 104 for storing data, and a transmission device 106 for a communication function.
- FPGA Field Programmable Gate Array
- the structure shown in FIG. 1 is merely illustrative and does not limit the structure of the above electronic device.
- the mobile terminal 10 may also include more or fewer components than those shown in FIG. 1, or have a different configuration than that shown in FIG.
- the memory 104 can be used to store software programs and modules of the application software, such as program instructions/modules corresponding to the link loss detection method in the embodiment of the present application, and the processor 102 runs the software programs and modules stored in the memory 104. Thereby performing various functional applications and data processing, that is, implementing the above method.
- Memory 104 may include high speed random access memory, and may also include non-volatile memory such as one or more magnetic storage devices, flash memory, or other non-volatile solid state memory.
- memory 104 may further include memory remotely located relative to processor 102, which may be connected to mobile terminal 10 over a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
- Transmission device 106 is for receiving or transmitting data via a network.
- the above-described network specific example may include a wireless network provided by a communication provider of the mobile terminal 10.
- the transmission device 106 includes a Network Interface Controller (NIC) that can be connected to other network devices through a base station to communicate with the Internet.
- the transmission device 106 can be a Radio Frequency (RF) module for communicating with the Internet wirelessly.
- NIC Network Interface Controller
- RF Radio Frequency
- FIG. 2 is a flowchart of a method for detecting a packet loss of a link according to an embodiment of the present application. As shown in FIG. 2, the process includes: Step S202. Step S204 and step S206.
- step S202 a message encapsulated with a global sequence number and a sub-link sequence number is received.
- the sublink serial number is used to identify a sublink that sends the packet.
- step S204 if the global sequence number is greater than the current global sequence number to be received, the message is saved in the preset sub-link sequence number list according to the sub-link sequence number.
- step S206 the packet loss situation of the link that sends the packet is determined according to the packet saved in the preset sub-link sequence number linked list.
- the sub-link serial number is used to identify the sub-link of the sent packet; and the global serial number is greater than the current one.
- the message is saved in the preset sub-link sequence number list according to the sub-link sequence number; the transmission is determined according to the preset message in the sub-link sequence number list. Packet loss of the link of the packet. That is, in the related art, there is a content for detecting the packet loss situation of the link, which can solve the problem that the link loss detection link in the related art is relatively simple, and the link delay is increased, so as to achieve a fast detection chain. The effect of the road loss situation.
- the execution body of the foregoing steps may be a receiving end, but is not limited thereto.
- the method further includes: saving the packet in a preset global serial number linked list according to the global serial number.
- the preset global serial number linked list in the above is set at the receiving end. The message will be sent on a different link.
- the method further includes: if the global sequence number is equal to the current global sequence number to be received, Sending the foregoing message in the global serial number linked list and updating the global serial number currently to be received.
- updating the global serial number to be received refers to adding 1 to the global serial number to be received.
- the method further includes: receiving the foregoing, if the global sequence number is greater than the current global sequence number to be received The time of the message saves the above message in a preset time linked list.
- the global sequence number is greater than the current global sequence number to be received, that is, the message arrives in advance.
- the method further includes: when the time chain table receives the message for more than the first preset time, Discard or send the above-mentioned message saved in the preset global serial number linked list.
- sending a packet loss packet can reduce the delay of waiting for packet loss.
- determining, according to the packet saved in the preset sub-link serial number list, the packet loss situation of the packet includes: setting, in the second preset time, the preset sub-link serial number list In the case that the packet with the consecutive sub-link sequence number is not received, it is determined that the packet is lost on the link.
- setting the second preset time can reduce the waiting time.
- the method further includes: sending the preset global serial number. The above message saved in the linked list.
- the method further includes: if the global sequence number is smaller than the current global sequence number to be received, The above-mentioned message saved in the preset global serial number linked list is discarded or sent.
- the global sequence number is smaller than the current global sequence number to be received, which means that the packet arrives delayed, that is, there is packet loss.
- link A and link B there are two links (link A and link B), in which one link is not in place or the quality of the laying is not good enough, if the user uses link A alone or uses the link separately. B, there will be problems such as insufficient service bandwidth and unstable links. Therefore, by bundling link A and link B as a solution, the above problem can be avoided. That is, if the user traffic is smaller than the transmission bandwidth threshold of link A, the traffic is only route A; if the user traffic is greater than the transmission bandwidth threshold of link A, the excess traffic is shared to link B.
- the timeout threshold value is generally longer. If there is packet loss on the link, the packet will not be sent and triggered until the timeout period expires. This causes a large number of sorted packets to be buffered for a long time before being sent.
- the packet out-of-order time of a single-link packet is relatively fixed. You can quickly determine whether a single-link packet is lost through the serial number detection of the sub-link. In the case of packet loss, the packet can be quickly detected. And trigger subsequent message transmission.
- the packet when the transmitting end is offloaded, the packet is encapsulated with two serial numbers: a global serial number and a serial number of the sub-link.
- the receiving end has a total of four buffer queues: a global serial number sorting queue (corresponding to the global serial number linked list in the above), a link A sorting queue, a link B sorting queue (corresponding to the sublink serial number linked list in the above), and Time queue (corresponding to the time linked list in the above).
- the following conditions will trigger the sending of the packet: 1.
- the global sequence number continuously triggers the sending of the packet; 2. If the link of link A or link B does not receive consecutive packets within a fixed time, If the link is lost, the global sequence number sorting queue is triggered to be sent. 3. After the time chain expires, the global sequence number sorting queue triggers the sending of the packet.
- the packet when a single link has a packet loss, the packet can be quickly detected and the subsequent packet is sent.
- the subsequent aging time of the sequence is not required until the subsequent packet is sent.
- the link delay of the packet is reduced, thereby improving the overall bandwidth.
- FIG. 3 is a schematic diagram of a wired-wireless convergence access networking in the present embodiment. They are Customer Premises Equipment (CPE) and Hybrid Access Aggregation (HAG).
- CPE Customer Premises Equipment
- HAG Hybrid Access Aggregation
- the CPE has two interfaces at the same time, one is a traditional wired interface, and the other is a wireless air interface.
- HAG devices receive and send traffic to wired and wireless links. The packets received by the CPE and the HAG are pre-ordered and then forwarded.
- the following is the case where the CPE is sent to the HAG traffic, and the HAG is used for the sequence protection.
- the traffic sent by the HAG to the CPE can be similarly processed.
- sequence-preserving algorithm does not consider the case of serial number flipping.
- the timeout period of the timelink list is 200ms, and the timeout period of the sublink serial number is 10ms.
- FIG. 4 is a flow chart of the order of the packet loss in the embodiment
- FIG. 5 is a schematic diagram of the sequence-preserving message in the embodiment. As shown in FIG. 4 and FIG. 5, the following includes the following five to five cases.
- the HAG receives the packet with the global sequence number and the sub-link sequence number sent by the CPE, and first determines whether the global sequence number of the packet (corresponding to the message sequence number in FIG. 4) and the waiting global sequence number. If the message is consistent, the message is a serial number consecutive message. After the direct transmission, the sequence number of the waiting sequence is changed to 2; if the global sequence number of the received message is greater than the waiting sequence number, it is considered that the message arrives in advance and needs to be cached. If the sequence number is less than the waiting sequence, the packet is considered to be timed out. According to the scenario, you can choose to discard or send it directly.
- the update waiting sequence number is the current serial number plus 1, and the packet of the current linked list node is sent, and the packet is sent from the global serial number list, Sublink serial number list and time list are removed. The process of 2 is repeated until the sequence number of the head node of the global sequence number list is not equal to the currently waiting sequence number.
- the packet is considered to have lost packets, and the global sequence number list is triggered to send a packet.
- the global sequence number linked list is triggered to start from the smallest sequence number until the timeout sequence number.
- the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, by hardware, but in many cases, the former is A better implementation.
- the technical solution of the present application which is essential or contributes to the related art, may be embodied in the form of a software product stored in a storage medium (such as ROM/RAM, disk, CD-ROM).
- the instructions include a plurality of instructions for causing a terminal device (which may be a cell phone, a computer, a server, or a network device, etc.) to perform the above-described methods of various embodiments of the present application.
- a device for detecting packet loss of a link is also provided.
- the device is used to implement the foregoing embodiments and preferred embodiments, and details are not described herein.
- the term "module" may implement a combination of at least one of software and hardware for a predetermined function.
- the apparatus described in the following embodiments is preferably implemented in software, hardware, or a combination of software and hardware, is also possible and contemplated.
- FIG. 6 is a structural block diagram of a link loss detecting apparatus according to an embodiment of the present application. As shown in FIG. 6, the apparatus includes: a receiving module 602, a first saving module 604, and a determining module 606.
- the receiving module 602 is configured to receive a packet encapsulated with a global sequence number and a sub-link sequence number, where the sub-link sequence number is used to identify a sub-link that sends the packet.
- the first saving module 604 is connected to the receiving module 602 in the above, and is configured to save the foregoing message according to the sub-link serial number in a preset manner if the global serial number is greater than the global serial number to be received. Sublink serial number in the linked list.
- the determining module 606 is connected to the first saving module 604 in the foregoing, and is configured to determine, according to the preset message in the linked sub-link serial number list, the packet loss situation of the link that sends the packet.
- the apparatus further includes: a second saving module, configured to: after receiving the packet encapsulated with the global serial number and the sub-link serial number, save the packet in a preset according to the global serial number The global serial number is in the linked list.
- the apparatus further includes: a first processing module, configured to save the message in the preset global sequence number list according to the global sequence number, where the global sequence number is equal to the current to be received In the case of the global sequence number, the above message in the global sequence number list is sent, and the global sequence number to be received is updated.
- a first processing module configured to save the message in the preset global sequence number list according to the global sequence number, where the global sequence number is equal to the current to be received In the case of the global sequence number, the above message in the global sequence number list is sent, and the global sequence number to be received is updated.
- the apparatus further includes: a third saving module, configured to: after receiving the packet encapsulated with the global serial number and the sub-link serial number, save the packet according to the global serial number Set the global serial number in the linked list.
- the apparatus further includes: a second processing module, configured to: after the foregoing message is saved in the preset global serial number linked list according to the global serial number, the global serial number is equal to the current waiting In the case of the received global sequence number, the above message in the global sequence number list is sent, and the current serial number to be received is updated.
- a second processing module configured to: after the foregoing message is saved in the preset global serial number linked list according to the global serial number, the global serial number is equal to the current waiting In the case of the received global sequence number, the above message in the global sequence number list is sent, and the current serial number to be received is updated.
- the apparatus is further configured to: after receiving the message encapsulated with the global serial number and the sub-link serial number, in the case that the global serial number is greater than the current global serial number to be received, according to the receiving The time of the above message saves the above message in a preset time list.
- the apparatus is further configured to: after storing the message in a preset time list according to the time of receiving the message, when the time link receives the message for more than a first preset time And discarding or transmitting the above-mentioned message saved in the preset global serial number linked list.
- the determining module 606 determines, according to the packet saved in the preset sub-link serial number list, the packet loss situation of the packet, in the foregoing sub-link serial number list. In the case that the packet with the consecutive sub-link sequence number is not received within the second preset time, it is determined that the packet is lost on the link.
- the apparatus is further configured to: after determining, according to the packet saved in the preset sub-link serial number list, the packet loss situation of the link that sends the packet, sending the preset global sequence. The above message saved in the linked list.
- the apparatus is further configured to: after saving the message in the preset global sequence number list according to the global sequence number, if the global sequence number is smaller than the current global sequence number to be received And discarding or transmitting the foregoing message saved in the preset global serial number linked list.
- each of the above modules may be implemented by software or hardware.
- the foregoing may be implemented by, but not limited to, the foregoing modules are all located in the same processor; or, the above modules are in any combination.
- the forms are located in different processors.
- the embodiment of the present application further provides a storage medium including a stored program, wherein the program runs to perform the method described in any of the above.
- the storage medium may be arranged to store program code for performing the above steps.
- the foregoing storage medium may include, but is not limited to, a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.
- ROM read-only memory
- RAM random access memory
- mobile hard disk a magnetic disk
- optical disk a variety of media that can store program code.
- Embodiments of the present application also provide a processor configured to execute a program, wherein the program executes the steps of any of the above methods when executed.
- modules or steps of the present application can be implemented by a general computing device, which can be concentrated on a single computing device or distributed in a network composed of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein.
- the steps shown or described are performed, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps thereof are fabricated as a single integrated circuit module.
- the application is not limited to any particular combination of hardware and software.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
公开了一种链路丢包的检测方法及装置、存储介质及处理器,该方法包括:接收封装有全局序列号和子链路序列号的报文,其中,子链路序列号用于标识发送报文的子链路;在全局序列号大于当前待接收的全局序列号的情况下,按照子链路序列号将报文保存在预设的子链路序列号链表中;根据预设的子链路序列号链表中所保存的报文确定发送报文的链路的丢包情况。
Description
本申请要求在2018年02月02日提交中国专利局、申请号为201810114751.4的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。
本申请涉及通信领域,例如涉及一种链路丢包的检测方法及装置、存储介质及处理器。
在相关数据通信领域中,由于发送报文的两条链路的时延不一致,从两条链路发送的数据到达对端的时延是不一致的,造成报文的乱序。此时对端收到报文后,会先进行保序,然后再转发。因此两条链路负荷分担的时候,会对发送报文封装一个全局的序列号,对端会对这个序列号进行保序处理。如果中间链路有丢包的话,保序端无法确定该报文确实是丢包了还是由于时延大造成来得较晚,需要继续等待该报文。只能预设一个较大的超时门限时间值,等待时间超过该门限值之后,才会认为是丢包,触发已保序报文的发出,拉大了这些已连续待发送报文的缓存时间,增大了两条链路的整体延时。从而影响整体的绑定带宽。即相关技术中存在着检测链路丢包的方法比较单一,增大链路时延的问题。
针对上述中存在的技术问题,相关技术中并未提出有效的解决方案。
发明内容
本申请实施例提供了一种链路丢包的检测方法及装置、存储介质及处理器,以克服相关技术中检测链路丢包的方法比较单一,增大链路时延的缺陷。
根据本申请的一个实施例,提供了一种链路丢包的检测方法,包括:接收封装有全局序列号和子链路序列号的报文,其中,所述子链路序列号用于标识发送所述报文的子链路;在所述全局序列号大于当前待接收的全局序列号的情况下,按照所述子链路序列号将所述报文保存在预设的子链路序列号链表中;根据所述预设的子链路序列号链表中所保存的报文确定发送所述报文的链路的丢包情况。
根据本申请的另一个实施例,提供了一种链路丢包的检测装置,包括:接收模块,设置为接收封装有全局序列号和子链路序列号的报文,其中,所述子链路序列号用于标识发送所述报文的子链路;第一保存模块,设置为在所述全局序列号大于当前待接收的全局序列号的情况下,按照所述子链路序列号将所述报文保存在预设的子链路序列号链表中;确定模块,设置为根据所述预设的子链路序列号链表中所保存的报文确定发送所述报文的链路的丢包情况。
根据本申请的又一个实施例,还提供了一种存储介质,所述存储介质包括存储的程序,所述程序运行时执行上述任一项所述的方法。
根据本申请的又一个实施例,还提供了一种处理器,所述处理器设置为运行程序,所述程序运行时执行上述任一项所述的方法。
附图概述
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实施例的一种链路丢包的检测方法的移动终端的硬件结构框图;
图2是根据本申请实施例的链路丢包的检测方法的流程图;
图3是本实施例中的有线-无线融合接入组网的示意图;
图4是本实施例中丢包的保序流程图;
图5是本实施例中的保序报文的示意图;
图6是根据本申请实施例的链路丢包的检测装置的结构框图。
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本申请实施例的一种 链路丢包的检测方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器(Microcontroller Unit,MCU)或可编程逻辑器件(Field Programmable Gate Array,FPGA)等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的链路丢包的检测方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种链路丢包的检测方法,图2是根据本申请实施例的链路丢包的检测方法的流程图,如图2所示,该流程包括:步骤S202、步骤S204和步骤S206。
在步骤S202中,接收封装有全局序列号和子链路序列号的报文。
其中,上述子链路序列号用于标识发送上述报文的子链路。
在步骤S204中,在上述全局序列号大于当前待接收的全局序列号的情况下,按照上述子链路序列号将上述报文保存在预设的子链路序列号链表中。
在步骤S206中,根据上述预设的子链路序列号链表中所保存的报文确定发送上述报文的链路的丢包情况。
通过上述步骤,由于接收端在接收封装有全局序列号和子链路序列号的报文后,其中,子链路序列号用于标识发送报文的子链路;并在全局序列号大于当前待接收的全局序列号的情况下,按照子链路序列号将上述报文保存在预设的子链路序列号链表中;根据预设的子链路序列号链表中所保存的报文确定发送报文的链路的丢包情况。即相比较相关技术中存在一种对链路丢包情况进行检测的内容,可以解决相关技术中检测链路丢包的方法比较单一,增大链路时延的问题,达到快速的检测出链路丢包情况的效果。
在一实施例中,上述步骤的执行主体可以为接收端,但不限于此。
在一实施例中,接收封装有上述全局序列号和上述子链路序列号的报文后,上述方法还包括:按照上述全局序列号将上述报文保存在预设的全局序列号链表中。在本实施例中,上述中的预设的全局序列号链表是在接收端设置的。报文将会在不同的链路进行发送。
在一实施例中,按照上述全局序列号将上述报文保存在上述预设的全局序列号链表中之后,上述方法还包括:在上述全局序列号等于当前待接收的全局序列号的情况下,发送上述全局序列号链表中的上述报文,并更新当前待接收的全局序列号。在本实施例中,更新当前待接收的全局序列号是指将前待接收的全局序列号加1。
在一实施例中,接收封装有上述全局序列号和上述子链路序列号的报文后,上述方法还包括:在上述全局序列号大于当前待接收的全局序列号的情况下,按照接收上述报文的时间将上述报文保存在预设的时间链表中。在本实施例中,全局序列号大于当前待接收的全局序列号,即报文提前到达了。
在一实施例中,按照接收上述报文的时间将上述报文保存在预设的时间链表中之后,上述方法还包括:在上述时间链表接收上述报文的时间超过第一预设时间时,丢弃或发送上述预设的全局序列号链表中保存的上述报文。在本实施例中,将丢包的报文进行发送,可以减少等待丢包的时延。
在一实施例中,根据上述预设的子链路序列号链表中所保存的报文确定上述报文的丢包情况包括:在上述预设的子链路序列号链表在第二预设时间内未收到连续的子链路序列号所在的报文的情况下,确定上述链路出现了丢包。在本实施例中,设置第二预设时间可以减少等待的时间。
在一实施例中,根据上述预设的子链路序列号链表中所保存的报文确定发送上述报文的链路的丢包情况之后,上述方法还包括:发送上述预设的全局序 列号链表中保存的上述报文。
在一实施例中,按照上述全局序列号将上述报文保存在预设的全局序列号链表中之后,上述方法还包括:在上述全局序列号小于上述当前待接收的全局序列号的情况下,丢弃或者发送上述预设的全局序列号链表中保存的上述报文。在本实施例中,全局序列号小于当前待接收的全局序列号是指报文延迟到达,即存在丢包。
下面结合具体实施例对本申请进行详细说明:
在相关数据通信领域,存在有两条链路(链路A和链路B),其中一条链路铺设不到位或者铺设质量不够好的情况下,如果用户单独使用链路A或单独使用链路B,会出现业务带宽不足、链路不稳定等问题。因此,将链路A和链路B捆绑在一起作为解决方案,可以避免上述问题。即如果用户流量小于链路A的传输带宽阈值,则流量仅走链路A;如果用户流量大于链路A的传输带宽阈值,则将超出的流量分担到链路B。
由于两条链路的时延差不是固定的,不容易判断当前报文是否确实已经丢包,所以超时门限时间值一般较长。如果链路存在丢包的话,要等到超时时间到达后才会感知并触发后续报文发送,造成了大量已排序报文被缓存较长时间才被发出。而单链路的报文乱序时间是相对固定的,通过子链路的序列号检测,可以快速确定单链路有没有丢包,在链路丢包的情况下,可以快速检测到丢包并触发后续报文发送。
本实施例中,在发送端分流的时候会对报文封装两个序列号:全局的序列号和子链路的序列号。接收端共有4个缓存队列:全局序列号排序队列(对应于上述中的全局序列号链表)、链路A排序队列、链路B排序队列(对应于上述中的子链路序列号链表)和时间队列(对应于上述中的时间链表)。以下几种情况均会触发报文的发送:1.全局序列号连续触发报文发送;2.链路A或链路B的链头如果在固定时间内报文没有收到连续的报文,则认为该链路丢包,触发全局序列号排序队列发送;3.时间链超时后会触发全局序列号排序队列触发报文发送。
本实施例在单链路存在丢包的情况下,可以快速检测出丢包并发送后续的报文,不需要等保序的老化时间到才进行后续的报文发送。特别是在tcp的场景下,减少了报文的链路时延,从而提高了整体的带宽。
以有线链路和无线链路捆绑成一条隧道进行有线无线融合的场景举例, 图3是本实施例中的有线-无线融合接入组网的示意图,如图3所示,该隧道的两端分别是用户端设备(Customer Premises Equipment,CPE)和混合接入网关(Hybrid access aggregation,HAG)。CPE同时带两个接口,一个是传统的有线接口,一个是无线空口。HAG设备会向有线和无线链路接收和发送流量。由于两条链路时延不一致造成报文乱序,所以CPE和HAG设备对两条链路收到的报文会先进行保序,然后再转发。
下面以CPE送给HAG流量,HAG进行保序为例,HAG送给CPE的流量也可以类似处理。为方便解释该方案,以下保序的算法中暂不考虑序列号翻转的情况。其中时间链表的超时时间为200ms,子链路序列号的超时时间为10ms。例如可以包括以下内容:
图4是本实施例中丢包的保序流程图,图5是本实施例中的保序报文的示意图,如图4、图5所示,包括以下1至5五种情况的内容。
1、HAG收到CPE发过来的带全局序列号和子链路序列号的报文,首先判断该报文的全局序列号(对应于图4中的报文序列号)是否与等待的全局序列号一致的话,表明该报文是序列号连续的报文,直接发送后更新等待的序列号转2处理;如果接收报文的全局序列号大于等待的序列号则认为是报文提前到达,需要缓存保序转3处理;如果小于等待的序列号则认为报文超时到达,根据场景可以选择丢弃或者直接发送。
2、如果全局序列号链表头部的节点序列号是等待的序列号,则更新等待序列号为当前序列号加1,并且发送当前链表节点的报文,将该报文从全局序列号链表、子链路序列号链表和时间链表中移除。一直重复2的处理,直到全局序列号链表的头结点序列号不等于当前等待的序列号。
3、将报文插入3个链表:全局序列号链表、子链路序列号链表(链路A或链路B)和时间链表。全局序列号链表和子链路序列号链表分别根据全局序列号和子链路序列号(对应于上述中的子序列号头)按从小到大的顺序插入,时间链表按报文到达的顺序依次插入。
4、检测到子链路序列号链表的头部不连续且超过10ms,则认为该链路出现了丢包,触发全局序列号链表发送一个报文。
5、检测到时间链表头结点的报文超过超时时间(200ms),则触发全局序列号链表从最小的序列号开始发送,直到该超时的序列号为止。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上 述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例上述的方法。
在本实施例中还提供了一种链路丢包的检测装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和硬件中至少之一的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本申请实施例的链路丢包的检测装置的结构框图,如图6所示,该装置包括:接收模块602、第一保存模块604和确定模块606。
接收模块602,设置为接收封装有全局序列号和子链路序列号的报文,其中,上述子链路序列号用于标识发送上述报文的子链路。
第一保存模块604,连接至上述中的接收模块602,设置为在上述全局序列号大于当前待接收的全局序列号的情况下,按照上述子链路序列号将上述报文保存在预设的子链路序列号链表中。
确定模块606,连接至上述中的第一保存模块604,设置为根据上述预设的子链路序列号链表中所保存的报文确定发送上述报文的链路的丢包情况。
在一实施例中,上述装置还包括:第二保存模块,设置为接收封装有上述全局序列号和上述子链路序列号的报文后,按照上述全局序列号将上述报文保存在预设的全局序列号链表中。
在一实施例中,上述装置还包括:第一处理模块,设置为按照上述全局序列号将上述报文保存在上述预设的全局序列号链表中之后,在上述全局序列号等于当前待接收的全局序列号的情况下,发送上述全局序列号链表中的上述报文,并更新当前待接收的全局序列号。
在一实施例中,上述装置还包括:第三保存模块,设置为在接收封装有上述全局序列号和上述子链路序列号的报文后,按照上述全局序列号将上述报文保存在预设的全局序列号链表中。
在一实施例中,上述装置还还包括:第二处理模块,设置为在按照上述全 局序列号将上述报文保存在上述预设的全局序列号链表中之后,在上述全局序列号等于当前待接收的全局序列号的情况下,发送上述全局序列号链表中的上述报文,并更新当前待接收的全局序列号。
在一实施例中,上述装置还设置为在接收封装有上述全局序列号和上述子链路序列号的报文后,在上述全局序列号大于当前待接收的全局序列号的情况下,按照接收上述报文的时间将上述报文保存在预设的时间链表中。
在一实施例中,上述装置还设置为在按照接收上述报文的时间将上述报文保存在预设的时间链表中之后,在上述时间链表接收上述报文的时间超过第一预设时间时,丢弃或发送上述预设的全局序列号链表中保存的上述报文。
在一实施例中,上述确定模块606通过以下方式根据上述预设的子链路序列号链表中所保存的报文确定上述报文的丢包情况,在上述预设的子链路序列号链表在第二预设时间内未收到连续的子链路序列号所在的报文的情况下,确定上述链路出现了丢包。
在一实施例中,上述装置还设置为在根据上述预设的子链路序列号链表中所保存的报文确定发送上述报文的链路的丢包情况之后,发送上述预设的全局序列号链表中保存的上述报文。
在一实施例中,上述装置还设置为在按照上述全局序列号将上述报文保存在预设的全局序列号链表中之后,在上述全局序列号小于上述当前待接收的全局序列号的情况下,丢弃或者发送上述预设的全局序列号链表中保存的上述报文。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项所述的方法。
在一实施例中,上述存储介质可以被设置为存储用于执行以上各步骤的程序代码。
在一实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本申请的实施例还提供了一种处理器,该处理器设置为运行程序,其中, 该程序运行时执行上述任一项方法中的步骤。
在一实施例中,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
Claims (15)
- 一种链路丢包的检测方法,包括:接收封装有全局序列号和子链路序列号的报文,其中,所述子链路序列号用于标识发送所述报文的子链路;在接收的所述全局序列号大于当前待接收的全局序列号的情况下,按照所述子链路序列号将所述报文保存在预设的子链路序列号链表中;根据所述预设的子链路序列号链表中所保存的报文确定发送所述报文的链路的丢包情况。
- 根据权利要求1所述的方法,在接收封装有所述全局序列号和所述子链路序列号的报文后,所述方法还包括:按照所述全局序列号将所述报文保存在预设的全局序列号链表中。
- 根据权利要求2所述的方法,在按照所述全局序列号将所述报文保存在所述预设的全局序列号链表中之后,所述方法还包括:在所述全局序列号等于当前待接收的全局序列号的情况下,发送所述全局序列号链表中的所述报文,并更新当前待接收的全局序列号。
- 根据权利要求2所述的方法,在接收封装有所述全局序列号和所述子链路序列号的报文后,所述方法还包括:在所述全局序列号大于当前待接收的全局序列号的情况下,按照接收所述报文的时间将所述报文保存在预设的时间链表中。
- 根据权利要求4所述的方法,在按照接收所述报文的时间将所述报文保存在预设的时间链表中之后,所述方法还包括:在所述时间链表接收所述报文的时间超过第一预设时间时,丢弃或发送所述预设的全局序列号链表中保存的所述报文。
- 根据权利要求2所述的方法,其中,根据所述预设的子链路序列号链表中所保存的报文确定所述报文的丢包情况包括:在所述预设的子链路序列号链表在第二预设时间内未收到连续的子链路序列号所在的报文的情况下,确定所述子链路出现了丢包。
- 根据权利要求6所述的方法,在根据所述预设的子链路序列号链表中所保存的报文确定发送所述报文的链路的丢包情况之后,所述方法还包括:发送所述预设的全局序列号链表中保存的所述报文。
- 根据权利要求2所述的方法,在按照所述全局序列号将所述报文保存在预设的全局序列号链表中之后,所述方法还包括:在所述全局序列号小于所述当前待接收的全局序列号的情况下,丢弃或者发送所述预设的全局序列号链表中保存的所述报文。
- 一种链路丢包的检测装置,包括:接收模块,设置为接收封装有全局序列号和子链路序列号的报文,其中,所述子链路序列号用于标识发送所述报文的子链路;第一保存模块,设置为在所述全局序列号大于当前待接收的全局序列号的情况下,按照所述子链路序列号将所述报文保存在预设的子链路序列号链表中;确定模块,设置为根据所述预设的子链路序列号链表中所保存的报文确定发送所述报文的链路的丢包情况。
- 根据权利要求9所述的装置,还包括:第二保存模块,设置为按照所述全局序列号将所述报文保存在预设的全局序列号链表中。
- 根据权利要求10所述的装置,还包括:第一处理模块,设置为在所述全局序列号等于当前待接收的全局序列号的情况下,发送所述全局序列号链表中的所述报文,并更新当前待接收的全局序列号。
- 根据权利要求10所述的装置,还包括:第三保存模块,设置为在所述全局序列号大于当前待接收的全局序列号的情况下,按照接收所述报文的时间将所述报文保存在预设的时间链表中。
- 根据权利要求12所述的装置,还包括:第二处理模块,设置为在所述时间链表接收所述报文的时间超过第一预设时间时,丢弃或发送所述预设的全局序列号链表中保存的所述报文。
- 一种存储介质,所述存储介质包括存储的程序,所述程序运行时执行权利要求1至8中任一项所述的方法。
- 一种处理器,所述处理器设置为运行程序,所述程序在所述处理器上运行时执行权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19747017.2A EP3749043A4 (en) | 2018-02-02 | 2019-02-02 | METHOD AND DEVICE FOR DETECTING LOSS OF LINK PACKAGE, STORAGE MEDIUM AND PROCESSOR |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810114751.4 | 2018-02-02 | ||
CN201810114751.4A CN110138629A (zh) | 2018-02-02 | 2018-02-02 | 链路丢包的检测方法及装置、存储介质及处理器 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019149287A1 true WO2019149287A1 (zh) | 2019-08-08 |
Family
ID=67477916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2019/074633 WO2019149287A1 (zh) | 2018-02-02 | 2019-02-02 | 链路丢包的检测方法及装置、存储介质及处理器 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3749043A4 (zh) |
CN (1) | CN110138629A (zh) |
WO (1) | WO2019149287A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112448893A (zh) * | 2019-08-29 | 2021-03-05 | 中兴通讯股份有限公司 | 一种链路带宽调节方法、装置及存储介质 |
CN115002005B (zh) * | 2022-05-18 | 2023-12-12 | 百果园技术(新加坡)有限公司 | 一种丢包率计算方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102685000A (zh) * | 2012-04-24 | 2012-09-19 | 中兴通讯股份有限公司 | 一种mp碎片序号同步实现方法、设备及系统 |
CN106797281A (zh) * | 2014-12-24 | 2017-05-31 | 柏思科技有限公司 | 用于通过聚合连接传输数据的方法和系统 |
WO2017161938A1 (zh) * | 2016-03-22 | 2017-09-28 | 华为技术有限公司 | 一种报文传输方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8755407B2 (en) * | 2005-02-18 | 2014-06-17 | Qualcomm Incorporated | Radio link protocols for enhancing efficiency of multi-link communication systems |
CN100479426C (zh) * | 2005-07-27 | 2009-04-15 | 中兴通讯股份有限公司 | 一种对ppp多链路协议报文进行按序重组的方法 |
CN101175017A (zh) * | 2006-11-02 | 2008-05-07 | 华为技术有限公司 | 数据传输系统和方法 |
CN101699786B (zh) * | 2009-10-15 | 2012-09-05 | 华为技术有限公司 | 一种丢包检测的方法、装置和系统 |
US9019827B1 (en) * | 2009-12-23 | 2015-04-28 | Pismo Labs Technology Ltd. | Throughput optimization for bonded variable bandwidth connections |
CN101895466B (zh) * | 2010-07-02 | 2013-03-20 | 北京交通大学 | 一种降低sctp多路径传输数据包乱序影响的方法 |
CN106375158B (zh) * | 2016-10-25 | 2019-09-13 | 华为技术有限公司 | 一种丢包检测方法、网络设备及系统 |
-
2018
- 2018-02-02 CN CN201810114751.4A patent/CN110138629A/zh active Pending
-
2019
- 2019-02-02 EP EP19747017.2A patent/EP3749043A4/en not_active Withdrawn
- 2019-02-02 WO PCT/CN2019/074633 patent/WO2019149287A1/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102685000A (zh) * | 2012-04-24 | 2012-09-19 | 中兴通讯股份有限公司 | 一种mp碎片序号同步实现方法、设备及系统 |
CN106797281A (zh) * | 2014-12-24 | 2017-05-31 | 柏思科技有限公司 | 用于通过聚合连接传输数据的方法和系统 |
WO2017161938A1 (zh) * | 2016-03-22 | 2017-09-28 | 华为技术有限公司 | 一种报文传输方法及装置 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3749043A4 |
Also Published As
Publication number | Publication date |
---|---|
EP3749043A4 (en) | 2021-11-03 |
CN110138629A (zh) | 2019-08-16 |
EP3749043A1 (en) | 2020-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109327288B (zh) | 数据传输加速方法、装置及系统 | |
US20190268797A1 (en) | Data transmission method and apparatus | |
US8996718B2 (en) | TCP-aware receive side coalescing | |
US11012367B2 (en) | Technologies for managing TCP/IP packet delivery | |
US9386128B2 (en) | Delay based active queue management for uplink traffic in user equipment | |
US9674102B2 (en) | Methods and network device for oversubscription handling | |
WO2020063339A1 (zh) | 一种实现数据传输的方法、装置和系统 | |
US9407734B2 (en) | System and method for efficient frame aggregation based on aggregation limits or parameters | |
WO2020063298A1 (zh) | 处理tcp报文的方法、toe组件以及网络设备 | |
WO2018103675A1 (zh) | 数据流重映射方法及装置和用户设备、ran设备 | |
WO2012126424A2 (zh) | 一种数据包的转发方法和设备 | |
US20190014051A1 (en) | Data packet network | |
CN101753440A (zh) | 主动队列管理方法、装置和无线网络控制器 | |
CN103281257B (zh) | 一种协议报文处理方法和设备 | |
US10980043B2 (en) | Data transmission method and device, and base station | |
US9503362B2 (en) | Reverse path maximum transmission unit (PMTU) discovery | |
WO2013139165A1 (zh) | 确认包的处理方法、设备及系统 | |
WO2019149287A1 (zh) | 链路丢包的检测方法及装置、存储介质及处理器 | |
WO2019057016A1 (zh) | 一种数据处理方法及终端 | |
US11206219B2 (en) | Method and apparatus for managing transport of delay-sensitive packets | |
CN110855584B (zh) | 一种tcp乱序重组的方法和装置 | |
CN111066272B (zh) | 移动无线电接入网络中的分组延迟减少 | |
CN108432287A (zh) | 一种数据传输方法及网络侧设备 | |
CN107852372B (zh) | 数据分组网络 | |
CN105763375A (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: 19747017 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2019747017 Country of ref document: EP Effective date: 20200902 |