- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
286. 计算机网络:一个开放的源代码方式。
图表 4.45 Dijkstra算法
链路状态路由
链路装调路由要求计算出全局信息的最短路径开销。全局信息是指网络拓扑的所有链路开销,也就是获得的在整个网络中链接到其它路由器的还未消失的邻近路由的每个路由的广播开销值的信息。因此,所有在网络中的路由将会存在一张惯有的网络拓扑表和链路开销Dijkstra算法正是用来计算在每个路由的最短路径开销。因为所有的路由器用相同的最短路径算法和网络拓扑去建立它们的路由表,数据包将以一跳一跳的方式被转发到最短路径上(记住网络跳数的优先级原则)。
Dijkstra算法计算了在网络中来自源节点到所有其它节点的最短路径开销,即形成了一棵最近生成树。Dijkstra算法的基本观点是反复地找出最短路径到所有的其它节点。在每一次寻找中,一个最新的从源节点到目的节点的最短路径将会被选出。也就是在此次寻找之后、最短路径、目的节点就被找到了。因此,对一个有N个节点的网络来说,Dijkstra算法将会反复地寻找N-1次。表4.45展示了Dijkstra算法的步奏。以下是具体的寻找步奏:
lc(s,v):
●lc(s,v):从节点s到节点v的链路开销。如果节点s和节点v不是直连的,那么从节点s到节点v的链路开销被置为无穷大。
●C(v):开启互为作用的两个节点,即从节点s到节点v的最短路径。
●p(v):节点v沿着最短路径紧接着的节点。
●T:被置为已知的就最短路径的节点。
最初,一个节点仅仅需要知道与它相连的还未消失的链路的开销。一个与它邻近的节点的开销被置为和它直接相连的链路的开销。这个算法主要包含了一个标记节点,T,它是在最近生成树上的。最初,T仅仅包含了源节点s。在每次迭代中,它将会选出拥有最短路径开销的节点w,C(w),
第四章.网络协议层 287
图表4.46:一个网络实例。
从那个节点开始的节点也不再生成树上。在节点w之后被增加到树上的节点i.e.,成为了标记节点T,如果来自源节点的节点v通过新加入的的节点w的开销值被减小,那么在生成树上的节点v的开销不是现有的更新。这样的循环将会被重复N-1轮,p(v)记录了最短生成树的父母。路由表将会被建立p(v)。
让我们通过一个实例来更深入的剖析Dijkstra算法。认识表中4.46的节点A是源节点。表4.47是每一轮总结的结果。起初,仅仅知道B和C的开销是4和1,D和E的开销是无穷大,因为它们与节点A不是直连。在每一轮的选举中,一个节点的最小开销不仅仅包括T,还包括选择。(如果有可能的话,可以被赋予随机选取的任何一个和值。)同样,记得跳路由最优原则。例如,D和E可以达到通过成本的总和(或E)从D到C,从C到最少的成本,现已在我们还可以观察到B的成本可以降低,如果路径遍历C,即,从A到C,然后从C到B。在第一次迭代结束时,C已被添加集合T。此外,B,D和E已经更新了他们至少成本。在第二迭代,E具有最少的成本,从而加入到T。从A到D的最低成本也被更新,因为从A到D到E的路径具有成本小于通过C的路径。继续循环,直到所有的节点都添加在T,如下所示在图4.47。从最低成本到所有其他节点的路径可以构建使用前身节点的信息。
计算机网络:一个开放的源程序方式。
图表4.48 表4.46是节点A在网络中的路由表。
距离矢量路由
距离矢量算法是另一种主要的路由算法被用在因特网中。然而链路状态算法作为一个比较集中的算法用在全局信息中,距离矢量算法是一个同步的、分散的算法用在本地信息中。它用于来自于直连邻居信息的更替。分散的Bellman-Ford算法被用于最近同步路由开销。它不像链路状态路由,它不要求所有的路由器在相同的时间里更替链路信息和计算路由表。取而代之的是,每一个路由器在收到来自于邻居的新的路由信息时将会重新计算路由。在重新计算之后,新的路由信息将会被发送到它的邻居。
图表4.49展示了距离矢量算法的步奏。最初,每个路由知道到它直连邻居的路径开销,用 Dijkstra算法,路由器之间可以知道与它直连的路由器的路径开销。当一个路由器有新的路由信息,如到目的地一个新的最低,
图表4.49 距离矢量路由算法
让我们考虑图4.46并再次以它作为一个例子,用这个例子来说明节点A计算其基于距离矢量算法的路由表。由于距离矢量算法异步运行,这是非常困难的,给予清晰的条目时,整个网络的变化在每个路由器的路由表异步。因此,在我们的例子中我们应当假装算法是同步地运行在每个路由器之间。也就是说,我们假设每个路由器交换新的路由信息的同时也交换其邻居的路由信息。经过的路由信息交换,每个路由器再同时计算出新的路由表。?“然后重复,直至每个
您可能关注的文档
最近下载
- 《万用表的使用》课件.ppt VIP
- 2025年时事政治热点题库道附参考答案.docx VIP
- 传统食品工业2025年智能化生产线设备更新改造研究报告.docx
- 新版中职英语1基础模块1Unit3 Shopping 教学设计 中职英语教案.docx VIP
- 关于成立“六项机制”建设领导小组的通知.doc VIP
- 一年级语文上册基于课程标准的教学设计(1).docx VIP
- 中小学主题班会-《筑牢网络防线,守护绿色童年》【课件】.pptx VIP
- 2025年马鞍山市公安局第三季度招聘警务辅助人员139名笔试参考题库附答案解析.docx VIP
- 服装裁剪知识.docx VIP
- 2024重庆市九龙坡区谢家湾街道专职网格员招聘考试真题及答案.docx VIP
文档评论(0)