1、如何理解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各一个进程,并都宣告各自接口所在的网段。如下图所示

fastapi多进程多gpu部署模型 多进程ospf_OSPF

 

   我们知道,如果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路由进程中,在不同的进程内发布了多条相同的路由条目。在两个进程内发布了两条相同的路由条目,需要注意路由优先级的问题。