假定主机A、B同在一个10Mb/s的以太网段上,A、B共享一条通信信道,主机A、B通过CSMA/CD协议向通信信道上发送10个数据帧,设传播时延为256比特时间,不考虑传输时延。
- 使用线程模拟主机A、B,使用一个变量来模拟共享通道;
- 发送数据之前先监听96比特时间;
- 传输过程中如果发生冲突,冲突次数最多为10次,超过十次丢弃该帧,如果不超过10次,则发送48比特的拥塞信号,之后延迟一个随机时间(该时间利用指数后退算法得出),重新发送数据帧;
- 输出相关提示信息。
熟悉并掌握CSMA/CD协议的实现过程。
C++开发环境或Java开发环境。
CSMA/CD协议即带冲突检测的载波监听多路访问技术(载波监听多点接入/碰撞检测)。在传统的共享以太网中,所有的节点共享传输介质。如何保证传输介质有序、高效地为许多节点提供传输服务,就是以太网的介质访问控制协议要解决的问题。它的工作原理是:发送数据前,先侦听信道是否空闲;若空闲,则立即发送数据。若信道忙碌,则等待一段时间至信道中的信息传输结束后再发送数据;若在上一段信息发送结束后,同时有两个或两个以上的节点都提出发送请求,则判定为冲突。若侦听到冲突,则立即停止发送数据,等待一段随机时间,再重新尝试。 学生要顺利完成本实验项目所要求的内容,必须对CSMA/CD协议有充分的理解。