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