1、 课程设计报告课程设计报告 课程设计题目:课程设计题目: 模拟以太网帧封装模拟以太网帧封装 专专 业:信息工程业:信息工程 班班 级:级: 姓姓 名:名: 学学 号号: 指导教师指导教师: 2013 年年 12 月月 20 日日 1 目目 录录 1 1设计任务和目的设计任务和目的 2 2 1 11 1 课程设计任务课程设计任务 . . 2 2 1 12 2 课程设计目的课程设计目的 . . 2 2 2 2设计原理设计原理 2 2 2 21 1 802.3802.3 标准帧结构标准帧结构 2 2 2 22 2 CRCCRC 的基本实现的基本实现 3 3 3 3设计实现设计实现 4 4 3 31
2、1 设计思路设计思路 4 4 3.1.13.1.1 填充帧头部字段填充帧头部字段 4 4 3.1.23.1.2 填充数据字段填充数据字段 4 4 3.1.33.1.3 计算填充计算填充 CRCCRC 4 4 3 32 2 流程图流程图 5 5 3.2.13.2.1 程序流程图程序流程图 6 6 3.2.23.2.2 C CRCRC 计算流程图计算流程图 7 7 4 4程序源码程序源码 8 8 5 5运行结果运行结果 1 10 0 6 6总结体会总结体会 1111 2 1.1.设计任务和目的设计任务和目的 1.11.1 课程设计任务课程设计任务 根据给出的原始数据,组装一个 IEEE802.3
3、格式的帧。默认的输入文件为二 进制原始数据。封装得到的帧输出到二进制数据文件中。 1.21.2 课程设计目的课程设计目的 (1)使学生掌握网络通信协议的基本工作原理; (2)培养学生基本掌握网络编程的基本思路和方法; (3)能提高学生对所学计算机网络理论知识的理解能力; (4)能提高学生对所学知识的实际应用能力和创新能力; (5)提高学生的科技论文写作能力。 2.2.设计原理设计原理 2.1 802.32.1 802.3 标准帧结构标准帧结构 以太网 Ethernet 帧格式: 前序(P) 目的地址(SD) 源地址(SA) 长度 数据 FCS 8 B 6B 6B 2B 461500B 4B 1
4、. 前序字段 前序字段由 7 个字节的交替出现的 1 和 0 组成, 设置该字段的目的是指示帧 的开始并便于网络中的所有接收器均能与到达帧同步。 2.帧起始定界符字段 它可以被看作前序字段的延续。实际上,该字段的组成方式继续使用前序字 段中的格式,这个一个字节的字段的前 6 个比特位置由交替出现的 1 和 0 构成。 该字段的最后两个比特位置是 11,这两位中断了同步模式并提醒接收后面跟随 的是帧数据。 3.目的地址字段 目的地址字段确定帧的接收者。6 个字节的源地址和目的地址字段是局域网 中的所有工作站必须使用同样的地址结构。 4.源地址字段 源地址字段标识发送帧的工作站。和目前地址字段类似
5、,源地址字段的长度 六个字节。 5.长度字段 3 用于 IEEE802.3 的两字节长度字段定义了数据字段包含的字节数。从前序 到 FCS 字段的帧长度最小必须是 64 字节。 基于最小帧长为 64 字节和使用六字节 地址字段的要求,意味着每个数据字段的最小长度为 46 字节。如果传输数据少 于 46 个字节,应将数据字段填充至 46 字节。不过,填充字符的个数不包括在长 度字段值中,数据字段的最大长度为 1500 字节。 6.数据字段 数据字段的最小长度必须为 46 字节以保证帧长至少为 64 字节, 这意味着传 输一字节信息也必须使用 46 字节的数据字段:如果填入该该字段的信息少于 46
6、 字节,该字段的其余部分也必须进行填充零。数据字段的最大长度为 1500 字节。 7. 校验序列字段 将计算出的 CRC 填入 32 位的 FCS 校验字段。帧校验序列字段提供了一种错 误检测机制,包括了地址字段、长度字段和数据字段的循环冗余校验(CRC)码。 2.2 CRC2.2 CRC 的基本实现的基本实现 利用 CRC 进行检错的过程可简单描述如下: 在发送端根据要传送的 k 位二进 制码序列,以一定的规则产生一个校验用的 r 位监督码(CRC 码),附在原始信息 的后边,构成一个新的二进制码序列(共 k+r 位),然后发送出去。在接收端,根 据信息码和 CRC 码之间所遵循的规则进行检验,以确定传送中是否出错。这个规 则在差错控制理论中称为“生成多项式” 。 3.3.设计实现设计实现 3.13.1 设计思路设计思路 3.1.13.1.1 填充帧头部字段填充帧头部字段 在这一部分需要向输出文件写入前导码、帧前定界符、