邊界網關協定(BGP)是一種外部網關協定,允許自治系統相互交換路由資訊。自治系統是一組路由器,受單一技術管理管理。
自主系統(AS)號碼由美國網際網路號碼註冊機構分配。有關詳細資訊,請參見他們的Web站點。它包含「文檔」部分下所有已分配AS編號的完整清單。
如果安裝是單宿主,可以申請AS編號來運行BGP,但不鼓勵申請。但是,使用多個ISP的多宿主站點需要單獨的AS編號。這是因為,單宿主安裝可以視為ISP內部安裝,而多宿主站點不能。
交換BGP資訊的路由器稱為BGP對等體。路由器在其他AS中可能同時具有外部對等體,而在自己的AS中可能同時具有內部對等體。如果對等體的AS編號與路由器自己的AS編號不同,則將其視為外部對等體。
路由器使用TCP協定建立BGP會話。在新的BGP會話啟動時,BGP對等體將交換其完整的路由表,然後隨著路由表的變化僅傳送增量更新。
本配置指南介紹在相容系統路由器上運行的BGP可用的配置選項。
本文件沒有特定需求。
本檔案僅限於思科相容Micro系列路由器。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
BGP協定在BGP常規配置部分啟用。BGP是為路由器全域性啟用的,而不是像RIP和OSPF那樣為每個介面啟用。預設情況下,BGP為Off。要啟用BGP,必須將BGPEnabled引數設定為On。
[ BGP General ] BGPEnabled = Off Enable or disable the BGP protocol BGPAS = "" Autonomous system number of this router BGPLocPref = 100 BGP local preference, default is 100 BGPUseIPRFltrs = False Use IP Route Filters, default is False
此處設定了此路由器的自治系統(AS)編號。必須提供BGPAS編號;如果沒有,則不會啟用BGP。
本地優先屬性BGPLocPref在同一AS中的路由器之間交換,並且指示首選哪條路徑退出AS;具有較高本地優先順序的路徑更優先。如果未指定BGPLocPref,將使用預設值100。
BGP使用BGP路由對映來過濾路由和設定屬性。有關這些限制的詳細資訊,請參閱本文檔的BGP對等體配置和BGP路由對映部分。使用者可以選擇使用IP路由過濾器而不是BGP路由對映。將為未定義BGP路由對映的每個對等體檢查BGPUseIPRFltrs的值,如果為TRUE,則將檢查該對等體的IP路由過濾器。請注意,IP路由過濾器是路由器的全域,而BGP路由對映可以成為特定於每個對等點的路由。
BGP對等體清單包含為此路由器配置的對等體的清單。路由器不會與任何不在此清單中的路由器建立BGP連線。如果沒有BGP對等體清單,則即使BGPnabled在「BGP一般資訊」部分中設定為On,也不會啟用BGP。
[ BGP Peer List ] BGPPeer = On/Off IPAddress ASNumber PeerConfigID
On|Off引數配置路由器相對於對等體的啟動狀態;它確定路由器是否會在啟動時自動嘗試與對等裝置建立BGP會話。如果將此引數設定為Off,則路由器不會與對等體建立BGP會話,直到您發出BGP Enable命令。請注意,這不會改變啟動狀態;下次啟動路由器時,對等體將進入Off狀態,直到您啟用它。
您可以設定BGP,以便啟動時所有對等點都為Off。如果BGP一般資訊部分中的BGPEnabled = On,則可以在路由器啟動後動態啟用選定的對等點。
路由器將使用配置清單中給定的IPaddress與對等體聯絡。必須提供對等項的IPaddress和ASNumber。路由器必須在其路由表中具有所提供的IP地址的網路才能建立會話。路由器從對等體的AS編號中確定對等體是內部還是外部,因為內部對等體的AS編號與路由器本身相同。
每個BGP對等體清單條目可能包含可選的PeerConfigID,指定可以設定各種對等體特定的BGP配置項的BGP對等體配置部分的編號。僅當需要所有相同引數時,BGP Peer Config部分可用於多個對等體。
[ BGP Peer Config "SectionID" ] Section ID is a character string InputRouteMap = "" Name of input Route Map to be used for this peer OutputRouteMap = "" Name of output Route Map to be used for this peer NextHopSelf = False Next hop is this router EBGPMultihop = False External peer not directly connected PeerWeight = 100 Neighbor weight PeerRetryTime = 30 Retry time in seconds PeerHoldTime = 180 Configured hold time in seconds BGPUseLoopback = False Use router LoopbackAddress with this peer AdvertiseDefault = False Advertise default route to this peer
請注意,InputRouteMap和OutputRouteMap是單獨指定的。輸入和輸出路由可以設定和檢查的引數不同(有關詳細資訊,請參見BGP Route Map部分)。
如果NextHopSelf設定為TRUE,則路由器會將自己通告為它通告給此對等體的路由的下一跳。
除非將EBGPMultihop設定為TRUE,否則外部對等點必須直接連線。如果此引數設定為TRUE,則路由器必須具有通往非直接連線的外部對等體的路由才能建立連線。
PeerWeight引數是管理員分配給對等體的內部評級;它不會通告給其它路由器。當存在多條到達同一目標的路由時,優先使用具有較高權重的對等體。
BGP Retry Time允許管理員設定兩次重試之間的時間量,以便與由於某種原因已關閉的已配置對等體建立連線。如果對等體已關閉但其狀態設定為On,則路由器將每隔PeerRetryTime數秒持續嘗試與對等體聯系。接受的最小PeerRetryTime為10秒。
保持時間是與對等體協商的,因此配置的PeerHold最終不一定是對等體使用的實際保持時間。對等體將使用所提議的兩個保持時間中的較小者。保持時間必須為零或至少3秒。如果協商的保持時間間隔為零,則不會傳送定期KEEPALIVE消息。
如果未提供PeerWeight、PeerHoldTime或PeerRetryTime,將使用預設值。預設PeerWeight為100,預設PeerHoldTime為180秒,預設PeerRetryTime為30秒。
如果在IP Loopback部分中指定了LoopbackAddress,則BGPUseLoopback可設定為TRUE。在這種情況下,路由器會將其環回地址用作該對等體的TCP資料包中的IP源,而不是其某個介面的特定IP地址。但是請注意,對等路由器必須知道如何通過正常的IP路由過程將資料包傳送到該地址。如果該地址不在對等體已經知道的子網中,則必須通過靜態路由新增。環回地址通常只用於內部對等體,因為外部對等體通常直接連線。
路由器的預設路由不會通告給對等體,除非該對等體的引數AdvertiseDefault設定為TRUE。
以下是對等配置示例:
[ BGP Peer List ] BGPPeer = On 198.41.11.213 100 Peer1 BGPPeer = On 205.14.128.1 110 Peer2 [ BGP Peer Config "Peer1" ] InputRouteMap = bgpin1 OutputRouteMap = bgpout1 PeerHoldTime = 180 PeerRetryTime = 65 PeerWeight = 1000 [ BGP Peer Config "Peer2" ] InputRouteMap = bgpin2 OutputRouteMap = bgpout1 PeerHoldTime = 180 PeerRetryTime = 45 PeerWeight = 2000
在BGP Peer List和BGP Peer Config中,對等路由器198.41.11.213和206.14.128.2使用BGP Peer Config 1,對等路由器205.14.128.1使用BGP Peer Config 2。
BGP的預設設定是不通告路由。這是為了防止在Internet上無意中通告路由。
要獲得通告的路由,您必須配置以下內容:BGP Networks清單、IP路由重分發、BGP路由對映或IP路由過濾器。
要獲取通告的外部路由,請使用BGP路由對映或IP路由過濾器。要獲取通告的內部路由,請使用BGP網路清單或IP路由重分發。
以下各節介紹每個配置部分。
BGP Networks部分定義了管理員希望通告的源自AS的路由清單。這些路由可以是直連路由、靜態路由、RIP路由或OSPF路由。
路由器會將BGP網路清單中的條目與其IP路由表進行比較,並且不會通告它在IP路由表中找不到的BGP網路清單中的路由。因此,如果要通告不在路由器自身IP路由表中的本地網路,則需要新增靜態路由。
請注意,將直接連線的路由通告到BGP的唯一方法是將它們包括在網路清單中。可以使用IP Route Redistribution部分將OSPF或RIP路由通告到BGP。可使用每個已配置的靜態路由上的redistribute標誌將靜態路由通告到BGP。
可選的mask引數告知路由器IP路由表條目與LocalNet地址匹配的位數。這不一定是您要通告的網路的實際掩碼。例如,假設路由器具有子網198.41.9.32、198.41.9.64和198.41.9.96,所有子網掩碼均為255.255.255.224。要使BGP通告一個198.41.9.0/24網路,您的BGP網路將如下所示:
[ BGP Networks ] LocalNet = IP address [mask] [ BGP Networks ] LocalNet = 198.41.9.32 255.255.255.255
由於您隨LocalNet提供的掩碼,路由器將只匹配198.41.9.32條目。它會將該網路通告為198.41.9.0/24,因為它會自動截斷比C類更具體的子網掩碼。但是,如果您提供的掩碼為255.255.255.0,則最終會三次通告198.41.9.0/24網路,因為您的所有三個子網都匹配LocalNet條目。此截斷與聚合不同,它僅適用於內部網路,並且僅適用於比C類更具體的掩碼。要獲取路由聚合,請使用BGP聚合部分。
BGP聚合部分包含要在向外部對等體通告之前聚合的網路。路由器的IP路由表必須包含作為聚合子集的網路,以便通告聚合;只有聚合而非單個路由將通告給外部對等體。內部對等體將接收源自於AS以外的各個路由;內部對等體不通過BGP交換內部路由。
不一定要有C類網路內部子網的匯聚清單(請參閱上面的BGP網路部分)。 但是,如果有多個C類(或更大)的掩碼可以組合為一個超網,則可以使用聚合。
[ BGP Aggregates ] AddrAndMask = [IPAddr] [IPMask] IP Routing Table Entries 198.41.8.0 255.255.255.0 198.41.9.0 255.255.255.0 198.41.10.0 255.255.255.0 198.41.11.0 255.255.255.0 [ BGP Networks ] LocalNet = 198.41.8.0 255.255.252.0 [ BGP Aggregates ] AddrAndMask = 198.41.8.0 255.255.252.0
單一路由198.41.8.0/22將通告給BGP外部對等體。如果沒有BGP聚合條目,則會單獨通告四個網路。所有四個網路都會與BGP Networks一節中提供的遮罩相符,但不會自動彙總這些網路。
指定要匯入BGP的RIP和OSPF路由的另一種方法是使用路由重分發。預設設定為禁用所有路由重分發。
可以將BGP路由重分佈到RIP和OSPF中,但建議您不要這樣做,除非您只接受少量BGP路由。當執行一些操作時,如將BGP路由匯入OSPF然後將OSPF路由匯出到BGP時,必須使用相應的過濾器。
注意:支援的路由數量還取決於路由器擁有的記憶體量。
[ IP Route Redistribution ] BGPtoOSPF Redistribute BGP routes to OSPF Syntax: [True|False] [Metric] BGPtoRIP Redistribute BGP routes to RIP Syntax: [True|False] [Metric] RIPtoBGP Redistribute RIP routes into BGP OSPFtoBGP Redistribute OSPF routes into BGP
在IP Static部分配置靜態路由時,可使用redistribute標誌將靜態路由重分發到BGP:
[ IP Static ] 198.41.16.0 255.255.255.0 198.41.9.65 1 Redist=BGP
BGP路由對映與IP路由過濾器非常相似,不同之處在於:
它們特定於BGP
可以按對等體指定它們
除了過濾路由之外,它們還允許在傳入和傳出路由上設定BGP屬性
路由對映僅由BGP協定使用,不與特定介面關聯。BGP Peer Config部分指定要應用於對等體的路由對映(如果有)。分別指定輸入路由對映和輸出路由對映。
除非被路由對映或路由過濾器拒絕,否則路由器已知的BGP路由將被通告。除非在BGP Networks部分或通過路由重分發指定,否則不會通告靜態、IGP和直連路由。
除非已定義BGP路由對映或IP路由過濾器,否則路由器不會接受任何輸入路由。如果確實需要所有內容,則「permit 0.0.0.0」將執行該操作。路由器首先檢查BGP路由對映,如果路由被拒絕,則即使BGPUseIPRFltrs為True,也不會檢查IP路由過濾器。
[ BGP Peer Config 2 ] InputRouteMap = bgpin2 OutputRouteMap = bgpout2
IP路由過濾器可以與BGP一起使用,而不是BGP路由對映。匹配條件更為有限,且無法使用IP Route Filters設定各種引數(如社群、本地優先順序和權重)。
BGP路由對映名稱是配置的一個特殊部分,表示沒有要文檔的關鍵字。每個部分包含完整的篩選器集,通過該部分名稱的Name部分可唯一識別。可以存在多個部分,每個部分具有唯一的名稱。名稱不得超過15個字元。
本節詳細介紹與BGP路由對映規則相關的引數和修飾符。
action route [direction] [out | in modifiers] permit | deny IP Address out | in
action、route和direction是必需的引數。輸入和輸出修飾符是可選的。
這指定當路由滿足規則條件時要執行的操作。
IP位址的指定方式與IP路由篩選器的指定方式相同;即,在常規點分十進位記法中,作為因子化地址、十六進位制數字或帶有可選的/bits欄位。有關詳細資訊,請參閱IP路由過濾器手冊頁。
必須提供in或out引數。指定應用規則的方向。
如果方向為:
ipaddr — 對等體的IP地址
srcas — 路由具有此源AS編號
hasas — 此AS編號包含在AS路徑中
nhop — 路由具有此下一跳
comm — 此社群包含在屬性清單中
setpref — 將首選項設定為此值
setwt — 將權重設定為此值
ipaddr |哈薩斯 | srcas |通訊 | nhop修改器將輸入規則限製為來自指定IP地址、AS編號、團體或下一跳的路由。這裡應該只有這五個引數之一。hasas表示如果AS路徑在AS路徑中的任何位置包含指定的AS編號,則將應用規則;srcas表示僅當路由源自指定的AS時才應用規則。
setpref修飾符允許在傳入路由上設定首選項。如果提供了ipaddr、hasas、srcas、comm或nhop,則只會為匹配該條件的路由設定首選項。
setwt修飾符允許對傳入路由設定權重。如果提供了ipaddr、hasas、srcas、comm或nhop,則只會為匹配該條件的路由設定權重。
如果方向已出,則會應用以下修飾符:
ipaddr — 對等體的IP地址
toas — 對等體的AS編號
srcas — 路由的源AS編號
origin — 路由來自的協定
setnhop — 設定下一跳屬性
setmed — 設定多出口鑑別器屬性
setasp — 將AS路徑附加到當前路徑之前
setcomm — 設定新的社群清單,丟棄舊的
addcomm — 將社群清單置於現有社群清單之前
ipaddr | toas修改器將輸出規則限製為到達指定IP地址或AS編號的路由。此處僅需要一個引數。如果路由器在給定AS中只有一個對等體,則ipaddr或toas將獲得相同的結果。如果路由器在相鄰AS中有多個對等體,請使用對等體的IP地址將規則限製為該對等體,或者使用AS編號將該規則應用於AS中的每個對等體。
srcas修飾符將輸出規則限製為源自指定AS編號的路由。
origin protocol修飾符將輸出規則限製為源自指定協定的路由。BGP可以將直接、靜態、RIP、OSPF或其他BGP路由從自己的IP路由表通告給對等體。
setnhop修飾符允許在傳出路由上設定下一跳。
setmed修飾符允許在傳出路由上設定多出口鑑別器。
setasp修飾符允許將指定的AS清單附加到傳出AS路徑屬性之前。最多可輸入6個AS編號。
setcomm修飾符允許在傳出路由上設定社群清單。引數最多可以是6個社群編號,也可以是一個特殊社群:「noexport」、「noadv」或「noexpsub」。 以下是RFC 1997, BGP Communities Attribute中定義的三個「公認的」社群:NO_EXPORT、NO_ADVERTISE和NO_EXPORT_SUBCONFED。
addcomm修飾符允許在傳出路由前面新增社群清單。引數最多可以是6個社群編號。
在BGP路由對映mymapin中,如果Community Attribute包含社群200,並且首選項設定為100,則在中將允許路由192.61.5.0。在第2行中,也將接受來自社群200的所有其他路由,但首選項設定為300。不包含社群200的路由將被拒絕。
在BGP路由對映mymapout中,將允許BGP Networks部分中指定的所有直接路由輸出到AS編號200,並將MED設定為10。在第二行中,將允許所有路由輸出到AS編號300,但社群值將設定為noadv(NO_ADVERTISE)。
[ BGP Route Map "mymapin" ] permit 192.61.5.0 in comm 200 setpref 100 permit 0.0.0.0 in comm 200 setpref 300 [ BGP Route Map "mymapout" ] permit 0.0.0.0 out toas 200 origin direct setmed 10 permit 0.0.0.0 out toas 300 setcomm noadv
路由對映有助於管理員影響路由選擇過程,因為BGP會使用權重、首選項和MED等方法。BGP按顯示順序使用以下條件為目的地選擇其最佳路由:
最優先的路徑是權重最大的路徑。
如果權重相同,則選擇具有最大區域性優先順序的路徑。
如果優先選項相同,請選擇具有最短AS路徑長度的路徑。
如果所有路徑的AS路徑長度相同,請選擇具有最低MED的路徑。
如果路徑具有相同MED,請從路由器ID最小的BGP對等點中選擇路徑。
使用者可以選擇將IP路由過濾器與BGP一起使用,而不是BGP路由對應;但是,IP路由過濾器不提供設定BGP屬性的功能,如BGP路由對映一節所述。如果已為對等體定義InputRouteMap,則即使在BGP General部分中將BGPUseIPRFltrs引數設定為TRUE,輸入路由也會忽略IP路由過濾器。同樣,如果已為對等體定義OutputRouteMap,則會忽略輸出路由的IP路由過濾器。
對於BGP,在IP路由過濾中新增了一個額外的引數,這是根據AS路徑進行過濾。BGP路由包含已遍歷的每個自治系統(AS)的相關資訊。源自AS 500的路由199.41.13.0將具有兩條到達R1的AS路徑:[200,300,500]和[400,600,500]。
在以下示例中,IP Route Filter bgpin 適用於路由器R1。將過濾掉所有來自AS 300的路由,並且允許所有來自AS 400的路由。
IP路由過濾器bgpout 允許向R2通告192.62.16.0,向R4通告192.62.17.0。可以使用R2和R4的IP地址來代替bgpout中的AS編號。
IP Route Filter bgp600 說明了contains關鍵字的使用。此過濾器將拒絕包含其AS路徑中任何位置的AS 600的任何傳入路由。
注意路由過濾器中的最後一行,以防止對RIP和OSPF路由進行意外過濾:
[ IP Route Filter "bgpin" ] deny 0.0.0.0 in via bgp from 300 permit 0.0.0.0 in via bgp from 400 permit 0.0.0.0 in via rip ospf [ IP Route Filter "bgpout" ] permit 192.62.16.0 out via bgp to 200 permit 192.62.17.0 out via bgp to 400 permit 0.0.0.0 out via rip ospf [ IP Route Filter "bgp600" ] deny 0.0.0.0 in via bgp contains 600 permit 0.0.0.0 in via rip ospf --------- --------- --------- 192.62.16.0 | R1 |___________| R2 |__________| R3 | 192.62.17.0 | AS100 | | AS200 | | AS300 | --------- --------- --------- | | | | --------- --------- --------- | R4 |__________| R6 |__________| R5 | 199.41.13.0 | AS400 | | AS600 | | AS500 | --------- --------- ---------
但是,不能對AS過濾執行以下操作,因為AS過濾器應用於路由的來源。假設路由器R1從其對等路由器R2和R4收到有關路由199.41.13.0的通告,並且路由源自AS 500。因此,來自R2的路由的AS路徑為[200,300,500],而來自R4的相同路由的AS路徑為[400,600,500]。
[ IP Route Filter "does not work as intended" ] deny 199.41.13.0 in via bgp from 200 permit 199.41.13.0 in via bgp from 400
雖然語法正確,但上述過濾器只會導致路由被拒絕;它將與第2行中的過濾器不匹配,因為其源AS編號為500,而不是400。為了達到上述目的,您可以使用對等體R2和R4的IP地址:
[ IP Route Filter "bgpin" ] deny 199.41.13.0 in via BGP from "R2's IP address" permit 199.41.13.0 in via BGP from "R4's IP address"
BGP有幾個show命令,以及啟用/禁用BGP或重置BGP連線的命令:
show bgp rtcount BGP Routing Entry Counts show bgp routes Display BGP Routing Entries show bgp peers Display the list of BGP Peers and current status show bgp timers BGP Peer timer information show bgp mem BGP Database Memory Allocation show bgp config BGP configuration information show bgp stats BGP peer uptime and packet exchange statistics show bgp networks Display list of internal networks to be advertised show bgp aggregates Display BGP routes to be aggregated bgp disable Disable BGP connection to all peers or 1 specified peer Usage: { ALL | IP Address } bgp enable Enable BGP connection to all peers or 1 specified peer Usage: { ALL | IP Address } bgp reset peer Reset BGP connection to all peers or 1 specified peer Usage: { ALL | IP Address }
此命令顯示BGP路由資料庫中路由數量的摘要。使用BGP時,如果路由數量非常大,並且您想要知道路由的數量,但不想全部列印出來,這會非常有用。
BGP Test> sho bgp rt BGP Routing Database Entries In Use Added Removed In IP routing table: 51548 78694 27146 BGP route heads: 51548 78702 27154 IP Routing Table Entries: 51561
show bgp routes命令(不含引數)會顯示每個目的地的BGP路由資料庫中的最佳路由。下面顯示了一個示例摘錄。
BGP路由資料庫可能包含不在路由器IP路由表中的路由;如果路由器沒有該路由下一跳的條目,則BGP路由不會出現在IP路由表中。
bgptest>sho bgp ro BGP Best Routes List Network/Mask Bits Pref Weight Next Hop AS Path 1 128.128.0.0 /16 100 100 199.45.133.101 3404 1 1 2 129.129.0.0 /16 100 100 199.45.133.101 3404 1 1239 1673 1133 559 3 130.130.0.0 /16 100 100 199.45.133.101 3404 1 1 5727 7474 7570 4 131.131.0.0 /16 100 100 199.45.133.101 3404 1 1 1236 5 134.134.0.0 /16 100 100 199.45.133.101 3404 1 1239 1760 4983 6 135.135.0.0 /16 100 100 199.45.133.101 3404 3561 3561 4293 7 139.139.0.0 /16 100 100 199.45.133.101 3404 1 1239 568 1913 1569 8 140.140.0.0 /16 100 100 199.45.133.101 3404 1 1239 7170 374 9 141.141.0.0 /16 100 100 199.45.133.101 3404 1 1239 3739 3739 3739 10 142.142.0.0 /16 100 100 199.45.133.101 3404 3561 3561 577 549 808 11 147.147.0.0 /16 100 100 199.45.133.101 3404 3561 3561 5400 2856 12 149.149.0.0 /16 100 100 199.45.133.101 3404 1 1 3749 13 150.150.0.0 /16 100 100 199.45.133.101 3404 3561 3561 3786 6068 14 151.151.0.0 /16 100 100 199.45.133.101 3404 1 1239 174 15 152.152.0.0 /16 100 100 199.45.133.101 3404 1 1 286 1891 16 155.155.0.0 /16 100 100 199.45.133.101 3404 1 701 702 8413 1913 1564 17 158.158.0.0 /16 100 100 199.45.133.101 3404 3561 3561 18 161.161.0.0 /16 100 100 199.45.133.101 3404 1 1239 174 19 164.164.0.0 /16 100 100 199.45.133.101 3404 1 701 7633 20 165.165.0.0 /16 100 100 199.45.133.101 3404 1 701 5713
也可以對特定路由呼叫show命令,在這種情況下,它會顯示該路由的所有路徑。
BGP 2600>sho bgp ro 129.129.0.0 BGP routing table entry for 129.129.0.0/16 Paths: (in order of preference, best first) AS path 11129 3404 1239 1673 1133 559 Next hop 198.41.11.1 from peer 198.41.11.17 (RtrID 198.41.11.17) Origin IGP, localpref 100, weight 100 AS path 12345 11129 3404 1239 1673 1133 559 Next hop 198.41.11.1 from peer 198.41.11.201 (RtrID 198.41.11.201) Origin IGP, localpref 100, weight 100
如果只輸入IP地址,則將顯示最具體的路由。要顯示具有相同IP地址的不太具體的路由,請同時輸入掩碼。
BGP路由使用CIDR表示法顯示:網路/掩碼位而不是路由/掩碼。
可以使用BGP路由對應來設定優先選項和權重。否則,將使用預設的「本地優先順序」和「權重」值。
顯示完整的AS路徑,其中源AS最靠右最遠。傳遞路由的每個AS會將自己的AS優先於AS路徑屬性。
以下是帶有BGP路由的show ip routing命令的IP路由表摘要。對於BGP,度量是路徑長度,與RIP一樣。大多數BGP路由是IGP,這意味著它們源自內部網關協定。其他可能性包括EGP(外部網關協定)或Incomplete(通常表示靜態路由)。
bgptest> sho ip ro dynamic bgp Dynamic Routes: Destination Mask Gateway Metric Uses Type Src/TTL Interface 3.0.0.0 FF000000 198.41.11.1 5 0 BGP INC Ether0 6.0.0.0 FF000000 198.41.11.1 6 0 BGP INC Ether0 9.2.0.0 FFFF0000 198.41.11.1 6 0 BGP IGP Ether0 9.20.0.0 FFFF8000 198.41.11.1 6 0 BGP INC Ether0 12.0.0.0 FF000000 198.41.11.1 5 0 BGP IGP Ether0 12.2.97.0 FFFFFF00 198.41.11.1 6 0 BGP IGP Ether0 12.2.183.0 FFFFFF00 198.41.11.1 4 0 BGP IGP Ether0 12.4.164.0 FFFFFF00 198.41.11.1 5 0 BGP IGP Ether0 12.5.164.0 FFFFFF00 198.41.11.1 5 0 BGP IGP Ether0 12.5.252.0 FFFFFE00 198.41.11.1 6 0 BGP IGP Ether0 12.6.42.0 FFFFFE00 198.41.11.1 6 0 BGP IGP Ether0 12.7.214.0 FFFFFE00 198.41.11.1 11 0 BGP IGP Ether0 12.8.188.0 FFFFFC00 198.41.11.1 5 0 BGP IGP Ether0 12.8.188.0 FFFFFF00 198.41.11.1 5 0 BGP INC Ether0 12.8.189.0 FFFFFF00 198.41.11.1 5 0 BGP INC Ether0 12.8.191.0 FFFFFF00 198.41.11.1 5 0 BGP INC Ether0 12.10.14.0 FFFFFE00 198.41.11.1 5 0 BGP INC Ether0 12.10.152.0 FFFFF800 198.41.11.1 5 0 BGP IGP Ether0 12.10.231.0 FFFFFF00 198.41.11.1 6 0 BGP IGP Ether0 12.11.134.0 FFFFFE00 198.41.11.1 5 0 BGP IGP Ether0
show bgp peers命令會顯示此路由器上已配置的BGP對等體,其中包含有關對等體的AS編號、路由器ID、IP地址、TCP套接字型大小、啟用狀態和BGP連線狀態的資訊。
bgptest>sho bgp peers ========================================================================== BGP PEER STATUS -------------------------------------------------------------------------- Int AS Router IP TCP Enable BGP Ext Number ID Address Socket Status State -------------------------------------------------------------------------- Ext 23456 0.0.0.0 198.14.13.18 0 Off IDLE Ext 34567 198.41.11.6 198.14.12.6 82 On ESTABLISHED Int 11129 0.0.0.0 198.41.11.17 0 Off IDLE Int 11129 0.0.0.0 198.41.11.2 0 On ACTIVE ==========================================================================
Int/Ext指示這是內部還是外部對等體。(內部對等體與路由器本身具有相同的AS編號。) 對等體的AS編號在BGP對等體清單中配置。
在對等體與路由器聯絡之前,路由器ID是未知的,因此如果連線狀態為IDLE、ACTIVE或CONNECT,則此引數可能為0。路由器ID通常是對等體的一個介面的IP地址,並且不一定與IP地址相同。
Enable Status指示路由器當前是否接受來自此對等體的連線請求。通過在BGP對等體清單中將對等體設定為On,可將對等體設定為啟用。此外,可以使用BGP Peer Enable和BGP Peer Disable命令動態啟用或停用對等體。當Enable Status為Off時,BGP狀態始終為IDLE。
BGP連線狀態為:IDLE、ACTIVE、CONNECT、OPENSENT、OPENCONFIRM和ESTABLISHED。連線狀態由對等體之間的主動協商建立。在IDLE狀態下,路由器不會接受來自對等體的連線。連線超時後會短暫進入此狀態,以防止對等體的快速上移和下移。在ACTIVE狀態下,路由器在其伺服器埠上偵聽來自對等體的連線請求。在CONNECT狀態下,路由器向對等體傳送了一個活動的TCP連線請求。在OPENSENT和OPENCONFIRM狀態中,兩個對等體正在交換初步資料包以建立其BGP會話。如果交換成功,對等體將進入ESTABLISHED狀態。對等點必須繼續交換週期性的KEEPALIVE封包,使其保持建立狀態,除非協定保持時間為0。
BGP通過TCP與其對等體通訊。因此,可以使用「show os tcp」指令取得有關BGP作業階段的進一步資訊。TCP狀態不同於BGP狀態,而是標準TCP狀態(LISTEN、SYNSENT、SYNRCVD、ESTABLISHED、FINWAIT1、FINWAIT2、CLOSEWAIT、LASTACK、CLOSING和TIMEWAIT)。BGP使用連線埠179偵聽BGP連線嘗試。
bgptest>sho os tcp ========================================================================== TCP SESSION INFORMATION -------------------------------------------------------------------------- Local Remote Remote Num Session Type State Socket Port Port IP Address -------------------------------------------------------------------------- 1 SERVER (TELNET) LISTEN 80 23 0 0.0.0.0 2 SERVER (BGP) LISTEN 81 179 0 0.0.0.0 3 ACTIVE (BGP) ESTABLISH 82 20001 179 198.41.9.2 -------------------------------------------------------------------------- 13 free TCBs out of 16. ==========================================================================
show bgp networks命令會顯示要通告給外部BGP對等體的內部網路的清單。
bgptest>sho bgp networks BGP NETWORKS: 2 Address Mask 198.41.11.0 255.255.255.0 209.14.128.0 255.255.255.0
show bgp stats命令會顯示從BGP對等體接收和傳送到BGP對等體的封包型別的統計資料,以及對等體的目前正常運行時間。
BGP Test>sho bgp stats Received Sent Open messages: 8 58 Keepalive messages: 4069 4124 Notify messages: 0 0 BGP External Peer 198.41.11.6 state ESTABLISHED 6 peer sessions, current uptime 2 days 16 hours 40 minutes 19 secs 0 updates received 78791 updates sent, last at 6 secs BGP Internal Peer 198.41.9.2 state ESTABLISHED 1 peer sessions, current uptime 2 days 20 hours 42 minutes 28 secs 88791 updates received, last at 7 secs 0 updates sent
show bgp timers命令顯示與每個對等體關聯的每個計時器上剩餘的當前時間(以秒為單位)。如果對等體處於ESTABLISHED狀態,則為KEEPALIVE計時器和HOLD計時器。如果對等體處於活動狀態,則這是CONNECT計時器。如果對等體處於IDLE狀態但已啟用,這將是AUTO ENABLE計時器。如果對等體處於空閒狀態並被禁用,則在發出bgp peer enable命令之前,計時器不會處於活動狀態。
BGP Test>sho bgp timers ====================================================================== BGP TIMERS ---------------------------------------------------------------------- Peer Address Status State Timers ---------------------------------------------------------------------- 198.41.9.2 Enabled ESTABLISHED Send KEEPALIVE pkt: 2 secs HOLD timer expires: 121 secs 198.14.13.2 Enabled ACTIVE Next CONNECT attempt: 16 secs 199.13.12.3 Enabled IDLE AUTO ENABLE: 112 secs 198.41.9.3 Disabled IDLE No timers active ======================================================================
當對等體處於ESTABLISHED狀態時,Keepalive計時器指示路由器將另一個KEEPALIVE資料包傳送到對等體之前的秒數。Hold Timer指示對等體的保持計時器到期前的秒數。每次路由器從對等路由器收到UPDATE或KEEPALIVE封包時,都會設定保留計時器。如果Hold Timer過期,路由器將宣告對等體關閉,將對等體轉換到IDLE狀態,並設定Auto Enable計時器。
連線計時器和自動啟用計時器都表示路由器將再次嘗試聯絡對等裝置之前的剩餘秒數。當對等體處於活動狀態時,使用連線計時器;在此狀態下,路由器將在連線時間到期之前接受來自對等體的傳入連線請求。當對等體處於空閒狀態時,使用自動啟用計時器;在此狀態下,在自動啟用時間到期之前,路由器不會接受來自對等裝置的連線請求。當Auto Enable時間到期時,對等體將轉換回ACTIVE狀態。
自動啟用計時器的用途是防止對等會話以過快的速度啟動和關閉。一旦對等會話由於某種原因中斷,該對等會話將保持一段較短的時間,然後才允許新的會話。
show bgp mem命令顯示BGP的詳細動態記憶體使用資訊。
BGP Test>sho bgp mem ROUTING DATABASE DYNAMIC MEMORY USAGE ------------------------------------------------------------ Memory Block Allocs Deallocs Size (bytes) ------------------------------------------------------------ ip radix nodes 1976180 ip routing entries 4332132 bgp ip routes 78709 27149 bgp routes 78717 27157 2062400 bgp int change 0 0 0 bgp aggregates 0 0 0 bgp agg paths 0 0 0 bgp timers 12 0 384 ------------------------------------------------------- Peer 198.41.9.2 bgp path entries 78728 27168 1443680 bgp transmit queues 0 0 0 bgp PA strings 28151 21181 1784320 bgp PA hdr entries 28151 21181 529720 bgp rejected routes 0 0 0 bgp rej entries 0 0 0 bgp history entries 0 0 0 ------------------------------------------------------------ Total Size 12128816 ------------------------------------------------------------
此命令顯示路由器的路由器ID、在BGP一般資訊部分中設定的引數、路由重分發狀態和對等配置引數。請注意,BGP的路由器Router ID與路由器IP介面的最大IP地址OSPF的路由器相同。
bgptest>sho bgp config BGPEnabled Yes Router ID 205.14.128.2 BGP AS Number 100 BGP Local Preference 100 Use IP Route Filters Yes Route Relector Server No Redistribute RIP routes into BGP is disabled Redistribute OSPF routes into BGP is disabled Redistribute BGP routes into OSPF is disabled Redistribute BGP routes into RIP is disabled BGP Peer 205.14.128.1 Configuration ID 1 Startup State Inactive AS Number 110 Peer Weight 2000 Next Hop Self No Cfg Hold Time 180 Retry Time 45 Use Loopback No Advertise Default Yes Input Route Map rmapin Output Route Map rmapout BGP Peer 198.41.11.213 Configuration ID 2 Startup State Active AS Number 100 Peer Weight 1000 Next Hop Self No Cfg Hold Time 180 Retry Time 65 Use Loopback No Advertise Default No Input Route Map None Output Route Map None
對等體啟動狀態表示路由器在通電時是否嘗試與對等體建立會話。如果將其設定為Inactive,則可使用BGP Enable命令啟用對等體。但是,對等路由器在下一次重新啟動時將再次處於非活動狀態。
請注意,第一個對等點已定義BGP路由對映,而第二個對等點未定義。由於Use IP Route Filters已設定為Yes,因此它們將用於第二個對等體,而不是第一個對等體。
show bgp aggregates命令會顯示管理員已設定要聚合到外部對等體的路由。僅當路由的例項出現在IP路由表中時,才會發生聚合。
bgptest>sho bgp agg BGP AGGREGATES: 195.41.0.0/16
此命令將停止與選定對等體或所有對等體的BGP會話。
BGP disable all OR BGP disable 205.14.128.1
此命令重置與選定BGP對等體或所有對等體的會話。
Reset BGP Peer all OR Reset BGP Peer 205.14.128.1
以下是使BGP啟動並運行的非常簡單的配置。這假設您只有一個AS出口點,因此將使用靜態預設路由作為出站資料包。
啟用BGP並在BGP一般資訊部分中指定您的AS編號。
[ BGP General ] BGPEnabled = On BGPAS = your AS number
指定您的BGP對等體的IP地址和AS編號,本例中為您的ISP的BGP路由器。
[ BGP Peer List ] BGPPeer = On peer IP address peer AS number
為要在AS外部通告的內部網路指定網路清單。
[ BGP Networks ] LocalNet = first IP address mask LocalNet = second IP address mask
對於具有調試功能的代碼版本,有五個BGP debug命令:BGPPKT、BGPDB、BGPCON、BGPKEEP和BGPTXQ。BGPPKT提供有關BGP更新資料包交換的資訊。BGPFDB提供資料庫更新資訊。BGPCON提供與對等點的BGP作業階段狀態的相關資訊。BGPKEEP提供有關何時傳送或接收KEEPALIVE資料包的資訊。BGPTXQ提供有關將更新資料包傳送到ESTABLISHED狀態的對等體的資訊。
sys debug flags BGPPKT sys debug flags BGPCON sys debug flags BGPFDB sys debug flags BGPKEEP sys debug flags BGPTXQ
rfc2283 -- Multiprotocol Extensions for BGP-4. T. Bates, R. Chandra, D. Katz, Y. Rekhter. February 1998. (Status: PROPOSED STANDARD) rfc2042 -- Registering New BGP Attribute Types. B. Manning. January 1997. (Status: INFORMATIONAL) rfc1998 -- An Application of the BGP Community Attribute in Multi-home Routing. E. Chen & T. Bates. August 1996. (Status: INFORMATIONAL) rfc1997 -- BGP Communities Attribute. R. Chandra, P. Traina & T. Li. August 1996. (Status: PROPOSED STANDARD) rfc1965 -- Autonomous System Confederations for BGP. P. Traina. June 1996. (Status: EXPERIMENTAL) rfc1863 -- A BGP/IDRP Route Server alternative to a full mesh routing. D. Haskin. October 1995. (Status: EXPERIMENTAL) rfc1774 -- BGP-4 Protocol Analysis. P. Traina, Editor. March 1995. (Status: INFORMATIONAL) rfc1773 -- Experience with the BGP-4 protocol. P. Traina. March 1995. (Status: INFORMATIONAL) rfc1771 -- A Border Gateway Protocol 4 (BGP-4). Y. Rekhter & T. Li. March 1995. (Status: DRAFT STANDARD) rfc1745 -- BGP4/IDRP for IP---OSPF Interaction. K. Varadhan, S. Hares, Y. Rekhter. December 1994. (Status: PROPOSED STANDARD)
修訂 | 發佈日期 | 意見 |
---|---|---|
1.0 |
22-Jan-2007 |
初始版本 |