帧封装课程设计报告

上传人:飞*** 文档编号:32974263 上传时间:2018-02-13 格式:DOC 页数:18 大小:929KB
返回 下载 相关 举报
帧封装课程设计报告_第1页
第1页 / 共18页
帧封装课程设计报告_第2页
第2页 / 共18页
帧封装课程设计报告_第3页
第3页 / 共18页
帧封装课程设计报告_第4页
第4页 / 共18页
帧封装课程设计报告_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《帧封装课程设计报告》由会员分享,可在线阅读,更多相关《帧封装课程设计报告(18页珍藏版)》请在金锄头文库上搜索。

1、1目 录一、课程设计目的与意义 2二、课程设计要求 2三、帧结构分析 21帧的介绍 22CRC 校验分析 4四、帧封装的过程 71、填充帧头部字段 72、填充数据字段 83、CRC 校验 9五、帧封装流程图 11六、帧封装方法的相关扩展 121、比特型算法 122、字节型算法 12七、程序调试分析与结果 13八、课程设计心得与体会 14附录一:参考文献 15附录二:帧封装源程序 162一、课程设计目的与意义帧是在数据链路层数据进行传输与交换的基本单位。构造帧对于理解网络协议的概念、协议执行过程以及网络问题处理的一般方法具有重要的意义。本次课程设计的目的是应用数据链路层与介质访问控制层的知识,根

2、据数据链路层的基本原理,通过构造一个具体的 Ethernet 帧,从而深入理解网络协议的基本概念与网络问题处理的一般方法。二、课程设计要求编写程序,根据给出的原始数据,组装一个 IEEE802.3 格式的帧,(默认的输入文件为二进制原始数据(文件名分别为 li 和 lzy)。1) 要求程序为命令行程序。比如,可执行文件各为 framer.exe,则命令行形式如下:framer inputfile outpurfile其中,inputfile 为原始数据文件,outpurfile 为输出结果。2) 输出:对应 input1 和 input2 的结果分别为 output1 和 output2。3)

3、 开发环境:硬件环境:PC 微机软件环境:Windows 2000 Microsoft Visual C+ 6.0三、帧结构分析1帧的介绍术语“帧”来源于串行线路上的通信。其中,发送者在发送数据的前后各添加特殊的字符,使它们成为一个帧。Ethernet 从某种程序上可以被看作是机器这间的数据链路层连接。首先我们来认识一下 Ethernet 帧结构,Ethernet V2.0 规范和 IEEE802.3标准中的 Ethernet 帧结构有一些差别,这里我们按 802.3 标准的帧结构进行讨论,图一给出了 Ethernet 帧结构图。前导码 帧前定界符 目的地址 源地址 长度字段 数据字段 校验字

4、段(7B) (1B) (2/6B) (2/6B) (2B) (长度可变) (4B)图一 Ethernet 帧结构3如图一所示,802.3 标准的 Ethernet 帧结构由 6 部分组成。(1)前导码与帧前定界符字段前导码由 56 位(7B)的 1010101101010 位序列组成。帧前定界符可以视为前导码的延续。1B 的帧前定界符结构为 10101011。如果将前导码与帧定界符一起看,那么在 62 位 1010101010 位序列之后出现 11。在 11 之后是 Ethernet 帧的目的地址字段。前导码与帧前定界符主要是保证接收同步,这 8B 接收后不需要保留,也不记入帧头长度中。(2)

5、目的地址和源地址目的地址(DA)与法制地址(SA)分别表示帧的接收结点地址与发送结点的硬件地址。 在 Ethernet 帧中,目的地址和法制地址字段长度可以是 2B 或 6B。目前的 Ethernet 都使用 6B(即 48 位)长度的地址。 Ethernet 帧的目的地址可以是单播地址(unicast address)、多播地址(multicast address)与广播地址(broadcast address),目的地址的第一位为 0 表示单播地址,为 1 表示多播地址,目的地址为全 1 表示广播地址。(3)长度字段8023 标准中的帧用 2B 定义数据字段包含的字节数。协议规定,帧数据的

6、最小长度为 46B,最大长度为 1500B。设置最小帧长度的目的是使每个接收结点能够有足够的时间检测到冲突。(4)数据字段帧数据字段的最小长度为 46B。如果帧的 LLC 数据少于 46B,则应将数据字段填充至 46B。填充字符是任意的,不计入长度字段值中。(5)检验字段帧校验字段(FCS)采用 32 位的 CRC 校验。校验的范围包括目的地址字段、源地址字段、长度字段、LLC 数据字段。此处,为了简便起见,采用 8 位的 CRC 校验。CRC 校验的生成多项式为:G(x)= x8+ x2+x+14某些帧结构中还会包括帧类型字段,用来识别些帖所承载的数据的类型。当一个帧到达指定的计算机时,操作

7、系统根据帧类型决定用哪个协议软件模块对它进行处理。自识别帧的主要优点是,可以在同一物理网络中使用多个协议而互不干扰。2CRC 校验分析我们已经知道了差错控制在通信中的重要意义,以及简单的差错校验码计算过程。在这里我们进一步来了解循环冗余编码(CRC)的编码方式。它是一种重要的线性分组码、编码和解码方法,具有简单、检错和纠错能力强等特点,在通信领域广泛的用于实现差错控制。实际上,除数据通信外,CRC 在很多领域也是大有用武之地的。利用 CRC 进行检错的过程可简单描述如下:在发送端根据要传送的 k 位二进制码序列,以一定的规则产生一个校验用的 r 位监督码(CRC 码),附在原始信息的后边,构成

8、一个新的二进制码序列(共 k+r 位),然后发送出去。在接收端,根据信息码和 CRC 码之间所遵循的规则进行检验,以确定传送中是否出错。这个规则在差错控制理论中称为“生成多项式” 。(1)CRC 编码的代数学原理在代数编码理论中,将一个码组表示为一个多项式,码组中的各码元作为多项式的系数。例如,1100101 表示为 1x6+1x5+0x4+0x3+1x2+0x+1,即 x6+x5+x2+1。设编码前的原始信息多项式为 P(x), P(x)的最高幂次加等于 k;生成多项式为 G(x),G(x)的最高幂次等于 r;CRC 多项式为 R(x);编码后的带 CRC 的信息多项式为 T(x)。发送编码

9、的方法是:将 P(x)乘以 xr(即对应的二进制码序列左移 r 位),再除以 G(x),得余式即为 R(x)。用公式可以表示为 T(x)=xrP(x)+R(x)接收方解码的方法是:将 T(x)除以 G(x),如果余数为 0,则说明传输中无错误发生,否则说明传输有误。举例来说,设信息码为 1100,生成多项式为 1011,即 P(x)=x+x,G(x)5=x+x+1,则可以用以下方法计算 CRC 。xrP(x) x3(x3+x2) x6+x5 x- = - = - = (x3+x2+x) + -G(x) x3+x+1 x3+x+1 x3+x+1即 R(x)=x。注意到 G(x)最高幂次 r=3,

10、得出 CRC 为 010。如果用竖式除法,计算过程为:11101011/1100000 (1100 左移 3 位)1011 111010111010101100100000 010因此,T(x)=(x 6+x5)+(x)=x6+x5+x,即 1100000+010=1100010。如果传输无误,则T(x) x6+x5+x G(x) x+x+1 无余式。看一下上面的竖式除法,如果被除数是 1100010,显然在商第 3 个 1时,就能除尽。上述推算过程有助于我们理解 CRC 的概念。但如果直接编程来实现上面的算法,不仅繁琐,而且效率也不高。实际上在工程中不会直接这样去计算和验证 CRC。 表一 标准的 CRC名称 生成多项式 简记式 * 应用举例 CRC-4 x4+x+1 ITU G.704 CRC-12 x12+x11+x3+x+1 CRC-16 x16+x12+x2+1 1005 IBM SDLC CRC-ITU* x16+x12+x5+1 1021 I

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号