1 实验一 CSMA/CD 协议模拟实验 一、实验目的 以太网是目前应用最广泛的局域网
本课程设计的目的是通过模拟以太帧的发送过程,使大家能进一步理解和掌握以太网核心协议CSMA/CD
二、实验要求 编写程序模拟以太结点的数据发送流程
具体要求: 1) 用两个线程a 和b 模拟两台主机
2) 用一个双字类型变量Bus 来模拟总线(将其初始化为“\0”,并且总线等于“\0”时表示总线空闲)
3) 两个子线程向总线发送自己的数据
数据用该线程的线程号进行模拟,发送数据用线程号和Bus 的“或”操作进行模拟(即 Bus=Bus|ID,ID为该线程的线程号)
4) 每台主机须向总线上成功发送10 次数据,如果其中某次数据发送失败,则该线程结束
5) 发送流程须遵循 CSMA/CD
随机延迟算法中的冲突窗口取 0
在数据发送成功(即 Bus==ID)后,报告“ID send success”,产生冲突(Bus
=ID)后报告“ID send conllision ”,发送失败(即冲突计数器值为0)后报告“ID send failure”
随着主机发送成功次数增加,报告其已发送成功的次数,如“主机A 发送成功数=3”
2 三、相关知识 1
CSMA/CD 协议工作原理及性能分析 以太网的核心技术是随机争用型介质访问控制方法,即带有冲突检测的载波侦听多路访问CSMA/CD 方法
它的工作原理是: 发送数据前先侦听信道是否空闲,若空闲,则立即发送数据
若信道忙碌,则等待一段时间至信道中的信息传输结束后再发送数据;若在上一段信息发送结束后,同时有两个或两个以上的节点都提出发送请求,则判定为冲突
若侦听到冲突,则立即停止发送数据,等待一段随机时间,再重新尝试
其原理简单总结为:先听后发,边发边听,冲突停发,随机延迟后重发
性能指标:信道利用率、吞吐量、介质利用率等