[发明专利]一种基于SCPS‑TP的丢包定位及检测方法有效
申请号: | 201510208663.7 | 申请日: | 2015-04-28 |
公开(公告)号: | CN104780119B | 公开(公告)日: | 2017-08-29 |
发明(设计)人: | 廖勇;沈轩帆;贾正渝;曹继明;周昕 | 申请(专利权)人: | 重庆大学 |
主分类号: | H04L12/823 | 分类号: | H04L12/823;H04L29/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 400044 *** | 国省代码: | 重庆;85 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出一种基于SCPS‑TP的丢包定位及检测方法,具体为针对空间通信过程中链路时延长,链路丢包现象严重,丢失报文无法检测定位以及原有SCPS‑TP传输机制传输效率低等问题,创新性地提出了一种新的报文传输机制,并针对这一种新的传输机制对原有SCPS‑TP的报文压缩头结构做出了改进。该发明可以实现检测并定位由于链路丢包而丢失的报文并根据报文对应的丢包容忍度采取相应的重传策略,以达到在保证用户基本通信服务的前提下大幅地提升数据传输效率的目标,实现在链路环境相对恶劣的情况下大幅地缩减RTT,提高吞吐量。 | ||
搜索关键词: | 一种 基于 scps tp 定位 检测 方法 | ||
【主权项】:
一种基于SCPS‑TP的丢包定位及检测方法,具体为:针对链路丢包的现象,通过对压缩头结构和传输机制的改进达到了丢失报文可定位,可检测的目的;并根据业务类型需求和丢包容忍度,采取不同的重传策略,以达到在保证用户基本通信服务的前提下大幅地提升数据传输效率的目标;实现在链路环境相对恶劣的情况下大幅地缩减RTT,提高吞吐量;对于SCPS‑TP帧结构的改进包括:改进了SCPS‑TP的报文压缩头格式,在其中加入了一个新的选项,即Tag选项;Tag选项是每一个群组数据报在这一群组中独一无二的标签;Tag选项由四个字节32位构成,其中包括1位目录位,3位丢包容忍度标示,4位业务类型标示,8位的群组内部编号(其中有1位保留),16位的群组外部编号;目录位标明了数据报文的属性,该目录位为1表示此报文为群组目录,该目录位为0表示此报文为群组数据报文;丢包容忍度在群组目录和群组数据报文中表示不同的含义,对于群组目录而言,丢包容忍度的不同编码对应着这一群组所能容忍的最大丢包率;对于群组数据报文而言,丢包容忍度表示这一数据报文中数据的重要程度,此时丢包容忍度只有两种状态,一种是表示该报文若丢失必须重传,另一种是若群组丢包率在容忍度之内此包丢失无需请求重传;群组内部编码是群组数据报在这一群组中的ID,每个报文在群组中都有一个唯一的编号,这一编号由它们各自的序列号决定,从0开始按序列号大小,从小到大顺序编码;群组目录的群组内部编号为这一群组中所包含的群组数据报文的数目;群组外部编号则是这一报文群组的ID;同一群组中的每个群组数据报文和群组目录的外部编号都是相同的;由此能区分不同群组的数据报文;群组构建的流程包括:群组构建流程,就是将各个分散的小的报文转换成为一个报文群组的过程;S3‑1、群组构建的原则SCPS‑TP是SCPS的传输层协议,而在SCPS协议体系中处于网络层的是SCPS‑NP协议;在SCPS‑NP中规定,每一个NP数据报的最大长度为8145Byte,换言之一个报文群组的最大数据长度不能超过8145Byte;这也就成为了一个报文群组构建在数据长度上的限制;另一方面,由于数据报文以群组的方式传输,在收方接收到一个群组的数据报文后,为了便于接收方识别提取出每一个报文,要求每一个群组数据报文的数据长度都是相等的;这就需要将数据长度参差不齐的报文,通过填充码元的方式将报文长度统一成一个长度;S3‑2、群组构建的流程在一段时间后,当发送方的发送缓冲队列积累了一定的待发送数据报文后,便开始报文群组的构建;先将待发送数据报文按报文长度分组,长度为4K~8KByte以上的为一组,长度在2K~4KByte的为一组,1K~2KByte为一组,500~1KByte为一组,250~500Byte为一组,125~250Byte为一组,60~125Byte为一组,60Byte以下为一组,总共8组;并将各组内的数据报文按数据长度排序;若报文长度大于8KByte,则须先将其进行分割之后再传输,至于分割方式已超出本专利的范围,在此不再叙述;之后在每一个报文的末尾填充一个字节的结尾标记,以便接收方接收到报文之后的识别处理;码元填充的过程选择以字节为单位,码元“0”作为填充码元;群组划分的过程首先是将长度相似的报文划分成组并按数据长度排序,之后根据数据长度区间确定一个群组所含的报文数目(此处为方便叙述假设这一数目为N),然后按之前排好的顺序,顺序抓取N个报文,找到这N个报文中数据长度最长的一个,将其余所有报文都通过“补0”的方式使这N个报文的数据长度相等;下一步则是根据划分好的群组,为它们生成Tag选项;先将它们的目录位置0,根据它们的数据的重要程度和用户的要求为它们填写丢包容忍度和业务类型信息,再为每一个群组编上其群组外部编号,而在群组内部则按其各自序列号的大小按顺序编写群组内部编号;S3‑3,为每个已经组建完成的群组数据报生成其群组目录;首先是群组目录的Tag选项;先将其目录位置1,根据业务类型,在保证用户基本通信服务的前提下,选择一个合理的最大容忍丢包率;其内部编号为这一群组的报文数目;其外部编号与群组数据报的外部编号相同;群组目录的负载的前两个字节表征的是这一群组中每个报文的数据长度,以字节为单位;之后的部分是一张由各个群组数据报文Tag选项的前两个字节构成的一张表格;至此群组构建完成;所述传输机制包括:S4‑1,当发送方的各个群组报文处于发送队列中时,则将开始群组传输;收发双方通过握手建立连接后,发送方按照群组外部编号将群组排好队列,将第一个待发群组的群组目录向收方发送,同时启动定时器t1;S4‑2,收方在收到目录后,启动本地程序对此目录进行校验,若目录传输无误,则发送一个ACK1给发送方,示意发送方能开始传输此群组,同时启动定时器t2,并将此目录存储下来,作为接收群组数据报文的依据,若校验出错,则不给予ACK1;S4‑3,无论是此群组目录发生丢包,或是目录检验出错,或是收方的应答ACK1丢失,带来的结果都将是发送方无法在t1时间内收到ACK1,此时发送方将会重新发送群组目录,S4‑4反复执行S4‑1至S4‑3,直到某一次在t1时间内收到有效ACK1才进入下一状态;收方的定时器t2,表示收方只在t2时间内接收群组数据报文,超过t2时限未接收到的报文则将视为丢包;S4‑5,发送方收到ACK1后,将这一群组发送出去,启动定时器t3,在t3时间内等待收方的ACK2,若t3时间后未收到ACK2,发送方认为这一群组都未被收方正确接收,此时发送方将重新发送目录;S4‑6,收方在t2的时间内收到了有效的报文,便开始将各个群组数据报文从群组中提取出来,将每个报文的Tag选项与目录对比;S4‑7,首先核对群组外部编号,外部编号与目录不符的报文将被丢弃,之后统计丢包率,并生成一张由丢失报文Tag选项前两个字节构成的丢包列表,若丢包率未超过目录中给出的丢包容忍度,且丢失报文中没有丢包容忍度标示为绝对不允许丢失的报文,则视为已正确接收,发送ACK2给发方,请求传送下一群组;S4‑8,若不满足S4‑7的条件,则将丢失报文列表作为ACK2发送给发送方,请求重传丢失的报文;S4‑9,在收到ACK2后发送方将按照ACK2的指示进入不同工作模式,若ACK2表示已正确接收,则发送下一群组的目录;若ACK2请求重传,则根据重传列表,重新生成由重传报文构成的群组,之后将重传的群组目录发送给接收方;S4‑10,在一次群组接受完成后,收方将各个报文取出后,还需将填充的码元剔除,才能获得最终的所需传输的信息;具体方法是从报文末尾开始剔除,直到发现结尾标记后,将结尾标记剔除,则得到了原有需要发送的报文;至此,一个报文群组完成了传输。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆大学,未经重庆大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510208663.7/,转载请声明来源钻瓜专利网。