OSPF理论及配置

  • OSPF
  • OSPF工作过程
  • OSPF区域
  • 度量值
  • Router ID
  • DR、BDR
  • DR\BDR选举规则
  • OSPF的组播地址
  • OSPF包类型
  • OSPF邻接关系建立的状态机
  • 第一个阶段
  • 第二阶段
  • 与RIP的区别
  • 配置


OSPF

OSPF是一种开放的最短路径优先协议

根据AS分类,OSPF和RIP一样是内部网关协议,运行在AS内部

而根据协议类型分,OSPF不同于RIP的距离矢量路由协议,则是一种链路状态路由协议。一种 “传信的路由”

OSPF工作过程

默认路由重分发ospf ospf默认路由的cost值_默认路由重分发ospf

OSPF区域

为了适应大型的网络,OSPF在AS内划分多个区域
每个OSPF路由器只维护所在区域的完整链路状态信息

默认路由重分发ospf ospf默认路由的cost值_路由器_02


骨干区域Area 0负责着非骨干区域之间的路由信息传播

度量值

OSPF的度量值COST
COST= 10^8(默认100M参考带宽)/BW(实际链路带宽)
最短路径是基于接口指定的代价(cost)计算的

Router ID

Router ID是指OSPF区域内唯─标识路由器的IP地址

选取规则:
选取路由器loopback接口上数值最高的IP地址
如果没有loopback接口,在物理端口中选取IP地址最高的
也可以使用router-id命令指定Router ID

优先级 手动>自动

DR、BDR

在OSPF网络中,各路由器之间不直接两两发链路状态信息,而是通过选举DR/BDR,DR为主,BDR为备份DR,把链路状态信息发给DR/BDR,由DR在组播给所有非DR/BDR的DRothers路由器

这样做的好处,减少OSPF网络中的链路状态更新包,减少泛洪,降低路由协议本身占用链路带宽

默认路由重分发ospf ospf默认路由的cost值_链路_03

DR\BDR选举规则

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

手工选择
优先级范围是0~255,数值越大,优先级越高,默认为1
如果优先级相同,则需要比较Router lD
如果路由器的优先级被设置为0,它将不参与DR和BDR的选举

路由器的优先级可以影响一个选举过程,但是它不能强制更换已经存在的DR或BDR路由器
若在选举完成后,出现一个优先级更高的路由器,也不会变更DR、BDR,除非原先的挂掉了

OSPF的组播地址

224.0.0.5 传播Hello包,建立连接关系
224.0.0.6 DRothers将各自的链路状态信息发送给DR、BDR
DR、BDR在收到信息后在通过224.0.0.5发送给其他DRothers

总的来说,DR\BDR侦听224.0.0.6 来接收DRothers的链路状态信息
DRothers侦听224.0.0.5 来接收其他others的信息

OSPF包类型

默认路由重分发ospf ospf默认路由的cost值_ospf_04

OSPF邻接关系建立的状态机

邻居关系的建立分为两个阶段,七个状态

第一个阶段

使用Hello报文建立双向通信的过程

默认路由重分发ospf ospf默认路由的cost值_OSPF_05


Down状态:

双方处于初始状态,谁也不知道谁

Int状态:
R1发送一个Hello包用于发现和维持邻接关系,里面包含了自己的IP地址

2-Way状态:
R2收到R1的hello包后,回应消息给R1,包含了自己和R1的IP地址,表示我可以和你建立邻接关系

至此双方通信建立,同时
DR和BDR的选举也已完成

第二阶段

建立完全邻接关系的过程

默认路由重分发ospf ospf默认路由的cost值_默认路由重分发ospf_06

ExStart状态:
根据RouteID选举规则建立主从关系

Exchange状态:
双方交换摘要信息
R1发送DBD(链路状态数据库描述)报文给R2
R2也发一个DBD给R1并再发送一个LSAck报文确认收到R1的DBD报文
R1再回应一个LSAck确认收到R2的DBD报文

Loading状态:
请求详细信息
R1向R2发送LSR报文,请求详细信息
R2回应LSAck报文确认收到R1的请求报文并回应LSU报文,将详细信息给到R1,
R1再回应一个LSAck确认收到R2发送的LSU报文

Full状态:
直至所有路由器到收敛状态,信息完全连接,邻接关系完全连接

与RIP的区别

OSPF

RIP2

链路状态路由协议

距离矢量路由协议

无跳数限制

最大跳数为15,第16跳视为不可达

收敛速度快

收敛速度慢

使用组播发送链路状态更新

周期性的组播更新整个路由表

配置

简单做个图,默认路由起所有IP地址(掩码/24)已配好,1.1.1.1是AR1的Lockback回环地址,掩码/32,其余类似

默认路由重分发ospf ospf默认路由的cost值_链路_07

AR1

[AR1]ospf  # 进入ospf
[AR1-ospf-1]area 0    #默认这4个路由都在一个区域里
[AR1-ospf-1-area-0.0.0.0]net 10.0.0.0 0.0.0.255 #宣告网段
[AR1-ospf-1-area-0.0.0.0]net 1.1.1.1 0.0.0.0  # 宣告路由回环地址

#以下几个同理

AR2

[AR2]ospf
[AR2-ospf-1]area 0
[AR2-ospf-1-area-0.0.0.0]net 10.0.0.0 0.0.0.255
[AR2-ospf-1-area-0.0.0.0]net 20.0.0.0 0.0.0.255
[AR2-ospf-1-area-0.0.0.0]net 2.2.2.2 0.0.0.0

AR3

[AR3]ospf
[AR3-ospf-1]area 0
[AR3-ospf-1-area-0.0.0.0]net 20.0.0.0 0.0.0.255
[AR3-ospf-1-area-0.0.0.0]net 30.0.0.0 0.0.0.255
[AR3-ospf-1-area-0.0.0.0]net 3.3.3.3 0.0.0.0

AR4

[AR4]ospf
[AR4-ospf-1]area 0
[AR4-ospf-1-area-0.0.0.0]net 30.0.0.0 0.0.0.255
[AR4-ospf-1-area-0.0.0.0]net 4.4.4.4 0.0.0.0

默认路由重分发ospf ospf默认路由的cost值_OSPF_08

运用OSPF实现了通信