OSPF(开放式最短路径优先协议)

    • Open Shortest Path First(开放式最短路径优先协议)
    • OSPF是一种链路状态路由协议,在RFC 2328中描述;
    • Open意味着公有,任何厂商都能支撑OSPF,目前业内使用最广泛的IGP;
    • 在华为设备上,OSPF协议优先级Internet 10(内部),External(外部) 150;
    • 路由器之间交互的是链路状态信息,而不是直接交互路由;
    • 每台OSPF路由器都知晓网络拓补结构,采用SPF算法计算达到目的的最短路径;
    • 支持VLSM,支持手工路由汇总;

 

基本特点:

      • 适应范围广:支持各种规模的网络
      • 快速收敛:在网络的拓补结构发生变化后立即发送更新报文,使这一变化在自治系统中同步。
      • 无自环:使用SPF最短路径树算法进行路由计算,不会产生环路。
      • 区域划分:允许网络被划分区域来管理,链路状态数据库仅需和区域内其他路由器保持一致。减小对路由器内存和CPU的消耗。同时区域间传送的路由信息减小,降低网络宽带占用。
      • OSPF基于IP,协议号为89,采用组播方式交换OSPF包。OSPF组播地址:224.0.0.5(全部OSPF路由器)和224.0.0.6(指定路由器)。OSPF使用链路状态广播(Link State Advertisement,LSA)传送给某区域内的所有路由器。
      • 其中OSPFv2用在IPv4网络,OSPFv3用在IPv6网络
      • AS
        • 自治系统(AS)是指使用同一个内部路由协议的一组网络。Internet可以被分割成许多不同的自治系统
      • IGP类别协议
        • 内部网关协议(Interior Gateway Protocol,IGP)在同一个自治系统内交换路由信息。IGP的主要目的时发现和计算自治域内的路由信息。IGP使用的路由协议有RIP、OSPF、IS-IS、EIGTP、IGRP
      • EGP类别协议
        • 外部网关协议(Exterior Gateway Protocol,EGP)是一种连接不同自治系统的相邻路由器之间交换路由信息的协议。EGP使用的路由协议有BGP
      • 链路状态路由协议
        • 链路状态路由协议基于最短路径优先(SPF)算法。该路由协议提供了整网的拓补视图,根据拓补图计算到达每个目标的最优路径;当网络发生变化时出发更新,发送周期性更新链路状态通告,不是相互交换各自的整张路由表
      • 区域(Area)
        • OSPF是分层路由协议,每个AS中,网络被分为不同的区域,每个区域拥有特定的标识符。OSPF的区域中必须包含Area 0,其他区域必须连接Area 0。不能连接Area 0的区域需要通过**虚链路**,通过中间区域连接。

 

 

OSPF的5类报文:

OSPF使用IP包头封装了5类报文,用来交换链路状态广播(LSA)

      1. Hello, 建立邻居关系
      2. 数据库描述(DD或DBD)消息,链路状态数据库描述信息(描述LSDB中的LSA头部信息)
      3. 链路状态请求(LSR)消息,向OSPF邻居请求链路状态信息
      4. 链路状态更新(LSU)消息,包含一条或多条LSA

链路状态应答(LSAck)消息,多LSU中的LSA进行确认

点对点网络上默认的Hello报文的发送间隔时间是10秒(每10s发送一次

NBMA网络中每30s发送一次

默认的无效时间间隔是Hello时间间隔的4

LSA30分钟重传1

 

工作过程:

      • LSAs泛洪
        运行链路状态路由协议的路由器,彼此间交互的部署路由信息,而是LSA(链路状态通告)。
      • 什么是链路(LINK):路由器接口:如10M、1.54M
      • 什么是状态(State):描述接口及其邻居路由器之间的关系
      • 构建LSDB(LSDB:链路状态数据库)
        每台路由器将搜集到的LSAs放入自己的LSDB存储起来。有了LSDB,路由器相当于掌握了全网的拓补。
      1. SPF计算(最短路径算法)
        每台路由器基于LSDB,使用SPF进行计算,得到一个以自己为根、覆盖全网的一个无环的树。
      2. 维护路由表
        每台路由器根据SPF计算结果,加载如路由表。

 

工作流程:

  1. 启动OSPF进程的接口,发送Hello消息
  2. 交换Hello消息建立邻居关系
  3. 每台路由器对所有邻居发送LSA
  4. 路由器接收邻居发过来的LSA并保存在LSDB中,发送一个LSAcopy给其他邻居
  5. LSA泛洪扩散到整个区域,区域内所有路由器都会形成相同的LSDB
  6. 当所有路由器的LSDB完全相同时,每台路由器将以自身为根,使用最短路径算法算出到达每个目的地的最短路径
  7. 每台路由通过最短路径构建出自己的路由表,包含区域内路由(最优)、区域间路由、E1外部路由和E2外部路由

 

OSPF区域概念

单区域存在问题:

      • LSA泛洪严总,OSPF路由器的负担很大
      • 区域内部动荡会引起全网路由器的SPF计算
      • LSDB庞大,资源消耗过多,设备性能下降,影响数据转发
      • 每台路由器都需要维护的路由表越来越大,单区域内路由无法汇总

 

OSPF多区域

      • 所有非骨干区域必须与骨干区域直连
      • 减少了LSA泛洪范围,有效把拓补变化控制在区域内,达到网络优化的目的
      • 在区域边界可以做路由汇总,减小了路由表
      • 充分利用OSPF特殊区域的扩展性,进一步减少LSA泛洪,从而优化路由
      • 多区域提高了网络的扩展性,有利于组件大规模网络

 

OSPF基础配置

      • 创建OSPF进程,并指定OSPF进程号及RouterID
        [Router]ospf[process-id|router-id router-id]
      • 在area0中宣告指定接口
        [Router] area area-id
        [Router] network ip-address wildcard-mask

通配符掩码:wildcard-mask

通配符是一个用于决定哪些IP地址该精确匹配(0代表需要匹配、1代表无所谓)哪些地址被忽略的32为数值。

通常用于访问控制列表(ACL)、OSPF路由协议通告。

可以理解为反掩码

例如:0.0.0.255代表前24为子网掩码必须匹配ip-address

 

RIP和OSPF的区别

    1. RIP使用距离矢量算法,通过学习其他路由器发送的路由表信息,生成路由表。OSPF首先获取全网拓补信息,然后利用SPF最短路径优先(也叫Djkstra)算法,生成路由表
    2. RIP一般适用于小型网络,OSPF适用于中大型网络。
    3. RIP和OSPF都是动态路由协议,可以根据拓补变化更新路由表。RIP配置简单,功能也相对简单,收敛速度慢,容易形成环路。OSPF支持层次化组网、网络优化、等价负载均衡、报文加密的功能。
    4. RIP支持路由自动汇总,OSPF不支持路由自动汇总;OSPF只能在ASBR和ABR手工汇总

 

 

链路状态协议与距离矢量协议

    • 链路状态协议
      • OSPF
        • 在ABR执行路由汇总:对域间的路由执行汇总
        • 在ASBR执行路由汇总:对引入的外部路由执行路由汇总
posted @   让我读个条  阅读(187)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示