邊界網(wǎng)關協(xié)議(BGP)是運行于 TCP 上的一種自治系統(tǒng)的路由協(xié)議。 BGP 是唯一一個用來處理像因特網(wǎng)大小的網(wǎng)絡的協(xié)議,也是唯一能夠妥善處理好不相關路由域間的多路連接的協(xié)議。 BGP 構建在 EGP 的經(jīng)驗之上。 BGP 系統(tǒng)的主要功能是和其他的 BGP 系統(tǒng)交換網(wǎng)絡可達信息。網(wǎng)絡可達信息包括列出的自治系統(tǒng)(AS)的信息。這些信息有效地構造了 AS 互聯(lián)的拓樸圖并由此清除了路由環(huán)路,同時在 AS 級別上可實施策略決策。
BGP用于在不同的自治系統(tǒng)(AS)之間交換路由信息。當兩個AS需要交換路由信息時,每個AS都必須指定一個運行BGP的節(jié)點,來代表AS與其他的AS交換路由信息。這個節(jié)點可以是一個主機。但通常是路由器來執(zhí)行BGP。兩個AS中利用BGP交換信息的路由器也被稱為邊界網(wǎng)關(Border Gateway)或邊界路由器(Border Router)。
由于可能與不同的AS相連,在一個AS內(nèi)部可能存在多個運行BGP的邊界路由器。同一個自治系統(tǒng)(AS)中的兩個或多個對等實體之間運行的BGP 被稱為 IBGP(Internal/Interior BGP)。歸屬不同的AS的對等實體之間運行的BGP稱為EBGP (External/Exterior BGP)。在AS邊界上與其他AS交換信息的路由器被稱作邊界路由器(border/edge router)。在互聯(lián)網(wǎng)操作系統(tǒng)(Cisco IOS)中,IBGP通告的路由的距離為200,優(yōu)先級比EBGP和任何內(nèi)部網(wǎng)關協(xié)議(IGP)通告的路由都低。其他的路由器實現(xiàn)中,優(yōu)先級順序也是EBGP高于IGP,而IGP又高于IBGP。
自治系統(tǒng)ASAutonomous System: AS是指在一個實體管轄下的擁有相同選路策略的IP網(wǎng)絡。BGP網(wǎng)絡中的每個AS都被分配一個唯一的AS號,用于區(qū)分不同的AS。AS號分為2字節(jié)AS號和4字節(jié)AS號,其中2字節(jié)AS號的范圍為1至65535,4字節(jié)AS號的范圍為1至4294967295。支持4字節(jié)AS號的設備能夠與支持2字節(jié)AS號的設備兼容。 BGP分類: BGP按照運行方式分為EBGP(External/Exterior BGP)和IBGP(Internal/Interior BGP)。
EBGP:運行于不同AS之間的BGP稱為EBGP。為了防止AS間產(chǎn)生環(huán)路,當BGP設備接收EBGP對等體發(fā)送的路由時,會將帶有本地AS號的路由丟棄。 IBGP:運行于同一AS內(nèi)部的BGP稱為IBGP。為了防止AS內(nèi)產(chǎn)生環(huán)路,BGP設備不將從IBGP對等體學到的路由通告給其他IBGP對等體,并與所有IBGP對等體建立全連接。為了解決IBGP對等體的連接數(shù)量太多的問題,BGP設計了路由反射器和BGP聯(lián)盟。
Open消息:Open消息是TCP連接建立后發(fā)送的第一個消息,用于建立BGP對等體之間的連接關系。 Keepalive消息:BGP會周期性地向?qū)Φ润w發(fā)出Keepalive消息,用來保持連接的有效性。 Update消息:Update消息用于在對等體之間交換路由信息。它既可以發(fā)布可達路由信息,也可以撤銷不可達路由信息。 Notification消息:當BGP檢測到錯誤狀態(tài)時,就向?qū)Φ润w發(fā)出Notification消息,之后BGP連接會立即中斷。
BGP在進行路由通告的時候,需要遵循以下原則:
更多建議: