OSPF协议原理及配置3-邻居关系的建立
OSPF协议的邻居关系是通过交换Hello报文建立的,所以我们先对OSPF的报文的种类,及Hello报文的结构做一了解。
1 OSPF协议有5种协议报文(很重要,后面会依次介绍)
Hello报文:用于发现和维护邻居关系,在广播型网络和NBMA网络上Hello报文也用来选举DR和BDR。
DD报文:通过携带LSA(链路状态通告)头部信息来描述链路状态摘要信息。
LS Request报文:用于发送下载LSA的请求信息,这些被请求的LSA是通过接收DD报文发现的,但是本路由器上没有的。
LS Update报文:通过发送详细的LSA来同步链路状态数据库。
LS Ack报文:通过泛洪确认信息确保路由信息的交换过程是可靠的。
除了Hello报文以外,其他所有报文只在建立了邻接关系的路由器之间发送。(这点一定要记清楚,对理解邻接关系的建立过程很重要)
2 OSPF报文头部
OSPF协议各种类型报文有相同的头部信息
Version #: OSPF协议号,应当被设置成2。
Type: OSPF报文类型,OSPF共有五种报文。
Packet length: OSPF报文总长度,包括报文头部。单位是字节。
Router ID: 生成此报文的路由器的Router ID。
Area ID: 此报文需要被通告到的区域。
AuType: 验证此报文所应当使用的验证方法。
Authentication: 验证此报文时所需要的密码等信息。
3 Hello报文
邻居和邻接关系是通过交换Hello报文来建立的,所以通过了解Hello报文的头部内容,可以帮助我们理解邻居和邻接关系的建立。
Network Mask:发送Hello报文的接口的网络掩码。
HelloInterval:发送Hello报文的时间间隔。单位为秒。默认10m,在NBMA和点对多点下,为40s
Options:标识发送此报文的OSPF路由器所支持的可选功能。具体的可选功能不在本课程的讨论范围之列。
Rtr Pri:发送Hello报文的接口的Router Priority,用于选举DR和BDR。在广播和NBMA网络中DR和BDR是通过优先级确定的,router ID越大优先级越高。
RouterDeadInterval:宣告邻居路由器不继续在该网段上运行OSPF的时间间隔,单位为秒,通常为四倍HelloInterval。
Designated Router:发送Hello报文的路由器所选举出的DR的IP地址。如果设置为0.0.0.0,表示未选举DR路由器。
Backup Designated Router:发送Hello报文的路由器所选举出的BDR的IP地址。如果设置为0.0.0.0,表示未选举BDR路由器。
Active Neighbor:邻居路由器的Router ID列表。表示本路由器已经从该邻居收到合法的Hello报文。
收到的hello包中包含自已的router-id时,认为邻居关系已经建立。
4 形成邻居关系的过程和相关状态的变换过程。
注意2-way 和 ExStart这两个状态
Down:这是邻居的初始状态,表示没有从邻居收到任何信息。在NBMA网络上,此状态下仍然可以向静态配置的邻居发送Hello报文,发送间隔为PollInterval,通常和RouterDeadInterval间隔相同。
Init:在此状态下,路由器已经从邻居收到了Hello报文,但是自己不在所收到的Hello报文的邻居列表中。
1-WayReceived:此事件表示路由器发现自己没有在邻居发送Hello报文的邻居列表中,通常是由于对端邻居重启造成的。
2-WayReceived:此事件表示路由器发现与邻居的双向通信已经开始(发现自己在邻居发送的Hello报文的邻居列表中)。Init状态下产生此事件之后,如果需要和邻居建立邻接关系则进入ExStart状态,开始数据库同步过程,如果不能与邻居建立邻接关系则进入2-Way。
2-Way:在此状态下,双向通信已经建立,但是没有与邻居建立邻接关系。这是建立邻接关系以前的最高级状态。
Attempt:此状态只在NBMA网络上存在,表示没有收到邻居的任何信息,但是已经周期性的向邻居发送报文,发送间隔为HelloInterval。如果RouterDeadInterval间隔内未收到邻居的Hello报文,则转为Down状态。
标签:报文,发送,邻居,原理,OSPF,Hello,路由器 来源: https://www.cnblogs.com/niewd/p/11019411.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。