- 138
- 0
- 约6.26千字
- 约 14页
- 2016-10-21 发布于陕西
- 举报
题目二: 模拟Ethernet帧的发送过程
初始条件:
(1)学习相关知识
(2)C/C++/VC/VB/JAVA语言
(3)PC机一台
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
编写程序模拟Ethernet节点的数据发送流程。具体要求:
1)用两个线程a和b来模拟Ethernet上的两台主机。
2)用一个双字类型变量Bus来模拟总线(将其初始化为“\0”,并且总线等于“\0”时表示总线空闲)。
3)两个子线程向总线发送自己的数据。数据用该线程的线程号进行模拟,发送数据用线程号和Bus的“或”操作进行模拟(即Bus=Bus|ID,ID为该线程的线程号)。
4)每台主机需向总线上成功发送10次数据,如果其中某次数据发送失败,则该线程结束。
5)发送流程必须遵循CSMA/CD。随即延迟算法中的冲突窗口取0.005。在数据发送成功(即Bus==ID)后,报告“ID send success”,产生冲突(即Bus!=ID)后报告“ID send conllision”,发送失败(即冲突计数值为0)后报告“ID send failure”。随着主机发送成功次数增加,报告其已发送成功的次数,如“主机A发送成功数=3”。
时间安排:
第一、二天:查阅资料,学习算法
第三、四天:编程调试
第五天:书写报告
指导教师签名: 年 月 日
系主任(或责任教师)签名: 年 月 日
目 录
1.课程设计概述 1
2.以太网的CSMA/CD协议 1
2.1 Ethernet帧的发送流程 1
2.2 Ethernet帧的接收流程 2
2.3截断二进制指数退避算法 2
2.4 Ethernet帧的发送流程图 3
3系统平台、语言和工具 3
4.设计思想 4
5.完整代码 4
6.结果截图 9
7.课程设计总结 10
本科生课程设计成绩评定表 11
1.课程设计概述
局域网技术的发展非常迅速,在企业、机关、学校的信息管理与服务领域得到广泛的应用。在早期,人们将局域网归为一种数据通信网络。随着局域网体系结构和协议标准研究的进展、操作系统的发展以及光纤技术的引入,局域网技术得到了快速发展。
目前,应用最广泛的局域网是总线型局域网,即以太网(Ethernet)。总线型局域网的核心技术是随机争用型介质访问控制方法,即带有冲突检测的载波侦听多路访问(CSMA/CD,Carrier Sense Multiple Access with Collision Detection)方法。
CSMA/CD方法用来解决多个结点共享公用总线的问题。在Ethernet中,任何结点都没有可预约的发送时间,这种介质访问控制属于随机争用型方法。
学习Ethernet技术对深入掌握局域网知识是非常重要的。本课程设计的目的是模拟Ethernet帧的发送过程,熟悉Ethernet帧的数据发送流程,即CSMA/CD工作流程。
2.以太网的CSMA/CD协议
以太网总线上只要有一台计算机在发生数据,总线传输资源就被占用,因此,在同一时间只能允许一台计算机在发生数据。Ethernet的核心技术是随机争用型介质访问方法,即带有冲突检测的载波侦听多路访问(CSMA/CD)方法。
2.1 Ethernet帧的发送流程
1)载波侦听过程。Ethernet中每个结点利用总线发送数据,总线是每个结点共享的公共传输介质。所以结点在发送一个帧前,必须侦听总线是否空闲。由于Ethernet的数据采用曼彻斯特编码方式,所以可以通过判断总线电平是否跳变来确定总线是否空闲。若总线空闲,就可以启动发送,否则继续侦听。
2)冲突检测。在数据发送过程中,可能会产生冲突(冲突是指总线上同时出现两个或两个以上的发送信号,他们叠加后的信号波形与任何发送结点的输出波形都不相同)。因为可能有多个主机都在侦听总线,当它们侦听到总线空闲时,就会往总线上发送数据。所以在发送数据的过程中,也应该进行冲突检测,只要发现冲突就应该立即停止发送数据。
发生碰撞
3)随即延迟后重发。在检测到冲突、停止发送后,结点进行随机延迟后重发。若发16次后还没成功,则宣告发送失败,取消该帧的发送。随机延迟的算法一般采用截断二进制指数退避算法。
2.2 Ethernet帧的接收流程
帧的接收流程大致可以分为以下三个步骤:
1)检查是否发生冲突,若发生冲突,则丢弃该帧;若没有冲突,进入下一步。
2)检查该帧的目的地址看是否可以接收该帧,若可以接收,则进入下一步。
检查CRC检验和LLC数据
原创力文档

文档评论(0)