OSPF邻居的八种状态

合集下载

OSPF邻居关系建立过程详解

OSPF邻居关系建立过程详解
3.init
当OSPF接口收到链路上某个邻居发来的第一个HELLO包的时候,它会在接口上将该邻居置为init状态,注意这个hello包中可能并未包含任何的邻居信息。但是这至少证明,我这个OSPF接口在这个链路上,至少有个活的邻居。下面是一个没有发现任何active neighbor的hello包:
4.Two-way
指定路由器DR和一个备份指定路由器BDR。
3.非广播多址网络(NBMA)
NBMA网络,像X.25、帧中继和ATM等,可以连接两台以上的路由器,但是他们没有广播数
据包的能力。在NBMA网络上的OSPF路由器需要选举DR和BDR,并且所有的OSPF报文都是单播的。
4.点到多点网络(Point-to-Multipoint)
下面是一个装载了LSA头部的DBD消息:
7.loading 状态
OSPF router使用LSR去请求LSA的详细信息,对方使用LSU发来更新,因此只有LSU里才有LSA的完整信息。在收到LSU后,一方面本地使用LSAack进行确认,另一方面将LSU中包含的LSA装载进自己的LSDB。
以下是一个LSR消息,非常的简单:
I位 或称为初始位(initial bit)用于ex-start协商主从关系的初始化协商的DBD包,该位置1
M位 或称为后继位(More bit) 如果这不是OSPFrouter发送的最后一个DBD,该位置1
MS位 或称为主/从位(Master/slave bit) 如果始发路由器是Master,则该位置1
在这里我们有个地方需要留意,我们通常说,OSPF路由器A与B进入了xx状态,其实这句话并不严谨,原因之一,是因为OSPF是接口敏感型协议,许多的操作都是以OSPF接口作为立足点去考虑的,譬如邻居关系的建立,再如DR和BDR,我们不能说一台路由器是DR,准确的说,应该是某路由器的某个接口是DR;再者,说两台路由器之间是xx状态,这个也不严谨,所谓的邻居状态,必须是以某台路由器为观察点,在其某个接口上观察到的某个邻居的状态,因此可能出现的一个情况是,在A上,看到的B的状态为Loading,但是在B上,A的状态已经是FULL了。

OSPF状态机

OSPF状态机

OSPF状态机OSPF共有8种状态机,分别是:Down、Attempt、Init、2-way、Exstart、Exchange、Loading、Full。

Down:邻居会话的初始阶段,表明没有在邻居失效时间间隔内收到来⾃邻居路由器的Hello数据包。

Attempt:该状态仅发⽣在NBMA⽹络中,表明对端在邻居失效时间间隔(dead interval)超时前仍然没有回复Hello报⽂。

此时路由器依然每发送轮询Hello报⽂的时间间隔(poll interval)向对端发送Hello报⽂。

Init:收到Hello报⽂后状态为Init。

2-way:收到的Hello报⽂中包含有⾃⼰的Router ID,则状态为2-way;如果不需要形成邻接关系则邻居状态机就停留在此状态,否则进⼊Exstart状态。

Exstart:开始协商主从关系,并确定DD的序列号,此时状态为Exstart。

Exchange:主从关系协商完毕后开始交换DD报⽂,此时状态为Exchange。

Loading:DD报⽂交换完成即Exchange done,此时状态为Loading。

Full:LSR重传列表为空,此时状态为Full。

接下来,我们来聊聊⼏个主要的状态:1、Init每台路由器只与启⽤了OSPF,接⼝宣告到OSPF进程,就会开始发OSPF报⽂。

当收到别⼈发过来的Hello报⽂,⼀开始,R5收到R4发过来的Hello包,查看,只看到R4的router id 4.4.4.4 ,没有看到⾃⼰,所以状态置为init状态,并且R5已发现⾃⼰有个邻居是R4。

R4收到R5发过来的Hello包,查看,只看到R5的router id 5.5.5.5 ,没有看到⾃⼰,所以状态置为init状态,并且R4已发现⾃⼰有个邻居是R5。

R5再次收到R4发过来的Hello包,查看,看到R4的router id 4.4.4.4,还看到⾃⼰R5的router id 5.5.5.5 ,认为双向通信没问题,所以状态置为2-way。

OSPF邻居状态建立

OSPF邻居状态建立

Init:收到hello参数协商成功,但是没有看到自己的router-id 。

同时发送携带对端router-id 的Hello2-way:参数协商成功,看到了自己的router-id 。

同时发送携带对端router-id的Hello 双向到达2-WAY后会周期性发送HELLO来维护邻居关系。

Exstart:发送空DD报文,前两个DD报文用于进行Master/salve ,此时DD报文不含任何LSA 信息为什么要建议主从关系?目的是为了保证后续exchange交互DD报文的可靠性和可控性。

为什么DD报文的交互需要可靠性和可控性?可靠性:OSPF协议是直接封装在IP报文之上的,但是IP报文本身是不保证报文可靠传递的网络层协议,所以OSPF协议必须设计自身的可靠性机制,必须实现自身的可靠性。

可控性:DD报文是用于交换LSDB的摘要信息,可能需要发送多个DD报文才能交换完毕,需要表明何时开始发送,何时表明发送完毕,需要有个控制能力。

可靠性:通过DD的seq完成的可控性:通过DD报文的I 、M 、MS来完成。

Exstart路由器会随机生成seq ,并且I \M \MS都置1I = 1 代表第一次发DD报文0 代表不是第一次发M= 1 代表还没发完,后面还要发0代表已经发完MS= 1 代表我为主0 代表我为从何为mster/何为salve :router-id大的为master ,小的为salve这也是router-ID不能冲突的原因,一样后会导致后续exstrat主从选举无法进行。

后续邻居也就建立不起来。

M/S选举完毕后就会进入Exchange状态Exchang:此时发送DD报文就会携带LSDB中LSA的摘要信息(LSA的头部信息)LSA的头部信息是用于唯一的标识一条LSA以及用于判断LSA的新旧。

所谓LSDB同步就是指邻居之间交换彼此没有的LSA以及用新的LSA替换掉旧的LSA,从而使邻居LSDB保持一致。

ospf实验知识点总结

ospf实验知识点总结

ospf实验知识点总结1. OSPF基本概念OSPF是一种开放式协议,它使用链路状态路由算法确定网络中的路径。

OSPF使用的是Dijkstra算法,它通过以链路为单位计算最短路径,然后构建路由表。

OSPF协议支持VLSM(Variable Length Subnet Mask)和CIDR(Classless Inter-Domain Routing)等技术,可以根据网络的实际需要进行划分,提高网络的利用率。

2. OSPF的邻居关系在OSPF中,路由器之间通过建立邻居关系来交换LSA信息。

OSPF邻居状态主要包括:Down、Init、2-Way、Exstart、Exchange和Full。

在邻居关系建立时,需要满足一定的条件,如OSPF邻居的IP地址必须在同一个网络中,两台路由器的Hello和Dead Interval必须一致等。

3. OSPF的路由计算过程OSPF协议使用Dijkstra算法计算最短路径,首先在链路状态数据库中收集链路状态信息,然后使用Dijkstra算法计算出最短路径。

在路由计算过程中,需要对收集到的链路状态信息进行处理,包括链路状态更新、链路状态同步等步骤。

4. OSPF的状态OSPF邻居状态主要包括:Down、Init、2-Way、Exstart、Exchange和Full。

在邻居状态的转换过程中,需要满足一定的条件,如Hello和Dead Interval的一致性、路由器的ID号等。

5. OSPF的优化在实际网络中,为了提高网络性能和减少路由器的负担,可以采用一些优化技术。

例如,可以利用区域的划分减少Link State Advertisement的传播范围,减轻网络的负担;可以使用Stub区域和Totally Stubby Area等技术减少LSA数量;可以使用路由汇总技术减少路由表的大小等。

6. OSPF的故障排除在部署和维护OSPF协议时,需要及时排除网络故障。

故障排除的步骤主要包括:检查OSPF邻居状态;检查网络的连通性;检查OSPF路由表;检查OSPF链路状态数据库;检查路由器的配置信息等。

Cisco IOS OSPF 邻居关系不能正常建立的原因和解决方法

Cisco IOS OSPF 邻居关系不能正常建立的原因和解决方法

OSPF 邻居关系不能正常的原因和解决方法1、接口上没有激活ospf就是在network语句的时候没有匹配清楚,比如配置了错误的反掩码不对,在show ip ospf interface 的时候不会显示你希望激活的接口使用show ip ospf interface来验证这时候的邻居表是空的R2#show ip ospf neighborR2#2、物理层或者是数据链路层协议down.使用show ip int brief 或者是show int type nomber会导致ospf packet 封装失败。

3、建立邻居的接口被passive掉R2#show ip ospf interface Ethernet 0Ethernet0 is up, line protocol is upInternet Address 131.108.1.2/24, Area 0Process ID 1, Router ID 131.108.1.2, Network Type BROADCAST, Cost: 10Transmit Delay is 1 sec, State DR, Priority 1Designated Router (ID) 131.108.1.2, Interface address 131.108.1.2No backup designated router on this networkTimer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5No Hellos (Passive interface)Neighbor Count is 0, Adjacent neighbor count is 0Suppress hello for 0 neighbor(s)4、OSPF的hello组播地址被ACL BlockR1#interface Ethernet0ip address 131.108.1.1 255.255.255.0ip access-group 100 in!access-list 100 permit tcp any anyaccess-list 100 permit udp any anyaccess-list 101 permit ip 131.108.1.0 0.0.0.255 host 224.0.0.5R2#interface Ethernet0ip address 131.108.1.2 255.255.255.0ip access-group 100 in!access-list 100 permit tcp any anyaccess-list 100 permit udp any anyaccess-list 101 permit ip 131.108.1.0 0.0.0.255 host 224.0.0.5R2#debug ip packet 101 detailIP packet debugging is on (detailed) for access list 101IP: s=131.108.1.2 (Ethernet0), d=224.0.0.5, len 68, access denied, proto=89这时候的邻居关系是INITR2#show ip ospf neighborNeighbor ID Pri State Dead Time Address Interface131.108.2.1 1 INIT/- 00:00:33 131.108.1.1 Ethernet0R1#show access-list 101Extended IP access list 101permit ip 131.108.1.0 0.0.0.3 host 224.0.0.5 (8 matches)R1#debug ip packet 101 detailIP packet debugging is on (detailed) for access list 101R1#IP: s=131.108.1.1 (local), d=224.0.0.5 (Ethernet0), len 60, sending broad/multicast,proto=89 IP: s=131.108.1.2 (Ethernet0), d=224.0.0.5, len 82, access denied, proto=89IP: s=131.108.1.1 (local), d=224.0.0.5 (Ethernet0), len 60, sending broad/multicast,proto=89 IP: s=131.108.1.2 (Ethernet0), d=224.0.0.5, len 82,access denied, proto=895、在broadcast链路上的子网掩码不匹配6、Hello/dead 间隔不匹配7、认证方式或者是认证密码不匹配使用debug ip ospf adj 来查看,可以自己使用不同的情况来验证8、两台路由器处于不同的AREAR1#debug ip ospf adjOSPF adjacency events debugging is onR1#OSPF: Rcv pkt from 131.108.1.2, Ethernet0, area 0.0.0.0mismatch area 0.0.0.1 in the headerR2#show log%OSPF-4-ERRRCV: Received invalid packet: mismatch area ID, from backbone area must bevirtual-link but not found from 131.108.1.1, Ethernet09、Stub/transit/NSSA 区域类型不匹配,这个是常常不小心会被忘记的。

OSPF建立邻居关系的7种状态

OSPF建立邻居关系的7种状态
5 Exchange(交换)状态——在交换状态下,邻居路由器使用类型2的DBD分组来互相发送它们的链路状态信息,也就是说路由器相互描述它们的链路状态数据库。路由器将它们所学到的信息与其现存的链路状态数据库进行比较,并且单独确认每个DBD分组,如果任何一台路由器接收到不在其数据库中的链路信息,该路由器就向其邻居请求有关该链路的完整更新信息。完整的路由信息在“Loading(加载)”状态下被交换。
7 Full Adjacency(全毗邻)状态——加载状态结束之后,路由器就进入全毗邻状态。每台路由器都保存着一张毗邻路由器列表,它就是称为毗邻数据库。
1 Down状态——在Down状态下,OSPF进程还没有与任何邻居交换信息OSPF在等待进入Init状态。
2 Init状态——OSPF路由器以固定的时间间隔(缺省10s)发送类型1(Hello)的分组,以便与邻居路由器建立特殊的关系。
3 Two-Way(双向)状态——每台OSPF路由器都使用分组试图与同一个IP网络中的所有邻居路由器建立双向状态或双向通信。Hello分组中含有发送者已知的OSPF邻居列表。当路由器看到它自己出现在一个邻居路由器的Hello分组中时,它就进入了双向状态。
4 ExStart(准启动)状态——当路由器与它的邻居进入到ExStart状态后,他们之间的会话就表征为一种毗邻关系,但这时路由器还没有变成全毗邻状态。ExStart状态是使用类型2的数据库描述(DBD,DataBase Description)分组建立的,两个路由器用Hello分组协商在它们之间的关系谁是“主”,谁是“从”。(具有最高OSPF路由器ID的路由器将胜出并变成“主”)
6 Loading(加载)状态——在相互描述过各自的链路状态数据库之后,路由器可以用类型3的链路状态请求(LSR)分组来请求更完整的信息。当路由器接收到一个LSR的时候,它会用一个类型4的链路状态更新(LSU)分组进行回应。这些类型4的LSU分组含有确切的LSA,而LSA是链路状态型路由选择协议的核心,类型4的LSU分组由类型5的分组所确认。

OSPF的邻接关系建立需要经历7种状态

OSPF的邻接关系建立需要经历7种状态

OSPF的邻接关系建⽴需要经历7种状态OSPF的邻接关系建⽴需要经历7种状态DOWN—>INIT—>TWO WAY—>EXSTART—>EXCHANGE—>LODING—>FULL下⾯具体描述这7个状态的发⽣过程:DOWN——运⾏OSPF协议的接⼝还没有收到hello包时的状态,此时不会发⽣任何建⽴邻居关系的动作INIT——当双⽅收到hello包时将进⼊INIT状态,前提是hello包中必须匹配4个条件,分别为:①hello和dead的时间间隔要相同②area ID要相同③认证⽅式认证⼝令要相同④末节区域标⽰要相同TOW WAY——当收到了邻居发送过来的hello包并且在hello包中看到⼰⽅的RouterID时,将进⼊TOWTOW WAY——当收到了邻居发送过来的hello包并且在hello包中看到⼰⽅的RouterID时,将进⼊TOWEXSTART状态之间进⾏EXSTART——此状态将在邻居之间选择MASTER和SLAVE⾓⾊,⽤于交换DBD信息,拥有⾼RouterID的EXSTART——此状态将在邻居之间选择MASTER和SLAVE⾓⾊,⽤于交换DBD信息,拥有⾼RouterID的MASTER的⾓⾊,因为其RouterID为2.2.2.2,⼤于R1的1.1.1.1。

另,如果邻居之间的MTU值不匹配,将卡在EXSTART状态,这也是唯⼀⼀个卡在EXSTART状态的原因Exchange--当经过Exstart状态选出master和slave⾓⾊后将进⼊Exchange状态,⾸先由master和slave同步DBD信息,最终将完成双⽅DBD信息的同步。

Loading--当DBD信息同步完成后双⽅开始加载LSDB,此状态下将发送LSR和LSU。

Full--此时LSDB构建完成,双⽅数据库保持⼀致,⾄此可以说双⽅已经进⼊了逻辑上的邻接关系,同区域的OSPF路由器维护同⼀张LSDB。

OSPF卡在各种状态的原因

OSPF卡在各种状态的原因

OSPF卡在各种状态的原因1.OSPF 邻居停滞于Attempt状态只有在NBMA中才会出现ATTEMPT状态,ATTEMPT状态是路由器在NBMA模式中必须经过的一个普通状态。

如果路由器如果一直停滞于ATTEMPT状态,则表明路由器发送了Hello分组给一个邻居,但是没有收到回应。

这个问题仅仅在定义了neighbor语句的NBMA网络中才会出现。

①Neighbor指向了错误的邻居②在NBMA中单播连接中断。

例如:ACL 阻止了单播2.OSPF邻居停滞于INIT状态路由器收到第一个分组将使路由器进入正常的INIT状态。

当一个路由器从邻居收到一个OSPF Hello 分组的时候,它在Hello分组中包含进邻居的路由器ID并发送这个Hello分组。

如果它不包含邻居的路由器ID,那么邻居将停滞于INIT状态。

① 验证只在某一边启用。

② ACL在某一边阻止了Hello分组。

3.OSPF邻居停滞于2-WAY状态正常情况下,在MA网络等广播介质中,Drother之间的邻居状态是2-WAY状态,Drother 与DR和BDR之间形成FULL状态。

停滞于 2-WAY 状态的原因:路由器上都配置了优先级0,DRother与DR/BDR关系都为full ,DRother与DRother之间全部都是2-way4.OSPF邻居停滞于EXSTART / EXCHANGE状态在EXSTART / EXCHANGE 状态阶段:路由器选择一个主设备、一个从设备、一个初始序列号。

(EXSTART状态)整个数据库交换。

(EXCHANGE状态)停滞于EXSTART / EXCHANGE状态的原因:①不匹配的接口MTU 。

(邻居关系还没有建立好时)重传25次后DOWN掉后,等待一分钟,然后再次建立邻居关系结论:1.如果邻居建不起来(2-way 状态之前)网络类型为NBMA,邻居表显示一边是ATTEMPT状态,一边是INIT状态;网络类型为point-to-multipoint NBMA,邻居表显示一边是DOWN状态;一边是INIT状态。

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

OSPF邻居的八种状态
OSPF在邻居路由器之间创建邻接体关系来交换路由信息,其邻居的建立过程一共可能出现八种状态,每种状态代表的具体含义如下:
Down 没有从邻居处收到hello数据包。

Attempt 用于NBMA网络的连接,并表明没有新的信息从这个邻居处收到。

Init 从另外的路由器收到hello报文,但是在此hello报文中没有看到自己的router ID。

2way从邻居处接收到的hello报文的邻居字段中包含有自己的rout er ID。

这个状态下选举DR和BDR。

ExStart 建立主/从关系并决定初始的DD序号以便准备交换DD报文。

带有最高router ID的路由器将成为主路由器。

Exchange 路由器通过发送DD报文向邻居描述它自己的完整的链路状态数据库,同时,路由器也可以发送LSR报文来请求更新的LSA。

Loading 路由器将发送LSR给邻居请求在Exchange状态下发现的新的LSA,并接收对请求的LSA的响应报文(LSU)。

Full 建立起邻接的邻居中所有LSA信息都是同步的。

相关文档
最新文档