当前位置: 首页 > 专利查询>奈飞公司专利>正文

分组丢失容忍传输控制协议拥塞控制制造技术

技术编号:21739794 阅读:63 留言:0更新日期:2019-07-31 21:12
在传输控制协议(“TCP”)会话期间,发送端点计算机监视当数据被发送到接收端点计算机时所发送的数据量和数据丢失模式。发送端点计算机基于监视的所发送数据量和数据丢失模式周期性地确定是正在以低于、等于还是高于路径容量发送数据。发送端点计算机响应于确定是正在以低于、等于还是高于路径容量发送数据,周期性地动态调整向接收端点计算机发送数据的速率。

Congestion Control of Packet Loss Tolerance Transport Control Protocol

【技术实现步骤摘要】
【国外来华专利技术】分组丢失容忍传输控制协议拥塞控制
本公开内容总体涉及网络流量管理,更具体地,涉及容忍分组丢失的传输控制协议(“TCP”)拥塞控制。
技术介绍
传统的TCP对分组丢失非常敏感。例如,利用TCPNewReno的拥塞控制机制,路径中仅0.1%的随机分组丢失可能导致吞吐量下降20-30%。这是TCP在涉及有损链路(例如,连接不良的无线链路)的路径上表现不佳的主要原因。不能容忍TCP的丢失从根本上是VanJacobson的拥塞控制和拥塞避免(VJ-CCCA)算法的副产物,在该算法上建立TCP中的拥塞控制及其所有调制解调器变体。1988年,Jacobson描述了在ARPANET中观察到的“拥塞崩溃”问题,在此期间,由于拥堵,吞吐量下降了一千多倍。Jacobson概述了VJ-CCCA作为一种补救措施,它仍然是当今传统TCP拥塞控制机制的基础。Jacobson的算法将观察到的分组丢失视为网络拥塞的信号,并将解决网络拥塞问题的全部责任赋予端点。VJ-CCCA的工作原理是根据链路本身可靠的假设,减慢端点活动以响应数据分组丢失。VJ-CCCA的目标是通过避免拥塞崩溃来保护互联网本身。当网络和路由基础设施处于起步阶段时,这些设计选择适合于当时的条件,具有很少的过载保护和非常基本的流量管理。当时的大多数主机基本上直接连接到主干网,并且没有ISP。因此,网络稳定性完全取决于主机的行为。此外,链路基于具有低误码率的物理连接,因此传输错误相对较少。Jacobson算法及其后续的变体在其引入之后长时间工作良好,并且向互联网提供稳定性。但随着过去十年左右互联网的发展和商业化,人们看到这种强有力的补救措施的某些不良副作用。一个这样的问题是当路径变得有损时吞吐量的降低,这是诸如基于802.11(Wi-Fi)或蜂窝协议的无线链路的常见情况。将分组丢失视为拥塞的标志假设了可靠的链路,因此基于VJ-CCCA的TCP拥塞控制对分组丢失高度敏感。这随着当前无线链路的普遍存在而成为问题,在无线链路上,由于传输错误而不是拥塞,分组经常丢失。1988ARPANET与现代互联网之间的另一个根本变化是服务和用户管理层的引入,这是互联网商业化的关键结果。这个管理层是必要的,因为在不控制谁可以访问其服务以及达到何种程度的情况下,不能实际建立盈利业务。该服务/用户管理层(通常采用准入控制、用户管理、策略管理、网络安全等形式)位于用户(主机)和实际流量路由功能(路由器和骨干网)之间,以及仅允许符合服务协议和使用策略并且不会造成安全威胁(包括对网络稳定性的威胁)的用户流量传递到路由功能。通过添加该管理层,网络的稳定性不再取决于各个主机/用户的行为。创建Jacobson的补救措施来“治疗”的原始“疾病”(网络拥挤崩溃)可能成为一种几乎不可能的可能性。这从根本上改变了VJ-CCCA的假设,并使原始拥塞控制设计选择受到质疑。期望解决这些问题。
技术实现思路
提供了丢失容忍的TCP传输,其在有损环境(例如Wi-Fi、蜂窝、低质量ISP等)中保持良好的吞吐量并且表现良好。为了实现丢失容忍,传输不基于VJ-CCCA。相反,利用自学习收敛功能来检测和控制数据路径上的拥塞和传输速率。更具体地,与VJ-CCCA相比,丢失容忍传输不是试图从端点管理网络拥塞和稳定性,而是专注于管理两个通信端点之间的路径拥塞。通过专注于避免路径的过载或未充分利用,丢失容忍传输在给定路径条件下实现最佳的吞吐量。传送端点上的丢失容忍传输使用来自网络的反馈和来自接收端点的响应中包含的信息来调整传输速率。丢失管理和拥塞管理的分离使得丢失容忍传输能够提供丢失容忍的拥塞控制。情况就是如此,因为在有损环境(例如,利用Wi-Fi或蜂窝网络的环境)中,数据路径中的分组丢失通常是链路层误码率的结果,即使路径完全不饱和也会持续存在。相反,拥塞引起的数据丢失(例如,尾部丢弃)主要发生在路径(或其一部分)完全加载到其指定容量时。与拥塞管理功能分开,丢失管理部件执行数据丢失检测和修复功能,并管理丢失数据重传的定时和顺序。发送逻辑部件实施发送速率,并且在一些实施例中,采用混合调步功能来提高数据传输的效率,并以更精细的粒度级别实施速率管理。本
技术实现思路
和以下具体实施方式中描述的特征和优点并非包括一切,并且特别地,鉴于附图、说明书及其权利要求,相关领域的普通技术人员将清楚许多附加特征和优点。此外,应该注意的是,说明书中使用的语言主要是出于可读性和指导目的而选择的,并且可能未被选择来描绘或限制本专利技术的主题,求助于权利要求来确定这样的专利技术主题是必需的。附图说明图1是根据一些实施例的可以实现丢失容忍TCP部件的示例性网络架构的框图。图2是根据一些实施例的丢失容忍TCP部件的操作的框图。图3是示出根据一些实施例的由丢失容忍TCP部件的丢失管理模块执行的步骤的流程图。图4是示出根据一些实施例的由丢失容忍TCP部件的路径拥塞管理模块执行的步骤的流程图。图5是示出根据一些实施例的由丢失容忍TCP部件的发送逻辑模块执行的步骤的流程图。图6是根据一些实施例的适用于实现丢失容忍TCP部件的计算机系统的框图。附图仅出于说明的目的示出了各种实施例。从以下讨论中本领域技术人员将容易认识到,可以采用本文所示的结构和方法的替代实施例而不脱离本文所述的原理。具体实施方式丢失不敏感传输在有损环境(例如Wi-Fi、蜂窝、低质量ISP等)中保持良好的吞吐量并且表现良好。为了实现丢失容限,丢失不敏感传输不基于VJ-CCCA。相反,利用自学习收敛功能来检测和控制数据路径上的拥塞和传输速率。更具体地,与VJ-CCCA相比,不是试图从端点管理网络拥塞和稳定性,而是管理两个通信端点之间的路径拥塞。通过专注于避免路径的过载或未充分利用,在给定路径条件下实现了最佳的吞吐量。丢失不敏感传输对于接收端点是透明的。传送端点(例如,服务器)使用来自网络的反馈和来自运行传统传输的接收端点(例如,客户端)的响应中包含的信息来调整传输。丢失不敏感传输可以包含以下三个功能块:路径拥塞管理、丢失管理和发送逻辑。丢失管理和拥塞管理的分离使得能够提供丢失容忍拥塞控制。情况就是如此,因为在有损环境(例如,利用Wi-Fi或蜂窝网络的环境)中,数据路径中的分组丢失通常是链路层误码率的结果,即使路径完全不饱和也会持续存在。相反,拥塞引起的数据丢失(例如,尾部丢弃)主要发生在路径(或其一部分)完全加载到其指定容量时。为此,丢失管理与拥塞管理功能分开。丢失管理例程执行数据丢失检测和修复功能,并管理丢失数据重传的定时和顺序。发送逻辑实施发送速率。发送逻辑还可以采用混合调步功能来提高数据传输的效率,并以更精细的粒度级别实施速率管理。图1是示出其中可以实现丢失容忍TCP部件101的示例性网络架构100的框图。图示的网络架构100包括多个客户端103A、103B和103N,以及多个服务器105A和105N。尽管图1作为示例示出了三个客户端103和两个服务器105A-N,但实际上可以部署更多(或更少)的客户端103和/或服务器105。在一个实施例中,网络107采用互联网的形式,但是在其他实施例中可以使用其他网络(例如,私有企业级广域网)。客户端103和服务器105通过网络107进行通信,例如通过网络接口648或调制解调器647,本文档来自技高网
...

【技术保护点】
1.一种计算机实现的方法,包括:在发送端点计算机和接收端点计算机之间的传输控制协议(“TCP”)会话期间,所述发送端点计算机监视当数据被发送到接收端点计算机时所发送的数据量和数据丢失模式;所述发送端点计算机基于监视的所发送的数据量和数据丢失模式周期性地确定是正在以低于、等于还是高于路径容量发送数据;并且所述发送端点计算机响应于确定是正在以低于、等于还是高于路径容量发送数据,周期性地动态调整向所述接收端点计算机发送数据的速率。

【技术特征摘要】
【国外来华专利技术】2016.12.27 US 15/391,3351.一种计算机实现的方法,包括:在发送端点计算机和接收端点计算机之间的传输控制协议(“TCP”)会话期间,所述发送端点计算机监视当数据被发送到接收端点计算机时所发送的数据量和数据丢失模式;所述发送端点计算机基于监视的所发送的数据量和数据丢失模式周期性地确定是正在以低于、等于还是高于路径容量发送数据;并且所述发送端点计算机响应于确定是正在以低于、等于还是高于路径容量发送数据,周期性地动态调整向所述接收端点计算机发送数据的速率。2.根据权利要求1所述的方法,还包括:在所述TCP会话期间,首先执行路径特性测量阶段,在该阶段期间,根据TCP慢启动过程来调节向所述接收端点计算机发送数据的速率,随后,在发送了特定量的数据之后,执行路径拥塞监视和速率控制阶段,在该阶段期间,所述发送端点计算机响应于确定是正在以低于、等于还是高于路径容量发送数据,周期性地动态调整向所述接收端点计算机发送数据的速率。3.根据权利要求2所述的方法,还包括:在所述路径特性测量阶段期间,所述发送端点计算机跟踪观察到的产生自所述TCP慢启动过程的拥塞窗口(“cwnd”)、发送的数据、丢失的数据、和最大选择性确认(“SACK”)缺口尺寸;并且在所述路径拥塞监视和速率控制阶段期间,所述发送端点计算机利用在所述路径特性测量阶段期间所跟踪的信息开始对向所述接收端点计算机发送数据的速率的初始动态调整。4.根据权利要求2所述的方法,还包括:在所述路径拥塞监视和速率控制阶段期间,所述发送端点计算机在所述TCP会话的每一管理周期中动态调整向所述接收端点计算机发送数据的速率。5.根据权利要求4所述的方法,其中:所述TCP会话的每个管理周期等于一个平滑往返时间(“srtt”)。6.根据权利要求2所述的方法,还包括:在所述路径拥塞监视和速率控制阶段期间,所述发送端点计算机跟踪在每个管理周期期间观察到的发送的字节、丢失的字节、和SACK缺口模式;并且所述发送端点计算机利用所跟踪的在先前管理周期期间观察到的发送的字节、丢失的字节、和SACK缺口模式来动态调整在后续管理周期中向所述接收端点计算机发送数据的速率。7.根据权利要求2所述的方法,还包括:在所述路径拥塞监视和速率控制阶段期间,在每个特定管理周期期间,所述发送端点计算机基于在所述特定管理周期期间发送的数据量、在所述特定管理周期期间新丢失的数据量、以及关于SACK缺口和在所述特定管理周期期间重传它们的尝试的信息,确定在下一个管理周期中向所述接收端点计算机发送多少数据。8.根据权利要求1所述的方法,还包括:所述发送端点计算机跟踪由来自所述接收端点计算机的SACK标识的新报告的丢失字节;所述发送端点计算机跟踪所标识的SACK缺口最后被发送到所述接收端点计算机的时间;基于跟踪的新报告的丢失字节、跟踪的所标识的SACK缺口最后被重传到所述接收端点计算机的时间、发送到所述接收端点计算机的数据量、和先前路径拥塞状态,周期性地确定当前路径拥塞状态;并且所述发送端点计算机基于周期性确定的当前路径拥塞状态,周期性地调整向所述接收端点计算机发送数据的速率。9.根据权利要求1所述的方法,还包括:所述发送端点计算机跟踪来自所述接收端点计算机的关于传入SACK的信息,所述关于传入SACK的信息还包括SACK缺口、由SACK标识的新报告的丢失字节和所标识的SACK缺口最后被重传到所述接收端点计算机的时间;并且当所述发送端点计算机将SACK缺口重传到所述接收端点计算机时,遵循如下优先级:超出当前确认(“ACK”)点的第一个SACK缺口,以前从未从最旧到最新被完整重传的SACK缺口,以及已经被完整重传但在特定时间量内并未从最旧到最新被重传的SACK缺口。10.根据权利要求1所述的方法,还包括:所述发送端点计算机跟踪所标识的SACK缺口最后被重传到所述接收端点计算机的时间来作为...

【专利技术属性】
技术研发人员:谢晓冰
申请(专利权)人:奈飞公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1