“小育同学,讲的不错。前面我们已经分析了OSPF邻居关系建...
“小育同学,讲的不错。前面我们已经分析了OSPF邻居关系建立的过程,那现在就请你接着将OSPF邻接关系建立的过程补充完整吧。”在长老说道。现在我们通过图1所示的实验来分析一下OSPF邻接关系建立的过程。图1中一共两台路由器R1和R2,在R1和R2上配置的接口IP地址如图上标注所示,然后完成OSPF的基本配置(此处配置不在此讨论)。
图1R1和R2的Router ID分别配置为1.1.1.1和2.2.2.2,运行OSPF协议后,他们建立邻接关系的过程如下:1)在2-way状态下R1和R2完成DR/BDR的选举后,可以通过“display ospf peer verbose”命令查看DR/BDR的信息,显然在R1和R2之间的链路上R2是DR,R1是BDR。
2)此时,R1和R2还需要进一步建立邻接关系。接下来邻居状态会从2-way进入到ExStart状态。此时R1和R2都会向对方发送DD报文,此时的DD报文并不携带LSDB中LSA的摘要信息,用于协商主从。协商主从的原则是比较Router ID,Router ID大的成为主设备。① R1向R2发送DD报文。
② R2向R1发送DD报文。
这样R1和R2之间交互DD报文后,根据比较Router ID,R1发现自己应该是从设备(Slave),R2发现自己应该是主设备(Master)。主设备的作用是:在交换DD报文时,主动发送DD报文,并控制修改报文序列号,对应的Slave设备只能接受Master设备使用的序列号,被动的发送DD报文。3)R1同意R2为Master设备后,再向R2发送DD报文(此时DD报文含有LSDB中LSA的摘要信息),R1的邻居表中R2的状态会变成Exchange状态。
R2收到R1的DD报文后,将邻居表中R1的状态修改为Exchange状态,并向R1发送DD报文交互LSA摘要信息(注意:序列号加1)。
4)R1和R2相互之间收到对方含LSA摘要信息的DD报文后,会与自己的LSDB进行比较,如果所有的LSA信息均存在自己的LSDB中,则直接将邻居表中对方的状态修改为Full状态。如果发现自己缺失对方所拥有的LSA,则会向对方发送LSR报文请求自己所缺失的LSA内容(LSR报文内容其实是自己缺失的LSA的摘要信息)。① R1向R2发送LSR。
② R2向R1发送LSR。
4)R1和R2收到对方的LSR报文后,会将对方请求的LSA内容通过LSU报文发送给对方。① R1向R2发送LSU。
② R2向R1发送LSU。
5)R1和R2收到对方发来的LSU报文后,将LSA更新放入到自己的LSDB中,同时会向对方发送LSAck确认报文(以确认收到对方发来的LSU报文内容)。① R1向R2发送LSAck。
② R2向R1发送LSAck。
6)当自己收到了所有请求的LSA内容后,则会将邻居表中对方的状态修改为Full状态。此时,R1和R2之间就建立了完整的邻接关系,R1和R2之间也同步了OSPF链路状态数据库。
闻道有先后,术业有专攻,扫描下方二维码,添加好友,让我们一起进步吧!
图片|王在礼文字|王在礼排版|张坚审核|姜明哲@新媒体中心