為 Cloud Router 設定 BFD
有了 Cloud Router 的雙向轉送偵測 (BFD) 功能,您可以快速偵測轉送路徑中斷情形,例如 BGP 上線或下線事件,進而打造更具彈性的混合式網路。
您可以在 VLAN 連結的 BGP 工作階段中設定 BFD。為高可用性 VPN 通道或路由器設備設定的 BGP 工作階段不支援 BFD,路由器設備是 Network Connectivity Center 的一部分。
如要進一步瞭解 BFD,請參閱「Cloud Router 雙向轉送偵測 (BFD) 總覽」,其中包含 BFD 設定和計時器的完整說明。
事前準備
gcloud
如要使用本指南中的指令列範例,請完成下列事項:
- 安裝或更新至最新版 Google Cloud CLI。
- 設定預設地區和區域。
API
如要使用本指南提供的 API 範例,請設定 API 存取權。
將 Cloud Router 新增至 Cloud Interconnect
設定 BFD 前,請先設定下列其中一種連線選項,包括新增具有 BGP 工作階段的 Cloud Router:
在現有 BGP 工作階段上設定 BFD
您可以為先前為 VLAN 連結設定的 BGP 工作階段設定 BFD。
如要設定現有 BGP 工作階段的 BFD 設定,請按照下列步驟操作。
控制台
前往 Google Cloud 控制台的「Cloud Router」頁面。
選取要更新的 Cloud Router。
在「路由器詳細資料」頁面的「BGP 工作階段」區段中,選取要更新的 BGP 工作階段。
在「BGP session details」(BGP 工作階段詳細資料) 頁面中,按一下 「Edit」(編輯)。
完成所有非 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 對等互連陣列。
傳送
GET要求,取得路由器的目前 BGP 對等互連陣列。詳情請參閱「查看 BGP 工作階段設定」。傳送含有新 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 支援的
transmit和receive間隔下限為 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 工作階段:
如要瞭解工作階段狀態的變化,請查看 Cloud Logging 中產生的記錄,或查看
bfd/session_up的 Cloud Monitoring 指標。如要瞭解 BFD 工作階段,請查看 Cloud Router 狀態。
後續步驟
如要修改 BGP 工作階段的 BFD 設定,請參閱「更新或停用 BFD」。
如需雙向轉送偵測 (BFD) 診斷訊息、工作階段狀態和狀態訊息的相關說明,請參閱「雙向轉送偵測 (BFD) 診斷訊息和工作階段狀態」。
如要排解 Cloud Router 問題,請參閱疑難排解。