OSPF
思维导图:

1. ospf基本原理
1.1 OSPF原理
原理:OSPF要求每台运行OSPF的路由器都了解整个网络的链路状态信息,这样才能计算出到达目的地的最优路径。OSPF的收敛过程由链路状态公告LSA(Link State Advertisement)
泛洪开始,LSA中包含了路由器已知的接口IP地址、掩码、开销和网络类型等信息。收到LSA的路由器都可以根据LSA提供的信息建立自己的链路状态数据库LSDB(Link State Database)
,并在LSDB的基础上使用SPF算法
进行运算,建立起到达每个网络的最短路径树。最后,通过最短路径树得出到达目的网络的最优路由,并将其加入到IP路由表中。
什么叫链路(LINK) =路由器接口
什么叫状态(State) =描述接口以及其与邻居路由器之间的关系
- OSPF是一种
基于链路状态的路由协议
,它从设计上就保证了无路由环路。OSPF支持区域的划分,区域内部的路由器使用SPF最短路径算法保证了区域内部的无环路。OSPF还利用区域间的连接规则保证了区域之间无路由环路。 - OSPF支持
触发更新
,能够快速检测并通告自治系统内的拓扑变化。 - OSPF可以解决网络扩容带来的问题。当网络上路由器越来越多,路由信息流量急剧增长的时候,OSPF可以将每个自治系统划分为多个区域,并限制每个区域的范围。OSPF这种分区域的特点,使得OSPF特别适用于大中型网络。OSPF可以提供认证功能。OSPF路由器之间的报文可以配置成必须经过认证才能进行交换。
1.2 OSPF metric
- OSPF使用开销cost作为路由的
度量值
- 在每一个运行OSPF的接口上,都维护着一个接口COST,
接口COST=100M/接口带宽
,其中100M为OSPF的参考带宽。 - 一条路由的COST由该路由从来路由的起源一路过来的所有入接口cost值的总和
1.3 Router-ID
- 用于在一个OSPF域中唯一地标识一台路由器
- OSPF Router-ID的设定可以通过手工配置的方式,或者通过自动选取的方式。 自动选取的机制是:若有loopback口,则选最大的loopback口IP地址,若无则选活跃的物理接口中IP地址最大的作为RouterID(
Router-ID不具有抢占性
)
1.4 OSPF三张表
- 邻居表(neighbor table):
OSPF用邻居机制来发现和维持路由的存在,邻居表存储了双向通信的邻居关系OSPF路由器列表的信息。 - 拓扑数据库(link-state database):
OSPF用LSA(link state Advertisement 链路状态通告)来描述网络拓扑信息,然后OSPF路由器用拓扑数据库来存储网络的这些LSA。 - OSPF路由表(routing table):
对链路状态数据库进行SPF(Dijkstra)计算,而得出的OSPF路由表。
2. RIP与OSPF
2.1 RIP 的缺陷和OSPF改进
RIP特性 | 带来的问题 | 优化或解决的方式 |
---|---|---|
逐跳收敛 | 收敛慢,故障恢复时间长 | “收到更新->计算路由->发送更新” 改为“收到更新->发送更新->计算路由” |
传闻路由更新机制 | 缺少对全局网络拓扑的了解 | 路由器基于拓扑信息,独立计算路由 |
最多有效跳数为15 | 环形组网中,使远端路由不可达 | 不限定跳数 |
以“跳数”为度量 | 存在选择次优路径的风险 | 将链路带宽作为选路参考值 |
2.2 RIP与OSPF比较
2.2.1 相同点
- OSPF有两个版本ospf-1(还未正式发布就夭折)和ospf-2,RIP也是有两个版本RIP-1和RIP-2;
- OSPF-2与RIP-2一样是一种无类路由协议,支持VLSM、CIDR等特性;
- OSPF-2与RIP-2一样都支持认证功能;
- RIP封装在UDP报文中,OSPF封装在IP报文中,UDP和IP都是一种无连接、不可靠的通信方式;
- RIP和OSPF协议报文的安全传输都是靠协议本身;
2.2.2 不同点☆☆☆
-
OSPF是基于链路状态(Link-State)的路由协议,而RIP是基于距离矢量路与协议(二者的根本性差别);
-
RIP是一种“
传话
”的方式来传递路由有关的路由信息,OSPF是以一种“宣告
”的方式,OSPF的收敛时间明显小于RIP; -
RIP是一种“
嘈杂
”的路由协议,路由收敛后仍然周期性地持续地存在大量的RIP协议报文流量;OSPF是一种“安静
”的路由协议,路由收敛后,OSPF网络中只存在一小部分OSPF报文; -
RIP协议是以UDP作为其传输层协议的,RIP是封装在UDP报文中,端口号是520;
OSPF没有传输层协议
,OSPF是直接封装在IP报文中的; -
RIP报文有
两种
:请求报文和响应报文;OSPF有五种
:hello报文、数据库描述报文(DD)、链路状态请求报文(LSR)、链路状态更新报文(LSU)和链路状态确认报文(LSAck); -
RIP以“
跳数
”来作为路由开销的定义,OSPF理论上可以采取任何参量作文开销定义,最常见的就是采用链路带宽来定义路由开销; -
OSPF具有区域化结构,RIP没有;
-
OSPF网路中路由器有角色之分,不同路由器有着不同的功能和作用,RIP没有角色之分;
-
OSPF每台路由器都有独一无二的路由器身份号(Router-ID),在RIP网络中是没有Router-ID的;