一、擁塞控制的一般原理
擁塞:某段時(shí)間內(nèi)網(wǎng)絡(luò)對(duì)某一資源的需求超過(guò)了其所能提供的可用部分
也就是請(qǐng)求 大于 可用
- 擁塞起因:網(wǎng)絡(luò)系統(tǒng)部分不平衡
- 擁塞惡化:重傳次數(shù)太多丐黄,資源過(guò)度請(qǐng)求
- 擁塞與流量控制:
- 擁塞是網(wǎng)絡(luò)承受負(fù)荷的限度,全局性過(guò)程,防止網(wǎng)絡(luò)被注入太多的數(shù)據(jù)
- 流量控制是控制點(diǎn)對(duì)點(diǎn)通信量的控制妄田、
- (擁塞:水堵住管口,管道處理水绳矩;流量控制:水源頭控制水量)
- 擁塞處理代價(jià):獲取網(wǎng)絡(luò)內(nèi)部流量發(fā)布信息罩润、通過(guò)結(jié)點(diǎn)之間交換信息和各種命令來(lái)選擇控制的策略和實(shí)施控制、有時(shí)將一些資源分配給個(gè)別用戶
- 控制方法:
- 開(kāi)環(huán)控制:設(shè)計(jì)網(wǎng)絡(luò)事先將擁塞的所有情況考慮翼馆,系統(tǒng)運(yùn)行就不再更改
- 閉環(huán)控制:基于反饋環(huán)路(檢測(cè)網(wǎng)絡(luò)系統(tǒng)割以、把擁塞發(fā)生的信息傳到可采取行動(dòng)的地方、調(diào)整網(wǎng)絡(luò)系統(tǒng)的運(yùn)行
- 監(jiān)測(cè)指標(biāo):由于缺少緩存空間而被丟棄的分組的百分?jǐn)?shù)应媚、平均隊(duì)列長(zhǎng)度严沥、超時(shí)重傳的分組數(shù)、平均分組時(shí)延中姜、分組時(shí)延的標(biāo)準(zhǔn)差
二消玄、TCP的擁塞控制方法
算法有四種:慢開(kāi)始、擁塞避免丢胚、快重傳翩瓜、快恢復(fù)
1. 慢開(kāi)始和擁塞避免
- 基于窗口的擁塞控制
- 發(fā)送方維護(hù) 擁塞窗口
- 大小:取決于網(wǎng)絡(luò)的擁塞程度携龟、動(dòng)態(tài)變化
- 且發(fā)送窗口等于擁塞窗口
- 原則:只要網(wǎng)絡(luò)沒(méi)有出現(xiàn)擁塞兔跌,擁塞窗口就可以再增大一些;出現(xiàn)或者可能出現(xiàn)擁塞峡蟋,都要將擁塞窗口減小一下
- 出現(xiàn)超時(shí)——猜想網(wǎng)絡(luò)是否出現(xiàn)擁塞
慢開(kāi)始算法
- 思路:由小到大逐漸增大發(fā)送窗口——由小到大逐漸增大擁塞窗口數(shù)值
- 規(guī)定
- 初始值 :三種情況坟桅,2,3蕊蝗,4倍的SMSS字節(jié)
- 每收到一個(gè)對(duì)新的報(bào)文段的確認(rèn)之后仅乓,可以把擁塞窗口增加最多一個(gè)SMSS數(shù)值
- 加倍增長(zhǎng)
- 慢開(kāi)始門(mén)限狀態(tài)變量:該值與窗口大小比較,進(jìn)而在慢算法和擁塞避免算法之間切換
- 慢的解釋:第一次發(fā)送的報(bào)文比一次注入報(bào)文段“慢得多”
擁塞避免算法
- 思路:擁塞窗口緩慢增大
- 經(jīng)過(guò)一個(gè)往返時(shí)間匿又,發(fā)送方的擁塞窗口加1
- AIMD算法
- 按照線性規(guī)律增大:加法增大AI
- 當(dāng)出現(xiàn)3個(gè)重復(fù)的確認(rèn)方灾,門(mén)限值設(shè)置為當(dāng)前擁塞窗口的一半:乘法減少M(fèi)D
(重傳會(huì)使TCP連接的發(fā)送端認(rèn)為在網(wǎng)絡(luò)中發(fā)生了擁塞)
快重傳算法
- 要求接收方不要等待自己發(fā)送數(shù)據(jù)時(shí)才進(jìn)行捎帶確認(rèn),而是立即發(fā)送確認(rèn),即使收到失序的報(bào)文段
- 發(fā)送方只要一連收到3個(gè)重復(fù)確認(rèn)裕偿,就知道接收方確認(rèn)沒(méi)有收到報(bào)文段洞慎,立即進(jìn)行重傳
- 避免因?yàn)閬G失報(bào)文而誤認(rèn)為網(wǎng)絡(luò)擁塞
快恢復(fù)算法
接收方窗口又稱:通知窗口
發(fā)送方的發(fā)送窗口一定不能超過(guò)對(duì)方給出的接收方窗口值 rwnd
發(fā)送方窗口的上限值:Min [ 接收方窗口,擁塞窗口 ]
三嘿棘、主動(dòng)隊(duì)列管理 AQM
路由器的尾部丟棄策略:當(dāng)隊(duì)列滿了劲腿,將再到達(dá)的所有分組丟棄
全局同步:上述策略發(fā)生將導(dǎo)致許多TCP連接在同一時(shí)間突然都進(jìn)入到慢開(kāi)始狀態(tài)
AQM的要求:在隊(duì)列達(dá)到某個(gè)警惕值時(shí)就主動(dòng)丟棄到達(dá)的分組
RED:隨機(jī)早期檢測(cè)(曾流行多年):
- 路由器需要維持兩個(gè)參數(shù):隊(duì)列長(zhǎng)度最小門(mén)限和最大門(mén)限