没有合适的资源?快使用搜索试试~ 我知道了~
首页RFC4861(中文)-IPv6邻居发现(废止了RFC2461).pdf
资源详情
资源评论
资源推荐

本文翻译者: weicq2000
RFC 4861 IPv6 邻居发现
(2007 年 9 月)
摘要
本文件规定了 IPv6 邻居发现(Neighbor Discovery, ND)协议。在同一链路上的 IPv6 节点
使用 Neighbor Discovery,发现彼此的存在,确定彼此的链路层地址,发现路由器,以及维
护通向激活状态邻居的路径的可达性信息。
目录
第1章 介绍
第2章 术语
2-1 一般术语
2-2 链路类型
2-3 地址
2-4 要求
第3章 协议综述
3-1 与IPv4的比较
3-2 支持的链路类型
3-3 安全的邻居发现消息
第4章 消息格式
4-1 路由器请求消息格式
4-2 路由器通告消息格式
4-3 邻居请求消息格式
4-4 邻居通告消息格式
4-5 重定向消息格式
4-6 选项格式
4-6-1 源/目标链路层地址
4-6-2 前缀信息
4-6-3 重定向首部
4-6-4 MTU
第5章 主机模型
5-1 概念性数据结构
5-2 概念性发送算法
5-3 垃圾收集和超时要求
第6章 路由器发现和前缀发现
6-1 消息合法性检测
6-1-1 路由器请求消息的合法性检测
6-1-2 路由器通告消息的合法性检测
6-2 路由器标准
6-2-1 路由器配置变量
6-2-2 变成通告接口

6-2-3 路由器通告消息内容
6-2-4 发送非请求路由器通告
6-2-5 停止是一个通告接口
6-2-6 处理路由器请求
6-2-7 路由器通告一致性
6-2-8 链路本地地址改变
6-3 主机标准
6-3-1 主机配置变量
6-3-2 主机变量
6-3-3 接口初始化
6-3-4 处理收到的路由器通告
6-3-5 前缀超时和默认路由器
6-3-6 默认路由器选择
6-3-7 发送路由器请求
第7章 地址解析和邻居不可达检测
7-1 消息合法性检测
7-1-1 邻居请求的合法性检测
7-1-2 邻居通告的合法性检测
7-2 地址解析
7-2-1 接口初始化
7-2-2 发送邻居请求
7-2-3 接收邻居请求
7-2-4 发送请求的邻居通告
7-2-5 接收邻居通告
7-2-6 发送非请求的邻居通告
7-2-7 任播邻居通告
7-2-8 代理邻居通告
7-3 邻居不可达检测
7-3-1 可达性确认
7-3-2 邻居缓存条目状态
7-3-3 节点行为
第8章 重定向功能
8-1 重定向消息合法性检测
8-2 路由器标准
8-3 主机标准
第9章 延展性-选项处理
第10章 协议常数
第11章 安全考虑
11-1 威胁分析
11-2 保护邻居发现消息
第12章 重编码考虑
第13章 IANA考虑
第14章 参考文献
14-1 标准类参考文献

14-2 信息类参考文献
附录A:多归属地主机
附录B:进一步扩展
附录C:可达性状态的状态机
附录D:IsRouter规则小结
附录E:实现问题
附录F:对RFC2461的改变
致谢
第 1 章 介绍
本标准定义了 IPv6 邻居发现(ND)协议。节点(主机或路由器)使用 ND,可以确定已知驻
留在其附着的链路上的邻居们的链路层地址,快速清除已经变得无效的缓存值。主机也使用
ND 发现临近的、愿意代表它们转发分组的路由器。最后,节点使用此协议主动跟踪哪一个
邻居可通达,哪一个邻居不可通达,以及侦听邻居们改变的链路层地址。当路由器或到路由
器的路径出现故障时,主机主动搜索正常运行的替代者。
除非规定了其他情况(在特定链路类型上运行 IP 的文件中讨论),本文件适用所有链路
类型。然而,因为 ND 的一些服务使用链路层多播,在某些链路类型(例如,非广播多址
(Non-Broadcast Multi-Access, NBMA)链路)上,可能规定使用其他协议或机制来实现这些服
务(在特定链路类型上运行 IP 的文件中讨论)。本文件中描述的服务不直接依靠多播,例如
Redirects、下一跳确定、Neighbor Unreachability Detection 等。可以认为这些服务按照本文
件中的规定提供。如何在 NBMA 链路上使用 ND 的细节在[IPv6-NBMA]中介绍。此外,
[IPv6-3GPP]和[IPv6-CELL]讨论了本协议在蜂窝链路上的应用,它们是 NBMA 链路的例子。
第 2 章 术语
2-1 一般术语
IP- IPv6 (Internet Protocol Version 6):
术语 IPv4 和 IPv6 仅用于必须避免混淆情况。
ICMP(Internet Control Message Protocol):
术语 ICMPv4 和 ICMPv6 仅用于必须避免混淆情况。
节点(node):
执行 IP 协议的设备。
路由器(router):
一个节点,转发不是显示寻址到自己的 IP 分组。
主机(host):
任何不是路由器的节点。
上层(upper layer):
紧挨着下面的 IP 层的协议层。例如传输协议 TCP 和 UDP、控制协议 ICMP、路由协议
OSPF,以及被在 IP 上“隧道化”(即,被封装进 IP)的互联网络层(或低层)协议,例如 IPX、
AppleTalk 或 IP 自身。
链路(link):
通信设施或媒介,是紧挨着上面的 IP 层的协议层,节点能够在其上的链路层通信。例
如以太网(简单或桥接)、PPP 链路、X.25、帧中继、ATM 网络,以及互联网络层(或高层)
“隧道”,例如 IPv4 或 IPv6 自身之上的隧道。
接口(interface):

节点附着到链路的点。
邻居(neighbors):
附着在相同链路的节点们。
地址(address):一个接口或一组接口的 IP 层标识符。
任播地址(anycast address):
一组接口的标识符(典型属于不同节点)。发送到任播地址的分组被交付给由那个地址标
识的一组接口之一(交付给“最近”的一个接口,按照路由协议的距离度量 )。参阅
[ADDR-ARCH]。注意,任播地址在语义上与单播地址不能区分。于是,发送分组到任播
地址的节点通常不知道任播地址正在被使用。本文件的其余部分,在节点没有意识到单播
地址实际上是任播地址的情况,把单播地址也看作是任播地址。
前缀(prefix):
由地址的一些起始比特构成的比特串。
链路层地址(link-layer address):
接口的链路层标识符。例如以太网链路的 IEEE802 地址。
on-link:
一个地址。该地址分配给特定链路上的接口。如果满足下述条件,节点认为地址是 on-link:
该地址由链路的多个前缀之一覆盖(例如,由Prefix Information选项中on-link标记
标识),或
邻近路由器规定该地址为Redirect消息的目标,或
收到针对该(目标)地址的Neighbor Advertisement消息,或
从该地址收到任何Neighbor Discovery消息。
off-link:
与“on-link”相反;它也是一个地址,该地址没有分配给特定链路上的任何接口。
最长前缀匹配(longest prefix match):
在覆盖目标地址的一组前缀中确定一个前缀的处理。如果前缀中的所有比特匹配目标地
址的最左边比特,目标地址由该前缀覆盖。当多个前缀覆盖一个地址时,最长前缀是那个
匹配的前缀。
可达性(reachability):
在任何情况下通向邻居的单向“转发”路径正在正常运行。尤其是,是否发送到邻居的
分组正在达到邻居的 IP 层,以及正在被接收 IP 层适当处理。对于邻近路由器,可达性意
味着由节点的 IP 层发送的分组被交付到该路由器的 IP 层,并且该路由器的确正在转发分
组(即,它被配置为路由器,而不是主机)。对于主机,可达性意味着由节点的 IP 层发送的
分组正在交付到邻居主机的 IP 层。
分组(packet):
IP 首部加上净荷。
链路 MTU(link MTU):
最大传输单元,即,以字节为单位的最大分组尺寸,它能在链路上用一个传输单元传送。
目标(target):
一个地址,该地址的地址解析信息正在被搜索;或者是在进行重定向操作时新的第一跳
地址。
代理(proxy):
代表另一个节点响应 Neighbor Discovery 询问消息的节点。代表已经 off-link 的移动节
点的路由器实际上是该移动节点的代理。
ICMP 目的地不可达指示(ICMP destination unreachable indication):

返回到分组原始发送者的出错指示。该分组由于在[ICMPv6]中描述的原因不能被交付。
如果发生出错的节点不是分组的原始节点,产生 ICMP 出错消息。如果发生出错的节点是
分组的原始节点,实际上不要求产生和发送一个 ICMP 出错分组到此原始节点,只要通过
适当机制通知上层发送者即可(例如,来自过程呼叫返回值)。然而应注意,在某些情况下,
按一般出错处理程序:取出违规分组,生成 ICMP 出错消息,接着交付该消息(在本地),
返回出错到发送者更为方便。
随机延时(random delay):
发送消息时,有时必须延时一个随机时间发送,这可减少多个节点在同一时刻一起发送
的可能,也可防止节点间长期同步周期发送[SYNC]。当需要随机分量时,节点以这样一种
方法计算实际延时:计算出的延时为均匀分布随机值,该值在规定的最小延时时间和最大
延时时间之间。实现者必须确保求出的随机量粒度和计时器解析度足够高,使得多个节点
延时相同时间的概率较小。
随机延时种子(random delay seed):
如果计算随机延时量时使用伪随机数发生器,此发生器在使用前应当用唯一的种子初始
化。注意,单独使用接口标识符做种子是不够的,因为接口标识符不总是唯一的。为了降
低重复接口标识符引起使用相同种子的概率,计算种子应当采用变化的输入源(例如,机械
量),这些输入源很可能是不同的,即使在相同的“匣子”内。例如,将接口标识符与 CPU
系列号合起来做种子。关于随机化和随机数发生器的更多信息参阅[RAND]。
2-2 链路类型
不同链路层有不同特性。与 Neighbor Discovery 有关的链路特性是:
多播能力(multicast capable):
一条链路,它在链路层上支持一种本地机制,发送分组到所有邻居(即,广播),或所有
邻居的一个子集。
点对点(point-to-point):
一条链路,它仅连接两个接口。假定点对点链路有多播能力和链路本地地址。
非广播多址(non-broadcast multi-access, NBMA):
一条链路,有多于两个接口附着到它,但是该链路不支持多播或广播的本地形式(例如,
X.25、ATM、帧中继等)。注意,预期所有链路类型(包括 NBMA)为需要多播的应用提供多
播服务(例如,使用多播服务器)。然而,需要研究的是:是否 ND 应当使用这种功能,或
为 ND 提供等效多播能力的替代机制。
共享介质(shared media):
一条链路,它允许众多节点间直接通信,但是附着在共享介质上的节点们按这样一种方
法配置:对于所有 on-link 目的地,它们没有完整的前缀消息。即,在 IP 层,在同一链路
上的节点们或许不知道它们彼此是邻居;默认情况,它们通过路由器通信。例如大型公共
数据网络,如 SMDS 和 B-ISDN。也称为“大型云”。参阅[SH-MEDIA]。
可变MTU(variable MTU):
一条链路,它没有公认的MTU(例如,EEE 802.5令牌环)。许多链路(例如,以太网)有由
链路层协议或由特定的文件定义的标准MTU,描述如何在链路层上运行IP。
非对称可达性(asymmetric reachability):
一条链路,在那里,非折返可达性,和/或非传递可达性是正常操作的一部分。(非折返
可达性意味着分组可从A到B的,但是分组不能从B到A。非传递可达性意味着分组可从A
到B,并且分组可从B到C,但是分组不能从A到C。)许多无线链路具有这种性质。
剩余53页未读,继续阅读














安全验证
文档复制为VIP权益,开通VIP直接复制

评论0