專利名稱:分組丟棄優(yōu)先選擇標記的方法和電路的制作方法
技術領域:
本發(fā)明涉及因特網(wǎng)中的TCP協(xié)議,ATM方式承載TCP,以及與TCP的承載、控制有關的其它網(wǎng)絡協(xié)議。
TCP協(xié)議是目前因特網(wǎng)中主要的業(yè)務承載協(xié)議,由IETF(因特網(wǎng)工程組)的文件RFC 793規(guī)范,但在實踐中有多種實現(xiàn)。作為端到端的擁塞控制機制,TCP成功地為目前因特網(wǎng)提供了業(yè)務,并有效地防止了網(wǎng)絡的擁塞崩潰。但作為協(xié)議本身,TCP也存在不少問題,因此不斷有對于TCP改進的提案出現(xiàn),關于最新的對TCP改進建議的較為完整的報告見[1]。TCP協(xié)議的存在問題之一是它為相同網(wǎng)絡條件下的用戶所提供的帶寬并不相同,特別是當網(wǎng)絡結點的緩存數(shù)量與接入的TCP流的數(shù)目比值相對較小時,連接所可能獲得的最大帶寬和最小帶寬之差與平均帶寬的比可高達15%-20%,這主要是由于網(wǎng)絡結點在實施隊列管理時,未能區(qū)分不同TCP連接所處的協(xié)議狀態(tài),雖然它對于每一個TCP流所丟棄的分組數(shù)大致相同,但處于強勢狀態(tài)的TCP流(當前的擁塞控制窗口較大)能較好地承受分組的丟失,通過擁塞避免機制仍能保持較大的吞吐量,而處于弱勢狀態(tài)的TCP流(當前的擁塞控制窗口較小或丟棄的是一個重發(fā)分組等等)則不能承受分組的丟失,回退到慢啟動階段。當網(wǎng)絡結點的分組丟棄率較高時,這種初始的和/或偶發(fā)的不平衡會被維持下去,造成有些TCP連接的吞吐量偏高而有些偏低的不公平局面。當采用ATM的UBR和ABR業(yè)務承載TCP時,還出現(xiàn)了TCP匯聚吞吐量明顯下降的新問題,早期的研究導致了EPD(提前丟棄分組Early Packet Discard)算法的發(fā)明[2]。最新的研究表明,即使是使用了EPD技術,TCP在采用ATM的UBR和ABR業(yè)務承載時仍會相對頻繁地出現(xiàn)超時問題[3,4],文獻[3]和[4]的作者也將其歸咎為前面提到的類似原因,并相應地提出了在網(wǎng)絡側分別對每一個TCP流分別進行處理的改進方案。由于可能接入一個結點的TCP流的數(shù)目會非常之大,網(wǎng)絡結點對每一個TCP流進行分別處理會顯得過于復雜,因此有必要尋求無流狀態(tài)的實現(xiàn)辦法。
本發(fā)明的目的是通過TCP發(fā)送終端對發(fā)送分組進行分組丟棄優(yōu)先選擇標記(以下簡稱為PDPMPacket Discard Preferred Marking),由網(wǎng)絡按每個分組的標記內容對分組實施不同的丟棄策略,來達到平衡各TCP流間的吞吐量,以及提高ATM承載時TCP流所獲得的吞吐量。
為了簡化文字,本發(fā)明在后面的所有敘述部分將用縮寫PDPM代表分組丟棄優(yōu)先選擇標記,用縮寫PDPM機制代表分組丟棄優(yōu)先選擇標記機制,本發(fā)明的解決方案是在TCP協(xié)議的分組結構中增加分組丟棄優(yōu)先選擇指示比特(以下簡稱為PDPI比特Packet Discard Preferred Indication),在TCP協(xié)議的發(fā)送端根據(jù)當前的協(xié)議狀態(tài)和發(fā)送分組的性質對每一個送出分組的PDPI比特進行標記,PDPI比特置0的分組稱為未標記分組,相應的行動簡稱為不對該分組標記或不標記該分組;而PDPI比特置1的分組稱為標記分組,相應的行動簡稱為對該分組標記或標記該分組;網(wǎng)絡結點在實施隊列管理時按分組PDPI比特值的不同對分組實施不同的丟棄策略。
為了在不增加協(xié)議傳輸開銷的前提下實施PDPM機制,本發(fā)明建議采用ECN比特作為分組的PDPI比特,并通過將ECN能力比特置0來區(qū)別使用的是PDPM機制還是ECN機制,但為了實現(xiàn)的靈活性,本發(fā)明并不一定堅持這種攜帶分組丟棄優(yōu)先選擇指示的分組結構方式。
作為分組標記的方法,本發(fā)明給出了分組PDPI比特的隨機標記和循環(huán)標記兩類算法。在隨機標記算法中預先設定一個擁塞窗口的標記門限W_Th和標記概率p,在TCP當前的擁塞控制窗口大于標記門限W_Th且正在考慮是否標記的分組不是重發(fā)分組時,依標記概率p對該分組標記,否則不標記該分組;在循環(huán)標記算法中預先設定一個擁塞窗口的標記門限W_Th和標記周期d,在TCP當前的擁塞控制窗口大于標記門限W_Th且正在考慮是否標記的分組不是重發(fā)分組時,以標記周期d對分組進行標記。為了在TCP的具體實現(xiàn)中向PDPM機制傳遞分組的重發(fā)狀態(tài)信息,本發(fā)明給出了利用分組頭數(shù)據(jù)結構中的一個指定比特來進行信息傳遞的設計方案,并建議就采用ECN比特作為這個指定比特。
為了在采用ATM承載PDPM機制的TCP流的工作方式中簡化網(wǎng)絡的處理功能,以及為了跨過ATM網(wǎng)絡傳輸段透明傳遞PDPM信息,本發(fā)明采用ATM信元字頭的一個指定比特攜帶PDPM的信息,并稱這個指定比特為信元丟棄優(yōu)先選擇比特(以下簡稱為CDPI比特Cell DiscardPreferred Indication)。對于CDPI比特的位置,建議首選CLP比特,其次考慮PT字段的比特。
本發(fā)明的PDPM機制可以和任何網(wǎng)絡結點的優(yōu)先級隊列管理策略適配,適配的原則是給未標記的分組分配較高的優(yōu)先級,而給標記的分組分配較低的優(yōu)先級,從而保護了協(xié)議處于弱勢狀態(tài)的TCP流。特別的,本發(fā)明給出了適合于IP網(wǎng)絡的DT-RED優(yōu)先級隊列管理機制,以及適用于ATM承載TCP流的CDT-ECD的信元級優(yōu)先級隊列管理機制和(DT-EPD)+PPD的分組級優(yōu)先級隊列管理機制,來適配PDPM機制的設計方案。在DT-RED優(yōu)先級隊列管理機制設計方案中,網(wǎng)絡結點采用丟尾(DTDrop Tail)的方式處理未標記的分組,而用隨機提前丟棄(REDRandom Early Drop)的方式處理標記的分組;在CDT-ECD的信元級ATM優(yōu)先級隊列管理機制設計方案中,網(wǎng)絡結點采用信元丟尾(CDTCell Drop Tail)的方式處理未標記分組的信元,而用提前丟棄信元(ECDEarly Cell Discard)的方式處理標記分組的信元;在(DT-EPD)+PPD的分組級ATM優(yōu)先級隊列管理機制設計方案中,網(wǎng)絡結點采用以丟棄不完整分組(PPDPartial Packet Discard)和丟尾相結合(DT+PPD)的方式處理未標記分組,而用丟棄不完整分組和與提前丟棄分組相結合(EPD+PPD)的方式處理標記分組。
本發(fā)明具有下列積極效果在采用了本方法后,能在因特網(wǎng)上更為公平地向用戶提供帶寬,以及提高ATM承載TCP的效率。本發(fā)明所發(fā)明的機制實現(xiàn)簡單,沒有網(wǎng)絡傳輸?shù)母郊娱_銷,網(wǎng)絡的相關機制可以無流狀態(tài)實現(xiàn),完好保持了IP技術原有的可擴展性特征。
下面對照附圖進行詳細說明本發(fā)明的PDPM機制的方法與實現(xiàn)電路??傮w構成本發(fā)明在IP網(wǎng)絡上的總體構成見
圖1,本發(fā)明在分組結構中采用ECN比特作為分組的PDPI比特,并通過將ECN能力比特置0來區(qū)別使用的是PDPM機制還是ECN機制。本發(fā)明的控制機制由兩個主要部分組成嵌入終端TCP發(fā)送協(xié)議部分的PDPM機制和網(wǎng)絡所采用的優(yōu)先級隊列管理機制部分。PDPI比特所攜帶的信息是連接這兩部分工作的關鍵。正是這種信息通報機制保證了網(wǎng)絡控制機制的簡單性和可擴展性,同時保證了終端控制機制和網(wǎng)絡控制機制的相對獨立性,通過PDPI的適當優(yōu)先級適配,終端的PDPM機制可以和網(wǎng)絡上的任何優(yōu)先級隊列管理機制共同工作而不致引起沖突。在圖1中顯示的分組結構是本發(fā)明建議的分組結構方式,即采用ECN比特作為分組的PDPI比特,并通過將ECN能力比特置0來區(qū)別使用的是PDPM機制還是ECN機制,但為了實現(xiàn)的靈活性,本發(fā)明并不堅持這種攜帶PDPI的分組結構方式,也可以采用分組字頭的任意指定比特為PDPI比特。
當采用ATM方式承載TCP流時,本發(fā)明的總體構成示于圖2。除了嵌入終端TCP發(fā)送協(xié)議部分的PDPM機制部分外,主要涉及ATM網(wǎng)緣的ATM信元拆裝單元和ATM網(wǎng)內的優(yōu)先級隊列管理機制。采用ATM方式承載TCP流時,終端協(xié)議部分的PDPM機制與IP網(wǎng)絡上的相同,而與圖1所示的在IP網(wǎng)絡上總體構成的主要不同是在ATM段的傳輸和交換。采用PDPM的分組在進入ATM網(wǎng)絡時,首先由ATM網(wǎng)緣的ATM信源拆裝單元將分組拆卸成多個ATM信元。本發(fā)明要求在拆卸過程中,采用ATM信元字頭的CDPI比特攜帶PDPM信息,將每個分組所拆卸成的所有信元字頭的CDPI比特的值,置為該分組的PDPI的值。本發(fā)明建議首選ATM信元字頭的CLP比特作為CDPI比特,當由于其它原因不能使用CLP比特時,首先考慮在PT字段中選取相應的比特。在圖2中顯示的是采用CLP比特攜帶CDPI的選擇,但本發(fā)明并不堅持一定要用CLP比特攜帶CDPI信息。TCP分組被ATM信源拆裝單元拆卸后,以ATM信元的方式在ATM網(wǎng)絡上傳輸和交換,ATM信元字頭的CDPI比特,就成為在終端的PDPM機制和ATM網(wǎng)絡的信元級優(yōu)先級隊列管理機制之間通報信息的主要手段。但要注意的是,幾乎所有已知的針對承載TCP的高效ATM隊列管理機制都不只是局限在信元級。例如ATM隊列管理機制中最著名的PPD和EPD管理機制都試圖在ATM層進行分組級別的管理[2],因此都需要ATM鏈路層協(xié)議所提供的信息加以支持。由于在PDPM機制下利用ATM鏈路層協(xié)議信息支持分組級別的優(yōu)先級隊列管理的方法,與非優(yōu)先級隊列管理采用的方法相同,因此結合ATM信元字頭的CDPI信息與ATM鏈路層信息支持ATM層分組級別的優(yōu)先級隊列管理機制不會成為問題。
圖3是可能的實際網(wǎng)絡環(huán)境的示意圖。一個TCP連接可能會先在IP網(wǎng)絡上經過多個網(wǎng)絡結點,然后進入ATM網(wǎng)絡,從ATM網(wǎng)絡出來后又要經過一段IP網(wǎng)絡才最終到達目的終端,甚至會出現(xiàn)IP網(wǎng)絡和ATM網(wǎng)絡轉接多次的情況。為了使PDPM信息能在所有網(wǎng)段透明傳輸,本發(fā)明規(guī)定,ATM網(wǎng)絡邊緣的ATM信元拆裝單元在將分組拆卸成信元時,將同一個分組所拆卸成的所有信元CDPI比特的值,設置為該分組PDPI比特的值;同樣的,ATM網(wǎng)絡邊緣的ATM信元拆裝單元在將信元組裝成分組時,將該分組PDPI比特的值設置為該分組所對應的第一個信元的CDPI比特的值。這樣保證了TCP的PDPM機制能以PDPI比特的形式在IP網(wǎng)絡上通報IP網(wǎng)絡控制所需信息,以CDPI比特在ATM網(wǎng)絡上通報ATM網(wǎng)絡控制所需信息,分別指導這兩個網(wǎng)絡上相應的優(yōu)先級隊列管理機制實施相應的控制。當采用ECN比特作為PDPI比特時,可以采用ATM信令的方式完成跨接ATM網(wǎng)絡后ECN能力比特的設定問題。嵌入終端TCP發(fā)送協(xié)議部分的PDPM機制一個成熟的TCP協(xié)議的實現(xiàn)是要經過嚴格的考核和長期的試用的,而一個成功的TCP協(xié)議的實現(xiàn)不僅要成熟,而且還要伴有強大的商業(yè)運作和適當?shù)纳虡I(yè)機會。因此本發(fā)明的主要目標是如何將PDPM機制嵌入到已有TCP的實現(xiàn)中,而不是如何重新設計一個具有PDPM機制的TCP協(xié)議實現(xiàn)。PDPM模塊將PDPI機制嵌入TCP實現(xiàn)的合理位置是在TCP發(fā)送協(xié)議部分,而嵌入的部分我們稱為PDPM模塊。PDPM模塊的主要組成示于圖4,分為分組標記、TCP狀態(tài)信息采集和分組信息通報三個主要組成單元。分組標記單元存放具體的標記準則、執(zhí)行該標記準則所對應的算法并最后實施對分組的標記。對一個輸出分組是否標記,即確定該分組的PDPI比特的值是0還是1,必須依靠TCP協(xié)議當前所處的狀態(tài),因此PDPM模塊在邏輯上設置了TCP狀態(tài)信息采集單元來獲取TCP協(xié)議執(zhí)行過程中的當前狀態(tài),并將采集結果輸出給分組標記單元。除了TCP協(xié)議當前所處的狀態(tài)外,做出對一個輸出分組是否標記的決斷還要依據(jù)該分組本身的性質,例如該分組是否為重發(fā)分組,以及重發(fā)的原因等。在TCP協(xié)議的具體實現(xiàn)中,協(xié)議執(zhí)行過程中的當前狀態(tài)是全局量,不難從全局的數(shù)據(jù)結構(如果嵌入的TCP是軟件實現(xiàn)的)或相應的寄存器(如果嵌入的TCP是硬件實現(xiàn)的)中拿到。但不管嵌入的TCP是軟件實現(xiàn)的或硬件實現(xiàn)的,分組本身的性質一般是局部量。只有TCP實現(xiàn)中的個別功能單元保留關于一個分組的分組性質的部分信息作為本地信息,例如將用戶數(shù)據(jù)組裝成分組的單元和緩存重發(fā)分組的單元,因此幾乎不可能靠讀取某個數(shù)據(jù)結構或某個寄存器的值,來判斷一個到達PDPM模塊的、等待標記的分組是否為重發(fā)分組,因此,本發(fā)明的PDPM模塊中用分組信息通報單元來邏輯表示有關一個分組性質的信息是由TCP實現(xiàn)中的多個相關模塊通過對該分組的特定結構的標記后通報給分組標記單元的。
需要強調的是,本發(fā)明的PDPM模塊中,除分組標記單元是一個在原有TCP實現(xiàn)上的新增模塊外,TCP狀態(tài)信息采集單元和分組信息通報單元主要是為了說明原理的邏輯設置,它們的主要功能是由改造散布在原有TCP實現(xiàn)中的相應模塊實現(xiàn)的。我們采用TCP狀態(tài)信息采集單元和分組信息通報單元的表達方式,主要是為了清楚地說明哪些原有TCP實現(xiàn)中的模塊與PDPM模塊有關,以及如何改造這些模塊使得它們能夠滿足對分組實施標記的要求。PDPM模塊中的TCP狀態(tài)信息采集單元在本發(fā)明下面給出的標記準則中,主要是依靠TCP的當前擁塞控制窗口作為TCP的狀態(tài)信息,以一個分組是否為重發(fā)分組作為該分組的性質信息,所以對應的TCP狀態(tài)信息采集單元是對TCP實現(xiàn)中保存當前擁塞控制窗口的變量(軟件實現(xiàn))或寄存器(硬件實現(xiàn))的讀取。PDPM模塊中的分組信息通報單元通報一個等待標記的分組是否為重發(fā)分組較為麻煩,要涉及原有TCP實現(xiàn)中的多個模塊。本發(fā)明給出了圖5所示的分組信息通報單元的設計,它包括原有TCP實現(xiàn)中的分組裝配模塊,重傳緩存模塊和分組調度模塊。分組裝配模塊的任務是將用戶數(shù)據(jù)組裝成TCP分組,重傳緩存模塊的任務是保留已經送出分組的副本以備重發(fā),而分組調度模塊的任務是根據(jù)TCP協(xié)議的進程狀態(tài)確定是將新組裝的分組拿來發(fā)送,還是重發(fā)存放在重傳緩存模塊中的已發(fā)送分組的副本。對于具體的TCP實現(xiàn)來說,這些模塊的叫法可能會有不同,但在所有的TCP實現(xiàn)中都能找到名字可能不同,但實現(xiàn)類似功能的相應功能單元。由于分組調度模塊實際上是一個很大的模塊,幾乎要涉及TCP的慢啟動、超時重發(fā)和快速恢復等全部關鍵進程,因此對它進行改動是不明智的,本發(fā)明把著眼點放在對分組裝配模塊和重傳緩存模塊的改動上。首先,本發(fā)明要求在分組頭的數(shù)據(jù)結構中設置一個分組信息通報比特,用以在PDPM模塊中標記和通報一個分組的分組性質信息。而本發(fā)明對在分組裝配模塊和重傳緩存模塊的改動是分組裝配模塊組裝一個新組分組時總是將分組信息通報比特的值置為1;重傳緩存模塊在每接納一個新的已送出分組的副本時,總是將該副本的分組信息通報比特的值置為0;這樣不管分組調度模塊做出怎樣的決斷和行動,到達分組標記單元的分組上的分組信息通報比特,總是攜帶了關于該分組是否為重發(fā)分組的正確信息如果分組信息通報比特的值為1,則該分組不是重發(fā)分組;如果分組信息通報比特的值為0,則該分組是重發(fā)分組。除了對原有TCP實現(xiàn)所做的改動極小以外,這樣設計的另一個優(yōu)點是能夠簡化分組標記的實施算法,我們可以先在只考察TCP狀態(tài)的條件下對是否標記一個分組做出決斷n(n=1為標記分組,n=0為不標記分組),然后再將該分組的分組信息通報比特的值和決斷n進行邏輯與(比特AND運算),并將結果作為該分組PDPI比特的值,這樣就保證了不標記所有的重發(fā)分組。如果采用ECN比特作為PDPI比特,則本發(fā)明建議就采用ECN比特作為分組信息通報比特。PDPM模塊中的分組標記單元參照圖6,PDPM模塊的分組標記單元由標記準則、標記值預計算和實施標記三個主要模塊構成。實際上可以有多種標記準則,每種標記準則對應于一類標記值的計算方法,而每一種算法又對應一組硬件電路或一段軟件程序。當然也可以將不同準則所確定的多個算法集成到一套硬件電路或一組軟件程序中去,用外部參數(shù)設定的方式選擇不同的準則和準則所對應的算法。為了強調這一點,我們在圖6中將標記值預計算模塊和實施標記模塊放在標記準則模塊的框內。需要強調的另一個問題是,在我們給出的分組標記單元的實現(xiàn)中,將下面論述的分組標記準則所確定的算法分成了兩個組成部分,分別被包括在標記值預計算模塊和實施標記模塊中,這樣做的原因是為了實現(xiàn)簡單??梢杂卸喾N對分組的標記準則,本發(fā)明給出了如下的兩個分組標記準則PDPI比特的隨機標記該準則有兩個預置量擁塞窗口門限W_Th和標記概率p,以及兩個輸入信息當前擁塞控制窗口CWND(與TCP協(xié)議狀態(tài)有關)和要標記的分組是否為重發(fā)分組(與分組性質有關)。具體的準則是只有當CWND>W(wǎng)_Th且一個分組不為重發(fā)分組時,才對該分組以概率p進行標記。本發(fā)明建議擁塞窗口門限W_Th的值大于3,并建議首選4;本發(fā)明還建議標記概率p的值取在0.2到1之間,并主要在0.8-1.0的區(qū)間挑選。
PDPI比特的循環(huán)標記該準則也有兩個預置量擁塞窗口門限W_Th和標記周期d,以及兩個輸入信息當前擁塞控制窗口CWND(與TCP協(xié)議狀態(tài)有關)和要標記的分組是否為重發(fā)分組(與分組性質有關)。具體的準則是要標記一個分組時,只有當前面要標記的連續(xù)d-1個分組均可以標記(不是重發(fā)分組且在確定是否標記這些分組時均有CWND>W(wǎng)_Th),卻沒有標記(這d-1個分組PDPI比特的值均被置成了0),才對當前要標記的分組標記(即置該分組的PDPI比特為1)。同樣的本發(fā)明建議擁塞窗口門限W_Th的值大于3,并建議首選4;本發(fā)明還建議標記周期d的值取在1到10之間。
對應于隨機標記準則的標記值預計算模塊,采用隨機標記算法實現(xiàn)這個準則,其控制流程示于圖7。隨機標記算法的輸入包括來自TCP狀態(tài)信息采集單元的當前擁塞控制窗口CWND預置的擁塞窗口門限W_Th和標記概率p,它的輸出是預計算的標記值n,若CWND≤W_Th則置n=0,否則進行一個獨立隨機實驗,即獨立地產生一個在0,1內均勻分布的隨機數(shù)X,若X<p則置n=1,否則置n=0。
對應于循環(huán)標記準則的標記值預計算模塊,采用循環(huán)標記算法實現(xiàn)這個準則,其控制流程示于圖8。循環(huán)標記算法的輸入包括來自TCP狀態(tài)信息采集單元的當前擁塞控制窗口CWND,來自分組信息通報單元的分組通報信息,分組通報信息不但包括分組信息通報比特的值R(R=0表示分組為重發(fā)分組,R=1表示分組為非重發(fā)分組),而且包括是否有分組等待標記的信息k(k=0表示沒有分組等待標記,k=1表示有分組等待標記),以及預置的擁塞窗口門限W_Th和標記周期d;循環(huán)標記算法的輸出也是預計算的標記值n;在循環(huán)標記算法中有一個具有外部清零端口的循環(huán)計數(shù)器,每當循環(huán)計數(shù)器的計數(shù)值c等于預置的標記周期d時,循環(huán)計數(shù)器自動將計數(shù)值c置回0。循環(huán)標記算法的工作過程如下每當有一個非重發(fā)分組等待標記則若CWND>W(wǎng)_Th則循環(huán)計數(shù)器的值c加1,若計數(shù)后的值c=d-1則置n=1,否則置n=0;若CWND≤W_Th則對循環(huán)計數(shù)器清零;每當有一個重發(fā)分組等待標記則置n=0并對循環(huán)計數(shù)器清零;分組標記單元的實施標記模塊的構成見圖9,它的輸入為隨機標算法或循環(huán)標記算法輸出的標記值n,和分組通報信息單元輸出的分組信息通報比特的值R,實施標記模塊的任務是將R AND n(R與n的邏輯與或算術乘)的結果寫入分組的PDPI比特。IP網(wǎng)絡的優(yōu)先級隊列管理機制由于采用了PDPI比特攜帶信息的方式,原則上說PDPM機制可以采用任何種類的網(wǎng)絡優(yōu)先級隊列管理機制。只要保證將PDPI比特值為0的分組映射到高優(yōu)先級,PDPI比特值為1的分組映射到低優(yōu)先級,就能得到較好的性能資源占用比。本發(fā)明給出了下面適合于IP網(wǎng)絡的DT-RED優(yōu)先級隊列管理機制的設計方案,網(wǎng)絡結點采用丟尾的方式處理未標記的分組,而用RED的方式處理標記的分組。本發(fā)明的RED算法在計算平均隊長l的方法上采用經典RED的算法。但在計算分組丟棄概率p的算法中,舍棄了經典RED算法中的防連續(xù)丟棄的守護措施。具體的說,在給定緩存下限Lmin、緩存上限Lmax和斜率倒數(shù)Maxp三個控制參數(shù)后,本發(fā)明采用下面公式從平均隊長l計算分組丟棄概率pp=(l-Lmin)+(Lmax-Lmin)Maxp.]]>上式中(x)+的含義是如果x小于0則(x)+=0,否則(x)+=x。參照圖10,IP網(wǎng)絡的DT-RED優(yōu)先級隊列管理機制的實現(xiàn)由緩存、分組信息提取、緩存入口控制和入口控制參數(shù)計算四部分構成。緩存就是普通的FIFO存儲器;分組信息提取模塊提取每一個到達分組所攜帶的控制信息,DT-RED優(yōu)先級隊列管理機制需要的主要分組信息是分組的長度和分組PDPI比特的值;入口控制參數(shù)計算模塊根據(jù)到達分組的分組信息和它自己收集到的緩存信息,做出是否接納該到達分組的決斷,與DT-RED優(yōu)先級隊列管理機制有關的主要緩存信息是當前緩存長度;緩存入口控制是一個執(zhí)行單元,它根據(jù)入口控制參數(shù)計算模塊輸出的控制指令,實施丟棄新到分組或接納新到分組入緩存的動作。本發(fā)明給出的DT-RED優(yōu)先級隊列管理機制的控制流程見圖11,圖中的參數(shù)L代表緩存的物理長度(即實際容量),q代表瞬時隊長。圖11的流程圖的要點是當一個新分組到達后,若瞬時隊長與新到達分組長度之和超出了緩存的物理長度,則丟棄該到達分組,否則檢查新到達分組的PDPI比特,若PDPI比特為0則接納該分組進入緩存,否則依RED所確定的概率來決斷是否丟棄該分組。由于上面敘述的DT-RED優(yōu)先級隊列管理機制中,用RED的方法提早丟棄標記了的分組,為未標記的分組預先騰出了緩存空間,因此保護了處于弱勢的TCP流。本發(fā)明建議RED的參數(shù)設置如下Lmin=0;Lmax=L,Maxp=0.5-1之間,并首選1。ATM網(wǎng)絡的優(yōu)先級隊列管理機制如前所述,ATM的優(yōu)先級隊列管理分為信元級和分組級兩類,它們的主要區(qū)別是在丟棄一個ATM信元時是否考察該信元所在的分組。ATM采用分組級的隊列管理機制是由于ATM承載IP時出現(xiàn)的新問題所迫使的,不是ATM的本原技術,下面將首先陳述與本發(fā)明有關的ATM的信元級優(yōu)先級隊列管理機制。
由于CDPI比特的使用,PDPM機制下的ATM網(wǎng)絡上的信元級優(yōu)先級隊列管理問題與IP網(wǎng)絡上的優(yōu)先級隊列管理問題并沒有本質的區(qū)別,只是后者將管理的對象從IP網(wǎng)絡中的IP(或TCP)分組轉變?yōu)锳TM網(wǎng)絡中的信元,因此前面段落的關于IP網(wǎng)絡的優(yōu)先級隊列管理機制的所有陳述在將“分組”改變成“信元”和將“PDPI比特”改變?yōu)椤癈DPI比特”后,均適用于ATM網(wǎng)絡上的信元級優(yōu)先級隊列管理機制,即PDPM機制可以和任何形式的ATM信元級優(yōu)先級隊列管理機制協(xié)同工作。在協(xié)同工作時應將CDPI比特值為0的信元映射到高優(yōu)先級,CDPI比特值為1的信元映射到低優(yōu)先級。同時,本發(fā)明建議使用前面給出的、對信元操作的DT-RED優(yōu)先級隊列管理機制作為在ATM網(wǎng)絡上與PDPM機制適配的信元級優(yōu)先級隊列管理機制。為了強調它是作為ATM網(wǎng)絡的信元級優(yōu)先級隊列管理機制,我們對它采用了CDT-ECD的命名。圖10所示的RED的工作流程在將“分組”改變?yōu)椤靶旁焙汀癙DPI比特”改變?yōu)椤癈DPI比特”后,就是ATM網(wǎng)絡的CDT-ECD信元級優(yōu)先級隊列管理機制實現(xiàn)方案。
對于ATM的分組級的優(yōu)先級隊列管理機制,本發(fā)明給出了用(DT-EPD)+PPD的分組級優(yōu)先級隊列管理機制來適配PDPM機制的實現(xiàn)方案。在該方案中,網(wǎng)絡結點采用DT+PPD方式處理未標記分組,而用PPD+EPD方式處理標記分組。由于PPD機制是一個成熟的信元丟棄機制,不屬于本發(fā)明的發(fā)明內容,因此對它的工作原理簡述如下PPD機制的主要特征是,一旦網(wǎng)絡結點丟棄了某個分組的一個信元,則除了該分組的最后一個信元外,網(wǎng)絡結點將丟棄該分組的所有后續(xù)到達信元。實施PPD機制的網(wǎng)絡結點一般通過信元字頭VC字段的內容識別信元所在的分組,但在實際設計中如何識別信元和它所在分組的關系是屬于PPD機制的范疇,不是本發(fā)明要規(guī)范的內容。本發(fā)明利用PPD機制提供的識別給定信元所在分組的分組標識的功能P_ID()和確定該信元是否為分組的最后一個信元的功能Lst()給定一個信元c后,可以通過該功能發(fā)現(xiàn)該信元所在的分組P_ID(c)和該信元是否為所在分組的最后一個信元(Lst(c)=1表示是最后一個信元,Lst(c)=0表示不是最后一個信元)。實施(DT-EPD)+PPD管理機制的網(wǎng)絡結點中存有一張表TBd,TBd的記錄內容是那些已經有信元被丟棄,但尚未收到它的最后一個信元的分組的分組標識。
參照圖12,本發(fā)明的(DT-EPD)+PPD的分組級優(yōu)先級隊列管理機制的實現(xiàn)由緩存,信元信息提取、緩存入口控制和入口控制參數(shù)計算四部分構成。緩存就是普通的FIFO存儲器;信元信息提取模塊提取每個到達信元所攜帶的控制信息,(DT-EPD)+PPD管理機制需要的主要信元信息是該信元CDPI比特的值CDPI(c)、該信元所屬分組的分組標識P_ID(c)和該信元Lst(c)的值(即該信元是否為所屬分組的最后一個信元);入口控制參數(shù)計算模塊根據(jù)到達信元的信元信息和它自己收集到的緩存信息,做出是否接納該到達信元的決斷;緩存入口控制是一個執(zhí)行單元,它根據(jù)入口控制參數(shù)計算模塊輸出的控制指令,實施丟棄新到信元或接納新到信元進入緩存。本發(fā)明給出的(DT-EPD)+PPD管理機制的控制流程見圖13,圖中的參數(shù)L代表緩存的物理長度(即實際容量),q代表瞬時隊長,L(c)代表信元長度。圖13的流程圖的要點是對每個新到達信元進行如下處理PPD檢查進程當一個信元c到達時,網(wǎng)絡結點首先發(fā)現(xiàn)該信元所在分組的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和斜率倒數(shù)Maxp三個控制參數(shù),按下面公式計算信元的丟棄概率pp=(l-Lmin)+(Lmax-Lmin)Maxp.]]>并獨立地產生一個在
內均勻分布的隨機數(shù)X,若隨機數(shù)X的值大于p則將該到達信元放入緩存,否則進入CD進程。
CD進程檢查信元c是否為它所在分組P_IC(c)的最后一個信元,若是最后一個信元則直接丟棄該信元,否則將P_IC(c)寫入TBd后丟棄該信元;雖然本發(fā)明給出了與PDPM聯(lián)合使用的CDT-ECD信元級優(yōu)先級隊列管理機制和(DT-EPD)+PPD的分組級優(yōu)先級隊列管理機制的具體實現(xiàn)方案,但本發(fā)明并不限制在網(wǎng)絡上使用其他類型的ATM優(yōu)先級隊列管理機制,甚至是使用任何非優(yōu)先級隊列管理機制。
最后需要說明的是,在現(xiàn)代技術和現(xiàn)代思維方式下,用“1”表示一個特定事件的“是”而用“0”表示一個特定事件的“非”并不是本質性的,所以本發(fā)明在用比特承載信息時的有關比特值的規(guī)定只有相對意義,完全可用相反邏輯來替代,并適當修正改變后所涉及的算法,而算法的修正應在一個合格的工程師的能力之內。
參考文獻[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.分組丟棄優(yōu)先選擇標記的方法和電路,其主要特征是在TCP協(xié)議的分組結構中增加分組丟棄優(yōu)先選擇指示比特,在TCP協(xié)議的發(fā)送端根據(jù)當前的協(xié)議狀態(tài)和發(fā)送分組的性質對每一個送出分組的丟棄優(yōu)先選擇指示比特進行標記,丟棄優(yōu)先選擇指示比特置0的分組稱為未標記分組,相應的行動簡稱為不對該分組標記或不標記該分組;而丟棄優(yōu)先選擇指示比特置1的分組稱為標記分組,相應的行動簡稱為對該分組標記或標記該分組;網(wǎng)絡結點在實施隊列管理時按分組丟棄優(yōu)先選擇指示比特的不同標記情況對分組實施不同的丟棄策略;為了保證在不增加協(xié)議傳輸開銷的前提下實施分組丟棄優(yōu)先選擇標記機制,可以采用ECN比特作為分組丟棄優(yōu)先選擇指示比特,其主要特征是將ECN能力比特置0,通過標記ECN比特來反應當前的協(xié)議狀態(tài)和標記分組的性質;
2.按照權利要求1所述的分組丟棄優(yōu)先選擇標記的方法和電路中,嵌入終端TCP發(fā)送協(xié)議部分的PDPM模塊的設計方法和電路,其主要特征是改造原有TCP的部分功能單元實現(xiàn)TCP協(xié)議狀態(tài)采集和分組信息通報,并通過新增加的分組標記單元根據(jù)TCP協(xié)議狀態(tài)和分組信息實施對分組的標記;
3.按照權利要求1所述的分組丟棄優(yōu)先選擇標記的方法和電路,和按照權利要求2所述的嵌入終端TCP發(fā)送協(xié)議部分的PDPM模塊的設計方法和電路中,丟棄優(yōu)先選擇指示比特的隨機標記和循環(huán)標記兩種標記準則和標記算法的控制方法和電路,其主要特征是,在隨機標記中,設定一個擁塞窗口的標記門限w和標記概率p,在TCP當前的擁塞控制窗口大于標記門限w且正在考慮是否標記的分組不是重發(fā)分組時,依標記概率p對該分組標記,否則不標記該分組;在循環(huán)標記中,設定一個擁塞窗口的標記門限w和標記周期d,在TCP當前的擁塞控制窗口大于標記門限w且正在考慮是否標記的分組不是重發(fā)分組時,以周期d對分組進行標記,否則不標記該分組;
4.按照權利要求1所述的分組丟棄優(yōu)先選擇標記的方法和電路,和按照權利要求2所述的嵌入終端TCP發(fā)送協(xié)議部分的PDPM模塊的設計方法和電路中,分組信息通報的實現(xiàn)方法和電路,其主要特征是利用分組頭數(shù)據(jù)結構中的一個備用比特b,原有TCP協(xié)議的分組組裝功能單元將新組裝分組的比特b置為1,原有TCP協(xié)議的重發(fā)緩存功能單元將每一個存入的已發(fā)分組副本的比特b置為0,當PDPM模塊標記一個分組時,先在不考慮該分組是否為重發(fā)分組的條件下,作出是否標記分組的決斷n(n=1為標記分組,n=0為不標記分組),然后再將該分組比特b的值和決斷n進行邏輯與(比特AND運算)的結果,作為該分組最終的分組丟棄優(yōu)先選擇指示比特的值,本發(fā)明建議就采用ECN比特作為比特b,但不堅持一定用ECN比特作為比特b,同樣的,只要簡單調整分組丟棄優(yōu)先選擇指示比特的值的計算方法,比特b決斷n的賦值方法也可以改變;
5.按照權利要求1所述的分組丟棄優(yōu)先選擇標記的方法和電路中,采用ATM承載PDPM機制的TCP流的工作方法和電路,采用ATM信元字頭的專用比特(稱為信元丟棄優(yōu)先選擇比特)攜帶分組丟棄優(yōu)先選擇標記的信息,其主要特征是,在ATM信元的字頭設定一個專用比特d做為信元丟棄優(yōu)先選擇比特,ATM網(wǎng)絡邊緣的ATM信元拆裝單元在將分組拆卸成信元時,將同一個分組拆卸成的所有信元的比特d的值(或d的值的邏輯反),設置為該分組的分組丟棄優(yōu)先選擇指示比特的值;同樣的,ATM網(wǎng)絡邊緣的ATM信元拆裝單元在將信元組裝成分組時,將該分組的分組丟棄優(yōu)先選擇指示比特的值設置為該分組所對應的第一個信元的比特d的值(或d的值的邏輯反);本發(fā)明建議首選CLP比特,當由于其它原因不能使用CLP比特時,首先考慮在PT字段中選取相應的比特作為這個指定比特d;
6.按照權利要求1所述的分組丟棄優(yōu)先選擇標記的方法和電路中,網(wǎng)絡結點采用優(yōu)先級隊列管理的方法和電路,其主要特征是,網(wǎng)絡結點的優(yōu)先級隊列管理中,給未標記的分組分配較高的優(yōu)先級,而給標記的分組分配較低的優(yōu)先級,從而保護了協(xié)議處于弱勢狀態(tài)的TCP流;
7.按照權利要求1所述的分組丟棄優(yōu)先選擇標記的方法和電路,和權利要求6所述的網(wǎng)絡結點優(yōu)先級隊列管理的方法和電路中,適用于IP網(wǎng)絡承載PDPM機制的TCP流的DT-RED的優(yōu)先級隊列管理機制的方法和電路,其主要特征是網(wǎng)絡結點采用丟尾(DT)的方式處理未標記的分組,而用隨機提前丟棄(RED)的方式處理標記的分組;
8.按照權利要求1所述的分組丟棄優(yōu)先選擇標記的方法和電路,和權利要求6所述的網(wǎng)絡結點優(yōu)先級隊列管理的方法和電路中,適用于ATM承載PDPM機制的TCP流的CDT-ECD的信元級優(yōu)先級隊列管理機制的方法和電路,其主要特征是,網(wǎng)絡結點采用信元丟尾(CDT)的方式處理信元丟棄優(yōu)先選擇比特的值為0的信元,而用提前丟棄信元(ECD)的方式處理信元丟棄優(yōu)先選擇比特的值為1的信元;
9.按照權利要求1所述的分組丟棄優(yōu)先選擇標記的方法和電路,和權利要求6所述的網(wǎng)絡結點優(yōu)先級隊列管理的方法和電路中,適用于ATM承載PDPM機制的TCP流的(DT-EPD)+PPD的分組級優(yōu)先級隊列管理機制的方法和電路,其主要特征是,網(wǎng)絡結點采用丟棄不完整分組與丟尾相結合(DT+PPD)的方式處理屬于未標記分組的信元,而用丟棄不完整分組和與提前丟棄分組相結合(EPD+PPD)的方式處理屬于標記分組的信元。
全文摘要
分組丟棄優(yōu)先選擇標記的方法與電路能使因特網(wǎng)更為公平地向用戶提供帶寬和提高ATM承載TCP的效率。其主要技術特征是在TCP協(xié)議分組結構中增加分組丟棄優(yōu)先選擇指示比特,在TCP協(xié)議發(fā)送端根據(jù)協(xié)議狀態(tài)和分組性質對每個發(fā)送分組進行丟棄優(yōu)先選擇標記,網(wǎng)絡結點對不同標記的分組實施不同的丟棄策略,從而保護處于弱勢的TCP連接,機制實現(xiàn)簡單,沒有傳輸附加開銷,網(wǎng)絡機制可以無流狀態(tài)實現(xiàn),完好保持了IP技術原有的可擴展性特征。
文檔編號H04L12/56GK1377161SQ0111002
公開日2002年10月30日 申請日期2001年3月27日 優(yōu)先權日2001年3月27日
發(fā)明者陳常嘉, 趙永祥, 宋光農 申請人:陳常嘉