福哥答案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...