OSPF在企业网络中的应用

一、 OSPF的原理:

开放式最短路径优先协议(OSPF Open shortest Path First)是一种链路状态路由选择协议,它服务于IP网络,是一个内部网关协议,工作在一个自治系统中,用于自治系统内部的路由选择信息交换。它使用的协议号是89

? OSPF具有以下特点

l 适用于大规模网络,没有跳数限制。

l 路由收敛速度快。

l 不会产生路由环路。

l 支持可变长子网掩码VLSM。

l 采用组播地址发送协议报文,节省链路资源。

l 基于路由器的每个端口的代价来决定最优路径,cost=100/链路带宽。

l 支持区域划分,方便在大规模网络中的管理。

l 支持等代价负载均衡。

l 支持验证。

? OSPF的报文类型:

l HELLO报文:用来发现及维持邻居关系。

l 数据库描述报文(DBD):用来描述本地路由器LSDB的情况。

l 链路状态请求报文(LSR):用来请求本地路由器没有的LSA。

l 链路状态更新报文(LSU):用来发送对端路由器的请求的LSA。

l 链路状态确认报文(LSAck):当路由器收到LSU后,发送LSAck进行确认。

? OSPF的三张表格:

l 邻居表:通过hello包来建立邻居关系。

l 链路状态数据库(LSDB):ospf通过LSA学习到其他路由器和信息存储在LSDB中。

l 路由表:通过SPF算法,根据LSDB算出路由表。

? OSPF的网络类型:

l 广播网络:进行DR和BDR的选举。比较路由器的优先级和router-id,优先考虑优先级,优先级高的为DR,优先级稍低的为BDR。其次考虑router-id(ID=0不被选举)。网络中的路由器只需与DR和BDR建立邻居关系,新加入的路由器只需与DR进行数据同步即可,不用再与网络中的其他路由器同步,节省了网路资源。非DR/BDR路由器通过组播地址224.0.0.6将链路信息发给DR/BDR,然后DR/BDR通过224.0.0.5将链路信息发送给非DR/BDR。hello包的发送间隔是10秒,宕机时间40秒

l 无广播多路访问(NBMA):在帧中继、ATM和X.25这样的网络中不支持广播,ospf在这些网络当中也要选举出DR/BDR。hello包的发送间隔时间是30秒,宕机时间间隔是120秒

l 点到点:点到点网络一般采用ppp或者hdlc来进行数据的封装。ospf的hello包的发送间隔10秒,宕机间隔40秒

l 点到多点:不需要DR和BDR的选举,邻居是自动发现的,默认的hello间隔是30秒,宕机间隔120秒

? OSPF的路由器类型:

l 内部路由器:不连接区域外部的路由器,只维护本区域内的链路状态信息。

l 区域边界路由器(ABR):连接不同区域的路由器,需要维护多个区域的链路状态信息。

l 骨干路由器:处于骨干区域(area 0)的路由器,只需要维护骨干区域的链路状态信息

l 自治系统边界路由器(ASBR):连接不同自治系统的路由器,通常需要在ASBR上运行多种协议。

? OSPF区域:

l 骨干区域(area 0):一个自治系统只能有一个骨干区域,且每一个非骨干局域都需要和骨干区域相连。骨干区域起到了数据中转的作用,所以在此区域的路由器要求运行速度快、稳定、路由器较少。

l 标准区域:骨干区域以外的区域称为标准区域,每一个标准区域都要和骨干区域相连。如果没有直接相连则需要在与骨干区域相连的区域上配置虚链路,配置命令Router(config-router)#area area-id virtual-link router-id

l 末节区域:为了减少路由条目,末节区域只接受域间路由和默认路由。配置命令:(在所有末节区域的路由器上都要配置此令)Router(config-router)#area area-id stub

l 完全末节区域:为了减少路由条目,完全末节区域只接受默认路由,通过默认路由向外转发数据。配置命令Router(config-router)#area area-id stub no-summary

二、 案例:

1. OSPF单区域配置:

拓扑图(包括地址方案):

单区域两个路由直连

clip_image001

配置(详细步骤以及说明):

R1

Router#en

Router#conf te

Router(config)#int s1/0

Router(config-if)#ip add 192.168.2.1 255.255.255.0

Router(config-if)#no shut

S1/0配置Ip地址成功:

clip_image002

Router(config-if)#exit

Router(config)#int loo 1

Router(config-if)#ip add 192.168.1.1 255.255.255.0

Router(config-if)#no shut

配置loopback端口成功

clip_image003

Router(config-if)#exit

Router(config)#router ospf 1

Router(config-router)#network 192.168.1.0 0.0.0.255 area 0

Router(config-router)#network 192.168.2.0 0.0.0.255 area 0

Router(config-router)#exit

配置路由ospf

clip_image004

R2

Router>en

Router#conf te

Router(config)#int s1/0

Router(config-if)#ip add 192.168.2.2 255.255.255.0

Router(config-if)#no shut

clip_image005

Router(config)# exit

Router(config)#int loo 1

Router(config-if)#ip add 192.168.3.1 255.255.255.0

Router(config-if)#no shut

clip_image006

Router(config-if)#exit

Router(config)#router ospf 2

Router(config-router)#network 192.168.2.0 0.0.0.255 area 0

Router(config-router)#network 192.168.3.0 0.0.0.255 area 0

clip_image007

Router(config-router)#exit

Router(config)#exit

Router#ping 192.168.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 8/23/52 ms

clip_image008

在R2的serial 1/0端口pingR1上的loopback端口成功。网络连通。

2. OSPF多区域配置:

拓扑图(包括地址方案):

clip_image010

配置(详细步骤以及说明):

R1

R1#conf t

Enter configuration commands, one per line. End with CNTL/Z.

R1(config)#int loo 0

R1(config-if)#ip add 192.168.1.1 255.255.255.0

R1(config-if)#no shut

R1(config)#int ser 1/0

R1(config-if)#ip add 192.168.2.1 255.255.255.0

R1(config-if)#no shut

R1(config)#router ospf 100

R1(config-router)#network 192.168.1.0 0.0.0.255 area 1

R1(config-router)#network 192.168.2.0 0.0.0.255 area 0

clip_image011

R2:

R2#conf t

R2(config)#int se 1/0

R2(config-if)#ip add 192.168.2.2 255.255.255.0

R2(config-if)#no shut

R2(config)#int ser 1/1

R2(config-if)#ip add 192.168.3.1 255.255.255.0

R2(config-if)#no shut

R2(config)#router ospf 200

R2(config-router)#network 192.168.2.0 0.0.0.255 area 1

R2(config-router)#network 192.168.3.0 0.0.0.255 area 0

clip_image012

R3

R3#conf t

R3(config)#int ser 1/0

R3(config-if)#ip add 192.168.4.1 255.255.255.0

R3(config-if)#no shut

R3(config)#int ser 1/1

R3(config-if)#ip add 192.168.3.2 255.255.255.0

R3(config-if)#no shut

R3(config)#router ospf 300

R3(config-router)#network 192.168.3.0 0.0.0.255 area 0

R3(config-router)#network 192.168.4.0 0.0.0.255 area 2

clip_image013

R4:

R4#conf t

R4(config)#int ser 1/0

R4(config-if)#ip add 192.168.4.2 255.255.255.0

R4(config-if)#no shut

R4(config)#int loo 0

R4(config-if)#ip add 192.168.5.1 255.255.255.0

R4(config-if)#no shut

R4(config)#router ospf 400

R4(config-router)#network 192.168.4.0 0.0.0.255 area 2

R4(config-router)#network 192.168.5.0 0.0.0.255 area 2

clip_image014

3. OSPF引入IGRP

拓扑图 (包括地址方案):

clip_image016

配置:

R1

int fa0/0

ip add 192.168.1.1 255.255.255.0

no shut

in s1/0

ip add 192.168.2.1 255.255.255.0

no shut

Router igrp 100

Network 192.168.1.0

Network 192.168.2.0

clip_image017

R2

in s1/0

ip add 192.168.2.2 255.255.255.0

no shut

in s1/1

ip add 192.168.e.1 255.255.255.0

no shut

Router igrp 100

Network 192.168.3.0

Network 192.168.2.0

clip_image018

R3

in s1/1

ip add 192.168.3.2 255.255.255.0

no shut

in s1/1

ip add 192.168.4.1 255.255.255.0

no shut

Routet igrp 100

Network 192.168.3.0

redistribute ospf 10 metric 1000 1000 255 100 10

Router ospf 10

Network 192.168.4.0 0.0.0.255 area 0

redistribute ospf 10 metric 1000 1000 255 100 10

clip_image019

R4

Int fa 0/0

Ip add 192.168.5.1 255.255.255.0

No shut

Int s1/2

Ip add 192.168.4.2 255.255.255.0

No shut

Router ospf 10

Network 192.168.5.0 0.0.0.255 area 0

Network 192.168.4.0 0.0.0.255 area 0

clip_image020