Chinaunix首页 | 论坛 | 博客
  • 博客访问: 915335
  • 博文数量: 148
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 3920
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-30 18:17
文章分类

全部博文(148)

文章存档

2008年(148)

我的朋友

分类:

2008-06-29 17:57:02

IP包头

 

                          

 IP报头结构图

版本号(Version):长度4比特。标识目前采用的IP协议的版本号。一般的值为0100IPv4),IPv6的值(0110

 

IP包头长度(Header Length):长度4比特。这个字段的作用是为了描述IP包头的长度,因为在IP包头中有变长的可选部分。IP包头最小长度为20字节,由于变长的可选部分最大长度可能会变成24字节。

 

服务类型(Type of Service):长度8比特。这个子段实际上可以拆分成两个部分:PrecedenceTOS定义IP协议包的处理方法,它包含如下子字段

过程字段(优先权):3位,设置了数据包的重要性,取值越大数据越重要,取值范围为:0(正常)~ 7(网络控制)
延迟(时延)字段:1位,取值:0(正常)、1(期特低的延迟)
流量(吞吐量)字段:1位,取值:0(正常)、1(期特高的流量)
可靠性字段:1位,取值:0(正常)、1(期特高的可靠性)
成本(开销)字段:1位,取值:0(正常)、1(期特最小成本)
未使用(保留位):1位,恒设为0

TOS目前不太使用。而Precedence则用于QOS应用。(TOS字段的详细描述RFC 1340 1349

 

IP包总长(Total Length):长度16比特。IP包最大长度65535字节。

 

标识符(Identifier:长度16比特。该字段和FlagsFragment Offest字段联合使用,对大的上层数据包进行分段(fragment)操作。如果数据包原始长度超过MTU,那么将他分段为更小的数据包.然后路由器在每片数据包的标志字段打上相同的标记,以便接收设备可以识别出属于一个数据包的分段.分段的数据包不会在数据链路的另外一端重新组合,直到最终目的地才会重组.

 

标记(Flags):长度3比特。该字段第一位不使用。第二位是不分段DF位,DF位设为1时表明路由器不能对该上层数据包分段。如果一个上层数据包无法在不分段的情况下进行转发,则路由器会丢弃该上层数据包并返回一个错误信息。第三位是MF位,当路由器对一个上层数据包分段,则路由器会在除了最后一个分段的IP包的包头中将MF位设为1。这个可以在网络上用于测试MTU值.在IOS系统中,可以用PING工具对DF位设置.

 

分段序号(Fragment Offset):长度13比特。该字段对包含分段的上层数据包的IP包赋予序号。由于IP包在网络上传送的时候不一定能按顺序到达,这个字段保证了目标路由器在接受到IP包之后能够还原分段的上层数据包。到某个包含分段的上层数据包的IP包在传送是丢失,则整个一系列包含分段的上层数据包的IP包都会被要求重传。

 

生存时间(TTL):长度8比特。当IP包进行传送时,先会对该字段赋予某个特定的值。当IP包经过每一个沿途的路由器的时候,每个沿途的路由器会将IP包的TTL值减少1。如果TTL减少为0,则该IP包会被丢弃。这个字段可以防止由于故障而导致IP包在网络中不停被转发。

 

协议(Protocol):长度8比特。标识了上层所使用的协议。

 

头部校验(Header Checksum):长度16位,由于IP包头是变长的,所以提供一个头部校验来保证IP包头中信息的正确性。

 

起源和目标地址(Source and Destination Addresses

):这两个地段都是32比特。标识了这个IP包的起源和目标地址。

 

可选项(Options):这是一个可变长的字段。该字段由起源设备根据需要改写。可选项目包含以下内容:

松散源路由(Loose source routing):给出一连串路由器接口的IP地址。IP包必须沿着这些IP地址传送,但是允许在相继的两个IP地址之间跳过多个路由器。

严格源路由(Strict source routing):给出一连串路由器接口的IP地址。IP包必须沿着这些IP地址传送,如果下一跳不在IP地址表中则表示发生错误。

路由记录(Record route):当IP包离开每个路由器的时候记录路由器的出站接口的IP地址。

时间戳(Timestamps):当IP包离开每个路由器的时候记录时间。

阅读(1321) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~