OSPF的基本概念及但区域配置
OSPF
路由协议是一种链路状态路由协议。
一、
OSPF
路由协议的概述
开放式最短路径优先协议(
open sortest path first ,OSPF
)是基于开放标准的链路状态路由选择协议。
二、
OSPF
是内部网关路由协议。
内部网关路由协议(
IGP
)
:
用于单一自治系统内决策路由。
像
RIP V1
、
RIP V2
和
OSPF
都属于内部网关路由协议(
IGP
)。与内部网关路由协议像对应的外部网关路由协议(
EGP
)
,
外部网关路由协议用于在多个自治系统之间执行的路由。
三、
OSPF
区域
四、
OSPF
是链路状态路由协议
五、
Router ID
六、
Router ID
是在
OSPF
区域内唯一标识一台路由器的
IP
地址。
Cisco
路由器通过下面的方法得到他们的
Router ID
首先,路由器选取他们所有
loopback
接口是那个数值最高的
IP
地址。
如果路由器没有配置
loopback
接口的
IP
地址,那么路由器就在所有物理端口中选取一个数值最高的
IP
地址作为路由器的
Router ID
。用作
RouterID
的路由器结果不一定非要运行
OSPF
协议。
使用
loopback
结果作为
routerID
主要有两个好处。
Loopback
接口比任何其他网络的物理端口都更稳定。一旦路由成功,这个环接口就处于活动的状态了,只有整个路由器失效时它才失效。
网络管理员可以配置很好识别和便于记忆的
RouterID
七、
OSPF
的工作过程。
运行
RIP
的路由器只需保存一张路由表,而使用
OSPF
路由器协议的路由器需要保存
3
张路由表。
邻居列表
列出了每台路由器已经建立的邻接关系的邻居路由表。
链路状态数据库(
LSDB
)
列出了网络中其他路由器的信息,由此显示了全网的网络拓扑图。
路由表
列出通过
SPF
算法就算出的到达每个相连网络的最佳路径。
八、
邻接关系的建立
1、
邻接关系的建立过程。
九、
OSPF
的网络接口类型
路由器的接口类型不同,在建立邻接关系的时候,
OSPF
路由器执行的操作也不同,因此,
OSPF
定义了如下接口类型
点到点网络(
poing to point
)
广播多址网络
(baoadcast)
非广播多址网络
(NBMA)
点到多点的网络
(point to multipont)
网络类型
|
示例
|
广播多址网络
|
以太网
|
非广播多址网络
|
帧中继
|
点到点网络
|
PPP
、
HDLC
|
点到多点网络
|
多个点到点的链路集合
|
十、
OSPF
多址网络中的
DR
和
BDR
对上述的四种网络接口类型,路由器建立邻接关系的步骤也略有不同,
为了完成广播网络中避免这些问题的发生,可以在网段上选举一个指定的路由器
DR
。
DR
将完成以下工作。
(1)
DR
同网络中的其他路由器变成邻接关系。因为链路状态数据库是通过邻接关系的建立进行同步的
DR
在这个同步的过程中起着核心的作用。
(2)
管理这个多址网络上的泛洪过程。
如果网络上的每一台路由器都将和指定的路由器过程邻接关系,那么就只需要建立
n-1
个邻接关系就可以了,所有的路由器只和指定的路由器(
DR
)建立邻接关系,也就是和
DR
互相交换链路状态信息。,
DR
将从各个非
DR
的路由器上收集到的完整的链路信息以组播的形式发送到网络上,其他与
DR
建立邻接关系的路由器会接收到这个网络内完整的链路信息。
为了加强网络的冗余性,当一个指定的路由器失效时,必须有一个新的指定的路由器来接替他继续同网络上的其他路由器重新建立邻接关系,进行网络数据库的同步。这个路由器是备份指定路由器(
Backup Designated Router
,
BDR
)。这样网络中的路由器将和指定路由器和备份指定路由器同时形成邻接关系。
DR
和
BDR
之间也将互相形成邻接关系。如果
DR
失效了,
BDR
将成为新的
DR
。
为了能够使选举
DR/BDR
的处理过程正常进行,需要满足一些一些条件:
每台路由器的每一个多点的访问接口都有一个路由优先级(
Router priority
),用一个
8
位的无符号整数来表示,大小的范围是
0-255
,数值越到,优先级越高。在
cisco
路由器上默认的优先级是
1.
基于每一个多点访问接口都可以通过命令
ip ospf priority
来更改。具有
0
优先级的路由器不能成为
DR
和
BDR
。
十一、
OSPF
的包类型
OSPF
路由器为了同他的邻居路由器有效的共享链路状态信息,需要在路由器之间建立关系。
OSPF
路由器依靠
5
种不同的包来标识他们的邻居已经更新链路状态路由信息。这
5
种类型包使得
OSPF
具备了高级和复杂的通信能力。
5
中包类型如下表:
链路状态
|
描述
|
HELLO
|
建立和维护同邻居路由器的邻接关系
|
数据库描述包
DBD
|
描述每台
OSPF
路由器的链路状态库的内容
|
链路状态请求包
LSR
|
请求链路状态数据库的部分内容
|
链路状态更新包
LSU
|
传送链路状态数据通告
LSA
邻居路由器
|
链路状态确认包
LSACK
|
确认邻居发送过来的
LSA
已经收到
|
Hello
报文用于发现恶化维护邻居关系,并保证邻居间的双向通信。在不同的类型网络中,
hello
协议的工作方式如下:
Ø
多址网络:周期性的组播
hello
包,允许邻居的动态发现,尝试进行指定路由器
DR/
备份指定路由器
BDR
的选举。
Ø
点到点的网络:发送
hello
包给与之直连的能通信的全部路由器。
DBD
和
LSR
报文用于建立邻接关系。
LSU
和
LSACK
报文用于实现
OSPF
可靠的更新机制。
十二、
OSPF
的路由传播
整个
OSPF
的拓扑图可以描述成一组互联的节点,这里所说的互联不是指物理的链路而是逻辑的邻接关系。为了使这些节点能够在这里逻辑的拓扑上完全进行路由选择,每个节点都必须拥有一个关于这个拓扑图结构的相同的拓扑图。这个拓扑图就是拓扑数据库,也叫链路状态数据库。这个数据库由路由器可以收到的所以
LSA
组成。在拓扑图中发生的一个变化将成为可以表示的一条或多条
LSA
的变法。泛洪(
flooding
)过程就是将这些变化的或新的
LSA
发送到整个网络中去,以确保每一个节点的数据库都可以更新,最终保持所有的节点的数据库的同一性的过程。
泛洪过程需要使用到下面两种类型的
OSPF
报文
(1)
链路状态更新报文(
linkstateupdatepacks
,类型
4
)
(2)
链路状态确认报文(
linkstateacknowledgmentpasks
,类型
5
)
十三、
OSPF
的度量值
OSPF
使用度量路径优劣的度量值称为
cost
(代价)。是指从该接口发送出去的数据包的出站口代价。链路代价是
OSPF
协议的度量,并使用
16
位的无符号的整数表示,大小范围是
1-65535
之间。
十四、
使用
OSPF
的原因
(1)
网络规模
(2)
网络拓扑结构
(3)
其他的特殊要求
(4)
路由器的自身要求
十五、
OSPF
的特点
可适应大规模的网络
路由变化收敛快
无路由环
支持可变成的子网掩码
支持区域的划分支持以组播地址发送协议报
十六、
OSPF
与
RIP
的比较
OSPF
|
RIPV1
|
RIPV2
|
链路状态路由协议
|
距离矢量路由协议
|
没有跳数的限制
|
RIP15
跳的限制
|
支持可变成的子网掩码
(VLSM)
|
不支持可变成的子网掩码
(VLSM)
|
支持可变成的子网掩码
(VLSM)
|
收敛速度快
|
收敛速度慢
|
使用组播发送链路状态更新
,
在链路状态变化时使用触发更新
,
提高了带宽的利用率
|
周期性的广播整个路由表
,
在低速链路及广域网中使用将产生很大的问题
.
|
十七、
OSPF
但区域的介绍
十八、
OSPF
单域的基本配置命令
1、
配置
lookback
接口地址,为运行
OSPF
的路由器配置一个
loopback
接口,用来作为路由器的
router ID
。配置命令:
Router(config)#interface loopback 0
Router(config)#ip address IP
地址
掩码
2、
启用
OSPF
进程。与配置
RIP
不同的是,在配置
OSPF
的时候需要配置进程号,进程号是本路由器的进程号,用于标识一台路由器上的多个
OSPF
进程,其值可以在
1―65535
之间。
Router(config)# router ospf
进程号
3、
指定
OSPF
协议运行的接口和所在的区域。
Router(config-router)#network
网络号
反向掩码
area
区域号
4、
修改接口的
cost
值,
cost
值使用
16
位的无符号整数表示,大小范围在
1―65535
之间。
Router(config-if)#ip ospf cost cost
值
例如:
router(config)#interface s0
Router(config-if)#ip ospf cost 1000
5、
配置
OSPF
计时器,这些值是一些典型值,一般不需要改动。只有当需要同另外的路由器的性能进行匹配时可能需要改动这些计时器的配置
Router(config-if)#ip ospf hello-interval
时间
Router(config-if)#ip ospf dead-interval
时间
6、
用于诊断时的查看命令
查看邻居列表
Router#show ip ospf neighbor
查看链路状态数据库
Router#show ip ospf database
查看路由表
Router#show ip route
查看
OSPF
的配置
Router#show ip ospf
查看
OSPF
接口数据结构
Router#show ip ospf interface
接口