Ethernet IP TCP UDP 协议头部格式
生活随笔
收集整理的這篇文章主要介紹了
Ethernet IP TCP UDP 协议头部格式
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
The Ethernet header structure is shown in the illustration below:
以太網(wǎng)頭部14 bytes
| Destination | Source | Len | Data unit + pad | FCS |
| (6 bytes) | (6 bytes) | (2) | (46-1500 bytes) | (4 bytes) |
| Ethernet header structure | ||||
The IP header structure is as follows:
IP頭部20 bytes
| 4 | 8 | 16 | 32 bits | ||||
| Ver. | IHL | Type of service | Total length | ||||
| Identification | Flags | Fragment offset | |||||
| Time to live | Protocol | Header checksum | |||||
| Source address | |||||||
| Destination address | |||||||
| Option + Padding | |||||||
| Data | |||||||
| IP header structure | |||||||
The TCP header structure is as follows:
TCP頭部20 bytes
| 16 | 32 bits | |||||||
| Source port | Destination port | |||||||
| Sequence number | ||||||||
| Acknowledgement number | ||||||||
| Offset | Resrvd | U | A | P | R | S | F | Window |
| Checksum | Urgent pointer | |||||||
| Option + Padding | ||||||||
| Data | ||||||||
| TCP header structure | ||||||||
The UDP header structure is shown as follows:
UDP頭部8 bytes
| 16 | 32 bits |
| Source port | Destination port |
| Length | Checksum |
Data | |
| UDP header structure | |
一些協(xié)議頭部的定義:
struct ip { #if BYTE_ORDER == LITTLE_ENDIANu_char ip_hl:4, /* header length */ip_v:4; /* version */ #endif #if BYTE_ORDER == BIG_ENDIANu_char ip_v:4, /* version */ip_hl:4; /* header length */ #endifu_char ip_tos; /* type of service */short ip_len; /* total length */u_short ip_id; /* identification */short ip_off; /* fragment offset field */u_char ip_ttl; /* time to live */u_char ip_p; /* protocol */u_short ip_sum; /* checksum */struct in_addr ip_src,ip_dst; /* source and dest address */ };struct udphdr {u_short uh_sport; /* source port */u_short uh_dport; /* destination port */short uh_ulen; /* udp length */u_short uh_sum; /* udp checksum */ };struct tcphdr {u_short th_sport; /* source port */u_short th_dport; /* destination port */tcp_seq th_seq; /* sequence number */tcp_seq th_ack; /* acknowledgement number */ #if BYTE_ORDER == LITTLE_ENDIANu_char th_x2:4, /* (unused) */th_off:4; /* data offset */ #endif #if BYTE_ORDER == BIG_ENDIANu_char th_off:4, /* data offset */th_x2:4; /* (unused) */ #endifu_char th_flags;u_short th_win; /* window */u_short th_sum; /* checksum */u_short th_urp; /* urgent pointer */ };更多網(wǎng)絡(luò)協(xié)議格式細(xì)節(jié)參考:http://www.protocols.com/pbook/
轉(zhuǎn)載于:https://www.cnblogs.com/qq76211822/p/5137043.html
總結(jié)
以上是生活随笔為你收集整理的Ethernet IP TCP UDP 协议头部格式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。