TCP協議的全面詳解

2021-10-01 23:45:47 字數 2881 閱讀 4588

目錄

一、定義

transmission control protocol,即 傳輸控制協議

二、特點

三、優缺點

四、應用場景(對應的應用層協議)

要求通訊資料可靠時,即 資料要準確無誤地傳遞給對方

如:傳輸檔案:http、https、ftp等協議;傳輸郵件:pop、smtp等協議

五、報文段格式
六、建立連線過程

特別說明:為什麼tcp建立連線需三次握手?
防止伺服器端因接收了早已失效的連線請求報文,從而一直等待客戶端請求,最終導致形成死鎖、浪費資源。說白了就是少一次不安全,多一次浪費資源。

syn洪氾攻擊:

七、 釋放連線過程

特別說明:為什麼tcp釋放連線需四次揮手?

即釋放連線後,都無法接收 / 傳送訊息給對方

延伸疑問:為什麼客戶端關閉連線前要等待2msl時間?

即 在下1個新的連線中就不會出現早已失效的連線請求報文

八、無差錯傳輸
1、含義
2、基礎:滑動視窗 協議
對於接收端:

當收到資料幀後,將視窗向前移動乙個位置,並發回確認幀,若收到的資料幀落在接收視窗之外,則一律丟棄。

滑動視窗 協議的重要特性
3、實現無差錯傳輸的解決方案

核心思想:採用一些可靠傳輸協議,使得

針對上述2個問題,分別採用的解決方案是:自動重傳協議 和 流量控制 & 擁塞控制協議

3.1 自動重傳請求協議arq(針對 出錯重傳)

下面,將主要講解 上述3類協議

型別1:停等式arq(stop-and-wait)

即 :傳送視窗大小=1、接收視窗大小=1

型別2:後退n幀協議

也稱:連續arq協議

即 :傳送視窗大小》1、接收視窗大小=1

a. 傳送方:採用多幀滑動視窗的原理,可連續傳送多個資料幀 而不需等待對方確認

b. 接收方:採用 累計確認 &後退n幀的原理,只允許按順序接收幀。具體原理如下:

示例講解

本示例 = 源站 向 目的站 傳送資料幀。具體示例如下:

型別3:選擇重傳arq(selective repeat)

即 :傳送視窗大小》1、接收視窗大小》1

類似於型別2(後退n幀協議),此處僅僅是接收視窗大小的區別,故此處不作過多描述

由此可見,若通道傳輸質量很差,導致誤位元速率較大時,後退n幀協議不一定優於停止-等待協議.

流量控制 & 擁塞控制(針對 速度匹配)

3.2 流量控制

3.3 擁塞控制

擁塞:對網路中的資源需求 > 該資源所能提供的部分

其中,涉及4種演算法,即 慢開始 & 擁塞避免、快重傳 & 快恢復

具體介紹如下

3.3.1 慢開始 & 擁塞避免

a. 儲備知識:擁塞視窗、慢開始演算法、擁塞避免演算法

擁塞避免 並不可避免擁塞,只是將擁塞視窗按現行規律緩慢增長,使得網路比較不容易出現擁塞

相比慢開始演算法的加倍,擁塞視窗增長速率緩慢得多

b. 解決方案描述(慢開始 & 擁塞避免)3.3.2 快重傳 & 快恢復

快重傳 & 快恢復的解決方案 是對慢開始 & 擁塞避免演算法的改進

a. 儲備知識:快重傳演算法、快恢復演算法

接收方 每收到乙個失序的報文段後 就立即發出重複確認(為的是使傳送方及早知道有報文段沒有到達對方),而不要等到自己傳送資料時才進行捎帶確認

傳送方只要一連收到3個重複確認就立即重傳對方尚未收到的報文段,而不必 繼續等待設定的重傳計時器到期

注:

由於跳過了擁塞視窗(cwnd)從1起始的慢開始過程,所以稱為:快恢復 此處網路不會發生網路擁塞,因若擁塞,則不會收到多個重複確認報文

b. 解決方案描述(快重傳 & 快恢復)九、與udp協議的區別

詳解TCP協議

16位的源埠號 傳送源的埠號 16位的目標埠號 目標的埠號 32位的序號 互動的初始資料段,序號值由系統生成的隨機值 isn。後續的報文段的序號為isn 所攜帶資料在整個位元組流中的偏移量。特點 1 所有的報文段序號不重複。2 後續的報文段序號值比前面的大。32位的確認號 由接收段填充,其值為序列號...

TCP協議詳解

參考部落格 在可靠的tcp網路通訊中,客戶端和伺服器端通訊建立連線的過程可簡單表述為三次握手 建立連線的階段 和四次揮手 釋放連線階段 下圖是這兩個階段的乙個完整的表述 其狀態圖可以表示為,在tcp連線建立的時候,存在乙個如下的有限狀態機 在狀態轉化圖中,其中客戶端的狀態轉移用帶箭頭的粗實線表示,伺...

TCP協議詳解

首先tcp是一種可靠的面向位元組流的協議,流指的是流入到程序或從程序流出的位元組序列。tcp的可靠性主要是由其首部的複雜結構結合可靠性傳輸原理 比如停止等待協議 arq 協議實現,可以說,tcp的首部是tcp能可靠傳輸的必要保障,了解tcp的首部很有必要 1.tcp首部 2.可靠傳輸基本原理 停止等...