iT邦幫忙

2025 iThome 鐵人賽

DAY 25
0
自我挑戰組

日誌檢查學習自我挑戰系列 第 25

DAY25:BGP 協定原理與應用

  • 分享至 

  • xImage
  •  

BGP (Border Gateway Protocol) 是網際網路的骨幹,也是連接大型企業資料中心、雲端服務(如 AWS, Azure)和不同網路運營商的唯一標準協定。與 OSPF 或 EIGRP 不同,BGP 的目標不是找到最短路徑,而是選擇最符合網路策略的路徑。

  1. BGP 的核心角色:自治系統 (AS) 之間的橋樑
    BGP 是一種外部閘道協定 (EGP),專門用於在不同的 自治系統 (Autonomous System, AS) 之間交換路由資訊。
    自治系統 (AS): 由單一實體(如一個 ISP、一家大型企業或一所大學)控制的網路集合。每個 AS 都有一個全球唯一的 AS 號碼。
    BGP 與 IGP 的區別:
    IGP (如 OSPF/EIGRP): 在 AS 內部使用,計算最佳成本/最短路徑。
    BGP (EGP): 在 AS 之間使用,根據政策 (Policy) 和豐富的路徑屬性 (Path Attributes) 選擇路徑。
  2. BGP 的運作基礎
    A. TCP 連線與鄰居關係
    BGP 不像 OSPF 那樣使用 Hello 封包來維持鄰居關係,它依賴 TCP Port 179 建立和維持穩定的會話。
    eBGP (External BGP): 連接不同 AS 的路由器。用於與 ISP 或雲端服務交換路由。
    iBGP (Internal BGP): 連接同一個 AS 內部的路由器。用於確保 AS 內部所有 BGP 路由器對外部路由有一致的看法。
    B. 路徑屬性 (Path Attributes)
    BGP 路由的強大之處在於它攜帶的屬性,這些屬性指導了路由的選擇和策略應用:
    AS-Path: 記錄了數據到達目的地所必須經過的所有 AS 號碼。這是 BGP 用於防止環路和選擇最短路徑(AS 數量最少)的主要依據。
    Next-Hop (下一跳): 指示數據包應該傳送到哪個 IP 地址。
    Local Preference (本地優先級): iBGP 專用。用於告知 AS 內部所有路由器,哪一個出口點是到達某個外部目的地的最佳路徑(出站流量策略)。
    MED (Multi-Exit Discriminator): 用於告知外部的 AS,哪一個入口點是進入本 AS 的最佳路徑(入站流量策略)。
  3. BGP 最佳路徑選擇
    BGP 路由器遵循一個嚴格、長達十幾個步驟的演算法來選出唯一的最佳路由。這個過程強調策略優先於距離。最關鍵的幾個步驟是:
    Next-Hop 可達性: 路徑必須是 Next-Hop 可達的(即 AS 內部有路由能到達 Next-Hop)。
    最高 Local Preference: 優先選擇 Local Preference 最高的路由(這是企業控制出站流量的首要手段)。
    最短 AS-Path: 選擇經過最少 AS 的路徑。
    最低 MED (Multi-Exit Discriminator): 這是決定入站流量的首要手段。
  4. BGP 故障與日誌排查
    BGP 故障大多發生在 TCP 連線建立或策略錯誤上。
故障類型 關鍵排查點/日誌訊息 意義與排查方向
鄰居建立失敗 (Peering Failure) TCP Port 179 阻擋eBGP TTL 耗盡 排查: 檢查中間的防火牆或 ACL 是否阻擋了 TCP/179。在 eBGP 環境下,若鄰居非直接連線,需配置 eBGP multihop
AS 號碼錯誤 AS number mismatchpeer not configured 排查: 兩端配置的遠端 AS 號碼 必須精確匹配。這是 BGP 建立關係的基礎要求。
路由未宣告/未傳輸 鄰居已 Up,但路由表缺失對端網路。 排查: 檢查 network 宣告 是否正確,或是否有 Route-map (路由策略) 錯誤地阻止了路由資訊的傳輸。
Next-Hop 不可達 BGP 路由顯示為 i> (非最佳),或狀態為 R (Rib Failure)。 排查: 檢查 BGP 路由的 Next-Hop IP 地址,確保 AS 內部路由表 (IGP) 中有到達該 Next-Hop 的路徑,這是 BGP 路由能被使用的前提。

上一篇
DAY24:IPsec 數據加密與 VPN 流量路由整合
下一篇
DAY26:VXLAN 協定原理與應用
系列文
日誌檢查學習自我挑戰26
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言