计算最短路径的算法距离向量
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
路由表缩水 (缺省)
缩水后能提高查找的效率
12
2020/2/2
广域网中的路由选择
通过增加交换机可以扩大广域网的容量
– 内部交换机:不连接计算机 – 外部交换机:直接连接计算机
路由表必须保证其有效性
– 通用路由:必须包含到每个可能目的地的下一跳路由 – 最佳路由:到达指定目的地的下一跳必须指向到达目
ቤተ መጻሕፍቲ ባይዱ每个节点
– 接受信息 – 需要的话重新计算路由
25
2020/2/2
Dijkstra’s 最短路径算法
输入
– 边上标有权的图 – 节点, n
输出
– 从 n 到每个节点的最短路径 – 每条路径的权重
称为最短路径优先 (Shortest Path First ,SPF)
算法
26
2020/2/2
9
2020/2/2
对广域网寻址的图示
地址被编码成整形(由两部分组成)
– 高字节是交换机的序号 – 低字节是计算机的序号
10
2020/2/2
下一跳转发
由包交换机执行 使用路由表 路由表给出下一跳地址:注意!,只有一个,而非一串!
11
2020/2/2
路由表缩写
多条表目指向同一个转向地址
– 从源计算机中发出 – 在交换机之间转发 – 抵达目的地
交换机-switch
– 在存储器中存储分组报文 – 检查分组报文的目的地址 – 把分组报文发送到目的地
8
2020/2/2
广域网中的物理编址
基本要求
– 每台计算机一个唯一的地址 – 高效转发
地址由两部分组成
– 包交换机的编号 – 与之相连的计算机的编号
如果不存在到 V 的本地路径,或本地路径的代价高于C,
就建立一条路径,其下一跳为 N,距离为 C
否则就ignore
22
2020/2/2
距离向量路径选择的举例
考虑 一条DV 信息的传递
节点 2 向 3, 5, 和 6发信 节点 6 建立到节点 2的路由,距离是 8
later, 3 发送信给 6 6 改变路径,把 3 作为它通向2 的下一个节点
15
2020/2/2
使用缺省路由
16
2020/2/2
最短路径的计算
来自图论中的算法 没有中心机构 (分布式计算) 每台交换机
– 必须了解到每一个目的地的路由 – 只可和与它直接连接的邻居进行通讯
17
2020/2/2
最小权路径的说明
图中边上的标记代表了节点间的距离 距离度量
– 地理长度 – 经济价值 – 容量的倒数
– 点对列表 – 每一点对形如 (终点, 距离)
接受方
– 把列表中的信息和本地路由表中的相比较 – 如果存在更好的路径则改变列表中的信息
20
2020/2/2
距离向量算法
21
2020/2/2
距离向量法的直觉理解
Let
– N :送出路由信息的相邻节点 – V :点对信息中的终点信息 – D :点对信息中的距离信息 – C : D +到发送点的距离
图中由深色描绘的是从 4 到 5的最短路径
18
2020/2/2
计算最短路径的算法
距离向量 (DV)
– 交换机相互交换路由表中信息
链路状态
– 交换机相互交换链路状态信息
这两种方法在实际应用中都有使用
19
2020/2/2
距离向量
相邻交换机周期的、双向交换信息 交换信息时, 交换机发送
举例: 从节点 6 开始的路径
– 到 3, 下一节点 = 3, 权值= 2 – 到 2, 下一节点 = 3, 权值= 5 – 到 5, 下一节点 = 3, 权值= 11 – 到 4, 下一节点 = 7, 权值= 8
29
2020/2/2
早期的广域网技术
ARPANET
– 分组报文交换,曾在历史上占有很重要的地位 – 在发明时以高速著称, 以现在的标准来看则很慢
组装一个广域网
在每个地点放置一台或多台包交换机 互连这些交换机
– 用LAN技术来处理 本地连接 – 用租用数字电路来进行长距离连接
6
2020/2/2
广域网的图示
互联的程度的取决于
– 通信量的估算 – 可靠性需求
7
2020/2/2
存储和转发
包交换机的基本模式 分组报文-packet
Dijkstra’s 算法
27
2020/2/2
算法的直观理解
从自身为源节点开始 向外扩散 在每一步
– 找到满足如下条件的节点 u
没考虑过的 最靠近源节点
– 计算
从 u 到每个相邻节点 v 的距离 如果距离较短, 则使从 u 开始的路径经过 v
28
2020/2/2
Dijkstra’s 算法的计算结果
23
2020/2/2
链路状态路径选择
克服了 DV 的不稳定性 一对交换机定期执行
– 测试它们之间的链路 – 传播链路状态信息
交换机
– 接受状态信息 – 计算新的路由 – 使用 Dijkstra’s 算法
24
2020/2/2
链路状态信息举例
假设节点 2 和3
– 测试它们之间的链路 – 传播信息
X.25
– 早期用于商业服务 – 仍然在使用 – 在欧洲比较流行
30
的地的最短路径。
13
2020/2/2
路由表信息的来源
手工
– 人工生成路由表 – 在规模较小的网络中很有用 – 在路由不会改变的网络中也十分有用
自动生成
– 由软件生成/更新路由表 – 这种方式在大型网络中是必需的 – 当发生错误时,它可改变路由
14
2020/2/2
路径选择和图论的关系
图
– 节点:交换机 – 边:连接 (由点对 (src, dst)表明 )
前一课
跨越长距离提供数字通信的技术 通过本地回路给用户提供数字通信的技术
1
2020/2/2
本课
利用这些基础技术来构建分布在较大区域内的网 络
动机
– 连接多台计算机:规模很大 – 跨越很长的地理长度 – 交互的公众道路
街道 建筑物 铁路
2
2020/2/2
WAN的基本构建单元
点到点的长距离连接
Packet switches:包交换机
3
2020/2/2
包交换机
是一种硬件设备 用于连接
– 其他包交换机 – 计算机
转发数据包 利用地址机制
4
2020/2/2
包交换机图示
是一个专用计算机,具有
– 中央处理器 – 存储器 – I/O接口 – 固件
5
2020/2/2
缩水后能提高查找的效率
12
2020/2/2
广域网中的路由选择
通过增加交换机可以扩大广域网的容量
– 内部交换机:不连接计算机 – 外部交换机:直接连接计算机
路由表必须保证其有效性
– 通用路由:必须包含到每个可能目的地的下一跳路由 – 最佳路由:到达指定目的地的下一跳必须指向到达目
ቤተ መጻሕፍቲ ባይዱ每个节点
– 接受信息 – 需要的话重新计算路由
25
2020/2/2
Dijkstra’s 最短路径算法
输入
– 边上标有权的图 – 节点, n
输出
– 从 n 到每个节点的最短路径 – 每条路径的权重
称为最短路径优先 (Shortest Path First ,SPF)
算法
26
2020/2/2
9
2020/2/2
对广域网寻址的图示
地址被编码成整形(由两部分组成)
– 高字节是交换机的序号 – 低字节是计算机的序号
10
2020/2/2
下一跳转发
由包交换机执行 使用路由表 路由表给出下一跳地址:注意!,只有一个,而非一串!
11
2020/2/2
路由表缩写
多条表目指向同一个转向地址
– 从源计算机中发出 – 在交换机之间转发 – 抵达目的地
交换机-switch
– 在存储器中存储分组报文 – 检查分组报文的目的地址 – 把分组报文发送到目的地
8
2020/2/2
广域网中的物理编址
基本要求
– 每台计算机一个唯一的地址 – 高效转发
地址由两部分组成
– 包交换机的编号 – 与之相连的计算机的编号
如果不存在到 V 的本地路径,或本地路径的代价高于C,
就建立一条路径,其下一跳为 N,距离为 C
否则就ignore
22
2020/2/2
距离向量路径选择的举例
考虑 一条DV 信息的传递
节点 2 向 3, 5, 和 6发信 节点 6 建立到节点 2的路由,距离是 8
later, 3 发送信给 6 6 改变路径,把 3 作为它通向2 的下一个节点
15
2020/2/2
使用缺省路由
16
2020/2/2
最短路径的计算
来自图论中的算法 没有中心机构 (分布式计算) 每台交换机
– 必须了解到每一个目的地的路由 – 只可和与它直接连接的邻居进行通讯
17
2020/2/2
最小权路径的说明
图中边上的标记代表了节点间的距离 距离度量
– 地理长度 – 经济价值 – 容量的倒数
– 点对列表 – 每一点对形如 (终点, 距离)
接受方
– 把列表中的信息和本地路由表中的相比较 – 如果存在更好的路径则改变列表中的信息
20
2020/2/2
距离向量算法
21
2020/2/2
距离向量法的直觉理解
Let
– N :送出路由信息的相邻节点 – V :点对信息中的终点信息 – D :点对信息中的距离信息 – C : D +到发送点的距离
图中由深色描绘的是从 4 到 5的最短路径
18
2020/2/2
计算最短路径的算法
距离向量 (DV)
– 交换机相互交换路由表中信息
链路状态
– 交换机相互交换链路状态信息
这两种方法在实际应用中都有使用
19
2020/2/2
距离向量
相邻交换机周期的、双向交换信息 交换信息时, 交换机发送
举例: 从节点 6 开始的路径
– 到 3, 下一节点 = 3, 权值= 2 – 到 2, 下一节点 = 3, 权值= 5 – 到 5, 下一节点 = 3, 权值= 11 – 到 4, 下一节点 = 7, 权值= 8
29
2020/2/2
早期的广域网技术
ARPANET
– 分组报文交换,曾在历史上占有很重要的地位 – 在发明时以高速著称, 以现在的标准来看则很慢
组装一个广域网
在每个地点放置一台或多台包交换机 互连这些交换机
– 用LAN技术来处理 本地连接 – 用租用数字电路来进行长距离连接
6
2020/2/2
广域网的图示
互联的程度的取决于
– 通信量的估算 – 可靠性需求
7
2020/2/2
存储和转发
包交换机的基本模式 分组报文-packet
Dijkstra’s 算法
27
2020/2/2
算法的直观理解
从自身为源节点开始 向外扩散 在每一步
– 找到满足如下条件的节点 u
没考虑过的 最靠近源节点
– 计算
从 u 到每个相邻节点 v 的距离 如果距离较短, 则使从 u 开始的路径经过 v
28
2020/2/2
Dijkstra’s 算法的计算结果
23
2020/2/2
链路状态路径选择
克服了 DV 的不稳定性 一对交换机定期执行
– 测试它们之间的链路 – 传播链路状态信息
交换机
– 接受状态信息 – 计算新的路由 – 使用 Dijkstra’s 算法
24
2020/2/2
链路状态信息举例
假设节点 2 和3
– 测试它们之间的链路 – 传播信息
X.25
– 早期用于商业服务 – 仍然在使用 – 在欧洲比较流行
30
的地的最短路径。
13
2020/2/2
路由表信息的来源
手工
– 人工生成路由表 – 在规模较小的网络中很有用 – 在路由不会改变的网络中也十分有用
自动生成
– 由软件生成/更新路由表 – 这种方式在大型网络中是必需的 – 当发生错误时,它可改变路由
14
2020/2/2
路径选择和图论的关系
图
– 节点:交换机 – 边:连接 (由点对 (src, dst)表明 )
前一课
跨越长距离提供数字通信的技术 通过本地回路给用户提供数字通信的技术
1
2020/2/2
本课
利用这些基础技术来构建分布在较大区域内的网 络
动机
– 连接多台计算机:规模很大 – 跨越很长的地理长度 – 交互的公众道路
街道 建筑物 铁路
2
2020/2/2
WAN的基本构建单元
点到点的长距离连接
Packet switches:包交换机
3
2020/2/2
包交换机
是一种硬件设备 用于连接
– 其他包交换机 – 计算机
转发数据包 利用地址机制
4
2020/2/2
包交换机图示
是一个专用计算机,具有
– 中央处理器 – 存储器 – I/O接口 – 固件
5
2020/2/2