• RIP2与OSPFv2 动态路由协议区别


     

    OSPF五种报文解析

    Hello:招呼信息

    Route-ID:换回口地址/活动的物理接口最大值

    Hello作用:

    1. 发现邻居

    2. 对一些数据的协商

    3. 保持邻居的Keeplive状态。选举DR、BDR

    Hello-interval=10s  

    dead-interval=40s

    形成邻居的条件:区域号相同,Route-ID必须不同,认证类型(密码)相同,hello时间和死亡时间要一致

    区域号:0~255

    划分区域作用为了减小同步数据库开销,同步时只在相同的区域内进行同步,两个路由器之间的接口,区域需要相同。

    表示方法:区域号(区域ID)为32位二进制,可以表示为一个十进制数,或者点分十进制。

    • 例如:区域0等价于区域0.0.0.0;区域1等价于区域0.0.0.1。

    区域0:骨干区域

    非0区域:常规区域

    常规区域必须和骨干区域相连,非骨干区域间通信,都需要通过骨干区域0转发

     

    DatabaseDescription:数据库描述,比如宣告了什么内容

    Link-State Request: 链路状态请求,即根据收到数据库的描述发出请求内容

    Link-State Update: 链路状态更新

    Link-State Acknowledgement: 更新确认

    OSPF邻居的八种状态

    1. Down 关闭状态

    hello包组播发出,相邻设备接收到后的状态,开始协商是否建立邻居关系

    2. Init 初始化对方状态

    协商确认Hello包信息一致,将发包者状态置为Init

     然后组播回复发包者,同时携带发包者的Route-ID。

    发包者收到回复的组播包,并且确认携带的Route-ID就是自己的,然后单播向收包者发送hello消息。开始进入下一状态:2-way

    3. 2-way状态 邻居关系建立完成

    开始选举DR(指定路由器)/BDR(备份指定路由器)(避免发送单播数据包过多):

    1.查看优先级,列出能参选的DR/BDR 和申报自己就是DR/BDR的

    2. 建立一个没有声明自己就是DR的子集。声明自己就是DR的不能被选成BDR。

    3.在此子集中,优先级大的、route-id大的成为BDR。

    4.然后选择DR.若无人声明自己就是DR的话,则新选的BDR成为DR.

    未被选举为DR、BDR的路由器称为Ohters角色,从此停留在2-way状态.........

    4. Exstart状态 (DR、DBR和所有人之间)

    发送单播dbd包,每个路由器都和DR和BDR交换数据库,没有被选举问DR的路由器叫做DR的Others, 每个路由器之和DR & BDR交换数据库

    Others路由器和DR/BDR之间交换数据库通过224.0.0.6

    DR/BDR通过224.0.0.5 向所有路由器发单播dbd包

     5. Exchange状态(DR、DBR)

    交换LSR和LSU数据包,会看到单播请求和更新

    6. Loading.....状态(持续发组播更新,计算路由表)

    7. Full (DR、BDR 所有请求更新完成)

     收敛完成后,区域内所有路由器具有相同的LSDB

    OSPF动态路由协议特点优势

    1. 触发更新或者30分钟更新一次,如果网络发生变化立刻向邻居发送信息,收敛时间短。

    2. 增量更新机制,路由器学习路由的时候,DB DBR只发送邻居需要的LSA。

    3. 收敛以后,区域内说有路由器具有相同的LSDB (链路状态数据库)

      这个LSDB能体现全网的链路状态(该网络中有哪些路由器,搁置编号是多少,直连网段是什么开销是多少)

     4. 分区域管理:同一个区域内的路由器才会建立邻居关系,交换LSA。

    收敛后统一个区域内所有设备间具有相同的LSDB,这个LSDB反应了区域内的链路状态信息,由此计算区域内的路由。非骨干区域间通信都需要通过骨干区域0转发,如果网络中有不同的ospf区域,肯定有个区域是0区域

  • 相关阅读:
    qunar面试题及一位大牛的解答
    深入理解js里面的this
    用js实现的一个可拖动标签的例子
    Linux启动详细过程(开机启动顺序)
    linux下用top命令查看cpu利用率超过100%
    linux内核内存管理(zone_dma zone_normal zone_highmem)
    用户线程与内核线程如何映射?
    Linux用户空间与内核地址空间
    linux超级块和inode 详解 和 df 、du 命令详解与环境变量
    内核空间、进程和线程等概念
  • 原文地址:https://www.cnblogs.com/zhangmingda/p/14396084.html
Copyright © 2020-2023  润新知