1. 程式人生 > >TCP傳輸控制協議(初步簡單介紹一下,後結針對各部分詳細陳述)

TCP傳輸控制協議(初步簡單介紹一下,後結針對各部分詳細陳述)

1、ARQ(automatic repeatable request)和重傳

涉及定時器(RTO)、序列號、ACK報文

2、分組視窗和滑動視窗

傳送視窗結構如下圖:

接收視窗結構如下圖:

3、變數視窗大小由流量控制和擁塞控制決定

流量控制:是針對收發方的視窗大小或針對傳送方的傳送速率

擁塞控制:是針對網路鏈路的路由節點。(在傳送方和接收方之間可能會有有限記憶體的路由器,它們與低速網路鏈路抗爭著。當這種情況出現時,傳送方的速率可能超過某個路由器的能力,從而導致丟包。這由一種特殊的稱為擁塞控制的流量控制形式來處理)。

4、設定重傳超時

利用發端發報文、處理報文、收端再發ACK報文、ACK傳遞時間、發端收到ACK的處理時間來估算RTT,從而通過相關演算法來設定RTO。

5、TCP的可靠性保證措施

以上所提及的1、2、3、4等技術及其特定的變種來保證TCP連線的可靠性。

6、TCP頭部和封裝

tcp在ip資料報中的封裝見下圖:

tcp頭部結構見下圖:

報文的型別由型別欄位決定(佔用一位):

1、CWR——擁塞視窗減(傳送方降低它的的傳送速率)(圖中沒有寫出來)

2、ECE——ECN回顯(傳送方接收到了一個更早的擁塞通告)(圖中沒有寫出來)

3、URG——緊急報文(緊急指標欄位有效)

4、ACK——確認報文(確認號欄位有效——連線建立以後一般都是啟用狀態,因為ACK一般都會捎帶應答)

5、PSK——推送(通地P標誌置位,告知接收方,我的快取為空啦,請接收方速發信息)

6、RST——重置連線(連線取消,一般是由於沒有建立連線或連線異常時,接到對端的報文後,然後發RST報文告知對方不認識你)

7、SYN——用於初始化一個連線的同步序列號

8、FIN——該報文段的傳送方已結束向對方傳送資料(即向對端說明,我要關閉寫操作,不再發資料給你)