- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机网络课程设计实验报告
-- CSMA/CD协议仿真
学院:计算机科学与通信工程
一、CSMA/CD协议工作原理(查资料)及性能分析(指标与影响因素)
??CSMA/CD是carrier?sense?multiple?access/collision?detected?的缩写,“载波侦察听多路访问/冲突检测”,或“带有冲突检测的载波侦听多路访问”。所谓载波侦听(carrier?sense),意思是网络上各个工作站在发送数据前都要总线上有没有数据传输。若干数据传输?(称总线为忙),则不发送数据;若无数据传输(称总线为空),立即发送准备好的数据。所谓多路访问(multiple?access)意思是网络上所有工作站收发数据共同使用同一条总线,且发送数据是广播式的。所谓冲突(collision),意思是,若网上有两个或两个以上工作站同时发送数据,在总线上就会产生信号的混合,哪个工作站都同时发送数据,在总线上就会产生信号的混合,哪个工作站都辨别不出真正的数据是什么。这种情况称数据冲突又称碰撞。为了减少冲突发生后又的影响。工作站在发送数据过程中还要不停地检测自己发送的数据,有没有在传输过程中与其它工作站的数据发生冲突,这就是冲突检测(collision?detected)。?CSMA/CD媒体访问控制方法的工作原理,可以概括如下:?先听后说,边听边说;????? ?一旦冲突,立即停说;?????? 等待时机,然后再说;??注:“听”,即监听、检测之意;“说”,即发送数据之意。?上面几句话在发送数据前,先监听总线是否空闲。若总线忙,则不发送。若总线空闲,则把准备好的数据发送到总线上。在发送数据的过程中,工作站边发送检测总线,是否自己发送的数据有冲突。若无冲突则继续发送直到发完全部数据;若有冲突,则立即停止发送数据,但是要发送一个加强冲突的JAM信号,以便使网络上所有工作站都知道网上发生了冲突,然后,等待一个预定的随机时间,且在总线为空闲时,再重新发送未发完的数据。???CSMA/CD控制方式的优点是:原理比较简单,技术上易实现,网络中各工作站处于平等地位?,不需集中控制,不提供优先级控制。但在网络负载增大时,发送时间增长,发送效率急剧下降。时间片 512比特时间
帧问间隔 9.6微秒
尝试极限16
退避极限 10
人为干扰长 32比特
最大帧长 1518字节
最小帧长 512字节 地址字段长 48比特?)#include "stdafx.h"
#include "csmacd.h"
#include <cstdio>
#include <iostream>
#include <cmath>
#include <windows.h>
#ifdef _DEBUG
#define new1 DEBUG_NEW
#undef THIS_FILE HIS_FILE[]=_FILE_;
#endif
//static char T
CWinThread *thread1,*thread2; //定义变量
DWORD ID1,ID2,Bus=0; //初始化共享
UINT aThread(LPVOID pParam); //线程a,代表主机a
UINT bThread(LPVOID pParam); //线程b,代表主机b
using namespace std;
int _tmain(int argc,TCHAR* argv[],TCHAR*envp[])
{
int nRetCode=0;
if(!AfxWinInit(::GetModuleHandle(NULL),NULL, ::GetCommandLine(),0))
{
cout<<_T("Fata1 Error:MFC initialization failed")<< endl;
nRetCode=1;
}
else
{
thread1=AfxBeginThread(aThread,NULL); //启动线程a
ID1=thread1->m_nThreadID; //获取线程ID号
thread2=AfxBeginThread(bThread,NULL); //启动线程b
ID2=thread2->m_nThreadID; //获取线程ID号
getchar();
}
return nRetCode;
}
UINT aTh
您可能关注的文档
- 考研英语难句翻译.doc
- 考勤管理系统课程设计实验报告.doc
- 聊天系统的设计与开发 毕业论文.doc
- 聊天室课程设计---聊天程序的设计和实现.doc
- 聊天室毕业设计(论文)说明书.doc
- 聚酰亚胺毕业论文.doc
- 联通、电信认识实习报告.doc
- 聚氨酯课程设计.doc
- 聚酯处理釜毕业设计说明书.doc
- 聚类分析文献英文翻译.doc
- 2024(初级)社会工作者《社会工作实务(初级)》考试题库(含答案).pdf
- 高考物理总复习第五章机械能第4讲功能关系能量守恒定律必修市赛课公开课一等奖省名师优质课获奖PPT课件.pptx
- 部编版三年级语文下册《语文园地六》课件.pptx
- 2024-2030年中国中小学远程教育行业市场深度分析及发展趋势预测报告.docx
- 2024-2030年中国中药饮片加工行业市场全景监测及投资前景展望报告.docx
- 2024-2030年中国pvdf管件行业发展前景预测及投资战略咨询报告.docx
- 2024-2030年中国T恤衫行业发展监测及投资战略规划报告.docx
- 2024-2030年中国K12教育培训行业发展运行现状及投资潜力预测报告.docx
- 2024-2030年中国云印刷行业市场发展监测及投资前景展望报告.docx
- 财务管理:呆账准备的会计规定.pdf
文档评论(0)