TCP 流量控制 擁塞控制

2022-09-18 02:24:29 字數 1068 閱讀 2041

流量控制:

流量控制是為了控制傳送方傳送速率,保證接收方來得接收。

接收方傳送的確認報文中的視窗字段可以用來控制傳送方視窗大小,從而影響傳送方的傳送速率。將視窗字段設定為 0,則傳送方不能傳送資料。

擁塞控制:

如果網路出現擁塞,分組將會丟失,此時傳送方會繼續重傳,從而導致網路擁塞程度更高。因此當出現擁塞時,應當控制傳送方的速率。這一點和流量控制很像,但是出發點不同。流量控制是為了讓接收方來得及接受,而擁塞控制是為了降低整個網路的擁塞程度。

tcp主要通過四種演算法來進行擁塞控制:慢開始、擁塞避免、快重傳、快恢復。傳送方需要維護乙個叫做擁塞視窗的狀態變數。注意擁塞視窗與傳送方視窗的區別,擁塞視窗只是乙個狀態變數,實際決定傳送方能傳送多少資料的是傳送方視窗。

1、慢開始與擁塞避免

傳送的最初執行慢開始,令擁塞視窗=1,傳送方只能傳送1個位元組;當收到確認報文後,將擁塞加倍,因此之後傳送的位元組數為:2 4 8.....;設定乙個慢開始門限ssthresh,當擁塞視窗》=ssthresh時,進入擁塞避免,每個輪次只將擁塞視窗加1;如果出現超時,則令ssthresh=擁塞視窗/2,然後重新執行慢開始。

2、快重傳與快恢復

在接收方,每次要求接收方收到報文段都應該傳送對已經收到有序位元組的確認,例如已經接收到a1、a2,此時收到a4,應當傳送對a2的確認;在傳送方,如果收到3個重複確認,那麼就可以確認下乙個位元組丟失,例如收到了3個a2,則a3丟失,此時快重傳,立即重傳下乙個位元組;在這種情況下,只是丟失個別位元組,而不是網路擁塞,因此執行快恢復,令ssthresh=擁塞視窗/2,擁塞視窗=ssthresh,直接進入擁塞避免。

TCP流量控制 擁塞控制

如果傳送者傳送資料過快,接收者來不及接收,那麼就會有分組丟失。為了避免分組丟失,控制傳送者的傳送速度,使得接收者來得及接收,這就是流量控制。流量控制根本目的是防止分組丟失,它是構成tcp可靠性的一方面。主要的方式就是接收方返回的 ack 中會包含自己的接收視窗的大小,並且利用大小來控制傳送方的資料傳...

TCP流量控制 擁塞控制

什麼是流量控制?流量控制的目的?如果傳送者傳送資料過快,接收者來不及接收,那麼就會有分組丟失。為了避免分組丟失,控制傳送者的傳送速度,使得接收者來得及接收,這就是流量控制。流量控制根本目的是防止分組丟失,它是構成tcp可靠性的一方面。如何實現流量控制?由滑動視窗協議 連續arq協議 實現。滑動視窗協...

tcp 擁塞控制 TCP流量控制與擁塞控制

流量控制 流量控制的定義 一條tcp連線每一側主機都為該連線設定了接收快取。當該tcp連線收到了正確的 按序的位元組後,他就將資料放入接收快取。相關聯的應用程序會從該快取中讀取資料。但不必是資料一到達就立即讀取。事實上,接收方也許正忙於其他任務,甚至要過很長時間後才讀取該資料。如果某個應用程序讀取比...