OSPF的路由類型:
1 、O 域內路由
2 、OIA 域間路由
3 、OE1 域外路由,會累加METRIC值(預設20)
4 、OE2 域外路由,不累加METRIC值(預設20),由外部重分布進來預設使用OE2。
5 、ON1和ON2類似OE1和OE2,由NSSA的ASBR重發布而來,NSSA地區中的路由器沒有LSA5,用LSA7算出的external路由,就標記為ON1/2
OE1和OE2的區別:
它們代表的是外部路由1和外部路由2,它們的區別就在於是否加內部路由(度量花銷)。預設是OE2就是不加內部路由,假設我的網路只有一個出口,那麼使用OE1和OE2都一樣;
A、如果有多個ASBR宣告一條到達同一外部AS的外部路由時候用只需要比較域外部開銷,只需考慮外部開銷更小就可以了,不需要考慮內部開銷。所以優先選擇OE2。
B、單出口(ASBR),計不計算域內開銷已經沒有意義,所以預設OE2。
C、如果我們只有一個出口那麼OE2就能幫我們解決所有問題,如果我們有多個出口這時我們可以使用OE1,它能夠讓我們在做路由決策的時候變得更加精確。因此多出口,建議用OE1。
下面來篇轉載文章以加深印象:
如果在一個ospf域裡面如果只有一個ASBR可以到達某個特定的外部路由(俗稱:單點單向重分布),無論是做E1還是E2的重新導向都會是帶來同樣的直接選取,在這種環境下兩種類型的外部路由的區別只是在路由表上看到的Metric不同,其他就沒有區別。不過如果在一個ospf域中有多個ASBR可以通往同一個外部路由(俗稱:單點多向重分布),這種說法就不同了。今天要補充的就是這一問題。先看個拓撲。
這個拓撲是在一個ospf域中有兩個ASBR通往同一個EIGRP AS,也就是二者都可以到達同一個外部路由。而對於OSPF域內部的路徑來看,上面一條路徑由雩都是100M的鏈路,因此cost要遠遠低於下面的10M鏈路,這對於E1類型的外部路由來說,很明顯在R6上會選擇上面的路徑來通向EIGRP AS,這個大家都明白。不過對於E2的外部路由來說,情況會有點變化。
先看第一種情況:
在R2和R3上分別做兩個重新導向,把EIGRP路由重新導向到OSPF內部。二者採用完全相同的命令,我使用的是下面的命令:
redistribute eigrp 100 metric 100 subnets
在兩個ASBR上都使用了這個命令之後,在R6的路由表中出現的資訊如下:
O E2 211.1.12.0 [110/100] via 211.1.46.4, 00:01:22, FastEthernet0/0
O E2 211.1.13.0 [110/100] via 211.1.46.4, 00:01:22, FastEthernet0/0
O E2 192.168.1.1 [110/100] via 211.1.46.4, 00:01:23, FastEthernet0/0
所有的外部路由走的都是上面的鏈路,包括R1和R3之間的網段。原因和昨天所說的一樣,由於兩個ASBR上EIGRP重新導向到OSPF域所使用的metric是相同的,因此無論是從上面的鏈路還是下面的鏈路送達R6的LSA所包含的metric都是相同的,這樣選擇哪條路徑就主要依靠ospf內部的forward metric決定。
R6#sh ip route 192.168.1.1
Routing entry for 192.168.1.1/32
Known via "ospf 1", distance 110, metric 100, type extern 2, forward metric 2
Last update from 211.1.46.4 on FastEthernet0/0, 00:05:00 ago
Routing Descriptor Blocks:
* 211.1.46.4, from 192.168.2.2, 00:05:00 ago, via FastEthernet0/0
Route metric is 100, traffic share count is 1
上面這個命令可以看到,通過上面的鏈路的forward metric是2,而從下面鏈路送達的同一LSA的forward metric應該是20,也就是兩個10M鏈路的cost之和。這樣很明顯和採用E1類型的路由是相同的結果。不過如果兩個ASBR上重新導向定義的metric不同,那結果將會改變。