OSPF(开放式最短路径优先)隶属于IGP(内部网关协议),用于在单一自治系统内决策路由,是对链路状态路由协议的一种实现。
OSPF是SPF类路由协议中的开放式版本。
使用算法:dijkstra(分解视频:http://v.youku.com/v_show/id_XMjQyOTY1NDQw.html)
注意到OSPF是要用在同一个路由域中的,也指一个自治系统。所有域内路由维护同样数据的数据库,存放路由域中相应链路的状态信息。
其他涉及到的概念如DR、BDR都很common,是标准的选举、协调模型。各个交换机状态迁移也有对应的状态机,不同网络有不同的优化技巧,都是实际问题,就不赘述了。
RIP是距离矢量协议。同类有IGRP、EIGRP、BGP等。BGP更应该说是路径矢量协议。
和OSPF不同的是,OSPF是一个中央控制型的协议,RIP是一个邻居传递的协议。相比之下,RIP看上去会更简单一点,因为它的逻辑比较质朴。但实际环境上RIP为了避免环路等问题要做很多适配,而且路径收敛速度和报文量需要进行平衡。
使用算法:Ford-Fulkerson
STP是面向交换机的协议,和OSPF有点相似,但简单很多(因为二层网络更简单),在STP中也有Root Bridge, Root Ports, Designated Ports等概念。桥一开始假定自己是根,然后发BPDU的时候再更新,根据最小BID的桥作为根。
缺点:是面向小型网络设计,大型网络启动时STP协商时间太久,尤其是虚拟化场景下。并且STP没有冗余路径,意味着很多路径可能并非最优,不利于迁移与网络性能。
TRILL是为了解决stp的性能问题而产生的,主要的解决手段是使用链路状态协议ISIS,用SPF计算到达各个nickname的路径。各RBridge保持完整的网络拓扑,保持多张表。