分组丢弃优先选择标记的方法和电路的制作方法

文档序号:7621552阅读:198来源:国知局
专利名称:分组丢弃优先选择标记的方法和电路的制作方法
技术领域
本发明涉及因特网中的TCP协议,ATM方式承载TCP,以及与TCP的承载、控制有关的其它网络协议。
TCP协议是目前因特网中主要的业务承载协议,由IETF(因特网工程组)的文件RFC 793规范,但在实践中有多种实现。作为端到端的拥塞控制机制,TCP成功地为目前因特网提供了业务,并有效地防止了网络的拥塞崩溃。但作为协议本身,TCP也存在不少问题,因此不断有对于TCP改进的提案出现,关于最新的对TCP改进建议的较为完整的报告见[1]。TCP协议的存在问题之一是它为相同网络条件下的用户所提供的带宽并不相同,特别是当网络结点的缓存数量与接入的TCP流的数目比值相对较小时,连接所可能获得的最大带宽和最小带宽之差与平均带宽的比可高达15%-20%,这主要是由于网络结点在实施队列管理时,未能区分不同TCP连接所处的协议状态,虽然它对于每一个TCP流所丢弃的分组数大致相同,但处于强势状态的TCP流(当前的拥塞控制窗口较大)能较好地承受分组的丢失,通过拥塞避免机制仍能保持较大的吞吐量,而处于弱势状态的TCP流(当前的拥塞控制窗口较小或丢弃的是一个重发分组等等)则不能承受分组的丢失,回退到慢启动阶段。当网络结点的分组丢弃率较高时,这种初始的和/或偶发的不平衡会被维持下去,造成有些TCP连接的吞吐量偏高而有些偏低的不公平局面。当采用ATM的UBR和ABR业务承载TCP时,还出现了TCP汇聚吞吐量明显下降的新问题,早期的研究导致了EPD(提前丢弃分组Early Packet Discard)算法的发明[2]。最新的研究表明,即使是使用了EPD技术,TCP在采用ATM的UBR和ABR业务承载时仍会相对频繁地出现超时问题[3,4],文献[3]和[4]的作者也将其归咎为前面提到的类似原因,并相应地提出了在网络侧分别对每一个TCP流分别进行处理的改进方案。由于可能接入一个结点的TCP流的数目会非常之大,网络结点对每一个TCP流进行分别处理会显得过于复杂,因此有必要寻求无流状态的实现办法。
本发明的目的是通过TCP发送终端对发送分组进行分组丢弃优先选择标记(以下简称为PDPMPacket Discard Preferred Marking),由网络按每个分组的标记内容对分组实施不同的丢弃策略,来达到平衡各TCP流间的吞吐量,以及提高ATM承载时TCP流所获得的吞吐量。
为了简化文字,本发明在后面的所有叙述部分将用缩写PDPM代表分组丢弃优先选择标记,用缩写PDPM机制代表分组丢弃优先选择标记机制,本发明的解决方案是在TCP协议的分组结构中增加分组丢弃优先选择指示比特(以下简称为PDPI比特Packet Discard Preferred Indication),在TCP协议的发送端根据当前的协议状态和发送分组的性质对每一个送出分组的PDPI比特进行标记,PDPI比特置0的分组称为未标记分组,相应的行动简称为不对该分组标记或不标记该分组;而PDPI比特置1的分组称为标记分组,相应的行动简称为对该分组标记或标记该分组;网络结点在实施队列管理时按分组PDPI比特值的不同对分组实施不同的丢弃策略。
为了在不增加协议传输开销的前提下实施PDPM机制,本发明建议采用ECN比特作为分组的PDPI比特,并通过将ECN能力比特置0来区别使用的是PDPM机制还是ECN机制,但为了实现的灵活性,本发明并不一定坚持这种携带分组丢弃优先选择指示的分组结构方式。
作为分组标记的方法,本发明给出了分组PDPI比特的随机标记和循环标记两类算法。在随机标记算法中预先设定一个拥塞窗口的标记门限W_Th和标记概率p,在TCP当前的拥塞控制窗口大于标记门限W_Th且正在考虑是否标记的分组不是重发分组时,依标记概率p对该分组标记,否则不标记该分组;在循环标记算法中预先设定一个拥塞窗口的标记门限W_Th和标记周期d,在TCP当前的拥塞控制窗口大于标记门限W_Th且正在考虑是否标记的分组不是重发分组时,以标记周期d对分组进行标记。为了在TCP的具体实现中向PDPM机制传递分组的重发状态信息,本发明给出了利用分组头数据结构中的一个指定比特来进行信息传递的设计方案,并建议就采用ECN比特作为这个指定比特。
为了在采用ATM承载PDPM机制的TCP流的工作方式中简化网络的处理功能,以及为了跨过ATM网络传输段透明传递PDPM信息,本发明采用ATM信元字头的一个指定比特携带PDPM的信息,并称这个指定比特为信元丢弃优先选择比特(以下简称为CDPI比特Cell DiscardPreferred Indication)。对于CDPI比特的位置,建议首选CLP比特,其次考虑PT字段的比特。
本发明的PDPM机制可以和任何网络结点的优先级队列管理策略适配,适配的原则是给未标记的分组分配较高的优先级,而给标记的分组分配较低的优先级,从而保护了协议处于弱势状态的TCP流。特别的,本发明给出了适合于IP网络的DT-RED优先级队列管理机制,以及适用于ATM承载TCP流的CDT-ECD的信元级优先级队列管理机制和(DT-EPD)+PPD的分组级优先级队列管理机制,来适配PDPM机制的设计方案。在DT-RED优先级队列管理机制设计方案中,网络结点采用丢尾(DTDrop Tail)的方式处理未标记的分组,而用随机提前丢弃(REDRandom Early Drop)的方式处理标记的分组;在CDT-ECD的信元级ATM优先级队列管理机制设计方案中,网络结点采用信元丢尾(CDTCell Drop Tail)的方式处理未标记分组的信元,而用提前丢弃信元(ECDEarly Cell Discard)的方式处理标记分组的信元;在(DT-EPD)+PPD的分组级ATM优先级队列管理机制设计方案中,网络结点采用以丢弃不完整分组(PPDPartial Packet Discard)和丢尾相结合(DT+PPD)的方式处理未标记分组,而用丢弃不完整分组和与提前丢弃分组相结合(EPD+PPD)的方式处理标记分组。
本发明具有下列积极效果在采用了本方法后,能在因特网上更为公平地向用户提供带宽,以及提高ATM承载TCP的效率。本发明所发明的机制实现简单,没有网络传输的附加开销,网络的相关机制可以无流状态实现,完好保持了IP技术原有的可扩展性特征。
下面对照附图进行详细说明本发明的PDPM机制的方法与实现电路。总体构成本发明在IP网络上的总体构成见

图1,本发明在分组结构中采用ECN比特作为分组的PDPI比特,并通过将ECN能力比特置0来区别使用的是PDPM机制还是ECN机制。本发明的控制机制由两个主要部分组成嵌入终端TCP发送协议部分的PDPM机制和网络所采用的优先级队列管理机制部分。PDPI比特所携带的信息是连接这两部分工作的关键。正是这种信息通报机制保证了网络控制机制的简单性和可扩展性,同时保证了终端控制机制和网络控制机制的相对独立性,通过PDPI的适当优先级适配,终端的PDPM机制可以和网络上的任何优先级队列管理机制共同工作而不致引起冲突。在图1中显示的分组结构是本发明建议的分组结构方式,即采用ECN比特作为分组的PDPI比特,并通过将ECN能力比特置0来区别使用的是PDPM机制还是ECN机制,但为了实现的灵活性,本发明并不坚持这种携带PDPI的分组结构方式,也可以采用分组字头的任意指定比特为PDPI比特。
当采用ATM方式承载TCP流时,本发明的总体构成示于图2。除了嵌入终端TCP发送协议部分的PDPM机制部分外,主要涉及ATM网缘的ATM信元拆装单元和ATM网内的优先级队列管理机制。采用ATM方式承载TCP流时,终端协议部分的PDPM机制与IP网络上的相同,而与图1所示的在IP网络上总体构成的主要不同是在ATM段的传输和交换。采用PDPM的分组在进入ATM网络时,首先由ATM网缘的ATM信源拆装单元将分组拆卸成多个ATM信元。本发明要求在拆卸过程中,采用ATM信元字头的CDPI比特携带PDPM信息,将每个分组所拆卸成的所有信元字头的CDPI比特的值,置为该分组的PDPI的值。本发明建议首选ATM信元字头的CLP比特作为CDPI比特,当由于其它原因不能使用CLP比特时,首先考虑在PT字段中选取相应的比特。在图2中显示的是采用CLP比特携带CDPI的选择,但本发明并不坚持一定要用CLP比特携带CDPI信息。TCP分组被ATM信源拆装单元拆卸后,以ATM信元的方式在ATM网络上传输和交换,ATM信元字头的CDPI比特,就成为在终端的PDPM机制和ATM网络的信元级优先级队列管理机制之间通报信息的主要手段。但要注意的是,几乎所有已知的针对承载TCP的高效ATM队列管理机制都不只是局限在信元级。例如ATM队列管理机制中最著名的PPD和EPD管理机制都试图在ATM层进行分组级别的管理[2],因此都需要ATM链路层协议所提供的信息加以支持。由于在PDPM机制下利用ATM链路层协议信息支持分组级别的优先级队列管理的方法,与非优先级队列管理采用的方法相同,因此结合ATM信元字头的CDPI信息与ATM链路层信息支持ATM层分组级别的优先级队列管理机制不会成为问题。
图3是可能的实际网络环境的示意图。一个TCP连接可能会先在IP网络上经过多个网络结点,然后进入ATM网络,从ATM网络出来后又要经过一段IP网络才最终到达目的终端,甚至会出现IP网络和ATM网络转接多次的情况。为了使PDPM信息能在所有网段透明传输,本发明规定,ATM网络边缘的ATM信元拆装单元在将分组拆卸成信元时,将同一个分组所拆卸成的所有信元CDPI比特的值,设置为该分组PDPI比特的值;同样的,ATM网络边缘的ATM信元拆装单元在将信元组装成分组时,将该分组PDPI比特的值设置为该分组所对应的第一个信元的CDPI比特的值。这样保证了TCP的PDPM机制能以PDPI比特的形式在IP网络上通报IP网络控制所需信息,以CDPI比特在ATM网络上通报ATM网络控制所需信息,分别指导这两个网络上相应的优先级队列管理机制实施相应的控制。当采用ECN比特作为PDPI比特时,可以采用ATM信令的方式完成跨接ATM网络后ECN能力比特的设定问题。嵌入终端TCP发送协议部分的PDPM机制一个成熟的TCP协议的实现是要经过严格的考核和长期的试用的,而一个成功的TCP协议的实现不仅要成熟,而且还要伴有强大的商业运作和适当的商业机会。因此本发明的主要目标是如何将PDPM机制嵌入到已有TCP的实现中,而不是如何重新设计一个具有PDPM机制的TCP协议实现。PDPM模块将PDPI机制嵌入TCP实现的合理位置是在TCP发送协议部分,而嵌入的部分我们称为PDPM模块。PDPM模块的主要组成示于图4,分为分组标记、TCP状态信息采集和分组信息通报三个主要组成单元。分组标记单元存放具体的标记准则、执行该标记准则所对应的算法并最后实施对分组的标记。对一个输出分组是否标记,即确定该分组的PDPI比特的值是0还是1,必须依靠TCP协议当前所处的状态,因此PDPM模块在逻辑上设置了TCP状态信息采集单元来获取TCP协议执行过程中的当前状态,并将采集结果输出给分组标记单元。除了TCP协议当前所处的状态外,做出对一个输出分组是否标记的决断还要依据该分组本身的性质,例如该分组是否为重发分组,以及重发的原因等。在TCP协议的具体实现中,协议执行过程中的当前状态是全局量,不难从全局的数据结构(如果嵌入的TCP是软件实现的)或相应的寄存器(如果嵌入的TCP是硬件实现的)中拿到。但不管嵌入的TCP是软件实现的或硬件实现的,分组本身的性质一般是局部量。只有TCP实现中的个别功能单元保留关于一个分组的分组性质的部分信息作为本地信息,例如将用户数据组装成分组的单元和缓存重发分组的单元,因此几乎不可能靠读取某个数据结构或某个寄存器的值,来判断一个到达PDPM模块的、等待标记的分组是否为重发分组,因此,本发明的PDPM模块中用分组信息通报单元来逻辑表示有关一个分组性质的信息是由TCP实现中的多个相关模块通过对该分组的特定结构的标记后通报给分组标记单元的。
需要强调的是,本发明的PDPM模块中,除分组标记单元是一个在原有TCP实现上的新增模块外,TCP状态信息采集单元和分组信息通报单元主要是为了说明原理的逻辑设置,它们的主要功能是由改造散布在原有TCP实现中的相应模块实现的。我们采用TCP状态信息采集单元和分组信息通报单元的表达方式,主要是为了清楚地说明哪些原有TCP实现中的模块与PDPM模块有关,以及如何改造这些模块使得它们能够满足对分组实施标记的要求。PDPM模块中的TCP状态信息采集单元在本发明下面给出的标记准则中,主要是依靠TCP的当前拥塞控制窗口作为TCP的状态信息,以一个分组是否为重发分组作为该分组的性质信息,所以对应的TCP状态信息采集单元是对TCP实现中保存当前拥塞控制窗口的变量(软件实现)或寄存器(硬件实现)的读取。PDPM模块中的分组信息通报单元通报一个等待标记的分组是否为重发分组较为麻烦,要涉及原有TCP实现中的多个模块。本发明给出了图5所示的分组信息通报单元的设计,它包括原有TCP实现中的分组装配模块,重传缓存模块和分组调度模块。分组装配模块的任务是将用户数据组装成TCP分组,重传缓存模块的任务是保留已经送出分组的副本以备重发,而分组调度模块的任务是根据TCP协议的进程状态确定是将新组装的分组拿来发送,还是重发存放在重传缓存模块中的已发送分组的副本。对于具体的TCP实现来说,这些模块的叫法可能会有不同,但在所有的TCP实现中都能找到名字可能不同,但实现类似功能的相应功能单元。由于分组调度模块实际上是一个很大的模块,几乎要涉及TCP的慢启动、超时重发和快速恢复等全部关键进程,因此对它进行改动是不明智的,本发明把着眼点放在对分组装配模块和重传缓存模块的改动上。首先,本发明要求在分组头的数据结构中设置一个分组信息通报比特,用以在PDPM模块中标记和通报一个分组的分组性质信息。而本发明对在分组装配模块和重传缓存模块的改动是分组装配模块组装一个新组分组时总是将分组信息通报比特的值置为1;重传缓存模块在每接纳一个新的已送出分组的副本时,总是将该副本的分组信息通报比特的值置为0;这样不管分组调度模块做出怎样的决断和行动,到达分组标记单元的分组上的分组信息通报比特,总是携带了关于该分组是否为重发分组的正确信息如果分组信息通报比特的值为1,则该分组不是重发分组;如果分组信息通报比特的值为0,则该分组是重发分组。除了对原有TCP实现所做的改动极小以外,这样设计的另一个优点是能够简化分组标记的实施算法,我们可以先在只考察TCP状态的条件下对是否标记一个分组做出决断n(n=1为标记分组,n=0为不标记分组),然后再将该分组的分组信息通报比特的值和决断n进行逻辑与(比特AND运算),并将结果作为该分组PDPI比特的值,这样就保证了不标记所有的重发分组。如果采用ECN比特作为PDPI比特,则本发明建议就采用ECN比特作为分组信息通报比特。PDPM模块中的分组标记单元参照图6,PDPM模块的分组标记单元由标记准则、标记值预计算和实施标记三个主要模块构成。实际上可以有多种标记准则,每种标记准则对应于一类标记值的计算方法,而每一种算法又对应一组硬件电路或一段软件程序。当然也可以将不同准则所确定的多个算法集成到一套硬件电路或一组软件程序中去,用外部参数设定的方式选择不同的准则和准则所对应的算法。为了强调这一点,我们在图6中将标记值预计算模块和实施标记模块放在标记准则模块的框内。需要强调的另一个问题是,在我们给出的分组标记单元的实现中,将下面论述的分组标记准则所确定的算法分成了两个组成部分,分别被包括在标记值预计算模块和实施标记模块中,这样做的原因是为了实现简单。可以有多种对分组的标记准则,本发明给出了如下的两个分组标记准则PDPI比特的随机标记该准则有两个预置量拥塞窗口门限W_Th和标记概率p,以及两个输入信息当前拥塞控制窗口CWND(与TCP协议状态有关)和要标记的分组是否为重发分组(与分组性质有关)。具体的准则是只有当CWND>W_Th且一个分组不为重发分组时,才对该分组以概率p进行标记。本发明建议拥塞窗口门限W_Th的值大于3,并建议首选4;本发明还建议标记概率p的值取在0.2到1之间,并主要在0.8-1.0的区间挑选。
PDPI比特的循环标记该准则也有两个预置量拥塞窗口门限W_Th和标记周期d,以及两个输入信息当前拥塞控制窗口CWND(与TCP协议状态有关)和要标记的分组是否为重发分组(与分组性质有关)。具体的准则是要标记一个分组时,只有当前面要标记的连续d-1个分组均可以标记(不是重发分组且在确定是否标记这些分组时均有CWND>W_Th),却没有标记(这d-1个分组PDPI比特的值均被置成了0),才对当前要标记的分组标记(即置该分组的PDPI比特为1)。同样的本发明建议拥塞窗口门限W_Th的值大于3,并建议首选4;本发明还建议标记周期d的值取在1到10之间。
对应于随机标记准则的标记值预计算模块,采用随机标记算法实现这个准则,其控制流程示于图7。随机标记算法的输入包括来自TCP状态信息采集单元的当前拥塞控制窗口CWND预置的拥塞窗口门限W_Th和标记概率p,它的输出是预计算的标记值n,若CWND≤W_Th则置n=0,否则进行一个独立随机实验,即独立地产生一个在0,1内均匀分布的随机数X,若X<p则置n=1,否则置n=0。
对应于循环标记准则的标记值预计算模块,采用循环标记算法实现这个准则,其控制流程示于图8。循环标记算法的输入包括来自TCP状态信息采集单元的当前拥塞控制窗口CWND,来自分组信息通报单元的分组通报信息,分组通报信息不但包括分组信息通报比特的值R(R=0表示分组为重发分组,R=1表示分组为非重发分组),而且包括是否有分组等待标记的信息k(k=0表示没有分组等待标记,k=1表示有分组等待标记),以及预置的拥塞窗口门限W_Th和标记周期d;循环标记算法的输出也是预计算的标记值n;在循环标记算法中有一个具有外部清零端口的循环计数器,每当循环计数器的计数值c等于预置的标记周期d时,循环计数器自动将计数值c置回0。循环标记算法的工作过程如下每当有一个非重发分组等待标记则若CWND>W_Th则循环计数器的值c加1,若计数后的值c=d-1则置n=1,否则置n=0;若CWND≤W_Th则对循环计数器清零;每当有一个重发分组等待标记则置n=0并对循环计数器清零;分组标记单元的实施标记模块的构成见图9,它的输入为随机标算法或循环标记算法输出的标记值n,和分组通报信息单元输出的分组信息通报比特的值R,实施标记模块的任务是将R AND n(R与n的逻辑与或算术乘)的结果写入分组的PDPI比特。IP网络的优先级队列管理机制由于采用了PDPI比特携带信息的方式,原则上说PDPM机制可以采用任何种类的网络优先级队列管理机制。只要保证将PDPI比特值为0的分组映射到高优先级,PDPI比特值为1的分组映射到低优先级,就能得到较好的性能资源占用比。本发明给出了下面适合于IP网络的DT-RED优先级队列管理机制的设计方案,网络结点采用丢尾的方式处理未标记的分组,而用RED的方式处理标记的分组。本发明的RED算法在计算平均队长l的方法上采用经典RED的算法。但在计算分组丢弃概率p的算法中,舍弃了经典RED算法中的防连续丢弃的守护措施。具体的说,在给定缓存下限Lmin、缓存上限Lmax和斜率倒数Maxp三个控制参数后,本发明采用下面公式从平均队长l计算分组丢弃概率pp=(l-Lmin)+(Lmax-Lmin)Maxp.]]>上式中(x)+的含义是如果x小于0则(x)+=0,否则(x)+=x。参照图10,IP网络的DT-RED优先级队列管理机制的实现由缓存、分组信息提取、缓存入口控制和入口控制参数计算四部分构成。缓存就是普通的FIFO存储器;分组信息提取模块提取每一个到达分组所携带的控制信息,DT-RED优先级队列管理机制需要的主要分组信息是分组的长度和分组PDPI比特的值;入口控制参数计算模块根据到达分组的分组信息和它自己收集到的缓存信息,做出是否接纳该到达分组的决断,与DT-RED优先级队列管理机制有关的主要缓存信息是当前缓存长度;缓存入口控制是一个执行单元,它根据入口控制参数计算模块输出的控制指令,实施丢弃新到分组或接纳新到分组入缓存的动作。本发明给出的DT-RED优先级队列管理机制的控制流程见图11,图中的参数L代表缓存的物理长度(即实际容量),q代表瞬时队长。图11的流程图的要点是当一个新分组到达后,若瞬时队长与新到达分组长度之和超出了缓存的物理长度,则丢弃该到达分组,否则检查新到达分组的PDPI比特,若PDPI比特为0则接纳该分组进入缓存,否则依RED所确定的概率来决断是否丢弃该分组。由于上面叙述的DT-RED优先级队列管理机制中,用RED的方法提早丢弃标记了的分组,为未标记的分组预先腾出了缓存空间,因此保护了处于弱势的TCP流。本发明建议RED的参数设置如下Lmin=0;Lmax=L,Maxp=0.5-1之间,并首选1。ATM网络的优先级队列管理机制如前所述,ATM的优先级队列管理分为信元级和分组级两类,它们的主要区别是在丢弃一个ATM信元时是否考察该信元所在的分组。ATM采用分组级的队列管理机制是由于ATM承载IP时出现的新问题所迫使的,不是ATM的本原技术,下面将首先陈述与本发明有关的ATM的信元级优先级队列管理机制。
由于CDPI比特的使用,PDPM机制下的ATM网络上的信元级优先级队列管理问题与IP网络上的优先级队列管理问题并没有本质的区别,只是后者将管理的对象从IP网络中的IP(或TCP)分组转变为ATM网络中的信元,因此前面段落的关于IP网络的优先级队列管理机制的所有陈述在将“分组”改变成“信元”和将“PDPI比特”改变为“CDPI比特”后,均适用于ATM网络上的信元级优先级队列管理机制,即PDPM机制可以和任何形式的ATM信元级优先级队列管理机制协同工作。在协同工作时应将CDPI比特值为0的信元映射到高优先级,CDPI比特值为1的信元映射到低优先级。同时,本发明建议使用前面给出的、对信元操作的DT-RED优先级队列管理机制作为在ATM网络上与PDPM机制适配的信元级优先级队列管理机制。为了强调它是作为ATM网络的信元级优先级队列管理机制,我们对它采用了CDT-ECD的命名。图10所示的RED的工作流程在将“分组”改变为“信元”和“PDPI比特”改变为“CDPI比特”后,就是ATM网络的CDT-ECD信元级优先级队列管理机制实现方案。
对于ATM的分组级的优先级队列管理机制,本发明给出了用(DT-EPD)+PPD的分组级优先级队列管理机制来适配PDPM机制的实现方案。在该方案中,网络结点采用DT+PPD方式处理未标记分组,而用PPD+EPD方式处理标记分组。由于PPD机制是一个成熟的信元丢弃机制,不属于本发明的发明内容,因此对它的工作原理简述如下PPD机制的主要特征是,一旦网络结点丢弃了某个分组的一个信元,则除了该分组的最后一个信元外,网络结点将丢弃该分组的所有后续到达信元。实施PPD机制的网络结点一般通过信元字头VC字段的内容识别信元所在的分组,但在实际设计中如何识别信元和它所在分组的关系是属于PPD机制的范畴,不是本发明要规范的内容。本发明利用PPD机制提供的识别给定信元所在分组的分组标识的功能P_ID()和确定该信元是否为分组的最后一个信元的功能Lst()给定一个信元c后,可以通过该功能发现该信元所在的分组P_ID(c)和该信元是否为所在分组的最后一个信元(Lst(c)=1表示是最后一个信元,Lst(c)=0表示不是最后一个信元)。实施(DT-EPD)+PPD管理机制的网络结点中存有一张表TBd,TBd的记录内容是那些已经有信元被丢弃,但尚未收到它的最后一个信元的分组的分组标识。
参照图12,本发明的(DT-EPD)+PPD的分组级优先级队列管理机制的实现由缓存,信元信息提取、缓存入口控制和入口控制参数计算四部分构成。缓存就是普通的FIFO存储器;信元信息提取模块提取每个到达信元所携带的控制信息,(DT-EPD)+PPD管理机制需要的主要信元信息是该信元CDPI比特的值CDPI(c)、该信元所属分组的分组标识P_ID(c)和该信元Lst(c)的值(即该信元是否为所属分组的最后一个信元);入口控制参数计算模块根据到达信元的信元信息和它自己收集到的缓存信息,做出是否接纳该到达信元的决断;缓存入口控制是一个执行单元,它根据入口控制参数计算模块输出的控制指令,实施丢弃新到信元或接纳新到信元进入缓存。本发明给出的(DT-EPD)+PPD管理机制的控制流程见图13,图中的参数L代表缓存的物理长度(即实际容量),q代表瞬时队长,L(c)代表信元长度。图13的流程图的要点是对每个新到达信元进行如下处理PPD检查进程当一个信元c到达时,网络结点首先发现该信元所在分组的P_IC(c),然后检查P_ID(c)是否记录在TBd中,若在TBd中查到了P_ID(c)的记录,则进入PPD进程,否则进入DT检查进程;PPD进程检查信元c是否为分组P_IC(c)的最后一个信元,若不是最后一个信元则丢弃该信元,否则将P_IC(c)的表项从TBd中删除,并检查实际缓存中是否还有容纳一个信元的物理空间,若没有则丢弃该信元,否则接纳该信元进入缓存;DT检查进程检查实际缓存中是否还有容纳一个信元的物理空间,若有则进入CDPI检查进程,否则进入CD进程(信元丢弃进程);CDPI检查进程抽取信元c的CDPI比特的值,若信元的CDPI比特为0则接纳该信元进入缓存,若信元的CDPI比特为1则进入EPD进程;EPD进程EPD机制与RED机制类似,始终估计平均信元队长l,并利用预选设置的缓存下限Lmin、缓存上限Lmax和斜率倒数Maxp三个控制参数,按下面公式计算信元的丢弃概率pp=(l-Lmin)+(Lmax-Lmin)Maxp.]]>并独立地产生一个在
内均匀分布的随机数X,若随机数X的值大于p则将该到达信元放入缓存,否则进入CD进程。
CD进程检查信元c是否为它所在分组P_IC(c)的最后一个信元,若是最后一个信元则直接丢弃该信元,否则将P_IC(c)写入TBd后丢弃该信元;虽然本发明给出了与PDPM联合使用的CDT-ECD信元级优先级队列管理机制和(DT-EPD)+PPD的分组级优先级队列管理机制的具体实现方案,但本发明并不限制在网络上使用其他类型的ATM优先级队列管理机制,甚至是使用任何非优先级队列管理机制。
最后需要说明的是,在现代技术和现代思维方式下,用“1”表示一个特定事件的“是”而用“0”表示一个特定事件的“非”并不是本质性的,所以本发明在用比特承载信息时的有关比特值的规定只有相对意义,完全可用相反逻辑来替代,并适当修正改变后所涉及的算法,而算法的修正应在一个合格的工程师的能力之内。
参考文献[1]S.Floyd,“A report on some recent developments in TCP congestion control,”June 5,2000,URL http//www.nrg.ee.lbl.gov/floyd/[2]S.Floyd and A.Romanov,“Dynamics of TCP traffic over ATM networks,”IEEEJournal on Selected Areas in Communications,vol.13,no.4,pp.633-641,1995.[3]R.Cohen and Y.Hamo,“Balanced Packet Discard for Improving TCP Performancein ATM Networks,”in Proc.IEEE Infocom’2000,March,2000.[4]S.Nagata,N.Morita,H.Noguchi and K.Miyake,“An Analysis of the Impact ofSuspending Cell Discarding in TCP-over-ATM,”in Proc.IEEE Infocom’2000,March,2000.
权利要求
1.分组丢弃优先选择标记的方法和电路,其主要特征是在TCP协议的分组结构中增加分组丢弃优先选择指示比特,在TCP协议的发送端根据当前的协议状态和发送分组的性质对每一个送出分组的丢弃优先选择指示比特进行标记,丢弃优先选择指示比特置0的分组称为未标记分组,相应的行动简称为不对该分组标记或不标记该分组;而丢弃优先选择指示比特置1的分组称为标记分组,相应的行动简称为对该分组标记或标记该分组;网络结点在实施队列管理时按分组丢弃优先选择指示比特的不同标记情况对分组实施不同的丢弃策略;为了保证在不增加协议传输开销的前提下实施分组丢弃优先选择标记机制,可以采用ECN比特作为分组丢弃优先选择指示比特,其主要特征是将ECN能力比特置0,通过标记ECN比特来反应当前的协议状态和标记分组的性质;
2.按照权利要求1所述的分组丢弃优先选择标记的方法和电路中,嵌入终端TCP发送协议部分的PDPM模块的设计方法和电路,其主要特征是改造原有TCP的部分功能单元实现TCP协议状态采集和分组信息通报,并通过新增加的分组标记单元根据TCP协议状态和分组信息实施对分组的标记;
3.按照权利要求1所述的分组丢弃优先选择标记的方法和电路,和按照权利要求2所述的嵌入终端TCP发送协议部分的PDPM模块的设计方法和电路中,丢弃优先选择指示比特的随机标记和循环标记两种标记准则和标记算法的控制方法和电路,其主要特征是,在随机标记中,设定一个拥塞窗口的标记门限w和标记概率p,在TCP当前的拥塞控制窗口大于标记门限w且正在考虑是否标记的分组不是重发分组时,依标记概率p对该分组标记,否则不标记该分组;在循环标记中,设定一个拥塞窗口的标记门限w和标记周期d,在TCP当前的拥塞控制窗口大于标记门限w且正在考虑是否标记的分组不是重发分组时,以周期d对分组进行标记,否则不标记该分组;
4.按照权利要求1所述的分组丢弃优先选择标记的方法和电路,和按照权利要求2所述的嵌入终端TCP发送协议部分的PDPM模块的设计方法和电路中,分组信息通报的实现方法和电路,其主要特征是利用分组头数据结构中的一个备用比特b,原有TCP协议的分组组装功能单元将新组装分组的比特b置为1,原有TCP协议的重发缓存功能单元将每一个存入的已发分组副本的比特b置为0,当PDPM模块标记一个分组时,先在不考虑该分组是否为重发分组的条件下,作出是否标记分组的决断n(n=1为标记分组,n=0为不标记分组),然后再将该分组比特b的值和决断n进行逻辑与(比特AND运算)的结果,作为该分组最终的分组丢弃优先选择指示比特的值,本发明建议就采用ECN比特作为比特b,但不坚持一定用ECN比特作为比特b,同样的,只要简单调整分组丢弃优先选择指示比特的值的计算方法,比特b决断n的赋值方法也可以改变;
5.按照权利要求1所述的分组丢弃优先选择标记的方法和电路中,采用ATM承载PDPM机制的TCP流的工作方法和电路,采用ATM信元字头的专用比特(称为信元丢弃优先选择比特)携带分组丢弃优先选择标记的信息,其主要特征是,在ATM信元的字头设定一个专用比特d做为信元丢弃优先选择比特,ATM网络边缘的ATM信元拆装单元在将分组拆卸成信元时,将同一个分组拆卸成的所有信元的比特d的值(或d的值的逻辑反),设置为该分组的分组丢弃优先选择指示比特的值;同样的,ATM网络边缘的ATM信元拆装单元在将信元组装成分组时,将该分组的分组丢弃优先选择指示比特的值设置为该分组所对应的第一个信元的比特d的值(或d的值的逻辑反);本发明建议首选CLP比特,当由于其它原因不能使用CLP比特时,首先考虑在PT字段中选取相应的比特作为这个指定比特d;
6.按照权利要求1所述的分组丢弃优先选择标记的方法和电路中,网络结点采用优先级队列管理的方法和电路,其主要特征是,网络结点的优先级队列管理中,给未标记的分组分配较高的优先级,而给标记的分组分配较低的优先级,从而保护了协议处于弱势状态的TCP流;
7.按照权利要求1所述的分组丢弃优先选择标记的方法和电路,和权利要求6所述的网络结点优先级队列管理的方法和电路中,适用于IP网络承载PDPM机制的TCP流的DT-RED的优先级队列管理机制的方法和电路,其主要特征是网络结点采用丢尾(DT)的方式处理未标记的分组,而用随机提前丢弃(RED)的方式处理标记的分组;
8.按照权利要求1所述的分组丢弃优先选择标记的方法和电路,和权利要求6所述的网络结点优先级队列管理的方法和电路中,适用于ATM承载PDPM机制的TCP流的CDT-ECD的信元级优先级队列管理机制的方法和电路,其主要特征是,网络结点采用信元丢尾(CDT)的方式处理信元丢弃优先选择比特的值为0的信元,而用提前丢弃信元(ECD)的方式处理信元丢弃优先选择比特的值为1的信元;
9.按照权利要求1所述的分组丢弃优先选择标记的方法和电路,和权利要求6所述的网络结点优先级队列管理的方法和电路中,适用于ATM承载PDPM机制的TCP流的(DT-EPD)+PPD的分组级优先级队列管理机制的方法和电路,其主要特征是,网络结点采用丢弃不完整分组与丢尾相结合(DT+PPD)的方式处理属于未标记分组的信元,而用丢弃不完整分组和与提前丢弃分组相结合(EPD+PPD)的方式处理属于标记分组的信元。
全文摘要
分组丢弃优先选择标记的方法与电路能使因特网更为公平地向用户提供带宽和提高ATM承载TCP的效率。其主要技术特征是在TCP协议分组结构中增加分组丢弃优先选择指示比特,在TCP协议发送端根据协议状态和分组性质对每个发送分组进行丢弃优先选择标记,网络结点对不同标记的分组实施不同的丢弃策略,从而保护处于弱势的TCP连接,机制实现简单,没有传输附加开销,网络机制可以无流状态实现,完好保持了IP技术原有的可扩展性特征。
文档编号H04L12/56GK1377161SQ0111002
公开日2002年10月30日 申请日期2001年3月27日 优先权日2001年3月27日
发明者陈常嘉, 赵永祥, 宋光农 申请人:陈常嘉
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1