透彻分析OSPF不同的宣告方式,搞懂的感觉真好

OSPF的不同宣告方式

Part1测试需求

通过不同的宣告方式,了解各种方式的区别;所以本次测试需求就是只希望R1和R2、R1和R4建立邻居关系;R1不要与R3建立邻居关系。

Part2环境说明

IP信息如拓扑图所示:

透彻分析OSPF不同的宣告方式,搞懂的感觉真好

R2、R3均创建了loop 0,ip地址如上图;

Part3基础配置

修改设备名、设置router id 、配置直连接口ip地址:

R1具体配置如下:

<Huawei>sys
[Huawei]sys R1
[R1]Router id 1.1.1.1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 192.168.1.1 24 
[R1-GigabitEthernet0/0/0]qu
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]ip add 192.168.2.1 24
[R1-GigabitEthernet0/0/1]
[R1-GigabitEthernet0/0/1]qu
[R1]int g0/0/2
[R1-GigabitEthernet0/0/2]ip add 192.168.3.1 24
[R1-GigabitEthernet0/0/2]qu
[R1]
<Huawei>sys
[Huawei]sys R2
[R2]router id  2.2.2.2
[R2]
[R2]int lo 0
[R2-LoopBack0]ip add 20.20.20.20 24
[R2-LoopBack0]qu
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 192.168.1.2 24
[R2-GigabitEthernet0/0/0]qu
[R2]
<Huawei>sys
[Huawei]sys R3
[R3]router id 3.3.3.3
[R3]int lo 0
[R3-LoopBack0]ip add 30.30.30.30 24
[R3-LoopBack0]qu
[R3]
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 192.168.2.3 24 
[R3-GigabitEthernet0/0/0]qu
[R3]
<Huawei>sys
[Huawei]sys R4
[R4]router id 4.4.4.4
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ip add 192.168.3.4 24
[R4-GigabitEthernet0/0/0]qu
[R4]

为了便于观察不同方式宣告的效果,龙哥决定在R1上进行测试,所以R2、R3、R4的各接口都使用相同宣告方式宣告到OSPF进程中的,区域均是0,读者不必过分关注这块。

[R2]
[R2]ospf
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]net 20.20.20.20 0.0.0.0
[R2-ospf-1-area-0.0.0.0]net 192.168.1.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]qu
[R2-ospf-1]
[R3]ospf
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]net 30.30.30.30 0.0.0.0
[R3-ospf-1-area-0.0.0.0]net 192.168.2.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]qu
[R3-ospf-1]
[R4]ospf
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]net 192.168.3.4  0.0.0.0
[R4-ospf-1-area-0.0.0.0]qu
[R4-ospf-1]

到这里,R2、R3、R4均已事先运行OSPF进程了,接下来就可以方便我们观察,在R1不同的宣告方式,会带来哪些变化?

其实变化,主要就是不同方式,会引起建立邻居数量不同,说白了,就是宣告范围,决定了哪些接口参与OSPF进程。

假设,我们的需求就是只希望R1和R2、R1和R4建立邻居关系;R1不要与R3建立邻居关系。

Part4关键配置

配置方式一:精确宣告

由于需求可知,我们只需把R1的192.168.1.1和192.168.3.1精确宣告到OSPF进程中即可;

[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]net 192.168.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]net 192.168.3.1 0.0.0.0

查看OSPF邻居关系:

透彻分析OSPF不同的宣告方式,搞懂的感觉真好

上图可知,确实R1只和R2、R4建立OSPF 邻居关系了,没有和R3建立邻居关系。

在R4上查看一下OSPF路由:

透彻分析OSPF不同的宣告方式,搞懂的感觉真好

我们可以发现,学习到R2的20.20.20.20的路由,没有30.30.30.30的路由。

配置方式二:网段宣告

接下来,我们换一种方式宣告,即网段宣告。用方式二的时候,我已把上述的R1的OSPF进程配置还原了。

[R1]ospf 
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]net 192.168.0.0 0.0.255.255
[R1-ospf-1-area-0.0.0.0]

查看OSPF邻居关系:

透彻分析OSPF不同的宣告方式,搞懂的感觉真好

上图,我们可以发现,很明显,不满足需求,因为R1也与R3建立邻居关系了。

在R4上查看OSPF路由:

透彻分析OSPF不同的宣告方式,搞懂的感觉真好

我们可以看到R4不仅学习到了20.20.20.20的路由,连同R3的30.30.30.30路由也学习到了。

配置方式三:接口宣告

接下来,我们换一种方式宣告,即接口宣告。用方式三的时候,我已把上述的R1的OSPF进程配置还原了。

[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]ospf enable  area 0
[R1]int g0/0/2
[R1-GigabitEthernet0/0/2]ospf enable  area 0

我个人感觉接口宣告,跟精确宣告,效果差不多。

查看OSPF邻居关系:

透彻分析OSPF不同的宣告方式,搞懂的感觉真好

上图,可知,满足只需,R1只与R2、R4建立OSPF邻居关系,没有与R3建立。

在R4上查看OSPF路由:

透彻分析OSPF不同的宣告方式,搞懂的感觉真好

所以,R4上就没有学习到R3上的loop 0 的路由。

Part5总结

最后,总结一下吧,

接口宣告、精确宣告特点:

配置量会多一些,例如,核心上10个接口,就要10条命令。
可以避免宣告了不想要的接口的,相对会安全一些。
网段宣告特点:

配置量非常少,如果网段有规律,可能一条命令搞定所有。
不安全,会把一些接口不需要参与OSPF进程,也包含进去了。
我个人还是建议使用精确宣告或接口宣告吧!

最后补充一句,小白可能更容易理解,所谓的宣告,就是接口要不要参与OSPF进程?如果参与,就会根据OSPF规定的协议,程序来定期发hello包,参与构建最短路径树等。不宣告就不参与了,没参与了,就不会与对端形成OSPF邻居了。

上一篇:OSPF实验


下一篇:记录我和她私会的那些日子之PYTHON基础篇