一、拓撲圖:
二、配置及說明:
1、配置完各接口的IP和ospf 協定。我是用R0路由器配置成幀中繼交換機的,這樣更有利于我們更好地了解幀中繼。注意:在R1和R4走FR接口中,可以定義接口類型 ip ospf network broadcast 或者可以手動指定兩個接口的鄰居,不然的話會起不了鄰居。
2、然後我們可以進各路由的接口下去手動指定cost 值,指令是進接口下:ip ospf cost 注意:以太網口的預設COST值為1。廣域網口預設為64(ospf 的預設值100除以接口帶寬1.544=64可以去show 接口查詢。)路由器源接口到别的網絡時,是要取該接口的COST值大小做為路徑取向。比如說:R3中S1/0 和S1/1如果S1/0不手動指定COST值。預設為64。那麼R3到别的路由不會取S1/0這個接口。它會SPF計算COST小的接口出去。
3、我們看一下R3到192.168.1.0網段的COST值對比圖:
編号
路徑
COST值
1
R3 ------> R2 ------> R1 ------> 目标網絡
13
2
R3 ------> R2 ------> R4 ------> R1 ------> 目标網絡
7
3
R3 ------> R4 ------> R1 ------> 目标網絡
8
4
R3 ------> R4 ------> R2 ------> R1 ------> 目标網絡
18
4、通過常理分析編号2的cost最小,應該會取編号2這條路走,但事實卻不是,下面來看一下R3的路由:
R3#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
172.16.0.0/30 is subnetted, 5 subnets
O IA 172.16.255.0 [110/12] via 172.16.255.5, 00:00:02, Serial1/0
C 172.16.255.4 is directly connected, Serial1/0
C 172.16.255.8 is directly connected, Serial1/1
O IA 172.16.255.12 [110/6] via 172.16.255.5, 00:00:02, Serial1/0
O 172.16.255.16 [110/4] via 172.16.255.5, 00:00:02, Serial1/0
O IA 192.168.1.0/24 [110/7] via 172.16.255.5, 00:00:02, Serial1/0
5、我們traceroute 看一下:
R3#traceroute 192.168.1.0
Type escape sequence to abort.
Tracing the route to 192.168.1.0
6、發現走R2之後就直接丢給R1,而不去按照172.16.255.0網段這邊的COST值為10。而去走R4(此路徑也是SPF算出來的)
那麼原因是什麼:
當R3把資料包轉發給R2的時候,R2發現此資料包是要到達其它網絡。是以R2不會将資料包再轉發給其相同區域的其它路由器。因為R2自己是ABR,他認為到達其它區域的資料包,需要直接轉發給骨幹區域。而自己也恰巧與骨幹區域相連。是以R2直接将資料包轉發給骨幹區域的R1路由器。正是因為這個原因,是以我們檢視的路由跟實際轉發資料包的路徑不一緻。
7、下面我們再來看一下R3-R2-R4(原本COST為:4,因為我定義了R2的F0/0 COST為2,注意:這段的COST不是1,因為以太網它會按出局接口來算,不是選這個網段的最小的COST值來進行路徑的疊加),R3-R4(原本COST為5)。我們把R2的f0/0 cost值再改為3。這樣就是兩條都是5,改完之後。我們show ip route 看一下:
O IA 172.16.255.0 [110/12] via 172.16.255.5, 00:00:04, Serial1/0
O IA 172.16.255.12 [110/7] via 172.16.255.10, 00:00:04, Serial1/1
[110/7] via 172.16.255.5, 00:00:04, Serial1/0
O 172.16.255.16 [110/5] via 172.16.255.5, 00:00:04, Serial1/0
O IA 192.168.1.0/24 [110/8] via 172.16.255.10, 00:00:04, Serial1/1
[110/8] via 172.16.255.5, 00:00:04, Serial1/0
R3#
發現到192.168.1.0這段段分别出現了兩條路徑的負載均衡。
總結:OSPF metric (cost)值:隻是提取到同一網絡最小 Metrics值,再和自己計算的鍊路COST, 做累加。需要注意的是:如果這台路由器是源位址。那麼它去往的路由會選擇這台路由器COST值最小的接口出去。以太網鍊路不會去選擇同一網絡的最小值。而是看從哪個口出去的接口的COST值。OSPF可以用修改接口COST值做鍊路的均衡。
本文轉自wxs-163 51CTO部落格,原文連結:http://blog.51cto.com/supercisco/252206