TCP滑動視窗

2021-08-19 15:18:30 字數 545 閱讀 4619

tcp滑動視窗是用來控制流量的,避免擁塞的發生。滑動視窗又包括接收端滑動視窗和傳送端滑動視窗,下面我們簡單分析一下。

上圖顯示的是接收緩衝區,其中接收視窗也在其中。接收視窗的大小是8,即4~12,此時由a可知,接收端下乙個預計接收序列號4,當接收端接收到4~7之後,滑動視窗就會右移,此時接收端預計接收的下乙個序列號為8,即圖b的結果。

上圖顯示的是傳送緩衝區和傳送視窗,滑動視窗的大小為8,傳送視窗包含2部分,一部分是傳送出去還沒有被確認的,另一部分是還沒有傳送的資料。已傳送的資料必須在收到確認之後才能移動視窗,即丟棄那部分資料,這是為了進行可能的超時重傳。圖b中,4~7為已傳送但還沒有被確認,8~12表示還沒有被傳送的。當4~7被確認了之後,傳送視窗就會向前移動,就成了圖c。如果接收端收到重複的包,則重複的包會被丟棄,因為有可能出現ack丟失的情況。

TCP滑動視窗

目前建立在tcp協議上的網路協議特別多,有telnet,ssh,有ftp,有http等等。這些協議又可以根據資料吞吐量來大致分成兩大類 1 互動資料型別,例如telet,ssh,這種型別的協議在大多數情況下只是做小流量的資料交換,比如說按一下鍵盤,回顯一些文字等等。2 資料成塊型別,例如ftp,這種...

TCP滑動視窗

假設a和b之間新建立了一條tcp連線。裝置a需要傳送一長串資料流,但裝置b無法一次全部接收,所以它限制裝置a每次傳送分段指定數量的位元組數,直到分段中已傳送的位元組數得到確認。之後,裝置a可以繼續傳送更多位元組。每乙個裝置都對傳送,接收及確認資料進行追蹤。tcpbuffer中資料可以分為以下四類 1...

TCP 滑動視窗

push 慢啟動 隔乙個報文段確認 的策略實際就是因為 delayed ack,同時接收到兩個待確認的ack包時,就立即傳送確認包。滑動視窗例項 解決了快的傳送方 慢的接收方 隨後從接收方傳來另外兩個 ack,它們確認了最後的 4096位元組的資料 從4097到8192位元組 和fin 標號為819...