Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7112968
  • 博文数量: 3857
  • 博客积分: 6409
  • 博客等级: 准将
  • 技术积分: 15948
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-02 16:48
个人简介

迷彩 潜伏 隐蔽 伪装

文章分类

全部博文(3857)

文章存档

2017年(5)

2016年(63)

2015年(927)

2014年(677)

2013年(807)

2012年(1241)

2011年(67)

2010年(7)

2009年(36)

2008年(28)

分类:

2012-06-12 08:29:30

原文地址:OSPF 协议笔记 2 作者:jonas_mao

OSPF 的邻居:
 
 
ospf邻居之间建立关联关系的最终目的是为了形成邻居路由器之间的邻接关系,最终可以顺利的传送路由选择信息。
 
成功建立一个邻接关系通常需要下面四个阶段:
 
  • 邻居路由发现阶段。即对启动了协议的接口能够在同一网络中识别到对方,此时要把该接口加入到某个网络中,并发送hello报文,并接收该网络中其他设备发送的hello报文,做出相应的回应。
  • 双向通信阶段。当两台互为邻居的路由器在他们的hello数据包中都互相列出了他们对方的路由器ID时,路由器就认为双向通信完成了;
  • 数据库同步阶段。路由器之间将进行交换数据库描述,链路状态请求,链路状态更新和链路状态确认数据包信息,以便确保邻居路由器之间的链路状态数据库LSA中包含有相同的数据库信息。执行这一步的目的是使其中一台邻居路由器成为“主路由器”, 另外一台成为“从路由器”,主路由器将控制数据库描述数据包文的信息交换。
  • 完成链接阶段。

详细过程:

(一)、交换阶段: 通过Hello 形成正确的邻居,邻接关系

1) 启动OSPF 进程,从所有属于该进程的活动接口向外发送Hello包

2) 对端路由器收到Hello 包后检查其中的参数,决定能否形成邻居 检查的参数有: 区域号:相邻接口必须在同一个区域 认证:相邻接口的认证必须相同 Hello 间隔、失效时间:相邻接口的Hello 和失效时间必须一样 存根标志:相邻接口的存根标志必须一致 (感觉类似于bgp的open状态下的操作)

3) 如果参数匹配,则放入邻居表,标志为Init 状态

4) 如果在邻居的Hello 里看到自己的RID,则标志为two‐ways 状态
5) Two‐ways 状态标志着邻居形成,邻接关系如何形成受制于网络类型

Point‐2‐point:邻居中自动形成邻接关系

Multi‐access:必须先在邻居中选举DR 和BDR,其他的为DROther,再决 定形成邻接关系

6) 定期发送 Hello 包,维持邻居关系,默认为 10S,失效时间 40S

(二)、路由发现阶段: 形成完全相同的LSDB

1) 只有形成邻接关系才能进入路由发现阶段

2) 首先处于Exchange_start 状态,通过选举主从路由器解决DBD 可靠的问题,RID 高的成为主路由器,主路由器控制DBD 的序号

3) 一旦选举出主从路由器,则进入Exchange 状态,通过DBD 向邻接描述自己的 LSDB 中的LSA

4) 之后进入Loading 状态,通过LSR 向邻接请求,用LSU 携带LSA 用LSAck 对收 到的LSA 进行确认。

5) 最后LSDB 完全相同‐‐‐‐‐达到Full 状态!

(三)、路由选择阶段 生成用户所需的路由表

1) 只有LSDB 完全相同才会进入路由选择阶段

2) 每个路由器以LSDB 中的LSA 为原材料独立进行SPF 运算

3) 然后针对特定的目标网络把沿途路径Cost 相加,比较总和,总Cost 最小的就 是最佳路径

4) 拓扑发生变化,感知拓扑变化的router 产生新的LSA 洪泛到全网!收到新的 LSA 重新计算

5) LSA 年龄:3600S;每隔1800S 始发路由器重新生成新的LSA

 

阅读(285) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~