- 78
- 0
- 约1.21万字
- 约 16页
- 2019-08-06 发布于江西
- 举报
学 号:
0121110680109
课 程 设 计
题 目
模拟Ethernet帧的发送过程
学 院
计算机科学与技术学院
专 业
软件工程专业
班 级
软件ZY1101班
姓 名
李纪飞
指导教师
周彩兰
2014
年
1
月
6
日
课程设计任务书
学生姓名: 李纪飞 专业班级: 软件ZY1101
指导教师: 周彩兰 工作单位: 计算机学院
题目二: 模拟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”
时间安排:
第一、二天:查阅资料,学习算法
第三、四天:编程调试
第五天:书写报告
指导教师签名: 年 月 日
系主任(或责任教师)签名: 年 月 日
目录
TOC \o 1-3 \h \z \u 1 理论基础与开发平台 2
1.1 CSMA/CD共享介质以太网 2
1.2 以太网的工作原理 2
1.3 争用期 3
1.4 Eclipse基本介绍 3
1.5 Java Thread概述 3
2 程序设计与功能说明 4
2.1 算法设计 4
2.2 算法流程图 4
2.2.1 主程序流程图 4
2.2.2 线程运行流程图 5
2.3 数据结构 6
2.4 程序实现 6
2.4.1 Ethernet类 6
2.4.2 nThread类 7
2.4.3 EthernetRun类 9
3 运行结果与评估 10
3.1 程序运行结果 10
3.2 运行结果评估 12
4 总结与参考文献 13
3.1 课程设计总结 13
3.2 参考文献 13
摘要:用多线程争用一个内存空间来模拟Ethernet帧的发送过程。程序用Java语言编写,IDE为Eclipse。
关键字:Ethernet,以太网,线程,截二进制指数后退算法
1 理论基础与开发平台
1.1 CSMA/CD共享介质以太网
带冲突检测的载波侦听多路访问 (CSMA/CD)[1]技术规定了多台电脑共享一个通道的方法。这项技术最早出现在1960年代由夏威夷大学开发的ALOHAnet,它使用无线电波为载体。这个方法要比令牌环网或者主控制网要简单。当某台电脑要发送信息时,必须遵守以下规则:
开始: 如果线路空闲,则启动传输,否则转到第4步。
发送: 如果检测到冲突,继续发送数据直到达到最小报文时间 (保证所有其他转发器和终端检测到冲突),再转到第4步。
成功传输: 向更高层的网络协议报告发送成功,退出传输模式。
线路忙: 等待,直到线路空闲 线路进入空闲状态- 等待一个随机的时间,转到第1步,除非超过最大尝试次数。
超过最大尝试传输次数: 向更高层的网络协议报告发送失败,退出传输模式。
就像在没有主持人的座谈会中,所有的参加者都通过一个共同的媒介(空气)来相互交谈。每个参加者在讲话前,都礼貌地等待别人把话讲完。如果两个客人同时开始讲话,那么他们都停下来,分别随机等待一段时间再开始讲话。这时,如果两个参加者等待的时间不同,冲突就不会出现。如果传输失败超过一次,将采用退避指数增长时间的方法(退避的时间通过截断二进制指数退避算法(truncated binary exponential backoff)来实现)。
最初的
原创力文档

文档评论(0)