OSPF的接口类型

MGRE环境下的OSPF

实验环境:

实验要求:

r1,r2,r3为私网内部环境:分别为:192.168.1.1/2.1/3.1 24
隧道接口配置192.168.4.0 24网段

实验步骤:

1,配置IP按照要求

配置指向公网的一条静态缺省

[R1]ip route-static 0.0.0.0 0 14.0.0.2

[R2]ip route-static 0.0.0.0 0 24.0.0.2 

[R3]ip route-static 0.0.0.0 0 34.0.0.2

2,搭建VPN(MGRE)

[R1]int t 0/0/0
[R1-Tunnel0/0/0]ip add 192.168.4.1 24 
[R1-Tunnel0/0/0]tunnel-protocol gre p2mp 

[R1-Tunnel0/0/0]source 14.0.0.1
[R1-Tunnel0/0/0]nhrp network-id 100

R2注册

[R2]int t 0/0/0
[R2-Tunnel0/0/0]ip add 192.168.4.2 24  
[R2-Tunnel0/0/0]tunnel-protocol gre p2mp 
[R2-Tunnel0/0/0]source GigabitEthernet 0/0/0
[R2-Tunnel0/0/0]nhrp network-id 100
[R2-Tunnel0/0/0]nhrp entry 192.168.4.1 14.0.0.1 register

看一下nhrp的注册情况

[R1-Tunnel0/0/0]display nhrp peer 

R3:

一样的操作,做完看下nhrp表

 3,运行ospf协议

R1,R2,R3同理


[R1]ospf 1 router-id 1.1.1.1
[R1-ospf-1]a 0
[R1-ospf-1-area-0.0.0.0]network 192.168.4.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255

因为OSPF是以组播的形式去发送信息的,所以我们需要开启伪广播

[R1-Tunnel0/0/0]nhrp entry multicast dynamic 

看下接口,看建邻的条件

R1

R2:

R3:

发现都只跟我中心R1建邻了

那再看下邻居的状态呢

问题1:接口类型:brodcast

 

 R1,R2之间建立邻居了,并且full了,但是我的R3只是一个init状态,连邻居关系都没有起,init状态就是连rid都还没有传,不认识RID

 cost=1562的原因:因为隧道接口要进行封装,然后再走物理接口,封装和解封装都会浪费资源,隧道接口定义为传输速率为64k,实际无数据收发,数据尽量不走这个链路,所以这么大

解决:

因为我们前面提到了这个是P2P的接口类型,只能建立一个邻居关系,我们将他改为broadcast类型,就可以建立多个邻居关系了

[R1-Tunnel0/0/0]ospf network-type broadcast 

再次查看建立邻居的状态:

 

R1跟R2的状态为two-way,r2跟r1为exstart,并且分支之间没有建立邻居关系, 

并且当我查看ospf的路由表信息时:

R3]dis ip routing-table protocol ospf 

发现为空,没有路由器表的信息

 一个为exstart ,一个是two-way状态的原因:

two-way是在进行dr和bdr的选举,如果一个接口,已经确定自己不可能当上DR或者BDR了,这个接口可以优先进入下一个状态,可以去等,我的DR和BDR的选举状态完成之后再进入到下一个状态

卡在DR与BDR的选举状态了

我们知道broadcast状态,会进行DR/BDR的选举,但是P2P类型根本不需要进行选举,也就是说,R1和R2,R3闹矛盾了,一些认为可以,一些不可以,所以选举混乱了

解决方案1.1:全部改为broadcast

[R2-Tunnel0/0/0]ospf network-type broadcast 

[R3-Tunnel0/0/0]ospf network-type broadcast 

查看R1,R2,R3的邻居表

 

 

看下路由信息:

 [R3]display  ip routing-table protocol ospf 

R1上面只有到R3的路由信息,R3上面也有R1的信息,但是我的R2上面却一条路由信息都没有

在R2上看下R1认为谁说DR,谁是BDR,显然他认为4.3是DR,自己是BDR,再看下其他的,发现他们认为的DR和BDR不一样,造成了DR/BDR的选举混乱

解决方案2:提高R1的接口优先级或者降低分支的接口为0

接口优先级为0表示放弃DR/BDR的选举:

修改接口优先级的方法:

[R3-Tunnel0/0/0]ospf dr-priority 0

再次看路由表:

r3

有信息了

P2MP

对于以上问题其实可以把接口类型全部改为P2MP的类型

查看接口:

[R1-Tunnel0/0/0]display ospf interface Tunnel 0/0/0

 state:p-2-p 这个不需要进行DR/BDR的选举,并且可以建立多个邻居关系,还可以学习到邻居接口的主机路由

但是我一个修改了过后,因为HEllo和dead time的时间对不上,无法建立邻居关系,所以其他口都需要修改为P2MP的类型:

查看路由表(仅仅展示R1的):

mesh---全连的MGRE--OSPF

说明:

在MGRE环境中,还存在一种全连的MGRE环境(MESH),这种环境下,所有节点既是中心,也是分支,所有节点都将开启伪广播。这样将所有节点接口的网络类型改为Broadcast之后,所有节点在进行DR和BDR选举是,将共同进行,则不会出现DR和BDR认知不统一的情况。

NBMA---OSPF

 [Huawei-GigabitEthernet0/0/0]ospf network-type nbma 

改为nbma过后,需要手动指定邻居

[Huawei-ospf-1]peer 192.168.1.2---注意:当对端指定完成过后,才开始重新建立邻居(双方都需要指定)

总结:

 

 

### OSPF协议中的接口类型及其分类 #### 点到点 (Point-to-Point, P2P) 对于链路层协议为PPP或HDLC的情况,默认情况下OSPF认为网络类型是P2P。在此类网络中,通过多播地址(224.0.0.5)发送协议报文[^1]。这种类型的接口仅能建立单一邻居关系,并且无需进行指定路由器(DR)和备份指定路由器(BDR)的选举过程。HELLO间隔设定为10秒,而Dead时间则设为40秒[^4]。 #### 广播多址访问 (Broadcast Multi-Access, BMA) 这类通常指的是以太网环境,在广播型网络里能够形成多个邻接关系。为了维护稳定的拓扑结构,此类网络需执行DR与BDR的选择流程。同样地,HELLO包每隔10秒钟发出一次,如果超过40秒未收到回应,则视为连接失效。 #### 非广播多址访问 (Non-Broadcast Multi-Access, NBMA) NBMA适用于像帧中继这样的技术场景,允许创建多个邻居关联的同时也需要经历DR/BDR的挑选环节。不同于前者的是,这里的HELLO周期延长到了30秒,相应的Dead计时器也增加至120秒。值得注意的一点是在NBMA环境下,设备间不会自动生成邻居关系,这需要管理员手动配置。 #### 环回接口 (Loopback Interface) 环回接口是一种特殊的逻辑接口,主要用于测试目的或是作为稳定可达性的标识。在华为设备上被定义成P2P模式,但实际上并无实际的数据传输活动发生;它默认会发布一条指向自身的/32前缀路由条目。另外还存在一种变体称为点对多点(P2MP),它可以支持向多位邻居通告信息而不必参与DR/BDR的竞争,其HELLO定时器和Dead定时器分别设置为30秒和120秒。 ```python # 示例:配置OSPF进程并指定沉默接口 silent-interface GigabitEthernet0/0/1 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fatsheep洋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值