小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

BGP協(xié)議總結(jié)(比較詳細(xì),好理解)

 dim03 2021-09-24

BGP

Border Gateway Protocol(當(dāng)前使用的版本是 BGP-4)

動(dòng)態(tài)路由協(xié)議可以按照工作范圍分為IGP以及EGP。IGP工作在同一個(gè)AS內(nèi),主要用來發(fā)現(xiàn)和計(jì)算路由,為AS內(nèi)提供路由信息的交換;而EGP工作在AS與AS之間,在AS間提供無環(huán)路的路由信息交換,BGP則是EGP的一種。
BGP是一種增強(qiáng)的路徑矢量路由協(xié)議,同時(shí)BGP是擁有豐富的策略控制技術(shù)的外部網(wǎng)關(guān)協(xié)議。多運(yùn)行于AS與AS之間。

目錄:

  • BGP概述

  • BGP基本概念

  • BGP工作原理

  • BGP與IGP交互

  • BGP屬性特點(diǎn)

  • BGP選路規(guī)則

  • BGP負(fù)載分擔(dān)

  • BGP擴(kuò)展特性

1.BGP概述

BGP 其著眼點(diǎn)不在于自動(dòng)發(fā)現(xiàn)網(wǎng)絡(luò)拓?fù)?,而在于在AS之間選擇最佳路由和控制路由的傳播。

Ⅰ。BGP使用TCP作為其傳輸層協(xié)議(監(jiān)聽端口號為179),提高了協(xié)議的可靠性,且不需要專門的機(jī)制來確保連接的可控性。

  • BGP進(jìn)行域間的路由選擇,對協(xié)議的穩(wěn)定性要求非常高。因此用TCP協(xié)議的高可靠性來保證BGP協(xié)議的穩(wěn)定性。

  • BGP的對等體之間必須在邏輯上連通,并進(jìn)行TCP連接。目的端口號為179,本地端口號任意。

Ⅱ。路由更新時(shí),BGP只發(fā)送更新的路由,大大減少了BGP傳播路由所占用的帶寬,適用于在Internet上傳播大量的路由信息。

Ⅲ。BGP從設(shè)計(jì)上避免了環(huán)路的發(fā)生。

  • AS之間:BGP通過攜帶AS路徑信息來標(biāo)記途經(jīng)的AS,帶有本地AS號的路由將被丟棄,從而避免了域間產(chǎn)生環(huán)路。

  • AS內(nèi)部:BGP在AS內(nèi)學(xué)到的路由不再通告給AS內(nèi)的BGP鄰居,避免了AS內(nèi)產(chǎn)生環(huán)路。

Ⅳ。支持CIDR 無類域間路由

Ⅵ。BGP提供了豐富的路由策略;提供了防止路由振蕩的機(jī)制;BGP也易于擴(kuò)展

二.BGP基本概念

Ⅰ。自治系統(tǒng)AS(Autonomous System )
AS是指在一個(gè)實(shí)體管轄下的擁有相同選路策略的IP網(wǎng)絡(luò)。

  • 每個(gè)AS都有唯一的自治系統(tǒng)編號,這個(gè)編號是由IANA分配的。

  • 編號范圍是1~65535(其中1到64511是注冊的因特網(wǎng)編號,64512到65535是私有網(wǎng)絡(luò)編號。

Ⅱ。EBGP和IBGP(External BGP /Internal BGP)
在這里插入圖片描述

  • IBGP:運(yùn)行于同一AS內(nèi)部的BGP稱為IBGP。

  • EBGP:運(yùn)行于不同AS之間的BGP稱為EBGP。

Ⅲ。BGP報(bào)文交互中的角色

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

  • Peer:相互交換消息的BGP Speaker之間互稱對等體(Peer),若干相關(guān)的對等體可以構(gòu)成對等體組(Peer Group)。

三.BGP工作原理

Ⅰ。BGP報(bào)文

BGP報(bào)文有5種消息類型

  1. Open消息:是TCP連接建立后發(fā)送的第一個(gè)消息,用于建立BGP對等體之間的連接關(guān)系。對等體在接收到Open消息并協(xié)商成功后,將發(fā)送Keepalive消息確認(rèn)并保持連接的有效性。確認(rèn)后,對等體間可以進(jìn)行Update、Notification、Keepalive和Route-Refresh消息的交換。

  2. Update消息:用于在對等體之間交換路由信息。Update消息可以發(fā)布多條屬性相同的可達(dá)路由信息,也可以撤銷多條不可達(dá)路由信息。

  3. Keepalive消息:BGP會(huì)周期性的向?qū)Φ润w發(fā)出Keepalive消息,用來保持連接的有效性。

  4. Notification消息:當(dāng)BGP檢測到錯(cuò)誤狀態(tài)時(shí),就向?qū)Φ润w發(fā)出Notification消息,之后BGP連接會(huì)立即中斷。

  5. Route-Refresh消息:通過OPEN消息告知BGP peer本地支持路由刷新能力(Route-Refresh capability)。

這5種消息的應(yīng)用:
通過TCP建立BGP連接時(shí),發(fā)送OPEN消息
連接建立后,如果有路由需要發(fā)送或路由變化時(shí),發(fā)送UPDATE消息通告對端
穩(wěn)定后要定時(shí)發(fā)送KEEPALIVE消息以保持BGP連接的有效性
當(dāng)本地BGP在運(yùn)行中發(fā)現(xiàn)錯(cuò)誤時(shí),要發(fā)送NOTIFICATION消息通告BGP對等體
ROUTE-REFRESH消息用來通知對等體自己支持路由刷新

然后看一下報(bào)文格式

在這里插入圖片描述
上圖展開了BGP報(bào)文中的報(bào)文頭Header

  • Marker(標(biāo)記):16字節(jié),固定為1。

  • Length(長度):兩字節(jié)無符號整數(shù)。指定了消息的全長,包括頭部。

  • Type(類型):1 字節(jié),指示報(bào)文類型,如OPEN、UPDATE報(bào)文等
    1 – OPEN
    2 – UPDATE
    3 –NOTIFICATION
    4 – KEEPALIVE
    在這里插入圖片描述
    上圖放了一個(gè)open消息的具體報(bào)文格式
    包括其它幾種消息的報(bào)文的具體內(nèi)容比較冗長,這里暫時(shí)不再贅述

Ⅱ。狀態(tài)機(jī)

BGP有限狀態(tài)機(jī)共有六種狀態(tài),分別是Idle、Connect、Active、OpenSent、OpenConfirm和Established。

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

  • 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)下,BGP啟動(dòng)連接重傳定時(shí)器(Connect Retry,缺省為32秒),等待TCP完成連接。

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

  • 如果TCP連接失敗,那么BGP轉(zhuǎn)至Active狀態(tài);

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

  • 如果發(fā)生其他事件(由系統(tǒng)或者操作人員啟動(dòng)的),則退回到Idle狀態(tài)。

Active狀態(tài)下,BGP總是在試圖建立TCP連接。

  • 如果TCP連接成功,那么BGP向?qū)Φ润w發(fā)送Open報(bào)文,關(guān)閉連接重傳定時(shí)器,并轉(zhuǎn)至OpenSent狀態(tài);

  • 如果TCP連接失敗,那么BGP停留在Active狀態(tài);

  • 如果連接重傳定時(shí)器超時(shí),BGP仍沒有收到BGP對等體的響應(yīng),那么BGP轉(zhuǎn)至Connect狀態(tài)。

OpenSent狀態(tài)下,BGP等待對等體的Open報(bào)文,并對收到的Open報(bào)文中的AS號、版本號、認(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)文給對等體,并轉(zhuǎn)至Idle狀態(tài)。

OpenConfirm狀態(tài)下,BGP等待Keepalive或Notification報(bào)文。如果收到Keepalive報(bào)文,則轉(zhuǎn)至Established狀態(tài),如果收到Notification報(bào)文,則轉(zhuǎn)至Idle狀態(tài)。
Established狀態(tài)下,BGP可以和對等體交換Update、Keepalive、Route-refresh報(bào)文和Notification報(bào)文。

  • 如果收到正確的Update或Keepalive報(bào)文,那么BGP就認(rèn)為對端處于正常運(yùn)行狀態(tài),將保持BGP連接。

  • 如果收到錯(cuò)誤的Update或Keepalive報(bào)文,那么BGP發(fā)送Notification報(bào)文通知對端,并轉(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)。
    在這里插入圖片描述
    這里的6種狀態(tài)與上面BGP5種消息結(jié)合好好理解一下,這是BGP對等體(peer)之間建立連接的主要過程

Ⅲ。BGP對等體之間交互原則

  • 從IBGP對等體獲得的BGP路由,BGP設(shè)備只發(fā)布給它的EBGP對等體(這樣的水平分割是為了防止IBGP內(nèi)部環(huán)路)

  • 從EBGP對等體獲得的BGP路由,BGP設(shè)備發(fā)布給它所有EBGP和IBGP對等體(即發(fā)給所有BGP對等體)

  • 當(dāng)存在多條到達(dá)同一目的地址的有效路由時(shí),BGP設(shè)備會(huì)選擇最優(yōu)路由給自己使用,即用來發(fā)給鄰居,同時(shí)上送給路由表

  • 路由更新時(shí),BGP設(shè)備只發(fā)送更新的BGP路由

Ⅳ。BGP與IGP同步
事實(shí)上,上面第一條從IBGP對等體學(xué)到的BGP路由,不是一定會(huì)發(fā)送給它的EBGP對等體的,前提條件是需要BGP與IGP同步

看了下圖和解釋就明白了
在這里插入圖片描述
BGP的主要任務(wù)之一就是向其它自治系統(tǒng)發(fā)布該自治系統(tǒng)的網(wǎng)絡(luò)可達(dá)信息。如圖所示,RTB會(huì)把去往10.1.1.0/24 的路由信息封裝在BGP報(bào)文中,通過由RTB、RTE建立的TCP連接通告給RTE,如果RTE不考慮同步問題,直接接受了這條路由信息并通告給RTF。那么,如果RTF或RTE有去往10.1.1.0/24 的數(shù)據(jù)報(bào)文要發(fā)送,這個(gè)數(shù)據(jù)報(bào)文要想到達(dá)目的地必須經(jīng)過RTD和RTC。但是,由于先前沒有考慮同步問題,RTD和RTC的路由表中沒有去往10.1.1.0/24的路由信息,數(shù)據(jù)報(bào)文到了RTD就會(huì)被丟棄。因此,BGP必須與IGP(如RIP、OSPF等)同步。也就是說,當(dāng)一個(gè)路由器從IBGP對等體收到一條路由更新信息,在把它通告給它的EBGP對等體之前,要試圖驗(yàn)證該目的地能否通過自治系統(tǒng)內(nèi)部到達(dá)(即驗(yàn)證該目的地是否存在于IGP發(fā)現(xiàn)的路由表內(nèi),非BGP路由器是否可以傳遞報(bào)文到該目的地)。若能通過IGP知道這個(gè)目的地,才會(huì)把這樣一條路由信息通告給EBGP對等體,否則認(rèn)為BGP與IGP不同步,不進(jìn)行通告。

4.BGP與IGP交互

上面剛剛介紹了從IBGP對等體學(xué)到的BGP路由發(fā)送給它的EBGP對等體的前提條件是BGP同步,而同步是通過BGP路由表與IGP路由表的相互引入

BGP引入IGP路由:

BGP的主要工作是在自治系統(tǒng)之間傳遞路由信息,而不是去發(fā)現(xiàn)和計(jì)算路由信息。所以,路由信息需要通過配置命令的方式注入到BGP中。

Ⅰ。network命令
逐條引入
通過Network命令注入到BGP路由表里的路由信息必須存在于IP路由表中。
在這里插入圖片描述
Ⅱ。import命令
按協(xié)議類型引入,也可以引入靜態(tài)或直連路由
在這里插入圖片描述

5。BGP屬性特點(diǎn)

BGP路由屬性分為4類

  1. 公認(rèn)必遵(Well-known mandatory):所有BGP路由器都可以識別,且必須存在于Update消息中 如果缺少這種屬性,路由信息就會(huì)出錯(cuò)

  2. 公認(rèn)任意(Well-known discretionary): 所有BGP路由器都可以識別,但不要求必須存在于Update消息中,即就算缺少這類屬性,路由信息也不會(huì)出錯(cuò)

  3. 可選過渡(Optional transitive):在AS之間具有可傳遞性的屬性 BGP路由器可以選擇是否在Update消息中攜帶這種屬性。接收的路由器如果不識別這種屬性,可以轉(zhuǎn)發(fā)給鄰居路由器,鄰居路由器可能會(huì)識別并使用到這種屬性

  4. 可選非過渡(Optional non-transitive):BGP路由器可以選擇是否在Update消息中攜帶這種屬性。如果接受的BGP路由器不支持此屬性,則相應(yīng)的這類屬性會(huì)被忽略,且不會(huì)傳遞給其他對等體

列出幾種常見屬性(下文會(huì)重點(diǎn)介紹和后面要說的BGP選路規(guī)則有關(guān)的屬性):

  • Origin:起點(diǎn)屬性。定義路由信息的來源,標(biāo)記一條路由是怎樣成為BGP路由的。(屬于公認(rèn)必遵)
    在這里插入圖片描述
    有3種類型:
    ①IGP(標(biāo)識為 i):具有最高的優(yōu)先級。通過路由始發(fā)AS的IGP得到的路由信息,比如通過network命令注入到BGP路由表的路由,其Origin屬性為IGP。
    ②EGP(標(biāo)識為 e):優(yōu)先級次之。通過EGP得到的路由信息,其Origin屬性為EGP。
    ③Incomplete(標(biāo)識為 ?):優(yōu)先級最低。通過其他方式學(xué)習(xí)到的路由信息。比如BGP通過import-route命令引入的路由,其Origin屬性為Incomplete。

  • As_PATH:AS路徑屬性。是路由經(jīng)過的AS的序列,即列出此路由在傳遞過程中經(jīng)過了哪些AS。它可以防止路由循環(huán),并用于路由的過濾和選擇。(公認(rèn)必遵)
    在這里插入圖片描述
    上圖中:當(dāng)R4將網(wǎng)段10.0.0.0/24通告給AS400和AS100時(shí),會(huì)在AS_PATH中添加自己的AS號。當(dāng)R5將網(wǎng)段10.0.0.0/24通告給AS100使,也會(huì)添加添加自己的AS號。當(dāng)AS100內(nèi)的R1和R3再將網(wǎng)段10.0.0.0/24通告給本AS域內(nèi)的R2時(shí),AS_PATH屬性不會(huì)改變,且R2在其他BGP選路條件相同的前提下選擇AS_PATH路徑最短的,即選擇通過R3到達(dá)網(wǎng)段10.0.0.0/24。

  • Next hop:下一跳屬性。包含到達(dá)更新消息所列網(wǎng)絡(luò)的下一跳邊界路由器的IP地址。(公認(rèn)必遵)

  • Local-Preference:本地優(yōu)先級屬性。用于在AS內(nèi)優(yōu)選到達(dá)某一目的地的路由。反映了BGP Speaker對每條BGP路由的偏好程度。屬性值越大越優(yōu)。(公認(rèn)任意)
    在這里插入圖片描述
    上圖中:R1從本AS內(nèi)的R2學(xué)到網(wǎng)絡(luò)10.0.0.0/24的Local_Pref為300,從本AS內(nèi)的R3學(xué)到網(wǎng)絡(luò)10.0.0.0/24的Local_Pref為200時(shí),R1會(huì)選擇經(jīng)由R2到達(dá)目的網(wǎng)絡(luò)10.0.0.0/24。

  • MED屬性:當(dāng)某個(gè)AS有多個(gè)入口時(shí),可以用MED屬性來幫助其外部的AS選擇一個(gè)較好的入口路徑。一條路由的MED值越小,其優(yōu)先級越高。(可選非過渡)
    在這里插入圖片描述
    上圖中:R1和R2將網(wǎng)段10.0.0.0/24傳遞給各自的EBGP鄰居R3和R4,R3和R4在其他條件相同的情況下,優(yōu)先選擇MED值較低的路徑,即均選擇經(jīng)由R1訪問網(wǎng)絡(luò)10.0.0.0/24。

  • Community:團(tuán)體屬性。團(tuán)體屬性標(biāo)識了一組具有相同特征的路由信息,與它所在的IP子網(wǎng)或自治系統(tǒng)無關(guān)。(可選過渡)

6。 BGP選路規(guī)則與負(fù)載分擔(dān)

當(dāng)?shù)竭_(dá)同一目的地存在多條路由時(shí),BGP采取如下策略進(jìn)行路由選擇:

  1. 如果此路由的下一跳不可達(dá),忽略此路由

  2. 優(yōu)選協(xié)議首選值(PrefVal)最高的路由 (華為設(shè)備特有屬性)

  3. 優(yōu)選本地優(yōu)先級(Local_Pref)最高的路由

  4. 優(yōu)選本地生成的路由

  5. 優(yōu)選AS路徑(AS_Path)最短的路由

  6. 比較Origin屬性,依次優(yōu)選Origin類型為IGP、EGP、Incomplete的路由

  7. 優(yōu)選MED值最低的路由

  8. 優(yōu)選從EBGP鄰居學(xué)來的路由

  9. 優(yōu)選到BGP下一跳IGP Metric較小的路由

當(dāng)以上全部相同,則為“等價(jià)路由”,可以負(fù)載分擔(dān)
注:AS_PATH必須一致;當(dāng)負(fù)載分擔(dān)時(shí),以下3條原則無效
優(yōu)選Cluster_List最短的路由
優(yōu)選Originator_ID 或者Router ID最小的路由器發(fā)布的路由
比較對等體的IP Address,優(yōu)選從具有較小IP Address的對等體學(xué)來的路由

根據(jù)BGP的選路原則以及BGP常用的路徑屬性,我們可以總結(jié)出9個(gè)影響B(tài)GP選路的重要參數(shù),分別為:

  • Preferred Value

  • LOCAL_PREF

  • AS_PATH

  • ORIGIN

  • MED

  • 鄰居類別是EBGP還是IBGP

  • IGP內(nèi)部開銷值

  • Cluster List /ROUTER_ID

  • COMMUNITY

以上參數(shù)都能直接地影響B(tài)GP的路徑選擇,其中我們常用的參數(shù)分別為LOCAL_PREF, AS_PATH和MED屬性。

7。BGP擴(kuò)展特性

Ⅰ。BGP安全特性

  • MD5:BGP使用TCP作為傳輸層協(xié)議,為提高BGP的安全性,可以在建立TCP連接時(shí)進(jìn)行MD5認(rèn)證。但BGP的MD5認(rèn)證并不能對BGP報(bào)文認(rèn)證,它只是為TCP連接設(shè)置MD5認(rèn)證密碼,由TCP完成認(rèn)證。如果認(rèn)證失敗,則不建立TCP連接。

  • GTSM(Generalized TTL Security Mechanism 即通用TTL安全保護(hù)機(jī)制):使能BGP的GTSM策略后,接口板對所有BGP報(bào)文的TTL值進(jìn)行檢查。根據(jù)實(shí)際組網(wǎng)的需要,對于不符合TTL值范圍的報(bào)文,GTSM可以設(shè)置為通過或丟棄。配置GTSM缺省動(dòng)作為丟棄時(shí),可以根據(jù)網(wǎng)絡(luò)拓?fù)溥x擇合適的TTL有限值范圍,不符合TTL值范圍的報(bào)文會(huì)被接口板直接丟棄,這樣就避免了網(wǎng)絡(luò)攻擊者模擬的“合法”BGP報(bào)文占用CPU。該功能與EBGP多跳互斥。

  • 限制從對等體接收的路由數(shù)量,防止資源耗盡性攻擊。

  • AS_Path長度保護(hù)。通過在入口和出口兩個(gè)方向?qū)S_Path的長度進(jìn)行限定,直接丟棄AS_Path超限的報(bào)文。

Ⅱ。路由衰減(EBGP)
路由衰減(Route Dampening)用來解決路由不穩(wěn)定的問題,即路由表中的某條路由反復(fù)消失和重現(xiàn),也就是路由振蕩。多數(shù)情況下,BGP協(xié)議都應(yīng)用于復(fù)雜的網(wǎng)絡(luò)環(huán)境中,路由變化十分頻繁。為了防止持續(xù)的路由振蕩帶來的不利影響,BGP使用路由衰減來抑制不穩(wěn)定的路由。
在這里插入圖片描述

BGP衰減使用懲罰值來衡量一條路由的穩(wěn)定性,懲罰值越高則說明路由越不穩(wěn)定。路由每發(fā)生一次振蕩(路由從激活狀態(tài)變?yōu)槲醇せ顮顟B(tài),稱為一次路由振蕩),BGP便會(huì)給此路由增加一定的懲罰值(1000)。當(dāng)懲罰值超過抑制閾值時(shí),此路由被抑制,不加入到路由表中,也不再向其他BGP對等體發(fā)布更新報(bào)文。
被抑制的路由每經(jīng)過一段時(shí)間(900S),懲罰值便會(huì)減少一半,這個(gè)時(shí)間稱為半衰期(Half-life)。當(dāng)懲罰值降到再使用閾值時(shí),此路由變?yōu)榭捎貌⒈患尤氲铰酚杀碇?,同時(shí)向其他BGP對等體發(fā)布更新報(bào)文

路由衰減只適用于EBGP路由。對于從IBGP收來的路由不能進(jìn)行衰減,因?yàn)镮BGP路由經(jīng)常含有本AS的路由,內(nèi)部網(wǎng)絡(luò)路由要求轉(zhuǎn)發(fā)表盡可能一致,IGP快速收斂就是為了達(dá)到信息同步,轉(zhuǎn)發(fā)一致。如果衰減對IBGP路由起作用,不同設(shè)備的衰減參數(shù)不一致時(shí),會(huì)導(dǎo)致轉(zhuǎn)發(fā)表不一致。

參考資料:華為HCIE理論基礎(chǔ)中的BGP講解

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多