华为OSPF总结.docx
- 文档编号:30687746
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:59
- 大小:5.66MB
华为OSPF总结.docx
《华为OSPF总结.docx》由会员分享,可在线阅读,更多相关《华为OSPF总结.docx(59页珍藏版)》请在冰豆网上搜索。
华为OSPF总结
华为OSPF总结
1OSPF基本概念
1.1拓扑和路由器类型
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算法,区域之间的路由发布还是距离矢量算法,区域之间的路由需要通过骨干区域来转发。
1.2OSPF网络类型,DR,BDR介绍
OSPF支持的网络类型
●点到点P2P类型:
当链路层协议是PPP、HDLC时,缺省情况下,OSPF认为网络类型是P2P。
在该类型的网络中,以组播形式(224.0.0.5)发送协议报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文)。
●点到多点P2MP类型(Point-to-Multipoint):
没有一种链路层协议会被缺省的认为是Point-to-Multipoint类型。
点到多点必须是由其他的网络类型强制更改的。
常用做法是将非全连通的NBMA改为点到多点的网络。
在该类型的网络中以组播形式(224.0.0.5)发送Hello报文,以单播形式发送其他协议报文(DD报文、LSR报文、LSU报文、LSAck报文)。
●NBMA类型(Non-broadcastmultipleaccess):
当链路层协议是ATM时,缺省情况下,OSPF认为网络类型是NBMA。
在该类型的网络中,以单播形式发送协议报文(Hello报文、DD报文、LSR报文、LSU报文、LSAck报文)。
●广播类型(Broadcast):
当链路层协议是Ethernet、FDDI时,缺省情况下,OSPF认为网络类型是Broadcast。
在该类型的网络中,通常以组播形式发送Hello报文、LSU报文和LSAck报文。
其中,224.0.0.5的组播地址为OSPF路由器的预留IP组播地址;224.0.0.6的组播地址为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路由器。
1.3OSPF报文类型
Hello报文:
用于建立和维持邻居关系
DD报文:
描述本地LSDB的摘要信息,用于两台路由器进行数据库同步
LSR报文:
用于向对方请求所需的LSA路由器只有在OSPF邻居双方成功交换DD报文后才会向对方发出LSR报文
LSU报文:
用于向对方发送其所需要的LSA
LSAck报文:
用来对收到的LSA进行确认
OSPF报文概述
●OSPF报文直接运行于IP之上,IP协议字段号为89。
OSPF有五种报文类型,但是OSPF报文头部格式都是相同的。
●除Hello报文外,其它的OSPF报文都携带LSA信息。
1.3.1OSPF报文头部信息
所有的OSPF报文使用相同的OSPF报文头部
●Version:
OSPF协议号,应当被设置成2。
●Type:
OSPF报文类型,OSPF共有五种报文。
●Packetlength:
OSPF报文总长度,包括报文头部。
单位是字节。
●RouterID:
生成此报文的路由器的RouterID。
●AreaID:
此报文需要被通告到的区域。
●Checksum:
是指一个对整个数据包(包括包头)的标准IP校验和。
●AuType:
验证此报文所应当使用的验证方法。
●Authentication:
验证此报文时所需要的密码等信息。
1.3.2Hello报文格式
●NetworkMask:
发送Hello报文的接口的网络掩码。
●HelloInterval:
发送Hello报文的时间间隔。
单位为秒。
●Options:
标识发送此报文的OSPF路由器所支持的可选功能。
●RouterPriority:
发送Hello报文的接口的RouterPriority,用于选举DR和BDR。
●RouterDeadInterval:
宣告邻居路由器不继续在该网段上运行OSPF的时间间隔,单位为秒,通常为四倍HelloInterval。
●DesignatedRouter:
发送Hello报文的路由器所选举出的DR的IP地址。
如果设置为0.0.0.0,表示未选举DR路由器。
●BackupDesignatedRouter:
发送Hello报文的路由器所选举出的BDR的IP地址。
如果设置为0.0.0.0,表示未选举BDR路由器。
●ActiveNeighbor:
邻居路由器的RouterID列表。
表示本路由器已经从该邻居收到合法的Hello报文。
1.3.3DD报文格式
●接口MTU:
是指在数据包不分段的情况下,始发路由器接口可以发送的最大IP数据包大小。
当在虚连接时,该在段为0x0000。
●Option:
同hello报文。
●I位:
当发送的是一系列DD报文中的第一个数据包时,该为置位为1。
后续的DD报文将该位置位0。
●M位:
当发送的数据包还不是一个系列DD报文中的最后一个数据包时,该值置为1。
如果是最后一个DD报文,则将该为置为0。
●MS位:
在数据库同步中,主要用来确认协商过程中的序列号。
●DDSequenceNumber:
DD的序列号报文,4byte
●LSA头部信息。
1.3.4LSR报文格式
●LinkStateType:
用来指明LSA标识是一个路由器LSA、一个网络LSA还是其他类型的LSA。
●LinkStateID:
不同类型LSA该字段意义不同。
●AdvertisingRouter:
始发LSA通告的路由器的路由器ID。
1.3.5LSU报文格式
●NumberofLSA:
指出这个数据包中包含的LSA的数量。
●LSA:
明细LSA信息
1.3.6LSAck报文格式
●HeaderofLSA:
LSA头部信息。
1.3.7LSA头部信息
除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的长度。
1.4LSA类型和区域内路由计算与描述
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路由计算
1.4.1描述拓扑结构
1.4.2Router-LSA
Router-LSA必须描述始发路由器所有接口或链路。
区域内路由计算用到router-lsa
[Q5]displayospflsdbrouterself-originate
OSPFProcess1withRouterID5.5.5.5
Area:
0.0.0.1
LinkStateDatabase
Type:
Router
Lsid:
5.5.5.5
Advrtr:
5.5.5.5
Lsage:
194
Len:
48
Options:
ASBRE
seq#:
80000007
chksum:
0xacb8
Linkcount:
2
*LinkID:
4.4.4.4
Data:
45.0.0.5
LinkType:
P-2-P
Metric:
1562
*LinkID:
45.0.0.0
Data:
255.255.255.0
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:
是指一条链路或接口的代价。
1.4.3Network-LSA
DR产生,BDR不会产生Network-LSA
[Q2]displayospflsdbnetworkself-originate
OSPFProcess1withRouterID2.2.2.2
Area:
0.0.0.0
LinkStateDatabase
Type:
Network
Lsid:
10.0.0.2
Advrtr:
2.2.2.2
Lsage:
393
Len:
36
Options:
E
seq#:
80000006
chksum:
0x9088
Netmask:
255.255.255.0
Priority:
Low
AttachedRouter2.2.2.2
AttachedRouter3.3.3.3
AttachedRouter4.4.4.4
●LinkStateID:
是指DR路由器接口上的地址。
●NetworkMask:
指定这个网络上使用的地址或者子网的掩码。
●Attachedrouter:
列出该多路访问网络上与DR形成完全邻接关系且包括DR本身的所有路由器的路由器ID。
1.4.4Network-summary-LSA(ABR产生)
[Q4]displayospflsdbsummary
Type:
Sum-Net
Lsid:
45.0.0.0
Advrtr:
4.4.4.4
Lsage:
425
Len:
28
Options:
E
seq#:
80000003
chksum:
0xde1f
Netmask:
255.255.255.0
Tos0metric:
1562
Priority:
Low
●LinkStateID:
对于3类LSA来说,表示所通告的网络或子网的IP地址。
对于4类LSA来说表示所通告的ASBR路由器的路由器ID。
●NetworkMask:
对于3类LSA来说,表示所通告的网络的子网掩码或者地址。
对于4类LSA来说,该字段没有实际意义,一般置为0.0.0.0。
●Metric:
直到目的地址的路由的代价。
Network-summary-LSA在区域间传递,区域间路由是矢量的,那么矢量的路由需要防止环路
防止环路方法如下:
(1)ABR不能从非骨干区域接收类型3LSA
(2)Downbit防环
1.4.5ASBR-summary-LSA(ABR产生)
1.4.6AS-external-LSA(ASBR产生)
[Q4]displayospflsdbase
OSPFProcess1withRouterID4.4.4.4
LinkStateDatabase
Type:
External
Lsid:
55.55.55.0
Advrtr:
5.5.5.5
Lsage:
2341
Len:
36
Options:
E
seq#:
80000002
chksum:
0xa273
Netmask:
255.255.255.0
TOS0Metric:
1
Etype:
2
ForwardingAddress:
0.0.0.0
Tag:
1
Priority:
Low
●LinkStateID:
目的地的IP地址。
●NetworkMask:
指所通告的目的地的子网掩码或地址。
●Etype:
用来指定这条路由使用的外部度量的类型。
如果该Ebit设置为1,那么度量类型就是E2;如果该Ebit设置为0,那么度量类型就是E1。
●Metric:
指路由的代价。
由ASBR设定。
●ForwardingAddress:
是指到达所通告的目的地的数据包应该被转发到的地址。
如果转发地址是0.0.0.0,那么数据包将被转发到始发ASBR上。
●ExternalRouteTag:
标记外部路由。
1.4.7NSSALSA(ASBR产生)
[Q5]displayospflsdbnssaself-originate
Type:
NSSA
Lsid:
55.55.55.0//目的网段的网络地址
Advrtr:
55.55.55.55
Lsage:
66
Len:
36
Options:
NP
seq#:
80000001
chksum:
0x8390
Netmask:
255.255.255.0
TOS0Metric:
1
Etype:
2
ForwardingAddress:
45.0.0.5
Tag:
1
Priority:
Low
●ForwardingAddress:
如果网络一台NSSAASBR路由器和邻接的自治系统之间是作为一条内部路由通告的,那么这个FA就是这个网络的下一跳地址。
如果网络不是作为一个条内部路由通告的,那么这个FA地址将是NSSAASBR路由器的路由器ID。
1.4.8区域内路由计算SPF过程
1.5Option字段
●Option可选字段出现在每一个Hello数据包、DD和每个LSA中的。
●Option字段允许路由器和其他路由器进行一些可选性能的通信。
Option字段解释:
●DN:
用来避免在MPLSVPN中出现环路。
当3类、5类和7类LSA中设置了DN位之后,接收路由器就不恩能够在它的OSPF路由计算中使用该LSA。
●O:
该字段指出始发路由器支持OpaqueLSA(类型9、类型10和类型11)。
●DC位:
当始发路由器支持按需链路上的OSPF的能力时,该位将被设置。
●EA:
当始发路由器具有接收和转发外部属性LSA的能力时,该位被置位。
●N位:
只在Hello数据包中。
N=1表明路由器支持7类LSA。
N=0表明该路由器将不接收和发送NSSALSA。
●P位:
只用在NSSALSA。
该位将告诉一个非纯末节区域中的ABR路由器将7类LSA转换为5类LSA。
●MC位:
支持MOSPF。
●E位:
当始发路由器具有接收OSPF域外部LSA的能力时,该位置位。
在所有5类LSA和始发于骨干区域以及非末节区域的LSA中,该位置为1。
而始发与末节区域的LSA中,该位置为0。
如果Hello报文中该位表明一个接口具有接收和发送5类LSA的能力。
●MT位:
表示始发路由器支持多拓扑OSPF。
2OSPF邻居和邻接关系
2.1邻居关系建立
邻居状态建立:
●Down:
这是邻居的初始状态,表示没有从邻居收到任何信息。
●Init:
在此状态下,路由器已经从邻居收到了Hello报文,但是自己不在所收到的Hello报文的邻居列表中,表示尚未与邻居建立双向通信关系。
在此状态下的邻居要被包含在自己所发送的Hello报文的邻居列表中。
●2-Way:
在此状态下,双向通信已经建立,但是没有与邻居建立邻接关系。
这是建立邻接关系以前的最高级状态。
如果网络为广播网络或者NBMA网络则选举DR/BDR。
在形成邻居关系过程中,需要对Hello报文携带的参数进行协商:
●如果接收端口的网络类型是广播型,点到多点或者NBMA,所接收的Hello报文中NetworkMask字段必须和接收端口的网络掩码一致,如果接收端口的网络类型为点到点类型或者是虚连接,则不检查NetworkMask字段;
●所接收的Hello报文中的Hello和Dead字段必须和接收端口的配置保持一致;
●所接收的Hello报文中的认证字段需要一致;
●所接收的Hello报文中的Options字段中的E-bit(表示是否接收外部路由信息)必须和相关区域的配置保持一致。
●所接收的Hello报文中的区域字段必须一致。
2.2邻接关系建立
邻接状态建立:
●邻居状态机变为ExStart以后,R1向R2发送第一个DD报文,在这个报文中,DD序列号被设置为552A(假设),Initial比特为1表示这是第一个DD报文,More比特为1表示后续还有DD报文要发送,Master比特为1表示R1宣告自己为主路由器。
●邻居状态机变为ExStart以后,R2向R1发送第一个DD报文,在这个报文中,DD序列号被设置为5528(假设)。
由于R2的RouterID比R1的大,所以R2应当为主路由器,RouterID的比较结束后,R1会产生一个NegotiationDone的事件,所以R1将状态机从ExStart改变为Exchange。
●邻居状态机变为Exchange以后,R1发送一个新的DD报文,在这个新的报文中包含LSDB的摘要信息,序列号设置为R2在第二步里使用的序列号,More比特为0表示不需要另外的DD报文描述LSDB,Master比特为0表示R1宣告自己为从路由器。
收到这样一个报文以后,R2会产生一个NegotiationDone的事件,因此R2将邻居状态改变为Exchange。
●邻居状态变为Exchange以后,R2发送一个新的DD报文,该报文中包含LSDB的描述信息,DD序列号设为5529(上次使用的序列号加1)。
●即使R1不需要新的DD报文描述自己的LSDB,但是做为从路由器,R1需要对主路由器R2发送的每一个DD报文进行确认。
所以,R1向R2发送一个新的DD报文,序列号为5529,该报文内容为空。
●邻居状态变为Loading之后,R1开始向R2发送LSrequest报文,请求那些在Exchange状态下通过DD报文发现的,而且在本地LSDB中没有的链路状态信息。
●R2收到LSRequest报文之后,向R1发送LSUpdate报文,在LSUpdate报文中,包含了那些被请求的链路状态的详细信息。
R1收到LSUpdate报文之后,将邻居状态从Loading改变成Full。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华为 OSPF 总结