• 你还不知道OSPF?快来看看OSPF的这些知识点!



    OSPF基原理

    • OSPF(Open Shortest Path First)开放式最短路径优先,基于SPF算法的链路状态路由协议
    • OSPF优点:
      • 路由信息传递与路由计算分离
      • 基于SPF算法(最短路径树)
      • 以“累计链路开销”作为选路参考值

    RIP在大型网络中部署面临的问题

    RIP特性问题
    逐跳收敛 收敛慢,故障恢复时间长
    传闻路由更新机制 缺少对全局网络拓扑的了解
    最多有效跳数为15 环形组网中,使远端路由不可达
    以“跳数为度量” 存在选择次优路径的风险

    OSPF相比于RIP的优化

    RIP问题优化
    收敛慢,故障恢复时间长 收到更新->计算路由->发送更新 ,更改为,收到更新->发送更新->计算路由
    缺少对全局网络拓扑的了解 路由器基于拓扑信息,独立计算路由
    最多有效跳数为15 不限定跳数
    存在选择次优路径的风险 将链路带宽作为选路参考值
    • OSPF中收到路由信息放入DB(数据库)中,将数据库转发给邻居,同时放入协议RIB(路由表),计算路由,再加入RIB(全局路由表)
    • RIP收到路由信息,放入DB中(RIP的DB和协议RIB相同),计算好路由后,放入RIB(全局路由表),再转发给邻居

    OSPF工作过程

    • 邻居建立
    • 同步链路状态数据库
    • 计算最优路径

    邻居建立过程

    • Router-ID用于在自治系统中,唯一标识一台运行OSPF的路由器
      • 如果没有指定Router-ID,会优先从本地的环回口中选择最大的IP地址
      • 如果没有本地环回口地址,会从物理接口中选择最大的IP地址作为Router-ID

    发现并建立邻居

    • 发送Hello报文
    • Hello报文的作用:
      • 邻居发现:自动发现邻居路由器
      • 邻居建立:完成Hello报文中的参数协商,建立令居关系
      • 邻居保持:通过保活机制检测邻居运行状态

    OSPF发现并建立邻居

    • 双方互相发送Hello报文,收到报文后,状态从Down进入Init,然后回复带有邻居Router-ID的Hello报文,邻居收到后,状态进入2-Way,邻居关系建立
    • 维护邻居关系
      • 广播和P2P每间隔10秒互相发送Hello报文,40秒(间隔时间的4倍)未收到Hello报文,就认为邻居出现故障
      • NBMA和P2MP每间隔30秒互相发送Hello报文,120秒未收到Hello报文就认为邻居出现故障
    • Hello报文通过组播(224.0.0.5)发送给其他路由器

    实验1:如下拓扑

    在这里插入图片描述

    • 配置OSPF,并抓包查看报文
    [AR1]int lo 1
    [AR1-LoopBack1]ip ad 1.1.1.1 24
    [AR1-LoopBack1]int g0/0/0
    [AR1-GigabitEthernet0/0/0]ip ad 12.1.1.1 24
    [AR1-GigabitEthernet0/0/0]q
    [AR1]ospf router-id 1.1.1.1
    [AR1-ospf-1]area 0
    [AR1-ospf-1-area-0.0.0.0]net 12.1.1.1 0.0.0.0
    [AR1-ospf-1-area-0.0.0.0]net 1.1.1.1 0.0.0.0
    
    [AR2]int lo 1
    [AR2-LoopBack1]ip ad 2.2.2.2 32
    [AR2-LoopBack1]int g0/0/0
    [AR2-GigabitEthernet0/0/0]ip ad 12.1.1.2 24
    [AR2-GigabitEthernet0/0/0]q
    [AR2]ospf router-id 2.2.2.2
    [AR2-ospf-1]area 0
    [AR2-ospf-1-area-0.0.0.0]net 2.2.2.2 0.0.0.0
    [AR2-ospf-1-area-0.0.0.0]net 12.1.1.2 0.0.0.0
    
    • 报文分析

    请添加图片描述
    请添加图片描述

    链路状态信息

    • 链路状态信息LSA包含的信息:
      • 链路的类型
      • 接口IP地址及掩码
      • 链路上所连接的邻居路由器
      • 链路的带宽(开销)
    • OSPF支持多种网络协议
      • P2P:PPP的网络类型。仅两台路由互联,支持广播和组播
      • 广播:Ethernet-II的网络类型。两台或两台以上的路由器通过共享介质互联,支持广播和组播
      • NBMA:帧中继(FR)的网络类型。两台或两台以上的路由器通过VC互连,不支持广播和组播
      • P2MP:多个点到点的集合,支持广播、组播

    OSPF度量方式

    • 接口的cost=参考带宽/实际带宽
    • 更改cost:
      • 直接在接口下改配置ospf cost 10(接口视图下)
      • 修改参考带宽(所有路由器都要修改,确保选路一致性)

    计算路径开销累加是累加进接口的开销值

    报文类型及作用

    Type报文名功能
    1 Hello 发现和维护邻居关系
    2 Database Description 交互链路状态数据库摘要
    3 Link State Request 请求特定的链路状态信息
    4 Link State Update 发送详细的链路状态信息
    5 Link State Ack 发送确认报文

    LSDB同步过程

    在这里插入图片描述

    • 第一份发出的DD包,不包含LSA的任何信息,用来选举主从
      • I位表示是否为第一个数据包
      • M位表示之后是否还有DD包
      • MS位为1表示为主,为0表示为从(通过比较Router-ID,大的为主)

    在这里插入图片描述

    • RTB中的路由信息如果RTA中没有,RTA会发送LSR请求报文,获取STB中的RTA没有的路由信息,RTA的路由信息RTB都有,RTB则直接进入Full
    • RTB收到RTA的请求报文,会把RTB中没有的路由信息放在LSU中,发送给RTA
    • RTA收到LSU后,更新自己的路由信息表,恢复LSAck报文确认
    • Full表示邻接关系建立成功

    DR与BDR的选举与作用

    • 邻接关系个数=[n*(n-1)]/2

    DR与BDR的作用

    • 减少邻接关系
    • 降低OSPF协议流量

    DR与BDR选举

    • DR与BDR的选举是基于接口
    • 接口的DR优先级越大越优先
    • 接口的DR优先级相等时,Router-ID越大越优先

    更改网络类型ospf network-type p2p

    OSPF域内路由

    Router-LSA

    描述P2P网络

    在这里插入图片描述

    描述MA网络或NBMA网络

    在这里插入图片描述

    Network-LSA

    在这里插入图片描述

    • display ospf lsdb router查看一类LSA
    • display ospf routing查看协议路由表

    SPF计算

    • 构建SPF树
      • 根据Router-LSA和Network-LSA中的拓扑信息,构建SPF树干
    • 计算最优路由
      • 基于SPF树干和Router-LSA、Network-LSA中的路由信息,计算最优路由

    OSPF域间路由

    区域间路由传递

    Network-Summary-LSA

    在这里插入图片描述

    • 三类LSA是由ABR(边界路由器)产生的,用来描述区域间的路由信息
    • 三类LSA是在区域内泛洪,
    • 为本区域产生一条相邻区域的三类LSA

    区域间路由防环

    • 非骨干区域必须与骨干区域相连
    • ABR收到非骨干区域的LSA不做计算
    • 三类LSA传递规则

    虚连接Vlink

    • 进入OSPF进程ospf 1
    • 进入中间区域area 1
    • 虚连接vlink-peer 对端的Router-ID

    OSPF外部路由

    外部路由引入

    • 命令:import-route static

    AS-External-LSA

    在这里插入图片描述

    • ASBR产生,在整个OSPF域内泛洪
    • 引入外部路由,一条AS External LSA只能宣告一条外部路由

    ASBR-Summary-LSA

    在这里插入图片描述

    • ABR产生,在区域内泛洪
    • 告诉其他设备如何去往ASBR
    • 通告到ASBR的开销

    外部路由类型

    TypeCost
    第一类外部路由 AS内部开销值+AS外部开销值
    第二类外部路由 AS外部开销
    • 默认为第二类外部路由
    • 第二类会先比较外部开销,外部开销相同,会比较内部开销
    • 第二类会可能会造成次优路径
    • External-Type1的优先级高于External-Type2(Type1比Type2更精确)

    次优路径

    Forwarding Address

    • 字段为0
    • 字段非0时,接口类型不能为P2P或P2MP接口、不能是静默接口、ASBR设备到达目的网段的下一跳地址所在网段被发布在OSPF中
    • 静默接口:不再收发报文
    • 当三个条件都成立时,FA字段为非零,字段为ASBR到达目的网段的下一跳的地址

    OSPF特殊区域

    Stub区域和Totally Stub区域

    • 传输区域
    • 末端区域

    Stub区域

    • 配置:区域中的每台设备的OSPF进程下,进入区域,输入stub
    • 不引入外部路由
    • 没有四类、五类LSA
    • 有一条三类的默认路由,有三类的明细路由

    Totally Stub区域

    • 配置:只需要在ABR上配置,进入OSPF进程,进入区域,输入stub no-summary
    • 不能引入外部路由
    • 有一条三类默认路由,没有三类明细、四类、五类LSA,

    NSSA区域和Totally NSSA区域

    NSSA区域

    • 允许外部路由
    • 七类LSA只能在NSSA区域中传递
    • 七类LSA传递给ABR,ABR转换为五类LSA,进行OSPF全区域泛洪
    • 有三类的默认路由、明西路由

    Totally NSSA区域

    • 没有三类明细路由,有一条三类的默认路由

    总结

    LSA类型通告路由器LSA内容传播范围
    Router LSA(Type-1) OSPF Router 拓扑信息、路由信息 本区域内
    Network LSA(Type-2) DR 拓扑信息、路由信息 本区域内
    Network-Summary-LSA(Type-3) ABR 域间路由信息 非Totally Stub区域(区域内)
    ASBR-Summary-LSA(Type-4) ABR ASBR的Router ID以及到ASBR的开销 非特殊区域(区域内)
    AS-External-LSA(Type-5) ASBR 路由进程域外部路由 (非特殊区域)OSPF进程域
    NSSA LSA(Type-7) ASBR NSSA域外部路由信息 (Totally)NSSA区域

    区域间路由汇总和外部路由汇总

    区域间路由汇总

    • 配置:在边界路由器,进入OSPF进程,进入区域,输入abr-summary 172.16.0.0 255.255.248.0

    外部路由汇总

    • 配置:在ASBR上,进入OSPF进程,输入bsbr-summary 172.17.0.0 255.255.248.0

     

    以上内容均属原创,如有不详或错误,敬请指出。
    
    本文作者: 坏坏
  • 相关阅读:
    百度地图js lite api 支持点聚合
    看源码积累知识点
    React 16 源码瞎几把解读 【三 点 二】 react中的fiberRoot
    React 16 源码瞎几把解读 【三 点 一】 把react组件对象弄到dom中去(矛头指向fiber,fiber不解读这个过程也不知道)
    React 16 源码瞎几把解读 【二】 react组件的解析过程
    获得BAT技术专家Offer,他到底做了什么?
    Android 日常开发总结的技术经验
    理解Android虚拟机体系结构
    Android开发人员应该选择哪种语言?
    2019年Android岗位BAT等大厂面试题,希望对新的一年的你有所帮助
  • 原文地址:https://www.cnblogs.com/bad5/p/13022659.html
Copyright © 2020-2023  润新知