OSPF路由协议综述及其配置74960_第1页
OSPF路由协议综述及其配置74960_第2页
OSPF路由协议综述及其配置74960_第3页
OSPF路由协议综述及其配置74960_第4页
OSPF路由协议综述及其配置74960_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

链路状态路由协议(link-stateroutingprotocol)的一些特征:

1.对网络发生的变化能够快速响应

2.当网络发生变化的时候发送触发式更新(triggeredupdate)

3.发送周期性更新(链路状态刷新),间隔时间为30分钟

链路状态路由协议只在网络拓扑发生变化以后产生路由更新.当链路状态发生变化以后,检测到变化的设备创建LSA(linkstateadvertisement),通过使用组播地址传送给所有的邻居设备,然后每个设备拷贝一份LSA,更新它自己的链路状态数据库(linkstatedatabase,LSDB),接着再转发LSA给其他的邻居设备.这种LSA的洪泛(flooding)保证了所有的路由设备在更新自己的路由表之前更新它自己的LSDB

LSDB通过使用Dijkstra算法(shortestpathfirst,SPF)来计算到达目标网络的最佳路径,建立一条SPF树(tree),然后最佳路径从SPF树里选出来,被放进路由表里OSPF和IS-IS协议被归类到链路状态路由协议中.链路状态路由协议在一个特定的区域(area)里从邻居处收集网络信息,一旦路由信息都被收集齐以后,每个路由器开始通过使用Dijkstra算法(SPF)独立计算到达目标网络的最佳路径

运行了链路状态路由协议的路由器跟踪以下信息:

1.它们各自的邻居

2.在同一个区域中的所有路由器

3.到达目标网络的最佳路径

Link-StateDataStructures

为了能够做出更好的路由决策,OSPF路由器必须维持的有以下内容:

1.neighbortable:也叫adjacencydatabase.存储了邻居路由器的信息.如果一个OSPF路由器和它的邻居路由器失去联系,在几秒中的时间内,它会标记所有到达那条路由均为无效并且重新计算到达目标网络的路径

2.topologytable:一般叫做LSDB.OSPF路由器通过LSA学习到其他的路由器和网络状况,LSA存储在LSDB中

3.routingtable:也就是我们所说的路由表了,也叫forwardingdatabase,包含了到达目标网络的最佳路径的信息

链路状态路由协议和距离向量路由协议的一个区别就是:距离向量路由协议是routingbyrumors,也就是说,距离向量路由协议依靠邻居发给它的信息来做路由决策,而且路由器不需要保持完整的网络信息;而运行了链路状态路由协议的路由器保持的有完整的网络信息的快照,而且每个路由器自己做出路由决策

DefininganOSPFArea

OSPF的网络设计要求是双层层次化(2-layerhierarchy),包括如下2层:

1.transitarea(backbone或area0)

2.regularareas(nonbackboneareas)

transitarea负责的主要功能是IP包快速和有效的传输.transitarea互联OSPF其他区域类型.一般的,这个区域里不会出现端用户(enduser)

regularareas负责的主要功能就是连接用户和资源.这种区域一般是根据功能和地理位置来划分.一般的,一个regulararea不允许其他区域的流量通过它到达另外一个区域,必须穿越transitarea比如area0.regularareas还可以有很多子类型,比如stubarea,locallyarea和not-so-stubbyarea

在链路状态路由协议中,所有的路由器都保持的有LSDB,OSPF路由器越多,LSDB就越大.这可能对了解完整的网络信息有帮助,但是随着网络的增长,可扩展性的问题就会越来越大.采用的折中方案就是引入区域的概念.在某一个区域里的路由器只保持的有该区域中所有路由器或链路的详细信息和其他区域的一般信息.当某个路由器或某条链路出故障以后,信息只会在那个区域以内在邻居之间传递.那个区域以外的路由器不会收到该信息.OSPF要求层次化的网络设计,意味着所有的区域要和area0直接相连.如下图:

注意area1和area2或3之间的连接是不允许的,它们都必须通过backbonearea0进行连接.Cisco建议每个区域中路由器的数量为50到100个构建area0的路由器称为骨干路由器(backbonerouter,BR),如上图,A和B就是BR;区域边界路由器(areaborderrouter,ABR)连接area0和nonbackboneareas.如图,C,D和E就是ABR.ABR通常具有以下特征:

1.分隔LSA洪泛的区域

2.是区域地址汇总的主要因素

3.一般做为默认路由的源头

4.为每个区域保持LSDB

理想的设计是使每个ABR只连接2个区域,backbone和其他区域,3个区域为上限

DefiningOSPFAdjacencies

运行OSPF的路由器通过交换hello包和别的路由器建立邻接(adjacency)关系,过程如下:

1.路由器和别的路由器交换hello包,目标地址采用多播地址

2.hello包交换完毕,邻接关系形成

3.接下来通过交换LSA和对接收方的确认进行同步LSDB.对于OSPF路由器而言,进入完全邻接状态

4.如果需要的话,路由器转发新的LSA给其他的邻居,来保证整个区域内LSDB的完全同步

对于点到点的WAN串行连接,两个OSPF路由器通常使用HDLC或PPP来形成完全邻接状态

对于LAN连接,选举一个路由器做为designatedrouter(DR)再选举一个做为backupdesignatedrouter(BDR),所有其他的和DR以及BDR相连的路由器形成完全邻接状态而且只传输LSA给DR和BDR.DR从邻居处转发更新到另外一个邻居那里.DR的主要功能就是在一个LAN内的所有路由器拥有相同的数据库,而且把完整的数据库信息发送给新加入的路由器.路由器之间还会和LAN内的其他路由器(非DR/BDR,即DROTHERs)维持一种部分邻居关系(two-wayadjacency)

OSPF的邻接一旦形成以后,会交换LSA来同步LSDB,LSA将进行可靠的洪泛

OSPFCalculation

链路状态陆游协议使用Dijkstra算法来查找到达目标网络中的最佳路径.所有的路由器拥有相同的LSDB后,把自己放进SPFtree中的root里,然后根据每条链路的耗费(cost),选出耗费最低的做为最佳路径,最后把最佳路径放进forwardingdatabase(路由表)里

下图就是一个SPF计算的例子:

1.LSA遵循splithorizon原则,H对E宣告它的存在,E把H的宣告和它自己的宣告再传给C和G;C和G再和之前类似,继续传播开来……

2.X有4个邻居:A,B,C和D,假设这里都是以太网,每条网链路的耗费为10,经过计算,路由器可以算出最佳路径.上图的右半部分实线所标即为最佳路径

LSDataStructures:LSAOptions

关于LSA的操作流程图如下:

如图可以看出当路由器收到一个LSA以后,先会查看它自己的LSDB看有没有相应的条目,如果没有就加进自己的LSDB中去,并反馈LSA确认包(LSAck),接着再继续洪泛LSA,最后运行SPF算法算出新的路由表

如果当它收到LSA的时候,自己的LSDB有该条目而且版本号一样,就忽略这个LSA;如果有相应条目,但是收到的LSA的版本号更新,就加进自己的LSDB中,发回LSAck,洪泛LSA,最后用SPF计算最佳路径;如果版本号没有自己LSDB中那条新,就反馈LSU信息给发送源

TypesofOSPFPackets

OSPF包的5种类型如下:

1.hello:用来建立邻居关系的包

2.databasedescription(DBD):用来检验路由器之间数据库的同步

3.linkstaterequest(LSR):链路状态请求包

4.linkstateupdate(LSU):特定链路之间的请求记录

5.linkstateacknowledgement(LSAck):确认包

OSPFPacketHeaderFormat

5种OSPF包都是直接被封装在IP包里的而不使用TCP或UDP.由于没有使用可靠的TCP协议,但是OSPF包又要求可靠的传输,所以就有了LSAck包.如下图所示就是OSPF包在IP包里的形式:

协议号为89(EIGRP协议号为8,一些字段如下:

1.VersionNumber:当前为OSPF版本2

2.Type:定义OSPF包的类型

3.PacketLength:包的长度,单位字节

4.RouterID(RID):产生OSPF包的源路由器

5.AreaID:定义OSPF包是从哪个area产生出来的

6.Checksum(校验和):错误校验

7.AuthenticationType:验证方法,可以是明文(cleartext)密码或者是MessageDigest5(MD5)加密格式

8.Data:对于hello包来说,该字段是已知邻居的列表;对于DBD包来说,该字段包含的是LSDB的汇总信息,包括RID等等;对于LSR包来说,该字段包含的是需要的LSU类型和需要的LSU类型的RID;对于LSU包来说,包含的是完全的LSA条目,多个LSA条目可以装在一个包里;对于LSAck来说,字段为空

OSPFNeighborAdjacencyEstablishment

Hello协议用来建立和保持OSPF邻居关系,采用多播地址,hello包包含的信息如下:

1.RouterID(RID):路由器的32位长的一个唯一标识符,选举规则是,如果loopback接口不存在的话,就选物理接口中IP地址等级最高的那个;否则就选取loopback接口

2.hello/deadintervals:定义了发送hello包频率(默认在一个多路访问网络中间隔为10秒);dead间隔是4倍于hello包间隔.邻居路由器之间的这些计时器必须设置成一样

3.neighbors:邻居列表

4.areaID:为了能够通信,OSPF路由器的接口必须属于同一网段中的同一区域(area),即共享子网以及子网掩码信息

5.routerpriority:优先级,选举DR和BDR的时候使用.8位长的一串数字

6.DR/BDRIPaddress:DR/BDR的IP地址信息

7.authenticationpassword:如果启用了验证,邻居路由器之间必须交换相同的密码信息.此项可选

8.stubareaflag:stubarea是通过使用默认路由代替路由更新的一种技术(有点像EIGRP中的stub功能)

EstablishingBidirectionalCommunication1.星型(star/hub-and-spoke):最常见的帧中继网络拓扑,代价最小

2.全互连(full-mesh):冗余,但是代价大,在这样的环境中计算VC的数量,使用n(n-1)/2的公式,n为网络中的节点数

3.部分互连(partial-mesh):前两种的折中方案

OSPF运行的两种RFC中定义的模式如下:

1.NBMA:一般和部分互连的网络结合使用,需要选举DR/BDR和人工指定邻居.优点是相对point-to-multipoint模式它的负载较低

2.point-to-multipoint:把非广播的网络当作点到点连接的集合,自动发现邻居,不指定DR/BDR,一般和部分互连的网络结合使用.优点是配置较为简便

一些其他的可运行模式如下:

1.point-to-multipointnonbroadcast

2.broadcast

3.point-to-point

定义OSPF网络类型的命令如下:

Router(config-if)#ipospfnetwork[{broadcastnonbroadcastpoint-to-multipointpoint-to-multipointnonbroadcast}]

几种选项的含义如下:

1.broadcast:使得WAN接口看上去像LAN接口;一个IP子网;多播hello包自动发现邻居;选举DR/BDR;要求网络全互连

2.nonbroadcast(NBMA):一个IP子网;邻居手工指定;选举DR/BDR;DR/BDR要求和DROTHER完全互连;一般用在部分互连的网络中

3.point-to-multipoint:一个IP子网;多播hello包自动发现邻居;不要求DR/BDR的选举;一般用在部分互连的网络中

4.point-to-multipointnonbroadcast:假如VC中多播和广播能力没有启用的话就不能使用point-to-multipoint模式,也路由器没办法多播hello包;邻居必须人工指定;不需选举DR/BDR

5.point-to-point:一个子网;不选举DR/BDR;当只有2个路由器的接口要形成邻接关系的时候才使用;接口可以为LAN或WAN接口

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)#network55area0

RouterA(config-router)#neighborpriority0

RouterA(config-router)#neighborpriority0

如上,把邻居的优先级设置为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)#ipaddress

RouterA(config)#interfaceserial1

RouterA(config-if)#encapsulationframe-relay

RouterA(config-if)#ipaddress

RouterA(config-if)#ipospfnetworkpoint-to-multipoint

路由器B:

RouterB(config)#interfaceserial0

RouterB(config-if)#ipaddress

RouterB(config-if)#encapsulationframe-relay

RouterB(config-if)#ipospfnetworkpoint-to-multipoint

验证如下:

RouterA#showipospfinterfaces1

Serial1isup,lineprotocolisup

InternetAddress/24,Area1

ProcessID100,RouterID,NetworkTypePoint-To-Multipoint,Cost:64

TransmitDelayis1sec,State:Point_To_Multipoint

Timerintervalsconfigured,Hello30,Dead120,Wait120,Retransmit5

Helloduein00:00:11

Neighborcountis2,Adjacentneighborcountis2

Adjacentwithneighbor

Adjacentwithneighbor

(略)

接下来再看看point-to-multipointnonbroadcast模式,这个模式是RFC兼容的point-to-multipoint的扩展;邻居必须人工指定;不选举DR/BDR;使用在某些邻居不能自动发现的场合下

然后是broadcast模式,要选举DR/BDR

最后是point-to-point模式,使用在当NBMA网络中只存在2个节点的时候;不选举DR/BDR;每条点到点的连接处在同一个子网中;一般只和point-to-pointsubinterface结合使用

定义subinterface的命令如下:

Router(config)#interfaceserial[number.subinterface-number]{point-to-pointmultipoint}

默认在point-to-point的帧中继subinterface的OSPF模式是point-to-point模式;在multipoint的帧中继subinterface的OSPF模式是NBMA(nonbroadcast)模式;在帧中继物理接口的OSPF模式也是NBMA模式

下图就是一个point-to-pointsubinterface的例子:

如图每条VC要求一个单独的子网

下图是一个multipointsubinterface的例子:

如图,第一个subinterfaceS1.1为point-to-point模式;OSPF把第二个multipointsubinterfaceS1.2当作NBMA模式

下图是几种模式的一个比较:

debugipospfadj:用来跟踪OSPF邻居信息

TypesofOSPFRouters

当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

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)#networkarea1

R1(config-router)#summary-address

DefaultRoutesinOSPF

OSPF路由器默认不会产生默认路由到一般性的area里,但是可以通过相关命令启用默认路由.默认路由作为LSA类型5出现在LSDB中

创建OSPF默认路由的命令如下:

Router(config-router)#default-informationoriginate[always][metricvalue][metric-typetype-value][route-mapmap-name]

参数always是不管路由表里是否存在默认路由,都会宣告一条默认路由

metricvalue是指定默认路由的metric,默认为10

type-value可以为1或者2.1为OE1,2为OE2,默认是2

route-mapmap-name是假如满足routemap的话就产生默认路由

实例如下图:

R1(config)#routerospf100

R1(config-router)#netwarea0

R1(config-router)#default-informationoriginatemetric10

R2(config)#routerospf100

R2(config-router)#netwarea0

R2(config-router)#default-informationoriginatemetric100

TypesofOSPFAreas

一些OSPFarea的类型如下:

1.standardarea:接收链路更新,路由汇总和外部路由

2.backbonearea(transitarea):标记为area0,拥有standardarea的一切属性

3.stubarea:不可以包含ASBR.不接收外部路由信息(LSA类型5),假如要到达外部AS的话就使用标记为的默认路由.好处是可以减少路由表的条目.stubarea没有虚链路(virtuallink)穿越它们

4.totallystubbyarea:Cisco私有,不接收外部路由信息和路由汇总信息(LSA类型3,4和5).不可以包含ASBR.假如要到达外部AS的话就使用标记为的默认路由.好处是最小化路由表条目

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)#netw55area0

R3(config-router)#netw55area2

R3(config-router)#area2stub

R4(config)#routerospf10

R4(config-router)#netw55area2

R4(config-router)#area2stub

如上是把area2配置为stubarea,R3做为ABR自动向area2(stubarea)宣告一条metric为1的默认路由

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)#netw55area1

R3(config-router)#area1stub

R4(config)#routerospf50

R4(config-router)#netw55area1

R4(config-router)#netw55area0

R4(config-router)#area1stubno-summary

R4(config-router)#area1default-cost10

R4(config)#routerospf50

R2(config-router)#netw55area1

R2(config-router)#netw55area0

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-address

R2(config-router)#netw55area1

R2(config-router)#netw55area0

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)#netw55area1

R1(config-router)#area1nssa

还可以将NSSA配置成具有totally-stub的特性,如下:

R1(config)#routerospf100

R1(config-router)#redistributeripsubnets

R1(config-router)#defaultmetric150

R1(config-router)#netw55area1

R1(config-router)#area1nssa

R2(config)#routerospf100

R2(config-router)#summary-address

R2(config-router)#netw55area1

R2(config-router)#netw55area0

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-digestnull]:指定验证方式为MD5加密还是明文口令

hello-intervals[second]:定义hello包发送时间间隔,默认为10秒

配置实例如下图:

R2(config)#routerospf100

R2(config-router)#netw55area1

R2(config-router)#netw55area3

R2(config-router)#area1virtual-link

注重上面的RID,是指定虚链路中对方的RID,R1的配置如下:

R1(config)#routerospf200

R1(config-router)#netw55area0

R1(config-router)#netw55area1

R1(config-router)#area1virtual-link23

注重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的外部路由的时候,就应该使用OE2OSPF路由协议综述及其配置(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)#networkarea1

R1(config-router)#summary-address

DefaultRoutesinOSPF

OSPF路由器默认不会产生默认路由到一般性的area里,但是可以通过相关命令启用默认路由.默认路由作为LSA类型5出现在LSDB中

创建OSPF默认路由的命令如下:

Router(config-router)#default-informationoriginate[always][metricvalue][metric-typetype-value][route-mapmap-name]

参数always是不管路由表里是否存在默认路由,都会宣告一条默认路由

metricvalue是指定默认路由的metric,默认为10

type-value可以为1或者2.1为OE1,2为OE2,默认是2

route-mapmap-name是假如满足routemap的话就产生默认路由

实例如下图:

R1(config)#routerospf100

R1(config-router)#netwarea0

R1(config-router)#default-informationoriginatemetric10

R2(config)#routerospf100

R2(config-router)#netwarea0

R2(config-router)#default-informationoriginatemetric100

TypesofOSPFAreas

一些OSPFarea的类型如下:

1.standardarea:接收链路更新,路由汇总和外部路由

2.backbonearea(transitarea):标记为area0,拥有standardarea的一切属性

3.stubarea:不可以包含ASBR.不接收外部路由信息(LSA类型5),假如要到达外部AS的话就使用标记为的默认路由.好处是可以减少路由表的条目.stubarea没有虚链路(virtuallink)穿越它们

4.totallystubbyarea:Cisco私有,不接收外部路由信息和路由汇总信息(LSA类型3,4和5).不可以包含ASBR.假如要到达外部AS的话就使用标记为的默认路由.好处是最小化路由表条目

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)#netw55area0

R3(config-router)#netw55area2

R3(config-router)#area2stub

R4(config)#routerospf10

R4(config-router)#netw55area2

R4(config-router)#area2stub

如上是把area2配置为stubarea,R3做为ABR自动向area2(stubarea)宣告一条metric为1的默认路由

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)#netw55area1

R3(config-router)#area1stub

R4(config)#routerospf50

R4(config-router)#netw55area1

R4(config-router)#netw55area0

R4(config-router)#area1stubno-summary

R4(config-router)#area1default-cost10

R4(config)#routerospf50

R2(config-router)#netw55area1

R2(config-router)#n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论