2022-04-11 网工进阶(四)OSPF-网络类型、OSPF邻接过程、DR与BDR,OSPF报文交互流程描述

OSPF网络类型

常见的OSPF的网络类型有:广播broadcast、点对点P2P。两者都是组播发现邻居。

传输介质对应相应的类型。以太网(网线、光纤、同轴电缆)对应广播、串口线缆对应点对点。

硬件介质已经固定,但是可以优化OSPF的网络类型(可以修改,但不能随意的修改)

通常情况下当只有2个设备的时候,建议使用点到点的链路,这种情况下DR和BDR都是0。

网络类型

常见应用场景

Hello(秒

死亡时间(秒

是否需要DR

广播

以太网

10

40

点到点

点对点(串口)

10

40

NBMA

帧中继

30

120

P2MP

多个点到点集合

30

120

NBMA(非广播多路访问),需要DR,同时由于不支持组播和广播,所以只能支持单播(必须手工指定邻居关系-使用peer,组播无法自动发现)。所以尽量避免使用NBMA网络。

在NBMA中使用手动指定邻居关系时涉及到同步LSA的问题,只能和DR去同步LSA,所以DR的位置特别关键(拥有所有邻居的设备成为DR),一旦错误就无法同步LSA,结果就是缺少路由(缺少路由意味着无法通信),因此DR的位置十分重要。

点到多点(P2MP),可以自动发现邻居,被看做多个点到点的集合,不需要DR,会多出来直连接口的/32主机路由。

NBMA(无法自动发现邻居)和其他组合一定影响邻居

点和点的组合在修改完毕时间后可以建立邻居,也可以正常的学习路由

点和广播的组合在修改完毕时间后可以建立邻居,但不可以正常的学习路由

Host类型(第五类),环回接口被定义为主机;如果环回接口不是/32,而通过OSPF学习路由之后是/32的主机路由,在MPLS VPN中会出现无法转发业务数据的情况;如果邻居学习正常位数的路由,可以改为广播的网络类型。

OSPF邻接过程

OSPF日志解释:

NeighborEvent=HelloReceived  邻居事件=收到Hello报文

NeighborPreviousState=Down  邻居当前状态=Down

NeighborCurrentState=Init        邻居状态变化=Init初始化

OSPF邻接关系建立

ExStart:邻居状态变成此状态以后,路由器开始向邻居发送DD报文。在此状态下发送的DD报文不包含链路状态描述

Exchange:在此状态下,路由器与邻居之间相互发送包含链路状态信息摘要的DD报文

Loading:在此状态下,路由器与邻居之间相互发送LSR报文、LSU报文、LSAck报文

Full:路由器已完成了与邻居的LSDB同步

DR与BDR

作用

DR(Designated Router,指定路由器):负责在MA网络建立和维护邻接关系并负责LSA的同步。与其他所有路由器形成邻接关系并交换链路状态信息,其他路由器之间不直接交换链路状态信息。

BDR(Backup Designated Router,备份指定路由器) :在DR失效时快速接管DR的工作。

选举规则

DR/BDR的选举是基于接口的:接口的DR优先级越大越优先,默认是1,0表示不参与选举;接口的DR优先级相等时,Router ID越大越优先

相关命令:

修改接口DR优先级

[R1-GigabitEthernet0/0/0]ospf dr-priority <0-255>

选举过程

接口UP后,发送Hello报文同时进入到Waiting状态。在Waiting状态下会有一个WaitingTimer,该计时器的长度与DeadTimer是一样的。默认值为40秒,用户不可自行调整

在WaitingTimer触发前,发送的Hello报文是没有DR和BDR字段的。在Waiting阶段,如果收到Hello报文中有DR和BDR,那么直接承认网络中的DR和BDR,而不会触发选举。直接离开Waiting状态,开始邻居同步

假设网络中已经存在一个DR和一个BDR,这时新加入网络中的路由器,不论它的Router ID或者DR优先级有多大,都会承认现网中已有的DR和BDR。因此,DR/BDR的选举是非抢占式的

DR因为故障Down掉之后BDR会继承DR的位置,剩下的优先级大于0的路由器会竞争成为新的BDR

只有当不同Router ID,或者配置不同DR优先级的路由器同时起来,在同一时刻进行DR选举才会应用DR选举规则产生DR。

不同网络类型中DR与BDR的选举操作

网络类型

常见应用场景

是否选举DR

是否和邻居建立邻接关系

广播

以太网链路

DR与BDR 、DRother建立邻接关系

BDR与DR 、DRother建立邻接关系

DRother之间只建立邻居关系

NBMA

帧中继链路

点到点

PPP链路、HDLC链路

P2MP

多个点到点集合(需手工指定)

DRother通过224.0.0.6发送LSA给DR和BDR,DR和BDR通过224.0.0.5发送LSA给DRother。

DRother侦听224.0.0.5,DR侦听224.0.0.6。

DD报文

DD报文包含LSA头部信息,包括LS Type、LS ID、Advertising Router、LS Sequence Number、LS Checksum。

Interface MTU:指示在不分片的情况下,此接口最大可发出的IP报文长度。在两个邻居发送DD报文中包含MTU参数,如果收到的DD报文中MTU本端的MTU不相等,则丢弃该DD报文。缺省情况下,华为设备未开启MTU检查

Optinons:字段Hello报文。

主从协商规则:router id大的为主(master)

OSPF报文交互流程描述

1.在收到邻居路由的第一个Hello报文之前,处于DOWN状态。

2.收到之后,进入init状态,并且开始等待时间的计时(用于选举DR和BDR),发送下一个Hello报文(带邻居RID)到组播地址。

3.邻居收到后,进入init状态,邻居进入2way状态,也带邻居RID的报文到组播地址。

4.收到邻居的报文后,本端也进入2way状态,表示邻居关系达成。

5.此后在等待时间结束前,所以ospf路由器会按照默认的hello报文间隔或者人为设置的地址发送用于选举DR和BDR的hello报文。

6.等待时间过后,选举出了DR和BDR,此时Hello报文开始携带DR与BDR信息,之后所有ospf路由器会继续发送用于维护邻居关系的hello报文。

7.等待时间过后,路由器进入ExStar状态,发送第一个DBD报文给对方,用于确认主从关系,带有随机确认号(seq)等信息(DBD报文是单拨),在没有收到对方回复之前会每隔5秒发送一次。

8.在收到对方的第一个DBD后,主从关系确认完毕,此时进入ExChange状态,发送下一个DBD报文过去,携带lsa的摘要和master的随机确认号(seq),而master回复的DBD报文中的确认号为+1。

9.发送完毕后进入loding状态,双方开始交互LSR(请求缺少的详细的lsa详细信息,单拨)和LSU(给其他路由器更新lsa详细信息,单拨,组播)报文,第一个LSR是在对方收到本端发出的带有摘要的DBD报文后,如果本端是DR,给邻居发送LSU后还会对组播地址发送一个LSU。

10.在双方交互完后,slave端进入Full状态,同时对master发送一个用于确认DBD报文,只携带上一个收到的DBD报文的确认号,master也进入Full状态。

11.之后,所有路由还会组播地址发送LSU,作为DR会进行汇总以及最终LSA泛洪。

12.最后所有路由器会对组播以及单播的LSU发送方去发送LSACK表示确认收到。

PS:P2P网络中,不需要选举DR和BDR,因此没有等待时间,并且所有报文的接收方都是组播地址224.0.0.5。因此,为了加快网络的收敛速度,可以将下面类型的组网的OSPF网络类型改为P2P。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

鹅一只

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

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

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

打赏作者

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

抵扣说明:

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

余额充值