精华内容
下载资源
问答
  • OSPF建立邻居关系

    千次阅读 2020-05-25 18:05:34
    OSPF建立邻居关系 在接口上启用OSPF时,路由器必须确定链路上是否还有另一个OSPF邻居。为此,路由器会在所有启用了OSPF的接口中发送包含其路由器ID的Hello数据包。Hello数据包发送到保留的所有OSPF路由器IPv4多播...

    OSPF建立邻居关系

    在接口上启用OSPF时,路由器必须确定链路上是否还有另一个OSPF邻居。为此,路由器会在所有启用了OSPF的接口中发送包含其路由器ID的Hello数据包。Hello数据包发送到保留的所有OSPF路由器IPv4多播地址224.0.0.5。仅OSPFv2路由器将处理这些数据包。OSPF进程使用OSPF路由器ID来唯一标识OSPF区域中的每个路由器。路由器ID是一个32位数字,格式类似于IPv4地址,并且分配给OSPF对等方以唯一地标识路由器。

    当相邻的启用OSPF的路由器接收到的Hello数据包的路由器ID不在其邻居列表中时,接收路由器将尝试与发起方路由器建立邻接关系。
    1、Down到Init状态
    启用OSPFv2时,启用的以太网g0/0接口将从Down状态转换为Init状态。R1开始从所有启用OSPF的接口发送Hello数据包,以发现与之建立邻接关系的OSPF邻居。
    在这里插入图片描述
    Init状态
    R2从R1接收Hello数据包,并将R1路由器ID添加到其邻居列表。然后,R2将Hello数据包发送到R1。该数据包在同一接口的邻居列表中包含R2路由器ID和R1路由器ID。
    在这里插入图片描述
    3、Two-Way状态
    R1接收Hello,并将R2路由器ID添加到其OSPF邻居列表中。它还在Hello数据包的邻居列表中注意到其自己的路由器ID。当路由器收到邻居列表中列出的带有路由器ID的Hello数据包时,该路由器将从初始化状态转换为双向状态。
    在双向状态下执行的操作取决于相邻路由器之间的互连类型,如下所示:

    • 如果两个相邻邻居通过点对点链接互连,则它们会立即从双向状态转换为ExStart状态。
    • 如果路由器通过通用以太网互连,则必须选择指定的路由器DR和BDR。
      在这里插入图片描述
      选举DR和BDR
      由于R1和R2通过以太网互连,因此将进行DR和BDR选举。如图所示,R2成为DR,R1成为BDR。此过程仅在诸如以太网LAN的多路访问网络上发生。
      不断交换Hello数据包以维护路由器信息。
      在这里插入图片描述
      为什么要选举DR和BDR
    展开全文
  • 此时邻居关系依然正常建立,但是在AR2的LSDB中,advert为1.1.1.1的LSA (1lsa 2lsa只有一份),此时路由计算就会出现问题。 我们在AR1的G0/0/1接口开启抓包。 链路数据更新比Hello包还频繁。路由出现震荡 原因:当...

    1.Router-id冲突

    • 同区域内

    在这里插入图片描述
    假设此时在同区域
    AR1和AR3的RID冲突都为1.1.1.1。
    在这里插入图片描述
    此时邻居关系依然正常建立,但是在AR2的LSDB中,advert为1.1.1.1的LSA (1lsa 2lsa只有一份),此时路由计算就会出现问题。
    我们在AR1的G0/0/1接口开启抓包。
    在这里插入图片描述
    链路数据更新比Hello包还频繁。路由出现震荡
    原因:当AR1把自己环回口1.1.1.1/32的LSA(adv=1.1.1.1,type=1,lsid=1.1.1.1,seq=1)发送给AR2,AR2收到后会传递给其他邻居AR3。发现adv=1.1.1.1但是自己又没有这个网段,于是会发送一个自己的LSACK(age=1s,seq=2)AR2收到AR3通告的LSA后,会与之前的进行比较,选择这个seq=2的。然后将这个传递给AR1,AR1收到后发现自己有这个网段,又会发送一个新的LSA1,seq=3,会反复出现这个情况。

    假设AR1引入一个外部路由。11.11.11.11 (adv=1.1.1.1 type=5 lsid=11.11.11.11,seq=1)
    发送给AR2,AR2收到转发给AR3,AR3发现adv=1.1.1.1是自己,但是自己却没这个网段,于是会给AR2发送一个age=3600s,seq=1的LSA5。AR2收到后,会比较由于seq一样 checksum一样。则比较age,优选AR3的,转发给AR1。AR1收到发现自己有这个网段,又会发送一个LSA5 seq=2,会一直出现这种情况。路由震荡

    但是一段时间后会消失,华为设备有一台会自己修改RID。

    不同区域RID相同。
    邻居关系正常,路由计算正常,因为LSA的adv是ABR,只要本区域的RID不冲突,就不会有问题。
    但是,如果在相同RID的设备上引入外部路由,那么就会出现上面的第二种情况,设备收到adv是自己的LSA5。但是自己却没有路由,则会发送一个LSA5,age=3600s的给其他邻居。其他邻居收到后会比较,发现seq一样,checksum一样,但age=3600s于是选这个,同时向其他邻居发一份。于是原先通告LSA5的设备发现自己有这个,于是又发送一条新的LSA seq在之前基础上+1.重复此种情况,路由震荡,直到冲突的设备修改RID。

    展开全文
  • OSPF邻居关系建立过程

    千次阅读 2019-10-09 20:33:58
    邻居关系建立过程,初始情况下邻居关系处于Down状态,使能OSPF后RTA与RTB两个路由器之间开始以目的地址为224.0.0.5发送HELLO报文,在一个网段中的路由器均可以收到此报文。当RTB收到RTA发来的HELLO报文后,会将RTA...
    1. 如图所示,两台路由器进行如下配置并使用OSPF路由协议使得环回口可以相互Ping通
      在这里插入图片描述
    2. 邻居关系建立过程,初始情况下邻居关系处于Down状态,使能OSPF后RTA与RTB两个路由器之间开始以目的地址为224.0.0.5发送HELLO报文,在一个网段中的路由器均可以收到此报文。当RTB收到RTA发来的HELLO报文后,会将RTA添加到自己的邻居表中此时邻居状态为Init,同理RTA也会将RTB的添加到邻居表状态为Init。RTA收到RTB发来的HELLO报文,在比较各自的RouterID发现RTB的比较大那么在发送下一次HELLO报文时携带的DR为RTB,此时RTB收到RTA发来的HELLO报文发现自己的RouterID时那么将邻居状态为2-Way,同理RTB收到RTA发来的HELLO报文,在比较各自的RouterID发现RTB的比较大那么在发送下一次HELLO报文时携带的DR为RTB,此时RTA收到RTB发来的HELLO报文发现自己的RouterID时那么将邻居状态为2-Way,此时邻居关系建立成功。
      在这里插入图片描述
    3. 因为这是在以太网中那么需要选举DR/BDR那么它们还需要进一步建立邻接关系。OSPF开始发送第一个DD报文,第一个DD报文携带内容如下:seq代表序列号,I代表第一个DD报文,M代表这不是最后一个DD报文,MS确立主从1代表主0代表从(seq大的为主小的为从)在这里插入图片描述
    4. 假设RTA接收到RTB的LSA摘要,RTA与本地LSDB比较,发现在LSDB里缺少部分LSA那么邻居状态为loading,发送LSR,接收LSU,发送LACK,最后邻居状态为FULL,相反RTB接收到RTA的摘要与本地LSDB比较发现本地全有那么直接吧邻居状态为FULL。
    展开全文
  • Ospf中路由器之间存在两种连接关系:邻居关系和邻接关系。本博文将详细介绍这2种关系建立及工作原理。 如果两台路由器之间共享一条公共数据链路(两台路由器中间没有其它路由器,或者两台路由器之间存在虚连接),...

    Ospf中路由器之间存在两种连接关系:邻居关系和邻接关系。本博文将详细介绍这2种关系建立及工作原理。

    如果两台路由器之间共享一条公共数据链路(两台路由器中间没有其它路由器,或者两台路由器之间存在虚连接),并且成功协商了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报文,报文中并不包含LSA的摘要,只是为了协商主从关系。M=1说明这不是最后一个报文。

    4. RT2在收到RT1的DD报文后,将RT1的邻居状态机改为Exstart,并且回应了一个DD报文(该报文中同样不包含LSA的摘要信息)。由于RT2的RouterID较大,所以在报文中RT2认为自己是Master,并且重新规定了序列号为y。

    5. RT1收到报文后,同意了RT2为Master,并将RT2的邻居状态机改为Exchange。RT1使用RT2的序列号y来发送新的DD报文,该报文开始正式地传送LSA的摘要。在报文中RT1将MS=0,说明自己是Slave。

    6. RT2收到报文后,将RT1的邻居状态机改为Exchange,并发送新的DD报文来描述自己的LSA摘要,需要注意的是:此时RT2已将报文的序列号改为y+1了。

    7. 上述过程持续进行,RT1通过重复RT2的序列号来确认已收到RT2的报文。RT2通过将序列号+1来确认已收到RT1的报文。当RT2发送最后一个DD报文时,将报文中的M=0,表示这是最后一个DD报文了

    8. RT1收到最后一个DD报文后,发现RT2的数据库中有许多LSA是自己没有的,将邻居状态机改为Loading状态。此时RT2也收到了RT1的最后一个DD报文,但RT1的LSA,RT2都已经有了,不需要再请求,所以直接将RT1的邻居状态机改为Full状态。

    9. RT1发送LS Request报文向RT2请求所需要的LSA。RT2用LS Update报文来回应RT1的请求。RT1收到之后,需要发送LS Ack报文来确认。上述过程持续到RT1中的LSA与RT2的LSA完全同步为止。此时RT1将RT2的邻居状态机改为Full状态。

    注:

    以上过程是两台路由器由相互没有发现对方的存在到建立邻接关系的过程。或者可以理解为网络中新加入一台路由器时的处理情况。当两台路由器之间的状态机都已经达到Full状态之后,如果此时网络中再有路由变化时,就无须重复以上的所有步骤。只由一方发送LS Update报文通知需要更新的内容,另一方发送LS Ack报文予以回应即可。双方的邻居状态机在此过程中不再发生变化。

    原文链接:http://blog.sina.com.cn/s/blog_620dbe2e0101nil7.html

    展开全文
  • OSPF邻居关系建立的六个条件 1、Router ID相同 2、Area 相同 3、Authentication-type和Authentication-key相同 4、Hello/dead时间相同 10s一次/40s超时 5、mask相同,比如双方都是24位掩码 6、特殊区域相同
  • 华为 OSPF邻居建立的过程

    万次阅读 多人点赞 2021-01-14 11:38:51
    OSPF状态机的详解。接口使能之后,发出第一份 hello 报文的时候就开始计时,40S之内不会认为自己是DR。如果40S超时之后,还是没有收到携带DR、BDR参数字段的Hello报文,就认为自己是DR。
  • ospf建立邻居的过程

    2020-01-14 09:47:53
    Router ID:在一个OSPF域内,用于标识每台路由器的ID。 选举规则: 1.手工指定(建议) 2.如果没有手工指定,使用Loopback接口中最大的IP地址作为Router ID 3.如果没有配置Loopback接口,那么使用物理接口中最大的IP...
  • OSPF邻居关系建立过程详解

    千次阅读 2017-11-15 13:52:00
    以上图为例,在初始情况下,A、B在某个接口激活了OSPF后,都会开始在这个接口上去发组播的OSPF Hello包,目的是发现OSPF邻居。Hello包里,有个active neighbor字段,用来存储路由器在某个OSPF接口上发现的邻居,当然...
  • OSPF邻居建立过程详解

    万次阅读 多人点赞 2018-10-26 11:27:51
    目录 OSPF的五种包: 1、Hello包  2、DBD包(database description) 3、LSR包(Link State Request) 4、LSU包(Link State ...OSPF建立邻居过程的7个状态机:  down——>init——>two-...
  • OSPF邻居邻接关系建立

    千次阅读 2019-04-27 22:13:25
    Hello 用于发现直连链路上的OSPF邻居,以及维护OSPF邻居关系。 DD/DBD(数据库描述) 用于描述LSDB,该报文仅携带LSDB中LSA的头部信息(摘要),并非完整信息。 LSR(链路状态请求) 用于向OSPF邻居请求LSA。 LSU(链路状态...
  • 一、OSPF多区域 自治系统(Autonomous System) 一个自治系统是指使用同一种路由协议交换路由信息的一组路由器 1、Area0为骨干区域 2、ABR--关乎3类LSA后续详解 ABR用来连接骨干区域Area0和非骨干区域,它与...
  • 实验一:OSPF单区域配置 ...查看邻居表和路由表 测试全网互通 实验步骤一:将接口IP配置好 实验步骤二:配置OSPF [R2]ospf #进入OSPF视图下配置 后面可以加数字(代表进程) [R2-ospf-1]area 0...
  • OSPF学习之影响邻居关系建立因素

    千次阅读 2020-08-05 18:30:29
    一般情况下,链路两端的OSPF接口的网络类型必须一致,否则双方不能正常建立起OSPF邻居关系。 MA和P2P的可以建立邻居,但是学不到路由; MA和P2MP不可以建立邻居,这是因为hello报文间隔和dead报文间隔不一致,链路...
  • 2 Init状态——OSPF路由器以固定的时间间隔(缺省10s)发送类型1(Hello)的分组,以便与邻居路由器建立特殊的关系。 3 Two-Way(双向)状态——每台OSPF路由器都使用分组试图与同一个IP网络中的所有邻居路由器
  • OSPF邻居建立的条件

    千次阅读 2020-05-03 08:48:10
    影响OSPF邻接关系建立的因素(10条) 1、Router-ID必须唯一 ①、相邻路由器的router-id 不能相同,相同不能...2、接口区域ID:相邻的直连接口区域ID必须相同,区域 ID 包含在 ospf 头部,双方不一致时无法建立邻居...
  • 首先从OSPF邻居建立说起: 1,初始阶段,R1不知道它的邻居是谁,给R2发hello包时,邻居为空。 2,R2收到R1发的hello包时,发现hello中没有自己,于是将R1的route-id添加到自身的hello包里邻居列表中,此时状态...
  • OSPF邻居状态机 1、down/attempt 2、init 3、2-way 4、exstart 预启动 5、exchange 预交换 6、loading 加载 7、Full 完成 PS:在另一篇文章中讲述了:[OSPF邻居关系建立的六个条件]...1、down/attempt 发送hello包,...
  • OSPF协议原理及配置3-邻居关系建立 OSPF协议的邻居关系是通过交换Hello报文建立的,所以我们先对OSPF的报文的种类,及Hello报文的结构做一了解。 1 OSPF协议有5种协议报文(很重要,后面会依次介绍...
  • 重温OSPF——OSPF邻居建立

    千次阅读 2015-11-08 16:53:53
    OSPF:OpenShortestPathFirst OSPF路由协议是由IETF组织开发,作为RIP路由协议的替代协议,解决RIP路由协议的固有问题。...如果两个邻居之间需要同步LSDB,那么它们之间需要建立邻接关系。如果两个路由器之间建立
  • 建立邻居关系 RouterA的一个连接到广播类型网络的接口上激活了OSPF协议,并发送了一个Hello报文(使用组播地址224.0.0.5)。此时,RouterA认为自己是DR路由器(DR=1.1.1.1),但不确定邻居是哪台路由器(Neighbors ...
  • 深刻理解OSPF建立邻居过程

    千次阅读 2019-08-20 13:28:43
    OSPF 进程中手工指定 Router-id; 2…活动 loopback 接口 IP 地址最大的,最优选; 3.活动物理接口 IP 地址最大的,次优选; DR/BDR:多路访问网络中必须选择出一个核心路由器和备份核心路由器,称为 DR...
  • OSPF通过Hello报文发现和维持邻居关系邻居关系不等于邻接关系,只有达到two-way状态的路由器才算邻居关系(双向建立)。OSPF在所有启用OSPF的接口发送HELLO报文 在BM和点到点,hello报文10s发送一次,在NBMA和P2MP...
  • 华为路由器 :建立ospf邻居路由

    千次阅读 2018-01-18 13:55:00
     # 直接建立邻居关系的路由器,RID一定不能相同;  [R1]ospf 1 router-id x.x.x.x // 指定 OSPF 1 使用的 RID  <R1> reset ospf 1 process // 重启 OSPF 1,才能生效;  # 区域ID必须相同;  [R1]ospf 1  [R1...
  • OSPF邻居建立

    千次阅读 2018-08-03 11:43:17
    1、OSPF简述 OSPF(Open Shortest Path First,开放最短路径优先)是IETF (Internet Engineering Task Force,互联网工程任务组)组织开发的一个基于链路状态的内部网关协议。目前针对IPv4协议使用的是OSPF ...
  • 当路由器运行OSPF协议时,有时路由器之间无法建立起邻接关系,这个时候...如果网络类型是P2P,则掩码不一致也可以建立邻居关系,对于MA网络 这个时候会出现能ping通但是无法建立邻居 区域不一致 router-id冲突 认证...
  • OSPF 邻居建立失败原因

    千次阅读 2020-06-29 23:14:01
    影响OSPF邻居建立的条件有很多,也是面试中经常会问到的问题 总结了下最常见的几种影响邻居建立的因素: 1,ROUTE ID 唯一 2,HELLO /DEAD 定时器 一致 3,区域(area) 一致 4,子网掩码 一致 (P2P网络和虚...
  • 本次介绍OSPF邻居和邻接关系的建立过程。这个过程是OSPF协议交互的...3. 理解邻居关系和邻接关系的建立过程 4. 理解LSDB同步过程 字段的解释: Network Mask:顾名思义是发送Hello报文的接口的网络掩码 HelloInter
  • OSPF用邻居机制来发现和维持路由的存在,邻居表存储了双向通信的邻居关系OSPF路由器列表的信息。为了方便,我把R1/2/3/4/5的router id改成了回环网卡的IP。 假如我发现R1和R2之间不能ping通,我们首先要考虑的就是R1...
  • OSPF邻居建立过程

    2020-03-20 00:20:08
    OSPF邻居建立过程 前言 本人不才,此文是学习过程中的总结并不是官网文档,难免会有疏漏错误之处欢迎指正,虚心学习。 此篇也算是本人的学习笔记。  R1的Router-ID是1.1.1.1; R2的Router-ID是2.2.2.2 。 1. R1和...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,774
精华内容 3,509
关键字:

ospf建立邻居关系