BGP協議概述及基本概念

BGP協議概述及基本概念

1.1 什麼是BGP

動態路由協議可以按照工作範圍分為IGP以及EGP。IGP工作在同一個AS內,主要用來發現和計算路由,為AS內提供路由信息的交換;而EGP工作在AS與AS之間,在AS間提供無環路的路由信息交換,BGP則是EGP的一種。邊界網關協議BGP(Border Gateway Protocol)是一種實現自治系統AS(Autonomous System)之間的路由可達,並選擇最佳路由的距離矢量路由協議。

1.1.1 自治系統AS(Autonomous System)

AS是指在一個實體管轄下的擁有相同選路策略的IP網絡。BGP網絡中的每個AS都被分配一個唯一的AS號,用於區分不同的AS。AS號分為2字節AS號和4字節AS號,其中2字節AS號的範圍為1至65535,4字節AS號的範圍為1至4294967295。支持4字節AS號的設備能夠與支持2字節AS號的設備兼容。

1.1.2 BGP分類

BGP按照運行方式分為EBGP(External/Exterior BGP)和IBGP(Internal/Interior BGP)。

EBGP:運行於不同AS之間的BGP稱為EBGP。為了防止AS間產生環路,當BGP設備接收EBGP對等體發送的路由時,會將帶有本地AS號的路由丟棄。

IBGP:運行於同一AS內部的BGP稱為IBGP。為了防止AS內產生環路,BGP設備不將從IBGP對等體學到的路由通告給其他IBGP對等體,並與所有IBGP對等體建立全連接。為了解決IBGP對等體的連接數量太多的問題,BGP設計了路由反射器和BGP聯盟。

1.1.3 BGP報文交互角色

BGP報文交互中分為Speaker和Peer兩種角色。

Speaker:發送BGP報文的設備稱為BGP發言者(Speaker),它接收或產生新的報文信息,併發布(Advertise)給其它BGP Speaker。

Peer:相互交換報文的Speaker之間互稱對等體(Peer)。若干相關的對等體可以構成對等體組(Peer Group)。

1.1.4 BGP Router ID

BGP的Router ID是一個用於標識BGP設備的32位值,通常是IPv4地址的形式,在BGP會話建立時發送的Open報文中攜帶。對等體之間建立BGP會話時,每個BGP設備都必須有唯一的Router ID,否則對等體之間不能建立BGP連接。BGP的Router ID在BGP網絡中必須是唯一的,可以採用手工配置,也可以讓設備自動選取。缺省情況下,BGP選擇設備上的Loopback接口的IPv4地址作為BGP的Router ID。如果設備上沒有配置Loopback接口,系統會選擇接口中最大的IPv4地址作為BGP的Router ID。一旦選出Router ID,除非發生接口地址刪除等事件,否則即使配置了更大的地址,也保持原來的Router ID。

1.1.5 BGP特點

外部網關協議

使用TCP179作為其傳輸層協議

支持CIDR

支持增量更新

增強型的路徑矢量路由器協議

無環路

路由策略豐富

可防止路由震盪

易於擴展

1.1.6 BGP報文分類

BGP對等體間通過以下5種報文進行交互,其中Keepalive報文為週期性發送,其餘報文為觸發式發送:

Open報文:用於建立BGP對等體連接。

Update報文:用於在對等體之間交換路由信息。

Notification報文:用於中斷BGP連接。

Keepalive報文:用於保持BGP連接。

Route-refresh報文:用於在改變路由策略後請求對等體重新發送路由信息。只有支持路由刷新(Route-refresh)能力的BGP設備會發送和響應此報文。

1.1.7 BGP狀態機

BGP對等體的交互過程中存在6種狀態機:空閒(Idle)、連接(Connect)、活躍(Active)、Open報文已發送(OpenSent)、Open報文已確認(OpenConfirm)和連接已建立(Established)。在BGP對等體建立的過程中,通常可見的3個狀態是:Idle、Active和Established。


分享到:


相關文章: