AS 指的是由同一個(gè)機(jī)構(gòu)管理、使用統(tǒng)一選路策略的一些路由器的集合。BGP 作為AS區(qū)域間的路由協(xié)議,要按照不同的路由的屬性控制路由的發(fā)送和引入。
每個(gè)自治系統(tǒng)都有唯一的自治系統(tǒng)編號(hào),自治系統(tǒng)的編號(hào)范圍是1到65 535,其中1到65411是注冊(cè)的因特網(wǎng)編號(hào),65 412 到 65 535 是專用網(wǎng)絡(luò)編號(hào)。通過采用路由協(xié)議和自治系統(tǒng)編號(hào),路由器就可以確定彼此間的路徑和路由信息的交換方法。BGP使用 TCP 作為其傳輸層協(xié)議。
當(dāng)前主要使用的BGP版本是RFC1771(BGP-4)。在BGP中,拓?fù)鋱D的端點(diǎn)是一個(gè)AS區(qū)域,AS之間的鏈路是邊。IGP負(fù)責(zé)在AS內(nèi)部選擇花費(fèi)最小的路由,EGP負(fù)責(zé)選擇AS間花費(fèi)最小的路由。BGP采用發(fā)送路由增量的方法,完成全部路由信息的通告。當(dāng)本地路由器的BGP收到了一條新路由時(shí),與保存的已發(fā)送信息進(jìn)行比較,如未發(fā)送過,則發(fā)送;如已發(fā)送過,則與已經(jīng)發(fā)送的路由進(jìn)行比較,如新路由花費(fèi)更小,則發(fā)送此新路由,同時(shí)更新已發(fā)送信息,反之則不發(fā)送。
當(dāng)本地路由器BGP發(fā)現(xiàn)一條路由失效時(shí),如此路由已發(fā)送過,則向BGP對(duì)等體發(fā)送一個(gè)撤銷路由消息??傊珺GP不是每次都廣播所有的路由信息,而是在初始化全部路由信息后只發(fā)送路由的變化量(增量),這樣保證了BGP和對(duì)端的最小通信量。因?yàn)閷?duì)于IGP,本地路由協(xié)議只需發(fā)送時(shí)刻所知的全部路由,而不保存任何已發(fā)送信息,路由選擇的工作由對(duì)端來完成;而BGP必須為每個(gè)BGP對(duì)端保存已經(jīng)發(fā)送的路由信息,以便發(fā)送一條新路由前確認(rèn)其是否真的應(yīng)該發(fā)送。
BGP還支持無類別域間選路(CIDR)。它使用帶有較短掩碼的路由在一條路由中表達(dá)更多的路由信息,也就是路由聚合。如從210.11.1.0/24~210.11.254.0/24可以使用210.11.0.0/16表示,從而減小路由表的體積和發(fā)送路由的通信量。
以下給出路由選擇的過程:如果此路由的下一跳不可達(dá),忽略此路由;選擇本地優(yōu)先級(jí)較大的路由;
選擇本地路由器始發(fā)的路由(本地優(yōu)先級(jí)相同);
選擇AS路徑較短的路由;依次選擇起點(diǎn)類型為IGP、EGP、INCOMPLETE(非完整)類型的路由;
選擇MED(Multi-Exit Discriminators,多出口區(qū)分)較小的路由;
選擇RouterID較小的路由。