傳輸控制協議(tcp)向上與使用者應用程式程序介面,向下與網路層協議ip介面。使用者應用程式採用首先呼叫tcp(或udp),然後將應用程式資料遞交給tcp這一方式,在ip網路上傳送資料。tcp將這些資料打包分段並呼叫ip模組向目的主機傳送每個資料段。接收方的tcp將段中的資料放入接收緩衝器,然後將段重灌為應用程式資料,再將這些資料傳送到目的的應用程式程序。
儘管t c p和u d p都使用相同的網路層(i p),t c p卻向應用層提供與u d p完全不同的服務。
t c p提供一種面向連線的、可靠的位元組流服務。
源埠號(16位),標識主機上發起傳送的應用程式;目的埠(16位)標識主機上傳送要到達的應用程式。源端和目的端的埠號,
用於尋找發端和收端應用程序。這兩個值加上i p首部中的源端i p位址和目的端i p位址唯一確定乙個t c p連線。乙個i p位址和乙個埠號有時也稱為乙個插口( s o c k e t),插口對(s o c k e t p a i r)(包含客戶i p位址、客戶端口號、伺服器 i p位址和伺服器端口號的四元組 )可唯一確定網際網路絡中每個t c p連線的雙方。ip+tcp埠唯一確定乙個tcp連線。
tcp協議通過使用"埠"來標識源端和目標端的應用程序。埠號可以使用0到65535之間的任何數字。在收到服務請求時,作業系統動態地為客戶端的應用程式分配埠號。在伺服器端,每種服務在"眾所周知的埠"(well-know port)為使用者提供服務。
●順序號字段:佔32位元。用來標識從tcp源端向tcp目標端傳送的資料字節流,它表示在這個報文段中的第乙個資料位元組。
●頭部長度字段:佔4位元。給出頭部佔32位元的數目。沒有任何選項欄位的tcp頭部長度為20位元組;最多可以有60位元組的tcp頭部。
預留:由跟在資料偏移欄位後的6位構成,預留位通常為0.
●標誌位欄位(u、a、p、r、s、f):佔6位元。各位元的含義如下:
◆urg:緊急指標(urgent pointer)有效。
◆ack:確認序號有效。
◆psh:接收方應該盡快將這個報文段交給應用層。
◆rst:重建連線。
◆syn:發起乙個連線。
◆fin:釋放乙個連線。
●視窗大小字段:佔16位元。此欄位用來進行流量控制。單位為位元組數,這個值是本機期望一次接收的位元組數。
●tcp校驗和字段:佔16位元。對整個tcp報文段,即tcp頭部和tcp資料進行校驗和計算,並由目標端進行驗證。
●緊急指標字段:佔16位元。它是乙個偏移量,和序號欄位中的值相加表示緊急資料最後乙個位元組的序號。
●選項字段:佔32位元。可能包括"視窗擴大因子"、"時間戳"等選項。
三次握手:
四次握手:
//定義tcp報頭
typedef struct _tcphdr
tcp_header;
TCP報文格式
tcp transmission control protocol 傳輸控制協議是一種面向連線的 可靠的 基於位元組流的傳輸層協議 tcp報文格式 源埠號 2位元組 d5 df 54751 目的埠號 2位元組 tcp報頭中的源埠號和目的埠號同ip資料報中的源ip與目的ip唯一確定一條tcp連線 序號...
TCP報文格式
視窗字段 佔16bit。雙方說出自己的資料快取區大小,單位為byte,然後約定乙個比兩者中較小的大小還要小的數值作為雙方通訊的快取區大小。防止出現傳送方一次可以傳送30000個資料,接收方一次只能接收20000個資料 檢驗和字段 佔16bit。檢驗和字段檢驗的範圍包括首部和資料兩部分 緊急指標字段 ...
TCP報文格式
tcp ip協議定義了乙個在網際網路上傳輸的包,稱為ip資料報,由首部和資料兩部分組成。ip報頭中包含大量的資訊,如源ip位址丶目的ip位址丶ip版本號丶資料報長度等。資料部分儲存著傳輸層的資料丶如tcp丶udp丶icmp等資料 組成如下 其依然由首部和資料部分組成 字段長度 bit 含義源埠 16...