一种基于scps?tp的自适应网络拥塞控制方法

文档序号:10690997阅读:673来源:国知局
一种基于scps?tp的自适应网络拥塞控制方法
【专利摘要】本发明公开了一种基于SCPS?TP的自适应网络拥塞控制方法,包括以下步骤:SCPS?TP网关源端接收并向目的端转发数据报文;根据解析的报文信息判断是否有新的数据被确认;如果没有新的数据被确认,当重复ACK计数器增加到一定值后,将窗口大小增长模式变为线性自适应模式;若有新的数据被确认,拥塞控制为指数增长模式,扩大窗口后Diff大于设定阈值,拥塞控制方式变为线性自适应模式;若拥塞控制为线性自适应模式,根据Diff调整窗口大小;SCPS?TP网关源端向目的端发送丢包缓冲区中的数据,并根据拥塞窗口大小发送新的数据;本发明能避免中间路由器队列太长导致网络拥塞严重丢包,又可充分利用带宽,部署在高传输时延、高链路误码率的卫星网络中,能提供网络传输加速功能。
【专利说明】
-种基于SCPS-TP的自适应网络拥塞控制方法
技术领域
[0001] 本发明设及网络可靠传输方法,具体设及一种基于SCPS-TP的自适应网络拥塞控 制方法。
【背景技术】
[0002] 目前,由于卫星通信覆盖范围广、组网快速灵活、不受地理限制等优势,近几年来 与地面通信形成互补、竞争之势;广泛应用于卫星电话、导航定位、抢险救灾等突发事件的 应用通信、国家防御系统等经济和军事领域。
[0003] 卫星通信利用人造地球卫星作为中继站来转发无线电波,从而实现两个或多个地 球站之间的通信;由于卫星通信的无线电信号传输距离非常遥远,导致传输时延巨大;比如 多用于导航定位和数据中继的地球静止轨道卫星通信距离有约36000千米,传输时延可达 500ms~800ms;传输距离遥远同时也会引起信号的极大衰减,接收到的信号信噪比极低,不 稳定的空间环境导致链路误码率高居不下;实际应用中空间通信的误码率可达10Λ而地面 传输的误码率仅为1(TW;高时延和链路的高误码率对传统的通信方式提出了挑战。
[0004] 目前常用的针对空间通信高传输时延、高误码率、上下行信道不对称等不良因素 对传输协议的影响,提出了一系列解决办法;例如TCP Westwood协议在传统TCP协议的基础 上,加入了带宽测量机制,用于拥塞窗口的调整策略,从而消除了高误码率的影响,但是由 于其慢启动和拥塞避免阶段仍沿用TCP传统的策略,协议受时延影响较大,不能很好的利用 带宽;XCP协议在中间路由器监测网络流量状况,通过修改报文头部字段,将网络状况反馈 给发送端,但是协议需要专用的路由器对协议进行支持;TCP-Peach协议通过发送哑元报文 来测试网络的拥塞情况,同时使用突然启动和快速恢复机制,可W在连接建立和丢包后快 速恢复和占用带宽,适用于高时延和高误码率的网络,但是协议要求中间路由器支持优先 级策略,否则哑元会对链路造成压力;时延容忍网络化elay Tolerant Networks,DTN)架构 在整个网络中使用复制/泛洪数据包副本的策略,虽然运样可W提高传输概率并且降低传 输延时,但是过多冗余副本对网络资源造成极大浪费,而且DTN需要中间节点在收到的包成 功地转发之前,将所有收到的包存储在缓冲区,运将大量消耗卫星网络资源;空间通信传输 协议(Space Communications Protocol Specification-Transport Protocol,SCPS-TP) 是空间数据系统咨询委员会(Consultative Committee for Space Data Systems,CCSDS) 提出的面向空间通信环境的传输协议,基于传统地面通信的传输协议拓展而来,协议采用 更大的窗口尺寸,加入选择性否定确认(Selective化gative Acknowledgment,SNACK)机 审ij,头压缩功能,数据速率控制功能,使协议可W适应大带宽时延积和高误码率的卫星网 络,是目前使用最广泛的网络传输协议,但是还是存在中间路由器队列太长导致网络拥塞 严重丢包的现象,并且不能根据实际网络的情况,充分利用带宽。

【发明内容】

[0005] 本发明提供一种可W可根据实际网络运行情况改变网络窗口大小的自适应网络 拥塞控制方法。
[0006] 本发明采用的技术方案是:一种基于SCPS-TP的自适应网络拥塞控制方法,包括W 下步骤:
[0007] A、SCPS-TP源端网关接收地面端的ACK报文和数据报文,将数据报文重新封装,发 送给目的端网关;SCPS-TP目的端网关接收到源端网关ACK报文和数据报文后,进行解析和 存储并将数据报文转发至地面目的端;
[000引B、步骤A中解析的AO(报文和数据报文信息中有SNACK选项信息时,将信息记录在 丢包缓冲区的链表中;
[0009] C、根据步骤A中解析的AO(报文和数据报文信息中判断有无新的数据被确认;如果 有新的数据被确认,更新数据信息;如果没有新的数据被确认,重复ACK计数器计数,当重复 ACK计数器增加到一定值后,减小窗口大小,将增长模式变为线性自适应模式;
[0010] D、若步骤C中有新的数据被确认,测量出带宽估计值样本,并对样本进行滤波,计 算期望吞吐量和实际吞吐量的差异Diff;
[0011] E、若增长模式为指数增长模式,扩大窗口后若步骤D中的Diff大于设定阔值,增长 模式变为线性自适应模式;若增长模式为线性自适应模式,根据步骤D中的Diff调整窗口大 小;
[0012] F、SCPS-TP网关源端向目的端发送步骤B中丢包缓冲区中的数据,并根据拥塞窗口 大小发送新的数据。
[0013] 进一步的,所述线性自适应模式下,窗口的控制方式如下:
[0014]
[0015] 其中:Wt为t时刻窗口大小,MAXSEG为最大报文长度,SRTT为平滑后的RTT值,Alphat 为t时刻的Alpha值,Be化t为t时刻的Be化值,蘇黎g为t时刻经过滤波之后的带宽估计值;
[0016] 阻尼阔值A1地at和Be化t根据当前吞吐量和上一时刻的吞吐量自适应的调整,采用 平均法将阔值区间围绕Diff移动,具体方法如下:
[0020] 其中,Xt、Yt为t时刻阻尼阔值调整因子。
[0021 ] 进一步的,所述步骤D中t时刻Diff的计算方法如下:
[0022]
[0023] 其中:Expected*为t时刻期望得到的吞吐量,Actual*为t时刻实际测量的吞吐量, BaseRTTt为t时刻记录的最小的RTT,Window Sizet为t时刻网络中的字节数,Bytet为t时刻 发送方记录每个包从发出到接收到反馈之间发送的数据量,Sample RTTt为t时刻运个包的 实际RTT。
[0024] 进一步的,所述步骤帥滤波方法如下:
[0025] 采用带有十字过滤线VHF的指数加权平均滤波器EWMA进行滤波,根据测量的带宽 估计值的离散程度计算EWMA的加权因子,按照下述公式进行滤波:
[002引其中:at为t时刻EWMA加权因子,b为VHF的常数因子,Amaxt为t时刻最新的Μ个测量 的带宽估计值样本的最大值和最小值之差,即样本的极差,Μ为VHF样本窗口大小,OBWt为t 时刻测量的带宽估计值样本,1??为t时刻经过带有VHF的EWMA滤波之后的带宽估计值。
[0029] 进一步的,所述步骤A中SCPS-TP网关源端对数据报文重新封装之后,使用TCP欺骗 技术伪装成地面端,将数据报文发送到目的端。
[0030] 本发明的有益效果是:
[0031] (1)本发明窗口增长模式采用线性自适应模式可W动态控制中间路由器中缓存的 队列长度;并且对于不同带宽时延和不断变化的网络情况,其自适应特性使得传输过程中 无需人工干预配置相应参数,提供网络传输加速功能;
[0032] (2)本发明采用带有VHF的EWM滤波的带宽估计算法,通过采用自适应的带宽加权 因子参与计算,算法受网络环境变化影响更小,测量出的带宽更具有稳定性和准确性;
[0033] (3)本发明通过TCP欺骗技术,可W及时让地面端得到反馈信息,使得传输速度更 快。
【附图说明】
[0034] 图1为本发明控制方法流程图。
[0035] 图2为本发明中带有VHF的EWMA滤波计算方法流程图。
[0036] 图3为本发明中线性自适应方法的流程图。
[0037] 图4为本发明测试环境部署拓扑图。
[0038] 图5为采用本发明控制方法在瓶颈带宽100Mbps,往返时延400ms时与采用其他协 议的网络传输性能对比图。
[0039] 图6为采用本发明控制方法与采用其他协议传输控制方法在瓶颈带宽100Mbps,链 路误码率10-6时,不同往返时延下性能对比图。
【具体实施方式】
[0040] 下面结合附图和具体实施例对本发明做进一步说明。
[0041] 本发明主要针对于空间通信进行的,本发明基于SCPS-TP协议进行,将在SCPS-TP 协议基础上增加了权利要求书中技术特征的具体过程定义为SCPS-TP+;图4中的SCPS-TP+ 网关为采用SCPS-TP+处理过程的网关。
[0042] 如图1所示一种基于SCPS-TP的自适应网络拥塞控制方法,包括W下步骤:
[0043] A、SCPS-TP源端网关接收地面端的ACK报文和数据报文,将数据报文重新封装,发 送给目的端网关;SCPS-TP目的端网关接收到源端网关ACK报文和数据报文后,进行解析和 存储并将数据报文转发至地面目的端;解析的AO(报文和数据报文信息包括AO(报文的确认 序号、时间戳和S(PS扩展信息,并将其转换为TP协议。
[0044] B、步骤A中解析的AO(报文和数据报文信息中有SNACK选项信息时,将信息记录在 丢包缓冲区的链表中;有SNACK选项信息说明传输过程中有数据包丢失,将发送缓冲区存储 的SNACK选项标识的那几个传输中丢失的数据段按顺序插入记录丢包的缓冲区的链表中, 并检查更新之后的丢包缓冲区的链表各节点间的数据段是否存在交叉重叠的情况,并进行 合并整理;SNACK选项信息指根据选择性否定确认机制判定的数据信息;
[0045] C、根据步骤A中解析的AO(报文和数据报文信息中的AO(报文的确认序号判断有无 新的数据被确认;如果有新的数据被确认,更新发送缓冲区起始序号、重置重复ACK计数器、 更新往返时延RTT、网络不拥塞时的RTT,即所有实测RTT中的最小值BaseRTT、定时器;如果 没有新的数据被确认,重复ACK计数器计数,当重复ACK计数器增加到一定值后,减小窗口大 小,并将窗口大小增长模式变为线性自适应模式,为之后的数据重传做准备;根据步骤A中 解析的数据中的确认信号,判断有无新的数据被确认;本实施例中重复ACK计数器> 3时,说 明网络比较拥塞,窗口应根据网络状况自适应调整,窗口大小减小为原来的一半;
[0046] D、若步骤C中有新的数据被确认,测量出带宽估计值样本,并对样本进行滤波得到 经过滤波的带宽估计值,根据AO(报文信息计算期望吞吐量和实际吞吐量的差异Diff;
[0047] E、若拥塞控制为指数增长模式,该模式下网络比较空闲窗口可W快速增长,本实 施例中将窗口扩大为原来的两倍;若步骤D中的Diff大于设定阔值,认为网络开始出现拥 塞,需要减缓增长速度,拥塞控制方式变为线性自适应模式;若拥塞控制为线性自适应模 式,根据步骤D中的Diff调整窗口大小;如果Diff较小,证明实际吞吐量和期望吞吐量较为 接近,网络不拥塞,可W根据经过滤波的带宽估计值增大窗口,反之需要减小窗口;窗口大 小的调整根据滤波后的带宽估计值进行;
[0048] 拥塞控制初始化为指数增长模式,网络开始出现拥塞后进入线性自适应模式,若 在线性自适应模式中窗口下降到1,重新进入指数增长模式;线性自适应模式:在原有窗口 线性增长或减小的基础上加入自适应机制,可W自适应的判断网络拥塞状况,同时进行带 宽估计,根据网络拥塞状况W及估计的带宽调整窗口大小。
[0049] F、SCPS-TP网关源端向目的端发送步骤B中丢包缓冲区中的数据,并根据拥塞窗口 大小发送新的数据。
[0050] 如图3所示,所述线性自适应模式下,窗口的控制方式如下:
[0化1 ]
[0化2] 其中:Wt为t时刻窗口大小,MAXSEG为最大报文长度,SRTT为平滑后的RTT值,Alphat 为t时刻的Alpha值,Be化t为t时刻的Be化值,毅赛f为t时刻经过滤波之后的带宽估计值; [0053] 阻尼阔值A1地at和Be化t根据当前吞吐量和上一时刻的吞吐量自适应的调整,采用 平均法将阔值区间围绕Diff移动,具体方法如下:
[0化7] 其中,Xt、Yt为t时刻阻尼阔值调整因子。
[0化引进一步的,所述步骤D中t时刻Diff的计算方法如下:
[0化9]
[0060] 其中:Expected*为t时刻期望得到的吞吐量,Actual*为t时刻实际测量的吞吐量, BaseRTTt为t时刻记录的网络不拥塞时的RTT,即最小的RTT值,Window Sizet为t时刻网络中 的字节数,Bytet为t时刻发送方记录每个包从发出到接收反馈之间发送的数据量,Sample RTTt为t时刻运个包的实际RTT;通过自适应的调整阻尼阔值A1地a和Be ta的大小,动态控制 中间路由器中缓存的队列长度;与采用固定的Alpha和Be化阔值的方法相比,可W自动适应 不同网络流量情况,既能避免中间路由器队列太长导致网络拥塞严重丢包,又可W充分利 用带宽。
[0061 ]如图4所示,所述步骤D中滤波方法如下:
[0062]采用带有十字过滤线VHF的指数加权平均滤波器EWMA进行滤波,根据测量的带宽 估计值样本的离散程度计算EWMA的加权因子,按照下述公式进行滤波:
[0065] 其中:at为t时刻EWMA加权因子,b为VHF的常数因子,Amaxt为t时刻最新的Μ个测量 的带宽估计值样本的最大值和最小值之差,即样本的极差,Μ为VHF样本窗口大小,OBWt为t 时刻测量的带宽估计值样本,賢^为*时刻经过带有VHF的EWMA滤波之后的带宽估计值;采 用运种方法滤波,与传统的TCP Westwood带宽估计算法相比,使用自适应的带宽加权因子 参与计算,算法受网络环境变化影响更小,测量出的带宽更具有稳定性和准确性,同时可W 更贴切反应实际带宽大小。
[0066] 进一步的,所述步骤A中SCPS-TP网关源端对数据报文重新封装之后,使用TCP欺骗 技术伪装成地面端,将数据报文发送到目的端;由于空间网络环境的复杂性,经过卫星将数 据发送至目的端,耗时较长,并且容易发生错误;所W在实际应用中采用TCP欺骗技术伪装 成地面端进行数据发送,保证了数据的及时反馈。
[0067] 如图4所示,图中服务器即源端和客户端使用Linux系统计算机;两台Linux系统双 网卡设备均采用本发明控制方法,并配置成独立的网关提供协议转换和网络加速功能,使 用WANem广域网模拟器仿真卫星网络。
[006引图5中给出了本发明与采用传统的SCPS-TP协议传输方法的性能对比图;图5为瓶 颈带宽100Mbps,往返时延400ms时,不同误码率下本发明与采用传统SCPS-TP协议传输方法 性能对比图,可W看出不同误码率下,本发明性能明显高。
[0069] 图6给出了瓶颈带宽100Mbps,链路误码率10-6时,不同往返时延下性能对比图,可 W看出不同往返时延下,本发明控制方法与采用传统SCPS-TP协议传输的方法相比,传输性 能有了明显提升,更适合卫星网络通信。
[0070] W上所述仅为本发明的较佳实施例而已,并不用W限制本发明,凡在本发明的精 神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种基于SCPS-TP的自适应网络拥塞控制方法,其特征在于,包括以下步骤: A、 SCPS-TP源端网关接收地面端的ACK报文和数据报文,将数据报文重新封装,发送给 目的端网关;SCPS-TP目的端网关接收到源端网关ACK报文和数据报文后,进行解析和存储 并将数据报文转发至地面目的端; B、 步骤A中解析的ACK报文和数据报文信息中有SNACK选项信息时,将信息记录在丢包 缓冲区的链表中; C、 根据步骤A中解析的ACK报文和数据报文信息中判断有无新的数据被确认;如果有新 的数据被确认,更新数据信息;如果没有新的数据被确认,重复ACK计数器计数,当重复ACK 计数器增加到一定值后,减小窗口大小,将增长模式变为线性自适应模式; D、 若步骤C中有新的数据被确认,测量出带宽估计值样本,并对样本进行滤波,计算期 望吞吐量和实际吞吐量的差异Diff; E、 若增长模式为指数增长模式,扩大窗口后若步骤D中的Diff大于设定阈值,增长模式 变为线性自适应模式;若增长模式为线性自适应模式,根据步骤D中的Diff调整窗口大小; F、 SCPS-TP网关源端向目的端发送步骤B中丢包缓冲区中的数据,并根据拥塞窗口大小 发送新的数据。2. 根据权利要求1所述的一种基于SCPS-TP的自适应网络拥塞控制方法,其特征在于, 所述线性自适应模式下,窗口的控制方式如下:其中:Wt为t时刻窗口大小,MAXSEG为最大报文长度,SRTT为平滑后的RTT值,Alphat为t 时刻的Alpha值,Betat为t时刻的Beta值,發威纟.为t时刻经过滤波之后的带宽估计值; 阻尼阈值Alphiit和Betet根据当前吞吐量和上一时刻的吞吐量自适应的调整,采用平均 法将阈值区间围绕Diff移动,具体方法如下:其中,Xt、Yt为t时刻阻尼阈值调整因子。3. 根据权利要求1所述的一种基于SCPS-TP的自适应网络拥塞控制方法,其特征在于, 所述步骤D中t时刻Diff的计算方法如下:其中:Expectedt为t时刻期望得到的吞吐量,Actualt为t时刻实际测量的吞吐量, BaseRTTt为t时刻记录的最小的往返时延RTT,Window Sizet为t时刻网络中的字节数,Bytet 为t时刻发送方记录每个包从发出到接收到反馈之间发送的数据量,Sample RTTt为t时刻 这个包的实际RTT。4. 根据权利要求1所述的一种基于SCPS-TP的自适应网络拥塞控制方法,其特征在于, 所述步骤D中滤波方法如下: 采用带有十字过滤线VHF的指数加权平均滤波器EWMA进行滤波,根据测量的带宽估计 值样本的离散程度计算EWMA的加权因子,按照下述公式进行滤波:其中:at为t时刻EWMA加权因子,b为VHF的常数因子,Amaxt为t时刻最新的Μ个测量的带 宽估计值样本的最大值和最小值之差,即样本的极差,Μ为VHF样本窗口大小,OBWt为t时刻 测量的带宽估计值样本,1?为1时刻经过带有VHF的EWMA滤波之后的带宽估计值。5. 根据权利要求1所述的一种基于SCPS-TP的自适应网络拥塞控制方法,其特征在于, 所述步骤A中SCPS-TP网关源端对数据报文重新封装之后,使用TCP欺骗技术伪装成地面端, 将数据报文发送到目的端。
【文档编号】H04L12/825GK106059950SQ201610353439
【公开日】2016年10月26日
【申请日】2016年5月25日
【发明人】王俊峰, 闫宇轩, 高展, 丁雪峰
【申请人】四川大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1