Open Shortest Path First (OSPF)
动态路由协议介绍
动态路由协议:向路由表中添加远程网络
探索网络
更新和维护路由表
自主网络探索:
通过共享路由表信息路由器能探索到新的网络
动态路由协议的分类
内部网关协议(IGP) 适用于园区架构,范围小的
外部网关协议(BGP) 适用于城域网、骨干网,范围大的
距离矢量协议考虑距离和方向,已经很少遇见
链路状态协议不仅考虑距离和方向,还考虑沿途带宽和负载等,根据链路质量来选择路线
本篇仅讨论OSPF协议
距离矢量
距离矢量的意义:
使用距离矢量路由协议的路由器并不了解到达目的网络的整条路经。该路由器只知道:
自身与目的网络之间的距离
应该往哪个方向或使用哪个接口转发数据包
链路状态
链路状态(Link-State)
链路状态路由协议向全网扩散链路状态信息
链路状态路由协议当网络结构发生变化时立即发送更新信息
链路状态路由协议只发送需要更新的信息
链路状态协议适用于以下情形:
网络进行了分层设计,大型网络通常如此
管理员对于网络中采用的链路状态路由协议非常熟悉
网络对收敛速度的要求极高
有类与无类路由协议
有类路由协议在路由信息更新过程中不发送子网掩码信息
eg:RIPv1、IGRP(EIGRP的前身)
在无类路由协议的路由信息更新中,同时包括网络地址和子网掩码
eg:RIPv2、OSPF、IS-IS、BGP
当今网络中基本上使用的都是无类的网络环境、无类的网络协议,一般不需要考虑分类方式
度量值
度量:
度量是指路由协议用来分配到达远程网络的路由开销的值
不同的路由协议的度量值的单位不同,IP路由协议中使用的度量如下:
带宽——EIGRP
开销——OSPF&IS-IS
延迟——EIGRP
跳数——RIP
负载——EIGRP
可靠性——EIGRP
路由表只存放最优的路由信息
等价负载时会出现多条等价的路由信息
路由的学习(路由通告)和数据的传递相反
管理距离(AD)的用途
度量的用途:用于确定到达目的的最佳路径
管理距离的用途:用于指定路由协议的优先级
协议不同,无法沟通
EIGRP的度量单位metirc
RIP的度量单位是跳数
管理性距离比较
show ip protocols可以看到该动态路由协议的管理距离
直连网络永远是最优先的
距离矢量-网络发现
路由器初始启动—最初的网络发现—直连网络写入路由表
初次路由信息交换
路由信息交换
收敛
路由器收敛完成
当所有路由表包含相同网络信息
路由器继续交换路由信息
当无新信息时收敛结束
网络在达到收敛之前无法完全正常工作
动态路由方便,但是消耗的资源比静态路由多,如:CPU、内存、带宽、背板占用率。在当今,这种资源的消耗可以忽略不计。
OSPF简介
Open Shortest Path First (OSPF),开放最短路径优先
是一种链路状态路由协议,无路由循环(全局拓扑),RFC2328
“开放”意味着非私有的
管理型距离:110
OSPF采用SPF算法计算达到目的地的最短路径
OSPF维护三张表:邻居表、拓扑表(链路状态数据库)、路由表
OSPF的三张表
邻居表(neighbor table)
OSPF用邻居机制来发现和维持路由的存在,邻居表存储了双向通信的邻居关系OSPF路由器列表的信息。
拓扑表(topology table)
OSPF用LSA(Link State Advertisement 链路状态通告)来描述网络拓扑信息,然后OSPF路由器用拓扑数据库来存储网络的这些LSA。
OSPF路由表(routing table)
对链路状态数据库进行SPF(Dijikstra)计算,而得出的OSPF路由表。
OSPF的基本运行步骤
1.建立邻接关系(Establish router adjacebcies)
2.必要的时候进行DR的选举(Elect the DR/BDR)
3.发现路由(Discover routes)
4.选择合适的路由器(Select appropriate routes)
5.维护路由信息(Maintain routing information)
建立邻接关系-Hello包
Hello包用来发现OSPF邻居并建立相邻关系,通过组播地址:224.0.0.5发送给ALLOSPFRouters
通告两台路由器建立邻接关系所必须统一的参数
在以太网和帧中继网络等多路访问网络中选举指定路由器(DR)和备用指定路由器(BDR)
LSA的泛洪
DR、BDR:接口概念,不是设备概念,即一个设备的不同接口可能是DR也可能是BDR
为减小多路访问网络中的OSPF流量,OSPF会选举一个指定路由器(DR)和一个备用指定路由器(BDR)。
选举规则:最高接口优先级被选作DR,如果优先级相等(默认为1),具有最高的路由器ID(Router-ID)的路由器被选举成DR,并且DR具有非抢占性
指定路由器(DR):DR负责使用该变化信息更新其他所有OSPF路由器(DRother)
备用指定路由器(BDR):BDR会监控DR的状态,并在当前DR发生故障时接替其角色
RouterID
用于标识OSPF路由器的ID,全网唯一性。可手动配置,也可动态选举(有Loopback接口时,选择最高的Loopback IP地址;否则,选择最高活跃物理接口的IP地址)
OSPF metric
每个路由器都把自己当作根,并且给予累积成本(Cost值)来计算到达目的地的最短路径
Cost=参考带宽(10^8)/接口带宽(b/s)
OSPF区域
在区域边界可以做路由汇总,减小了路由表
减少了LSA泛洪的范围,有效地把拓扑变化控制在区域内,提高了网络的稳定性
拓扑的变化影响可以只限制涉及本区域
多区域提高了网络的扩展性,有利于组建大规模的网络
OSPF的配置
基本配置
开启OSPF进程(进程编号本地有效)
Router(config)#router ospf process-id
宣告特定的网络到OSPF区域
Router(config-router)#network address wildcard-maskarea area-id
配置示例
Router(config)#router ospf 1
Router(config-router)#network 192.168.1.0 0.0.0.255 area 0
同一台路由器上可以有多个路由协议,具体选路根据管理距离来确定具体的协议