OSPF协议

OSPF协议

内部网关协议
OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。著名的迪克斯加算法(Dijkstra)被用来计算最短路径树。OSPF分为OSPFv2和OSPFv3两个版本,其中OSPFv2用在IPv4网络,OSPFv3用在IPv6网络。OSPFv2是由RFC 2328定义的,OSPFv3是由RFC 5340定义的。与RIP相比,OSPF是链路状态协议,而RIP是距离矢量协议。不同厂商管理距离不同,思科OSPF的协议管理距离(AD)是110,华为OSPF的协议管理距离是10。
    中文名:开放最短路径优先 外文名: 别名: 其他外文名:OSPF(Open Shortest Path First) 类型:路由器选择协议

简介

OSPF(Open Shortest Path First)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。与RIP相对,OSPF是链路状态路由协议,而RIP是距离向量路由协议。

作用

链路是路由器接口的另一种说法,因此OSPF也称为接口状态路由协议。OSPF通过路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个OSPF路由器使用这些最短路径构造路由表。

开放最短路径协议(OSPF)协议不仅能计算两个网络结点之间的最短路径,而且能计算通信费用。可根据网络用户的要求来平衡费用和性能,以选择相应的路由。在一个自治系统内可划分出若干个区域,每个区域根据自己的拓扑结构计算最短路径,这减少了OSPF路由实现的工作量;OSPF属动态的自适应协议,对于网络的拓扑结构变化可以迅速地做出反应,进行相应调整,提供短的收敛期,使路由表尽快稳定化。每个路由器都维护一个相同的、完整的全网链路状态数据库。这个数据库很庞大,寻径时,该路由器以自己为根,构造最短路径树,然后再根据最短路径构造路由表。路由器彼此交换,并保存整个网络的链路信息,从而掌握全网的拓扑结构,并独立计算路由。

更多说明

OSPF路由协议的工作原理

为了解决RIP协议的缺陷,1988年RFC成立了OSPF工作组,开始着手于OSPF的研究与制定,并于1998年4月在RFC2328中OSPF协议第二版(OSPFv2)以标准形式出现。OSPF全称为开放式最短路径优先协议(Open Shortest-Path First),OSPF中的O意味着OSPF标准是对公共开放的,而不是封闭的专有路由方案。OSPF采用链路状态协议算法,每个路由器维护一个相同的链路状态数据库,保存整个AS的拓扑结构(AS不划分情况下)。

一旦每个路由器有了完整的链路状态数据库,该路由器就可以自己为根,构造最短路径树,然后再根据最短路径构造路由表。对于大型的网络,为了进一步减少路由协议通信流量,利于管理和计算,OSPF将整个AS划分为若干个区域,区域内的路由器维护一个相同的链路状态数据库,保存该区域的拓扑结构。OSPF路由器相互间交换信息,但交换的信息不是路由,而是链路状态。

OSPF路由协议分组及其作用

OSPF定义了5种分组:Hello分组用于建立和维护连接;数据库描述分组初始化路由器的网络拓扑数据库;当发现数据库中的某部分信息已经过时后,路由器发送链路状态请求分组,请求邻站提供更新信息;路由器使用链路状态更新分组来主动扩散自己的链路状态数据库或对链路状态请求分组进行响应;由于OSPF直接运行在IP层,协议本身要提供确认机制,链路状态应答分组是对链路状态更新分组进行确认。

OSPF路由协议的优点

相对于其它协议,OSPF有许多优点。OSPF支持各种不同鉴别机制(如简单口令验证,MD5加密验证等),并且允许各个系统或区域采用互不相同的鉴别机制;提供负载均衡功能,如果计算出到某个目的站有若干条费用相同的路由,OSPF路由器会把通信流量均匀地分配给这几条路由,沿这几条路由把该分组发送出去;在一个自治系统内可划分出若干个区域,每个区域根据自己的拓扑结构计算最短路径,这减少了OSPF路由实现的工作量;OSPF属动态的自适应协议,对于网络的拓扑结构变化可以迅速地做出反应,进行相应调整,提供短的收敛期,使路由表尽快稳定化,并且与其它路由协议相比,OSPF在对网络拓扑变化的处理过程中仅需要最少的通信流量;OSPF提供点到多点接口,支持CIDR(无类型域间路由)地址。

OSPF的不足之处就是协议本身庞大复杂,实现起来较RIP困难。

OSPF协议配置

1.有关命令

全局设置

注:1、OSPF路由进程process-id必须指定范围在1-65535,多个OSPF进程可以在同一个路由器上配置,但最好不这样做。多个OSPF进程需要多个OSPF数据库的副本,必须运行多个最短路径算法的副本。process-id只在路由器内部起作用,不同路由器的process-id可以不同。

2、wildcard-mask是子网掩码的反码,网络区域ID area-id在0-4294967295内的十进制数,也可以是带有IP地址格式的x.x.x.x。当网络区域ID为0或0.0.0.0时为主干域。不同网络区域的路由器通过主干域学习路由信息。

2.基本配置举例

Router1:

interface ethernet 0

ip address 192.1.0.129 255.255.255.192

!

interface serial 0

ip address 192.200.10.5 255.255.255.252

!

router ospf 100

network 192.200.10.4 0.0.0.3 area 0

network 192.1.0.128 0.0.0.63 area 1

!

Router2:

interface ethernet 0

ip address 192.1.0.65 255.255.255.192

!

interface serial 0

ip address 192.200.10.6 255.255.255.252

!

router ospf 200

network 192.200.10.4 0.0.0.3 area 0

network 192.1.0.64 0.0.0.63 area 2

!

Router3:

interface ethernet 0

ip address 192.1.0.130 255.255.255.192

!

router ospf 300

network 192.1.0.128 0.0.0.63 area 1

!

Router4:

interface ethernet 0

ip address 192.1.0.66 255.255.255.192

!

router ospf 400

network 192.1.0.64 0.0.0.63 area 1

!

相关调试命令:

debug ip ospf events

debug ip ospf packet

show ip ospf

show ip ospf database

show ip ospf interface

show ip ospf neighbor

show ip route

3.使用身份验证

为了安全的原因,我们可以在相同OSPF区域的路由器上启用身份验证的功能,只有经过身份验证的同一区域的路由器才能互相通告路由信息。

在默认情况下OSPF不使用区域验证。通过两种方法可启用身份验证功能,纯文本身份验证和消息摘要(md5)身份验证。纯文本身份验证传送的身份验证口令为纯文本,它会被网络探测器确定,所以不安全,不建议使用。而消息摘要(md5)身份验证在传输身份验证口令前,要对口令进行加密,所以一般建议使用此种方法进行身份验证。

使用身份验证时,区域内所有的路由器接口必须使用相同的身份验证方法。为起用身份验证,必须在路由器接口配置模式下,为区域的每个路由器接口配置口令。

以下列举两种验证设置的示例,示例的网络分布及地址分配环境与以上基本配置举例相同,只是在Router1和Router2的区域0上使用了身份验证的功能。:

例1.使用纯文本身份验证

Router1:

interface ethernet 0

ip address 192.1.0.129 255.255.255.192

!

interface serial 0

ip address 192.200.10.5 255.255.255.252

ip ospf authentication-key cisco

!

router ospf 100

network 192.200.10.4 0.0.0.3 area 0

network 192.1.0.128 0.0.0.63 area 1

area 0 authentication

!

Router2:

interface ethernet 0

ip address 192.1.0.65 255.255.255.192

!

interface serial 0

ip address 192.200.10.6 255.255.255.252

ip ospf authentication-key cisco

!

router ospf 200

network 192.200.10.4 0.0.0.3 area 0

network 192.1.0.64 0.0.0.63 area 2

area 0 authentication

!

例2.消息摘要(md5)身份验证:

Router1:

interface ethernet 0

ip address 192.1.0.129 255.255.255.192

!

interface serial 0

ip address 192.200.10.5 255.255.255.252

ip ospf message-digest-key 1 md5 cisco

!

router ospf 100

network 192.200.10.4 0.0.0.3 area 0

network 192.1.0.128 0.0.0.63 area 1

area 0 authentication message-digest

!

Router2:

interface ethernet 0

ip address 192.1.0.65 255.255.255.192

!

interface serial 0

ip address 192.200.10.6 255.255.255.252

ip ospf message-digest-key 1 md5 cisco

!

router ospf 200

network 192.200.10.4 0.0.0.3 area 0

network 192.1.0.64 0.0.0.63 area 2

area 0 authentication message-digest

!

相关调试命令:

debug ip ospf adj

debug ip ospf events

OSPF基本配置命令

配置LOOPBACK接口地址

ROUTER(config)#interface loopback 0

ROUTER(config)#ip address IP地址 掩码

●ospf区域的配置

router ospf 100 /* 区域号在锐捷低端设备(交换机S3550,路由器R2621)里是不需要指定区域号的*/

network 192.168.1.0 0.0.0.255 area 0

router-id 192.168.2.1 手动设置router-id

area 1 default-cost 50 手动设置开销

#clean ip ospf process

●配置ospf明文认证

interface s0

ip ospf authentication

ip ospf authentication-key <;密码>

●配置ospf密文认证

interface s0

ip ospf authentication

ip ospf message-digest-key 1 md5 7 <;密码>

●debug ip ospf adj 开启ospf调试

show ip protocols

show ip ospf interface s0

●手动配置接口花销,带宽,优先级

inter s0

ip ospf cost 200

bandwidth 100

ip ospf priority 0

●虚链路的配置

router ospf 100

area  virtual-link 

show ip ospf virtual-links

Show ip ospf border-routers

Show ip ospf process-id

Show ip ospf database

show ip ospf database nssa-external

●OSPF路由归纳

Router ospf 1对ASBR外部的路由进行路由归纳

Summary-address 200.9.0.0 255.255.0.0

Router ospf 1执行AREA1到AREA0的路由归纳

Area 1 range 192.168.16.0 255.255.252.0

●配置末节区域

IR area  stub

ABR area  stub

●配置完全末节区域

IR area  stub

ABR area  stub no-summary

●配置NSSA

ASBR router ospf 100

area 1 nssa

ABR router ospf 100

area 1 nssa default-information-orrginate

OSPF协议主要优点

1、OSPF是真正的LOOP-FREE(无路由自环)路由协议。源自其算法本身的优点。(链路状态及最短路径树算法)

2、OSPF收敛速度快:能够在最短的时间内将路由变化传递到整个自治系统。

3、提出区域(area)划分的概念,将自治系统划分为不同区域后,通过区域之间的对路由信息的摘要,大大减少了需传递的路由信息数量。也使得路由信息不会随网络规模的扩大而急剧膨胀。

4、将协议自身的开销控制到最小。见下:

1)用于发现和维护邻居关系的是定期发送的是不含路由信息的hello报文,非常短小。包含路由信息的报文时是触发更新的机制。(有路由变化时才会发送)。但为了增强协议的健壮性,每1800秒全部重发一次。

2)在广播网络中,使用组播地址(而非广播)发送报文,减少对其它不运行ospf的网络设备的干扰。

3)在各类可以多址访问的网络中(广播,NBMA),通过选举DR,使同网段的路由器之间的路由交换(同步)次数由 O(N*N)次减少为O(N)次。

4)提出NSSA区域的概念,使得NSSA区域内不再传播引入的ASE路由。

5)在ABR(区域边界路由器)上支持路由聚合,进一步减少区域间的路由信息传递。

6)在点到点接口类型中,通过配置按需拨号属性(OSPF over On Demand Circuits),使得ospf不再定时发送hello报文及定期更新路由信息。只在网络拓扑真正变化时才发送更新信息。

5、通过严格划分路由的级别(共分四极),提供更可信的路由选择。

6、良好的安全性,ospf支持基于接口的明文及md5验证。

7、OSPF适应各种规模的网络,最多可达数千台。

相关词条

相关搜索

其它词条