OSPF邻居邻接关系.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
邻居关系和邻接关系。 ? 如果两台路由器之间共享一条公共数据链路(两台路由器中间没有其它路由器,或者两台路由器之间存在虚连接),并且成功协商了hello包中所指定的参数,那么它们就成为邻居。如果两个邻居之间需要同步LSDB,那么它们之间需要建立邻接关系。如果两个路由器之间建立了邻接关系,那么它们的LSDB一定是同步的。LSA只在存在邻接关系的路由器之间传递。 ? 那么邻居关系和邻接关系怎么建立呢? 邻居关系通过hello报文来建立。 Hello报文中包含如下一些内容: 1、始发路由器的router-id 2、始发路由器接口的area-id 3、始发路由器接口的地址掩码 4、始发路由器接口的authentication type和authentication message 5、始发路由器接口的hello-interval 6、始发路由器接口的router dead-interval 7、路由器优先级 8、指定DR和BDR 9、标识可选性能的5个标志位 10、始发路由器的所有有效neighbor router-id(始发路由器接收到了它们的hello报文) 以两台路由器之间建立邻居关系为例: 1、R1发送hello报文(组播或者单播,链路层类型来定),neighbor字段为空 2、R2收到hello报文,为R1建立一个邻居数据结构,并把R1的邻居状态置为init,然后向R1发送hello报文,neighbor字段中包含R1的rougerID,表示自己收到了R1的hello报文。 3、R1收到R2的hello报文之后,为R2建立一个邻居数据结构,并把邻居状态置为2way,然后向R2发送hello报文,报文的neighbor字段中包含R2的routerID。 4、R2收到R1的hello报文后,把R1的邻居状态置为2way 至此,邻居关系就建立起来了,邻居路由器之间会按时发送hello报文进行保活,如果hello报文超时,那么该路由器就会宣告这里邻居失效。 ? 所有路由器之间都达到2way状态后,它们会根据网络类型判断是否需要选举DR和BDR,如果需要的话就开始选举DR和BDR。 ? 邻居路由器之间会判断是否需要建立邻接关系,怎么判断呢? 1、??如果是point-to-point链路,需要建立邻接关系 2、??如果是point-to-multipoint链路,需要建立邻接关系 3、??如果网络类型是虚链路,需要建立邻接关系 4、??本地路由器是网段上的DR,需要建立邻接关系 5、??本地路由器是网段上的BDR,需要建立邻接关系 6、??邻居路由器是网段上的DR,需要建立邻接关系 7、??邻居路由器是网段上的BDR,需要建立邻接关系 ? 如何建立邻接关系呢?其实邻接关系的建立过程中就顺带把LSDB同步了。过程如下: 建立邻接关系使用下面三种协议报文: Hello报文type1、数据库描述数据包type2、链路状态请求报文type3、链路状态更新报文type4、链路状态确认报文type5 ? 1、RT1的一个连接到广播类型网络的接口上激活了OSPF协议,并发送了一个 HELLO报文(使用组播地址224.0.0.5)。由于此时RT1在该网段中还未发现 任何邻居,所以HELLO报文中的Neighbor字段为空。 2、RT2收到RT1发送的HELLO报文后,为RT1创建一个邻居的数据结构,并且 将RT1的邻居状态机置为Init。RT2发送一个HELLO报文回应RT1,并且在报 文中的Neighbor字段中填入RT1的Router id,表示已收到RT1的HELLO报文。 3、RT1收到RT2回应的HELLO报文后,为RT2创建一个邻居的数据结构,并将 邻居状态机置为Exstart状态。下一步双方开始发送各自的链路状态数据库。 ? 为了提高发送的效率,双方需先了解一下对端数据库中那些LSA是自己所需 要的(如果某一条LSA自己已经有了,就不再需要请求了)。方法是先发送 DD报文,DD报文中包含了对本地数据库中LSA的摘要描述(每一条摘要可 以惟一标识一条LSA,但所占的空间要少得多)。由于OSPF直接用IP报文来 封装自己的协议报文,所以在传输的过程中必须考虑到报文传输的可靠性。 为了做到这一点,在DD报文的发送过程中需要确定双方的主从关系。作为Master的一方定义一个序列号seq,每发送一个新的DD报文将seq加一。作为 Slave的一方,每次发送DD报文时使用接收到的上一个Master的DD报文中的 seq。实际上这种序列号机制是一种隐含的确认方法。如果再加上每个报文 都有超时重传,就可以保证这种传输是可靠的。 RT1首先发送一个DD报文,宣称自己是Master(MS=1),并规定序列号为 x。I=1表示这是第一个DD报文,报文中并不包

文档评论(0)

xina171127 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档