運輸層4 TCP可靠運輸的工作原理

2022-08-24 22:00:14 字數 888 閱讀 9813

寫在前面:本文章是針對《計算機網路第七版》的學習筆記

運輸層1——運輸層協議概述

運輸層2——使用者資料報協議udp

運輸層3——傳輸控制協議tcp概述

運輸層4——tcp可靠運輸的工作原理

運輸層5——tcp報文段的首部格式

運輸層6——tcp可靠傳輸的實現

運輸層7——tcp的流量控制和擁塞控制

運輸層8——tcp運輸連線管理

因為ip層提供的是不可靠的,盡最大努力的傳輸,因此tcp如果要實現可靠的傳輸需要採取適當的措施。

目錄1.1 無差錯情況

如圖a:

1.2 超時重傳

如圖b:

這裡的重傳實現需要注意三個方面:

1.3 確認丟失和確認遲到

確認丟失,如圖a:

b所傳送的對m1的確認丟失了,則a只要超時了就重傳,直到收到b的確認為止。這時b可能收到重複的m1:

確認丟失,如圖b:

b對a的確認遲到了,a可能收到重複的確認。這時,a收到重複的確認直接丟棄,b收到重複的分組後也直接丟棄,並向a傳送確認。

1.4 通道利用率

停止等待協議的優點是簡單,但是通道利用率低。為了提高通道利用率,傳送方可以不使用低效率的停止等待協議,而是採用流水線傳輸(如下圖所示)。流水線傳輸就是傳送方可連續傳送多個分組,不必每發完乙個分組就停頓下來等待對方的確認。這樣可使通道上一直有資料不斷的傳輸。如果要實現這種流水線傳輸,則需要使用連續arq協議。

運輸層 TCP的流量控制

a向b傳送資料,在連線建立的時候,b就會首先告訴a 我的接收視窗rwnd receiver window 是400,同時我們要注意的是tcp的視窗單位是位元組,而不是報文段,預設每個報文段都是100位元組大小。我們從圖中可以分析到 a向b傳送了序號1到100的報文段,seq表示序號,接著傳送101到...

運輸層 TCP的連線管理

我們通過下面的圖來理解tcp的連線 首先,最初兩端的tcp程序都處於一種closd的狀態,a作為客戶,b作為伺服器,這時候a主動開啟連線,b是被動開啟連線的,b的tcp伺服器先建立傳輸控制塊tcb transmission control block 準備接受連線的請求,進入到listen狀態,a的...

(運輸層)TCP的流量控制

流量控制 讓傳送方的傳送速率不要太快,要讓接收方來得及接收。注意 傳送方的傳送視窗不能超過接收方給出的接收視窗的數值。tcp的視窗單位是位元組,不是報文段。如圖所示,說明了利用可變視窗大小進行流量控制。設主機a向主機b傳送資料。雙方確定的視窗值是400.再設每乙個報文段為100位元組長,序號的初始值...