OSPF报文交互流程

匿名 (未验证) 提交于 2019-12-02 23:32:01
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_20184565/article/details/90244979

使用如下的拓扑结构:

     |---------------------|                     |----------------------|               |                     | 172.1.1.1           |                      |               |P1     R1         P2 |---------------------| P1      R2        P2 |      |                     |           172.1.1.2 |                      |               |---------------------|                     |----------------------|        loopback1: 1.1.1.9/32                        loopback1: 2.2.2.9/32

路由器R1配置:





路由器R2配置:



两个路由器的AREA配置为0.0.0.0。

邻居发现过程


假设路由器R1首先发送了HELLO报文,格式如下图,HELLO报文目的地址使用多播地址224.0.0.5。Message Type为1,即Hello Packet。Area ID为0.0.0.0。使用本机的回环接口作为路由器ID:1.1.1.9。由于是第一个发送的OSPF报文,DR和BDR路由器都为空,并且没有任何的邻居路由器。

其次,路由器R2发送HELLO报文,大致内容如以上的相同,但是R2的OSPF路由器ID使用其Loopback接口地址2.2.2.9。并且,由于接收到了R1之前发送的HELLO报文,路由器R2将设置其邻居路由器为1.1.1.9。

之后,路由器R1再次发送HELLO报文,此时,邻居路由器显示为R2(2.2.2.9)。

DR/BDR选举


根据上节的HELLO报文内容可知,两个路由器设置了相同的优先级1(Router Priority),所以通过路由器ID的比较,ID大的路由器R2(2.2.2.9)被选举为指定路由器DR,路由器R1为BDR。

数据库描述报文


起初OSPF使用空的DBD报文确定主从路由器。假设路由器R2首先发送了DB Description报文,其中Init、More和Master标志全部置位,表明是初始的报文,后续还有其它报文,并且声明自身为主路由器Master。其序号为103934。报文如下:

同时,路由器R1也发送了相同的DB Description报文。三个标志位Init、More和Master也都置位,其序号为103944。但是比较两个路由器的ID值,较大的一个为最终的主路由器,即路由器R2。此后,在LSA交互过程中,使用主路由器R2的序号。

在协商主从完成之后,DBD报文将携带LSA摘要信息。并且由于1.1.1.9为从路由器,Master标志清零,DD序号使用主路由器R2的103934。More标志为零表明数据库描述报文发送完成。

LS-Request请求报文

在接收到路由器R1的以上DBD报文之后,路由器R2将请求其中某些LS的具体信息。

LS-Update更新报文

当路由器R1接收到以上的LS请求报文之后,回复以下的LS-Update更新报文,发送详细的LS信息:

LS-Acknowledge确认报文

最终路由器R2在接收到以上报文后,回复LS确认报文。

END

文章来源: https://blog.csdn.net/sinat_20184565/article/details/90244979
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!