西安科技大学计算机网络,西安科技大学计算机网络原理课程大作业指南.docx 您所在的位置:网站首页 input1和input2 西安科技大学计算机网络,西安科技大学计算机网络原理课程大作业指南.docx

西安科技大学计算机网络,西安科技大学计算机网络原理课程大作业指南.docx

2024-07-11 10:55| 来源: 网络整理| 查看: 265

西安科技大学计算机学院网络原理课程大作业

PAGE \* MERGEFORMAT1

计算机网络课程大作业

院(系):计算机学院

专业:计算机科学与技术

姓名:

班级:

学号:

指导教师:

2018年9月16日

任务一 帧封装

任务目的:

编写程序,根据给出的原始数据,组装一个IEEE 802.3格式的帧(题目)默认的输入文件为二进制原始数据(文件名分别为input1和input2))。

要求程序为命令行程序。比如,可执行文件名为framer.exe,则命令行形式如下:framer inputfileoutputfile,其中,inputfile为原始数据文件,outputfile为输出结果。

输出:对应input1和input2得结果分别为output1和output2。

任务要求:

编写程序,根据给出的原始数据,组装一个IEEE 802.3格式的帧(题目)默认的输入文件为二进制原始数据(文件名分别为input1和input2))。

要求程序为命令行程序。比如,可执行文件名为framer.exe,则命令行形式如下:framer inputfileoutputfile,其中,inputfile为原始数据文件,outputfile为输出结果。

修改并完善程序。

输出:对应input1和input2得结果分别为output1和output2

设计相关知识:

帧:来源于串行线路上的通信。其中,发送者在发送数据的前后各添加特殊的字符,使它们成为一个帧。Ethernet从某种程度上可以被看作是机器之间的数据链路层连接。

按802.3标准的帧结构如下表所示(802.3标准的Ethernet帧结构由7部分组成)

802.3标准的帧结构

前导码

帧前定界符

目的地址

源地址

长度字段

数据字段

校验字段

7B

1B

(2/6B)

(2/6B)

(2B)

(长度可变)

(4B)

其中,帧数据字段的最小长度为46B。如果帧的MAC数据少于46B,则应将数据字段填充至46B。填充字符是任意的,不计入长度字段值中。

在校验字段中,使用的是CRC校验。校验的范围包括目的地址字段、源地址字段、长度字段、MAC数据字段。

以太网/IEEE 802.3帧的结构

下图所示为以太网/IEEE 802.3帧的基本组成。

如图所示,以太网和IEEE 802.3帧的基本结构如下:

前导码(Preamble):由0、1间隔代码组成,可以通知目标站作好接收准备。

IEEE 802.3帧的前导码占用7个字节,紧随其后的是长度为1个字节的帧首定界符(SOF)。以太网帧把SOF包含在了前导码当中,因此,前导码的长度扩大为8个字节。

帧首定界符(SOF:Start-of-Frame Delimiter):IEEE 802.3帧中的定界字节,以两个连续的代码1结尾,表示一帧实际开始。

目标和源地址(DA、SA):表示发送和接收帧的工作站的地址,各占据6个字节。其中,目标地址可以是单址,也可以是多点传送或广播地址。

类型(以太网):占用2个字节,指定接收数据的高层协议。

长度L(IEEE 802.3):表示紧随其后的以字节为单位的数据段的长度。

数据L(以太网):在经过物理层和逻辑链路层的处理之后,包含在帧中的数据将被传递给在类型段中指定的高层协议。虽然以太网版本2中并没有明确作出补齐规定,但是以太网帧中数据段的长度最小应当不低于46个字节。

数据(IEEE 802.3:LLCPDU逻辑链路层协议数据单元):IEEE 802.3帧在数据段中对接收数据的上层协议进行规定。如果数据段长度过小,使帧的总长度无法达到64个字节的最小值,那么相应软件将会自动填充数据段,以确保整个帧的长度不低于64个字节。

LLCPDU——它的范围处在46字节至1500字节之间。

最小LLCPDU长度46字节是一个限制,目的是要求局域网上所有的站点都能检测到该帧,即保证网络工作正常。如果LLCPDU小于46个字节,则发送站的MAC子层会自动填充“0”代码补齐。

802.3一个帧的长度计算公式:

DA+SA+L+LLCPDU+FCS=6+6+2+(46~1500)+4=64~1518

即当LLCPDU为46个字节时,帧最小,帧长为64字节;当LLCPDU为1500字节时,帧最大,帧长为1518字节

帧校验序列(FCS:Frame Check Sequence):该序列包含长度为4个字节的循环冗余校验值(CRC),由发送设备计算产生,在接收方被重新计算以确定帧在传送过程中是否被损坏。

循环冗余编码(CRC)是一种重要的线性分组码、编码和解码方法,具有简单、检错和纠错能力强等特点,在通信领域广泛地用于实现



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有