码迷,mamicode.com
首页 > 其他好文 > 详细

4.HCNP-R&S-IERN——建立OSPF邻居与邻接关系

时间:2015-04-18 17:52:58      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:ospf邻居和邻接   hcnp   华为   

本次介绍OSPF邻居和邻接关系的建立过程。这个过程是OSPF协议交互的过程,包括Hello报文,邻居状态变换以及链路状态数据库同步等内容。

学习目标:
1. 理解Hello报文的作用
2. 理解OSPF邻居状态变换
3. 理解邻居关系和邻接关系的建立过程
4. 理解LSDB同步过程

技术分享
字段的解释:
Network Mask:顾名思义是发送Hello报文的接口的网络掩码
HelloInterval:发送Hello报文的时间间隔,单位是秒
Options:标识发送此报文的OSPF路由器所支持的可选功能。
Rtr Pri:发送Hello报文的接口的Router Priority,用于选举DR和BDR。
RouterDeadInterval:宣告邻居路由器不继续在该网段上运行OSPF的时间间隔,单位为秒,通常为四倍HelloInterval。
Designed Router:发送Hello报文的路由器所选举出的DR的IP地址。如果设置为0.0.0.0,表示未选举DR路由器。
Backup Designed Router:发送Hello报文的路由器所选举出的BDR的IP地址。如果设置为0.0.0.0,表示未选举BDR路由器。
Neighbor:邻居路由器的Router ID列表。表示本路由器已经从该邻居收到合法的Hello报文。

技术分享
验证一个Hello报文是否合法之前首先需要验证一个OSPF报文是否合法
验证一个接收到的Hello报文是否合法包括:
1. 如果接收端口的网络类型是广播型,点到多点或者NBMA,所接收的Hello报文中Network Mask字段必须和接收端口的网络掩码一致,如果接收端口的网络类型为点到点类型或者虚连接,则不检查Network Mask字段。
2. 所接收的Hello报文中的HelloInterval字段必须和接收端口的配置保持一致。
3. 所接收的Hello报文中的RouterDeadInterval字段必须和接收端口的配置保持一致。
4. 所接收的Hello报文中的Options字段中的E-bit(表示是否接收外部路由信息)必须和相关区域的配置保持一致。关于此比特的具体意义将在《OSPF特殊区域》中详细解释。

如果路由器发现所接收的合法Hello报文的邻居列表中有自己的Router ID,则认为已经和邻居建立了双向连接,表示邻居关系已经建立。

技术分享
这是形成邻居关系的过程和相关邻居状态的变化过程。

Down:这是邻居的初始状态,表示没有从邻居收到任何信息。在NBMA网络上,此状态下仍然可以向静态配置的邻居发送Hello报文,发送间隔为PollInterval,通常和RouterDeadInterval间隔相同。
Attempt:这个状态只在NBMA网络中存在,表示没有收到邻居的任何信息,但是已经周期性的向邻居发送报文,发送间隔为HelloInterval。如果RouterDeaInterval间隔内未收到邻居的hello报文,则转为Down状态。
Init:在此状态下,路由器已经从邻居收到了Hello报文,但是自己不再所收到的Hello报文的邻居列表中,表示尚未与邻居建立双向通信关系。在此状态下的邻居要被包含在自己所发送的Hello报文的邻居列表中。
2-WayReceived:此事件表示路由器发现与邻居的双向通信已经开始(发现自己在邻居发送的Hello报文的邻居列表中)。Init状态下产生此事件之后,如果需要和邻居建立邻接关系则进入ExStart状态,开始数据库的同步过程,如果不能与邻居建立邻接关系则进入2-way。
2-way:在此状态下,双向通信已经建立,但是没有与邻居建立邻接关系。这是建立邻接关系以前的最高级状态。
1-wayReceived:此事件表示路由器发现自己没有邻居发送Hello报文的邻居列表中,通常是由于对端邻居重启造成的。

技术分享

技术分享
DD序列号:每个DD报文都有一个DD序列号,用于DD报文的确认机制。DD序列号是一个两字节的值。
主从关系:当两个路由器之间通过DD报文交换数据库信息的时候,首先形成一个主从关系,Router ID大的优先为主,确认主从关系之后,主路由器发送DD报文,从路由器不能主动发送DD报文,只能回应主路由器发送的DD报文,回应的时候使用的DD报文的序列号必须和所回应的主路由器发送的DD报文的序列号一致。

相关的状态解释:
ExStart:形成邻接关系的第一个步骤,邻居状态变成此状态以后,路由器开始向邻居发送DD报文。主从关系是在此状态下形成的;初始DD序列号是在此状态下决定的。在此状态下发送的DD报文不包含链路状态描述。
Exchange:此状态下路由器相互发送包含链路状态信息摘要的DD报文,描述本地LSDB的内容。
Loading:相互发送LS Request报文请求LSA,发送LS Update通告LSA。
Full:两个路由器的LSDB已经同步。

技术分享
1. 邻居状态机变为ExStart以后,RTA向RTB发送第一个DD报文,在这个报文中,DD序列号被设置为552A(假设的值,实际中可能不一样),Initial比特置为1表示这个是第一个DD报文,More比特为1表示后续还有DD报文要发送,Master比特为1表示RTA宣告自己为主路由器。
2. 邻居状态及变为ExStart以后,RTB向RTA发送第一个DD报文,知识序列号被置为5528(也是假设的值)。由于RTB的Router ID比RTA的大,所以RTB应当为主路由器,Router ID比较结束后,RTA会产生一个NegotiationDone事件,所以RTA将状态机从ExStart改变为Exchang状态
3. 邻居状态机变为Exchange以后,RTA发送一个新的DD报文,在这个新的报文中包含LSDB的摘要信息,序列号设置为RTB在步骤2里使用的序列号,More比特为0表示不需要另外的DD报文描述LSDB,Master比特为0表示RTA宣告自己为从路由器,收到这样的一个报文后,RTB会产生一个NegotiationDone的事件,因此RTB将邻居状态改变为Exchange。
4. 邻居状态变为Exchange以后,RTB发送一个新的DD报文,该报文中包含LSDB的描述信息, DD序列号设为5529(上次使用的序列号加1)。
5. 即使RTA不需要新的DD报文描述自己的LSDB,但是作为从路由器,RTA需要对主路由器RTB发送的每一个DD报文进行确认。所以,RTA向RTB发送一个新的DD报文,序列号为5529,该报文内容为空。
发送完最后一个DD报文之后,RTA产生一个ExchangeDone事件,将邻居状态改变为Loading;RTB收到最后一个DD报文之后,改变状态为Full(假设RTB的LSDB是最新最全的,不需要向RTA请求更新)。

技术分享
1. 邻居状态变为Loading之后,RTA开始向RTB发送LS request报文,请求那些在Exchange状态下通过DD报文发现的,而且在本地LSDB中没有的链路状态信息。
2. RTB收到LS request报文之后,向RTA发送LS update报文,在LS update报文中,包含了那些被请求的链路状态的详细信息。RTA收到LS update 报文之后,将邻居状态从loading改变为full。
3. RTA向RTB发送LS Ack报文,确保信息传输的可靠性。LS ack报文用于泛洪对已接收LSA的确认。

邻居状态变成Full,表示达到完全邻接状态。

技术分享
技术分享
技术分享
当有新的LSA生成或收到时,这条新的LSA应当被泛洪。
泛洪新的LSA时,只需要使用LS update报文和LS ack报文。
1. 当RTA有新的LSA要泛红时,RTA向RTB发送一个LS update报文,在这个报文里包含这条LSA。
2. 收到新的LSA以后,RTB向RTA泛红一个LS ack报文进行确认。

当在两个处于完全邻接状态(邻居状态为Full)的路由器之间泛洪新的LSA时,邻居状态不受影响。

技术分享
技术分享
广播型网段上,DR和BDR发送LS update报文和LS ACk报文的目的地址是224.0.0.5,其余路由器发送LS update报文和LS ack报文的目的地址是224.0.0.6
224.0.0.6指代一个多路访问网络中DR和BDR的组播接收地址,
224.0.0.5指代在任意网络中所有运行OSPF进程的接口都属于该组,于是接收所有224.0.0.5的组播数据包。
重点理解好 属于某一组 和 接收怎样的组播数据包,
比如 DR/BDR属于组播地址为224.0.0.6的组(Group),因此它接收目的地址为224.0.0.6的组播数据包,也就可以理解为何多路访问通过设置DR/BDR可以防止信息过多处理(因为属于某组的接收者(指OSPF接口),只会剥离到二层,而不会进一步处理,也就省去了很多资源浪费)。

问题:
1. 如何验证一个Hello报文是否合法?
2. 邻居状态变换分为几个阶段?
3. 不能建立邻接关系的情况下,邻居稳定工作状态是什么?
4. 可以建立邻接关系的情况下,邻居稳定工作状态是什么?

答:
1. 检查Network Mask,HelloInterval,RouterDeadInterval以及Options字段中的E-bit。
2. 两个阶段:邻居,邻接
3. 2 way
4. full

4.HCNP-R&S-IERN——建立OSPF邻居与邻接关系

标签:ospf邻居和邻接   hcnp   华为   

原文地址:http://blog.csdn.net/wdkirchhoff/article/details/45103755

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!