18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

BGP硬核筆記分享

網(wǎng)絡(luò)技術(shù)干貨圈 ? 來(lái)源:網(wǎng)絡(luò)技術(shù)干貨圈 ? 2023-12-11 09:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、概述及相關(guān)術(shù)語(yǔ)

BGP概念

BGP——邊界網(wǎng)關(guān)路由協(xié)議,是一種基于策略的路徑矢量路由協(xié)議(可以理解為距離矢量型協(xié)議的升級(jí)版),BGP在確定最佳路徑時(shí)考慮的不是速度,而是讓AS能夠根據(jù)多種BGP屬性來(lái)控制數(shù)據(jù)流的傳輸。

BGP的主旨是提供一種域間路由選擇系統(tǒng),確保自治系統(tǒng)只能夠無(wú)環(huán)地交換路由選擇信息,BGP路由器交換有關(guān)前往目標(biāo)網(wǎng)絡(luò)的路徑信息。

BGP是一種解決大型網(wǎng)絡(luò)的EGP協(xié)議,本身并不產(chǎn)生路由,只是傳遞路由信息,因?yàn)榛赥CP傳輸,故不需要物理直連(但TCP一定要可達(dá))。

BGP相關(guān)術(shù)語(yǔ)

1.自治系統(tǒng):自治系統(tǒng)就是處于一個(gè)管理機(jī)構(gòu)控制之下的路由器和網(wǎng)絡(luò)群組。它可以是一個(gè)路由器直接連接到一個(gè)LAN上,同時(shí)也連到Internet上;它可以是一個(gè)由企業(yè)骨干網(wǎng)互連的多個(gè)局域網(wǎng)。在一個(gè)自治系統(tǒng)中的所有路由器必須相互連接,運(yùn)行相同的路由協(xié)議,同時(shí)分配同一個(gè)自治系統(tǒng)編號(hào)。

BGP將每個(gè)自治系統(tǒng)看作路由一個(gè)節(jié)點(diǎn)。

2.AS號(hào):自治系統(tǒng)號(hào)為一16位的數(shù)字范圍為1–65535,私有自治系統(tǒng)號(hào)64512~65535,在Internet上不可路由。

自治系統(tǒng)號(hào)可以防環(huán),運(yùn)行BGP的路由器不會(huì)接收路徑列表中包含自己AS號(hào)的路由更新信息,因?yàn)檫@個(gè)路由已經(jīng)穿過了自己的AS,再次接收這個(gè)路由信息就會(huì)造成環(huán)路,所以當(dāng)BGP路由器收到含有自己AS號(hào)的路由信息的數(shù)據(jù)包時(shí)會(huì)丟棄從而防環(huán)。

3.BGP和IGP:ISP(網(wǎng)絡(luò)服務(wù)提供商)和他的客戶通常會(huì)使用一種IGP來(lái)進(jìn)行他們的網(wǎng)絡(luò)內(nèi)部路由信息??蛻襞c同一ISP下的另一客戶,客戶與Internet,ISP與ISP之間進(jìn)行路由交換時(shí)會(huì)使用到BGP。
PS:IGP路由協(xié)議主要使命在路由的自動(dòng)發(fā)現(xiàn)和計(jì)算上,而BGP主要在路由的控制和選擇上。

4.BGP發(fā)言者(BGP Speaker):發(fā)送BGP消息的路由器稱為BGP發(fā)言者,它接收或者產(chǎn)生新的路由信息,并發(fā)布給其他BGP發(fā)言者。

5.Router ID(RID):Router ID是一個(gè)32位比特?zé)o符號(hào)的整數(shù),用來(lái)在自治系統(tǒng)中唯一標(biāo)識(shí)一臺(tái)路由器。路由器如果運(yùn)行BGP協(xié)議,則必須存在Router ID。Router ID可以是手工配置或者是路由協(xié)議自動(dòng)選舉。

6.BGP對(duì)等體(BGP Peer):相互交換消息的BGP發(fā)言者之間互稱對(duì)等體(Peer)。

7.IBGP對(duì)等體(Internal BGP Peer):如果BGP對(duì)等體處于同一自治系統(tǒng)內(nèi),被稱為IBGP對(duì)等體。

8.EBGP對(duì)等體(External BGP Peer):BGP對(duì)等體處于不同自治系統(tǒng)時(shí),被稱為EBGP對(duì)等體。

9.IGP:內(nèi)部網(wǎng)關(guān)路由選擇協(xié)議:RIP、OSPF、ISIS等

10.EGP:外部網(wǎng)關(guān)路由選擇協(xié)議

關(guān)于BGP的兩類對(duì)等體

BGP對(duì)等體也稱為BGP鄰居,EBGP對(duì)等體也稱為EBGP鄰居,IBGP對(duì)等體也稱為IBGP鄰居。

EBGP對(duì)等體

處于不同AS的BGP對(duì)等體為EBGP對(duì)等體,通常情況下EBGP對(duì)等體是物理上直連。AS間通信的BGP鄰居必須處于相同的物理網(wǎng)絡(luò)。

BGP Speaker從EBGP對(duì)等體獲得的路由會(huì)向它所有BGP對(duì)等體通告(包括EBGP和IBGP);同時(shí)為了防止環(huán)路,他不會(huì)將學(xué)習(xí)到的路由再向原發(fā)布者發(fā)布。

建立eBGP鄰居關(guān)系的要求:

不同的AS號(hào):不同AS號(hào)之間的BGP路由器才能建立起B(yǎng)GP外部連接

指定鄰居:默認(rèn)鄰居間連接關(guān)系為直連,為網(wǎng)絡(luò)的健壯性可以將Loopback口的IP設(shè)為neighbor address,需要用ebgp多跳技術(shù)來(lái)實(shí)現(xiàn)

可達(dá)性:在開始交換BGP路由更新之前,必須先建立TCP會(huì)話,BGP的數(shù)據(jù)必須能到達(dá)BGP鄰居處

IBGP對(duì)等體

處于同一個(gè)AS的BGP對(duì)等體為IBGP對(duì)等體(或者是IBGP鄰居)IBGP對(duì)等體不一定是物理直連,但是一定要TCP可達(dá)

建立iBGP鄰居關(guān)系的要求:

相同的AS號(hào)

指定鄰居

可達(dá)性

由于物理接口的不穩(wěn)定性,neighbor 所指向的IP地址可能會(huì)down掉,所以可以使用本地環(huán)回接口作為BGP鄰居neighbor。

為了防止環(huán)路,BGP協(xié)議規(guī)定BGP發(fā)言者從IBGP獲得的路由不向它的IBGP對(duì)等體發(fā)布。

另外為了防止路由黑洞的產(chǎn)生,協(xié)議還規(guī)定BGP發(fā)言者從IBGP獲得的路由是否發(fā)布給它的EBGP對(duì)等體與BGP是否同步相關(guān)。

補(bǔ)充:路由黑洞

路由黑洞一般是在網(wǎng)絡(luò)邊界做匯總回程路由的時(shí)候產(chǎn)生的一種不太愿意出現(xiàn)的現(xiàn)象,就是匯總的時(shí)候有時(shí)會(huì)有一些網(wǎng)段并不在內(nèi)網(wǎng)中存在,但是又包含在匯總后的網(wǎng)段中,如果在這個(gè)匯總的邊界設(shè)備上同時(shí)還配置了缺省路由,就可能出現(xiàn)一些問題。這時(shí),如果有數(shù)據(jù)包發(fā)向那些不在內(nèi)網(wǎng)出現(xiàn)的網(wǎng)段(但是又包含在匯總網(wǎng)段)所在的路由器,根據(jù)最長(zhǎng)匹配原則,并沒有找到對(duì)應(yīng)的路由,只能根據(jù)默認(rèn)路由又回到原來(lái)的路由器,這就形成了環(huán)路,直到TTL值超時(shí),丟棄。
路由黑洞解決辦法:運(yùn)營(yíng)商核心網(wǎng)MPLS LDP,完美的解決方案。

IBGP的全連接

BGP會(huì)話是基于TCP的點(diǎn)到點(diǎn)的單播鏈接

TCP的可靠傳輸機(jī)制和滑動(dòng)窗口機(jī)制可以確保承載與TCP之上的BGP可以可靠傳遞大量路由。但是TCP鏈接是點(diǎn)到點(diǎn)的單播方式來(lái)進(jìn)行報(bào)文傳輸?shù)模虼薆GP鏈接只能是基于點(diǎn)到點(diǎn)的鏈接。同時(shí)BGP是一種距離矢量路由協(xié)議,為了防止產(chǎn)生路由環(huán)路,協(xié)議規(guī)定BGP發(fā)言者從IBGP對(duì)等體獲得的路由不能向其他的IBGP對(duì)等體發(fā)布。這樣,在運(yùn)行了BGP協(xié)議的AS內(nèi),為了確保所有BGP路由器的路由信息向,則需要使所有的IBGP路由器保持全連接。

二、BGP特性

由TCP承載

BGP將TCP用作他的傳輸協(xié)議(唯一用TCP作為傳輸協(xié)議的路由協(xié)議),TCP為BGP提供了面向連接的可靠的傳輸。所有BGP認(rèn)為他所有的通信都是可靠的,不存在控制差錯(cuò)和錯(cuò)誤重傳機(jī)制,BGP使用179號(hào)端口(目的端口),數(shù)據(jù)封存在TCP分段中,然后這些數(shù)據(jù)在被封裝入IP數(shù)據(jù)包中。

BGP在接收更新分組的時(shí)候,TCP使用滑動(dòng)窗口,接收方在發(fā)送方窗口達(dá)到一半的時(shí)候進(jìn)行確定,不同于OSPF等路由協(xié)議使用1-to-1窗口。

補(bǔ)充:

BGP單播建鄰居,TCP 179端口 工作在OSI4層

RIP UDP 520端口 工作在4層

OSPF IP 89端口 工作在3層

ISIS 組播mac 工作在2層

只發(fā)送增量路由更新

在鄰居關(guān)系建立后,BGP路由會(huì)將自己的全部路由信息通告給鄰居,此后如果路由表發(fā)生了變化,則只將增量部分發(fā)送給鄰居。這樣可以大大減少BGP傳播路由所占用的帶寬,以利于在Internet上傳播大量的路由信息,并降低路由器CPU與內(nèi)存的消耗。

在可靠的鏈路上不需要使用定期更新,所以BGP使用觸發(fā)更新。

路由過濾和路由策略

與IGP不同的是,BGP最重要的特性是豐富的路由屬性以及強(qiáng)大的路由過濾和路由策略。通過路由策略等方法,來(lái)更改路由屬性,或者是根據(jù)路由更新信息中的屬性來(lái)實(shí)現(xiàn)路由過濾和路由策略,從而使BGP的使用者可以非常靈活地對(duì)路由進(jìn)行選路和控制。

支持CIDR和路由聚合
可以將一些連續(xù)的子網(wǎng)聚合成較大的子網(wǎng)(突破了自然分類的限制),從而可以在一定程度上控制路由表的快速增長(zhǎng),并降低了路由查找的復(fù)雜度。

三、BGP消息

Open(初始)

Keepalive(?;睿?br />
Update(更新)

Notification(通知)

Route-refresh

Open(初始)

初始消息在對(duì)等路由器間打開一個(gè)BGP通信會(huì)話,是建立傳輸協(xié)議后發(fā)送的第一個(gè)消息,用于建立BGP對(duì)等體之間的鏈接關(guān)系和協(xié)商BGP參數(shù)(包含hold-time,router-id),默認(rèn)僅發(fā)送一次。

初始消息由對(duì)等設(shè)備發(fā)送的keep-alive消息確認(rèn),且必須得到確認(rèn)后才可以交換更新、通知和keep-alive消息。

初始消息包含的內(nèi)容

版本號(hào):8比特,用來(lái)標(biāo)識(shí)BGP版本,目前一般使用的為BGP第四版本(高版本兼容低版本)。

本地AS:長(zhǎng)16比特位,指明了發(fā)送方的AS號(hào),如果不是期待的版本號(hào),BGP會(huì)話就會(huì)斷開。

保持時(shí)間:保持時(shí)間內(nèi)若沒有收到下一個(gè)存活消息或更新消息BGP會(huì)話將斷開(默認(rèn)180S)

BGP路由器識(shí)別符:路由器ID,選擇方式與OSPF類似(3種方法)

可選參數(shù):長(zhǎng)度字段,指明了可選參數(shù)字段的總字節(jié)數(shù)。目前只定義了一個(gè)可選參數(shù)類型:認(rèn)證信息。
認(rèn)證信息含有下列兩個(gè)域:認(rèn)證碼:標(biāo)識(shí)使用的認(rèn)證類型。認(rèn)證數(shù)據(jù):包含由認(rèn)證機(jī)制使用的數(shù)據(jù)。

Keepalive(存活)

BGP會(huì)周期性(默認(rèn)60s發(fā)送一次)的向?qū)Φ润w發(fā)出Keepalive消息,主要作用就是讓BGP鄰居知道自己的存在,保持鄰居關(guān)系的穩(wěn)定。

另外一個(gè)作用就是對(duì)收到的Open消息的回應(yīng)。

消息格式中只包含消息頭,沒有附件任何字段。長(zhǎng)度為19字節(jié),消息只有標(biāo)記、長(zhǎng)度、類型,不包括數(shù)據(jù)域。

Update(更新)

攜帶的是路由更新(刪減、增加)信息。

主要用于在對(duì)等體之間交換路由信息。它既可以發(fā)布可達(dá)路由信息,也可以發(fā)布不可達(dá)路由消息;一條Update消息可以通告一類具有相同路徑屬性的可達(dá)路由,同時(shí)還可以攜帶多條不可達(dá)路由。

更新消息包含的內(nèi)容

撤銷路由:(如果之前存在的話)IP地址前綴列表,不再為這些前綴提供路由

路徑屬性:也就是AS-Path,源(origin),本地優(yōu)先級(jí)等.屬性類型和屬性值(TLV)

NLIR(網(wǎng)絡(luò)層可達(dá)信息):網(wǎng)絡(luò)列表(IP地址前綴長(zhǎng)度),表示通過這條路徑可達(dá)的網(wǎng)絡(luò)

Notification(通知)

Notification的作用就是錯(cuò)誤通知。BGP發(fā)言者如果檢測(cè)到對(duì)方發(fā)過來(lái)的消息有錯(cuò)誤或者主動(dòng)斷開BGP鏈接,都會(huì)發(fā)出Notification消息來(lái)通知BGP鄰居,并關(guān)閉鏈接回到idle狀態(tài)。

如果收到鄰居發(fā)來(lái)的 Notification消息,也會(huì)將鏈接狀態(tài)變?yōu)閕dle。

Route-refresh

要求對(duì)等體重新發(fā)送指定地址族的路由信息。

四、BGP對(duì)等體建立過程

正常情況下:IdleConnectOpensentOpenconfirmEstablished

813464aa-97b8-11ee-8b88-92fbcf53809c.png

Idle(空閑)

在Idle狀態(tài)下,BGP拒絕鄰居發(fā)送的連接請(qǐng)求。只有在收到本設(shè)備的Start事件后,BGP才開始嘗試和其它BGP對(duì)等體進(jìn)行TCP連接,并轉(zhuǎn)至Connect狀態(tài)。

PS:Start事件是由一個(gè)操作者配置一個(gè)BGP過程,或者重置一個(gè)已經(jīng)存在的過程或者路由器軟件重置BGP過程引起的。任何狀態(tài)中收到Notification報(bào)文或TCP拆鏈通知等Error事件后,BGP都會(huì)轉(zhuǎn)至Idle狀態(tài)。

Connect(連接狀態(tài))

TCP三次握手,TCP三次握手未完成BGP啟動(dòng)連接重傳定時(shí)器(Connect Retry),等待TCP完成連接。

TCP連接成功,那么BGP向?qū)Φ润w發(fā)送Open報(bào)文,并轉(zhuǎn)至OpenSent狀態(tài)。

TCP連接失敗,重置重傳定時(shí)器Connect Retry,偵聽是否有對(duì)等體啟動(dòng)連接,那么BGP轉(zhuǎn)至Active狀態(tài)。

如果連接重傳定時(shí)器超時(shí),BGP仍沒有收到BGP對(duì)等體的響應(yīng),那么BGP繼續(xù)嘗試和其它BGP對(duì)等體進(jìn)行TCP連接,停留在Connect狀態(tài)。

Opensent(Open消息已發(fā)送)

TCP的三次握手成功,發(fā)OPEN報(bào)文協(xié)商BGP相關(guān)參數(shù)(AS,version,auth) 。BGP等待對(duì)等體的Open報(bào)文,并對(duì)收到的Open報(bào)文中的AS號(hào)、版本號(hào)、認(rèn)證碼等進(jìn)行檢查。如果收到的Open報(bào)文正確,那么BGP發(fā)送Keepalive報(bào)文,并轉(zhuǎn)至OpenConfirm狀態(tài)。如果發(fā)現(xiàn)收到的Open報(bào)文有錯(cuò)誤,那么BGP發(fā)送Notification報(bào)文給對(duì)等體,并轉(zhuǎn)至Idle狀態(tài)。

Active(活躍狀態(tài))

這個(gè)狀態(tài)下, BGP初始化TCP連接來(lái)獲得一個(gè)對(duì)等體。如果連接成功,本地清空Connect Retry計(jì)時(shí)器,并向?qū)Φ润w發(fā)送OPEN報(bào)文,并轉(zhuǎn)至OpenSent狀態(tài)。

Openconfirm(Open消息已確認(rèn))

BGP等待Keepalive或Notification報(bào)文。

如果收到Keepalive報(bào)文,則轉(zhuǎn)至Established狀態(tài),并重置HoldTime定時(shí)器。

如果KeepAlive定時(shí)器超時(shí)則重置并發(fā)送KeepAlive消息。

如果收到Notification報(bào)文,則轉(zhuǎn)至Idle狀態(tài)。

Established(連接建立)

BGP可以和對(duì)等體交換Update、Keepalive、Route-refresh報(bào)文和Notification報(bào)文。如果收到正確的Update或Keepalive報(bào)文,那么BGP就認(rèn)為對(duì)端處于正常運(yùn)行狀態(tài),將保持BGP連接。如果收到錯(cuò)誤的Update或Keepalive報(bào)文,那么BGP發(fā)送Notification報(bào)文通知對(duì)端,并轉(zhuǎn)至Idle狀態(tài)。Route-refresh報(bào)文不會(huì)改變BGP狀態(tài)。如果收到Notification報(bào)文,那么BGP轉(zhuǎn)至Idle狀態(tài)。如果收到TCP拆鏈通知,那么BGP斷開連接,轉(zhuǎn)至Idle狀態(tài)。

五、BGP同步(BGP Synchronization)

規(guī)則要求:

在BGP同步打開的情況下,一個(gè)BGP路由器不會(huì)把那些通過IBGP鄰居學(xué)到的BGP路由通告給自己的EBGP鄰居;除非自己的IGP路由表中存在這些路由,才可以向EBGP路由器通告。

同步規(guī)則要求BGP庫(kù)與IGP庫(kù)同步。這么做是為了使AS內(nèi)的所有路由器都能達(dá)到同步,確保能夠轉(zhuǎn)發(fā)其它AS因使用該AS通告的路由而發(fā)送到該AS的那些數(shù)據(jù)。BGP同步規(guī)則也保證了整個(gè)AS中路由信息的一致性,避免了AS內(nèi)的路由“黑洞”。

813f6314-97b8-11ee-8b88-92fbcf53809c.jpg

示例:如上圖所示:首先,RTB通過EBGP鄰居關(guān)系,獲得了去往AS100的路由信息,例如,去往AS100中的10.1.1.1/24,RTB會(huì)把這樣的路由信息通告給RTE,RTE收到從RTB通告來(lái)的去往自治系統(tǒng)AS100的路由信息10.1.1.1/24。對(duì)于RTE來(lái)說,她在考慮是否把這樣的路由信息通告給她的EBGP鄰居RTF時(shí),就需要考慮同步問題。這里的同步是指:RTE如果能通過IGP(內(nèi)部網(wǎng)關(guān)協(xié)議,如OSPF協(xié)議)獲得去往10.1.1.1/24的路由,我們就認(rèn)為EGP(外部網(wǎng)關(guān)協(xié)議,如BGP協(xié)議)和IGP同步。在同步情況下,RTE可以將路由信息10.1.1.1/24通告給RTF。否則,不能通告。

依然用上面的例子來(lái)解釋,如果RTE不考慮同步問題,直接將路由信息10.1.1.1/24 通告給RTF,那么RTF的路由表中就會(huì)記錄一條去往10.1.1.1/24的路由信息,下一跳是指向RTE的。這樣問題就會(huì)出現(xiàn):RTF有一去往10.1.1.1/24的數(shù)據(jù)包,RTF通過查看路由表,把這一數(shù)據(jù)包轉(zhuǎn)發(fā)給RTE。如果沒有同步,RTE的路由表中也會(huì)有去往10.1.1.1/24的表項(xiàng),但是這一表項(xiàng)的下一跳是直接指向RTB的S0接口的(因?yàn)锽GP是以一個(gè)自治系統(tǒng)為一跳的)。在不同步的情況下,RTE是無(wú)法直接去往此路由的下一跳的(因?yàn)镽TE沒有去往10.1.1.1/24的路由)。這里有個(gè)概念叫下一跳不可達(dá),就是指這種情況。

為了解決下一跳不可達(dá)的情況,可以:

將BGP路由引入IGP中,當(dāng)然這樣的做法一般不采用,應(yīng)為BGP的路由信息量很大,對(duì)于IGP來(lái)說負(fù)擔(dān)太重。

增加靜態(tài)路由,當(dāng)網(wǎng)絡(luò)不算復(fù)雜時(shí)可行,如果網(wǎng)絡(luò)規(guī)模較大,解決起來(lái)就很困難了。

BGP可以通過命令來(lái)強(qiáng)制修改下一跳,在RTE上將去往10.1.1.1/24的下一跳強(qiáng)制修改為RTE自身的接口,同時(shí),需要靜態(tài)配置,時(shí)RTE的路由表中有去往10.1.1.1/24的路由。從EBGP鄰居學(xué)習(xí)到的路由會(huì)傳遞給我的IBGP鄰居,下一跳不變,還是EBGP鄰居,需要使用next-hop-self改變。

這個(gè)問題的徹底解決是在BGP和MPLS聯(lián)手以后的事情,本文不過多討論。

六、BGP路由通告原則

連接一建立, BGPSpeaker將把自己所有BGP路由通告給新對(duì)等體(在遵守以下規(guī)則的前提下)。只有明確通告的網(wǎng)絡(luò)才會(huì)發(fā)送給鄰居,通告的網(wǎng)絡(luò)必須能夠精確地在路由表中找到。

多條路徑時(shí),BGPSpeaker只選最優(yōu)的加入路由表,即BGP Speaker只把自己使用的最優(yōu)路由通告給對(duì)等體。

為了防止環(huán)路,BGP協(xié)議規(guī)定BGP發(fā)言者從IBGP獲得的路由不向它的IBGP對(duì)等體發(fā)布。

BGP Speaker從EBGP對(duì)等體獲得的路由會(huì)向它所有BGP對(duì)等體通告(包括EBGP和IBGP);同時(shí)為了防止環(huán)路,他不會(huì)將學(xué)習(xí)到的路由再向原發(fā)布者發(fā)布。

BGP Speaker從IBGP獲得的路由是否通告給它的EBGP對(duì)等體要依IGP和BGP同步的情況來(lái)決定。

從IBGP獲得的路由僅發(fā)布給它的EBGP對(duì)等體:

關(guān)閉BGP同步的情況下,IBGP路由被直接發(fā)布

開啟BGP同步的情況下,該IBGP路由只有在IGP也發(fā)布了這條路由時(shí)才會(huì)被發(fā)布給EBGP對(duì)等體
(默認(rèn)情況下同步未開啟)

多條路徑時(shí),只有最優(yōu)的才傳給EBGP鄰居

七、BGP的三張表

鄰居表(adjancy table)——show ip bgp summary(簡(jiǎn)單鄰居),show ip bgp neighbor(詳細(xì)鄰居)

BGP表(forwarding database)——show ip bgp:BGP默認(rèn)不做負(fù)載均衡,會(huì)選出一條最優(yōu)的,放入路由表

路由表(routing table)——show ip route

BGP表

815a596c-97b8-11ee-8b88-92fbcf53809c.png

status codes是最前面的,包括s,d,h,*,>,i,r,S

origin codes是后面path列,包括i,e,?

(注意大小寫)

第一列

*:可用的
R:不可用,從更小AD值的IGP中學(xué)到了該路由,因此不用BGP路由
S:表示該條目被抑制,通常因?yàn)檫@條路由有匯總路由,且該匯總路由被限制了
D:表示該條目因懲罰而現(xiàn)在處于抑制狀態(tài),因?yàn)樗捎煤筒豢捎脿顟B(tài)切換過于頻繁,可能這條路由現(xiàn)在可用,但是在懲罰期間不會(huì)通告該條路由
H:表示歷史,表示這條路徑不可用并且已經(jīng)失效。歷史信息還在,但最佳路由可能已經(jīng)沒有了。

第二列

>:最優(yōu)的,要確保>號(hào)出來(lái),才能放進(jìn)路由表,才能繼續(xù)傳給EBGP鄰居。

Next Hop

表示下一跳地址,路由表與他同步 若為0.0.0.0 則該網(wǎng)絡(luò)是本地通告的。

Metric 度量值

MED,影響別的自治系統(tǒng)如何進(jìn)入本自治系統(tǒng)(后面會(huì)說)

LocPrf 本地優(yōu)先級(jí)

決定本自治系統(tǒng)中的流量如何出去,默認(rèn)為100,到外部的路由條目才會(huì)顯示,本地通告的路由顯示為空。

權(quán)重

默認(rèn)為0,本地通告(源自本地的)的權(quán)重為32768。

最后一列

i:則表明是通過network命令將這個(gè)網(wǎng)絡(luò)引入。

e:說明源路由器是從EGP學(xué)到這個(gè)網(wǎng)絡(luò)的。

?:則無(wú)法確定這個(gè)網(wǎng)絡(luò)的可達(dá)性,因?yàn)槭荌GP重分發(fā)進(jìn)BGP的。

0(空,0是和上面做區(qū)分):若為空則說明是本地通告的條目。

沒有>號(hào)的路由非優(yōu)化的:不會(huì)放進(jìn)路由表,不會(huì)給其他鄰居傳遞

示例如下圖:

816e7730-97b8-11ee-8b88-92fbcf53809c.png

BGP表中路由最優(yōu)的條件(即出現(xiàn)>號(hào)的條件:關(guān)同步——next-hop-self)

實(shí)際上就是在討論從IBGP收到的路由,是否有資格放入路由表,是否能傳給后面的IBGP/EBGP鄰居的問題。

只有解決“IBGP下一跳可達(dá)性問題,以及路由黑洞問題 ”這2個(gè)問題才能優(yōu)化。

方法:

首先確保下一跳可達(dá),next-hop-self或者靜態(tài)指向EBGP下一跳地址。 然后:方法一,同步+BGP重發(fā)布到IGP;方法二,同步+寫靜態(tài)欺騙;方法三,關(guān)同步(關(guān)同步后黑洞問題仍然存在,可以通過fullmesh或者mpls解決)。

八、BGP引入IGP路由

BGP協(xié)議本身不發(fā)現(xiàn)路由,因此需要將其他路由引入到BGP路由表,實(shí)現(xiàn)AS間的路由互通。當(dāng)一個(gè)AS需要將路由發(fā)布給其他AS時(shí),AS邊緣路由器會(huì)在BGP路由表中引入IGP的路由。為了更好的規(guī)劃網(wǎng)絡(luò),BGP在引入IGP的路由時(shí),可以使用路由策略進(jìn)行路由過濾和路由屬性設(shè)置,也可以設(shè)置MED值指導(dǎo)EBGP對(duì)等體判斷流量進(jìn)入AS時(shí)選路。

方法:

Network宣告:逐條將IP路由表中已經(jīng)存在的路由通告到BGP路由表中。

BGP network的作用:在路由器的當(dāng)前IP路由表中查找與network命令中參數(shù)完全匹配的路由,如果存在,就將等價(jià)的NLRI注入到本地BGP表中,IP表中的直連路由,靜態(tài)路由,IGP路由都可以進(jìn)入到BGP表中。

Import引入:根據(jù)運(yùn)行的路由協(xié)議(RIP,OSPF,ISIS等)將路由引入到BGP路由表中,同時(shí)import命令還可以引入直連和靜態(tài)路由。

auto-summary對(duì)于redistribute以及network的影響

redistribute從IGP,靜態(tài)路由或直連路由重分布路由,可以對(duì)重分布進(jìn)的路由利用路由映射表進(jìn)行過濾篩選。

重分發(fā)進(jìn)的路由的下一跳地址,要么與重分發(fā)的路由器的下一跳地址匹配,要么為0.0.0.0表示是該路由器直連的鏈路。

此外,aggregate-address 以及 default-information originate(默認(rèn)路由引入)也能引入本地IGP

network:逐條將IP路由表中已經(jīng)存在的路由通告到BGP路由表中。

BGP的 auto-summary 命令,僅匯總該路由器通過重分發(fā)操作進(jìn)入BGP表的路由。

對(duì)于network和重分發(fā)兩種方式,具體auto-summary的操作是不一樣的,開啟auto-summary后:

對(duì)于network來(lái)說,如果network命令列出了有類網(wǎng)絡(luò)號(hào)(可以歸結(jié)為A/B/C/D類的IP地址)以及有類默認(rèn)掩碼或者無(wú)掩碼,并且該有類網(wǎng)絡(luò)的子網(wǎng)存在,那么就注入該有類網(wǎng)絡(luò)。

對(duì)于重分發(fā)來(lái)說,如果重分發(fā)有類網(wǎng)絡(luò)的任意子網(wǎng),那么并不重分發(fā)該子網(wǎng)而是重分發(fā)該有類網(wǎng)絡(luò)

開啟匯總下進(jìn)行network時(shí),所有子類網(wǎng)絡(luò)會(huì)被通告,子類網(wǎng)絡(luò)所在的主類網(wǎng)絡(luò)也會(huì)被通告 。

開啟匯總下進(jìn)行重分發(fā)時(shí),所有子類網(wǎng)絡(luò)都不會(huì)被通告,只會(huì)通告主類網(wǎng)絡(luò)。

例如:

當(dāng)使用network向BGP中注入一條路由時(shí),如果沒有開啟自動(dòng)匯總那么,只有與路由表中前綴和前綴長(zhǎng)度精確匹配的network命令才會(huì)進(jìn)入BGP表,開啟之后,當(dāng)配置一個(gè)有類網(wǎng)絡(luò)的子網(wǎng)時(shí),BGP表中會(huì)同時(shí)出現(xiàn)主類網(wǎng)絡(luò)的子網(wǎng)和該主類網(wǎng)絡(luò)。

當(dāng)使用重分發(fā)向BGP中注入一條路由 10.1.1.0/16,此時(shí)默認(rèn)沒有開啟自動(dòng)匯總,那么show ip bgp 中顯示的為 10.1.1.0/16 的信息,而如果當(dāng)開啟匯總之后,顯示的將為10.0.0.0/8這個(gè)主類路由。

九、BGP安全性

BGP使用認(rèn)證和通用TTL安全保護(hù)機(jī)制GTSM(Generalized TTL Security Mechanism)兩個(gè)方法保證BGP對(duì)等體間的交互安全。

BGP認(rèn)證

BGP認(rèn)證分為MD5認(rèn)證和Keychain認(rèn)證,對(duì)BGP對(duì)等體關(guān)系進(jìn)行認(rèn)證是提高安全性的有效手段。

MD5認(rèn)證只能為TCP連接設(shè)置認(rèn)證密碼。

Keychain認(rèn)證除了可以為TCP連接設(shè)置認(rèn)證密碼外,還可以對(duì)BGP協(xié)議報(bào)文進(jìn)行認(rèn)證。

BGP GTSM

BGP GTSM檢測(cè)IP報(bào)文頭中的TTL(time-to-live)值是否在一個(gè)預(yù)先設(shè)置好的特定范圍內(nèi),并對(duì)不符合TTL值范圍的報(bào)文進(jìn)行允許通過或丟棄的操作,從而實(shí)現(xiàn)了保護(hù)IP層以上業(yè)務(wù),增強(qiáng)系統(tǒng)安全性的目的。

例如將IBGP對(duì)等體的報(bào)文的TTL的范圍設(shè)為254至255。當(dāng)攻擊者模擬合法的BGP協(xié)議報(bào)文,對(duì)設(shè)備不斷的發(fā)送報(bào)文進(jìn)行攻擊時(shí),TTL值必然小于254。如果沒有使能BGP GTSM功能,設(shè)備收到這些報(bào)文后,發(fā)現(xiàn)是發(fā)送給本機(jī)的報(bào)文,會(huì)直接上送控制層面處理。這時(shí)將會(huì)因?yàn)榭刂茖用嫣幚泶罅抗魣?bào)文,導(dǎo)致設(shè)備CPU占用率高,系統(tǒng)異常繁忙。如果使能BGP GTSM功能,系統(tǒng)會(huì)對(duì)所有BGP報(bào)文的TTL值進(jìn)行檢查,丟棄TTL值小于254的攻擊報(bào)文,從而避免了因網(wǎng)絡(luò)攻擊報(bào)文導(dǎo)致CPU占用率高的問題。

十、BGP路由過程中的相關(guān)問題與特性

前言:下文我們將介紹BGP路由中的各類屬性值,眾所周知這些屬性值是為了策略路由準(zhǔn)備的,但是為什么需要這么多,每一個(gè)屬性值是為了解決什么問題呢?

1、重疊路由

BGP路由器可以向其他BGP路由器發(fā)送重疊路由(overlappingroute),重疊路由是指那些,指向同一目的地的不同路由。

818d5a56-97b8-11ee-8b88-92fbcf53809c.png

例如,路由206.25.192.0/19 和206.25.128.0/17就是重疊路由,可以看出第一條路由包含在第二條路由之內(nèi)。在確定最佳路徑時(shí),路由器總是選擇更精確的路徑。然而在宣告路由時(shí),BGP 發(fā)言者可以有多種方式來(lái)處理重疊路由:

-同時(shí)宣告精確和不精確路由
-僅宣告較精確路由。
-聚合兩條路由并宣告聚合路由。
-僅宣告較不精確路由。
-兩條路由都不宣告。

2、鏈路聚合

聚合方法:

靜態(tài)聚合

路由器通過路由聚合屏蔽明細(xì)路由。

自動(dòng)聚合

自動(dòng)聚合只對(duì)引入BGP的路由進(jìn)行聚合,聚合到自然網(wǎng)段后發(fā)送給鄰居。(Summary automatic)自動(dòng)聚合只能聚合import的路由。

自動(dòng)聚合帶來(lái)的問題:環(huán)路

手動(dòng)聚合

手動(dòng)聚合既能聚合network的路由,又能聚合import的路由。(最好)

路由聚合帶來(lái)的問題:潛在環(huán)路

解決方法:當(dāng)發(fā)生聚合后,如果需要聚合路由攜帶所有明細(xì)路由經(jīng)過的AS號(hào)來(lái)防止環(huán)路,則在配置聚合的命令后添加AS-SET參數(shù)。

3、IBGP對(duì)等體過多

BGP協(xié)議要求一個(gè)路由器通過IBGP學(xué)到的路由,不再向其他IBGP鄰居廣播,所以一個(gè)自治系統(tǒng)內(nèi)所有參加IBGP協(xié)議的路由器都要與其他路由器建立會(huì)話,從而保證路由信息能夠正確地廣播到每一個(gè)路由器。依照這個(gè)原則,一個(gè)自治域內(nèi)總的I-BGP會(huì)話數(shù)為N×(N-1)/2 (N為運(yùn)行IBGP的路由器數(shù)),當(dāng)N不斷增大時(shí),這個(gè)數(shù)字會(huì)大得驚人。

這對(duì)網(wǎng)絡(luò)設(shè)備而言是個(gè)非常大的負(fù)擔(dān),而且還將使網(wǎng)絡(luò)的管理與配置變得異常復(fù)雜。BGP針對(duì)這個(gè)問題,有如下兩種解決方案:

①路由反射器

相關(guān)概念:

路由反射器RR(Route Reflector):允許把從IBGP對(duì)等體學(xué)到的路由反射到其他IBGP對(duì)等體的BGP設(shè)備,類似OSPF網(wǎng)絡(luò)中的DR。

客戶機(jī)(Client):與RR形成反射鄰居關(guān)系的IBGP設(shè)備。在AS內(nèi)部客戶機(jī)只需要與RR直連。

非客戶機(jī)(Non-Client):既不是RR也不是客戶機(jī)的IBGP設(shè)備。在AS內(nèi)部非客戶機(jī)與RR之間,以及所有的非客戶機(jī)之間仍然必須建立全連接關(guān)系。

始發(fā)者(Originator):在AS內(nèi)部始發(fā)路由的設(shè)備。Originator_ID屬性用于防止集群內(nèi)產(chǎn)生路由環(huán)路。

集群或簇(Cluster):路由反射器及其客戶機(jī)的集合。Cluster_List屬性用于防止集群間產(chǎn)生路由環(huán)路。

路由反射器的部署:

同一集群內(nèi)的客戶機(jī)只需要與該集群的RR直接交換路由信息,因此客戶機(jī)只需要與RR之間建立IBGP連接,不需要與其他客戶機(jī)建立IBGP連接,從而減少了IBGP連接數(shù)量。為了防止環(huán)路出現(xiàn),要求路由反射器不得更改從客戶收到的路由屬性。

路由反射簇中的客戶路由器可以與自治系統(tǒng)外部路由器建立EBGP對(duì)等體關(guān)系,但是只可以與簇內(nèi)的RR或者是其他客戶路由器建立IBGP對(duì)等體。路由反射器可以與簇外的路由器建立EBGP或者IBGP對(duì)等體關(guān)系,并且把他們的路由反射給客戶路由器。

備份路由反射器

為增加網(wǎng)絡(luò)的可靠性,防止單點(diǎn)故障對(duì)網(wǎng)絡(luò)造成影響,有時(shí)需要在一個(gè)集群中配置一個(gè)以上的RR。由于RR打破了從IBGP對(duì)等體收到的路由不能傳遞給其他IBGP對(duì)等體的限制,所以同一集群內(nèi)的RR之間中可能存在環(huán)路。這時(shí),該集群中的所有RR必須使用相同的Cluster ID,以避免RR之間的路由環(huán)路。

RR向IBGP鄰居發(fā)布路由規(guī)則如下(非非不傳遞):

如果路由學(xué)習(xí)自非客戶IBGP對(duì)等體,則僅反射給客戶路由器。

如果路由學(xué)習(xí)自某客戶,則反射給所有非客戶和客戶路由器(發(fā)起此路由的客戶機(jī)除外)。
如果路由學(xué)習(xí)自EBGP對(duì)等體,則反射給所有非客戶和客戶路由器。
這里注意如果客戶全連接,那么RR不會(huì)將一個(gè)客戶的路由反射給其他客戶。僅將客戶的路由反射給非客戶。

缺點(diǎn):因?yàn)锽GP只傳遞最優(yōu)路徑,反射器下游路由器喪失了對(duì)反射前路由的最優(yōu)路徑選擇權(quán)。

②聯(lián)盟

聯(lián)盟是另一種控制IBGP對(duì)等體數(shù)量的方法。

原理:將一個(gè)AS劃分為多個(gè)聯(lián)盟子自治系統(tǒng),并且將AS內(nèi)的每臺(tái)路由器都劃分到其中的一個(gè)聯(lián)盟子自治系統(tǒng)中去。位于同一個(gè)子自治系統(tǒng)中的對(duì)等體是聯(lián)盟IBGP對(duì)等體,位于不同子自治系統(tǒng)中的對(duì)等體是聯(lián)盟EBGP對(duì)等體。
就好像是在一個(gè)自治系統(tǒng)之內(nèi)的,又分為若干個(gè)子自治系統(tǒng),子自治系統(tǒng)之間的操作和子自治系統(tǒng)之內(nèi)的操作,與普通自治系統(tǒng)類似無(wú)太大差別。

路由反射器 聯(lián)盟
不需要更改現(xiàn)有的網(wǎng)絡(luò)拓?fù)?,兼容性?/td> 需要改變邏輯拓?fù)?/td>
配置方便,只需要對(duì)作為反射器的設(shè)備進(jìn)行配置,客戶機(jī)并不需要知道自己是客戶機(jī) 所有設(shè)備需要重新進(jìn)行配置
集群與集群之間仍然需要全連接 聯(lián)盟的子AS之間是特殊的EBGP連接,不需要全連接
適用于中、大規(guī)模網(wǎng)絡(luò) 適用于大規(guī)模網(wǎng)絡(luò)

4、路由振蕩

BGP屬于增量更新的路由協(xié)議,當(dāng)有新的路由要發(fā)布時(shí),路由器會(huì)向鄰居發(fā)送Update信息,而如果要?jiǎng)h除某條路由時(shí),就會(huì)發(fā)送Withdraw(撤回)信息。BGP路由震蕩(Route Flap)的定義是:當(dāng)一條路由在被收回后,又被廣播(Update)出來(lái),視為一次Flap。由于任何一條路由的收回和更新都會(huì)導(dǎo)致一臺(tái)路由器整個(gè)路由表重新計(jì)算,因此當(dāng)Flap的情況比較多時(shí),對(duì)路由器設(shè)備的負(fù)載將產(chǎn)生巨大的壓力。

應(yīng)對(duì)方法:路由衰減

81a8e866-97b8-11ee-8b88-92fbcf53809c.png

路由衰減使用懲罰值(Penalty Value)來(lái)衡量一條路由的穩(wěn)定性,懲罰值越高說明路由越不穩(wěn)定,如上圖所示,路由每發(fā)生一次震蕩,BGP便會(huì)給此路由增加1000的懲罰值,其余時(shí)間懲罰值會(huì)慢慢下降,當(dāng)懲罰值超過抑制閾值(Suppress Value)時(shí),此路由被抑制,不加入路由表中,也不再向其他BGP對(duì)等體發(fā)布更新報(bào)文,被抑制的路由每經(jīng)過一段時(shí)間,懲罰值便會(huì)減少一半,這個(gè)時(shí)間成為半衰期(Half Life),當(dāng)懲罰值降低到再使用閾值(Reuse Vlaue)內(nèi)時(shí),此路由變成可用并被加入到路由表中,同時(shí)向其他BGP對(duì)等體發(fā)布更新報(bào)文,從路由被抑制到路由恢復(fù)可用的時(shí)間成為抑制時(shí)間(Suppress Time)。

注意:路由衰減只對(duì)EBGP路由起作用,對(duì)IBGP路由不起作用,這是因?yàn)镮BGP路由可能含有本AS的路由,而IGP網(wǎng)絡(luò)要求AS內(nèi)部路由表盡可能一致,如果路由衰減對(duì)IBGP起作用,那么當(dāng)不同設(shè)備的衰減參數(shù)不一致時(shí),將導(dǎo)致路由表不一致。

5、Peer Group的應(yīng)用

在實(shí)際的網(wǎng)絡(luò)中,有一種非常普遍的現(xiàn)象,即一個(gè)路由器會(huì)有多個(gè)屬于一類的BGP Peer。這里的“屬于一類”是指BGP的策略相同或類似,當(dāng)Peer比較多時(shí),BGP的配置會(huì)變得臃腫,同時(shí),路由器的負(fù)載也會(huì)加重,因?yàn)橐坏┯新酚傻母?,路由器需要針?duì)每個(gè)Peer做一次策略計(jì)算(雖然策略都相同)。另外,應(yīng)用Peer Group還有一個(gè)好處,就是降低了對(duì)路由器設(shè)備的資源消耗,因?yàn)槁酚善鲗?duì)同一Group更新路由時(shí),由于使用相同策略,因此只進(jìn)行一次路由計(jì)算,從而大大減少了占用CPU的時(shí)間。

十一、BGP的屬性值(重?。?/p>

BGP的路由屬性分類

公認(rèn)必遵屬性:ORIGIN、AS-PATH、NEXT_HOP

公認(rèn)必須遵循(Well-known mandatory):所有BGP設(shè)備都可以識(shí)別此類屬性,且必須存在于Update報(bào)文中。如果缺少這類屬性,路由信息就會(huì)出錯(cuò)。

公認(rèn)自選屬性:LOCAL_PREF(本地優(yōu)先級(jí))、ATOMIC_AGGREGATE(原子聚合體)

公認(rèn)自選(Well-known discretionary):所有BGP設(shè)備都可以識(shí)別此類屬性,但不要求必須存在于Update報(bào)文中,即就算缺少這類屬性,路由信息也不會(huì)出錯(cuò)。

可選傳遞屬性:COMMUNITY(團(tuán)體)、AGGREGATOR(聚合站)

可選傳遞(Optional transitive)屬性:BGP路由器可以不支持此屬性,但它仍然會(huì)接收這類屬性,并傳遞給其他對(duì)等體 ——不認(rèn)識(shí),也可以傳。

可選非傳遞屬性:MED、CLUSTER_LIST(集群列表)、ORIGINATOR_ID(發(fā)起者ID)

可選非傳遞(Optional non-transitive):BGP設(shè)備可以不識(shí)別此類屬性,如果BGP設(shè)備不識(shí)別此類屬性,則會(huì)被忽略該屬性,且不會(huì)通告給其他對(duì)等體。

在BGP路由表中,到達(dá)同一目的地可能存在多條路由。此時(shí)BGP會(huì)選擇其中一條路由作為最佳路由,并只把此路由發(fā)送給其對(duì)等體。BGP為了選出最佳路由,會(huì)根據(jù)BGP的路由優(yōu)選規(guī)則依次比較這些路由的BGP屬性。

常用的BGP屬性

Origin屬性(公認(rèn)必遵屬性)

Origin屬性用來(lái)定義路徑信息的來(lái)源,標(biāo)記一條路由是怎么成為BGP路由的。它有以下3種類型:

IGP:具有最高的優(yōu)先級(jí)。通過network命令注入到BGP路由表的路由,其Origin屬性為IGP。

EGP:優(yōu)先級(jí)次之。通過EGP得到的路由信息,其Origin屬性為EGP。

Incomplete:優(yōu)先級(jí)最低。通過其他方式學(xué)習(xí)到的路由信息。比如BGP通過import-route命令引入的路由,其Origin屬性為Incomplete。

AS_Path屬性(公認(rèn)必遵屬性)

AS_Path屬性按矢量順序記錄了某條路由從本地到目的地址所要經(jīng)過的所有AS編號(hào)。在接收路由時(shí),設(shè)備如果發(fā)現(xiàn)AS_Path列表中有本AS號(hào),則不接收該路由,從而避免了AS間的路由環(huán)路。

當(dāng)BGP Speaker傳播自身引入的路由時(shí):

BGP Speaker將這條路由通告到EBGP對(duì)等體時(shí),便會(huì)在Update報(bào)文中創(chuàng)建一個(gè)攜帶本地AS號(hào)的AS_Path列表。

BGP Speaker將這條路由通告給IBGP對(duì)等體時(shí),便會(huì)在Update報(bào)文中創(chuàng)建一個(gè)空的AS_Path列表。

當(dāng)BGP Speaker傳播從其他BGP Speaker的Update報(bào)文中學(xué)習(xí)到的路由時(shí):

當(dāng)BGP Speaker將這條路由通告給EBGP對(duì)等體時(shí),便會(huì)把本地AS編號(hào)添加在AS_Path列表的最前面(最左面)。收到此路由的BGP設(shè)備根據(jù)AS_Path屬性就可以知道去目的地址所要經(jīng)過的AS。離本地AS最近的相鄰AS號(hào)排在前面,其他AS號(hào)按順序依次排列。

當(dāng)BGP Speaker將這條路由通告給IBGP對(duì)等體時(shí),不會(huì)改變這條路由相關(guān)的AS_Path屬性。

Next_Hop(公認(rèn)必遵屬性)

屬性記錄了路由的下一跳信息。BGP的下一跳屬性和IGP的有所不同,不一定就是鄰居設(shè)備的IP地址。通常情況下,Next_Hop屬性遵循下面的規(guī)則:

BGP發(fā)言者把自己產(chǎn)生的路由發(fā)給所有鄰居時(shí),將把該路由信息的下一跳屬性設(shè)置為自己與對(duì)端鏈接的接口地址。

BGP發(fā)言者把從EGP鄰居得到的路由發(fā)給IBGP鄰居時(shí)。并不改變?cè)撀酚尚畔⒌南乱惶鴮傩?,將從EBGP得到的路由的NEXT-HOP直接傳遞給IBGP對(duì)等體。(在未開啟同步的情況下,要配置next-hop-self使路由下一跳可達(dá))

BGP發(fā)言者把收到的路由發(fā)給EBGP對(duì)等體時(shí),將把該路由信息的下一跳屬性設(shè)置為本地與對(duì)端連接的接口地址。

對(duì)于可以多路訪問的網(wǎng)絡(luò)(以太網(wǎng)或者幀中繼),如果通告路由器和源路由器接口處于同一網(wǎng)段,則BGP會(huì)向鄰居通告路由的實(shí)際來(lái)源。

Local_Pref屬性(公認(rèn)自選屬性)

Local_Pref屬性表明路由器的BGP優(yōu)先級(jí),用于判斷流量離開AS時(shí)的最佳路由。當(dāng)BGP的設(shè)備通過不同的IBGP對(duì)等體得到目的地址相同但下一跳不同的多條路由時(shí),將優(yōu)先選擇Local_Pref屬性值較高的路由。Local_Pref屬性僅在IBGP對(duì)等體之間有效,不通告給其他AS(除非是聯(lián)盟對(duì)等體)。

Local_Pref屬性可以手動(dòng)配置,如果路由沒有配置Local_Pref屬性,BGP選路時(shí)將該路由的Local_Pref值按缺省值100來(lái)處理。

MED(Multi-Exit Discriminator)屬性(可選非傳遞屬性)

用于判斷流量進(jìn)入AS時(shí)的最佳路由,當(dāng)一個(gè)運(yùn)行BGP的設(shè)備通過不同的EBGP對(duì)等體得到目的地址相同但下一跳不同的多條路由時(shí),在其它條件相同的情況下,將優(yōu)先選擇MED值較小者作為最佳路由。

MED屬性僅在相鄰兩個(gè)AS之間傳遞,收到此屬性的AS一方不會(huì)再將其通告給任何其他第三方AS,如果路由器將從EBGP鄰居那里收到的MED傳遞給它的IBGP鄰居,那么MED值會(huì)恢復(fù)為0。MED屬性可以手動(dòng)配置,如果路由沒有配置MED屬性,BGP選路時(shí)將該路由的MED值按缺省值0來(lái)處理。只有來(lái)自同一個(gè)AS的MED才能進(jìn)行比較,不同的AS不能進(jìn)行MED的比較。(Bgp always-compare-med 開啟這個(gè)條命令可以進(jìn)行不同AS間MED的比較)

注意:

通常情況下,BGP只會(huì)比較來(lái)自同一個(gè)AS的路由MED屬性值,不比較來(lái)自不同AS的MED值。若一定要比較,則需要進(jìn)行特別的配置。

Atomic-Aggregate(公認(rèn)自選屬性)

Atomic-Aggregate:原子聚合體,是公認(rèn)自選屬性(well-known discretionary) ,當(dāng)BGP發(fā)言者將精確路由匯總到一個(gè)較不精確的聚合路由時(shí),都將丟失路徑信息。而且BGP發(fā)言者還必須將Atomic-Aggregate屬性附加在聚合路由上。任何接收到帶有Atomic-Aggregate屬性的下游BGP路由器都無(wú)法獲悉該路由的更精確的NLRI信息,而且在將該路由宣告給其他對(duì)等體時(shí),必須附加上Atomic-Aggregate屬性。

Aggregator(可選傳遞屬性)

聚合體:當(dāng)設(shè)置了Atomic-Aggregate屬性時(shí), BGP路由器還可以附加Aggregator。

屬性,Aggregator屬性是可選傳遞的,包含了AS號(hào)以及發(fā)起路由聚合的路由器的IP地址(Router-id)。Atomic-Aggregate 屬性表示已經(jīng)丟失了路徑,而Aggregator屬性指示在何處出現(xiàn)路由聚合。

As-set

AS-Path屬性有兩種,一個(gè)是有序的AS-Sequence (有序的AS號(hào)列表)另一個(gè)是AS-SET (去往特定目的地?zé)o序的AS號(hào)列表)。AS-Path 屬性主要用于防止環(huán)路,但是當(dāng)執(zhí)行了路由聚合,將會(huì)丟失某些AS-Path屬性的細(xì)節(jié)信息,因而增加路由環(huán)路的潛在危險(xiǎn)。比如下圖所示: AS810有一條路徑去往其他AS,那么來(lái)自AS 3113的聚合路由將被宣告給AS6571,而該聚合路由又將通過AS 6571被宣告給AS810,由于聚合而導(dǎo)致AS-Path丟失,因?yàn)锳S 810無(wú)法檢測(cè)到潛在的路由環(huán)路,如果AS 810 內(nèi)的某個(gè)子網(wǎng)出現(xiàn)故障,那么將匹配聚合路由將數(shù)據(jù)包轉(zhuǎn)發(fā)至AS6571,此時(shí)出現(xiàn)了路由環(huán)路。

818d5a56-97b8-11ee-8b88-92fbcf53809c.png

Community團(tuán)體屬性值(可選傳遞屬性)

standard(做路由標(biāo)識(shí)) extended(MPLS VPN)

Community團(tuán)體屬性是對(duì)一組路由實(shí)施路由策略,使路由策略的應(yīng)用更加靈活,同時(shí)降低了維護(hù)管理的難度。路由器將Community屬性設(shè)置為某個(gè)標(biāo)識(shí)自己為某團(tuán)體成員的值之后,就可以將路由加入團(tuán)體中??梢詾橐粭l路由設(shè)置多個(gè)Community屬性。路由器在接收到一條擁有多個(gè)community屬性的路由后,既可以基于全部屬性來(lái)設(shè)置路由策略,也可以基于部分屬性來(lái)設(shè)置路由策略。當(dāng)包含Community屬性的路由被聚合之后,聚合路由將繼承所有被聚合路由的Community屬性。
Community之后,就可以將特定的路由設(shè)置私有Community, 并將其傳遞給所有鄰居,最終所有路由器都對(duì)擁有該私有Community的路由配置策略,并且對(duì)大量路由設(shè)置私有Community只需要在一臺(tái)路由器 上完成后,發(fā)給所有鄰居即可。

公認(rèn)團(tuán)體屬性如下所示:

Internet 團(tuán)體無(wú)任何屬性值,所有路由默認(rèn)情況下都屬于該團(tuán)體,如果接收到的路由屬于該團(tuán)體,則可以自由宣告該路由。

No-Export (4294967041 或0xFFFFFF01)如果接收到的路由攜帶該數(shù)值,則不能將該路由宣告給EBGP對(duì)等體;如果配置了BGP聯(lián)盟則不能將該路由宣告到聯(lián)盟之外。

No-Advertise (4294967042 或0xFFFFFF02)如果收到的路由攜帶該數(shù)值,則根本不能宣告該路由,不管是EBGP還是IBGP對(duì)等體。

Local-AS (4294967043 或0xFFFF03)如果接收到的路由攜帶該數(shù)值,那么不能將該路由宣告為EBGP對(duì)等體,包括同一聯(lián)盟內(nèi)其他自治系統(tǒng)中的對(duì)等體。

Cluster_List(可選非傳遞)

集群列表:路由反射器和它的客戶機(jī)組成一個(gè)集群(Cluster),使用AS內(nèi)唯一的Cluster ID作為標(biāo)識(shí)。為了防止集群間產(chǎn)生路由環(huán)路,路由反射器使用Cluster_List屬性,記錄路由經(jīng)過的所有集群的Cluster ID。

當(dāng)一條路由第一次被RR反射的時(shí)候,RR會(huì)把本地Cluster ID添加到Cluster List的前面。如果沒有Cluster_List屬性,RR就創(chuàng)建一個(gè)。
當(dāng)RR接收到一條更新路由時(shí),RR會(huì)檢查Cluster List。如果Cluster List中已經(jīng)有本地Cluster ID,丟棄該路由;如果沒有本地Cluster ID,將其加入Cluster List,然后反射該更新路由。

Originator_ID屬性(可選非傳遞)

發(fā)起者ID:Originator ID由RR產(chǎn)生,使用的Router ID的值標(biāo)識(shí)路由的始發(fā)者,用于防止集群內(nèi)產(chǎn)生路由環(huán)路。

當(dāng)一條路由第一次被RR反射的時(shí)候,RR將Originator_ID屬性加入這條路由,標(biāo)識(shí)這條路由的發(fā)起設(shè)備。如果一條路由中已經(jīng)存在了Originator_ID屬性,則RR將不會(huì)創(chuàng)建新的Originator_ID屬性。
當(dāng)設(shè)備接收到這條路由的時(shí)候,將比較收到的Originator ID和本地的Router ID,如果兩個(gè)ID相同,則不接收此路由。

十二、BGP選路規(guī)則(重?。?/p>

選路前提:

同步被關(guān)閉
下一跳可達(dá)
均最優(yōu)“>”

優(yōu)選協(xié)議首選值(Preference Value)最高的路由(私有屬性,僅本地有效,默認(rèn)0,華為特有)
(思科為weight,默認(rèn)32768,越大越好)

優(yōu)選本地優(yōu)先級(jí)(Local_Pref)最高的路由(默認(rèn)100)

路由生成方式:Aggregate(手動(dòng)匯總)>summary automatic(自動(dòng)匯總)>Network>import>從對(duì)等體學(xué)到的

AS路徑(AS_Path)最短的路由

比較Origin code(起源屬性),IGP>EGP>incomplete。

優(yōu)選MED值最小的路由(默認(rèn)0,越小越優(yōu))

優(yōu)選從EBGP鄰居學(xué)來(lái)的路由(EBGP>IBGP)

BGP優(yōu)選達(dá)到下一跳IGP Cost較小的路由(最近的IBGP鄰居)

對(duì)于EBGP鄰居關(guān)系來(lái)說選舉較老的(建立較早的路由條目為最佳路由。比較穩(wěn)定)

選舉BGP路由器ID最小的

選取鄰居IP地址最小的

注意:

BGP的max path(默認(rèn)1)改掉的話,比到第8條停止,如果前八條都一樣,實(shí)行負(fù)載均衡。

如果特定NLRI的最佳路由是從選舉過程中第一步到第八步之間選舉出來(lái)的,那么BGP僅將這條路由放入路由表,因?yàn)檫@條路由就是最佳的路由。

如果特定NLRI的最佳路由是第八步之后確定的,那么BGP就會(huì)考慮許多將多條BGP路由放入IP路由表中。

即使BGP將多條路由放入路由表中,BGP也仍只會(huì)為每個(gè)NLRI選擇一條路徑作為最佳路由,而且該最佳路由就是BGP向鄰居通告的那一條最佳路由。








審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 路由器
    +關(guān)注

    關(guān)注

    22

    文章

    3871

    瀏覽量

    118476
  • MPLS
    +關(guān)注

    關(guān)注

    0

    文章

    138

    瀏覽量

    25063
  • LAN
    LAN
    +關(guān)注

    關(guān)注

    0

    文章

    233

    瀏覽量

    38923
  • BGP
    BGP
    +關(guān)注

    關(guān)注

    0

    文章

    88

    瀏覽量

    15958
  • TCP通信
    +關(guān)注

    關(guān)注

    0

    文章

    146

    瀏覽量

    4732

原文標(biāo)題:BGP硬核筆記,值得每位網(wǎng)絡(luò)工程師收藏!

文章出處:【微信號(hào):網(wǎng)絡(luò)技術(shù)干貨圈,微信公眾號(hào):網(wǎng)絡(luò)技術(shù)干貨圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    動(dòng)態(tài)BGP與靜態(tài)BGP的區(qū)別?

    BGP(邊界網(wǎng)關(guān)協(xié)議,Border Gateway Protocol) 是互聯(lián)網(wǎng)中用于自治系統(tǒng)(AS)之間路由信息交換的核心協(xié)議。在實(shí)際部署中,BGP 可分為靜態(tài) BGP和動(dòng)態(tài) BGP
    發(fā)表于 06-24 06:57

    測(cè)量BGP傳遞時(shí)間

    測(cè)量BGP傳遞時(shí)間
    發(fā)表于 07-22 08:46

    測(cè)量BGP傳遞時(shí)間

    測(cè)量BGP傳遞時(shí)間
    發(fā)表于 07-22 10:06

    關(guān)于Assert_param的學(xué)習(xí)筆記分享,不看肯定后悔

    關(guān)于Assert_param的學(xué)習(xí)筆記分享,不看肯定后悔
    發(fā)表于 06-10 13:59

    STM32F1學(xué)習(xí)筆記分享,不看肯定后悔

    STM32F1學(xué)習(xí)筆記分享,不看肯定后悔
    發(fā)表于 11-25 07:17

    RT-Thread學(xué)習(xí)筆記分析,不看肯定后悔

    RT-Thread學(xué)習(xí)筆記分析,不看肯定后悔
    發(fā)表于 11-29 06:40

    stm8s串口奇偶校驗(yàn)學(xué)習(xí)筆記分享,錯(cuò)過絕對(duì)后悔

    stm8s串口奇偶校驗(yàn)學(xué)習(xí)筆記分享,錯(cuò)過絕對(duì)后悔
    發(fā)表于 12-16 06:02

    STM32F103ZET6學(xué)習(xí)筆記分享,絕對(duì)實(shí)用

    STM32F103ZET6學(xué)習(xí)筆記分享,絕對(duì)實(shí)用
    發(fā)表于 12-17 06:53

    開關(guān)電源BOOST升壓原理學(xué)習(xí)筆記分

    自己學(xué)習(xí)筆記分享,歡迎交流分享。
    發(fā)表于 12-29 06:16

    動(dòng)態(tài)BGP與靜態(tài)BGP的區(qū)別

    動(dòng)態(tài)BGP與靜態(tài)BGP的區(qū)別 動(dòng)態(tài)BGP與靜態(tài)BGP的區(qū)別 1.靜態(tài)BGP功能簡(jiǎn)單,其帶寬功能,可以實(shí)現(xiàn)多網(wǎng)接入,但路徑上只有通向幾大運(yùn)營(yíng)商
    發(fā)表于 12-01 16:55

    十二個(gè)Pixhawk源碼筆記分析資源下載

    十二個(gè)Pixhawk源碼筆記分析資源下載
    發(fā)表于 04-02 09:20 ?4次下載
    十二個(gè)Pixhawk源碼<b class='flag-5'>筆記分</b>析資源下載

    筆記分享】直流5V升12V - 開關(guān)電源BOOST升壓原理

    自己學(xué)習(xí)筆記分享,歡迎交流分享。
    發(fā)表于 01-07 12:10 ?0次下載
    【<b class='flag-5'>筆記分</b>享】直流5V升12V - 開關(guān)電源BOOST升壓原理

    IGBT筆記分

    IGBT筆記分
    發(fā)表于 02-23 10:07 ?1次下載
    IGBT<b class='flag-5'>筆記分</b>享

    BGP基礎(chǔ)知識(shí)學(xué)習(xí)筆記

    BGP(邊界網(wǎng)關(guān)協(xié)議)是將互聯(lián)網(wǎng)聯(lián)合在一起的路由協(xié)議,海翎光電的小編將解釋在哪些情況下我們需要 BGP 以及它是如何工作的。在您繼續(xù)閱讀之前,我應(yīng)該告訴您“忘記”迄今為止您對(duì)RIP、OSPF
    的頭像 發(fā)表于 02-27 14:42 ?1429次閱讀
    <b class='flag-5'>BGP</b>基礎(chǔ)知識(shí)學(xué)習(xí)<b class='flag-5'>筆記</b>

    電磁場(chǎng)筆記分

    電磁場(chǎng)筆記分享.方便各位學(xué)習(xí)大學(xué)物理的同志們
    發(fā)表于 07-11 17:10 ?3次下載