设为首页收藏本站

IPv6BBS

 找回密码
 注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 8730|回复: 7

IPv6技术白皮书(二):IPv6报文格式详解

[复制链接]
满天星 发表于 2010-8-15 15:41:30 | 显示全部楼层 |阅读模式
1 IPv6报文基本头格式


图1.IPv6基本头结构

  • Version:
    4比特,值为6表示IPv6报文
  • Traffic Class:
    ]8比特,类似于IPv4中的TOS域
  • Flow Label:
    20比特。IPv6中新增。流标签可用来标记特定流的报文,以便在网络层区分不同的报文。转发路径上的路由器可以根据流标签来区分流并进行处理。由于流标签在IPv6报文头中携带,转发路由器可以不必根据报文内容来识别不同的流,目的节点也同样可以根据流标签识别流,同时由于流标签在报文头中,因此使用IPSec后仍然可以根据流标签进行QoS处理。
  • Payload Length:
    16比特。以字节为单位的IPv6载荷长度,也就是IPv6报文基本头以后部分的长度(包括所有扩展头部分)。
  • Next Header:
    8比特。用来标识当前头(基本头或扩展头)后下一个头的类型。此域内定义的类型与IPv4中的协议域值相同。Pv6定义的扩展头由基本头或扩展头中的扩展头域链接成一条链。这一机制下处理扩展头更高效,转发路由器只处理必须处理的选项头,提高了转发效率。
  • Hop Limit:
    8比特。和IPv4中的TTL字段类似。每个转发此报文的节点把此域减1,如果此域值减到0则丢弃。
  • Source Address:
    128比特。报文的源地址。
  • Destination Address:
    128比特。报文的目的地址


2 IPv6报文扩展头格式


图2 IPv6扩展头结构

IPv6选项字段是通过形成链式结构的扩展头支持的。IPv6基本头后面可以有0到多个扩展头。
IPv6扩展头排列顺序如下:
(1) 逐跳选项头
值为0(在IPv6基本头中定义)。此选项头被转发路径所有节点处理。目前在路由告警(RSVP和MLDv1)与Jumbo帧处理中使用了逐跳选项头。路由告警需要通知到转发路径中所有节点,需要使用逐跳选项头。Jumbo帧是长度超过65535的报文,传输这种报文需要转发路径中所有节点都能正常处理,因此也需要使用逐跳选项头功能。
(2) 目的选项头
值为60。只可能出现在两个位置:
  • 路由头前
    这时此选项头被目的节点和路由头中指定的节点处理。
  • 上层头前(任何ESP选项后)
    此时只能被目的节点处理。Mobile IPv6中使用了目的选项头。Mobile IPv6中新增加一种类型的目的选项头(家乡地址选项)。家乡地址选项由目的选项头携带,用于移动节点离开家乡后通知接收节点此移动节点对应的家乡地址。接收节点收到带有家乡地址选项的报文后,会把家乡地址选项中源地址(移动节点的家乡地址)和报文中源地址(移动节点的转交地址)交换,这样上层协议始终认为是在和移动节点的家乡地址在通信,实现了移动漫游功能。

(3) 路由头
值为43。用于源路由选项和Mobile IPv6。
(4) 分片头
值为44。此选项头在源节点发送的报文超过Path MTU(源和目的之间传输路径的MTU)时对报文分片时使用。
(5) 验证头(AH头)
值为51。用于IPSec,提供报文验证、完整性检查。定义和IPv4中相同。
(6) 封装安全载荷头(ESP头)
值为50。用于IPSec,提供报文验证、完整性检查和加密。定义和IPv4中相同。
(7) 上层头
上层协议头,如TCP/UDP/ICMP等
目的选项头最多出现两次(一次在路由头前,一次在上层协议头前),其它选项头最多出现一次。但IPv6节点必须能够处理选项头(逐跳选项头除外,它固定只能进随基本头之后)的任意出现位置和任意出现次数,以保证互通性。

3 IPv6 ICMP报文格式


图3 ICMP报文结构

ICMPv6功能与ICMPv4类似。ICMPv6用于IPv6节点报告报文处理过程中发生的错误以及完成其它层的功能,例如诊断功能(ICMPv6 “ping”)。ICMPv6是IPv6的一部分,每个IPv6节点都必须实现。
ICMPv6报文主要分两类:
(1) 差错报文
  • 目的地不可达报文
  • 报文长度超大报文(用于路径MTU发现协议)
  • 传输超时报文(相当于IPv4 TTL等于0时触发的ICMP报文)
  • 报文参数错误报文

(2) 信息报文
  • 回显请求报文
  • 回显应答报文

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
omij1230 发表于 2011-2-24 18:00:46 | 显示全部楼层
给你顶了,楼主辛苦了。都没人来看
 楼主| 满天星 发表于 2011-2-24 19:02:14 | 显示全部楼层

没啥,需要的同志会看,不需要的看了也记不住嘛!
dongll153 发表于 2011-3-17 15:12:00 | 显示全部楼层
请教一下楼主:目的选项头、 路由头、 分片头、验证头(AH头)、 封装安全载荷头(ESP头)、上层头
是IPV6报文的哪个位置呀?能在图中标明一下吗?


谢谢!
 楼主| 满天星 发表于 2011-3-17 21:34:26 | 显示全部楼层
IPv6的所有扩展头都不包含在IPv6基本包头中,类似TCP\UDP等头部单独存在,通过next header来指出下一个头,然后扩展头也是如此通过next header指出下一个包头,类似串糖葫芦似的……
上面的图中已经画出来了
kavass 发表于 2011-4-25 22:59:30 | 显示全部楼层
学习了,楼主很给力啊~~
lp13 发表于 2012-3-30 17:26:43 | 显示全部楼层
顶个,哈哈哈哈哈哈
ipsunshin 发表于 2016-11-5 10:20:49 | 显示全部楼层
新手报到,先来这里打实基础啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|IPv6BBS ( 京ICP备13024693号 | 京公网安备11010802012238  

GMT+8, 2017-12-12 02:43 , Processed in 0.711473 second(s), 22 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表