TCP如何實現可靠傳輸

2021-10-03 18:36:51 字數 1112 閱讀 5184

(1)tcp面向連線;udp無連線

(2)tcp保證資料的可靠傳輸,資料傳送無差錯,不丟失,無重複,按序到達;udp不保證可靠交付

(3)tcp連線一對一;udp支援更廣泛

(4)udp實時性好,效率高,適用場景:短訊息傳輸,大量客戶端,對資料安全性要求不高但實時性要求高

(5)tcp面向資料流;udp面向資料報

1. 序列號,ack訊號:傳送方按照順序給要傳送的資料報的每個位元組都標上編號。接收方接收到傳送方的資料報之後,回傳乙個ack訊號,標識下乙個需求的資料報初始位元組編號。

2. 超時重發:在等待接收方回傳的ack訊號超時後,傳送方重發資料報。一旦開始重傳,下一次等待的時間間隔指數增長,重發一定次數後還是收不到ack訊號,將強制終止連線。

3. tcp的連線管理:建立連線的三次握手和斷開連線的四次揮手。

4. 以段為單位傳送資料報:在建立tcp連線的同時,兩端協商傳送資料報的單位,稱為「最大訊息長度」:mss。 【tcp資料(mss位元組)】【tcp首部(20位元組)】【ip首部(20位元組)】

5. 滑動視窗:以段為單位傳送資料報,每傳送乙個資料報需要等待乙個ack訊號,當資料報往返時間越長效率越低。滑動視窗中視窗前端為已傳送但為收到ack的資料,後端為待傳送資料。傳送端一次傳送多個資料,接收端回傳收到的連續資料的ack訊號,快取缺失資料之後的資料報(保持順序)。傳送端當收到ack訊號時,視窗向前依次移動,直到遇到有資料未確認時停止。一段時間後啟動超時重傳,接收端若收到缺失資料,則和快取資料一起傳送ack訊號,否則,拋棄快取資料。

6. 流量控制:tcp首部有乙個欄位來通知視窗的大小,接收端通過設定來主動控制傳輸流量。

7. 擁塞控制:傳送端通過擁塞視窗主動控制傳輸流量。慢啟動:防止雙方通訊剛開始就傳送大量資料報,傳送端擁塞視窗初始設定為1mss,每接受乙個ack訊號,視窗擴大為兩倍。傳送資料時,取擁塞視窗和滑動視窗的較小值。同時設定乙個慢啟動閾值,當擁塞視窗大小超過閾值時,改為線性增長,直到網路擁塞。擁塞時將慢啟動閾值設定為當前視窗的的一半,並將擁塞視窗的值設定為1,然後再次重複操作。

TCP協議如何實現可靠傳輸

1.可靠傳輸的工作原理 停止等待協議 1.使用確認和重傳機制,我們就可以在不可靠的傳輸網路上實現可靠的通訊 2.這種可靠傳輸協議常稱為自動重傳請求arq automatic repeat request 3.arq表明重傳的請求是自動進行的,接收方不需要請求傳送重傳某個出錯的分組。2.停止等待協議的...

TCP可靠傳輸的實現

1.概述 為方便描述可靠傳輸原理,假定資料傳輸只在乙個方向上進行,即a傳送資料,b給出確認 2.以位元組為單位的滑動視窗 tcp的滑動視窗是以位元組為單位的。為了便於說明,位元組編號取得很小。先假定a收到b發來的確認報文字段,其中視窗是20位元組,而確認號是31位元組。表明b期望接收到的下乙個序號是...

TCP可靠傳輸的實現

滑動視窗是指傳送方維護乙個固定大小的環形鍊錶做資料快取,快取上有三個指標 p1已傳送未確認的首位址,p2已傳送未確認的尾位址 允許傳送但未傳送首位址 p3允許傳送但未傳送尾位址 未傳送首位址 視窗的大小由接收方控制。傳送資料後,需要等待接收方的確認,直到收到確認資訊後,才會移動p1指標,相當於在未接...