使用 NDRA 的 IPv6 WAN 链路寻址
使用 NDRA 提供 IPv6 WAN 链路寻址概述
在双堆栈网络中,NDRA(邻接方发现路由器通告)提供了一种轻量级地址分配方法,用于在 CPE WAN 链路上自动配置全局 IPv6 地址。CPE 设备可将 IPv6CP 协商的接口 ID 与通过 NDRA 获取的前缀组合在一起,构造自己的 IPv6 全局地址。
在 NDRA 向 CPE 提供 IPv6 地址信息之前,您需要先获取 CPE WAN 链路的链路本地地址。NDRA 分两个阶段提供地址分配:
链路-本地地址分配,用于与 BNG 的本地连接
全局地址分配,实现全球连接
过程如下:
在 IPv6CP 协商期间,以在 BNG 和 CPE 之间建立 PPPoE 链路,将为 CPE 协商一个接口标识符。
CPE 通过在接口标识符中附加 IPv6 链路本地前缀 (FE80::/10),从而创建链路本地地址。
注意:当接口 ID 为 0 时(例如,对于 Windows 7 客户端),PPP 使用用户的会话 ID 代替接口 ID。
CPE 现在已与 BNG 建立 IPv6 连接,并且可以使用 NDRA 获取其全局 IPv6 地址。
CPE 向 BNG 发送一条路由器请求消息。
BNG 会以一条路由器播发消息作为响应,其中包含长度为 /64 的 IPv6 前缀。
此前缀可以直接来自 BNG 上配置的本地 NDRA 地址池。
如果使用 AAA,则 RADIUS 服务器可以在属性中 Framed-Ipv6-Prefix 指定前缀,也可以在 BNG 上指定在属性中 Framed-Ipv6-Pool 分配前缀的 NDRA 池。
当 CPE 收到 64 位前缀时,它会将其接口 ID 追加到提供的前缀,以形成一个全局可路由的 128 位地址。
CPE 通过向新地址发送邻接方请求消息来验证全局地址是否唯一。如果有回复,则地址是重复的。该过程停止并需要操作员干预。
也可以看看
IPv6 邻接方发现协议概述
邻接方发现是 IPv6 协议套件中的一种协议,允许同一链路上的节点向邻居通告自身的存在,并了解邻居的存在。邻接方发现建立在互联网控制消息协议版本 6 (ICMPv6) 之上。它取代了以下 IPv4 协议:路由器发现 (RDISC)、地址解析协议 (ARP) 和 ICMPv4 重定向。
邻接方发现使用路由器播发消息检测邻接方、播发 IPv6 前缀、协助调配地址以及共享链路参数,例如 MTU、跃点限制、播发间隔和生存期。
邻接方发现消息
邻接方发现使用以下消息类型:
路由器通告 (注册机关) — 发送的消息,用于通告路由器的存在、通告前缀、协助地址配置以及共享其他链路信息,如 MTU 大小和跃点限制。链路上的 IPv6 节点可以使用此信息来为自己配置 IPv6 地址和路由信息,例如默认网关。
路由器请求 (RS) — IPv6 节点联机时发送的消息,用于从路由器请求立即的路由器通告。从 Junos OS 18.1R1 版开始,非默认路由实例中支持众所周知的 IPv6 全路由器组播地址 FF02::2。如果没有此支持,IPv6 路由器请求数据包将在非默认路由实例中被丢弃。
邻接方请求 (NS) — 用于重复地址检测和测试邻接方可达性的消息。
主机可以通过发送发往新地址的邻接方请求消息来验证其地址是否唯一。如果主机收到邻接方播发作为回复,则地址为重复地址。
邻接方通告 (NA) — 用于重复地址检测和测试邻接方可达性的消息。发送邻接方播发以响应邻接方请求消息。
您可以指定在路由器播发中发送的信息。
动态路由器通告配置概述
在静态配置路由器接口的网络部署中,可能只需要在可能运行路由器的少数接口上配置路由器播发协议。但是,在用户接入网络中,路由器播发协议的静态配置变得不切实际,因为可能需要路由器播发协议的接口数量大幅增加。此外,在动态环境中部署服务需要在创建接口时对其进行动态修改。
用户访问支持在层次结构级别上 [edit dynamic-profiles profile-name protocols] 配置路由器播发协议。通过在动态配置文件中指定路由器通告协议语句,当用户连接到使用特定接入技术(例如 DHCP)的接口时,您可以动态应用路由器通告配置,使用户能够访问运营商(组播)网络。
要对路由器进行最小配置,播发协议要求在层次结构级别包含[edit dynamic-profiles profile-name protocols]该语句,并在interface动态变量中$junos-interface-name包含router-advertisement该语句。所有其他语句都是可选的。
在层次结构级别上 [edit dynamic-profiles profile-name protocols] 用于路由器播发协议配置的语句在功能上与用于静态路由器播发协议配置的相同语句相同,但 interface and prefix 语句使用动态变量除外。
也可以看看
为向 IPv6 邻接方发出未经请求的路由器播发配置间隔范围
RFC 4861,IP 邻接方发现版本 6 (IPv6))定义邻接方发现协议,IPv6 节点使用该协议确定邻接方的链路层地址,跟踪邻接方的可访问性,以及发现可代表主机转发数据包的路由器。路由器发送路由器播发消息,以播发它们在网络中的存在及其特性。主机通过请求路由器立即使用路由器播发消息进行响应来发现路由器。路由器播发会定期发送(在接口的整个生命周期内),也会响应从主机收到的路由器请求。
路由器将所有路由器播发之间的间隔设置为由发送播发消息的接口的语句指定的 max-advertisement-interval 值。默认间隔为持续数分钟,600 秒,最多可配置为 1800 秒。
前几个播发的间隔越短,就越有可能在路由器首次可用时快速被发现。因此,仅对于前三个未经请求的路由器播发,RFC 4861 要求路由器使用不超过 16 秒的间隔。如果路由器选择较大的间隔,则前三个未经请求的路由器播发的间隔会自动设置为 16 秒。
在某些客户场景中,16 秒对于初始路由器播发的间隔太大,并且可能会导致建立用户会话的延迟不可接受。如果您希望路由器更积极地播发以加快发现速度,则可以将发送路由器播发的接口的语句显式配置 max-advertisement-interval 为小于 16 秒。
但是,此语句设置接口上发送的所有播发之间的间隔,而不仅仅是前三个未经请求的播发的间隔。这意味着,当您配置较低的范围时,所有路由器播发消息都会以较短的间隔发送。一些用户可能会觉得这是不可取的,因为他们更喜欢快速发现路由器,但一旦知道,他们希望以较慢的速度发送广告,在接口期间充当激活状态,而不会产生不必要的流量。
从 Junos OS 18.2R1 版开始,您可以配置全局覆盖选项,以设置路由器从中随机选择仅为所有接口的前三个路由器播发的时间间隔的范围。随机间隔选择可降低来自一个路由器的消息与另一个路由器的消息同步的可能性。发送每个播发后,将选择新的随机间隔值,以便该间隔在连续消息之间变化。每个动态接口的后续路由器播发消息之间的间隔范围仍使用动态配置文件中的语句进行 max-advertisement-interval 配置。
要在动态配置文件中配置应用于动态接口上路由器播发消息的间隔:
配置间隔。
[edit dynamic-profiles protocols router-advertisement interface interface-name] user@host# set max-advertisement-interval seconds
要仅为所有接口上的前三个播发消息配置间隔范围:
请考虑以下示例,其中仅为动态接口上的路由器播发消息配置间隔。由于配置的间隔值大于 16,因此前三个未经请求的播发的间隔始终设置为 16 秒。对于所有后续未经请求的播发,路由器播发将以 60 秒的间隔发送。
[edit dynamic-profiles protocols router-advertisement interface $junos-interface-name] user@host# set max-advertisement-interval 60
现在考虑以下示例,其中,为所有接口上的前三条未经请求的路由器播发消息全局配置间隔。所有后续未经请求的播发均按动态接口配置。
[edit system services subscriber-management overrides] user@host# set ra-initial-interval-min 3 user@host# set ra-initial-interval-max 9 [edit dynamic-profiles protocols router-advertisement interface $junos-interface-name] user@host# set max-advertisement-interval 300
在这种情况下,路由器会为所有接口上的前三个路由器播发消息生成一个介于 3 秒到 9 秒(含)之间的随机间隔。路由器以 300 秒的间隔发送所有后续播发。
获取 NDRA IPv6 前缀的方法
您可以通过以下方法之一设置 BNG 以选择用于 NDRA 的 IPv6 前缀:
外部源,例如 AAA RADIUS 服务器。
从 BNG 上配置的本地 NDRA 前缀池进行动态分配
使用 AAA RADIUS 服务器获取 NDRA 的 IPv6 前缀
当 BNG 需要获取 NDRA 的前缀时,它会使用在从 RADIUS 服务器的 Access-Accept 消息中接收的以下 RADIUS 属性之一中的值:
Framed-IPv6-Prefix— 该属性包含 IPv6 前缀,BNG 可以在路由器播发消息中发送到 CPE。
Framed-IPv6-Pool— 该属性包含在 BNG 上配置的 NDRA 池的名称,BNG 可以从中选择要包含在路由器播发中的前缀。
也可以看看
NDRA 的重复前缀保护
如果使用 AAA 为 NDRA 提供 IPv6 前缀,则可以为 NDRA 启用重复前缀保护。如果启用,BNG 将检查从外部服务器接收的以下属性:
Framed-IPv6-Prefix
Framed-IPv6-Pool
然后,路由器会执行以下作之一:
如果前缀与地址池中的前缀重叠,则从池中获取该前缀(如果可用)。
如果前缀已在使用中,则会因不可用而拒绝。
如果从外部服务器请求的前缀长度与池的前缀长度不完全匹配,则身份验证请求将被拒绝。如果已配置,则 Acct-Stop 消息将包含终止原因。
也可以看看
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。