




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、WHY 200ms?1. 前言一般情況下互聯(lián)網(wǎng)上RTT時間為200ms,如果路由器不能緩存200ms的報文,則容易引起丟包,從而引起TCP重傳,再加上TCP的窗口機(jī)制,會導(dǎo)致TCP連接效率大幅度下降。因此,200ms緩存能力是高端路由器的最基本要求。業(yè)界高端路由器都宣稱支持200ms的報文緩存能力,如:l Cisco 7600/12000的高級板卡SIP400/600和ES20(其它類型板卡不支持)l Juniper M/T系列路由器全系列單板l Alcatel 7750路由器全系列單板l 華為NE40E/NE80E的高級板卡A類單板(NE40/NE80全系列和B類單板不支持)l H3C SR
2、8800路由器全系列單板200ms報文緩存已經(jīng)成為高端路由器必須具備的能力,本文從網(wǎng)絡(luò)應(yīng)用的角度來闡述為什么要求200ms報文緩存。2. 網(wǎng)絡(luò)基本模型與基本原則我們首先看一個通常的IP端到端簡化模型,如下圖。CRouterSourceDestination2TC1圖1 IP端到端簡化模型C1是本地局域網(wǎng)到路由器的帶寬,C是廣域網(wǎng)出口帶寬,很明顯,C1的帶寬遠(yuǎn)遠(yuǎn)大于C,出口帶寬C上會存在擁塞的可能。廣域網(wǎng)帶寬是很昂貴的,因為費用問題,我們租用的出口線路帶寬總是不夠。因此,無論從用戶使用還是網(wǎng)絡(luò)設(shè)計角度,我們需要做的事情就是最大限度使得出口帶寬保持100%的利用,這是我們考慮問題的基本原則。毫無疑
3、問,此時通信性能和效率可以達(dá)到最高,也就是使得出口線路上不出現(xiàn)空閑的情況,使得用戶花的每一分錢都物有所值。圖2 緩存的主要目的使出端口足夠繁忙,帶寬得到100%的利用要做到這一點,就要求中間的路由器出口上具有一定的緩存能力,這就是那個著名的計算公式:BufferRTT×BW(RTT為報文往返時間,BW即帶寬C)即:線卡緩存等于帶寬乘以報文在網(wǎng)絡(luò)上的往返時間。另外,IP流量具有瞬間流量突發(fā)特點,也容易導(dǎo)致出口擁塞,為保證QoS和減少出口擁塞丟包,也需要線卡有足夠的緩存用于隊列和調(diào)度: 保證高優(yōu)先級流量先通過,不丟包,降低時延和抖動 緩存低優(yōu)先級報文,保證少丟包圖3 緩存減少了報文的丟失
4、目前,互聯(lián)網(wǎng)上RTT一般是200ms左右,這要求高端路由器的線卡至少能夠緩存200ms的報文,保證QoS,避免端口擁塞,確保出口鏈路100%的利用率,發(fā)揮網(wǎng)絡(luò)最高性能。3. TCP的幾個典型階段與概念據(jù)統(tǒng)計,目前網(wǎng)絡(luò)上的流量主要是TCP流量。因此,為了深入了解緩存對于路由器設(shè)備的重要性,我們必須充分理解TCP的基本原理。TCP與它的姊妹協(xié)議UDP不同,TCP是基于連接的,需要維持連接狀態(tài)和控制數(shù)據(jù)傳輸速率以最大程度發(fā)揮傳輸鏈路上的會話性能。TCP通信有以下幾個典型階段:1慢啟動階段 原有的TCP協(xié)議在啟動一個連接時會向網(wǎng)絡(luò)發(fā)送許多數(shù)據(jù)包,由于一些路由器必須對數(shù)據(jù)包進(jìn)行排隊,因此有可能耗盡存儲空
5、間,從而導(dǎo)致TCP連接的吞吐量(throughput)急劇下降,避免這種情況發(fā)生的算法就是慢啟動。當(dāng)建立新的TCP連接時,TCP發(fā)送窗口被初始化為一個數(shù)據(jù)包大小(一個數(shù)據(jù)包缺省值為536或512byte)。源端按窗口大小發(fā)送數(shù)據(jù),每收到一個ACK確認(rèn),發(fā)送窗口就成倍增加數(shù)據(jù)包發(fā)送量。顯然,窗口大小的增長將隨RTT呈指數(shù)級增長:1個、2個、4個、8個,源端向網(wǎng)絡(luò)中發(fā)送的數(shù)據(jù)量將急劇增加。 2擁塞避免階段 當(dāng)發(fā)現(xiàn)超時或收到3個相同的ACK確認(rèn)幀時,網(wǎng)絡(luò)即發(fā)生擁塞(這一假定是基于由傳輸引起的數(shù)據(jù)包損壞和丟失的概率小于1%)。此時,就進(jìn)入擁塞避免階段,慢啟動閾值被設(shè)置為當(dāng)前發(fā)送窗口的一半,發(fā)送窗口被置
6、為1。如果發(fā)送窗口慢啟動閾值,則TCP重新進(jìn)入慢啟動過程;如果發(fā)送窗口>慢啟動閾值,則TCP執(zhí)行擁塞避免算法,發(fā)送窗口在每次收到一個ACK時只增加1個數(shù)據(jù)包(這里將數(shù)據(jù)包大小假定為1)。 3快速重傳和恢復(fù)階段 進(jìn)入慢啟動會導(dǎo)致過大地減小發(fā)送窗口尺寸,降低TCP連接的吞吐量。因此,快速重傳和恢復(fù)就是在源端收到3個或3個以上重復(fù)ACK時,就斷定數(shù)據(jù)包已經(jīng)被丟失,并重傳數(shù)據(jù)包,同時將慢啟動閾值設(shè)置為當(dāng)前發(fā)送窗口的一半,而不必等到RTO超時。 TCP這種擁塞控制算法使得網(wǎng)絡(luò)上的通信流量呈現(xiàn)典型的鋸齒波形。SourceDesttWindow size圖4 TCP鋸齒流量波形示意TCP擁塞控制機(jī)制使
7、得TCP流量趨向于盡量占用最大的帶寬,這是通過調(diào)節(jié)發(fā)送端口來實現(xiàn)的。如果報文被丟棄,TCP發(fā)送窗口會減少,所以發(fā)送速率會降低,以適配端到端會話可用的鏈路帶寬,通過慢啟動機(jī)制恢復(fù)會話吞吐量。為了在突發(fā)流量情況下發(fā)生擁塞時,最大程度發(fā)揮鏈路傳輸效率,路由器就必須具備緩存足夠的流量能力。因此,相當(dāng)于有效RTT實際上被延長到了包即將丟棄的最合適時間。當(dāng)TCP達(dá)到它的最大窗口,這是源于可用帶寬乘以RTT得到的反饋(BW×RTT),這個值決定了源需要多長的時間從接收端收到ACK響應(yīng),當(dāng)一個報文丟失了是因為網(wǎng)絡(luò)擁塞的原因,發(fā)生端是不會知道的,并且不會馬上重新發(fā)送,而要等待發(fā)送BW×RTT
8、數(shù)量的報文(即路由器緩存的深度)以后。這就意味著,TCP數(shù)據(jù)吞吐量和速率是基于端到端路徑上報文可以被發(fā)送的數(shù)量除以線路傳輸延遲。如果端到端路徑上路由器緩存小于傳輸延遲乘以帶寬(Delay×BW),此時在收到ACK響應(yīng)前,任何報文都發(fā)送不出去,所以中間路由器,必須擁有RTT×BW的緩存,以優(yōu)化數(shù)據(jù)傳輸性能。TCP吞吐量會按公式下降1/ (1+2pw),P,報文丟失概率,W帶寬乘以延時。這意味著鏈路帶寬和為了達(dá)到最高性能以免報文丟失所需要的緩存大小之間有一個直接的聯(lián)系。上面的通信過程很枯燥,也很乏味,我們下面結(jié)合圖形分析路由器線卡緩存在TCP通信過程中起的作用。4. TCP通信
9、過程與緩存、帶寬利用率關(guān)系深入分析TCP通信初始階段,如上圖所示,左側(cè)圓為發(fā)送端,右側(cè)圓為接收端,中間為帶有緩存(緩存大小帶寬×報文往返時間)的路由器。下面的箭頭表示數(shù)據(jù)從發(fā)送端到接收端,上面箭頭表示ACK響應(yīng)從接收端到發(fā)送端。圖中下面的坐標(biāo)表示發(fā)送端的發(fā)送窗口隨時間變化的情形。當(dāng)一個TCP會話啟動時,它首先按慢速啟動模式,在第一個報文發(fā)送以后,開始等待接收端的ACK回應(yīng),ACK回應(yīng)的時間就是報文往返時間,我們一般稱為一個RTT(報文往返時間)。然后TCP馬上發(fā)送兩個報文(即上一次發(fā)送數(shù)量的兩倍),然后等待接收端的回應(yīng),這個回應(yīng)時間同樣是RTT,然后下一次是發(fā)送4個、再下一次8個報文
10、等,即當(dāng)收到接收端的ACK響應(yīng)后,下一次發(fā)送報文數(shù)量按指數(shù)方式進(jìn)行增長,也就是1、2、4、8、16等。這種每次收到ACK響應(yīng)雙倍于上次發(fā)送數(shù)量的發(fā)送機(jī)制受限于發(fā)送和接收端之間傳輸路徑帶寬。此時緩存中基本上是空的,處于待注入階段。帶寬沒有得到充分利用。當(dāng)發(fā)送速率超過線路出口帶寬時,此時線路利用率達(dá)到100,緩存開始被用于緩沖發(fā)送數(shù)據(jù),在緩存不斷被注入期間,帶寬利用率保持100%。這種慢速啟動模式會一直進(jìn)行,發(fā)送速率一直增長,緩存輸入速率大于輸出速率,緩存一直處于增長階段,直到報文開始丟棄。終于緩存被注滿,再也沒有空間來緩存無法從出口發(fā)送出去的報文了,開始出現(xiàn)丟包。報文丟棄可以有各種各樣的原因,但
11、是最主要是由于鏈路擁塞發(fā)生,即過大的流量爭用有限的WAN鏈路帶寬。此時帶寬利用率保持100%。當(dāng)出現(xiàn)丟包時,發(fā)送端并不會馬上知道,它需要等待接收端的ACK回應(yīng)。丟失的包信息隨著緩存消耗慢慢前移,終于到達(dá)接收端。此時帶寬利用率保持100%。接收端終于發(fā)現(xiàn)有發(fā)送過程中有報文丟失,于是發(fā)送相關(guān)信息到接收端(即對丟失報文序號重傳的ACK),此時發(fā)送端在收到Drop信息前,仍然按原來速率發(fā)送報文。此時帶寬利用率保持100%。終于發(fā)送端收到了drop消息,于是根據(jù)TCP擁塞控制機(jī)制,將發(fā)送窗口減少到原來的一半,重發(fā)剛才丟失的報文,等待接收端對報文的回應(yīng),顯然,因為緩存的關(guān)系,此報文位于隊列的最后端,接收端
12、收到重發(fā)的報文需要等到緩存的報文全部發(fā)送完畢。路由器緩存輸出大于輸入,緩存開始減少。此時帶寬利用率保持100%。因為緩存的輸入小于輸出,原來緩存的數(shù)據(jù)會發(fā)送完畢,此時接收端終于收到發(fā)送端重發(fā)的報文,于是向發(fā)送端發(fā)送ACK回應(yīng),于是此時按照TCP擁塞控制機(jī)制,發(fā)送窗口又開始增長。此時帶寬利用率保持100%。慢慢地的發(fā)送的速率超過了接口帶寬,緩存的輸入大于輸出,報文又開始在緩存中存儲。此時帶寬利用率保持100%。周而復(fù)始,當(dāng)緩存滿了以后,又開始出現(xiàn)丟包,發(fā)送窗口到達(dá)最大值。此時帶寬利用率保持100%。丟失報文信息經(jīng)過緩存,到達(dá)接收端,接收端向發(fā)送端發(fā)送ACK(drop)消息。此時帶寬利用率保持10
13、0%。發(fā)送端調(diào)節(jié)發(fā)送窗口為原來的一半,重發(fā)丟失報文,等待重發(fā)報文的ACK消息。緩存輸入小于輸出,緩存減少。此時帶寬利用率保持為100%。當(dāng)緩存發(fā)送完畢,重發(fā)的報文終于被接收端收到,此時接收端向發(fā)送端發(fā)送ACK消息。發(fā)送端收到以后,重新開始逐步加大發(fā)送窗口的大小,開始一個新的過程。此時帶寬利用率保持100%。發(fā)送端收到ACK響應(yīng),又重新開始一個新的窗口增加過程。帶寬利用率一直保持為100%。綜上所述,路由器線卡緩存的目的就是為了適應(yīng)TCP擁塞控制機(jī)制,使得昂貴的廣域網(wǎng)端口能夠保持在最繁忙的狀態(tài),使端到端的通信性能達(dá)到最高。為了使出口線路得到最大程度的利用,對路由器緩存的要求就是:緩存RTT
14、15;出口帶寬也就是說,路由器線卡必須能緩存RTT的時間,在互聯(lián)網(wǎng),RTT一般為200ms,所以,高端路由器必須擁有200ms的緩存。我們可以用下面幾個簡單的仿真圖形說明帶寬利用率與緩存容量的關(guān)系:當(dāng)路由器擁有足夠的緩存時(bufferRTT×帶寬C)時,我們可以看到TCP流量呈現(xiàn)典型的鋸齒形,出口鏈路帶寬利用率保持在后續(xù)主要通信階段一直保持100%水平。路由器的緩存利用率也是鋸齒形狀,且基本與TCP流量保持對應(yīng)。當(dāng)路由器擁有緩存不夠時時(buffer < RTT×帶寬C)時,我們可以看到TCP流量也是呈現(xiàn)典型的鋸齒形,但是出口鏈路帶寬利用率不能一直保持100%水平。路由器的緩存利用率為近似鋸齒形狀,但有一段時間處于饑餓狀態(tài),等待緩存注入,就是這段時間,鏈路的利用率沒有達(dá)到100%。5. 綜述TCP擁塞控制機(jī)制趨向于占用最大的帶寬,確保路由器出口帶寬能夠得到最大的利用率,發(fā)揮最大的通信性能。因此,要求中間的路由器必須具有足夠的緩存,根據(jù)理論計算和實際經(jīng)驗,要求路由器能夠緩存一個報文在網(wǎng)絡(luò)上緩存的時間,實際緩存容量大小就是出口帶寬乘以往返時間:bufferRTT×BW。根據(jù)一般的經(jīng)驗值,互聯(lián)網(wǎng)上的RTT的典型值是200ms,要求高端路由器的線卡緩存必須達(dá)到200ms,這是對高端路由器的基本要求。緩存的報文需要在端到端路徑上傳輸,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 科技前沿顛覆性創(chuàng)新與未來趨勢展望
- 水泥槽車銷售合同范本
- 科技產(chǎn)品的社交媒體廣告投放技巧
- 眼科常見病的自我預(yù)防與保健方法
- 電子銀行系統(tǒng)中的用戶信息安全管理實踐
- 豆腐銷售合同范本
- 科技商業(yè)中的移動營業(yè)廳創(chuàng)新策略
- 科技創(chuàng)新在提升知產(chǎn)保護(hù)效率中的作用
- 科技背景下的股票投資新趨勢
- 2025至2030年中國茶飲料清亮劑數(shù)據(jù)監(jiān)測研究報告
- Unit 1 How tall are you B Read and write(課堂PPT)
- 最新部編版九年級語文下冊 12《詞四首》課后習(xí)題參考答案
- 部編版四年級語文下冊27《巨人的花園》PPT課件(共2課時)
- 測繪項目收費標(biāo)準(zhǔn)2009
- 新人教版六年級下冊科學(xué)全冊教學(xué)設(shè)計教案
- 《成本會計學(xué)》習(xí)題集及答案
- 社區(qū)醫(yī)院建設(shè)標(biāo)準(zhǔn)
- 個人所得稅稅率表【自動提取稅率計算】
- 浙美版小學(xué)美術(shù)五年級下冊課件1畫家故居
- 中國作家協(xié)會入會申請表
- 熒光綠送貨單樣本excel模板
評論
0/150
提交評論