为 Cloud Router 路由器配置 BFD

借助 Cloud Router 路由器的双向转发检测 (BFD),您可以快速检测 BGP 启动或关闭事件等转发路径服务中断,从而实现更具弹性的混合网络。

您可以在 BGP 会话中为 VLAN 连接配置 BFD。为高可用性 VPN 隧道或路由器设备(该设备属于 Network Connectivity Center 的一部分)配置的 BGP 会话不支持 BFD。

如需详细了解 BFD,请参阅 Cloud Router 路由器双向转发检测 (BFD) 概览,其中介绍了 BFD 设置和计时器的完整说明。

准备工作

gcloud

如果您要使用本指南中的命令行示例,请执行以下操作:

  1. 安装或更新到 Google Cloud CLI 的最新版本。
  2. 设置默认区域和可用区

API

如果希望使用本指南中的 API 示例,请设置 API 访问权限

将 Cloud Router 路由器添加到 Cloud Interconnect

配置 BFD 之前,必须先设置以下连接选项之一,其中包括添加具有 BGP 会话的 Cloud Router 路由器:

在现有 BGP 会话上配置 BFD

您可以在先前为 VLAN 连接设置的 BGP 会话上配置 BFD。

如需在现有 BGP 会话中配置 BFD 设置,请按以下步骤操作。

控制台

  1. 在 Google Cloud 控制台中,前往 Cloud Router 路由器页面。

    前往“Cloud Router 路由器”

  2. 选择要更新的 Cloud Router 路由器。

  3. 路由器详情页面上的 BGP 会话部分中,选择要更新的 BGP 会话。

  4. BGP 会话详情页面中,点击 修改

  5. 完成所有非 BFD 设置。

  6. 双向转发检测下,按照 BFD 设置和计时器中所述配置 BFD 选项。

    必需:要启用 BFD,请将 BFD 会话初始化模式设置为 active

gcloud

运行 update-bgp-peer 命令:

gcloud compute routers update-bgp-peer ROUTER_NAME \
    --project=PROJECT_ID \
    --peer-name=PEER_NAME \
    --interface=INTERFACE \
    --ip-address=IP_ADDRESS \
    --peer-asn=PEER_ASN \
    --peer-ip-address=PEER_IP_ADDRESS \
    --region=REGION \
    --bfd-session-initialization-mode=BFD_SESSION_INITIALIZATION_MODE  \
    --bfd-min-receive-interval=BFD_MIN_RECEIVE_INTERVAL \
    --bfd-min-transmit-interval=BFD_MIN_TRANSMIT_INTERVAL \
    --bfd-multiplier=BFD_MULTIPLIER

请替换以下内容:

  • ROUTER_NAME:您的 Cloud Router 路由器的名称
  • PROJECT_ID:是包含您的 Cloud Router 路由器的项目
  • PEER_NAME:您的 BGP 对等体的名称
  • INTERFACE:此 BGP 对等方的接口名称
  • IP_ADDRESS:您的 Cloud Router 路由器的 IP 地址
  • PEER_ASN:此 BGP 对等体的 BGP 自治系统编号 (ASN)
  • PEER_IP_ADDRESS:属于范围 169.254.0.0/16 的对等路由器的链接本地地址
  • REGION:Cloud Router 路由器所在的区域
  • 按照 BFD 设置和计时器中所述配置 BFD 选项。

    必需:如需启用 BFD,请将 BFD_SESSION_INITIALIZATION_MODE 设置为 active

API

使用 routers.patch 方法更新 bgpPeers[].bfd 字段。

bgpPeers[] 字段接受 BGP 对等体数组。PATCH 此字段时,您将使用请求中包含的新数组覆盖现有 BGP 对等体数组。

  1. 发送 GET 请求以获取路由器的当前 BGP 对等体数组。如需了解详情,请参阅查看 BGP 会话配置

  2. 发送带有新 BGP 对等体数组的 PATCH 请求。在包含要更新 BFD 设置的 BGP 会话的数组元素中,修改 bgpPeers[].bfd 字段:

       PATCH https://compute.googleapis.com/compute/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
       {
         "bgpPeers": [
           BGP_PEERS
         ]
       }
    

    请替换以下内容:

    • PROJECT_ID:Cloud Router 路由器所属的项目
    • REGION:Cloud Router 路由器所在的区域
    • ROUTER_NAME:Cloud Router 路由器的名称
    • BGP_PEERS:新 BGP 对等体数组的内容

    以下示例包含两个 BGP 对等体,并在 bgpPeers[].bfd 字段中设置值。如需详细了解这些选项,请参阅 BFD 设置和计时器

    必需:如需启用 BFD,请将 sessionInitializationMode 设置为 ACTIVE

        {
          "name": "peer-1",
          "interfaceName": "if-peer-1",
          "ipAddress": "169.254.10.1",
          "peerIpAddress": "169.254.10.2",
          "peerAsn": 64512,
          "advertisedRoutePriority": 100,
          "advertiseMode": "DEFAULT"
          "bfd": {
            "sessionInitializationMode": ACTIVE,
            "minTransmitInterval": 1000,
            "minReceiveInterval": 1000,
            "multiplier": 5
          }
        },
        {
          "name": "peer-2",
          "interfaceName": "if-peer-2",
          "ipAddress": "169.254.20.1",
          "peerIpAddress": "169.254.20.2",
          "peerAsn": 64513,
          "advertisedRoutePriority": 99,
          "advertiseMode": "DEFAULT"
          "bfd": {
            "sessionInitializationMode": ACTIVE,
            "minTransmitInterval": 1000,
            "minReceiveInterval": 1000,
            "multiplier": 5
          }
        }
    

在对等路由器上配置 BFD

如需在对等路由器上启用 BFD,请配置“最小传输时间间隔”“最小接收时间间隔”和“检测倍数”(推荐)。使用特定于设备的命令。

对于 BFD 对等体之间的 BFD 计时器协商,两个对等体中较慢的一个决定了传输速率。通过配置较高的值,您可以强制使这些间隔更长,而不是更短。

以下是 Cisco 路由器的 BFD 配置示例。如需查找其他配置示例,请参阅使用适用于 BFD 的第三方路由器配置

  int range <physical interface>
    bfd interval 1000 min_rx 1000 multiplier 5

  router bgp <ASN>
    neighbor 169.254.33.6 fall-over bfd
    neighbor 169.254.44.6 fall-over bfd

验证对等路由器上的 BFD

配置对等路由器后,通过查看有关 BFD 会话的详细信息来验证与 Cloud Router 路由器的会话是否已启动并运行。

  • Cisco 路由器的以下示例命令显示 BFD 会话的状态:

    show bfd neighbors 169.254.44.6 details
    
  • 命令输出应如下所示:

    IPv4 Sessions
    NeighAddr                    LD/RD           RH/RS     State     Int
    169.254.44.6                 4212/2045617738 Up        Up        Tu503
    Session state is UP and not using echo function.
    Session Host: Software
    OurAddr: 169.254.44.5
    Handle: 4
    Local Diag: 0, Demand mode: 0, Poll bit: 0
    MinTxInt: 1000, MinRxInt: 1000, Multiplier: 5
    Received MinRxInt: 1000, Received Multiplier: 5
    Holddown (hits): 244(1), Hello (hits): 100(30409)
    Rx Count: 4562, Rx Interval (ms) min/max/avg: 10/1140/870 last: 56 ms ago
    Tx Count: 4475, Tx Interval (ms) min/max/avg: 10/1040/890 last: 64 ms ago
    Elapsed time watermarks: 4 4 (last: 4)
    Registered protocols: CEF BGP
    Uptime: 00:06:39
    Last packet: Version: 1                  - Diagnostic: 0
                 State bit: Up               - Demand bit: 0
                 Poll bit: 0                 - Final bit: 0
                 C bit: 0
                 Multiplier: 5               - Length: 24
                 My Discr.: 2045617738       - Your Discr.: 4212
                 Min tx interval: 1000     - Min rx interval: 1000
                 Min Echo interval: 0
    
  • Cisco ASR 对等路由器的此示例输出显示了诊断信息,您可以在对等端查看这些信息以确定 BFD 会话的状态:

    14:06:12.906921 IP (tos 0xc0, ttl 255, id 58754, offset 0, flags [none], proto UDP (17), length 52)
      169.254.44.5.49152 > 169.254.44.6.3784: [udp sum ok] BFDv1, length: 24
    Control, State Down, Flags: [none], Diagnostic: No Diagnostic (0x00)
    Detection Timer Multiplier: 5 (5000 ms Detection time), BFD Length: 24
    My Discriminator: 0x0000100b, Your Discriminator: 0x00000000
      Desired min Tx Interval:    1000 ms
      Required min Rx Interval:   1000 ms
      Required min Echo Interval:  100 ms
    

在 Cloud Router 路由器上验证 BFD

使用以下方法之一验证 Google Cloud 端的 BFD 会话:

后续步骤