Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

使用 NDRA 的 IPv6 WAN 链路寻址

IPv6 邻居发现协议概述

邻居发现是 IPv6 协议套件中的一种协议,它允许同一链路上的节点向邻居通告其存在并了解其邻居的存在。邻接方发现基于互联网控制消息协议版本 6 (ICMPv6) 构建。它可替换以下 IPv4 协议:路由器发现 (RDISC)、地址解析协议 (ARP) 和 ICMPv4 重定向。

邻接方发现使用路由器通告消息来检测邻接方、通告 IPv6 前缀、协助地址调配以及共享链路参数(如 MTU、跳数限制、播发间隔和生存期)。

邻接方发现消息

邻接方发现使用以下消息类型:

  • 路由器通告 (RA) — 为通告路由器的存在、通告前缀、协助地址配置以及共享其他链路信息(如 MTU 大小和跳数限制)而发送的消息。链路上的 IPv6 节点可以使用此信息为自己配置 IPv6 地址和路由信息(如默认网关)。

  • 路由器请求 (RS) — IPv6 节点联机时发送的消息,用于从路由器请求即时路由器通告。从 Junos OS 18.1R1 版开始,非默认路由实例支持著名的 IPv6 全路由器组播地址 FF02::2。如果没有这种支持,IPv6 路由器请求数据包将被丢弃在非默认路由实例中。

  • 邻接方请求 (NS) — 用于重复地址检测和测试邻接方可访问性的消息。

    主机可以通过向新地址发送发往邻居请求消息来验证其地址是否唯一。如果主机收到邻居播发作为回复,则地址为重复地址。

  • 邻接方通告 (NA) — 用于重复地址检测和测试邻接方可访问性的消息。发送邻居播发是为了响应邻居请求消息。

您可以指定在路由器播发中发送的信息。

动态路由器通告配置概述

在路由器接口静态配置的网络部署中,您可能只需要在可能运行路由器通告协议的少数接口上配置该协议。但是,在用户接入网络中,路由器通告协议的静态配置变得不切实际,因为可能需要路由器通告协议的接口数量大幅增加。此外,在动态环境中部署服务需要在创建接口时对其进行动态修改。

订阅者访问支持在 [edit dynamic-profiles profile-name protocols] 层次结构级别配置路由器通告协议。通过在动态配置文件中指定路由器通告协议语句,可在用户使用特定接入技术(例如 DHCP)连接到接口时动态应用路由器通告配置,使用户能够访问运营商(组播)网络。

要进行最低配置,路由器通告协议要求您在层次结构级别包含 router-advertisement 语句 [edit dynamic-profiles profile-name protocols]interface 语句以及 $junos-interface-name 动态变量。所有其他语句都是可选的。

注意:

用于层[edit dynamic-profiles profile-name protocols]级路由器通告协议配置的语句在功能上与用于静态路由器通告协议配置的语句相同,但interfaceprefix和语句除外,它们使用动态变量。

配置向 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 动态配置文件中的语句进行配置。

要在动态配置文件中配置适用于动态接口上的路由器播发消息的时间间隔,请执行以下操作:

  • 配置间隔。

要仅在所有接口上为最初的三条通告消息配置间隔范围:

  1. 配置间隔范围的下限。
  2. 配置间隔范围的高端。

请考虑以下示例,其中仅为动态接口上的路由器播发消息配置间隔。由于配置的间隔值大于 16,因此前三个未经请求的播发的间隔始终设置为 16 秒。对于所有后续未经请求的通告,路由器通告每隔 60 秒发送一次。

现在考虑以下示例,其中为所有接口上的前三条未经请求的路由器通告消息全局配置间隔。所有后续未经请求的播发均按动态接口进行配置。

在这种情况下,路由器会为所有接口上的前三条路由器通告消息生成一个随机间隔,间隔介于 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 消息将包含终止原因。

变更历史表

是否支持某项功能取决于您使用的平台和版本。使用 功能浏览器 查看您使用的平台是否支持某项功能。

释放
描述
18.2R1
从 Junos OS 18.2R1 版开始,您可以配置全局覆盖选项,以设置路由器从中随机选择仅所有接口的初始三个路由器播发的时间间隔的范围。
18.1R1
从 Junos OS 18.1R1 版开始,非默认路由实例支持著名的 IPv6 全路由器组播地址 FF02::2。如果没有这种支持,IPv6 路由器请求数据包将被丢弃在非默认路由实例中。