OSPF网络类型

原理概述

OSPF协议定义了4种不同的网络类型,分别为广播网络(也成为Broadcast网络)、NBMA(Non-Broadcast Multi-Acess)网络点到点网络(也称为Point-to-Point网络,或P2P网络)和点到多点网络(也称为Point-to-Multipoint网络,或P2MP网络)。不同类型的网络上OSPF协议的工作机制会存在一些差别。例如,前两种类型的网络都要进行DR和BDR的选举,而后两种类型的网络不进行DR和BDR的选举,也不存在DR和BDR。

默认情况下,OSPF协议会根据接口的链路层封装协议去自动设置接口的网络类型,以太网接口的默认网络类型为Broadcast串行接口如果链路层封装协议是PPP协议(Point-to-Point Protocol)或HDLC(High-level Data Link Control Protocol)协议则默认网络类型为点到点类型ATM或帧中继(Frame-Relay)接口的默认网络类型为NBMA。需要强调的是,接口的网络类型是可以根据需要而进行人为修改的,这一特点使得OSPF协议具备了更多的灵活性和更强的适应能力,可以满足复杂网络中的各种不同需求。

实验目的

理解OSPF不同网络类型的主要差别

掌握OSPF不同网络类型的配置方法

实验内容

实验拓扑如图所示。本实验模拟了一个简单的企业网络场景,R1为公司总部的路由器,R2为分支机构的路由器,R1与R2通过帧中继交换机FRSW连接。R1和R2使用的PVC(Permanent Virtual Circuit)的DLCI(Data Link Connection Identifier)是102,R2到R1使用的PVC的DLCI是201。R1和R2运行OSPF协议,使用的OSPF网络类型为P2P。然后,公司新增了一个分支机构,R3为新分支机构的路由器,并与FRSW相连。R1到R3使用的PVC的DLCI是103,R3到R1使用的PVC的DLCI是301。原来运行的OSPF协议需要扩展到R3上,以实现公司全网互通。


实验拓扑

1.基本配置

对R1、R2、R3进行相应的基本配置。 

<Huawei>sys

[Huawei]sys r1
[r1-Serial4/0/0]int loopback 0
[r1-LoopBack0]ip add 10.0.1.1 32

<Huawei>sys
[Huawei]sys r2
[r2-Serial4/0/0]int loopback 0
[r2-LoopBack2]ip add 10.0.2.2 32
 

<Huawei>sys
[Huawei]sys r3
[r3-Serial4/0/0]int loopback 0
[r3-LoopBack0]ip add 10.0.3.3 32

在文本框内输入相应的FRSW编号与DLCI,Interface 0对应于Serial 0/0/0,Interface 1对应于Serial 0/0/1,Interface 2对应于Serial0/0/2,配置完成后点击OK 。

接下来进行路由器的配置。注意,为了在帧中继网络中支持组播及广播报文,必须在配置帧中继映射时添加关键字Broadcast。如果不添加关键字Broadcast,则帧中继接口无法封装组播及广播的报文。

[r1]int s4/0/0
[r1-Serial4/0/0]
[r1-Serial4/0/0]link-protocol fr
[r1-Serial4/0/0]ip address 10.0.123.1 255.255.255.0
[r1-Serial4/0/0]fr interface-type dte
[r1-Serial4/0/0]fr map ip 10.0.123.2 102 broadcast
[r1-Serial4/0/0]fr map ip 10.0.123.3 103 broadcast
 

[r2]int s4/0/0
[r2-Serial4/0/0]link-protocol fr

[r2-Serial4/0/0]ip address 10.0.123.2 255.255.255.0

[r2-Serial4/0/0]fr interface-type dte
[r2-Serial4/0/0]fr map ip 10.0.123.1 201 broadcast

 配置完成之后,在R1上使用ping命令检测R1与R2之间的连通性。

 2.配置OSPF点到点网络类型

[r1]ospf 10
[r1-ospf-10]area 0
[r1-ospf-10-area-0.0.0.0]network 10.0.123.0 0.0.0.255
[r1-ospf-10-area-0.0.0.0]network 10.0.1.1 0.0.0.0
 

[r2]ospf 10
[r2-ospf-10]area 0
[r2-ospf-10-area-0.0.0.0]network 10.0.123.0 0.0.0.255
[r2-ospf-10-area-0.0.0.0]network 10.0.2.2 0.0.0.0

配置完成后,查看R1的串行接口Serial 4/0/0在OSPF协议中的默认网络类型。

可以看到,帧中继接口在OSPF协议中的默认网络类型为NBMA,并且需要选择BR和BDR,默认的Hello报文间隔为30s,Dead Timer的时间是Hello报文间隔的4倍。

由于企业总部目前只需与一个分支机构通信,所以决定在R1和R2上将Serial 4/0/0接口的网络类型修改为点到点类型。

[r1]int s4/0/0
[r1-Serial4/0/0]ospf network-type p2p 
 

[r2]int s4/0/0
[r2-Serial4/0/0]ospf network-type p2p 

配置完成后,在R1上查看OSPF邻居状态和路由表。

可以看到,R1与R2已经 自动建立了OSPF邻居关系,并且R1的路由表中也拥有了去往R2的Loopback接口所在网段的路由信息。

在R1上使用命令display ospf interface Serial 4/0/0查看R1上Serial4/0/0接口上的OSPF信息。

可以看到,R1的 Serial 4/0/0接口的网络类型现在已经变成修改后的点到点类型, Hello 报文间隔为10s, Dead Timer 的时间也是 Hello 报文间隔的4倍。

现在,公司有了一个新增的分支机构,增加的路由器是R3。为了使R3也能够加入原来的 OSPF 网络,可在R1与R3之间再建立一条帧中继 PVC ,并将其 OSPF 网络类型配置为点到点类型。 

[r1]int s4/0/0
[r1-Serial4/0/0]
[r1-Serial4/0/0]fr map ip 10.0.123.3 103 broadcast

[r3]int s4/0/0
[r3-Serial4/0/0]link-protocol fr
[r3-Serial4/0/0]ip add 10.0.123.3 255.255.255.0
[r3-Serial4/0/0]fr interface-type dte
[r3-Serial4/0/0]fr map ip 10.0.123.1 301 broadcast
[r3-Serial4/0/0]ospf network-type p2p
[r3-Serial4/0/0]ospf 10
[r3-ospf-10]area 0
[r3-ospf-10-area-0.0.0.0]network 10.0.123.0 0.0.0.255

[r3-ospf-10-area-0.0.0.0]network 10.0.3.3 0.0.0.0

配置完成后,在R1上查看邻居信息。

观察发现,虽然R1与R2建立起了邻接关系,但R1与R3却不能建立邻接关系。 

原来,点到点网络的两端只能允许各有一个专门的接口:现在R1、R2、R3的Serial4/0/0接口都配置成了点到点网络类型,这就意味着R1的 Serial 4/0/0接口既要对应R1到R2这个点到点网络,又要对应 RI 到R3这个点到点网络,而这种情况是无法实现的。解决这一问题的方法之一是在 RI 上增加一个物理接口,其中一个接口对应R1到R2这个点到点网络,另一个接口对应 RI 到R3这个点到点网络;还有一个方法就是在R1的 Serial4/0/0接口下配置两个子接口,两个子接口使用不同网段的 IP 地址,并分别用来与R2和R3建立点到点网络。第一种方法显然会明显增加设备的成本,第二种方法会涉及到诸如重新编址等问题,其实,除了这些方法之外,采用 NBMA 网络类型应该更能有效地解决问题。 

3.配置OSPF的NBMA及Broadcast网络类型

配置R1、R2、R3的Serial4/0/0接口为NBMA类型。

[r1]int s4/0/0
[r1-Serial4/0/0]ospf network-type nbma

[r2]int s4/0/0
[r2-Serial4/0/0]ospf network-type nbma

[r3]int s4/0/0
[r3-Serial4/0/0]ospf network-type nbma

NBMA 类型是帧中继串行接口运行 OSPF 时的默认网络类型。 NB 表示非广播,其含义是指 NBMA 接口不支持广播或组播报文MA 表示多路访问,在多路访问的网络中, OSPF 是需要进行 DR 和 BDR 的选举的。
为了验证 NBMA 网络的特点,可在R1,R2,R3的 Serial 4/0/0接口配置帧中继映射时不添加关键字 Broadcast ,这样一来,即使 OSPF 希望通过组播形式发送 Hello 报文,链路层也无法对组播 Hello 报文进行封装,从而导致无法建立邻接关系。

[r1]int s4/0/0
[r1-Serial4/0/0]fr map ip 10.0.123.2 102
[r1-Serial4/0/0]fr map ip 10.0.123.3 103

[r2]int s4/0/0
[r2-Serial4/0/0]fr map ip 10.0.123.1 201

[r3]int s4/0/0
[r3-Serial4/0/0]fr map ip 10.0.123.1 301 

 配置完成后,在R1上查看OSPF邻居信息。

可以看到,R1与R2、R1与R3都无法建立邻接关系,原因是此时每个接口都无法发送组播OSPF Hello报文。NBMA 网络类型不支持通过组播方式自动发现邻居,而需要通过手动配置来指定邻居,并通过单播 OSPF Hello 报文来建立邻接关系。

在R1、R2、R3上使用 peer 命令指定 OSPF 邻居。

[r1]ospf 10
[r1-ospf-10]peer 10.0.123.2
[r1-ospf-10]peer 10.0.123.3
 

[r2]ospf 10
[r2-ospf-10]peer 10.0.123.1

[r3]ospf 10
[r3-ospf-10]peer 10.0.123.1

配置完成后,查看R1的OSPF邻居信息。

可以看到,R1与R2、R1与R3现在已经成功建立起了邻接关系。

观察R1、R2、R3的路由表。

 

观察发现,R1和R3相互都接收到了对方Loopback0的路由,但是R1的路由表中没有去往R2的Loopback 0 的路由,R2的路由表中也没有去往R1和R3的Loopback 0的路由,R3的路由表中没有去往R2的Loopback 0的路由。

查看R1的Loopback 0的详细信息。

 

可以看到,R1的Serial4/0/0接口上存在两个邻居,但是同时也有两个不同的DR。在多路访问的网络中,DR只能有一个,这说明网络存在故障。

目前,R1、R2和R3的Serial4/0/0接口都工作在NBMA模式下,需要选举DR和BDR,而R1、R2、R3的Serial4/0/0接口的DR优先级的值都是1,因此Router-ID最大的路由器将被选举为DR。但是,由于R2与R3之间缺少了PVC,导致R2与R3都认为各自的OSPF网络中只存在邻居R1,所以R2和R3都认为自己是DR,而R1为BDR。

在R1上使用命令display ospf interface Serial 4/0/0查看Serial4/0/0接口的OSPF详细信息。

可以看到,R1认为R3是OSPF网络的DR,自己是BDR。尽管在R1的邻居表中显示R2也是DR,但是在R1的s4/0/0的详细接口信息中显示DR却是R3,导致的结果是,R1和R3之间的信息可以正常传递,但R1与R2之间的路由信息传递却出现了问题。

要解决这个问题,就必须要确保DR只有一个。对于目前这个具有Hub-Spoke结构的网络,应该保证Hub端R1成为DR路由器,Spoke端R2和R3成为DRother路由器。

[R1]int s4/0/0
[R1-Serial4/0/0]ospf dr-priority 10

 

[r2]int s4/0/0
[r2-Serial4/0/0]ospf dr-priority 0

 

[r3]int s4/0/0
[r3-Serial4/0/0]ospf dr-priority 0

配置完成后,在R1上使用命令display ospf interface serial 4/0/0查看Serial 4/0/0接口的OSPF的详细情况。

可以看到,现在R1已经成为了DR。

查看R1、R2、R3的路由表。

 

可以看到,现在每台路由器都获得了其他路由器的Loopback 0的路由,R2去往10.0.3.3的下一跳是R3的10.0.123.3,R3去往R2的下一跳是R2的10.0.123.2。

测试R2和R3的Loopback 0接口之间的连通性。

可以看到,R2和R3的连通性存在问题。虽然路由表中彼此有了去往对方的路由,但网络仍然无法进行正常通信。

在R2上测试R3的Loopback 0接口下一跳10.0.123.3是否可达。

可以看到,R2的帧中继映射表中缺少了去往10.0.123.3的映射,R3的帧中继映射表中缺少了去往10.0.123.2的映射。

为了解决R2和R3之间的互通性问题,可以在R2与R3之间增加一条PVC,使得网络成为一条全互联的状态,增加一条PVC不仅可以解决R2和R3的通信问题,而且可以避免遇到之前的DR选举问题。需要说明的是对于小型网络而言,增加PVC的数量,使网络保持全互联状态的确是可行的做法,但是对于规模不断扩大的网络而言,这种方法所需增加的 PVC 数量会急剧增长,各种成本和工作量也会随之猛增,最终会变得理论上可行而实际上无法接受。
还有另外一种方法可以用来解决R2和R3之间的互通性问题,就是不增加新的 PVC ,而是在R2和R3上分别配置去往10.0.123.3和10.0.123.2的帧中继映射条目,即R2利用 DLCI 201这条 PVC 经R1中转去往10.0.123.3,R3利用 DLCI 301这条 PVC 经 RI 中转去往10.0.123.2。

[r2]int s4/0/0
[r2-Serial4/0/0]fr map ip 10.0.123.3 201

[r3]int s4/0/0
[r3-Serial4/0/0]fr map ip 10.0.123.2 301 

配置完成后,在R2和R3上查看映射信息。

可以看到,R2有了去往10.0.123.3的映射,R3有了去往10.0.123.2的映射。
测试R2和R3的Loopback0接口之间的连通性。 

可以看到,现在R2与R3之间实现了互通,R2和R3的 Loopback 0接口之间可以正常通信了。至此,R1、R2、R3构成了一个典型的 OSPF NBMA 网络,它不支持通过组播 OSPF Hello 报文自动发现邻居并建立邻接关系,而需要通过手工指定邻居,同时网络还需要进行 DR 和 BDR 的选举。
我们还可以将R1、R2、R3组成的网络修改为 OSPF Broadcast 类型的网络,但是这有个前提,就是网络中的 PVC 必须支持广播。不过,先尝试一下在配置帧中继映射时不添加关键字Broadcast,看看情况会怎样。

[R1]int s4/0/0
[R1-Serial4/0/0]ospf network-type broadcast
[R1-Serial4/0/0]fr map ip 10.0.123.2 102
[R1-Serial4/0/0]fr map ip 10.0.123.3 103
[R1-Serial4/0/0]ospf 10
[R1-ospf-10]undo peer 10.0.123.2
[R1-ospf-10]undo peer 10.0.123.3

[r2]int s4/0/0
[r2-Serial4/0/0]ospf network-type broadcast
[r2-Serial4/0/0]fr map ip 10.0.123.1 201
[r2-Serial4/0/0]ospf 10
[r2-ospf-10]undo peer 10.0.123.1

[r3]int s4/0/0
[r3-Serial4/0/0]ospf network-type broadcast
[r3-Serial4/0/0]fr map ip 10.0.123.1 301
[r3-Serial4/0/0]ospf 10
[r3-ospf-10]undo peer 10.0.123.1

配置完成后,在R1上查看display ospf peer brief命令查看OSPF邻居信息。

可以看到,R1并没有建立起任何邻居关系。

重新改接R1、R2、R3的Serial 4/0/0接口的帧中继映射,添加关键字Broadcast。

[R1-Serial4/0/0]fr map ip 10.0.123.2 102 broadcast
[R1-Serial4/0/0]fr map ip 10.0.123.3 103 broadcast
 

[r2-Serial4/0/0]fr map ip 10.0.123.1 201 broadcast
 

[r3-Serial4/0/0]fr map ip 10.0.123.1 301 broadcast

 配置完成后,在R1上使用display ospf peer命令来查看OSPF邻居信息。

可以看到,R1被选举成为了DR,而R2和R3的接口因为DR优先级的值已被设置为0,所以没有参加选举。

 测试R2和R3的Loopback 0接口之间的连通性。

可以看到,R2和R3之间可以互通,R2和R3的Loopback 0接口之间可以正常通信。至此,R1、R2、R3已构成一个OSPF Broadcast网络,它通过组播OSPF Hello报文自动发现邻居并建立邻接关系,并且需要进行BR和BDR的选举。

4.配置OSPF的点到多点网络类型

接下来,将现在的网络类型修改配置为点到多点网络。点到多点类型与点到点类型非常相似,点到多点网络可以理解成由多个点到点网络组成,它通过组播OSPF Hello报文自动发现邻居并建立邻接关系,不选举也不存在DR和BDR。

[R1]int s4/0/0
[R1-Serial4/0/0]ospf network-type p2mp
[R1-Serial4/0/0]fr map ip 10.0.123.2 102 broadcast
[R1-Serial4/0/0]fr map ip 10.0.123.3 103 broadcast

 

[r2]int s4/0/0
[r2-Serial4/0/0]ospf network-type p2mp
[r2-Serial4/0/0]undo ospf dr-priority
[r2-Serial4/0/0]undo fr map ip 10.0.123.3 201
[r2-Serial4/0/0]fr map ip 10.0.123.1 201 broadcast

 

[r3]int s4/0/0
[r3-Serial4/0/0]ospf network-type p2mp
[r3-Serial4/0/0]undo ospf dr-priority
[r3-Serial4/0/0]undo fr map ip 10.0.123.2 301
[r3-Serial4/0/0]fr map ip 10.0.123.1 301 broadcast

上述信息完成后,在R1上查看OSPF邻居信息和路由表。

可以看到,R1自动与R2和R3建立了OSPF邻接关系,不存在DR和BDR,R1的路由表中拥有去往R2和R3的Loopback 0接口的路由。

在R2和R3上查看OSPF邻居信息和路由表。

测试R2和R3的Loopback 0接口之间的连通性。

 

可以看到,通信正常。至此R1、R2、R3构成了一个OSPF点到多点网络。最后需要指出的是与其它OSPF网络类型相比,在Hub-Spoke的网络结构上应用点到多点网络类型是最为合适的,配置工作也最为简便。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值