一、ospf过程
1.ospf数据包
2.hello包:用来周期保活、发现、建立OSPF邻居关系
DD包:数据库描述报文 包含了本地所有邻居的目录信息
LSR报文:链路状态请求报文 请求获取本地未知的链路信息
LSU报文:链路状态更新报文 真正的包含了LSA信息
LSAck报文:链路状态确认报文
3.down:关闭状态-----一旦启动OSPF协议,则发出hello包,进入下一状态
init:初始化状态----收到的hello包中存在本地的RID值,进入下一状态
2-way:双向通讯状态------邻居关系建立的标志 条件匹配:匹配成功进入下一阶段,匹配失败,则永远停留在邻居状态
exstart:预启动状态----使用未携带真实数据的DBD报文进行主从关系选举,RID大为主,优先进入 下一阶段
exchange:转交换状态-----使用携带真实数据的DBD报文进行目录共享
loading:加载状态----邻居之间使用LSR/LSU/LSAck三种报文来获取完整的拓扑信息
full:转发状态----拓扑交换完成后进入该状态,标志着邻接关系的建立
4.ospf具体工作过程
路由器A向本地所有的启动了OSPF协议的直连接口,使用组播地址224.0.0.5发送hello 报文;hello中包含了全网唯一的本地的RID值;之后对端路由器B也将回复一个hello报文,该报文中若 携带了A的RID值,则A与B建立邻居关系,并生成邻居表。 邻居关系建立以后,邻居间会进行条件匹配,匹配失败则停留在邻居关系,匹配成功,则可以开始建立 邻接关系。 邻接之间共享DBD报文,将本地和邻接的DBD报文进行对比,进行主从关系选举,主优先进入下一状 态。 之后共享真正携带数据的DBD报文,将本地与邻接的DBD报文进行对比,查找本地没有的LSA信息,通 过LSR来询问,对端使用LSU来回答具体的LSA信息,之后本地在使用LSAck报文进行确认。该过程完成 之后,生成数据库表(LSDB)。 最后,本地基于数据库表,启用SPF算法,计算到达所有未知网段的最短路径,然后将计算结果加载到 本地的路由表中。此时收敛完成。
二、LSA报文的类型
1.1类LSA
功能: 本路由器针对某个区域产生的路由信息和拓扑信息
传播范围:本区域内传输
Link ID : 产生者的router-id ADV router: 产生者的router-id
2.2类LSA
功能: 用于在MA网络中,描述本网络路由器的数量以及本MA网络的网络掩码
传播范围:只能在本区域之内传输,终止于ABR
Link ID:DR接口的IP地址
ADV router:DR所在路由器的router-ID
3.3类LSA :summary LSA 汇总LSA
功能:用于在区域之间传递路由信息
link-id :传递路由的网络号
ADV router:默认为所在区域ABR的router-id 分区 ADV router:默
认为所在区域ABR的router-id 特性: 在穿越不同区域时,由其他的ABR重新产生
4.5类LSA: 外部LSA 功能: 用于在整个OSPF中传递外部路由(原本不属于OSPF域) 5类LSA有两种类型: 类型1 类型2
Link id :传递外部路由的网络号
ADV router : 产生该LSA的 router-id (产生本LSA的ASBR的router-id )
传播范围:在整个OSPF域中传输
5.4类LSA: summary ASBR LSA 功能:除了ASBR所在区域外,用于通告ASBR位置
Link id:ASBR的router-id
ADV router: 默认ASBR所在区域的ABR的 router-id
特点:在穿越不同区域时,由新的ABR重新产生。(与3类LSA一致)
6. 7类LSA : NSSA LSA 功能: 在NSSA区域中,传递外部路由。 Link id :传递路由网络号 ADV router:产生该LSA的 router-id 特性:默认为类型2 ,度量值为1 。