4.6.3 开放最短路径优先OSPF的基本工作原理.pdf
    image.png
    关于代价的计算:
    image.png

    • 值得注意的是,代价计算都由网络管理员来决定,没有统一
    • OSPF相邻路由之间通过交互问候(Hello)分组建立和维护邻居关系
      image.png

    关于Hello分组:

    1. Hello分组封装在IP数据报中,发往组播地址224.0.0.5
    2. IP数据报首部中的协议号字段的取值应为89,来表明IP数据报的数据载荷为OSPF分组。
      image.png
    3. 发送周期为10秒
    4. 40秒未收到来自邻居路由器的Hello分组,则认为该邻居路由器不可达
    • 为了维持邻居关系数据,每个路由器都会建立一张邻居表,记录一些邻居路由器的状况。

    (死亡倒计时,就是前面说的hello包的时间,如果超过了这个时间,还收不到邻居的hello报文,就说明邻居故障了)

    • 例如:
      image.png

    image.png
    收到链路状态更新分组的路由器,将从自己其他所有接口转发该分组,也就是进行洪范转发。
    image.pngimage.png
    这样,自治系统中的每个路由器所发送的封装有链路状态通告的链路状态更新分组,会传递给系统中其它所有路由器。
    image.png
    image.png
    image.pngimage.png
    主要可以看成三个部分:

    1. 通过发送问候分组建立和维护邻居关系
    2. 链路状态数据库同步

    发送数据库描述分组,将自己链路状态数据库中的所有链路状态项目的摘要信息发送给邻居路由。

    路由器发送自己缺失某些链路状态摘要信息中的详细信息,就会向相邻路由发送链路状态请求分组

    相邻路由器收到链路更新请求后会返回路由状态更新分组。

    发送请求的网络收到更新分组后会返回确认分组,一次更新数据过程结束。

    1. 同步状态后的链路状态数据库同步
      在30分钟后或者链路状态发生变化后,会进行新的更新状态过程,如第2点所说。

    上图:“今天作业有哪些题”“有xxxx题”“什么,x题我还没做,借我抄抄”。
    当OSPF路由器再多点接入网络中建立邻居关系时,如果不采用其他机制,将会产生大量的多播分组。
    image.png
    image.png
    实现DR和BDR的选举并不复杂,无非就是个路由器之间交换一些选举参数,例如路由器优先级、路由器ID、接口IP地址等,然后根据选举规则选出DR和BDR, 这与交换机生成树协议选举根交换机类似。

    划分区域的好处是:
    把利用洪泛法交换链路状态信息的范围,局限于每一个区域而不是整个自治系统,这样就减少了整个网络上的通信量。

    为了本区域可一个自治系统内的其他区域连通,每个区域都会有一个区域边界路由器,它的一个接口用于连接自恨所在区域,另一个接口用于连接主干区域。

    我们也可以把区域边界路由器看作是主干路由器。
    image.png

    区域之间分为主干区域和区域。

    在图中可以看到有4种路由器:

    1. 区域内路由器(IR):只用于区域内通信。
    2. 区域边界路由器(ABR):用户区域间通信。
    3. 自治系统边界路由器(ASBR):用于和其他自治系统通信。
    4. 主干路由器(BBR):位于主干区域的路由器
    • 使用分层次划分区域的方法,虽然使交换信息的种类变多了,也使OSPF协议更复杂了,但是能使区域内部交换信息量大大减少,使的OSPF能用于规模很大的自治系统中