博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ethernet IP TCP UDP 协议头部格式
阅读量:5909 次
发布时间:2019-06-19

本文共 2438 字,大约阅读时间需要 8 分钟。

The Ethernet header structure is shown in the illustration below:

以太网头部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

一些协议头部的定义:

struct ip {#if BYTE_ORDER == LITTLE_ENDIAN    u_char    ip_hl:4,        /* header length */              ip_v:4;            /* version */#endif#if BYTE_ORDER == BIG_ENDIAN    u_char    ip_v:4,            /* version */              ip_hl:4;        /* header length */#endif    u_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_ENDIAN    u_char    th_x2:4,        /* (unused) */              th_off:4;        /* data offset */#endif#if BYTE_ORDER == BIG_ENDIAN    u_char    th_off:4,        /* data offset */              th_x2:4;        /* (unused) */#endif    u_char    th_flags;    u_short    th_win;            /* window */    u_short    th_sum;            /* checksum */    u_short    th_urp;            /* urgent pointer */};

更多网络协议格式细节参考:

 

转载地址:http://icvpx.baihongyu.com/

你可能感兴趣的文章
formValidator的一些验证实例
查看>>
使用阿里云构建海外docker镜像
查看>>
idea 去掉never used 提示
查看>>
Palindrome Partitioning
查看>>
一年多了,该回来了……
查看>>
四则运算
查看>>
Qt5 for Android: incompatible ABI
查看>>
zookeeper学习
查看>>
class类名的管理
查看>>
LeetCode:Rectangle Area
查看>>
文本查询
查看>>
查看帐号授权信息
查看>>
小程序(四):模板
查看>>
【转】Java - printf
查看>>
jquery获取元素到屏幕底的可视距离
查看>>
ENDNOTE使用方法(转发)
查看>>
计算机数制和运算的一点总结.
查看>>
UML系列 (五) 为什么要用UML建模之建模的重要性
查看>>
Get Docker CE for CentOS
查看>>
修改用户进程可打开文件数限制(转)
查看>>