ipv4 报文格式中文描述
ipv4 英文描述
- 第一行 报文头部 20 byte + 选项 40 byte
- ver 版本:4位 ipv4=0100
- hlen 头部长度:4bit 固定头部 + 选项 用4byte 为单位标记头部长度 (5-15)0101-1111
- tos服务类型:8位
- total length 报文总长度:16位. 0-65535 字节,链路允许 MTU 1500字节 ,一般需要mtu分片
- 第二行
- identification 报文标识符 id号:16位,当原始报文超过 mtu,必须分片,每个分片打上相同的标记,便于接收端识别为同一个 报文的分片
- flag 标记:3位,第一位未使用;第二位 do not fragment(df)不分片,第三位 more fragment(mf)表示 后续还有分片, 除了最后一个分片 mf=1其他分片mf=0
- fragment offset 分片偏移量:13位,标记分片在分组中的位置。
- 备注: 因为任何物理 网络介质传输能力优先,有个最大传输单元,以太网最大帧 1518 = ip报文 (1500byte)+ 帧头(18byte).
- 第三行
- time to live (ttl:生存时间):8位,指数据包可以传多少跳,跟ping ttl 一个概念。linux ttl=255,win98 ttl=128,win7 ttl=64
- protocol ,8位,表示出传输层的协议号;自己应该交给上层哪个协议(ICMP/IGMP/OSPF)
- 1:ICMP,2:IGMP,4:IP,6:TCP,8:EGP,17:UDP,41:IPV6
- header checksum(报头校验和),用于校验IP报头差错;只校验 头部,数据部分交给tcp
- 第四行
- source ip address 源地址,32 位
- 第五行
- destination ip address 目的地址,32位
- 第六行
- option 可选字段