OSPF路由协议综述及其配置详解.docx
《OSPF路由协议综述及其配置详解.docx》由会员分享,可在线阅读,更多相关《OSPF路由协议综述及其配置详解.docx(39页珍藏版)》请在冰点文库上搜索。
![OSPF路由协议综述及其配置详解.docx](https://file1.bingdoc.com/fileroot1/2023-5/26/d8a02247-9126-4361-9b5f-3d2295bee68c/d8a02247-9126-4361-9b5f-3d2295bee68c1.gif)
OSPF路由协议综述及其配置详解
OSPF路由协议综述及其配置(5)
ChangingtheCostMetric
默认情况下,Cisco根据100Mbps/bandwidth来计算metric,比如64Kbps链路的metric约为1562,T1的为64,100Mbps的链路为1.当链路速率大于100Mbps的时候,应该在OSPF进程下使用如下命令:
RouterA(config-router)#auto-costreference-bandwidth
在接口自定义cost的命令如下:
RouterA(config-if)#ipospfcost[value]
这条命令将使得超越默认的cost计算,具有更高的优先权.value范围为1到65535.值越低,就越优先采用该接口
OSPFRouteSummarizationConcepts
OSPF路由汇总可以减少路由表条目,减少类型3和类型5的LSA的洪泛,节约带宽资源和减轻路由器CPU负载,还能够对拓扑的变化本地化
OSPF路由汇总的两种类型如下:
1.inter-area(IA)routesummarization:
发生在ABR上
2.externalroutesummarization:
发生在ASBR上
ConfiguringRouteSummarization
因为OSPF是基于无类的路由协议,它不会进行自动汇总.手动在ABR上做IAroutesummarization的命令如下:
Router(config-router)#area[area-id]range[address][mask]
在ASBR上做externalroutesummarization的命令如下:
Router(config-router)#summary-address[address][mask][not-advertise][tagtag]
如下图就是一个ASBR上的externalroutesummarization的例子:
R1(config-router)#network172.16.64.10.0.0.0area1
R1(config-router)#summary-address172.16.32.0255.255.224.0
DefaultRoutesinOSPF
OSPF路由器默认不会产生默认路由到一般性的area里,但是可以通过相关命令启用默认路由.默认路由作为LSA类型5出现在LSDB中
创建OSPF默认路由的命令如下:
Router(config-router)#default-informationoriginate[always][metricvalue][metric-typetype-value][route-mapmap-name]
参数always是不管路由表里是否存在默认路由,都会宣告一条默认路由0.0.0.0
metricvalue是指定默认路由的metric,默认为10
type-value可以为1或者2.1为OE1,2为OE2,默认是2
route-mapmap-name是如果满足routemap的话就产生默认路由
实例如下图:
R1(config)#routerospf100
R1(config-router)#netw10.1.1.10.0.0.0area0
R1(config-router)#default-informationoriginatemetric10
R2(config)#routerospf100
R2(config-router)#netw10.2.1.10.0.0.0area0
R2(config-router)#default-informationoriginatemetric100
TypesofOSPFAreas
一些OSPFarea的类型如下:
1.standardarea:
接收链路更新,路由汇总和外部路由
2.backbonearea(transitarea):
标记为area0,拥有standardarea的一切属性
3.stubarea:
不可以包含ASBR.不接收外部路由信息(LSA类型5),如果要到达外部AS的话就使用标记为0.0.0.0的默认路由.好处是可以减少路由表的条目.stubarea没有虚链路(virtuallink)穿越它们
4.totallystubbyarea:
Cisco私有,不接收外部路由信息和路由汇总信息(LSA类型3,4和5).不可以包含ASBR.如果要到达外部AS的话就使用标记为0.0.0.0的默认路由.好处是最小化路由表条目
5.not-so-stubbyarea(NSSA):
NSSA是OSPFRFC的补遗.定义了特殊的LSA类型7.提供类似stubarea和totallystubbyarea的优点,可以包含的有ASBR
StubAreaConfiguration
stubarea的配置命令如下:
RouterA(config-router)#area[area-id]stub
所有在stubarea里的路由器必须都使用stub命令,例子如下图:
R3(config)#routerospf100
R3(config-router)#netw192.168.14.00.0.0.255area0
R3(config-router)#netw192.168.15.00.0.0.255area2
R3(config-router)#area2stub
R4(config)#routerospf10
R4(config-router)#netw192.168.15.00.0.0.255area2
R4(config-router)#area2stub
如上是把area2配置为stubarea,R3做为ABR自动向area2(stubarea)宣告一条metric为1的默认路由0.0.0.0
TotallyStubbyAreaConfiguration
totallystubbyarea的配置命令如下:
RouterA(config-router)#area[area-id]stubno-summary
ABR默认宣告一条metric为1的默认路由到totallystubbyarea,修改这个metric的命令如下:
RouterA(config-router)#area[area-id]default-cost[cost]
配置实例如下图:
R3(config)#routerospf100
R3(config-router)#netw130.130.0.00.0.255.255area1
R3(config-router)#area1stub
R4(config)#routerospf50
R4(config-router)#netw130.130.0.00.0.255.255area1
R4(config-router)#netw130.135.0.00.0.255.255area0
R4(config-router)#area1stubno-summary
R4(config-router)#area1default-cost10
R4(config)#routerospf50
R2(config-router)#netw130.130.0.00.0.255.255area1
R2(config-router)#netw130.135.0.00.0.255.255area0
R2(config-router)#area1stubno-summary
R2(config-router)#area1default-cost5
如上,默认路由将选用R2上的,因为R2的metric更低
Not-So-StubbyAreas
之前说过stubarea和totallystubarea不可以包含的有ASBR,但是假如你想使用ASBR,又想使其具有stubarea和totallystubarea的优点(减少路由表条目)的话,就可以采用NSSA,如下图:
RIP经过再发布(redistribution)到NSSA以后,NSSA的ASBR将产生只存在于NSSA中的LSA类型7,然后ABR将LSA类型7转换成LSA类型5
NSSA的配置命令为在OSPF进程下使用area[area-id]nssa,所有位于NSSA里的路由器都要使用这条命令.如下图是配置实例:
R2(config)#routerospf100
R2(config-router)#summary-address150.150.0.0255.255.0.0
R2(config-router)#netw130.130.20.00.0.0.255area1
R2(config-router)#netw130.130.0.00.0.255.255area0
R2(config-router)#area1nssadefault-information-originate
使用default-information-originate参数创建一条area0到NSSA的默认路由.并且类型5的LSA将不会进入NSSA(类似stubarea)
R1(config)#routerospf100
R1(config-router)#redistributeripsubnets
R1(config-router)#defaultmetric150
R1(config-router)#netw130.130.0.00.0.255.255area1
R1(config-router)#area1nssa
还可以将NSSA配置成具有totally-stub的特性,如下:
R1(config)#routerospf100
R1(config-router)#redistributeripsubnets
R1(config-router)#defaultmetric150
R1(config-router)#netw130.130.0.00.0.255.255area1
R1(config-router)#area1nssa
R2(config)#routerospf100
R2(config-router)#summary-address150.150.0.0255.255.0.0
R2(config-router)#netw130.130.20.00.0.0.255area1
R2(config-router)#netw130.130.0.00.0.255.255area0
R2(config-router)#area1nssano-summary
这样类型3,4和5的LSA将不会进入NSSA,no-summary参数只应用在ABR上就可以了,NSSA里的其他路由器只需使用area1nssa
TheshowCommandsforStubandNSSA
一些验证性命令如下:
showipospf:
显示area类型
showipospfdatabase:
显示LSA类型7
showipospfdatabasenssa-external:
显示LSDB中每条类型7的LSA的信息
showiproute:
显示标记为ON1/N2的NSSA路由条目(默认为ON2)
DefininganOSPFVirtualLink
在OSPF里所有的area都要和area0相连,但是假如某个区域没有和area0相连的话,就可以采用虚链路来连接它们,如下图:
虚链路一般是做为备份连接或者是临时连接
虚链路的配置命令如下:
Router(config-router)#area[area-id]virtual-link[RID]
一些其他可选参数如下:
authentication[message-digest|null]:
指定验证方式为MD5加密还是明文口令
hello-intervals[second]:
定义hello包发送时间间隔,默认为10秒
配置实例如下图:
R2(config)#routerospf100
R2(config-router)#netw10.3.0.00.0.0.255area1
R2(config-router)#netw10.7.0.00.0.0.255area3
R2(config-router)#area1virtual-link10.3.10.5
注意上面的RID,是指定虚链路中对方的RID,R1的配置如下:
R1(config)#routerospf200
R1(config-router)#netw10.2.3.00.0.0.255area0
R1(config-router)#netw10.3.2.00.0.0.255area1
R1(config-router)#area1virtual-link10.7.20.123
注意area-id都为area1,因为area1做为虚链路的transitarea
使用showipospfvirtual-links命令验证虚链路的配置
OSPF路由协议综述及其配置(4)
当OSPFarea过大的话,带来的负面影响有:
1.太过频繁的SPF计算,造成路由器CPU负载过重
2.路由表过大
3.LSDB过大
解决方案是划分层次化的area路由(hierarchicalarearouting),减少了SPF运算的频率,减小了路由表的体积,减少了LSU的负载
OSPF路由器的类型如下图:
internalrouters:
所有的接口在一个area里,拥有相同的LSDB
backbonerouter:
至少一个有接口连接到area0里,和internalrouters保持相同的OSPF进程和算法
ABR:
接口连接了多个area,每个接口保持它所连的area的单独的LSDB
ASBR:
至少有一个接口连接到外部网络比如其他的AS,非OSPF网络
当然,一个路由器同时可以扮演上述多个角色
OSPFLSATypes
一些LSA的类型如下:
类型1:
routerLSA
类型2:
networkLSA
类型3/4:
summaryLSA
类型5:
ASexternalLSA
类型6:
multicastOSPFLSA,使用在OSPF多播应用程序里
类型7:
使用在Not-So-Stubbyarea(NSSA)里
类型8:
特殊的LSA用来连接OSPF和BGP
类型9/10/11:
opaqueLSA,用于今后OSPF的升级等
LSA类型1(routerLSA),如下图:
类型1的LSA只在一个area里传播,不会穿越ABR.描述了和路由器直接相连的链路集体状态信息.RID鉴别类型1的LSA,LSA描述了链路的网络号和掩码(即linkID).另外类型1的LSA还描述了路由器是否是ABR或ASBR
类型1的LSA不同的链路类型的linkID如下:
1.point-to-point的linkID是邻居的RID
2.transitnetwork的linkID是DR的接口地址
3.stubnetwork的linkID是IP网络号
4.virtuallink的linkID是邻居的RID
LSA类型2(networkLSA),如下图:
类型2的LSA只在一个区域里传播,不会穿越ABR.描述了组成transitnetwork的直连的路由器.transitnetwork直连至少2台OSPF路由器.DR负责宣告类型2的LSA,然后在transitnetwork的一个area里进行洪泛.类型2的LSAID是DR进行宣告的那个接口的IP地址
LSA类型3(summaryLSA),如下图:
类型3的LSA由ABR发出.默认OSPF不会对连续子网进行汇总.可在ABR上进行人工设定启用汇总.类型3的LSA可以在整个AS内进行洪泛
LSA类型4(summaryLSA),如下图:
类型4的LSA只使用在area里存在ASBR的时候,类型4的LSA鉴别ASBR和提供到达ASBR的路由.类型4的LSA只包含了ASBR的RID信息.类型4的LSA由ABR生成,并在整个AS里进行洪泛
LSA类型5(externalLSA),如下图:
类型5的LSA描述了到达外部AS的路由,由ASBR生成并在整个AS内洪泛
InterpretingtheOSPFLSDBandRoutingTable
使用showipospfdatabase来查看OSPF的LSDB信息
一些routedesignator如下:
1.O:
代表OSPFarea内(intra-area)路由,为routerLSA
2.OIA:
在一个AS里的area之间(inter-area)的路由,为summaryLSA
3.OE1/OE2:
AS外路由,为externalLSA
SPF算法根据LSDB运算出SPF树来决定最佳路径,步骤如下:
1.所有在各自的area里的路由器计算出最佳路径并放进路由表里,为LSA类型1和类型2.用O来标记
2.area之间的路由器计算出最佳路径,这些最佳路径是area间路由条目,或LSA类型3和LSA类型4.用OIA来标记
3.所有的除了stubarea的路由器计算出到达外部AS的最佳路径(LSA类型5),标记为OE1或OE2
OE1和OE2的区别为是到达外部网络,前者要加内部cost,后者不加,如下图:
一般只有一个ASBR宣告到达外部AS的外部路由的时候,就使用OE2(OE2为默认类型);如果有多个ASBR宣告一条到达同一个外部AS的外部路由的时候,就应该使用OE2
OSPF路由协议综述及其配置(3)
日期:
2004-9-12 浏览次数:
3373
作者:
红头发 出处:
www.show-
OSPF路由协议综述及其配置(3)
CommonOSPFConfigurationforFrameRelay
先看看NBMA模式,如下图:
1.OSPF会把NBMA当作broadcast网络进行处理(比如LAN)
2.如图,所有的serial口处于同一子网
3.ATM,X.25和帧中继默认为NBMA操作
4.邻居手动指定
5.洪泛LSU的时候,要对每条PVC进行洪泛
6.RFC2328兼容
对NBMA类型人工指定邻居使用如下命令:
Router(config-router)#neighbor[x.x.x.x]priority[number]poll-interval[number]
x.x.x.x为邻居的IP地址
priority[number]为优先级,如果设置为0的话将不能成为DR/BDR
poll-interval[number]是轮询的间隔时间,单位为秒.NBMA接口发送hello包给邻居之前等待的时间
下图是一个配置实例:
RouterA(config)#routerospf100
RouterA(config-router)#network140.140.0.00.0.255.255area0
RouterA(config-router)#neighbor140.140.1.2priority0
RouterA(config-router)#neighbor140.140.1.3priority0
如上,把邻居的优先级设置为0,保证A为DR.在部分互连的NBMA网络中,只需在DR/BDR上使用neighbor命令;如果拓扑结构是星形的话,neighbor命令应该使用在中心路由器上;在全互连的NBMA网络中,应该在所有的路由器上使用neighbor命令,除非是人工指定DR/BDR查看OSPF邻居信息:
showipospfneighbor[typenumber][neighbor-id][detail]
typenumber:
接口类型和接口号,可选
neighbor-id:
邻居路由器ID,可选
再看看point-to-multipoint模式,如下图:
1.适用于部分互连或星形拓扑结构里
2.不需DR,只使用单独的一个子网
3.自动发现邻居
4.LSU包被发送到每个邻居路由器的接口
如下图,point-to-multipoint的配置如下:
路由器A:
RouterA(config)#interfaceserial0
RouterA(config-if)#encapsulationhdlc
RouterA(config-if)#ipaddress120.120.1.1255.255.255.0
RouterA(config)#interfaceserial1
RouterA(config-if)#encapsulationframe-relay
RouterA(config-if)#ipaddress140.140.1.1255.255.255.0
RouterA(config-if)#ipospfnetworkpoint-to-multipoint
路由器B:
RouterB(config)#interfaceserial0
RouterB(config-if)#ipaddress140.140.1.2255.255.255.0
RouterB(config-if)#encapsulationframe-relay
RouterB(config-if)#ipospfnetworkpoint-to-multipoint
验证如下:
RouterA#showipospfinterfaces1
Serial1isup,lineprotocolisup
InternetAddress140.140.1.1/24,Area1
ProcessID100,RouterID120.120.1.1,NetworkTypePoint-To-Multipoint,Cost:
64
TransmitDelay