RIP(Routing Information Protocol)协议,RIP协议是使用DV算法的一种路由协议。RIP协议把网络的跳数(hop)作为DV算法的距离,每隔30s交换一次路由信息,认为跳数>15的路由则为不可达路由。
RIP协议的过程
路由器初始化路由信息(两个向量\(D_i\)和\(S_i\))
对相邻路由器X发过来的信息,对信息的内容进行修改(下一跳地址设置为X,所有距离加1)
检索本地路由,将信息中新的路由插入到路由表里面
检索本地路由,对于下一跳为X的,更新为修改后的信息
检索本地路由,对比相同目的的距离,如果新信息的距离更小,则更新本地路由表
如果3分钟没有收到相邻的路由信息,则把相邻路由设置为不可达(16跳)
RIP协议的优缺点:
优点:实现简单,开销很小。
缺点:故障信息传递慢。也就是随便相信“隔壁老王”,“自己不思考” “视野不够”。因为RIP协议每一个路由器它只看到相邻路由器的信息,而看不到更远的路由器信息,这也限制了网络的规模。
内部网关路由协议之OSPF协议 链路状态(LS)协议链路状态(LS)协议:向所有的路由器发送消息,也就是一传十、十传百,只和相邻的路由器交换信息。消息描述该路由器与相邻路由器的链路状态,每隔30s交换路由信息,只有链路状态发生变化时,才发送更新信息。
Dijkstra(迪杰斯特拉)算法 Dijkstra算法是著名的图算法,Dijkstra算法解决有权图从一个节点到其他节点的最短路径问题,“以起始点为中心,向外层层扩展”。
Dijkstra(迪杰斯特拉)算法定义:
初始化两个集合(S, U)(S为只有初始顶点点A的集合,U为其他顶点集合)
如果U不为空, 对U集合顶点进行距离的排序,并取出距离A最近的一个顶点D
i. 将顶点D的纳入S集合
ii. 更新通过顶点D到达U集合所有点的距离(如果距离更小则更新,否则不更新)
iii. 重复2步骤
直到U集合为空,算法完成
OSPF(Open Shortest Path First:开放最短路径优先),OSPF协议的核心是Dijkstra算法。OSPF协议的过程:路由器接入网络,路由器向邻居发出问候信息,与邻居交流链路状态数据库,广播和更新未知路由。
RIP协议 OSPF协议从邻居看网络 整个网络的拓扑
在路由器之间累加距离 Dijkstra算法计算最短路径
频繁、周期更新,收敛很慢 状态变化更新,收敛很快
路由间拷贝路由信息 路由间传递链路状态,自行计算路径
外部网关路由协议之BGP协议
BGP(Border Gateway Protocol: 边际网关协议),BGP协议是运行在AS之间的一种协议。由于互联网的规模很大,AS内部使用不同的路由协议。
AS之间需要考虑除网络特性以外的一些因素(政治、安全…),BGP(Border Gateway Protocol,边界网关协议),BGP协议能够找到一条到达目的比较好的路由,AS之间通过BGP发言人来进行路由信息的交换。BGP发言人(speaker):BGP并不关心内部网络拓扑,AS之间通过BGP发言人交流信息,BGP Speaker可以人为配置策略。