专利名称:用于tcp连接的增强确认定步设备和方法
背景技术:
1.发明领域本发明总的涉及网络,更具体地,涉及用于TCP连接的增强确认定步设备和方法。
2.相关技术描述今天,一个组织的计算机网络已成为它的循环系统。组织把台式工作站,服务器和主站组合成局域网(LAN)团体。这些局域网被连接到其它局域网和广域网(WAN)。成对的系统在需要通信时,必须能够通信,而不管它们位于网络的什么地方,这已成为逐日运行所必须的。
在早先的网络计算年代期间,专有的联网协议就是标准。然而,由国际标准化组织(ISO)引入的开放系统互联参考模型的发展导致互联工作给人深刻印象的程度,它通常允许最终用户的应用在网络的系统之间工作得很好。实施方案是根据由来自几十个计算机经销商、硬件部件经销商和独立的软件公司的志愿者提供的书面标准的。
在过去十年期间,LAN一直在激增。这引起必须由网络管理者解决的、如何使得阻塞最小化和使得通过量最佳化的重现的问题。以前的解决办法是仅仅把局域网分成多个较小的网络,服务于较少的人群。这些段通过桥连接,形成单个局域网,业务是对于每个段本地地隔离开的。
新的网络类型和广域网的发展产生对路由器的需要。例如,互联网是由网关(有时被称为路由器)连接的一组网络。加上过滤和防火墙能力的路由器,提供对广播域的更多的控制,限制广播业务和增强保密性。由于嵌入的智能,路由器能够选择通过网络的最佳路径。这种附加智能,当可能时,也允许路由器构建到目的地的冗余路径。无论如何,由嵌入的智能提供的最佳路径选择能力的附加复杂性增加了路由器的端口成本和造成很大的等待时间开销。包括分布式客户/服务器数据业务的共享媒体的网络,扩展的用户人数,以及更复杂的应用引起新的带宽瓶颈。这样的阻塞产生不可预测的网络响应时间,不能支持对延时敏感的应用,以及造成较高的网络故障率。
在现代网络中阻塞控制逐渐成为重要的问题。互联网应用(诸如,万维网(WWW))的飞速发展将当前的技术推向它的极限,显然,需要更快速的输送和改进的阻塞控制机制。结果,许多设备经销商和服务提供者转向高级联网技术,以便提供对涉及的复杂业务质量(QoS)管理问题的适当的解决方案。实例包括异步传送模式(ATM)网络和出现的IP网络业务。无论如何,在这些较新的变化例内仍旧有必要支持现有传统IP协议的主机。具体地,普遍存在的TCP传输层协议一直是由网络浏览器、文件/电子邮件传送业务广泛使用的、IP网络中的主力传输协议。
传输控制协议(TCP)是TCP/IP协议家族的一部分,随着互联网的成功已获得世界最重要数据通信协议之一的位置。TCP提供在使用TCP/IP协议的装置之间的可靠的数据连接。TCP工作在IP的上部,被使用来把数据打包成数据分组,被称为数据包,以及用于在网络上传输。
互联网协议(IP)是网络层协议,通过互联网路由数据。互联网协议被设计成适应由不同的经销商构建的主机与路由器的使用,包括增长的各种各样的增多的网络类型,使得网络能够增长,而不中断服务器,以及支持更高层的会话和面向消息的业务。IP网络层允许把局域网“岛”集成在一起。
然而,IP不包含任何流控或重传机制。这就是为什么TCP典型地被使用于它的上部的原因。具体地,TCP使用确认,用于检测丢失的数据分组。TCP/IP网络在当今多半是所有网络中最重要的网络,以及运行在几个(物理的)网络的上部,诸如上面提到的ATM网络。这些基础网络可以提供关于网络的条件和业务的信息,它们可被使用来提供关于阻塞的反馈。
为了管理阻塞,TCP使用滑动窗机制与反应的阻塞控制来调节发送者的窗口尺寸。该协议调节它的传输行为,偶然返回从远端接收机端发送的确认(ACK)分组。
然而,TCP的问题在于它的阻塞控制机制相当慢。大多数TCP实施方案使用非常粗略的定时器来测量“超时”,即,大约200-500ms的粒度。而且,大多数TCP实施方案依靠ACK延时或分组丢弃,来检测阻塞。结果,过量的源窗口的减小可导致大量的带宽浪费,因为TCP源被迫使重新启动它的传输窗口。而且,许多研究表明,TCP在ATM网络上,特别是对于较大的WAN型传播延时不能很好地运行。
为了克服TCP的以上的缺点,必须通过在TCP反馈环中引入某些更快的阻塞指示机制,使得网络阻塞的机会最小化。然而,为了确保与当前的版本兼容性以及加速市场的接受性,任何这样的企图必须防止改变实际的TCP协议或它的实施方案。
根据这些方面,提出了多种ACK定步方案。这些ACK定步方案基本上调制TCP ACK分组的间距,限制在阻塞期间源的发送。ACK定步很适合于高速(子)网络的边界,诸如ATM、千兆比特IP(即,光WDM)、或卫星。实际上,这种技术在接入节点处执行TCP业务整型。这样的方法对于先进的ATM数据业务特别有利,即,下层的ABR流控或按连接排队,其中阻塞趋向于在ATM网络的外围产生,即,在接入节点处。如果前向链路被阻塞,正如某些阻塞度量表示的,ACK分组在被发送到源以前适当地被延时。
另一些作者提出修正ACK分组本身的域,即接收器窗口尺寸,来改进性能。然而,这样的方案或者需要精确的路程来回的延时测量,或者不能保持紧密的缓存控制。而且,重写ACK分组域将需要昂贵的“检验和”的重新计算。
虽然ACK定步是控制TCP源行为的有效的方式,但许多建议的方案或者太复杂,和/或对于网络参量设置过分敏感。由于研究表明,TCP的通过量和公平度在许多高速度网络情景下是很低的,所以必须设计有效的、可行的方案来提高它的性能。虽然修改协议的功能本身也是一个任选项,这不一定是在短到中等的时间中可行的替换例。在这方面ACK定步方法可以给出很大的好处。
可以看到,需要一种更鲁棒的、全面的、用于ACK定步的方案。
也可以看到,需要可以提供高的通过量和精确的带宽公平度的ACK定步。
还可以看到,需要可以很大地减小TCP缓存延时的、和可应用于很宽范围的网络情形的ACK定步。
也可以看到,需要可以提供更快速的阻塞指示而不用修改TCP协议的ACK定步。
发明概要为了克服上述的现有技术中的限制,以及为了克服在阅读和了解本技术说明后更清晰的其它限制,本发明揭示了用于TCP连接的增强确认定步设备和方法。
本发明通过提供一种更鲁棒的、全面的、用于ACK定步的方案,而解决上述的问题。按照本发明的ACK定步提供高的通过量和精确的带宽公平度。而且,ACK定步很大地减小TCP缓冲延时,以及可应用于很大范围的网络情形。因此,ACK定步提供更快速的阻塞指示而不用修改TCP协议。
按照本发明的原理的系统包括链路层实体,用于接收来自源的数据分组和把数据分组转发到前向数据链路,链路层实体把接收的数据分组存储在数据分组缓存器中,直至数据分组离开链路层实体和被转发到前向数据链路为止;以及确认定步设备,被耦合到链路层实体,用于响应于接收到来自源的数据分组,定步要被发送到源的ACK分组。确认定步设备还包括确认控制单元,用于监视在链路层实体处的阻塞和根据在链路层实体处是否发生阻塞,产生控制信号,用于控制确认分组的处理;确认分组缓存器,被耦合到确认控制单元,用于存储从确认控制单元接收的确认分组;以及调度器,被耦合到确认控制单元和确认缓存器,调度器根据由确认控制单元产生的控制信号把确认分组释放给源。
按照本发明的原理的系统的其它实施例可以包括替换的或任选的附加方面。本发明的一个这样的方面是,调度器根据排队策略选择释放的ACK分组。
本发明的另一个方面是,排队策略包括当使用集中ACK分组缓存时发送排头的ACK分组。
本发明的另一个方面是,排队策略包括当使用按类别或按流的ACK分组缓存时,用于选择在ACK分组缓存器中的要释放的ACK分组的加权循环(WRR)处理过程。
本发明的另一个方面是,加权循环(WRR)处理过程使用与TCP最大段尺寸(MSS)成反比的加权因子,该加权因子用于加权对释放的ACK分组的选择,以便减少对较小的MSS流的偏斜。
本发明的另一个方面是,排队策略包括当使用按类别或按流的ACK分组缓存时,用于选择在ACK分组缓存器中的要释放的ACK分组的公平排队(FQ)处理过程。
本发明的另一个方面是,确认控制单元还包括ACK分组定步处理器,ACK分组定步处理器通过使用ACK分组到达处理器和数据分组离开处理器,而产生控制信号,用于控制确认分组的处理。
本发明的另一个方面是,ACK分组到达处理器通过检验在链路层实体处的阻塞和判决是把ACK分组保存在ACK分组缓存器中,还是直接把ACK分组发送给源而不把ACK分组缓存在ACK分组缓存器中,而控制ACK分组到ACK分组缓存器的处理。
本发明的另一个方面是,ACK分组到达处理器通过确定链路层实体是否阻塞,确定ACK分组缓存器是否空,如果链路层实体被阻塞或ACK分组缓存器不是空的,则把ACK分组存储在缓存器中,以及如果ACK分组缓存器是空的且链路层实体没有阻塞,则把ACK分组转发给源,而决定是把ACK分组保存在ACK分组缓存器中,还是直接把ACK分组发送给源而不把ACK分组缓存在ACK分组缓存器中。
本发明的另一个方面是,如果ACK分组是在阻塞期间要被缓存在ACK分组缓存器中的第一ACK分组,则ACK分组被存储在ACK分组缓存器中,以及被调度器选通送出。
本发明的另一个方面是,如果ACK分组是在阻塞期间要被缓存在ACK分组缓存器中的第一ACK分组,则ACK控制单元增加在从ACK分组缓存器中被选通送出的ACK分组之间的间隔。
本发明的另一个方面是,如果在链路层实体中的阻塞已消除,则数据分组离开处理器减小在从ACK分组缓存器释放的ACK分组之间的间隔。
具体在本发明的附属权利要求中,指出表征本发明的新颖性的这些和各个其它优点和特性,以及它们形成本发明的一部分。然而,为了更好地了解本发明、它的优点、和通过它的使用达到的目的,应当参考形成本发明的另一个部分的附图,以及参考附带的说明性材料,其中说明和描述了按照本发明的设备的具体的例子。
附图简述现在参照附图,其中相同的参考数字代表相应的部件
图1显示包括七层的OSI模型;
图2显示互联网协议网络层与OSI七层模型的比较;图3显示分组流和TCP滑动窗;图4显示其中接收机把确认提供给源以及接收来自源的数据的网络系统;图5显示按照本发明的增强的ACK定步设备;图6显示按照本发明的、用于TCP ACK到达和数据离开660方法的伪代码;图7显示用于使用两个滞后排队门限值,QL和QH,的阻塞状态方法的伪代码;以及图8显示按照本发明的、用于增强的TCP ACK到达和ATM信元离开方法的伪代码。
发明详细描述在以下的示例性实施例的说明中,参照构成本发明的一部分的附图,图上以说明的方式显示其中可以实施本发明的具体的实施例。应当看到,其它实施例也可被利用,因为可以作出结构上的改变,而不背离本发明的范围。
本发明提供用于TCP连接的增强确认定步设备和方法。提供了更鲁棒的、全面的、用于ACK定步的方案,它允许提供高的通过量和精确的带宽适合度。而且,ACK定步很大地减小TCP缓冲延时,和可应用于很大范围的网络情形。因此,按照本发明的ACK定步提供更快速的阻塞指示而不用修改TCP协议。
图1显示包括七层的OSI模型100,包括应用层110,表示层120,会话层130,传输层140,网络层150,数据链路层160,和物理层170。OSI模型100由国际标准化组织(ISO)提出,以及在标题为“TheOSI Reference Model(OSI参考模型)”的ISO 7498中被描述,该标准在此引用,以供参考。
OSI模型的每个层执行特定的数据通信任务,为该层前面的层进行业务(例如,网络层为传输层提供业务)。处理过程可被比喻为在信被通过邮政系统发送以前把信放置在一系列的信封中。每个后续的信封把另一个层的处理或对于处理事务必须的开销信息加进来。所有的信封放在一起有助于确保把信送到正确的地址,且所接收的消息与发送的消息相同。一旦全部数据包在目的地处被接收,信封被一个一个地打开,直至信本身呈现为正好是所写的内容为止。
然而,在数据通信事务中,每个最终用户不知道透明地执行它们的功能的信封。例如,自动银行出纳事务可以通过多层OSI系统被跟踪。一个多层系统(开放系统A)提供作为对于尝试该事务的个人的接口的应用层,而另一个多层系统(开放系统B)提供与银行的主机上的应用软件接口的应用层。在开放系统A和B中的相应的层被称为对等层,以及与对等协议通信。这些对等协议提供对于用户的应用的通信支持,执行与事务有关的任务,诸如记入借方帐户,发出货币,或记入贷方帐户。
然而,在两个开放系统(开放系统A和开放系统B)之间的实际数据流在一个开放系统中(开放系统A,源)从上部180到底部182,穿过通信线路,然后在另一个开放系统中(开放系统B,目的地)从底部182到上部180。每次当用户应用数据从一个层向下传送到同一个系统的另一层,会加上更多的处理信息。当该信息在另一个系统中被对等层去除和处理时,它使得各种任务(纠错,流控等)被执行。
ISO具体地规定全部七层,它们在下面按数据离开源时的实际流动顺序被概括第7层,应用层110,为用户应用(例如从自动银行出纳机器取钱)提供与OSI应用层接口。该OSI应用层110在另一个开放系统,银行主计算机中,具有相应的对等层。
第6层,表示层120,确信用户信息(从你的支票帐户支取$50现金的请求)是以目的地开放系统可理解的格式(即,1和0的句法或序列)。
第5层,会话层130,提供在开放系统之间的数据的同步控制(即,确保传送通过源的第5层的比特配置与传送通过目的地的第5层的比特配置相同)。
第4层,传输层140,确保在两个开放系统之间建立端到端连接,以及该连接经常是可靠的(即,在目的地的第4层确认对于连接的请求,也就是说,它已从源的第4层接收到)。
第3层,网络层150,提供通过网络的数据路由和中继(特别是,在外出的一侧在第3层上把地址放置在信封上,然后由目的地的第3层读出)。
第2层,数据链路层160,包括当消息向下传送通过在一个开放系统中的这一层以及向上通过另一个开放系统中的对等层时数据的流控。
第1层,物理接口层170,包括数据通信设备借以机械连接和电气连接的方式,以及数据借以从源处的第1层到目的地处的第1层移动通过那些物理连接的装置。
图2是显示其中互联网协议网络层202适合于OSI七层模型204的比较200。在图2上,传输层210提供数据连接业务给应用,以及可包含保证数据无错误地而无遗漏和按次序传送的机制,。在TCP/IP模型212中的传输层210通过传送数据段到IP层202,而发送数据段,IP层再把数据段路由到目的地。传输层210接受从IP 202进入的段,确定哪个应用是接收者,以及以数据被发送的次序把数据传送到该应用。
因此,互联网协议202执行网络层功能,以及在系统之间路由数据。数据可穿越单个链路,或可被中继通过互联网的几个链路。数据以被称为数据包的单元被载送,它包括IP报头,包含第3层220地址信息。路由器检查IP报头中的目的地地址,以便把数据包定向给它们的目的地。IP层202被称为无连接,因为每个数据包被独立地路由,以及IP层202不保证数据包的可靠的或按次序地传送。IP层202路由它的业务,而不关心特定的数据包属于哪个应用到应用的交互。
TCP层210提供在使用TCP/IP协议的设备之间的可靠的数据连接。TCP层210作用在IP层202的上部,它被使用于把数据打包成被称为数据包的数据分组和通过物理层230将其发送到下面的网络。
然而,IP协议不包含任何流控或重传机制。这是为什么TCP层210典型地被使用于IP层202的上部的原因。相反,TCP协议提供对于检测到丢失的数据分组的确认。
图3显示分组流300和TCP滑动窗310。TCP源的主要特性之一是,它使用滑动窗310,该滑动窗确定字节和因此确定在从接收机接收确认以前可被发送的IP分组。这使得有可能调节源的有效传输速率。
当TCP源增加滑动窗310的尺寸时,它的平均传输速率也增加。滑动窗310是在八位字节12-19上。已经有多到11个的八位字节被发送以及滑动窗310移过这些八位字节。在滑动窗310内,有两个八位字节组320,322。第一个八位字节组320是已被发送的330、从12到16的八位字节。在滑动窗310中的第二个八位字节组322是还没有发送的、从17到19的八位字节。第二个八位字节组322可被立即发送340。最后,八位字节20和向上的部分350不能被发送360。八位字节12必须被确认,以及在八位字节20可被发送以前,滑动窗向前滑动。因此,TCP通过使用这个TCP滑动窗310提供丢失的数据分组的重新发送和流控。滑动窗310实际上是由接收机发送的窗口通告的阻塞窗口的最小值。
图4显示TCP网络系统400,其中接收机410提供确认420给源430,以及接收来自源430的数据440。接收机410发送确认分组420,它也包括窗口通告数据450,用于将接收机410处理进入的数据440的能力通知源430。这样,接收机410可通知适当的窗口尺寸450,用于流控目的。实际上,窗口通告450规定接收机410准备接受多少额外的数据八位字节。源430被认为按照这个通告调节它的滑动窗,除非由源430保持的阻塞窗口460太小。
第二窗口,阻塞窗口460,在TCP源430处被内部使用来降低滑动窗的尺寸。这发生在定时器时间到时,这说明数据分组已被发送,但在一定的时间间隔内确认没有到达。这意味着,数据分组已丢失,这多半是由网络阻塞造成的。为了不使得阻塞更严重,TCP源430通过减小滑动窗的尺寸降低它的传输速率。这些窗口的关系可被表示为Tw=MIN(窗口通告,阻塞窗口)其中Tw表示传输窗口,即滑动窗。
原理上,阻塞窗口460和被包括在由下面的网络提供的通告窗口450中的反馈信息可被使用于同样的目的,即,按照网络的负载和阻塞调节TCP源430的传输速率。然而,在阻塞窗口460和被包括在通告窗口450中的反馈信息之间的一个重要的差别是,阻塞窗口460根据端到端的原则工作,以及典型地由于相当长的超时而对改变的反应非常慢。因此,阻塞窗口460也不能给出任何详细的信息。TCP源410只知道分组已被丢弃,它不能给出关于网络条件的精确的图象。另一方面,被包括在通告窗口450中的反馈信息可以更精确,以及可以更快速地对改变条件作出反应。
基础的网络可以使用在确认分组420中载送的接收机的窗口通告450,用于控制TCP源410的传输速度。这可以通过加上设备或网络功能(被称为反馈信息变换器(FIC))而被完成。
这样,TCP使用滑动窗协议,其中源430根据来自接收机410的返还的ACK分组420,调节它的窗口尺寸。所以,窗口460的增长速率与这些返还的分组420的速率有关。所以,显然通过修改返还的ACK流420的时序,源窗口460的增长可被控制。ACK定步方法正是根据这个基本原理。具体地,这些方法适当地延迟在阻塞网络单元,例如,接入节点和IP路由器中的返还的ACK分组420,限制由源430过量地发送。当正确地完成时,ACK定步可减小TCP超时,限制队列构建,以及由此,改进总的连接结果。
由于TCP业务概貌的大的非对称性质,实际上只在TCP源430一侧需要ACK定步。这是值得注意的,因为它暗示,所要求的ACK定步功能需要仅被限制在大的万维网服务器/文件主机。所以不需要昂贵的更新用于大得多的、不同的用户接入库。然而,应当提到,ACK定步假定网络内有良好的速率控制。这实际上把网络抽象成有相当恒定的带宽,使得阻塞主要在接入节点处出现。
先进的ATM载体能力,例如,VBR-nrt,ABR和GFR,可现实地达到这些条件。而且,预期在高速IP路由器中出现的速率保证也将产生对ACK定步有利的条件。
然而,如上所述,许多当前的ACK定步方法不能具体修改以便实施。例如,快速TCP(F-TCP)需要在前向方向上基础的数据“清算”速率的知识。这或者是链路容量,或者对于ATM可用比特速率(ABR)业务类别的情形下,是连接允许的信元速率(ACR),等等。对于ACK分组420的计算的延时是根据这个速率。
显然,这样的方案需要更先进的信息处理方法,以及如果基础的速率改变很大,会有问题。而且,由远端TCP客户410对ACK分组的延时发送可增加灵敏度问题,以及大大地恶化这样的方案的性能。另外,这些方案不能提供显著的公平度,因为它们只以聚集方式缓存返还的ACK分组420,即先进先出(FIFO)。另一个ACK定步方法,ACK漏桶方案需要太多的每个流状态,实际上要“跟踪”每个TCP数据流的开窗口行为。
图5显示按照本发明的、增强的ACK定步设备500。ACK定步设备500依靠排队长度信息,来讨论阻塞水平,以及不需要任何附加的(昂贵的)定时器机制。如图5所示的ACK定步设备500是非常通用的,以及可被定做成适合于各种各样的网络。
在图5上,提供了ACK控制单元510。ACK控制单元510控制在过载(即,阻塞)和欠载时间间隔期间ACK分组的处理,连同ACK调度器单元520的运行。ACK控制单元510依靠业务测量和来自基础链路层实体528与数据分组缓存器530的数据发送通知522。在阻塞时间间隔期间,返还的ACK分组532被存储在使用适当的分类量化度(集中,每种类别,每个流)的ACK分组缓存器534并以合适的选出速率来进行选通,具体地,在阻塞时间间隔期间ACK分组532的发送被执行,以使得允许缓存器534在合理的时间腾空。当阻塞减退时,提高ACK发送速率,以允许改进带宽利用。应当指出,在所有的情形下,ACK控制单元510激活ACK调度器单元520,发送在缓存器534中的ACK分组532。
因为TCP是可扩大的协议,除任何接收机窗口限制外,它总是企图增加其发送定额。这意味着,对于大的(大量)文件传送,正常的TCP协议将不断地增加它的窗口尺寸,释放分组,然后减慢。当系统中数据量增加时,ACK分组532的数目也增加。
这一点对于ACK定步方案具有非常细微的暗示。即,在正常TCP协议中的数据分组540的增长将被ACK分组532的增长“代替”。这被称为ACK缓存“漂移”现象。这种漂移的速率在TCP连接的慢启动阶段对ACK定步的情形将是线性的(即,快速的),以及对于在TCP连接的阻塞避免阶段对ACK定步的情形将是亚线性的。
解决这个问题有两种可能的方法。较简单的方法是给ACK分组缓存器534配备以足够的用于ACK分组532的容量,以及在ACK分组缓存器534用尽的稀少的事件中,采用从前面丢弃的策略。典型地,在前面的ACK的号最可能关系到比到达的分组540的号码更低的序列号。这种缓存方法是非常合理的,因为ACK分组532是小的(40字节),以及大多数文件传送不是无限的。例如,64kB RAM的ACK分组缓存器534可大约保存1700个ACK分组532,它已超出155 Mb/s WAN链路的需要。
另一个方法是使用两个变量跟踪TCP序列号,即对最后进和最后出的数值进行每个流计数。这个方法产生较小的存储器需求,但需要ACK号码重写(即,重新计算“检验和”)。另外,如果ACK分组532无序地到达,必须进行特别的考虑。而且,或许是,在ACK分组532中出现的其它域,诸如接收机窗口尺寸和URG/RST标志,也可包含非冗余信息,它会使得事情进一步复杂化。
因此,从实施方案看来,ACK缓存方法是更可行的。ACK缓存方法加上了最小的附加限制,以及不修改TCP分组532中的任何域。
如图5所示,在数据流的前向方向,链路层实体528可以代表各种各样的基础技术。实例包括专用链路或ATM VC或IP流类别。而且,链路层实体528可以是对于单个TCP数据流专用的(例如,ATM VC等),或在一组TCP数据流之间共享(业务集中)。同样地,在反向方向上的ACK定步可以在不同的级别上被完成。例如,如果每个流排队在前向方向上完成,则在反向方向上也必须有每个流的ACK定步,即,每个流数据/每个流ACK。
然而,如果在前向方向上进行集中的或基于类别的ACK定步,则可能希望在反向方向上同样完成(集中数据/集中ACK,每个类别的数据/每个类别的ACK)。其它可以决定在前向方向上进行简单的、集中排队,而在反向方向上进行更先进的每个流的ACK缓存。这个方法改进了在集中在同一个链路层实体530的数据流中间的公平度,而不需要在前向方向上高速度的每个流缓存和调度技术。虽然对于进入的ACK分组532仍旧需要每个流ACK的计数,但它被限制于网络边缘,其中处理速率需求也被大大地减小,因为ACK分组关系到更大的IP分组尺寸。通过选择调度器分配,即,反比于数据流的TCP最大分段尺寸(MSS)的加权因子,对更小的MSS流的偏斜可被减轻(到一定程度)。
对于不同的业务结构的正在进行的标准化努力,后者在哲学上相当好地适配。即,每个流的计数/开销被限制于网络的接入部分,即,其中进行ACK定步,减小骨干内的复杂性。因为大多数接入节点具有的连接比骨干设备的少得多,所以这个方法在正出现的网络中是非常可行的。
根据以上的讨论,ACK调度器520可被规定为相当通用的,从各种分组调度方法借用的装置,以便改进适合度。例如,在集中(FIFO)ACK缓存的最简单的形式中,调度器520仅仅必须发送排头(HOL)的ACK。对于更先进的每个类别或每个数据流的ACK缓存策略,加权循环(WRR)或公平排队(FQ)调度器可被实施来“选择”用于发送的下一个适当的ACK。
ACK控制单元510包括ACK定步处理器512,用于控制ACK分组到源的定步。ACK定步处理器包括两个主要部件数据分组离开处理器514和ACK到达处理器。ACK到达处理器516检验阻塞水平和判决是否保存进入的ACK分组。数据分组离开处理器514通过链路层实体528和数据分组缓存器530监视阻塞水平,以及决定何时按“时钟”输出ACK分组532到源。
图6显示按照本发明的用于TCP ACK到达610和数据离开660方法的伪代码600。对于所有进入的TCP ACK分组执行TCP ACK到达610和数据离开660方法。
在图6上,假定存在排队对象用于使ACK分组进入队列/退出队列,以及缓存的ACK分组数目的运行计数值被保持,例如,num_ACK604。在链路层阻塞和/或非空的ACK分组缓存器612的情况下,进入的ACK分组被存储在缓存器614中。缓存的ACK分组被保存在缓存器中,以及只通过数据分组离开方法660被适当地发送出去。
如上所述,ACK缓存可以根据集中或基于以上参照图5讨论的、更多选择性的每个类别/每个流,而进行的。如果ACK分组到达空的缓存器以及没有阻塞640,则只要向上转发到TCP源(即,透明的传送通过)642。然而,如果这是要被缓存的第一ACK 630,则为了“启动”ACK发送过程,这个ACK分组必须在适当的间隔632后被选通送出。
为了避免对昂贵的定时器机制的依赖,应当把ACK分组的发送与链路层实体中的基础数据分组离开处理过程660相联系。即,在阻塞期间,ACK分组在每α1个数据分组被发出以后被发送,其中α1被称为(整数)减慢因子。
从实施方案看来,以上的功能可以通过使用简单的计数器变量,例如pkt_counter 644,而被精巧地完成。对于第一ACK分组,计数器变量值被设置为α1,然后按照数据离开处理过程660在每次数据分组离开时减量。当计数器变量值达到零时,缓存的ACK分组被释放,以及计数器被复位。
与某些预期相反,给定的数值α1并不暗示TCP源的等价的幅度减慢。这里,问题被TCP协议的许多特性复杂化,诸如慢启动/阻塞避免阶段,“ACK-每个-其它性质(ACK-every-other)”,延时的ACK定时器等。例如,在发送全部尺寸的段的无限的源的理想化情形下,启动普遍存在的“ACK-每个-其它”性质,可以看到,需要α1>3的数值来调节TCP源的速率。替换地,如果TCP源的最终系统行为是未知的,则非常大的α1数值可被使用来“保证”排队长度控制。换句话说,这样的数值实际上禁止所有的ACK发送,直至阻塞减退为止(即,接通/断开型控制),但通常会引起增加的排队振荡。
应当指出,为了给出通用的、更灵活的说明,图6上的伪代码没有明显地规定阻塞检测方法。具体地,拥塞状态()例程620只返回布尔值,指示链路层实体是否阻塞。显然,各种各样阻塞表示机制可在这里被使用。某些例子包括队列长度,平均的队列长度,输入速率过载测量,和数据丢失率。然而,优选地,队列长度应当被使用来简化实施方案的复杂性。
图7上显示用于使用两个滞后队列门限值QL 710,QH 714的样本方法700的伪代码。在图7上,检验阻塞状态,以及返回一个二进制标志702。滞后队列门限值QL 710,QH 714被使用720。如果存在阻塞以及队列长度小于QL 722,则通过把标志设置为第一状态724,即,拥塞标志=OFF(关闭),而使得阻塞消除状态变化被存储。替换地,如果不存在阻塞以及队列长度大于QH 730,则通过把标志设置为第二状态732,即,拥塞标志=ON(打开),而使得阻塞开始状态变化被存储。二进制标志的状态然后被返回740。
结果表明,如果这些门限值710,712根据在源与接入节点之间的路程来回延时(即,接入网络延时)被适当地确定大小,则可以达到接近无损耗的性能。因为这样的延时通常比WAN网络中观察到的端到端延时小很多倍,在缓存需求中的相当大的减小对于按照本发明的ACK定步方案是可能的。
再次参照图6,无论何时分组离开链路层,都执行数据分组离开方法660。目标是以定时的方式释放被存储的ACK分组,由此正确地控制在接入节点的链路层缓存器中的阻塞(排队)水平,即使得分组丢失最小化。该方法首先检验,查看是否有任何缓存的ACK分组等待发送662,以及ACK发送计数器,即Pkt-counter,是否达到零664。如果是这种情况,则缓存的ACK分组被释放给源670。
此后,如果仍旧存在阻塞680,则通过重新设置pk_counter为α1682,ACK分组间的间隔被保持在每α1个数据分组一个间隔。这允许数据链路层中的数据缓存器进一步排空。然而,如果阻塞已消除684,则ACK分组间的间隔被减小为α2个数据分组686,允许源更快的发送。α2参数被称为整数加速因子,以及必须α1>α2。如果计数器是非零的688,则它只被递减690。然而,为了阻止在阻塞时间间隔以后带宽利用不足,如果计数器值大于α2,它只被复位到α2(即,特别是对于更大的α2值)。
再次地,由于由TCP规定引起的复杂性,α2=1数值并不暗示,TCP源速率(大约)等于基础链路实体的速率。更具体地,对于理想化的条件具有“ACK-每个-其它”特征,α2=2的数值执行得更好。
再次参照图5,应当指出,合格的ACK分组532是根据由ACK调度器520使用的排队策略被选择的。这个总的机制不需要任何昂贵的定时器机制来释放存储的ACK分组532,正如现有的方法中需要的。
图8显示用于按照本发明的、增强的TCP ACK到达810和ATM信元离开860方法的伪代码800。在TCP ACK到达处理过程810中,作出关于链路层实体是否阻塞或ACK分组缓存器是否非空812的决定。如果链路层实体被阻塞以及ACK分组缓存器不为空814,则进入的ACK被存储在队列816(FIFO,每个类别,或每个流)。ACK分组被存储在各个ACK队列的末尾处,以及ACK计数被递增818。接着,进行检验,以便确定这个ACK是否为被缓存的第一ACK分组820。如果这是要被缓存的第一ACK分组822,则信元计数器被设置为α1*分组信元,这样计数器被设置成较大的间隔824。否则826,ACK分组被发送到TCP源828。
在ATM信元离开处理过程860中,作出关于ACK分组缓存器是否非空的决定862,即是否有ACK分组发送?如果有ACK分组被发送864,则调度器确定下一个合格的ACK分组870。下一个合格的ACK分组被从合格的ACK队列头中取下872,以及被发送到TCP源874。ACK计数值被递减876,以及信元计数器被适当地复位880。如果存在阻塞882,则信元计数器被设置为等于α1*分组信元,以增加间隔884。否则886,信元计数器被设置为等于α2*分组信元,以减小间隔888。
如果信元计数值是非零890,则作出关于阻塞是否消除的决定892。如果阻塞已消除以及信元计数值大于α2*分组信元894,则信元计数器被设置为等于α2*分组信元895。否则896,信元计数器被递减898。
假定以上的分组处理方法是非常通用的,则对于使用更小的分组(信元)尺寸的ATM网络的情形,存在更大的灵活性。具体地,有可能按每个数据(部分的)分组发送执行ACK发送,以及同时阻止使用任何昂贵的定时器机制,即,计数器现在是根据信元而不是分组(信元计数器)。因为信元尺寸典型地比TCP MSS尺寸的分组小得多,所以分组现在可用更细化的时间量化度被发送。即,α1和α2因子不再必须是整数,正如在基于分组的方案中那样。考虑一个恒定值,packet_cells,即,在(IP)TCP MSS中的信元数目packet_cells=([(TCP_MSS+40)48]+1).----(1)]]>再次参照图5,在阻塞期间,ACK分组532在每α1*packet_cells后被发送,以及在欠载期间,在每α2*packet_cells后被发送。对于大多数部分,ACK到达和信元离开方法与它们的基于分组的对应部分相同。例如,在每次信元发送以后,信元计数器被递减速,以及当它到达零时,缓存器534中的ACK分组532被ACK调度器520释放。在ACK分组缓存器534是空的期间,计数器值被适当地复位。
总之,在ATM网络上的TCP协议的性能是一个重要的领域。近来,提出了各种ACK定步方案来改进TCP与更先进的基础ATM传输类别(即,ABR流控,每个连接的排队)的交互作用。然而,这些方案受到参量灵敏度问题的影响,以及可能实际上很难实现。因此,揭示了一种能够在各种各样的网络情形中执行的、增强的ACK定步设备。该方案使用(更直接)队列长度阻塞信息来延迟TCP ACK分组,以及可实施各种各样的公平度准则。该方法提供改进端到端TCP通过量和带宽公平度的鲁棒的方式。在接入节点中的缓存需求也非常适用于各种各样的子网络。
本发明的示例性实施例的以上的说明是为了显示和说明的目的而给出的。不打算把本发明限制于所揭示的精确的形式。根据以上的教导,有可能作出许多修改和变动。不打算用这种详细说明来限制本发明的范围,而是打算用附属的权利要求来给出所述范围。
权利要求
1.用于响应于接收到来自源的数据分组而定步要被发送到源的确认分组的确认定步设备,包括确认控制单元,用于监视网络的负载和根据网络的负载产生控制信号,用于控制确认分组的处理;确认分组缓存器,被耦合到确认控制单元,用于存储从确认控制单元接收的确认分组;以及调度器,被耦合到确认控制单元和确认缓存器,调度器根据由确认控制单元产生的控制信号释放确认分组。
2.按照权利要求1的确认定步设备,其特征在于,其中调度器根据排队策略选择要被释放的确认分组。
3.按照权利要求2的确认定步设备,其特征在于,其中排队策略包括当使用集中确认分组缓存时发送排头的确认分组。
4.按照权利要求2的确认定步设备,其特征在于,其中排队策略包括当使用每个类别或每个流的确认分组缓存时,用于选择在确认分组缓存器中的要释放的确认分组的加权循环(WRR)处理过程。
5.按照权利要求4的确认定步设备,其特征在于,其中加权循环(WRR)处理过程使用与TCP最大段尺寸(MSS)成反比的加权因子,用于加权对释放的确认分组的选择,以便减少对较小的MSS流的偏斜。
6.按照权利要求2的确认定步设备,其特征在于,其中排队策略包括当使用每个类别或每个流的确认分组缓存时,用于选择在确认分组缓存器中的要释放的确认分组的公平排队(FQ)处理过程。
7.按照权利要求1的确认定步设备,其特征在于,其中确认控制单元还包括确认分组定步处理器,确认分组定步处理器通过使用确认分组到达处理器和数据分组离开处理器,而产生控制信号,用于控制确认分组的处理。
8.按照权利要求7的确认定步设备,其特征在于,其中确认分组到达处理器通过检验网络的阻塞和判决是把确认分组保存在确认分组缓存器中,还是直接把确认分组发送给源而不把确认分组缓存在确认分组缓存器中,而控制确认分组到确认分组缓存器的处理。
9.按照权利要求7的确认定步设备,其特征在于,其中确认分组到达处理器通过确定网络是否阻塞,确定确认分组缓存器是否空的,如果网络被阻塞或确认分组缓存器不是空的,则把确认分组存储在缓存器中,以及如果确认分组缓存器是空的或网络没有阻塞,则把确认分组转发给源,而决定是把确认分组保存在确认分组缓存器中,还是直接把确认分组发送给源而不把确认分组缓存在确认分组缓存器中。
10.按照权利要求9的确认定步设备,其特征在于,其中如果确认分组是在阻塞期间要被缓存在确认分组缓存器中的第一确认分组,则确认分组被存储在确认分组缓存器中,以及被调度器选通送出。
11.按照权利要求10的确认定步设备,其特征在于,其中如果确认分组是在阻塞期间要被缓存在确认分组缓存器中的第一确认分组,则确认控制单元增加在从确认分组缓存器中被选通送出的确认分组之间的间隔。
12.按照权利要求11的确认定步设备,其特征在于,其中确认控制单元通过设置分组计数器变量为第一预定值而增加在确认分组之间的间隔。
13.按照权利要求12的确认定步设备,其特征在于,其中当数据分组从网络离开时,分组计数器变量被递减。
14.按照权利要求13的确认定步设备,其特征在于,其中当分组计数器变量被递减到零以及确认控制单元复位分组计数器变量时,调度器释放缓存的确认分组。
15.按照权利要求8的确认定步设备,其特征在于,其中网络的阻塞水平是通过分析代表数据分组缓存器容量的队列长度,而被确定的。
16.按照权利要求15的确认定步设备,其特征在于,其中当队列长度小于低的门限值时,网络被表示为非阻塞的。
17.按照权利要求15的确认定步设备,其特征在于,其中当队列长度大于高的门限值时,网络被表示为阻塞的。
18.按照权利要求7的确认定步设备,其特征在于,其中数据分组离开处理器通过监视网络的阻塞水平和决定何时把来自确认缓存器的确认分组选通到源,而控制确认分组从确认分组缓存器的释放。
19.按照权利要求18的确认定步设备,其特征在于,其中数据分组离开处理器通过检验确认分组是否处在确认分组缓存器中等待发送和由确认控制单元设置的分组计数器变量是否具有零的数值,以及当分组计数器变量具有零的数值时,释放在确认分组缓存器中缓存的确认分组给源,而决定何时把来自确认缓存器的确认分组选通到源。
20.按照权利要求19的确认定步设备,其特征在于,其中如果在网络中仍旧存在阻塞,则数据分组离开处理器增加在从确认分组缓存器中释放确认分组之间的间隔。
21.按照权利要求20的确认定步设备,其特征在于,其中确认分组的释放之间的间隔是通过把分组计数器变量复位为第一预定值,而被增加的。
22.按照权利要求21的确认定步设备,其特征在于,其中如果分组计数器变量值是非零的,则数据分组离开处理器使分组计数器变量递减。
23.按照权利要求22的确认定步设备,其特征在于,其中如果分组计数器变量大于第二预定值,则数据分组离开处理器把分组计数器变量复位到第二预定值,以防止阻塞时间间隔后带宽利用不足。
24.按照权利要求19的确认定步设备,其特征在于,其中如果网络中阻塞被消除,则数据分组离开处理器减小在从确认分组缓存器中释放确认分组之间的间隔。
25.按照权利要求24的确认定步设备,其特征在于,其中数据分组离开处理器通过把分组计数器变量复位到第二预定值,而减小在确认分组的释放之间的间隔,该第二预定值小于第一预定值。
26.按照权利要求25的确认定步设备,其特征在于,其中如果分组计数器变量值是非零的,则数据分组离开处理器使分组计数器变量递减。
27.按照权利要求26的确认定步设备,其特征在于,其中如果分组计数器变量大于第二预定值,则数据分组离开处理器把分组计数器变量复位到第二预定值,以防止阻塞时间间隔后带宽利用不足。
28.按照权利要求19的确认定步设备,其特征在于,其中网络的阻塞水平是通过分析代表数据分组缓存器的容量,而被确定的。
29.按照权利要求28的确认定步设备,其特征在于,其中当队列长度小于低的门限值时,网络被表示为非阻塞的。
30.按照权利要求28的确认定步设备,其特征在于,其中当队列长度大于高的门限值时,网络被表示为阻塞的。
31.按照权利要求1的确认定步设备,其特征在于,其中确认分组缓存器按集中的原则缓存确认分组。
32.按照权利要求1的确认定步设备,其特征在于,其中确认分组缓存器按流类型缓存确认分组,以及其中调度器,考虑到对于缓存的确认分组的流类型,释放在确认缓存器中的确认分组。
33.一种接入节点设备,包括链路层实体,用于接收来自源的数据分组和把数据分组转发到前向数据链路,该链路层实体把接收的数据分组存储在数据分组缓存器中,直至数据分组离开链路层实体和被转发到前向数据链路为止,以及确认定步设备,被耦合到链路层实体,用于响应于接收到来自源的数据分组,定步要被发送到源的确认分组,该确认定步设备还包括确认控制单元,用于监视在链路层实体处的阻塞和根据在链路层实体处是否发生阻塞而产生控制信号,用于控制确认分组的处理;确认分组缓存器,被耦合到确认控制单元,用于存储从确认控制单元接收的确认分组;以及调度器,被耦合到确认控制单元和确认缓存器,调度器根据由确认控制单元产生的控制信号把确认分组释放给源。
34.按照权利要求33的接入节点设备,其特征在于,其中调度器根据排队策略选择要被释放的确认分组。
35.按照权利要求34的接入节点设备,其特征在于,其中排队策略包括当使用集中确认分组缓存时发送排头的确认分组。
36.按照权利要求34的接入节点设备,其特征在于,其中排队策略包括当使用每个类别或每个流的确认分组缓存时,用于选择在确认分组缓存器中的要释放的确认分组的加权循环(WRR)处理过程。
37.按照权利要求36的接入节点设备,其特征在于,其中加权循环(WRR)处理过程使用与TCP最大段尺寸(MSS)成反比的加权因子,用于加权对释放的确认分组的选择,以便减少对较小的MSS流的偏斜。
38.按照权利要求34的接入节点设备,其特征在于,其中排队策略包括当使用每个类别或每个流的确认分组缓存时,用于选择在确认分组缓存器中的要释放的确认分组的公平排队(FQ)处理过程。
39.按照权利要求33的接入节点设备,其特征在于,其中确认控制单元还包括确认分组定步处理器,确认分组定步处理器通过使用确认分组到达处理器和数据分组离开处理器,而产生控制信号,用于控制确认分组的处理。
40.按照权利要求39的接入节点设备,其特征在于,其中确认分组到达处理器通过检验在链路层实体处的阻塞和判决是把确认分组保存在确认分组缓存器中,还是直接把确认分组发送给源而不把确认分组缓存在确认分组缓存器中,而控制确认分组到确认分组缓存器的处理。
41.按照权利要求39的接入节点设备,其特征在于,其中确认分组到达处理器通过确定链路层实体是否阻塞,确定确认分组缓存器是否空的,如果链路层实体被阻塞,或确认分组缓存器不是空的,则把确认分组存储在缓存器中,以及如果确认分组缓存器是空的,或链路层实体没有阻塞,则把确认分组转发给源,而决定是把确认分组保存在确认分组缓存器中,还是直接把确认分组发送给源而不把确认分组缓存在确认分组缓存器中。
42.按照权利要求41的接入节点设备,其特征在于,其中如果确认分组是在阻塞期间要被缓存在确认分组缓存器中的第一确认分组,则确认分组被存储在确认分组缓存器中,以及被调度器选通送出。
43.按照权利要求42的接入节点设备,其特征在于,其中如果确认分组是在阻塞期间要被缓存在确认分组缓存器中的第一确认分组,则确认控制单元增加在从确认分组缓存器中被选通送出的确认分组之间的间隔。
44.按照权利要求39的接入节点设备,其特征在于,其中如果链路层实体中阻塞被消除,则数据分组离开处理器减小在从确认分组缓存器中释放确认分组之间的间隔。
45.用于响应于接收到来自源的数据分组而提供对于要被发送到源的确认分组的确认定步的方法,包括监视网络的负载;根据网络的负载,产生控制信号,用于控制确认分组的处理;存储从确认控制单元接收的确认分组到确认分组缓存器中;以及根据控制信号,释放确认分组。
46.按照权利要求45的方法,其特征在于,其中释放还包括根据排队策略选择确认分组释放。
47.按照权利要求46的方法,其特征在于,其中排队策略包括当使用集中确认分组缓存时发送排头的确认分组。
48.按照权利要求46的方法,其特征在于,其中排队策略包括当使用每个类别或每个流的确认分组缓存时,用于选择在确认分组缓存器中的要释放的确认分组的加权循环(WRR)处理过程。
49.按照权利要求48的方法,其特征在于,其中加权循环(WRR)处理过程使用与TCP最大段尺寸(MSS)成反比的加权因子,用于加权对释放的确认分组的选择,以便减少对较小的MSS流的偏斜。
50.按照权利要求46的方法,其特征在于,其中排队策略包括当使用每个类别或每个流的确认分组缓存时,用于选择在确认分组缓存器中的要释放的确认分组的公平排队(FQ)处理过程。
51.按照权利要求45的方法,其特征在于,其中产生控制信号用于控制确认分组的处理包括确认分组到达处理和数据分组离开处理。
52.按照权利要求51的方法,其特征在于,其中确认分组到达处理通过检验网络的阻塞和判决是把确认分组保存在确认分组缓存器中,还是直接把确认分组发送给源而不把确认分组缓存在确认分组缓存器中,而控制确认分组到确认分组缓存器的处理。
53.按照权利要求51的方法,其特征在于,其中决定是把确认分组保存在确认分组缓存器中,还是直接把确认分组发送给源而不把确认分组缓存在确认缓存器中,还包括确定网络是否阻塞,确定确认分组缓存器是否空的,如果网络被阻塞,或确认分组缓存器不是空的,则把确认分组存储在缓存器中,以及如果确认分组缓存器是空的,或网络没有阻塞,则把确认分组转发给源。
54.按照权利要求53方法,其特征在于,其中如果确认分组是在阻塞期间要被缓存在确认分组缓存器中的第一确认分组,则确认分组被存储在确认分组缓存器中以及被选通送出。
55.按照权利要求54的方法,其特征在于,还包括如果确认分组是要被缓存在确认分组缓存器中的第一确认分组,则增加在从确认分组缓存器中被选通送出的确认分组之间的间隔。
56.按照权利要求55的方法,其特征在于,其中增加间隔还包括把分组计数器变量设置为第一预定值。
57.按照权利要求56的方法,其特征在于,其中还包括当数据分组从网络离开时,将分组计数器变量递减。
58.按照权利要求57的方法,其特征在于,还包括当分组计数器变量被递减到零以及复位分组计数器变量时,释放缓存的确认分组。
59.按照权利要求52的方法,其特征在于,其中网络的阻塞水平是通过分析代表数据分组缓存器容量的队列长度,而被确定的。
60.按照权利要求59的方法,其特征在于,还包括当队列长度小于低的门限值时,网络被表示为非阻塞的。
61.按照权利要求59的方法,其特征在于,其中当队列长度大于高的门限值时,网络被表示为阻塞的。
62.按照权利要求51的方法,其特征在于,其中释放还包括监视网络的阻塞水平和决定何时把来自确认分组缓存器的确认分组选通到源。
63.按照权利要求62的方法,其特征在于,其中决定还包括检验确认分组是否处在确认分组缓存器中等待发送和由确认控制单元设置的分组计数器变量是否具有零的数值,以及当分组计数器变量具有零的数值时,释放在确认分组缓存器中缓存的确认分组。
64.按照权利要求63的方法,其特征在于,其中数据分组离开处理还包括如果在网络中仍旧存在阻塞,则增加在从确认分组缓存器中释放确认分组之间的间隔。
65.按照权利要求64的方法,其特征在于,其中增加还包括把分组计数器变量复位为第一预定值。
66.按照权利要求65的方法,其特征在于,其中数据分组离开处理还包括如果分组计数器变量值是非零的,则使分组计数器变量递减。
67.按照权利要求66的方法,其特征在于,其中数据分组离开处理还包括如果分组计数器变量大于第二预定值,则把分组计数器变量复位到第二预定值,以防止阻塞时间间隔后带宽利用不足。
68.按照权利要求63的方法,其特征在于,其中数据分组离开处理还包括如果网络中阻塞被消除,则减小在从确认分组缓存器中释放确认分组之间的间隔。
69.按照权利要求68的方法,其特征在于,其中数据分组离开处理还包括通过把分组计数器变量复位到第二预定值,而减小在确认分组的释放之间的间隔,该第二预定值小于第一预定值。
70.按照权利要求69的方法,其特征在于,其中数据分组离开处理还包括如果分组计数器变量值是非零的,则使分组计数器变量递减。
71.按照权利要求70的方法,其特征在于,其中数据分组离开处理还包括如果分组计数器变量大于第二预定值,则把分组计数器变量复位到第二预定值,以防止阻塞时间间隔后带宽利用不足。
72.按照权利要求63的方法,其特征在于,其中确定网络的阻塞水平还包括分析代表数据分组缓存器的容量的队列长度。
73.按照权利要求72的方法,其特征在于,还包括当队列长度小于低的门限值时,网络被表示为非阻塞的。
74.按照权利要求72的方法,其特征在于,还包括当队列长度大于高的门限值时,网络被表示为阻塞的。
75.按照权利要求45的方法,其特征在于,其中存储还包括按集中的原则缓存确认分组。
76.按照权利要求45的方法,其特征在于,其中存储还包括按流类型缓存确认分组,以及其中释放还包括通过考虑对于缓存的确认分组的流类型,调度在确认缓存器中的确认分组的释放。
全文摘要
揭示了用于TCP连接的增强确认定步设备(500)和方法。本发明包括链路层实体(528),用于接收来自源的数据分组和把数据分组(540)转发到前向数据链路,链路层实体(528)把接收的数据分组(540)存储在数据分组缓存器(530)中,直至数据分组离开链路层实体(528)和被转发到前向数据链路为止,以及还包括确认定步设备(500),该确认定步设备被耦合到链路层实体,用于响应于接收到来自源(540)的数据分组(540),定步要被发送到源的确认分组(532)。确认定步设备(500)还包括:确认控制单元(510),用于监视在链路层实体(528)处的阻塞和根据在链路层实体(528)处是否发生阻塞,产生控制信号,用于控制确认分组(532)的处理;确认分组缓存器(534),被耦合到确认控制单元(510),用于存储从确认控制单元(510)接收的确认分组(532);以及调度器(520),被耦合到确认控制单元(510)和确认缓存器(534),调度器(520)根据由确认控制单元(510)产生的控制信号把确认分组(532)释放给源(540)。
文档编号H04L12/56GK1344456SQ99816071
公开日2002年4月10日 申请日期1999年10月6日 优先权日1998年10月7日
发明者苏德赫·迪克西特, 拿瑟·汉尼 申请人:诺基亚网络公司