<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

BGP選路規則的實驗驗證與解析

網絡技術干貨圈 ? 來源:網絡技術干貨圈 ? 2024-04-08 10:45 ? 次閱讀

順序也要記住
1.優選協議首選值(Preference_Value)最高的路由。(私有屬性,僅本地有效)
2.優選本地優先級(Local_Preference)最高的路由。 (100,IBGP,越大越優)
3.優選本地生成的路由。手動聚合>自動聚合>network>import>從對等體學到的。
4.優選 AS_Path 短的路由。
5.比較 Origin 屬性,起源類型 IGP>EGP>Incomplete。 i>e>?
6.優選 MED(Multi Exit Discriminator)值最低的路由。 (0,EBGP,越小越優)
7.優選從 EBGP 學來的路由(EBGP>IBGP)。
8.優選 AS 內部 IGP 的 Metric 最小的路由。
前 8 條選路規則一樣,可以實現 BGP 的負載分擔
bgp 100
maximum load-balancing 2

9.優選 Cluster_List 最短的路由。 (有做路由反射器RR才考慮)
10.優選 Router_ID 最小的路由器發布的路由。
11.優選具有較小 IP 地址的鄰居學來的路由。

如果配置了負載分擔,當前8個規則相同,且存在多條AS_Path完全相同的外部路由,則根據配置的路由條數選擇多條路由進行負載分擔

PreVal

BGP 路由屬性的比較過程中,首先要比較的就是路由信息首選值 Preference Value,也簡稱為 PreVal。相當于BGP選路規則中的Weight值,值越大,優先級越高,默認為 0,不會發送給任何 BGP 鄰居,僅作為本地路由器用來選路使用。

ip ip-prefix 1 permit 55.55.55.0 24
route-policy 10 permit node 1
if-match ip-prefix 1
apply preferred-value 100
route-policy 10 permit node 2
bgp 100
peer 2.2.2.2 route-policy 10 import

8fb2b840-e9c2-11ee-a297-92fbcf53809c.png

router id: 1.1.1.1 。根據11條路由選路規則,R1的Router ID更小,他默認會往R1那條路走。
現在我想讓他往R2走

1、基本配置
R1:
sys
sysnameR1
intloop0
ipadd1.1.1.132
intg0/0/0
ipadd192.168.13.124
intg0/0/1
ipadd192.168.14.124
q

R2:
sys
sysnameR2
intloop0
ipadd2.2.2.232
intg0/0/1
ipadd192.168.23.224
intg0/0/0
ipadd192.168.24.224
q

R3:
sys
sysnameR3
intloop0
ipadd3.3.3.332
intloop1
ipadd33.33.33.3332
intg0/0/0
ipadd192.168.13.324
intg0/0/1
ipadd192.168.23.324
q

R4:
sys
sysnameR4
intloop0
ipadd4.4.4.432
intloop1
ipadd44.44.44.4432
intloop2
ipadd55.55.55.5532
intg0/0/0
ipadd192.168.14.424
intg0/0/1
ipadd192.168.24.424
q

2.配置RIP協議
R1:
rip
version2
net192.168.13.0
net1.0.0.0

R2:
rip
version2
net192.168.23.0
net2.0.0.0

R3:
rip
version2
net192.168.13.0
net192.168.23.0
net3.0.0.0

3.配置IBGP鄰居
R1:
[R1]bgp100
[R1-bgp]router-id1.1.1.1
[R1-bgp]peer3.3.3.3as-n100
[R1-bgp]peer3.3.3.3conloo0
[R1-bgp]peer3.3.3.3next-hop-local
[R1-bgp]peer2.2.2.2as-n100
[R1-bgp]peer2.2.2.2conloo0
[R1-bgp]peer2.2.2.2next-hop-local

R2:
[R2]bgp100
[R2-bgp]router-id2.2.2.2
[R2-bgp]peer1.1.1.1as-n100
[R2-bgp]peer1.1.1.1conloo0
[R2-bgp]peer1.1.1.1next-hop-local
[R2-bgp]peer3.3.3.3as-n100
[R2-bgp]peer3.3.3.3conloo0
[R2-bgp]peer3.3.3.3next-hop-local

R3:
[R3]bgp100
[R3-bgp]router-id3.3.3.3
[R3-bgp]peer1.1.1.1as-n100
[R3-bgp]peer1.1.1.1conloo0
[R3-bgp]peer2.2.2.2as-n100
[R3-bgp]peer2.2.2.2conloo0

4.配置靜態路由
解決R1、R2的靜態路由,回包路由
[R1]iproute-static4.4.4.432192.168.14.4
[R2]iproute-static4.4.4.432192.168.24.4
[R4]iproute-static1.1.1.132192.168.14.1
[R4]iproute-static2.2.2.232192.168.24.2

5.建立EBGP鄰居
現在R1R2來和R4建立鄰居
[R1]bgp100
[R1-bgp]peer4.4.4.4as-n200
[R1-bgp]peer4.4.4.4conloo0
[R1-bgp]peer4.4.4.4ebgp-max-hop

[R2]bgp100
[R2-bgp]peer4.4.4.4as-n200
[R2-bgp]peer4.4.4.4conloo0
[R2-bgp]peer4.4.4.4ebgp-max-hop

[R4]bgp200
[R4-bgp]router-id4.4.4.4
[R4-bgp]peer1.1.1.1as-n100
[R4-bgp]peer1.1.1.1conloo0
[R4-bgp]peer1.1.1.1ebgp-max-hop
[R4-bgp]peer2.2.2.2as-n100
[R4-bgp]peer2.2.2.2conloo0
[R4-bgp]peer2.2.2.2ebgp-max-hop

6.宣告網段,傳遞路由
把R3的條目放到BGP里
[R3-bgp]net33.33.33.3332

[R4]bgp200
[R4-bgp]net44.44.44.4432
[R4-bgp]net55.55.55.5532

[R3-bgp]disbgprouting-table44.44.44.44查看詳細參數
發現IGPcost1,notpreferredforrouterID
選擇R1是因為是通過RouterID,越小越優先
最優可用的路由條目會放在全局路由表
[R3]disiprouting-table
44.44.44.44/32IBGP2550RD1.1.1.1

7.負載分擔
希望在R3的全局路由表有1.1.1.1也有2.2.2.2
選路規則前八條必須一模一樣,然后開啟負載分擔
哪臺路由器看,就哪臺路由器開
[R3]bgp100
[R3-bgp]maximumload-balancing2
disiprouting-table
44.44.44.44/32IBGP2550RD1.1.1.1GigabitEthernet0/0/0
IBGP2550RD2.2.2.2


8.首選值PreVal
BGP路由默認是1.1.1.1
現在想要55.55.55.55最優選2.2.2.2。
達到一種合理分流的效果
想R3經過R1去44網段,R3經過R2去55網段

8fbbf842-e9c2-11ee-a297-92fbcf53809c.png

R4的路由到R2再進入到R3,import到R3
R2產生的路由條目發給R3import
R3產生的路由條目發給R2export

三步驟:
[R3]acl2000
[R3-acl-basic-2000]rulepermitsource55.55.55.550.0.0.0
[R3]route-policy10permitnode10
[R3-route-policy]if-matchacl2000
[R3-route-policy]applypreferred-value99
[R3]route-policy10permitnode20
[R3]bgp100
[R3-bgp]peer2.2.2.2route-policy10import
如果是R3產生的路由條目發送給R2,那就是export

8fc56c74-e9c2-11ee-a297-92fbcf53809c.png

Local_Preference

BGP屬性 —— Local_Preference
Local_Pref屬性僅在IBGP鄰居之間有效,不通告給其他AS。它表明路由器的BGP優先級,用于判斷流量離開AS時的最佳路由,也就是控制流量從哪個出口離開AS。默認為100,越大越優 (EBGP之間路由傳遞不攜帶Local_Preference)

修改默認本地優先級
bgp 200
default local-preference 200

修改一條路由的本地優先級
ip ip-prefix 1 permit 1.1.1.0 24
route-policy 10 permit node 1
if-match ip-prefix 1
apply local-preference 500
route-policy 10 permit node 2
8
bgp 200
peer 192.168.12.1 route-policy 10 import

8fd6f9d0-e9c2-11ee-a297-92fbcf53809c.png

R2的Router ID比R3的Router ID小,默認走的是R2路線,現在想R3也要走

1、基本配置
R1:
sys
sysnameR1
intloop0
ipadd1.1.1.124
intloop1
ipadd11.11.11.1124
intg0/0/0
ipadd192.168.12.124
intg0/0/1
ipadd192.168.13.124
q

R2:
sys
sysnameR2
intloop0
ipadd2.2.2.224
intg0/0/0
ipadd192.168.12.224
intg0/0/1
ipadd192.168.24.224
q

R3:
sys
sysnameR3
intloop0
ipadd3.3.3.324
intg0/0/1
ipadd192.168.13.324
intg0/0/0
ipadd192.168.34.324
q

R4:
sys
sysnameR4
intloop0
ipadd4.4.4.424
intloop1
ipadd44.44.44.4424
intg0/0/1
ipadd192.168.24.424
intg0/0/0
ipadd192.168.34.424
q


2.配置OSPF
R2:
ospf1router-id2.2.2.2
area0.0.0.0
network2.2.2.20.0.0.0
network192.168.24.20.0.0.0

R3:
ospf1router-id3.3.3.3
area0.0.0.0
network3.3.3.30.0.0.0
network192.168.34.30.0.0.0

R4:44.44.44.44放在BGP
ospf1router-id4.4.4.4
area0.0.0.0
network192.168.24.40.0.0.0
network192.168.34.40.0.0.0
network4.4.4.40.0.0.0

3.建立BGP
R1:
[R1]bgp100
[R1-bgp]router-id1.1.1.1
[R1-bgp]peer192.168.12.2as-n200
[R1-bgp]peer192.168.13.3as-n200
[R1-bgp]net1.1.1.024
[R1-bgp]net11.11.11.024

R2:
[R2]bgp200
[R2-bgp]router-id2.2.2.2
[R2-bgp]peer192.168.12.1as-n100
[R2-bgp]peer4.4.4.4as-n200
[R2-bgp]peer4.4.4.4conloo0
[R2-bgp]peer4.4.4.4next-hop-local
[R2-bgp]peer3.3.3.3as-n200
[R2-bgp]peer3.3.3.3conloo0
[R2-bgp]peer3.3.3.3next-hop-local

R3:
[R3]bgp200
[R3-bgp]router-id3.3.3.3
[R3-bgp]peer192.168.13.1as-n100
[R3-bgp]peer2.2.2.2as-n200
[R3-bgp]peer2.2.2.2conloo0
[R3-bgp]peer2.2.2.2next-hop-local
[R3-bgp]peer4.4.4.4as-n200
[R3-bgp]peer4.4.4.4conloo0
[R3-bgp]peer4.4.4.4next-hop-local

R4:
[R4]bgp200
[R4-bgp]router-id4.4.4.4
[R4-bgp]peer2.2.2.2as-n200
[R4-bgp]peer2.2.2.2conloo0
[R4-bgp]peer3.3.3.3as-n200
[R4-bgp]peer3.3.3.3conloo0
[R4-bgp]net44.44.44.024

[R4-bgp]disbgprouting-table
R4去往11網段是往R2走,因為R2的RouterID更小
TotalNumberofRoutes:5
NetworkNextHopMEDLocPrfPrefValPath/Ogn

*>i1.1.1.0/242.2.2.201000100i
*i3.3.3.301000100i
*>i11.11.11.0/242.2.2.201000100i
*i3.3.3.301000100i
*>44.44.44.0/240.0.0.000i
[R4-bgp]


4.修改優先級
單單改R3default(換湯不換藥)
可以disdefault-parameterbgp查看默認
如果想走R3,就在R3上改
[R3]bgp200
[R3-bgp]defaultlocal-preference200
改了之后,在R4上查看disbgprouting-table
TotalNumberofRoutes:3
NetworkNextHopMEDLocPrfPrefValPath/Ogn

*>i1.1.1.0/243.3.3.302000100i
*>i11.11.11.0/243.3.3.302000100i
*>44.44.44.0/240.0.0.000i
剛才是都走2.2.2.2,現在都走3.3.3.3
換湯不換藥,沒達到分流效果


在上面R3改了本地優先級的基礎上,再改R2
R2上做了后通過IBGP鄰居傳給R4
[R2]ipip-prefix1permit1.1.1.024
[R2]route-policy10permitnode10
[R2-route-policy]if-matchip-prefix1
[R2-route-policy]applylocal-preference299
[R2]route-policy10permitnode20

[R2]bgp200
[R2-bgp]peer192.168.12.1route-policy10import
關鍵:路由條目是R1產生的,針對R1進入(import)到R2的時候改變屬性值為299,然后通過IBGP傳給R4,從而影響R4離開當前AS200選R2

[R4]disbgprouting-table
TotalNumberofRoutes:3
NetworkNextHopMEDLocPrfPrefValPath/Ogn

*>i1.1.1.0/242.2.2.202990100i
*>i11.11.11.0/243.3.3.302000100i
*>44.44.44.0/240.0.0.000i

AS-Path

AS_Path 屬性順序記錄了某條 BGP 路由所經過的 AS 信息,BGP 在比較
AS_Path 屬性后,會優選 AS_Path 長度較短的那條路由。另外,AS_Path 還可以用來防止路由之間的環路。當路由器從 EBGP 鄰居收到 BGP 路由時,如果該路由的 AS_Path 中包含了自己的 AS 編號,則該路由將會直接丟棄。

ip ip-prefix asp permit 2.2.2.0 24
route-policy 10 permit node 1
if-match ip-prefix asp
apply as-path 500 500 additive
9
route-policy 10 permit node 2
bgp 100
peer 192.168.15.5 route-policy 10 import
apply as-path 500 500 additive
apply as-path 300 500 500 100 overwrite
Warning: The AS-Path lists of routes to which this route-policy is applied
will be overwritten. Continue? [Y/N] y

8fe9ead6-e9c2-11ee-a297-92fbcf53809c.png

1、基本配置
R1:
sys
sysnameR1
intloop0
ipadd1.1.1.124
intg0/0/1
ipadd192.168.15.124
intg0/0/0
ipadd192.168.13.124
q

R2:
sys
sysnameR2
intloop0
ipadd2.2.2.224
intg0/0/1
ipadd192.168.26.224
intg0/0/0
ipadd192.168.24.224
q

R3:
sys
sysnameR3
intg0/0/0
ipadd192.168.13.324
intg0/0/1
ipadd192.168.34.324
q

R4:
sys
sysnameR4
intg0/0/0
ipadd192.168.24.424
intg0/0/1
ipadd192.168.34.424
q

R5:
sys
sysnameR5
intg0/0/1
ipadd192.168.15.524
intg0/0/0
ipadd192.168.56.524
q

R6:
sys
sysnameR6
intg0/0/0
ipadd192.168.56.624
intg0/0/1
ipadd192.168.26.624
q


2.配置BGP
R1:
bgp100
router-id1.1.1.1
peer192.168.15.5as-n500
peer192.168.13.3as-n300
net1.1.1.024

R2:
bgp200
router-id2.2.2.2
peer192.168.26.6as-n500
peer192.168.24.4as-n400
net2.2.2.024

R3:
bgp300
router-id3.3.3.3
peer192.168.13.1as-n100
peer192.168.34.4as-n400

R4:
bgp400
router-id4.4.4.4
peer192.168.34.3as-n300
peer192.168.24.2as-n200

R5:
bgp500
router-id5.5.5.5
peer192.168.15.1as-n100
peer192.168.56.6as-n500
peer192.168.56.6next-hop-local

R6:
bgp500
router-id6.6.6.6
peer192.168.26.2as-n200
peer192.168.56.5as-n500
peer192.168.56.5next-hop-local

[R1]disbgprouting-table
TotalNumberofRoutes:3
NetworkNextHopMEDLocPrfPrefValPath/Ogn

*>1.1.1.0/240.0.0.000i
*>2.2.2.0/24192.168.15.50500200i
*192.168.13.3030040020

[R1]disbgprouting-table2.2.2.2
可以查看詳細為什么到達2.2.2.2下一跳是15.5
AS-path300400200,originigp,pref-val0,valid,external,pre255,notpreferredforAS-Path.
因為下面要經過3個AS號,上面只需要經過2個AS號

3.增加AS,修改優先級
希望R1走13.3,下面走,增加AS號
針對R5發送給R1的路由,import
[R1]ipip-prefix2permit2.2.2.024
[R1]route-policy10permitnode10
[R1-route-policy]if-matchip-prefix2
[R1-route-policy]applyas-path499599additive也可以覆蓋overwrite
[R1]route-policy10permitnode20
[R1-route-policy]bgp100
[R1-bgp]peer192.168.15.5route-policy10import

[R1]disbgprouting-table選擇AS-Path更短的13.3
TotalNumberofRoutes:3
NetworkNextHopMEDLocPrfPrefValPath/Ogn

*>1.1.1.0/240.0.0.000i
*>2.2.2.0/24192.168.13.30300400200i
*192.168.15.50499599500200i

4.R2查看回包,來包回包路徑要一樣才正常。
R2還是默認在上面,剛才的改動對R2沒影響,因此也要對R2進行修改,一樣的方法
disbgprouting-table
TotalNumberofRoutes:3
NetworkNextHopMEDLocPrfPrefValPath/Ogn

*>1.1.1.0/24192.168.26.60500100i
*192.168.24.40400300100i
*>2.2.2.0/240.0.0.000i

[R2]acl2000
[R2-acl-basic-2000]rulepermitsource1.1.1.00.0.0.255
[R2-acl-basic-2000]q
[R2]route-policy10permitnode10
[R2-route-policy]if-matchacl2000
[R2-route-policy]applyas-path199299399499overwrite
Warning:TheAS-Pathlistsofroutestowhichthisroute-policyisappliedwill
beoverwritten.Continue?[Y/N]y
[R2-route-policy]q
[R2]route-policy10permitnode20
[R2-route-policy]q
[R2]bgp200
[R2-bgp]peer192.168.26.6route-policy10import針對R6進入到R2的路由調用

disbgprouting-table
TotalNumberofRoutes:3
NetworkNextHopMEDLocPrfPrefValPath/Ogn

*>1.1.1.0/24192.168.24.40400300100i
*192.168.26.60199299399499i
*>2.2.2.0/240.0.0.000i

Metric

優選 AS 內部 IGP 的 Metric 最小的路由。
BGP 在比較 Next Hop 屬性時,會優選去往 Next Hop 屬性中 IP 地址的 IGP開銷最小的路由。
通信雙方的往返報文選用不同路徑的現象稱為不對稱路由。對于某些特定的應用,以及部署了某些特別的安全設備和安全策略的情況下,不對稱路由的存在可能會導致通過中斷的現象。
int g0/0/0
ospf cost 2000

Med

可選非過渡,內容不一定識別到,識別不到就不會傳遞。
MED 多出口區分器
MED(Multi-exit-disc)也稱為多出口鑒別器,它是一個 4 字節的整數,默認 MED值為 0,MED 值越小,表明相應的路由優先級越高。MED屬性僅在相鄰兩個AS之間傳遞,收到此屬性的AS不會再將其通告給任何其他第三方AS。 MED 屬性主要作用是用來控制來自鄰居 AS 的流量從哪個入口進入到本 AS 中。用于判斷流量進入AS時的最佳路由

MED俗稱是BGP的cost值

這里是前綴列表的做法,代碼塊寫的是ACL做法
ip ip-prefix 1 permit 172.16.1.0 24
ip ip-prefix 2 permit 172.16.2.0 24
route-policy 10 permit node 1
if-match ip-prefix 1
apply cost 100
route-policy 10 permit node 2
if-match ip-prefix 2
apply cost 200
route-policy 10 permit node 3
route-policy 20 permit node 1
if-match ip-prefix 1
apply cost 200
route-policy 20 permit node 2
if-match ip-prefix 2
apply cost 100
route-policy 20 permit node 3
bgp 100
peer 192.168.12.2 route-policy 10 export
peer 192.168.13.3 route-policy 20 export
bgp 400
compare-different-as-med

8ffb911e-e9c2-11ee-a297-92fbcf53809c.png

903d836c-e9c2-11ee-a297-92fbcf53809c.png

R2和R3去往172.16.1.1,都走12網段
R2和R3去往172.16.2.1,都走23網段

R5接收學習R2路由,因為R2的Router ID更小,我現在需要優選R4路由發送給R5,該怎么做。

1、基礎配置
R1:
sys
sysnameR1
intloop0
ipadd1.1.1.124
intloop1
ipadd172.16.1.124
intloop2
ipadd172.16.2.124
intloop3
ipadd192.168.1.124
intg0/0/2
ipadd192.168.12.124
intg0/0/0
ipadd192.168.13.124
intg0/0/1
ipadd192.168.14.124
q

R2:
sys
sysnameR2
intloop0
ipadd2.2.2.224
intg0/0/2
ipadd192.168.12.224
intg0/0/0
ipadd192.168.23.224
intg0/0/1
ipadd192.168.25.224
q

R3:
sys
sysnameR3
intloop0
ipadd3.3.3.324
intg0/0/1
ipadd192.168.13.324
intg0/0/0
ipadd192.168.23.324
intg0/0/2
ipadd192.168.35.324
q

R4:
sys
sysnameR4
intloop0
ipadd4.4.4.424
intg0/0/0
ipadd192.168.14.424
intg0/0/1
ipadd192.168.45.424
q

R5:
sys
sysnameR5
intloop0
ipadd5.5.5.524
intg0/0/2
ipadd192.168.25.524
intg0/0/1
ipadd192.168.35.524
intg0/0/0
ipadd192.168.45.524
q


2.建立BGP
R1:
R1的192.168.1.1是針對R5來看的
[R1]bgp100
[R1-bgp]router-id1.1.1.1
[R1-bgp]peer192.168.12.2as-n200
[R1-bgp]peer192.168.13.3as-n200
[R1-bgp]peer192.168.14.4as-n300
[R1-bgp]net172.16.1.024
[R1-bgp]net172.16.2.024
[R1-bgp]

R2:
[R2]bgp200
[R2-bgp]router-id2.2.2.2
[R2-bgp]peer192.168.12.1as-n100
[R2-bgp]peer192.168.25.5as-n400
[R2-bgp]peer192.168.23.3as-n200
[R2-bgp]peer192.168.23.3next-hop-local
因為沒有用環回口來建立IBGP鄰居,所以ebgp多跳和connect不需要。

R3:
[R3]bgp200
[R3-bgp]router-id3.3.3.3
[R3-bgp]peer192.168.13.1as-n100
[R3-bgp]peer192.168.35.5as-n400
[R3-bgp]peer192.168.23.2as-n200
[R3-bgp]peer192.168.23.2next-hop-local

R4:
[R4]bgp300
[R4-bgp]router-id4.4.4.4
[R4-bgp]peer192.168.14.1as-n100
[R4-bgp]peer192.168.45.5as-n400

R5:
[R5]bgp400
[R5-bgp]router-id5.5.5.5
[R5-bgp]peer192.168.25.2as-n200
[R5-bgp]peer192.168.35.3as-n200
[R5-bgp]peer192.168.45.4as-n300
查看鄰居狀態是否為Established

驗證:
[R2]disbgprouting-table

TotalNumberofRoutes:4
NetworkNextHopMEDLocPrfPrefValPath/Ogn

*>172.16.1.0/24192.168.12.100100i
*i192.168.23.301000100i
*>172.16.2.0/24192.168.12.100100i
*i192.168.23.301000100i
為什么最優是12.1呢,可以查看原因
[R2]disbgprouting-table172.16.1.0
AS-path100,originigp,MED0,localpref100,pref-val0,valid,internal,pre
255,notpreferredforpeertype
R1和R2之間是EBGP鄰居,R2和R3是IBGP鄰居
EBGP鄰居的優先級>IBGP鄰居的優先級
如果在R3上查看bgp路由表也是一樣道理


3.現在要求R2R3去往172.16.1.0都往12網段走
去往172.16.2.0都往13網段走
R1修改完成后,發給EBGP鄰居R2和R3,從而讓R2和R3影響選路。
R1自己修改后export給R2和R3

第一步:匹配ACL,應用策略
[R1]acl2001
[R1-acl-basic-2001]rulepermitsource172.16.1.00.0.0.255
[R1-acl-basic-2001]acl2002
[R1-acl-basic-2002]rulepermitsource172.16.2.00.0.0.255
[R1-acl-basic-2002]

配置R2和R3策略
R2:
route-policyR2permitnode10
if-matchacl2001
applycost20
#
route-policyR2permitnode20
if-matchacl2002
applycost30
#
route-policyR2permitnode30

R3:
route-policyR3permitnode10
if-matchacl2001
applycost30
#
route-policyR3permitnode20
if-matchacl2002
applycost20
#
route-policyR3permitnode30

R1上調用:
bgp100
peer192.168.12.2route-policyR2export
peer192.168.13.3route-policyR3export


R2查看bgp路由表

9047f0ea-e9c2-11ee-a297-92fbcf53809c.png

MED屬性僅在相鄰兩個AS之間傳遞,收到此屬性的AS不會再將其通告給任何其他第三方AS。
MED值只會傳給一個 EBGP鄰居,AS100傳給了AS200,不會再傳給AS400。
[R5]dis bgp routing-table 驗證

9060aa2c-e9c2-11ee-a297-92fbcf53809c.png

MED和LocPrf 為空,都是默認值

4.R5優選學習
[R1]bgp100
[R1-bgp]net192.168.1.024
R1宣告網段,發送給R2R3R4,然后再發送給R5

在R5這臺路由器上有三個鄰居,默認會優選R2,因為R2的RouterID更小
[R5]disbgprouting-table192.168.1.0
.......dforrouterID

RouterID是選路規則的第十條,現在我要優選R4
MED是選路規則的第六條,匹配網段,然后改MED值
R2的MED是100,R3的MED是50,R4的MED是10
R2:
[R2]ipip-prefix1permit192.168.1.024
[R2]route-policyR5permitnode10
[R2-route-policy]if-matchip-prefix1
[R2-route-policy]applycost100
[R2-route-policy]route-policyR5permitnode20
[R2-route-policy]q
[R2]bgp200
[R2-bgp]peer192.168.25.5route-policyR5export

R3、R4都這樣做,不同的是applycost5010
還有bgp調用,peer的地址。
驗證:[R5]disbgprouting-table

為什么不選R4,因為來自不同的表項

907388a4-e9c2-11ee-a297-92fbcf53809c.png

因為BGP只比較來自同一個AS的路由的MED值。 它會在AS 200里選。

如果真的想要選R4,在R5上啟用一個特殊,誰查看就在誰的路由器上做
[R5]bgp 400
[R5-bgp]compare-difference-as-med

90836422-e9c2-11ee-a297-92fbcf53809c.png

Community

可選過渡,advertise-community,讓別的路由器也識別到。
Community 屬性
BGP 路由的團體屬性 Community 的主要作用是簡化路由策略的實現過程,例如,可以將擁有團體屬性的若干路由視為同一個團體,當需要對該團體中所有路由的某個特定屬性進行修改時,就沒必要逐一對每條路由單獨進行修改。 團體屬性是 BGP 路由的一種可選屬性,路由器在向 BGP 對等體傳遞路由時,如果希望所傳遞的路由攜帶團體的屬性,則需要額外的配置

兩個作用: ①限定路由的傳播范圍 ②打標記,便于對符合相同條件的路由進行統一處理

4 個特殊的團體:
internet ,no-export , no-advertise , no-export-Subconfed

internet : 可以向任何 BGP 對等體發布路由
no-export: 不會發給 EBGP 對等體,但可以發布給聯盟(Confederation)EBGP 對等體
no-advertise: 不會發給任何 BGP 對等體,誰都不發
no-export-Subconfed :不會發給 EBGP 對等體,也不會發布給聯盟
(Confederation)EBGP 對等體
aa:nn 自定義團體屬性

909261c0-e9c2-11ee-a297-92fbcf53809c.png

1、基本配置
R1:
sys
sysnameR1
intloop0
ipadd1.1.1.124
intloop1
ipadd10.0.100.132
intloop2
ipadd10.0.100.232
intloop3
ipadd10.0.100.332
intloop4
ipadd10.0.100.432
intloop5
ipadd10.0.100.532
intg0/0/0
ipadd192.168.12.124
q

R2:
sys
sysnameR2
intloop0
ipadd2.2.2.224
intg0/0/0
ipadd192.168.12.224
intg0/0/1
ipadd192.168.23.224
intg0/0/2
ipadd192.168.24.224
q

R3:
sys
sysnameR3
intloop3
ipadd3.3.3.324
intg0/0/1
ipadd192.168.23.324
q

R4:
sys
sysnameR4
intloop0
ipadd4.4.4.424
intg0/0/2
ipadd192.168.24.424
intg0/0/0
ipadd192.168.45.424
q

R5:
sys
sysnameR5
intloop0
ipadd5.5.5.524
intg0/0/0
ipadd192.168.45.524
q


2.建立BGP
R1:
[R1]bgp100
[R1-bgp]router-id1.1.1.1
[R1-bgp]peer192.168.12.2as-n200
[R1-bgp]net10.0.100.132
[R1-bgp]net10.0.100.232
[R1-bgp]net10.0.100.332
[R1-bgp]net10.0.100.432
[R1-bgp]net10.0.100.532

R2:
[R2]bgp2001
[R2-bgp]router-id2.2.2.2
[R2-bgp]conf
[R2-bgp]confederationid200
[R2-bgp]confederationpeer-as2002
[R2-bgp]peer192.168.12.1as-n100
[R2-bgp]peer192.168.24.4as-n2001
[R2-bgp]peer192.168.24.4next-hop-local
[R2-bgp]peer192.168.23.3as-n2002
[R2-bgp]peer192.168.23.3next-hop-local

R3:
[R3]bgp2002
[R3-bgp]router-id3.3.3.3
[R3-bgp]confederationid200
[R3-bgp]confederationpeer-as2001
[R3-bgp]peer192.168.23.2as-n2001

R4:
[R4]bgp2001
[R4-bgp]router-id4.4.4.4
[R4-bgp]confederationid200
[R4-bgp]peer192.168.24.2as-n2001
[R4-bgp]peer192.168.45.5as-n300
[R4-bgp]peer192.168.45.5next-hop-local
也可以不加next-hop-local。因為這個實驗只宣告R1的,R5沒有宣告

R5:
[R5]bgp300
[R5-bgp]router-id5.5.5.5
[R5-bgp]peer192.168.45.4as-n200
[R5-bgp]disbgprouting-table
TotalNumberofRoutes:5
NetworkNextHopMEDLocPrfPrefValPath/Ogn

*>10.0.100.1/32192.168.45.40200100i
*>10.0.100.2/32192.168.45.40200100i
*>10.0.100.3/32192.168.45.40200100i
*>10.0.100.4/32192.168.45.40200100i
*>10.0.100.5/32192.168.45.40200100i


3.advertise-community
[R1]bgp100
[R1-bgp]peer192.168.12.2advertise-community

[R2]bgp2001
[R2-bgp]peer192.168.23.3advertise-community
[R2-bgp]peer192.168.24.4advertise-community

[R4]bgp2001
[R4-bgp]peer192.168.45.5advertise-community

4.配置策略
第一種:no-export
[R1]ipip-prefix2permit10.0.100.232
[R1]route-policy10permitnode2
[R1-route-policy]if-matchip-prefix2
[R1-route-policy]applycommunityno-export不發給R5
[R1]route-policy10permitnode10
[R1]bgp100
[R1-bgp]peer192.168.12.2route-policy10export

R2驗證:dis bgp routing-table community

90b6d104-e9c2-11ee-a297-92fbcf53809c.png

R5驗證:dis bgp routing-table 收不到100.2

9118ae4c-e9c2-11ee-a297-92fbcf53809c.png

R5收不到,R3能收到嗎? 肯定的,因為是R3是聯盟的EBGP

9127fbb8-e9c2-11ee-a297-92fbcf53809c.png


R4也可以去 dis bgp routing-table

如果我希望 100.3 ,R5收不到,R3也收不到 —— no-export-subconfed

第二種:no-export-subconfed
R1:剛才已經調用過了,可以直接配置看
[R1]ipip-prefix3permit10.0.100.332
[R1]route-policy10permitnode3
[R1-route-policy]if-matchip-prefix3
[R1-route-policy]applycommunityno-export-subconfed

R2:
[R2]dis bgp routing-table community

91404e66-e9c2-11ee-a297-92fbcf53809c.png

R3和R5上可以查看是否有沒 dis bgp routing-table
R3:

9154cdaa-e9c2-11ee-a297-92fbcf53809c.png

第三種:no-advertise只告訴R2,讓R2別發100.4
[R1]ipip-prefix4permit10.0.100.432
[R1]route-policy10permitnode4
[R1-route-policy]if-matchip-prefix4
[R1-route-policy]applycommunityno-advertise

在R2上查看是否有屬性,disbgprouting-tablecommunity
在R3R4R5disbgprouting-table驗證

第四種:打標記,對符合相同的條件路由做統一處理
希望100.5不要給R4和R5收到
[R1]ipip-prefix5permit10.0.100.532
[R1]route-policy10permitnode5
[R1-route-policy]if-matchip-prefix5
[R1-route-policy]applycommunity100:5

直接在R4上收到標記100:5的拒絕deny
拒絕來我R4,自然也不會去R5。
[R4]ipcommunity-filter1permit100:5
[R4]route-policy10denynode10
[R4-route-policy]if-matchcommunity-filter1
[R4-route-policy]route-policy10permitnode20
調用策略:拒絕R2來R4的路由
[R4]bgp2001
[R4-bgp]peer192.168.24.2route-policy10import


第五種:internet
[R1]ipip-prefix1permit10.0.100.132
[R1]route-policy10permitnode6
if-matchipip-prefix1
applycommunityinternet
internet可以向任何BGP對等體發布路由

最終結果

915c8054-e9c2-11ee-a297-92fbcf53809c.png

BGP 路由反射器

916c5902-e9c2-11ee-a297-92fbcf53809c.png

內部路由器過多的時候,通過IBGP收到的路由條目不會反射給另一個IBGP,IBGP鄰居太多了,兩兩配置比較麻煩

如何解決IBGP鄰接關系過多的情況?
RR 路由反射器 (防環:origintor-id cluster-list)
通過IBGP收到的路由條目,發送給另一個IBGP鄰居

3 條規則
①從一個非客戶端那里接收到的路由,反射器會將它只傳遞給所有的客戶端,
②從一個客戶端那里接收到的路由,反射器會將它傳遞給所有其它的客戶端以及非客戶端,
③從 EBGP 對等體那里接收到的路由,反射器會將它傳遞給所有客戶端和非客戶端

禁止客戶機之間的路由反射
bgp 100
undo reflect between-clients

主要的配置
bgp 100
group 1
peer 2.2.2.2 group 1
peer 1 reflect-client
peer 1 next-hop-local
reflector cluster-id 1

91c226ca-e9c2-11ee-a297-92fbcf53809c.png

9210f516-e9c2-11ee-a297-92fbcf53809c.png

IBGP通過環回口建立,IGP協議為OSPF,EBGP通過物理接口建立

123在組1
456在組2
7不屬于任一組

1.基本配置
2.OSPF配置
3.建立IBGP鄰居
R2R3是客戶端,R1是服務器端(路由反射器)
R1:
bgp100
router-id1.1.1.1
group1
peer2.2.2.2group1
peer3.3.3.3group1
peer1next-hop-local表示peer這個組1
peer1reflect-client表示這個組是客戶端
reflectorcluster-id1組1編號

peer4.4.4.4as-n100
peer4.4.4.4conloo0
peer4.4.4.4next-hop-local
如果按之前的配置,R2需要指3,R3需要指2
現在R2R3直接經過R1反射給R3R2
[R1]bgp100
net1.1.1.024

R2:
bgp100
router-id2.2.2.2
peer1.1.1.1as-n100
peer1.1.1.1conloo0
不需要指3
net2.2.2.024

R3:
bgp100
router-id3.3.3.3
peer1.1.1.1as-n100
peer1.1.1.1conloo0
net3.3.3.024

[R1]disbgppeer發現和2、3都建立起來了
這是誰發的?disbgprouting-table3.3.3.0
路由反射器的功能
[R1-bgp]undoreflectbetween-clients關閉路由反射器


R4:只有內部鄰居,因此不用加next-hop-local
bgp100
router-id4.4.4.4
peer1.1.1.1as-n100
peer1.1.1.1conloo0
net4.4.4.024

group2
peer5.5.5.5group2
peer6.6.6.6group2
peer2reflect-client
peer192.168.47.7as-n100

R5:
bgp100
router-id5.5.5.5
peer4.4.4.4as-n100
peer4.4.4.4conloo0
net5.5.5.024

r6:
BGP100
router-id6.6.6.6
peer192.168.46.4as-n100
peer192.168.47.7as-n100
net6.6.6.024
______
R7
bgp100
router-id7.7.7.7
peer192.168.47.4as-n100
net7.7.7.7024

R8
bgp200
router-id8.8.8.8
peer192.168.18.1as-n100
net8.8.8.024

[R1]bgp200
peer192.168.18.1as-n100


R1:[R7]net7.7.7.0R7是非客戶,宣告網段的路由更新能到R4,不能傳到R1
R1沒有7.7.7.7怎么辦?如何實現全網互通
R1和R7單獨建立個鄰居
[R7]bgp100
peer1.1.1.1as-n100
peer1.1.1.1conloo0

[R1]bgp100
peer7.7.7.7as-n100
peer7.7.7.7conloo0
peer7.7.7.7next-hop-local


BGP 聯盟(Condeferation)

BGP 路由反射器可以用來減少大型 AS 中 IBGP 鄰居關系的數量和簡化 IBGP 鄰居關系的管理和維護,BGP 聯盟(Condeferation)也可以用來實現類似的目的

一個 BGP 聯盟是一個具有內部層次結構的 AS,一個 BGP 聯盟由若干個子 AS組成。對于一個 BGP 聯盟,其成員 AS 內部的路由器之間需要建立全互聯的IBGP 鄰居使用 BGP 路由反射器,而成員之間需要建立 EBGP 鄰居關系。從聯盟外的 EBGP 對等體來看,整個聯盟無異于一個普通的 AS,聯盟內部的結構對于聯盟外的 EBGP 對等體來說是完全透明的。

bgp 2001
router-id 2.2.2.2
confederation id 200 標識自己的聯盟號
confederation peer-as 2002 2003 子成員,聯盟內的
先完成以上兩步,再去peer 外部EBGP
peer 192.168.12.1 as-n 100

聯盟內的EBGP
peer 192.168.25.5 as-n 2003
peer 192.168.25.5 next-hop-local 對于整體也要next-hop-local

922f8e90-e9c2-11ee-a297-92fbcf53809c.png

R1:
bgp100
router-id1.1.1.1
peer192.168.12.2as-n200
net1.1.1.024
net11.11.11.024

R2:
bgp2001
router-id2.2.2.2
confederationid200標識自己的聯盟號
confederationpeer-as20022003子成員,聯盟內的AS
要先配置上面兩步再peer外部EBGP
peer192.168.12.1as-n100外部的EBGP
peer192.168.25.5as-n2003內部的EBGP
peer192.168.25.5next-hop-local為了讓R5能夠學習到R2傳過來的路由
peer192.168.23.3as-n2002
peer192.168.23.3next-hop-local

R3:
bgp2002
router-id3.3.3.3
confederationid200
confederationpeer-as2001
peer192.168.23.2as-n2001
peer192.168.34.4as-n2002
peer192.168.34.4next-hop-local不起作用

R4:
bgp2002
router-id4.4.4.4
confederationid200
peer192.168.34.3as-n2002

R5:
bgp2003
router-id5.5.5.5
confederationid200
confederationpeer-as2001
peer192.168.25.2as-n2001
peer192.168.56.6as-n2003
peer192.168.56.6next-hop-local不起作用

R6:
bgp2003
router-id6.6.6.6
confederationid200
peer192.168.56.5as-n2003

鄰居能夠建立,但路由傳遞有點問題。
在R3和R5上的next-hop-local不起作用
R3傳不到R4,R5傳不到R6

92536446-e9c2-11ee-a297-92fbcf53809c.png

學不到,下一跳不可達。為什么下一跳不可達?為什么不起作用?
讓R4、R6到達,跑一個OSPF協議,讓他們路由表有 下一跳的網段。
[R2]ospf
area 0
net 192.168.23.2 0.0.0.0
net 192.168.25.2 0.0.0.0

R3:
ospf
area 0
net 192.168.23.3 0.0.0.0
net 192.168.34.3 0.0.0.0

R4:
ospf
area 0
net 192.168.34.4 0.0.0.0

R5:
ospf
area 0
net 192.168.25.5 0.0.0.0
net 192.168.56.5 0.0.0.0

R6:
ospf
area 0
net 192.168.56.6 0.0.0.0

結果驗證:

926ffd18-e9c2-11ee-a297-92fbcf53809c.png

公司網絡規模需要擴大,則一般只需要在相應的成員 AS 中添加路由器并進行相關的配置即可,配置工作量遠遠小于不使用 BGP 聯盟的情形。

審核編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 路由器
    +關注

    關注

    22

    文章

    3577

    瀏覽量

    111682
  • 反射器
    +關注

    關注

    0

    文章

    47

    瀏覽量

    12180

原文標題:BGP 選路規則實驗

文章出處:【微信號:網絡技術干貨圈,微信公眾號:網絡技術干貨圈】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    bgp配置實例講解 如何配置Cilium和BGP協同工作

    ? 背景 官方提供了多篇文檔說明如何配置 Cilium 和 BGP 協同工作,本文主要對以下部分功能進行驗證: Using BIRD to run BGP[1] Using kube-router
    的頭像 發表于 08-15 09:15 ?1372次閱讀
    <b class='flag-5'>bgp</b>配置實例講解 如何配置Cilium和<b class='flag-5'>BGP</b>協同工作

    測量BGP傳遞時間

    測量BGP傳遞時間
    發表于 07-22 08:46

    測量BGP傳遞時間

    測量BGP傳遞時間
    發表于 07-22 10:06

    PCB布線規則解析

    PCB布線規則解析 鋪設通電信號的道路以連接各個器件,即PCB布線。在PCB設計中,布線是完成產品設計的重要步驟。PCB布線有些規則相關知識,用此文來和大家分享一番: 走線的方向控制規則
    發表于 11-14 16:06

    動態BGP與靜態BGP的區別

    動態BGP與靜態BGP的區別 動態BGP與靜態BGP的區別 1.靜態BGP功能簡單,其帶寬功能,可以實現多網接入,但路徑上只有通向幾大運營商
    發表于 12-01 16:55

    PCB設計時應該遵循的規則

    PCB設計時應該遵循的規則 1) 地線回路規則: 環路最小
    發表于 12-12 14:48 ?1115次閱讀
    PCB設計時應該遵循的<b class='flag-5'>規則</b>

    BGP協議的路由選擇原則

    BGP(Border Gateway Protocol)是一種自治系統間的動態路由發現協議,目前在互聯網中使用非常廣泛,BGP協議有非常豐富的屬性,路由選擇的過程也相對復雜。在使用CISCO設備的網絡中BGP路由協議按以下的
    發表于 01-24 09:52 ?3044次閱讀

    基于集合理論的規則間包含關系的解析方法

    和分類規則之間的關系,簡化了分析規則間相互關系的過程。并且使用高效的函數式編程語言Haskell實現了所提出的方法,整體代碼簡潔、易于維護和擴展。實驗結果表明,對于中小規模的防火墻規則
    發表于 12-28 09:55 ?0次下載

    什么是BGP高防,BGP高防的優勢是什么

    什么是BGP高防?BGP全稱是Border Gateway Protocol,即邊界網關協議,是用來連接Internet上的獨立系統的路由選擇協議。
    發表于 12-28 11:22 ?917次閱讀

    動態BGP是什么,如何判定它的真假

    一、什么叫動態BGP: 中國電信 、中國聯通、中國移動和一些擁有AS自治域的大型民營IDC運營商可以通過BGP協議來實現多線互聯,這個唯一能夠妥善處理不相關路由域間的多路連接的邊界網關協議,是運行
    發表于 04-18 09:47 ?930次閱讀

    BGP路由優選規則的深入了解

    BGP路由優選呢?BGP定義了一整套詳細的選路規則,使得BGP路由器能夠在任何復雜的、冗余的網絡環境下,決策出一條最優(Best)的路徑:
    的頭像 發表于 11-14 09:54 ?2443次閱讀

    如何配置Cilium和BGP協同工作呢?

    官方提供了多篇文檔說明如何配置 Cilium 和 BGP 協同工作,本文主要對以下部分功能進行驗證
    的頭像 發表于 08-15 09:15 ?878次閱讀
    如何配置Cilium和<b class='flag-5'>BGP</b>協同工作呢?

    BGP路由計算選路規則13條

    當到達同一目的地存在多條路由時,BGP依照如下策略順序進行路由選擇
    的頭像 發表于 10-08 10:35 ?681次閱讀

    華為路由器BGP基礎配置實驗記錄

    配置BGP的前提是要保證各個自治區域的路由均可達,所以要首先在AS 2 配置OSPF使AS 2 通暢,然后再配置BGP。由于BGP的路由黑洞問題,需要在BGP路由經過的所有路由器上配置
    發表于 01-06 10:07 ?277次閱讀
    華為路由器<b class='flag-5'>BGP</b>基礎配置<b class='flag-5'>實驗</b>記錄

    華為BGP十一條選路規則盤點

    優選router ID最小的設備發布的路由(如果路由攜帶originator_ID屬性,選路過程中將比較originator_ID的大小,不再比較router ID,并優選originator_ID最小的路由)
    發表于 04-28 12:18 ?118次閱讀
    華為<b class='flag-5'>BGP</b>十一條選<b class='flag-5'>路規則</b>盤點
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>