- 论坛徽章:
- 0
|
路由器A以组播224.0.0.6发送Hello包来通告自己的Router ID,而B路由器将A路由器加到自身Hello包邻居ID域中,从而进入初始化状态(Init),然后路由器B将自身Hello包反馈给A,A接到B传来的Hello包中邻居域有自己A的Router ID号,随即进入Two-way状态,然后查看网络,如果是点对点或者点对多点的话就直接建立毗邻关系,如果是广播的多路访问或者非广播的多路访问就开始在网络中选举DR与BDR(在毗邻路由器上具有最高优先级的Router将赢得选取成为DR,有次高优先级的Router将成为BDR,如果优先级都为最高255,将用路由ID来判断,有最高Router ID的将被选取为DR,选取好DR与BDR就进入预启动Exstart状态),假设是点对多点,2台路由器开始交换DBD数据库描述数据包(DBD中包含:链路状态类型,通告路由器地址,链路成本以及序列号),在DBD中宣告DR,然后DR发起LSR链路状态请求,从路由器则进行LSAAK响应(响应的包:序列号),然后DR与发来的DBD与自身的DBD来比较,如果有新的或者有更新信息,则DR发送LSR,进入加载状态,从路由器接到LSR后向DR发送LSU包含完整的链路状态,LSU中含有LSR信息。完成全毗邻关系。之后路由器将学习来的路由信息通过SPF算法进行计算选出最优路径。<br /><br />如果链路出现故障,点对点则用组播224.0.0.5发送新链路状态信息,点对多点则用224.0.0.6发送给DR或者BDR然后DR再用224.0.0.5去Folding给各路由器. |
|