OSPF作為一種可以支持多區域的鏈路狀態路由協議,相應的路由條目也是比較復雜的。路由條目標識中有O(intra-area)、O IA(inter-area)、O E1(external計算內部度量)、OE2(external不計算內部度量)、O N1(NSSA區域中的external路由且計算內部度量)、O N2(NSSA區域中的external路由且不計算內部度量)。所以OSPF的選路規則也是IGP路由協議相對比較復雜的,下面我們就結合實驗來討論一下OSPF的選路規則。
1. O和O IA的比較
通過這個實驗我們可以得出結論O>O IA
2. OIA 與O E的比較
通過這個實驗我們可以得出結論O IA>O E
3. O E1與O E2的比較
通過這個實驗我們得出結論O E1>O E2
4. O N1與O N2的比較
通過這個實驗我們得出結論O N1>O N2
5. O E1與O N2的比較
通過這個實驗我們得出結論O E1>O N2
6. O N1與O E2的比較
通過這個實驗我們得出結論O N1>O E2
綜合3-6幾個實驗,我們又得出一個很重要的結論,那就是無論是O N還是OE的路由1型的選路永遠是優先於2型的。
我們通過這6個實驗得出的結論如圖:
需要注意的是此時在選路中不同類型(我們這里把每個圈歸為一類)的選路是優先於Metric值的。
而在每一種類型的內部關於同一個網絡有多個條目時,他是怎么樣選路的呢?
這時路由器才會參考Metric值進行選路:
1. 當一台路由器對於同一網段有2條O的路由(或2條O IA的路由)時:
l 若Metric值不同,則選擇Metric值較低的路徑
l 若Metric值相同,則負載均衡
2. 當一台路由器對於同一網段收到2條O E1的路由:
l 若Metric值不同,則選擇Metric值較低的路徑
l 若Metric值相同,則負載均衡
3. 當一台路由器對於同一網段收到2條O N1的路由:
l 若Metric值不同,則選擇Metric值較低的路徑
l 若Metric值相同,則負載均衡
4. 當一台路由器對於同一網段即收到1條O E1,又收到一條O N1
l 若Metric值不同,則選擇Metric值較低的路徑
l 若Metric值相同,則選擇O E1
5. 當一台路由器對於同一網段收到2條O E2的路由:
l 若Metric值不同,則選擇Metric值較低的路徑
l 若Metric值相同,則選擇到達ASBR的Metric值較低的路徑
l 若Metric值相同,到達ASBR的Metric值也相同,則負載均衡
6. 當一台路由器對於同一網段收到2條O N2的路由:
l 若Metric值不同,則選擇Metric值較低的路徑
l 若Metric值相同,則選擇到達ASBR的Metric值較低的路徑
l 若Metric值相同,到達ASBR的Metric值也相同,則負載均衡