资源描述:
《中南大学计算机网络实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机网络实验报告学院: 信息科学与工程学院专业班级: 信息安全1302班指导老师: 王伟平学号: 0906130213姓名: 周怡目录实验一分槽ALOHA协议仿真实验3一、实验目的与要求3二、实验内容与实现原理3三、编程语言和实验环境3四、实验具体设计实现及结果4五、实验总结6实验二Socket通信实验7一、实验目的和要求7二、实验内容与实现原理7三、编程语言和实验环境8四、实验具体设计实现及结果8五、实验总结15实验一分槽ALOHA协议仿真实验一、实验目的与要求1.掌握VB、VC++、VS或JA
2、VA等集成开发环境编写仿真程序的方法;2.理解并掌握分槽ALOHA协议原理。二、实验内容与实现原理1.实验内容:编写仿真程序,对一定网络环境下MAC层的多路访问协议的分槽ALOHA协议进行实现。通过仿真,学习协议采取的介质访问管理,包括介质分配和冲突解决机制,并对协议的性能与理论结果进行比较分析。2.实现原理设置各站点初始产生包的时间点及产生包的时间间隔(均为随机值),得到所有站点成功发送1000个数据包的总时间以及这段时间内所有数据包的个数(包括各站点每次新产生的包以及由于冲突而重发的包),从而计算出每包时
3、内尝试次数及其对应的吞吐量。针对不同的包产生间隔,得到不同的每包时内尝试次数及其对应的吞吐量,将其画成一条曲线。三、编程语言和实验环境1.编程语言Matlab2.编程环境Windows(MSVisual系列,VC/VB/VS.Net;)四、实验具体设计实现及结果(含流程图及关键代码说明)1.实验代码form=2:1:500%m表示标签数,m=2,3........500n=1000;%aloha算法,m表示m个标签,n表示重发次数A=rand(m,n);%生成一个0-1分布的矩阵,A表示m行n列的矩阵,元素为
4、0-1之间的随机数A1=0.5*A;%生成一个0-0.5分布的矩阵,假设随机退避时间服从0-0.5分布B=cumsum(A1,2);%矩阵B是对A1每列相加得到的,每列的累加和,表示随机发送的时间T=B(1,n);%T为标签均发送时间,即为观察时间,把矩阵B的第一行的最后一个元素赋给TC=1:1:(m*n);%生成一个向量fori=1:m%将矩阵B转化为向量,赋值到向量Cforj=1:nC(1,(i-1)*n+j)=B(i,j);endendD=sort(C);%将向量按从小到大的顺序排序,用于计算两数据包之
5、间的时间差E=diff(D);%向量的微分,求两数据包之间的时间差,用于判断是否产生碰撞T0=0.001;%每个数据包的宽度N=0;%初始化N(发送成功的数据包)M=0;%初始化M,总共的数据包fori=1:(m*n-1)%此循环用于计算M与NifD(1,i)<=T%只要小于观察时间T就加1M=M+1;ifi==1&E(1,1)>=T0%对于时间轴上的第1个和第m*n个数据包只需判断一个时间差,其他需要判断两个N=N+1;elseifi==(m*n-1)&E(1,(m*n-1))>=T0N=N+1;elsei
6、fi~=1&i~=(m*n-1)&E(1,i)>=T0&E(1,i-1)>=T0N=N+1;endelsecontinueendendG=T0/T*M;%仿真得到的平均交换的数据包量,由于这里假设所有数据包的宽度相同且都为T0,T为观察时间S=T0/T*N;%仿真得到的吞吐量Q=S/G;%发送成功率F=m/500;%归一化标签数,便于观察随标签数的变化其他量的变化情况plot(G,S,'r.',G,Q,'ko',G,F,'g*');%绘出G与S,Q,F的图像holdon;%保留在同一张图上endxlabel(
7、'平均交换的数据包量G');%添加X轴的标题title('aloha算法仿真');%添加标题legend('吞吐量S','发送成功率Q','归一化标签数F');%添加注释gridon;%添加网格2.实验结果五、实验总结这次网络实验选择了分槽ALOHA协议仿真实验,做的过程中开始还是有很多很多不明白的地方,不过在向同学请教以及查阅相关资料后还是成功解决了这些不明白的问题。这个实验的重点其实在于 模拟时间槽划分时间,判断每个时间槽有几个帧。时间槽可以用整数变量来操控,其它每个站发送数据的时间也可以用整数代替。判断
8、一个时间槽有几个帧,可以先对每个站发送数据的时间从小到大排序,然后再根据时间槽的范围,判断有几个站在这个时间槽发送数据。如果有两个或以上的站发送数据,那么相应站就再随机产生发送时间,记录此时有多少个帧;如果只有一个,那么就发送成功,成功发送帧数+1。如果为0帧,就继续下一个时间槽。重复以上步骤,直到成功发送数据到达预期的值。这次的实验让我基本明白了ALOHA分槽协议的原理,也让我对网络有了更深一个层