一.发现并建立邻居-Hello报文
-
Hello报文的作用
(1)邻居发现:自动发现邻居路由器
(2)邻居建立:完成Hello报文中的参数协商,建立邻居关系
(3)邻居保持:通过Keepalive机制,检测邻居运行状态 -
OSPF路由器之间在交换链路状态信息之前,首先需要彼此建立邻居关系,通过Hello报文实现
(1)OSPF协议通过Hello报文可以让互联路由器自动发现并建立邻居关系,为后续可达性信息的同步作准备
(2)在形成邻居关系过程中,路由器通过Hello报文完成一些参数的协商
(3)邻居关系建立后,周期性的Hello报文发送还可以实现邻居保持的功能,在一定时间内没有收到邻居的Hello报文,则会中断路由器间的OSPF邻居关系 -
OSPF邻居建立过程
(1)Down:这是邻居的初始状态,表示没有从邻居收到任何信息
(2)Init:在此状态下,路由器已经从邻居收到了 Hello报文,但是自己的Router ID不在所收到的Hello报文的邻居列表中,表示尚未与邻居建立双向通信关系
(3)2-Way:在此状态下,路由器发现自己的Router ID存在于收到的Heelo报文的邻居列表中,已确认可以双向通信 -
邻居建立详细过程
(1)RTA和RTB的Router ID分别为1.1.1.1和2.2.2.2。当RTA启动OSPF后,RTA会发送第一个Hello报文。此报文中邻居列表为空,此时状态为Down,RTB收到RTA的Hello报文后,状态由Down变为Init
(2)RTB发送Hello报文,此报文中邻居列表为空,当RTA收到报文后,状态由Down变为Init
(3)RTB发送邻居列表为1.1.1.1的Hello报文,RTA收到报文后,发现列表中是自己的Router ID,此时状态由Init变为2-way
(4)RTA发送邻居列表为2.2.2.2的Hello报文,RTB收到报文后,发现列表中是自己的Router ID,此时状体由Init变为2-way
(5)因为邻居未知,所有Hello报文的目的地址不是某个特点的单播地址。邻居从无到有,OSPF采用组播的形式发送Hello报文(目的地址224.0.0.5)
二.手动建立邻居
5. 对于不支持组播的网络可以通过手动配置实现邻居的发现与维护
6. 手动配置:ospf 进程号 peer 邻居地址