- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
暑期實训模拟CSMACD协议
学校代码:10410
序 号:
本 科 毕 业 论 文
题目: 模拟EHTERNET帧的发送与接收
学 院: 软件学院
姓 名: 余弘扬
学 号:
专 业: 软件工程
年 级: 08级
指导教师: 余鹰
二0一0 年 9月 4日
题目要求
:用C++或者是JAVA语言设计一个程序模拟EHERNET的发送和接收
要求有友好的界面.完整显示发送接收过程
需求分析:
具体实现:
1)用两个线程A和B来模拟Ehernet上的两台主机.
2)用一个int类型变量road[]数组来模拟数据总线(将其初始化为"0".并且总线等于"0"时表示总线空闲).
3)两个子线程向总线发送数据.数据用该线程的线程号进行模拟,发送数据用线程度号和road[i]的"或"操作进行模拟(即BUS=BUS|ID,ID为线程的线程度号)..
4)发送的流程须遵循CSMA/CD.随机延迟的算法中的冲突窗口取0.005.在数据发送成功(即BUS=ID)后,报告"ID成功发送",产生冲突(即BUS!=ID)后报告"ID发送时发生冲突",发送失败后(即冲突计数器值为0)后报告"ID发送失败".随着主机发送成功的次数的增加,报告其已经发送成功的次树,如"主机A发送的成功数为3"
第二章 原理分析
2.1.1 CSMA/CD是一种争用型的介质访问控制协议。它起源于美国夏威夷大学开发的ALOHA网所采用的争用型协议,并进行了改进,使之具有比ALOHA协议更高的介质利用率。另一个改进是,对于每一个站而言,一旦它检测到有冲突,它就放弃它当前的传送任务。换句话说,如果两个站都检测到信道是空闲的,并且同时开始传送数据,则它们几乎立刻就会检测到有冲突发生。它们不应该再继续传送它们的帧,因为这样只会产生垃圾而已;相反一旦检测到冲突之后,它们应该立即停止传送数据。快速地终止被损坏的帧可以节省时间和带宽。
CSMA/CD控制方式的优点是: 原理比较简单,技术上易实现,网络中各工作站处于平等地位 ,不需集中控制,不提供优先级控制。但在网络负载增大时,发送时间增长,发送效率急剧下降。
CSMA/CD应用在 OSI 的第二层 数据链路层 它的工作原理是: 发送数据前 先监听信道是否空闲 ,若空闲 则立即发送数据.在发送数据时,边发送边继续监听.若监听到冲突,则立即停止发送数据.等待一段随机时间,再重新尝试. CSMA/CD采用IEEE 802.3标准。
Ehernet帧的核心技术是随机争用型介质访问方法.即带有冲突检测的载波监听多路访问(CSMA/CD)方法
2.2 Ehernet帧的发送流程
载波监听的过程.Ehernet中的每一个结点利用总线发送的过程,总线是每个结点共享的公共传输介质.所以结点在发送一个帧前,必须侦听总线是否空闲.由于Ehernet的数据采用的曼切斯特的方式,所以可以通过判断总线电平是否跳变来确定总线是否空闲.若总线空闲,就可以启动发送,否则继续侦听.
冲突检测.在数据的发送过程中,可能回产生两个以上的发送信息,它们叠加之后的信号波形与任何发送的结点输出的信号波形不相同.因为可能有多个主机在侦听总线,当它们侦听的到总线空闲的时,都会往总线上发送数据).所以在发送数据的过程中,也应该进行冲突检测,只要发现冲突就应该停止发送数据.
以太网使用的截断二进制指数退避算法来解决碰撞问题.截断二进制指数退避算法并不复杂.这种算法让发生碰撞的站在停止发送数据后,不等待信道变为空闲后就立即再发送数据,而是推迟(这也叫作退避)一个随机的时间.这样做是为了使重传时再次发送的冲突的概率减少.具体的退避算法如下:
①确定基本的退避时间,它就是争用期为2t.以太网把争用期定为:51.2微秒.对于10M/S的以太网,在争用期内可以发送512bit.即64字节,也可以说争用期是512比特的时间.1比特的时间就是发送1比特所需要的时间.所以这种时间单位和数据率密切相关.
②从离散的整数集合【0,1,...,(2的K次方-1)】中随机取出一个整数,记为r.重传应推后的时间r倍的争用期.上面的参数K按照下面的公式来计算
K=Min【重传次数.10】
可见当重传次数不超过10 的时候,参数K等于重传次数;但当重传次数超过10 次时,K就不再增大而一
文档评论(0)