MAC頭 IP頭 TCP頭 UDP頭詳解以及定義

2021-09-17 07:21:46 字數 1528 閱讀 2507

一、mac幀頭定義

/*資料幀定義,頭14個位元組,尾4個位元組*/

typedef struct _mac_frame_header

__attribute__((packed))mac_frame_header,*pmac_frame_header;

typedef struct _mac_frame_tail

__attribute__((packed))mac_frame_tail, *pmac_frame_tail;

二、ip頭結構的定義

/*ip頭定義,共20個位元組*/

typedef struct _ip_header

__attribute__((packed))ip_header, *pip_header ;

三、tcp頭結構定義

/*tcp頭定義,共20個位元組*/

typedef struct _tcp_header

__attribute__((packed))tcp_header, *ptcp_header;

/*tcp頭中的選項定義

kind(8bit)+length(8bit,整個選項的長度,包含前兩部分)+內容(如果有的話)

kind = 1表示 無操作nop,無後面的部分

2表示 maximum segment 後面的length就是maximum segment選項的長度(以byte為單位,1+1+內容部分長度)

3表示 windows scale 後面的length就是 windows scale選項的長度(以byte為單位,1+1+內容部分長度)

4表示 sack permitted length為2,沒有內容部分

5表示這是乙個sack包 length為2,沒有內容部分

8表示時間戳,length為10,含8個位元組的時間戳

*/typedef struct _tcp_options

__attribute__((packed))tcp_options, *ptcp_options;

四、udp頭結構的定義

/*udp頭定義,共8個位元組*/

typedef struct _udp_header

__attribute__((packed))udp_header, *pudp_header;

**《ip頭,tcp頭,udp頭,mac幀頭定義》

IP頭,TCP頭,UDP頭,MAC幀頭定義

一 mac幀頭定義 資料幀定義,頭14個位元組,尾4個位元組 typedef struct mac frame header attribute packed mac frame header,pmac frame header typedef struct mac frame tail attri...

IP頭,TCP頭,UDP頭,MAC幀頭定義

一 mac幀頭定義 資料幀定義,頭14個位元組,尾4個位元組 typedef struct mac frame header attribute packed mac frame header,pmac frame header typedef struct mac frame tail attri...

IP頭 TCP頭 UDP頭詳解以及定義

ip資料報也叫ip報文分組,傳輸在iso網路7層結構中的網路層,它由ip報文頭和ip報文使用者資料組成,ip報文頭的長度一般在20到60個位元組之間,而乙個ip分組的最大長度則不能超過65535個位元組。下圖為ip分組的報文頭格式,報文頭的前20個位元組是固定的,後面的可變。由於delphi裡面沒有...