组装一个IEEE803.3格式的帧.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
组装一个IEEE803.3格式的帧

课程设计目的 帧是在数据链路层数据进行传输与交换的基本单位。构造真对与理解网络协议的概念,协议执行过程以及网络问题以及网络问题处理的一般方法具有重要的意义。本次课程设计的目的是应用数据链路层与介质访问控制层的知识,根据数据链路层的基本概念与网络问题处理的一般方法。 课程设计的要求 编写程序,根据给出的原始数据,组装一个IEEE 803.3格式的帧。 要求程序为命令行程序。比如,可执行文件名为framer.exe,则命令行形式如下: Framer inputfile outputfile 其中 ,inputfile为原始数据文件,outputfile 为输出结果。 使用的操作系统,语言和编译环境不限,但在报告中必须注明。 输出:对应input1和input2的结果分别为output1和output2。 3.相关知识 1.真 术语“真”来源于串行线路上的通信。其中,发送者在发送数据的前后各添加特殊的字符,使他们成为一个真,Ethernet真结构,Ethernet V2.0规范和IEEE 802.3标准中的Ethernet真结构有一些差别,这里我们按802.3标准的真结构进行讨论。图3-1给出了Ethernet真结构图。 前导码 真前定界副 目的地址 源地址 长度字段 数据字段 检验字段 (7B) (1B) (2/6B) (2/6B) (2B) (长度可变) (4B) 如图上所示,802.3标准的Ethernet真结构由6部分组成。 (!)前导码与真前定界妇字段 前导码由56位(7B)…. 序列之后出现11。在11之后是Ethernet真的目的地址字段。前导码与真前定界父主要是保证接受同步,这8B接受后不需要保留,也不记入真头长度中。 (2)目的地址和源地址 目的地址(DA)与源地址(SA)分别表示真的接受结点地址与发送结点的硬件地址。 在Ethernet真中,目的地址可以是单播地址(unicast address),多播地址(multicast address)与广播地址(broastcast address)目的地址的第一位为0表示单播地址,为1表示多播地址,目的地址为全1则表示广播地址。 (3)长度字段 802.3标准中的真用2B定义数据字段包含的字节数。协议规定,真数据的最小长度为46B,最大长度为1500B。设置最小真长度的是使每个接受结点能够有足够的时间检测到冲突。 (4)数据字段 真数据字段的最小长度为46.如果贞的LLC数据少于46B,则应将数据字段填充至46B,填充字符是任意的,不记入长度字段中。 (5)校验字段 真校验字段(fcs)采用32位的crc校验。校验的范围包括目的地址字段,源地址字段,长度字段,llc数据字段。 此处,为了简便起见,采用8位的crc校验,crc校验的生成多项式为: G(x)=X8+x2+x+1 某些真结构中还有包括真类型字段,用来识别此真所承载的类型。当一个真到达指定的计算机时,操作系统根据真类型决定用哪个协议软件模块对他进行处理。自真识别的主要优点是,可以在同一物理网络中使用多个协议而互不干扰。 2.Crc校验 在前一章中我们已经介绍了差错控制在通信中的重要意义,以及简单的差错校验码计算过程。在这里我们进一步介绍循环冗余编码(Cylic Redundancy Code ,CRC)的编码方式。他是一种重要的线形分组码,编码和解码方法,具有简单,检错和纠错能力强等特点,在通信领域广泛地用于实现差错控制。实际上,除数据通信外,crc在很多领域也是大有用武之地的。 If(len==1500) { ……. Len =0; } if(len46) { For(i=len;i46;i++) { Fr.data[i]=0x00; } } data_len=len; 3.crc校验 真封装的最后一步就是对数据进行校验,并将校验结果记入校验字段。下面举例说明在本程序中是如何实现crc_8校验算法。如果用竖式除法,计算过程如下: | ———————————————————————————— 100000111 | 1001001000000000 100000111 ———————————————————— 100011000 100000111 ———————————————————— 111110000

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档