第2章 Ethernet帧结构解析程序.pptVIP

  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文档。上传文档
查看更多
“十一五”国家重点图书 计算机科学与技术学科前沿丛书 计算机科学与技术学科研究生系列教材(中文版) 计算机网络 高级软件编程技术 吴功宜 董大凡 王 珺 刘 乾 第2章 Ethernet帧结构 解析程序 概述 帧是网络中基本传输单元,熟悉帧结构对于理解网络协议的概念、协议执行过程以及网络层次结构具有重要的意义 提纲 编程训练目的 编程训练要求 相关知识介绍 程序设计分析 扩展与提高 编程训练目的 根据局域网MAC子层的基本原理,通过解析Ethernet帧,掌握帧结构的各个字段含义以及帧的接收过程,加深对MAC子层设计思想与设计方法的理解 掌握Ethernet帧结构解析软件设计与编程实现的方法 掌握帧CRC校验算法原理与编程实现方法 提纲 编程训练目的 编程训练要求 相关知识介绍 程序设计分析 扩展与提高 编程训练要求 编写程序, 解析Ethernet V2.0格式的帧封包文件: 程序为命令行程序,命令行格式如下: FrameParser.exe inputfile 其中,inputfile为Ethernet帧封包文件。 帧解析的结果显示在控制台上,格式为: 序号:1(表示第n帧) 前导码:xx xx xx xx xx xx xx 帧前定界符:xx 目的地址:xx-xx-xx-xx-xx-xx 源地址:xx-xx-xx-xx-xx-xx 类型字段:xx xx 数据字段:…… CRC校验(正确):xx 或 CRC校验(错误):xx 应为:xx 状态:Accept 或 Discard 程序运行的参考界面 提纲 编程训练目的 编程训练要求 相关知识介绍 程序设计分析 扩展与提高 帧结构 Ethernet V2.0的帧结构 802.3标准的帧结构 Ethernet帧的接收流程分析 CRC校验 CRC是一类重要的线性分组码,编码和解码方法简单,检错和纠错能力强 它是目前应用最广泛的检错编码方法之一,广泛应用于通信和测控领域 CRC校验——工作原理 在发送端用生成多项式G (x)去除发送数据多项式f (x) ,求得一个余数多项式。将余数多项式附在数据多项式之后发送到接收端 在接收端用同样的生成多项式G (x)去除接收数据多项式f (x) ,得到计算余数多项式 通过计算余数多项式与接收余数多项式是否相同来判断是否在传输过程中出现差错 CRC校验——硬件电路实现 计算CRC-8(x8+x2+x1+1)的硬件电路实现 提纲 编程训练目的 编程训练要求 相关知识介绍 程序设计分析 扩展与提高 CRC-8校验算法的实现 提纲 编程训练目的 编程训练要求 相关知识介绍 程序设计分析 扩展与提高 扩展与提高 扩展与提高 *《计算机网络高级软件编程技术》 (4B) (46~1500B) (2B) (6B) (6B) (1B) (7B) 帧校验 数据 类型 源地址 目的地址 帧前 定界符 前导码 (4B) (46~1500B) (2B) (2/6B) (2/6B) (1B) (7B) 校验 字段 数据 长度 源地址 目的地址 帧前 定界符 前导码 把register8中的值置为0; // register8是一个8位的寄存器 在原始数据input后添加8个0; while(数据未处理完){ if(register8首位是1){ register8中的数据左移1位; if(从input中读入的新的数据为1){ 将register8的最低位置1; } register8 = register8 XOR } else{ register8中的数据左移1位; if(从input中读入的新的数据为1){ 将register8的最低位置1; } } } CRC-32校验查表法实现 串行方法算法简单,易于实现,对任意长度的生成多项式都适用,但是它一次只能处理一位数据,效率太低。为了提高处理效率,可以一次处理4 位、8 位、16 位或32 位 程序分两步实现: 计算参数表,计算校验码时只要从表中查找对应的值进行处理即可 计算CRC校验码

文档评论(0)

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

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

1亿VIP精品文档

相关文档