IPv4格式、首部各字段意义及地址分类知识点总结
IPv4数据报格式
IPv4首部各字段意义
- 版本:占4位。指IP协议是IPv4还是IPv6,通信双方的版本必须一致。
- 首部长度:占4位。以4B为单位,最大值为60B。默认情况下应该首部长度看成20B,此时不使用任何选项(即可选字段)。
- 总长度:占16位。指首部和数据之和的长度,以1B为单位,因此数据报最大长度为216-1=65535B。以太网的最大传送单元(MTU)为1500B,因此当一个IP数据包封装成帧时,数据包总长度一定不能超过数据链路层的MTU值。
- 标识:占16位。它是一个计数器,每产生一个数据报就加1,并赋值给标识字段,但它并不是“序号”(IP是无连接服务)。当一个数据报长度超过网络的MTU时,必须分片,此时每个数据报片都复制一次标识号以便能重装成原来的数据报。重装数据报是在目的端主机完成的。
- 标志:占3位。目前只有前两位有效,即MF和DF。MF=1表示后面还有分片;MF=0表示这是最后一个分片。DF=0允许分片;DF=1不允许分片。
- 片偏移:占13位。指明了每个分片相对于原始报文开头的偏移量,以8B为单位,即每个分片的长度必须是8B的整数倍。
- 生存时间(TTL):占8位。报文经过的每个路由器都将此字段减1,当此字段等于0时,丢弃该报文,确保报文不会永远在网络中循环。
- 协议:占8位。指出携带的数据应交给那个传输层协议,值为6表示TCP;值为17表示UDP。
- 首部检验和:占16位。只检验数据报首部,不检验数据部分。
- 源地址:占32位。表示发送方的IP地址。
- 目的地址:占32位。表示接收方的IP地址。
IPv4地址分类
IP地址就是给每个链接在因特网上的主机分配一个在全世界范围内唯一的32位标识符。一般将IP地址分为A类地址、B类地址、C类地址、D类地址、E类地址。其地址分配方法如下:
Class | 前缀位 | 网络地址位数 | 剩余的位数 | 可指派网络数 |
---|---|---|---|---|
A类地址 | 0 | 8 | 24 | |
B类地址 | 10 | 16 | 16 | |
C类地址 | 110 | 24 | 8 | |
D类地址(群播) | 1110 | 未定义 | 未定义 | 未定义 |
E类地址(保留) | 1111 | 未定义 | 未定义 | 未定义 |
A类地址的最小网络地址和最大网络地址分别是