流量控制
1.定義: 流量控制往往指的是點(diǎn)對點(diǎn)通信量的控制另萤,是個(gè)端到端的問題。流量控制所要做的就是控制發(fā)送端發(fā)送數(shù)據(jù)的速率桩匪,以便使接收端來得及接受月匣。
2.措施: 利用滑動(dòng)窗口機(jī)制可以很方便的在TCP連接上實(shí)現(xiàn)對發(fā)送方的流量控制。TCP的窗口單位是字節(jié)脓鹃,不是報(bào)文段逸尖,發(fā)送方的發(fā)送窗口不能超過接收方給出的接收窗口的數(shù)值。
擁塞控制
1.定義: 在某段時(shí)間,若對網(wǎng)絡(luò)中某資源的需求超過了該資源所能提供的可用部分娇跟,網(wǎng)絡(luò)的性能就要變壞岩齿。
2.解決措施:
- 1.慢開始:在主機(jī)剛剛開始發(fā)送報(bào)文段時(shí)可先將擁塞窗口 cwnd 設(shè)置為一個(gè)最大報(bào)文段 MSS 的數(shù)值。在每收到一個(gè)對新的報(bào)文段的確認(rèn)后苞俘,將擁塞窗口增加至多一個(gè) MSS 的數(shù)值盹沈。用這樣的方法逐步增大發(fā)送端的擁塞窗口 cwnd,可以使分組注入到網(wǎng)絡(luò)的速率更加合理吃谣。每經(jīng)過一個(gè)傳輸輪回乞封,擁塞窗口(發(fā)送端)就加倍。
- 2.擁塞避免:讓擁塞窗口緩慢增大岗憋,每經(jīng)過一個(gè)往返時(shí)間就加1歌亲,而不是加倍,按線性規(guī)律緩慢增長澜驮。擁塞窗口大于慢開始門限陷揪,就執(zhí)行擁塞避免算法≡忧睿“乘法減小”:指不論在慢開始還是擁塞避免階段悍缠,只要出現(xiàn)超時(shí)重傳就把慢開始門限值減半。"加分增大“:指執(zhí)行擁塞避免算法后耐量,使擁塞窗口緩慢增大飞蚓,以防止網(wǎng)絡(luò)過早出現(xiàn)擁塞。合起來叫AIMD算法廊蜒。
- 3.快重傳算法:發(fā)送方只要一連收到三個(gè)重復(fù)確認(rèn)就應(yīng)當(dāng)重傳對方尚未收到的報(bào)文趴拧。而不必等到該分組的重傳計(jì)時(shí)器到期。
- 4.快恢復(fù)算法:(1)當(dāng)發(fā)送端收到連續(xù)三個(gè)重復(fù)的確認(rèn)時(shí)山叮,就執(zhí)行“乘法減小”算法著榴,把慢開始門限 ssthresh 減半。但接下去不執(zhí)行慢開始算法屁倔。(2)由于發(fā)送方現(xiàn)在認(rèn)為網(wǎng)絡(luò)很可能沒有發(fā)生擁塞脑又,因此現(xiàn)在不執(zhí)行慢開始算法,即擁塞窗口 cwnd 現(xiàn)在不設(shè)置為 1锐借,而是設(shè)置為慢開始門限 ssthresh 減半后的數(shù)值问麸,然后開始執(zhí)行擁塞避免算法(“加法增大”),使擁塞窗口緩慢地線性增大.