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

更新时间:2023-11-29 02:11:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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。

通过比较ROUTER-ID,R2的ID大所以成为主,R1成为备,R1使用R2的序列号1190发送LSA的头部信息给R2(I=0,M=1,MS=0)不为第一个包,后面还有包,为从。在BDB的主从协商完毕就进入了exchange状态了。

.

R2收到R1发来的DBD中的LSA头部信息,同时向R1发送DBD报文,携带LSA的头部。(I=0,M=1,MS=1)不为第一个包,后面还有包,为主,序列号+1为1191

同时R2先知道自己的数据库是否同步,所以发送LSR,请求没同步的LSA

R1收到R2发过来的BDB,要发送DBD的确认给DBD的主路由器也就R2,同时R1没有DBD的包了,所以M=0,表示为最后一个DBD包。(但如果主再发DBD包过来,并且从的路由器还是要发DBD进行确认,这叫隐式确认)

然后R1也开始想R2请求数据库同步信息

R1先收到R2的请求,然后给R2回复信息update

.R2收到R1发来的LSU要对收到的LSU进行确认,发送LSACK叫做显式确认。 LSAck报文用来对接收到的LSU报文进行确认,内容是需要确认的LSA的Header。一个LSAck报文可对多个LSA进行确认。LSA Headers:该报文包含的LSA头部。同时接收到R1的LSR请求,发送LSU

等到R2没数据包了,要发送最后一个数据包告诉R1没数据包了,即M=0,并且R1还需要进行回复。

更新完成先进入full状态,然后R2进入full。邻接关系建立完成。

在exchange状态到loading状态中,经过多次LSR、LSU、LSACK最后R1因为Lsa同步

本文来源:https://www.bwwdw.com/article/qomt.html

Top