• OSPF笔记


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

    使用范围:IGP

    协议算法特点:链路状态型路由协议,SPF算法

    协议是否传递网络掩码:传递网络掩码

    协议封装:基于ip协议封装,协议号为89

    一,ospf特点

    1.ospf是一种典型的链路状态型路由协议

    2.传递信息称作LSA,LSA链路状态通告,包含路由信息和拓扑信息

            路由LSA:描述本路由器上接口的路由信息

            拓扑LSA:描述路由器之间的连接状态

    3.更新方式:触发更新+30分钟的链路状态刷新

    4.更新地址:组播和单播更新,组播地址:224.0.0.5(all spf router)  224.0.0.6(all dr router)

    5.支持路由认证

    6.支持手工汇总

    7.支持区域划分

    8.ospf比较消耗设备资源

    二,ospf区域

    区域划分的意义

            1.减少LSA的数量

            2.减少LSA的传播范围

    区域的划分是基于接口的(链路的)

    区域的标记:使用32个二进制,类似于ip地址

    区域的分类

            骨干区域:区域标记为0或0.0.0.0

            非骨干区域:区域标记不等于0或0.0.0.0

    区域设计原则:向日葵型网络结构

            1.ospf网络中必须存在并唯一的骨干区域(单区域除外)

            2.若存在非骨干区域,非骨干区域必须与骨干区域直接相连

            3.非骨干区域之间不允许直接相连相互发布区域间路由

    ospf中路由器的角色

            骨干路由器(BR)

            非骨干路由器

            区域边界路由器(ABR):骨干和非骨干之间的路由器

            自治系统边界路由器(ASBR):能够产生5类或7类LSA的路由器,把非ospf路由引入ospf中

    三,ospf消息数据包

    1.hello数据包

            周期性发送,周期时间10s或30s(根据不同的网络类型默认10s或30s)

            目的:建立并维持ospf邻居关系

    2.DBD:数据库描述数据包

            主从选举DBD:比较双方的router-id,router-id大的一方为主(master),小的一方为从(slave);主用于控制LSA的交互

    3.LSR:链路状态请求,按照DBD报文的未知LSA头部进行请求

    4.LSU:链路状态更新,携带LSA信息

    5.LSACK:链路状态确认

    四,ospf邻居状态机制

    1. Down(失效)状态:这是初始状态,表示尚未收到邻居的任何信息。
    2. Attempt(过渡)状态:特殊网络条件才有的状态,不支持广播网路
    3. Init(初始化)状态:本路由器已经从邻居收到了 Hello 报文,但报文中未列出本路由器的 Router ID。
    4. 2-Way(双向通信)状态:本路由器在收到的 Hello 报文中看到了自己的 Router ID,表明双方可以双向通信。如果是在广播型网络或 NBMA 网络中,此时还需要选举 DR(指定路由器)和 BDR(备份指定路由器)。
    5. ExStart(预启动)状态:路由器开始协商主从关系,并确定用于交换数据库描述(DBD)报文的初始序列号。
    6. Exchange(交换)状态:路由器使用 DBD 报文来描述自己的链路状态数据库,并向邻居请求缺失或更新的 LSA(链路状态通告)。
    7. Loading(加载)状态:路由器根据收到的 LSR(链路状态请求)报文,向邻居发送 LSU(链路状态更新)报文来提供所需的 LSA 信息。
    8. Full(完全邻接)状态:路由器的链路状态数据库已经与邻居同步,邻居关系建立完成,可以进行路由计算和数据转发。

    邻居关系建立条件:

    1. router-id 必须不同每台 OSPF 路由器都需要有唯一的 Router-ID 来标识自己。如果两台路由器的 Router-ID 相同,会导致 OSPF 协议无法正常区分它们,从而无法建立邻居关系。
    2. area ID 相同OSPF 网络被划分为不同的区域,路由器要成为邻居,必须处于相同的区域,这样它们才能共享相同的链路状态信息,以计算准确的路由。
    3. 认证:认证类型(不认证=0 明文认证=1 MD5=2)认证数据:为了保证网络的安全性和数据的完整性,OSPF 支持不同的认证方式。邻居之间的认证类型和认证数据必须匹配,否则无法建立邻居关系。
    4. hello 时间,dead 时间必须一致:Hello 报文用于发现和维护邻居关系,Dead 时间用于判断邻居是否失效。如果这两个时间参数不一致,可能会导致邻居状态的错误判断和不稳定。
    5. 特殊区域标识一致(E(外部路由位)=1 ;N(NSSA 外部路由位)=0 P=0):特殊区域具有特定的属性和路由传播规则,邻居路由器在这些特殊区域标识上必须一致,以确保对路由信息的处理方式相同。
    6. MA 网络中,网络掩码必须一致:在多路访问(MA)网络中,如以太网,网络掩码一致是确保网络地址规划和路由计算的准确性的重要条件。
    7. 必须同时使用单播或组播更新:这确保了邻居之间的更新报文发送方式的一致性,避免因发送和接收方式不同而导致更新报文丢失或无法处理。
    8. 更新源检测(双方的 IP 地址必须在同一网段):只有当更新源(发送更新报文的接口 IP 地址)在同一网段,才能保证它们在逻辑上处于同一网络,从而能够正常通信和建立邻居关系。

     邻居状态下,MA的网络中会选举DR(指定路由器) BDR(备份指定路由器)

    DR选举:

            1.比较优先级(范围:0-255,默认优先级为1,越大越优)

            2.比较各自的router-id,越大越优

    注意:1.DR抢占是关闭的 2.DR是一个接口概念 3.优先级范围0-255,数字为0代表不参加选举  4.先选BDR,再升级为DR

    主从选举:发生在exstart状态,通过双方router-id进行比较,router-id大的一方为主。发送的主从选举DBD,DBD总包含了MTU值(若双方的MTU值不同,则卡在exstart状态)

    router-id选举规则:

            1.手工指定最优先

            2.选举所有逻辑中ip地址最大的

            3.选举所有物理接口ip地址最大的

    五,ospf基本配置

    开启 OSPF 进程并配置 Router ID:

        ospf 1 router-id 1.1.1.1

    其中,“1”是进程号,缺省为 1;“1.1.1.1”是手动配置的 Router ID

    配置区域:

        area 0/0.0.0.0

        network 192.168.0.0 0.0.0.255

    上述命令将 192.168.0.0/24 网段宣告到区域 0 中,使用反掩码(255.255.255.255 - 掩码)来匹配网段。

    常用的 OSPF 配置命令

            修改 Hello 包发送间隔:ospf timer hello 10 ,其中“10”为间隔时间(单位为秒)。

            修改 Hello 包超时间隔:ospf timer dead 40 。

            显示 OSPF 接口信息:display ospf interface g0/0/0 。

            修改 OSPF 接口优先级:ospf dr-priority 100 。

            修改开销(cost):ospf cost 10 ,取值范围为 1 至 65535,缺省为 1。

            调整带宽参考值:bandwidth-reference 100 ,默认为 100Mbps,需在整个 OSPF 网络中统一调整。

            重启 OSPF 进程:reset ospf process 。

    ospf三张表:

    1. 邻居表(Neighbor Table):也称为邻居关系表。该表记录了与本地路由器建立了邻居关系的其他路由器的信息,包括邻居路由器的 Router ID、接口地址、状态、Hello 间隔、失效时间等。通过查看邻居表,可以了解到哪些路由器与本地路由器成功建立了邻居关系,以及它们的相关参数和状态。display ospf peer brief可查看

    2. 链路状态数据库(Link State Database,LSDB):存储了本区域内所有路由器的链路状态通告(LSA)。LSDB 中的 LSA 描述了网络的拓扑结构和链路状态信息。每个路由器通过与邻居交换 LSA 来同步 LSDB,确保所有路由器对网络拓扑有一致的认识。display ospf lsdb可查看

    3. 路由表(Routing Table):根据 LSDB 计算得出的最优路由信息表。OSPF 路由器使用 Dijkstra 算法根据 LSDB 中的链路状态信息计算出到达各个目标网络的最短路径,并将这些路由信息放入路由表中,用于数据的转发决策。display ip routing-table protocol ospf 可查看

  • 相关阅读:
    智能指针
    uniapp相关记录
    信息系统项目管理师-采购管理论文提纲
    高分三号卫星(GF-3)简介
    Docker容器端口暴露方式
    即时通讯Web端通信方式的演进
    Day13--搜索建议-自动获取焦点与防抖处理
    Canvas动画
    共同富裕-三大维度-各省份、城市、农村基尼系数-附带多种计算方法
    YOLOX-PAI 详细解读(一)论文解读
  • 原文地址:https://blog.csdn.net/2301_78537542/article/details/140950968