華為云計算 云知識 邊界網關協議
邊界網關協議

邊界網關協議(BGP)是運行于 TCP 上的一種自治系統的路由協議。 BGP 系統的主要功能是和其他的 BGP 系統交換網絡可達信息。

BGP的結構和功能

BGP用于在不同自治系統(AS)之間交換路由信息。 當兩個AS需要交換路由信息時,每個AS必須指定一個運行BGP的節(jié)點來代表該AS與其他AS交換路由信息。 該節(jié)點可以是主機。 但是通常是路由器執(zhí)行BGP。 使用BGP在兩個AS中交換信息的路由器也稱為邊界網關或邊界路由器。

由于它可能連接到不同的AS,因此AS中可能有多個運行BGP的邊界路由器。 在同一自治系統(AS)中兩個或多個對等實體之間運行的BGP稱為IBGP(Internal/Interior BGP)。 在屬于不同AS的對等實體之間運行的BGP稱為EBGP(External/Exterior BGP)。 與AS邊界上的其他AS交換信息的路由器稱為邊界路由器。 在互聯網操作系統(Cisco IOS)中,IBGP通告的路由的距離為200,優(yōu)先級低于EBGP和任何內部網關協議(IGP)通告的路由。 在其他路由器實現中,優(yōu)先級順序也是EBGP高于IGP,而IGP高于IBGP。

BGP屬于外部網關路由協議,可以實現自治系統間無環(huán)路的域間路由。BGP是溝通Internet廣域網的主用路由協議,例如不同省份、不同國家之間的路由大多要依靠BGP協議。BGP可分為IBGP(Internal BGP)和EBGP(External BGP)。BGP的鄰居關系(或稱通信對端/對等實體)是通過人工配置實現的,對等實體之間通過TCP(端口179)會話交互數據。BGP路由器會周期地發(fā)送19字節(jié)的保持存活keep-alive消息來維護連接(默認周期為30秒)。在路由協議中,只有BGP使用TCP作為傳輸層協議。

IETF先后為BGP制定了多個建議,分別為:

RFC 4271:當前正使用的BGP協議版本,稱之為BGP4。

RFC 1654:BGP4協議的第一個規(guī)范。

RFC 1105、RFC 1163、RFC 1267、RFC1771:BGP4之前的BGP版本。