当前位置:文档之家› 50个经典的OSPF问题

50个经典的OSPF问题

50个经典的OSPF问题
50个经典的OSPF问题

1:在OSPF中。为什么第三类LSA传播超过一个区域?路由信息就会被修改呢?他不是使用SPF算法么?如果这样那么他跟RIP的V-D算法有啥区别?

答:因为ospf传播超过一个区域之后,路由信息就会改变。而路由信息在OSPF中,包括防环等作用。这也是RIP与OSPF本质的区别。在RIP中。由于采用V-D(距离-矢量)算法,当报文传递过后,会改变路由信息,因此也就存在环路。而在OSPF中。第三类LSA也是这样。由此RFC规定。所有区域必须要与骨干区域相连接。但在我们实际组网中。经常碰到非骨干区域与骨干区域不能相互连接。由此RFC定义了虚连接。

2:说到虚连接。哪虚连接为什么能保证第三类LSA的路由信息不被修改呢?

答:从狭义的角度来说。一条虚连接是属于区域零的一条虚拟链路。因此他也就能保证第三类LSA的路由信息不被修改

3:那虚连接是怎样使用SPF算法的呢?准确的说。虚连接是怎么确定他报文的目的地址的?答:每个虚连接都要生成两棵最短路径树(第一棵为本地区域的最短路径树。第二棵为虚连接邻居的最短路径树)计算虚连接最短路径树之后。本地路由器会通过查找对端最短路径树,并通过对端的Router-id来标识。那么虚连接到达本地路由器的始发端口的IP地址即为本地路由器发给对端虚连接邻居的协议报文的目的IP地址。

4:为什么ospf在默认情况下引入外部路由生成的是第二类LSA而不是第一类?

答:你提出了这个问题。这说明你很细心也很用心。在外部第一类LSA中。第一类LSA比第二类的可信度要高。并与ospf使能的路由有可比性。而第二类LSA呢。可靠性比较低。与ospf自动使能的路由也没啥可比性。这里举个例子。第一类就相当于ospf自己的孩子。而第二类呢。就相当于从外面进来的客人。所以,大家说说。从外面引入的。是孩子还是客人?并且在选路原则中。一类要永远要比二类优先及时是前者COST要高。其实我们在看书的时候。关注他的只是COST值计算不同。而更重要的概念多数人都没有搞清楚。

5:为什么在ospf中不能引入静态的缺省?

答:RFC定义了缺省发布的条件。比如NSSA,stub,他们都会自动生成一条缺省。6:第三类LSA和第五类LSA link state id字段都是描述目的网段的地址。哪他们之间有什么区别?啊。网友的力量是无限大的阿。你真的很会观察生活。年轻人。对、三类和第五类的LINK-STATE ID是一样。都是描述目的网段的地址。即使他们所有的字段都是一样。但是他们所实现的功能是不能相提并论的。最关键的是。在LSA报文头中的类型字段。有明显的区别。这两类LSA的作用定位不同。三类是描述另一个区域的路由。而五类呢。描述的是外部路由。(并且他还有外部一类和外部二类。具体的情看第四个问题)

7:为什么ospf中四种网络类型所定义的hello time和生存时间都不一样?

答:OSPF一共定义了四种网络类型,而这四种网络类型,大部分都是针对链路,(点到多点需要手动修改),这也是OSPF的特点之一,能适应更多不同类型的的网络结构中,并且,不同的网络类型,邻居生存时间和hello time也随之改变,(并且还可以手动修改),这无不证明此协议的人性化。

8:ospf如果不同进程不同区域使能。邻居能正常建立起来么(广播网络环境下)

答:不能正常建立。因为ospf路由器在接受OSPF报文的时候会验证一些报文是否合法其检查的内容有。版本号。区域ID,验证方法和验证信息。

9:不同进程。同区域。邻居能正常建立起来吗?为什么?

答:能。因为在ospf的报文中。并不需要对进程ID进行检查。所以邻居能正常建立起来。10:邻居和邻接有哪些区别?什么情况下才会出现邻居。什么情况下才会出现邻接。

答:OSPF一共有八个状态机。其中down2-way FULL是稳定状态机其他的都是中转状态。,所谓邻居关系是指只要与对端邻居关系建立到2-WAY就可以了。并且用到的报文只有HELLO,如果建立邻接呢。就需要进步一交互报文。需要用到的报文有dd。Lsr lsu ls ack 他们两之间的区别是。邻居只需要使能。收到对端的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第十类:本地区域范围内的opaque LSA第十一:本自治系统范围的opaque LSA

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类型。LS ID,advertising(此LSA生存者)LSR只有LS类型。LS ID和此LSA生存者。LSU:完整的LSR和具体的链路信息。LSACK:LS类型。LS ID,生存此路由信息和LS系列号。

15:OSPF在进程重启。为什么邻居能快速的建立起来。而不是像创建进程一样。需要等待那么长时间?

答:ospf的邻居存活时间是40秒,在路由器之前成功建立邻居正常的情况下,一边重启进程,而另一边邻居还正常的存活在邻居表中,但是当这边重启好了,发送HELLO的时候,对端也即转到INIT状态,并且所有的状态,只需要交互一个报文就行了,所以,重启进程,

比普通建立的更快,也就是说,等对端的四十秒过后,再重启进程,那么他们又得重新互发HELLO,又得经过七个状态机才能建立邻接状态。

16:ospf一直提示LSA disabled。为什么会产生这种情况?

答:导致这种情况的原因是。当LSA的老化时间结束时。LSA他会在LSDB表里面移除掉。或者此LS的始发者发送消息flooding掉,但。正常的情况下。当邻居正常建立来。并且建立到邻接状态时,他会自动更新LSA的信息。并且用LS Age和LS系列号,来区分那条LSA更新。并在LSDB表中更新最新的LSA,既然LSA出现down的情况。那么首先得把问题定位在邻居是否正常建立起来,并且能正常交互报文(LSU LS ACK)具体的请看后面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,UP DOWN,)导致,还有在交互报文的时候,会莫名其妙的卡在一些状态机上,这些,只有等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一个挑战,但根据网络大爬虫中OSPF FAQ 50作者的观点,RFC的作者在早期推荐过,一个区域最好不超过50台路由器但那是在90年代写的(也就是我出生的时候,)哪时候的路由跟现在的,性能已经不在是相同的一个档次了。现在的路由器性能所肯定不是在50内,当然,由于环境限制,此问题上,本人水平有限,无法做出更科学。更理论的解答。

23:两台路由器通过直连链路,建立OSPF邻居,那么在一边使用P2P,而一边使用P2MP 的情况下,能正常建立到邻接状态么?

答:肯定是不能的,因为这两个网络类型的hellointerval不一样,而在OSPF进程检查一个hello报文是否合法,其hellointerval,在检查范围内。因此两台路由上的hellointerval 是不一样的,这样的话,当其中一台路由器接受到另一台的包时,将会丢弃此HELLO包,因此邻居就不可能正常建立起来。应广大网友要求,为了让此文档更有价值,剩下的问题,都将从OSPF中error提取,将最大化OSPF error中的错误点以及解决方法,在MSR20-21上,OSPFerror一共有29条(每个厂商所实现的OSPF在细节上多多少少有一些误差,本文档的实验环境,是MSR20-21其因为路由器所实现的误差,本人不将做任何解释),所以。此error只代表H3C MSR20-21设备上所实现的OSPF ERROR,)。

OSPF Process1with Router ID1.1.1.1

OSPF Packet Error Statistics

24:OSPF Router ID confusion39:OSPF bad packet

25:OSPF bad version40:OSPF bad checksum

26:OSPF bad area ID41:OSPF drop on unnumbered interface

27:OSPF bad virtual link42:OSPF bad authentication type

28:OSPF bad authentication key43:OSPF packet too small

29:OSPF Neighbor state low44:OSPF transmit error

30:OSPF interface down45:OSPF unknown neighbor

31:HELLO:Netmask mismatch46:HELLO:Hello timer mismatch

32:HELLO:Dead timer mismatch47:HELLO:Extern option mismatch

33:HELLO:Neighbor unknown48:DD:MTU option mismatch

34:DD:Unknown LSA type49:DD:Extern option mismatch

35:LS ACK:Bad ack50:LS ACK:Unknown LSA type

36:LS REQ:Empty request51:LS REQ:Bad request

37:LS UPD:LSA checksum bad52:LS UPD:Received less recent LSA

38:LS UPD:Unknown LSA type

24:在什么情况下ospf error的OSPF Router ID confusion数值会增加?

答:这条错误,相信大家再熟悉不过了,ospf router-id冲突,RFC规定,ospf的router-id 在整个AS中唯一,而router-id又起着防环的作用,关于ROUTER-ID冲突,我一共总结出三种情况,分别如下。第一种:区域内router-id冲突,这种情况大家遇到的最多(骨干区域与骨干区域,非骨干区域与非骨干区域。区域内,)导致的后果是,OSPF不能正常建立邻居,那么自然不能正常交互LSA信息咯。第二种:区域间的route-id,这种冲突,必定是在多区域的情况下才会产生,不然怎么叫区域间冲突呢。他导致的后果,路由时有时无,两个冲突的路由器学到的路由,在路由表里,一下有,然后又消失了,然后又出现了。第三种:虚连接router-id冲突,这种情况最明显,导致的后果跟第一种情况差不多,虚连接无法正常建立,(区域间冲突的一种)Router-id冲突,概念性的就这三种,当然,区域内,区域间,如果细分的话,有十几种,遇到此问题时,整理下思路,OSPF的ROUTER-ID冲突相对来说是比较好定位与排除的。

25:在什么情况下。OSPF bad versio数值会增加?

答:ospf的版本出错。或者说,ospf版本字段损坏。解决办法,检查下OSPF版本是否配置正确。然后重启下OSPF进程就可以了。

26:在什么情况下,OSPF bad area ID数值会增加?

答:区域ID配置错误,如果是在骨干区域与非骨干区域(区域零和非骨干区域冲突),那么在骨干区域的路由器上,OSPF bad area ID会增值,而在非骨干区域他显示的是虚连接增

值。OSPF bad virtual link,但如果都是非骨干区域呢,那么两边的路由器都是OSPF bad area ID增值。

27:在什么情况下会OSPF bad virtual link数值升序?

答:OSPF虚连接错误,只要是非骨干区域与骨干区域不连续,都会出现此错误,具体的,分别如下,第一:如果是非骨干区域并没有骨干区域,(例如,区域1-2-3这样),但在同一个网段中,那么会出现OSPF bad area ID升值,因为ospf区域针对的是网段和接口,并不是针对路由器,第二:OSPF虚连接是建立在正常的OSPF邻居之上的,所以,在虚连接DOWN的情况下先检查ospf邻居是否正常,第三:ospf并不能跨区域建立虚连接,在上面的问题中,我已经描述过虚连接建立的过程,如果是跨区域,那么ospf的目的地址,固然确定不了,既然目的地址确定不了,那么报文肯定不能正常发送。

28:在什么情况下OSPF bad authentication key数值会增加?

答:在这里有必要说下,MSR-20-21,所实现的OSPF验证,如果一旦在区域内启用OSPF验证,那么接口就必须要与区域内使用同一种验证模式才能正常加密ospf报文,如果接口跟区域内不一致的话,(包括区域内启用MD5,而接口下使用的是simple,或者区域内启用验证,接口下不启用,)他是不发送HELLO报文的,因为区域内与接口不匹配或协商的字段不一致,那么他的OSPF报文会出错的,,就算发出去了也是不完整的。并且他在ospf中的error不会提示任何代码出错的,(因为都没报文发出去,他那什么去检测出错),那么回到我们本题中,ospf验证方式有两种,一种是在接口下启用验证,一种是在ospf区域内启用,既然他必须严格要求区域与接口使用的是同一种验证模式(如MD5或simple)那么此字段升值,肯定是两边接口下的KEY出错咯。

29:在什么情况下OSPF Neighbor state low会升值?

答:此数值,会跟着链路的震荡,会依次升序,(如邻居UP,DOWN,或者链路不稳定,) 30:在什么情况下,OSPF interface down会升值?

答:此数值,在使能ospf之后,他的链路会进入到一个端口状态(比如,DR,或BDR,),如果此链路不稳定,经常UP,DOWN。那么此数值就会根据UP,DOWN的次数而升值此项。31:在什么情况下,HELLO:Netmask mismatch数值会升值?

答:ospf在除点到点和虚连接的情况外,都必须严格匹配network mask字段,这是验证一个HELLO是否合法,如果合法,就继续交互报文,建立邻居,反之,则丢弃报文,那么此字段升值,肯定是两边接口的掩码不一致,

32:在什么情况下,HELLO:Dead timer mismatch字段升值?

答:补充一下,验证hello是否合法,分别如下,第一:如果接受端口类型是广播型,或NBMA型,那么所接受的端口中的NETWORD MASK字段必须和接收端口的网络掩码一致,,如果端口类型为点到点,或虚连接,那么将忽略此字段,第二:所接受的hello报文中的hellointerval字段必须和接收端口的配置一致,第三:所接收的HELLO报文中routerdeadinterval字段必须和接收端口的配置一致,第四:所接收hello报文中的OPTIONS字段中的E-bit,必须和相关区域的配置一样。那么再回到此代码,毋庸置疑,肯定是两边的router deadinterval字段不一致,才会升值,(此问题一般都是手动更改接口下的ospf router dead)

33:在什么情况下HELLO:Neighbor unknown升值?

答:hello包的邻居(Neighbor)字段匹配错误,

34:在什么情况下,DD:Unknown LSA type升值?

答:路由器在数据库同步时,收到未知的LSA类型,

35:在什么情况下LS ACK:Bad ack升值?

答:OSPF在大概几种情况下发送LSACK信息,分别如下,第一:OSPF在刚确定建立邻接关系的时候,邻居状态到loading的时候,收到对方发送的LSU报文后,回复LS ACK,邻居状态机并转换到FULL状态,此LSACK的作用是确保信息传输的可靠性。并对以接受的LSA进行确认。第二:如果LSA的LS时限等于MaxAge,而且路由器的连接状态数据库中没有该LSA的实例,而且路由器的邻居都不处于Exchange或Loading状态,那么此时的路由器过发送一个LSAck包到发送的邻居来确认收到该LSA,或丢弃该LSA,并从LSU包中取得下一个(如果存在)再回到我们这个问题中,RFC2328规定,理洪泛之前,要对所接收到的LSAck包进行很多一致性检查。特别的,需要与特定的邻居相关联。如果所关联的邻居状态小于Exchange,则丢弃该LSAck包。

36:在什么情况下LS REQ:Empty request升值

答:

37:在什么情况下LS UPD:LSA checksum bad字段升值?

答:顾名思义。在RFC2328中,明确描述,对于每个包含在LSU包中的LSA,进行下面的步骤。第一:确认LSA的LS校验和。如果校验和无效,丢弃该LSA,并从LSU包中取得下一个第二:检查LSA的类型。如果LS类型为未知,丢弃该LSA,并从LSU包中取得下一个那么根据以上的规则,再看此问题,可以很明显的看出来,LSU在检查效验和,一但在此步骤发生错误,那么OSPF中的error中的LS UPD:LSA checksum bad升值。38:在什么情况下LS UPD:Unknown LSA type字段升值?

答:跟上个问题答案一样,不再讨论

39:OSPF在什么情况下OSPF bad packet字段升值?

答:OSPF非法报文。在上面的错误中。已经介绍了各种报文验证合法的错误。这里的非法。指的是。此报文已经通过了OSPF中的报文头验证。但包中的某些字段过长。导致ospf进程或路由器无法识别。

40:在什么情况下,OSPF bad checksum升值?

答:在RFC2328中定义checksum字段如下。从OSPF包头开始,除了64位的验证域外,整个包的标准IP校验和。该校验和作为16位1补足校验和而计算包中除验证域外的所有16位字。如果包的长度不满足16位字,就在校验和前加上一个字节的0来补足。校验和也被作为正确性验证的一部分因为效验和也被作为正确性验证的一部分。所以。当效验和出错了。此字段也就跟着升值。

41:在什么情况下OSPF drop on unnumbered interface字段升值?

答:某个地址借用接口上丢弃的OSPF报文数。

42:在什么情况下OSPF bad authentication type升值?

答:区域内验证类型不一致,导致项升值,区域验证一共有两种,一种是MD5一种是simple,此字段升值后,检查下区域内配置的验证模式,两端是否一样。

43:在什么情况下OSPF packet too small升值?

答:ospf报文没有正常封装。或者封装的包太小。

44:在什么情况下OSPF transmit error升值?

答:传输出错的的OSPF报文数

45:在什么情况下OSPF unknown neighbor升值?

答:未知的OSPF邻居,在广播网络环境下,当一个接口修改Dead值的时候。由于DEAD 值必须要跟HelloInterval必须相同。否则就会出错。但是修改了此值之后。首先在OSPFERROR中HELLO:Dead timer mismatch此项升值,然而接下来,当网段内其他的路由器正常建立邻居而泛洪LS ACK的时候。此路由(修改了DEAD值的路由器)收到了其他路由器的一些报文。比如LSACK,那么这些报文对此OSPF(在接口上修改了DEAD)进程来说,是未知的,所以,在这时候,此项就跟着升值了。

46:在什么情况下HELLO:Hello timer mismatch?

答:顾名思义。HELLO包的TIME值不匹配。地球人都懂,不再讨论。

47:在什么情况下HELLO:Extern option mismatch升值?

答:在上面的问题中(32题)我已经描述过,OSPF在检验一个HELLO报文是否合法,其检查的字段中有,E-bit,在ospf特殊区域中比如(NSSA,stub)如果此E-BIT不匹配。那么ospf中的ERROR将会升值此项。

48:在什么情况下DD:MTU option mismatch升值?

答:关于这个问题,我们切换到RFC2328中接收到数据库描述包如果DD包中表示IP包大小的接口MTU域,大于该路由器接口所能接收的不分片大小,拒绝该DD包。否则,如果邻居路由器的状态是:Down:包应当被拒绝。Attempt:包应当被拒绝。Init:邻居状态机应当执行事件2-WayReceived。这导致立即变为状态2-Way或状态ExStart。如果新状态是ExStart,按照下面ExStart情况的介绍,继续当前包的处理。2-Way:包应当被忽略。DD包仅为建立邻接而使用。ExStart:如果接收到的包满足下列一个条件,则邻居状态机需要执行NegotiationDone事件(这将使状态变为Exchange)。包的选项域应当被记录在邻居结构的选项域中,包的序号应当是下一个要处理的号码(见下)。否则,忽略该包。设定了初始(I)、更多(M)和主从(MS)选项位,包的其他部分为空,且邻居路由器标识比自身路由器标识要大。这时,路由器作为从机/Slave。设定主从位为从,并将邻居数据结构中的邻居DD序号设定为主机所提出的号码。清除了初始(I)和主从(MS)选项位,且包中的DD序号等于邻居数据结构中的DD序号(标明为确认),而且邻居路由器标识比自身路由器标识要小。这时,路由器作为主机/Master。Exchange:主机丢弃所收到的重复DD包;从机收到重复的DD包时,则应当重发前一个DD包。否则(不是重复包):

49:在什么情况下DD:Extern option mismatch升值?

答:DD报文的option字段出错。根据RFC2328中定义DD option的概念如下在交换DD包时,路由器可以因为功能的不同,而选择不将特定的LSA转发到邻居。最后,路由器可以根据LSA中列出的选项将其排除出路由表的计算,而将流量转发到特定的路由器。

50:在什么情况下LS ACK:Unknown LSA type升值?

答:含有未知类型LSA的LSACK报文数

51:在什么情况下LS REQ:Bad request升值?

答:请求错误LSA的LSR报文数

52:在什么情况下LS UPD:Received less recent LSA升值?

答:含有不是最新的LSA的LSU报文数,大家都知道,OSPF是用系列号和LS AGE来区分一条路由的新衰,当区域内有一台路由器重启时,那么他生成的LSA信息已经泛洪到别的路由器上去了(描述的是别的链路,他重启对本身这条LSA信息不会导致任何不良反应。换句话说是本路由器上的LOOK上也有此路由。)。但是,但一台路由器重启过后。那么区域其他路由器在泛洪此LSA信息的时候。那么两台路由器此时的LSA新旧就会发生冲突。但对于别的路由器来说。泛洪的不是最新的LSA所以。此时的ERROR在这个时候升值此项。Ospf问题整理在此就告一段落了,ospf的复杂度,真让人感叹,现在回想起来,在H3C网络之路ospf专题中开宗明义的第一句话,精通OSPF就太牛了,全国都不到五个人。刚开始还怀疑这句话。现在感觉。精通OSPF的。真不是简单的人。在此文档中。其中有几个问题。由于环境有限。未能做到故障最大化。所以请广大群众谅解。整篇文档在当初楷写构思的时候。定位是一些面试的问题。(刚开始有些自私,自己表达能力不怎么样,在写这篇文档的时候,顺便锻炼下表达能力,也当是复习OSPF)到中期。感觉意义不大。每个人面试遇到的问题。都有自己的思路和语言去表达。后来写着写着,就把他的概念偷换了。把他定位为排错文档。当然这本身也跟我备考有关。OK,现在整理出来了,看着自己这段时间整理出来的成果。心里还是蛮高兴的。如果以后有必要。我会全线追踪OSPF到底。并在第一时间把他整理,并发布给大家让大家在第一时间一起分享网络给我们带来的快乐。在此。我衷心的感谢群里的高嘉。高老板。感谢他对我提供的赞助。在此帮他下面,我预留了三道问答题。如果有对OSPF感兴趣的哥们。可以开动下脑筋,问答题Ospf中,五种报文,哪几种有重传机制,哪些没有?为什么?答:怎么利用ospf中的LSA信息去描述一个区域的拓扑?答:Ospf对于不同的网络类型,路由信息是怎么描述的,怎么使用SPF算法的?答:在OSPF区域中。如果一边启用STUB区域。一边启用NAAS区域。他们能正常建立邻居关系吗?为什么?

相关主题
文本预览
相关文档 最新文档