1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > RFC系列协议--rfc2461--Neighbor Discovery for IP Version 6 (IPv6)

RFC系列协议--rfc2461--Neighbor Discovery for IP Version 6 (IPv6)

时间:2019-03-14 22:25:50

相关推荐

RFC系列协议--rfc2461--Neighbor Discovery for IP Version 6 (IPv6)

RFC系列协议--rfc2461--Neighbor Discovery for IP Version 6--IPv6

1.摘要2.介绍3.术语3.1 通用3.2 Link Types3.3 Addresses4.协议概述5.与IPv4对比6.消息格式6.1 Router Solicitation消息格式6.2 Router Advertisement消息格式6.3 Neighbor Solicitation消息格式6.4 Neighbor Advertisement消息格式6.5 Redirect消息格式6.6 选项格式6.6.1 Source/Target Link-layer Address6.6.2 Prefix Information6.6.3 Redirected Header6.6.4 MTU7.参考协议规范

1.摘要

本文档为IP Version 6指定了邻居发现协议。同一链路上的IPv6节点使用“邻居发现”来发现彼此的存在,确定彼此的链路层地址,找到路由器,并维护通往活动邻居的路径的可达性信息。

2.介绍

该规范为Internet协议版本6 (IPv6)定义了邻居发现(ND)协议。节点(主机和路由器)使用邻居发现来确定已知位于附加链接上的邻居的链路层地址,并快速清除已失效的缓存值。主机也使用邻居发现来找到愿意代表它们转发数据包的邻近路由器。最后,节点使用协议主动跟踪哪些邻居是可到达的,哪些不能到达,并检测更改的链路层地址。当路由器或通往路由器的路径出现故障时,主机就会主动寻找其他可用的替代路由器。

3.术语

3.1 通用

3.2 Link Types

3.3 Addresses

4.协议概述

该协议解决了与连接到同一链接的节点之间的交互相关的一组问题。它定义了解决下列每个问题的机制:

邻居发现定义了五种不同的ICMP包类型:一对路由器请求和路由器广告消息,一对邻居请求和邻居广告消息,以及一条重定向消息。这些信息的目的如下:

在具有多路由能力的链路上,每个路由器定期多播一个路由器广告包,宣布它的可用性。主机接收来自所有路由器的路由器广告,构建默认路由器列表。路由器产生路由器广告的频率足够高,主机能在几分钟内知道它们的存在,但不够频繁,不能依靠没有广告来检测路由器故障;一个单独的邻居不可达性检测算法提供故障检测。

路由器广告包含一列前缀用于链路上的确定和/或自主地址配置;与前缀关联的标志指定特定前缀的预期用途。主机使用广告的on-link前缀来构建和维护一个列表,该列表用于决定包的目的地是on-link还是在路由器之外。请注意,目的地可以是on-link,即使它没有被任何广告的on-link前缀覆盖。在这种情况下,路由器可以发送重定向通知发送方目的地是邻居。路由器广告(和每个前缀标志)允许路由器通知主机如何执行地址自动配置。例如,路由器可以指定主机是否应该使用stateful(DHCPv6)和/或stateless(自动)地址配置。路由器广告消息还包含Internet参数,如主机在输出包中应该使用的跳数限制,以及可选的链路参数,如链路MTU。这有助于对关键参数进行集中管理,这些参数可以在路由器上设置,并自动传播到所有附加的主机。

节点通过多播一个请求目标节点返回其链接层地址的邻居请求来完成地址解析。邻居请求消息被组播到目标地址的指定节点组播地址。目标在单播邻居广告消息中返回其链接层地址。单个请求-响应数据包对足以让发起者和目标者解决彼此的链路层地址;发起者在“邻居请求”中包含它的链接层地址。

邻居请求消息也可以用来确定是否有多个节点被分配了相同的单播地址。邻居不可达性检测检测邻居的故障或到邻居的转发路径的故障。这样做需要确认发送到一个邻居的数据包确实到达了那个邻居并被它的IP层正确处理。相邻不可达性检测使用来自两个源的确认。除了解决上述一般性问题外,邻居发现还可以处理以下情况:

5.与IPv4对比

IPv6邻居发现协议对应于IPv4协议ARP [ARP]、ICMP路由器发现[RDISC]和ICMP重定向[ICMPv4]的组合。

与IPv4协议集相比,邻居发现协议提供了许多改进:

a.路由器发现是基本协议集的一部分;主机没有必要“窥探”路由协议。

b.路由器广告携带链路层地址;不需要额外的包交换来解析路由器的链路层地址。

c.路由器广告携带链接的前缀;不需要一个单独的机制来配置“netmask”。

d.路由器广告使地址自动配置。

e.路由器可以让主机在链路上使用MTU,确保所有节点在缺乏定义良好的MTU的链路上使用相同的MTU值。

f.地址解析的多播可以“传播”超过40亿个(2^32)多播地址,大大减少了目标之外的节点上与地址解析相关的中断。

g.重定向包含新第一跳的链路层地址;在接收重定向时不需要单独的地址解析。

h.多个前缀可以与同一个链接关联。

i.与IPv4不同,IPv6重定向的接收方假定新的下一跳是on-link。

j.邻居不可达性检测是在失效路由器、部分失效或分区链路和改变其链路层地址的节点出现时,显著提高包交付的鲁棒性的基础的一部分。

k.与ARP不同,邻居发现检测半链路故障(使用邻居不可达性检测),避免向没有双向连接的邻居发送流量。

l.与IPv4路由器发现不同,路由器广告消息不包含首选项字段。不需要使用偏好字段来处理不同“稳定性”的路由器;邻居的不可达性检测将检测死路由器并切换到工作的路由器。

m.使用链路本地地址来唯一地标识路由器(用于路由器广告和重定向消息),使得主机在站点重新编号使用新的全局前缀时能够维护路由器关联。

n.使用等于255的跳数限制欺骗邻居发现对不小心或故意发送ND消息的脱机发送者免疫。在IPv4中,脱机发送者可以发送ICMP重定向和路由器广告消息。

o.将地址解析置于ICMP层使该协议比ARP更独立于媒体

6.消息格式

6.1 Router Solicitation消息格式

主机发送路由器请求,以提示路由器快速生成路由器广告。

IP字段:

ICMP字段:

有效的选项:

6.2 Router Advertisement消息格式

路由器定期发送路由器广告消息,或响应路由器请求。

IP字段:

ICMP字段:

可选的选项:

6.3 Neighbor Solicitation消息格式

节点向邻居发出请求,请求目标节点的链路层地址,同时向目标节点提供自己的链路层地址。当节点需要解析一个地址时,邻居请求是组播;当节点试图验证邻居的可达性时,是单播。

IP字段:

ICMP字段:

可选的选项:

6.4 Neighbor Advertisement消息格式

节点发送邻居广告来响应邻居的请求,并发送未经请求的邻居广告以(不可靠地)快速传播新信息。

IP字段:

ICMP字段:

可选的选项:

6.5 Redirect消息格式

路由器发送重定向数据包,通知主机到目的地的路径上有更好的第一跳节点。主机可以重定向到更好的第一跳路由器,但也可以通过重定向通知目的地实际上是邻居。后者是通过将ICMP目标地址设置为ICMP目标地址来实现的。

IP字段:

ICMP字段:

可选的选项:

6.6 选项格式

消息包含零个或多个选项,其中一些选项可能在同一消息中出现多次。所有选项都是以下形式:

6.6.1 Source/Target Link-layer Address

描述:源链路层地址选项包含包的发送者的链路层地址。它被用于邻居请求、路由器请求和路由器广告包。目标链路层地址选项包含目标的链路层地址。它用于邻居广告和重定向数据包。对于其他邻居发现消息,必须悄悄地忽略这些选项。

6.6.2 Prefix Information

描述:前缀信息选项为主机提供连接前缀和地址自动配置前缀。前缀信息选项出现在路由器广告包中,对于其他消息必须被静默地忽略。

6.6.3 Redirected Header

描述:重定向报头选项用于重定向消息,并包含被重定向的数据包的全部或部分。对于其他邻居发现消息,必须悄悄地忽略此选项。

6.6.4 MTU

描述:MTU选项在路由器广告消息中使用,以确保在链路MTU不知名的情况下,链路上的所有节点使用相同的MTU值。对于其他邻居发现消息,必须悄悄地忽略此选项。在将异构技术连接在一起的配置中,所支持的最大MTU可能因段而异。如果网桥不生成ICMP包太大的消息,通信节点将无法使用Path MTU来动态地确定每个邻居的适当MTU。在这种情况下,路由器使用MTU选项来指定。

7.参考协议规范

RFC 2461 Neighbor Discovery for IP Version 6 (IPv6)

温馨提示:

以上文章描述如有不清晰之处,欢迎在评论区评论,如有时间,会第一时间回复,谢谢!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。