没有合适的资源?快使用搜索试试~ 我知道了~
模拟Ethernet帧的发送过程课程设计报告
3星 · 超过75%的资源 需积分: 32 85 下载量 48 浏览量
2008-07-03
12:08:10
上传
评论 10
收藏 929KB DOC 举报
温馨提示
试读
19页
一、课程设计目的与意义<br>帧是在数据链路层数据进行传输与交换的基本单位。构造帧对于理解网络协议的概念、协议执行过程以及网络问题处理的一般方法具有重要的意义。本次课程设计的目的是应用数据链路层与介质访问控制层的知识,根据数据链路层的基本原理,通过构造一个具体的Ethernet帧,从而深入理解网络协议的基本概念与网络问题处理的一般方法。<br>二、课程设计要求<br>编写程序,根据给出的原始数据,组装一个IEEE802.3格式的帧,(默认的输入文件为二进制原始数据(文件名分别为li和lzy))。<br>1) 要求程序为命令行程序。比如,可执行文件各为framer.exe,则命令行形式如下:<br>framer inputfile outpurfile<br>其中,inputfile为原始数据文件,outpurfile为输出结果。<br>2) 输出:对应input1和input2的结果分别为output1和output2。<br>3) 开发环境:<br>硬件环境:PC微机<br>软件环境:Windows 2000 Microsoft Visual C++ 6.0<br>三、帧结构分析<br>1.帧的介绍<br>术语“帧”来源于串行线路上的通信。其中,发送者在发送数据的前后各添加特殊的字符,使它们成为一个帧。Ethernet从某种程序上可以被看作是机器这间的数据链路层连接。<br>首先我们来认识一下Ethernet帧结构,Ethernet V2.0规范和IEEE802.3标准中的Ethernet帧结构有一些差别,这里我们按802.3标准的帧结构进行讨论,图一给出了Ethernet帧结构图。<br>
资源推荐
资源详情
资源评论
一、课程设计目的与意义
帧是在数据链路层数据进行传输与交换的基本单位。构造帧对于理解网络
协议的概念、协议执行过程以及网络问题处理的一般方法具有重要的意义。本
次课程设计的目的是应用数据链路层与介质访问控制层的知识,根据数据链路
层的基本原理,通过构造一个具体的 Ethernet 帧,从而深入理解网络协议的
基本概念与网络问题处理的一般方法。
二、课程设计要求
编写程序,根据给出的原始数据,组装一个 IEEE802.3 格式的帧,(默认
的输入文件为二进制原始数据(文件名分别为 li 和 lzy))。
1) 要求程序为命令行程序。比如,可执行文件各为 framer.exe,则命令
行形式如下:
framer inputle outpurle
其中,inputle 为原始数据文件,outpurle 为输出结果。
2) 输出:对应 input1 和 input2 的结果分别为 output1 和 output2。
3) 开发环境:
硬件环境:PC 微机
软件环境:Windows 2000 Microsoft Visual C++ 6.0
三、帧结构分析
1.帧的介绍
术语“帧”来源于串行线路上的通信。其中,发送者在发送数据的前后各添
加特殊的字符,使它们成为一个帧。Ethernet 从某种程序上可以被看作是机器
这间的数据链路层连接。
首 先 我 们 来 认 识 一 下 Ethernet 帧 结 构 , Ethernet V2.0 规 范 和
IEEE802.3 标准中的 Ethernet 帧结构有一些差别,这里我们按 802.3 标准的
帧结构进行讨论,图一给出了 Ethernet 帧结构图。
前导码 帧前定界符 目的地址 源地址 长度字段 数据字段 校验字段
(7B) (1B) (2/6B) (2/6B) (2B)
(长度可变)
(4B)
图一 Ethernet 帧结构
2
如图一所示,802.3 标准的 Ethernet 帧结构由 6 部分组成。
(1)前导码与帧前定界符字段
前导码由 56 位(7B)的 1010101…101010 位序列组成。帧前定界符可以
视为前导码的延续。1B 的帧前定界符结构为 10101011。
如果将前导码与帧定界符一起看,那么在 62 位 101010…1010 位序列之
后出
现 11。在 11 之后是 Ethernet 帧的目的地址字段。前导码与帧前定界符主要
是保证接收同步,这 8B 接收后不需要保留,也不记入帧头长度中。
(2)目的地址和源地址
目的地址(DA)与法制地址(SA)分别表示帧的接收结点地址与发送结点的硬
件地址。
在 Ethernet 帧中,目的地址和法制地址字段长度可以是 2B 或 6B。
目前
的 Ethernet 都使用 6B(即 48 位)长度的地址。
Ethernet 帧的目的地址可以是单播地址(unicast address)、多播地
址
(multicast address)与广播地址(broadcast address),目的地址的第
一位为 0 表示单播地址,为 1 表示多播地址,目的地址为全 1 表示广播地
址。
(3)长度字段
802.3 标准中的帧用 2B 定义数据字段包含的字节数。协议规定,帧数据
的
最小长度为 46B,最大长度为 1500B。设置最小帧长度的目的是使每个接收结
点能够有足够的时间检测到冲突。
(4)数据字段
帧数据字段的最小长度为 46B。如果帧的 LLC 数据少于 46B,则应将数据
字
段填充至 46B。填充字符是任意的,不计入长度字段值中。
3
(5)检验字段
帧校验字段(FCS)采用 32 位的 CRC 校验。校验的范围包括目的地址字段、
源地址字段、长度字段、LLC 数据字段。
此处,为了简便起见,采用 8 位的 CRC 校验。CRC 校验的生成多项式为:
G(x)= x
8
+ x
2
+x+1
某些帧结构中还会包括帧类型字段,用来识别些帖所承载的数据的类型。当
一个帧到达指定的计算机时,操作系统根据帧类型决定用哪个协议软件模块对
它进行处理。自识别帧的主要优点是,可以在同一物理网络中使用多个协议而
互不干扰。
2.CRC 校验分析
我们已经知道了差错控制在通信中的重要意义,以及简单的差错校验码计
算过程。在这里我们进一步来了解循环冗余编码(CRC)的编码方式。它是一种
重要的线性分组码、编码和解码方法,具有简单、检错和纠错能力强等特点,
在通信领域广泛的用于实现差错控制。实际上,除数据通信外,CRC 在很多领
域也是大有用武之地的。
利用 CRC 进行检错的过程可简单描述如下:在发送端根据要传送的 k 位二
进制码序列,以一定的规则产生一个校验用的 r 位监督码(CRC 码),附在原始
信息的后边,构成一个新的二进制码序列(共 k+r 位),然后发送出去。在接收
端,根据信息码和 CRC 码之间所遵循的规则进行检验,以确定传送中是否出错。
这个规则在差错控制理论中称为“生成多项式” 。
(1)CRC 编码的代数学原理
在代数编码理论中,将一个码组表示为一个多项式,码组中的各码元作为多
项式的系数。
例如,1100101 表示为 1·x
6
+1·x
5
+0·x
4
+0·x
3
+1·x
2
+0·x+1,
即 x
6
+x
5
+x
2
+1。
设编码前的原始信息多项式为 P(x), P(x)的最高幂次加1等于 k;生成多项
式为 G(x),G(x)的最高幂次等于 r;CRC 多项式为 R(x);编码后的带 CRC 的
信息多项式为 T(x)。
发送编码的方法是:将 P(x)乘以 x^r(即对应的二进制码序列左移 r 位),
4
剩余18页未读,继续阅读
资源评论
- windances2013-05-01很基础的课程设计,不过对于初学者还是不错的
- sea_detective2012-07-14很好啊,计算机网络的课程设计有着落了
- 刘小der2013-07-02很不错哈,对于基础不好的同学帮助很大
- diejunluo48262017-06-27差很差很差很差
- ck11242013-05-05有16业,比较浅显易懂,适合初学者,谢谢!
wsbl52006
- 粉丝: 12
- 资源: 20
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 历届(第1-21届)希望杯数学竞赛初一试题及答案(最新整理).doc全国数学邀请赛(264页资料)
- 水滴.psd
- TokenPocket_V2.1.2_release.apk
- Apache-druid-kafka-rce.yaml
- 基于C#的ASP.NET数据库原理及应用技术课程指导平台的开发
- 基于ROS的智能车轨迹跟踪算法的仿真与设计源码运用PID跟踪算法.zip.zip
- Bug Bounty Tip - i春秋Self-XSS变废为宝的奇思妙想
- 1991-2015年全国初中化学竞赛复赛试题汇编(212页)(24年竞赛复赛真题).docx天原杯
- Apache Flink 未授权访问+远程代码执行.pdf
- hadoop-基于hive的聊天数据分析报表可视化案例数据源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功