傳輸層 —— TCP協議

一、TCP


在這裏插入圖片描述
在這裏插入圖片描述

二、TCP報文段首部格式


在這裏插入圖片描述
(1)序號

在一個TCP連接中傳送的字節流中的每一個字節都按順序編號,本字段表示本報文段所發送數據的第一個字節的序號。

(2)確認號

期望收到對方下一個報文段的第一個數據字節的序號。若確認號爲N,則證明到序號N-1爲止的所有數據都已正確收到。(即採用累計確認)

(3)數據偏移(首部長度)

TCP 報文段的數據起始處距離 TCP 報文段的起始處有多遠以 4B 位單位,即1個數值是 4B

(4)緊急位URG

URG=1時,標明此報文段中有緊急數據,是高優先級的數據,應儘快傳送,不用在緩存裏排隊,配合緊急指針字段使用。

(5)確認位ACK

ACK=1時確認號有效,在連接建立後所有傳送的報文段都必須把ACK置爲1

(6)推送位PSH

PSH=1時,接收方儘快交付接收應用進程,不再等到緩存填滿再向上交付。

(8)復位RST

RST=1時,表明TCP連接中出現嚴重差錯,必須釋放連接,然後再重新建立傳輸鏈接。

(9)同步位SYN

SYN=1時,表明是一個連接請求/連接接受報文。

  • 在建立連接時用來同步序號,當SYN=1&&ACK=0,表示這是一個請求連接的報文段
  • 若對方同意建立連接,則在響應報文段中使得SYN=1&&ACK=1。

(10)終止位FIN

FIN=1時,表明此報文段發送方數據已發完,要求釋放連接。

(11)窗口

指的是發送本報文段的一方的接收窗口,即現在允許對方發送的數據量。

(12)檢驗和

檢測TCP用戶數據報在傳輸的過程中是不是有錯,有錯就丟棄。在TCP中,該字段必須被選中。

(13)緊急指針

URG=1時纔有意義,指出本報文段中緊急數據的字節數。

(14)選項

最大報文段長度MSS、窗口擴大、時間戳、選擇確認

三、TCP對應的協議


(1)FTP:定義了文件傳輸協議,使用21端口。

(2)Telnet:一種用於遠程登陸的端口,使用23端口,用戶可以以自己的身份遠程連接到計算機上,可提供基於DOS模式下的通信服務。

(3)SMTP:郵件傳送協議,用於發送郵件。服務器開放的是25號端口。

(4)POP3:它是和SMTP對應,POP3用於接收郵件。POP3協議所用的是110端口。

(5)HTTP:是從Web服務器傳輸超文本到本地瀏覽器的傳送協議。

四、TCP僞首部


通過僞首部的校驗,TCP可以確定該數據報是不是發給本機的。
在這裏插入圖片描述
(1)協議字段

對應 IP 數據報首部協議,防止 IP 數據報向上提交時誤傳,UDP報文的協議字段值爲17

協議名 ICMP IGMP TCP UDP IPV6 OSPF
字段值 1 2 6 17 41 89

(2)TCP長度

TCP首部 (20B+X) +數據部分長度(不包括僞首部)

五、TCP檢驗


與UDP檢驗類似,可參考 UDP協議

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章