• OSPF——基本概念1(邻居建立)


    目录

    OSPF优点

    Rip网络的缺陷

    Ospf如何解决

    OSPF工作过程

    第一步 建立邻居关系

    第二步 进行LSDB同步(链路信息同步)

    第三步 运行SPF算法进行路由计算

    OSPF基本概念

    OSPF的度量计算方式

    OSPF网络类型

    OSPF优化技术-DR、BDR

    如何将直连接口加入到OPF进程中


    OSPF优点

    1、OSPF是IETF定义的基于SPF算法(最短路径优先算法)的链路状态路由协议(选路、防环),通常部署在大型网络中(解决了传统Rip网络在大型网络中存在的缺陷)。

    2、Ospf被封装在IP协议中,协议号为89(即Ospf是工作在网络层之上的路由协议)

    Rip网络的缺陷

    1. Rip路由变化之后,先在本地完成路由计算,完成计算后在发送路由变化通知
    2. Rip算法缺陷,使得运行Rip的设备缺乏对全局网络拓扑的了解
    3. Rip以“跳数”为度量且最大15跳,存在次优路径的风险(可能会走低带宽链路)

    Ospf如何解决

    1. Ospf路由信息传递与路由计算分离,路由变化后,本地直接传递路由信息,然后再自己根据路由信息进行路由计算(将 “收到更新→计算路由→发送更新” 更改为 “收到更新→发送更新→计算路由”)
    2. Ospf基于Spf算法,基于拓扑信息独立计算路由
    3. Ospf将链路带宽作为选路参考值(cost=参考带宽/实际带宽  默认参考带宽为100M)

    OSPF工作过程

    第一步 建立邻居关系

    准备工作-身份标识符Router-ID

    Router-ID用来识别运行Ospf协议的路由器,尽量配置为全网唯一

    华为如何确定Router-ID

    1. 默认使用路由器的全局router-id作为ospf的router id
    2. 默认设备上配置的第一个IP地址为全局router-id
    3. 也允许手动更改全局Router-id(全局下router id [5.5.5.5]更改)
    4. 可以手动配置OSPF router-id,并且优先级高于全局Router-id

    思科如何确定Router-ID

    1. 手动配置OSPF的Router-id
    2. 如果没有手工配置,则选举Loopback接口中最大的IP地址作为Router ID
    3. 如果没有配置LoopBack接口,则选用物理接口最大的IP地址作为Router-ID

    Router-id注意事项

    1. Router-id与IP地址没有关系(只是格式与P地址一样)
    2. Ospf的Router-id一旦确定不会改变,需要重启OSPF的进程来更改
    3. 一般工程上使用loopback接口的地址作为Router-id,方便网络管理

    邻居建立报文-Hello报文

    OSPF——5种报文(图解)_多谢思考的博客-CSDN博客_ospf报文https://blog.csdn.net/m0_49864110/article/details/123530774

    Hello报文作用 自动建立并维护邻居关系(建立邻居时要进行参数协商)

    Hello报文如何发送 凡是加入到Ospf协议的物理、隧道接口,就会主发送Hello报文

    Hello报文注意事项

    1. Hello报文源地址为接口的IP地址,目的地址为224.0.0.5(组播)
    2. 在P2P链路、Broadcast链路上每隔10s发送。在NBMA、P2MP链路每隔30s发送一次
    3. 邻居失效时间为发送间隔的4倍。失效时间内没有收到邻居发送的Hello报文,则认为邻居失效,断开邻居关系,并重新计算路由

    影响邻居建立的因素

    1. OSPF的版本号要一致
    2. 邻居之间IP地址的子网掩码要一致(点到点网络除外)
    3. 协议Router-id不能冲突(全局Router-id可以相同)
    4. Area-id要相同(即同一链路上的所有接口要加入到同一区域)
    5. 认证类型和密码要一致
    6. Hello报文的发送间隔要一致
    7. Hello的Deal间隔要一致
    8. Nbit和Ebit取值要一致(区域类型要一致)
    9. MTU要一致(缺省情况下不检查MTU)

    邻居建立过程-OSPF状态

    OSPF——7种状态讲解_多谢思考的博客-CSDN博客_ospf状态https://blog.csdn.net/m0_49864110/article/details/123530735

    进入到2-Way状态后,开始进行第二步LSDB同步

    第二步 进行LSDB同步(链路信息同步)

    LSDB同步报文1-DD报文

    OSPF——5种报文(图解)_多谢思考的博客-CSDN博客_ospf报文https://blog.csdn.net/m0_49864110/article/details/123530774

    DD报文的作用

    描述自身LSDB,携带自身LSDB中LSA的头部数据,让邻居了解自己缺少哪些LSA(然后发起请求获得详细的LSA信息)

    DD报文有两种情况

    1. 不携带LSA摘要信息(EsStart状态发此报文,选举主从)
    2. 携带LSA摘要/LSA头部信息(Exchange状态发此报文)

    LSA头部信息

    摘要信息的作用

    1. 唯一标识一条LSA。(当没有此LSA会请求,将此LSA直接加入)
    2. 用于判断LSA的新旧(当有此LSA,但是自己的LSA旧的,则会请求此新的LSA替换自己旧的LSA)

    LSDB同步报文2-LSR报文

    LSR携带LSA标识信息(type、),请求特定的LSA信息

    LSDB同步报文3-LSU报文

    发送LSA的详细信息(包含LSA的头部信息以及链路状态)

    LSDB同步报文4-LSAck报文

    发送LSA头部信息进行确认 

    LSDB同步过程-OSPF状态

    OSPF——7种状态讲解_多谢思考的博客-CSDN博客_ospf状态https://blog.csdn.net/m0_49864110/article/details/123530735

    先进入2-way状态的设备先进入ExStart状态,开始LSDB同步

     

    注意事项

    2-way状态:成功建立邻居关系、开始进行LSDB同步(交互Hello)

    Full状态:  成功建立邻接关系,LSDB同步完成(交互Hello、交互LSA)

    OSPF邻居可靠性体现

    由于Ospf是被IP协议直接封装的路由协议,但是IP协议不具备可靠性机制,所以OSPF需要自己建立一套可靠性机制来保障邻居能够成功同步,具体体现在以下方面

    1. 3次握手建立2-way状态
    2. DD报文序列号+1机制(隐式确认)
    3. LSAck是对LSA的确认,不是对LSU的确认。因为LSAck携带的是LSA的头部信息来进行确认的(显式确认)

    第三步 运行SPF算法进行路由计算

    执行SPF计算包含三步

    1. 路由器根据LSDB中的LSA画出网络图,此图包含OSPF网络拓扑中所有“点” (包括伪节点)(画图需要使用1类LSA的P2P、TransNet、Vlink类型以及2类LSA)
    2. 路由器以自己为树根,对网络图执行SPF计算,画出一个由树根到每个节点的最短路径树
    3. 在树的节点上添加网络信息,并计算由树根到这些网络的开销以及下一跳,并将计算结果加入到路由表中(叶子节点可以是1类的StubNet、LSA2、LSA3、LSA5/7的网络)

    OSPF——LSA讲解_多谢思考的博客-CSDN博客_lsa序列号https://blog.csdn.net/m0_49864110/article/details/123549474


    OSPF基本概念

    OSPF的度量计算方式

    接口的开销(Cost)= 参考带宽/实际带宽(默认参考带宽为100M)

    接口开销都为整数且最小值为1。

    接口Cost值如何更改

    1. 直接再接口下配置接口Cost(优先级最高)
    2. 更改默认的参考带宽

    路由开销的计算方法

    b043d73dd1ce4ed685935bbed819d86e.png

    OSPF网络类型

    运行Ospf协议的接口都存在自己的网络类型,而链路的网络类型默认由接口的链路层协议所决定

    3739a436d07c477f9c110735159a75e0.png

    f0340e7826aa48c8bd406f6962cae4e8.png

    OSPF优化技术-DR、BDR

    为了减少邻接关系(无DR情况下会建立n×(n-1)/2个邻接关系,管理复杂,重复LSA泛洪浪费资源)

    因此选举出DR、BDR、DRother来减少邻接关系,降低OSPF协议流量。、

    DR——指定路由器、BDR——DR的备用路由器、DRother——其余的路由器

    其中DR与BDR、DR与DRother、BDR与DRother会建立邻接关系,进行LSDB同步。

    DRother与DRother只会建立邻居关系,不进行LSDB同步。

    当需要进行路由更新时

    1. DRother产生的LSU通过组播224.0.0.6发报文给DR和BDR,DR再通过224.0.0.5发送给其他的DRother和BDR。DRother通过224.0.0.6发送ACK确认,BDR通过224.0.0.5发送确认给DR(不发确认给BDR)
    2. BDR产生的LSU通过组播224.0.0.5发送给DR、DRother。DRother通过224.0.0.6发送ACK确认,DR通过224.0.0.5发送Ack。
    3. DR产生的LSU通过组播224.0.0.5发送给 BDR、DRother。BDR通过224.0.0.5发送ACK,DRother通过224.0.0.6发送Ack

    因此DR与BDR同时监听224.0.0.5和224.0.0.6这两个组播地址,DRother仅监听224.0.0.5

    通告LSU时,DR和BDR会发送224.0.0.5和224.0.0.6的报文,DRother只会发送224.0.0.6的报文

    224.0.0.5  代表所有运行Ospf协议的路由器(运行Ospf的设备都会接收此组播)

    224.0.0.6  代表广播/NBMA链路上的DR/BDR(只有DR、BR会接收此组播)

    DR、BDR的选举过程

    1. 当Ospf接口开启后,在Hello报文中设置DR、BDR的值为全0。同时Wait timer时间启动(时长为4倍的Hello间隔)
    2. 所有的路由器都会认为自己是DR、BDR(字段填充的是自己自身的接口),互发Hello报文,开始DR、BDR的选举。
    3. 如果在Wait计时器超时后,仍未学习到DR、BDR,则就认为自己是DR,后续加入的会选举为BDR
    4. 当已经选出出DR、BDR,当DRother在40s内收不到DR、BDR的Hello包,DRother之间会重新选举DR、BDR。

    DR、BDR通过哪些信息进行选举

    主要通过优先级和Router-ID进行选举

    1. 比较协议优先级(默认是1,范围为0~255),优先级最大的为DR,次大的为BDR。
    2. 优先级为0 代表不参与选举,只能是DRother
    3. 比较Router-ID,最大的为DR,次大的为BDR

    DR/BDR选举注意事项

    • DR、BDR的选举是基于接口的,具有非抢占性(同Router-ID)
    • 一条链路(广播域)上选举一个DR/BDR
    • 每条广播/NBMA链路都会选举一个DR(必选,默认选举), BDR(可选,默认选举)
    • P2P、P2MP链路不需要选举DR、BDR,所以在Hello报文中的的DR、BDR字段取值为0.0.0.0
    • 选举出DR、BDR后才会开始进行LSDB同步(转为Exstart状态)

    DR/BDR单点故障

    • 当DR出现故障后,则判断是否存在BDR,如果存在BDR,则BDR成为新的DR,重新选举BDR
    • 当DR出现故障后,则判断是否存在BDR,如果不存在
    • 当DR正常,BDR失效后,直接重新选举BDR

    如何将直连接口加入到OPF进程中

    在区域内进行宣告

    Network 直连网络号  反掩码(255.255.255.255 - 子网掩码 = 反掩码)

    Network 接口IP地址  0.0.0.0   精确宣告

  • 相关阅读:
    Citus 分布式 PostgreSQL 集群 - SQL Reference(摄取、修改数据 DML)
    MySQL数据库用户管理
    网上花店销售系统(附源码+课件+讲解+资料+数据库)
    F. Vasilije Loves Number Theory
    猴子也能学会的jQuery第十二期——jQuery遍历(中)
    yolov5 利用c++进行模型推理部署详解(openvino,tensoRT)
    Linux 安装subversion+mod_dav_svn,搭建subversion(svn)服务器
    如何基于Angular从.ts获取鼠标响应的屏幕坐标,并传递至.html的Style中
    麒麟-v10系统添加字体方法
    探究Visual Studio中的乱码问题
  • 原文地址:https://blog.csdn.net/m0_49864110/article/details/125901667