OSPF详解 一看就会奥!

动态路由协议:

在路由器间启动一种协议,之后路由器间进行数据沟通,相互学习计算来获取之前未知的目标网段的路径;

RIP OSPF EIGRP BGP ISIS

分类:基于AS进行分类

AS-自治系统 标准16位二进制 0-65535 其中 1-64511公有 64512-65535 私有

​ 扩展32位二进制

AS之内运行—IGP协议 –内部网关路由协议 – RIP/OSPF/ISIS/EIGRP

AS之间运行—EGP协议 -外部网关路由协议 – EGP/BGP

IGP协议的分类:

【1】基于更新时是否携带子网掩码 — 有类别(不带) 无类别 (携带)

【2】基于工作特点进行分类

1、 距离矢量-DV RIP/EIGRP 直接共享路由表 – 直接学习路由条目 更新量小

2、 链路状态-LS OSPF/ISIS 共享拓扑信息 – 本地计算路由条目 更新量大

OSPF:开放式最短路径优先协议 无类别链路状态型路由协议

​ 公有协议;跨层封装到IP报头,协议号89;

​ 组播更新:224.0.0.5 224.0.0.6

​ 触发更新、周期更新(30min);

​ 需要结构化的部署:区域划分 地址规划

一、OSPF协议的数据包:

1、 数据包结构

image-20220720173226274

2、 数据包种类

014G_165

Hello:用于邻居、邻接 发现、建立、保活 hello time 默认10s或30s

DBD:数据库描述包

LSR:链路状态请求

LSU:链路状态更新

LSack:链路状态确认

二、状态机

Down:一旦本地发出hello包进入下一个状态

Init:初始化 收到的hello包若存在本地的RID进入下一个状态

2way:双向通讯 邻居关系建立的标志

条件匹配:点到点网络将直接进入下一个状态; MA网络类型将进行DR/BDR选举,非DR/BDR间将无法进入下一状态;

Exstart:预启动 使用类似hello的DBD进行主从关系的选举,RID大为主优选进入下一状态

Exchange 准交换 使用真正的DBD进行数据库目录的共享,需要使用ACK确认

Loading 加载 使用LSR/LSU/LSAck来获取未知的LSA信息;

Full转发 邻接关系建立的标志

LSA:链路状态通告,在不同的网络条件下将产生不同类别的LSA信息来代表拓扑或者路由条目;

LSDB:链路状态数据库 装载和存储所有各种类别的LSA;

三、OSPF的工作过程

​ OSPF协议启动后,A向本地所有启动了OSPF协议的直连接口组播224.00.5发送hello包;本地hello包中携带本地的全网唯一的router-id;之后对端B运行OSPF协议的设备将回复hello包,该hello包中若携带了A的routerid,那么A/B建立为邻居关系;生成邻居表;

​ 邻居关系建立后,邻居间进行条件匹配,匹配失败就停留于邻居关系,仅hello包周期保活;条件匹配成功可以开始建立邻接关系:

​ 邻接间共享DBD包,将本地和邻接的DBD包进行对比,查找到本地没有的LSA信息目录;之后使用LSR来询问,对端使用LSU应答具体的LSA信息,之后本地再使用ack确认,可靠;

​ 该过程完成后,生成数据库表;再之后本地基于数据库表,启用SPF选路规则,计算到达所有未知网段的最短路径,然后加其加载到本地的路由表中;收敛完成,hello包周期保活,每30min再周期收发一次DBD来判断和邻接间数据库是否一致;

结构突变:

1、 新增网段 直连新增网段的设备,将直接使用LSU包来告知本地所有邻接,之后邻接传邻接扩散到全网,需要ACK确认

2、 断开网段 直连断开网段的设备,将直接使用LSU包来告知本地所有邻接,之后邻接传邻接扩散到全网,需要ACK确认

3、 无法沟通 dead time 为hello time 的4倍;当dead time到时时,断开邻居关系,删除通过该邻接生成的路由条目;

四、OSPF的基础配置

[r1]ospf 1 router-id 1.1.1.1 启动时,需要定义进程号;进程号仅具有本地唯一性; 建议同时配置全网唯一的router-id;

选举规则 —
  1. 手动配置OSPF路由器的Router ID(建议手动配置)
  2. 如果没有手动配置Router ID,则路由器使用Loopback接口中最大的IP地址作为Router ID
  3. 如果没有配置Loopback接口,则路由器使用物理接口中最大的IP地址作为Router ID
宣告:ospf协议在宣告的同时需要进行区域划分

区域划分规则:

1、星型拓扑结构,区域0为中心骨干区域,其他大于0为非骨干站点区域;

2、必须拥有ABR–区域边界路由器

[r2-ospf-1]area 0 先进入区域,之后再该区域内宣告属于该区域的接口,宣告时必须携带反掩码

[r2-ospf-1-area-0.0.0.0]network 12.1.1.2 0.0.0.0

[r2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0

[r2-ospf-1-area-0.0.0.0]q

[r2-ospf-1]area 1

[r2-ospf-1-area-0.0.0.1]network 23.1.1.1 0.0.0.0

启动配置完成后,邻居间收发hello包,建立邻居关系;生成邻居表:

[r2]display ospf peer

[r2]display ospf peer brief

邻居、邻接关系的发现、建立、保活均依赖hello包进行;

Hello包中邻居间必须完全一致的参数:任意参数不同,均导致邻居关系无法建立

1、 子网掩码(华为)发送hello包接口的源ip地址其掩码

2、 Hello dead time – OSPF接口网络类型相关

3、 认证字段 – 更新安全

4、 区域ID – 要求区域间存在ABR

5、末梢区域标记 --特殊区域

image-20220720173702303

​ 邻居关系建立后,邻居间进行条件匹配,匹配成功者间可以建立为邻接关系;

​ 邻接关系间将使用DBD包进行主从关系选举,之后由主优先使用DBD进行数据库目录信息的共享,从而最终基于LSR/LSU/LSAck来获取未知的LSA信息;

​ 当收集到全网的LSA信息后,装载于本地的LSDB(链路状态数据库)–数据库表:

display ospf lsdb

reset ospf process

Warning: The OSPF process will be reset. Continue? [Y/N]:y

关于OSPF,DBD包的几个知识点:

1、DBD包中携带MTU值,要求邻居MTU值必须相同,否则将卡在exstart或exchange状态;

默认华为未开启MTU检测

[r1]interface GigabitEthernet 0/0/1

[r1-GigabitEthernet0/0/1]ospf mtu-enable

2、隐性确认—不使用确认包,而是从设备复制主设备的序列号来确认收到了主的DBD

3、 OSPF标记位 I M MS I为1本地发出的第一个DBD包

​ M为0,表示本地发出的最后一个DBD; MS为1代表主,为0代表从;

数据库建立后,本地基于SPF选路规则,计算到达未知网段最短路径加载于路由表中;

1、 字母

Cisco

O - OSPF, IA - OSPF inter area

​ N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

​ E1 - OSPF external type 1, E2 - OSPF external type 2

O 同一区域内,本地通过拓扑计算所得

O IA 域间路由,ABR通过其他区域的拓扑计算所得路由,然后共享到另一个区域;本地区域另一区域

O E1/2 域外路由 其他协议或其他进程产生后,通过ASBR重发布进入到OSPF协议

ON1/2 NSSA域外路由 其他协议或其他进程产生后,通过ASBR重发布进入到OSPF协议,同时学习到这条路由的设备处于ospf的一种NSSA的特殊区域中

display ospf routing 华为查看

2、 管理距离(华为为优先级)

Cisco设备定义管理距离为110 在华为设备上优先级为10

3、 度量(cost)

开销值 参考带宽/接口带宽 华为设备,环回接口不计算为一段路径;默认的参考带宽为1000M;

优选cost值之和最小路径;

二、 OSPF协议邻居成为邻接关系的条件

在点到点网络中,所有的OSPF邻居将直接建立为邻接关系;

在MA网络中,为了避免大量的重复的LSA更新—因为OSPF需要邻接间进行DBD对比,故没有接口水分割机制;故必须进行DR/BDR选举,非DR/BDR间仅建立邻居关系;—在每一个MA网络中均需要进行一次选举;

选举规则:

1、 优先级 数值大优,默认为1; 若为0为放弃选举;

2、 优先级一致,比较参选接口所有设备的router-id,数值大优;

[r1-GigabitEthernet0/0/1]ospf dr-priority 2

修改参选接口的优先级

切记:DR选举非抢占 ,故在修改优先级后,必须重启参选设备ospf进程来重新选举

  • OSPF邻居表显示了OSPF路由器之间的邻居状态,使用display ospf peer查看。
  • 使用命令行display ospf lsdb查看LSDB表。
  • 使用命令display ospf routing查看OSPF路由表。

image-20220720172347569

image-20220720172431876

Hello报文的主要作用:
  • 邻居发现:自动发现邻居路由器。
  • 邻居建立:完成Hello报文中的参数协商,建立邻居关系。
  • 邻居保持:通过周期性发送和接收,检测邻居运行状态。

ay ospf peer查看。

  • 使用命令行display ospf lsdb查看LSDB表。
  • 使用命令display ospf routing查看OSPF路由表。

[外链图片转存中…(img-2NfnqyuA-1658329857683)]

[外链图片转存中…(img-vhfvdOlD-1658329857685)]

Hello报文的主要作用:
  • 邻居发现:自动发现邻居路由器。
  • 邻居建立:完成Hello报文中的参数协商,建立邻居关系。
  • 邻居保持:通过周期性发送和接收,检测邻居运行状态。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Royyic

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

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

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

打赏作者

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

抵扣说明:

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

余额充值