TCP 停等ARQ 連續ARQ

2021-08-11 17:29:23 字數 1237 閱讀 4752

一、

停止等待協議

概念:「停止等待」就是每傳送完乙個分組就停止傳送,等待對方的確認。在收到確認後再傳送下乙個分組。 1、

無差錯情

可以看到在a中是正確的傳輸。

2、出現差錯

而在b中的時候,因為

m1有錯,所以

b直接丟棄掉了,然後傳送方因為一直沒有接收到確認,所以它等待一定的時間後,它就會認為傳送超時了,進行超時重傳。我們可以看到當a收到

b對於m1的確認後,才繼續傳送m2。

3、確認丟失和確認遲到

在圖a中,因為確認丟失,所以過了一段時間,

a的時間到了,它就會認為

b沒有收到,所以選擇了超時重傳。而在

b它其實收到了,它會丟棄這個重複的報文,然後再傳送乙個確認報文。

a收到確認後,就可以傳送

m2了。

在圖b中因為

b的確認因為網路的原因,它遲到了,但是在它遲到前,已經到了

a超時重傳的時間了,它沒有收到遲到的確認,所以進行超時重傳,而

b因為一斤正常接收了

m1,所以它會丟棄這個重複的

m1.然後再傳送乙個確認,這時候我們

a可以傳送

m2了,與此同時,我們的

a又收到了遲到的

m1的確認,但是它收到過一次了,所以它什麼也不做。 4、

通道利用率

停止等待協議就是簡單,但是它也有它的明顯的缺點,太浪費時間和資源。我們可以假設分析一下。假定a傳送分組需要的時間是

td(等於分組長度除以資料率

)。再假定分組正確到達b後,

b的處理時間可以不計,同時立即發回確認。假定

b傳送確認分組需要時間

ta。如果

a處理確認分組的時間也可以忽略不計,那麼

a在經過時間(

td+rtt+ta

)後就可以傳送下乙個分組,這裡的

rtt是往返時間。因為僅僅是在時間

td內才用來傳送有用的資料(包括分組的首部),因此通道的利用率

u可如下計算:

u=td/(td+rtt+ta) 二、

連續arq

這個是tcp的精華所在,我們這裡有乙個新的概念是滑動視窗協議,我們可以先看一下下圖

傳送方每收到乙個確認,就把傳送視窗向前滑動乙個分組的位置。接收方一般採用累積確認的方式,對按序到達的最後乙個分組傳送確認。他當然也有自己的優缺點。優點是:容易實現,即時確認丟失也不必重傳。但缺點是不能向傳送方反映出接收方已經正確收到的所有分組資訊。

連續ARQ協議

以下摘自筆者編著的 網路工程師必讀 網路工程基礎 圖書 7.4.6 連續arq 協議 連續重發請求 arq方案是指傳送方可以連續傳送一系列資訊幀,即不用等前一幀被確認便可繼續傳送下一幀,效率大大提高。但在這種重發請求方案中,需要在傳送方設定乙個較大的緩衝儲存空間 稱作重發表 用以存放若干待確認的資訊...

TCP連續ARQ協議和滑動視窗協議

tcp協議通過使用連續arq協議和滑動視窗協議,來保證資料傳輸的正確性,從而提供可靠的傳輸。一 arq協議 arq協議,即自動重傳請求 automatic repeat request 是osi模型中資料鏈路層和傳輸層的錯誤糾正協議之一。它通過使用確認和超時這兩個機制,在不可靠服務的基礎上實現可靠的...

TCP協議學習筆記(1) 連續ARQ協議

連續arq automatic repeat request 協議。指傳送方維持著乙個一定大小的傳送視窗,位於傳送視窗內的所有分組都可連續傳送出去,而中途不需要等待對方的確認。而傳送方每收到乙個確認就把傳送視窗向前滑動乙個分組的位置。屬於運輸層,是tcp協議的精髓所在。向前 是指 向著時間增大的方向...