1 / 15
文档名称:

中南大学计算机网络实验报告.doc

格式:doc   大小:526KB   页数:15页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

中南大学计算机网络实验报告.doc

上传人:水中望月 2019/11/12 文件大小:526 KB

下载得到文件列表

中南大学计算机网络实验报告.doc

文档介绍

文档介绍:--------------------------校验:_____________-----------------------日期:_____________中南大学计算机网络实验报告计算机网络实验报告专业班级:信安1202班指导老师:王伟平姓名:周建权学号:0909122820实验二网络路由层协议模拟实验网络路由算法是路由器工作的核心,本实验针对因特网常用的距离向量路由算法和链路状态路由算法进行模拟实现,进一步掌握其工作原理及其相关性能。【实验目的和要求】掌握VB、VC++、VS或JAVA等集成开发环境编写路由仿真程序的方法;理解并掌握距离向量路由协议和链路状态路由协议的工作原理。【实验内容】。基本要求(动态生成网络拓扑图,节点间的距离随机生成。每个节点生成自己的链路状态分组,依据收到的链路状态表得到整体网络结构,在得到的整体网络结构上用最短路径算法,生成每个节点的路由表)进一步的要求:可以将模拟实验的每个节点程序部署在不同的电脑上,通过socket通信程序完成路由表信息或者链路状态分组的发送(与实验三结合)。请用两台机器虚拟成多个网络节点(一台机器上开启多个通信进程,每个进程虚拟成一个节点),完成每个虚拟节点的路由表生成,进而按照路由表转发数据包。【编程语言和环境】编程语言C++【基本原理】在一个链路状态路由选择中,一个结点检查所有直接链路的状态,并将所得的状态信息发送给网上所有的其他的结点,而不仅仅是发给那些直接相连的结点。每个节点都用这种方式,所有其他的结点从网上接收包含直接链路状态的路由信息。每当链路状态报文到达时,路由结点便使用这些状态信息去更新自己的网路拓扑和状态“视野图”,一旦链路状态发生改变,结点对跟新的网络图利用Dijkstra最短路径算法重新计算路由,从单一的报源发出计算到达所有的结点的最短路径。【实现过程】(int*arcs[],int&num){//创建并初始化网络拓扑图 cout<<"请输入路径的权值(用邻接矩阵表示拓扑图的方式):"<<endl; for(inti=0;i<num;i++){ arcs[i]=newint[num]; for(intj=0;j<num;j++) cin>>arcs[i][j]; }}voidDijkstra(int*arcs[],int*R[],intRL[],intvexnum){//迪杰斯特拉算法 intv0;//定义源节点 bool*visit=newbool[vexnum];//已经确定最短路径的节点的集合 cout<<"请输入起始节点:"; cin>>v0; cout<<endl; for(t=t<t++){//进行主要的循环之前的初始化 t]=FALSE; t]=arcs[v0][cnt]; if(t]<INFINITY){ t][0]=v0; t][1]=cnt; } }//for RL[v0]=0;//源节点的标志 visit[v0]=TRUE;//初始化已经找到最短路径的点集合 for(inti=1;i<vexnum;i++){//dijkstra算法的主要循环 intmin=INFINITY; intv=v0; for(intj=0;j<vexnum;j++) if(!visit[j]) if(RL[j]<min){ v=j; min=RL[j]; } visit[v]=TRUE;//离v0顶点最近的v加入到s集 for(intk=0;k<vexnum;k++)//更新当前最短路径及距离 if(!visit[k]&&(min+arcs[v][k]<RL[k])){ //modifyshortestr[j]andRL[j] RL[k]=min+arcs[v][k]; updateRouteLen(R[k],R[v],k,vexnum); }//if }//for delete[]visit; visit=NULL;}//Dijkstra【运行结果】(两个txt文件)拓扑图的邻接矩阵2384345923413931注:10000表示无穷大目标节点:0最短路径是:2--->0最短路径长度:2*********************目标节点:1最短路径是:2--->1最短路径长度:3*********************目标节点:3最短路径是:2--->3最短路径长度:1*********************运行界面截图【实验总结】:路由信息的一致性好,坏消息也一样传播得快;状态分组的长度较短,仅包含到邻接点的距离、序号和年龄等,与网络规模关系不大,传输所耗用的网络带宽不大