BGP知識點備忘錄


1.有兩種路由協議,一種是IGP,另一種是EGP。
2.IGP路由協議有RIP、EIGRP、OSPF、IS-IS。
3.BGP目標端口為TCP的179端口,源端口號是隨機的。
4.BGP建立鄰居后,會每60秒發送一次keepalive包,如果hold timer為180秒后,認為鄰居丟包,則斷開與鄰居的連接。
5.BGP能夠傳遞的協議有IPv4、IPv6、VPNv4、CLNS、L2VPN。
6.兩個路由器同屬相同的AS,則鄰居關系為iBGP,如果屬於不同AS,則鄰居關系為eBGP。BGP要求eBGP鄰居必須直連,而iBGP鄰居可以任意距離。
7.兩台BGP路由器正常的建立鄰居,必須有一台收到目標IP地址是自己的BGP源地址,任意一個鄰居滿足條件即可。即A的目標IP地址是B的源IP地址。
8.每台BGP路由器都擁有多條鏈路的BGP鄰居保持連接,路由器的loopback口是BGP路由器系統的接口,不會像某個物理接口斷連了,整個BGP鄰居失去正常工作狀態,因為還有通暢的鏈路讓BGP鄰居仍然可以保持連接;實現了連接的冗余性和穩定性。
9.iBGP發出的數據包的TTL值最大為255,而eBGP鄰居時發出的數據包的TTL值限制為1,就限制了eBGP鄰居必須直連;對於建立eBGP數據包的TTL值可以隨意修改,甚至改為最大值255都行。
10.BGP將路由發給eBGP鄰居時,會將自己的AS號碼添加到AS-path中,所以可以以此來防止環路;而在iBGP之間傳遞路由時,強制將BGP路由在AS內部只傳一跳來防止環路的機制。
11.在IGP協議當中,路由協議分成兩大類:距離矢量路由協議和路徑矢量路由協議,路徑矢量算法結合了距離矢量特性與AS-path防環特性。
12.BGP路由的從eBGP學習到的默認AD(管理距離)值為20,iBGP學習到的路由默認AD值為200。順便提一下其它路由協議的默認AD值:直連接口為0、靜態路由為1、EIGRP匯總路由為5、EIGRP為90、IGRP為100、OSPF為110、IS-IS為115、RIP(V1&V2)為120、EGP為140、ODR為160、ExEIGRP(外部EIGRP)為170,未知為255。
13.BGP路由器有兩張路由表,一張普通路由表:show ip route,一張BGP路由表:show ip bgp。
14.當iBGP路由需要跨越N個沒有BGP路由,只有IGP路由時,需要在iBGP路由起用BGP Synchronization,否則認為此路由無效而不能發給其它鄰居。
15.IGP路由協議和BGP路由協議在有多條路徑可以到達同一目的地時,IGP則根據最小metric值來選擇最優路徑,而BGP則比較路由條目中的Path Attributes,即路徑屬性。
16.BGP路徑屬性可划分以下四類:公認強制、公認自選、可選可傳遞、可選不可傳遞
17.任何一台運行BGP的路由器,必須支持公認強制屬性。BGP路由攜帶的公認強制屬性有三個:Origin、Next_Hop、AS-path。
18.一些常用BGP屬性:Origin(公認強制屬性)、AS_Path(公認強制屬性)、Next_Hop(公認強制屬性)、Local_Pref(公認自選屬性)、MULTI——EXIT——DISC(MED,可選不可傳遞屬性)
19.AS是一個16位的數字,范圍為1-65535。1-65411是公有AS;65412-65535共1024個是保留私有AS。

20.重分布進BGP的路由的Origin屬性為Incomplete。
21.BGP路由表中到達同一目的地存在多條路徑時,會通過比較路由的Origin屬性來選擇最優路徑,它們的優先級順序為IGP>EGP>Incomplete。
22.當BGP路由表中達到同一目的地存在多條路徑時,會優選AS-Path最短的路徑。
23.BGP路由器將路由傳遞給eBGP鄰居時,會將Next-hop屬性改為自己的地址,而在將路由傳遞給iBGP鄰居時,不會改變Next-hop屬性。本地發起路由的Next-hop屬性為0.0.0.0。
24.Local_Pref屬性只能在同一AS內部傳遞,出了AS后會被還原成默認值。Local_Pref默認值為100。當BGP路由表到達同一目的地存在多條路徑時,會比較Local_Pref值的大小,本地優先級越高,路由優先級越高。
25.MED是BGP路由中的metric,是被設計用來影響多個下一跳為eBGP鄰居時,如何選擇最優路徑,擁有最小MED值的路徑會被優先使用。MED默認值為0。
26.默認情況下,只有當去往目的地的多個下一跳eBGP鄰居都為相同AS時,才會比較MED值,如果多個eBGP鄰居為不同AS時,是不會比較MED的,若是要強制在多個不同的eBGP鄰居之間比較MED值,需要在BGP進程下輸入命令:bgp always-compare-med。
27.Weight屬性為Cisco私有屬性,Weight值的范圍為0〜65535,默認為0;BGP本地路由,則Weight值為32768。手工修改路由的Weight值,只能對本地起作用,不會傳遞給鄰居。當BGP路由表中到達同一目的地下存在多條路徑時,會優選Weight值最的的路徑。

28.如果某BGP路由的狀態為RIB-Failure,則不能被使用,原因有:1.該路由在IGP中擁有比BGP更高優先級的AD值。2.內容錯誤。3.超出VRF中路由限制數。
29.BGP建立鄰居的條件有1.雙方需要建立鄰居的IP地址在網絡上是互通的,可以建立TCP會話。2.雙方指定的AS號碼必須匹配。3.雙方BGP數據包必須可達(eBGP默認TTL為1,需要注意)。4.對方BGP數據包的目的IP和自己的源IP必須相同(單向滿足即可)
30.BGP最優路徑選擇如下:
1)最高Weight值。默認Weight值為0,本地發起路由為32768。
2)最高LOCAL_PREF值,如果Weight值相同,則選擇擁有最高LOCAL_PREF值的路由,默認為100。)
3)本地發起路由,用network命令導入,或將其它路由協議重分布進BGP路由表,最后是匯總路由表。
4)最短AS_PATH。如果本地發起路由無法比出最優路徑,則選擇擁有最短AS_PATH路由,但可忽略對AS_PATH的比較,而直接比較下一屬性,輸入命令:bgp bestpath as-path ignore。
5)最低Origin類型。如果AS_PATH無法比出最優路徑,則選擇擁有最低Origin類型的路由,從IGP導入,從EGP學習,以及重分布,它們的優先級為IGP優先EGP,EGP優於Incomplete,即IGP>EGP>Incomplete。
6)最小MED值。如果Origin類型無法比出最優路徑,則選擇擁有最小MED值的路由,並且只有當多個下一跳鄰居在同一AS時才比較MED值。如果要在多個不同AS的下一跳中比較MED,可在BGP進程中輸入命令bgp always-compare-med,注意須保證此命令在整個AS的路由器上輸入,否則可能產生路由環路。默認的MED值為0,如果收到一條沒有MED的路由,也認為是0。
7)eBGP優於iBGP
8)最小IGP metric到達下一跳的路由。如果多條路徑的下一跳鄰居同為eBGP或iBGP,則選擇擁有最小IGP metric到達下一跳的路由。)
9)負載均衡。如果開啟的話。maximum-paths n--多條路徑的下一跳鄰居都為eBGP時,輸入此命令。maximum-paths ibgp n--多條路徑的下一跳鄰居都為ibgp時,輸入此命令。n為執行負載均衡的路徑數量,最大值為6,默認為1。
10)如果下一跳都為eBGP,則選擇最早學習到的路由(即時間最長的路由)。如果要忽略比較路由學習到的時間長短,可在BGP進程下輸入命令bgp best path compare-routerid。
11)最低Router-ID下一跳。BGP的Router-ID選舉如同OSPF,在此步,擁有最低Router-ID的下一跳路由將被選為最優路徑。
12)最短cluster list。cluster list只在BGP reflector(RR)的環境下才有,功能如同AS_PATH。
13)最小下一跳的鄰居地址。如果比較之前的所有屬性都無法選出最優路徑,最終選擇下一跳的鄰居地址最小的路由,這個地址就是在建立鄰居時所指的地址。

31.BGP實驗1

 

 

R1:
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
interface FastEthernet0/0
 ip address 12.1.1.1 255.255.255.0
interface FastEthernet0/1
 ip address 13.1.1.1 255.255.255.0
router ospf 3
 router-id 1.1.1.1
 log-adjacency-changes
 network 1.1.1.1 0.0.0.0 area 0
 network 12.1.1.0 0.0.0.255 area 0
 network 13.1.1.0 0.0.0.255 area 0
router bgp 1
 no synchronization
 bgp router-id 1.1.1.1
 bgp log-neighbor-changes
 neighbor 2.2.2.2 remote-as 1
 neighbor 2.2.2.2 update-source Loopback0
 neighbor 3.3.3.3 remote-as 1
 neighbor 3.3.3.3 update-source Loopback0
 no auto-summary

 

 

 

 

R2:

interface Loopback0
 ip address 2.2.2.2 255.255.255.255
interface FastEthernet0/0
 ip address 12.1.1.2 255.255.255.0
interface FastEthernet0/1
 ip address 24.1.1.2 255.255.255.0
router ospf 3
 router-id 2.2.2.2
 log-adjacency-changes
 network 2.2.2.2 0.0.0.0 area 0
 network 12.1.1.0 0.0.0.255 area 0
 network 24.1.1.0 0.0.0.255 area 0
router bgp 1
 no synchronization
 bgp router-id 2.2.2.2
 bgp log-neighbor-changes
 neighbor 1.1.1.1 remote-as 1
 neighbor 1.1.1.1 update-source Loopback0
 neighbor 4.4.4.4 remote-as 4
 neighbor 4.4.4.4 ebgp-multihop 255
 neighbor 4.4.4.4 update-source Loopback0
 no auto-summary

 

R3:

interface Loopback0
 ip address 3.3.3.3 255.255.255.255
interface FastEthernet0/0
 ip address 34.1.1.3 255.255.255.0
interface FastEthernet0/1
 ip address 13.1.1.3 255.255.255.0
router ospf 3
 router-id 3.3.3.3
 log-adjacency-changes
 network 3.3.3.3 0.0.0.0 area 0
 network 13.1.1.0 0.0.0.255 area 0
 network 34.1.1.0 0.0.0.255 area 0
router bgp 1
 no synchronization
 bgp router-id 3.3.3.3
 bgp log-neighbor-changes
 neighbor 1.1.1.1 remote-as 1
 neighbor 1.1.1.1 update-source Loopback0
 neighbor 4.4.4.4 remote-as 4
 neighbor 4.4.4.4 ebgp-multihop 255
 neighbor 4.4.4.4 update-source Loopback0
 no auto-summary
R4:

interface Loopback0
 ip address 4.4.4.4 255.255.255.255
interface FastEthernet0/0
 ip address 34.1.1.4 255.255.255.0
interface FastEthernet0/1
 ip address 24.1.1.4 255.255.255.0
router ospf 3
 router-id 4.4.4.4
 log-adjacency-changes
 network 4.4.4.4 0.0.0.0 area 0
 network 24.1.1.0 0.0.0.255 area 0
 network 34.1.1.0 0.0.0.255 area 0
router bgp 4
 no synchronization
 bgp router-id 4.4.4.4
 bgp log-neighbor-changes
 neighbor 2.2.2.2 remote-as 1
 neighbor 2.2.2.2 ebgp-multihop 255
 neighbor 2.2.2.2 update-source Loopback0
 neighbor 3.3.3.3 remote-as 1
 neighbor 3.3.3.3 ebgp-multihop 255
 neighbor 3.3.3.3 update-source Loopback0
 no auto-summary

 

 

32.BGP實驗2

R1:
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
interface FastEthernet0/0
 ip address 12.1.1.1 255.255.255.0
router ospf 1
 router-id 1.1.1.1
 network 1.1.1.1 0.0.0.0 area 0
 network 12.1.1.0 0.0.0.255 area 0
router bgp 12
 no synchronization
 bgp router-id 1.1.1.1
 network 1.1.1.1 mask 255.255.255.255
 network 12.1.1.0 mask 255.255.255.0
 neighbor 2.2.2.2 remote-as 12
 neighbor 2.2.2.2 update-source Loopback0
 neighbor 2.2.2.2 next-hop-self
 no auto-summary

 

R2:
interface Loopback0
 ip address 2.2.2.2 255.255.255.255
interface FastEthernet0/0
 ip address 12.1.1.2 255.255.255.0
interface FastEthernet0/1
 ip address 23.1.1.2 255.255.255.0
router ospf 1
 router-id 2.2.2.2
 log-adjacency-changes
 network 2.2.2.2 0.0.0.0 area 0
 network 12.1.1.0 0.0.0.255 area 0
 network 23.1.1.0 0.0.0.255 area 0
router bgp 12
 no synchronization
 bgp router-id 2.2.2.2
 network 2.2.2.2 mask 255.255.255.255
 network 12.1.1.0 mask 255.255.255.0
 network 23.1.1.0 mask 255.255.255.0
 neighbor apple peer-group
 neighbor apple remote-as 3
 neighbor apple ebgp-multihop 2
 neighbor apple next-hop-self
 neighbor orange peer-group
 neighbor orange remote-as 12
 neighbor orange update-source Loopback0
 neighbor 1.1.1.1 peer-group orange
 neighbor 23.1.1.3 peer-group apple   //配置ebgp,相鄰的eBGP路由器只有一個節點,必須用直連接口來做eBGP鄰居宣告,不能用loopback口來宣告eBGP路由;如果用loopback口來建的話,必然有路由震盪現象。
 no auto-summary

 

R3:
interface Loopback0
 ip address 3.3.3.3 255.255.255.255
interface FastEthernet0/1
 ip address 23.1.1.3 255.255.255.0
router ospf 1
 log-adjacency-changes
 network 3.3.3.3 0.0.0.0 area 0
 network 23.1.1.0 0.0.0.255 area 0
router bgp 3
 no synchronization
 bgp router-id 3.3.3.3
 network 3.3.3.3 mask 255.255.255.255
 network 23.1.1.0 mask 255.255.255.0
 neighbor lemon peer-group
 neighbor lemon remote-as 12
 neighbor lemon ebgp-multihop 2
 neighbor lemon next-hop-self
 neighbor 23.1.1.2 peer-group lemon
 no auto-summary

 

1.查看BGP時,相鄰的兩eBGP節點路由器在show ip route時能看到帶有B的路由表,而相同AS的iBGP節點路由器上
查看show ip route卻沒有帶B的路由表,因為iBGP是IGP路由協議類型,在它的節點路由表只有IGP類型的路由表。
2.查看路由表,show ip route為查看通用的路由表,也包括BGP,只不過iBGP類型的路由表不顯示帶B標記;
而show ip bgp能查到所有iBGP和eBGP路由表,或show ip bgp summary能查看BGP建立的工作時間,如果是
never標識的表示還沒有成功建立BGP關系。

補充:
      MED屬性和Local_Pref屬性區別在於:MED用於判斷流量進入AS時的最佳路由,Local_Pref屬性用於判斷流量離開AS時的最佳路由。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM