两台路由器之间建立邻接关系的过程
创始人
2024-03-21 11:51:40
0

在学习OSPF建立邻居关系之前我们再来回忆一下RIP协议建立邻居的过程。在运行RIP协议的路由器A启动之后会向邻居路由器B发送一个请求报文,邻居收到后回应一个确认报文。然后路由器A将自己已知的所有报文发送给路由器B,并且每隔30秒周期性的向自己的邻居发送。那么这样一个看似简单的过程有什么弊端呢?首先,RIP协议每个30秒周期性的发送是为了确保一台路由器发生故障后能够更新路由表。所以这每隔30秒周期性的发送报文包含了大量的路由信息实际上是一种浪费。因为如果网络没有发生变化,这些报文是没有实际意义的。OSPF把维护路由信息报文和更新的路由报文这两种报文分开来发送。如下图所示:

RT1启动之后发送一个Hello报文,Hello报文中包含了DR的地址,以及是否发现了邻居。在此图中,Neighbors Seen=0说明还没有发现邻居。RT2收到RT1发送来的Hello报文后,也向RT1发送一个Hello报文,这个报文中告诉RT1,DR为RT2,同时告诉RT1已经发现了RT1是自己的邻居。RT1收到RT2发回来的回应报文后,这种状态我们称之为邻居关系。在建立了邻居关系后,RT1就开始向网络发送LSA。但实际上,在网络连接起来后,每台路由器中的大部分路由都是相同的,这个时候如果RT1仍旧将自己所知的所有LSA发送给RT2那么也会造成浪费。

所以,在RT1向RT2发送LSA之前,会告诉RT2那些路由是自己需要的,那些是自己不需要的。在前面我们讲到过在OSPF发送报文的时候会在LSA报文前加一个Head,在这个Head中包含了LSA的标示,就可以区分每条LSA。所以,RT1只需要向RT2发送Head就可以了,从而大大减少了发送的信息量。当RT2收到所有的Lsa的Head后会与自己本地的LSA中的Head进行比较,如果有不同的则向RT1发送请求(请求报文只发送Head报文)。

然而, LSA报文是基于IP的报文,IP的特点是不可靠尽力而为的转发。所以LSA必须建议一种机制来确保对方能够准确无误的收到了自己发送的报文。所以LSA建立了一种类似TCP的确认和超时重传机制,来保证报文的准确无误的发送和接收。在图示中,RT1向RT2发送一个DD报文,在***次发送的DD报文中不包含任何LSA信息,i代表了这时RT1发送给RT2的***个报文,M代表了后面还有更多的报文,而MS则告诉RT2自己是主发送,而谁的MS大谁就决定了使用谁的发送次序(Sq),只有MS才能够在发送报文是将序号加一,在上图中我们可以发现RT2成为了MS。当发送报文中的字段M=0得时候,就可以确认报文已经发送完。此时,RT1才会向RT2发送LS requese报文。RT2收到LS request报文后,发送LS Update报文,最有由RT1发送LS ack确认报文。通过这一系列的报文发送,每台路由器就可以形成一个相同的LSDB。

【编辑推荐】

  1. 路由技术与应用:ASON标准化的关键点
  2. 存储网络的路由技术

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
P2P的自白|我不生产内容,我... 现在一提起P2P,人们就会联想到正在被有关部门“围剿”的互联网理财服务。×租宝事件使得劳...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...