本文轉自:https://wenku.baidu.com/view/a99e916458f5f61fb6366612.html###
1、如何理解OSPF路由進程
配置OSPF路由時,首先是要在路由器上啟用OSPF路由進程,而且在一個路由器上可以同時創建並運行多個OSPF進程。在創建OSPF路由進程的過程中,還需要指定與路由進程相關接口所連接的網絡IP地址范圍(也就是通告的網段),並分配與IP地址范圍相關聯的區域ID(area區域)。
那這多個進程有什么用,而且不同進程之間又有什么區別和聯系呢?相信很多知道熟悉OSPF的同學也不一定能夠真正了解。
我們可以簡單地把多個不同OSPF進程理解為多個不同的動態路由協議的進程。我們知道,不同路由協議下的路由信息是不能直接進行交換的,最終也造成通過不同路由協議學習到的動態路由都是不通的。OSPF上的不同進程也是如此,不同進程各自有不同的LSDB(鏈路狀態數據庫),彼此之間是不交換路由信息的,當然彼此之間的網絡也就不會直接相通了。這就是相當於把一個物理網絡划分成多個虛擬網絡。但是,我們也要理解的另一個重點就是,不同的OSPF進程僅對本地路由器有意義,也就它是僅將本地路由器划分成多個虛擬網絡。即同一網絡下,不同的路由器的OSPF進程ID是沒有關系的,可以相同也可以不同。
下面是一個OSPF多進程的例子,有環境的同學可以動手試試哦。 假設有以下這樣的一個OSPF網絡,R1、R2和R3均會運行OSPF協議,但R2上配置了100和200兩個進程,R1和R3各一個進程,並都宣告各自接口所在的網段。如下圖所示
我們知道,如果R2是一個OSPF進程的話,這4段網絡都是可以互通的,但此時R2是2個OSPF進程,那192.168.1.0/24和192.168.3.0/24可以通么?答案是否定的,原因是R2上的OSPF100和OSPF200是不會互相通告路由信息的,但R2上12網段和23網段是可以通信的,因為它們在R2路由器上是直連路由,優先級最高,不需要OSPF協議的支持。所以如果想隔離這2段網絡就可以采用此方法。
我們又會想,那如何才能使得他們進行通信呢?可以采用路由重分發(Redistribute)。
如果R2路由器上將位於OSPF進程100的G1/0口學習到的OSPF路由和直連路由重分發到OSPF進程200,則R3路由器將學習到路由 192.168.1.0/24和192.168.12.0/24網絡了。同理,如果R2路由器上將位於OSPF進程200的G2/0口學習到的OSPF路由和直連路由重分發到OSPF進程100,則R1路由器將學習到路由192.168.23.0/24和192.168.3.0/24網絡了。 可能我們還會有疑問,那同一個網段是不是可以同時通告到不同的進程中呢,這樣也是可以的,在上述案例中,這樣做的話,也是可以做到網絡互通的目的。
一般來說,為了進行路由備份,我們可以將同一個網絡可以配置在多個OSPF路由進程中,在不同的進程內發布了多條相同的路由條目。在兩個進程內發布了兩條相同的路由條目,需要注意路由優先級的問題。