OSPF 协议 1(基础)

Last modified date

OSPF

reset ospf process # 重新计算路由

  • 核心和汇聚层部署在OSPF骨干区域。
  • 接入和汇聚层部署在OSPF非骨干区域。

概述

Open Shortest Path First,开放式最短路径优先

基于链路状态 的内部网关协议

大型企业网络中通常部署OSPF实现各个楼宇的网络之间的路由可达。


OSFP 特征

  1. 把 AS (自治系统 或 自治域)划分成逻辑上的,一个或多个区域。
  2. 通过 LSA (链路状态通告)的形式发布路由。
  3. 依靠在 OSPF 区域内各设备间 交互 OSPF 报文 来同步路由。
  4. OSPF 报文封装在 IP 报文内,可采用 单播 或 组播 的形式发送。

OSFP 术语

  1. Router ID:自治系统中 唯一标识一台运行 OSPF 的路由设备。
  2. 链路:路由设备接口。
  3. 链路状态:接口与相邻路由设备关系的描述。链路状态的集合叫做 LSDB(链路状态数据库)。
  4. Cost:路由器的 度量值(开销)。
    1. 每个激活 OSPF 的接口都有 Cost 值。
    2. OSPF 的 Cost 依据接口带宽来确定,带宽越大,开销越低。
    3. 一条 OSPF 路由的 Cost ,是该路由从 起始 到达 本机 所有进入端口,开销的总和。
  5. 区域:自治域内,通过 OSFP 逻辑上划分的区域(area)。
    1. 一组共享状态链路信息的 路由设备。
    2. 同组内,LSDB 相同。
  6. 自治系统:使用 统一路由协议 交换路由信息 的 路由设备 和 网络 构成的系统。
  7. LSA:描述 路由器 和链路 状态。
    1. 包含 路由器接口状态、邻接状态。
    2. 不同类型 LSA 功能也不同。
  8. 邻居:两台路由设备,共享一条链路,且能协商 Hello 报文数据包中 指定的一些参数。
  9. 邻接:相互交换 LSA 的 OSPF 邻居,建立的关系。
  10. DR:指定路由器。
    1. area 内,由 DR 向其他 路由设备 同步LSDB。
    2. 新接入设备 优先级比 DR 大,也不会立即更换 DR。
  11. BDR:备份指定路由。
    1. area 内,DR 失效时,由 BDR 同步 LSDB。

OSFP 路由器类型

OSPF 按接口划分 区域。

非零区域 必须 与 0 区域 在同一个设备互联。

  1. BR:骨干路由。
    1. 至少有一个接口属于 骨干区域。
  2. IR:区域内路由。
    1. 所有接口属于同一个。
  3. ABR:区域边界路由。
    1. 同时属于 两个及以上 的区域,且必须包括 区域 0 。
  4. ASBR:自治区域边界路由。
    1. 区域内 OSPF 路由,引入 外部路由,就是 ASBR 设备。

OSPF 区域类型

  1. 骨干区域
    1. 链接其他区域的 核心区域,area 0。
  2. 标准区域
    1. 传输 区域内路由,区域间路由,外部路由。
    2. 非 area区域,且未配置 末节区域
  3. stub 区域
    1. 拒绝 4、5 类 LSA
    2. 自动下发一条 3类 LSA
  4. Totally stub 区域
    1. 拒绝 3、4、5 类 LSA
    2. 自动下发一条 3类 LSA
  5. NSSA 区域
    1. 拒绝 4、5 类 LSA ,引入 7类 LSA
    2. 自动下发一条 7类 LSA
  6. Totally NSSA 区域
    1. 拒绝 3、4、5 类 LSA ,引入 7类 LSA
    2. 自动下发一条 3类 和 7类 LSA

OSPF LSA 类型

报文字段

  1. LS Age:LSA 的老化时间,表示已生存的 时间。
  2. Options:每个 bit 对应 所支持的某个特性。
  3. LS Type:LSA 的类型。
  4. Link State ID:链路状态的 ID,不同LSA,对应的也不同。
  5. Advertising Routing:通告路由器,产生 LSA 的路由器 Router ID。
  6. LS Sequence Number:链路状态序号,当 LSA 产生新的实例,序号就会增加。
  7. LS checksum:校验,保证数据完整性。
  8. Length:LSA 的总长度(包含LSA的头部)。

报文类型

  1. LSA 1 类:Router
    1. 每个设备都会产生。
    2. 描述设备链路状态和开销。
    3. 在所属区域内产生。
  2. LSA 2 类:Network
    1. 由 DR 产生。
    2. 描述本网段的链路状态。
    3. 在所属区域内产生。
  3. LSA 3 类:Network-summary
    1. 由 ABR 产生。
    2. 描述 区域内 某个网段的路由,并通告其他区域。
  4. LSA 4 类:ASBR-summary
    1. 由 ABR 产生。
    2. 描述到 ASBR 的路由,通告给非此 ASBR 所在的区域。
  5. LSA 5 类:AS-external
    1. 由 ASBR 产生。
    2. 描述到 AS 外部的路由,通告到所有区域。
  6. LSA 7 类:NSSA
    1. 由 ASBR 产生。
    2. 描述到 AS 外部的路由,仅在 NSSA 区域内传播。

OSPF 数据报文类型

OSPF 使用 IP 协议 封装报文,协议号 89。

  1. Hello:周期性发送,发现和维持 OSPF 邻居关系。
  2. DD:描述本地的 LSDB 摘要信息,用于两台设备进行数据同步。
  3. LSR:向 对方(指定路由,DR)请求所需的 LSA。
    1. 只有在 DD 报文交互后才发送。
    2. 接收到的数据 类似对方 LSDB 数据目录。
  4. LSU:向对方 (指定路由,DR)请求所需(本设备没有的)的 LSA。
    1. 可发送多次。
  5. LSA:对收到的 LSA 进行确认。
    1. 同步完成后 发送 LSA 回复。

OSPF 路由类型

AS 区域内路由 和 区域间路由,描述的是 AS 内部的 网络结构。

AS 的 外部路由 描述了到 除 AS 以外的目的地址路由。

外部路由分为 Type1 、Type2 两类。

  1. Intra Area
    1. 区域内路由
    2. 区域间路由
  2. Transit/Stub
    1. 区域内部路由
    2. MA 网络(如以太网,传输网络的中间节点) 或 末梢网络路由(如Loopback接口)。
  3. ASE
    1. 引入外部自治系统的路由。
  4. NSSA
    1. NSSA 区域引入外部的路由。
  5. Type 1 (一类外部路由)
    1. 可信度高。
    2. 开销 = 本地路由到 ASBR 的开销 + ASBR 到目的地址的开销。
    3. 存在多个 ASBR 时,每条路径分别计算开销,得到的值 用于路由选路。
  6. Type 2(二类外部路由)
    1. 可信度较低,OSPF 认为 从 ASBR 到自治系统外的路由开销,远大于 自治系统内 到达 ASBR 的开销。
    2. OSPF 计算开销,只考虑 ASBR 到外部的开销,即 开销 = ASBR 到目的地址的开销。
    3. 多个 ASBR 转向相同地址时。
      1. 比较引入路由开销,选取最小值,进行路由引入。
      2. 开销相同,在比较 本路由 到相应的 ASBR 开销,选取最小值 进行路由引入。
      3. 无论选取哪条,第二类外部路由开销,都等于 ASBR 到该目的地址的开销。

OSPF 邻居关系

代表邻居状态

1、2、3:交换 Hello 报文。

4、5:确定主从关系。

6、7:交换 LSDB 数据目录,同步 LSDB 数据。

8:接收到 LSR请求,类型为 LSA;完成 区域内 LSDB 同步。

  1. Down:
    1. 邻居会话初始阶段。
    2. 未收到邻居 Hello 报文。
  2. Attenpt:
    1. 仅发生在 NBMA 网络中。
    2. 对端邻居在报文 失效前,未发送 Hello 报文。(简化:未收到 Hello 报文)
    3. 此时 设备还在 向对端发送 Hello 报文。
  3. Init:
    1. 收到 Hello 报文。
    2. 变更状态 为 Init。
  4. 2Way:
    1. 收到 Hello 报文,存在本机的 RouterID,则状态转为 2Way。
    2. 若不需要转为 邻接 关系,则状态定为 2Way。否则进入下一阶段 ExStart。
  5. ExStart:
    1. 协商主从关系,确定 DD 序列号。
  6. Exchange:
    1. 主从关系协商完毕后,交换 DD 报文,此时为 Exchange。
  7. Loading:
    1. DD 报文交换完成 Exchange done,进入 Loading 状态。
  8. Full:
    1. LSR 重传列表为空,进入 Full。

滑稽的菊花