文档介绍:该【中南大学计算机网络实验报告 】是由【快乐蚂 蚁】上传分享,文档一共【26】页,该文档可以免费在线阅读,需要了解更多关于【中南大学计算机网络实验报告 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。中南大学计算机网络实验报告
计算机网络实验报告0909122820周建权
计算机网络实验报告
计算机网络实验报告0909122820周建权
专业班级:信安1202班
指导老师:王伟平
姓名:周建权
学号:0909122820
实验二网络路由层协议模拟实验
网络路由算法是路由器工作的核心,本实验针对因特网常用的距离向量路由算法和链路状态路由算法进行模拟实现,进一步掌握其工作原理及其相关性能。
计算机网络实验报告0909122820周建权
【实验目的和要求】
掌握VB、VC++、VS或JAVA等集成开发环境编写路由仿真程序的方法;
理解并掌握距离向量路由协议和链路状态路由协议的工作原理。
【实验内容】
。
基本要求(动态生成网络拓扑图,节点间的距离随机生成。每个节点生成自己的链路状态分组,依据收到的链路状态表得到整体网络结构,在得到的整体网络结构上用最短路径算法,生成每个节点的路由表)
进一步的要求:可以将模拟实验的每个节点程序部署在不同的电脑上,通过socket通信程序完成路由表信息或者链路状态分组的发送(与实验三结合)。请用两台机器虚拟成多个网络节点(一台机器上开启多个通信进程,每个进程虚拟成一个节点),完成每个虚拟节点的路由表生成,进而按照路由表转发数据包。
计算机网络实验报告0909122820周建权
【编程语言和环境】
编程语言C++
编程环境Windows(MSVisual系列,VC/VB/;)
【基本原理】
在一个链路状态路由选择中,一个结点检查所有直接链路的状态,并将所得的状态信息发送给网上所有的其他的结点,而不仅仅是发给那些直接相连的结点。每个节点都用这种方式,所有其他的结点从网上接收包含直接链路状态的路由信息。
每当链路状态报文到达时,路由结点便使用这些状态信息去更新自己的网路拓扑和状态“视野图”,一旦链路状态发生改变,结点对跟新的网络图利用Dijkstra最短路径算法重新计算路由,从单一的报源发出计算到达所有的结点的最短路径。
计算机网络实验报告0909122820周建权
【实现过程】
输入数据初始化连接矩阵迪杰斯特拉算法打印路径
部分代码
voidcreateGraph(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];
}
}
计算机网络实验报告0909122820周建权
voidDijkstra(int*arcs[],int*R[],intRL[],intvexnum){
//迪杰斯特拉算法
intv0;//定义源节点
bool*visit=newbool[vexnum];//已经确定最短路径的节点的集合
cout<<"请输入起始节点:";
cin>>v0;
cout<<endl;
for(intcnt=0;cnt<vexnum;cnt++){//进行主要的循环之前的初始化
visit[cnt]=FALSE;
RL[cnt]=arcs[v0][cnt];
if(RL[cnt]<INFINITY){
R[cnt][0]=v0;
R[cnt][1]=cnt;
}
}//for
RL[v0]=0;//源节点的标志
visit[v0]=TRUE;//初始化已经找到最短路径的点集合
计算机网络实验报告0909122820周建权
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);
计算机网络实验报告0909122820周建权
}//if
}//for
delete[]visit;
visit=NULL;
}//Dijkstra
【运行结果】
(两个txt文件)
拓扑图的邻接矩阵
2384
3459
2341
3931
注:
10000表示无穷大
计算机网络实验报告0909122820周建权
目标节点:0
最短路径是:
2--->0
最短路径长度:2
*********************
目标节点:1
最短路径是:
2--->1
最短路径长度:3
*********************
目标节点:3
最短路径是:
2--->3
最短路径长度:1
*********************
运行界面截图