一、路由算法分类
路由算法
- 路由算法(协议)确定去往目的网络的最佳路径。
- 转发表确定在本路由器如何转发分组。
- 网络抽象:图、费用、最小费用路径。
1. 静态路由 vs 动态路由
静态路由:
-
手工配置
-
路由更新慢
-
优先级高
动态路由:
- 路由更新快
- 定期更新
- 及时响应链路费用或网络拓扑变化
2. 全局信息vs分散信息
全局信息
-
所有路由器掌握完整的网络拓扑和链路费用信息
E.g. 链路状态(LS)路由算法
分散(decentralized)信息:
-
路由器只掌握物理相连的邻居以及链路费用
-
邻居间信息交换、运算的迭代过程
E.g. 距离向量(DV)路由算法
二、常用的路由算法
1. 链路状态(LS)路由算法——Dijkstra算法(全局信息)
-
所有结点(路由器)掌握网络拓扑和链路费用
- 通过“链路状态广播“
- 所有结点拥有相同信息
-
计算从一个结点(“源" )到达所有其他结点的最短路径
- 获得该结点的转发表
-
迭代: k次迭代后,得到到达k个