搜档网
当前位置:搜档网 › OSPF建立邻居的过程

OSPF建立邻居的过程

OSPF建立邻居的过程
OSPF建立邻居的过程

1.R1的一个连接到广播类型网络的接口上激活了OSPF协议,并发送了一个HELLO报文(使用组播地址224.0.0.5)。由于此时R1在该网段中还未发现任何邻居,所以HELLO报文中的Neighbor字段为空。

2.R2收到R1发送的HELLO报文后,为R1创建一个邻居的数据结构。R2发送一个HELLO报文回应R1,并且在报文中的Neighbor字段中填入R1的Router -id,表示已收到R1的HELLO报文,并且将R1的邻居状态机置为Init

3.R1收到R2回应的HELLO报文后,为R2创建一个邻居的数据结构,并将邻居状态机置为Exstart状态。下一步双方开始发送各自的链路状态数据库。

为了提高发送的效率,双方需先了解一下对端数据库中那些LSA是自己所需要的(如果某一条LSA自己已经有了,就不再需要请求了)。方法是先发送DD报文,DD报文中包含了对本地数据库中LSA的摘要描述(每一条摘要可以惟一标识一条LSA,但所占的空间要少得多)。由于OSPF直接用IP报文来封装自己的协议报文,所以在传输的过程中必须考虑到报文传输的可靠性。为了做到这一点,在DD报文的发送过程中需要确定双方的主从关系。作为Master的一方定义一个序列号seq,每发送一个新的DD报文将seq 加一。作为Slave的一方,每次发送DD报文时使用接收到的上一个Master的DD报文中的seq。实际上这种序列号机制是一种隐含的确认方法。如果再加上每个报文都有超时重传,就可以保证这种传输是可靠的。

R1首先发送一个DD报文,宣称自己是Master(MS=1),并规定序列号为x。I=1表示这是第一个DD报文,报文中并不包含LSA的摘要,只是为了协商主从关系。M=1说明这不是最后一个报文。

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

5.R1收到报文后,同意了R2为Master,并将R2的邻居状态机改为Exchange。

R1使用R2的序列号y来发送新的DD报文,该报文开始正式地传送LSA的摘要。在报文中R1将MS=0,说明自己是Slave。

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

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

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

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

ospf邻接关系的建立过程

运行OSPF协议的路由器,如果你想正常运转的话,那么就得和其他的路由器建立完全邻接的关系。因为这种状态下,同一个区域中的所有的路由器的LSDB都是完全同步的、一致的。呵呵、、、其实呢,应该反过来说,当同一个区域中的所有的路由器的LSDB的完全同步、一致的情况下,OSPF路由器才算是达到了这个完全邻接的状态! 有这么几个过程: OSPF 处于down 状态----àInit状态-----à双向(two—way)状态-----à邻接状态--à预启动( exstart )状态------à交换(exchange )状态----à完全( full )邻接状态! 当配置了OSPF的路由器刚刚启动的时候,这个协议还是处于down的状态的,为什么呢?因为还没有其他的路由器和他交换信息啊。所以他接下来要做的就是通过所有的OSPF接口向外发送HELLO分组,并且分组的目标地址是224.0.0.5 (这个地址代表的是哪些路由器呢?我认识吧,他代表的是与发送HELLO分组的路由器直接相连的那些路由器,就是指的那些直连路由器。并且在这里需要说明的是,HELLO分组不会被路由,这个HELLO分组的行程只有一跳。那我们看到的“HELLO分组在整个区域中的多个路由器之间进行扩展”又该如何解释呢?HELLO分组在同一个区域中的多个路由器之间进行扩展,运用的不是路由功能,而是一个路由器发送这个HELLO分组到了直接相连的所有的路由器后,这些路由器就复制一个副本,并且将自己的信息添加进去后,就还是运用目标地址为224.0.0.5来分发这个HELLO分组到与自己直接相连的各个路由器上。就这样一直下去,以此类推!)

OSPF建立邻居的过程

1.R1的一个连接到广播类型网络的接口上激活了OSPF协议,并发送了一个HELLO报文(使用组播地址224.0.0.5)。由于此时R1在该网段中还未发现任何邻居,所以HELLO报文中的Neighbor字段为空。 2.R2收到R1发送的HELLO报文后,为R1创建一个邻居的数据结构。R2发送一个HELLO报文回应R1,并且在报文中的Neighbor字段中填入R1的Router -id,表示已收到R1的HELLO报文,并且将R1的邻居状态机置为Init 3.R1收到R2回应的HELLO报文后,为R2创建一个邻居的数据结构,并将邻居状态机置为Exstart状态。下一步双方开始发送各自的链路状态数据库。 为了提高发送的效率,双方需先了解一下对端数据库中那些LSA是自己所需要的(如果某一条LSA自己已经有了,就不再需要请求了)。方法是先发送DD报文,DD报文中包含了对本地数据库中LSA的摘要描述(每一条摘要可以惟一标识一条LSA,但所占的空间要少得多)。由于OSPF直接用IP报文来封装自己的协议报文,所以在传输的过程中必须考虑到报文传输的可靠性。为了做到这一点,在DD报文的发送过程中需要确定双方的主从关系。作为Master的一方定义一个序列号seq,每发送一个新的DD报文将seq 加一。作为Slave的一方,每次发送DD报文时使用接收到的上一个Master的DD报文中的seq。实际上这种序列号机制是一种隐含的确认方法。如果再加上每个报文都有超时重传,就可以保证这种传输是可靠的。 R1首先发送一个DD报文,宣称自己是Master(MS=1),并规定序列号为x。I=1表示这是第一个DD报文,报文中并不包含LSA的摘要,只是为了协商主从关系。M=1说明这不是最后一个报文。 4.R2在收到R1的DD报文后,将R1的邻居状态机改为Exstart,并且回应了一个DD报文(该报文中同样不包含LSA的摘要信息)。由于RT2的Router ID 较大,所以在报文中R2认为自己是Master,并且重新规定了序列号为y。 5.R1收到报文后,同意了R2为Master,并将R2的邻居状态机改为Exchange。

OSPF配置步骤

前言: 本文主要介绍了园区网中OSPF规划要点和部署OSPF的主要配置,对于OSPF协议原理和技术细节没有过多的阐述,适用于对于OSPF协议原理有一定了解的渠道工程师和网络维护人员。 保持OSPF数据库的稳定性:Router-id的选择 层次化的网络设计:OSPF区域的规划 非骨干区域内部路由器的路由表项优化:特殊区域的使用 骨干区域路由器的路由表项优化:非骨干区域IP子网规划和路由汇总 OSPF默认路由的引入和选路优化:重分布静态和cost调整 OSPF网络基本安全:阻止发往用户的OSPF报文 非骨干区域内部路由器的路由表项优化:特殊区域的使用 骨干区域路由器的路由表项优化:非骨干区域IP子网规划和路由汇总 OSPF默认路由的引入和选路优化:重分布静态和cost调整 OSPF网络的基本安全:阻止发往用户的OSPF报文 enable conf t router ospf 110 //启用进程号为110的OSPF router-id *.*.*.* // 配置router ID号OSPF中用来识别路由器的 no au //关闭自动汇总

net 12.12.12.0 0.0.0.255 area 0 //把12.12.12.0/24网段宣告进OSPF中,并且激活该网段上的接口。 OSPF博大精深,太多太多配置了都。。 譬如 OSPF的验证,分为区域验证,链路验证,虚链路验证 建立虚链路,建立TUNNEL 口 手工汇总,修改AD值, 修改接口的COST值, OSPF的特殊区域如:STUB ,totally stub, nssa ,TOTALLY NSSA 路由的重分发

OSPF协议配置

OSPF 协议配置 【实验目的】 1.了解和掌握ospf 的原理; 2.熟悉ospf 的配置步骤; 3.懂得如何配置OSPF router ID ,了解DR/BDR 选举过程; 4.掌握hello-interval 的使用; 5.学会使用OSPF 的authentication ; 【实验拓扑】 【实验器材】 如上图,需用到路由器三台,hub/switch 一个,串行线、网线若干,主机三台。 说明:拓扑中网云可用hub 或普通switch 替代,建立multiaccess 网络,以太口连接。 【实验原理】 一、OSPF 1. OSPF 基本原理以及邻居关系建立过程 OSPF 是一种链路状态型路由选择协议。它依靠5种(Hello, DBD, LSR, LSU and LSAck)不同种类的数据包来识别、建立和维护邻居关系。当路由器接收到来自邻居的链路状态信息后,会建立一个链路状态数据库;然后根据该链路状态数据库,采用SPF 算法确定到各目的地的最佳路径;最后将最佳路径放到它的路由表中,生成路由表。 OSPF 会进行周期性的更新以维护网络拓扑状态,在LSA 的生存期到期时进行周期性的更新。除了周期性更新之外,还有触发性更新。即当网络结构发生变化(例如增减路由器、链路状态发生变化等)时,会产生触发性更新,把变化的那一部分通告给整个网络。 192.168.1.0/24 RT A

2.Designated Router (DR) / Backup Designated Router(BDR)选举过程 存在于multiaccess网络,点对点链路和NBMA网络中无此选举过程,此过程发生在Two-Way之后ExStart之前。 选举过程: 选举时,依次比较hello包中的各台router priority和router ID,根据这两个值选出DR 和BDR。选举结束后,只有DR/BDR失效才会引起新的选举过程;如果DR故障,则BDR 替补上去,次高优先级Router被选为BDR。 基本原则如下: 1)有最高优先级值的路由器成为DR,有第二高优先级的路由器成为BDR; 2)优先级为0的路由器不能作为DR或BDR,只能做DRother (非DR); 3)如果一台优先级更高的路由器加到了网络中,原来的DR与BDR保持不变,只有DR 或BDR它们失效时才会改变; 4)当优先级相同时,路由器ID最高和次高的的就成为DR和BDR; 5)当没有配置loopback时,用router上up起来的端口中最高IP地址作为Router ID,否则就用loopback口的IP地址作为它的ID;如果有多个loopback则用loopback端口中最高IP地址作为ID;而且路由器ID 一旦确定就不再更改。 建议使用优先级操纵DR/BDR选举过程 3.update timer与authentication的影响 要让OSPF路由器能相互交换信息,它们必须具有相同的hello间隔和相同的dead-time 间隔。缺省情况下,后者是前者的4倍。 缺省地,路由器认为进入的路由信息总是可靠的、准确的,从而不加甄别就进行处理,这存在一定的危险。因此,为了确保进入的路由信息的可靠性和准确性,我们可以在路由器接口上配置认证密钥来作为同一区域OSPF路由器之间的口令,或对路由信息采用MD5算法附带摘要信息来保证路由信息的可靠性和准确性。建议采用后者,因为前者的密钥是明文发送的。 三、其它预备知识 1、回环接口的配置: Router(config)#int l0 Router(config-if)#ip addr *.*.*.* *.*.*.* 2、telnet:是属于应用层的远程登陆协议,是一个用于远程连接服务的标准协议,用户可以 用它建立起到远程终端的连接,连接到Telnet服务器;用户也可以用它远程连接上路由器进行路由器配置。 【实验内容】 一、在路由器上配置单域的OSPF 1.按照拓扑图1接好线,完成如下基本配置: (1)配置端口IP地址 以RTA路由器的配置为例: RTA(config)#Interface Ethernet 0 RTA(config-if)#ip address 192.168.1.1 255.255.255.0

OSPF建立邻接关系的过程

OSPF建立邻接关系的过程 OSPF 建立邻接关系的过程 2008-10-29 23:15:50| 分类:Cisco | 标签:ospf 邻居| 字号大中小订阅首先要了解这个过程中涉及到的几种分组: (1)Hello 分组:这是一台路由器告诉其他路由器自己存在的一种方式。Hello 分组会定期发送,以告诉其他路由器自己还活着。(2)DBD 分组:数据库描述,这是链路状态的一个概况,可以把它看做是链路状态的一个目录,其中包含它知道的所有路由器的 ID ,以及各条链路的序列号(用来判断链路的新旧程度)。(3)LSU 分组:链路状态更新,这是真正的链路状态信息,也就是通往某个目标的详细路径信息。 (4)LSR 分组:用来请求一个链路状态信息。 (5)LSAck 分组:对其他分组进行确认。 还有一个概念就是LSDB (链路状态数据库),它保存所有链路状态信息。 下面我们结合在R1 上执行debug ip ospf events 的输出(该输 出来自互联网),来详细说明建立的步骤: 1.R1的OSPF接口开始向外发送Hello分组,发送的时候使用组播,组播地址是224.0.0.5。这个Hello 分组包含一些重要的信

息:路由器ID、DR/BDR 、区域号、优先级等,以及R1 知道的所有邻居的列表(这时侯为空)。 *Apr 8 00:47:54.059: OSPF: Interface FastEthernet0/0 going Up *Apr 8 00:47:54.059: OSPF: Send hello to 224.0.0.5 area 0 on FastEthernet0/0 from 10.1.1.1 2.R2 收到Hello 分组后,会将R1 加入到自己的邻居表中,邻居表中除了从Hello 分组中得到的信息之外,还会从承载 Hello 分组的IP 数据包中得到源IP 地址(R1 某个接口的IP 地址),以及本路由器收到这个分组的接口。R2会查看R1 发送过来的这个Hello 分组当中的邻居列表字段,发现当中并没有自己的路由器ID,我们称这个状态为init状态,这时候,双方的通信关系还没有建立起来。 3.R2 会发送一个Hello 分组给R1 作为响应(使用单播),其 中的邻居列表中包含R1的ID,R1会将R2加到自己的邻居表中,这个时侯,双方的邻居表都已经有对方的存在了。这时候称为2-way 状态。 *Apr 8 00:47:58.919: OSPF: Rcv hello from 10.1.1.2 area 0 from FastEthernet0/0 10.1.1.2 *Apr 8 00:47:58.923: OSPF: 2 Way Communication to 10.1.1.2 on

OSPF配置过程(3)

OSPF 基本配置指导 OSPF:开放最短路径优先协议(Open Shortest Path First,OSPF)是IETF 组织开发的一个基于链路状态的内部网关协议,目前使用的是版本2(RFC2328)。具有适应范围广泛,收敛速度快,无自环、以组播方式发送报文等特点。支持区域划分、路由分级、验证等特性 设备接口 IP地址Router ID Switch A Vlan-int100 10.1.1.1/24 1.1.1.1 Switch A Vlan-int200 10.1.2.1/24 1.1.1.1 Switch B Vlan-int100 10.1.1.2/24 2.2.2.2 Switch B Vlan-int200 10.1.3.1/24 2.2.2.2 Switch C Vlan-int200 10.1.2.2/24 3.3.3.3 Switch C Vlan-int300 10.1.4.1/24 3.3.3.3 Switch C Vlan-int10 192.168.1.1/24 3.3.3.3

Switch C Vlan-int20 192.168.2.1/24 3.3.3.3 Switch D Vlan-int200 10.1.3.2/24 4.4.4.4 Switch D Vlan-int300 10.1.4.2/24 4.4.4.4 Switch D Vlan-int10 192.168.10.1/24 4.4.4.4 Switch D Vlan-int20 192.168.20.1/24 4.4.4.4 图1-3 OSPF 基本配置组网图 应用要求 如上图所示,Switch A、Switch B、Switch C 和Switch D 之间通过OSPF 协议进行数据报文的转发。其中Switch C 和Switch D 下挂直连网络,不需要发送OSPF 协议报文,为了提供网络的安全,禁止其发送协议报文。 配置过程和解释 配置 Switch A # 创建VLAN,配置接口IP 地址,配置过程略 # 配置OSPF system-view [SwitchA] ospf 1 router-id 1.1.1.1 [SwitchA-ospf-1] area 0 [SwitchA-ospf-1-area-0.0.0.0] network 10.1.1.0 0.0.0.255 [SwitchA-ospf-1-area-0.0.0.0] network 10.1.2.0 0.0.0.255 [SwitchA-ospf-1-area-0.0.0.0] quit [SwitchA-ospf-1] quit

(完整版)ospf邻接建立详细过程(包括五报文七状态)

5、ospf邻接建立过程描述: 首先总结下五报文和七状态 1.Down 路由器还末收到邻居发来的HELLO包 (1.5) 在NBMA还有个attempt(尝试状态):为NBMA网络中的一个正常过滤状 态,即我发送了HELLO等待对方的回应,如果对方不回应则一直滞留在此 状态。 2.init 收到来自邻居的hello包,但是hello中未包含自身的信息。 3.two-way 路由器在收到邻居发来的HEELO包中,看到自己的ROUTER-ID ,在这个态 开始选举DR和BDR 4.exstart 在选举DR和BDR之后,开始选主从Master/Slave 5.exchange 主从协商完成后,进行DBD的同步,链路数据库描述(DBD) 6.loading DBD同步完成后,进行LSA的同步 7.full LSA同步完成之后 根据上图做实验分析: 在R1和R2启用ospf后,会组播向外发送hello报文。

active neighbor字段中为R1的ROUTER-ID 1.1.1.1 和2.2.2.2,说明进入TWO-WAY状态,并且开始选举DR和BDR

选举完成后开始转为extart状态进入exstart state,开始选主从(ROUTER-ID大的为主,作用为了同步DBD的序列号)R1和R2分别向外发DBD报文,都认为自己为主:如图 在DBD中I M MS分别表示第一个包、M表示后面还有几个包MS表示为主 Interface MTU:在不分片的情况下,此接口最大可发出的IP报文长度为1500。 I(Initial):当发送连续多个DD报文时,如果这是第一个DD报文,则置为1,否则置为0。 M(More):当连续发送多个DD报文时,如果这是最后一个DD报文,则置为0。否则置为1,表示后面还有其他的DD报文。 MS(Master/Slave):当两台OSPF路由器交换DD报文时,首先需要确定双方的主(Master)从(Slave)关系,Router ID大的一方会成为Master。当值为1时表示发送方为Master。

OSPF单区域配置

OSPF单区域配置 【学习日标】 掌挥OSPF中Router ID 的配置方法 掌握OSPF的配置力法 掌握通过display命令查看OSPP运行状态的方法 掌握使用OSPF发布缺省路由的方法 掌握修改OSPF hello 和dead 时间的配置方法 学握OSPF 路由优先级的修改力法 【理论知识】 OSPF是由IFIF 开发的基J链路状念的自治系统内部路由协议,用来代替RIP 路由协议自身的算法限。与距离矢量协议不同,链路状态路由协议使用Dijkstra 的最短路径优先算法计算和选择路由。OSPF 协议在有组播发送能力的链路层上以组播地址发送协议包,即达到了节约资源的目的,有最大限度地减少了对其他网络设备的干扰。 【实验拓扑】 步骤1.按照实验拓扑图规划IP 地址 步骤2.配置OSPF 路由协议 步骤3.在OSPP中下发默认路由 步骤4.查看R1的路由表、OSPP 邻居状态和链路状态数据库

步骤5.在R2上修改OSPF HELO和DEAD时间的配置方法并查看OSPF的邻居状态步骤6.修改OSPF 优先级控制DR BDR 的选举 【操作步骤】 步骤1.按照实验拓扑图规划IP地址查看接口ip地址配置 [Huawei] sysname R1 [RI]int loo 0 [R1-LoopBack0] ip add 1.1.1.132 [R1-LoopBack0] int g0/0/0 [Rl-GigabitEthernet0/0/01ip add 12.1.1.124 [Huawei] sys R2 [R2] int g0/0/0 [R2-Gigabi tEthernet0/0/0] ip add 12.1.1.2 255.255.255.0 [R2-Gigabi tEthernet0/0/0] int loo 0 [R2-LoopBack0] ip add 2.2.2.2 32 [R2-LoopBack0] int g0/0/1 [R2-GigabitEthernet0/0/1] ip add 23.1.1.2 24 [Huawei] sys R3 [R3]int loo 0 [R3-LoopBack0] ip add 3.3.3.3 32 [R3-LoopBack0] int g0/0/1 [R3-GitEthernet0/0/1] ip add 23.1.1.3 24 使用命令display ip interface birf查看接口ip地址配

实验2 配置OSPF DR 选举过程

实验2 配置OSPF DR 选举过程 一、实验拓扑,如图1.1所示 图1.1 广播多路访问链路上的OSPF 二、实验配置 1.配置路由器R1 R1(config-if)#router os 1 R1(config-router)#router-id 1.1.1.1 R1(config-router)#net 1.1.1.0 0.0.0.255 a 0 R1(config-router)#net 192.168.0.0 0.0.0.255 a 0 2.配置路由器R2 R2(config)#router ospf 1 R2(config-router)#router-id 2.2.2.2 R2(config-router)#net 2.2.2.0 0.0.0.255 a 0 R2(config-router)#net 192.168.0.0 0.0.0.255 a 0 3.配置路由器R3 R3(config-if)#router os 1 R3(config-router)#router-id 3.3.3.3 R3(config-router)#net 3.3.3.0 0.0.0.255 a 0 R3(config-router)#net 192.168.0.0 0.0.0.255 a 0 三、实验调试 1.在R1上查看OSPF邻居信息 R1(config-router)#do sh ip os ne Neighbor ID Pri State Dead Time Address Interface 2.2.2.2 1 FULL/DR 00:00:38 192.168.0.2 FastEthernet0/0 3.3.3.3 1 FULL/DROTHER 00:00:36 192.168.0.3 FastEthernet0/0

深入剖析OSPF建立邻居的过程

深入剖析OSPF建立邻居的过程 付斗平/湖南水利水电职业技术学院 [摘要]OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。 [关键词]OSPF;DR/BDR;HELLO;DBD 与RIP相比,OSPF是链路状态路由协议,链路状态就是比如我的链路是UP/DOWN的嘛!我的链路是什么类型的吧!串口,PPP的吧!HDLC,还有以太,令牌环等等,且我的链路对于我们Ip来说,对于路由器接口来说,我路由器连一根链路,这个链路是不是就是我的接口,那这个接口是不是要配IP地址,这个时候IP地址多少,掩码多少嘛!这个组合起来就是一条路由!我这个接口是不是要算从我的根到目的网段最短路径吧!我是不是要算一个metric值,沿途的metric值是不是要包含每一个接口的metric值。 OSPF的管理距离是110,介于EIGRP和RIP之间,此管理距离代表的是一个路由协议的可信度,管理距离越大,可信度就越低! OSPF主要应用于企业网,因为它稳定,高效,收敛相对来说也比较快!作为此协议,它主要有三张表,分别是邻居表,拓扑数据库表和路由表,也就是说如果要使用OSPF来完善路由表,必须要先建立邻居,邻居建立完成之后,相互传递LSA信息,此LSA信息也就是路由信息,最后选出最优的路由置入路由表,如果没有邻居表,那后续的工作也都无法搞定了,所以现在我们重点研究的就是它的邻居表!针对于以下图1我们一起看看OSPF是如何建立邻居的! 图一 两台路由器R1/R2,网段就是12.1.1.0/24网段,R1就是12.1.1.1,R2就是12.1.1.2,现在两台路由器启动OSPF,重点关注邻居的建立过程!此过程就涉及到了以下7种状态,分别是down/init/two-way/exstart/exchange/loading/full当然状态完毕之后,也就是说状态==full状态的时候,两者邻居就建立起来了!那我们看看每一个状态具体发生了些什么事情! 1、DOWN:OSPF刚刚起来,还没开始发HELLO包,类似一种闲置状态!做好准备,准备发HELLO包 之后就进入下一状态 2、INIT:当R1或者R2开始发HELLO包的时候,就进入了此状态,此状态所做的重要工作就是宣告我的 router-id是多少,并且我没有看到任何人,在OSPF中,每台OSPF路由器都是通过router-id来标示的! 且这些字段都是在HELLO报文中!假设R1的router-id==1.1.1.1,R2的router-id==2.2.2.2 之后就进入下一状态 3、TWO-WAY:当我R1一旦发HELLO包给R2的时候,R2收到此HELLO包,然后它也回应了,宣称自己的 router-id是2.2.2.2,且已经看到1.1.1.1,然后A收到之后,看到了自己的router-id,此时我A就进入了two-way状态,同理,B也是一样。 在这里注意,现在我们的实验室俩路由器通过的是serial口相连,如果是通过以太口相连的话,就会在此状态选取DR/BDR!DR就是指定路由器,BDR就是备份指定路由器,它们的选取过程如下 A:首先是比较高的优先级,默认优先级==1 B:如果优先级一样,就比较大的router-id 之后就进入下一状态 4、Exstart:开始交互OSPF中的第二个报文DBD(数据库描述包),是第一个DBD的交互,主要是

OSPF配置实验

OSPF 讲义 一.实验显示邻居和邻接过程的建立 此实验(lab2)只是启用r1 ,r2 来验证邻接和邻居关系的建立,首先给r1和r2配置 r1>en r1#conf t r1(config)#interface loopback 0//创建环回口 r1(config-if)#ip address 1.1.1.1 255.255.255.0 r1(config-if)#exit r1(config)#int s0/0 r1(config-if)#ip add 12.1.1.1 255.255.255.252//给路由器R1 的S0接口配IP 地址 r1(config-if)#exit r1(config)#router ospf 100 r1(config-router)#router-id 1.1.1.1(1.1.1.1随便写) r1(config-router)#network 1.1.1.0 0.0.0.255 area 0 // 宣告loopback 地址 r1(config-router)#net 12.1.1.0 0.0.0.3 area 0//宣告互联地址 0.0.0.3 反掩码 r1(config-router)#int s 0/0 r1(config-if)#shut 出现: Interface Serial0/0, changed state to administratively down Line protocol on Interface Serial0/0, changed state to down 把s0/0接口先DOWN 了,关闭的目的是让R1和R2之间不能够进行通信,他们之间不能学习。因为我们是要观察OSPF 建立邻接关系的过程,然后再把他们启用起来,让大家看启用过程 下面是对R2路由器的配置 r2>en r2#conf t r2(config)#interface loopback 0//创建环回口 r2(config-if)#ip address 2.2.2.2 255.255.255.0 r2(config-if)#exit r2(config)#int s0/0 r2(config)#no shut r2(config-if)#ip add 12.1.1.2 255.255.255.252//给路由器R1 的S0接口配IP 地址 Loopback0 Loopback 1.1.1.1 1 子网掩码:255.255.255.252

OSPF邻居形成过程

一、DOWN : 双方没有进行任何交互活动。 二、INIT : 收到对方的hello包,但是还没收到含有自己RID的hello包,即对方没有收到自己的hello 包。 这个时候发送hello(,因为还没有选出DR。 怎么知道对端有没有收到我的报文呢,通过Neighbors Seen字段看。 Hello包的参数: 1、自己RID 2、Area ID 3、hello-interval 4、hello-deadinterval 5、网络掩码 6、优先级 7、DR/BDR 8、邻居RID 9、认证信息 只有hello包中的2、3、4、5、9字段一致,才能形成邻居。如有一项不相同的丢弃。hello 包ttl 值是1,在E1中每10 秒发送一次。因为只是相邻的两台路由器建立关系。Hello 包无需穿越路由器到达非直连的路由器。 三、TWO-WAY: 两个OSPF路由器都从对端发来的hello包中发现自己的RID。建立邻邻居关系。 广播网络这个阶段选举DR/BDR。 DR/BDR选举步骤: step1:根据ospf路由器的接口的优先级选举DR/BDR(每个接口默认的优先级都是1)其中优先级最大的成为DR,次大的成为BDR,其它的都是DR-Other。如果有路由器的pri为0,表示放弃DR/BDR的选举. priority:1--255 (串口默认没有优先级,因为它默认是POINT_TO_POINT,不需要选举DR/BDR的,可通过sh ip ospf int e0查看) step2:如果接口的优先级相同,将使用router-id来决定DR/BDR的选举:其中router-id最大的成为DR,次大的成为BDR,其他的都是DR-other。

OSPF协议配置实例

OSPF 协议配置 【实验目的】 1.了解和掌握ospf 的原理; 2.熟悉ospf 的配置步骤; 3.懂得如何配置OSPF router ID ,了解DR/BDR 选举过程; 4.掌握hello-interval 的使用; 5.学会使用OSPF 的authentication ; 【实验拓扑】 【实验器材】 如上图,需用到路由器三台,hub/switch 一个,串行线、网线若干,主机三台。 说明:拓扑中网云可用hub 或普通switch 替代,建立multiaccess 网络,以太口连接。 【实验原理】 一、OSPF 192.168.1.0/RTA

1. OSPF基本原理以及邻居关系建立过程 OSPF是一种链路状态型路由选择协议。它依靠5种(Hello, DBD, LSR, LSU and LSAck)不同种类的数据包来识别、建立和维护邻居关系。当路由器接收到来自邻居的链路状态信息后,会建立一个链路状态数据库;然后根据该链路状态数据库,采用SPF算法确定到各目的地的最佳路径;最后将最佳路径放到它的路由表中,生成路由表。 OSPF会进行周期性的更新以维护网络拓扑状态,在LSA的生存期到期时进行周期性的更新。除了周期性更新之外,还有触发性更新。即当网络结构发生变化(例如增减路由器、链路状态发生变化等)时,会产生触发性更新,把变化的那一部分通告给整个网络。 2.Designated Router (DR) / Backup Designated Router(BDR)选举过程 存在于multiaccess网络,点对点链路和NBMA网络中无此选举过程,此过程发生在Two-Way之后ExStart之前。 选举过程: 选举时,依次比较hello包中的各台router priority和router ID,根据这两个值选出DR和BDR。选举结束后,只有DR/BDR失效才会引起新的选举过程;如果DR故障,则BDR替补上去,次高优先级Router被选为BDR。 基本原则如下: 1)有最高优先级值的路由器成为DR,有第二高优先级的路由器成为BDR; 2)优先级为0的路由器不能作为DR或BDR,只能做DRother (非DR); 3)如果一台优先级更高的路由器加到了网络中,原来的DR与BDR保持不变,只有DR或BDR它们失效时才会改变; 4)当优先级相同时,路由器ID最高和次高的的就成为DR和BDR; 5)当没有配置loopback时,用router上up起来的端口中最高IP地址作为Router ID,否则就用loopback口的IP地址作为它的ID;如果有多个loopback则用loopback端口中最高IP地址作为ID;而且路由器ID 一旦确定就不再更改。 建议使用优先级操纵DR/BDR选举过程 3.update timer与authentication的影响 要让OSPF路由器能相互交换信息,它们必须具有相同的hello间隔和相同的dead-time

OSPF点到点网络完全邻接关系建立过程的验证

OSPF点到点网络完全邻接关系建立过程的验证 【摘要】本文用思科模拟器GNS3搭建一个简单的点到点网络,在这个网络中运行OSPF路由协议,设计一些实验步骤并通过观察和分析debug调试信息,验证OSPF邻居关系建立的过程。 【关键词】OSPF;邻接;实验;验证 1.引言 OSPF路由协议是一种链路状态路由协议。同时由于它是一种公有的协议,因此得到了广大网络设备厂商的支持。运行OSPF协议的路由器必须先建立完全邻接关系,然后才能传递路由信息。点到点网络是OSPF支持的多种网络类型其中的一种,本文将在GNS3模拟器上验证在点到点网络中运行OSPF协议时,各路由器建立完全邻接关系的过程。 2. OSPF路由协议 OSPF协议是一种内部网关协议,它在同一个自治系统中的各个路由器之间交换路由信息。运行OSPF的路由器会将LSA泛洪到同一区域内的所有OSPF 路由器,而不仅仅是直连的路由器。OSPF路由器通过收集其他路由器发过来的LSA创建OSPF的LSDB(链路状态数据库)。然后使用SPF算法算出到每个目的网络的最短路径,并将其写入路由表。由此可见,OSPF路由器的路由条目并不是其他路由传递过来的,而是路由器本身通过LSDB和SPF算法计算得来的。OSPF定义了点到点网络(point-to-point)、广播型网络(broadcast)等多种类型的网络。本文只验证点到点网络的环境。 3. OSPF完全邻接关系建立过程 OSPF邻接关系有7个状态。 假设路由器A和B直连,A的路由器ID比B的大。并且都运行OSPF。当路由器接口开启,并讲相关接口宣告进OSPF进程之后,就开始建立邻居。以下为OSPF路由器完全邻接关系建立的过程: (1)初始化时ospf协议处于down的状态。 (2)当A路由器通过宣告进OSPF协议进程的接口发送第一个组播hello 报文后进入init状态。B也可以通过同样的方式进入init状态。 (3)当路由器B接收到A发过来的第一个hello报文后,会根据这个hello 报文里的Router ID字段提取出来,作为自己的邻居的RID(Router ID)。然后将A的RID写入hello报文的邻居字段,将自己的RID写入Router ID字段,发送

OSPF邻居关系建立过程详解

OSPF邻居关系建立过程详解 在初始情况下,A、B在某个接口激活了OSPF后,都会开始在这个接口上去发组播的HELLO包,目的是发现OSPF邻居。HELLO包里,有个active neighbor字段,用来存储路由器在某个OSPF接口上发现的邻居,当然,初始情况下,这个HELLO包里是不包含任何活跃的邻居的(也就没有active neighbor字段),因为他谁也没发现。 当OSPF路由器(B)在某个OSPF接口上收到邻居发来的HELLO包(里面没有装active neighbor),它会记录下A(在自己的OSPF接口数据结构中)并且将A的状态视为init,然后将A的RouterID存储在自己将要发送的HELLO包的active neighbor字段里发送出去,这样A就会收到这个hello包,并且在这个hello包当中找到自己的RouterID,那么A会认为,与B已经完成了双边关系的建立,因此A会将B的邻居状态置为two-way。与此同时,A也会继续发送HELLO包,并且将B的routerID放置于HELLO包中,而B收到这个hello包并看见了自己的RouterID后,B也会将A的状态置为two-way,至此OSPF的第一个稳态就达到了。

接下去A、B会进入ex-start状态并开始进行master、slave的协商,协商M/S的目的是为了决定在后续的LSA交互中,谁来决定DD的序列号,而RouterID大的那个OSPF路由器的接口将会成为master,由它来决定DD seq,对端成为slave。这里要注意master不是DR,要注意与DR的概念进行区分。这个协商过程,是由交互DBD包实现的,注意这里使用的是空的DBD包,也就是不包含任何LSA头部的DBD包,这个包当中,有三个位非常关键:I、M、MS。用于ex-start 阶段协商master、slave的DBD包,I位(或叫做init位)都是置1的,另外MS位如果置1,表示DBD报文始发路由器认为自己的master,当然起初大家都这么认为,在一系列DBD交换后,就会得到选举结果,被选举为slave的OSPF接口,会将发送的DBD包MS位置为0;另外M位表示more,如果一个OSPF接口发送的DBD包M位置1,在表示这不是最后一个DBD,后续还有DBD包待发送。 当OSPF接口收到一个DBD包且其中I位置0的时候,它就知道与该邻居的ex-start阶段已经过去了,于是将邻居的状态置为ex-change,并存储对端发来的DBD包所包含的LSA 头部,当然,他自己也发送关于自己OSPF DB的摘要给邻居。如此一来,双方都能通过DBD的交互,了解到对方OSPF DB中的摘要情况。在这个过程中,可能交互数个DBD报文,并要注意,这些报文的I位都置0,且M位一般也置1,除非这是某个OSPF接口发送的最后一个DBD包。

OSPF的DR和BDR选举过程

OSPF的DR和BDR选举过程 在OSPF中,我们知道DR和BDR的选举是根椐ID和优先级来进行选举,如果优先级相同,则根据ID的大小来选择,下面我给大家分析下DR和BDR是如何来进行选举的。 1.在与一个或多个邻居之间的双向通信建立起来之后,(路由器)对每个邻居(发送来)的Hello包中的优先级、DR和BDR域进行检查。列出所有能够参加选举的路由器(也就是说,路由器的优先级高于0并且此路由器的邻居状态至少为“双向”);所有路由器都宣称自己为DR(将它们自己的接口地址置于Hello包的DR域中);而且所有路由器都宣称自己为BDR(将它们自己的接口地址置于Hello包的BDR域中)。进行计算的路由器也要将自身包括在此列表内,除非它被禁止参加选举。 2.从(以上)备选路由器列表中,创造一个子集,此子集包含所有未宣称为DR的路由器(宣称自己为DR的路由器无法被选举为BDR). 3.如果此子集中的一或多个邻居将它(们)自身的接口地址置于BDR域中,这些邻居中拥有最高优先级的路由器将被宣告为BDR。如果出现平局(路由器优先级相等),拥有最高Router ID的邻居将被选举出来。 4.如果此子集中没有任何路由器被宣告为BDR,拥有最高优先级的邻居将被宣告为BDR。如果出现平局,拥有最高Router ID的邻居将被选举出来。 5.如果一或多个备选路由器将它(们)自身的接口地址置于DR域中,拥有最高优先级的邻居将被宣告为DR。如果出现平局,拥有最高Router ID的邻居将被选举出来。 6.如果没有任何路由器宣告自己为DR,则新选举出来的BDR将成为DR。 7.如果进行计算的路由器是新选举出来的DR或者BDR,或者如果它不再是DR或者BDR,重复步骤2到6。 如图所示

OSPF邻居关系建立过程详解

O S P F邻居关系建立过 程详解 标准化工作室编码[XX968T-XX89628-XJ668-XT689N]

O S P F邻居关系建立过程详解在初始情况下,A、B在某个接口激活了OSPF后,都会开始在这个接口上去发组播的HELLO包,目的是发现OSPF邻居。HELLO包里,有个activeneighbor字段,用来存储路由器在某个OSPF接口上发现的邻居,当然,初始情况下,这个HELLO包里是不包含任何活跃的邻居的(也就没有activeneighbor字段),因为他谁也没发现。 当OSPF路由器(B)在某个OSPF接口上收到邻居发来的HELLO包(里面没有装activeneighbor),它会记录下A(在自己的OSPF接口数据结构中)并且将A的状态视为init,然后将A的RouterID存储在自己将要发送的HELLO包的activeneighbor字段里发送出去,这样A就会收到这个hello包,并且在这个hello包当中找到自己的RouterID,那么A会认为,与B已经完成了双边关系的建立,因此A会将B的邻居状态置为two-way。与此同时,A也会继续发送HELLO包,并且将B的routerID放置于HELLO包中,而B收到这个hello包并看见了自己的RouterID后,B也会将A 的状态置为two-way,至此OSPF的第一个稳态就达到了。 接下去A、B会进入ex-start状态并开始进行master、slave的协商,协商M/S的目的是为了决定在后续的LSA交互中,谁来决定DD的序列号,而RouterID大的那个OSPF路由器的接口将会成为master,由它来决定DDseq,对端成为slave。这里要注意master不是DR,要注意与DR的概念进行区分。这个协商过程,是由交互DBD包实现的,注意这里使用的是空的DBD包,也就是不包含任何LSA头部的DBD包,这个包当中,有三个位非常关键:I、M、MS。用于ex-start阶段协商master、slave的DBD包,I位(或叫做init位)都是置1的,另外MS位如果置1,表示DBD报文始发路由器认为自己的master,当然起初大家都这么认为,在一系列DBD交换后,就会得到选举结果,被选举为slave的OSPF接口,会将发送的DBD包MS位置为0;另外M位表示more,如果一个OSPF接口发送的DBD包M位置1,在表示这不是最后一个DBD,后续还有DBD包待发送。 当OSPF接口收到一个DBD包且其中I位置0的时候,它就知道与该邻居的ex-start阶段已经过去了,于是将邻居的状态置为ex-change,并存储对端发来的DBD包所包含的LSA头部,当然,他自己也发送关于自己OSPFDB的摘要给邻居。如此一来,双方都能通过DBD的交互,了解到对方OSPFDB中的摘要情况。在这个过程中,可能交互数个DBD报文,并要注意,这些报文的I位都置0,且M位一般也置1,除非这是某个OSPF接口发送的最后一个DBD包。 当RouterA收到一个M位置0的DBD包的时候,它就知道,这是邻居发来的最后一个DBD包了,如果它搜集完这个邻居(假设是B)发来的DBD并且发现,这些DBD里有它感兴趣的LSA,它期望更详细的LSA信息时,它将B置为Loading 状态,并且开始发送LSR报文去请求特定LSA的详细信息。B收到这个LSR后,会以LSU进行回应,其中就包含了对方请求的LSA详细信息,因此,只有在LSU报文中,才能看到LSA的完整信息。收到LSU后,A将LSU中所包含的LSA放进自己的LSDB,并且给B发一个Lsack进行确认。当OSPF接口上所有的待请求的LSA全部收到更新后,它会将邻居置为FULL。至此,OSPF邻接关系的建立达到全毗邻。

相关主题