模拟Ethernet帧的发送过程.docVIP

  • 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)

1亿VIP精品文档

相关文档