《路由算法补充知识》由会员分享,可在线阅读,更多相关《路由算法补充知识(47页珍藏版)》请在金锄头文库上搜索。
1、0 0网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024路由技术路由技术确定路由算法确定路由算法设计目标设计目标选择类型选择类型定义最佳路径的度量准则定义最佳路径的度量准则实现路由协议实现路由协议路由传输协议路由传输协议(Routed Protocol)网间经路由被传输的协议:网间经路由被传输的协议:IP,OSI,Netware路由选择协议(路由选择协议(Routing Protocol)实现路由选择算法的协议:实现路由选择算法的协议:RIP,OSPF,BGP1 1网络与分布式系统研究室网络与分布式系统研究室(DisNet La
2、b of NWU) 9/2/20249/2/20241.路由算法需要考虑的基本因素路由算法需要考虑的基本因素1)路由算法的设计目标路由算法的设计目标2)选择最佳路由的度量参数选择最佳路由的度量参数2 2网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/20241)路由算法的设计目标)路由算法的设计目标优化:根据一定的优化准则选择最佳路径的能力优化:根据一定的优化准则选择最佳路径的能力简单:利用最少的物理资源、提供最有效的功能简单:利用最少的物理资源、提供最有效的功能稳定:经受得住各种恶劣环境的考验,故障率低稳定:经受得住各种恶劣环境的考
3、验,故障率低收敛:跟随路由更新信息变化重新计算,快速取收敛:跟随路由更新信息变化重新计算,快速取 得全网一致的最佳路由得全网一致的最佳路由灵活:快速、准确地适应各种网络环境和变化灵活:快速、准确地适应各种网络环境和变化3 3网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/20242)选择最佳路由的度量参数)选择最佳路由的度量参数路径长度路径长度由网络管理员定义每条网络链路的代价由网络管理员定义每条网络链路的代价(cost),),从源到宿的从源到宿的代价总和为路径长度。代价总和为路径长度。以路径中的站点以路径中的站点(hop)为单位,从
4、源到宿的站点数之和为路为单位,从源到宿的站点数之和为路径长度。径长度。可靠性可靠性链路数据传输的可靠性(误码率)链路数据传输的可靠性(误码率)延迟延迟数据包从源到宿需要花费的传输时间数据包从源到宿需要花费的传输时间带宽带宽链路的最大传输能力以及网络流量链路的最大传输能力以及网络流量负载负载网络资源(例如路由器的网络资源(例如路由器的CPU)的使用率的使用率通信代价通信代价占用通信线路的费用占用通信线路的费用4 4网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/20242.路由选择算法路由选择算法1)缺省路径缺省路径2)静态路由静态路由
5、3)动态路由)动态路由距离向量法距离向量法4)动态路由)动态路由链路状态法链路状态法5 5网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/20241)缺省路径()缺省路径(Default Route)什么是缺省路径?什么是缺省路径?对那些在路由表中未包含其路由选择信息的对那些在路由表中未包含其路由选择信息的信宿(网络信宿(网络/主机)设定的缺省路径主机)设定的缺省路径在路由表中信宿地址取值在路由表中信宿地址取值0.0.0.0(Default)缺省路径的作用缺省路径的作用对所有自治系统以外的信宿都采用缺省路径对所有自治系统以外的信宿都采
6、用缺省路径简化路由计算,提高寻径效率,缩短表长简化路由计算,提高寻径效率,缩短表长6 6网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024缺省路径举例网络网络A网络网络DRdb0c0f0e0Default Rd e0Default Rd f0Default Rab0Default Rac0RaRcRbRfRe7 7网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/20242)静态路由)静态路由静态路由的概念静态路由的概念静态路由工作原理静态路由工作原理路由配置举例路由配置
7、举例故障举例故障举例(网络拓扑结构变化)(网络拓扑结构变化)用人工修改配置排除故障用人工修改配置排除故障8 8网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024静态路由的概念静态路由的概念由网络管理员设置路由表由网络管理员设置路由表简单、有效,适于结构简单的网络简单、有效,适于结构简单的网络不适于拓扑结构和传输流量经常改变的不适于拓扑结构和传输流量经常改变的复杂网络复杂网络9 9网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024静态路由举例静态路由举例网络网络A网
8、络网络C网络网络BRa路由表路由表网络网络BRba2网络网络CRca3Rb路由表路由表网络网络ARab3网络网络CRcb2Rc路由表路由表网络网络BRbc2网络网络ARac3a1a3a2c3c2c1b2b3b1RaRbRc1010网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024链路发生故障链路发生故障网络网络A网络网络C网络网络BRb路由表路由表网络网络ARab3网络网络CRcb2Rc路由表路由表网络网络BRbc2网络网络ARac3a1a3a2c3c2c1b2b3b1?Ra路由表路由表网络网络BRba2网络网络CRca3RaR
9、bRc1111网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024解决办法:人工修改解决办法:人工修改网络网络A网络网络C网络网络BRb路由表路由表网络网络ARcb2网络网络CRcb2Rc路由表路由表网络网络BRbc2网络网络ARac3a1a3a2c3c2c1b2b3b1!不适于网络变化!不适于网络变化!Ra路由表路由表网络网络BRca3网络网络CRca3RaRbRc1212网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024静态路由静态路由算法算法洪泛(洪泛(flo
10、oding)算法算法:向着除了进入链路:向着除了进入链路以外的其他链路转发;以外的其他链路转发;随机算法随机算法:随机选择下一跳;:随机选择下一跳;(概率)分流算法(概率)分流算法:按照链路(静态)带宽:按照链路(静态)带宽(速率)选择下一跳(速率)选择下一跳1313网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/20243)距离向量算法)距离向量算法Distance-VectorD-V算法的基本概念算法的基本概念D-V算法的动态特性算法的动态特性D-V算法的收敛性问题及其解决办法算法的收敛性问题及其解决办法D-V算法小结算法小结14
11、14网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024A路由表路由表距离向量算法的基本概念距离向量算法的基本概念周期性地相互传递信息周期性地相互传递信息每个路由器向与它每个路由器向与它相邻的站点相邻的站点发送一个包含它到所有其他路发送一个包含它到所有其他路由器的距离的向量(最短路径或最小代价)由器的距离的向量(最短路径或最小代价)维护各自的路由表维护各自的路由表路由器根据邻居发送的距离路由器根据邻居发送的距离向量的动态信息启动算法,更向量的动态信息启动算法,更新路由表新路由表DCAB路由表路由表C路由表路由表B1515网络与分布
12、式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024D-V路由选择算法举例1616网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024距离向量距离向量法的计算举例法的计算举例ADECB718221计算从计算从E经相邻站点经相邻站点A、B和和D到达信宿到达信宿A、B、C和和D的最小代价的最小代价D (destination,neighbor)得从得从E到达信宿的最佳路径(最小代价)路由表到达信宿的最佳路径(最小代价)路由表最小代价最小代价D (des,nei)E的路由表的路由表1
13、717网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024距离向量路由算距离向量路由算法法原路由不经过原路由不经过N但距离大但距离大新路由不一定最优,但,新路由不一定最优,但,原路由可能故障原路由可能故障原路为无穷大,则取代为经原路为无穷大,则取代为经N、长度为长度为C的路由的路由1818网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024D-V网络发现过程剖析网络发现过程剖析 1 1ACB40.0.0.0 up到达信宿到达信宿40.0.0.0的路由变化的路由变化如果
14、网络中的最长路径为如果网络中的最长路径为N,则算法经过则算法经过N次迭代计算后次迭代计算后收敛。即第收敛。即第N步之后,网上的所有路由器都获得到达信宿步之后,网上的所有路由器都获得到达信宿40.0.0.0的路由信息。的路由信息。1919网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024D-V发现链路断开发现链路断开 1 1ACB40.0.0.0 down到达信宿到达信宿40.0.0.0的路由变化的路由变化C与与B之间的对话:之间的对话:C我得不到信宿我得不到信宿40.0.0.0的任何路由信息,你能告诉我如何到达信宿吗的任何路由信
15、息,你能告诉我如何到达信宿吗?B我可以到达信宿,距离为我可以到达信宿,距离为1。(传播了一条过时的错误信息)(传播了一条过时的错误信息)C既然如此,我选择经过你到达信宿的路径,距离为既然如此,我选择经过你到达信宿的路径,距离为2。2020网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024距离向量法的收敛性问题及解决办法距离向量法的收敛性问题及解决办法问题问题逐站传递更新信息,算法的收敛速度慢逐站传递更新信息,算法的收敛速度慢有可能出现各站路由信息不一致有可能出现各站路由信息不一致后果后果在站点间构成更新路由的在站点间构成更新路由
16、的路径环路径环(Routing Loops)计数至无穷大计数至无穷大(Count to Infinity)解决办法解决办法定义路径代价的最大值定义路径代价的最大值(Maximum)提高收敛速度提高收敛速度2121网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024 1 1ACB40.0.0.0 down到达信宿到达信宿40.0.0.0的路由变化的路由变化路径环路径环(Routing Loop)问题问题这条错误的路由信息在这条错误的路由信息在C与与B之间不断复制和修改,之间不断复制和修改,并在网络中传播(殃及并在网络中传播(殃及A)
17、,),形成路径传播的环路。形成路径传播的环路。2222网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024 1 1ACB40.0.0.0 down到达信宿到达信宿40.0.0.0的路由变化的路由变化严重后果:计数至无穷大严重后果:计数至无穷大2323网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024 1 1ACB40.0.0.0 down到达信宿到达信宿40.0.0.0的路由变化(定义的路由变化(定义Hop最大值为最大值为16)解决办法:定义距离的最大值解决办法:定
18、义距离的最大值收敛!收敛!2424网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024加速收敛的方法加速收敛的方法水平分割水平分割(Split Horizon)毒性逆转毒性逆转(Poison Reverse)保持计时保持计时(Hold-Down Timers)触发更新触发更新(Triggered Updates)加速方法的综合应用举例加速方法的综合应用举例2525网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024距离向量算法小结距离向量算法小结路径选择采用最短路径准
19、则,计算路径选择采用最短路径准则,计算D信宿信宿(距离,下站距离,下站);每个站点只知道自己和邻居的局部信息,在自己的刷新周每个站点只知道自己和邻居的局部信息,在自己的刷新周期到来时,根据邻居的路由变化重新启动算法;期到来时,根据邻居的路由变化重新启动算法;算法的收敛速度慢(特别是对网络崩溃)造成全网信息的算法的收敛速度慢(特别是对网络崩溃)造成全网信息的不一致,导致产生路径环,使计数至无穷大;不一致,导致产生路径环,使计数至无穷大;当路径环产生时,定义距离的最大值可防止算法进入死循当路径环产生时,定义距离的最大值可防止算法进入死循环,解决计数至无穷大问题;环,解决计数至无穷大问题;各种加速收
20、敛方法的目的在于避免路径环的形成,但不能各种加速收敛方法的目的在于避免路径环的形成,但不能从根本上杜绝这一现象的发生;从根本上杜绝这一现象的发生;在具体的路由协议中,各种加速收敛方法往往综合使用。在具体的路由协议中,各种加速收敛方法往往综合使用。2626网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/20244)链路状态()链路状态(Link-State)算法算法L-S算法的基本概念算法的基本概念L-S算法的动态特性算法的动态特性L-S算法的性能分析算法的性能分析L-S算法与算法与 D-V算法的比较算法的比较OSPF协议协议2727网
21、络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024链路状态算法的基本概念链路状态算法的基本概念链路状态算法的基本概念链路状态算法的基本概念链路状态链路状态法的计算举例法的计算举例Dijkatra算法计算结果算法计算结果2828网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024每个路由器周期性地收集和发送信息每个路由器周期性地收集和发送信息主动测试其到所有邻居的链接状态(度量值)主动测试其到所有邻居的链接状态(度量值)向所有的路由器发送(广播)自己拥有的状态信息向所有
22、的路由器发送(广播)自己拥有的状态信息得到一个全网的、动态的逻辑链路状态(得到一个全网的、动态的逻辑链路状态(L-S)图图每个路由器刷新自己的路由表每个路由器刷新自己的路由表当当L-S变化时,用最短路径优先变化时,用最短路径优先(SPF)算法重新计算本地路由算法重新计算本地路由DCAB链路状态算法的基本概念链路状态算法的基本概念_路路由由表表SPF算法算法拓扑数据库拓扑数据库(L-S图)图)SPF树树L-S包包2929网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024AEDCB212113Dijkatra最短路径算法最短路径算法
23、计算加权无向图(即计算加权无向图(即L-S图)中两个结点之间的最短路径图)中两个结点之间的最短路径对每结点赋以标注对每结点赋以标注D(v),NP(v)链路状态链路状态法的计算举例法的计算举例F3552其中其中自变量自变量v:无向无向图中的结点图中的结点函数函数D(v):到目前为止,从源点到目前为止,从源点到结点到结点v的最短路径(边长之和)的最短路径(边长之和)函数函数NP(v):沿源点到结点沿源点到结点v的的最短路径中与最短路径中与V相邻的前一结相邻的前一结点点3030网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024Dijk
24、atra算法计算结果算法计算结果AEDCB212113源点源点A到所有结点的最短路径到所有结点的最短路径F3552DFEABC11212L-S图图SPF树树3131网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024L-S算法的动态特性算法的动态特性建立建立路由表的初始过程路由表的初始过程发现新的网络发现新的网络路由表的维护路由表的维护发现拓扑变化发现拓扑变化修改拓扑数据库修改拓扑数据库计算计算SPF树树修改路由表修改路由表3232网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/2024
25、9/2/2024ACB10.0.0.040.0.0.030.0.0.020.0.0.0a0 a1b0 b1 c0 c1L-S建立路由表的初始过程建立路由表的初始过程3333网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024ACB40.0.0.0L-S网络发现过程剖析网络发现过程剖析C发现直连网络发现直连网络30.0.0.0和和40.0.0.0构造包含发现信息的构造包含发现信息的L-S报文报文(LSP)向全网广播向全网广播接收全网的其他路由器发来的接收全网的其他路由器发来的L-S报文报文根据收集的信息建立拓扑数据库根据收集的信息建
26、立拓扑数据库启动启动SPF算法以算法以C为源点计算为源点计算SPF树树建立到达所有信宿的路由表(端口和代价)建立到达所有信宿的路由表(端口和代价)c1LSP30.0.0.0c03434网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024(1)发现拓扑变化)发现拓扑变化AEDCBFNet XNet X DownNet X DownLSPLSP发现发现网络网络X不可达不可达构造构造LSP向全网广播向全网广播发现发现网络网络X不可达不可达构造构造LSP向全网广播向全网广播3535网络与分布式系统研究室网络与分布式系统研究室(DisNet
27、 Lab of NWU) 9/2/20249/2/2024(2)修改拓扑数据库)修改拓扑数据库AEDCBFNet X全网具有相同全网具有相同的的L-S逻辑图。逻辑图。3636网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024AEDCBFNet X(3)各自重新计算)各自重新计算SPF树树22331152513737网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024AEDCBFNet X根据各自计算的根据各自计算的SPF树树刷新路由表刷新路由表(4)修改各自的路由表
28、)修改各自的路由表a0a1a2Net Y路路由由表表路路由由表表路路由由表表路路由由表表路路由由表表2213838网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024L-S算法的性能分析算法的性能分析优点优点代价代价路由刷新问题路由刷新问题线路传输速率不同线路传输速率不同网络运行状态不同网络运行状态不同解决办法解决办法3939网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024L-S算法的优点算法的优点所有路由器具有相同的网络拓扑知识(所有路由器具有相同的网络拓扑知识
29、(L-S图)图)一次性、无修改地向全网广播一次性、无修改地向全网广播LSP路由器根据全局信息维护各自的路由表路由器根据全局信息维护各自的路由表保证链路状态信息的单向传播保证链路状态信息的单向传播保证算法的收敛性保证算法的收敛性4040网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024L-S算法的代价算法的代价SPF算法计算和拓扑数算法计算和拓扑数据库需要更多的据库需要更多的CPU和和内存资源内存资源网络启动时的扩散路由网络启动时的扩散路由信息(信息(flood)需要占用需要占用很多带宽资源很多带宽资源4141网络与分布式系统研究
30、室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024线路传输速率不同产生的影响线路传输速率不同产生的影响E应该选择哪棵应该选择哪棵SPF树?树?Net X DownNet X upNet X Down来自来自D来自来自A慢慢Net XE收收到的到的LSP开始开始 Net X down后来后来 Net Xup4242网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024网络的一部分已经网络的一部分已经启动,而另一部分启动,而另一部分正待启动正待启动网络的一部分刷新网络的一部分刷新速度快,而另
31、一部速度快,而另一部分刷新速度慢分刷新速度慢造成网络的不同部造成网络的不同部分拥有不同的分拥有不同的L-S图图网络运行状态不同产生的影响网络运行状态不同产生的影响4343网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024L-S对问题的解决办法对问题的解决办法减少对资源的需求减少对资源的需求尽可能降低路由刷新频度尽可能降低路由刷新频度用用Multicast取代取代Broadcast(flood)将网络拓扑结构划分为不同层次和区域将网络拓扑结构划分为不同层次和区域在层次间和区域交接处交换路由信息在层次间和区域交接处交换路由信息协调协
32、调L-S刷新刷新对对LSP加时间戳标识加时间戳标识对对LSP加序列号标识加序列号标识用分级路由管理网络的逻辑分组用分级路由管理网络的逻辑分组4444网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024D-V和和L-S算法算法的比较的比较D-V通过与邻居的信息交换通过与邻居的信息交换获得网络拓扑知识获得网络拓扑知识路由计算是增加路由器路由计算是增加路由器之间的站点数(之间的站点数(hops)定期刷新路由:收敛慢定期刷新路由:收敛慢向相邻站点传送路由表向相邻站点传送路由表的副本的副本L-S全网获得共同的全局性全网获得共同的全局性网络拓
33、扑知识(网络拓扑知识(L-S图)图)计算到达其他站点的最计算到达其他站点的最短路径(短路径(SPF准则)准则)触发刷新:收敛快触发刷新:收敛快向其他站点发送链路状向其他站点发送链路状态的动态变化态的动态变化4545网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024思考题思考题如果路由表包含全部到达信宿的路径信如果路由表包含全部到达信宿的路径信息显然有助于作出最优选择,是否可行息显然有助于作出最优选择,是否可行?会带来什么问题?会带来什么问题?如果路由表只包含相邻站点的路由信息,如果路由表只包含相邻站点的路由信息,有何优缺点,能否
34、保证得到全局最优解有何优缺点,能否保证得到全局最优解?指出默认路由的作用。指出默认路由的作用。指出静态路由与动态路由的区别。指出静态路由与动态路由的区别。如何解决如何解决D-V算法和算法和L-S算法的问题?算法的问题?4646网络与分布式系统研究室网络与分布式系统研究室(DisNet Lab of NWU) 9/2/20249/2/2024对如图所示的网络采用对如图所示的网络采用D-V水平分割法计算路水平分割法计算路由,能否避免产生路径环?由,能否避免产生路径环?从以下几方面描述从以下几方面描述D-V的工作原理的工作原理如何传播路由更新信息如何传播路由更新信息什么样的知识需要被传播什么样的知识需要被传播什么时候传播这样的知识什么时候传播这样的知识怎样存放路由更新信息怎样存放路由更新信息思考题(续)思考题(续)DBCA断开断开