2020 09 23 TCP頭部資訊有哪些?

2021-10-09 17:38:35 字數 1032 閱讀 1104

福哥答案2020-09-23:#福大大架構師每日一題#

福哥口訣法:t源目序缺首保 緊確推和復同終 窗校緊選數(tcp格式:源埠,目的埠,序號,確認號,首部長度,保留,緊急位urg,確認位ack,推送位psh,復位位rst,同步位syn,終止位fin,視窗,校驗和,緊急指標,選項,資料)

此答案來自知乎:

typedef struct _tcp_header

attribute((packed))tcp_header, *ptcp_header;

源埠號以及目的埠號:

各佔2個位元組,埠是傳輸層和應用層的服務介面,用於尋找傳送端和接收端的程序,通過這兩個埠號和ip頭部的ip傳送和接收號,可以唯一的確定乙個連線。

一般來講,通過埠號和ip位址,可以唯一確定乙個tcp連線,在網路程式設計中,通常被稱為乙個socket介面。

序號:佔4位元組,用來標識從tcp傳送端向tcp接收端傳送的資料字節流。

資料偏移:

佔4位,最大為1111即15個數字,乙個代表4個位元組,用於指出tcp首部長度,若不存在選項,則這個值為20位元組,資料偏移的最大值為60位元組。

保留字段:

佔6位,值是確定的,暫時可忽略,值全為0。

標誌位:

rg(緊急): 為1時表明緊急指標字段有效。

ack(確認):為1時表明確認號字段有效。

psh(推送):為1時接收方應盡快將這個報文段交給應用層。

rst(復位):為1時表明tcp連線出現故障必須重建連線。

syn(同步):在連線建立時用來同步序號。

fin (終止): 為1時表明傳送端資料傳送完畢要求釋放連線。

接收視窗:

佔2個位元組,用於流量控制和擁塞控制,表示當前接收緩衝區的大小。在計算機網路中,通常是用接收方的接收能力的大小來控制傳送方的資料傳送量,這樣可以避免快主機致使較慢主機的緩衝區溢位。tcp連線的一端根據緩衝區大小確定自己的接收視窗值,告訴對方,使對方可以確定傳送資料的位元組數。

校驗和:

佔2個位元組,範圍包括首部和資料兩部分。檢查當前的tcp包是否有問題,有沒有損壞丟失。

tcp和udp的頭部資訊

源埠號以及目的埠號 各佔2個位元組,埠是傳輸層和應用層的服務介面,用於尋找傳送端和接收端的程序,通過這兩個埠號和ip頭部的ip傳送和接收號,可以唯一的確定乙個連線。一般來講,通過埠號和ip位址,可以唯一確定乙個tcp連線,在網路程式設計中,通常被稱為乙個socket介面。序號 佔4位元組,用來標識從...

IP資料報頭部,TCP頭部,偽TCP頭部結構定義

我自己整理出來的彙編版本 ip資料報頭部結構定義 ip head struct h lenver db 4位ip版本號 4位首部長度 tos db 8位服務型別 tcp len dw 16位tcp資料報總長度 ident dw 16位標識 frag and flags dw 3位分片標誌 13位分片...

TCP頭部選項

tcp頭部的最後乙個選項字段 options 是可變長的可選資訊。這部分最多包含40位元組,因為tcp頭部最長是60位元組 其中還包含前面討論的20位元組的固定部分 典型的tcp頭部選項結構如圖3 4所示。選項的第乙個欄位kind說明選項的型別。有的tcp選項沒有後面兩個字段,僅包含1位元組的kin...