《计算机网络课程设计--帧封装.docx》由会员分享,可在线阅读,更多相关《计算机网络课程设计--帧封装.docx(5页珍藏版)》请在第一文库网上搜索。
1、计算机网络课程设计报告题目:帧封装一、问题描述(把你所选的题目及要求说一下)帧封装,通过输入目的地址、源地址和数据,根据数据链路层的基本原理,构造一个具体的IEEE802.3格式的帧。软件环境:MicrosoftVisua1C+6.0二、概要设计(抽象数据类型定义)帧的组成比较简单,由6个字段组成。如图所示前导码(8)目的地址(6)源地址(6)长度(2)数据(461500)校验和(4)(1)前导符:由7字节的前同步码和1字节的帧起始定界符构成。前同步码:这个字段有7个字节(56位)交替出现的1和0,它的作用就是提醒接收系统有帧的到来,以及使到来的帧与计时器进行同步。前同步码其实是在物理层添加上
2、去的,并不是(正式的)帧的一部分。前同步码的目标允许物理层在接收到实际的帧起始符之前检测载波,并且与接收到的帧时序达到稳定同步。帧起始定界符:这个字段用1字节(10101011)作为帧开始的信号,表示一帧的开始。最后两位是11,表示下面的字段是目的地址。(2)目的地址(DA)48位,表示帧准备发往目的站的地址,共6个字节,可以是单址(代表单个站)、多址(代表一组站)或全地址(代表局域网上的所有站)。(3)源地址(SA)48位,表明该帧的数据是哪个网卡发的,即发送端的网卡地址。(4)长度,表示帧的数据部分长度占两个字节。(5)数据字段的最小长度必须为46字节以保证帧长至少为64字节,这意味着传输
3、一字节信息也必须使用46字节的数据字段:如果填入该字段的信息少于46字节,该字段的其余部分也必须进行填充。数据字段的默认最大长度为1500字节。(6)帧检验序列(FCS)是32位冗余检验码(CRC),检验除前导、SFD和FCS以外的内容。当发送站发出帧时,一边发送,一边逐位进行CRC检验。最后形成一个32位CRC检验和填在帧尾FCS位置中一起在媒体上传输。接收接收后,从DA开始同样边接收边逐位进行CRC检验。最后接收站形成的检验和若与帧的检验和相同,则表示媒体上传输帧未被破坏。反之,接收站认为帧被破坏,则会通过一定的机制要求发送站重发该帧。数据帧结构:typedefstruct前导码unsig
4、nedcharprefix8;目标地址unsignedchartarget1ocation6;源地址unsignedcharSource1ocation6;数据unsignedchardata1ength2;unsignedchardata1500;int1ength;/FCSunsignedcharfcs4;frameStruct;三、详细设计(主要算法和函数间的调用关系)CRC校验算法:1 .得到要校验的数M,除数是P,余数R2 .依次向左移动M,直到位数和P相等且最高位为1,异或取得结果R3 .M向左移动一位加到R的最低位,判断R的位数是否与P相等且最高位是否为1,如果不是,执行步骤24
5、 .当移到M的最低位,异或所得结果即为校验位。/计算校验位intCOCUIateRemainder(intremainder,intbyte)(检验数intcheckNum=0x80;intCurrentBit=0;inti;for(i=0;i8;i+,checkNum=1)(CurrentBit=(byte&checkNum)=0?0X0:0X1;/首先将余数左移1位,并把当前位添加到余数的最低位remainder=1;remainder+=CurrentBit;/判断余数最高位是否为0/若为1,则将除数和余数进行异或操作,将结果保存为余数判断最高位是否为1if(remainder&0X80
6、00)!=0)为1就与除数异或remainder=remainderP;)returnremainder;)四、调试分析(调式过程中出现的问题及如何改正)CRC算法的实现,通过翻阅书籍和上网查询得到最终结果十进制转换为二进制,用到了递归思想十进制转二进制voidtenTotwo(intn)(if(n=0)return;tenTotwo(n2);printf(%d”,n%2);)五、心得体会(组内成员的分工及实习期间的体会)通过这次课程设计,我们查阅了一些帧封装的知识,对帧及其封装的方法有了一定程度的了解和掌握。从最开始对帧的一个模糊的印象到对帧的结构的掌握,有了很大的收获,并且使帧的封装得以实
7、现。它不仅巩固了我们所学过的知识,而且使我们懂得了理论与实际相结合是很重要的。只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,才能提高自己的实际动手能力和独立思考的能力。在该设计过程中我们遇到了一些问题,发现了自己的不足之处。在今后的学习当中,更加注重提高自己的动手能力。分工:文档,测试:郭洁静程序编写:徐影李翠彦六、用户手册(系统的使用方法介绍)输入目标地址,源地址,数据。ICUsersAdministratorDesktop计算机网络课程设计Debugframe.exe输入目标地址255255255255255255输入源地址111111111111输入数据uang1uo运
8、行结果如图所示:Wang1uo前导码:1010101010101010101010101010101010101010101010101010101010101011目标地址:111111111111111111111111111111111111111111111111源地址:000010110000101100001011000010110000101100001011数据长度::01110111011000010110111001100111011011000111010101101111FCS:11011100101111110100001100000001Pressanykeytocontinue