技术背景
OSPF
网络规模扩大
网络可靠性要求提高
网络异构化趋势加强
图示
RIP
RIP协议缺点
逐跳收敛,收敛速度慢(周期30s),故障恢复时间长
分布式路由计算,缺少对全局网络拓扑的了解
以“跳数”为度量,存在选择次优路径的风险
图示
解决办法
图表
RIP的问题 优化或解决方法 收敛速度慢 触发式更新 缺少对全局网络拓扑的了解 路由器基于拓扑信息,独立计算路由 存在选择次优路由的风险 将链路带宽作为选路参考值
图示
OSPF协议
简介
内容
- 路由信息的传递(LSA)与路由计算(SPF算法)分离
- 基于SPF算法
- 以“累计链路开销”作为选路参考值
- 链路状态路由协议LSA
图示
OSPF工作流程
工作流程
建立邻居(Hello包,OSPF状态)
同步数据链路状态
计算路由
通过LSDB掌握全网的拓扑结构,一个区域内的LSDB都是同步的
图示
设备内部的变化
OSPF流程
OSPF RID
简介
用于自治系统中来标识唯一的路由器,每台运行OSPF的路由器都有一个唯一的Router ID
配置方式:自动或者手动
图示
Router ID配置方式
- 自动配置
- 首先看有没有回环口,有回环口则用回环口的IP地址
- 如果没有回环口,则从物理接口或者虚拟接口中选择IP地址最大的作为Router ID
- 如果没有配置Router ID,则Router ID为0.0.0.0,此时OSPF协议没有启动起来
- 手动配置
- 在开启OSPF协议的同时,直接设置Router ID
- 强烈建议手动配置
OSPF建立邻居
OSPF邻居建立的过程
两个三层设备没有开启OSPF协议之前,down状态
当两个三层设备同时开启OSPF协议,此时两个三层设备都会同时发送Hello数据包
A设备给B设备发送Hello包,其中没有与B设备相关的路由信息,B设备也给A设备发送Hello包,也没有与A设备相关的路由信息,此时两个设备进入init状态
当两个设备发送Hello包,同时也互相包含了对方的路由信息,此时两个设备都进入2-way状态,也是建立邻居的状态
图示
手动建立邻居
OSPF支持通过单播方式建立邻居关系
对于不支持组播的网络通过手动配置实现邻居的发现与维护
图表
命令 备注 ospf 1 router id 1.1.1.1 创建OSPF进程 peer 192.168.1.1 手动创建邻居
图示
OSPF建立邻接
LSDB同步
- 创建邻居关系(2-way状态)后,开启OSPF协议的三层设备进入ExStart状态,两个三层设备互相发送DD(Database Description)数据包,此时两个三层设备的DD数据包中,都表明自己是Master
- 当两个设备都收到对方的DD数据包之后,会比较两个三层设备的Router ID,Router ID大的作为Master,选举Master的作用为了遵从Master的序列号
- 选举完Master之后,进入ExChange状态,此时两个三层设备会发送DD数据包,比较两个三层设备的LSDB数据库,只更新自己LSDB数据库中没有的路由信息
- 此时进入Loading状态,两个设备会发送LS Request数据包,请求对方发送自己LSDB中没有的路由信息
- 收到LS Request 的设备会发送LS Update 数据包,将路由信息发送给请求方
- 请求方收到LS Update之后,会给发送方回复确认信息的LS ACK的数据包,此时进入Full状态
图示
OSPF区域划分
OSPF单区域问题
收到LSA通告太多,LSDB过于庞大,OSPF路由器的负担会很大
内部动荡会引起全网路由器重新进行SPF计算
资源消耗过多,LSDB庞大,设备性能下降,影响数据转发的效率
每台路由器都需要维护的路由表越来越庞大,单区域无法进行汇总
图示
OSPF单区域问题解决办法(划分区域)
较少LSA泛洪的范围,有效的把拓扑控制在区域内,达到优化网络的目的、
在区域边界可以做路由汇总,较少路由表
充分利用OSPF特殊区域的特性,进一步减少LSA泛洪,从而优化路由
多区域提高了网路的扩展性,有利于组建更大规模的网络
图示
OSPF单区域配置案例
拓扑
实验结果对比
以太网段的也运行OSPF
结果
验证命令
命令 备注 dis ospf peer brief 查看邻居状态 dis ospf routing 查看OSPF路由表 dis ospf lsdb 查看OSPF的LSDB dis ospf interface 查看OSPF接口 dis ospf abr-asbr 查看ABR和ASBR
OSPF 度量值Cost
OSPF度量值计算
公式:Cost = 带宽参考值/实际带宽
更改Cost的两种方式
- 直接在接口上配置
- 修改带宽参考值(所有路由器都需要修改,确保选路一致)
路由Cost计算三层设备哪个接口的Cost
- 数据发送方式,看的是出接口
- 路由方向,看的是入接口
图示
网络类型(基于接口)
图表
网络类型 | 常见链路层协议 |
---|---|
P2P Point-to-Point | PPP链路,HDLC链路 |
Broadcast | Ethernet链路 |
NBMA | FR链路、ATM链路 |
P2MP Point-to-MultiOoint | 无 |
Virtual Link VC | 虚连接 |
P2P网络
仅两台路由器互联
支持广播、组播
图示
BMA 广播型网络
两台或者两台以上的路由器通过共享介质互联
支持广播、组播
选举DR、BDR
图示
NBMA网络
非广播多路访问
两台或两台以上路由器通过VC互连
DLCI,Data Link Connection Identifier数据链路连接标识符,约等于交换机的二层MAC地址
不支持广播、组播,单播建立邻居
图示
P2MP网络
点到多点
两台或两台以上路由器通过VC互连
支持广播、组播
图示
虚连接(Virtual Link)
背景
- 为了避免区域(area)间的环路,OSPF规定:不允许直接在两个非骨干区域之间发布路由信息。只允许在一个区域内部或者在骨干区与非骨干区之间发布路由信息
- 每个ABR(边界路由器)必须直接连接到骨干区域。即要求所有非骨干区域必须与骨干区域连接,同时骨干区域之间也必须连接
- 由于网络设计、升级、合并、改造等因素,从而造成不规范区域架构,最终导致路由学习不完整 ,解决方法:使用虚链路
- 虚链路的存在增加网络的复杂性,使得故障的排除比较困难。应该尽量避免使用虚链路
- 虚链路作为:修复无法避免:的网络拓扑问题的一种临时手段
- 虚链路可以作为标明网络的某个部分是否需要重新规划设计的标志
域内区域间环路
路由环路
不规范的路由架构
避免域间环路
实验
拓扑
配置
图表
命令 备注 vlink peer x.x.x.x 配置虚连接,使用端口Router ID display ospf vlink 验证虚连接
R1配置
1
2
3
4
5
6
7
8
9
10
11sys
sys R1
int g0/0/0
ip add 12.0.0.1 24
int lo 1
ip add 1.1.1.1 32
ospf 1 router-id 1.1.1.1
area 0
net 12.0.0.0 0.0.0.255
net 1.1.1.1 0.0.0.0
R2配置
1
2
3
4
5
6
7
8
9
10
11
12
13sys
sys R2
int g0/0/0
ip add 12.0.0.2 24
int g0/0/1
ip add 23.0.0.1 24
ospf 1 router-id 2.2.2.2
area 0
net 12.0.0.0 0.0.0.255
area 1
net 23.0.0.0 0.0.0.255
vlink-peer 3.3.3.3
R3 配置
1
2
3
4
5
6
7
8
9
10
11
12
13sys
sys R3
int g0/0/0
ip add 23.0.0.2 24
int g0/0/1
ip add 34.0.0.1 24
ospf 1 router-id 3.3.3.3
area 2
net 34.0.0.0 0.0.0.255
area 1
net 23.0.0.0 0.0.0.255
vlink-peer 2.2.2.2
R4配置
1
2
3
4
5
6
7
8
9
10
11sys
sys R4
int g0/0/0
ip add 34.0.0.2 24
int lo 1
ip add 4.4.4.4 32
ospf 1 router-id 4.4.4.4
area 2
net 34.0.0.0 0.0.0.255
net 4.4.4.4 0.0.0.0
验证
抓包
虚链路发送的包
ping
总结
邻居邻接关系
网络类型 | 是否和邻居建立邻接关系 |
---|---|
P2P | 是 |
Broadcast | DR与BDR、DR Others建立邻接关系 BDR与DR、DR Others建立邻接关系 DR Others之间建立邻居关系 |
NBMA | DR与BDR、DR Others建立邻接关系 BDR与DR、DR Others建立邻接关系 DR Others之间建立邻居关系 |
P2MP | 是 |
DR与BDR
MA网络中的问题
需要n x (n-1)/2个邻接关系,管理复杂
重复的LSA泛洪,造成资源浪费
图示
DR与BDR作用
减少邻接关系
降低OSPF协议流量
图示
DR与BDR选举
- 选举原则
- 基于接口
- DR、BDR选举具有非抢占性
- 选举规则
- 首先看接口的优先级 ,优先级越大的越优先
- 接口的优先级相同的时候,看接口的router-id,router-id越大越优先
- 图示
实验
拓扑
配置
帧中继DLCI配置
到对端的路径
关闭
命令
图表
命令 备注 ospf network-type
broadcast
nbma
p2mp
p2p配置接口OSPF网路类型
回环口/32主机路由现象:
OSPF认为回环口只有一个地址,因此在传递时
自动变成/32主机路由信息,可以通过修改网络累心为Broadcast来进行还原peer x.x.x.x 手动配置邻居 ospf dr-priority 100 配置接口优先级
默认为1
只有Broadcast和NBMA接口会进行DR与BDR选举
配置
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
28sys
sys R1
int s4/0/0
ip add 123.0.0.1 24
link-protocol fr
#关闭
undo fr inarp
#手动配置FR映射
fr map ip 123.0.0.2 102 broadcast
fr map ip 123.0.0.3 103 broadcast
#帧中继交换中配置DLCI
ospf 1 router-id 1.1.1.1
area 0
net 123.0.0.0 0.0.0.255
q
#手动配置邻居
peer 123.0.0.2
peer 123.0.0.3
#接口网络累心修改
int s4/0/0
ospf network-type p2mp
结果验证
FR抓包
OSPF端口状态
OSPF Attempt状态
OSPF接口网络类型修改