名詞
ASBR Boundary Router邊界路由器
重分發是在邊界路由器上進行的
單點雙向重分發(缺陷:若該點down了,兩邊路由域就斷了)
Seed Metric 種子度量值default-metric
協議 缺省值
RIP infinity(不可達)
EIGRP infinity(0)
OSPF 20(除BGP)
1(BGP)
BGP BGP metric is set to IGP metric value
單點雙向重分發
重分發進RIP
將路由協議A重分發至RIP,Seed Metric爲0,代表不可達,需要手工修改。
將靜態路由重分發進RIP,Seed Metric爲1,可達,無需修改,並且0.0.0.0/0缺省路由可以進入RIP進程。
將直連路由重分發進RIP,Seed Metric爲1,可達,無需修改。
default-metric命令只會影響協議A或靜態路由重分發進RIP的路由,不會影響直連路由重分發進RIP。
自動彙總仍然會重分發
重分發進OSPF
(config-router)#redistribute rip subnets
默認情況下,只會將主網路由重分發進來,subnets命令可以將子網重分發進來。
將路由協議A重分發至OSPF,Seed Metric爲20,Metric-Type爲O E2,可以使用default-metric命令修改Seed Metric
。
將Static路由重分發至OSPF,Seed Metric爲20,Metric-Type爲O E2,只有明細和非缺省路由可以重分發。
將直連路由重分發至OSPF,類似重分發Static。
default-metric命令只會影響協議A或靜態路由重分發進OSPF的路由,不會影響直連路由重分發進OSPF。
重分發進EIGRP
(config-router)#default-metric BW Delay Reliability loading mtu
(config-router)#default-metric 10000 100 255 1 1500
將路由協議A重分發至EIGRP ,Seed Metric爲0,代表不可達,需要手工修改。
將靜態路由重分發進EIGRP,Seed Metric不爲0,可達,並且0.0.0.0/0缺省路由可以進入EIGRP進程。
default-metric不影響直連路由
路由反饋
在單點雙向重分發中,會不會產生路由反饋(路由協議A被重分發進B,再重分發回A)?
路由反饋可能引起路由環路,是非常危險的。
在R1上,將RIP重分發進OSPF,再將OSPF重分發進EIGRP。
實驗結果:R1的路由表不會改變,R2只收到了R4的環回口路由和14.1.1.0/24網段路由。
原因:RIP重分發進OSPF的路由,不會再被R1收到並重分發進EIGRP。
小結:在路由器R上,運行路由協議A和B,將A->B。
R會將所有本地宣告進A的接口的直連路由、通過A獲悉的加入路由表的打上路由協議A標識的路由引入協議B。
協議A不能是IS-IS以及ODR。
因此,在單點雙向重分發中,不會出現路由反饋。
Seed-Metric
由於內部路由一般比外部路由準確,因此建議被重分發的路由的metric比路由域中的所有metric的最大值要大,這是一個路由優化。
distribute-list 分發列表
實現控制層面上的路由條目過濾
調用ACL或者前綴列表使用
在DV協議(RIP和EIGRP)中,使用分發列表可以基於入站和出站兩個方向做路由過濾。
在LS協議(OSPF)中,只能做入向,不能做出向。
原因在於LS協議發送的不是路由條目,是LSA,分發列表不能基於ACL或任何其他工具抓取LSA,但是可以在入站方向調用分發列表進行本地抑制,但不能限制LSA的傳遞,因此只對本地路由器有效。
分發列表在重分發中的應用
R1(config)#router eigrp 90
R1(config-router)#distribute-list 15 out ospf 110
將ospf 110進程中的路由重分發至eigrp中時,調用acl 15匹配,匹配成功的才能加入EIGRP中。
這種方式對於重分發是最佳的。
IPv4 Prefix List 前綴列表
標準ACL只能抓取特定前綴,對於2.2.2.0/24,2.2.2.0/25,2.2.2.0/26來說,只能抓到前綴2.2.2.0,抓不到掩碼,因此,要麼全部放行,要麼全部拒絕。
需要注意的是,反碼錶示的是多個前綴,而不是掩碼。
前綴列表更加精確,可以抓前綴和掩碼,例如:
ip prefix-list 10 seq 10 permit 2.2.2.0/25 GE 27 LE 30
該命令匹配的是掩碼長度在27和30之間的,前25位是2.2.2.0的條目。
再比如:
抓所有主A類路由
ip prefix-list 20 seq 30 permit 0.0.0.0/1 GE 8 LE 8
access-list 10 permit 0.0.0.0 127.0.0.0
抓所有主B類路由
ip prefix-list 20 seq 40 permit 128.0.0.0/2 GE 16 LE 16
抓所有主B類路由和所有/8超網路由
ip prefix-list 20 seq 50 permit 128.0.0.0/2 GE 8 LE 16
抓所有主C類路由
ip prefix-list 20 seq 40 permit 192.0.0.0/3 GE 24 LE 24
抓主B路由中掩碼爲24的,且第一段爲偶數,第二段爲奇數,第三段爲偶數
access-list 30 permit 128.1.0.0 62.254.254.0
Route Map
功能:
Redistribution route filtering 與分發列表相同控制層面
Policy-based routing 數據層面
BGP policy implementation 控制層面
每一個route map entry中都有多個match set,相當於if then
若某個entry內的所有match都匹配成功,則意味着該entry匹配成功;(縱向邏輯與)
在同一行match中,若使用多條ACL或者prefix-list,則是或的關係,只要有一條匹配,即該match匹配。(橫向邏輯或)
查看策略是permit還是deny:若是deny,直接丟棄;若是permit,則查看並執行set。然後,忽略其他entry,離開該route map。
一個route map永遠會擁有一個隱藏的空Entry。沒有Match,相當於Match Any;沒有Set,相當於Set Nothing。並且,該Entry執行的策略是Deny。
Route Map在重分發中的應用
要求:
拓撲圖仍然使用上圖。
將RIP重分發進OSPF,在R1上進行路由過濾:
放行1.1.1.0/24,並將Metric-Type設置爲O E1;
放行3.3.3.0/24,並將Seed Metric設置爲10;
過濾掉13.1.1.0/24
部署過程:
1.設置prefix list
R1(config)#ip prefix-list 20 permit 1.1.1.0/24
R1(config)#ip prefix-list 30 permit 3.3.3.0/24
2.設置route map
R1(config)#route-map R2O permit 10
R1(config-route-map)#match ip address prefix-list 20
R1(config-route-map)#set metric-type type-1
R1(config)#route-map R2O permit 20
R1(config-route-map)#match ip address prefix-list 30
R1(config-route-map)#set metric 10
3.重分發時應用route map
R1(config)#router ospf 110
R1(config-router)#redistribute rip subnets route-map R2O
使用Route Map之前:
使用Route Map之後:
由於隱藏的空Entry,13.1.1.0/24被deny了。
也可以顯示地deny13.1.1.0/24:
R1(config)#access-list 100 permit ip 13.1.1.0 0.0.0.0 255.255.255.0 0.0.0.0(Router Map可以調用標準ACL或擴展ACL)
R1(config)#route-map R2O deny 30
R1(config-route-map)#match ip address 100
R1(config)#route-map R2O permit 40
R1(config-route-map)#exit
R1(config)#router ospf 110
R1(config-router)#redistribute rip subnets route-map R2O
雙點雙向重分發
配置過程遵循順時針+逆時針的順序,在每做一次重分發時,要檢查對端邊界路由器的路由表是否正常。若不正常,需修改管理距離。
在雙點雙向重分發中,可能造成路由反饋。
如圖中,OSPF和RIP做雙點雙向重分發,由於OSPF的管理距離小於RIP,路由反饋將影響邊界路由器上的RIP域內路由,原來打R的路由,現在打上了O。
解決方法是:修改邊界路由器R1和R4上的管理距離。
解決了路由反饋之後,還需要進行路由優化,防止不合理的負載均衡。
解決方法是:修改seed-metric(Route Map),或者使用offset。
千萬不要用distribute list,原因在於使用分發列表過濾路由之後,就使得雙點雙向重分發優勢不在,像單點一樣存在單點故障。
http://blog.csdn.net/bingosummer/article/details/23624501(原地址)