BGP路由協(xié)議原理_第1頁
BGP路由協(xié)議原理_第2頁
BGP路由協(xié)議原理_第3頁
BGP路由協(xié)議原理_第4頁
BGP路由協(xié)議原理_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

BGP路由協(xié)議原理2023/1/13學(xué)習(xí)完此課程,您將會:理解BGP協(xié)議的基本概念和原理了解BGP協(xié)議的路由屬性目標(biāo)第1章BGP協(xié)議概述第2章BGP工作原理第3章BGP路由屬性內(nèi)容介紹1、BGP概述(BGP是什么)BGP是BorderGatewayProtocol邊界網(wǎng)關(guān)路由協(xié)議,屬于距離矢量路由協(xié)議。作用:在AS自治系統(tǒng)之間傳遞路由信息。4個版本:V1、V2、V4、V4+(即MBGP)被TCP承載,端口號179,由TCP來解決可靠性。路由附帶豐富的屬性信息,可以通過控制屬性來控制路由選擇2、為什么要使用BGP——BGP價值傳遞使用BGP的三大理由(1)大量路由需要承載,IGP只能容納千條,而BGP可以容納上萬。(2)支撐MPLS/VPN的應(yīng)用,傳遞客戶VPN路由。(3)策略能力強(qiáng),可以很好的實(shí)現(xiàn)路由決策與數(shù)據(jù)控制。2、為什么要使用BGP——BGPVSOSPFOSPFVSBGP

話說當(dāng)年武林挑選盟主,主辦方IP組織讓OSPF和BGP說各自的修行心得:OSPF:身如路由器,心似轉(zhuǎn)發(fā)表,報文何其多,日夜勤查找。BGP:路由本非器,轉(zhuǎn)發(fā)何需表?報文雖然多,自有他人找。主辦方IP組織宣布BGP獲勝,OSPF不服:“老子日夜辛苦,修行的OSPF心法300多頁,構(gòu)思巧妙,算法復(fù)雜,堪稱武林絕學(xué)。而師弟BGP,終日游山玩水,草草寫了一本70多頁的心法就交差了。”主辦方問:“那么你的心法能夠管理多少設(shè)備多少路由呢?”。OSPF這時才自知不如,無話可說。主辦方繼續(xù)說:“OSPF只能管理設(shè)備百臺,路由千條;而BGP能夠管理整個internet百萬臺路由器,路由十萬余條。原因是:BGP是無為而治,表面看是無所做為,其實(shí)他只是不想過份的拘泥于細(xì)節(jié),OSPF雖然厲害,但是太拘泥于細(xì)節(jié)。最終BGP勝出,但是BGP也知道,他少不了OSPF的這個幫手,他得靠OSPF培養(yǎng)人才(路由)。最終BGP聯(lián)手OSPF,一統(tǒng)江湖,無人能敵。3、BGP協(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ò)編號。沒有BGP的日子里OSPFRIPISISEIGRP有了BGP之后鏈路層協(xié)議生成路由,IGP發(fā)現(xiàn)和計(jì)算路由,BGP控制路由傳播和選擇OSPFRIPISISEIGRPBGPBGPBGPBGP兩種鄰居-IBGP和EBGPEBGPEBGPRTBRTCIBGPRTARTDRTE第1章BGP協(xié)議概述第2章BGP工作原理第3章BGP路由屬性內(nèi)容介紹1、BGP的協(xié)議包報文名稱作用是什么什么時候發(fā)包OPEN協(xié)商BGP鄰居的各項(xiàng)參數(shù),建立鄰居關(guān)系(相遇:你好!我們一起玩吧)通過TCP建立BGP連接,發(fā)送open報文NOTIFICATION報告錯誤,中止鄰居關(guān)系(失?。河蟹制?!我們不合適)當(dāng)在Open交互過程中、或者在后續(xù)運(yùn)行中發(fā)現(xiàn)錯誤時,要發(fā)送NOTIFICATION報文通告BGP對端UPDATE進(jìn)行路由信息的交換(相戀:把我所有的給獻(xiàn)給你)連接建立后,有路由需要發(fā)送或路由變化時,發(fā)送UPDATE通告對端路由信息KEEPALIVE維持鄰居關(guān)系(熱戀:每天短信訴相思)定時發(fā)送KEEPALIVE報文以保持BGP鄰居關(guān)系的有效性2、BGP報文封裝格式單播形式發(fā)送LinkLayerHeaderIP頭TCP頭BGPProtocolPacketFrameChecksumIP協(xié)議號為6TCP端口號為179BGP

ProtocolHeaderBGP

PacketMarker(16byte)Length(2byte)Type(1byte)標(biāo)識BGP報文類型Open報文類型Open報文是由BGP報文頭(報文頭type=1)加如下結(jié)構(gòu)構(gòu)成HoldTimeVersionMyAutonomousSystemBGPIdentifierOptionalParamentersOptionalParamentersLength擴(kuò)展參數(shù),如MBGP、GR、route-refresh接收不到鄰居的Update或Keepalive所能等待的最長時間。此值默認(rèn)為180sUpdate報文類型UpdateMessage用于BGP路由的更新Update報文由BGP報文頭(type=2)加如下結(jié)構(gòu)構(gòu)成WithdrawnRoutesUnfeasibleRoutesLengthPathAttributeLengthNetworkLayerReachabilityInformationPathAttribute撤銷的路由路由屬性更新的路由Keepalive報文類型KeepaliveMessage用于保持BGP鄰居之間的會話缺省60秒發(fā)一次給PeerKeepalive(type=4)報文只有BGP報文頭Marker(16byte)Length(2byte)Type(1byte)Notification報文類型NotificationMessage用于終止BGP鄰居間的會話BGP進(jìn)程遭遇錯誤或設(shè)備出現(xiàn)問題OpenMessage交互的過程中,如果設(shè)備發(fā)現(xiàn)OpenMessage中協(xié)商的某些參數(shù)不匹配,就會發(fā)送一個NotificationMessage并中斷連接。Notification報文由BGP報文頭(type=3)加如下結(jié)構(gòu)構(gòu)成DataErrorCodeErrorSubcode3、BGP工作流程——有限狀態(tài)機(jī)FSMActiveOpen-sentOpen-confirmEstablishedIdleConnectConnect-RetrytimerexpiryTCPconnectionfailsConnect-RetrytimerexpiryStartOthersTCPconnectionfailsErrorErrorErrorKeepAlivetimerexpiryKeepAlivepacketreceived1.KeepAlivetimerexpiry2.Updatereceived3.KeepAlivereceivedCorrectOPENpacketreceivedTCPconnectionsetupTCPconnectionsetupOthers3、BGP工作流程——鄰居狀態(tài)機(jī)一覽表Peer狀態(tài)名稱發(fā)什么包在做什么Idle嘗試建立TCP連接開始準(zhǔn)備TCP的連接并監(jiān)視遠(yuǎn)程peer啟動TCP連接,啟用BGP時,要準(zhǔn)備足夠的資源Connect發(fā)TCP包正在進(jìn)行TCP連接,等待完成中,認(rèn)證都是在TCP建立期間完成的。如果TCP連接不上則進(jìn)入Active狀態(tài),反復(fù)嘗試連接。Active發(fā)TCP包反復(fù)嘗試TCP連接,OpenSent發(fā)Open包TCP連接建立已經(jīng)成功,開始發(fā)送Open包,Open包攜帶參數(shù)協(xié)商對等體的建立。OpenConfirm發(fā)Keepalive包參數(shù)、能力特性協(xié)商成功,自己開始發(fā)送Keepalive包,等待對方的Keepalive包。Established發(fā)Update包已經(jīng)收到對方的Keepalive包,雙方能力特性一致,開始使用Update通告路由信息。4、BGP工作機(jī)制在BGP對等體建立之前,對等體之間首先進(jìn)行TCP連接。BGP鄰居間會通過Open消息協(xié)商相關(guān)參數(shù),建立起B(yǎng)GP對等體關(guān)系。BGP鄰居剛建立時,發(fā)送整個BGP路由表交換路由信息,之后為了更新路由表只交換更新消息(updatemessage)。系統(tǒng)在運(yùn)行過程中,通過接收和發(fā)送keep-alive消息來檢測相互之間的連接是否正常的。成為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/8RTBAS200OSPF成為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/8OSPFRTBAS200成為BGP路由的途徑之三:靜態(tài)注入人為配置靜態(tài)路由18.0.0.1/8把人為配置的靜態(tài)路由注入到RTB的BGP路由表中18.0.0.1/8AS200RTBBGP路由通告原則存在多條路徑時,BGPSpeaker只選取最優(yōu)的使用(非負(fù)載分擔(dān))BGPSpeaker只把自己使用的路由通告給相鄰體BGPSpeaker從EBGP獲得的路由會向它所有BGP相鄰體通告(包括EBGP和IBGP)BGP

Speaker從IBGP獲得的路由不向它的IBGP相鄰體通告(如果存在RR呢)BGPSpeaker

從IBGP獲得的路由是否通告給它的EBGP相鄰體要依IGP和BGP同步的情況來決定連接一建立,BGPSpeaker按照以上原則,把自己所有BGP路由通告給新相鄰體BGP路由通告原則BGP

Speaker從IBGP獲得的路由不向它的IBGP相鄰體通告。AS42AS12AS14R-14R-12RTARTBRTDRT-CX12…EBGPIBGPX12…X12…BGP路由表與系統(tǒng)路由表的關(guān)系存在多條路徑時,BGPSpeaker只選取最優(yōu)的使用(非負(fù)載分擔(dān)時)BGPSpeaker只把自己使用的最優(yōu)路由通告給相鄰體BGPSpeaker只把自己使用的最優(yōu)的路由加入到路由表中BGP同步BGPSpeaker

從IBGP獲得的路由是否通告給它的EBGP相鄰體要依IGP和BGP同步情況決定(解決方法:RB上配置靜態(tài)并發(fā)布讓同步或者取消同步)取消同步的條件:全連接(但是全連接也會產(chǎn)生一個問題:IBGP缺省不改變下一跳。)。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/24IBGP全互聯(lián)IBGP全互聯(lián)

AS內(nèi)部的所有路由器都運(yùn)行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會話IBGP全互聯(lián)的解決方案路由反射器

AS內(nèi)部的所有路由器都運(yùn)行bgp,在AS內(nèi)部部署路由反射器,構(gòu)建hubandspoke的ibgp(會話數(shù)為N-1),然后關(guān)閉所有bgp路由器的同步.問題:此方案可以使bgp路由器傳遞ibgp路由到ebgp,并保證bgp路由的連通性,但是對物理拓?fù)溆泻艽蟮南拗啤GP路由反射路由反射器(RouteReflector)AS101AS100AS102IBGPEBGPRRClientClientClientclientclientnonclientAS100RRAS200路由反射器的規(guī)則RR從clients和nonclients收路由更新后路由反射的規(guī)則按照BGP的基本選路原則,選出最佳路由,只通告最佳路由從client收到的更新,反射到nonclients和clients從nonclient收到的更新,反射到clients從EBGP鄰居收到的更新,反射到所有nonclients和clientsIBGP全互聯(lián)的解決方案2.bgp聯(lián)盟AS內(nèi)部的所有路由器都運(yùn)行bgp,把一個原始的AS基于網(wǎng)絡(luò)拓?fù)鋭澐譃槿舾蓚€sub-AS(又稱聯(lián)盟AS),聯(lián)盟AS之間的bgp鄰居叫做聯(lián)盟ebgp,不需要fullmeshbgp會話;在每個聯(lián)盟AS內(nèi)部運(yùn)fullmeshibgp或者h(yuǎn)ubandspoke反射器,然后就可以關(guān)閉所有路由器的bgp同步功能.結(jié)論:bgp聯(lián)盟結(jié)合路由反射器的方式,較好的解決了bgp的同步規(guī)則帶來的需求,是最為有效的解決方案.BGP聯(lián)盟聯(lián)盟(Confederation)AS100IBGPEBGPAS1001AS1003AS1002AS101EBGP_Confed第1章BGP協(xié)議概述第2章BGP工作原理第3章BGP路由屬性內(nèi)容介紹BGP屬性作用BGP屬性的作用:描述路由的一組參數(shù),BGP根據(jù)路由的屬性選擇最佳路由,一條路由可能有多個屬性,可以人為置值,以便執(zhí)行路由策略。表達(dá)了路由的特征,同時便于擴(kuò)展。BGP為什么如此強(qiáng)大,如此受歡迎,就是因?yàn)閾碛羞@么多豐富的獨(dú)門功夫,操縱起路由的時候是易如反掌。BGP屬性分類屬性分類:公認(rèn)屬性(Well-known):公認(rèn)必遵(Well-knownmandatory)如:OriginAS-PathNexthopBGP都認(rèn)識,且在路由屬性中必須攜帶公認(rèn)自決(Well-knowndiscretionary)如:Local-PreferenceBGP都認(rèn)識,但不一定必須攜帶可選屬性(Optional)可選可傳遞(Optionaltransitive)如:Community可以不認(rèn)識該屬性,但該屬性可以傳遞到其他BGPspeaker可選不可傳遞(Optionalnon-transitive)如:MED可以不認(rèn)識該屬性,不可以傳遞給其他BGPspeakerBGP的路由屬性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_Communities1、Origin

屬性作用:標(biāo)識路由的來源起點(diǎn)屬性是一個公認(rèn)必遵屬性,它指示路由更新的起源。BGP允許三種類型的起源。某條路由是直接而具體的注入到BGP路由表中的,則origin屬性為IGP路由是通過EGP得到的,則origin屬性為EGP其他情形下,Origin屬性都為Incomplete2、AS-Path屬性公認(rèn)必遵屬性向EBGPpeer通告路由時在AS屬性的最左邊添加自己的AS號(最左邊的是剛經(jīng)過的AS,最右邊的是起源AS)。作用一:描述到達(dá)目標(biāo)網(wǎng)絡(luò)所要經(jīng)過的AS號序列,EBGP使用AS-Path防止循環(huán)。作用二:AS路徑屬性也在影響路由選擇。在其它因素相同的情況下,選擇AS路徑較短的路由。AS-Path

屬性(防止環(huán)路、優(yōu)選AS-Path短的路徑)D(18.0.0.0/8)AS200AS300AS400AS100AS500RTARTB30.0.0.130.0.0.2D,dl400300200D,d2500200

D,d1400300200>D,d25002003、NextHop

屬性公認(rèn)必遵屬性BGP的下一跳屬性和IGP的有所不同,不一定就是鄰居路由器的IP地址。通常情況下,Next_Hop屬性遵循下面的規(guī)則:BGPSpeaker在向EBGP對等體發(fā)布某條路由時,會把該路由信息的下一跳屬性設(shè)置為本地與對端連接的接口地址。BGPSpeaker將本地始發(fā)路由發(fā)布給IBGP對等體時,會把下一跳屬性設(shè)置為發(fā)起該路由的路由器的接口地址。BGPSpeaker在向IBGP對等體發(fā)布從EBGP對等體學(xué)來的路由時,并不改變該路由信息的下一跳屬性。NextHop

屬性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.14、Localpreference屬性的使用Localpreference本地優(yōu)先級公認(rèn)可選屬性,缺省local-pref為100一般只在AS內(nèi)部IBGPpeer之間傳遞,不會傳遞給ebgppeer可以修改設(shè)置local-pref的值,優(yōu)選較高值的路由Local-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-pref2假如RTF上還有19的A類地址,如果想要RTA訪問它的時候,數(shù)據(jù)通過路由器RTD走,可以如何實(shí)現(xiàn)?(這樣就實(shí)現(xiàn)了數(shù)據(jù)的負(fù)載均衡,并有備份)5、MED屬性的使用Medmulti-exit-disc任選非傳遞屬性優(yōu)選較低MED值的;不跨AS傳播相對于local-pref,可以把路由策略傳遞給ebgppeer除非配置了“always-compare-med”,其它時候永遠(yuǎn)只比較來自同一AS的路徑;MED(Multi-Exit-DISC)屬性D(18.0.0.0/8)RTARTBRTC30.0.0.130.0.0.220.0.0.120.0.0.2AS100AS200>D,metric110D,metric220D,metric110D,metric220RTA會選擇metric值較小的metric1IBGP6、Community團(tuán)體屬性作用:標(biāo)識一些有相同性質(zhì)的前綴,給路由打標(biāo)記,以便統(tǒng)一處理,實(shí)現(xiàn)路由過濾和路由選擇Community不限于一個網(wǎng)絡(luò)或一個自治系統(tǒng),沒有物理邊界一個路由可以有多個團(tuán)體屬性。公認(rèn)的CommunityNO_ADVERTISE:不通告給任何的BGP對等體;

NO_EXPORT:不通告給EBGP對等體;INTERNET:可以通告給所有的其他BGP對等體。LOCAL-AS:表示本路徑不發(fā)布到本AS外部,當(dāng)配置聯(lián)盟時,本路徑不發(fā)布給其它的自治系統(tǒng)或子自治系統(tǒng)。私有communityCommunity團(tuán)體屬性的使用私有團(tuán)體是對用戶有意義的數(shù)字四個字節(jié),為增加可讀性,可配置為aa:nn,一般aa建議為AS號,nn代表業(yè)務(wù)。缺省在peer之間不傳遞community屬性,必須針對特定

溫馨提示

  • 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

提交評論