文档详情

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

发布:2016-10-19约字共15页下载文档
文本预览下载声明
计算机网络实验报告 学 院:  信息科学与工程学院 专业班级:  信息安全1302班 指导老师:     王伟平 学 号:     0906130213 姓 名:     周 怡 目录 实验一 分槽ALOHA协议仿真实验 3 一、实验目的与要求 3 二、实验内容与实现原理 3 三、编程语言和实验环境 3 四、实验具体设计实现及结果 4 五、实验总结 6 实验二Socket通信实验 7 一、实验目的和要求 7 二、实验内容与实现原理 7 三、编程语言和实验环境 8 四、实验具体设计实现及结果 8 五、实验总结 15 实验一 分槽ALOHA协议仿真实验 一、实验目的与要求 掌握VB、VC++、VS或JAVA等集成开发环境编写仿真程序的方法; 理解并掌握分槽ALOHA协议原理。 二、实验内容与实现原理 1.实验内容: 编写仿真程序,对一定网络环境下MAC层的多路访问协议的分槽ALOHA协议进行实现。通过仿真,学习协议采取的介质访问管理,包括介质分配和冲突解决机制,并对协议的性能与理论结果进行比较分析。 2.实现原理 设置各站点初始产生包的时间点及产生包的时间间隔(均为随机值),得到所有站点成功发送1000个数据包的总时间以及这段时间内所有数据包的个数(包括各站点每次新产生的包以及由于冲突而重发的包),从而计算出每包时内尝试次数及其对应的吞吐量。针对不同的包产生间隔,得到不同的每包时内尝试次数及其对应的吞吐量,将其画成一条曲线。 三、编程语言和实验环境 1.编程语言Matlab 2. 编程环境Windows(MS Visual系列,VC/VB/VS.Net;) 四 1.实验代码 for j=1:n C(1,(i-1)*n+j)=B(i,j); end end D=sort(C); %将向量按从小到大的顺序排序,用于计算两数据包之间的时间差 E=diff(D); %向量的微分,求两数据包之间的时间差,用于判断是否产生碰撞 T0=0.001; %每个数据包的宽度 N=0; %初始化N(发送成功的数据包) M=0; %初始化M,总共的数据包 for i=1:(m*n-1) %此循环用于计算M与N if D(1,i)=T %只要小于观察时间T就加1 M=M+1; if i==1E(1,1)=T0 %对于时间轴上的第1个和第m*n个数据包只需判断一个时间差,其他需要判断两个 N=N+1; elseif i==(m*n-1)E(1,(m*n-1))=T0 N=N+1; elseif i~=1i~=(m*n-1)E(1,i)=T0E(1,i-1)=T0 N=N+1; end else continue end end G=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的图像 hold on; %保留在同一张图上 end xlabel(平均交换的数据包量G); %添加X轴的标题 title(aloha算法仿真); %添加标题 legend(吞吐量S,发送成功率Q,归一化标签数F); %添加注释 grid on; %添加网格 2.实验结果 五、实验总结 这次网络实验选择了分槽ALOHA协议仿真实验做的过程中开始还是有很多很多不明白的地方不
显示全部
相似文档