您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > CSU通信网原理课程设计
中南大学通信网原理课程设计报告班级:姓名:学号:指导老师:实验地点:完成日期:电子信息工程系信息科学与工程学院目录第一部分:课程设计的目的与任务...............................................................................................1一、课程设计的目的...............................................................................................................1二、课程设计的主要任务.......................................................................................................1第二部分:滑动窗口协议仿真.......................................................................................................2一、课程设计目的及要求.....................................................................................................2二、设计思想.........................................................................................................................2三、设计流程图.....................................................................................................................2四、开发环境.........................................................................................................................4五、关键代码分析.................................................................................................................4六、仿真运行.......................................................................................................................10第三部分:网络即时通讯程序.....................................................................................................11一、课程设计目的及要求...................................................................................................12二、设计思想.......................................................................................................................12三、设计流程图...................................................................................................................13四、开发环境.......................................................................................................................13五、关键代码分析...............................................................................................................14六、运行与调试...................................................................................................................20第四部分:课程设计心得体会.....................................................................................................23第五部分:参考文献.....................................................................................................................24第六部分:附录.............................................................................................................................24一、滑动窗口协议仿真.......................................................................................................24二、网络即时通讯程序.......................................................................................................331第一部分:课程设计的目的与任务一、课程设计的目的通信网原理课程设计是为电子信息工程专业本科生开设的必修课,有2学分,既是对《通信网原理》课程实验教学环节的补充,又是一门实践性很强的综合强化训练课程。计算机网络或Internet网已成为现代最重要的通信网,未来各种通信网都将以计算机网络和IP协议为核心实现互连互通。因此,本课程设计的主要任务是在掌握计算机网络TCP/IP等典型协议原理的基础上,通过编程设计对网络协议或算法进行模拟实现,并应用相应网络协议来开发一个网络应用系统。其目的是通过将理论与实践相结合,使学生进一步深入理解通信网的工作原理,掌握网络应用开发技术,学会应用所学理论知识来分析和解决实际问题,培养网络技术研究与开发的基本能力以及创新精神。二、课程设计的主要任务通过本课程教学,要求学生熟悉TCP/IP协议工作机制、熟悉基于Socket的网络通信程序的设计方法,熟练掌握至少一种编程语言及工具的使用。通过设计和调试有关程序,掌握一种网络协议或算法的编程实现方法或具体应用,同时设计一个相对独立的网络应用程序。2第二部分:滑动窗口协议仿真一、课程设计目的及要求1、程序按照滑动窗口协议实现端对端的数据传送。包括协议的各种策略,如包丢失、停等应答、超时等都应有所仿真实现。2、显示数据传送过程中的各项具体数据;双方帧的个数变化,帧序号,发送和接受速度,暂停或重传提示等。3、增加其它附加创新功能。二、设计思想滑动窗口协议是TCP使用的一种流量控制方法。本次课程设计模拟仿真1比特滑动窗口协议,即停等协议。该协议规定,发送方每发送一帧后就要停下来,等待收到接收方正确接受的确定后再继续发送下一帧。如果在规定的最大时延内没有收到接收方的确认信号,则重新发送该帧。为了确认每次发送的帧是以前发过的还是新发送的,接收方需要发送方对每一帧加一个编号。由于停等协议规定只有一帧确认发送完成后才可以发送下一帧,因而只用一比特来编号就可以了。三、设计流程图3发送方接收方发送数据确认信号新数据或重发数据最大时延处理时间4四、开发环境Window7,VC++五、关键代码分析1、定义及初始化守法窗口typedefstruct/*接收窗口*/{intr[MAXSIZE];intfront;intrear;}wrece;voidInit(wsend*ws,wrece*wr)/*对发送和接收窗口进行初始化*/{ws-front=ws-rear=0;wr-front=wr-rear=0;}2、说明发送窗口的发送情况intSEND(wsend*ws,wrece*wr,intframe){if((ws-rear+1)%MAXSIZE==ws-front)return0;/*发送窗口已5满*/if(ws-front==ws-rear)/*若窗口为空,则直接进入*/{ws-s[ws-rear].snum=frame;ws-s[ws-rear].timeout=1;ws-rear=(ws-rear+1)%MAXSIZE;wr-r[wr-rear]=frame;wr-rear=(wr-rear+1)%MAXSIZE;return1;}else/*若窗口不为空,则判断是否是可传送的帧*/{if(frame==(ws-s[ws-rear-1].snum)+1){ws-s[ws-rear].snum=frame;ws-s[ws-rear].timeout=1;ws-rear=(ws-rear+1)%MAXSIZE;wr-r[wr-rear]=frame;wr-rear=(wr-rear+1)%MAXSIZE;return1;6}elseif(frame(ws-s[ws-rear-1].snum)+1)printf(该帧已发送!!\n);elseif(frame(ws-s[ws-rear-1].snum)+1)printf(该帧不可发送!!\n);}}3、说明接受窗口的接受情形intRECE(wrece*wr,intframe,intack[]){if(wr-front==wr-rear)return0;/*接收窗口为空*/else/*接收窗口接收帧号,并返回确认*/{if(wr-r[wr-front]==frame){wr-front=(wr-front+1)%MAXSIZE;printf(第%d帧出接收窗口,向发送窗口返回确认。\n,frame);ack[i]=frame;i++;}7elseprintf(该帧不是期望收到的帧,舍弃。\n);return1;}}intACKNOWLEDGE(wsend*ws,intack[]){intj;if(ws-front==ws-rear)return0;/*发送窗口为空*/if(ack[0]==ws-s[ws-front].snum)/*发送窗口进行确认处理*/{ws-front=(ws-front+1)%MAXSIZE;for(j=0;ji;j++)ack[j]=ack[j+1];printf(发送窗口收到确认,窗口向后移动。\n);i--;return1;}elseprintf(无确认信息!!\n);}8voidPRINT(wsend*ws,wrece*wr){inta,b;a=ws-front;b=wr-front;printf(发送窗口:);while(aws-rear){
本文标题:CSU通信网原理课程设计
链接地址:https://www.777doc.com/doc-309502 .html