引入

OPSF是应用最广的路由协议,基本上,所有的IGP用到的都是OSPF,下面我们看看它的“小秘密”

优点:

•没有跳数限制

•使用组播更新变化的路由和网络信息

•路由收敛速度较快

•以开销(Cost)作为度量值

•采用的SPF算法可以有效的避免环路

•在互联网上大量使用,是运用最广泛的路由协议

工作原理

邻居表建立、建立LSA树、LSDB表建立、路由表

OSPF个区域之间通信必须经过区域0

1.邻居发现:以224.0.0.5组播的方式发送Hello报文发现邻居

2.生成自己LSA信息,包含接口状态、链路开销、IP地址和掩码

3.同步LSDB,也就是相互交换LSA

4.用SPF算法计算路由,以自己为节点计算最短路径树

环路避免

区域内采用SPF算法,树型拓扑,避免环路;
区域间采用星型拓扑,避免环路;

分区结构

不同区域之间通信必须通过骨干区域通信,就算两个区域直连也无法通过OSPF通信;

边界路由器之间采用路由汇总,减少地址震荡的影响;
减少区域内的LSDB中的链路状态信息,这样就减少了对设备性能的要求;

路由器类型

区域内路由器(Internal Router):路由器全部接口处于一个区域内;

区域边界路由器(ABR,Area Border Router):连接骨干区域和非骨干区域的路由器;

骨干路由器(BR,Backbone Router):有接口在骨干区域的路由器;

自治系统边界路由器(ASBR,Autonomous System Border Router ):连接不同协议的路由器;

Route ID

运行OSPF必须得有,32位无符号比特,可以手工配置也可以,自动生成;

自动生成规则: 1、有Loopback接口,选最大的位Route ID

2、不管IP接口是否UP,选IP地址最大的为Route ID(思科、锐捷选UP接口中IP地址最大的)

网络类型

Broadcast(广播型网络),可以用组播224.0.0.5和224.0.0.6发送协议报文

以太网和FDDI时使用

*NBMA (Non-Broadcast Multi-Access,非广播多点可达网络),帧中继和ATM

*P2MP(Point-to-MultiPoint,点到多点)

P2P(Point-to-Point,点到点),PPP,HDLC链路层协议,组播224.0.0.5

报文类型

报文类型

作用

Hello

建立邻居关系

Database Description(DD或DBD)

包含LSDB中的LSA的所有数据

Link State Request(LSR)

收到DBD后跟自己的数据库比较
然后请求自己没有的链路状态或
者比自己更新的详细信息

Link State Update (LSU)

链路状态更新信息,回应Resquest

Link State Acknowledge(LSAck)

对LSU报文进行确认

OSPF被IP协议封装不在TCP层封装怎么保证可靠性

1.Hello:运行OSPF后会在区域不断发送Hello包
2.DDB:设置序列号保证可靠性
3.LSR:发送LSR报文后需要得到LSU回应,如果超时没有收到则继续发送LSR

4.LSU:LSAck确认报文

DR/BDR选举

只有在广播型网络和NBMA网络采用DR选举

1.首先比较Hello报文中携带的优先级优先级最高的被选举为DR,优先级次高的被选举为BDR-------优先级为0的不参与选举

2.优先级一致的情况下,比较Router IDRouter ID越大越优先

保持稳定原则当DR/BDR已经选举完毕,就算一台具有更高优先级的路由器变为有效,也不会替换该网段中已

经选举的DR/BDR成为新的DR/BDR。

选举DR过于浪费时间,一般采用点到点网络代替以太网把连接改成p2p节省时间

邻接关系建立过程

1.在邻居失效时间里面没有收到Hello包,为Down(稳定状态)

路由器互相发送Hello包发现自己不在邻居表中,进入Init状态

2.双方相互发送Hello包,收到Hello包后确认对方在邻居表中,进入2-way(稳定状态)

3.接着发送空的DBD包,比较Route ID,进入ExStart(确定主从关系)

4.交换DBD报文,进入Exchange

5.双方比较DBD报文和自己LSDB的信息,进入Loading,发现DBD有自己没有LSA放LSR请求

6.接收方接收到LSR,然后发送LSU

7.发送方接收LSU,同步完发送LSAck,进入Full

LSDB更新:

老化机制,默认1h,若该LSA在1h内没有更新则丢弃

默认情况,0.5h会刷新一次所有LSA,LSA序列号加1,刷新老化时间

 

补充说明

三种路由实现控制流量配置方法

静态路由

RIP

OSPF

配置优先级

配置掩码

设置开销

走过路过,点个三连,十分感谢

一起学习,一起进步

技术交流:QQ---1740602259

“路由大当家”OSPF的小秘密的更多相关文章

  1. 数据路由通信--ospf复习

    数据路由通信--ospf 复习 ospf 复习 今天来回顾一下ospf ospf全名叫做开放式最短路径优先协议,它是一种基于链路状态的内部网关路由协议.ospf支持区域的划分,内部的路由器使用spf最 ...

  2. CISCO 动态路由(OSPF)

    OSPF(开放式最短路径优先):是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由.是对链路 ...

  3. 浅谈-动态路由之OSPF的理解

    路由 在网络中,路由相当于就是一张地图,让路由器知道这个对应的IP数据包应该往哪端口.网段走:而这个"地图"我们称之为路由表,不同的目的IP路由表的下一个跳也不同,其生成方式有又有 ...

  4. 关于ros里ppp拨号隧道比如pptp,l2tp,sstp等等,造成多条路由,ospf的时候需要汇总为一条宣告的解决方案

    官方解决方案: https://wiki.mikrotik.com/wiki/OSPF_and_PPPoE_Setup 实际解决步骤: So to get rid of /32 routes * on ...

  5. RIP、OSPF、BGP、动态路由选路协议、自治域AS

    相关学习资料 tcp-ip详解卷1:协议.pdf http://www.rfc-editor.org/rfc/rfc1058.txt http://www.rfc-editor.org/rfc/rfc ...

  6. CCNP路由实验(2) -- OSPF

    OSPF作为一种内部网关协议(IGP),用于在同一个AS中的路由器之间交换路由信息.OSPF的特性如下:1.可适应大规模网络2.收敛速度快3.无路由环路4.支持VLSM和CIDR5.支持等价路由6.支 ...

  7. OSPF的特征、术语、包类型、邻居关系的建立、RID的选择、DR和BDR的选举、度量值的计算、默认路由、验证

    链路状态路由协议OSPF的特征.术语.包类型.邻居关系的建立.RID的选择.DR和BDR的选举.度量值的计算.默认路由.验证等. 文章目录 [*1*].链路状态路由协议概述 工作过程 优缺点 [*2* ...

  8. 静态路由、RIP、OSPF、BGP

      主要内容包含以下四点:(1)静态路由 (2)动态路由 (3)生成树 (4)VLAN 1.  什么是静态路由? 答:静态路由是管理人员手动配置和管理的路由 2.  静态路由由那些优点? 答:配置简单 ...

  9. 动态路由 - OSPF 一文详解

    动态路由 在之前的文章中,介绍了基于距离矢量的路由协议.而在今天这这一部分中会主要讲解链路状态的路由协议,对于动态的路由协议来说,需要具备如下的能力: 发现远端网络 路由器可以直接获得直连路由,这是由 ...

随机推荐

  1. Kafka和SpringBoot

    事先必备: kafka已安装完成 1.目录结构 2.父pom <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns ...

  2. Android Studio中如何使用自定义的framework库

    在安卓app开发中,通常不会遇到需要使用自定义framework库的情况,使用的都是标准的内核库.但也有例外,比如针对定制化的ROM,ROM厂商可能在ROM中对安卓源码做过修改,对应用层app暴露出与 ...

  3. asp.net core 3.1 自定义中间件实现jwt token认证

    asp.net core 3.1 自定义中间件实现jwt token认证 话不多讲,也不知道咋讲!直接上代码 认证信息承载对象[user] /// <summary> /// 认证用户信息 ...

  4. Android Spinner的简单用法。

    今天学到的是spinner,就是下拉列表,这可不是ExpandListView哈. 闲话不解释.这是控件,所以先上布局:就不上线性布局了,基本上可以总结出,控件都得在布局里写,写之前嵌个布局就行. & ...

  5. Python最全pdf学习书籍资料分享

    本人学习Python两年时间,期间统计了一些比较好的学习资料 1.基础资料  下载地址: 链接:https://pan.baidu.com/s/1sjtyYayBbQLsrUdaXWmzkg提取码:1 ...

  6. Mac 系统更新怎么忽略

    1.在“终端”命令行中输入以下命令: sudo softwareupdate --ignore “macOS Catalina” 2.按回车键,然后输入管理员密码*,然后再次按回车键,以超级用户权限执 ...

  7. dom4j解析xml时报出文件提前结束

    在写javaweb小项目的时候,用dom4j解析xml报出如下错误: org.dom4j.DocumentException:Error    .......    Nested exception: ...

  8. JavaScript 回调函数的简单示例

    回调函数 回调函数也被称为高阶函数 所谓高阶函数,就是说值 函数作为参数被传递或者返回值输出 操作函数的函数称为 高阶函数 把一段可执行的代码(一个函数)作为参数传递给其他的代码(另一个函数),并在需 ...

  9. Homekit_Dohome_月球灯

    此款月球灯可以使用Homekit或者Dohome App进行有效的智能控制,支持多种色彩和亮度调节,功能强大,有兴趣的可以去以下链接看看: https://item.taobao.com/item.h ...

  10. C#图解教程(第四版)—02—类的基本概念

    类  是一种能 存储数据  并且  执行代码  的数据结构,他包含数据成员和函数成员 .成员可以是9种可能的成员类型的任意组合 字段 属性 方法 常量 构造函数 析构函数 运算符 索引器 事件 1 字 ...