OSPF ProcessID(進程號)的解析

  本文轉自:http://blog.csdn.net/hrl7752/article/details/77734248

一、OSPF ProcessID本地有效 


關於

OSPF ProcessID

(進程號)的解析

 

一、

OSPF ProcessID

本地有效

 

    首先明確一下,OSPF ProcessID,範圍爲1-65535,用於在路由器本地標識OSPF進程。 看上圖,R1使用進程號10創建了一個OSPF進程,同時宣告了自己的直連接口;而R2使用進程號20創建了一個OSPF進程,同時也宣告了自己的直連接口。雖然這兩個進程號不一樣,但是我們說,OSPF進程號只是本地有效,這句話的意思是,對於R1而言,它並不關心它的直連OSPF鄰居-R2使用的是什麼OSPF進程號,10也號,20也罷,這就有點像“自己的事自己知道” - 本地有效。 

      當然,在實際的部署中,我們還是特別建議全網使用一樣的進程號。

二、一臺路由器可創建多個OSPF進程,使用OSPF ProcessID進行區分,不同的進程相互獨立 
  
我們再看下圖,



      這個圖很有意思,在R2上,常規的做法是,用一個進程號創建一個OSPF進程,同時將自己的兩個直連接口宣告進這個OSPF進程,但是爲了講解OSPF進程ID的本地意義,我這裏在R2上使用兩個OSPF ProcessID創建了兩個OSPF進程,並且分別宣告了R2的直連接口,換句話說,R2使用OSPF進程20與R1建立鄰居關係,使用OSPF進程30與R3建立OSPF鄰居關係。  
    如此一來,R2在本地就有了兩個OSPF進程,使用ProcessID 20及30進行區分,這就是進程號的本地意義。   
    那麼這兩個進程,都會各自從其鄰居R1和R2學習到OSPF路由,但是值得強調的是: 這兩個OSPF進程相互獨立,換而言之,R2通過OSPF進程20從R1學習到的OSPF路由(嚴格的說,應該是LSA),例如1.1.1.0/24,默認不會直接更新給R3(這是因爲在R2,這兩個OSPF進程互相獨立互相隔離),當然,從R3更新過來的OSPF路由,R2雖然自己能學習到,但是,照樣不會傳遞給R1,這就好像,這兩個進程,雖然都在R2上,但是有那麼點隔閡,世界上最遙遠的距離,莫過於此啊。 
再者,R2這兩個OSPF進程雖然說彼此隔離,但是都可以爲R2自身貢獻路由,例如如果R1更新過來一條路由1.1.1.0,R3更新過來一條3.3.3.0,那麼在R2的全局路由表裏都是能看到這兩條路由的。而且我們上面說了,這兩條路由,不會互相灌進對方的OSPF進程(造成的直接結果是R1沒有R3的路由,R3沒有R1的路由),除非 -- 對了,路由重發布你懂的 
上面說了,這兩個進程都可以爲R2的全局路由表貢獻路由條目,但是有一點要注意,如果R1及R3都向R2來更新,同一條OSPF的路由呢?R2將會優選誰?回憶一下我們在單一進程的情況,R2會根據COST來選,如果等價,R2會對這兩條路由進行負載均衡對吧?但是這裏不一樣了,在這個環境中,R2會以“先到先得”的原則,誰的路由先過來,我就優選誰。
三,總結 
 
OSPF ProcessID只是本地有效,用來在本地區分不同的OSPF進程 
雖然OSPF ProcessID本地有效,但是我們仍然建議,除非有特殊需求,否則全網使用一致的OSPF進程ID,這將方便網絡管理和維護 
什麼情況下需要用到多OSPF進程呢?這個問題可就大了,一般而言,一臺路由器創建一個OSPF進程,可以實現網絡的需求,但是在一些特殊的、複雜的環境當中,單一的OSPF進程可能無法滿足要求,因此在一臺路由器上創建多個OSPF進程,這樣一來的直接好處是,這臺路由器從原先的屌絲角色--OSPF interArea Router,華麗麗的變成了一臺ASBR,它可以在進程之間重發布、可以過濾路由或LSA、可以操控路由、可以做基於route-map的策略、可以做路由彙總等等。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章