在讲今天的技术帖内容之前先问大家一个问题:有一台PC机,ip地址是192.168.1.2/24,网络中有一台路由器通过ospf学习到192.168.1.0/24网段的路由,以及在路由器上配置目的地址指向192.168.1.0/30的静态路由,请问ospf学习到的路由和静态路由器是都加入到路由表中,还是只有ospf协议学习到的路由加入到路由表中? 曾经笔者问过好些同学这个问题,结果很多同学想也不想就说是只有ospf路由才能加入路由表,因为根据优先级选路的原则,ospf优先级是10,静态是60,ospf优于静态路由。事实真的是这样吗? 下面笔者就做个实验验证一下这个问题: 如图所示:PC5是一台PC机,ip地址是192.168.1.2/24。先在上一条路线配置静态路由,配置如下所示: [RT1]ip route-static 192.168.1.0 30 10.1.1.2 下一条路线配置ospf协议 [RT1]ospf [RT1-ospf-1]area 0 [RT1-ospf-1-area-0.0.0.0]network 20.1.1.0 0.0.0.255 [RT2]ospf [RT2-ospf-1]area 0 [RT2-ospf-1-area-0.0.0.0]network 40.1.1.0 0.0.0.255 [RT2-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255 此时RT2也会从ospf协议到192.168.1.0/24网段的路由信息。 此时问题就出在这个地址,192.168.1.0/24和192.168.1.0/30虽然两个目的地址都是192.168.1.0,但是掩码不一样,路由器会认为这两条路由是不同的表项,既然是不同的表项,只要下一跳地址可达,那么两条路由都可以加入到路由表中,如下图所示现象: 但是因为192.168.1.0/30这个目的地址的静态路由掩码长,根据路由器查看路由表的最长匹配原则,RT1到达192.168.1.2的报文会从静态路由的路线进行报文转发。 如果是静态路由的目的地址也配置192.168.1.0/24网段,那么目的地址、掩码和ospf学习到的路由相同,此时根据路由优先级的大小,只有ospf学习到的路由才能加入到路由表中。 |
|
来自: 昵称11935121 > 《待分类》