- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京大学计算机网络路由选择及算法
第十讲计算机网络路由选择及算法路由选择算法熟练掌握链路状态算法熟练掌握距离矢量算法熟练掌握静态路由熟练掌握路由算法基本概念?主要内容?路由基本概念?静态路由算法?距离矢量算法?链路状态算法?阅读?5.2.1、5.2.2 ?5.2.3、5.2.4?5.2.5路由选择概述?路由器的内部结构路由选择算法路由算法的分类静态路由?非自适应算法?不根据实测或估计的网络的当前通信量和拓扑结构来作路由选择。动态路由?自适应算法?根据拓扑结构、通信量的变化来改变其路由选择。自适应路由的前提:节点间交换网络状态信息缺点优点?可提高网络性能?有助于拥塞控制?路由决策复杂?依赖于状态信息?不能太快和太慢路由算法的设计目标对随时出现的局部网络故障和负载变化迅速作出反映,理想情况下不丢失包和中断虚电路。不管运行多长时间始终稳定;在路由变化期间包可能循环通过网络,要解决;路由处理和传输的开销应小于基于某种度量获得的好处。?正确性(correctness) ?简单性(simplicity) ?健壮性(robustness) ?稳定性(stability)?最优性(optimality) ?公平性(fairness) ?有效性(efficiency)路由技术元素性能标准网络信息源信息更新跳计数成本延迟吞吐量无局部邻接全部节点节点连续定期负载变化拓扑变化决策时间决策地点包(数据报)会话(虚电路)每个节点(分布)中心节点(集中)原始节点(源端)路由性能标准成本与当前排队有关成本与数据率有关?路由性能指标?最小跳计数标准?最小成本路由?……?节点1到节点6的最短路经是1-3-6,路径长为10;?节点1到节点6的最小成本路径是1-4-5-6,路径成本4;路由决策时间与地点?决策时间?内部数据报:为每个包单独作路由决策?内部虚电路:当建立虚电路时作路由决策?决策地点?分布式路由?每个节点都负责为到达的包选择一条输出链路?集中式路由?由某些指定节点(如网络控制中心)负责决策?源路由?路由决策由源站点而非网络作出网络信息源和更新时间大多数路由决策要求根据网络拓扑、流量负载和链路成本等知识作出决定。?路由信息需求无更新更新基本上是连续的?无信息(扩散法)?局部信息?其他信息源(邻接节点,全部节点)从不更新信息不时更新信息?固定策略?自适应策略静态路由算法—最短路径选择?测量路径长度的方法子网图?节点代表路由器?弧线代表两个路由器之间的一条链路?最小跳计数?最短距离?信道带宽?传输延迟?平均通信量Dijkstra算法:找出一个节点到所有其他节点的最短路径。Dijkstra算法——初始化例1:计算A→D的最短路经?初试化测量每一条链路的长度?选择当前工作节点A(∞, -)标值其他节点到源的距离Dijkstra算法——迭代(1/3)?选择当前工作节点E(∞, -)标值其他节点到源的距离Dijkstra算法——迭代(2/3)(∞, -)标值其他节点到源的距离Dijkstra算法——迭代(3/3)从目标节点倒着往前推即可获得从源节点到当前节点的一条最短路径。扩散法(flooding)扩散法的特性?优点?健壮性?建立虚电路?广播重要信息?尝试所有可能路由?至少有一个包通过最小跳路由到达?所有与源节点连接的节点都被访问在每个包设置跳计数每个节点记下已发包要求包具有某种唯一性标识?缺点?包的拷贝呈指数增长距离矢量算法(DV)??DV算法的特点?分布的(distributed)?每个节点接收来自与其直接邻接节点的路由信息执行路由计算?将计算结果回传给直接邻接的节点?迭代的(iterative)?计算过程循环进行?直到相邻节点没有可交换的路由信息为止?异步的(asynchronous)?并不要求所有节点相互锁步操作距离矢量算法——距离Dx(Y,Z) = c(X,Z) + minw {Dz(Y,w)}其中w为Z的所有直接邻居(包括X) 距离矢量算法——距离矩阵距离矢量算法的数据结构?主要数据结构?每个节点维护的距离表(distance table)。?一个节点能得到的信息?与其直接相连链路的成本?来自邻接节点的路由信息?DV算法?用估算延迟作为性能指标?基于Bellman-Ford算法Distance Vector (DV) Algorithm. At each node, X:Initialization:for all adjacent nodes v:DX(*, v) = ∞DX(v, v) = c(X, v) for all destinations, y?把距离表中到邻居的距离设置成链路成本;?把距离表中到非邻居的距离设置成无穷大;?把到所有目的地的距离信息发给每个邻居send minwD(y, w) to each neighbor/* w over all Xs neighbor
文档评论(0)