CCNP之OSPF网络类型简析

    关于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支持以上五种。

将上述五种运行模式看作是网络类型后,那么除去与基本网络类型重叠的部分,所有的网络类型可以总计如下表格:

CCNP之OSPF网络类型简析_第1张图片

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 实验验证

实验拓扑图如下:


CCNP之OSPF网络类型简析_第2张图片

第一步:对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

CCNP之OSPF网络类型简析_第3张图片

可以看出通过指定邻居之后,邻居形成。但是没有DR和BDR的选举。

     通过上述实验,OSPF协议的网络类型的种类和特点,以及邻居关系的建立更加清晰,网络类型的不同,那么hello时间有可能不同,直接影响OSPF邻居关系的建立。所以在不同的网络类型中,对于OSPF的配置要特别小心。

你可能感兴趣的:(CCNP之OSPF网络类型简析)