IPV6 邻居发现ND协议
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 一个链路可以分配多个前缀。默认,主机从路由器得知所有的前缀,但路由器也可以
配置为不通告前缀,此时路由器接收到含未通告的前缀的数据包,会发布ICMP重定向
消息。
• 标准身份验证和安全机制可应用于邻居发现。
.
12
IPv6地址结构
• IPv6地址 = 前缀 + 接口标识 – 前缀:相当于v4地址中的网络ID – 接口标识:相当于v4地址中的主机ID 2001:A304:6101:1::E0:F726:4E58
.
19
.
20
• Router Solicitation消息格式
• --主机发送Router Solicitations以便督促路 由器尽快生成Router Advertisements。 Router Solicitation消息格式如图1所示sement消息格式 ----路由器周期地发出Router Advertisement消息,或因 响应Router Solicitations而发送Router Advertisement消息。
.
18
路由器周期性发送路由通告
在IPv6网络中,路由器以一定的时间间隔发送路由 通告消息,便利主机获得IPv6前缀,但是,当主机 产生了链路地址后,主机就会发送路由器请求消息 Router Solicitation,主机将Router Solicitation消 息发送到ALL-ROUTERS多播组,典型的源地址是 一个接口的链路本地地址。Router Solicitation消息 促使路由器立即发送Router-Advertisement消息。
路由通告
RS报文 RA报文
.
1::1/64
节点请求
15
路由器请求和公告
1. RS
2. RA
1—ICMP Type = 133 (RS) Src = link-local address (FE80::/10) Dst = all-routers multicast address (FF02::2) Query = please send RA
.
3
off-link:
• 与“on-link”相反;它也是一个地址,该地址没有分配给特定链路上的 任何接口。
最长前缀匹配(longest prefix match):
• 在覆盖目标地址的一组前缀中确定一个前缀的处理。如果前缀中的所 有比特匹配目标地址的最左边比特,目标地址由该前缀覆盖。当多个 前缀覆盖一个地址时,最长前缀是那个匹配的前缀。
.
1
常见术语
节点(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 自身之上的隧道。
• ICMPv6 informational messages: 128 Echo Request 回送请求 129 Echo Reply 回送应答
.
8
邻居发现(Neighbor Discovery)协议
• IPv6的邻居发现(Neighbor Discovery)协议结合了 IPv4中的地址解析协议(Address Resolution Protocol ARP)和ICMP的路由器发现和重定向。
.
16
无状态地址自动配置—接口ID生成
将48比特的MAC地址转化为64比特的接口ID MAC地址的唯一性保证了接口ID的唯一性 设备自动生成,不需人为干预
48位MAC地址
64位接口ID
.
17
CMTS中无状态地址自动配置
在ip-bundle下配置生效
C175-40G(ip-bundle 2)#ipv6 address 2000:172:158:1::1/64 autoconfig C175-40G(ip-bundle 2)#ipv6 address 2000:172:158:1::1/64 no-onlink C175-40G(ip-bundle 2)#ipv6 address 2000:172:158:1::1/64 autoconfig no-onlink 注:其中可单独配置no-onlink,autoconfig,也可以autoconfig与no-onlink搭配使用。
.
2
接口(interface): 节点附着到链路的点。
邻居(neighbors):附着在相同链路的节点们。
前缀(prefix):由地址的一些起始比特构成的比特串。
链路层地址(link-layer address):接口的链路层标识符。例如以太网链路 的 IEEE802 地址。
on-link:
• 一个地址。该地址分配给特定链路上的接口。 如果满足下述条件, 节点认为地址是 on-link:
2—ICMP Type = 134 (RA)
Src = link-local address (FE80::/10)
Dst = all-nodes multicast address (FF02::1)
Data = options, subnet prefix, lifetime, autoconfig flag
.
11
IPv6的ND相对于对于IPv4协议的改进
• 邻居不可达检测是基础协议的一部分,邻居不可达检测在路由器出错或链路接口改变
的情况下,改善了数据包的传输。 • 路由器通告和ICMP重定向使用本地链路地址来识别路由器。 • 邻居发现协议被用来检测一个链路上重复的IP地址。
• 现在路由器发现是基础协议集的一部分,IPv4机制则需要从路由表中获取信息。
• 路由器通告数据包中包含了路由器的链路层地址。收到路由器通告的节点无需再发出 ARP请求来获取该路由器接口的链路层地址。
• 路由器通告数据包包含一个链路的前缀(子网信息),再也不用配置子网掩码。
• 邻居发现提供了一种易于对网络进行重新编号的机制,引入新的前缀和地址。
• 路由器通告使得无状态地址自动配置变为可能,可以通知何时应用有状态地址配置。
.
10
IPv6邻居发现(ND)机制
• 邻居发现使用 ICMPv6协议 • 包括 IPv6 报头, ICMPv6 报头, 邻居发现(ND)报头, ND选项 • ND定义了5种ICMPv6报文类型
1 路由器请求Router solicitation (ICMPv6 type 133) 2 路由器公告Router advertisement (ICMPv6 type 134) 3 邻居请求Neighbor solicitation (ICMPv6 type 135) 4 邻居公告Neighbor advertisement (ICMPv6 type 136) 5 重定向Redirect (ICMPV6 type 137)
前缀 2001:A304:6101:1 接口标识 E0:F726:4E58
.
13
IPv6地址配置方法分类
• 手工配置 • 有状态地址自动配置(DHCPv6) • 无状态地址自动配置(ND协议)
.
14
无状态地址自动配置—路由发现和前缀获得
• 主机发送Router Solicitation报文 • 路由器回应Router Advertisement报文 • 主机获得前缀及其它参数
.
5
地址分类
所有节点多播地址(all-nodes multicast address): 到所有节点的链路本地范围地址,FF02::1。
所有路由器多播地址(all-routers multicast address) : 到所有路由器的链路本地范围地址,FF02::2。
被请求-节点多播地址(solicited-node multicast address):FF02::1:FFXX:XXXX
地址解析通过邻接点请求报文ns和邻接点公告报文na的交互来解析链路层地址发送主机在接口上发送组播ns报文该报文的目的地址为目标ip地址所对应的请求节点组播地址solicitednode在其中也包含了自己的链路层地址目标主机收到ns报文后就会了解到发送主机的ip地址和相应链路层地址目标主机向源发送主机发送一个邻接点公告报文na该报文中包含自己的链路层地址地址解析示意图邻居不可到达性探测nudneighborunreachabilitydetection用于主机和相邻节点间的所有路径包括主机到主机通信主机到路由器通信和路由器到主机通信
ATM、帧中继等)。 共享介质(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。)许多无线链路具有这种性质。
•
该地址由链路的多个前缀之一覆盖(例如,由Prefix Information选
项中on-link标记标识),或
•
邻近路由器规定该地址为Redirect消息的目标,或
•
收到针对该(目标)地址的Neighbor Advertisement消息,或
•
从该地址收到任何Neighbor Discovery消息。
24 位
.
6
链路本地地址(link-local address):
• (FE80::/10)
站点本地地址
• FEC0::/10
唯一本地地址
• FC00::1/7
未指定地址(unspecified address):
• 保留地址值,它表示没有这个地址(例如,地址未知)。它决不能用 于目的地地址,但是可用于源地址,如果发送者(还)不知道它自己的 地址(例如,在无状态地址自动配置期间验证地址没有被使用时 [ADDRCONF])。未指定地址的值为 0:0:0:0:0:0:0:0。
.
7
ICMPv6报文格式
• Type值决定了报文所属的类别 – 0 -127:错误报文 – 128-255:信息报文
• ICMPv6 error messages: • 1 Destination Unreachable目的不可达 • 2 Packet Too Big 数据包超长 • 3 Time Exceeded 超时 • 4 Parameter Problem 参数问题
.
4
链路类型
不同链路层有不同特性.与 Neighbor Discovery 有关的链路特性是:
多播能力(multicast capable): • 一条链路,它在链路层上支持一种本地机制,发送分组到所有邻居(即,广播),或所有邻居的一
个子集。 点对点(point-to-point): • 一条链路,它仅连接两个接口。假定点对点链路有多播能力和链路本地地址。 非广播多址(non-broadcast multi-access, NBMA): • 一条链路,有多于两个接口附着到它,但是该链路不支持多播或广播的本地形式(例如,X.25、
• IPv6节点将邻居发现用于下列目的: – 确定同一链路节点的第2层地址; – 找到可以转发它们的数据包的邻近路由器 – 随时跟踪哪些邻居可达,哪些不可达并且检测有改 变的链路层地址。
.
9
ND协议功能
邻居发现协议
地址解析 (NUD)
路由器发现
无状态自动配置
重复地址检测 (DAD)
路由器重定向 前缀重新编址
可达性(reachability):
• 在任何情况下通向邻居的单向“转发”路径正在正常运行。尤其是, 是否发送到邻居的分组正在达到邻居的 IP 层,以及正在被接收 IP 层 适当处理。对于邻近路由器,可达性意味着由节点的 IP 层发送的分 组被交付到该路由器的 IP 层,并且该路由器的确正在转发分组(即, 它被配置为路由器,而不是主机)。对于主机,可达性意味着由节点 的 IP 层发送的分组正在交付到邻居主机的 IP 层。