




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 设计报告课 程 计算机网络 设计名称 帧 封 装 专业班级 同组人姓名 同组人学号 实验日期 指导教师 成 绩 2012年 3月 20日一、设计目的和要求1、实验目的 编写程序,根据给出的原始数据,组装一个ieee 802.3格式的帧(题目)默认的输入文件为二进制原始数据(文件名分别为input1和input2)。 要求程序为命令行程序。比如,可执行文件名为framer.exe,则命令行形式如下:framer inputfile outputfile,其中,inputfile为原始数据文件,outputfile为输出结果。 输出:对应input1和input2得结果分别为output1和ou
2、tput2。2、实验要求 编写程序,根据给出的原始数据,组装一个ieee 802.3格式的帧(题目)默认的输入文件为二进制原始数据(文件名分别为input1和input2)。 要求程序为命令行程序。比如,可执行文件名为framer.exe,则命令行形式如下:framer inputfile outputfile,其中,inputfile为原始数据文件,outputfile为输出结果。输出:对应input1和input2得结果分别为output1和output2二、设计说明(包括设计分析,系统运行环境,设计中的重点和难点,输入和输出输出条件等)帧:来源于串行线路上的通信。其中,发送者在发送数据的
3、前后各添加特殊的字符,使它们成为一个帧。ethernet从某种程度上可以被看作是机器之间的数据链路层连接。按802.3标准的帧结构如下表所示(802.3标准的ethernet帧结构由7部分组成)802.3标准的帧结构前导码帧前定界符目的地址源地址长度字段数据字段校验字段7b1b(2/6b)(2/6b)(2b)(长度可变)(4b)其中,帧数据字段的最小长度为46b。如果帧的llc数据少于46b,则应将数据字段填充至46b。填充字符是任意的,不计入长度字段值中。在校验字段中,使用的是crc校验。校验的范围包括目的地址字段、源地址字段、长度字段、llc数据字段。循环冗余编码(crc)是一种重要的线性
4、分组码、编码和解码方法,具有简单、检错和纠错能力强等特点,在通信领域广泛地用于实现差错控制。crc校验码的检错能力很强,不仅能检查出离散错误,还能检查出突发错误。利用crc进行检错的过程可简单描述如下:在发送端根据要传送的k位二进制码序列,以一定的规则产生一个校验用的r位监督码(crc码),附在原始信息的后边,构成一个新的二进制码序列(共k+r位),然后发送出去。在接收端,根据信息码和crc码之间所遵循的规则进行检验,以确定传送中是否出错。这个规则在差错控制理论中称为“生成多项式”。crc的基本实现前导码帧前定界符目的地址源地址长度字段数据字段校验字段7b1b(2/6b)(2/6b)(2b)(
5、长度可变)(4b)循环冗余校验码的特点:(1)crc校验码可检测出所有单个错误。(2)crc校验码可检测出所有奇数位错误。(3)crc校验码可检测出所有双位的错误(4)crc校验码可检测出所有小于、等于校验位长度的突发错误。(5)crc校验码可以的概率检测出长度为(k+1)位的突发错误。实验分析: 填充帧头部字段 要完成一次帧封装的过程,首先要完成的就是帧头部的装入,这一过程只要将签到码、定界符、目的地址、源地址、长度字段的相应数值按顺序写入就可以了。其中,长度字段的值即为要发送的数据的实际长度。 填充数据字段在填充数据字段的过程中要注意的主要问题是数据字段的长度。802.3标准中规定了帧数据
6、字段的最小长度为46b,最大长度为1500b。如果数据不足46b,则需要通过填充0来补足;若数据长度超过1500b,则的大奖超过部分封装入下一个帧进行发送。 crc校验 帧封装的最后一步就是对数据进行校验,并将校验结果记入帧校验字段。三、系统详细设计(包括程序流程、主要函数等)程序流程图:crc计算流程图:四、程序源代码及注释序源代码:#include#include#includevoid main(int argc,char*argv) /如果输入命令行不正确,则输出提示后退出。 if(argc!=3) coutendl请按以下格式输入:framer inputfile outputfil
7、eendl; exit(0); /打开指定的输出文件,以二进制方式打开并可读可写,如文件存在,则清除其内容。 fstream file(argv2,ios:out|ios:in|ios:binary|ios:trunc,0); for(int i=0;i8); file.put(char(length&0xff);/将文件长度值按照逆序写入到输出文件的长度字段中。 file.write(data,length);/将data内容写入到输出文件中。 /如果输入文件长度不足b,则用补足b。 if(length46) for(int j=length;j46;j+) file.put(char(0x
8、00); file.put(char(0x00);/将数据字段后添加个 file.seekg(8,ios:beg);/将读指针指向目的地址字段,从此处开始crc计算 unsigned char ch;/ch用来保存读入的字符。 unsigned char crc=char(0x00);/余数初始值为。 while(1)/进行crc计算 file.get(ch); if(ch=0xff)/判断是否到了文件结尾,如果是,则退出循环。 break; for(i=0;i8;i+)/对入读入的字符的位分别处理。 if(0x80=(crc&(0x80)/当前余数最高位为,需要进行除法运算。 crc=(cr
9、c7);/将输入数据相应的值递补到余数末位。 crc=crc(0x07);/进行除法运算,即与除数的低位相异或。 else/当前余数的最高位为,不需要进行除法运算。 crc=(crc7);/将输入数据相应位的值递补到余数末位。 ch=ch1;/读到的字符左移位,使数据下一位作为输入位。 file.clear(); file.seekp(-1,ios:end);/将写指针移到输出文件的最后。 file.put(crc);/写入crc码。 file.close(); infile.close();/关闭输入文件和输出文件。 coutendl数据帧文件argv2 封装完成endl;五、实验数据、结果
10、分析运行结果:运行结果如下所示:执行framer.exe文件的结果如下所示:六、总结 实现帧的封装,主要是将帧的七个部分-前导码、帧前定界符、目的地址、源地址、长度字段、数据字段和校验字段,一个一个按顺序封装的,最后使得一个帧的封装得以完成。同时,在编写程序的过程中,用到了很多的函数,这些函数的运用使得程序简便而且正确的运行出来。通过此次短暂的课程设计,我们小组成员都是深有感触。从一开始的构思再到今天写下这份总结。期间经历的时间虽然短暂但是也学到了不少的知识。在课程设计刚刚开始构想的时候只有大体的思路,忽略了一些细节,因此在我真正做设计网络方案时发现有很多错误,有的时候要解决一个错误反反复复会
11、花上很多时间。在做的过程中,也会有很多意想不到的错误,其中有的错误到最后解决的时候却是发现犯得很幼稚,不过这样的错误多了,在不知不觉中对一些命令知识分外的熟悉了起来,并且自身的排错能力也得到很大的提高。此次的网络课程设计,让我们第一次摸索网络的需求去搭建一个符合要求的基本的网络,在设计过程中总是会遇到一些很小的问题,虽然不明显,却可以影响到整个网络的安全运作。这样一个小小的网络,却是通过一次次的搭建,修改之后的结果,真是令人感慨万千。第一次的方案设计虽然有所困难,却也使我们更加深入的了解各个设备的如何搭建能使网络变得更加安全,更加快捷。并将平时所学的知识第一次融会贯通。也明白了设计一个网络是需
12、要花费很多精力去构思的,其间的财富是任何时候的上课实验所不可比拟的。在这次实习过程中,我们发现平时学习的知识与实践环节所用到的有一定的差距,往往我们觉得自己掌握的很好或者自认为熟练的技术却在此次实践环节中往往出问题,书本上的知识只提供方法的借鉴,实践中自己必须摸索出适合具体工作的方法,这一切都离不开钻研精神与勤学好问的精神在人与人相处过程中我收获更大,首先要谦虚谨慎,不能自以为是,认为自己懂得很多,而仅仅埋头苦干,而不向他人请教,工作不但是实践与应用的过程,同时也是学习的过程,我们必须加强与他人的沟通学习,以便获得与他人的交流。这次帧封装网络方案设计让我们把属于这方面的各个知识点从各方面收集过来,根据网络要求设计了拓扑图,完成后台的配置,在进行一遍一遍的测试,仔细的编写文档。在完成的过程中去完善更多的方面,使设计的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 涵管填筑安全教育培训课件
- 设备安全知识培训目的课件
- 海门小豆芽艺术殿堂课件
- 海边团建安全培训总结课件
- 设备安全操作培训要求课件
- 海航航空安全培训课件
- 江苏省淮安市清江浦中学2026届九年级化学第一学期期中质量跟踪监视模拟试题含解析
- 设备安全培训讲话课件
- 担保借款合同(连带责任)与担保借款合同5篇
- 海百合课件专家笔顺
- 中学校长在2025年秋季学期开学典礼上致辞:在时光里耕耘在成长中绽放
- 2025年新形势下新型储能发展趋势分析报告
- 2025年医疗器械注册与备案管理办法试题(附答案)
- 小学道德与法治五年级上册《烟酒有危害》教学课件
- 2025年登革热防控试题(附答案)
- 2025-2026学年人教版小学数学四年级上册教学计划及进度表
- 2025年承包学校食堂餐饮废弃物处理合同
- 2024年安徽大学招聘真题(行政管理岗)
- 部编版道德与法治小学四年级上册期末复习专练试题及答案(全套)
- 2025年发展对象培训班考试题库并带答案
- GB/T 10257-2025核仪器和核辐射探测器质量检验规则
评论
0/150
提交评论