完整word版50个ospf经典问题Word下载.docx
《完整word版50个ospf经典问题Word下载.docx》由会员分享,可在线阅读,更多相关《完整word版50个ospf经典问题Word下载.docx(10页珍藏版)》请在冰豆网上搜索。
你提出了这个问题。
这说明你很细心也很用心。
在外部第一类LSA中。
第一类LSA比第二类的可信度要高。
并与ospf使能的路由有可比性。
而第二类LSA呢。
可靠性比较低。
与ospf自动使能的路由也没啥可比性。
这里举个例子。
第一类就相当于ospf自己的孩子。
而第二类呢。
就相当于从外面进来的客人。
所以,大家说说。
从外面引入的。
是孩子还是客人?
并且在选路原则中。
一类要永远要比二类优先及时是前者COST要高。
其实我们在看书的时候。
关注他的只是COST值计算不同。
而更重要的概念多数人都没有搞清楚。
5:
为什么在ospf中不能引入静态的缺省?
RFC定义了缺省发布的条件。
比如NSSA,stub,他们都会自动生成一条缺省。
6:
第三类LSA和第五类LSAlinkstateid字段都是描述目的网段的地址。
哪他们之间有什么区别?
啊。
网友的力量是无限大的阿。
你真的很会观察生活。
年轻人。
对、三类和第五类的LINK-STATEID是一样。
都是描述目的网段的地址。
即使他们所有的字段都是一样。
但是他们所实现的功能是不能相提并论的。
最关键的是。
在LSA报文头中的类型字段。
有明显的区别。
这两类LSA的作用定位不同。
三类是描述另一个区域的路由。
而五类呢。
描述的是外部路由。
(并且他还有外部一类和外部二类。
具体的情看第四个问题)
7:
为什么ospf中四种网络类型所定义的hellotime和生存时间都不一样?
OSPF一共定义了四种网络类型,而这四种网络类型,大部分都是针对链路,(点到多点需要手动修改),这也是OSPF的特点之一,能适应更多不同类型的的网络结构中,并且,不同的网络类型,邻居生存时间和hellotime也随之改变,(并且还可以手动修改),这无不证明此协议的人性化。
8:
ospf如果不同进程不同区域使能。
邻居能正常建立起来么(广播网络环境下)
不能正常建立。
因为ospf路由器在接受OSPF报文的时候会验证一些报文是否合法其检查的内容有。
版本号。
区域ID,验证方法和验证信息。
9:
不同进程。
同区域。
邻居能正常建立起来吗?
为什么?
能。
因为在ospf的报文中。
并不需要对进程ID进行检查。
所以邻居能正常建立起来。
10:
邻居和邻接有哪些区别?
什么情况下才会出现邻居。
什么情况下才会出现邻接。
OSPF一共有八个状态机。
其中down2-wayFULL是稳定状态机其他的都是中转状态。
所谓邻居关系是指只要与对端邻居关系建立到2-WAY就可以了。
并且用到的报文只有HELLO,如果建立邻接呢。
就需要进步一交互报文。
需要用到的报文有dd。
Lsrlsulsack他们两之间的区别是。
邻居只需要使能。
收到对端的HELLO报文。
并且自己在对端的邻居列表里面就可以了。
所有网络环境。
都可以建立邻居关系。
而邻接呢。
是在建立邻居关系之上。
从而交互路由信息的。
通常。
Drother之间只需要建立邻居关系。
11:
ospf本身能过滤掉自身产生的LSA吗?
ospf本身并没有过滤LSA的机制。
(原因很简单如果能限制的话。
SPF算法肯定要出错)有也只是限定一些范围的。
比如LSDB的超载机制。
12:
ospf一共有多少种LSA报文类型?
OSPF一共有十一种LSA报文类型。
他们的作用分别如下。
第一类:
描述了区域内部与路由器直连的链路信息第二类:
计入了广播或NBMA网络网段上所有路由器的router-id(打包一类LSA)第三类:
将所连接区域内部的链路信息以子网的形式传播到相邻区域。
第四类:
描述的目标网络是一个ASBR的route-id第五类:
描述到外部AS路由信息第七类:
NSSA区域专属LSA。
描述道外部AS的路由信息。
以上这几类是我们常用的第六类:
:
在组播ospf协议中使用的组播LSA第八类:
在ospf域内传播BGP属性时使用的外部属性LSA第九类:
本地链路范围的opaque第十类:
本地区域范围内的opaqueLSA第十一:
本自治系统范围的opaqueLSA
13:
ospf中option的作用有哪些?
分别在哪些情况下置位?
Option这个字段是是ospf的可选功能。
描述路由器所支持所选的功能。
一共有五位。
格式分别如下E位:
该位描述是否洪泛AS-external-LSA,MC位:
该位描述是否多播扩展OSPF转发IP多播包。
N/P位:
该位描述了处理类型7LSA。
EA位:
该位描述了是否按OSPF外部属性inprogress的说明忽略还是接收并转发External-Attributes-LSA。
DC位:
该位描述了按扩展OSPF和支持需求电路的说明处理按需链路。
14:
ospf中的LSA报文头。
分别在五中报文类型中包含LSA报文头哪些信息?
DD包括了LSA头部信息。
Ls类型。
LSID,advertising(此LSA生存者)LSR只有LS类型。
LSID和此LSA生存者。
LSU:
完整的LSR和具体的链路信息。
LSACK:
LS类型。
LSID,生存此路由信息和LS系列号。
15:
OSPF在进程重启。
为什么邻居能快速的建立起来。
而不是像创建进程一样。
需要等待那么长时间?
ospf的邻居存活时间是40秒,在路由器之前成功建立邻居正常的情况下,一边重启进程,而另一边邻居还正常的存活在邻居表中,但是当这边重启好了,发送HELLO的时候,对端也即转到INIT状态,并且所有的状态,只需要交互一个报文就行了,所以,重启进程,比普通建立的更快,也就是说,等对端的四十秒过后,再重启进程,那么他们又得重新互发HELLO,又得经过七个状态机才能建立邻接状态。
16:
ospf一直提示LSAdisabled。
为什么会产生这种情况?
导致这种情况的原因是。
当LSA的老化时间结束时。
LSA他会在LSDB表里面移除掉。
或者此LS的始发者发送消息flooding掉,但。
正常的情况下。
当邻居正常建立来。
并且建立到邻接状态时,他会自动更新LSA的信息。
并且用LSAge和LS系列号,来区分那条LSA更新。
并在LSDB表中更新最新的LSA,既然LSA出现down的情况。
那么首先得把问题定位在邻居是否正常建立起来,并且能正常交互报文(LSULSACK)具体的请看后面OSPF常见报文错误代码。
17:
ospf卡在init状态机哪。
这样的情况是怎么引发的。
?
卡在状态机上。
一般有以下这些可能.OSPF陷入ATTEMPT仅对neighbor语句的NBMA网络有效。
陷入ATTEMPT是指一台路由器试图通过发送它的HELLO来联系邻居但是它没有收到响应。
原因:
错误配置neighbor;
NBMA上的单播连通性断了,可能是由错误的DLCI,访问列表或转换单播的NAT引起的。
2.OSPF陷入INITINIT状态表示路由器收到来自邻居的HELLO分组,但是双向通信并没有建立。
一方访问列表阻止了HELLO;
一方的多播能力失效(一个交换机故障);
l仅在一方启用了认证;
l一方的HELLO在第2层丢失了。
3.OSPF陷入2-WAY双向状态是指路由器在HELLO分组的邻居字段中见到了自己的路由器ID。
类似于所有路由器的优先级都为0,则不会发生选举,所有路由器停留在双向状态中。
某些情况下是正常状态。
4.OSPF陷入EXSTART/EXCHANGE在EXSTART或EXCHANGE状态的OSPF邻居正处于尝试交换DBD(数据库描述)分组的过程中。
不匹配的接口MTUl邻居上重复的路由器IDl无法用超过特定MTU长度进行PINGl断掉的单播连通性,它可能是因为错误的DLCI,访问列表或转换单播的NAT5.OSPF陷入LOADING邻居没有应答或邻居的应答从未到达本地路由器,路由器也会陷入LOADING状态。
不匹配的MTUl错误的链路状态请求分组
18:
为什么OSPF与BGP在重分布的时候。
OSPF路由的下一跳不确定,导致选路错误。
这是由BGP的环路引起的。
在双出口的BGP中。
如果BGP里面宣告或学习到的路由都一样,建议修改preferred-value值。
把环路取消。
然后再做重分布。
19:
OSPF跟STP结合组网,一般会遇到哪些问题。
一个协议的所有功能都包含在报文中,报文中的某个字段置位,也就是这个协议的功能开启,不管OSPF与那个协议结合组网,只要不影响OSPF的报文收和发就可以了,但,我们需要注意的是。
STP在收敛的时候,会导致端口阻塞,正常的流量是没有办法通过,那么这样就会造成OSPF的报文没有办法正常交互,并且会出现一些莫名其妙的现象(比如邻居频繁的UP,DOWN,UPDOWN,)导致,还有在交互报文的时候,会莫名其妙的卡在一些状态机上,这些,只有等STP收敛好,让OSPF正常交互报文才能一一排除。
20:
OSPF与BGP组网会遇到哪些问题。
大家都知道,BGP和OSPF都是第四层的协议,但是BGP对TCP有依赖性,而OSPF对IP也有一定的依赖性,(这里解释一下阿,大家对ospf于IP的依赖性不是很清楚,ospf使能一个网段后,如果这个网段存在,那么就以组播地址224.0.0.5(广播环境下),针对这个网段发送HELLO报文,那么如果这个网段不存在呢?
那么HELLO是不可能发送的。
那这跟依赖有啥关系呢?
大家想想,如果IP正常的话,肯定无条件使能这个网段,但是IP地址是DOWN的情况下,OSPF还继续发HELLO包么?
)我之前说过,ospf在正常的情况下,不管与什么协议结合一起组网,只要满足他基本的条件,那么邻居和邻接,肯定能正常建立,但BGP对TCP有依赖性,换句话说,只有OSPF正常建立邻接关系,BGP才能正常交互OPEN相关的一些报文。
所以,如果ospf与BGP一起组网,首先得检查OSPF相关的设置于错误,然后再检查BGP。
21:
OSPF与IPSEC一起组网时,一般会遇到哪些问题?
这个问题其实没啥可问性,这两个协议,相互独立,但是,ipse和cospf也不是百分之百兼容(ipsec不兼容组播)这也就注定,在一些正常的环境下,ipsec是没有办法载荷ospf的HELLO包的。
但是这两个协议结合在一起呢。
如果说一个问题都没有,那也不可能,在这里的话,我将针对以下这些问题做一些解答Ipsec在特定的情况下,能正常载荷ospf吗?
为什么不能呢?
ipsec除了对组播不支持,单播支持的还算完美的,ospf又不是所有的报文目的都是组播,其中,NBMA虚连接,等,都是使用单播为目的地址,只要是在单播的环境下。
Ipsec就能正常载荷数据(加密)那换过来,ospf能载荷IPSEC的数据么?
为什么能呢?
OSPF不是像IPSEC或GRE那样,能载荷,最多,IPSEC就是利用ospf自动发现的路由作为remote地址,所以,ospf结合ipsec,首先要注意OSPF的网络类型,以组播的,是不能成功被IPSEC加密的,最后。
还有一个致命的缺点,如果OSPF得网络中加入IPSEC这块,如果是因为需求需要,否则一般人是不会这么做的,因为IPSEC相对静态,只能点到点,你配置一个OSPF邻居,就要手动加上一条IPSEC,并且还不能以组播地址为目的地。
22:
ospf区域怎样划分才合理?
ospf详细划分区域,是很有必要的,现在的路由器的性能越来越强大,但,区域该怎么划分才合理,才能把OSPF最大最优呢?
这无疑是跟着路由器的性能和拓扑环境走,ospf虽然只会将最优的路由安装在路由表中,但是,在OSPF数据库里面,所有的LSA都会存在,如果网络的直径大起来,最无疑是对OSPF一个挑战,但根据网络大爬虫中OSPFFAQ50作者的观点,RFC的作者在早期推荐过,一个区域最好不超过50台路由器但那是在90年代写的(也就是我出生的时候,)哪时候的路由跟现在的,性能已经不在是相同的一个档次了。
现在的路由器性能所肯定不是在50内,当然,由于环境限制,此问题上,本人水平有限,无法做出更科学。
更理论的解答。
23:
两台路由器通过直连链路,建立OSPF邻居,那么在一边使用P2P,而一边使用P2MP的情况下,能正常建立到邻接状态么?
肯定是不能的,因为这两个网络类型的hellointerval不一样,而在OSPF进程检查一个hello报文是否合法,其hellointerval,在检查范围内。
因此两台路由上的hellointerval是不一样的,这样的话,当其中一台路由器接受到另一台的包时,将会丢弃此HELLO包,因此邻居就不可能正常建立起来。
应广大网友要求,为了让此文档更有价值,剩下的问题,都将从OSPF中error提取,将最大化OSPFerror中的错误点以及解决方法,在MSR20-21上,OSPFerror一共有29条(每个厂商所实现的OSPF在细节上多多少少有一些误差,本文档的实验环境,是MSR20-21其因为路由器所实现的误差,本人不将做任何解释),所以。
此error只代表H3CMSR20-21设备上所实现的OSPFERROR,)。
OSPFProcess1withRouterID1.1.1.1
OSPFPacketErrorStatistics
24:
OSPFRouterIDconfusion39:
OSPFbadpacket
25:
OSPFbadversion40:
OSPFbadchecksum
26:
OSPFbadareaID41:
OSPFdroponunnumberedinterface
27:
OSPFbadvirtuallink42:
OSPFbadauthenticationtype
28:
OSPFbadauthenticationkey43:
OSPFpackettoosmall
29:
OSPFNeighborstatelow44:
OSPFtransmiterror
30:
OSPFinterfacedown45:
OSPFunknownneighbor
31:
HELLO:
Netmaskmismatch46:
Hellotimermismatch
32:
Deadtimermismatch47:
Externoptionmismatch
33:
Neighborunknown48:
DD:
MTUoptionmismatch
34:
UnknownLSAtype49:
35:
LSACK:
Badack50:
UnknownLSAtype
36:
LSREQ:
Emptyrequest51:
Badrequest
37:
LSUPD:
LSAchecksumbad52:
ReceivedlessrecentLSA
38:
24:
在什么情况下ospferror的OSPFRouterIDconfusion数值会增加?
这条错误,相信大家再熟悉不过了,ospfrouter-id冲突,RFC规定,ospf的router-id在整个AS中唯一,而router-id又起着防环的作用,关于ROUTER-ID冲突,我一共总结出三种情况,分别如下。
第一种:
区域内router-id冲突,这种情况大家遇到的最多(骨干区域与骨干区域,非骨干区域与非骨干区域。
区域内,)导致的后果是,OSPF不能正常建立邻居,那么自然不能正常交互LSA信息咯。
第二种:
区域间的route-id,这种冲突,必定是在多区域的情况下才会产生,不然怎么叫区域间冲突呢。
他导致的后果,路由时有时无,两个冲突的路由器学到的路由,在路由表里,一下有,然后又消失了,然后又出现了。
第三种:
虚连接router-id冲突,这种情况最明显,导致的后果跟第一种情况差不多,虚连接无法正常建立,(区域间冲突的一种)Router-id冲突,概念性的就这三种,当然,区域内,区域间,如果细分的话,有十几种,遇到此问题时,整理下思路,OSPF的ROUTER-ID冲突相对来说是比较好定位与排除的。
25:
在什么情况下。
OSPFbadversio数值会增加?
ospf的版本出错。
或者说,ospf版本字段损坏。
解决办法,检查下OSPF版本是否配置正确。
然后重启下OSPF进程就可以了。
26:
在什么情况下,OSPFbadareaID数值会增加?
区域ID配置错误,如果是在骨干区域与非骨干区域(区域零和非骨干区域冲突),那么在骨干区域的路由器上,OSPFbadareaID会增值,而在非骨干区域他显示的是虚连接增值。
OSPFbadvirtuallink,但如果都是非骨干区域呢,那么两边的路由器都是OSPFbadareaID增值。
27:
在什么情况下会OSPFbadvirtuallink数值升序?
OSPF虚连接错误,只要是非骨干区域与骨干区域不连续,都会出现此错误,具体的,分别如下,第一:
如果是非骨干区域并没有骨干区域,(例如,区域1-2-3这样),但在同一个网段中,那么会出现OSPFbadareaID升值,因为ospf区域针对的是网段和接口,并不是针对路由器,第二:
OSPF虚连接是建立在正常的OSPF邻居之上的,所以,在虚连接DOWN的情况下先检查ospf邻居是否正常,第三:
ospf并不能跨区域建立虚连接,在上面的问题中,我已经描述过虚连接建立的过程,如果是跨区域,那么ospf的目的地址,固然确定不了,既然目的地址确定不了,那么报文肯定不能正常发送。
28:
在什么情况下OSPFbadauthenticationkey数值会增加?
在这里有必要说下,MSR-20-21,所实现的OSPF验证,如果一旦在区域内启用OSPF验证,那么接口就必须要与区域内使用同一种验证模式才能正常加密ospf报文,如果接口跟区域内不一致的话,(包括区域内启用MD5,而接口下使用的是simple,或者区域内启用验证,接口下不启用,)他是不发送HELLO报文的,因为区域内与接口不匹配或协商的字段不一致,那么他的OSPF报文会出错的,,就算发出去了也是不完整的。
并且他在ospf中的error不会提示任何代码出错的,(因为都没报文发出去,他那什么去检测出错),那么回到我们本题中,ospf验证方式有两种,一种是在接口下启用验证,一种是在ospf区域内启用,既然他必须严格要求区域与接口使用的是同一种验证模式(如MD5或simple)那么此字段升值,肯定是两边接口下的KEY出错咯。
29:
在什么情况下OSPFNeighborstatelow会升值?
此数值,会跟着链路的震荡,会依次升序,(如邻居UP,DOWN,或者链路不稳定,)
30:
在什么情况下,OSPFinterfacedown会升值?
此数值,在使能ospf之后,他的链路会进入到一个端口状态(比如,DR,或BDR,),如果此链路不稳定,经常UP,DOWN。
那么此数值就会根据UP,DOWN的次数而升值此项。
31:
在什么情况下,HELLO:
Netmaskmismatch数值会升值?
ospf在除点到点和虚连接的情况外,都必须严格匹配networkmask字段,这是验证一个HELLO是否合法,如果合法,就继续交互报文,建立邻居,反之,则丢弃报文,那么此字段升值,肯定是两边接口的掩码不一致,
32:
在什么情况下,HELLO:
Deadtimermismatch字段升值?
补充一下,验证hello是否合法,分别如下,第一:
如果接受端口类型是广播型,或NBMA型,那么所接受的端口中的NETWORDMASK字段必须和接收端口的网络掩码一致,,如果端口类型为点到点,或虚连接,那么将忽略此字段,第二:
所接受的hello报文中的hellointerval字段必须和接收端口的配置一致,第三:
所接收的HELLO报文中routerdeadinterval字段必须和接收端口的配置一致,第四:
所接收hello报文中的OPTIONS字段中的E-bit,必须和相关区域的配置一样。
那么再回到此代码,毋庸置疑,肯定是两边的routerdeadinterval字段不一致,才会升值,(此问题一般都是手动更改接口下的ospfrouterdead)
33:
在什么情况下HELLO:
Neighborunknown升值?
hello包的邻居(Neighbor)字段匹配错误,
34:
在什么情况下,DD:
UnknownLSAtype升值?
路由器在数据库同步时,收到未知的LSA类型,
35:
在什么情况下LSACK:
Badack升值?
OSPF在大概几种情况下发送LSACK信息,分别如下,第一:
OSPF在刚确定建立邻接关系的时候,邻居状态到loading的时候,收到对方发送的LSU报文后,回复LSACK,邻居状态机并转换到FULL状态,此LSACK的作用是确保信息传输的可靠性。
并对以接受的LSA进行确认。
第二:
如果LSA的LS时限等于MaxAge,而且路由器的连接状态数据库中没有该LSA的实例,而且路由器的邻居都不处于Exchange或Loading状态,那么此时的路由器过发送一个LSAck包到发送的邻居来确认收到该LSA,或丢弃该LSA,并从LSU包中取得下一个(如果存在)再回到我们这个问题中,RFC2328规定,理洪泛之前,要对所接收到的LSAc