-
IP
报文头详解以及定义
IP
数据包也叫
IP
报文分组,传
输在
ISO
网络
7
层结构中的网络层,它由
IP
报文头和
IP
报文用户数据组
成,
IP
p>
报文头的长度一般在
20
到
60
个字节之间,
而一个
IP
分组的最大长度则不能超过
65535
个字节。
下图为
< br>IP
分组的报文头格式,报文头的前
20
个字节是固定的,后面的可变。
版本
:占
4
位(
bit
),指
IP
协议的版本号。
目前的主要版本为
IPV4
,即第
4
版本号
,也有一些教育网
和科研机构在使用
IPV6<
/p>
。在进行通信时,通信双方的
IP
协议版
本号必须一致,否则无法直接通信。
首部长度:占
4
位(
bit
),指
IP
报文头的长度。最大的长度(即
p>
4
个
bit
都为<
/p>
1
时)为
15
个
长度单位,
每个长度单位为
4
字节(<
/p>
TCP/IP
标准,
DoubleWor
d
),所以
IP
协议报文头的最大长度
为
60
个字节,
最短为上图所示的
p>
20
个字节。
服务类型
:占
8
位(
bit
),用来获得更好的服务。其中的前
3
位表示报文的优先级,后面的几位分别表示
要求<
/p>
更低时延
、
更高的吞吐量、更高的可靠性
、更低的路由代价
等。对应位为
1
即有
相应要求,为
0
则不
要求。
总长度
:
16
位(
bit
),
p>
指报文的总长度
。注意这里的单位为字节,而不是
< br>4
字节,所以一个
IP
报文的的
最大长度为
65535
个字节。
标识
(
identification
):
该字段标记
当前分片为第几个分片
,在数据报重组时很有用。
标志
(
fl
ag
):该字段用于标记该报文
是否为分片
(有一些可能不需要分片,或不希望分片),后面是否
还有分片(是否是最后一个分
片)。
片偏移
:
指当前分片在原数据报(分片前的数据报)中相对于用户数据字段的偏移量
,即在原数据报中的
相对位置。
生存时间
:
TTL
(
Time
to
Live
)。该字段表明当前报文
还能生存多久<
/p>
。每经过
1ms
或者一个网关,
TT
L
的值自动减
1<
/p>
,当生存时间为
0
时,报文将被认为目的
主机不可到达而丢弃。使用过
Ping
命令的用户应
该有印象,在
windows
中输入
ping
命令,在返回的结果中即有
TTL
的数值。
协议
p>
:该字段指出在上层(网络
7
层结构或
p>
TCP/IP
的传输层)使用的协议,可能的协议有
UDP
、
TCP
、
ICMP
、
IGMP
、<
/p>
IGP
等。
首部校验和
:
用于检验
IP
报文头部在传播的过程中是否出错
,主要校验报文
头中是否有某一个或几个
bit
被污染或修改了。
源
IP
地址
:
32
位(
bit
),
4
个字节,每一
个字节为
0
~
255
< br>之间的整数,及我们日常见到的
IP
地址格
式。