- 1、本文档共45页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机网络实验报告
专业班级:
学生姓名:
学 号:
指导老师:
完成时间:
一.实验内容
1.模拟距离向量路由算法的路由表交换过程,演示每轮交换后路由表的变化。
2.实现链路状态路由算法中的最短路径算法
二. 实验目的和要求
1.实验目的
计算机网络通常使用动态的路由算法,其中距离矢量路由算法和链路状态路由算法最为常见。本章实验的目的是模拟距离矢量路由算法及链路状态路由算法,使读者熟悉路由算法的基本原理。
2.实验要求
要求在C/C++环境下,编程模拟距离矢量路由选择算法和链路状态路由选择算法中,具体要求如下:
(1)距离矢量路由选择算法
根据给出或自行设计的网络拓扑结构,初始化每个路由器的初始路由表,模拟并演示距离矢量路由选择算法过程中每个路由器在接收相邻节点发送的信息之后更新路由表的过程。
① 根据给出的网络拓扑结构初始化每个路由器的路由选择表。
② 每个路由器将其路由选择信息的列表发送给邻居路由器。
③ 路由器根据接收到的信息列表,修改自己的路由选择表。
④ 重复(b)(c)过程直到网络中所有路由器的路由选择表均不再发生改变。
在模拟上述过程中,要求显示每个路由器在执行步骤(c)之后路由选择表的内容。
(2)链路状态路由选择算法
根据给出的网络拓扑结构和链路状态,模拟链路状态路由算法中路由器进行工作的过程。
① 路由器发现其邻居节点,并测量到邻居节点的距离。
② 根据邻居节点信息构造分组。
③ 将分组发送给邻居路由器。对接收到的分组信息,将其发送给除发送节点外的其他邻节点,并向发送节点返回确认信息;若接收到的信息序号比现有序号小,则停止发送,向发送节点返回确认信息。
④ 当路由器获得所有节点的分组信息后,利用Dijkstra算法计算到达每个节点的最短路径。
三.、实验原理
编程语言: JAVA
编程工具: MyEclipse
实验实现方式:单机模拟实现
核心方法:dijkstra算法计算最短路径
分析:布置好各个模拟路由,以及路由的路程权值如何获取。
接着就是核心算法的实现,如何计算任意两个路由之间的最短路径问题。用到的是dijkstra算法。
Dijkstra算法按照从给定起点到图中顶点的距离,顺序求出最短的路径,首先,它求出从起点到最接近起点的顶点之间的最短路径,然后求出第二近的,一次类推,推而广之,再第i次迭代开始之前,算法已经确定了i-1条连接起点和离起点最近顶点之间的最短路径。
这些顶点、起点和从起点到顶点的路径上的边,构成了给定图的一颗子树Ti,因为所有边的权值都是非负数,可以从与Ti的顶点相邻的顶点中找到下一个和起点最接近的顶点。和Ti的顶点相邻的顶点的集合称为“边缘顶点”,以他们为候选对象,Dijkstra算法可以从中选出一个最接近起点的顶点。为了确定第I个最接近的顶点,对于每一个边缘顶点u,该算法求出它到最近的树中顶点v的距离以及从起点到v得最短路径长度dv的和,再从中选出具有最小和的顶点。
此次实验主要是运用路由算法来处理路由当中的一些问题,利用Dijkstra算法处理最短路径的问题,在实验中这点已经得到了充分地体现。下面是该算法的流程图:
对所有路由器采用Dijkstra算法求出其到其他路由器的最短路径。
Dijkstra最短路径算法描述如下:
Dijkstra (U, E, s) // Dijkstra算法。U:点集合, E:边集合, s:原点
S - s; // 初始化S集合
V = G – S;
While (V != null)
{
Foreach(v in V)
{
minDistance[s, v] = Infinity;
preVertex[v] = null;
Foreach(p in S)
{
If (shortestDistance[s, p] + E[p, v] minDistance)
{ //对于点p S,如果s到p的最短路径加上p到v的路径长度比目前记录的s到v的长度短,则将s到v的路径更新为通过点p到达v
minDistance[s, v] = shortestDistance[s, p] + E[p, v];
preVertex[v] = p;
}
}
}
//将minDistance中最小值对应的点u放入S
u - x, which x adjust to Min(mi
您可能关注的文档
最近下载
- 中小学开学第一课思政主题班会PPT课件.pptx
- 2024年镇江高等专科学校单招综合素质考试试题及答案解析.docx
- 2025江苏中职职教高考-语文-讲义知识考点复习资料.pdf VIP
- 附件4 盐都区河道“河长制”管理考核河道河段评分表.doc
- 医院内部控制管理手册.pdf VIP
- 初中语文七年级现代文阅读理解精选:说明文20篇(含答案).pdf VIP
- 拓尔微产品规格书TMI6263.pdf
- [中央]2023年全国市长研修学院(住房和城乡建设部干部学院)招聘社会人员 笔试上岸试题历年典型考题及考点剖析附答案详解.docx VIP
- (完整版)高一函数大题训练及答案.doc VIP
- 《固废基无熟料、少熟料硅铝质水泥》.pdf
文档评论(0)