目錄
一、定義
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個重複確認就立即重傳對方尚未收到的報文段,而不必 繼續等待設定的重傳計時器到期
注:b. 解決方案描述(快重傳 & 快恢復)九、與udp協議的區別由於跳過了擁塞視窗(cwnd)從1起始的慢開始過程,所以稱為:快恢復 此處網路不會發生網路擁塞,因若擁塞,則不會收到多個重複確認報文
詳解TCP協議
16位的源埠號 傳送源的埠號 16位的目標埠號 目標的埠號 32位的序號 互動的初始資料段,序號值由系統生成的隨機值 isn。後續的報文段的序號為isn 所攜帶資料在整個位元組流中的偏移量。特點 1 所有的報文段序號不重複。2 後續的報文段序號值比前面的大。32位的確認號 由接收段填充,其值為序列號...
TCP協議詳解
參考部落格 在可靠的tcp網路通訊中,客戶端和伺服器端通訊建立連線的過程可簡單表述為三次握手 建立連線的階段 和四次揮手 釋放連線階段 下圖是這兩個階段的乙個完整的表述 其狀態圖可以表示為,在tcp連線建立的時候,存在乙個如下的有限狀態機 在狀態轉化圖中,其中客戶端的狀態轉移用帶箭頭的粗實線表示,伺...
TCP協議詳解
首先tcp是一種可靠的面向位元組流的協議,流指的是流入到程序或從程序流出的位元組序列。tcp的可靠性主要是由其首部的複雜結構結合可靠性傳輸原理 比如停止等待協議 arq 協議實現,可以說,tcp的首部是tcp能可靠傳輸的必要保障,了解tcp的首部很有必要 1.tcp首部 2.可靠傳輸基本原理 停止等...