《高級路由技術(理論篇)》 課件 單元8:使用BGP路由實現(xiàn)域間路由選擇_第1頁
《高級路由技術(理論篇)》 課件 單元8:使用BGP路由實現(xiàn)域間路由選擇_第2頁
《高級路由技術(理論篇)》 課件 單元8:使用BGP路由實現(xiàn)域間路由選擇_第3頁
《高級路由技術(理論篇)》 課件 單元8:使用BGP路由實現(xiàn)域間路由選擇_第4頁
《高級路由技術(理論篇)》 課件 單元8:使用BGP路由實現(xiàn)域間路由選擇_第5頁
已閱讀5頁,還剩86頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

單元8:使用BGP路由實現(xiàn)域間路由選擇《高級路由技術》(理論篇)主講教師:XXX技術背景從技術角度講,Internet這樣遍布全世界龐大的網(wǎng)絡,需要一種機制確保信息從世界一端可靠傳輸?shù)搅硪欢?,這個機制就是BGP(BorderGatewayProtocol,邊界網(wǎng)關協(xié)議)。在Internet中使用唯一進行自治系統(tǒng)間路由協(xié)議就是BGP,BGP構成整個Internet的核心網(wǎng)絡,有人把BGP稱為“BGP是Internet的心臟”。學習目標認識邊界網(wǎng)關BGP路由協(xié)議

掌握BGP域間路由技術原理了解BGP路由常見屬性配置BGP路由協(xié)議,實現(xiàn)域間路由選擇8.1認識BGP域間路由 RIP、OSPF和IS-IS等都屬于內部網(wǎng)關協(xié)議(InteriorGatewayProtocol,IGP)。在一個網(wǎng)絡內部,或者一個自治系統(tǒng)(AutonomousSystem,AS)內部提供路由。各個AS系統(tǒng)都有專門技術負責AS內路由、網(wǎng)絡結構及編址方案。一個ISP就是一個AS系統(tǒng),有時一個企業(yè)網(wǎng)絡也為一個單獨AS系統(tǒng)。整個Internet是不同AS系統(tǒng)集合,Internet中每個AS自治系統(tǒng)都有一個唯一自治系統(tǒng)編號,也就是AS號。8.1.1什么是自治系統(tǒng)AS8.1認識BGP域間路由 常見RIP、OSPF路由屬于內部網(wǎng)關協(xié)議(InteriorGatewayProtocol,IGP)。IGP設計在一個AS自治系統(tǒng)內部(通常是園區(qū)網(wǎng)絡)提供路由選擇,在園區(qū)網(wǎng)中提供穩(wěn)定、可擴展以及快速的收斂選路機制。與IGP相對應另一種路由協(xié)議是外部網(wǎng)關協(xié)議(ExteriorGatewayProtocol,EGP)。與IGP不同,EGP的設計并不用于在自治系統(tǒng)內部提供路由選擇功能,EGP用來連接不同自治系統(tǒng),實現(xiàn)不同的AS自治系統(tǒng)之間路由選擇。8.1.2區(qū)別IGP與EGP8.2熟悉BGP路由特征BGP也是一種矢量路由協(xié)議,BGP通告的也是鄰居路由表信息。但BGP不使用跳數(shù),使用一系列路徑屬性衡量路由優(yōu)劣,稱之為路徑矢量路由協(xié)議。在BGP路由計算中,最典型路徑屬性是AS列表,BGP路由器對外通告每一條路由,都包括一個列表:記錄這條路由經(jīng)過AS號。AS列表說明如果要到達目的地,途中經(jīng)過哪些AS。8.2.1BGP路徑矢量特征8.2熟悉BGP路由特征距離矢量路由協(xié)議RIP使用水平分割來、毒性逆轉、觸發(fā)更新等機制避免環(huán)路產生;OSPF使用SPF算法避免環(huán)路。BGP也需要防止路由環(huán)產生。BGP通過檢測收到路由AS列表。如果AS列表中包含自己AS號,丟棄這條更新,意味著這條路由之前已經(jīng)過本地AS,并被通告出去。如果接收將導致路由環(huán)路產生。8.2.2BGP環(huán)路檢測機制8.2熟悉BGP路由特征Internet采用逐跳路由選擇模式,BGP非常適用于當前Internet的AS間路由選擇。BGP路由支持遵循逐跳路由選擇策略,也就是說,網(wǎng)絡管理人員不能左右鄰接AS,如何轉發(fā)數(shù)據(jù)流,但可以決定數(shù)據(jù)流如何前往指定AS。如圖AS65006經(jīng)過AS65004,到達AS65001中192.0.1.0/24目標網(wǎng)絡,可以采用多條路徑傳輸。雖然AS65006經(jīng)過AS65004到達AS65000有多條路徑選擇;但實際上,AS65006并不知道所有路徑,因為AS65004只將其最佳路徑:“65004—>65002—>65000”,通告給AS65006。8.2.3BGP逐跳路由選擇特征8.3了解BGP的鄰居關系RIP使用UDP作為傳輸協(xié)議,使用端口號為UDP520;OSPF的路由協(xié)議報文承載在IP報文,使用的IP協(xié)議號為89。而BGP使用TCP作為傳輸協(xié)議,其端口號為TCP179。這也是第一個以TCP作為傳輸協(xié)議的路由協(xié)議。BGP使用TCP作為傳輸協(xié)議,是因為TCP是面向連接協(xié)議,可以保障路由傳輸可靠性。由于TCP協(xié)議擁有確認和重傳機制,這樣BGP路由信息傳輸中就無需支持確認、重傳機制,簡化了BGP的實現(xiàn)。BGP利用TCP協(xié)議來實現(xiàn)路由會話的建立、流量控制、重傳和會話拆除;提供可靠、穩(wěn)定的AS域間路由選擇,相比OSPF這樣的IGP協(xié)議,BGP路由協(xié)議不是非常關注網(wǎng)絡的收斂速度。8.3.1熟悉BGP協(xié)議報文8.3了解BGP的鄰居關系在BGP中,把運行BGP的路由器稱BGP發(fā)言者(BGPSpeaker)。Internet中存在著成千上萬BGP發(fā)言者。每個BGP發(fā)言者無法與所有BGP發(fā)言者建立鄰居關系,通常都是本地AS內的BGP發(fā)言者與鄰居AS發(fā)言者。在BGP中,BGP鄰居另個叫法為BGP對等體(BGPPeer)。BGP使用TCP建立對等體間會話。當兩個BGP發(fā)言者之間建立起TCP連接后,雙方發(fā)送Open(打開)消息,標識自己,建立鄰居關系。BGP鄰居關系分為:外部BGP(EBGP,ExternalBGP)和內部BGP(IBGP,InternalBGP)。8.3.2區(qū)別EBGP與IBGP8.3了解BGP的鄰居關系External/ExteriorBGP,外部BGP,運行于不同AS之間的BGP稱為外部BGP。為了防止AS之間產生環(huán)路,當BGP設備接受EBGP對等體發(fā)來的路由時,會將路由信息AS_path列表中帶有本地AS號的路由丟棄。EBGP將路由信息從一個自治系統(tǒng)傳遞到另一個自治系統(tǒng),在不同的自治系統(tǒng)之間交換路由選擇信息。默認情況下,BGP協(xié)議要求建立EBGP鄰居關系的兩個BGP發(fā)言者,必須在物理上直接相連。但也可以改變EBGP這種默認行為,在非直連的兩個BGP發(fā)言者之間建立EBGP鄰居。當需要在非直連的兩個BGP發(fā)言者之間建立EBGP鄰居時,稱為EBGP多跳(EBGP-Multihop)。8.3.3掌握EBGP鄰居關系8.3了解BGP的鄰居關系使用AS路徑列表,不能防止AS自治系統(tǒng)內部的BGP路由環(huán)路,是因為當一條BGP路由在AS自治系統(tǒng)內部傳遞時,AS列表并不會產生變化。對于一個BGP發(fā)言者來說,只有當它將路由通告給它的EBGP對等體時,才會將本地的AS號添加到AS路徑列表中。AS路徑列表中也不記錄在自治系統(tǒng)內部處理過該路由信息的路由器。如圖中AS65001中BGP發(fā)言者,三臺路由器R1、R2、R3間建立IBGP鄰居關系。R1路由器從外部自治系統(tǒng)BGP發(fā)言者R4路由器上,收到BGP路由通告。然后,將此路由信息,通告給本地自治系統(tǒng)中的IBGP對等體R2和R3路由器。8.3.4掌握IBGP鄰居關系和水平分割8.4生成BGP路由表BGP路由不僅僅生成、更新一張路由表,BGP路由還維護著一張鄰居列表,列表中是記錄所有與本地建立了鄰居關系的BGP對等體。BGP路由將從鄰居路由器上接收到的所有BGP路由,都加入到BGP路由表中;然后,再進行路徑的選擇。但是BGP最終只會把最優(yōu)路徑,加入到IP路由表中,通過IP路由表中的路由條目,指導接受到IP數(shù)據(jù)包轉發(fā)。當本地BGP對等體,將BGP路由通告給鄰居時,仍然是將BGP路由表中的路由條目通告給鄰居。鄰居收到后,也會將路由加入到它的BGP路由表中。8.5掌握BGP基礎配置啟用BGP路由協(xié)議后,路由器將不會自動與任何對等體,需要建立鄰居關系并通告路由信息。由于BGP路由使用TCP會話來完成所有的操作,所以必須通過手工的方式,為BGP路由器指定它要與哪個對等體建立鄰居關系。在BGP路由協(xié)議工作過程中不存在任何自動發(fā)現(xiàn)、并自動建立鄰居關系的機制。在BGP路由進程模式下,使用如下命令通過手工的方式指定對等體。8.5.1BGP基本配置8.5掌握BGP基礎配置默認情況下,BGP路由協(xié)議按照BGP的路徑屬性,使用BGP路由下一跳(Next_hop)屬性規(guī)則,以及BGP發(fā)言者設置下一跳(Next_hop)屬性規(guī)則,對外通告BGP路由。但有時需要針對BGP的下一跳屬性進行修改,簡化BGP路由選擇操作。AS1中存在一條指向1.0.0.0/8網(wǎng)絡路由,現(xiàn)在需要將這個網(wǎng)絡通告給AS2中的BGP路由器。8.5.2配置BGP下一跳屬性8.5掌握BGP基礎配置當需要在本地的BGP發(fā)言者上,斷開與某個對等體的鄰居關系時,可以在BGP路由進程模式下使用如下命令。neighborip-addressshutdown使用此命令斷開與某個BGP對等體的鄰居關系時,無需刪除與這個鄰居有關的配置。當需要重新啟用與對等體的鄰居關系時,使用如下命令恢復。noneighborip-addressshutdown8.5.3關閉BGP鄰居8.6熟悉BGP路由消息類型BGPv4協(xié)議有5種消息報文:open(建立)、update(更新)、notification(通知)、keepalive(保持活躍)、route-refresh(路由刷新),承擔的功能描述如下。Open消息是TCP連接建立后發(fā)送的第一個報文,包含本地speaker信息以及與后面對等體之間建立TCP會話的信息,實現(xiàn)建立BGP對等體之間的連接關系。BGP用Open消息來建立BGP鄰居關系。當BGP發(fā)言者之間的TCP連接建立起來后,雙方都要發(fā)送一個Open消息標識自己。Open消息中所有信息都要被協(xié)商和接受。當BGP發(fā)言者通過發(fā)送和接收Open消息,建立起B(yǎng)GP鄰居關系后,雙方就開始使用Update消息交換路由信息。Update消息中包含可達路由、需要刪除的路由和BGP路徑屬性值。8.7了解BGP路由狀態(tài)機當路由器啟用了BGP路由后,首先進入的就是空閑狀態(tài)(Idle)狀態(tài)。在Idle狀態(tài)下,BGP發(fā)言者不會接收BGP的會話請求,這時,BGP進程不會擁有任何資源。只有在收到BGPStart事件(IE1)后,才會給BGP進程分配資源。當BGPStart事件發(fā)生后,BGP路由器開始初始化它的BGP資源,并嘗試和已配置BGP對等體建立TCP會話;同時,它也將偵聽來自對等體的TCP會話請求。如果由于TCP連接被關閉或者其他錯誤等,狀態(tài)機將保持在Idle狀態(tài)。如果沒有發(fā)生任何異常,狀態(tài)機將過渡到連接(Connect)狀態(tài)。通常BGP狀態(tài)機如果停留在Idle狀態(tài),可能有以下原因。在遠端對等體上沒有正確的配置本地對等體的IP地址和自治系統(tǒng)號。在本地對等體上沒有正確的配置遠端對等體的IP地址和自治系統(tǒng)號。本地或對端沒有到達對方的路由。訪問控制列表或防火墻阻斷了TCP的179端口,因為BGP需要使用它。8.7.1空閑狀態(tài)(Idle)8.7了解BGP路由狀態(tài)機在連接狀態(tài)(Connect)狀態(tài)下,BGP等待TCP連接的建立。如果TCP連接建立成功,狀態(tài)機過渡到打開發(fā)送(OpenSent)狀態(tài)。如果TCP連接沒有成功建立,狀態(tài)機將過渡到激活狀態(tài)(Active)。如果連接重試計時器超時,狀態(tài)機仍保持在Connect狀態(tài)。如果遇到其他事件(見表6-1),狀態(tài)機將返回到Idle狀態(tài)。8.7.2連接狀態(tài)(Connect)8.7了解BGP路由狀態(tài)機如果BGP發(fā)言者無法和對等體建立TCP連接,那么狀態(tài)機將進入到Active狀態(tài)。此時,BGP發(fā)言者嘗試重新進行TCP會話連接,并重置重連接計時器。如果在重連接過程中成功建立TCP連接。那么將發(fā)送一個Open消息,并過渡到OpenSent狀態(tài)。如果在重連接計時器超時后,還沒有建立TCP會話,狀態(tài)機將重啟重連接計時器,并返回Connect狀態(tài)。8.7.3激活狀態(tài)(Active)8.7了解BGP路由狀態(tài)機當BGP對等體之間成功建立了TCP連接后,BGP發(fā)言者便發(fā)送一個Open消息,從而進入OpenSent狀態(tài)。此時,本地對等體將等待遠端發(fā)送Open消息。當收到對端Open消息后,BGP對等體檢查消息中字段是否匹配。如果發(fā)現(xiàn)了錯誤,將會給遠端對等體發(fā)送一個Notification消息,并返回到Idle狀態(tài)。如果此時TCP連接斷開,狀態(tài)機將返回Active狀態(tài)。如果在檢查Open消息時,檢測到錯誤,BGP將發(fā)送一個Keepalive報文,并且重置Keepalive計時器。在這個階段,雙方要協(xié)商保持時間,并且選擇雙方中較小的保持時間;之后,狀態(tài)機將過渡到OpenConfirm狀態(tài)。通常BGP不會在OpenSent狀態(tài)停留較長時間。當本地對等體收到遠端的OPEN消息后,將會很快發(fā)送一個Keepalive報文,并過渡到OpenConfirm狀態(tài)。8.7.4打開發(fā)送狀態(tài)(OpenSent)8.7了解BGP路由狀態(tài)機在打開確認狀態(tài)(OpenConfirm)狀態(tài)下,本地對等體將等待從遠端收到一個Keepalive報文。如果收到對端的Keepalive報文,過渡到最終已建立狀態(tài)(Established)。如果收到了一個Notification消息,將返回到Idle狀態(tài)。BGP對等體只會在打開確認狀態(tài)(OpenConfirm)停留一定時間,來等待Keepalive報文。如果在保持計時器超市后,還沒有收到報文,將返回到Idle狀態(tài)。8.7.5打開確認狀態(tài)(OpenConfirm)8.7了解BGP路由狀態(tài)機已建立狀態(tài)(Established)是BGP對等體協(xié)商的最終狀態(tài)。在這個狀態(tài)下,BGP對等體開始通過發(fā)送Update報文,交換路由信息。當對等體收到Update或Keepalive報文后,保持計時器將被重置。如果收到Notification消息,則返回到Idle狀態(tài)。如果BGP對等體在Update消息中檢測到錯誤,它將發(fā)送一個Notification消息到對等體,并且返回Idle狀態(tài)。如果保持計時器超時,或者由于其他的一些事件,如BGPStop,狀態(tài)機也將返回到Idle狀態(tài)。8.7.6已建立狀態(tài)(Established)8.8掌握BGP路徑屬性起源屬性(ORIGIN)是公認、強制屬性,指明這條路由信息來源。在BGP更新中,每條路由信息都包括這種屬性,而且接收它的BGP發(fā)言者,也必須識別和處理這種屬性。當BGP發(fā)言者擁有到達相同目的網(wǎng)絡的路由時,起源屬性作為一個決定路徑優(yōu)劣因素。這里的起源,是指始發(fā)BGP發(fā)言者,將這條路由通告到BGP中的方式。R1路由器擁有一條直連路由1.0.0.0/8,R2路由器擁有一條直連路由2.0.0.0/8。R1路由器使用network將直連路由通告到BGP中,R2路由器通過redistribute將直連路由重分發(fā)到BGP中。當R4路由器收到這兩條路由后,看到1.0.0.0/8路由的起源屬性為“i”;2.0.0.0/8路由的起源屬性為“?”。8.8.1起源屬性8.8掌握BGP路徑屬性AS1中的路由器R1作為始發(fā)路由器,將路由1.0.0.0/8通告到BGP中,在發(fā)送給EBGP鄰居之前,將本地的AS號加入到AS路徑列表中。但是R1路由器從本地來看,1.0.0.0/8的路徑屬性為空。R2路由器收到此路由通告后,看到AS的路徑列表為“1”,表明該條路由始于AS1。R2再將路由通告給它的IBGP鄰居R3路由器時,不會修改AS路徑列表,所以R3路由器看到的路徑列表仍然為“1”。R3路由器把這條路由再通告給EBGP鄰居R4路由器時,就會附加上本地的AS號。此時,R4路由器看到這條路由的路徑列表就為“2,1”,表明該路由始于AS1,并在傳輸路徑中經(jīng)過了AS2。對于路由器R4來說,如果要到達網(wǎng)絡1.0.0.0/8,需要先后經(jīng)過AS2和AS1二個自治域。8.8.2AS路徑屬性8.8掌握BGP路徑屬性下一跳屬性(NEXT_HOP)也是一個公認又強制屬性,所有的BGP路由攜帶該屬性,所有BGP發(fā)言者都必須識別和處理該屬性。下一跳屬性指出要到達目標網(wǎng)絡,需要將數(shù)據(jù)發(fā)送到的下一個接口的地址或者路由器。在IP路由表中,所有路由都有下一跳,告訴路由器應將收到IP數(shù)據(jù)包發(fā)送到哪里。在BGP路由表中,下一跳也一樣,告訴路由器去往某自治系統(tǒng)中的網(wǎng)絡時,應該將數(shù)據(jù)包送往何處。但在BGP中,對于EBGP路由和IBGP路由下一跳,存在一些差別。8.8.3下一跳屬性8.8掌握BGP路徑屬性R2路由器通過EBGP網(wǎng)絡,從R1路由器上接收到1.0.0.0/8的路由更新,路由的下一跳屬性為200.1.1.1,即R1路由器發(fā)送路由更新的地址。當R2路由器再將該路由通告給IBGP中的鄰居路由器R3時,根據(jù)BGP路由的規(guī)定,R2路由器不對此路由的下一跳進行修改。也就是說,當R3路由器接收到這條路由后,看到的下一條屬性仍然為200.1.1.1,而不是R2發(fā)送路由更新的地址10.1.1.1。這就是指EBGP通告下一跳屬性,會被傳遞到IBGP中。需要注意的是:BGP是一個以自治系統(tǒng)為跳數(shù)路由協(xié)議,所有EBGP通告下一跳會傳輸?shù)洁従覣S中。8.8.3下一跳屬性8.8掌握BGP路徑屬性本地優(yōu)先級屬性(LOCAL_PREF)是一個公認的、自由決定屬性,也就是說每個BGP發(fā)言者都必須能夠識別該屬性,但是BGP更新中可以不攜帶該屬性。本地優(yōu)先級屬性也是BGP協(xié)議進行路徑?jīng)Q策屬性,優(yōu)先級越高(數(shù)值越大)的路徑,被選為最佳路徑可能性越大。如果BGP發(fā)言者收到多條到達同一目標網(wǎng)絡路徑,它將比較這些路徑本地優(yōu)先級,選擇本地優(yōu)先級最高作為最佳路徑,本地優(yōu)先級默認值為100。需要注意的是:本地優(yōu)先級屬性只在AS內部傳播,也就是IBGP對等體之間。它不會被通告給EBGP對等體,這也是“本地”一詞的意義。本地優(yōu)先級屬性用來指導本地AS中的路由器,如果數(shù)據(jù)流要離開本地AS,需要通過首選路徑是哪條。8.8.4本地優(yōu)先級屬性8.8掌握BGP路徑屬性多出口鑒別器屬性(MED)是一個可選的、非傳遞屬性。MED也稱為度量值(metric),被稱為AS間度量值。它可以影響B(tài)GP路徑選擇過程。MED屬性與本地優(yōu)先級屬性不同,MED屬性可以在自治系統(tǒng)之間傳送。也就是說MED屬性可以被發(fā)送給EBGP的對等體。當其他自治系統(tǒng)接收到MED屬性后,會將其傳播給IBGP對等體。但是,當該路由再被通告給另一個自治系統(tǒng)時,MED屬性值將會丟失。R1路由器將設置了MED屬性值的路由,通告給R2路由器;此時,MED屬性值也被傳播到R2路由器上。接下來,R2路由器將該路由通過IBGP網(wǎng)絡,通告給R3路由器時,仍然攜帶MED屬性值。但是,當R3路由器再將其通告給其他自治系統(tǒng)時,MED屬性值將不被傳播。8.8.5多出口鑒別器屬性8.8掌握BGP路徑屬性AS65000域通過設置通告給EBGP鄰居的MED屬性值,可以影響數(shù)據(jù)流進入本地自治系統(tǒng)的路徑,即所有發(fā)往本地自治系統(tǒng)1.0.0.0/8網(wǎng)絡的數(shù)據(jù),都會從R2路由器進入。需要說明的是:通過設置路由的MED屬性值,只能影響鄰接AS將數(shù)據(jù)發(fā)往本地AS的入口,MED屬性值不能影響數(shù)據(jù)進入AS65001的路徑。因為MED屬性值不會再被傳遞到AS65001以外自治系統(tǒng),而且BGP遵循逐跳路由選擇模式。在默認情況下,BGP路由只比較來自相同自治系統(tǒng)路由MED值。雖然AS1與AS2都設置了路由的MED屬性值,但是AS65001中的BGP發(fā)言者,將會忽略路由的MED值,不將其作為路徑?jīng)Q策的依據(jù)。如果要使BGP比較來自不同自治系統(tǒng)中路由的MED值,必須在BGP路由進程模式下,使用“bgpalways-compare-med”命令,改變BGP的默認行為。8.8.5多出口鑒別器屬性8.9BGP高級配置當使用neighbor命令為本地對等體指定對端IP地址后,本地BGP進程查找路由表,選擇到達對端IP地址最優(yōu)出接口和源IP地址。在使用neighbor命令時,對等體雙方配置到對端IP地址必須對應,或者說互為鏡像,這樣才能成功建立鄰居關系。默認情況下,BGP選擇本地的源地址都通過查找路由表并使用物理接口IP地址。但在一個自治系統(tǒng)內部中存在大量BGP對等體,如果全部使用物理地址作為對端IP地址,將帶來更多配置工作,而且很容易因為少一條配置,導致鄰居關系不能建立。8.9.1配置EBGP多跳和源地址8.9BGP高級配置正常情況下,如果要實現(xiàn)BGP冗余備份,需要在路由器R1和R2上分別建立兩個BGP鄰居關系,也就是建立兩個TCP會話,兩個TCP會話各使用一條物理鏈路。通過這種方式建立連接,實現(xiàn)鏈路的冗余備份。但使用兩條物理鏈路建立連接,會存在一些弊端。首先,TCP連接是建立在物理接口之間,但是物理接口可能會由于某些故障失效。其次,R1和R2路由器之間存在兩個TCP會話,也就是存在兩個鄰居關系,這對于BGP來說要多維護一個連接,會消耗系統(tǒng)資源。此外,雖然R1和R2路由器之間存在兩個會話,但是BGP在同一時刻只會使用一個BGP連接去發(fā)送數(shù)據(jù),因為BGP要從兩個路徑中選出一條最佳路徑。被選為最優(yōu)的那條物理鏈路出現(xiàn)故障后,會造成路由的重新收斂。8.9.1配置EBGP多跳和源地址8.9BGP高級配置BGP支持路由聚合和CIDR。路由聚合可以減小IP路由表的大小,如果沒有路由聚合,Internet上路由表的規(guī)模將會呈倍數(shù)的增長。此外,路由聚合可以用來減小BGP對等體之間通告路由的數(shù)目。在BGP路由進程模式下,使用如下命令配置BGP路由聚合。Aggregate-addressnetworkmask[as-set][summary-only]network參數(shù)表示聚合后網(wǎng)絡地址,mask表示聚合后子網(wǎng)掩碼。使用as-set參數(shù)后,聚合路由中包括詳細路由AS路徑信息,即AS_SET。summary-only參數(shù)表示對多條路由聚合后,只通告聚合后路由。默認情況下,既通告通告聚合后路由,也通告詳細路由。8.9.2配置BGP路由聚合8.9BGP高級配置BGP路由默認優(yōu)先級為100。在BGP路由模式下,使用如下命令修改本地優(yōu)先級。bgpdefaultlocal-preferencepreference。該命令修改本地BGP發(fā)言者收到EBGP路由本地優(yōu)先級,修改后本地優(yōu)先級值,將隨著路由被通告到IBGP對等體。該命令對所有收到路由本地優(yōu)先級修改,所以當僅僅控制到達某條目標網(wǎng)絡的出口路徑時,這條命令配置將不能滿足要求。R1和R2路由器同時從不同AS,收到了到達同一目標網(wǎng)絡的路由,但企業(yè)網(wǎng)絡想把去往1.0.0.0/8網(wǎng)絡數(shù)據(jù)流,通過R2路由器出口傳輸。8.9.3配置本地優(yōu)先級8.9BGP高級配置命令中metric參數(shù)是通告給EBGP對等體路由,設置默認MED值,這個MED值與路由一同通告給EBGP對等體。通過控制路由MED值,對進入本地自治系統(tǒng)數(shù)據(jù)流控制。所有進入本地自治系統(tǒng)(AS1)數(shù)據(jù)流,都使用路由器R1的進入路徑,造成R1外部鏈路負載過高,而R2外部路徑利用率極低,導致帶寬資源不能被合理地利用。為了解決這個問題,實現(xiàn)到達本地網(wǎng)絡3.0.0.0/8和4.0.0.0/8數(shù)據(jù)流量,從R2路由器上進入,合理利用帶寬資源?,F(xiàn)修改R1和R2路由器默認MED值,使R1路由器通告給AS2路由器路由MED值為500;路由器R2通告給AS2路由MED值為400。8.9.4配置MED屬性值8.10優(yōu)化大型網(wǎng)絡中BGP在BGP路由中,具有相同策略和角色的對等體,可以將其加入到一個組中;然后,對于這個組進行統(tǒng)一策略配置,這個組被稱為對等體組(peer-group)。對等體組極大地簡化了配置BGP路由的工作量,而且本地路由器策略執(zhí)行的效率也大大增強。如果單獨地為50個對等體設置策略,那么,路由器也將對本地的策略數(shù)據(jù)庫訪問50次。如果對一個對等體組設置策略,那么路由器僅僅訪問本地策略數(shù)據(jù)庫1次。在BGP路由進程模式下,使用如下命令創(chuàng)建對等體組。8.10.1對等體組8.10優(yōu)化大型網(wǎng)絡中BGP在BGP路由的水平分割原則中,BGP對等體不將從IBGP收到的路由更新,再通告給其他的IBGP對等體,這樣是為了避免潛在的環(huán)路。因此BGP的水平分割原則,必須在自治系統(tǒng)內部建立全互聯(lián)(full-mesh)的IBGP鄰居關系,這樣才能確保所有的BGP發(fā)言者,都能收到來自外部的路由信息。但全互聯(lián)的IBGP拓撲不具有擴展性,并且為了在一個擁有眾多BGP對等體的網(wǎng)絡中,建立全互聯(lián)IBGP鄰居關系,需要大量的手工配置工作。,為了在自治系統(tǒng)內部建立全互聯(lián)的IBGP鄰居關系,需要在每個發(fā)言者上,配置到達其他對等體的地址,因此,需要建立IBGP會話數(shù)將是n(n-1)/2。如圖中自治系統(tǒng)內部共有6個BGP發(fā)言者,所以一共建立了15條IBGP連接。8.10.2路由反射器8.10優(yōu)化大型網(wǎng)絡中BGP路由反射器不會將一條路由再通告給路由的始發(fā)者。如果由于某種原因,路由的始發(fā)者又收到該路由,它通過檢查始發(fā)者ID屬性中路由器ID值,可以將該路由忽略。路由反射器與其客戶所組成集合被稱為集群(cluster)。自治系統(tǒng)內的每一個集群都用一個集群ID(clusterID)標識,集群ID就是路由反射器的路由器ID。其中,集群列表屬性(CLUSTER_LIST)也是一個可選的、非傳遞屬性,它記錄了路由所經(jīng)過的集群,并使用一個集群列表進行表示。當路由反射器將一條路由,發(fā)送給集群外的非反射器客戶時,它將本集群的集群ID添加到集群列表中。如果CLUSTER_LIST為空,它會創(chuàng)建該列表,并將集群ID加入進去。8.10.2路由反射器8.10優(yōu)化大型網(wǎng)絡中BGP在上述第三個規(guī)則中,雖然RR路由器將從EBGP對等體收到路由通告給client,但實際上這個過程不叫路由反射。只用當RR路由器將通過IBGP收到路由發(fā)送給client時,RR所作操作才被稱為反射。根據(jù)路由反射原則了解路由反射過程。R3路由器從R6路由器收到一條路由,R3路由器將其通告給路由器R7(client)、R1(非client)和R2(非client)。8.10.2路由反射器8.10優(yōu)化大型網(wǎng)絡中BGP在一個自治系統(tǒng)中,可以部署多個路由反射器,這樣可以更大限度的減少所需的IBGP會話數(shù)。路由反射器支持層次結構的設計,也就是說一個路由反射器可以是另一個路由反射器的客戶。AS1內存在兩個集群Cluster1和Cluster2。R1路由器為Cluster1的RR路由器,R2路由器為Cluster2的RR路由器。同時,路由器R2又充當R1的client的角色。這就是具有層次結構的路由反射拓撲。使用層次的路由反射結構,可以更大粒度的減少所需的IBGP會話數(shù),但是這種層次的設計也為路由的維護、跟蹤和故障診斷帶來了復雜性。雖然理論上路由反射對于層次數(shù)量沒有限制,但通常推薦只使用兩級的層次設計。8.10.2路由反射器8.10優(yōu)化大型網(wǎng)絡中BGP與路由反射器一樣,聯(lián)盟(Confederations)也用來減少大型自治系統(tǒng)中IBGP會話數(shù)目龐大問題。路由反射器通過放寬BGP水平分割限制,來減少需要建立IBGP會話數(shù)。聯(lián)盟核心思想是將一個大自治系統(tǒng)劃分成若干個子自治系統(tǒng)。子自治系統(tǒng)與子自治系統(tǒng)之間通過聯(lián)盟內EBGP互聯(lián),子自治系統(tǒng)內部仍然是全互聯(lián)的IBGP拓撲。AS1內共有8個BGP發(fā)言者。如果要建立全互聯(lián)的IBGP會話,總共要建立28個IBGP鄰居關系。為了減少IBGP會話數(shù),在AS1域內使用聯(lián)盟。其中,AS1被劃分為三個子自治系統(tǒng)(SubAS),AS65001、AS65002和AS65003。8.10.3聯(lián)盟【網(wǎng)絡實踐】:修改BGP路由MED值,優(yōu)選最佳路由某IT集團公司在北京總部和其它區(qū)域分公司的,其在區(qū)域的分公司的網(wǎng)絡中路由器R1和R2上沒有進行MED值設置時,在R4路由器的BGP路由表上可以看到所有進入AS1流量,都通過R1路由器的外部鏈路轉發(fā)。因為R4路由器從R1和R2路由器上收到的路由有相同的本地優(yōu)先級、相同的AS路徑列表長度等,所以在比較鄰居路由器的RouterID前,不能選出最佳路徑。因此希望網(wǎng)絡出口路由器R4通過比較分公司的接入路由器R1和R2的RouterID,將路由器R1選為最佳入口,因為R1具有更小的RouterID(1.1.1.1<2.2.2.2)?!救蝿彰枋觥俊驹O計過程】省略好好學習天天向上單元8:使用BGP路由實現(xiàn)域間路由選擇(2)《高級路由技術》(理論篇)主講教師:XXX技術背景從技術角度講,Internet這樣遍布全世界龐大的網(wǎng)絡,需要一種機制確保信息從世界一端可靠傳輸?shù)搅硪欢?,這個機制就是BGP(BorderGatewayProtocol,邊界網(wǎng)關協(xié)議)。在Internet中使用唯一進行自治系統(tǒng)間路由協(xié)議就是BGP,BGP構成整個Internet的核心網(wǎng)絡,有人把BGP稱為“BGP是Internet的心臟”。學習目標了解BGP協(xié)議的工作范圍了解BGP協(xié)議的工作原理掌握BGP協(xié)議的基本配置

建立IBGP、EBGP對等體,引入與傳遞路由BGP概述邊界網(wǎng)關協(xié)議(BGP)運行于TCP上自治系統(tǒng)(AS)路由協(xié)議,是唯一能處理不相關路由域間多路連接協(xié)議。如:中國電信、中國聯(lián)通、中國移動運營商,通過BGP協(xié)議來實現(xiàn)多線互聯(lián)。為了便于管理規(guī)模不斷擴大的網(wǎng)絡,將網(wǎng)絡劃分為不同的AS(AutonomousSystem自治系統(tǒng))不同AS通過AS號區(qū)分,AS號取值范圍1-65535,其中64512-65535是私有AS號IANA機構負責AS號的分發(fā)中國電信163AS號:4134中國電信CN2AS號:4809中國網(wǎng)通AS號:9929中國聯(lián)通AS號:9800中國教育網(wǎng)骨干網(wǎng)AS號:4538什么是AS?AS64512AS64514AS64513BGP特征BGP是外部路由協(xié)議,在AS之間傳遞路由信息。BGP是一種增強型、距離矢量路由協(xié)議??煽柯酚筛聶C制豐富Metric度量方法設計上避免環(huán)路發(fā)生為路由附帶豐富屬性,豐富路由過濾和路由策略。支持CIDR(無類別域間選路)。AS之間連接使用直連鏈路,或通過運營商,建立VPN邏輯連接AS之間可能是不同組織機構,使用IGP協(xié)議,傳遞路由信息將會有安全風險AS之間傳遞路由AS200AS100OSPFR1R2R3WANR4R5OSPF直接傳遞OSPFLSA存在暴露網(wǎng)絡結構的風險在AS之間傳遞路由,使用BGP協(xié)議(邊界網(wǎng)關路由協(xié)議BorderGatewayProtocol)相較IGP協(xié)議,BGP協(xié)議有以下優(yōu)勢:BGP基于TCP工作(端口號179),只要建立TCP連接,就可以建立BGP鄰居關系;BGP能夠承載上萬條路由,而IGP僅能上千條;BGP路由器只傳遞路由,不會露AS內拓撲信息,更加安全;支持MPLS/VPN協(xié)議,傳遞客戶VPN路由AS之間傳遞路由使用BGPAS200AS100OSPFBGPpeerBGPpeerR1R2R3R4WANBGP是距離矢量路由協(xié)議,鄰居之間直接傳路由,每條BGP路由都攜帶多種屬性使用這些屬性配置路由策略,實現(xiàn)靈活路由選路,這是IGP協(xié)議無法做到BGP的特征AS200AS100OSPFBGPpeerBGPpeerR1R2R3R4WANBGP路由網(wǎng)絡號:192.168.10.0/24路徑屬性1:AS-PATH路徑屬性2:Origin路徑屬性3:next-hop路徑屬性N:……BGP協(xié)議在企業(yè)中應用場景大型企業(yè)內部,存在多個分支,每個分支屬于一個AS,通過BGP在不同分支之間傳遞路由企業(yè)與運營商之間運行BGP協(xié)議,企業(yè)與運營商之間互相傳遞路由BGP應用場景AS100AS300AS200BGPpeerBGPpeerBGPpeerBGP路由術語自治系統(tǒng)(AS):同一個管理機構管理、使用統(tǒng)一選路策略路由器集合。自治系統(tǒng)內部路由協(xié)議:IGP自治系統(tǒng)之間路由協(xié)議:EGPAS65001AS65000BGPRIPv1/v2OSPFISISBGP角色Speaker發(fā)送BGP報文設備,稱為BGP發(fā)言者(Speaker),它接收或產生新報文信息,并發(fā)布(Advertise)給其它BGPSpeaker。Peer相互交換報文Speaker之間,互稱對等體(Peer)。若干相關對等體構成對等體組(PeerGroup)。BGP報文交互中分為Speaker和Peer兩種角色對等體-Peer兩臺路由器交換BGP路由,建立TCP連接后,它們之間關系就是對等關系或鄰居關系。BGP鄰居分為:IBGP和EBGPAS65000NeighborsAS65500NeighborsIBGP與EBGPIBGP

運行于AS內部的路由協(xié)議,主要有:RIP,OSPF及ISIS。

IGP著重于發(fā)現(xiàn)和計算路由。EBGP

運行于AS之間路由協(xié)議,通常都是指BGP。

BGP著重于控制路由傳播和選擇最優(yōu)路由。BGP協(xié)議報文以單播的形式發(fā)送,BGP共有5種,其中路由是承載在Update報文中BGP的協(xié)議報文LinkLayerHeaderIPTCPBGPProtocolPacketFrameChecksumBGP

ProtocolHeaderBGP

PacketIP協(xié)議號為6端口號為179報文類型作用發(fā)送規(guī)則Open用于建立鄰居關系,協(xié)商各項參數(shù)通過TCP建立BGP連接,發(fā)送open報文Update用于發(fā)送路由更新連接建立后,有路由更新時,發(fā)送UPDATE報文Notification用于報告BGP錯誤當BGP運行中發(fā)現(xiàn)錯誤時,發(fā)送NOTIFICATION通告Keepalive用于維持鄰居關系定時發(fā)送KEEPALIVE報文以保持BGP鄰居關系的有效性Route-refresh為保證網(wǎng)絡穩(wěn)定,觸發(fā)更新路由的機制當路由策略發(fā)生變化時,觸發(fā)請求鄰居重新通告路由BGP的有限狀態(tài)機Peer狀態(tài)名稱發(fā)送報文動作Idle嘗試建立TCP連接開始準備TCP的連接并監(jiān)視遠程peer啟動TCP連接,啟用BGP時,要準備足夠的資源Connect發(fā)TCP包正在進行TCP連接,等待完成中,認證都是在TCP建立期間完成的。如果TCP連接不上則進入Active狀態(tài),反復嘗試連接。Active發(fā)TCP包TCP連接沒建立成功,反復嘗試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通告路由信息。BGP的有限狀態(tài)機ActiveOpen-sentOpen-confirmEstablishedConnectConnect-RetrytimerexpiryTCPconnectionfailsConnect-RetrytimerexpiryStartOthersTCPconnectionfailsErrorErrorErrorKeepAlivetimerexpiryKeepAlivepacketreceived1.KeepAlivetimerexpiry2.Updatereceived3.KeepAlivereceivedCorrectOPENpacketreceivedTCPconnectionsetupTCPconnectionsetupOthersIdle運行BGP的路由器被稱為BGPSpeaker或者BGP路由器兩臺BGP路由器之間建立的關系叫BGP對等體(Peer)也叫BGP鄰居,對等體之間交換BGP路由表BGP的Peer分為兩種:EBGP和IBGPBGP對等體AS200AS100OSPFBGPEBGPpeerBGPIBGPpeerR1BGPspeakerR2R3BGPspeakerR4BGPspeakerWANEBGPPeer:位于不同AS的路由器之間的BGP鄰居關系互為EBGPPeer的路由器彼此所屬的AS號不同EBGPPeer一般基于直連接口建立Neighbor命令所指定的鄰居IP地址要可達,TCP連接要能夠正確建立EBGP的路由管理距離為20,因為AS之間BGP比IGP更優(yōu)BGP對等體AS200AS100OSPFBGPEBGPpeerR1R2R3BGPspeakerR4BGPspeakerWANIBGPPeer:同屬一個AS的路由器之間建立的BGP鄰居關系互為IBGPPeer的BGP路由器屬于同一個ASIBGPPeer一般基于Loopback接口建立,Peer之間可以跨越路由器,只要TCP連接要能夠正確建立IBGP的路由管理距離為200,因此AS內部IGP更優(yōu)BGP對等體AS200AS100OSPFBGPIBGPpeerR1BGPspeakerR2R3BGPspeakerR4WANBGP鄰居表:包含了此臺BGP路由器所有的鄰居,以及他們之間的狀態(tài);BGP默認每隔60秒發(fā)送一次BGP/TCP存活消息,保持時間為180秒BGP的鄰居表BGPIBGPpeerR1BGPspeakerR2R3R1#shipbgpsummaryBGProuteridentifier1.1.1.1,localASnumber123BGPVRF(GlobalVRF)RouteDistinguisher:(none)BGPtableversionis10BGPAS-PATHentries0BGPCommunityentries0BGPPrefixentries(Maximum-prefix:4294967295)NeighborVASMsgRcvdMsgSentTblVerInQOutQUp/DownState/PfxRcd3.3.3.341232210000:00:100R1的BGP鄰居表:對端peer的更新地址BGP版本號對端AS路由更新或撤銷時TblVer數(shù)字增加,類似路由更新State是bgpsession的的狀態(tài),如果達到established就顯示收到的路由的數(shù)目,否則就是active之類的狀態(tài)每臺BGP路由器獨立維護一張BGP路由表,包含了本地導入以及從BGP

peer學習所有BGP路由;BGP路由表中可用、最優(yōu)的路由(標記為*>)將會加載到全局IP路由表中;BGP路由表BGPIBGPpeerR1BGPspeakerR2R3R1#shipbgpBGPtableversionis5,localrouterIDis1.1.1.1Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internal,SStale,b-backupentry,fFilterOrigincodes:i-IGP,e-EGP,?-incompleteNetworkNextHopMetricLocPrfWeightPath*>1.1.1.1/320.0.0.0032768i*>i3.3.3.3/323.3.3.301000i*i4.4.4.4/3210.1.34.401000400iR1的BGP路由表:此條BGP路由的路由屬性,后續(xù)課程詳細介紹statuscodes*代表此路由可用>代表此路由是最優(yōu)的,最優(yōu)的路由一定是可用的路由i代表此路由是通過IBGP學習的,如果空的代表從EBGP學習到或者本地引入的目標網(wǎng)絡號BGP本身不會自動產生路由,必須要將IGP的路由引入到BGP路由表中。引入的方式有2種:BGP路由的生成引入方式引入條件適用場景Network宣告必須是IP路由表的IGP路由條目,且必須存在一條命令僅能引入一條路由,適用于路由數(shù)量較少的場景Redistribute重分布IGP路由數(shù)量較多,且地址段不連續(xù)不便于聚合的場景,動態(tài)從其他路由協(xié)議引入路由,并且可以結合route-map來配置更豐富的路由策略BGP使用update報文將路由條目發(fā)送給BGPpeerBGP傳遞路由規(guī)則:僅把BGP路由表中可用、且最優(yōu)(*>)路由,傳遞給BGPpeer從EBGPpeer獲得路由,發(fā)送給所有BGP

peer(包括EBGP和IBGP)從IBGP獲得路由,默認會通告給它的EBGPpeer(如果BGP同步開啟則需要再判定)BGP路由的傳遞EBGPpeerEBGP/IBGPpeer路由通告IBGPpeerEBGPpeer路由通告BGP作為一種D-V距離矢量路由協(xié)議,通過水平分割,防止AS內部的環(huán)路從IBGP獲得的路由,不向它的IBGP

peer通告,以此來防止循環(huán)的發(fā)生IBGP在路由通告時,也不會改變路由的下一跳,進一步防止循環(huán)發(fā)生BGP在AS內部的環(huán)路避免機制AS300AS100AS200EBGPpeerEBGPpeer路由更新IBGPpeerBGP同時還采用AS-Path屬性,來防止AS之間環(huán)路EBGP向對等體通告路由時,附加上自己AS號存放在AS-path屬性字段,收到EBGP對等體Update報文時,檢查AS-path,如果發(fā)現(xiàn)自己的AS號,則丟棄該路由,EBGP是依靠路由經(jīng)過的AS路徑,來發(fā)現(xiàn)循環(huán)的BGP在AS之間的環(huán)路避免機制EBGPpeerEBGPpeerAS100R1A網(wǎng)絡R4AS400R3AS300R2AS200EBGPpeerEBGPpeerA網(wǎng)絡的路由AS-PATH:100A網(wǎng)絡的路由AS-PATH:100,300A網(wǎng)絡的路由AS-PATH:100,300,400A網(wǎng)絡的路由AS-PATH:100,300,400,200由于在AS內部,可以跨越設備,建立IBGP對等體,因此會出現(xiàn)一些路徑上設備未運行BGP。BGP路由黑洞EBGPpeerEBGPpeerIBGPpeer非BGProuter非BGProuterAS200AS100OSPFR1A網(wǎng)絡R2R3R4R5R6AS300這些設備由于未運行BGP,不會收到BGP傳遞來路由信息當有數(shù)據(jù)包經(jīng)過這些設備時,因為沒有相關路由信息,數(shù)據(jù)包將會被丟棄BGP的路由黑洞非BGProuter非BGProuterAS200AS100OSPFR1R2R3R4R5R6AS300BGPUpdateBGPUpdateBGPUpdate數(shù)據(jù)包目的地A網(wǎng)絡A網(wǎng)絡數(shù)據(jù)包目的地A網(wǎng)絡R3、R4不知道A網(wǎng)絡的路由,因此數(shù)據(jù)包被丟棄。R3、R4成為了黑洞BGP協(xié)議為了防止路由黑洞問題,引入了同步機制從IBGP對等體學習到的路由在成為最佳路由并向EBGP對等體通告之前必須被IGP學習到BGP同步默認關閉,如果開啟則不會產生路由黑洞問題,但同時這些路由將無法正常使用避免路由黑洞問題的方法——BGP同步非BGProuter非BGProuterAS200AS100OSPFR1R2R3R4R5R6AS300BGPUpdateBGPUpdateBGPUpdateA網(wǎng)絡R5如果開啟BGP同步,那么雖然R5從IBGP鄰居R2收到A網(wǎng)絡的BGP路由,但因為IGP路由表中無此路由,BGP路由表與IGP路由表不同步,因此R5不會把這條BGP路由發(fā)給EBGP鄰居R6要想既不產生路由黑洞問題,又要使得這些路由可用,可采用以下方式:路由重分布:把BGP的路由重發(fā)布到AS內的IGPIBGP全互聯(lián):在穿越路徑上IBGP啟用全連接,確保所有BGP路由過路設備都知道使用MPLS:使用MPLS的轉發(fā)機制解決穿越AS問題解決路由黑洞問題的方法EBGPpeerEBGPpeerIBGPpeer非BGProuter非BGProuterAS200AS100OSPFR1在R2與R5上將BGP路由重分布到OSPF中,讓R3、R4也能學習到這些路由,就不會有路由黑洞R2R3R4R5R6AS300R2、R3、R4、R5全部建立IBGP鄰居EBGPpeerEBGPpeerIBGPpeerAS200AS100OSPFR1R2R3R4R5R6AS300按照以下步驟配置BGP協(xié)議:第1步:設備基本參數(shù)配置,AS內配置IGP確保內部網(wǎng)絡連通性;第2步:啟動BGP進程第3步:建立BGP對等體第4步:通告BGP路由第5步:(可選)其他配置,路由策略、路由反射器等BGP配置步驟OSPFR1R2R3R4AS400AS123EBGPpeerIBGPpeer10.1.34.010.1.12.010.1.34.0Lo:4.4.4.4Lo:3.3.3.3Lo:1.1.1.1配置IGP路由解決peer對等體的源和目標IP之間連通性,確保peer之間TCP連通性(179)第1步:設備基本參數(shù)配置OSPFR1R2R3R4AS400AS123EBGPpeerIBGPpeer10.1.34.010.1.12.010.1.23.0Lo:4.4.4.4Lo:3.3.3.3Lo:1.1.1.1interfaceGigabitEthernet0/0ipaddress10.1.12.1255.255.255.0routerospf1router-id1.1.1.1network10.1.12.10.0.0.0area0R1的基礎配置interfaceGigabitEthernet0/0ipaddress10.1.12.2255.255.255.0interfaceGigabitEthernet0/2ipaddress10.1.23.2255.255.255.0routerospf1router-id2.2.2.2network10.1.12.20.0.0.0area0network10.1.23.20.0.0.0area0R2的基礎配置interfaceGigabitEthernet0/5ipaddress10.1.23.3255.255.255.0routerospf1router-id3.3.3.3network10.1.23.30.0.0.0area0R3的基礎配置在BGP路由器上啟動BGP進程,一臺路由器上只能配置一個BGP實例僅執(zhí)行命令routerbgp不能在路由器上激活BGP,必須至少執(zhí)行一個子命令才能在路由器上激活BGP進程手工設置BGPRouterID第2步:啟動BGP進程Router(config)#routerbgpas-numberRouter(config-router)#

bgprouter-idip-address指定BGP鄰居及激活BGP會話BGP鄰居都需手工指定,不能像IGP那樣通過協(xié)議自動發(fā)現(xiàn)建立鄰居時的指定的PeerIP地址必須路由可達,本端默認使用報文出接口IP地址作為更新源本地的更新源IP地址必須與PeerIP地址相同,不相同,則BGP鄰居無法正常建立對端AS號決定了與鄰居建立的是EBGP會話還是IBGP會話第3步:建立BGP對等體Router(config-router)#neighbor

{peer-address|peer-group-name}remote-as

as-number在同指定BGP對等體建立BGP連接時,可以啟用TCPMD5認證,并設置密碼啟用身份驗證后,將對通過對等體之間的TCP連接傳輸?shù)乃袛?shù)據(jù)等進行驗證認證都是在TCP建立連接的時候完成的BGP的驗證功能Router(config-router)#neighbor{peer-address|peer-group-name}password[|0|7]string通過宣告network的方式引入路由如果指定mask,則僅當IP路由表中有與完全匹配的條目時才會引入成功如果不指定mask,只通告主類網(wǎng)絡號,則僅當IP路由表中至少有一個子網(wǎng),才會將該主類網(wǎng)絡作為一條BGP路由引入,但不會引入該主類網(wǎng)絡之下的其他子網(wǎng)通過重分布的方式引入路由第4步:通告BGP路由Router(config-router)#network

network-number[mask

mask][route-map

map-tag][backdoor]Router(config-router)#redistribute

protocol-type[route-map

map-tag][metric

metric-value]BGP基本配置案例OSPFR1R2R3R4AS400AS123EBGPpeerIBGPpeer10.1.34.010.1.12.010.1.23.0Lo:4.4.4.4Lo:3.3.3.3Lo:1.1.1.1routerbgp123bgprouter-id1.1.1.1neighbor10.1.23.3remote-as123network1.1.1.1mask255.255.255.255R1的BGP配置routerbgp123bgprouter-id3.3.3.3neighbor10.1.12.1remote-as123neighbor10.1.34.4remote-as400network3.3.3.3mask255.255.255.255R3的BGP配置routerbgp400bgprouter-id4.4.4.4neighbor10.1.34.3remote-as123network4.4.4.4mask255.255.255.255R4的BGP配置查看BGP的鄰居R1上查看BGP鄰居R3是IBGP鄰居,并且從對端收到2條路由查看BGP的狀態(tài)R1#shipbgpsumBGProuteridentifier1.1.1.1,localASnumber123BGPVRF(GlobalVRF)RouteDistinguisher:(none)BGPtableversionis32BGPAS-PATHentries0BGPCommunityentries3BGPPrefixentries(Maximum-prefix:4294967295)NeighborVASMsgRcvdMsgSentTblVerInQOutQUp/DownState/PfxRcd10.1.23.34123212020000:15:072Totalnumberofneighbors1router#showipbgpsummary查看BGP路由表R1上查看BGP的路由表1.1.1.1/32的路由是本地生成的,因此就是最優(yōu)的3.3.3.3/32是R3的路由,作為IBGP傳遞來的,滿足條件因此最優(yōu)4.4.4.4/32是R3從EBGP鄰居學習來的,但無“>”標記,不是最優(yōu)的,因為其下一跳不可達查看BGP的狀態(tài)R1#shipbgpBGPtableversionis3,localrouterIDis1.1.1.1Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internal,SStale,b-backupentry,fFilterOrigincodes:i-IGP,e-EGP,?-incompleteNetworkNextHopMetricLocPrfWeightPath*>1.1.1.1/320.0.0.0032768i*>i3.3.3.3/3210.1.23.301000i*i4.4.4.4/3210.1.34.401000400irouter#showipbgpBGP是AS-by-AS的路由協(xié)議,而不是router-by-router的路由協(xié)議在BGP中,next-hop并不意味著是下一臺路由器,而是到達下一個AS的IP地址EBGP中,默認next-hop為發(fā)送更新的鄰居路由器的IP地址IBGP中,從EBGP傳來的next-hop屬性在IBGP中保持不變的被傳遞BGP的next-hop不可達問題OSPFR1R2R3R4AS400AS123EBGPpeerIBGPpeer10.1.34.010.1.12.010.1.23.0Lo:4.4.4.4Lo:3.3.3.3Lo:1.1.1.1Route4.4.4.0NEXT_HOP=10.1.34.4Route4.4.4.0NEXT_HOP=10.1.34.4R1不知道如何去往10.1.34.4,這個地址未被通告到AS123的IGP里,因此路由不可達,因此不是最優(yōu)有兩種辦法解決next-hop不可達的問題第1種辦法就是把10.1.34.0這個網(wǎng)絡宣告到AS123的IGP路由中這樣4.4.4.0/24這條路由就會在R1的BGP路由表成為最優(yōu)路由但這種方法并不建議,因為會使得AS之間的鏈路暴露在AS內部,有一定安全風險BGP的next-hopR3(config)#routerospf1R3(config-router)#network10.1.34.30.0.0.0area0R1#shipbgpBGPtableversionis3,localrouterIDis1.1.1.1Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internal,SStale,b-backupentry,fFilterOrigincodes:i-IGP,e-EGP,?-incompleteNetworkNextHopMetricLocPrfWeightPath*>1.1.1.1/320.0.0.0032768i*>i3.3.3.3/3210.1.23.301000i*>i4.4.4.4/3210.1.34.401000400i有兩種辦法解決next-hop不可達的問題第2種辦法就是在R3上配置next-hop-self,使得向R1發(fā)送的路由的下一跳的屬性都改為R3自己這樣R1上4.4.4.0/24這條路由的next-hop就是R3的10.1.23.3,下一跳可達,成為最優(yōu)路由BGP的next-hoprouterbgp123neighbor10.1.12.1remote-as123neighbor10.1.12.1next-hop-selfRouter(config-router)#neighbor{peer-address|peer-group-name}next-hop-selfR1#shipbgpBGPtableversionis3,localrouterIDis1.1.1.1Statuscodes:ssuppressed,ddamped,hhistory,*valid,>best,i-internal,SStale,b-backupentr

溫馨提示

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

評論

0/150

提交評論