OSPF路由协议配置.docx
《OSPF路由协议配置.docx》由会员分享,可在线阅读,更多相关《OSPF路由协议配置.docx(41页珍藏版)》请在冰豆网上搜索。
OSPF路由协议配置
OSPF路由协议配置
OSPF简介
OSPF(OpenShortestPathFirst)为IETFOSPF工作组开发的一种基于链路状态的内部网关路由协议。
OSPF是专为IP开发的路由协议,直接运行在IP层上面,协议号为89,采用组播方式进行OSPF包交换,组播地址为224.0.0.5(全部OSPF设备)和224.0.0.6(指定设备)。
链路状态算法是一种与哈夫曼向量算法(距离向量算法)完全不同的算法,应用哈夫曼向量算法的传统路由协议为RIP,而OSPF路由协议是链路状态算法的典型实现。
与RIP路由协议对比,OSPF除了算法上的不同,还引入了路由更新认证、VLSMs(可变长子网掩码)、路由聚合等新概念。
即使RIPv2做了很大的改善,可以支持路由更新认证、可变长子网掩码等特性,但是RIP协议还是存在两个致命弱点:
1)收敛速度慢;2)网络规模受限制,最大跳数不超过16跳。
OSPF的出现克服了RIP的弱点,使得IGP协议也可以胜任中大型、较复杂的网络环境。
OSPF路由协议利用链路状态算法建立和计算到每个目标网络的最短路径,该算法本身较复杂,以下简单地、概括性地描述了链路状态算法工作的总体过程:
●初始化阶段,设备将产生链路状态通告,该链路状态通告包含了该设备全部链路状态;
●所有设备通过组播的方式交换链路状态信息,每台设备接收到链路状态更新报文时,将拷贝一份到本地数据库,然后再传播给其它设备;
●当每台设备都有一份完整的链路状态数据库时,设备应用Dijkstra算法针对所有目标网络计算最短路径树,结果内容包括:
目标网络、下一跳地址、花费,是IP路由表的关键部分。
如果没有链路花费、网络增删变化,OSPF将会十分安静,如果网络发生了任何变化,OSPF通过链路状态进行通告,但只通告变化的链路状态,变化涉及到的设备将重新及运行Dijkstra算法,生成新的最短路径树。
一组运行OSPF路由协议的设备,组成了OSPF路由域的自治域系统。
一个自治域系统是指由一个组织机构控制管理的所有设备,自治域系统内部只运行一种IGP路由协议,自治域系统之间通常采用BGP路由协议进行路由信息交换。
不同的自治域系统可以选择相同的IGP路由协议,如果要连接到互联网,每个自治域系统都需要向相关组织申请自治域系统编号。
当OSPF路由域规模较大时,一般采用分层结构,即将OSPF路由域分割成几个区域(AREA),区域之间通过一个骨干区域互联,每个非骨干区域都需要直接与骨干区域连接。
在OSPF路由域中,根据设备的部署位置,有三种设备角色:
1)区域内部设备,该设备的所有接口网络都属于一个区域;
2)区域边界设备,也称为ABR(AreaBorderRouters),该设备的接口网络至少属于两个区域,其中一个必须为骨干区域;
3)自治域边界设备,也称为ASBR(AutonomousSystemBoundaryRouters),是OSPF路由域与外部路由域进行路由交换的必经之路。
我司产品对OSPF的实现完全遵循了RFC2328中定义的OSPFv2,以下列出了我司产品实现的OSPF的主要特性:
1)支持OSPF多进程,最多可以支持64个OSPF进程同时运行;
2)支持VRF;可以基于不同VRF运行OSPF;
3)残域——完全支持残域的定义;
4)路由重分布——实现了与RIP、ISIS、BGP路由协议之间的重分布与过滤重分布;
5)认证——支持邻居之间明文或者MD5的认证;
6)虚拟链路——支持虚拟链路;
7)可变长子网掩码VLSMs的支持;
8)区域的划分;
9)NSSA(NotSoStubbyArea),RFC1587定义;
注意:
我司产品目前还不支持以下功能,但在将来的版本会支持:
1)OSPF按需线路的支持,RFC1793定义;
2)OSPFGracefulRestart功能;在RFC3623与RFC4167中定义;
3)BGP/MPLSVPN网络中PE-CEOSPFrouting模型;RFC4576与RFC4577中定义;
4)OSPF快速收敛;
OSPF配置任务列表
OSPF的配置需要在各设备(包括内部设备、区域边界设备和自治系统边界设备等)之间相互协作。
在未作任何配置的情况下,设备的各参数使用缺省值,此时,发送和接收报文都无须进行验证,接口也不属于任何一个自治系统的分区。
在改变缺省参数的过程中,请务必保证各设备之间的配置相互一致。
为了配置OSPF,需要完成的工作如下所列。
其中,激活OSPF是必需的,其他选项可选,但也可能为特定的应用所必需。
以下为OSPF路由协议的配置步骤:
●创建OSPF路由进程(必须)
●配置OSPF接口参数(可选)
●配置OSPF以适应不同物理网络(可选)
●配置OSPF区域参数(可选)
●配置OSPFNSSA区域(可选)
●配置OSPF区域之间路由汇聚(可选)
●路由注入OSPF时配置路由汇聚(可选)
●创建虚拟链接(可选)
●产生缺省路由(可选)
●用Loopback地址做路由标识符(可选)
●更改OSPF缺省管理距离(可选)
●配置路由计算计时器(可选)
●状态更新信息调整时间(可选)
●路由选择配置(可选)
●配置接口接收数据库描述报文时是否校验MTU值(可选)
●配置禁止接口发送OSPF报文(可选)
以下为OSPF的缺省配置:
网络接口
接口代价:
不预设接口代价
LSA重传间隔:
5秒
LSA发送延迟:
1秒
hello报文发送间隔:
10秒(对于非广播网络为30秒)
邻接设备失效的时间:
hello报文发送间隔的四倍
优先级:
1
认证类型:
0(无认证)
认证密码:
无
区间
认证类型:
0(无认证)
进入Stub或NSSA区域的汇总路由的缺省代价:
1
区间汇总范围:
未定义
存根区间(STUB):
未定义
不完全存根区间(NSSA):
未定义
虚拟连接
未定义虚拟连接。
有关虚拟连接参数的缺省值:
LSA重传间隔:
5秒
LSA发送延迟:
1秒
hello报文发送间隔:
10秒
邻接设备失效的时间:
hello报文发送间隔的四倍
认证类型:
无认证
认证密码:
无
自动代价计算
打开;
缺省的自动代价参考是100Mbps;
缺省路由产生
关闭;
如果打开则缺省使用的metric是1,类型是type-2
缺省metric
(Defaultmetric)
重分发其他路由协议所使用的缺省metric;
管理距离
区间内路由信息:
110
区间间路由信息:
110
外部路由信息:
110
数据库过滤
关闭,所有接口都可以接收状态更新信息LSA。
邻居变化日志记录
打开
邻居(neighbor)
无
邻居数据库过滤
关闭,输出的LSA发送到所有邻居;
区间网络范围
(networkarea)
无
设备ID
未定义,缺省ospf协议没有运行
路由汇总
(summary-address)
未定义
状态更新信息调整时间
240秒
最短路径优先算法定时器
收到拓扑改变信息到下一次开始调用SPF算法计算的延迟时间:
5秒.
两次计算至少间隔的时间:
10秒.
计算外部路由时采用的最优路径的规则
采用RFC1583中的规则
创建OSPF路由进程
创建OSPF路由进程,并定义与该OSPF路由进程关联的IP地址范围,以及该范围IP地址所属的OSPF区域。
OSPF路由进程只在属于该IP地址范围的接口发送、接收OSPF报文,并且对外通告该接口的链路状态。
目前我们支持64个OSPF路由进程。
要创建OSPF路由进程,可以按照如下步骤进行:
命令
含义
Ruijie#configureterminal
进入全局配置模式。
Ruijie(config)#iprouting
启用路由功能(如果为关闭的话)
Ruijie(config)#routerospf
process_id[vrfvrf-name]
打开OSPF,进入OSPF配置模式
Ruijie(config-router)#network
addresswildcard-maskarea
area-id
定义属于一个区间的地址范围;
Ruijie(config-router)#End
退回到特权模式。
Ruijie#showipprotocol
显示当前运行的路由协议。
Ruijie#write
保存配置。
说明:
我司产品可选参数vrfvrf-name,用于指定OSPF所属vrf,创建OSPF进程时若若未指定此VRF参数,则OSPF进程属于默认VRF;Network命令中32个“比特通配符”与掩码的取值相反,取“1”代表不比较该比特位,“0”代表比较该比特位。
不过用掩码的方式来定义,我司产品也会自动翻译成比特通配符。
只有接口地址与Network命令定义的IP地址范围相匹配,该接口就属于指定的区域。
使用命令norouterospfprocess-id关闭OSPF协议。
以下为打开OSPF协议的示例:
Ruijie(config)#routerospf1
Ruijie(config-router)#network192.168.0.020.0.0.255area0
Ruijie(config-router)#end
配置OSPF接口参数
OSPF允许用户更改某些特定的接口参数,用户可以根据实际应用的需要将这些参数任意设置。
应该注意的是,一些参数的设置必须保证跟与该接口相邻接的设备的相应参数一致,这些参数通过ipospfhello-interval,ipospfdead-interval,ipospfauthentication,ipospfauthentication-key和ipospfmessage-digest-key五个接口参数进行设置,当使用这些命令时应该注意邻居设备也有同样的配置。
要配置OSPF接口参数,在接口配置模式中进行执行以下命令:
命令
含义
Ruijie#configureterminal
进入全局配置模式。
Ruijie(config)#iprouting
启用路由功能(如果为关闭的话)
Ruijie(config)#interface
interface-id
进入接口配置模式。
Ruijie(config-if)#ipospfcost
cost-value
(可选)定义接口费用,
Ruijie(config-if)#ipospf
retransmit-intervalseconds
(可选)设置链路状态重传间隔;
Ruijie(config-if)#ipospf
transmit-delayseconds
(可选)设置链路状态更新报文传输过程的估计时间;
Ruijie(config-if)#ipospf
hello-intervalseconds
(可选)设置hello报文发送间隔,对于整个网络的节点,该值要相同;
Ruijie(config-if)#ipospf
dead-intervalseconds
(可选)设置相邻设备失效间隔,对于整个网络的节点,该值必须相同;
Ruijie(config-if)#ipospf
prioritynumber
(可选)优先级,用于选举指派设备(DR)和备份指派设备(BDR)
Ruijie(config-if)#ipospf
authentication
[message-digest|null]
(可选)设置接口的认证方式
Ruijie(config-if)#ipospf
authentication-keykey
(可选)配置接口文本认证的密码,
Ruijie(config-if)#ipospf
message-digest-keykeyidmd5
key
(可选)配置接口的MD5加密认证的密码
Ruijie(config-if)#ipospf
database-filterallout
(可选)阻止接口泛洪链路状态更新报文;缺省情况下,OSPF将接收的LSA信息从属于同一区间的所有接口上泛洪出去,除了接收该LSA信息的接口;
Ruijie(config-if)#End
退回到特权模式。
Ruijie#showipospf[process-id]
interface[interface-id]
显示当前运行的路由协议。
Ruijie#write
(可选)保存配置。
使用以上命令的no模式,可以取消原来的设置或者恢复缺省值。
配置OSPF以适应不同物理网络
根据不同的媒介的传输性质,OSPF将网络分为三种类型:
●广播网络(以太网,令牌环,FDDI)
●非广播网络(帧中继,X.25)
●点到点网络(HDLC,PPP,SLIP)
其中非广播网络,根据OSPF的操作模式不同又分为两种子类型:
1.非广播多路访问网络(NBMA)类型。
NBMA要求所有互联的设备必须能够直接通讯,只有全网状的连接才能达到该要求,如果采用SVC(比如X.25)连接没问题,但是采用PVC(如帧中继)组网将有一定难度。
OSPF在NBMA网络上操作与广播网络上类似,需要选举指定设备(DesignatedRouter),并由指定设备通告NBMA网络的链路状态。
2.点到多点网络类型。
如果网络拓扑结构不是全网状的非广播网络,OSPF需要将该接口网络类型设置成点到多点网络类型。
在点到多点网络类型中,OSPF将所有的设备之间的连接看作点到点的链路,所以没有指定设备的选举。
不管接口的缺省网络类型是什么,都可以设置为广播网络类型。
比如可以将非广播多路访问网络(帧中继,X.25)设置成广播网络,这样在OSPF路由进程配置时,省去了要配置邻居的步骤。
通过X.25map和Frame-relaymap命令,可以让X.25和帧中继网络具有广播的能力,这样OSPF可以把X.25和帧中继这样的网络看作广播网络。
点到多点网络的接口可以看作是有一个或多个邻居的标识的点到点接口,当OSPF配置成点到多点网络类型时,会生成多个主机路由。
点到多点网络类型与NBMA网络类型相比有以下好处:
●容易配置,不需要配置邻居,也没有指定设备的竞选;
●代价小,不要求全网状拓扑。
要配置网络类型,在接口配置模式中执行以下命令:
命令
作用
Ruijie(config-if)#ipospfnetwork{broadcast|non-broadcast|point-to-point|{point-to-multipoint[non-broadcast]}
}
配置OSPF网络类型
对应于不同的链路封装类型,缺省情况下的网络类型如下:
●点到点网络类型
PPP、SLIP、帧中继点到点子接口、X.25点到点子接口封装
●NBMA网络类型(non-broadcast)
帧中继、X.25封装(点到点子接口除外)
●广播网络类型
以太网封装
●缺省类型没有为点到多点网络类型
配置时需要注意两端网络类型必须一致,否则可能出现邻居FULL,但是路由计算错误的异常情况;
配置点到多点广播网络
当设备通过X.25、帧中继网络互联时,不是全网状拓扑结构或者不想进行指定设备的选举时,就可以将OSPF接口网络类型设置为点到多点类型,由于点到多点网络类型将链路看作多个点到点链路,因此将产生多个主机路由。
另外由于在点到多点网络中,所有的邻居花费都是一样的,如果要求每个邻居的花费不同,可以通过neighbor命令进行设置。
要设置点到多点网络类型,在接口配置模式中执行以下命令:
命令
作用
Ruijie(config-if)#ipospfnetworkpoint-to-multipoint
配置一个接口为点到多点广播网络类型
Ruijie(config-if)#exit
退出到全局配置模式
Ruijie(config)#routerospf1
进入路由进程配置模式
Ruijie(config-router)#
neighborip-addresscostcost
可选,指定邻居的花费
说明:
OSPF点到多点类型网络虽然属于非广播网络,但是通过帧中继、X.25映射手工配置或者自动学习,可以让非广播网络具有广播的能力。
所以在配置点到多点网络类型时,可以不要指定邻居。
配置非广播网络
当ospf工作在非广播网络上时既可以配置成NBMA也可以配置成点到多点非广播类型。
因为不具备广播能力所以无法动态的发现邻居,因此ospf工作于非广播网络上时必须手工为其配置邻居。
考虑到以下情况时,可以配置NBMA网络类型:
1.当一个非广播类型网络具有全网状拓扑结构;
2.可以将一个广播类型的网络设置成NBMA网络类型,这样可以减少广播报文的产生,节约网络带宽,也可以在一定的程度上避免随便的接收和发布路由。
配置NBMA网络必须要指定邻居,由于有指定设备的选择,你可能需要明确哪台设备作为指定设备,这就需要配置优先级了,优先值越大就越有可能成为指定设备。
要配置NBMA网络类型,在接口配置模式中执行以下命令:
命令
作用
Ruijie(config-if)#ipospfnetworknon-broadcast
指定该接口的网络类型为NBMA类型
Ruijie(config-if)#exit
退出到全局配置模式
Ruijie(config)#routerospf1
进入路由进程配置模式
Ruijie(config-router)#neighborip-address[prioritynumber][poll-intervalseconds]
指定邻居,并且指定它的优先级和hello的
轮询间隔
当在一个非广播网络中,不能保证任意两台设备之间都是直接可达的话,更好的解决方法是将ospf的网络类型设置为点到多点非广播网络类型。
无论在点到多点广播或者非广播网络中,由于所有的邻居花费都是一样的,使用的花费都是使用ipospfcost所配置的值.而实际上可能到每个邻居的带宽是不同的,因此花费也应该不同。
因此可以通过neighbor命令为每个邻居指定所要的花费,这一点只适合点到多点类型(广播或者非广播)的接口。
在一个非广播网络中,如果要将接口配置成点到多点类型,在接口配置模式中执行以下命令:
命令
作用
Ruijie(config-if)#ipospfpoint-to-multipointnon-broadcast
指定该接口的网络类型为点到多点非广播类型
Ruijie(config-if)#exit
退出到全局配置模式
Ruijie(config)#routerospf1
进入路由进程配置模式
Ruijie(config-router)#neighborip-address[costnumber]
指定邻居,并且指定到该邻居的花费
注意步骤4,如果没有邻居指定花费,那么将使用接口配置模式下的ipospfcost命令所参考的代价。
配置广播网络类型
OSPF广播类型网络,需要选举指定设备(DR,DesignatedRouter)和备份指定设备(BDR,BackupDesignatedRouter),由指定设备对外通告该网络的链路状态。
所有的设备之间都保持邻居关系,但是所有设备只与指定设备和备份指定设备之间保持邻接关系,也就是说每台设备只与指定设备和备份指定设备交换链路状态数据包,然后由指定设备通告给所有的设备,从而每台设备能够保持一致的链路状态数据库。
你可以通过OSPF优先级参数设置来控制指定设备的选举结果。
但是参数设置并不能马上产生作用,影响当前的指定设备,只有在新一轮的选举中,设置的参数才会起作用。
进行新一轮指定设备选举的唯一条件是:
OSPF邻居在一定时间内没有接收到指定设备的HELLO报文,认为指定设备宕机了。
要配置广播网络类型,在接口配置模式中执行以下命令:
命令
作用
Ruijie(config-if)#ipospfnetworkbroadcast
指定该接口的类型为广播网络类型
Ruijie(config-if)#ipospfprioritypriority
可选,指定该接口的优先级
配置OSPF区域参数
当你需要配置区域认证、残域、缺省汇总路由花费时,就需要通过配置区域命令来实现。
配置区域认证是为了防止学到非认证、无效路由,以及避免通告有效路由到非认证设备,在广播类型网络中,区域认证还可以避免非认证设备成为指定设备的可能性,保证了路由系统的稳定性和抗入侵性。
当一个区域为OSPF路由域的叶区域,即该区域不作为过渡区域,也不会向OSPF路由域注入外部路由时,可以考虑将该区域配置为残域(StubArea)。
残域设备只能学到三种路由:
1)残域内部路由;2)其它区域路由;3)残域边界设备通告的缺省路由。
由于没有大量的外部路由,所以残域设备的路由表将很小,可以节约设备的资源,因此残域的设备可以为中低端设备。
为了进一步减少发送到Stub区域中的链路状态广播(LSA)的数量可以将区域配置为全残域(配置no-sμmmary选项),全残域设备就只能学到两种路由:
1)残域内部路由;2)残域边界设备通告的缺省路由。
全残域的配置,使得OSPF占用设备资源最小化,提高了网络传输效率。
如果残域设备可以学到多条缺省路由,就需要对缺省路由的花费进行设置(通过areadefault-cost配置),这样就可以控制残域设备优先使用指定的缺省路由。
配置STUB区域要注意以下几点:
●骨干区域不能配置成STUB区域,不能将STUB区域作为虚拟连接的传输区域。
●如果想将一个区域配置成STUB区域,则该区域中的所有设备必须都要配置该属性。
●Stub区域内不能存在ASBR,即自治系统外部的路由不能在本区域内传播。
配置OSPF区域参数,在路由进程配置模式下执行以下命令:
命令
作用
Ruijie(config-router)#areaarea-idauthentication
区域认证方式设置为明文认证
Ruijie(config-router)#areaarea-idauthenticationmessage-digest
区域认证方式设置为MD5认证
Ruijie(config-router)#areaarea-idstub[no-summary]
将区域配置成残域,
no-summary:
将该区域配置成全残域,阻止Stub区间上的ABR发送summary-LSAs信息进入stub区间
Ruijie(config-router)#areaarea-iddefault-costcost
配置发送到STUB区域的缺省路由的花费
说明:
认证的配置还需要在