计算机网络课程设计报告 CSMACD协议仿真.doc
《计算机网络课程设计报告 CSMACD协议仿真.doc》由会员分享,可在线阅读,更多相关《计算机网络课程设计报告 CSMACD协议仿真.doc(12页珍藏版)》请在三一办公上搜索。
1、计算机网络课程设计实验报告- CSMA/CD协议仿真学院:计算机科学与通信工程 一、CSMA/CD协议工作原理(查资料)及性能分析(指标与影响因素) CSMA/CD是carriersensemultipleaccess/collisiondetected的缩写,可译为“载波侦察听多路访问/冲突检测”,或“带有冲突检测的载波侦听多路访问”。所谓载波侦听(carriersense),意思是网络上各个工作站在发送数据前都要总线上有没有数据传输。若干数据传输(称总线为忙),则不发送数据;若无数据传输(称总线为空),立即发送准备好的数据。所谓多路访问(multipleaccess)意思是网络上所有工作站
2、收发数据共同使用同一条总线,且发送数据是广播式的。所谓冲突(collision),意思是,若网上有两个或两个以上工作站同时发送数据,在总线上就会产生信号的混合,哪个工作站都同时发送数据,在总线上就会产生信号的混合,哪个工作站都辨别不出真正的数据是什么。这种情况称数据冲突又称碰撞。为了减少冲突发生后又的影响。工作站在发送数据过程中还要不停地检测自己发送的数据,有没有在传输过程中与其它工作站的数据发生冲突,这就是冲突检测(collisiondetected)。 CSMA/CD媒体访问控制方法的工作原理,可以概括如下:先听后说,边听边说; 一旦冲突,立即停说; 等待时机,然后再说;注:“听”,即监听
3、、检测之意;“说”,即发送数据之意。 上面几句话意思是在发送数据前,先监听总线是否空闲。若总线忙,则不发送。若总线空闲,则把准备好的数据发送到总线上。在发送数据的过程中,工作站边发送检测总线,是否自己发送的数据有冲突。若无冲突则继续发送直到发完全部数据;若有冲突,则立即停止发送数据,但是要发送一个加强冲突的JAM信号,以便使网络上所有工作站都知道网上发生了冲突,然后,等待一个预定的随机时间,且在总线为空闲时,再重新发送未发完的数据。CSMA/CD控制方式的优点是:原理比较简单,技术上易实现,网络中各工作站处于平等地位,不需集中控制,不提供优先级控制。但在网络负载增大时,发送时间增长,发送效率急
4、剧下降。性能指标:信道利用率、吞吐量、介质利用率CSMACD的主要影响因素:传播时延、工作站数。CSMACD对站点个数不是很敏感,对实际的输入负载比较敏感。CSMACD对传播时延a比较敏感。CSMACD冲突不可避免。CSMACD的介质利用率随a的上升下降较快。CSMACD适合通信量不大,交互频繁的场合对于CSMACD帧越长,吞吐量越太,要求帧具有最小长度,当有许多短消息时,带宽浪费严重。CSMACD在轻负载时提供最短延迟,但对重负载敏感。主要参数:时间片 512比特时间 帧问间隔 96微秒 尝试极限16 退避极限 10 人为干扰长 32比特 最大帧长 1518字节 最小帧长 512字节 地址字
5、段长 48比特二、CSMA/CD协议基本工作流程 1.以太帧的发送流程1) 载波侦听过程。结点在发送一个帧前,必须侦听总线是否空闲。由于以太的数据采用曼彻斯特编码方式,所以可以通过判断总线电平是否跳变来确定总线是否空闲。若总线空闲,就可启动发送,否则继续侦听。2) 冲突检测。在数据发送过程中,可能会产生冲突。所以在发送数据的过程中,也应该进行冲突检测,只要发现冲突就应该停止发送数据。3) 随机延迟后重发。在检测到冲突、停止发送后,结点进行随机延迟后重发。若重发16次后还没成功,则宣告发送失败,取消该帧的发送。随机延迟的计算方法一般采用截止二进制指数后退算法。该算法可表示为:T=2*R*a。其中
6、T为结点重新发送需要的后退延迟时间,a为冲突窗口值,R为随机数,从0到2k1中取值,k的取值为min(n,10),n为该帧已被发送的次数,下图为以太帧的发送流程。发送帧装配帧总线忙?启动发送冲突?发送完成?冲突加强冲突次数加1冲突多于16?发送失败败计算后退延迟等待后退延迟时间发送成功NNNN2.以太帧接收流程帧接收流程大致可以分为以下三个步骤:1) 检查是否发生冲突,若发生冲突,则丢弃该帧,若没有冲突,进入下一步。2) 检查该帧的目的地址看是否可以接收该帧,若可以接收,则进入下一步。3) 检查CRC校验和LLC数据长度。若都正确,接收该帧,否则丢弃。三、分析、理解所给的仿真程序(对照流程图说
7、明是如何仿真的、每个sleep函数的作用)#include stdafx.h#include csmacd.h#include #include #include #include #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
8、(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)m_nThreadID; /获取线程ID号 thread2=AfxBeginThread(bThread,NULL); /启动线程b ID2=thread2-m_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络课程设计报告 CSMACD协议仿真 计算机网络 课程设计 报告 CSMACD 协议 仿真

链接地址:https://www.31ppt.com/p-2401483.html