管理 BGP 计时器

本页面介绍以下内容:

  • Cloud Router 路由器的 BGP 计时器及其设置,包括在本地路由器上配置相同设置的指导。
  • 更新 Cloud Router 路由器的 BGP keepalive 间隔。

BGP 计时器和设置

Cloud Router 路由器与您的本地路由器会使用以下一组计时器设置来保持通信。

keepalive 计时器

BGP 系统交换 keepalive 消息以确定链路或主机是发生故障还是不再可用。keepalive 计时器与保留计时器一起指示路由器是否可以通过其 BGP 对等端访问。

keepalive 计时器是 Cloud Router 路由器与其对应的本地对等路由器之间定期交换的 BGP 消息之间的 KEEPALIVE_INTERVAL。您可以按照更新 BGP keepalive 时间间隔中的说明配置此值。默认值是 20 秒。Google 建议在本地路由器和 Cloud Router 路由器上将 keepalive 计时器设置为相同的值。

保留计时器

此计时器定义了 Cloud Router 路由器或本地路由器在缺少优雅重启通知(TCP FINRST 数据包)或 BGP CEASE 通知的情况下,必须等待多长时间才能将 BGP 会话移至 DOWN 状态。

路由器会为每个 BGP 会话协商保持时间。协商的保留时间是 Cloud Router 路由器和本地路由器上配置的保留计时器值中的较低者。当达到协商的保持时间,并且未收到优雅重启通知或 BGP CEASE 通知时,路由器会将 BGP 会话移至 DOWN 状态,并采取以下操作:

  • 从 BGP 会话中移除所有已知路由
  • 停止通告路由

如需配置 Cloud Router 保留计时器,请更新 Cloud Router BGP keepalive 间隔。Cloud Router 会将保留计时器的值设置为已配置的 keepalive 时间间隔值的三倍。例如,如果您将 keepalive 计时器设置为 20 秒,则保留计时器为 60 秒。如需了解详情,请参阅更新 BGP keepalive 间隔

安全重启计时器

此计时器用于定义路由器在收到对等路由器的优雅重启通知(TCP FINRST 数据包)后保留之前 BGP 会话状态的时间。

在保留之前的 BGP 会话状态的同时,路由器会保留从对等路由器接收的会话已知路由,并继续向对等路由器通告其路由。如果在保留上一个 BGP 会话状态的同时建立新的 BGP 会话,连接不会中断。不过,如果未建立新的 BGP 会话,则会话会在优雅重启计时器结束时转换为 DOWN 状态。一旦进入 DOWN 状态,会话从对等路由器接收的已知路由将被移除,并且路由器会停止向对等路由器通告其路由。

支持优雅重启的路由器会通告优雅重启计时器值,该值定义另一个路由器在收到优雅重启通知后必须等待的时间。两个连接的路由器可以使用不同的优雅重启计时器值,但每个路由器都应遵循其对等方的优雅重启计时器值。建立新的 BGP 会话时,每个路由器都会通过 BGP OPEN 消息将自己的优雅重启计时器值传递给对等路由器。

Cloud Router 支持优雅重启,并且 Cloud Router 优雅重启计时器设置为 120 秒。如果对等路由器也支持优雅重启,则每个 Cloud Router 路由器都会在每个软件维护事件之前发送优雅重启通知。

如果您为本地路由器配置了优雅重启功能,那么它还可以在本地路由器重启或维护事件期间向 Cloud Router 发送优雅重启通知。将本地路由器的优雅重启计时器设置为适合您需求的值。

如需详细了解优雅重启,请参阅 RFC 4724

过时路径计时器

此设置用于确定在收到来自另一个路由器的记录结束 (EOR) 消息后,路由器要等待多久才能删除已知路由。当 BGP 会话优雅重启后进行重新初始化时,此计时器会启动,但 UPDATE 消息尚未处理相关前缀。我们建议在本地路由器上将过时路径计时器设置为 300 秒,以与 Cloud Router 路由器的设置相匹配。

更新 BGP keepalive 间隔

如需修改 Cloud Router 路由器上的 BGP keepalive 时间间隔,请按以下步骤操作。

控制台

  1. 在 Trusted Cloud 控制台中,前往 Cloud Router 页面。

    前往“Cloud Router 路由器”

  2. 选择包含要修改的 BGP 间隔的 Cloud Router 路由器。

  3. 路由器详情页面上,点击 修改

  4. 更新 BGP 对等端 keepalive 间隔。此值必须是介于 20 到 60 之间的整数,用于指定该间隔的秒数。默认时间为 20 秒。

  5. 点击保存

gcloud

运行 update 命令:

gcloud compute routers update ROUTER_NAME \
    --project=PROJECT_ID \
    --keepalive-interval=KEEPALIVE_INTERVAL \
    --region=REGION

请替换以下内容:

  • ROUTER_NAME:Cloud Router 路由器的名称
  • PROJECT_ID:Cloud Router 路由器所属的项目
  • KEEPALIVE_INTERVAL:发送到对等路由器的 BGP keepalive 消息之间的时间间隔

    此值必须是介于 20 到 60 之间的整数,用于指定该间隔的秒数。默认时间为 20 秒。

  • REGION:Cloud Router 路由器所在的区域

输出内容类似如下:

  Updating router [my-router]...done.

API

使用 routers.patch 方法更新 bgp.keepaliveInterval 字段:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
      "bgp": {
        "keepaliveInterval": KEEPALIVE_INTERVAL
     }
   }

请替换以下内容:

  • PROJECT_ID:Cloud Router 路由器所属的项目
  • REGION:Cloud Router 路由器所在的区域
  • ROUTER_NAME:Cloud Router 路由器的名称
  • KEEPALIVE_INTERVAL:发送到对等路由器的 BGP keepalive 消息之间的时间间隔

    此值必须是介于 20 到 60 之间的整数,用于指定该间隔的秒数。默认时间为 20 秒。

后续步骤