文章目录
- 一、OSPF协议概述
- 1.1 OSPF工作过程
- 1.2 OSPF的三张表
- 1.3 OSPF邻居状态机
- 1.4 OSPF建立邻居的条件
- 二、OSPF区域
- 2.1 OSPF区域划分
- 2.2 OSPF的特殊区域,使用场合,作用及生成的默认路由
- 三、OSPF路由器
- 3.1 路由器的类型
- 3.2 Router ID
- 3.2.1 定义
- 3.2.2 Router ID 选取规则
- 3.2.3 OSPF设置Router ID的方法
- 3.3 DR与BDR
- 3.3.1 DR和BDR的选举方法
- 自动选举DR和BDR
- 手工选举DR和BDR
- 3.3.2 DR和BDR的选举过程
- 3.4 OSPF的度量值
- 四、OSPF中的数据传输
- 4.1 OSPF包类型及作用
- 4.2 OSPF将网络分为四种类型
- 4.3 LSA的定义与类型
- 4.3.1 LSA的类型
- 4.3.2 查看各类LSA的命令
- 五、OSPF多区域的生成
- 5.1 生成OSPF多区域的原因
- 5.2 OSPF的三种通信量
- 5.3 虚链路
- 5.3.1 使用场合
- 5.3.2 作用
- 5.3.3 命令
- 5.3.4 注意
- 5.4 重分发
- 5.4.1 OSPF与RIP的重分发
- 5.4.2 重分发过程中下发默认路由
- 六、OSPF的特点
- 七、OSPF与RIP区别
一、OSPF协议概述
内部网关协议
属于IP协议,协议号为89号
DRother(其他路由器)的组播地址为224.0.0.5
DR(主路由器)/BDR(备份路由器)的组播地址为224.0.0.6
1.1 OSPF工作过程
链路状态路由协议(也可以说OSPF)工作原理:
每台路由器通过使用Hello报文与它的邻居之间建立邻接关系;
每台路由器向每个邻居发送链路状态通告(LSA),有时叫链路状态报文(LSP). 每个邻居在收到LSP之后要依次向它的邻居转发这些LSP(泛洪);
每台路由器要在数据库中保存一份它所收到的LSA的备份,所有路由器的数据库应该相同;
依照拓扑数据库每台路由器使用Dijkstra算法(SPF算法)计算出到每个网络的最短路径,并将结果输出到路由选择表中。
1.2 OSPF的三张表
1、邻居列表;
2、链路状态数据库;(拓扑表)
3、路由表。
其更新方式—触发更新
1.3 OSPF邻居状态机
状态 | 描述 |
1)Down | 邻居状态机的初始状态,是指在过去的Dead—Internet时间内没有收到对方的Hello报文或OSPF没启动时。 |
(1-2)Attempt | 只适用于NBMA类型的接口,处于本状态时,定期向那些手工配置的邻居发送Hello报文。 |
2)Init | 本状态表示已经收到了邻居的hello报文,但是该报文中列出的邻居中没有包含我的Router ID(对方并没有收到我发的hello报文)。 |
3)2-way: | 本状态表示双方互相收到了对端发送的hello报文,建立了邻居关系。在广播和NBMA类型的网络中。 |
4)Exstart | 在此状态下,路由器和它的邻居之间通过互相交换DD报文(该报文并不包含实际的内容,只包含一些标志位)来决定发送时的主/从关系。建立主/从关系主要是为了保证在后续的DD报文交换中能够有序的发送。 |
5)Exchange | 路由器将本地的LSDB用DD报文来描述,并发送给邻居。 |
6)Loading | 路由器发送LSR报文向邻居请求对方的DD报文。 |
7)Full | 在此状态下,邻居路由器的LSDB中所有的LSA本路由器全都有了。即,本路由器和邻居建立了邻接(adjacency)状态。 |
1.4 OSPF建立邻居的条件
1、Router-ID不能相同
2、Hello时间必须一致
3、Dead时间必须一致
4、区域ID必须相同
5、认证必须相同
6、STUB标志位必须相同(直连路由器特殊区域要求一致)
7、三层MTU不匹配无法形成邻接关系。(一边是Exstart,一边是Exchange)
8、OSPF版本号不相同(目前版本为2)
9、当OSPF网络类型是MA时,要求掩码一定一致(两个邻居)。因此会出现DR和LSA-2无法描述网段。
二、OSPF区域
为了适应大型的网络,OSPF在AS内划分多个区域。
每个OSPF路由器只维护所在区域的完整链路状态信息。(LSA)
区域:区域ID可以表示一个十进制数字,也可以表示一个IP。
2.1 OSPF区域划分
Area0:骨干区域
Area1、Area2:非骨干区域,其中非骨干区域又分为标准区域和特殊区域。
2.2 OSPF的特殊区域,使用场合,作用及生成的默认路由
三、OSPF路由器
3.1 路由器的类型
3.2 Router ID
3.2.1 定义
OSPF区域内唯一标识路由器的地址
必须给每一个OSPF路由器定义一个身份,就相当于人的名字,这就是Router-ID,并且Router-ID在网络中绝对不可以有重名,否则路由器收到的链路状态。
3.2.2 Router ID 选取规则
- 可以使用router-id命令指定router id
- 选取路由器loop back连接数值最高的IP地址
- 如果没有loop back接口,在物理端口中选举IP地址最高的
改完接口优先级后,记得清除OSPF进程
3.2.3 OSPF设置Router ID的方法
1、对全局有效:
[R1]router-id 1.1.1.1
2、只在OSPF中有效:
[R1]OSPF 1 router-id 1.1.1.1
3.3 DR与BDR
DR(主路由器)/BDR(备份路由器)
DRother(其他路由器)
其它路由器只和DR和BDR形成邻接关系
每一个网段选举一个DR和BDR
3.3.1 DR和BDR的选举方法
自动选举DR和BDR
网段上router id 最大的路由器将被选举为DR,第二大的将被选举为BDR
手工选举DR和BDR
优先级范围是0-255,数值越大,优先级越高,默认值为1
如果优先级相同,则需要比较router 值
如果路由器的优先级被设置为0,它将不参与DR和BDR选举
3.3.2 DR和BDR的选举过程
路由器的优先级可以影响一个选举过程,选举已完成,但是它不能强制更换已经存在的DR和BDR路由器。
3.4 OSPF的度量值
度量值为cost:10^8/BW(百兆宽带)
四、OSPF中的数据传输
4.1 OSPF包类型及作用
4.2 OSPF将网络分为四种类型
点对点网络(Point-to-Point)
广播多路访问网络(Broadcast MultiAcess BMA)
非广播多路访问网络(None Broadcast MultiAcess NBMA)
点到多点网络(Point-to-Multipoint)
4.3 LSA的定义与类型
LSA(链路状态广播)是链接状态协议使用的一个分组,它包括有关邻居和通道成本的信息。 LSA被路由器接收用于维护它们的路由选择表。
4.3.1 LSA的类型
4.3.2 查看各类LSA的命令
五、OSPF多区域的生成
5.1 生成OSPF多区域的原因
- 改善网络的可扩展性
- 快速收敛
5.2 OSPF的三种通信量
5.3 虚链路
5.3.1 使用场合
一个非骨干区域跨越一个非骨干区域时使用。
5.3.2 作用
帮助这个非骨干区域获取完整的lsdb。
5.3.3 命令
非骨干区域的中转区域打
[R1] ospf
[R1]area1
[R1]vlink-peer 对端 router-id
对端路由器在相同区域设置同样的命令
5.3.4 注意
虚链路只能帮助一个非骨干区域跨越非骨干区域,虚链路属于区域0。
5.4 重分发
5.4.1 OSPF与RIP的重分发
需要在ASBR中输入
ospf 1
import-route rip 1 cost 10
rip 1
import-route ospf 1 cost 0
5.4.2 重分发过程中下发默认路由
ospf中下发默认路由给其他ospf邻居
default-route-advertise always cost 0
rip中下发默认路由给其他rip邻居
default-route originate cost 0
六、OSPF的特点
- 可适应大规模网络
- 路由变化收敛速度快
- 无路由环
- 支持变长子网掩码VLSM
- 支持区域划分
- 支持以组播地址发送协议报文
七、OSPF与RIP区别