CN101483637A - 降低Multilink PPP等待队列里缓存分片数量的方法 - Google Patents
降低Multilink PPP等待队列里缓存分片数量的方法 Download PDFInfo
- Publication number
- CN101483637A CN101483637A CNA200810032578XA CN200810032578A CN101483637A CN 101483637 A CN101483637 A CN 101483637A CN A200810032578X A CNA200810032578X A CN A200810032578XA CN 200810032578 A CN200810032578 A CN 200810032578A CN 101483637 A CN101483637 A CN 101483637A
- Authority
- CN
- China
- Prior art keywords
- burst
- message
- assembling
- sequence
- waiting list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种降低Multilink PPP等待队列里缓存分片数量的方法。该技术方案在标准RFC的收发机制基础上进行扩展。并在Multilink组内定义了一个分片组装定时器,利用该定时器把等待队列里长时间无法完成报文组装的分片及时清理掉,避免这些分片被缓存的时间过长。另外,针对报文分片的失序处理,本方案能及时检测到可以组装完整的报文,并把该完整报文从等待队列里提取出来交给后续流程处理,同时利用伪报文代替完整报文参与原有失序分片的处理流程。
Description
技术领域:
本发明涉及数据通信领域中的Multilink PPP(多链路点对点协议),特别涉及一种降低Multilink PPP等待队列里缓存分片数量的方法。
背景技术:
Multilink PPP提供了一种在多个逻辑数据链路上分解、重组和排序数据报的方法,目的在于协调两个系统间的多个独立链路,并提供比任何单个链路都具有更高带宽的虚拟链路。
然而相对于单链路PPP(Point-to-Point Protocol,点到点协议)来说,正是由于多条单链路捆绑在一起,Multilink PPP必须为链路的管理和报文的分解重组付出相当大一部分额外的代价,在接收分片和组装分片的过程中,报文分片的失序处理必然导致一定数量的失序分片被缓存在等待队列里,从而引发了相应的系统存储负担。
在标准的Multilink PPP接收机制里,判断报文分片是否被丢失的方法是子链路最小接收序列号M值检测法(详见RFC1990)或所有子链路接收序列号失序检测法,如果某个报文因为缺少某个分片而不能组装,并且短时间内没有后续报文可以接收的时候,等待队列里面所有分片都一直被缓存,直到有后续报文接收上来。有一种通过空闲链路发送一个空分片来使接收端清除未完成组装分片的方法(详见RFC1990),但是这种方法需要两端都能发送和处理这种空分片,这样的条件在实际应用中是无法保证的。
另外,在标准的Multilink PPP接收机制里,由于对于失序分片(分片携带的序列号和当前等待的序列号不等并且在当前的接收窗口内)的处理采用的是缓存等待的办法,这样往往会因为要等待一个未收到的分片而把已经接收到的并且可以组装成完整报文的分片阻塞在Multilink等待队列(Multilink组内用于缓存等待组装或等待失序处理分片的队列)里,不能及时交给后续流程处理。
发明内容:
鉴于上述技术问题,本发明针对组装报文的时限和报文分片失序处理两方面来改进算法,其目的是提供一种降低Multilink PPP等待队列里缓存分片数量的方法。该方法可以实现在某个报文因为缺少某个分片而不能组装,并且短时间内没有后续报文可以接收的情况下,通过启动组装超时定时器,使其在一定时间后清理掉等待队列里不能组装报文的分片。另外,对于可组装成完整报文的失序分片,本方案能及时检测组装,并把该完整报文提交给上层处理,同时不影响原有失序分片的处理流程。
本发明涉及的技术解决方案主要涉及下面的两个处理机制:
(一)超时清理缓存报文分片机制:使用分片组装定时器来触发超时事件,该事件对长时间等待重组的分片进行清理。
该机制包括如下步骤:
(1)Multilink组开始进行有效数据的收发前创建分片组装定时器;
(2)对于每个需要多个分片组装的报文,在组装过程中分片的收集情况决定了组装超时定时器的打开或关闭;考虑到分片的收集可能经过一个相当长的时间,如果收到分片是当前正在等待的分片,则重新启动定时器,否则定时器时间继续倒数;
(3)如果定时器超时仍没有接收到等待的分片,则触发组装超时事件,清理等待队列里该报文已经接收到的分片。
(二)失序分片快速处理机制:在处理失序分片的过程中,当等待队列里某些报文已经能组装成一个完整的报文时,立即组装该报文并提交给PPP主流程处理,同时使用一个伪报文代替组装完成的报文分片继续参与失序处理。
该机制包括如下步骤:
(1)在接收到失序分片时,检测该失序分片能否和等待队列里其他失序分片组装成一个完整报文,如果可以则组装;
(2)创建一个伪报文,伪报文里仅保存上述完整报文的序列号信息,并把该伪报文替代原报文放在等待队列里原来的位置;
(3)把组装完成的报文经PPP主流程解析后递交给上层。
本发明的有益效果为:
1.当等待队列中的分片在组装报文过程中发生长时间(秒级)等待一个分片的情况,则接收端认为该分片丢失,放弃该报文的组装,利用定时器超时就可以清理未组装完成的报文,释放相应的分片存储资源,这样的实现方式并不依赖后续报文分片的到来,也不依赖发送端是否能定时发送空分片。
2.当收到一个失序报文分片的时候,如果该失序分片和其他失序分片能组装成一个完整报文,则把该报文组装并处理,同时释放该报文包含分片的存储资源。这样的实现方式下,已经可以组装完成的报文不需要等到序列号在前的包文组装完成以后才交给系统处理,大大减少等待队列分片数量并降低系统处理效率的上下震荡幅度;同时由于用伪报文代替原始报文继续留在等待队列里,也不会影响失序分片的正常处理。
附图说明:
以下结合附图和具体实施方式来进一步说明本发明。
图1为典型多链路捆绑Multilink PPP应用方案示例示意图。
图2为使用分片组装定时器的流程示意图。
该图描述了和定时器有关的流程。
图3为失序分片组装完整报文后用伪报文代替继续进行失序处理的流程示意图。
具体实施方式:
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
为了降低Multilink PPP等待队列里缓存报文分片的数量,根据上述技术方案具体描述的本实施例,其基于捆绑多条子链路的Multilink PPP应用环境(如图1示例所示),链路两端都按照标准的序列号递增规则来发送分片,并采用基于序列号递增规则的分片丢失检测机制来处理接收分片。
参见图2,超时清理缓存报文分片机制的具体步骤如下:
1.Multilink组开始进行有效数据的收发前创建分片组装定时器;
2.收到一个分片时,判断该分片的序列号是否是当前正在等待的序列号,如果是,进入步骤3,否则转到步骤7;
3.判断该分片是否能和等待队列里的其他分片组装成完整报文,如果是,进入步骤4,否则转到步骤6;
4.检测并组装等待队列里所有可组装完整的报文,清理相关的报文分片,进入步骤5;
5.判断等待队列里是否还有未完成组装的分片,如果是,进入步骤6,否则转到步骤8;
6.重新启动分片组装定时器,转到步骤9;
7.不重新启动分片组装定时器,继续倒数超时时间,转到步骤9;
8.停止分片组装定时器,转到步骤9;
9.本轮分片处理结束;
10.分片组装定时器时间归0,触发超时事件,清理当前未完成组装报文的分片,转到步骤4。
参见图3,失序分片快速处理机制的具体步骤如下:
1.收到一个失序分片,把它加入等待队列,进入步骤2;
2.检测该失序分片能否和等待队列里其他分片组装成一个完整报文,如果能,进入步骤3,否则转到步骤7;
3.组装该完整报文,进入步骤4;
4.获取该完整报文包含的分片中最小和最大序列号,创建一个伪报文,在该伪报文里保存最小和最大序列号,并加入开始位和终结位,进入步骤5;
5.把完整报文从等待队列里取出,并用伪报文代替它原来的位置,进入步骤6;
6.把完整报文递交给PPP正常报文处理流程处理,处理结束后释放报文包含的分片,进入步骤7;
7.本轮失序报文处理结束。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (5)
1、降低Multilink PPP等待队列里缓存分片数量的方法,该方法包括:
a.超时清理缓存报文分片机制;
b.失序分片快速处理机制;
其特征在于,
所述机制a使用分片组装定时器来触发超时事件,该事件对长时间等待重组的分片进行清理;
所述机制b在处理失序分片的过程中,当等待队列里某些报文已经能组装成一个完整的报文时,立即组装该报文并提交给PPP主流程处理,同时使用一个伪报文代替组装完成的报文分片继续参与失序处理。
2、根据权利要求1的降低Multilink PPP等待队列里缓存分片数量的方法,其特征在于,所述超时清理缓存报文分片机制的步骤如下:
①Multilink组开始进行有效数据的收发前创建分片组装定时器;
②对于每个需要多个分片组装的报文,在组装过程中分片的收集情况决定了组装超时定时器的打开或关闭;考虑到分片的收集可能经过一个相当长的时间,如果收到分片是当前正在等待的分片,则重新启动定时器,否则定时器时间继续倒数;
③如果定时器超时仍没有接收到等待的分片,则触发组装超时事件,清理等待队列里该报文已经接收到的分片。
3、根据权利要求1的降低Multilink PPP等待队列里缓存分片数量的方法,其特征在于,所述失序分片快速处理机制的步骤如下:
(1)在接收到失序分片时,检测该失序分片能否和等待队列里其他失序分片组装成一个完整报文,如果可以则组装;
(2)创建一个伪报文,伪报文里仅保存上述完整报文的序列号信息,并把该伪报文替代原报文放在等待队列里原来的位置;
(3)把组装完成的报文经PPP主流程解析后递交给上层。
4、根据权利要求1或2的降低Multilink PPP等待队列里缓存分片数量的方法,其特征在于,根据所述超时清理缓存报文分片机制,在具体实现时的流程为:
(1)Multilink组开始进行有效数据的收发前创建分片组装定时器;
(2)收到一个分片时,判断该分片的序列号是否是当前正在等待的序列号,如果是,进入步骤(3),否则转到步骤(7);
(3)判断该分片是否能和等待队列里的其他分片组装成完整报文,如果是,进入步骤(4),否则转到步骤(6);
(4)检测并组装等待队列里所有可组装完整的报文,清理相关的报文分片,进入步骤(5);
(5)判断等待队列里是否还有未完成组装的分片,如果是,进入步骤(6),否则转到步骤(8);
(6)重新启动分片组装定时器,转到步骤(9);
(7)不重新启动分片组装定时器,继续倒数超时时间,转到步骤(9);
(8)停止分片组装定时器,转到步骤(9);
(9)本轮分片处理结束;
(10)分片组装定时器时间归0,触发超时事件,清理当前未完成组装报文的分片,转到步骤(4)。
5、根据权利要求1或3的降低Multilink PPP等待队列里缓存分片数量的方法,其特征在于,根据所述失序分片快速处理机制,在具体实现时的流程为:
(1)收到一个失序分片,把它加入等待队列,进入步骤(2);
(2)检测该失序分片能否和等待队列里其他分片组装成一个完整报文,如果能,进入步骤(3),否则转到步骤(7);
(3)组装该完整报文,进入步骤(4);
(4)获取该完整报文包含的分片中最小和最大序列号,创建一个伪报文,在该伪报文里保存最小和最大序列号,并加入开始位和终结位,进入步骤(5);
(5)把完整报文从等待队列里取出,并用伪报文代替它原来的位置,进入步骤6;
(6)把完整报文递交给PPP正常报文处理流程处理,处理结束后释放报文包含的分片,进入步骤(7);
(7)本轮失序报文处理结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810032578.XA CN101483637B (zh) | 2008-01-11 | 2008-01-11 | 降低Multilink PPP等待队列里缓存分片数量的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810032578.XA CN101483637B (zh) | 2008-01-11 | 2008-01-11 | 降低Multilink PPP等待队列里缓存分片数量的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101483637A true CN101483637A (zh) | 2009-07-15 |
CN101483637B CN101483637B (zh) | 2013-01-30 |
Family
ID=40880567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810032578.XA Active CN101483637B (zh) | 2008-01-11 | 2008-01-11 | 降低Multilink PPP等待队列里缓存分片数量的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101483637B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104424125A (zh) * | 2013-09-10 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 移动终端缓存的清理方法、装置及移动终端 |
CN109039551A (zh) * | 2018-08-22 | 2018-12-18 | 苏州凌犀物联网技术有限公司 | 一种Lora报文重装异常处理方法、发送端及接收端 |
CN113542144A (zh) * | 2020-04-15 | 2021-10-22 | 华为技术有限公司 | 一种网络设备资源处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1905513A (zh) * | 2005-07-27 | 2007-01-31 | 中兴通讯股份有限公司 | 一种对ppp多链路协议报文进行按序重组的方法 |
US7242685B1 (en) * | 2002-11-05 | 2007-07-10 | Applied Micro Circuits Corporation | System and method for initiating multilink fragment reassembly |
CN101022411A (zh) * | 2007-03-07 | 2007-08-22 | 华为技术有限公司 | 多链路捆绑协议报文分片接收方法 |
US20070253446A1 (en) * | 2006-04-27 | 2007-11-01 | Alcatel | Method of reducing buffer usage by detecting missing fragments and idle links for multilink protocols and devices incorporating same |
-
2008
- 2008-01-11 CN CN200810032578.XA patent/CN101483637B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7242685B1 (en) * | 2002-11-05 | 2007-07-10 | Applied Micro Circuits Corporation | System and method for initiating multilink fragment reassembly |
CN1905513A (zh) * | 2005-07-27 | 2007-01-31 | 中兴通讯股份有限公司 | 一种对ppp多链路协议报文进行按序重组的方法 |
US20070253446A1 (en) * | 2006-04-27 | 2007-11-01 | Alcatel | Method of reducing buffer usage by detecting missing fragments and idle links for multilink protocols and devices incorporating same |
CN101022411A (zh) * | 2007-03-07 | 2007-08-22 | 华为技术有限公司 | 多链路捆绑协议报文分片接收方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104424125A (zh) * | 2013-09-10 | 2015-03-18 | 腾讯科技(深圳)有限公司 | 移动终端缓存的清理方法、装置及移动终端 |
CN109039551A (zh) * | 2018-08-22 | 2018-12-18 | 苏州凌犀物联网技术有限公司 | 一种Lora报文重装异常处理方法、发送端及接收端 |
CN113542144A (zh) * | 2020-04-15 | 2021-10-22 | 华为技术有限公司 | 一种网络设备资源处理方法及装置 |
CN113542144B (zh) * | 2020-04-15 | 2023-06-30 | 华为技术有限公司 | 一种网络设备资源处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101483637B (zh) | 2013-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4658142B2 (ja) | 通信装置およびフレーム制御方法 | |
CN106330414B (zh) | 一种报文传输方法及装置 | |
CN101719809B (zh) | 一种媒体数据包丢包恢复的方法及系统 | |
CN102325076B (zh) | 一种路径最大传输单元发现方法和节点 | |
CN101436978A (zh) | 使用udp协议进行可靠数据传输的方法 | |
CA2466231A1 (en) | Time-aware best-effort hole-filling retry method and system for network communications | |
KR101419801B1 (ko) | 에러-방지된 패킷-기반 프레임을 위한 수신기 | |
CN101699795B (zh) | 一种报文拥塞处理方法及系统 | |
CN1863158B (zh) | 一种ip报文分片缓存及转发方法 | |
EP1463281A3 (en) | packet buffer management | |
CN101483637B (zh) | 降低Multilink PPP等待队列里缓存分片数量的方法 | |
CN102685000B (zh) | 一种mp碎片序号同步实现方法、设备及系统 | |
CN103338158B (zh) | 一种goose报文传输时延抖动抑制方法 | |
CN101697631A (zh) | 一种可序数据包的乱序调整方法及装置 | |
CN101562567B (zh) | 一种处理报文的方法和服务器 | |
CN101018205A (zh) | 一种流量控制方法及通信设备 | |
CN100479426C (zh) | 一种对ppp多链路协议报文进行按序重组的方法 | |
CN101883054B (zh) | 组播报文处理方法、装置和设备 | |
CN102025641A (zh) | 一种报文过滤方法和交换设备 | |
CN101207617A (zh) | 网络储存系统的数据传输方法 | |
CN100563238C (zh) | 一种发送报文的方法 | |
CN103166912B (zh) | 一种数据包的传输方法、系统 | |
US9525629B2 (en) | Method and apparatus for transmitting data packets | |
CN104753813A (zh) | Dma传送报文的方法 | |
CN100576787C (zh) | 一种在维护终端与后台设备之间进行大数据量安全传送的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: 123 Curie Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 201203 Patentee after: SHANGHAI BAUD DATA COMMUNICATION Co.,Ltd. Address before: 201203, Curie Road 123, Zhangjiang hi tech park, Shanghai, Pudong New Area Patentee before: SHANGHAI BAUD DATA COMMUNICATION Co.,Ltd. |
|
CP02 | Change in the address of a patent holder |