日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

1 Internet路由器主動(dòng)式隊(duì)列管理機(jī)制綜述( 四 )


對(duì)隊(duì)列治理而言 , 吞吐量和排隊(duì)延遲始終是一對(duì)矛盾的關(guān)系 。假如平均隊(duì)長(zhǎng)能夠充分權(quán)衡吞吐量最大化和延遲最小化之間的矛盾 , 從而在總體性能上得到較為理想的結(jié)果 , 則該隊(duì)長(zhǎng)稱為理想的平均隊(duì)長(zhǎng) 。閾值minth和maxth就是由理想的平均隊(duì)長(zhǎng)決定的 。一般來說 , maxth-minth應(yīng)大于一個(gè)回路響應(yīng)時(shí)間內(nèi)平均隊(duì)長(zhǎng)的增加值 , 以避免由于路由器丟棄過多的包而導(dǎo)致全局同步 。根據(jù)目前Internet上數(shù)據(jù)流的特點(diǎn) , 可以將maxth設(shè)為minth的兩倍 。由于理想的平均隊(duì)長(zhǎng)依靠于不同的網(wǎng)絡(luò)條件 , 因此 , 如何確定理想的平均隊(duì)長(zhǎng)仍是一個(gè)有待研究的問題 。
3.3 顯式擁塞指示(Explicit Cogestion Notifica- tion ECN )
在RED機(jī)制中 , 當(dāng)平均隊(duì)長(zhǎng)超過一定的閾值時(shí)便開始丟包了 , 也就是說RED是在隊(duì)列未滿的情況下丟包的 , 并不是由于隊(duì)列溢出而被迫丟包的 。在這種情況下丟包 , 雖然使得RED有效地治理了平均隊(duì)長(zhǎng) , 但也浪費(fèi)了網(wǎng)絡(luò)資源 , 并且對(duì)時(shí)延有一定要求地多媒體應(yīng)用不是很理想 。因此除了使用丟包作為擁塞通知方式外 , AQM還可以采用其它方法 , ECN便是IETF建議使用地一種擁塞通知方式 。
ECN需要在IP包頭設(shè)置一個(gè)兩位(bit)的ECN域(如圖2所示) , 一個(gè)是ECT(ECN-Capable Transport)位 , 由源端設(shè)置以顯示源端節(jié)點(diǎn)的傳輸協(xié)議是支持ECN的;另一個(gè)是CE( Congestion Experienced )位 , 由路由器設(shè)置 , 以顯示是否發(fā)生了擁塞 。IPv4中TOS字節(jié)的第6位被設(shè)置為ECT位 , 第7位被設(shè)置為CE位 。IPv4中TOS字節(jié)和IPv6中的流類型字節(jié)(traffic class octet)是相對(duì)應(yīng)的 , 它們的前六位被設(shè)置為區(qū)分服務(wù)中的(Different- iated Services)中的區(qū)分服務(wù)標(biāo)記域(DS field) 。后兩位保留未用 , 因此可用來作為ECN域 。
除了在IP頭中設(shè)置ECN域外 , ECN還需要傳輸協(xié)議的支持 。在TCP頭中需要設(shè)置兩個(gè)標(biāo)志位:ECN-Echo和CWR(Congestion Window Red- UCed) 。ECN-Echo是接受端用來通知源端收到一個(gè)CE包;CWR是源端用來通知接受端擁塞窗口已減小 。
在TCP連接建立階段 , 源端和目的端TCP交換有關(guān)它們是否愿意以及是否支持ECN的信息 。然后源端設(shè)置IP頭中的ECT位以向網(wǎng)絡(luò)顯示其支持ECN , 因而 , 假如路由器需要的話 , 可以標(biāo)記IP頭中的CE位作為擁塞通知的方式 。下面具體闡述ECN的工作方式 。
在TCP連接建立階段 , 若源端支持并愿使用ECN,則其可在SYN包的TCP頭中設(shè)置ECN-Echo和CWR標(biāo)志位 。假如源端支持并愿使用ECN , 則其可在SYN-ACK包中設(shè)置ECN-Echo標(biāo)志 , 但不設(shè)置CWR標(biāo)志 。這樣當(dāng)前的TCP便是支持使用ECN的 。
圖2 ECN工作原理
對(duì)路由器來說 , 假如其隊(duì)列位滿 , 并且其要對(duì)源端發(fā)出擁塞通知 , 那么路由器應(yīng)該首先檢查IP包頭的ECT位是否已經(jīng)設(shè)置 , 如是則應(yīng)該設(shè)置CE位而不是以丟包作為對(duì)源端的通知信息 。接著 , 當(dāng)目的端接受到了CE包時(shí) , 就會(huì)設(shè)置確認(rèn)包TCP頭的ECN-Echo標(biāo)志 , 并且為了防止確認(rèn)包的丟失 , 目的端必須在接下來一系列的確認(rèn)包中設(shè)置ECN-Echo標(biāo)志 。假如源端收到了ECN -Echo的確認(rèn)包 , 那么也就知道了在發(fā)往目的端的路徑中發(fā)生了擁塞 , 因而需要將擁塞窗口減半并且減小慢啟動(dòng)閾值 , 同時(shí)在接下來要發(fā)送的包中設(shè)置CWR標(biāo)志 , 以通知目的端擁塞窗口已減小 , 假如目的端接受到了CWR包 , 就停止在接下來的確認(rèn)包中設(shè)置ECN-Echo標(biāo)志 。
假如路由器收到了CE包 , 則CE位保持不變 , 包的傳輸還和往常一樣 。若發(fā)生了嚴(yán)重?fù)砣?, 隊(duì)列滿了 , 那么路由器別無(wú)選擇就只好丟包了 。在現(xiàn)在的"延遲確認(rèn)"(delayed-ACK)TCP應(yīng)用中 , 目的端收到兩個(gè)包時(shí)發(fā)送一個(gè)確認(rèn) , 那么只要接收到的包中有一個(gè)CE包 , 確認(rèn)包中的ECN-Echo標(biāo)志就要設(shè)置 。

推薦閱讀