Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

DHCP 接入网络中的连接活动检测

 

DHCP 活动检测概述

与 PPP 不同,DHCP 不会将本机激活机制定义为 DHCPv4 或 DHCPv6 协议的一部分。如果没有激活机制,DHCP 本地服务器、DHCP 中继和 DHCP 中继代理无法快速检测到其中的任何一个与订阅者或 DHCP 客户端的连接是否断开。相反,它们必须依赖于标准 DHCP 订户会话或 DHCP 客户端会话终止消息。

DHCP 客户端在退出网络之前通常不会发送 DHCP 发布消息。发现其缺勤取决于现有 DHCP 租用时间和释放请求机制。当在 DHCP 订阅者访问或 DHCP 托管网络中充当客户端的会话运行状况检查时,这些机制往往就不足。由于 DHCP 租用时间通常太长,无法为会话运行状况故障提供足够的响应时间,并且配置短 DHCP 租用时间可能会给控制平面处理带来不必要的负担,实施 DHCP 活动检测机制使更好地监控绑定的 DHCP 客户端。使用活动检测协议进行配置时,如果给定订阅者(或客户端)未能响应配置的连续活动检测请求数,将删除订阅者(或客户端)绑定并释放其资源。

Dhcp 用户 IP 或 DHCP 客户端 IP 会话的 DHCP 活动检测利用活动活动检测协议来制定相关客户端的活动检测检查。客户端必须在指定的一段时间内响应活动检测请求。如果在这段时间内没有收到响应,不能进行多次连续尝试,则活动检测检查将失败,并实施失败操作。

使用 DHCP 活动检测时,只要活动检测检查失败,就会对 IP 会话采取操作。这种更快的响应时间是:

  • 提供更准确的基于时间的订阅者(或 DHCP 客户端)会话记帐。

  • 更好地保留路由器(交换机)资源。

  • 帮助减少某些安全攻击的漏洞窗口。

活动检测协议的示例包括 DHCPv4 和 DHCPv6 用户的双向转发检测(BFD)、DHCPv4 用户的 IPv4 地址解析协议(ARP),以及使用邻域的 IPv6 邻居不可达检测(NUD)DHCPv6 订阅者发现(ND)数据包。

从 Junos OS Release 17.4 R1 开始,除了 BFD 活动检测之外,还支持在 MX 系列路由器上为 DHCPv6 和 ND 数据包使用 ARP 数据包(对于第2层活动检测)。在早期版本中,所有平台仅支持 BFD。

两个活动检测方法互相排斥。

配置 BFD 活动检测时,请记住以下几点:

  • 您可以为 DHCP 本地服务器和 DHCP 中继配置活动检测。

  • 您可以在全局或每个 DHCPv4 或 DHCPv6 组中配置 DHCPv4 和 DHCPv6 活动检测。

  • 不支持 BFD 的 DHCPv4 或 DHCPv6 用户访问客户端不受活动检测配置影响。即使在路由器(或交换机)上启用 BFD 活动检测,这些客户端也可以继续访问网络(在验证之后)。

  • 配置时,如果客户端进入绑定状态,则 DHCPv4 或 DHCPv6 会为支持 BFD 的客户机启动活动检测检查。

  • 为 BFD 客户端启动协议特定消息后,它们会定期发送到客户端的订阅者(或客户端) IP 地址,并在配置的一段时间内响应这些活动检测请求。

  • 如果在配置的连续尝试次数内不会从支持 BFD 的客户端收到活动检测响应,则会将活动检测检查视为失败。将应用用于清除客户端绑定的已配置失败操作。

  • 2层活动检测支持的唯一失败操作是clear-binding

在 MX 系列上配置 DHCP ARP 和 ND 第2层活动检测时,请记住以下几点:

  • 您可以为 DHCP 本地服务器和 DHCP 中继配置活动检测。

  • 您可以在全球、按 DHCPv4 或 DHCPv6 组以及按双堆栈组配置 DHCPv4 和 DHCPv6 ARP 和 ND 活动检测。

  • ARP/ND 活动检测仅适用于以下各 DHCP 客户端:

    • 通过动态 Vlan 直接连接。

    • 具有永久的2层条目。

  • DHCPv6 客户端必须具有唯一的源 MAC 地址和链路本地地址。只有单个活动检测条目用于与特定客户端会话相关联的所有 IPv6 地址。

使用 BFD 配置 DHCP 中继或 DHCP 中继代理客户端连接检测

您可以为 DHCP 用户 IP 会话或 DHCP 客户端 IP 会话配置带有双向转发检测(BFD)的活动检测,以检查 DHCP 中继客户端的连接。客户端必须在指定的一段时间内响应活动检测请求。如果在这段时间内没有收到响应,不能进行多次连续尝试,则活动检测检查将失败,并实施失败操作。

要配置 DHCP 中继的活动检测:

  1. 指定要配置活动检测。
    • 对于 DHCP 全局配置:

    • 对于 DHCP 组配置:

    注意

    DHCPv6 配置还支持活动检测。要配置 DHCPv6 活动检测,请在liveness-detection[edit forwarding-options dhcp-relay dhcpv6][edit forwarding-options dhcp-relay dhcpv6 group group-name层次结构级别上包括语句和任何后续配置语句。

  2. 必指定要使用 DHCP 中继代理模式。
  3. 指定要配置活动检测方法。
    • 对于 DHCP 全局配置:

    • 对于 DHCP 组配置:

  4. 指定希望 DHCP 使用的活动检测方法。注意

    在早于 Junos OS Release 17.4 R1 的版本中,对于所有平台上的活动检测都支持的唯一方法是 BFD。

    从 Junos OS Release 17.4 R1 开始,除了 BFD 活动检测之外,还支持在 MX 系列路由器上为 DHCPv6 和 ND 数据包使用 ARP 数据包(对于第2层活动检测)。两个活动检测方法互相排斥。有关配置 ARP 和 ND 第2层活动检测的信息,请参阅使用 ARP 和邻居发现数据包的 DHCP 活动检测

    • 对于 DHCP 全局配置:

    • 对于 DHCP 组配置:

  5. 根据需要配置活动检测方法。

    示例:使用 BFD 为 DHCP 中继代理客户端配置全局活动检测配置全局活动检测,以了解如何使用 BFD 全局配置 DHCP 中继活动检测的示例。

  6. 配置在发生活动检测故障时路由器采取的操作。
    • 对于 DHCP 全局配置:

    • 对于 DHCP 组配置:

示例:使用 BFD 为 DHCP 中继代理客户端配置全局活动检测

此示例显示如何使用双向转发检测(BFD)作为活动检测方法来配置 DHCP 中继代理用户的活动检测。

要求

此示例使用以下硬件和软件组件:

  • 瞻博网络 MX 系列路由器。

  • 12.1 或更高版本 Junos OS

开始之前:

概述

在此示例中,可通过完成以下操作来配置 DHCP 中继代理订阅者的活动检测:

  1. 为 DHCP 中继订阅者启用全局活动检测。
  2. 将 BFD 指定为所有动态创建的 DHCP 中继订阅者的活动检测方法。
  3. 配置 BFD 特定语句以定义协议的行为方式。
  4. 配置在发生活动检测故障时路由器采取的操作。
注意

此示例介绍如何配置 DHCPv4 网络的活动检测。DHCPv6 配置还支持活动检测。要配置 DHCPv6 活动检测,请在liveness-detection[edit forwarding-options dhcp-relay dhcpv6][edit forwarding-options dhcp-relay dhcpv6 group group-name]层次结构级别上包括语句和任何后续配置语句。

配置

分步过程

要配置 DHCP 中继的活动检测:

  1. 指定要配置活动检测。
  2. 指定要配置活动检测方法。
  3. 将 BFD 指定为希望 DHCP 使用的活动检测方法。
  4. 配置产生陷阱的检测时间阈值(以毫秒为单位)。
  5. 配置 BFD 拥有会话启动通知的时间(毫秒)。
  6. 配置 BFD 的最小传输和接收间隔(以毫秒为单位)。
  7. 配置最小接收间隔(毫秒)。
  8. 配置检测时间的乘数值。
  9. 禁用 BFD 间隔计时器的功能,以更改或适应网络情况。
  10. 配置 BFD 会话模式。
  11. 配置 BFD 传输间隔的阈值和最小间隔。
  12. 配置要检测的 BFD 协议版本。
  13. 配置在发生活动检测故障时路由器采取的操作。在此示例中,失败操作仅在发生活动检测故障时清除客户端会话,检测到本地接口为 up。

结果

从配置模式,输入show forwarding-options命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明进行更正。以下输出还显示组法兰克福中的一系列配置接口。

如果您完成了设备配置,请从commit配置模式进入。

使用 BFD 配置 DHCP 本地服务器客户端连接检测

您可以为 DHCP 用户 IP 会话或 DHCP 客户端 IP 会话配置带有双向转发检测(BFD)的活动检测,以检查 DHCP 本地服务器客户端的连接。客户端必须在指定的一段时间内响应活动检测请求。如果在这段时间内没有收到响应,不能进行多次连续尝试,则活动检测检查将失败,并实施失败操作。

注意

您还可以为 DHCP 中继配置 DHCP 活动检测。

要为 DHCP 本地服务器配置活动检测:

  1. 指定要配置活动检测。
    • 对于 DHCP 全局配置:

    • 对于 DHCP 组配置:

    注意

    DHCPv6 配置还支持活动检测。要配置 DHCPv6 活动检测,请在liveness-detection[edit system services dhcp-local-server dhcpv6][edit system services dhcp-local-server dhcpv6 group group-name]层次结构级别上包括语句和任何后续配置语句。

  2. 指定要配置活动检测方法。
    • 对于 DHCP 全局配置:

    • 对于 DHCP 组配置:

  3. 指定希望 DHCP 使用的活动检测方法。注意

    在早于 Junos OS Release 17.4 R1 的版本中,对于所有平台上的活动检测都支持的唯一方法是 BFD。

    从 Junos OS Release 17.4 R1 开始,除了 BFD 活动检测之外,还支持在 MX 系列路由器上为 DHCPv6 和 ND 数据包使用 ARP 数据包(对于第2层活动检测)。两个活动检测方法互相排斥。有关配置 ARP 和 ND 第2层活动检测的信息,请参阅使用 ARP 和邻居发现数据包的 DHCP 活动检测

    • 对于 DHCP 全局配置:

    • 对于 DHCP 组配置:

  4. 根据需要配置活动检测方法。

    请参阅示例:Example: Configuring Group Liveness Detection with BFD for DHCP Local Server Clients配置组活动检测,举例说明如何使用 BFD 为 dhcp 本地服务器活动检测配置 DHCPv4 组。

  5. 配置在发生活动检测故障时路由器采取的操作。
    • 对于 DHCP 全局配置:

    • 对于 DHCP 组配置:

示例:使用 BFD 为 DHCP 本地服务器客户端配置组活动检测

此示例显示如何为 DHCP 本地服务器订阅者或使用双向转发检测(BFD)作为活动检测方法的 DHCP 客户端配置组活动检测。

要求

此示例使用以下硬件和软件组件:

  • 瞻博网络 MX 系列路由器

  • 瞻博网络 EX 系列交换机

  • 12.1 或更高版本 Junos OS

开始之前:

概述

在此示例中,您通过完成以下操作来为 DHCP 本地服务器订阅者(客户端)配置组活动检测:

  1. 为 DHCP 本地服务器订阅者(或 DHCP 客户端)组启用活动检测。
  2. 将 BFD 指定为所有动态创建的 DHCP 本地服务器订阅者(客户端)的活动检测方法。
  3. 配置 BFD 特定语句以定义协议的行为方式。
  4. 配置在发生活动检测故障时路由器(交换机)采取的操作。
注意

此示例介绍如何配置 DHCPv4 网络的活动检测。DHCPv6 配置还支持活动检测。要配置 DHCPv6 活动检测,请在liveness-detection[edit system services dhcp-local-server dhcpv6][edit system services dhcp-local-server dhcpv6 group group-name]层次结构级别上包括语句和任何后续配置语句。

配置

分步过程

要配置 DHCP 本地服务器的组活动检测:

  1. 指定要配置活动检测。
  2. 指定要为特定 DHCP 本地服务器组配置活动检测。
  3. 指定要配置活动检测方法。
  4. 将 BFD 指定为希望 DHCP 使用的活动检测方法。
  5. 配置产生陷阱的检测时间阈值(以毫秒为单位)。
  6. 配置 BFD 拥有会话启动通知的时间(毫秒)。
  7. 配置 BFD 的最小传输和接收间隔(以毫秒为单位)。注意

    如果将minimum-interval for BFD transmit-interval语句和,则无需配置 BFD 最小传输和接收间隔。 minimum-receive-interval

  8. 配置最小接收间隔(毫秒)。注意

    如果配置 BFD 最小传输和接收间隔,则无需配置 BFD 最小接收间隔。

  9. 配置检测时间的乘数值。
  10. 禁用 BFD 间隔计时器的功能,以更改或适应网络情况。
  11. 配置 BFD 会话模式。
  12. 配置 BFD 传输间隔的阈值和最小间隔。注意

    如果已为 BFD 配置了最小传输和接收间隔,则无需配置传输间隔值。

  13. 配置要检测的 BFD 协议版本。
  14. 配置在发生活动检测故障时路由器(交换机)采取的操作。在此示例中,失败操作仅在发生活动检测故障时清除客户端会话,检测到本地接口为 up。

结果

从配置模式,输入show system命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明进行更正。

如果您完成了设备配置,请从commit配置模式进入。

使用 ARP 和邻居发现数据包的 DHCP 活动检测

DHCP 活动检测以及 ARP 和邻居发现数据包的工作原理

从 Junos OS Release 17.4 R1 开始,您可以使用 IPv4 地址解析协议(ARP)为 DHCPv4 客户端和 IPv6 邻居不可达检测来配置对 DHCPv6 客户端的活动检测。第2层活动检测为 DHCP 客户端主机和充当宽带网络网关(BNG)的路由器提供独立的机制,以确定 DHCP 客户端会话的有效性和状态。这些机制称为发送功能和接收功能。您可以为 DHCP 本地服务器和 DHCP 中继客户端配置2层活动检测。

发送功能

BNG 使用发送功能在其直接连接的 DHCPv4 和 DHCPv6 客户端上进行主机连接检查,以确定 DHCP 客户端会话的有效性和状态,并清理非活动会话。图 1说明了发送功能。

图 1: 2层活动检测发送行为流
2层活动检测发送行为流
  1. BNG 以可配置的间隔将请求数据包发送至每个 DHCP 客户端,然后等待响应。BNG 会在请求未收到及时响应时重试。它会向 DHCPv6 客户端发送 ARP 请求和对每个邻居发现(ND)请求。
  2. 如果 BNG 在间隔超时之前收到来自客户端的响应,它会等待计时器过期,然后向该客户端发送另一个请求。
  3. 如果 BNG 在间隔超时之前未收到响应,则将计时器设置为30秒,然后发送另一个请求。这是第一次重试;计时器不可配置。
  4. 如果 BNG 在计时器过期之前收到来自客户端的响应,则 BNG 会等待计时器停机,将其重置为原始、可配置的值,发送另一个请求,然后启动计时器。
  5. 如果30秒计时器在收到响应之前过期,则 BNG 会将计时器设置为10秒,然后发送另一个请求。此计时器值不可配置。
  6. 如果 BNG 在计时器过期之前收到来自客户端的响应,则 BNG 会等待计时器停机,将其重置为原始、可配置的值,发送另一个请求,然后启动计时器。
  7. 如果 BNG 在10秒间隔内未收到响应,则会发送另一个请求并再次启动10秒计时器。BNG 继续以10秒的间隔发送请求,直到在间隔超时或排出重试次数之前收到来自客户端的响应。

    第一次重试尝试使用30秒间隔。后续重试将以10秒为间隔进行。因此,10秒重试次数可能为总数量减1。例如,如果配置了5次重试,则会重试 1 30 秒,而重试次数最多 4 10 秒。

  8. 如果 BNG 从不在重试中断之前的时间间隔内从客户端发送响应,则活动检测检查将失败,并实施清除绑定故障操作。客户端会话已清除。

接收功能

接收功能使 DHCP 客户端主机能够从 BNG 角度确定 DHCPv4 或 DHCPv6 客户端会话的状态。BNG 在收到 ARP 或 ND 数据包时,对其直接连接的 DHCPv4 和 DHCPv6 客户端执行主机连接检查。图 2展示了接收功能。

图 2: 第2层活动检测接收行为流
第2层活动检测接收行为流

当 BNG 收到这些数据包之一时,将执行以下操作:

  1. 检查对于相关地址族、inet 或 inet6,是否对订阅者管理全局启用第2层活动检测。
  2. 如果未启用第2层活动检测,则 BNG 将照常响应收到的数据包,同时不检查客户端会话的状态。
  3. 如果为系列启用了活动检测,则 BNG 将检查客户端会话是否仍处于绑定状态。
  4. 如果客户端会话已绑定,BNG 将使用相应的 ARP 或 ND 数据包响应客户端。
  5. 如果未绑定会话,BNG 将丢弃收到的数据包。它不会向主机发送 ARP 或 ND 响应数据包,使主机能够确定 BNG 是否认为会话已关闭。

接收功能的用途取决于 DHCP 客户端主机从未绑定客户端会话的 BNG 中缺少响应数据包的情况下从陈旧客户端回收资源的能力。如果此功能需要更改客户端实施,则可能需要使用发送功能。

使用 ARP 和 ND 数据包配置对 DHCP 本地服务器客户端连接的 BNG 检测

此过程显示如何使用 IPv4 地址解析协议(ARP)配置 DHCPv4 客户端的发送功能第2层活动检测和 IPv6 邻居不可达检测(DHCPv6 客户端)以检查 DHCP 本地的连接服务器客户端。

发送功能使 BNG 能够根据从 DHCP 客户端到 ARP 或向客户端发送的请求数据包的缺乏响应来确定客户端会话是否停机。

注意

DHCP 活动检测也可使用双向转发检测(BFD)进行配置。BFD 活动检测和 ARP/ND 活动检测是相互排斥的。

要配置 DHCPv4 本地服务器活动检测的发送功能:

  1. 指定要配置活动检测方法。
    • 对于 DHCPv4 全局配置:

    • 对于 DHCPv4 组配置:

    • 对于 DHCPv4 双堆栈组配置:

  2. 指定第2层活动检测方法。
    • 对于 DHCPv4 全局配置:

    • 对于 DHCPv4 组配置:

    • 对于 DHCPv4 双堆栈组配置:

  3. 必配置重试次数和间隔计时器。
    • 对于 DHCPv4 全局配置:

    • 对于 DHCPv4 组配置:

    • 对于 DHCPv4 双堆栈组配置:

要配置 DHCPv6 本地服务器活动检测的发送功能:

  1. 指定要配置活动检测方法。
    • 对于 DHCPv6 全局配置:

    • 对于 DHCPv6 组配置:

  2. 指定第2层活动检测方法。
    • 对于 DHCPv6 全局配置:

    • 对于 DHCPv6 组配置:

  3. 必配置重试次数和间隔计时器。
    • 对于 DHCPv6 全局配置:

    • 对于 DHCPv6 组配置:

配置 BNG 检测 DHCP 中继客户端连接和 ARP 和 ND 数据包

此过程显示如何使用 IPv4 地址解析协议(ARP)配置用于 DHCPv4 客户端的第2层活动检测的发送功能和用于 DHCPv6 客户端的 IPv6 邻居不可达检测,以检查 DHCP 中继的连接端.

发送功能使 BNG 能够根据从 DHCP 客户端到 ARP 或向客户端发送的请求数据包的缺乏响应来确定客户端会话是否停机。

注意

DHCP 活动检测也可使用双向转发检测(BFD)进行配置。BFD 活动检测和 ARP/ND 活动检测是相互排斥的。

要配置 DHCPv4 中继活动检测的发送功能:

  1. 指定要配置活动检测方法。
    • 对于 DHCPv4 全局配置:

    • 对于 DHCPv4 组配置:

    • 对于 DHCPv4 双堆栈组配置:

  2. 指定第2层活动检测方法。
    • 对于 DHCPv4 全局配置:

    • 对于 DHCPv4 组配置:

    • 对于 DHCPv4 双堆栈组配置:

  3. 必配置重试次数和间隔计时器。
    • 对于 DHCPv4 全局配置:

    • 对于 DHCPv4 组配置:

    • 对于 DHCPv4 双堆栈组配置:

要配置 DHCPv6 中继活动检测的发送功能:

  1. 指定要配置活动检测方法。
    • 对于 DHCPv6 全局配置:

    • 对于 DHCPv6 组配置:

  2. 指定第2层活动检测方法。
    • 对于 DHCPv6 全局配置:

    • 对于 DHCPv6 组配置:

  3. 必配置重试次数和间隔计时器。
    • 对于 DHCPv6 全局配置:

    • 对于 DHCPv6 组配置:

使用 ARP 和 ND 数据包配置 DHCP 主机的客户端连接检测

此过程显示如何使用 IPv4 地址解析协议(ARP)配置 DHCPv4 客户端的接收功能和 DHCPv6 客户端的 IPv6 邻居不可达检测,以检查 DHCP 本地的连接服务器客户端。

接收功能使 DHCP 客户端主机能够根据从 BNG 到向 BNG 发送的 ARP 或 ND 数据包的缺乏响应来确定客户端会话是否停机。您可以将每个地址系列的 DHCP 全局接收功能配置为对全局订阅者管理配置的重写。

  1. 按地址系列全球化启用第2层活动检测。
    • 对于 DHCPv4:

    • 对于 DHCPv6:

相关主题

Release History Table
版本
说明
从 Junos OS Release 17.4 R1 开始,除了 BFD 活动检测之外,还支持在 MX 系列路由器上为 DHCPv6 和 ND 数据包使用 ARP 数据包(对于第2层活动检测)。
从 Junos OS Release 17.4 R1 开始,除了 BFD 活动检测之外,还支持在 MX 系列路由器上为 DHCPv6 和 ND 数据包使用 ARP 数据包(对于第2层活动检测)。
从 Junos OS Release 17.4 R1 开始,除了 BFD 活动检测之外,还支持在 MX 系列路由器上为 DHCPv6 和 ND 数据包使用 ARP 数据包(对于第2层活动检测)。
从 Junos OS Release 17.4 R1 开始,您可以使用 IPv4 地址解析协议(ARP)为 DHCPv4 客户端和 IPv6 邻居不可达检测来配置对 DHCPv6 客户端的活动检测。