流量控制
1.定義: 流量控制往往指的是點對點通信量的控制,是個端到端的問題。流量控制所要做的就是控制發(fā)送端發(fā)送數(shù)據(jù)的速率,以便使接收端來得及接受。
2.措施: 利用滑動窗口機制可以很方便的在TCP連接上實現(xiàn)對發(fā)送方的流量控制。TCP的窗口單位是字節(jié),不是報文段,發(fā)送方的發(fā)送窗口不能超過接收方給出的接收窗口的數(shù)值。
擁塞控制
1.定義: 在某段時間,若對網(wǎng)絡(luò)中某資源的需求超過了該資源所能提供的可用部分,網(wǎng)絡(luò)的性能就要變壞。
2.解決措施:
- 1.慢開始:在主機剛剛開始發(fā)送報文段時可先將擁塞窗口 cwnd 設(shè)置為一個最大報文段 MSS 的數(shù)值。在每收到一個對新的報文段的確認(rèn)后,將擁塞窗口增加至多一個 MSS 的數(shù)值。用這樣的方法逐步增大發(fā)送端的擁塞窗口 cwnd,可以使分組注入到網(wǎng)絡(luò)的速率更加合理。每經(jīng)過一個傳輸輪回,擁塞窗口(發(fā)送端)就加倍。
- 2.擁塞避免:讓擁塞窗口緩慢增大,每經(jīng)過一個往返時間就加1,而不是加倍,按線性規(guī)律緩慢增長。擁塞窗口大于慢開始門限,就執(zhí)行擁塞避免算法。“乘法減小”:指不論在慢開始還是擁塞避免階段,只要出現(xiàn)超時重傳就把慢開始門限值減半。"加分增大“:指執(zhí)行擁塞避免算法后,使擁塞窗口緩慢增大,以防止網(wǎng)絡(luò)過早出現(xiàn)擁塞。合起來叫AIMD算法。
- 3.快重傳算法:發(fā)送方只要一連收到三個重復(fù)確認(rèn)就應(yīng)當(dāng)重傳對方尚未收到的報文。而不必等到該分組的重傳計時器到期。
- 4.快恢復(fù)算法:(1)當(dāng)發(fā)送端收到連續(xù)三個重復(fù)的確認(rèn)時,就執(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í)行擁塞避免算法(“加法增大”),使擁塞窗口緩慢地線性增大.