题目一
请写出linkstate路由算法与DistanceVector路由算法的主要区别
题解
- 链路状态算法(LS):也称为全局式路由选择算法,
- 用完整的、全局式的网络制式计算出从源到目的地之间的最短费用路径。以所有结点之间的连通性及所有链路的费用作为输入。
- 通过每一个结点向网络中所有其他结点广播链路状态分组来完成。其中每一个链路状态分组包含有它所连接的链路的特征和费用。
- 使用的是Dijkstra来计算出最低费用路径。性质是:经过算法的第k次迭代之后,可以知道k个目的结点的最低费用路径。
- 记号如下:
- 在LS算法终止时,对于每一个结点,我们都得到了从源节点沿着它的最低费用路径的前一个结点。而对于前一个结点,我们又有它的前一个结点,通过这种方式我们可以构建从源结点到其他的所有结点的完整的路径。
- 转发表的示例如下:
- 可能出现的问题:拥塞敏感的路由选择有振荡的问题,不知道怎么解决
- AS内部的路由选择:OSPF
- DV算法:是一种分散式路由选择算法。
- 是一种迭代的、异步的和分布式的算法。因为每一个结点都要从一个或者多个相邻的邻居接收到某些信息,执行计算,然后将计算的结果分发给邻居。
- 最低费用与Bellman-Ford方程相关
- 每一个点的路由选择表包含自身与邻居的距离向量。在结点重新计算距离向量之后,如果有改变,则再次向其邻居发送更新的距离向量。知道不再更新
- 示例
- 问题:路由选择环路:(增加毒性逆转、无法解决三个或以上的环)
- AS:RIP路由选择算法
- 比较:
- 报文复杂性:。。。
- 收敛速度:LS是O(|N||E|)个报文的O(|N|^2)算法,DV算法收敛比较慢
- 健壮性:一台路由器发生故障时、LS比较健壮。DV会产生很多的信息更新。
题目二
用Dijkstra算法给出下面图片中u到z的最短路径
解答