关于OSPF网络类型的相关文档,随便一搜就可以搜到很多,但是细读后会发现,有些文档讲解的不够透彻,有些文档讲解的比较零散,结合众家之所长,以及自己多年的实战经验,最后总结一下,希望对大家有帮助,也希望各位大牛提出宝贵意见。如果对你有所帮助,有钱的打赏,没钱的点赞,剩下的自己看着办。
1.1 OSPF网络类型诞生原因
OSPF协议是工作在三层网络层,其所运行的数据链路层对应的有多种物理链路类型,为了能够适应数据链路层不同的网络环境,OSPF定义了四种网络类型。
OSPF所运行的数据链路层的链路类型有三种:点到点(P2P),广播型,NMBA。
所对应的网络类型为:点到点(P2P),广播(Broadcast),NBMA,虚链路。
(网上所谓的:五种网络类型或者是六种网络类型,这是由于在NBMA网络类型下,RFC和Cisco定义了OSPF在NBMA网络中的运行模式,我们也可以将这些运行模式看作是每一种网络类型。)
1.2 物理链路类型
三种主要物理链路类型的特点:
(1)点到点(P2P):路由设备的接口通过点对点的方式与另一台路由设备相连,使用HDLC或者PPP封装。
(2)广播型:广播多路访问,目前而言对应的主要是以太网链路。
(3)NBMA(非广播多路访问):目前而言对应的是主要是帧中继网络链路。
小知识点:广播多路访问和非广播多路访问的区别:
广播多路访问是指多台路由器通过一台交换机连接在一起,如果连接在交换机上的一台路由器发送一个广播包,那么连接在此交换机上的其他路由器也是可以收到此广播包的。
NBMA一般是指路由器通过帧中继网络连接在一起,如果路由器想发送包给其余N个路由器,那么就需要发送N个数据包,通过帧中继网络上的N条PVC传给对应的路由器,也就是发送数据包没有广播的能力。
1.3 OSPF网络类型
四种网络类型的特点:
1:点到点网络(P2P):当链路层采用PPP或者是HDLC封装时,OSPF缺省网络类型是P2P。此种网络类型的特点是:OSPF使用组播地址224.0.0.5发送协议报文。无需选举DR和BDR。
2:广播型网络(Broadcast):当链路层封装为Ethernet、FDDI时,OSPF缺省认为网络类型是广播型。此种网络类型中,需要进行DR和BDR的选举。DRothers使用224.0.0.6向DR和BDR发送协议报文,当DR接收到数据包并确认后,使用224.0.0.5泛洪数据包给其他的DRothers。
3:NBMA(Non-Broadcast Multiple Access)网络:当数据链路层封装类型为FR,ATM时,OSPF缺省认为网络类型为NBMA。在这种网络类型中,NBMA是不可以发送组播报文。
(请注意:当数据链路封装为FR时,由于此种网络缺省情况下路由器不发送广播消息,那么OSPF的以组播形式发送的LSA报文无法到达,由此会导致无法生成路由表,针对此问题,RFC以及Cisco均提出了解决方案,即提出了OSPF在帧中继网络中的运行模式。关于这种解决方案,后续会有专门的文档进行讲解。)
4:虚链路:是点到点的一种特殊配置,在虚链路上OSPF是以单播的形式发送报文,并不在意链路是什么类型,关键是虚链路两段可以实现互通。
以上四种是OSPF基本的网络类型,在NBMA网络中,为了解决OSPF无法传播组播报文而导致的OSPF无法运行的问题,RFC和Cisco提出了相对应的运行模式,这些运行模式对应的也可以看做是网络类型,在此进行一下简单介绍,在后续文档会有结合实验配置的详细介绍。
五种运行模式分别为:
non-broadcast,point-to-multipoint,point-to-multipoint
non-broadcast,P2P,Broadcast。
其中前两种是RFC定义的,Cisco支持以上五种。
将上述五种运行模式看作是网络类型后,那么除去与基本网络类型重叠的部分,所有的网络类型可以总计如下表格:
1.4 网络类型的修改
网络类型是可以在接口上进行修改的,修改的命令是:
router(config-if)#ip ospf network network_type #将该接口的OSPF网络类型设置为某一个网络类型。
其中network_type为point-to-point,broadcast,non-broadcast,point-to-multipoint,point-to-multipoint non-broadcast中的任意一种。
1.5 实验验证
实验拓扑图如下:
第一步:对R1和R2做基本的配置:
R1的基本配置为:
R1(config)#int s1/0
R1(config-if)#ip add 192.168.12.1 255.255.255.0
R1(config-if)#no shu
R1(config)#int lo 0
R1(config-if)#ip add 1.1.1.1 255.255.255.0
R1(config-if)#no shu
R1(config-if)#exit
R1(config)#router ospf 1
R1(config-router)#router-id 1.1.1.1
R1(config-router)#network 192.168.12.0 0.0.0.255 area 0
R1(config-router)#network 1.1.1.0 0.0.0.255 area 0
R2的基本配置为:
R2(config)#int s1/0
R2(config-if)#ip add
R2(config-if)#ip address 192.168.12.2 255.255.255.0
R2(config-if)#no shu
R2(config-if)#exit
R2(config)#int lo 0
R2(config-if)#no shutdown
R2(config-if)#ip add 2.2.2.2 255.255.255.0
R2(config-if)#exit
R2(config-router)#router-id 2.2.2.2
R2(config-router)#network 192.168.12.00.0.0.255 area 0
R2(config-router)#network 2.2.2.00.0.0.255 area 0
基本的配置完成之后,查看路由表并进行测试:
R2(config)#do show ip rou
C192.168.12.0/24 is directly connected,Serial1/0
1.0.0.0/32 is subnetted, 1 subnets
O1.1.1.1 [110/65] via 192.168.12.1,00:00:03, Serial1/0
2.0.0.0/24 is subnetted, 1 subnets
C2.2.2.0 is directly connected, Loopback0
R2#ping 1.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max =8/25/44 ms
由此基本的配置成功。
第二步:修改网络类型
(1) point-to-point
对上述拓扑图完成基本的配置之后,不做任何网络类型修改,show相关内容。
R2#show ip ospf int s1/0
Serial1/0 is up, line protocol isup
Internet Address 192.168.12.2/24, Area 0
Process ID 1, Router ID 2.2.2.2, Network Type POINT_TO_POINT, Cost: 64
Transmit Delay is 1 sec, State POINT_TO_POINT
Timer intervals configured, Hello 10, Dead40, Wait 40, Retransmit 5
由此可以看出,当采用路由器的接口为串口时,默认的OSPF接口类型为point-to-point.
R2#show ip ospf neighbor
由此可以看出点到点的网络不进行DR和BDR的选举。
(2)第二种网络类型:Broadcast
在R1和R2上分别作如下修改:
R1(config-if)#int s1/0
R1(config-if)#ip ospf network broadcast
R2config-if)#int s1/0
R2(config-if)#ip ospf network broadcast
修改后
R1#show ip os int s1/0
Serial1/0 is up, line protocol isup
Internet Address 192.168.12.1/24, Area 0
Process ID 1, Router ID 1.1.1.1, Network Type BROADCAST, Cost: 64
Transmit Delay is 1 sec, State BDR, Priority 1
Designated Router (ID) 2.2.2.2, Interface address 192.168.12.2
Backup Designated router (ID) 1.1.1.1, Interface address 192.168.12.1
Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5
oob-resync timeout 40
由此看出,接口的网络类型已经发生改变。
R1(config)#do show ip os ne
(3)non-broadcast
在R1和R2上分别作如下修改:
R1(config-if)#int s1/0
R1(config-if)#ip ospf network non-broadcast
R2config-if)#int s1/0
R2(config-if)#ip ospf network non-broadcast
查看R1的s1/0的接口类型,请注意黑体字部分。
R1(config-if)#do show ip os int s1/0
Serial1/0 is up, line protocol isup
Internet Address 192.168.12.1/24, Area 0
Process ID 1, Router ID 1.1.1.1, Network Type NON_BROADCAST, Cost: 64
Transmit Delay is 1 sec, State WAITING, Priority 1
No designated router on this network
No backup designated router on this network
Timer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5
oob-resync timeout 120
查看NBMA网络邻居关系:
R1#show ip os neighbor
R1#
可以看出,没有形成邻居关系。这是由于NBMA网络不能发送广播报文,所以需要手动指定邻居。
R1(config)#router ospf 1
R1(config-router)#neighbor 192.168.12.2////只需要手动指定一端就可以
R1(config)#do show ip os nei
查看邻居的建立关系:
R1(config)#do show ip os nei
(4)point-to-multipoint
在R1和R2上分别作如下修改:
R1(config-if)#int s1/0
R1(config-if)#ip ospf network point-to-multipoint
R2config-if)#int s1/0
R2(config-if)#ip ospf network point-to-multipoint
查看R1的s1/0的接口类型,请注意黑体字部分。
R1(config-if)#do show ip os int s1/0
Serial1/0 is up, line protocol is up
Internet Address192.168.12.1/24, Area 0
Process ID 1, Router ID1.1.1.1, Network Type POINT_TO_MULTIPOINT, Cost: 64
Transmit Delay is 1 sec,State POINT_TO_MULTIPOINT
Timer intervalsconfigured, Hello 30, Dead 120, Wait 120, Retransmit 5
oob-resync timeout 120
查看point-to-multipoint网络邻居关系:
R1#show ip os nei
发现形成邻居关系,但是不进行DR和BDR的选举。
(5)point-to-multipoint no-broadcast
在R1和R2上分别作如下修改:
R1(config-if)#int s1/0
R1(config-if)#ip ospf network point-to-multipoint non-broadcast
R2config-if)#int s1/0
R2(config-if)#ip ospf network point-to-multipoint non-broadcast
查看R1的s1/0的接口类型,请注意黑体字部分。
R1(config-if)#do show ip os int s1/0
Serial1/0 is up, line protocol is up
Internet Address192.168.12.1/24, Area 0
Process ID 1, Router ID1.1.1.1, Network Type POINT_TO_MULTIPOINT, Cost: 64
Transmit Delay is 1 sec,State POINT_TO_MULTIPOINT
Timer intervalsconfigured, Hello 30, Dead 120, Wait 120, Retransmit 5
oob-resync timeout 120
Hello due in 00:00:28
这里比较特殊请注意,查看到接口类型为POINT_TO_MULTIPOINT,只有通过show run才可以看到真正的网络类型
查看point-to-multipoint non-broadcast网络邻居关系:
R1#show ip os nei
R1#
可以看出没有形成邻居关系,这时候需要手动指定邻居。
R1(config)#router os 1
R1(config-router)#nei 192.168.12.2
R1(config-router)#do show ip os nei
可以看出通过指定邻居之后,邻居形成。但是没有DR和BDR的选举。
通过上述实验,OSPF协议的网络类型的种类和特点,以及邻居关系的建立更加清晰,网络类型的不同,那么hello时间有可能不同,直接影响OSPF邻居关系的建立。所以在不同的网络类型中,对于OSPF的配置要特别小心。
网友评论