1, 問題拓撲:redis
2, 環境描述:負載均衡
R1,R2,R3做爲OSPF的NSSA區域,創建OSPF鄰居.ide
R2做爲NSSA區域的ABR, 將外部路由4.4.4.0 重分發到OSPF NSSA area 1裏面去。讓內部R1和R3均可以學習到到外部4.4.4.0的路由經過OSPF.oop
路由器2的配置爲:學習
router ospf 13d
log-adjacency-changesrouter
area 1 nssa no-summaryblog
redistribute connected metric-type 1 subnets接口
network 192.168.1.0 0.0.0.255 area 1ip
network 192.168.100.0 0.0.0.255 area 1
3, 問題描述:
R3路由器,在R3上面show ip route 會發現,到達4.4.4.0網段有兩個下一跳:192.168.1.1和192.168.2.2,居然變成負載均衡了. 而客戶不想要負載均衡的方式.
下面是在R3上面show 的到4.4.4.0的路由。
而客戶也不能理解爲何R3上面到4.4.4.0爲何會變成負載均衡, 客戶理解應該是:
R3: 到4.4.4.0 , 只有一條路由,下一跳是192.168.1.1.
4,問題緣由以及原理:
問題出在R2配置上面. 首先,在R2這個ABR上面。
具體原理以下:
對於R3來講,NSSA區域計算Metric的特性以下:
5, 要實現非負載均衡的解決方案是將ABR R2上面的loopback接口network進OSPF區域.
便可解決這個問題.最後實現的效果就是R3到4.4.4.0這個外部路由的路由條目只有一條,而且是最優秀路由,原理以下:
R2上面配置修改:
router ospf 1
log-adjacency-changes
area 1 nssa no-summary
redistribute connected metric-type 1 subnets
network 2.2.2.2 0.0.0.0 area 1
network 192.168.1.0 0.0.0.255 area 1
network 192.168.100.0 0.0.0.255 area 1
!
最後在R3上面,show ip route 4.4.4.0能夠發現,只有一條路由到4.4.4.0,而且是最優路由,
另一條由於metric大,根本就不會裝到路由表中去:
圖中能夠看到,R3上面show ip route 4.4.4.0的metric是22.
實際上就是下面圖中20+2的結果:
那麼看看另一條路徑的metric究竟是多少?
這裏能夠看到是23.
20+(R3到R1的metric=1)+(R1到R2的metric=1)+(R2 loopback自己還有一跳1)=23.
最終達到了不進行負載均衡的目的.