s6820200 发表于 2011-9-29 18:23:16

OSPF邻居的建立

对于一个试用OSPF协议的网络,一台新加入该区域的路由器A(以下简称A),与其他路由器建立邻居关系的大概过程。请高手描述一下。
我再有个疑问:在以太网中,网络稳定后,A最后是不是只和DR建立了邻居关系。A与其他直连的邻居到底是什么状态,在邻居表中有吧,会交换DBD吗。

gekey 发表于 2011-9-29 19:27:25

(1) 启动进程,从接口发送Hello包
(2) 收到Hello包,检查参数,匹配,则把hello包中的router-id放入邻居表,标识为Init状态;并将该Router ID,添加到Hello包(自己将要从该接口发送出去的Hello包)的邻居列表中。
(3) 收到的hello包的邻居列表中含有自己的Router ID,则标识为Two-way状态。
(4)点对点链路形成邻接关系,广播、NBMA网络类型的链路,进行DR选举。
(5) 形成邻接关系,进入exstart(准启动)状态。通过DBD报文选举主从路由器。
(6) 主从路由器选举完成,进入Exchange(交换)状态,通过DBD报文描述LSDB。
(7) 进入Loading状态,对链路状态数据库和收到的DBD的LSA头部进行比较,发现自己数据库中没有的LSA就发送LSR,向邻居请求该LSA;邻居收到LSR后,回应LSU;收到邻居发来的LSU,存储这些LSA到自己的链路状态数据库,并发送LSAck确认。
(8) 进入FULL状态,LSDB同步,同一个区域的OSPF路由器都拥有相同链路状态数据库
(9) 定期发送Hello包,维护邻居关系。
(10)每台路由器独立进行SPF计算,选择最佳路径,放入路由表。

magic_os 发表于 2011-9-29 19:30:49

A进到一个OSPF区域后,会在所有开启了OSPF的接口上发送Hello分组给直连的邻居,
比如有两台B和C和A是直连的,并且直连的接口都宣告进了OSPF进程,
那么A就会发送Hello分组给B、C.
就好像说
我是路由A我的ID是(某个IP),这其中如果开启了验证,还有验证信息等..
之后B/C收到这个Hello分组,将A的路由ID添加到自己的邻居表中(此时还只是一个初始化的状态)
然后用单播返回一个hello分组给A
内容大致是
我是路由B/C我的路由ID是(某个IP),我看到了(路由A的ID).
然后A会收到这个Hello分组~
之后就A就和B/C建立了双向连接的关系了..


-------------------------

第二个问题~
A最后是和DR以及BDR建立的完全邻接关系,和其他路由(DR Other)建立的是双向(two-way)邻接关系
这个双向邻接关系的建立就像我上面描述的一样~

--------------------

Tip:..我个人觉得这第一个解释还有不完整的地方...还希望后面的朋友补充..

s6820200 发表于 2011-9-29 23:58:51

好像知道了,3楼回答了我第二个问题,谢谢大家-woniu3-

joely 发表于 2011-9-30 14:31:25

-woniu5--woniu6--woniu6-

JIA1989610 发表于 2011-10-3 23:29:39

这个帖子好~呵呵

围墙 发表于 2011-10-5 14:22:58

--
A和DR/BDR建立邻接,和其他路由器是2-WAY的邻接状态。。。
囧第一问一楼答得很详细了。。
页: [1]
查看完整版本: OSPF邻居的建立