当前位置: 首页 > article >正文

HCIA --- 动态路由协议之OSPF

Ospf:开放式最短路径优先协议 

无类别链路状态igp协议;周期更新(30min)+触发更新;链路状态协议的更新量随着网络范围的扩展指数性的上升,因此ospf协议为了在中大型网络中工作,需要结构化的部署-区域划分、合理ip地址规划;组播更新--- 224.0.0.5 224.0.0.6

一、Ospf的5种数据包

Hello:邻居的发现,关系的建立;周期(10s)的保活   携带rid    

Dbd:数据库描述包;本地数据库目录

Lsr:链路状态请求

Lsu:链路状态更新

Lsack:链路状态确认

Lsa:链路状态,具体一条一条路由信息或拓扑信息;但它不是一个包,是被lsu数据包来携带;

二、Ospf的7个状态机

Down:一旦接收到的hello 包,进入下一个状态机

Init 初始化:一旦接收到的hello包中,存在本地的rid,进入下一个状态

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

关注条件:

Exstart 预启动:使用不携带目录信息的DBD包,进行主从关系的选举;rid大为主,优先进入下一                             个状态;解决了目录共享时的无序;

Exchange 准交换:使用携带目标信息的dbd包,共享本地数据库目录;

loading加载:查看完邻接的dbd信息后,对比本地,然后基于本地未知的lsa进行查询;

                        使用lsr 向对端查询,对端使用lsu来传输这些lsa信息,本地收到后需要

                        lsack来进去确认;

Full:邻接关系建立的标志;  意味着邻接间,数据库同步(一致)

三、Ospf的工作过程

启动配置完成后,邻居间开始收发hello包;hello包中将携带本地及本地所有已知邻居的rid;之后生成邻居表;邻居间需要关注是否可以成为邻接的条件;若不能建立为邻接,将保持为邻居关系,仅hello包周期保活即可;

若可以建立邻接关系;将使用DBD进行本地数据库目录的对比;之后基于对比的结果,使用LSR/LSU/LSack来获取本地未知的LSA信息;使邻接关系间数据库(lsdb)完成同步(一致),生成数据库表;

之后本地基于lsdb,使用spf算法,生成有向图—>最短路径树——>计算本地到达所有未知网段的最短路径,将其加载到本地路由表中;收敛完成;

收敛完成后,邻居和邻接关系间均hello每10s保活;每30min一次邻接关系间周期数据库比对,保障一致;

结构突变:

  1. 新增网段
  2. 断开网段
  3. 无法沟通:dead time 为hello time的4倍;在4次周期内未收到对端的hello包,将断开与其邻居关系;删除通过该邻居计算所得路由;

lsdb:链路状态数据库 – 所有lsa的集合

四、Ospf基础配置

[r1]ospf 1 router-id 1.1.1.1  

启动时可以定义进程号、RID;默认进程1,RID--格式为IPV4地址,全网唯一; 手工--》环回接口最大数值--》物理接口最大数值

[r1-ospf-1]

宣告的作用:1、激活-- 可以收发ospf的信息 

                     2、被选中接口的拓扑信息可以共享给邻接

                     3、区域划分

[r1-ospf-1]area  0

[r1-ospf-1-area-0.0.0.0]network  1.1.1.1 0.0.0.0

[r1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255

ospf在宣告时,需要使用反掩码,来匹配宣告的地址范围

区域划分规则:

  1. 星型结构 --- 编号0骨干区域(中心),大于0为非骨干区域(分支)

                非骨干区域必须直连骨干区域;

    2、必须存在ABR --- 区域边界路由器  两个区域间互联的设备

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

[r2]display  ospf peer  查看邻居关系

[r2]display  ospf peer  brief   查看邻居简表

邻居关系建立后,关注条件;匹配失败,保持为邻居关系,仅hello包周期保活;匹配成功可以建立为邻接(毗邻)关系;邻接关系间,将使用DBD/LSR/LSU/LSack来获取本地未知的LSA信息;完整本地的LSDB (数据库表);

[r2]display  ospf lsdb

当数据库同步完成后;本地基于SPF算法,将数据库转换为有向图,再将有向图转换为树型结构;之后基于树形结构,以本地为起到到达所有未知网段的最短路径,加载到路由表中;

<r1>display  ip routing-table protocol  ospf  查看ospf路由

优先级为10;度量为cost值 ; cost值=开销值  

Ospf cost =  参考带宽/接口带宽     默认参考带宽为100M

ospf优选cost值之和最小,为最佳路径;若两条链路cost值之和相同,等开销负载均衡;

若接口带宽大于参考带宽,cost为1;将可能导致选路不佳;建议修改默认的参考带宽:

[r1]ospf 1

[r1-ospf-1]bandwidth-reference ?

  INTEGER<1-2147483648>  The reference bandwidth (Mbits/s)

[r1-ospf-1]bandwidth-reference 1000

切记:若修改参考带宽,全网需修改的一致;

五、扩展配置

1、DR/BDR选举

邻居成为邻接关系的条件;与网络类型有关;

网络类型:

点到点--在一个网段内只能存在两个节点 -- 串线链路

MA--多路访问-在一个网段内的节点数量不限制;不是当下连接了几个节点;而是该网络类型允许最终连接多个节点;--以太网

点到点网络邻居关系直接成为邻接关系;在MA网络中,将进行DR/BDR选举;在一个网段中仅DR/BDR与其他路由器为邻接关系;非DR/BDR之间为邻居关系;

选举规则:

1、先比较该网段所有参选设备接口的优先级,越大越优;

        默认优先级为1;取值范围0-255,0标识不参选

2、若所有参选者优先级相同,比较参选设备的RID,数值大优;

干涉选举:

1、DR优先级最大,BDR次大 -- 切记ospf的选举是非抢占性的;故在修改完优先级后,需要所有路由器重启OSPF进程;

[r2]interface GigabitEthernet 0/0/0

[r2-GigabitEthernet0/0/0]ospf dr-priority  3  修改接口优先级

<r1>reset ospf process   重启ospf进程

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

2、DR优先级修改为最大,BDR次大;其他设备修改为0;无需重启进程

2、区域汇总

OSPF协议不支持接口汇总;只能在ABR上将a区域拓扑计算所得路由,共享给B区域时进行汇总;

[r2]ospf 1

[r2-ospf-1]area  0

[r2-ospf-1-area-0.0.0.0]abr-summary 1.1.0.0 255.252.0.0

R2为一台连接区域0和其他区域的ABR;以上操作为,R2将通过区域0学习到的拓扑计算所得的路由,传递给其他区域时进行汇总,汇总网段1.1.0.0/22

3、被动接口(沉默接口)

仅接收不发送路由协议信息;用于连接用户终端的接口,不得用于连接邻居路由器的接口,否则无法建立邻居关系;

[r2]ospf 1

[r2-ospf-1]silent-interface GigabitEthernet 0/0/0

4、认证(接口认证)

在直连邻居或邻接的接口上配置,保障更新的安全

[r1-GigabitEthernet0/0/1]ospf authentication-mode md5  1 cipher 123456

模式、编号、密码要求邻居间一致

5、加快收敛

邻居间计时器  10s hello time  40s dead time  

邻居间,修改本端的hello time,本端的dead time自动4被关系匹配;但ospf中邻居间的hello time和dead time必须完全一致,否则无法建立邻居关系;

[r1]interface GigabitEthernet 0/0/0

[r1-GigabitEthernet0/0/0]ospf timer  hello 5

6、缺省路由

边界路由器上配置后,将自动向内网下放一条缺省路由,之后内网设备将自动生成缺省路由指向边界

[r4]ospf 1

[r4-ospf-1]default-route-advertise always


http://www.kler.cn/a/103810.html

相关文章:

  • unity脚本_Mathf和Math c#
  • 网工内推 | 应届、大专可投,IE认证优先,有年终奖、带薪年假
  • vue重修之路由【上】
  • [AutoSar NVM] 存储架构
  • python造测试数据存到excel
  • Web前端-Vue2+Vue3基础入门到实战项目-Day5(自定义指令, 插槽, 案例商品列表, 路由入门)
  • Spring Boot发送邮件
  • TLSF内存管理算法原理详解
  • 二、PHP基础学习[变量]
  • 实现基于 Jenkins 的多服务器打包方案
  • springmvc http请求,支持get,post,附件传输和参数传输
  • Ansible简介
  • 超好用的数据可视化工具推荐,小白也适用!
  • GaussDB数据库管理系统介绍
  • 微信小程序投票管理系统:打造智能、便捷的投票体验
  • 【Node.js】暴露自定义响应头和预检请求的时机
  • 概率论_概率公式中的分号(;)、逗号(,)、竖线(|) 及其优先级
  • NFT Insider112:The Sandbox聘请Apple高管担任其首席内容官,YGG 将在菲律宾举办Web3游戏峰会
  • 【C++面向对象】8. 继承
  • 01.MySQL(SQL分类及使用)