ospf理论流程

ospf理论流程

OSPF是什么?

OSPF,Open Shortest Path First,一种链路状态路由协议,更是一种内部网关协议。

封装在IP报文中,协议号为89。简单的理解,部署了该协议的网络会周期性收集拓扑和路由的所有信息,然后计算出到达目的网段的最短路径,并且通过周期更新机制实时监控网络的变化。

网络协议划分

按区域自治与否,可分为:IGP(AS内部)、EGP(AS与AS之间)

按路由算法,可分为:①链路状态路由协议     ②距离矢量路由协议

IGP:工作在AS内,周期更新,收集运行了该协议的路由信息并实时监控网络的变化(如OSPF、ISIS、RIP);

EGP:工作在AS之间,不存在周期更新,存在触发更新,主要用于传递和选择AS间的路由(如BGP);

动态路由协议的一般应用情况

无环路
类似于STP生成树协议,每一个OSPF区域(每一朵“云”)相当于一个树干的枝杈,不会构成环路。

收敛快
这是作为动态路由所特有的特点,每当链路/设备出现故障时,该部署了OSPF的区域会动态的扫描并感知到链路状态异常,从而进行拓扑的链路的更新。

扩展性好
可以划分为多个OSPF区域,就像树干可以长出多个枝杈一样。

支持认证
认证,是为了提高网络通信的安全性,OSPF区域下所有设备接口之间的相互认可的一种口令/密钥方式。就像直播房间平台下,你输入对应的密码/房间号才可以进去一样。

OSPF的五种报文

(1)Hello报文

发现、协商、维护(周期发送)OSPF邻居;
关于邻居的发现,有两种方式:
①自动发现:通过发送目的IP地址为224.0.0.5;()
②手工指定(NBMA

了解即可

那两者如何才能成功建立邻居(两者如何通过hello报文协商“邻居的建立”)
通过查看ospf报文的头部,我们可以知道影响OSPF邻居建立的因素:
①version必须要一致;
②router id不能一致;
③area ID要一致;
④authentication-mode要一致,password也要一致;
⑤netmask要一致(广播、NBMA网络中有这一要求的);
⑥hello/dead time要一致;
⑦option字段的N bit和E bit要一致;

(2)DD(Database Description)报文

数据库描述报文,携带LSA的摘要(就像快递单号,仅仅是对快递具体内容的简单描述标识而已);

注意:DD报文携带的LSA摘要有什么字段?

答:link state type、link state id、advertiser(简称ADV)。

(4)LSU(link state update)报文

携带LSA信息的报文。(类似于报刊会按照你订阅所需要看、但又还没有收到的报纸的单号进行递送)

①收到了LSR请求报文后,LSU会进行回复;
②默认情况下,LSU报文会周期为1800s动态更新,dead time为3600s;
③当网络发生变化时,也会发送出LSU更新链路状态(触发更新);

(5)LSACK(link state ACK)报文

用来确认收到了LSU的报文,携带了LSA的详细信息(而不仅是LSA摘要了);(快递员给你送完东西,这时候快递员会验收确认,我们这边也要验货看看有无缺损、符不符合当初买的标准和实际的需求)

PS:LS Ack报文携带的仅是LSA的摘要并不会携带完整的LSA,跟DD报文类似

img

OSPF状态机是如何运作的啊?

1、down:

刚开机时,随即发送第一个hello报文的状态。

2、init:

发送了第一个hello报文后,等待收到对方发来hello报文的状态。

attempt:跟init状态类似,但它只用于NBMA接口网络类型之中

3、2-way

2-way状态:
2-way的作用:选举DR和BDR
如何选举DR和BDR
1、优先级 越大越优
优先级默认为1,范围是从0~255,0代表不参与选举DR。
2、Router-id 越大越优
3、手动指定
4、逻辑端口最大的IP地址 越大越优
5、物理端口最大的IP地址 越大越优
如何进入下一状态:
当DR和BDR选举出时进入下一状态Exstart状态。

双向连接,收到了邻居发来的hello报文(其中携带一些信息说明本设备为邻居的route id等),在这个状态里完成DR和BDR的选举。

DR(Designated Router),指定路由器
BDR(Backup Designated Router),备份指定路由器

4、exstart:

双方开始交换‘空’的DD报文,通过DD报文中序号等摘要信息协商并选举出主从设备。

为什么要选举主从设备?
选举主从设备用于确定由哪台路由器开始发送DBD包。
由于ospf主要是建立在IP数据包的基础上,所以没有tcp报文的可靠传输保证,所以需要建立主从关系保证DBD数据库描述信息可靠交互。虽然主从选举表面只是一种关系选举,实际上是一种可靠更新机制,保证数据传输有序、可靠。
其中主从关系选举与优先级无关,只与Router-ID 有关
router id较大的设备(比如选举出的主设备),不一定是DR

5、exchange:

双方交换携带了LSA摘要DD报文,用于同步LSDB(可以说双方各自存储着自己的LSA报文数据库即LSDB)。

6、loading:

用于加载exchange交换之后各自缺少的LSA报文。(此过程会发送LSR、LSU、LSAck报文)

7、full:

同步LSDB完成。(此过程拓扑链路发生变化会发送HELLO、DD报文、LSR、LSU、LSAck报文,以进行动态刷新LSDB)

img

DR与BDR、DR-Other的关系:

在一个广播网络中可以没有BDR,但必须存在一个DR设备。没有成为DR与BDR设备的其它OSPF设备称为DR-Other设备。
每条MA/NBMA链路中,都会独立选举DR、BDR。
BDR是DR备份,DR失效之后,BDR成为DR,同时也将重新选举新的BDR。
DR与BDR没有抢占性,当网络中出现新的更优先的路由器,也不会成为抢占现有网络中的DR身份。
接口优先级为0将不参与选举,如果此时为DR/BDR将立马失效,成为DRother。

DR、BDR、DR-Other的邻居与邻接关系:

DR、BDR、DR-Other都能相互建立邻居关系,因为能够交互Hello报文。

但建立邻接关系的只有DR、BDR、DR与DR-Other之间、BDR与DR-Other之间。

因为在广播网络中OSPF规定DR-Other之间不能直接交互DD报文、LSR、LSU、LSACK报文,所以DR-Other之间无法建立邻接关系

如果OSPF进程停留在某个状态,问题出至哪里呢?

答:停留在init状态:存在流量过滤,或链路存在单点故障
停留在2-way状态:DR/BDR选举卡住了,通常是路由器中双方或某一方弃权了导致选举不成功(优先级为0时代表弃权)

停留在exstart、exchange、loading状态:通常是本端接口的MTU与对端接口的MRU不一致,本端发送的报文过大,对端接收不过来;(但注意两设备互联接口的MTU不匹配,华为默认不检查的)

那OSPF链路状态(拓扑)发生改变时怎么办?

答:OSPF是链路状态路由协议,当链路状态(拓扑)发生变化时会执行触发更新机制,即:当链路状态发生改变时,运行OSPF的设备就会泛洪发出链路更新报文(LSU),如此很快地就告知给了所有相邻的路由器,然后通过比对链路数据库(LSDB)与路由表(Routing table),找出拓扑变化的部分,进而更新LSDB。

搞懂邻居关系、邻接关系及其区别

1、邻居关系?邻接关系?

邻居关系:邻居之间只能发送hello报文;
邻接关系:OSPF的五种报文都可以发送;

2、DR、BDR、DR other

在这之前我们先明白DR、BDR、DR other是什么角色?

DR:相当于一个班级(广播网络)里被选举出来的正班长。
BDR:相当于一个班级里选举出来的的副班长。
DR other:该班级学生里面除了上面的正班长、副班长之外的“臣子”了。

3、邻居关系和邻接关系区别?

理解了DR、BDR 和 DR other所扮演的角色,我们可以这样认为:邻居关系是简单的隔壁关系,邻接关系是更深层次的友好关系。

DR/BDR与DR other之间是邻接关系;(班长/副班长与班级同学肯定友好啦)
BDR与DR之间是邻接关系;(副班长与班长肯定友好啦)
DR other与DR other之间邻居关系;(同学和同学就是毗邻而已,关系不一定友好)

OSPF Router-ID:路由器标识符(Router Identifier)

在OSPF域中唯一地标识一台路由器。    在OSPF(Open Shortest Path First)协议中,Router ID(路由器标识符)是用于唯一标识一个OSPF路由器的32位值。它在OSPF路由器之间的通信中起到重要的作用,用于区分和识别不同的路由器。

OSPF协议使用Router-ID作为路由器的身份标示,如果在启动这些路由协议时没有指定Router-ID,则路由协议进程可能无法正常启动;在OSPF区域中必须保证Router-ID唯一,不然OSPF无法正确识别邻居,导致OSPF网络不通。

OSPF Router-ID 选举规则

如果通过Router-ID命令配置了Router-ID,则按照配置结果设置,选取优先级为第一;

在没有配置Router-ID的情况下,如果存在配置了IP地址的Loopback 接口,则选择Loopback接口地址中最大的地址作为Router-ID,选取优先级为第二;

如果没有已配置IP地址的Loopback接口,则从其他接口的IP地址中选择最大的地址作为 Router-ID(不考虑接口的Up/Down状态),选取优先级为第三。

在OSPF中,Router ID的配置有两个级别,分别是进程级别(Process-level)和全局级别(Global-level)。

进程级别的配置是在OSPF进程配置中指定Router ID。这意味着在配置OSPF进程时,可以明确指定一个特定的Router ID作为该进程的标识符。如果在进程配置中设置了Router ID,则该Router ID将优先于全局级别的配置。

ospf的虚连接

  • 19
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值