為 Cloud Router 設定 BFD

有了 Cloud Router 的雙向轉送偵測 (BFD) 功能,您可以快速偵測轉送路徑中斷情形,例如 BGP 上線或下線事件,進而打造更具彈性的混合式網路。

您可以在 VLAN 連結的 BGP 工作階段中設定 BFD。為高可用性 VPN 通道或路由器設備設定的 BGP 工作階段不支援 BFD,路由器設備是 Network Connectivity Center 的一部分。

如要進一步瞭解 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 session details」(BGP 工作階段詳細資料) 頁面中,按一下 「Edit」(編輯)

  5. 完成所有非 BFD 設定。

  6. 在「雙向轉送偵測」下方,按照「雙向轉送偵測設定和計時器」一文的說明,設定雙向轉送偵測選項。

    必要:如要啟用 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 參數的值與對應的 Cloud Router 值相同。

設定 BFD 偵測間隔時,請考量下列事項:

  • 在 BFD 對等互連之間進行 BFD 計時器交涉時,傳輸速率會以較慢的對等互連為準。

  • Cloud Router 支援的 transmitreceive 間隔下限為 1000 毫秒。

    • 您可以在路由器上設定較高的值,強制有效傳輸和接收間隔變長,而非變短。
  • 接收端的整體 BFD 偵測間隔是傳送端的偵測乘數與傳送端的有效傳輸間隔的乘積。

    • Cloud Router 的乘數最小值為 5。
  • 由於 Cloud Router 與對等互連之間的協商值較慢,路由器上的有效傳輸間隔大於或等於 1000 毫秒。Cloud Router 的傳輸間隔下限為 1000 毫秒。

    • 如果路由器中的 transmit interval 設定小於 1000ms,請將乘數設為至少五。
    • 如果 transmit interval 設定大於 1000ms,請將乘數設得夠高,讓 transmit 間隔 * multiplier 至少為五秒。

以下是 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 工作階段:

後續步驟