TCP滑動視窗

2022-07-17 22:36:09 字數 607 閱讀 5823

tcp利用滑動視窗實現流量控制基本的資料單位不是資料段,而是位元組

滑動視窗本質上是描述接受方(本地)的tcp資料報緩衝區大小的資料,傳送方根據這個資料來計算自己最多能傳送多長的資料。如果傳送方收到接受方的視窗大小為0的tcp資料報,那麼傳送方將停止傳送資料,等到接受方傳送視窗大小不為0的資料報的到來。tcp採用滑動視窗機制來實現流量控制

傳送方得傳送視窗不能超過接受方給出的接受視窗的數值。當rwnd=0時,即不允許傳送資料了,只到b發出的乙個新視窗值為止。假設b向a傳送了乙個新的視窗報文段,這個報文段在傳送的過程中丟失了,則a一直等待b傳送非零視窗的通知,而b一直等待a傳送資料,這樣就會產生死鎖局面。

為了解決這個問題,tcp為每個連線設有乙個持續計時器,如果持續計時器到期,就傳送乙個探測報文段(僅攜帶乙個位元組),對方確認時就給出了現在的視窗值。

tcp規定,即使零視窗,也必須接受零視窗探測報文段,確認報文段和攜帶緊急資料的報文段。

滑動視窗協議是tcp使用的一種流量控制方法,傳送方和接收方都有一定大小的緩衝區,該協議允許傳送方在停止並等待確認前可以連續傳送多個分組,此協議能夠加速資料的傳輸。協議中規定,對於視窗內未經確認的分組需要重傳。這種分組的數量最多可以等於傳送視窗的大小。

TCP滑動視窗

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

TCP滑動視窗

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

TCP滑動視窗

tcp滑動視窗是用來控制流量的,避免擁塞的發生。滑動視窗又包括接收端滑動視窗和傳送端滑動視窗,下面我們簡單分析一下。上圖顯示的是接收緩衝區,其中接收視窗也在其中。接收視窗的大小是8,即4 12,此時由a可知,接收端下乙個預計接收序列號4,當接收端接收到4 7之後,滑動視窗就會右移,此時接收端預計接收...