中南大学计算机网络实验报告.doc
文本预览下载声明
计算机网络实验报告
学 院: 信息科学与工程学院
专业班级: 信息安全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协议仿真实验做的过程中开始还是有很多很多不明白的地方不
显示全部