|
目前因特网上广泛使用的IP协议为IPv4,其数据报格式如下图所示。IPv4的设计目标是提供无连接的数据报尽力投递服务。
|
|
|
|
|
IP数据报包括IP数据报报头和数据域两部分,报头主要包含数据报传输时所用的控制信息,数据域携带用户希望传输的数据信息。
|
|
|
.版本号:说明对应IP协议的版本号(此处取值为4)。
|
|
|
.IP头长度:以32位字为单位的IP数据报报头的长度。
|
|
|
.服务类型:说明本数据报对传输网络的性能要求,或者指导路由器选择适合的传输网络。前3位表示本数据报的优先级(取值为0表示一般数据,取值为7表示网络控制信息);第四~六位分别为延迟(D)、吞吐量(T)和可靠性(R)标志位;最后两位保留未用。
|
|
|
.IP数据报长度:说明整个IP数据报的长度,以字节为单位,最大值为65 535。
|
|
|
.标识符:唯一地标识该份IP数据报;IP模块提供尽力投递的服务,在IP数据报投递的过程中,可能执行数据报分段的工作,将一个体积较大的数据报划分为若干个小的数据报。为了便于收方IP模块的组装,所有小数据报的标识符域具有相同的值。
|
|
|
.标志:说明本数据报是否允许分段。本域共占3位,从左至右第一位保留未用,第二位(DF)表示是否允许分段,第三位(MF)表示本分段是否为最后一段。
|
|
|
.段偏移:说明本数据报分段在整个数据报中的起始位置;由于段偏移域共占13位,表示源发节点发送的IP数据报最多允许有8192个分段。
|
|
|
.生存期:说明本IP数据报在网络中允许停留的时间。为了避免IP数据报在网络中无限制地转发,设置了本字段。通常本字段由源发端设置,并且每经过一个路由器(分析IP数据报),数值减1;结果为0,则丢弃本数据报。
|
|
|
|
.报头校验和:用于路由器检测IP数据报报头的正确性。该域的值在IP数据报途经的每个路由器上重新生成,并由下一跳的路由器验证。IP模块丢弃报头出错的数据报,并通过ICMP(因特网控制消息协议)告知发送方。
|
|
|
.源/宿IP地址:填写本IP数据报的发送方和接收方的IP地址。
|
|
|
|
.填充域:保证整个IP数据报报头的长度为32位字的整数倍。如果报头长度不是32位的整数倍,则需要在填充域中加0凑齐。
|
|
|