BGP路由協(xié)議分析課件_第1頁
BGP路由協(xié)議分析課件_第2頁
BGP路由協(xié)議分析課件_第3頁
BGP路由協(xié)議分析課件_第4頁
BGP路由協(xié)議分析課件_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

2023/8/16DP500005BGP路由協(xié)議ISSUE1.02023/8/4DP500005BGP路由協(xié)議ISSUEPage2學(xué)習(xí)完此課程,您將會:掌握BGP協(xié)議的基本原理掌握BGP協(xié)議的路由屬性及其應(yīng)用目標(biāo)Page2學(xué)習(xí)完此課程,您將會:目標(biāo)Page3第1章BGP路由協(xié)議的原理第2章BGP路由屬性內(nèi)容介紹Page3第1章BGP路由協(xié)議的原理內(nèi)容介紹Page4BGP協(xié)議基本概念(一)什么是自治系統(tǒng)(AS)?自治系統(tǒng)指由同一個技術(shù)管理機(jī)構(gòu)管理、使用內(nèi)部路由策略的一些路由器的集合。每個自治系統(tǒng)都有唯一的自治系統(tǒng)編號。自治系統(tǒng)的編號范圍是1到65535,其中1到64511是注冊的因特網(wǎng)編號,64512到65535是專用網(wǎng)絡(luò)編號。Page4BGP協(xié)議基本概念(一)什么是自治系統(tǒng)(AS)?Page5沒有BGP的日子里OSPFRIPISISEIGRPPage5沒有BGP的日子里OSPFRIPISISEIGRPage6有了BGP之后鏈路層協(xié)議生成路由,IGP發(fā)現(xiàn)和計算路由,BGP控制路由傳播和選擇OSPFRIPISISEIGRPBGPBGPBGPPage6有了BGP之后鏈路層協(xié)議生成路由,IGP發(fā)現(xiàn)和計Page7BGP協(xié)議概述BGP是一種外部網(wǎng)關(guān)協(xié)議(EGP),與OSPF、RIP等內(nèi)部網(wǎng)關(guān)協(xié)議(IGP)不同,其著眼點不在于發(fā)現(xiàn)和計算路由,而在于控制路由的傳播和選擇最佳路由。BGP使用TCP作為其傳輸層協(xié)議(端口號179),提高了協(xié)議的可靠性。BGP支持無類別域間路由CIDR(ClasslessInter-DomainRouting)。路由更新時,BGP只發(fā)送更新的路由,大大減少了BGP傳播路由所占用的帶寬,適用于在Internet上傳播大量的路由信息。BGP路由通過攜帶AS路徑信息徹底解決路由環(huán)路問題。BGP提供了豐富的路由策略,能夠?qū)β酚蓪崿F(xiàn)靈活的過濾和選擇。BGP易于擴(kuò)展,能夠適應(yīng)網(wǎng)絡(luò)新的發(fā)展。Page7BGP協(xié)議概述BGP是一種外部網(wǎng)關(guān)協(xié)議(EGP)BGP的主要目標(biāo)是提供一種能夠保證自治系統(tǒng)間無環(huán)路的路由選擇信息交換的域間路由系統(tǒng).BGP在路由器上以下列兩種方式運行:IBGP(InternalBGP)EBGP(ExternalBGP)當(dāng)BGP運行于同一自治系統(tǒng)內(nèi)部時,被稱為IBGP;當(dāng)BGP運行于不同自治系統(tǒng)之間時,稱為EBGP。Page8BGP的主要目標(biāo)是提供一種能夠保證自治系統(tǒng)間無環(huán)路的路由選擇Page9BGP協(xié)議基本概念(三)何時選擇BGP?何時不選擇BGP?下列條件至少存在一個的時候,才應(yīng)該使用BGP。自治系統(tǒng)系統(tǒng)允許數(shù)據(jù)包穿過它到達(dá)其他自治系統(tǒng)。自治系統(tǒng)多條外部連接,多個運營商之間;擁有多條到互聯(lián)網(wǎng)的連接時。自治系統(tǒng)必須對進(jìn)入和離開AS的數(shù)據(jù)流進(jìn)行控制。下列情況,不需要使用BGP自制系統(tǒng)和自治系統(tǒng)或Internet間僅有單一連接時。設(shè)備內(nèi)存和CPU性能不佳,無法運行BGP時。沒有能力實施路由過濾或BGP路徑選擇時。自治系統(tǒng)間帶寬較低時。Page9BGP協(xié)議基本概念(三)何時選擇BGP?何時不選Page10AS的分類單口AS(stubAS)多歸路過渡AS(multihomedAS)過渡AS(transitAS)Page10AS的分類單口AS(stubAS)過度AS一般情況下一條路由是從自治系統(tǒng)內(nèi)部產(chǎn)生的,它由某種內(nèi)部路由協(xié)議發(fā)現(xiàn)和計算,傳遞到自治系統(tǒng)的邊界,由自治系統(tǒng)邊界路由器(ASBR)通過EBGP連接傳播到其它自治系統(tǒng)中。路由在傳播過程中可能會經(jīng)過若干個自治系統(tǒng),這些自治系統(tǒng)稱為過渡自治系統(tǒng)。如:AS5。若這個自治系統(tǒng)有多個邊界路由器,這些路由器之間運行IBGP來交換路由信息。這時內(nèi)部的路由器并不需要知道這些外部路由,它們只需要在邊界路由器之間維護(hù)IP連通性。如:AS2、AS3、AS4。路由到達(dá)自治系統(tǒng)邊界后,若內(nèi)部路由器需要知道這些外部路由,ASBR可以將路由引入內(nèi)部路由協(xié)議。外部路由的數(shù)量是很大的,通常會超出內(nèi)部路由器的處理能力,因此引入外部路由時一般需要過濾或聚合,以減少路由的數(shù)量,極端的情況是使用默認(rèn)路由。Page11過度AS一般情況下一條路由是從自治系統(tǒng)內(nèi)部產(chǎn)生的,它由某種內(nèi)StubAS還有一種自治系統(tǒng)稱為StubAS,如:AS1、AS6、AS7。其內(nèi)部只有一個ASBR通過EBGP連接外部,同外部其他AS的通信要靠過渡自治系統(tǒng)來轉(zhuǎn)接。對一個具體的ASBR來說,其路由的來源有兩種:從對等體接收的從IGP引入的。對于接收的路由,根據(jù)其屬性(如AS路徑、團(tuán)體屬性等)進(jìn)行過濾,并設(shè)置某些屬性(如本地優(yōu)先、MED值等),之后若需要的話,將具體的路由聚合為超網(wǎng)路由。BGP可能從多個對等體收到目的地相同的路由,根據(jù)規(guī)則選擇最好的路由并加入IP路由表。對于IGP路由,則要經(jīng)過引入策略的過濾和設(shè)置。BGP發(fā)送優(yōu)選的BGP路由和引入的IGP路由給對等體。Page12StubAS還有一種自治系統(tǒng)稱為StubAS,如:AS1Page13BGP工作機(jī)制在BGP對等體建立之前,對等體之間首先進(jìn)行TCP連接。BGP鄰居間會通過Open消息協(xié)商相關(guān)參數(shù),建立起B(yǎng)GP對等體關(guān)系。BGP鄰居剛建立時,發(fā)送整個BGP路由表交換路由信息,之后為了更新路由表只交換更新消息(updatemessage)。系統(tǒng)在運行過程中,通過接收和發(fā)送keep-alive消息來檢測相互之間的連接是否正常的。Page13BGP工作機(jī)制在BGP對等體建立之前,對等體之BGP發(fā)言人BGPspeaker發(fā)送BGP消息的路由器稱為BGP發(fā)言人(speaker),它不斷的接收或產(chǎn)生新路由信息,并將它廣告(advertise)給其它的BGP發(fā)言人。當(dāng)BGP發(fā)言人收到來自其他自治系統(tǒng)的新路由廣告時,如果該路由比當(dāng)前已知路由好、或者當(dāng)前還沒有可接受路由,它就把這個路由廣告給自治系統(tǒng)內(nèi)所有其它的BGP發(fā)言人BGPpeer一個BGP發(fā)言人也將同它交換消息的其它的BGP發(fā)言人稱為同伴(peer)BGPgroup若干相關(guān)的同伴可以構(gòu)成同伴組(group)Page14BGP發(fā)言人BGPspeakerPage14Page15BGP兩種鄰居-IBGP和EBGPEBGPEBGPRTBRTCIBGPRTARTDRTEPage15BGP兩種鄰居-IBGP和EBGPEBGPEB對等體BGP在路由器上以下列兩種方式運行:IBGP(InternalBGP)EBGP(ExternalBGP)如果兩個交換BGP報文的對等體屬于同一個自治系統(tǒng),那么這兩個對等體就是IBGP對等體(InternalBGP),如RTB和RTD。如果兩個交換BGP報文的對等體屬于不同的自治系統(tǒng),那么這兩個對等體就是EBGP對等體(ExternalBGP),如RTA和RTB。IBGP對等體之間不一定是物理上直連的,但必須保證邏輯上全連接。(TCP連接能夠建立即可)。為了IBGP對等體路由通告的可靠性,我們一般都是采用loopback接口建立IBGP鄰居關(guān)系,同時必須指定路由更新報文的源接口。peer{group-name|peer-address}connect-interfaceinterface-name一般的路由器(包括Quidway系列路由器)都默認(rèn)要求EBGP對等體之間是有物理上的直連鏈路,同時他們一般也提供改變這個缺省設(shè)置的配置命令。允許同非直連相連網(wǎng)絡(luò)上的鄰居建立EBGP連接Page16對等體BGP在路由器上以下列兩種方式運行:Page16Page17BGP路由通告原則(重要)存在多條路徑時,BGPSpeaker只選取最優(yōu)的使用(非負(fù)載分擔(dān))BGPSpeaker只把自己優(yōu)選的路由通告給相鄰體BGPSpeaker從EBGP獲得的路由會向它所有BGP相鄰體通告(包括EBGP和IBGP)BGP

Speaker從IBGP獲得的路由不向它的IBGP相鄰體通告BGPSpeaker

從IBGP獲得的路由是否通告給它的EBGP相鄰體要依IGP和BGP同步的情況來決定連接一建立,BGPSpeaker按照以上原則,把自己所有BGP路由通告給新相鄰體Page17BGP路由通告原則(重要)存在多條路徑時,BGPage18BGP路由表與系統(tǒng)路由表的關(guān)系存在多條路徑時,BGPSpeaker只選取最優(yōu)的使用(非負(fù)載分擔(dān)時)BGPSpeaker只把自己使用的最優(yōu)路由通告給相鄰體BGPSpeaker只把自己使用的最優(yōu)的路由加入到路由表中Page18BGP路由表與系統(tǒng)路由表的關(guān)系存在多條路徑時,Page19BGP路由通告原則BGP

Speaker從IBGP獲得的路由不向它的IBGP相鄰體通告(如果存在RR呢)AS42AS12AS14R-14R-12RTARTBRTDRT-CX12…EBGPIBGPX12…X12…Page19BGP路由通告原則BGPSpeaker從IBPage20BGP同步BGPSpeaker

從IBGP獲得的路由是否通告給它的EBGP相鄰體要依IGP和BGP同步的情況來決定EBGPEBGPRTBRTCIBGPRTARTDRTERTFS0:1.1.1.2/24E0:10.1.1.1/24S0:1.1.1.1/24S1:2.1.1.2/24AS100AS200AS300S0:2.1.1.1/24Page20BGP同步BGPSpeaker從IBGP獲Page21同步規(guī)則的基本需求BGP同步規(guī)則的目的:為防止一個AS(不是所有的路由器都運行bgp)內(nèi)部出現(xiàn)路由黑洞,即向外部通告了一個本AS不可達(dá)的虛假的路由.BGP同步規(guī)則的基本需求如果一個AS內(nèi)部存在非bgp路由器,那么就出現(xiàn)了bgp和igp的邊界,需要在邊界路由器將bgp路由發(fā)布到igp中,才能保證AS所通告到外部的bgp路由,在AS內(nèi)部是連通的。實際上是要求bgp路由和igp路由的同步(不建議)。以下情況可以安全關(guān)閉同步(華為設(shè)備缺省情況下非同步):本AS不是過渡AS本AS內(nèi)所有路由器建立IBGP全連接Page21同步規(guī)則的基本需求BGP同步規(guī)則的目的:Page22IBGP全互聯(lián)IBGP全互聯(lián)

AS內(nèi)部的所有路由器都運行BGP,就可以關(guān)閉所有路由器的同步,而不影響路由的通告和連通性.隨之產(chǎn)生的問題:當(dāng)as內(nèi)部路由器數(shù)量很多時,需要建立N*(N-1)/2個ibgp會話,帶來過度的系統(tǒng)開銷,擴(kuò)展性不好。即15個路由器的AS,需要建立15(15-1)/2=105個ibgp會話Page22IBGP全互聯(lián)IBGP全互聯(lián)Page23IBGP全互聯(lián)的解決方案(一)路由反射器

AS內(nèi)部的所有路由器都運行bgp,在AS內(nèi)部部署路由反射器,構(gòu)建hubandspoke(中心說話)的ibgp(會話數(shù)為N-1),然后關(guān)閉所有bgp路由器的同步.問題:此方案可以使bgp路由器傳遞ibgp路由到ebgp,并保證bgp路由的連通性,但是對物理拓?fù)溆泻艽蟮南拗?。Page23IBGP全互聯(lián)的解決方案(一)路由反射器Page24BGP路由反射路由反射器(RouteReflector)AS101AS100AS102IBGPEBGPRRClientClientClientPage24BGP路由反射路由反射器(RouteRefBGP路由反射在AS100內(nèi),在沒有配置路由反射器的時候,為了實現(xiàn)路由信息的互通,4臺路由器都必須全I(xiàn)BGP互連維護(hù)6個IBGP會話。但與配置了反射器的情況相比,由于Client只需維護(hù)要與該本身的RR的IBGP的會話,所以在AS100內(nèi)IBGP數(shù)量由原來的6個變?yōu)橹皇O?個。而這種新的結(jié)構(gòu)下,IBGP宣告者被分成3組:路由反射器(RR);路由反射器客戶(Client);常規(guī)的IBGP宣告者(Non-Client)Page25BGP路由反射在AS100內(nèi),在沒有配置路由反射器的時候,為Page26IBGP全互聯(lián)的解決方案(二)2.bgp聯(lián)盟AS內(nèi)部的所有路由器都運行bgp,把一個原始的AS基于網(wǎng)絡(luò)拓?fù)鋭澐譃槿舾蓚€sub-AS(又稱聯(lián)盟AS),聯(lián)盟AS之間的bgp鄰居叫做聯(lián)盟ebgp,不需要fullmesh(全連接)bgp會話;在每個聯(lián)盟AS內(nèi)部運fullmeshibgp或者h(yuǎn)ubandspoke反射器,然后就可以關(guān)閉所有路由器的bgp同步功能.結(jié)論:bgp聯(lián)盟結(jié)合路由反射器的方式,較好的解決了bgp的同步規(guī)則帶來的需求,是最為有效的解決方案.Page26IBGP全互聯(lián)的解決方案(二)2.bgp聯(lián)盟Page27BGP聯(lián)盟聯(lián)盟(Confederation)AS100IBGPEBGPAS1001AS1003AS1002AS101EBGP_Confed聯(lián)盟通過把大的AS分成多個更小的自治系統(tǒng)來解決IBGP全互連的問題,這些自治系統(tǒng)叫做成員自治系統(tǒng)或子自治系統(tǒng)。因為成員自治系統(tǒng)之間使用EBGP會話,因此它們不需要全互連。然而,在每一個成員AS中,IBGP全互連的要求仍然適用。Page27BGP聯(lián)盟聯(lián)盟(Confederation)成為BGP路由的途徑純動態(tài)注入路由器將通過IGP路由協(xié)議動態(tài)獲得的路由信息直接注入到BGP中去。半動態(tài)注入路由器有選擇性的(通過配置命令)將IGP發(fā)現(xiàn)的動態(tài)路由信息注入到BGP系統(tǒng)中去靜態(tài)注入路由器將靜態(tài)配置的某條路由注入到BGP系統(tǒng)中

Page28成為BGP路由的途徑純動態(tài)注入Page28Page29成為BGP路由的途徑之一:純動態(tài)注入OSPF發(fā)現(xiàn)路由18.0.0.1/8把IGP(OSPF)發(fā)現(xiàn)的路由純動態(tài)地注入到RTB的BGP路由表中18.0.0.1/8RTBAS200OSPFPage29成為BGP路由的途徑之一:純動態(tài)注入OSPF發(fā)Page30成為BGP路由的途徑之二:半動態(tài)注入OSPF發(fā)現(xiàn)路由18.0.0.1/8把IGP(OSPF)發(fā)現(xiàn)的路由半動態(tài)地注入到RTB的BGP路由表中它和純動態(tài)注入的區(qū)別在于不是將IGP發(fā)現(xiàn)的所有路由信息注入到BGP中去18.0.0.1/8OSPFRTBAS200Page30成為BGP路由的途徑之二:半動態(tài)注入OSPF發(fā)Page31成為BGP路由的途徑之三:靜態(tài)注入人為配置靜態(tài)路由18.0.0.1/8把人為配置的靜態(tài)路由注入到RTB的BGP路由表中18.0.0.1/8AS200RTBPage31成為BGP路由的途徑之三:靜態(tài)注入人為配置靜態(tài)Page32BGP報文種類BGP報文有四種類型:Open:打招呼“你好,跟我交個朋友吧!”KeepAlive:我還活著呢,別不理我Update:有新聞Notification:我不跟你玩了!Page32BGP報文種類BGP報文有四種類型:Page33BGP報文頭BGP報文的格式是一樣的,都是”報文頭+報文體“的格式,下面給出的是BGP報文頭:Marker(16byte)Length(2byte)Type(1byte)Marker鑒權(quán)信息Length消息的長度Type消息的類型Page33BGP報文頭BGP報文的格式是一樣的,都是”報BGP報文頭的格式如圖所示,每行的寬度為4個字節(jié)。Marker鑒權(quán)信息: 本16字節(jié)的字段包含消息接收者可以預(yù)測的值。如果消息類型是OPEN,或者OPEN消息沒有承載認(rèn)證信息(作為可選參數(shù)),標(biāo)記必須是全1。否者,標(biāo)記的值要使用認(rèn)證機(jī)制來計算(認(rèn)證機(jī)制是通過認(rèn)證信息的一部分來指定的)。標(biāo)記可以用來探測BGP對端的同步丟失,認(rèn)證進(jìn)入的BGP消息。Length消息的長度:2字節(jié),指示整個消息的長度,包括頭標(biāo)長度,最小的BGP消息長度是19字節(jié)(Keepalive報文),最大的長度是4096字節(jié)。Type消息的類型:1字節(jié),指示報文類型,如OPEN、UPDATE報文等。1:OPEN2:UPDATE3:NOTIFICATION4:KEEPALIVEPage34BGP報文頭的格式如圖所示,每行的寬度為4個字節(jié)。PagePage35Open報文Open報文是由報文頭加如下結(jié)構(gòu)構(gòu)成的。來交換各自的版本、自治系統(tǒng)號、保持時間、BGP標(biāo)識符等信息,進(jìn)行協(xié)商OptionalParamentersLengthHoldTimeVersionMyAutonomousSystemBGPIdentifierOptionalParamentersPage35Open報文Open報文是由報文頭加如下結(jié)構(gòu)構(gòu)Version:(1字節(jié))發(fā)端BGP版本號如果BGP對等體之前的OPEN報文中Version不一致,選擇較大的Version。MyAutonomousSystem:(2字節(jié)無符號整數(shù))本地AS號HoldTime:(2字節(jié)無符號整數(shù))發(fā)端建議的保持時間BGPIdentifier:(4字節(jié))發(fā)端的路由器標(biāo)識符如果BGP對等體之前的OPEN報文中HoldTime時間不一致,選擇較小的HoldTime。OptionalparmetersLen:(1字節(jié))可選的參數(shù)的長度OptionalParameters:(變長)可選的參數(shù)Page36Open報文Version:(1字節(jié))發(fā)端BGP版本號Page36Page37KeepAlive報文KeepAlive報文只有報文頭。主要用于對等體路由器間的運行狀態(tài)以及鏈路的可用性確認(rèn)Marker(16byte)Length(2byte)Type(1byte)缺省情況下,發(fā)送Keepalive的時間間隔為60秒,Holdtime是180秒。每次從鄰居處接收到Keepalive報文將重置holdtime定時器,如果holdtime定時器超時,peer就認(rèn)為對等體down掉。Page37KeepAlive報文KeepAlive報文只Page38Update報文Update報文由報文頭加如下結(jié)構(gòu)構(gòu)成。攜帶的是路由更新信息WithdrawnRoutesUnfeasibleRoutesLengthPathAttributeLengthNetworkLayerReachabilityInformationPathAttributePage38Update報文Update報文由報文頭加如下Page39Notification報文Notification報文由報文頭加如下結(jié)構(gòu)構(gòu)成。當(dāng)BGP檢測到差錯(連接中斷、協(xié)商出錯、報文差錯等)時,發(fā)送NOTIFICATION報文,關(guān)閉同對等體的連接。錯誤代碼123456錯誤類型消息頭錯OPEN消息錯UPDATE消息錯保持時間超時狀態(tài)機(jī)錯退出DataErrorCodeErrorSubcodePage39Notification報文NotificatNotification報文主要在發(fā)生錯誤或?qū)Φ润w連接被關(guān)閉的情況下使用,該消息攜帶各種錯誤代碼(如定時器超時等),包括錯誤代碼、輔助錯誤代碼及錯誤信息。Errorcode:(1字節(jié))錯誤代碼:錯誤代碼錯誤類型

1消息頭錯

2OPEN消息錯

3UPDATE消息錯

4保持時間超時

5狀態(tài)機(jī)錯

6退出Errsubcode:(1字節(jié))輔助錯誤代碼,略。Data:(變長)依賴于不同的錯誤代碼和輔助錯誤代碼。用于診斷錯誤原因。Page40Notification報文主要在發(fā)生錯誤或?qū)Φ润w連接被關(guān)Page41BGP協(xié)議的狀態(tài)機(jī)ActiveOpen-sentOpen-confirmEstablishedIdleConnectTCPconnectionfailsConnect-RetrytimerexpiryStartOthersTCPconnectionfailsErrorErrorErrorKeepAlivetimerexpiryKeepAlivepacketreceived1.KeepAlivetimerexpiry2.Updatereceived3.KeepAlivereceivedCorrectOPENpacketreceivedTCPconnectionsetupTCPconnectionsetupOthersPage41BGP協(xié)議的狀態(tài)機(jī)ActiveOpen-senIdle(空閑):Idle是BGP連接的第一個狀態(tài),在空閑狀態(tài),BGP在等待一個啟動事件,啟動事件出現(xiàn)以后,BGP初始化資源,復(fù)位連接重試計時器(Connect-Retry)缺省值為32秒,發(fā)起一條TCP連接,同時轉(zhuǎn)入Connect(連接)狀態(tài)。Connect(連接):在Connect狀態(tài),BGP發(fā)起第一個TCP連接,如果連接重試計時器(Connect-Retry)超時,就重新發(fā)起TCP連接,并繼續(xù)保持在Connect狀態(tài),如果TCP連接成功,就轉(zhuǎn)入OpenSent狀態(tài),如果TCP連接失敗,就轉(zhuǎn)入Active狀態(tài)。Active(活躍):在Active狀態(tài),BGP總是在試圖建立TCP連接,如果連接重試計時器(Connect-Retry)超時,就退回到Connect狀態(tài),如果TCP連接成功,就轉(zhuǎn)入OpenSent狀態(tài),如果TCP連接失敗,就繼續(xù)保持在Active狀態(tài),并繼續(xù)發(fā)起TCP連接。Page42Idle(空閑):Idle是BGP連接的第一個狀態(tài),在空閑OpenSent(打開消息已發(fā)送):在OpenSent狀態(tài),TCP連接已經(jīng)建立,BGP也已經(jīng)發(fā)送了第一個Open報文,剩下的工作,BGP就在等待其對等體發(fā)送Open報文。并對收到的Open報文進(jìn)行正確性檢查,如果有錯誤,系統(tǒng)就會發(fā)送一條出錯通知消息并退回到Idle狀態(tài),如果沒有錯誤,BGP就開始發(fā)送Keepalive報文,并復(fù)位Keepalive計時器,開始計時。同時轉(zhuǎn)入OpenConfirm狀態(tài)。OpenConfirm(打開消息確認(rèn))狀態(tài):在OpenConfirm狀態(tài),BGP等待一個Keepalive報文,同時復(fù)位保持計時器,如果收到了一個Keepalive報文,就轉(zhuǎn)入Established階段,BGP鄰居關(guān)系就建立起來了。如果TCP連接中斷,就退回到Idle狀態(tài)。Established(連接已建立):在Established狀態(tài),BGP鄰居關(guān)系已經(jīng)建立,這時,BGP將和它的鄰居們交換Update報文,同時復(fù)位保持計時器。我們常常在displaybgppeer為active時,看到這樣兩種狀態(tài)active和establish。當(dāng)BGP的鄰居狀態(tài)是active時,BGP鄰居之間還無法通告路由,主要是因為TCP連接還沒有建立起來Page43OpenSent(打開消息已發(fā)送):在OpenSent狀態(tài)Page44BGP協(xié)議中消息的應(yīng)用通過TCP建立BGP連接時,發(fā)送open消息連接建立后,如果有路由需要發(fā)送或路由變化時,發(fā)送UPDATE消息通告對端路由信息穩(wěn)定后此時要定時發(fā)送KEEPALIVE消息以保持BGP連接的有效性當(dāng)本地BGP在運行中發(fā)現(xiàn)錯誤時,要發(fā)送NOTIFICATION消息通告BGP對端Page44BGP協(xié)議中消息的應(yīng)用通過TCP建立BGP連接Page45第1章BGP路由協(xié)議的原理第2章BGP路由屬性內(nèi)容介紹Page45第1章BGP路由協(xié)議的原理內(nèi)容介紹Page46BGP的路由屬性表達(dá)了路由的特征便于擴(kuò)展過渡和非過渡的,必遵和可選的公認(rèn)必遵(well-knownmandatory)公認(rèn)任意(well-knowndiscretionary)可選過渡(optionaltransitive)可選非過渡(optionalnon-transitive)BGP協(xié)議的重點Page46BGP的路由屬性表達(dá)了路由的特征BGP協(xié)議的重必遵屬性:在路由更新數(shù)據(jù)報文中必須存在的路由屬性,這種屬性域在BGP路由信息中有著不可替代的作用,如果缺少必遵屬性,路由信息就會出錯。如AS-Path就是必遵屬性,BGP用它來避免路由環(huán)路,沒有它路由就可能出問題??蛇x屬性:它是可選的,不一定存在于路由更新數(shù)據(jù)報文中,我們設(shè)置它完全是根據(jù)需要。如MED屬性,我們就用它來控制選路。過渡屬性:具有AS間可傳遞性的屬性就是過渡屬性,過渡屬性的域值可以被傳遞到其他AS中去并繼續(xù)起作用。如Origin屬性,路由信息的起源一旦確定,域值會一直存在,無論此路由信息被傳到哪個AS中去。非過渡屬性:只在本地起作用,出了自治系統(tǒng),域值就恢復(fù)成缺省值Page47BGP的路由屬性必遵屬性:在路由更新數(shù)據(jù)報文中必須存在的路由屬性,這種屬性域Page48BGP的路由屬性1、Origin2、AS-Path3、Nexthop4、MED5、Local-Preference6、Atomic-Aggregate7、Aggregator8、Community9、Originator-ID10、Cluster-List11、DestinationPref(MCI)12、Advertiser(Baynet)13、Rcid-Path(Baynet)14、MP_Reach_NLRI15、MP_Unreach_NLRI16、Extended_CommunitiesPage48BGP的路由屬性1、Origin9、OrigiPage49Origin

屬性(起源)一般的,具體的實現(xiàn)按如下方式?jīng)Q定一條路由的Origin屬性某條路由是直接而具體的注入到BGP路由表中的,則origin屬性為IGPBGP把聚合路由和用直接注入到BGP路由表的具體路由看成是AS內(nèi)部的,起點類型設(shè)置為IGP。即用“networkXXXXXXXX”命令注入的路由或者是聚合的路由。路由是通過EGP得到的,則origin屬性為EGP其他情形下,Origin屬性都為IncompleteBGP把通過其它IGP協(xié)議引入的路由起點類型設(shè)置為Incomplete。即用“import”命令注入的路由。Page49Origin屬性(起源)一般的,具體的實現(xiàn)按Page50AS-Path

屬性D(18.0.0.0/8)AS200AS300AS400AS100AS500RTARTB30.0.0.130.0.0.2D,dl400300200D,d2500200

D,d1400300200>D,d2500200路由的AS-Path域在記錄AS-number時,總是把新的AS-numbe放在前面Page50AS-Path屬性D(18.0.0.0/8)AS-Path屬性也是一個必遵屬性,它是路由到達(dá)某個目的地所經(jīng)過的所有AS號碼的序列。BGP使用AS路徑屬性作為路由更新(更新數(shù)據(jù)包)的一部分來確保在Internet上的一個無環(huán)路拓?fù)浣Y(jié)構(gòu)。BGP不會接受AS路徑屬性中包含的本AS自治系統(tǒng)號的路由,因為此路由已經(jīng)被本自治系統(tǒng)處理過了,從而避免了生成路由環(huán)路的可能。為此,BGP在向EBGP對等體通告一條路由時,要把自己的AS號加入到AS路徑屬性中,以記錄此路由通過的AS區(qū)域信息。同時,AS路徑屬性也在影響路由選擇。在其它因素相同的情況下,選擇AS路徑較短的路由。如膠片所示,AS200內(nèi)的網(wǎng)絡(luò)D18.0.0.0/8經(jīng)AS200、AS300、AS400到達(dá)AS100的路徑為d1(400300200),經(jīng)AS200、AS500到達(dá)AS100的路徑為d2(500200),這時BGP優(yōu)先選擇較短的路徑d2。注:路由的AS-Path域在記錄AS-number時,總是把新的AS-numbe放在前面,如上圖,路由先經(jīng)過AS200,記錄:d2(200);路由再經(jīng)過AS500,記錄:d2(500200)。Page51AS-Path

屬性AS-Path屬性也是一個必遵屬性,它是路由到達(dá)某個目的地Page52NextHop

屬性(一)AS100AS2001.1.2.1/24D=8.0.0.0Next_Hop=1.1.1.11.1.1.1/24EBGPEBGPD=8.0.0.0Next_Hop=1.1.2.1IBGPD=8.0.0.0Next_Hop=1.1.2.1AS300IBGPD=8.0.0.08.0.0.01.1.3.1/24RTARTBRTCRTERTFNext_Hop=1.1.3.1Page52NextHop屬性(一)AS100AS20BGP的下一跳屬性和IGP的有所不同,不一定就是鄰居路由器的IP地址。通常情況下,Next_Hop屬性遵循下面的規(guī)則:BGPSpeaker在向EBGP對等體發(fā)布某條路由時,會把該路由信息的下一跳屬性設(shè)置為本地與對端連接的接口地址。BGPSpeaker將本地始發(fā)路由發(fā)布給IBGP對等體時,會把下一跳屬性設(shè)置為發(fā)起該路由的路由器的接口地址。BGPSpeaker在向IBGP對等體發(fā)布從EBGP對等體學(xué)來的路由時,并不改變該路由信息的下一跳屬性。AS100內(nèi)部IBGP對等體間傳遞IBGP內(nèi)部路由。在AS100中,三臺路由器上運行IGP協(xié)議,RTA與RTC之間運行IBGP,則RTA接收到Update報文中目的地址是8.0.0.0的路由的Next_Hop屬性是1.1.3.1,也就是到目的地的始發(fā)路由器RTC的接口地址。Page53NextHop屬性(二)BGP的下一跳屬性和IGP的有所不同,不一定就是鄰居路由器的Page54Local-Preference屬性AS400AS100AS300AS200RTARTBRTCRTDRTERTFD(18.0.0.0/8)30.0.0.130.0.0.220.0.0.120.0.0.2D,local-pref1100D,local-pref2200

D,local-pref1100>D,local-pref2200RTA就會優(yōu)先選擇本地優(yōu)先級高的local

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論