OSPF基础

OSPF基础

  • ospf是基于链路状态的路由协议
  • 基于OSPF算法实现
  • 以“累计链路开销作为度量值选路”

OSPF工作过程

  1. 建立邻居
  2. 同步链路状态数据库
  3. 计算最优路由
    ospf过程.png

OSPF的建立过程

一、邻居建立

ospf邻居建立通过Hello报文完成的
Hello报文作用

  • 邻居发现:自动发现邻居
  • 邻居建立:完成Hello报文中的参数协商
  • 邻居保持:通过Keepalive机制,检测邻居运行状态
    Hello.png

对于不支持组播的网络可以通过手动配置实现邻居的发现与维护。

1
2
ospf 1
peer 10.1.1.2 # 对端接口ip

二、链路状态信息

  • 链路类型
  • 接口IP地址及掩码
  • 链路上所连接的邻居路由器
  • 链路的带宽(开销)
    LSA.png

网络类型

  1. P2P网络

    • 仅两台路由互联
    • 支持广播、组播

p2p.png

  1. 广播型网络

    • 两台或两台以上的路由器通过共享介质互连。
    • 支持广播、组播。

广播型.png

  1. NBMA网络

    • 两台或两台以上路由器通过VC互连。
    • 不支持广播、组播。

NBMA.png

  1. P2MP网络

    • 多个点到点网络的集合。
    • 支持广播、组播。

P2MP.png

OSPF的度量方式

某接口cost=参考带宽/实际带宽。

更改cost的两种方式:

  • 直接在接口下配置;
  • 修改参考带宽(所有路由器都需要修改,确保选路一致性)。

个人看法:路由的出接口;回传路由的入接口

三、报文类型及作用

OSPF报文协议号为89

OSPF报文类型

type 报文名称 报文功能
1 Hello 发现和维护邻居关系
2 Database Description 交互链路状态数据库摘要
3 Link State Request 请求特定的链路状态信息
4 Link State Update 发送详细的链路状态信息
5 Link State Ack 发送确认报文

OSPF报文的功能需求

功能 实现分析
发现邻居与保持 Hello机制即可实现
LSA同步 双方互相发送LSA,完成同步;同时同步速度更快,占用资源更少
可靠性 确保LSA同步过程的可靠性

四、LSDB同步过程

LSDB.png

  1. A向B发送DD报文
  2. B回复A DD报文
  3. A向B发送DD报文 这一步选举自从关系
  4. 这一步确定主从关系
  5. 继续确定
  6. A向B请求LSA信息
  7. B回复A 自己的LSA信息 A则自己计算路由
  8. 最后LSAck确定

五、DR与DBR的选举及作用

在这个网络中就会出现 n×(n−1)/2 个邻接关系
还有重复的LSA泛洪,浪费资源
这时就要选举DR跟BDR

MA网络.png

作用

  • 减少邻居关系
  • 降低OSPF协议流量

怎么选举

选举规则:DR/BDR的选举是基于接口的。

  • 接口的DR优先级越大越优先。
  • 接口的DR优先级相等时,Router ID越大越优先。
  • 是不抢占机制,后加入到网络的的设备,就算接口优先级在高也不是DR
  • 接口优先级为 0 不参与选举

邻居与邻接关系

网络类型 是否建立邻接关系
P2P
Broadcast DR与BDR 、DRother建立邻接关系BDR与DR、DRother建立邻接关系DRother之间只建立邻居关系
NBBMA DR与BDR 、DRother建立邻接关系BDR与DR、DRother建立邻接关系DRother之间只建立邻居关系
P2MP

OSPF 域间路由

ospf多区域

作用:

减少LSA的泛洪

特点

同一区域 交互一类、二类LSA

路由器角色:

  • IR:所有接口都属于一个区域

    1. 区域内路由器只需要维护本区域的路由
  • ABR:设备的接口分别连接多个区域

    1. 但是边界路由器需要维护连接的区域的路由交换

ABR会将一个区域内的一类、二类LSA转换成三类 LSA 发送给别的区域,这时候就不是发送LSA信息了而是转换成路由信息发送别的区域(这个转换传输一定是双向的

一个路由条目对应一个 三类LSA(ABR产生三类LSA)

三类LSA的内容:

名字 解释
LS Type 3类
LS ID 目标网段
ADV R 产生此三类LSA的Routr ID
Net mask 网络掩码
Tos 0 开销值

区域间路由计算

区域间路由计算.png
AR3到达10.0.12.0 网络的cost值为 出接口3+521=524。也就是AR3到达ABR的cost3+AR2本身的LSA3的cost值

区域间路由防环机制

所有区域必须跟Area0相连

这种可以的
Area-OK.png

这种则是不可以的,违反了规则
Area-NO.png

如果非骨干区域没有跟骨干区域相连可以使用虚链路(OSPF的特性之一)来实现互通

虚链接配置

不规范Area划分.png
需要配置虚链路

1
2
3
4
RTB:
[RTB-ospf-1]ospf 1
[RTB-ospf-1]area 1
[RTB-ospf-1-area-0.0.0.1]vlink-peer 3.3.3.3
1
2
3
4
RTC:
[RTC-ospf-1]ospf 1
[RTC-ospf-1]area 1
[RTC-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2

OSPF 域内路由

对于P-2-P网络,可以通过 1类 LSA进行性路由计算
对于MA或者NBMA网路,需要 1类 和 2类 LSA进行路由计算

Route-LSA(一类)

每台开启了OSPF的设备都会产生一类LSA
一类LSA头部信息

信息 描述
Type LSA类型
Ls id 链路状态ID
Adv rtr 产生此LSA的路由器的Router ID

OSPF简单拓扑.png

一类LSA的链路类型(三种):

三种链路类型:

  • P-2-P(拓扑信息):描述本路由器和邻居之间,属于点到点网络
  • StubNet(路由信息):描述一个从本地路由器到一个 stub 网段(Loopback接口)的链路
  • TransNet(拓扑信息): 描述从本地路由器到一个TransNet网段(MA网段或者NBMA网段)的链路

链路状态信息:

LInk Type:LSA类型
Link ID:链路状态ID:生成LSA的RID ,该链路对端的标识,不同的链路类型所对应的LinkID是不同的。

不同链路中 Link ID的含义
P-2-P链路类型中 邻居路由器的RouterID
StubNet链路类型中 stub 网段的 IP 地址
TransNet链路类型中 DR的接口 IP 地址

Data:用于描述粗链路的附加信息,链路类型不同对用的值也不同

不同链路类型中 Data的含义
P-2-P链路类型中 本路由器的接口IP地址
StubNet链路类型中 该Stub网络的网络掩码
TransNet链路类型中 本路由器的接口IP地址

Metric:链路的开销

一条一类LSA可以描述多个链路状态信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# P-2-P网络中
<RTA>display ospf Isdb router self-originate

Type:Router # LSA类型
Ls id: 1.1.1.1 # 链路状态ID
Adv rtr : 1.1.1.1 # 产生此LSA的路由器RouterID

----------------------------------------------------------------
*Link ID: 3.3.3.3 # 邻居路由器的RouterID
拓扑 Data:10.1.13.1 # 宣告该RouterLSA的路由器接口的IP地址
信息 Link Type: P-2-P # 链路类型
Metric:48
----------------------------------------------------------------
Link ID: 10.1.13.0 # 该Stub网络的IP地址
路由 Data:255.255.255.0 # 该Stub网络的网络掩码
信息 Link Type: StubNet # 链路类型
Metric:48 # 开销值
Priority : Low
----------------------------------------------------------------


# MA或者NBMA网络中
<RTC>display ospf Isdb router self-originate

Type: Router # LSA类型
Ls id:3.3.3.3 # 链路状态ID
Adv rtr :3.3.3.3 # 产生此LSA的路由器的RouterID

----------------------------------------------------------------
LinkID:10.1.235.2 # DR的接口IP地址
拓扑 Data:10.1.235.3 # 宣告该RouterLSA的路由器接口的IP地址
信息 Link Type: TransNet # 链路类型
Metric : 1
----------------------------------------------------------------

Network-LSA(二类)

只有DR会产生二类LSA
一类LSA头部信息

信息 描述
Type LSA类型
Ls id DR的接口IP地址
Adv rtr DR的Router ID
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<RTB>displayospfIsdbnetworkself-originate
OSPF Process 1 with Router ID 2.2.2.2
Area: 0.0.0.0
Link State Database
----------------------------------------------------------------
Type:Network # LSA类型
Ls id:10.1.235.2 # DR接口的IP地址
Adv rtr: 2.2.2.2 # DR的RouterID
拓扑信息 Net mask : 255.255.255.0 # 网络掩码
路由信息 Priority : Low
Attached Router2.2.2.2 # 连接到该网段的路由器列表
Attached Router3.3.3.3
Attached Router5.5.5.5
----------------------------------------------------------------

OSPF基础
http://www.xiao-zhi.xin/2024/12/17/OSPF/
作者
小志
发布于
2024年12月17日
更新于
2024年12月20日
许可协议