OSPF协议(一)

1.OSPF(open shortest path first 开放式最短路径优先)协议:一个内部网关协议,基于链路状态,支持VLSM、快速收敛、使用组播地址(224.0.0.5和224.0.0.6)完成路由更新。

2.链路状态路由和矢量路由(RIP)的区别:

矢量路由只公告自己的路由表,并不关心路由记录是否良好,而且距离也有限制。收敛较慢
链路状态路由不受连接数目的影响,收链快。关心路由状态是否良好

矢量路由

链路状态路由

3.OSPF工作过程

3.1hello报文

  • 版本:IPV4为为V2,IPV6为V3
  • 类型:5种类型,1为hello报文,2为数据库描述,3为OSPF链路请求,4为OSPF链路状态更新,5为OSPF链路状态确认
  • 路由器ID:发送hello报文的ID
  • 网络掩码:OSPF数据包接口地址的网络掩码,如果接口网络掩码与之不匹配,则会丢弃数据包
  • 路由器优先级:直接影响OSPF路由器DR与BDR的选举,默认为1
  • 路由器无效时间间隔:收不到hello包则认为邻居路由器无效,默认40s
  • 邻居:已经通过hello报文协商后的路由器

3.2双向状态

3.3准启动状态,选举DR与BDR

  • DR是指定路由器,BDR是备份指定路由器。
  • 防止报文洪泛洪

  • 选举原则:

    • 有最高OSPF优先级的路由器为DR,次高的为BDR
    • 具有最大路由器ID(RID)为DR,次之为BDR
    • 具有最大环回接口IP地址的路由器为BR,次大为BDR
    • 在活动接口上,有最大IP的为BR,次大为BDR
    • OSPF路由器使用224.0.0.6组播地址发送链路状态给DR,DR使用224.0.0.5发送状态给OSPF路由器

3.4交换状态

  • 链路状态数据库描述消息(DBD分组):
  • I位:数据报文最初的一个则为1,后续报文为0
  • M位:更多位,不是最后一个则为1
  • MS位:为1则为主从中的主路由器,为0则为从路由器
  • DBD序列号:由主路由器在最初发送的DBD报文中设置一个唯一值,后面发送的DBD报文序号依次增加
  • LSA头部:
    • 老化时间:始发路由器从发出LSA后经历的时间
    • 类型:共11种类型,类型1表示路由器的LSA,类型2表示网络的LSA
    • 长度:LSA的长度
  • 链路更新请求
    • 数据帧

3.5载入状态

  • 更新数据帧(更新类型为4)
  • 确认数据帧(确认类型为5)

3.6按照SPF算法,计算最短路径