模拟总线型以太网数据帧发的送过程.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
模拟总线型以太网数据帧发的送过程

题目: 模 拟 总 线 型 以 太 网 数 据 帧 发 送 过 程 姓名: 学号: 班号: 时间:2016/10/03 计算机学院 时间: 目 录 摘 要 1 目的 1 2 要求 1 3 相关知识 1 4 实现原理及流程图 错误!未定义书签。 5 程序代码 4 6 运行结果与分析 5 7 参考文献 15 题目:模拟总线型以太网数据帧发送过程 目的 模拟总线型以太网数据帧发送过程,熟悉Ethernet的基本工作原理,特别是CSMA/CD介质访问控制方法。 要求 在一台计算机上模拟总线-台网发送过程,总线上连接的计算机个数两个,支持CSMA/CA协议(二进制指数退避算法) 已经实现了a计算机模拟发送过程,请完成b计算机模拟发送过程。 相关知识 Ethernet的核心技术是随机争用型介质访问方法,即带有冲突检测的载波监听多路访问(CSMA/CD)方法。 Ethernet的帧的发送流程 载波监听过程。Ethernet中每个结点利用总线发送数据,总线是每个结点共享的公共传输介质,所以结点在发送一个帧前,必须侦听总线是否空闲。由于Ethernet的数据采用曼彻斯特编码方式,所以可以通过判断总线电平是否跳变来确定总线是否空闲。若总线空闲,就可启动发送,否则继续侦听。 冲突检测。在数据发送过程中,可能会产生冲突(冲突是指总线上同时出现两个或两个以上的发送信号,它们叠加后的信号与波形与任何发送结点输出的信号波形不相同。因为可能有多个主机都在侦听总线,当他们侦听到总线空闲时,就会往总线上发送数据)。所以在发送数据的过程中,也应该进行冲突检测,只要发现冲突就应该停止发送数据。 随机延迟后重发。在检测到冲突,停止发送后,结点进行随机延迟后重发。若重发16次后还没成功,则宣告发送失败,取消该帧的发送。延迟计算的方法一般采用截止二进制指数后退算法.该算法可表示为:r=2^k*R*a.其中r为结点重新发送需要后退的延迟时间,a为冲突窗口值(冲突窗口为总线最大长度和电磁波在介质中的传播速度比值的二倍),R为随机数,k的取值为k=min(n,10),n为该帧已被发送的次数。 Ethernet帧接收流程 帧接收流程大致可以分为以下三个步骤: 检查是否发生冲突,若发生冲突,则丢弃该帧;若没有冲突,进入下一步 检查该帧的目的地址是否可以接收该帧,若可以接收,则进入下一步。 检查CRC校验和LLC数据长度。若都正确,接收该帧,否则丢弃。 实现原理及流程图 实现原理 重难点:1)模拟冲突的过程,在这个程序中不要使用任何线程同步机制 2)若程序不能模拟出冲突,可以在某些地方加入延时。 核心代码: UINT aThread(LPVOID pParam) { //初始化成功次数,冲突计数器,冲突窗口与随机数 int i=0; int CollisionCounter=16; double CollisionWindow=0.005; int randNum=rand()%3; Loop: //总线空闲 if(Bus==0) { //模拟发送Ethernet帧 Bus=Bus|ID1; Sleep(12); //发送过程无冲突 if(Bus==ID1) { printf(%d Send Success\n,ID1); Bus=0; CollisionCounter=16; Sleep(rand()%10); i++; printf(主机a发送成功次数= %d\n,i); //发送次数不够3次,开始下一次发送 if(i5) goto Loop; } //发送过程有冲突 else { printf(%d Send Collision\n,ID1); Bus=0; CollisionCounter--; if(CollisionCounter0) { //随机延迟重发,延迟算法用截止二进制指数后退算法

文档评论(0)

liwenhua00 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档