OSPF入门

OSPF的基本概念

与距离矢量路由协议不同,运行链路状态路由协议的路由器知晓整个网络的拓扑结构,使得路由更不易发生环路。运行链路状态路由协议的路由器之间首先会建立邻居关系,之后开始交互链路状态信息(LS),路由器将这些链路状态信息存储到LSDB之中,基于SPF算法得到一颗以自己为根的、无环的最短路径树,将最优路径加载到自己的路由表。OSPF(开放式最短路径优先)是典型的链路状态协议支持VLSM,路由汇总,区域划分。目前有两个版本OSPFv2(针对ipv4)和OSPFv3(针对ipv6)。
OSPF Router-ID(路由器标识)是一个32bit长度的数值,用于在OSPF域中唯一地标识一台OSPF路由器,更改Router-ID需要重启OSPF进程。OSPF有三张表,OSPF路由表,邻居表,链路状态数据库

报文类型及格式

OSPF协议基于IP运行,采用IP封装,协议号89。OSPF协议报文使用组播地址作为目的IP地址,以下两个组播IP地址被保留用于OSPF,224.0.0.5 该组播IP地址指所有的OSPF路由器;224.0.0.6 该组播IP地址指所有的OSPF DR路由器。OSPF定义了五种报文,各有各的用途,如下图在这里插入图片描述

路由器的接口一旦激活OSPF,就会开始发送Hello报文,MA网络中,发现邻居之后开始交互空的DD报文,选取主从状态(DR,BDR优先级和Router-ID越大),再交互包含LSA头部的DD报文以便描述自己的LSDB,路由器知道了对方的LSA,LSR用于向对方请求完整的LSA,LSU用于对LSR进行回应,或者主动更新LSA,LSU中承载着完整的LSA数据。LSAck用于保证OSPF更新机制的可靠性,两台直连路由器形成邻接关系后,双方依然周期发送Hello报文,维持邻接关系。
####OSPF路由器的角色
区域边界路由器(ABR):至少有一个接口在Area0中激活,还有其他接口在其他区域中激活。
AS边界路由器(ASBR):工作在OSPF自治系统边界的路由器
骨干路由器(BR):接入Area0的路由器

LSA及特殊区域

####LSA概述及常见LSA类型
OSPF使用LSA(链路状态通告)来承载链路状态信息,网络拓扑结构,网段和路由信息。常见的LSA类型如下
在这里插入图片描述

LSA详解
  1. Type-1 LSA (路由器LSA)
    路由器通过该LSA描述路由器直连接口状况和接口Cost,每一台运行OSPF的路由器均会产生Type-1 LSA,用于在区域内泛洪
  2. Type-2 LSA(网络LA)
    经过Type-1 LSA的泛洪,区域内的路由器能大致地描述出本区域内的网络拓扑,但是还不够,如果路由器的接口接入一个MA网络并且在该网络形成了邻接关系的邻居,需要使用Type-2 LSA来交互MA信息,Type-2 LSA由DR产生,Type-2 LSA也是只能在域内泛洪
  3. Type-3 LSA(网络汇总LSA)
    前两类LSA解决了区域内路由计算的问题,Type-3 LSA用于区域间路由的计算,由ABR产生,用于解决区域之间路由传递的问题,区域间路由的传递容易产生环路,OSPF引入了防环机制,OSPF要求区域间路由必须通过Area0中转,使得OSPF网络在逻辑上构成一个以Area0为中心、其他区域为分支的星装逻辑结构,所有非骨干区域必须与骨干区域Area0直接相连。
  4. Type-4 LSA(ASBR汇总LSA)
    Type-1、Type-2 及Type-3 LSA 这三类LSA解决了单个OSPF域内的路由计算问题,为了能够访问OSPF区域外的路由(例如RIP,静态路由),需要知晓到达外部的路由和引入这些外部路由的ASBR所在。Type-4 LSA实际上是一条到达ASBR的主机路由,ABR产生。
  5. Type-5 LSA(AS 外部 LSA)
    当ASBR将外部路由引入OSPF时,会产生Type-5 LSA用于描述这些外部路由,会在整个OSPF域内传播,除了一些特殊区域。假设一条Type-5 LSA的外部cost为B,而路由器X到达产生这条Type-5 LSA的ASBR的路径cost为A,则当Type-5 LSA的度量值类型为Metric-type-1 时,X计算出的这条外部路由的Cost等于A+B,如果度量值类型为Metric-type-2,路由的Cost等于B
  6. Type-7 LSA(非完全末梢区域 LSA)
    Type-7 LSA是一种特殊的LSA,用于描述OSPF外部网络。它的泛洪只能在NSSA(非完全末梢区域)泛洪,不允许被注入Area0。NSSA的ABR会负责将NSSA内泛洪的 Type-7 LSA 转换成 Type-5 LSA,使得这些外部路由能够在OSPF域内传播
    ####区域类型及详解
    为了减少LSA的泛洪,减小路由器LSDB的规模,从而减小路由器的性能损耗,OSPF引入了多区域的概念,每个区域维护一套LSDB,并且单独运行SPF算法
OSPF设计了多种区域类型,以便满足多种业务需求
  1. 常规区域
    所有的OSPF区域缺省情况下都是常规区域,Area0(骨干区域)是特殊的一个,OSPF要求所有的非骨干区域都必须与Area0直接相连
  2. 末梢区域(Stub Area)
    当一个非0常规区域只有单一的出口(只有一个ABR)或者区域内的路由器不需要指定特定的外部路由来选择离开区域的出口,该区域成为Stub区域,这个区域将不再允许外部路由引入,换句话说ABR将阻挡Type-5 LSA和Type-4 LSA进入区域。
    我们还能在Stub区域基础上进一步减少LSA泛洪,在Stub区域的ABR上,进一步阻挡描述区域间路由的Type-3 LSA进入该区域,同时该区域ABR自动下发一条 Type-3 LSA 描述的默认路由,这样这个特殊区域内将只有Type-1,Type-2 LSA及描述默认路由的Type-3 LSA存在,该区域内的路由器只有到达区域内部及ABR的路由。路由器的路由表极大的精简了,这种特殊的区域称为完全末梢区域(Totally Stub Area)
  3. 非完全末梢区域(NSSA)
    可以理解为Stub区域的变种,拥有Stub区域的特点——阻挡Type-4 LSA及Type-5 LSA进入,同时还有另一个特点,允许该区域的路由器将少量外部路由引入OSPF。NSSA的ABR会负责将NSSA内泛洪的 Type-7 LSA 转换成 Type-5 LSA,使得这些外部路由能够在OSPF域内传播。
    我们还可以在NSSA的基础上进一步减少LSA的泛洪,在NSSA的ABR上,将 Type-3 LSA 阻挡掉,该区域ABR自动下发一条 Type-3 LSA 描述的默认路由,使得区域内的路由器能够通过这条默认路由访问OSPF域内的其他区域,以及域外的网络。这种类型的特殊区域称为Totally NSSA
  4. 各种区域类型中允许出现的LSA
    在这里插入图片描述
    (1,2)ABR会自动下发一条Type-3 LSA的默认路由,除此之外其他的Type-3 LSA都被禁止
LSA处理流程图

在这里插入图片描述

OSPF路由防环机制

OSPF路由的环路避免机制还得依赖于LSA相关的诸多设计

  1. 区域内部路由的防环
    依赖Type-1 及Type-2 LSA,路由器能够描绘出区域内的拓扑及网段信息,从而运行SPF算法,计算出到达每个网段的最优路径,将这些路径安装到路由表中,来实现区域内无环
  2. 区域间路由防环
    (1)OSPF要求所有的非骨干区域必须与Area0直接相连,区域间路由需经过Area0中转
    (2)ABR从非骨干区域收到的Type-3 LSA不能用于区域间路由的计算
    (3)ABR不会将描述到达某个区域内网段路由的 Type-3 LSA 再注入回该区域
    (4)Type-3 LSA还设计了Down-Bit用于在MPLS VPN环境下进行路由防环
    (5)ABR只能将自己到达所连接区域的区域内部路由注入骨干区域,另外,可以将其到达所连接区域的区域内部路由及到达其他区域的区域间路由注入非骨干区域
OSPF路由类型及优先级

区域内路由–区域间路由–Type1外部路由–Type2外部路由

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值