OSPF路由协议基本原理

解决RIP的瓶颈——15跳数

OSPF路由协议总述(知识点纲要)

四种路由类型:DR、BDR、ABR、ASBR

五大区域:骨干区域、标准区域、末梢区域、纯末梢区域、非纯末梢区域

五大数据包类型:Hello、DBD、LSR、LSU(包含多个LSA)、LSACK

六种LSA:Type1、Type2、Type3、Type4、Type5、Type7

七个状态:Down、Init、2-Way、Exstart、Exchange、Loading、Full


一、网关协议

1.内部网关协议(IGP):RIP、OSPF(端口划分)、ISIS(路由器划分)等

2.外部网关协议(EGP):BGP

二、OSPF是链路状态路由协议(开放式最短路径优先选择协议)——转发自己的链路状态的信息库

  1. 邻居列表
  2. 链路状态数据库
  3. 路由表

过程:建立邻接关系——链路状态数据库——算法(Dijkstra算法)计算最短路径数——生成路由表

自治系统(AS):相同路由进程协议的区域 例:区域中都用OSPF 1

三、OSPF区域之骨干区域和标准区域

为了适应大型网络,OSPF在AS(自治系统)内划分多个区域

每个OSPF路由器只维护所在区域的完整链路状态信息

  1. 骨干区域(核心)
  2. 标准区域(非骨干区域)——围绕骨干相连

区域ID

区域ID可以表示成一个十进制的数字(一般在思科上用十进制数字进行模拟配置)

也可以表示成一个IP

下图就是在一个自治系统(AS)中的不同区域的ospf协议,且在该系统下的ospf协议的进程相同其中AREA0为骨干区域

其他的为非骨干区域

动态路由协议之OSPF理论篇(上)_第1张图片

Router ID(重要)

OSPF区域内唯一标识路由器的IP地址

Router-id选取规则(注意选取时根据实际情况进行选择)

  1. 选取路由器loopback接口(虚拟接口)上数值最高的IP地址(路由器比较多的情况);
  2. 如果没有loopback接口,在物理端口中选取IP地址最高的(不推荐,万一挂的就是它就完了);
  3. 也可以使用router-id命令指定(推荐,路由器不多的情况)

只要路由器没有宕机且有一个接口没有挂掉loopback就生效


四、DR和BDR

DR是主路由,BDR是备路由,剩下的都是其它路由

  1. 指定路由器DR(老大):负责更新其他所有OSPF路由器的信息。
  2. 备份指定路由器BDR(老二):负责监控备份DR的状态,并在当前DR发生故障时接替其角色。
  3. 其它路由器:只和DR及BDR形成邻接关系

DR和BDR的选举方法

1.自动选举DR和BDR

网段上Router ID最大的路由器将被选举为DR,第二大的将被选举为BDR

2.手工选择DR和BDR

  1. 优先级范围是0~255,数值越大,优先级越高,默认为1;

  2. 如果优先级相同,则需要比较Router ID;

  3. 如果路由器的优先级被设置为0,将不参与DR和BDR的选举

注意!路由器的优先级可以影响一个选举过程,但是它不能强制更换已经存在的DR或者BDR路由器

其实这也就是说其实是人为已经先行定下了DR和BDR因为在配置时有先后顺序,除非路由器宕机或者出现其他问题才会进行真正的选举

OSPF的组播地址

224.0.0.5(DR和BDR负责监听224.0.0.6的信息)和224.0.0.6(other监听自己的网络信息查看自己有没有什么改动)

OSPF的度量值为COST(开销)

COST=10^8/BW BW(带宽)的值越大越好,开销越低

五、OSPF数据包(5个包)

ospf数据包是承载在IP数据包内的,使用协议号为89,其类型如下表所示:

OSPF的包类型 描述
Hello 用于发现和维持邻居关系,选举DR和BDR
数据库描述包 用于向邻居发送摘要信息以同步链路状态数据库
链路状态请求包 在路由器收到包含新信息的DBD后发送,用于请求更详细的信息
链路状态更新包 收到LSR后发送链路状态通告(LSA),一个LSU数据包可以有多个LSA
链路状态确认包 确认已经收到LSU,每个LSA需要被分确认

六、OSPF邻接关系的建立(7个状态)

  1. OSPF启动的第一个阶段是使用Hello报文建立双向通信的过程

  2. OSPF启动的第二个阶段是建立完全邻接关系的过程

    下面是完整的过程阐述:

    down状态的接口接收到Hello信息包后——激活init状态( 只能接收hello包,不能发送hello包)——route系统加载完成后从init状态进入2-way状态(该状态既可以接收hello包也可以发送hello包,即完成选举出两个最大的router ID但并不会确定主从路由,即DR和BDR);

    exstart状态确定DR和BDR的身份——exchange状态交互DBD包同时接收到后也会有LSACK包——loading状态(最繁忙LSR,LSU(多个LSA),LSACK),形成路由表——FULl状态 稳定状态开始转发数据包——类似于RIP的收敛

七、OSPF的网络类型

划分为四种类型:点到点、 点到多点、广播多路访问、非广播多路访问

八、OSPF的特点

  1. 可适应大规模网络
  2. 路由变化收敛速度快
  3. 无路由环
  4. 支持变长子网掩码VLSM
  5. 支持区域划分
  6. 支持以组播地址发送协议报

九、OSPF与RIP的比较

OSPF RIP v1 RIP v2
链路状态路由协议 距离矢量路由协议 距离矢量路由协议
无跳数限制 限制不超过15 限制不超过15
支持VLSM(可变长子网掩码) 不支持VLSM 支持VLSM(可变长子网掩码)
收敛速度快 收敛速度慢 收敛速度慢
使用组播发送链路状态更新 周期性广播更新这个路由表 周期性组播更新路由表