基于DV算法的路由器模拟设计与实现实验报告实验设计.docxVIP

基于DV算法的路由器模拟设计与实现实验报告实验设计.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
()+i);routerTables[i]=newRouterTable();routerTableng[]args){newRoutersStart();}}packagemainManager;1;52/56}/***getters*return*/和setters方法相应的属性值 ()+i);routerTables[i]=newRouterTable();routerTable ng[]args){newRoutersStart();}}packagemainManager;1 ;52/56}/***getters*return*/和setters方法相应的属性值publicv if(dissNew[i]16){dissOld[i]=dissNew[i]+1;}else{di 学 姓 日 院: 名: 期: 基于 DV算法的路由器设计与实现 实验报告 1 / 56 RouterTable().getDistance()[i]=16;router.getRouteroidrun(){if(lastTime==router.getLastTimeMaps().get************/sendSocket=newDatagramSocket();TotalP;}/**55/56*getters*return*/和setters方法相应的属性值 RouterTable().getDistance()[i]=16;router.getRouter oidrun(){if(lastTime==router.getLastTimeMaps().get ************/sendSocket=newDatagramSocket();TotalP ;}/**55/56*getters*return*/和setters方法相应的属性值publicv 1.深入理解分布式路由选择算法,以最简单的DV算法来增强对路由算法的 认识 2.理解、掌握和利用距离向量算法 3.所实现的路由器模拟 Internet 上的 IP 路由器。它能确定网络的最短路由, 并在这些利用上传输分组 二. DV算法描述 距离矢量算法,也称为 Bellman-Ford shortest path algorithm ,每个路 由器都定期或拓扑结构突发变化时与其相邻的所有路由器交换路由表,据此更新 它们自己的路由表。 DV 算法工作方式:每个路由器维护一路由表,表中分为三个表项:目的地 址,列出了当前可达的目的网络地址;到达目的地址下一跳,列出了下一跳的 IP 地址;到达目的地址的代价,以距离或跳数为表征。 路由表更新规则: 1 .发现了一条到达某目的的新路由,而该路由在原来的路由表中不存在(即 发现了一条新路由),则在路由表中增加该路由。 2 .发现了一条到达某目的的、距离更短的新路由,则用该路由替换原有的 路由。 3 .到达某目的的一条路由,其后继结点到达该目的地的距离发生了变化, 则需要更新该路由的距离。 在此实验当中, 为了实现和模拟的方便,刚开始初始化生成一个网络连接图 的 二 维数组( 见 mainManager/RoutersInit.java ,初始 化 的 二 维数组是 entity/NetMap.java );每个路由器类包括了路由器 ID, 端口,routerTable 对象, 还有两个 HashMap(一个存储为每一个相邻路由器的计时器,一个存储每一个相 邻路由器的上一次交流时间); 路由表采用了两个数组来实现,一个数组存储到各 个网络的下一跳, 一个数组存储到各个网络的跳数, 如下结构, 以路由器一为例, (路由表的默认数组和两个真是数组的显示信息,其中下一跳是 0 表示不可达的 下一跳,不是 0 如 2004 表示下一跳是 2004,在距离数组里,如果是 16 表示不 可达, 如果是 0,表示到本身路由,不是 0 或 16 表示可达且跳数为该数值),如 下图路由表左边方框中的信息 所示: 2 / 56 要求对这个连接图的二维数组解析,进行 DV算法的模拟。 要求对这个连接图的二维数组解析,进行 DV算法的模拟。 2 .发送分组:每个数字代表一个数据分组发送请求;数据分组发送到数字 代表的目的地; 如果目的结点不是邻居结点, 不能直接发送分组, 而必须在路由 的各个结点上沿路由转发该分组。 收到数据分组的结点必须输出一行, 在路由表中,只登记下一跳而不是完整路由,以真实模拟路由器的 DV算法 处理。转发分组时,严格按照路由表进行转发。如上图,路由器的连接信息在上 面图片的左部区域, 右部区域分为两部分(一个是路由器接到相邻路由器发来的 路由表的实时-------我设置的是每 1 秒更新一次-------信息

文档评论(0)

贤老师精品资料 + 关注
实名认证
文档贡献者

一线教师,欢迎下载

1亿VIP精品文档

相关文档