OSPF两台路由器之间建立邻接关系过程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在学习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.但实际上,在络连接起来后,每台路由器中的⼤部分路由都是相同的,飧鍪焙蛉绻鸕T1仍旧将⾃⼰所知的所有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.。

相关文档
最新文档