[TOC]

前言

OSPF路由协议是用于网际协议(IP)网络的链路状态路由协议。该协议使用链路状态路由算法的内部网关协议(IGP),在单一自治系统(AS)内部工作。适用于IPv4的OSPFv2协议定义于RFC 2328,RFC 5340定义了适用于IPv6的OSPFv3。

开放式最短路径优先(Open Shortest Path First,OSPF)是目前广泛使用的一种动态路由协议,它属于链路状态路由协议,具有路由变化收敛速度快、无路由环路、支持变长子网掩码(VLSM)和汇总、层次区域划分等优点。在网络中使用OSPF协议后,大部分路由将由OSPF协议自行计算和生成,无须网络管理员人工配置,当网络拓扑发生变化时,协议可以自动计算、更正路由,极大地方便了网络管理。但如果使用时不结合具体网络应用环境,不做好细致的规划,OSPF协议的使用效果会大打折扣,甚至引发故障。

OSPF协议是一种链路状态协议。每个路由器负责发现、维护与邻居的关系,并将已知的邻居列表和链路费用LSU(Link State Update)报文描述,通过可靠的泛洪与自治系统AS(Autonomous System)内的其他路由器周期性的交互,学习到整个自治系统的网络拓扑结构;并通过自治系统边界的路由器注入其他AS的路由信息,从而得到整个Internet的路由信息。每隔一个特定时间或当链路状态发生变化时,重新生成LSA,路由器通过泛洪机制将新LSA通告出去,以便实现路由的实时更新。

一:OSPF的基本概念和工作过程

1.1:OSPF路由协议概述

1.1.1:自治系统(AS)

多个路由跑相同路由进程协议的区域 成为AS区域系统。

OSPF协议简介及单区域OSPF路由简单实例_第1张图片

1.1.2:内部网关协议(IGP)

在区域内部跑的进程协议

如:RIP,OSPF,ISIS等

OSPF协议简介及单区域OSPF路由简单实例_第2张图片

1.1.3:外部网关协议(EGP)

在区域外跑的进程协议

OSPF协议简介及单区域OSPF路由简单实例_第3张图片

1.1.4:OSPF是链路状态路由协议

OSPF协议简介及单区域OSPF路由简单实例_第4张图片

1.2:OSPF的工作过程

1.2.1:建立邻居列表

如图,A通过建立邻接关系,学习到所有的链路状态信息,即所有的网段信息。

1.2.2:链路状态数据库

A将学习到的链路状态信息存储在自己的链路状态数据库中。

1.2.3:形成路由表

A的链路状态数据库通过 Dijkstra算法 算出A到达每一个地点的最短路径,形成最短路径树。最终生成路由表。

OSPF协议简介及单区域OSPF路由简单实例_第5张图片

1.3:OSPF的基本概念

1.3.1:OSPF区域

OSPF在AS内划分多个区域,其中必须有个骨干区域,且骨干区域有且仅有一个。骨干区域负责区域间路由信息传播。

另,其他区域必须经过骨干区域转发,所有区域必须和骨干区域直接连接!

其他称作标准区域或非主干区域。

区域ID可以表示层一个十进制的数字。即area 0(0-9)

每个OSPF路由器只维护所在区域的完整链路状态信息

OSPF协议简介及单区域OSPF路由简单实例_第6张图片

1.3.2:Router ID

OSPF区域内唯一标识路由器的IP地址。

OSPF协议简介及单区域OSPF路由简单实例_第7张图片

1.3.3:Router ID选取规则

优先选取loopback接口最为Router ID,因为loopback是路由器上的虚接口,这样的话,即使物理端口损坏也不影响Router ID。

也可以使用 router-id 命令指定Router ID。这个命令是我们常用的。

OSPF协议简介及单区域OSPF路由简单实例_第8张图片

1.3.4:DR 和 BDR

DR ,BDR 和其他路由中

1 DR: 区域当中的主路由,有且仅有一个

2 BDR:区域当中的备份路由,有且仅有一个

3 除了DR 和 BDR 都是其他路由

其他路由器只和 DR 和 BDR 形成邻接关系。主路由负责通告信息,备份路由负责准备顶替 DR

其他路由器发送信息只能到达DR 和BDR(一个组播) ,DR再发送通告信息(第二个组播)。其中存在两个组播信息。

DR 和 BDR 负责监控其他路由发来的信息。

OSPF协议简介及单区域OSPF路由简单实例_第9张图片

1.3.5:DR 和 BDR 的选举方法

路由优先级也被称为路由的“管理距离”,是一个正整数,范围0~255,它用于指定路由协议的优先级。

常见的OSPF路由优先级为110.

OSPF协议简介及单区域OSPF路由简单实例_第10张图片

1.3.6:DR 和 BDR 的选举过程

路由器的优先级可以影响一个选举过程,但是他不能强制更换已经存在的DR或BDR路由器。

即,我们第一个启动的OSPF路由器就会变成DR。第二个启动的OSPF的路由器会变成BDR。而第三个和以后开启的路由器即使路径再短,也无法更改现有的DR 和 BDR。

OSPF协议简介及单区域OSPF路由简单实例_第11张图片

1.3.7:OSPF的组播地址

224.0.0.5 DR/BDR发出的

224.0.0.6 其他路由发出的

OSPF协议简介及单区域OSPF路由简单实例_第12张图片

1.3.8:OSPF的度量值为COST

COST=10^8/BW BW(带宽) COST 数制越小越好,说明带宽越高

COST越低,带宽越高,路径越短。

最短路径是基于接口指定的代价cost计算的

OSPF协议简介及单区域OSPF路由简单实例_第13张图片

二:OSPF的数据包类型

2.1:OSPF数据包

承载在IP数据包内,使用协议号89

OSPF协议简介及单区域OSPF路由简单实例_第14张图片

2.2:OSPF的包类型

OSPF的包类型 描述
Hello包 用于发现和维持邻居关系,选举DR 和BDR
数据库描述包(DBD) 用于向邻居发送摘要信息以同步链路状态数据库
链路状态请求包(LSR) 在路由器收到包含新信息的DBD后发送,用于请求更详细的信息
链路了状态更新包(LSU) 收到LSR后发送链路状态通告(LSA),一个LSU数据包可能包含几个LSA
链路状态确认包(LSAck) 确认已经收到LSU,每个LSA需要被分别确认

OSPF协议简介及单区域OSPF路由简单实例_第15张图片

三:OSPF邻接关系

3.1:OSPF邻接关系的建立(7个状态)(重点)

状态 描述
Down状态 只知道自己的ID,不知道其他任何路由器
Init状态(初始化状态) Down状态的端口接收到Hello信息后,自动激活init状态,此时,只能接收Hello包,不能发送Hello包
2-Way状态 route系统加载完成后从Init状态进入2-Way状态。2-Way状态中既可以接收Hello包也可以发送Hello包(选举出两个最大的Router ID,但是并不会确定主从路由身份)
ExStart状态(准启动状态) 确定主从路由身份。即确定DR和BDR身份。
Exchange状态 交换DBD信息库,同时接收到后也会有LSACK包。
Loading状态 最繁忙状态,包的种类最多,有LSR,LSU(包含多个LSA),LSACK,形成的路由表
Full 状态 稳定状态开始转发数据包

OSPF协议简介及单区域OSPF路由简单实例_第16张图片

OSPF协议简介及单区域OSPF路由简单实例_第17张图片

3.2:OSPF的网络类型

OSPF协议简介及单区域OSPF路由简单实例_第18张图片

3.3:以下几方面考虑OSPF的使用(应用环境)

OSPF协议简介及单区域OSPF路由简单实例_第19张图片

3.4:OSPF的特点(重点)

OSPF协议简介及单区域OSPF路由简单实例_第20张图片

3.5:OSPF与RIP的比较

OSPF协议简介及单区域OSPF路由简单实例_第21张图片

四:OSPF单域的配置

4.1:OSPF的基本配置命令

OSPF协议简介及单区域OSPF路由简单实例_第22张图片

OSPF协议简介及单区域OSPF路由简单实例_第23张图片

OSPF协议简介及单区域OSPF路由简单实例_第24张图片

五:OSPF单域配置实验

5.1:实验目的

配置OSPF实现全网互通

5.2:环境

GNS3软件

三台初始化路由器

两台初始化主机

5.3:实验过程(七步)

OSPF协议简介及单区域OSPF路由简单实例_第25张图片

OSPF协议简介及单区域OSPF路由简单实例_第26张图片

OSPF协议简介及单区域OSPF路由简单实例_第27张图片

OSPF协议简介及单区域OSPF路由简单实例_第28张图片

OSPF协议简介及单区域OSPF路由简单实例_第29张图片

OSPF协议简介及单区域OSPF路由简单实例_第30张图片

OSPF协议简介及单区域OSPF路由简单实例_第31张图片

5.4:总结

1.注意IP地址不要搞错

2.配置Router ID 命令:

int loopback 0

ip add 1.1.1.1 255.255.255.255

no shut

3.配置OSPF命令

router ospf 1(同一个区域,路由器的进程号必须相同)

router-id 1.1.1.1(进入router id)

network 192.168.10.0 0.0.0.255 area 0(宣告直连网段和区域)