开放路径最短优先协议OSPF基础
对比RIP
对比距离矢量路由协议(RIP),OSPF协议交换的不是路由条目,而是链路信息,并通过SPF算法计算出最佳路由,链路状态信息内含有路由接口、IP地址、掩码、cost值等,进而形成了链路状态通告(LSA)。
基本术语
- 邻居表:也成为邻接数据库,通过Hello包建立邻居关系,包含自己所承认的邻居名单。
- 链路状态数据库(LSDB):OSPF学来的LSA存放处,同一个区域的LSDB一样
- 路由表:使用SPF算法,算出以自己为根,到达目的地最短、最佳无环路径,形成路由表。通常称为转发数据库,达到目的的最佳路径列表。
- 区域边界路由器(ABR):位于不同区域边界上的路由器
- 自治系统边界路由器(ASBR):它连接一个OSPF域与其他路由协议域(比如BGP),简单来说就是沟通OSPF与其他协议的桥梁
OSPF区域
OSPF虽然不受路由器数量限制,但是网络中路由器太多,相互交换的LSA也会增加,随之而来的网络负担也会变大,因此需要给OSPF路由器划分区域。
区域主要分为两种:
- 骨干区域,又叫传输区域
- 常规区域
常规区域主要限制了这一个区域之间的通信,多个常规区域之间一般是相互隔绝的,如果它们之间进行通信需要经过骨干区域转发。因此常规区域一定与骨干区域相连。
OSPF寻路
OSPF寻找最佳路径采用Dijkstra算法,也叫**最短路径优先(SPF)**算法:
- 在同一个区域每个路由器都有一个相同额链路状态数据库
- 每台路由器建立由本身为根到目的的树(即然是树,则无环)
- 到特定目的总成本最低的链接放入路由表
一段链路的成本或者说度量的计算如下(默认情况):
Cost=108bpsBandwith Cost = \frac{10^8 bps}{Bandwith} Cost=Bandwith108bps
到达目的的链路总成本为每段链路成本之和:
TotalCost=∑i=1nCosti TotalCost = \sum_{i=1}^{n} Cost_i TotalCost=i=