BSCI—4:详解OSPF包类型

一:OSPF包的类型:

 

1、 HELLO包:用来建立和维持邻居关系;

2、 DATEBASE DESCRIPTION (DBD):用来检验路由器之间的数据库并进行同步的;

3、 Link state request LSR):链路状态请求;

4、 Link state updateLSU):特定链路之间的请求记录;

5、 Link state acknowledgement LSAck):确认包;
 
 

 

二:解释为何需要ACK

 

OSPF包也是包含在IP数据分组中的,使用的协议号是89,而不是运用的传输层的TCP或者UDP,所以没有一定的可靠性,但是OSPF又要求使用可靠的传输,所以就有了LSAck包的出现。【这些与EIGRP非常的相似。EIGRP也是直接封装在IP分组中的,使用的协议号是88。没有使用TCP或者UDP,也就随之有了ACK包。】
 
 

 

三:OSPF邻接过程

 

1初始化状态:其中一个路由器A发送一个HELLO,我是A,有人吗?这个时候B收到后,就将这个信息保存在一个邻居列表【而不是邻接关系数据库】中。然后回应,我是路由器B,我能看的到你路由器A。这个时候呢,A接收到B的回应信息以后呢,也将这个信息保存着在自己的一个邻居列表中。这个过程是一个瞬时状态.

 

2Two-way state:而双方都知道对方的存在的时候,他们就算是进入了另外一种状态:Two-way state。【这是一个持久的状态】

 

3Exstart state(交换初始化状态):这是一个双方都争取DR的一个过程。A说他够格,B说他够格。其实就是一个DRBDR的选举过程:先是比较它们的优先级【默认的优先级都是1】,如果优先级相同的话,就开始比较它们的RIDRID大的那个就是DR;如果存在环回接口的话,那环回接口的IP地址就是RID。如果没有的话,那就是接口中IP地址最大的那个IP就是RID】。这也是一个瞬间的状态。

 

4Exchange state (交换状态):双方向对方发送一个DBD(数据库状态描述),里面包含的是自己本身的链路状态数据库的摘要信息。并且双方正确收到以后,给对方返回一个LSAck进行确认!这也是一个瞬间状态!

 

5Loading state (加载状态):通过对方发送来的那个DBD,与自己的LSDB进行比较。如果是缺少什么条目的话,就用LSR(链路状态请求)向对方索要,然后对方发送一个LSU,其中包含我们所需要的条目。正确收到LSU后,再发送一个LSAck进行确认!【这是一个瞬间状态】

 

6Full state(完全邻接状态):经过加载状态,将所需要的条目都补充完全了后,就到了完全邻接的状态了。邻居关系正式成立,并投入使用!【持久状态】

 

注:在这些过程中,只有【双向状态】与【完全邻接状态】是持久状态,其他的都是瞬间状态!
 

 

 

四:路由信息的维持

 

当网络稳定的时候,突然一个链路出现了故障,那么发现这个故障的路由器就会生成一个LSA,这个LSA不是发送给他的所有的邻居,而是发送给DR,然后用DR来管理“LSA的洪泛,由DR来发送给其他的邻居路由器,邻居路由器接受了以后,更新自己的LSDB,然后复制出一个拷贝,发送给下面的邻居。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章