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

全部博文(148)

文章存档

2008年(148)

我的朋友

分类: 系统运维

2008-04-26 09:41:06

因特网控制消息协议向源节点报千关于向目的地传输IP数据包的错误和信息。IPV6处理IP
V4ICMP所支持的消息和为IPV6协议的特殊操作而附加的消息。在IPV6中,协议的几种机制
和功能使用ICMPV6消息:
1、替代地址解析协议(ARP):一种用在本地链路区域取代IPV4中ARP协议的机制。节点和
路由器保留邻居信息。
2、无状态自动配置:自动配置功能允许节点自己使用路由器在本地链路上公告的前缀配置
它们的IPV6地址。
3、重复地址检测(DAD):启动时和在无状态自动配置过程中,每一个节点都先验证临时
IPV6地址的存在性,然后使用它。这个功能也使用新的ICMPV6消息。
4、前缀重新编址:前缀重新编址是当网络的IPV6前缀改变为一个新前缀时使用的一种机制

5、路径MTU发现(PMTUD):源节点检测到目的主机的传送路径上最大MTU值的机制。
下面简单介绍这几种机制,详细信息就要参考RFC文档了:)
1、IPV6路径MTU发现(PMTUD):PMTUD的主要目的是发现路径上的MTU(最大传输单元),
当数据包发向目的地时避免分段。然后源节点可以使用发现的最大MTU与目的节点通信。当
数据包比链路层MTU大时,分段可能在中途的路由中发生。而IPV6中的分段不是在中间路由
器上进行的。仅当路径MTU比传送的数据包小时源节点自己才可以对数据包分段。发送数据
包前,源节点先用PMTUD机制发现传输路径中的最大MTU,然后根据结果,源节点对数据进
行分段处理,再发送。这样在中间路由器上就不会分段了。这样的好处是降低了开销。
2、邻居发现协议(NDP):NDP定义了三种机制:替代ARP(在IPV6中,ARP被去掉了)、无
状态自动配置和路由器重定向(路由器向一个IPV6节点发送ICMPV6消息,通知它在相同的
本地链路上存在一个更好的到达目的网络的路由器地址)。邻居公告和请求的工作是这样
的(假设两个节点A和B)使用地址FEC0::1:0:0:1:A的节点A要传送数据包到相同本
地址链路上的使用IPV6地址FEC0::1:0:0:1:B的目的节点B。但节点A不知道节点B的
链路层地址。节点A发送类型135的ICMPV6消息(邻居请求)到本地链路,它的本地站点地
址FEC0::1:0:0:1:A作为IPV6源地址,与FEC0::1:0:0:1:B对应的请求节点多
播地址FF02::1:FF01:B作为目的地址,发送节点A的源链路层地址00:50:3E:E4:4
C:00作为ICMPV6消息的数据(被请求节点多播地址与本地站点地址是有对应关系的)这个
帧的目的链路层地址33:33:FF:01:00:0B是IPV6目的地址FF02::1:FF01:B的多播
映射。侦听本地链路上多播地址的节点B获取这个邻居请求消息,因为目的IPV6地址FF02:
:FF01:B代表它的IPV6地址FEC0::1:0:0:1:B相对应的被请求节点多播地址(被请
求节点多播地址是上篇讲的每个节点必需拥有的地址之一,目的就在于此),节点B发送一
个邻居公告消息应答,用它的本地站点地址FEC0::1:0:0:1:B作为IPV6源地址,本地站点
地址FEC0::1:0:0:1:A作为目的IPV6地址,并在消息中包含它的链路层地址。这样,
在接收到邻居请求和邻居公告消息后,节点A和节点B互相知道了对方的链路层地址,就可
以在本地链路上通信了。
    无状态自动配置是IPV6最有吸引力和最有用的新特性之一,它允许本地链路上的节点
根据路由器在本地链路上公告的信息自己配置单播IPV6地址。这要涉及到三个机制:前缀
公告、DAD和前缀重新编址。
    前缀公告的工作方式是:路由器周期性地发送路由器公告消息(ICMPV6类型134),用
它的本地链路地址作为源地址,所有节点的多播地址FF02::1作为目的IPV6地址。监听本
地链路多播地址FF02::1的节点得到路由器公告消息,就可以自己配置它们的IPV6地址了

    重复地址检测的工作方式是:DAD用邻居请求消息(ICMPV6类型135)和请求节点的多
播地址完成这个任务。这个操作要求节点在本地链路上送邻居请求消息,用未指定地址(
::)作为源IPV6地址,用临时单播地址的请求节点多播地址作为目的IPV6地址。如果在
此过程中发现了一个重复地址,这个临时地址就不能分配置给接口,否则,这个临时地址
配置到接口。例如。一个节点A相在它的接口上配置临时地址2001:250:C00:1::1。节
点A发送一个邻居请求消息,用未指定地址(::)作为源IPV6地址,用临时单播地址200
1:250:C00::1的被请求节点多播地址FF02::1:FF01:1作为目的地址。只要这个邻
居请求被发送到本地链路上,如果一个节点对这个请求应答,就说明这个临时单播IPV6地
址已被另外一个节点使用。在没有应答的情况下,这个地址就分配给它的接口了。
    前缀重新编址允许从以前的网络前缀平稳地过渡到新的前缀。要得到透明重新编址的
好处意味着站点内的所有节点使用无状态自动配置。这个机制使用与前缀公告机制相同的
ICMPV6消息和多播地址。首先,站点中所有的路由器继续公告当前的前缀,但是有效和首
选生存期被减小到接近于0的一个值,然后,路由器开始在本地链路公告新的前缀。因此,
在每个本地链路上至少有两个前缀共存。节点收到这些路由器公告消息后,节点发现当前
前缀的生存期有短的生存期从而被停止使用,但同时也得到了新的前缀。
    路由器重定向机制这里就不再说了
阅读(1122) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~