BGP是什麼?認識邊界閘道協定原理、運作方式與應用場景|Skycloud

BGP 是構成全球網際網路的核心協定,負責在不同自治系統(AS) 之間交換路由資訊,決定資料傳輸的最佳路徑;簡單來說,BGP 就是「網際網路的導航系統」,讓世界各地的網路彼此連通,確保資料能順利抵達目的地。
➤BGP是什麼?
➤BGP 的工作原理
➤BGP 的類型
➤BGP 的應用場景
➤BGP生活情境比喻
➤總結
BGP是什麼?
BGP(Border Gateway Protocol,邊界閘道協定) 是網際網路中負責「交換路由資訊」的關鍵協定,用來讓不同的 自治系統(AS,Autonomous System) 彼此溝通與決定資料傳輸的最佳路徑。簡單來說,BGP 就是整個網際網路的「導航中樞」,負責規劃資料要經過哪條路線、透過哪個網路才能抵達目的地。
在全球規模的網路中,有成千上萬個 AS,如電信商、雲端服務商、ISP、企業網路...等,彼此之間必須知道「誰能通往哪裡」,才能確保資料能順利傳遞。這時,BGP 就扮演「溝通橋樑」的角色,透過交換路由資訊,讓不同網路彼此互通。
BGP 是一種「外部閘道協定(EGP, Exterior Gateway Protocol)」,與用於單一企業或內部網路的 內部閘道協定(IGP)不同,BGP 不追求「最短路徑」,而是依據「網路策略與政策」來決定最佳傳輸路線,因此 BGP 也被稱為一種「政策導向的路由協定(Policy-Based Routing Protocol)」。
用比喻來說明,我們可以想像整個網際網路是一張全球地圖,而每個自治系統(AS) 就像是一個「國家」,國家內部的道路(IGP) 由自己規劃,而不同國家之間的國際公路(EGP) 則需要透過外交與協商。在這個比喻裡,BGP 就像是全球交通總部的「外交協議與導航規範」,它決定了各國之間的邊界怎麼開放、路線怎麼互通、以及誰的車流優先通行。
自治系統(AS) 是什麼
在了解 BGP 之前,我們應該要先認識「自治系統(AS,Autonomous System)」這個概念,因為 BGP 的運作對象就是 AS。
自治系統(AS) 指的是一個由單一組織或網路營運者所管理的網路集合,這個組織對內部的路由擁有完全控制權,並對外以統一的路由策略與外界(其他 AS) 溝通。每個 AS 都會擁有一個獨一無二的識別號碼「ASN(Autonomous System Number)」,用來在全球網路中辨識身分。
舉例來說,中華電信有自己的 AS(AS3462)、Google 也有自己的 AS(AS15169),這些 AS 就像一個個「國家」,各自管理自己的內部交通(路由),而 BGP 就是讓這些國家能彼此交換「道路資訊」的外交協議。
我們再延伸理解一下,在網路世界中,AS 的層級與功能會是這樣:
AS 內部:使用 OSPF、RIP、EIGRP 等內部閘道協定(IGP) 進行內部路由。
AS 之間:使用 BGP(EGP 協定) 交換可達的目的地資訊。
因此,我們可以理解成 IGP 是「國內道路管理局」,而 BGP 是「國際道路外交部」,則 AS 是「國家」,ASN 是「國家代碼」。
BGP 的工作原理
BGP 的核心任務,是讓不同的自治系統(AS) 之間交換「哪些 IP 網段可以從哪裡抵達」的資訊,並根據各種路由屬性(Path Attributes) 決定「最佳路徑」,BGP 不像一般內部路由協定只追求最短距離,而是根據政策(Policy) 與優先權做出最合適的選擇。
Step 1:建立鄰居關係(BGP Peering)
BGP 不會自動搜尋鄰居,而是透過手動設定建立「對等關係(Peer)」,兩台 BGP 路由器在建立鄰居關係後,會透過 TCP 179 埠(Port 179) 建立連線並交換路由資訊。
BGP 主要有兩種類型的對等關係:
eBGP(External BGP):在不同 AS 之間,例如 ISP 與 ISP 之間。
iBGP(Internal BGP):在同一個 AS 內部,用於同步外部學到的路由資訊。
用比喻來說,這就像不同國家的海關之間要簽訂協定(eBGP),而同一國家內的各城市之間也要同步通關資訊(iBGP)。
Step 2:交換路由資訊(Route Advertisement)
建立鄰居後,BGP 會開始交換「路由公告(Route Advertisement)」,告訴對方哪些 IP 網段(Prefix) 可以從我這邊到達、經過哪些 AS(AS Path),以及其他屬性(例如 Local Preference、MED 等)。
每次接收到新的路由資訊時,BGP 會根據內部策略判斷是否採用、轉發或過濾該路由。
Step 3:選擇最佳路徑(Best Path Selection)
當 BGP 收到多條可達相同目的地的路徑時,它會依據一系列的屬性進行「最佳路徑選擇」,主要的判斷順序如下(由高到低優先):
Highest Local Preference (本地偏好值最大者)
Shortest AS Path (經過的 AS 數最少)
Lowest Origin Type (IGP > EGP > Incomplete)
Lowest MED (Multi Exit Discriminator)
eBGP 優先於 iBGP
最低 IGP Cost 至下一跳 (Next Hop)
最小 Router ID 或 Cluster ID (最後比對)
我們可以想像你要從台北寄包裹到紐約,可能有多條航線可以選;BGP 就像物流總部,會根據「運費(Local Pref)」「經過國數(AS Path)」「關稅(MED)」等條件綜合判斷,挑出最划算、最快速的路線。
Step 4:路由傳播與更新(Route Propagation)
BGP 的設計是「增量更新(Incremental Update)」。
也就是說,它不會像 OSPF 那樣不斷廣播所有路由表,而是僅在有變更時才傳送更新資訊。這樣的設計能在全球上萬台 BGP 路由器中保持穩定,減少不必要的流量與震盪(Flapping)。
延伸應用:策略導向路由(Policy-Based Routing)
BGP 的最大特色之一,是它能根據企業或 ISP 自訂的「路由政策」決定資料流向。常見策略包括 控制流量出口/入口方向、設定優先路由(Preferred Path)、避免經過特定 AS 或地區與負載分散(Load Sharing)。
也就是說,BGP 不只是「導航」,還能根據國家政策或經濟考量決定「哪條航線可走、哪條不能走」。
BGP 工作流程總結
建立鄰居 (Peer)
交換路由 (Advertisement)
選擇最佳路徑 (Best Path)
宣告路由給其他 Peer (Propagation)
最終形成一個全球互通的網路拓樸,讓資料封包能跨越不同 AS,安全且有效地抵達目的地。
BGP 的類型
BGP 依據運作範圍與連線對象,可分為兩種類型,分別是 External BGP(eBGP) 和 Internal BGP(iBGP),它們共同構成整個 BGP 路由系統。兩者的主要差別在於「是否跨越不同自治系統(AS)」以及「用於哪一層級的路由交換」。
eBGP(External BGP)
eBGP 是「不同自治系統之間」的 BGP 連線,用來讓各個 AS 彼此交換路由資訊。它是整個網際網路能夠互通的關鍵基礎。
eBGP 應用場景:
ISP 與 ISP 之間互連
雲端服務商與電信商之間
企業對外連線多家上游供應商(multi-homing)
eBGP 的特性:
預設 TTL 為 1 (確保為直接連線)
eBGP 學到的路由可以「傳遞」給其他 Peer
通常會搭配路由策略(policy) 控制出口流量方向
用比喻來說,就像不同國家的「海關通道」,負責處理跨國資料往來,而每個國家(AS) 都會透過 eBGP 協議交換「哪裡可通行」的資訊。
iBGP(Internal BGP)
iBGP 是「同一個自治系統內部」的 BGP 連線,用於在同一 AS 的路由器之間同步外部(eBGP) 學到的路由資訊。
iBGP應用場景:
大型企業、ISP 或雲端網路內部
分散式核心路由架構中,用於協調內部多節點
與 OSPF 或 IS-IS 等 IGP 搭配使用
iBGP 的特性:
iBGP 之間不會自動傳遞從其他 iBGP 學到的路由(避免循環)
通常需設計 Full Mesh 或 Route Reflector 架構
用於「AS 內部的資訊同步」,不改變外部可達性
用比喻來說,就像同一家公司各部門間的「內部通訊系統」,大家都在同一個組織裡,只是交換外部收到的最新消息。
eBGP vs iBGP 比較表
類型 | 範圍 | 連線對象 | 主要用途 | 路由傳播特性 |
---|---|---|---|---|
eBGP | 跨 AS | 不同自治系統 | 對外交換路由 | 路由可傳遞給其他 Peer |
iBGP | AS 內部 | 同一自治系統 | 同步外部學到的路由 | 不會自動轉發 iBGP 學到的路由 |
我們來簡單理解一下...
eBGP 負責「對外交流」:幫 AS 和外界溝通。
iBGP 負責「內部協調」:讓同一 AS 裡的路由器保持一致。
兩者共同構成了 BGP 的完整架構,使全球上萬個自治系統能在穩定的規則下互聯,讓網際網路真正成為「網路的網路」。
BGP 的應用場景
BGP 不僅是網際網路的「骨幹協定」,更是讓全球數十萬個網路互相連通的核心技術,從 ISP、企業到 CDN 與雲端架構,幾乎所有「跨網路」的服務都依賴 BGP 來確保資料能夠被正確導向與負載平衡。
ISP 與 ISP 之間的互聯(Internet Peering)
不同電信業者(ISP) 必須彼此交換路由資訊,讓使用者能連線到世界各地,這種互聯通常透過 eBGP 進行,確保不同 AS 之間知道「誰能通往哪裡」。
其目的在於能夠確保跨國與跨營運商的流量能正確路由,維持全球網際網路的連通性。
多線路容錯與負載分流(Multi-Homing)
企業或資料中心常會連線到兩家以上的上游 ISP,藉此達到...
冗餘容錯(Redundancy):當其中一條線路中斷時,自動切換到另一條。
流量分流(Load Balancing):依照策略分配不同出口流量。
像是企業同時連線中華電信與遠傳電信,透過 BGP 調整 Local Preference 或 AS Path,控制出口流量走向。其好處就在於能夠確保網路不中斷,並能動態選擇延遲較低、路徑較短的線路。
Anycast 架構(全球節點加速與防禦)
BGP 是 Anycast 技術 的核心。
Anycast 透過在多個地點部署相同 IP 地址,並利用 BGP 將使用者導向「最近的節點」,實現高效能與高可用的全球服務。
比如說當使用者在台灣發送請求時,BGP 會自動導向距離最近的節點(例如台北或東京),降低延遲。這樣的好處在於全球負載分流、DDoS 攻擊時自動分散流量壓力、提升服務穩定性與速度。
DDoS 防禦與流量清洗中心
在資安領域,BGP 也常被用於 流量引導(Traffic Steering)。
當偵測到攻擊時,BGP 可即時改變路由,將惡意流量導向清洗中心,再回傳乾淨的流量給原伺服器。
如此即能實現「雲端清洗+原站回傳」的雲地聯防模式,並且減輕原站伺服器壓力,確保服務不中斷。
全球伺服器負載平衡(GSLB / GTM)
BGP 常搭配 DNS-based 流量調度(如 GSLB、GTM) 使用,根據地理位置、延遲、節點健康狀態來動態調整流量去向。
像是全球企業網站,如 Microsoft、Amazon、Skycloud,利用 BGP + GTM 自動導向最靠近且健康的節點,確保用戶體驗一致。
政府與大型組織的跨區網路整合
政府單位、大型企業或教育研究機構(如 TANet、TWNIC),會透過 BGP 將各地分支的網路整合,形成全國或跨國的自治系統。
好處在於各單位可維持獨立網段管理,並且透過統一的 BGP 策略集中控制進出流量。
雲端與 CDN 實務應用
在現代雲端與 CDN 架構中,BGP 也扮演關鍵角色,透過結合 Anycast 與 GSLB(全球伺服器負載平衡) 技術,BGP 能動態將使用者導向距離最近、延遲最低的節點,實現「最近節點導向」與「智慧流量調度」。
例如 Cloudflare、Akamai、Skycloud 等 CDN 平台,皆利用 BGP 與 Anycast 架構建立全球節點加速與 DDoS 防禦,確保不同地區的用戶都能享有穩定快速的網路體驗。
BGP生活情境比喻
BGP 是整個網際網路的「世界交通調度系統」,它負責協調每個國家(AS) 之間的道路開放與流量走向,讓全球資料能在不同網路之間順利傳遞,就像我們每天上網、開車、寄信、傳資料那樣自然。沒有 BGP,網際網路就無法運作;有了 BGP,世界各地的資訊才得以自由、安全地流動。
上述介紹了許多 BGP 的詳細介紹,現在我們用簡單的生活情境比喻來介紹 BGP,讓讀者可以更容易理解。
情境一:國際公路與交通外交
想像整個網際網路是一張「全球高速公路地圖」,每個自治系統(AS) 就像一個國家,各國都有自己的道路(內部路由),但如果要跨國開車(資料傳輸),就需要一套協調規則。
BGP 就是各國之間的交通外交協定,負責決定哪條邊界開放、哪條路線能通、哪條要封閉。
沒有 BGP,不同國家的路就無法互通。
有了 BGP,資料封包才能安全、順暢地穿越全球。
情境二:導航系統的路線選擇
BGP 就像一個「全球導航中心」,當有多條路線都能到達目的地時,它會根據多種條件,例如距離(AS Path)、費用(Local Preference)、道路順暢程度(MED),挑出最合適的一條。
就像開車時導航會自動避開塞車路段、選擇最快路線一樣,BGP 會為資料封包找出「最快、最穩、最安全」的傳輸路徑。
總結
BGP(Border Gateway Protocol) 是整個網際網路能正常運作的關鍵基石,它負責在全球數十萬個自治系統(AS) 之間交換路由資訊,確保資料封包能找到最合適、最穩定的傳輸路徑。
BGP 不僅是一個「路由協定」,更是一套「全球網路政策協商機制」,它讓各個網路營運商(ISP、雲端服務商、企業骨幹網路) 能根據自身策略管理流量方向,實現跨國連線、容錯備援與智慧流量分配。
總結來說,BGP 是「網路的導航系統」,讓全球資料能有序流動,也是「網際網路的外交協議」,協調各自治系統之間的通行規則。
延伸閱讀:
✔什麼是 Anycast?運作原理、應用場景與 DDoS 防護解析
✔什麼是「全球伺服器負載平衡(GSLB)」?原理、應用與 DNS/CDN 整合全解析
✔什麼是「負載平衡(Load Balancing)」?原理、種類與應用完整解析
✔全球流量管理 GTM (Global Traffic Manager) 是什麼?
✔什麼是 ASN(AS Number)?自治系統編號的定義、原理與在網際網路中的角色解析