傳輸控制協議英文全稱為Transmission Control Protocol,縮寫為TCP,是一種面向連接的、可靠的、基于字節流的傳輸層通信協議,由IETF的RFC 793定義。為了在不可靠的互聯網絡上提供可靠的端到端字節流而專門設計的一個傳輸協議。
TCP字段介紹
源端口和目的端口
各占2個字節,這兩個值加上IP首部中的源端IP地址和目的端IP地址唯一確定一個TCP連接。
序號(seq)
占4個字節,是本報文段所發送的數據項目組第一個字節的序號。
確認序號(ack)
占4字節,是期望收到對方下次發送的數據的第一個字節的序號。
數據偏移
占4比特,表示數據開始的地方離TCP段的起始處有多遠。
保留
6比特,供以后應用,現在置為0。
6個標志位比特
① URG② ACK③ PSH④ RST⑤ SYN⑥ FIN
窗口
TCP通過滑動窗口的概念來進行流量控制。
檢驗和
檢驗和覆蓋了整個TCP報文段:TCP首部和數據。
緊急指針
只有當URG標志置1時緊急指針才有效。
TCP 數據包的大小
以太網數據包(packet)的大小是固定的,最初是1518字節,后來增加到1522字節。其中, 1500 字節是負載(payload),22字節是頭信息(head)。
IP 數據包在以太網數據包的負載里面,它也有自己的頭信息,最少需要20字節,所以 IP 數據包的負載最多為1480字節。
一條1500字節的信息需要兩個 TCP 數據包。HTTP/2 協議的一大改進, 就是壓縮 HTTP 協議的頭信息,使得一個 HTTP 請求可以放在一個 TCP 數據包里面,而不是分成多個,這樣就提高了速度。
整合自:博客園、阮一峰的網絡日志、百度百科
編輯:jq
-
以太網
+關注
關注
40文章
5460瀏覽量
172752 -
數據
+關注
關注
8文章
7145瀏覽量
89591 -
TCP
+關注
關注
8文章
1378瀏覽量
79310
發布評論請先 登錄
相關推薦
Linux TCP內核的參數設置與調優
![Linux <b class='flag-5'>TCP</b>內核的參數設置與調優](https://file1.elecfans.com/web3/M00/06/D6/wKgZPGeQWoKAAtWHAAAQyLO2T4w455.jpg)
調試TCP協議連接的常用工具
如何優化TCP協議的性能
TCP協議的安全性分析
TCP協議與UDP協議的區別
華納云:服務器平均響應時間和數據包大小之間的影響
EtherCAT轉Modbus TCP協議網關(JM-ECT-TCP)
![EtherCAT轉Modbus <b class='flag-5'>TCP</b>協議網關(JM-ECT-<b class='flag-5'>TCP</b>)](https://file1.elecfans.com//web2/M00/06/95/wKgaombcF0eAWT_5AACzT-rtvJE451.jpg)
評論