华为OSPF总结.docx
- 文档编号:23959209
- 上传时间:2023-05-22
- 格式:DOCX
- 页数:18
- 大小:23.09KB
华为OSPF总结.docx
《华为OSPF总结.docx》由会员分享,可在线阅读,更多相关《华为OSPF总结.docx(18页珍藏版)》请在冰豆网上搜索。
华为OSPF总结
1OSPF基本概念
拓扑和路由器类型
OSPF整体拓扑
OSPF把自治系统划分成逻辑意义上的一个或多个区域,所有其他区域必须与区域0相连。
路由器类型
区域内路由器(InternalRouter):
该类设备的所有接口都属于同一个OSPF区域。
区域边界路由器ABR(AreaBorderRouter):
该类路由器可以同时属于两个以上的区域,但其中一个接口必须在骨干区域。
ABR用来连接骨干区域和非骨干区域,它与骨干区域之间既可以是物理连接,也可以是逻辑上的连接。
骨干路由器(BackboneRouter):
该类路由器至少有一个接口属于骨干区域。
所有的ABR和位于Area0的内部路由器都是骨干路由器。
自治系统边界路由器ASBR(ASBoundaryRouter):
与其他AS交换路由信息的路由器称为ASBR。
ASBR并不一定位于AS的边界,它可能是区域内路由器,也可能是ABR。
只要一台OSPF路由器引入了外部路由的信息,它就成为ASBR。
拓扑所体现的IS-IS与OSPF不同点
在OSPF中,每个链路只属于一个区域;而在IS-IS中,每个链路可以属于不同的区域;
在IS-IS中,单个区域没有骨干与非骨干区域的概念;而在OSPF中,Area0被定义为骨干区域;
在IS-IS中,Level-1和Level-2级别的路由都采用SPF算法,分别生成最短路径树SPT而在OSPF中,只有在同一个区域内才使用SPF算法,区域之间的路由发布还是距离矢量算法,区域之间的路由需要通过骨干区域来转发。
OSPF网络类型,DR,BDR介绍
OSPF支持的网络类型
点到点P2P类型:
当链路层协议是PPP、HDLC时,缺省情况下,OSPF认为网络类型是P2P。
在该类型的网络中,以组播形式()发送协议报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文)。
点到多点P2MP类型(Point-to-Multipoint):
没有一种链路层协议会被缺省的认为是Point-to-Multipoint类型。
点到多点必须是由其他的网络类型强制更改的。
常用做法是将非全连通的NBMA改为点到多点的网络。
在该类型的网络中以组播形式()发送Hello报文,以单播形式发送其他协议报文(DD报文、LSR报文、LSU报文、LSAck报文)。
NBMA类型(Non-broadcastmultipleaccess):
当链路层协议是ATM时,缺省情况下,OSPF认为网络类型是NBMA。
在该类型的网络中,以单播形式发送协议报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文)。
广播类型(Broadcast):
当链路层协议是Ethernet、FDDI时,缺省情况下,OSPF认为网络类型是Broadcast。
在该类型的网络中,通常以组播形式发送Hello报文、LSU报文和LSAck报文。
其中,的组播地址为OSPF路由器的预留IP组播地址;的组播地址为OSPFDR的预留IP组播地址。
以单播形式发送DD报文和LSR报文。
在至少含有两个路由器的广播型网络和NBMA网络都有一个指定路由器(DR)和一个备份指定路由器(BDR)
DR/BDR的作用
减少邻居关系的数量,从而减少链路状态信息和路由信息的次数。
Drother只与DR/BDR建立完全邻接关系。
DR与BDR之间建立完全邻接关系。
DR产生网络LSA来描述NBMA网段或者广播网段信息。
DR/BDR选举规则
DR/BDR由OSPF的Hello协议选举,选举是根据端口的路由器优先级(RouterPriority)进行的。
如果RouterPriority被设置为0,那么该路由器将不允许被选举成DR或者BDR。
RouterPriority越大越优先。
如果相同,RouterID大者优先。
DR/BDR不能抢占。
如果当前DR故障,当前BDR自动成为新的DR,网络中重新选举BDR;如果当前BDR故障,则DR不变,重新选举BDR。
ISISDIS与OSPFDR/BDR的不同点
在IS-IS广播网中,优先级为0的路由器也参与DIS的选举,而在OSPF中优先级为0的路由器则不参与DR的选举。
在IS-IS广播网中,当有新的路由器加入,并符合成为DIS的条件时,这个路由器会被选中成为新的DIS,原有的伪节点被删除。
此更改会引起一组新的LSP泛洪。
而在OSPF中,当一台新路由器加入后,即使它的DR优先级值最大,也不会立即成为该网段中的DR。
在IS-IS广播网中,同一网段上的同一级别的路由器之间都会形成邻接关系,包括所有的非DIS路由器。
OSPF报文类型
Hello报文:
用于建立和维持邻居关系
DD报文:
描述本地LSDB的摘要信息,用于两台路由器进行数据库同步
LSR报文:
用于向对方请求所需的LSA路由器只有在OSPF邻居双方成功交换DD报文后才会向对方发出LSR报文
LSU报文:
用于向对方发送其所需要的LSA
LSAck报文:
用来对收到的LSA进行确认
OSPF报文概述
OSPF报文直接运行于IP之上,IP协议字段号为89。
OSPF有五种报文类型,但是OSPF报文头部格式都是相同的。
除Hello报文外,其它的OSPF报文都携带LSA信息。
OSPF报文头部信息
所有的OSPF报文使用相同的OSPF报文头部
Version:
OSPF协议号,应当被设置成2。
Type:
OSPF报文类型,OSPF共有五种报文。
Packetlength:
OSPF报文总长度,包括报文头部。
单位是字节。
RouterID:
生成此报文的路由器的RouterID。
AreaID:
此报文需要被通告到的区域。
Checksum:
是指一个对整个数据包(包括包头)的标准IP校验和。
AuType:
验证此报文所应当使用的验证方法。
Authentication:
验证此报文时所需要的密码等信息。
Hello报文格式
NetworkMask:
发送Hello报文的接口的网络掩码。
HelloInterval:
发送Hello报文的时间间隔。
单位为秒。
Options:
标识发送此报文的OSPF路由器所支持的可选功能。
RouterPriority:
发送Hello报文的接口的RouterPriority,用于选举DR和BDR。
RouterDeadInterval:
宣告邻居路由器不继续在该网段上运行OSPF的时间间隔,单位为秒,通常为四倍HelloInterval。
DesignatedRouter:
发送Hello报文的路由器所选举出的DR的IP地址。
如果设置为,表示未选举DR路由器。
BackupDesignatedRouter:
发送Hello报文的路由器所选举出的BDR的IP地址。
如果设置为,表示未选举BDR路由器。
ActiveNeighbor:
邻居路由器的RouterID列表。
表示本路由器已经从该邻居收到合法的Hello报文。
DD报文格式
接口MTU:
是指在数据包不分段的情况下,始发路由器接口可以发送的最大IP数据包大小。
当在虚连接时,该在段为0x0000。
Option:
同hello报文。
I位:
当发送的是一系列DD报文中的第一个数据包时,该为置位为1。
后续的DD报文将该位置位0。
M位:
当发送的数据包还不是一个系列DD报文中的最后一个数据包时,该值置为1。
如果是最后一个DD报文,则将该为置为0。
MS位:
在数据库同步中,主要用来确认协商过程中的序列号。
DDSequenceNumber:
DD的序列号报文,4byte
LSA头部信息。
LSR报文格式
LinkStateType:
用来指明LSA标识是一个路由器LSA、一个网络LSA还是其他类型的LSA。
LinkStateID:
不同类型LSA该字段意义不同。
AdvertisingRouter:
始发LSA通告的路由器的路由器ID。
LSU报文格式
NumberofLSA:
指出这个数据包中包含的LSA的数量。
LSA:
明细LSA信息
LSAck报文格式
HeaderofLSA:
LSA头部信息。
LSA头部信息
除Hello报文外,其它的OSPF报文都携带LSA信息。
LSage:
此字段表示LSA已经生存的时间,单位是秒。
Option:
该字段指出了部分OSPF域中LSA能够支持的可选性能
LStype:
此字段标识了LSA的格式和功能。
常用的LSA类型有五种。
LinkStateID:
根据LSA的不用而不同。
AdvertisingRouter:
始发LSA的路由器的ID。
SequenceNumber:
当LSA每次新的实例产生时,这个序列号就会增加。
这个更新可以帮助其他路由器识别最新的LSA实例。
Checksum:
关于LSA的全部信息的校验和。
因为Age字段,所以校验和会随着老化时间的增大而每次都需要重新进行计算。
Length:
是一个包含LSA头部在内的LSA的长度。
LSA类型和区域内路由计算与描述
Router-LSA(Type1)
路由器产生,描述了路由器的链路状态和开销,本区域内传播
Network-LSA(Type2)
DR产生,描述本网段的链路状态,本区域内传播
Network-summary-LSA(Type3)
ABR产生,描述区域内某个网段的路由,区域间传播(除特殊区域)
ASBR-summary-LSA(Type4)
ABR产生,描述到ASBR的路由,OSPF域内传播(除特殊区域)
AS-external-LSA(Type5)
ASBR产生,描述到AS外部的路由,OSPF域内传播(除特殊区域)
NSSALSA(Type7)
由ASBR产生,描述到AS外部的路由,仅在NSSA区域内传播。
区域内路由的计算只涉及到router-lsa和network-lsa
也只有router-lsa和network-lsa参与ospf路由计算
描述拓扑结构
Router-LSA
Router-LSA必须描述始发路由器所有接口或链路。
区域内路由计算用到router-lsa
[Q5]displayospflsdbrouterself-originate
OSPFProcess1withRouterIDArea:
LinkStateDatabase
Type:
Router
Lsid:
Advrtr:
Lsage:
194
Len:
48
Options:
ASBRE
seq#:
chksum:
0xacb8
Linkcount:
2
*LinkID:
Data:
LinkType:
P-2-P
Metric:
1562
*LinkID:
Data:
LinkType:
StubNet
Metric:
1562
Priority:
Low
LinkStateID:
是指始发路由器的路由器ID。
V:
设置为1时,说明始发路由器是一条或者多条具有完全邻接关系的虚链路的一个端点。
E:
当始发路由器是一个ASBR路由器时,该为置为1。
B:
当始发路由器是一个ABR路由器时,该为置为1。
Linkcount:
表明一个LSA所描述的路由器链路数量。
LinkType:
置为1表示点到点连接一台设备;置为2表示连接一个transit网络,可以理解为广播网络;置为3表示连接subnet网络,一般该地址为环回口地址;置为4表示虚链路。
LinkID:
LinkType置为1表示邻居路由器的路由器ID;LinkType置为2表示DR路由器的接口的IP地址;LinkType置为3表示IP网络或子网地址;LinkType置为4邻居路由器的路由器ID。
LinkData:
LinkType置为1表示和网络相连的始发路由器接口的IP地址;LinkType置为2表示和网络相连的始发路由器接口的IP地址;LinkType置为3网络的IP地址或子网掩码。
P2P链路:
描述到邻居连接
Transit链路:
描述到DR的连接
Stub链路:
描述子网,没有邻居(loopback或者只有一个以太网链路)
V-link链路:
描述虚链路点到点链路
ToS,暂不支持。
Metric:
是指一条链路或接口的代价。
Network-LSA
DR产生,BDR不会产生Network-LSA
[Q2]displayospflsdbnetworkself-originate
OSPFProcess1withRouterIDArea:
LinkStateDatabase
Type:
Network
Lsid:
Advrtr:
Lsage:
393
Len:
36
Options:
E
seq#:
chksum:
0x9088
Netmask:
Priority:
Low
AttachedRouterAttachedRouterAttachedRouterStateID:
是指DR路由器接口上的地址。
NetworkMask:
指定这个网络上使用的地址或者子网的掩码。
Attachedrouter:
列出该多路访问网络上与DR形成完全邻接关系且包括DR本身的所有路由器的路由器ID。
Network-summary-LSA(ABR产生)
[Q4]displayospflsdbsummary
Type:
Sum-Net
Lsid:
Advrtr:
Lsage:
425
Len:
28
Options:
E
seq#:
chksum:
0xde1f
Netmask:
Tos0metric:
1562
Priority:
Low
LinkStateID:
对于3类LSA来说,表示所通告的网络或子网的IP地址。
对于4类LSA来说表示所通告的ASBR路由器的路由器ID。
NetworkMask:
对于3类LSA来说,表示所通告的网络的子网掩码或者地址。
对于4类LSA来说,该字段没有实际意义,一般置为。
Metric:
直到目的地址的路由的代价。
Network-summary-LSA在区域间传递,区域间路由是矢量的,那么矢量的路由需要防止环路
防止环路方法如下:
(1)ABR不能从非骨干区域接收类型3LSA
(2)Downbit防环
ASBR-summary-LSA(ABR产生)
AS-external-LSA(ASBR产生)
[Q4]displayospflsdbase
OSPFProcess1withRouterIDLinkStateDatabase
Type:
External
Lsid:
Advrtr:
Lsage:
2341
Len:
36
Options:
E
seq#:
chksum:
0xa273
Netmask:
TOS0Metric:
1
Etype:
2
ForwardingAddress:
Tag:
1
Priority:
Low
LinkStateID:
目的地的IP地址。
NetworkMask:
指所通告的目的地的子网掩码或地址。
Etype:
用来指定这条路由使用的外部度量的类型。
如果该Ebit设置为1,那么度量类型就是E2;如果该Ebit设置为0,那么度量类型就是E1。
Metric:
指路由的代价。
由ASBR设定。
ForwardingAddress:
是指到达所通告的目的地的数据包应该被转发到的地址。
如果转发地址是那么数据包将被转发到始发ASBR上。
ExternalRouteTag:
标记外部路由。
NSSALSA(ASBR产生)
[Q5]displayospflsdbnssaself-originate
Type:
NSSA
Lsid:
如果发布该7类LSA的ASBR满足上文提到的非零FA填写规则,那么就按照该
规则填写。
2. 如果发布该7类LSA的ASBR不满足上述条件,那么需要从该路由器上启用OSPF
协议的接口中选择一个进行填写。
对于情况2虽然RFC3101对FA的填写进行了要求,但是并未明确如何填写该FA。
在某些组网环境中由于该FA地址的填写不当,有可能会产生次优路由。
考虑如下组网:
Router A、Router B、Router C形成NSSA区域,Router A引入外部路由Route a,
通过7类LSA通告给Router B和Router C,因为RFC并未明确要求这种情况下该7类LSA中的FA如何填写,Router A可能会选择Int 1的IP地址填写FA,那么对于Router C来讲,到达Int 1有两条路径,一条是通过RouterA到达路径 Cost为100,另一条是通过Router B到达路径Cost为80,因此Router C将选择通过Router B的路径,很明显它实际上选择了一条次优路径。
如果在填写FA时,使用Loopback接口地址进行填写,可以解决上述问题。
实例:
Q5引入外部路由之后由router-id最大的ABR将Type7类型的lsa转换成外部路由Type5,这本例中Q4的router-id比Q3大,所以由Q4将Type7类型的lsa转换成外部路由Type5。
Q5产生type7外部路由forwardingaddress为外部路由选路规则和forwardingaddress
5OSPF如何维护LSDB
LSA的新旧比较
(1)当网络拓扑发生变化时,lsa的序列号会+1,比较序列号,序列号越大越优先
(2)序列号相同,比较老化时间,越小越优先
采取的措施是泛红,回馈,丢弃。
checksum校验和
计时器
60分钟刷新删除陈旧的LSA
30分钟泛红自己的LSA
更改lsa规则
自己更改自己,别人不能更改,否则lsa破坏风暴。
6OSPF选路规则
7OSPF路由聚合
8OSPF扩展特性
virtual-link详解
认证
认证分类
接口认证
区域认证
认证方式
Null
Simple
MD5
HMAC-MD5
当两种验证方式都存在时,优先使用接口验证方式。
DatabaseOverflow数据库超限
限制非缺省外部路由数量,避免数据库超限
通过设置路由器上非缺省外部路由数量的上限,来避免数据库超限。
OSPF网络中所有路由器都必须配置相同的上限值。
这样,只要路由器上外部路由的数量达到该上限,路由器就进入Overflow状态,并同时启动超限状态定时器(默认超时时间为5秒),路由器在定时器超过5秒后自动退出超限状态。
OSPFDatabaseOverflow过程
进入Overflow状态时,路由器删除所有自己产生的非缺省外部路由。
处于Overflow状态中,路由器不产生非缺省外部路由,丢弃新收到的非缺省外部路由且不回复确认报文,当超限状态定时器超时,检查外部路由数量是否仍然超过上限,如果超限则重启定时器,如果没有则退出超限状态。
退出Overflow状态时,删除超限状态定时器,产生非缺省外部路由,接收新收到的非缺省外部路由,回复确认报文,准备下一次进入超限状态。
Demandcircuit(DC按需链路)
9缺省路由
普通区域
ASBR上手动配置产生缺省5类LSA,通告到整个OSPF自治域(特殊区域)
Stub区域
ABR自动产生一条缺省3类LSA,通告到整个Stub区域内
TotallyStub区域
ABR自动产生一条缺省3类LSA,通告到整个Stub区域内
NSSA区域
在ABR手动配置产生一条缺省7类LSA,通告到整个NSSA区域内
在ASBR手动配置产生一条缺省7类LSA,通告到整个NSSA区域内
TotallyNSSA区域
ABR自动产生一条缺省3类LSA,通告到整个NSSA区域内
OSPF缺省路由通常应用于下面两种情况
由ABR发布缺省3类LSA,用来指导区域内路由器进行区域之间报文的转发。
由ASBR发布缺省5类LSA,或者缺省7类LSA,用来指导自治系统(AS)内路由器进行自治系统外报文的转发。
注意事项
当路由器无精确匹配的路由时,就可以通过缺省路由进行报文转发。
由于OSPF路由的分级管理,3类缺省路由的优先级高于5和7类缺省路由。
如果OSPF路由器已经发布了缺省路由LSA,那么不再学习其它路由器发布的相同类型缺省路由。
即路由计算时不再计算其它路由器发布的相同类型的缺省路由LSA,但数据库中存有对应LSA。
外部缺省路由的发布如果要依赖于其它路由,那么被依赖的路由不能是本OSPF路由域内的路由,即不是本进程OSPF学习到的路由。
因为外部缺省路由的作用是用于指导报文的域外转发,而本OSPF路由域的路由的下一跳都指向了域内,不能满足指导报文域外转发的要求。
不同区域的缺省路由发布原则
普通区域
•缺省情况下,普通OSPF区域内的OSPF路由器是不会产生缺省路由的,即使它有缺省路由。
NSSA区域
•如果希望到达自治系统外部的路由通过该区域的ASBR到达,而其它外部路由通过其它区域出去。
则必须在ABR上手动通过命令进行配置,使ABR产生一条缺省的7类LSA,通告到整个NSSA区域内。
这样,除了某少部分路由通过NSSA的ASBR到达,其它路由都可以通过NSSA的ABR到达其它区域的ASBR出去。
•如果希望所有的外部路由只通过本区域NSSA的ASBR到达。
则必须在ASBR上手动通过命令进行配置,使ASBR产生一条缺省7类LSA,通告到整个NSSA区域内。
这样,所有的外部路由就只能通过本区域NSSA的ASBR到达。
•上面两种情况使用相同的命令在不同的视图下进行配置,区别是在ABR上无论路由表中是否存在路由,都会产生7类LSA缺省路由,而在ASBR上只有当路由表中存在路由时,才会产生7类LSA缺省路由。
•7类LSA缺省路由不会在ABR上转换成Type5LSA缺省路由泛洪到整个OSPF域。
TotallyNSSA区域
•区域内的路由器必须通过ABR学到其他区域的路由。
一、OSPF缺省路由通常应用于下面两种情况:
1.由区域边界路由器(ABR)发布(三类缺省SUMMARY LSA), 用来指导区域内路由器进行区域之间报文的转发。
2.由自治系统边界路由器(ASBR)发布(五类外部缺省ASE LSA,或者七类外部缺省NSSA LSA),用来指导OSPF路由域内路由器进行域外报文的转发。
当路由器无精确匹配的路由时,就可以通过缺省路由进行报文转发。
由于
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华为 OSPF 总结
![提示](https://static.bdocx.com/images/bang_tan.gif)