计算机网络原理实验八实验报告

计算机网络原理实验八实验报告

ID:9485060

大小:125.50 KB

页数:12页

时间:2018-05-01

计算机网络原理实验八实验报告_第1页
计算机网络原理实验八实验报告_第2页
计算机网络原理实验八实验报告_第3页
计算机网络原理实验八实验报告_第4页
计算机网络原理实验八实验报告_第5页
资源描述:

《计算机网络原理实验八实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验八、LinkStatesAlgorithm的实现序号:姓名:学号:成绩指导老师:刘春花,刘宇1.实验目的:通过编程模拟实现LSA.2.实验环境:VS.net软件开发平台,可以使用任何编程语言。3.实验要求(1)求网络中任何两个结点之间的最短路径(网络中至少有4个节点)。(2)得到任何一个节点上的转发表。4.实验分析,回答下列问题(1)给出LSA算法的主要思想。(1)邻居节点发现与测试:各节点主动测试所有与之相邻的节点的状态。方法是周期性的向邻居节点广播简短的查询报文,通过接收邻居节点的响应报文来获取与邻居的状

2、态信息。 (2)链路状态信息发布:根据收集到的状态信息,构造一个包含所有邻居列表在内的分组LS,并通过洪泛法通告给算法作用区域内的所有节点。 (3)路由选择算法:收到LS分组的节点,采用Dijkstra算法,为每个节点选择最短的路径。(2)通过图表算出任何两个节点之间的最短路径,并给出每个节点上的转发表。代码#defineMAX20//图中顶点数的最大值#defineMAXedg30//图中边数的最大值#include#include#include#in

3、cludetypedefintAdjMatrix[MAX][MAX];typedefstruct{intvexs[MAX];AdjMatrixarcs;}MG;//图的矩阵表示法。voidDijkstra(intn,intv,int*RW,int*R,int*MG[]){inti;intj;intmaxint=00000;//定义一个最大的数值,作为不相连的两个节点的代价权值int*s;//定义具有最短路径的节点子集ss=(int*)malloc(sizeof(int)*n);//初始化最小路径

4、代价和前一跳节点值for(i=1;i<=n;i++){RW[i]=MG[v][i];//初始化V对应的的其余点的权重s[i]=0;//现在该点不属于节点子集if(RW[i]==maxint)//初始化会回溯路径{R[i]=0;}else{R[i]=v;}}RW[v]=0;s[v]=1;//源节点作为最初的s子集for(i=1;i

5、=j;temp=RW[j];}}s[u]=1;//计算加入新的节点后,更新路径使得其产生代价最短for(j=1;j<=n;j++){if((!s[j])&&(MG[u][j]

6、oc(sizeof(int)*(n+1));//回溯路径while(w!=v){count++;way[count]=R[w];w=R[w];}//输出路径printf("最优路径:");for(j=count;j>=1;j--){printf("%d->",way[j]);}printf("%d",u);}voidDijkstra(int,int,int*,int*,int*[]);voidShowPath(int,int,int,int*,int*);voidmain()//主函数{charchoic

7、e='x';while(1){system("cls");printf("tt************************************");printf("ttt1.查找两节点间最短路径:");printf("ttt2.退出");printf("tt************************************");printf("Pleaseenteryourchoice(1/2):");choice=getchar();

8、switch(choice){case'1':{inti,j,t;intn,v,u;int**MG;//矩阵int*RW;//最短路径代价int*R;//回溯节点printf("请输入结点个数:");scanf("%d",&n);printf("结点之间的链接代价为:");MG=(int**)malloc(sizeof(int)*(n+1));//构建动态存储矩阵fo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。