ospf邻居建立过程

邻居建立过程

OSPF包类型

在整个邻居建立过程中,路由器通过发送OSPF包来完成进程间通信。

OSPF的包类型描述
hello包用于发现和维持邻居关系,选举DR和BDR,周期性发送
数据库描述包(DBD)用于向邻居发送摘要信息以同步链路状态数据库
链路状态请求包(LSR)在路由器收到包含新信息的DBR后发送,用于请求更详细的信息
链路状态更新包(LSU)收到LSR后发送链路状态通告(LSA),一个LSU数据包可能包含几个LSA
链路状态确认包(LSAck)确认已经收到LSU,每个LSA需要被分别确认

不同的数据包在不同的状态发送,不同的数据包也有不同的作用。

举个生活中的例子来说明这些数据包的作用:

A村和B村的村民会经常往来,见面说hello(hello包,会周期性地发)。

有一天,附近唯一的位于B村的车站搬迁了,B村的村民首先知道这件事,他告诉A村村民:车站搬迁了!(DBD,对车站搬迁的整件事做了一个概括)

A村村民自然很关心这件事情,想要知道更多的细节,于是A村村民会问:怎么回事啊?搬到哪里去了?(LSR,请求更详细信息)

B村村民于是告诉他:因为什么什么,车站现在在XXX路XX号,周围有什么什么……(LSU,更详细的信息,其中一条条的详细细节可以理解为LSA)

A村村民得知了情况,对B村村民说:好的,我知道了。谢谢你!(LSAck,确认LSU)

其实这个例子也就是在OSPF域中某路由发生变化(车站搬迁),从而让链路状态数据库重新收敛学习路由(A村村民得知车站新地址)的过程。

邻居建立的八种状态

在OSPF的邻居建立过程中,路由器一共有5种状态:

down、attempt、init、2-way、exstart、exchange、loading、full

路由器刚刚通电,为down状态,在NBMA模式时将进入attempt状态。

attempt状态下路由器会尝试发送hello信息给邻居。

收到了hello信息,路由器进入init状态,并将该hello包的发送者的router-ID添加到hello包(即将从该接口发出去的hello包)的邻居列表中。

路由器接口收到邻居列表中含有自己router-ID的hello包,进入two-way状态,形成OSPF邻居关系,并把给路由器的router-ID添加到自己的OSPF邻居表中。选举出最大的两个router-ID。

进入exstart状态,选举DR和BDR,以及由DR路由器定义DBD序列号。

DR、BDR选举完成后,进入exchange状态,交换DBD信息。

DBD交换完成后,进入loading状态,对链路状态数据库和收到的DBD的LSA头部进行比较,发现自己数据库中没有的LSA就发送LSR,向邻居请求该LSA;邻居收到后,回应LSU;收到邻居发来的LSU,存储这些LSA到自己的链路状态数据库,并发送LSAck确认。

LSA交换完成后,进入full状态,所有形成邻居的OSPF路由器都拥有相同的链路状态数据库。

定期发送hello包,维持邻居关系。

实验观察

拓扑图如下:

在这里插入图片描述

R5与R6通过直连端口相连,R5的e0/0口IP地址为192.168.1.1/24,R6的e0/0口IP地址为192.168.1.2/24。

为了观察OSPF的邻居建立过程,我们先配好R6的OSPF进程,再开启抓包、配置R5的OSPF进程,通过观察R5的数据接收来观察OSPF的邻居建立过程。

OSPF基本配置

(config)#router ospf process-id //开启ospf进程
(config-router)#router-id ip address //手动指定router-ID
(config-router)#network ip address inverse-mask area area-id //宣告网段
(config-if)#ip ospf cost cost //修改接口cost
#show ip ospf neighbor //查看ospf邻居
#debug ip ospf adj //查看路由器邻接的整个过程

抓包

配好R6的OSPF进程后,开始抓包,再去配置R5的OSPF进程。
通过抓包软件我们可以看到:
在这里插入图片描述
从init状态到exstart状态没有OSPF数据包传送,故我们看不到。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值