本节来学习IP数据包的结构,前面我们一直在说数据包,IP数据包是网络层的PDU。PDU的概念我们在本专栏第2节的内容中谈到过,忘记了就赶快去复习。数据包也被称为“IP数据报”或者“IP分组”,这三个概念是通用的,到任何一本计算机网络教材中都适用的。
IP数据包的组成
IP数据包是由数据发送方的传输层交付下来的信息加上网络层的IP首部封装而成的,所以从整体来看,IP数据包有两个组成部分:IP首部+数据部分。
数据部分就是网络层的上层交付下来的信息,具体是什么格式我们现在不用管。本节主要重点学习的是,IP首部的格式。
首部格式
仍然按照惯例,先给出IP首部的格式图,然后我们逐一地解释各个字段。
上图的绿色部分即为IP首部的格式,粉色部分是数据部分。
先来看图的最上边,写着“0 4 8 16 19 24 31”的这一行数字,这代表的是二进制位数,也就表示了每个字段的长度是多少,比如第二行第一个,标识字段,长度是0~16,也就是16个位的长度,也就是两个字节的长度(1字节=8位),再比如第四行的,源IP地址字段,长度是从0到第31位,一共有32个位的长度,也就是四个字节的长度。
所以,