OSPF 笔记
第一部分 OSPF 的一些基本概念
在链路状态路由协议中,路由器和路由器之间交换的是链路状态。而距离矢量路由协议中,路由器与路
由器之间交换的是路由表。链路状态路由协议能够识别更多的网络信息,所以选出的路由比距离矢量路
由协议选出的路由更优。在 OSPF 中,一共维护着三个数据库:所有的邻居,区域内所有的路由器(链路
状态),到达目的地最佳路径。OSPF 是通过链路状态表中整个区域的链路状态来计算出路由表的。
OSPF 中的三张表:邻居表(adjacency database),拓扑表,路由表 。
OSPF 的网络在设计时应该设计为层次性的网络,这是一个强制要求。有两个级别的层次一个为主干区
Transit area(backbone or area 0),另一个为非主干区域 Regular areas(nonbackbone areas)。 可以认为,
在区域内部交换的是链路状态,而在区域和区域之间交换的则是路由信息。
OSPF 区域的特点:
1. 减小路由表的条目;
2. 本地化拓扑结构,只在本区域传播,将拓扑变化影响减到最小;
3. 详细的 LSA 的洪泛将终结在区域的边界上;
4. 需要层次化的网络设计;
5. 一般情况下,所有的非主干区域都应该与主干区域相连,非主干区域之间是不会交换信息的;
ABR 称为区域边界路由器,作用就是将非主干区域和主干区域连接起来。
链路状态数据结构(邻居表):
1. OSPF 通过交换 Hello 包来发现邻居;
2. 通过检查 Hello 包中的一些选项或者变量后建立邻居关系的;
3. 在点到点的广域网环境中,邻居之间是全互联的;
4. 在局域网环境中,所有路由器只与 DR 和 BDR 形成邻接关系(adjacency),而其他的路由器
(DROTHERs)之间则只是 two-way 的关系;
5. 路由更新和拓扑信息之在邻接关系的路由器之间进行传播;
所有 的路 由更 新, 以及 链路 状态 信息 都是 通过 网络 中的 DR 和 BDR 传 输的 。也 就是 说, 所有 的
DROTHER 都会与 DR 还有 BDR 建立邻接关系(adjacency)。
SPF 算法:在每个路由器的链路状态表中都应用 Dijkstra’s SPF 算法。
1. 每个路由器上都会有一个链路状态数据库;
2. 每个路由器都会先将自己作为一个根,然后建立起一个 SPF 树;
3. 最优路径的计算是到达目的地的所有路径开销的总和;
4. 最优路径将被放到路由表中;