OSPF你懂多少之经典问题50个【此文档只适合对OSPF有一定了解的阅读】(注:此文档只适合对OSPF有一定了解的阅读)1:在OSPF中。为什么第三类LSA传播超过一个区域?路由信息就会被修改呢?他不是使用SPF算法么?如果这样那么他跟RIP的DV算法有啥区别?答ospf:因为传播超过一个区域之后。路由信息就会改变。而路由信息在OSPF中,包括防环等作用。这也是RIP与OSPF本质的区别。在RIP中。由于采用DV算法。当报文传递过后。会改变路由信息。因此也就存在环路。而在OSPF中。第三类LSA也是这样。由此RFC规定。所有区域必须要与骨干区域相连接。但在我们实际组网中。经常碰到非骨干区域与骨干区域不能相互连接。由此RFC定义了虚连接。2:说到虚连接。哪虚连接为什么能保证第三类LSA的路由信息不被修改呢?答:从狭义的角度来说。一条虚连接是属于区域零的一条虚拟链路。因此他也就能保证第三类LSA的路由信息不被修改3:那虚连接是怎样使用SPF算法的呢?准确的说。虚连接是怎么确定他报文的目的地址的?答:每个虚连接都要生成两颗最短路径树(第一棵为本地区域的最短路径树。第二棵为虚连接邻居的最短路径树)计算虚连接最短路径树之后。本地路由器会通过查找对端最短路径树,并通过对端的router-id来标示。那么虚连接到达本地路由器的始发端口的IP地址即为本地路由器发给对端虚连接邻居的协议报文的目的IP地址。4:为什么ospf在默认情况下引入外部路由生成的是第2类而不是第一类LSA?你提出了这个问题。这说明你很细心也很用心。在外部第一类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第十一:本自治系统范围的opaqueLSA13: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自动发现的路由作为remo