ospf邻接关系的建立
1、一旦双向通信成功建立,邻接关系就有可能建立,路由器之间是否能建立邻接关系,会受到网络类型的影响
2、网络类型:
点到点:直接建立邻接关系
广播多路访问:需要选举dr/bdr,并不是所有的路由器都能建立邻接关系
在一个邻接关系的创建中,ospf使用下列4钟数据包:
1、链路状态描述(dbd)类型2
2、链路状态请求(lsr)类型3
3、链路状态更新(lsu)类型4
4、链路状态确认(lsack)类型5
ospf状态机
失效(down)-shutdown
尝试(attempt)-只适合在nbma网络中
初始(init)开始发现邻居,并互相发送自己的rid给对方并记录,建立邻居数据结构
双向通信(two-way)表明本地路由器已经在来自邻居hello包中看到自己,双向通信建立成功,
dr/bdr选举
信息交换初始(exstart)建立主/从关系,谁先发链路状态描述信息
信息交换(exchange)互相发送dbd,链路状态描述
信息加载(loading)如果请求列表里还有lsa条目,进入此状态
全邻接(full)建立起完全邻接以后,可以发送lsa通告
如何去理解链路状态描述dbd
dbd只是携带了一个路由器的lsdb中每一个lsa的头部信息,并不是完整的lsa,这可以从dbd数据包的字段中看出。
如果说lsa是一本书的话,那么dbd就是这本书的目录,但是已经足够描述这本书里面所要讲的内容
dbd的3个标记位:
I位(初始位)当需要指明所发送的是第一个dbd包时,i位置1
M位(后续位)当需要指明所发送的不是最后一dbd时,M位置1
MS位(主/从位)主路由器发送dbd,该位置1
邻接关系建立过程
当2台路由器由two-way状态转到exstart状态时,开始进行主/从关系协商,他们都发送一个Ms位为1的空dbd数据包宣告自己是"主"路由器,具有较高rid的路由器为"主","主"路由器的ms位置1,"从"路由器回复一个ms为0的dbd包,并且把序列号设置为"主"路由器的序列号。
主路由器将控制dbd同步的过程,"从"路由器的dbd仅仅是用来确认"主"路由器的dbd包
当主/从关系协商完成后,进入exchange状态,双方开始互相发送dbd.用于通告自己的链路,如果本地路由器发现邻居路由器还有一条lsa条目不在字节的lsdb或者邻居有着比我更新的lsa条目,那么将会创建一个请求列表,这时进入loding状态,发送lsr,邻居状态收到lsr后,会发送一个lsu,直到本地路由器的请求列表为空的时候,双方进入full状态,邻接关系建立完毕。
标签:关系,状态,lsa,dbd,邻接,链路,ospf,路由器 From: https://www.cnblogs.com/smoke520/p/18360000