CN104685486B - 防止tcp太快地变得太保守 - Google Patents
防止tcp太快地变得太保守 Download PDFInfo
- Publication number
- CN104685486B CN104685486B CN201380050177.6A CN201380050177A CN104685486B CN 104685486 B CN104685486 B CN 104685486B CN 201380050177 A CN201380050177 A CN 201380050177A CN 104685486 B CN104685486 B CN 104685486B
- Authority
- CN
- China
- Prior art keywords
- ssthresh
- tcp
- data
- loss
- equipment
- 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.)
- Expired - Fee Related
Links
Classifications
-
- 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/28—Flow control; Congestion control in relation to timing considerations
-
- 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/12—Avoiding congestion; Recovering from congestion
-
- 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/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0231—Traffic management, e.g. flow control or congestion control based on communication conditions
- H04W28/0242—Determining whether packet losses are due to overload or to deterioration of radio communication conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
解决TCP连接的吞吐量非常容易受损于早期丢失的问题的技术实现围绕ssthresh的一对控制。第一控制是应用于TCP连接的头n个丢失事件的丢失谅解机制。一般而言,此机制防止新TCP连接过早地结束慢启动以及在窗口增长方面变得保守(否则这将由于早期的丢失而发生)。第二控制是在由第一控制处理的头n个丢失之后应用的自我衰减机制。此机制将ssthresh下降与cwnd分离,并且因此对于阻止否则将出现的急剧的ssthresh下降是有用的。自我衰减机制还使得TCP能够甚至在从丢失事件的快速恢复之后进入/继续是慢启动。
Description
技术领域
本申请一般地涉及通过网络的数据通信。
背景技术
传输控制协议(TCP)是核心因特网协议(TCP/IP套件的传输层)。它在应用程序和因特网协议(IP)之间提供通信服务。当应用期望使用IP在因特网上发送大块数据时,它向TCP发出单个请求,TCP接着控制IP通过因特网在计算机之间“以消息单元的形式”发送数据。当IP处理数据的实际分发时,TCP跟踪消息所被分割成的数据传输的单独单元(段),以便通过网络高效地路由。例如,当从Web服务器发送HTML文件时,该服务器的TCP软件层将文件的八位元组的序列分割为段,并将它们单独地转发到IP软件层,IP软件层通过添加包括目的地IP地址的标头,将每一TCP段封装为IP数据包。当目的地计算机上的客户端程序接收到段时,TCP层在将单独的段流处理到应用时,重新组合这些单独的段并确保它们被正确地排序而且无差错。
TCP使用拥塞控制策略。对于每一个连接,TCP维护拥塞窗口,该拥塞窗口限制可以在端到端传输中的未确认的数据包的总数。TCP使用被称为慢启动(slow start)的机制来在连接被初始化之后以及在超时之后增大拥塞窗口。它以两倍于最大段大小(MSS)的窗口开始。虽然初始速率低,但是增大的速率高,因为对于每个经确认的数据包,拥塞窗口增大1MSS,以使得拥塞窗口对于每个往返时间(RTT)有效地翻倍。当拥塞窗口超出阈值(ssthresh)时,算法进入拥塞避免状态。
TCP的被称为Reno的变体也实现所谓的快速恢复(fast recovery)。在此状态下,TCP重新传输通过三个重复ACK标志的漏失数据包,并在返回到拥塞避免之前等待整个传输窗口的确认。如果没有确认,TCP Reno经历超时并进入慢启动状态。由RFC 3782定义的TCP新Reno在TCP Reno的快速恢复阶段期间改善重新传输。在快速恢复期间,对于返回到TCP新Reno的每个重复ACK,来自拥塞窗口的末尾的新的未发送的数据包被发送,以使传输窗口被充满。在新Reno中,ssthresh从无限开始,并在每一丢失事件时被修改。在loss*ssthresh_decay_factor时它被设置为拥塞窗口。在此点之后,它可以线性地增长。
结果,TCP连接的吞吐量非常容易受损于早期的丢失,甚至几个连续的丢失。
发明内容
本公开内容提供对防止TCP太快地变得太保守的已知TCP实现(诸如新Reno)的增强。该技术在各种操作场景下都是有利的,诸如在高度可变的移动环境下或在需要积极地推送小对象时。
该技术通过提供围绕ssthresh的几个新的控制,解决TCP连接的吞吐量非常容易受损于早期的丢失的问题。第一控制是应用于TCP连接的头n个丢失事件的丢失谅解机制。一般而言,此机制防止新TCP连接过早地结束慢启动以及在窗口增长方面变得保守(否则这将由于早期的丢失而发生)。第二控制是在由第一控制处理的头n个丢失之后应用的自我衰减机制。此机制将ssthresh下降与cwnd分离,并且因此对于阻止否则将出现的急剧的ssthresh下降是有用的。自我衰减机制还使得TCP能够甚至在从丢失事件的快速恢复之后进入/继续是慢启动。
利用这些优化,拥塞窗口仍表现得如利用标准TCP实现它所表现的那样。然而,这些控制解决TCP回退的积极性,即通过当有数据包丢失时防止上限快速地减小。
前述内容概述了主题的一些更相关的特征。这些特征应该被理解为只是说明性的。通过以不同的方式应用所公开的主题或通过修改主题,可以实现许多其他有益的结果,如下文所描述的。
附图说明
为更加完整地理解本主题以及其优点,将参考下面的与各个附图一起进行的描述,其中:
图1是示出作为内容分发网络(CDN)配置的已知分布式计算机系统的框图;
图2是包括被配置成实现本公开内容的TCP-FTL算法的HTTP代理的代表性的CDN边缘机器配置;
图3是示出在代表性试验场景下的在6个丢失事件上的慢启动阶段的图;
图4比图3中的图更详细地示出CWND数据;
图5是示出代表性试验场景下的拥塞避免阶段的图。
具体实施方式
分布式计算机系统在现有技术中是已知的。一个这样的分布式计算机系统是通常由服务提供商运营和进行管理的“内容分发网络”或“CDN”。服务提供商通常代表使用该服务提供商的共享基础结构的第三方(客户)而提供内容分发服务。这一类型的分布式系统有时被称为“覆盖网络”,并且通常是指通过一个或多个网络链接起来的自治计算机的集合连同被设计为便利于各种服务(诸如内容分发、应用加速、或对外包的源站点基础结构的其他支持)的软件、系统、协议和技术。CDN服务提供商通常通过在客户门户中提供的、接着被部署到网络的数字属性(诸如网站)来提供服务分发。
图1示出了由此处的技术扩展的已知分布式计算机系统(如下面所描述的)。
在已知系统中,诸如图1所示出的,分布式计算机系统100被配置为CDN,并假设具有分布在因特网中的一组机器102a-n。通常,大多数机器是位于因特网的边缘附近的服务器,即位于最终用户接入网络处或与最终用户接入网络相邻。网络操作命令中心(NOCC)104管理系统中的各种机器的操作。第三方站点(诸如网站106)将内容(例如,HTML、嵌入的页对象、流式媒体、软件下载等等)的分发的负载卸载到分布式计算机系统100,具体来说,卸载到“边缘”服务器。通常,内容提供商通过对给定内容提供商域或子域使用别名而命名为由服务提供商的权威性的域名服务进行管理的域(例如通过DNS CNAME),来卸载他们的内容分发的负载。期望内容的最终用户可以被定向到分布式计算机系统,以更加可靠而有效地获取该内容。虽然未详细地显示,但是,分布式计算机系统还可以包括其他基础结构,诸如分布式数据收集系统108,该系统108用于从边缘服务器收集使用情况及其他数据,跨区域或区域集合地聚合该数据,并将该数据传递到其他后端系统110、112、114和116,以便利监视、记录、警告、计费、管理及其他操作和管理功能。分布式网络中介(agent)118监视网络以及服务器负载,并向DNS查询处理机制115提供网络、流量和负载数据,该机制115对于由CDN进行管理的内容域是权威性的。分布式数据传输机制120可以用来向边缘服务器分发控制信息(例如管理内容、便利负载平衡等等的元数据)。
如图2所示,给定机器200包括运行支持一个或多个应用206a-n的操作系统内核(诸如Linux或变种)204的商品硬件(例如Intel Pentium处理器)202。为便利内容分发服务,例如,给定机器通常运行一组应用,诸如HTTP(web)代理207、名称服务器208、本地监视进程210、分布式数据收集进程212。更一般而言,代理207是包括程序指令的软件,该指令被保存在存储器中,并根据需要由一个处理器(或多个处理器)执行。
对于流式媒体,根据所支持的媒体格式的需要,CDN机器通常包括一个或多个媒体服务器,诸如Windows Media Server(WMS)或Flash服务器。使用专用媒体服务器的另选方案使用HTTP作为传输协议。在美国公开No.20110173345中描述了用于基于HTTP的实况流和基于VOD的分发的体系结构。
CDN边缘服务器被配置为提供一个或多个扩展的内容分发特征,优选地在特定于域、特定于客户的基础上,优选地使用通过使用配置系统分发给边缘服务器的配置文件。给定配置文件优选地是基于XML的,并包括一组内容处理规则和指示,用于便利一个或多个高级内容处理特征。配置文件可以通过数据传输机制被分发到CDN边缘服务器。美国专利No.7,111,057示出了用于分发和管理边缘服务器内容控制信息的有用的基础结构,此边缘服务器控制信息及其他边缘服务器控制信息可以由CDN服务提供商本身提供,或(通过外部网等等)由操作源服务器的内容提供商客户提供。
由于CDN基础结构由多个第三方共享,因此,此处它有时被称为多承租人共享的基础结构。CDN进程可以位于在因特网上可公开地路由的节点上,位于或邻近移动网络中的节点,位于或邻近基于企业的专用网络中,或者位于它们的任何组合中。
可通过元数据配置的覆盖网络web代理(诸如图2中的代理207)此处有时被称为全局主机或GHost进程。
CDN可以包括存储子系统,诸如在美国专利No.7,472,178中所描述的,其公开内容以引用的方式并入本文中。
CDN可以操作服务器缓存层次结构,以提供客户内容的中间缓存;在美国专利No.7,376,716中描述了一个这样的缓存层次结构子系统,该公开内容以引用的方式并入本文中。
CDN可以以在美国公开No.20040093419中所描述的方式在客户端浏览器、边缘服务器和客户源服务器之间提供安全内容分发。如此文所描述的安全内容分发,一方面在客户端和边缘服务器进程之间、另一方面在边缘服务器进程和源服务器进程之间,来实施基于SSL的链路。这允许受SSL保护的网页和/或其组件通过边缘服务器被分发。
作为覆盖,CDN资源可以被用来便利企业数据中心(可以被私有地管理)和第三方软件即服务(SaaS)提供商之间的广域网(WAN)加速服务。
对于典型的基于HTTP的流处理使用场景,客户端通过DNS将名称(例如域名、主机名等等)解析为IP地址,并建立到与该地址相关联的服务器的TCP连接。一旦建立,客户端就发送对所期望的内容(例如媒体段)的HTTP GET请求。服务器在标准HTTP响应正文中以内容数据作出响应。连接保持打开,用于进一步的请求和响应。
覆盖网络服务器可以向移动设备提供内容,移动设备通常在移动或WiFi网络上操作。代表性的移动设备是执行客户端侧移动应用或包括web浏览器的智能电话或平板电脑,诸如或这样的设备包括CPU(中央处理单元)、计算机存储器(诸如RAM)以及驱动。设备软件包括操作系统(例如Apple iOS、AndroidTM等等)以及一般性的支持应用和实用程序。设备还可包括图形处理单元(GPU)。移动设备还包括被配置成接收来自用户的触摸的输入并将此信息发送到处理器的触摸感应设备或界面。触摸感应设备通常是触摸屏。移动设备包括合适的编程,以已知的方式便利基于手势的控制。
一般而言,移动设备是任何的无线客户端设备,例如手机、寻呼机、个人数字助理(PDA,例如带有GPRS NIC)、带有智能电话客户端的移动计算机等等。可以在其中实施该技术的其他移动设备包括能够使用无线协议以无线方式发送和接收数据的任何访问协议使能的设备(例如黑莓设备、基于AndroidTM的设备等等)。典型的无线协议是:WiFi、GSM/GPRS、CDMA或WiMax。这些协议实现ISO/OSI物理和数据链路层(层1&2),在该层上构建传统的网络堆栈,通过IP、TCP、SSL/TLS以及HTTP而完整。
在代表性的实施例中,移动设备是在GPRS(通用分组无线业务)上操作的蜂窝电话,GPRS是用于GSM网络的数据技术。除常规语音通信之外,给定的移动设备可以通过许多不同类型的消息传送技术(包括SMS(短消息服务)、增强的SMS(EMS)、多媒体消息(MMS)、电子邮件、WAP、寻呼或者其他已知或以后开发的无线数据格式)与另一个这样的设备进行通信。一般而言,如此处所使用的移动设备是3G(或下一代)兼容的设备,其包括用户标识模块(SIM)(携带特定于用户的信息的智能卡)、移动装备(例如无线电以及相关联的信号处理设备)、人机界面(MMI)以及到外部设备(例如计算机、PDA等等)的一个或多个接口。此处所公开的技术不限于通过使用特定的访问协议的移动设备来使用。移动设备通常还具有对于诸如Wi-Fi之类的无线局域网(WLAN)技术的支持。WLAN基于IEEE 802.11标准。
客户端不限于移动设备,因为它可以是常规台式机、膝上型计算机或其他运行能够连接因特网或适配到因特网的web浏览器或任何其他应用的可访问因特网的机器。
现在将以上面的内容作为背景,描述本公开内容的主题。
防止TCP太快地变得太保守
只为了说明,下面假设计算机器中的TCP实现,该计算机器包括硬件(处理器、计算机存储器)、实现TCP的操作系统(例如Linux)以及包括诸如HTTP代理之类的应用的应用层。例如并如上文参考图1所描述的,HTTP代理可以是内容分发网络(CDN)边缘服务器,该边缘服务器可配置以提供一个或多个内容分发特征,这种配置优选地是按特定于域、特定于消费者的基础,优选地使用配置(或所谓的元数据)文件,这些配置文件通过使用配置系统被分发到边缘服务器。
上文所描述的操作环境并非旨在是限制性的,因为此处的技术可以在执行TCP、TCP Reno、TCP新Reno或任何其他TCP变体的任何计算机器中实现。
如已知的,TCP拥塞控制算法按如下方式工作。
初始地,拥塞窗口=CWND_INIT,ssthresh基本上是无穷大。当拥塞窗口<ssthresh时,TCP处于慢启动阶段,对于每个接收到的ACK,拥塞窗口增大1个数据包。一旦拥塞窗口>=ssthresh,则TCP转换到拥塞避免阶段,对于每个接收到的ACK,拥塞窗口增大1/cwnd。单个丢失事件将使TCP从慢启动转换到拥塞避免。丢失恢复可以以两种方式发生:通过三次重复或者超时。在三次重复ACK之后,拥塞窗口=ssthresh=cwnd/2。在超时之后,ssthresh=cwnd/2,并且cwnd=CWND_INIT。
根据此公开内容,假设有可以被建立的最小ssthresh值(被称为ssthresh_min)。给定此值,两(2)个新参数则可以与ssthresh相关联:所谓的“丢失谅解”以及“自我衰减”。如此处所使用的,被增强以使用这些参数(以及如下面所描述的它们相关联的机制)的TCP实现有时被称为“TCP-FTL”。将看出,这两个参数都控制ssthresh响应于丢失事件而如何衰减。在高级别,它们两者都通过将ssthresh的衰减与cwnd的衰减分离来工作。作为这些参数的结果,有两个对TCP的改变:(a)与标准TCP相比,慢的ssthresh衰减,(b)使用这两个参数的TCP与标准TCP不同,可以甚至在通过快速恢复所恢复的一个或多个丢失事件之后继续/进入慢启动。
下面将描述这些机制中的每一个。
丢失谅解
丢失谅解机制应用于TCP连接的头n个丢失事件。一般而言,该机制防止新TCP连接由于某些早期的丢失而过早地结束慢启动并在窗口增长方面变得保守。该机制可以用于例如丢失并不总是拥塞的指示的移动环境中。
该机制可以通过使用下面的在服务器中提供的元数据控制来启动:
ssthresh_initial_loss_forgiveness_factor——当设置为n时,TCP将对头n个丢失谅解。并非像新Reno那样下降ssthresh,当使用此机制时,ssthresh在n个丢失上使用凹形指数函数,从无穷大下降到ssthresh_min。此因数确保没有连接由于偶然性丢失或以其他方式在连接的寿命中太早地陷入低的ssthresh状态。优选地,因数被设置为给定值的因素范围(例如,1-10),表示“谅解”的量。请注意,谅解应用于ssthresh减小,而不应用于cwnd减小。如上文所描述的,cwnd增长仍由cwnd是处于慢启动阶段还是拥塞避免阶段的标准TCP逻辑确定。与标准TCP的差异是,利用此参数,TCP可以甚至在丢失事件由快速恢复恢复之后进入/继续处于慢启动。
此参数允许TCP对于初始丢失更加谅解。它允许指定多少丢失将被谅解,以便ssthresh不会积极地下降。如上文所指出的,当实现此控制时,对于头n个丢失,ssthresh使用凹形指数函数从无穷大下降到ssthresh_min。
自我衰减
自我衰减机制在由丢失谅解机制处理的头n个丢失以后开始发挥作用。此参数的引入允许将ssthresh下降与cwnd下降分离,并对阻止丢失谅解之后的急剧的ssthresh下降有用。类似于丢失谅解,自我衰减只改变ssthresh衰减,并且它使cwnd增长/衰减由标准TCP机制控制。同样类似于丢失谅解,使用此参数的TCP甚至在从丢失事件快速恢复之后可以进入/继续是慢启动。
在一个实施例中,该机制可以使用在服务器中提供的控制来启动:
ssthresh_self_decay_factor——由此因数来控制初始谅解之后的ssthresh的下降。在每个丢失事件时,ssthresh被设置为:
max(current ssthresh*ssthresh_self_decay_factor,ssthresh_min)
此机制确保当有少量的连续的丢失事件(更有可能在移动环境中发生)时,ssthresh不会显著地下降到ssthresh_min。该因数具有从0-100%的允许的值的范围。
此因数将cwnd衰减与ssthresh衰减分离。它限制ssthresh可以如何快地下降,并维护历史ssthresh参数的存储器(memory)。
在另选实施例中,该机制可以通过应用中的、操作系统等等中的配置来启动。
算法
下面提供了代表性的算法(2012,Akamai Technologies)。在此示例中,lft是指ssthresh_initial_loss_forgiveness_factor。ssthresh_decay_factor是应用于cwnd的指数式衰减因数。项selfdecayfactor是指ssthresh_self_decay_factor。
在初始化时,确定了下面关系:
ssthreshdrop=ssthreshmax,
ssthresh=ssthresmax,以及
lff=e^[{ln(1/ssthreshmax)}/lft。
在直到lft个丢失的每一丢失事件时,实施下面的关系:
ssthreshdrop=ssthreshdrop/lff,
ssthresh=ssthresh-ssthreshdrop,以及
cwnd=cwnd(ssthreshdecayfactor)。
该算法输出cwnd和ssthresh的值。参数ssthresh具有1或ssthresh_min(如果指定的话)的下限;cwnd具有1的下限。常数ssthreshmax是ssthresh的最大值。
测试数据
覆盖网络web代理(上文所描述的ghost进程)和Linux内核的版本被配置成在测试室验室中支持TCP-FTL。针对具有使用测试条件所生成的2%数据包丢失的大文件下载来收集数据。TCP-FTL参数按如下方式在ghost元数据中设置:
ssthresh_min=10
ssthresh_loss_forgivness_factor=6
ssthresh_self_decay_factor=95%,以及
ssthresh_decay_factor=80%.
图3和图4详细示出了慢启动阶段。在图3的图中可以看出,ssthresh在六(6)个丢失事件上以凹形指数曲线朝ssthresh_min下降。在图4的图(是图3中的图的更加详细(放大)的视图)中也可以看出,cwnd在每个丢失事件时确实下降;更确切地说,由于ssthresh十分高,cwnd继续指数地增长。这通过初始丢失谅解阶段扩展了指数慢启动阶段。图5示出了在初始丢失谅解之后的拥塞避免阶段。在测试场景下,ssthresh不降低到10之下,并且一旦所生成的丢失结束,cwnd和ssthresh两者都线性地增长。如此,测试数据确定TCP-FTL技术实现其防止TCP太快地变得太保守的目标。
在代表性的实现中,本功能以软件、作为由处理器执行的计算机程序指令来实现。
更一般而言,此处所描述的技术提供使用一起便利或提供上文所描述的功能的一个或多个计算相关的实体(系统、机器、进程、程序、库、函数等等)的集合来被提供。在典型的实现中,软件在其上面执行的代表性的机器包括商用硬件、操作系统、应用运行时环境、以及提供给定系统或子系统的功能的应用或进程的集合以及相关联的数据。如上文所描述的,功能可以在独立机器中或跨分布式的机器集合来实现。
尽管上文描述了由本发明的某些实施例执行的操作的特定顺序,但是应该理解,这样的顺序是示例性的,因为另选实施例可以以不同的顺序执行操作,组合某些操作,重叠某些操作等等。说明书中对给定实施例的引用表示所描述的实施例可包括特定特征、结构或特性,但是每一个实施例可以不一定都包括该特定特征、结构或特性。
尽管在方法或处理的上下文中描述了所公开的主题,但是本公开内容还涉及用于执行此处操作的设备。此设备可以为所需的用途专门地构造,或者其可以包括由存储在计算机中的计算机程序选择性地激活和/或重新配置的通用计算机。这样的计算机程序可以存储在计算机可读存储介质上,诸如但不仅限于任何类型的盘(包括光盘、CD-ROM以及磁光盘)、只读存储器(ROM)、随机存取存储器(RAM)、磁卡或光卡、或者适于存储电子指令、并且每个都耦合到计算机系统总线的任何类型的介质。
尽管分开地描述了系统的给定组件,但是本领域普通技术人员将理解,一些功能还可以在给定指令、程序序列、代码部分等等中组合或共享。
优选地,功能以操作系统和/或应用层解决方案来实现,虽然这不是限制。
对可以实现本公开内容的TCP连接控制功能的计算实体的类型没有限制。任何计算实体(系统、机器、设备、程序、进程、实用程序等等)都可以提供此操作。
不要求所描述的两个TCP优化都被实现。可以分开地实现一个或两者。
如上文所指出的,可以实现此处的技术以便利通过移动网络的内容分发。
Claims (8)
1.一种通过传输控制协议TCP提供对象分发的设备,TCP维护拥塞窗口cwnd,拥塞窗口限制能在所述设备和发出请求的客户端之间处于传输中的未确认的数据包的总数,TCP对于给定TCP连接提供慢启动状态以及在拥塞窗口超出拥塞窗口阈值ssthresh时所进入的拥塞避免状态,拥塞窗口阈值ssthresh具有初始启动值并在每一丢失事件之后通过将ssthresh减小到最小值ssthresh_min的衰减因数ssthresh_self-decay_factor来被修改,所述设备包括:
处理器;
具有包括TCP支持的内核的操作系统;
保存计算机程序指令的计算机存储器,所述计算机程序指令包括:
控制在数量能配置的n个数据包丢失事件中的每一个时ssthresh从初始启动值衰减的速率的第一程序代码,其中,否则给定的数据包丢失事件将结束慢启动状态并将所述TCP连接转换到所述拥塞避免状态,第一程序代码进行操作以在n个数据包丢失事件中的每一个上使用凹形指数函数来使ssthresh从初始启动值下降到ssthresh_min值,其中,所述凹形指数函数对于每一个丢失事件,通过下列公式来表达:ssthreshdrop=ssthreshdrop/lff,以及ssthresh=ssthresh-ssthreshdrop,其中,在初始化时,常数lff=exp[{ln(1/ssthreshmax)}/lft],lft是ssthresh初始丢失谅解因数,ssthreshdrop被设置为等于ssthreshmax,常数ssthreshmax是ssthresh的最大值;以及
遵从第一程序代码对所述数量能配置的n个数据包丢失事件的操作来控制ssthresh衰减的速率以防止ssthresh太快地下降到ssthresh_min值的第二程序代码。
2.如权利要求1所述的设备,其中,第二程序代码在每一个数据包丢失事件时进行操作,以将ssthresh设置为max(当前ssthresh×ssthresh_self-decay_factor,ssthresh_min),以防止ssthresh太快地下降到ssthresh_min。
3.如权利要求1所述的设备,其中,cwnd增长和衰减不受第一程序代码或第二程序代码的操作的影响。
4.如权利要求1所述的设备,其中,所述设备是覆盖网络中的边缘服务器。
5.如权利要求4所述的设备,其中,所述发出请求的客户端是在移动网络中操作的移动设备。
6.一种包括对TCP拥塞窗口阈值ssthresh如何响应于一个或多个丢失事件而衰减进行控制的非暂态计算机程序的计算机可读存储介质,所述计算机程序在被执行时使计算机器执行以下操作:
在数量能配置的n个数据包丢失事件中的每一个时控制ssthresh从初始启动值衰减的速率,其中否则给定的数据包丢失事件将结束慢启动状态并将TCP连接转换到拥塞避免状态;在n个数据包丢失事件中的每一个上使用凹形指数函数来使ssthresh从初始启动值下降到最小值ssthresh_min,其中,所述凹形指数函数对于每一个丢失事件,通过下列公式来表达:ssthreshdrop=ssthreshdrop/lff,以及ssthresh=ssthresh-ssthreshdrop,其中,在初始化时,常数lff=exp[{ln(1/ssthreshmax)}/lft],lft是ssthresh初始丢失谅解因数,ssthreshdrop被设置为等于ssthreshmax,常数ssthreshmax是ssthresh的最大值;以及
对所述数量能配置的n个数据包丢失事件控制ssthresh衰减的速率以防止ssthresh太快地下降到ssthresh_min值。
7.如权利要求6所述的计算机可读存储介质,其中,在每一个数据包丢失事件时,ssthresh被设置为max(当前ssthresh×ssthresh_self-decay_factor,ssthresh_min),以防止ssthresh太快地下降到ssthresh_min,其中ssthresh_self-decay_factor是衰减因数。
8.如权利要求6所述的计算机可读存储介质,其中,TCP连接的拥塞窗口增长和衰减不受操作的影响。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261693526P | 2012-08-27 | 2012-08-27 | |
US61/693,526 | 2012-08-27 | ||
US14/011,021 US9736072B2 (en) | 2012-08-27 | 2013-08-27 | Preventing TCP from becoming too conservative too quickly |
US14/011,021 | 2013-08-27 | ||
PCT/US2013/056788 WO2014035960A1 (en) | 2012-08-27 | 2013-08-27 | Preventing tcp from becoming too conservative too quickly |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104685486A CN104685486A (zh) | 2015-06-03 |
CN104685486B true CN104685486B (zh) | 2018-10-09 |
Family
ID=50147920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380050177.6A Expired - Fee Related CN104685486B (zh) | 2012-08-27 | 2013-08-27 | 防止tcp太快地变得太保守 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9736072B2 (zh) |
EP (1) | EP2888671A4 (zh) |
CN (1) | CN104685486B (zh) |
WO (1) | WO2014035960A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9450804B2 (en) * | 2009-09-03 | 2016-09-20 | At&T Intellectual Property I, L.P. | Anycast aware transport for content distribution networks |
WO2016134740A1 (en) * | 2015-02-23 | 2016-09-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Supporting delivery of data packets using transmission control protocol in a wireless communication network |
CN106059950B (zh) * | 2016-05-25 | 2019-03-08 | 四川大学 | 一种基于scps-tp的自适应网络拥塞控制方法 |
CN112653635A (zh) * | 2020-12-23 | 2021-04-13 | 百果园技术(新加坡)有限公司 | 一种拥塞控制算法的改进方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1211864A2 (en) * | 2000-11-22 | 2002-06-05 | International Business Machines Corporation | Methodology for improving TCP throughput over lossy communication links |
CN1556629A (zh) * | 2004-01-06 | 2004-12-22 | �����ʵ��ѧ | 通信网络中调整拥塞窗口的方法 |
US7127310B1 (en) * | 2002-08-30 | 2006-10-24 | Advanced Micro Devices, Inc. | Method and apparatus for determining cost functions using parameterized components |
US7149797B1 (en) * | 2001-04-02 | 2006-12-12 | Akamai Technologies, Inc. | Content delivery network service provider (CDNSP)-managed content delivery network (CDN) for network service provider (NSP) |
US7263067B2 (en) * | 2003-07-15 | 2007-08-28 | Nokia Siemans Networks Oy | Method and apparatus for accelerating throughput in a wireless or other telecommunication system |
US7428595B2 (en) * | 2002-09-30 | 2008-09-23 | Sharp Laboratories Of America, Inc. | System and method for streaming TCP messages in an enterprise network |
US7860007B2 (en) * | 2006-07-28 | 2010-12-28 | Deutsche Telekom Ag | Method and communication system for optimizing the throughput of a TCP flow in a wireless network |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7111057B1 (en) | 2000-10-31 | 2006-09-19 | Akamai Technologies, Inc. | Method and system for purging content from a content delivery network |
US20020143798A1 (en) | 2001-04-02 | 2002-10-03 | Akamai Technologies, Inc. | Highly available distributed storage system for internet content with storage site redirection |
US6744730B2 (en) * | 2001-11-30 | 2004-06-01 | Nokia Corporation | Throughput enhancement after interruption |
US7133905B2 (en) | 2002-04-09 | 2006-11-07 | Akamai Technologies, Inc. | Method and system for tiered distribution in a content delivery network |
US20040093419A1 (en) | 2002-10-23 | 2004-05-13 | Weihl William E. | Method and system for secure content delivery |
US20070223395A1 (en) * | 2005-11-23 | 2007-09-27 | Ist International, Inc. | Methods and apparatus for optimizing a TCP session for a wireless network |
US20070223492A1 (en) * | 2005-11-23 | 2007-09-27 | Ist International, Inc. | Methods and apparatus for optimizing a TCP session for a wireless network |
JP4778453B2 (ja) * | 2007-01-24 | 2011-09-21 | 株式会社エヌ・ティ・ティ・ドコモ | 通信端末、輻輳制御方法および輻輳制御プログラム |
WO2011022405A2 (en) | 2009-08-17 | 2011-02-24 | Akamai Technologies, Inc. | Method and system for http-based stream delivery |
US8625622B2 (en) * | 2009-12-25 | 2014-01-07 | Cisco Technology, Inc. | Increasing transmission rate to a remote device in response to attributing information loss as not being a result of network congestion |
CN103181148B (zh) * | 2010-11-08 | 2017-05-31 | 瑞典爱立信有限公司 | 移动网络中的业务加速 |
-
2013
- 2013-08-27 EP EP13832702.8A patent/EP2888671A4/en not_active Withdrawn
- 2013-08-27 US US14/011,021 patent/US9736072B2/en active Active
- 2013-08-27 WO PCT/US2013/056788 patent/WO2014035960A1/en active Application Filing
- 2013-08-27 CN CN201380050177.6A patent/CN104685486B/zh not_active Expired - Fee Related
-
2017
- 2017-08-14 US US15/675,816 patent/US10700977B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1211864A2 (en) * | 2000-11-22 | 2002-06-05 | International Business Machines Corporation | Methodology for improving TCP throughput over lossy communication links |
US7149797B1 (en) * | 2001-04-02 | 2006-12-12 | Akamai Technologies, Inc. | Content delivery network service provider (CDNSP)-managed content delivery network (CDN) for network service provider (NSP) |
US7127310B1 (en) * | 2002-08-30 | 2006-10-24 | Advanced Micro Devices, Inc. | Method and apparatus for determining cost functions using parameterized components |
US7428595B2 (en) * | 2002-09-30 | 2008-09-23 | Sharp Laboratories Of America, Inc. | System and method for streaming TCP messages in an enterprise network |
US7263067B2 (en) * | 2003-07-15 | 2007-08-28 | Nokia Siemans Networks Oy | Method and apparatus for accelerating throughput in a wireless or other telecommunication system |
CN1556629A (zh) * | 2004-01-06 | 2004-12-22 | �����ʵ��ѧ | 通信网络中调整拥塞窗口的方法 |
US7860007B2 (en) * | 2006-07-28 | 2010-12-28 | Deutsche Telekom Ag | Method and communication system for optimizing the throughput of a TCP flow in a wireless network |
Non-Patent Citations (1)
Title |
---|
TCP/IP拥塞控制研究;罗万明等;《计算机学报》;20010131;第24卷(第1期);第1-18页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104685486A (zh) | 2015-06-03 |
EP2888671A1 (en) | 2015-07-01 |
US20170346738A1 (en) | 2017-11-30 |
US10700977B2 (en) | 2020-06-30 |
US9736072B2 (en) | 2017-08-15 |
WO2014035960A1 (en) | 2014-03-06 |
US20140056136A1 (en) | 2014-02-27 |
EP2888671A4 (en) | 2016-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10411956B2 (en) | Enabling planned upgrade/downgrade of network devices without impacting network sessions | |
US11115481B2 (en) | Transmission control of protocol state exchange for dynamic stateful service insertion | |
US20180069764A1 (en) | Modeling network signaling in a mobile network | |
US9769680B2 (en) | Modeling network signaling in a mobile network based on elapsed time | |
US20190155665A1 (en) | Methods and systems for providing application programming interfaces and application programming interface extensions to third party applications for optimizing and minimizing application traffic | |
US20170310596A1 (en) | Load distribution in data networks | |
US9722862B2 (en) | Computer system to support failover in an event stream processing system | |
KR101362469B1 (ko) | 컨텍스트-기반 규칙들을 이용하여 비신뢰적인 네트워크들 상에서 트랜잭션들과 데이터를 스위칭하기 위한 적응적 게이트웨이 | |
US20150312102A1 (en) | Policy management for signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols | |
CN108701051A (zh) | 实时事务一致的变更通知 | |
CN104685486B (zh) | 防止tcp太快地变得太保守 | |
US20190205056A1 (en) | Transparent data movement between a private cloud and storage ecosystem and another storage system | |
US20120096080A1 (en) | Method for activating and deactivating client-side services from a remote server | |
CN105516221A (zh) | 信息推送系统及方法 | |
EP3582116A1 (en) | Webpage loading method, webpage loading system, and server | |
US20180091631A1 (en) | Systems and methods for writing prioritized http/2 data to a socket buffer | |
CN111917838B (zh) | 基于微服务的处理方法及装置、存储介质、电子装置 | |
EP3886396B1 (en) | Methods for dynamically controlling transmission control protocol push functionality and devices thereof | |
US9021109B1 (en) | Controlling requests through message headers | |
AU2023203816A1 (en) | Attack mitigation in a packet-switched network | |
US11405261B1 (en) | Optimizing bandwidth utilization when exporting telemetry data from a network device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181009 Termination date: 20200827 |
|
CF01 | Termination of patent right due to non-payment of annual fee |