




已閱讀5頁,還剩159頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
精品BGP 案例分析 1 使用由 RFC 1771 定義的 BGP,可以在自治系統(tǒng) (AS) 之間創(chuàng)建無環(huán)路域間路由。 AS 是同處一個技術管理之下的一組路由器。 AS 中的路由器可以使用多個內(nèi)部網(wǎng)關協(xié)議 (IGP) 在 AS 內(nèi)部交換路由信息。 這些路由器可以使用外部網(wǎng)關協(xié)議將數(shù)據(jù)包路由至 AS 外部。 BGP 如何工作? BGP 在端口 179 上使用 TCP 作為傳輸協(xié)議。 兩個 BGP 路由器互相之間形成 TCP 連接。 這些路由器是對等路由器。 對等路由器交換消息以公開和確認連接參數(shù)。BGP 路由器交換網(wǎng)絡可達性信息。 這些信息主要指示路由為達到目標網(wǎng)絡而必須通過的完整路徑。 路徑以 BGP AS 編號形式表示。 此信息有助于構建無環(huán)路 AS 的圖形。 該圖形還顯示在何處應用路由策略來對路由行為強制實施某些限制。 任何兩個形成 TCP 連接以交換 BGP 路由信息的路由器都是“對等體”(或稱“鄰居”)。 BGP 對等體最初交換完整的 BGP 路由表。 在此交換以后,對等體在路由表更改時發(fā)送增量更新。 BGP 保存 BGP 路由表的版本號。 所有 BGP 對等體的版本號都是相同的。 每當 BGP 通過更改的路由信息更新路由表時,版本號就會更改。 發(fā)送保持連接數(shù)據(jù)包可確保 BGP 對等體之間的連接處于活動狀態(tài)。 出現(xiàn)錯誤或特殊情況時將發(fā)送通知數(shù)據(jù)包。 eBGP 和iBGP 如果一個 AS 有多個 BGP 揚聲器,則該 AS 可以充當其他 AS 的傳輸服務。 如此部分中的圖表所示,AS200 是 AS100 和 AS300 的傳輸 AS。 要將信息發(fā)送到外部 AS,必須確保網(wǎng)絡的可達性。 為了保證網(wǎng)絡可達性,將進行如下過程: 在 AS 內(nèi)的路由器之間進行內(nèi)部 BGP (iBGP) 對等 將 BGP 信息重分配到 AS 中運行的 IGP當 BGP 在分屬兩個不同 AS 的路由器之間運行時,該 BGP 稱為外部 BGP (eBGP)。 當 BGP 在同一 AS 內(nèi)的路由器間運行時,該 BGP 稱為 iBGP。 啟用 BGP 路由 完成以下步驟,以便啟用和配置 BGP。假設您希望使用兩個通過 BGP 進行通信的路由器,即 RTA 和 RTB。 在第一個示例中,RTA 和 RTB 在不同的 AS 之中。 在第二個示例中,兩個路由器屬于同一個 AS。 1. 定義路由器進程和路由器所屬的 AS 編號。 發(fā)出以下命令以在路由器上啟用 BGP: router bgp autonomous-systemRTA#router bgp 100RTB#router bgp 200這些語句指示 RTA 運行 BGP,并且屬于 AS100。 RTB 運行 BGP,并且屬于 AS200。 2. 定義 BGP 鄰居。 BGP 鄰居的形成表明路由器嘗試通過 BGP 進行通信。 形成 BGP 鄰居部分解釋了這個過程。形成 BGP 鄰居 兩個 BGP 路由器在建立彼此間的 TCP 連接之后互稱鄰居。 為使兩個對等路由器啟動路由更新交換,TCP 連接是必需的。 TCP 連接啟動后,路由器發(fā)送開放消息,以便交換各自的值。 路由器交換的值包括 AS 編號、路由器所運行的 BGP 的版本、BGP 路由器 ID 以及連接持續(xù)時間。 在確認并接受這些值之后將建立鄰居連接。 除 Established 之外的任何狀態(tài)都表示兩個路由器未成為鄰居,因而無法交換 BGP 更新。 發(fā)出以下 neighbor 命令以建立 TCP 連接: neighbor ip-address remote-as number命令中的 number 是希望通過 BGP 進行連接的路由器的 AS 編號。 對于 eBGP 來說,ip-address 是直接連接的下一跳地址。 對于 iBGP 來說,ip-address 是另一個路由器上的任何 IP 地址。在對等路由器的 neighbor 命令中使用的兩個 IP 地址必須 能夠互相訪問。 驗證這兩個 IP 地址之間的可達性的一種方法是在它們之間執(zhí)行擴展 ping 操作。 擴展 ping 強制發(fā)出 ping 操作的路由器使用 neighbor 命令所指定的 IP 地址作為源。 路由器必須使用此地址,而不是發(fā)出數(shù)據(jù)包的接口的 IP 地址。如果有任何 BGP 配置發(fā)生更改,則必須 重置鄰居連接以使新參數(shù)生效。 clear ip bgp address 注意:address 是鄰居地址。 clear ip bgp * 此命令清除所有鄰居連接。默認情況下,將使用 BGP 4 開始 BGP 會話,如有必要可以向下協(xié)商到早期版本。 您可以禁止協(xié)商,強制指定路由器與鄰居通信時使用的 BGP 版本。 在路由器配置模式下發(fā)出以下命令: neighbor ip address | peer-group-name version value以下是 neighbor 命令配置的示例: RTA#router bgp 100neighbor 129.213.1.1 remote-as 200RTB#router bgp 200neighbor 129.213.1.2 remote-as 100neighbor 175.220.1.2 remote-as 200RTC#router bgp 200neighbor 175.220.212.1 remote-as 200在本示例中,RTA 和 RTB 運行 eBGP。 RTB 和 RTC 運行 iBGP。 遠程 AS 編號指向外部或內(nèi)部 AS,表示使用 eBGP 或 iBGP。 并且,eBGP 對等體之間直接進行連接,但 iBGP 對等體之間未進行直接連接。 iBGP 路由器不需要進行直接連接。 但是,必須運行某個 IGP,以使兩個鄰居能夠互相訪問。此部分提供 show ip bgp neighbors 命令所顯示信息的一個示例。注意:請?zhí)貏e留意 BGP 狀態(tài)。 除 Established 之外的任何狀態(tài)都表明對等體未啟動。注意:還要注意以下各項: BGP version 4 remote router ID 此編號是路由器上的最高 IP 地址或是最高環(huán)回接口(如果存在)。 table version table version 提供表的狀態(tài)。 每當新信息傳入時,表版本號就會增加。 如果版本號持續(xù)增加,則表明存在路由抖動導致路由出現(xiàn)持續(xù)更新。 # show ip bgp neighbors BGP neighbor is 129.213.1.1, remote AS 200, external link BGP version 4, remote router ID 175.220.12.1 BGP state = Established, table version = 3, up for 0:10:59 Last read 0:00:29, hold time is 180, keepalive interval is 60 seconds Minimum time between advertisement runs is 30 seconds Received 2828 messages, 0 notifications, 0 in queue Sent 2826 messages, 0 notifications, 0 in queue Connections established 11; dropped 10 BGP 和環(huán)回接口 iBGP 通常使用環(huán)回接口定義鄰居,而 eBGP 通常不使用此接口。 通常,使用環(huán)回接口可確保鄰居的 IP 地址保持啟動,并使其不依賴硬件而正常工作。 如果是 eBGP,則對等路由器常常直接連接,而不使用環(huán)回。 如果在 neighbor 命令中使用環(huán)回接口的 IP 地址,則需要對鄰居路由器進行某些額外配置。 鄰居路由器需要通知 BGP 啟用 BGP 鄰居 TCP 連接時使用的是環(huán)回接口而不是物理接口。 為指示使用的是環(huán)回接口,可發(fā)出以下命令: neighbor ip-address update-source interface以下示例演示了此命令的用法:RTA# router bgp 100 neighbor 190.225.11.1 remote-as 100 neighbor 190.225.11.1 update-source loopback 1 RTB# router bgp 100 neighbor 150.212.1.1 remote-as 100 在本示例中,RTA 和 RTB 在 AS100 內(nèi)運行 iBGP。 在 neighbor 命令中,RTB 使用 RTA 的環(huán)回接口 150.212.1.1。 在這種情況下,RTA 必須強制 BGP 使用環(huán)回 IP 地址作為 TCP 鄰居連接的源。 為強制實施此操作,RTA 添加 update-source interface-type interface-number ,因此該命令為 neighbor 190.225.11.1 update-source loopback 1。 此語句在 BGP 與鄰居 190.225.11.1 進行通信時強制 BGP 使用環(huán)回接口的 IP 地址。 注意:RTA 已使用 RTB 的物理接口 IP 地址 190.225.11.1 作為鄰居。 因為使用的是此 IP 地址,所以無需為 RTB 進行特殊配置。 有關完整的網(wǎng)絡應用方案示例配置,請參閱使用或不使用環(huán)回地址的 iBGP 和 eBGP 示例配置。eBGP 多跳 有時,Cisco 路由器與不允許直接連接兩個外部對等體的第三方路由器之間可以運行 eBGP。 可以使用 eBGP 多跳實現(xiàn)連接。 eBGP 多跳允許在沒有直接連接的兩個外部對等體之間形成鄰居連接。 多跳只適用于 eBGP 而不適用于 iBGP。 以下示例演示 eBGP 多跳:RTA# router bgp 100 neighbor 180.225.11.1 remote-as 300 neighbor 180.225.11.1 ebgp-multihop RTB# router bgp 300 neighbor 129.213.1.2 remote-as 100RTA 表示沒有直接連接的外部鄰居。 RTA 需要指出自己使用 ebgp-multihop 命令。 同時,RTB 表示一個地址為 129.213.1.2 的直接連接的鄰居。 因為有此直接連接,RTB 不需要 ebgp-multihop 命令。 您還應配置一個 IGP 或靜態(tài)路由,以便允許未連接的鄰居互相訪問。eBGP 多跳(負載平衡)部分的示例演示了在并行線路上使用 eBGP 的情況下如何達到 BGP 負載平衡。 eBGP 多跳(負載平衡) RTA# int loopback 0 ip address 150.10.1.1 255.255.255.0 router bgp 100 neighbor 160.10.1.1 remote-as 200 neighbor 160.10.1.1 ebgp-multihop neighbor 160.10.1.1 update-source loopback 0 network 150.10.0.0 ip route 160.10.0.0 255.255.0.0 1.1.1.2 ip route 160.10.0.0 255.255.0.0 2.2.2.2 RTB# int loopback 0 ip address 160.10.1.1 255.255.255.0 router bgp 200 neighbor 150.10.1.1 remote-as 100 neighbor 150.10.1.1 update-source loopback 0 neighbor 150.10.1.1 ebgp-multihop network 160.10.0.0 ip route 150.10.0.0 255.255.0.0 1.1.1.1 ip route 150.10.0.0 255.255.0.0 2.2.2.1此示例演示環(huán)回接口、update-source 和 ebgp-multihop 多跳的使用。 此示例是使兩個 eBGP 揚聲器在并行串聯(lián)線路上實現(xiàn)負載平衡的一種變通方法。 在正常情況下,BGP 選取某一條線路發(fā)送數(shù)據(jù)包,此時負載不會平衡。 引入環(huán)回接口之后,eBGP 的下一跳為環(huán)回接口。 使用靜態(tài)路由或 IGP 引入兩個開銷相等的路徑來到達目標。 RTA 有兩種選擇可到達下一跳 160.10.1.1: 一條路徑是通過 1.1.1.2,另一條路徑是通過 2.2.2.2。 RTB 同樣有兩種選擇。 路由映射 BGP 大量使用路由映射。 在 BGP 上下文中,路由映射是一種用于控制和修改路由信息的方法。 通過定義路由從一個路由協(xié)議重分配到另一個路由協(xié)議的條件,可對路由信息進行控制和修改。 或者,可在路由信息傳入或傳出 BGP 時對其進行修改。 路由映射的格式如下: route-map map-tag permit | deny | sequence-number 映射標記只是您為路由映射指定的名稱。 您可以定義同一路由映射或同一名稱標簽的多個實例。 序號只是表明新路由映射在您已用同一名稱配置的路由映射的列表中所處的位置。 本例定義了兩個名稱為 MYMAP 的路由映射實例。 第一個實例的序號為 10,第二個實例的序號為 20。 route-map MYMAP permit 10 (此處為第一組條件。) 路由映射MYMAP permit 20 (第二一組條件去此處。)將路由映射 MYMAP 應用到傳入或傳出路由時,將通過實例 10 應用第一組條件。 如果不滿足第一組條件,則繼續(xù)使用序號更高的路由映射實例。match 和 set 配置命令 每個路由映射包含一個 match 和 set 配置命令列表。 match 指定匹配條件,set 在滿足 match 命令強制實施的條件時指定設置操作。例如,您可以定義一個路由映射來檢查傳出的更新。 如果有與 IP 地址 1.1.1.1 匹配的項,則將該更新的度量設置為 5。 以下命令演示了該示例: match ip address 1.1.1.1 set metric 5現(xiàn)在,如果滿足匹配條件并且得到許可,則會像設置操作所指定的那樣重分配或控制路由。 您將跳出列表。如果滿足匹配條件并且受到拒絕,則不會重分配或控制路由。 您將跳出列表。 如果不滿足匹配條件,并且受到允許或拒絕,則檢查路由映射的下一個實例。 例如,檢查實例 20。 這種對下一個實例的檢查將持續(xù)下去,直到跳出列表或檢查完路由映射的所有實例。 如果完成列表檢查,并且未找到匹配項,則不會接受或轉發(fā)路由。 在早于 Cisco IOS 軟件版本 11.2 的 Cisco IOS 軟件版本中,當使用路由映射過濾 BGP 更新,而不是在協(xié)議之間進行重分配時,針對 IP 地址使用 match 命令時將無法 對入站更新進行過濾。 可接受針對出站更新的過濾。 Cisco IOS 軟件版本 11.2 以及更高版本沒有此限制。 match 的相關命令有: match as-path match community match clns match interface match ip address match ip next-hop match ip route-source match metric match route-type match tag set 的相關命令有: set as-path set clns set automatic-tag set community set interface set default interface set ip default next-hop set level set local-preference set metric set metric-type set next-hop set origin set tag set weight 以下是一些路由映射示例: 示例 1 假設 RTA 和 RTB 運行路由信息協(xié)議 (RIP),RTA 和 RTC 運行 BGP。 RTA 通過 BGP 獲取更新并將更新重分配到 RIP。 假設 RTA 希望將度量 2 重分配給地址為 170.10.0.0 的 RTB 路由,將度量 5 重分配給所有其他路由。這種情況下,可以使用如下配置: RTA#router ripnetwork 3.0.0.0network 2.0.0.0network 150.10.0.0passive-interface Serial0redistribute bgp 100 route-map SETMETRICrouter bgp 100neighbor 2.2.2.3 remote-as 300network 150.10.0.0route-map SETMETRIC permit 10match ip-address 1set metric 2route-map SETMETRIC permit 20set metric 5access-list 1 permit 170.10.0.0 0.0.255.255在本示例中,如果路由與 IP 地址 170.10.0.0 相匹配,則該路由將具有度量 2。 然后跳出路由映射列表。 如果沒有匹配項,則繼續(xù)檢查路由映射列表,從而將所有其他路由都設置為度量 5。 注意:您應總是詢問“與任何匹配語句都不匹配的路由將會怎樣?” 默認情況下,將丟棄這些路由。 示例 2 假設在示例 1 中,您不希望 AS100 接受有關 170.10.0.0 的更新。 當根據(jù) IP 地址進行匹配時,無法針對入站更新應用路由映射。 因此,必須對 RTC 使用出站路由映射: RTC#router bgp 300network 170.10.0.0neighbor 2.2.2.2 remote-as 100neighbor 2.2.2.2 route-map STOPUPDATES outroute-map STOPUPDATES permit 10match ip address 1access-list 1 deny 170.10.0.0 0.0.255.255access-list 1 permit 0.0.0.0 255.255.255.255至此,您已經(jīng)比較熟悉如何啟動 BGP 以及如何定義鄰居,現(xiàn)在看一下如何開始進行網(wǎng)絡信息交換。 使用 BGP 發(fā)送網(wǎng)絡信息有多種途徑。 以下幾部分內(nèi)容逐一介紹了這些方法: network 命令 再分配 靜態(tài)路由和重分配 network 命令 網(wǎng)絡命令的格式為: network network-number mask network-masknetwork 命令控制源于此的網(wǎng)絡。 此概念不同于使用 Interior Gateway Routing Protocol (IGRP) 和 RIP 的常用配置。 此命令不嘗試針對某個接口運行 BGP, 而是嘗試向 BGP 指示什么網(wǎng)絡 BGP 源于此框。 該命令使用掩碼部分,因為 BGP 版本 4 (BGP4) 可以處理子網(wǎng)和超網(wǎng)。 最多可以接受 200 條 network 命令。如果路由器知道您嘗試通告的網(wǎng)絡(無論網(wǎng)絡狀態(tài)是已連接、靜態(tài),還是動態(tài)獲知),network 命令就會起作用。 以下是一個 network 命令示例: RTA#router bgp 1network 192.213.0.0 mask 255.255.0.0ip route 192.213.0.0 255.255.0.0 null 0此示例指示路由器 A 為 192.213.0.0/16 生成一個網(wǎng)絡條目。 /16 表示使用 C 類地址的超網(wǎng),通告前兩個八進制數(shù),即前 16 位。 注意:您需要靜態(tài)路由來使路由器生成 192.213.0.0,因為靜態(tài)路由將匹配項放置在路由表中。再分配 network 命令是通過 BGP 通告網(wǎng)絡的一種方式。 另一種方式是將 IGP 重分配到 BGP 中。 IGP 可以是 IGRP、開放最短路徑優(yōu)先 (OSPF) 協(xié)議、RIP、增強型內(nèi)部網(wǎng)關路由協(xié)議 (EIGRP) 或其他協(xié)議。 此種重分配看似令人望而卻步,因為現(xiàn)在要將所有內(nèi)部路由都交付給 BGP; 其中某些路由可能已通過 BGP 獲知,而無需再發(fā)送它們。 應仔細進行過濾,確保只發(fā)送到希望通告的純 Internet 路由而不是發(fā)送到您擁有的所有路由。 如下面的示例所示:RTA 公告 129.213.1.0,RTC 公告 175.220.0.0。 查看 RTC 配置: 如果發(fā)出 network 命令,將得到如下結果: RTC#router eigrp 10network 175.220.0.0redistribute bgp 200default-metric 1000 100 250 100 1500router bgp 200neighbor 1.1.1.1 remote-as 300network 175.220.0.0 mask 255.255.0.0 !- This limits the networks that your AS originates to 175.220.0.0.如果改用重分配,則將得到如下結果: RTC#router eigrp 10network 175.220.0.0redistribute bgp 200default-metric 1000 100 250 100 1500router bgp 200neighbor 1.1.1.1 remote-as 300redistribute eigrp 10!- EIGRP injects 129.213.1.0 again into BGP.此重分配將導致從您的 AS 發(fā)源 129.213.1.0。 您的 AS 不是 129.213.1.0 的源; AS100 才是 129.213.1.0 的源。 因此您必須使用過濾器,防止從您的 AS 發(fā)源該網(wǎng)絡。 正確的配置如下: RTC#router eigrp 10network 175.220.0.0redistribute bgp 200default-metric 1000 100 250 100 1500router bgp 200neighbor 1.1.1.1 remote-as 300neighbor 1.1.1.1 distribute-list 1 outredistribute eigrp 10access-list 1 permit 175.220.0.0 0.0.255.255使用 access-list 命令控制源于 AS200 的網(wǎng)絡。 將 OSPF 重分配到 BGP 與對其他 IGP 的重分配略有不同。 僅僅在路由器 BGP 下發(fā)布 redistribute ospf 1 是不起作用的。 重分配各自的路由需要使用特定關鍵字如 internal、external 和 nssa-external。 有關更多信息,請參閱了解將 OSPF 路由重分配到 BGP。靜態(tài)路由和重分配 始終可以使用靜態(tài)路由生成網(wǎng)絡或子網(wǎng)。 唯一的區(qū)別是 BGP 會將這些路由的源視為不完整的或未知的。 可以使用如下方法獲得與重分配部分的示例相同的結果: RTC#router eigrp 10network 175.220.0.0redistribute bgp 200default-metric 1000 100 250 100 1500router bgp 200neighbor 1.1.1.1 remote-as 300redistribute static.ip route 175.220.0.0 255.255.255.0 null0.null0 接口表示忽略該數(shù)據(jù)包。 因此,如果您獲取了該數(shù)據(jù)包,并且存在比 175.220.0.0 更加精確的匹配項,則路由器會將該數(shù)據(jù)包發(fā)送給該更精確的匹配項。 否則,路由器將忽略該數(shù)據(jù)包。 這是通告超網(wǎng)的一個好方法。 本文討論如何使用不同的方法從您的 AS 生成路由。 請記住,生成這些路由時,還有其他一些 BGP 路由是 BGP 通過鄰居(內(nèi)部或外部)獲知的。 BGP 將 BGP 獲知的信息從一個對等體傳送到另一個對等體。 區(qū)別在于源自 network 命令、重分配或者靜態(tài)路由的路由表明 AS 是這些網(wǎng)絡的源。重分配始終可以作為將 BGP 注入 IGP 的方法。如下面的示例所示:RTA#router bgp 100neighbor 150.10.20.2 remote-as 300network 150.10.0.0RTB#router bgp 200neighbor 160.10.20.2 remote-as 300network 160.10.0.0RTC#router bgp 300neighbor 150.10.20.1 remote-as 100neighbor 160.10.20.1 remote-as 200network 170.10.00注意:您不需要 RTC 中的網(wǎng)絡 150.10.0.0 或網(wǎng)絡 160.10.0.0,除非希望 RTC 生成這些網(wǎng)絡,并且在這些網(wǎng)絡從 AS100 和 AS200 傳入時繼續(xù)傳送這些網(wǎng)絡。 區(qū)別同樣是 network 命令為這些網(wǎng)絡添加一個額外的通告,表明 AS300 也是這些路由的源。 注意:請記住,BGP 不接受源自其自身 AS 的更新。 拒絕這樣的更新可為無環(huán)路域間拓撲提供保證。 例如,假設本部分示例中的 AS200 與 AS100 有直接 BGP 連接。 RTA 生成路由 150.10.0.0 并將該路由發(fā)送到 AS300。 然后,RTC 將該路由傳遞到 AS200,源保持為 AS100。 RTB 將 150.10.0.0 傳遞到 AS100,源仍為 AS100。 RTA 注意到更新源于其自身的 AS,并且忽略該更新。 iBGP 如果希望 AS 充當?shù)狡渌?AS 的傳輸系統(tǒng),則使用 iBGP。 通過執(zhí)行 eBGP 獲知,重分配到 IGP,然后再次重分配到其他 AS,是否可以獲得相同的結果? 是的,但 iBGP 為在 AS 內(nèi)交換信息提供了更加靈活有效的方式。 例如,iBGP 可以使用本地優(yōu)先級控制退出 AS 的最佳退出點。 本地優(yōu)先級屬性部分介紹了有關本地優(yōu)先級的更多信息。 RTA#router bgp 100neighbor 190.10.50.1 remote-as 100neighbor 170.10.20.2 remote-as 300network 150.10.0.0RTB#router bgp 100neighbor 150.10.30.1 remote-as 100neighbor 175.10.40.1 remote-as 400network 190.10.50.0RTC#router bgp 400neighbor 175.10.40.2 remote-as 100network 175.10.0.0注意:請記住,當 BGP 在自身的 AS (iBGP) 之內(nèi)收到來自其他 BGP 揚聲器的更新時,收到更新的 BGP 揚聲器不再將該信息重分配給自身 AS 內(nèi)的其他 BGP 揚聲器。 收到更新的 BGP 揚聲器會將該信息重分配到自身 AS 之外的其他 BGP 揚聲器。 因此,AS 內(nèi)的 iBGP 之間保持了完整的網(wǎng)格。在此部分的圖表中,RTA 和 RTB 運行 iBGP。 RTA 和 RTD 也運行 iBGP。 從 RTB 到 RTA 的 BGP 更新傳輸?shù)皆?AS 之外的 RTE。 該更新不傳輸?shù)皆?AS 內(nèi)的 RTD。 因此,應在 RTB 和 RTD 之間建立 iBGP 對等,以免中斷更新流。BGP 決策算法 BGP 從不同的自治系統(tǒng)接收到關于不同目的地的更新之后,該協(xié)議必須選擇到達特定目的地的路徑。 BGP 只選擇一條到達特定目的地的路徑。BGP 根據(jù)不同的屬性作出決策,如下一跳、管理權重、本地優(yōu)先級、路由源、路徑長度、源代碼、度量以及其他屬性。 BGP 總是將最佳路徑傳播給鄰居。 更多信息請參閱“ BGP 最佳路徑選擇算法 ”。BGP 案例分析 2 部分介紹了這些屬性以及其用法。BGP 案例分析 2 AS_PATH 屬性 每當某路由更新傳過一個 AS 時,該更新前面便會附加該 AS 編號。 AS_PATH 屬性實際上是路由為到達目的地而遍歷過的 AS 的編號列表。 AS_SET 是已遍歷的所有 AS 的有序算法集 。 本文的 CIDR 示例 2 (as-set) 部分提供了一個 AS_SET 示例。 在此部分的示例中,RTB 通告 AS200 中的網(wǎng)絡 190.10.0.0。 當該路由遍歷 AS300 時,RTC 將其自身的 AS 編號附加到網(wǎng)絡。 因此,當 190.10.0.0 到達 RTA 時,該網(wǎng)絡附加了兩個 AS 編號: 先附加 200,然后附加 300。 對于 RTA,到達 190.10.0.0 的路徑是 (300, 200)。 相同的過程也應用于 170.10.0.0 和 180.10.0.0。 RTB 必須采用路徑 (300, 100); 為到達 170.10.0.0,RTB 遍歷 AS300,然后遍歷 AS100。 為到達 190.10.0.0,RTC 必須遍歷路徑 (200);為到達 170.10.0.0,必須遍歷路徑 (100)。 源屬性 源是定義路徑信息的源的必需屬性。 源屬性可以采用以下三個值: IGP 網(wǎng)絡層可達性信息 (NLRI) 是源 AS 的內(nèi)部信息。 發(fā)出 bgp network 命令時通常使用該值。 BGP 表中的 i 表示 IGP。 EGP NLRI 通過外部網(wǎng)關協(xié)議 (EGP) 獲知。 BGP 表中的 e 表示 EGP。 INCOMPLETE NLRI 為未知或通過其他途徑獲知。 當將路由從其他路由協(xié)議重分配到 BGP,并且路由的源不完整時,通常會產(chǎn)生 INCOMPLETE。 ? 表示 INCOMPLETE。 RTA# router bgp 100 neighbor 190.10.50.1 remote-as 100 neighbor 170.10.20.2 remote-as 300 network 150.10.0.0 redistribute static ip route 190.10.0.0 255.255.0.0 null0 RTB# router bgp 100 neighbor 150.10.30.1 remote-as 100 network 190.10.50.0 RTE# router bgp 300 neighbor 170.10.20.1 remote-as 100 network 170.10.0.0RTA 經(jīng)由 300 i 到達 170.10.0.0。 “300 i”表示下一個 AS 路徑為 300,路由的源為 IGP。 RTA 也通過 i 到達 190.10.50.0。 這個“i”表示該項位于同一個 AS 中,且源為 IGP。 RTE 經(jīng)由 100 i 到達 150.10.0.0。 “100 i”表示下一個 AS 為 100,且源為 IGP。 RTE 也經(jīng)由 100 ? 到達 190.10.0.0。 “100 ?” 表示下一個 AS 為 100,且源是不完整的且來自靜態(tài)路由。 BGP 下一跳屬性 BGP 下一跳屬性是為到達特定目的地而使用的下一跳 IP 地址。 對于 eBGP,下一跳總是 neighbor 命令指定的鄰居的 IP 地址。 在本部分的示例中,RTC 將 170.10.0.0 通告給下一跳為 170.10.20.2 的 RTA。 RTA 將 150.10.0.0 通告給下一跳為 170.10.20.1 的 RTC。 對于 iBGP,協(xié)議聲明 eBGP 通告的下一跳應傳遞給 iBGP。 因為有此規(guī)則,RTA 將 170.10.0.0 通告到下一跳為 170.10.20.2 的 iBGP 對等體 RTB。 因此,從 RTB 出發(fā),到達 170.10.0.0 的下一跳為 170.10.20.2,而不是 150.10.30.1。 應確保 RTB 可以通過 IGP 到達 170.10.20.2。 否則,RTB 將丟棄目的地為 170.10.0.0 的數(shù)據(jù)包,因為下一跳地址不可訪問。 例如,如果 RTB 運行 iGRP,還可以針對 RTA 網(wǎng)絡 170.10.0.0 運行 iGRP。 您希望在到 RTC 的鏈路中將 iGRP 設為被動,以便只交換 BGP。 RTA# router bgp 100 neighbor 170.10.20.2 remote-as 300 neighbor 150.10.50.1 remote-as 100 network 150.10.0.0 RTB# router bgp 100 neighbor 150.10.30.1 remote-as 100 RTC# router bgp 300 neighbor 170.10.20.1 remote-as 100 network 170.10.0.0 注意:RTC 將 170.10.0.0 通告給下一跳等于 170.10.20.2 的 RTA。注意:RTA 將 170.10.0.0 通告給下一跳等于 170.10.20.2 的 RTB。 eBGP 下一跳在 iBGP 中傳遞。當處理多路訪問或非廣播多路訪問 (NBMA) 網(wǎng)絡時要特別注意。 有關更多信息,請參閱 BGP 下一跳(多路訪問網(wǎng)絡)以及 BGP 下一跳 (NBMA) 。 BGP 下一跳(多路訪問網(wǎng)絡) 此示例演示以太網(wǎng)等多路網(wǎng)絡中下一跳的活動方式。 假設 AS300 中的 RTC 和 RTD 運行 OSPF。 RTC 與 RTA 運行 BGP。 RTC 可以經(jīng)由 170.10.20.3 到達網(wǎng)絡 180.20.0.0。 當 RTC 將有關 180.20.0.0 的 BGP 更新發(fā)送到 RTA 時,RTC 將 170.10.20.3 用作下一跳。 RTC 不使用自身的 IP 地址 170.10.20.2。 RTC 使用此地址是因為 RTA、RTC 和 RTD 之間的網(wǎng)絡是多路網(wǎng)絡。 RTA 使用 RTD 作為到達 180.20.0.0 的下一跳比經(jīng)由 RTC 使用額外躍點更加有效。 注意:RTC 將 180.20.0.0 通告給下一跳為 170.10.20.3 的 RTA。 如果 RTA、RTC 和 RTD 的共同介質不是多路訪問,而是 NBMA,則情況會更加復雜。 BGP 下一跳 (NBMA) 共同介質在圖中顯示為云狀。 如果共同介質為幀中繼或任何 NBMA 云,則其表現(xiàn)和通過以太網(wǎng)進行連接是一樣的。 RTC 將 180.20.0.0 通告給下一跳為 170.10.20.3 的 RTA。 問題在于 RTA 沒有到 RTD 的直接永久虛擬電路 (PVC),不能到達下一跳。 這時路由將失敗。 next-hop-self 命令可解決此問題。 next-hop-self 命令 對于 BGP 下一跳 (NBMA) 示例中所示的下一跳問題,可以使用 next-hop-self 命令。 語法為: neighbor ip-address | peer-group-name next-hop-self next-hop-self 命令允許您強制 BGP 使用特定 IP 地址作為下一跳。對于 BGP 下一跳 (NBMA) 示例,如下配置可解決該問題: RTC# router bgp 300 neighbor 170.10.20.1 remote-as 100 neighbor 170.10.20.1 next-hop-self RTC 通告下一跳等于 170.10.20.2 的 180.20.0.0。 BGP 后門 在此圖中,RTA 和 RTC 運行 eBGP。 RTB 和 RTC 運行 eBGP。 RTA 和 RTB 運行某種 IGP,即 RIP、IGRP 或其他協(xié)議。 為 eBGP 更新定義的距離為 20,小于 IGP 距離。 默認距離是: 對于 RIP 為 120 對于 IGRP 為 100 對于 EIGRP 為 90 對于 OSPF 為 110RTA 通過兩個路由協(xié)議接收有關 160.10.0.0 的更新: 距離為 20 的 eBGP 距離大于 20 的 IGP默認情況下,BGP 距離如下: 外部距離 20 內(nèi)部距離 200 本地距離 200 但可以使用 distance 命令更改默認距離:distance bgp external-distance internal-distance local-distanceRTA 選擇使用 eBGP 連接的 RTC,因為這樣距離更短。 如果希望 RTA 通過 RTB(使用 IGP)獲知 160.10.0.0,則有兩種選擇: 更改 eBGP 的外部距離或者更改 IGP 距離。注意:不建議進行此更改。 請使用 BGP 后門。BGP 后門使 IGP 路由成為首選路由。 發(fā)出 network address backdoor 命令。 配置的網(wǎng)絡是希望通過 IGP 到達的網(wǎng)絡。 對于 BGP 來說,此網(wǎng)絡與本地分配的網(wǎng)絡得到同等對待,除非 BGP 更新不通告此網(wǎng)絡。 RTA# router eigrp 10 network 150.10.0.0 router bgp 100 neighbor 2.2.2.1 remote-as 300 network 160.10.0.0 backdoor 網(wǎng)絡 160.10.0.0 視為本地項,但不作為常規(guī)網(wǎng)絡項進行通告。 RTA 從距離為 90 的 RTB 處通過 EIGRP 獲知 160.10.0.0。 RTA 也通過 eBGP 從距離為 20 的 RTC 處獲知了該地址。 通常 eBGP 是首選項,但因為發(fā)出了 backdoor 命令,EIGRP 成為首選項。同步 討論同步之前請先看下面的場景。 AS300 中的 RTC 發(fā)送有關 170.10.0.0 的更新。 RTA 和 RTB 運行 iBGP,因此,RTB 獲取更新并能夠經(jīng)由下一跳 2.2.2.1 到達 170.10.0.0。 請記住下一跳是通過 iBGP 傳遞的。 RTB 必須將流量發(fā)送給 RTE 才能到達下一跳。 假設 RTA 未將網(wǎng)絡 170.10.0.0 重分配給 IGP。 這時,RTE 甚至不知道 170.10.0.0 的存在。 如果 RTB 開始通告給 AS400,說明 RTB 可以到達 170.10.0.0,則從 RTD 到 RTB(目的地為 170.10.0.0)的流量將流入,并且在 RTE 處被丟棄。 同步是指,如果您的 AS 將流量從另一個 AS 傳遞到第三個 AS,BGP 在您的 AS 中的所有路由都通過 IGP 獲知某個路由之前不應通告該路由。 BGP 應等到 IGP 在 AS 內(nèi)傳播該路由。 然后,BGP 才將該路由通告給外部對等體。在此部分的示例中,RTB 等待通過 IGP 獲知 170.10.0.0。 然后,RTB 開始將更新發(fā)送到 RTD。 通過在 RTB 中添加指向 170.10.0.0 的靜態(tài)路由,可以使 RTB 認為 IGP 已經(jīng)傳播信息。 確保其他路由器可以到達 170.10.0.0。 禁用同步 某些情況下并不需要同步。 如果不通過您的 AS 傳遞來自其他 AS 的流量,則可以禁用同步。 如果您的 AS 中的所有路由器都運行 BGP,則也可以禁用同步。 禁用此功能可使您在 IGP 中傳遞的路由數(shù)減少,并使 BGP 更快地聚合。 禁用同步不是自動功能。 如果 AS 中的所有路由器都運行 BGP,而完全不運行 IGP,路由器并不會知道已禁用同步。 您的路由器將無限期等待有關某個路由的 IGP 更新,以將該路由發(fā)送到外部對等體。 這時必須手動禁用同步,以便使路由正常工作: router bgp 100 no synchronization注意:請確保發(fā)出 clear ip bgp address 命令重置會話。RTB# router bgp 100 network
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 提升在線教學效果教育心理學的實踐應用
- 學習心理與學生學習動力的激發(fā)
- 教育技術與傳統(tǒng)教學方法的互補性研究
- 抖音商戶業(yè)務資料上傳審核管理制度
- 公眾參與視角下2025年環(huán)境影響評價機制的跨區(qū)域比較研究
- 銅仁幼兒師范高等專科學?!端慕y(tǒng)計》2023-2024學年第一學期期末試卷
- 玉溪師范學院《就業(yè)指導》2023-2024學年第一學期期末試卷
- 廣東外語外貿(mào)大學《中外民族音樂(二)》2023-2024學年第一學期期末試卷
- 鄭州澍青醫(yī)學高等??茖W?!锻鈬膶W(下)》2023-2024學年第一學期期末試卷
- 四川省成都市高新南區(qū)-七級上期期2025屆九年級化學第一學期期末達標檢測試題含解析
- 英語詞類完整版本
- 緩解2型糖尿病中國專家共識
- 保定一中一加三初二真題試卷
- vivo多云管理平臺建設實踐(對外版)
- GB/T 5972-2023起重機鋼絲繩保養(yǎng)、維護、檢驗和報廢
- 數(shù)字化資源促進幼兒園教師專業(yè)發(fā)展的實踐研究
- 2022年固原市西吉縣社區(qū)工作者招聘考試試題
- 消防接警調度員理論考核復習題庫(精簡300題)
- 【超星爾雅學習通】經(jīng)濟學原理(下):全球視角(復旦大學)網(wǎng)課章節(jié)答案
- GB/T 2918-1998塑料試樣狀態(tài)調節(jié)和試驗的標準環(huán)境
- GB/T 18391.6-2009信息技術元數(shù)據(jù)注冊系統(tǒng)(MDR)第6部分:注冊
評論
0/150
提交評論