TCP協議中的視窗機制 滑動視窗

2021-10-07 02:42:30 字數 1364 閱讀 2926

一、滑動視窗流量控制基本原理:

接收視窗:

在接收端設定接收視窗是為了控制可以接受哪些資料幀而不可以接收哪些幀。在接收方只有當收到的資料幀的序號落入接收視窗內才允許將該資料幀手下。若接收到的資料幀落在了接收視窗之外,則一律將其丟棄。

在傳送端,每傳送乙個幀,傳送視窗就向前滑動乙個幀的位置,當傳送視窗內沒有可以傳送的幀(即視窗內全部是已傳送,但未接收到確認的幀),傳送方就會停止傳送,直到收到接收方傳送的確認幀使視窗移動,視窗內有可以傳送的幀,之後才開始繼續傳送

二、滑動視窗的分類:

滑動視窗分為三類:停止等待、後退n幀、選擇重傳。他們之間主要的區別就是:傳送視窗和接收視窗大小的區別

後退n幀協議:

選擇重傳協議:

三、停止等待協議:

規則:源站傳送單個幀後就必須等待確認,在目的站的回答到達源站之前,源站不能傳送其他的資料幀

在停止等待協議中,除了資料丟失的問題,還有可能存在以下兩種差錯

資料幀正確,但是確認沒有收到

【總結】

四、後退n幀:

傳送方不需要在收到上一幀的ack後才能開始放鬆下下一幀,而是可以連續傳送幀。當接收方檢測出失序的資訊幀之後,要求傳送方重發最後乙個正確資訊幀之後的所有未被確認的幀;或者當傳送方傳送了n個幀之後,若發現該n幀的前乙個幀在計時器超時後仍未返回其確認資訊,則該幀被判定為出錯或者丟失,此時傳送方就不得不重傳該出錯幀及之後的n個幀。注意:接收方只允許按照順序接受幀

為了減少開銷,後退n幀協議還規定接收端不一定每收到乙個正確的資料幀就必須立即發回乙個確認,而是可以在連續收到好幾個正確的資料幀後,才對最後乙個資料幀傳送確認資訊,或者可以在當自己有資料要傳送的時候才將對以前正確收到的幀加以捎帶確認。

五、選擇重傳:

只重傳出現差錯的資料幀或者是計時器超時的資料幀。每乙個傳送緩衝區對應乙個計時器,當計時器超時的時候,緩衝區的幀就會重傳。另外,該協議使用了比上述其他協議更有效的差錯處理策略,即一旦接收方懷疑幀出錯,就會傳送乙個否定幀nak給傳送方,要求傳送方對nak中制定的幀進行重傳。

TCP滑動視窗機制

tcp協議在能夠傳送資料之前就建立起了 連線 要實現這個連線,啟動tcp連線的那一方首先將傳送乙個syn資料報。這只是乙個不包含資料的資料報,然後,開啟syn標記。如果另一方同時在它收到syn標記的埠通話,它將發回乙個syn ack syn和ack標誌位都被開啟,並將ack 確認 編 號字段設定為剛...

TCP滑動視窗機制

tcp協議在能夠傳送資料之前就建立起了 連線 要實現這個連線,啟動tcp連線的那一方首先將傳送乙個syn資料報。這只是乙個不包含資料的資料報,然後,開啟syn標記。如果另一方同時在它收到syn標記的埠通話,它將發回乙個syn ack syn和ack標誌位都被開啟,並將ack 確認 編 號字段設定為剛...

TCP 滑動視窗機制

本文要解決的問題 了解滑動視窗機制的原理和基本方法。1 視窗機制 滑動視窗協議的基本原理就是在任意時刻,傳送方都維持了乙個連續的允許傳送的幀的序號,稱為傳送視窗 同時,接收方也維持了乙個連續的允許接收的幀的序號,稱為接收視窗。傳送視窗和接收視窗的序號的上下界不一定要一樣,甚至大小也可以不同。不同的滑...