计算机网络课程设计 - 模拟以太网帧封装
更新时间:2023-10-13 08:35:01 阅读量: 综合文库 文档下载
- 计算机网络课程设计推荐度:
- 相关推荐
计算机通信网络报告 —以太网帧封装模拟
学 生1: 叶 健 12122268 贡献比:20% 学 生2: 赵思晨12121461 贡献比:20% 学 生3: 刘 赟 12122549 贡献比:20% 学 生4: 王晨浩 12122090 贡献比:20% 学 生5: 游赛夫 12160006 贡献比:20% 组 长: 赵思晨 组长电话: 18221796781 指导老师: 冯玉田 完成时间: 2015年10月
目 录
1.设计任务和要求 ........................................ 2 1.1 课程设计任务 ..................................... 2 1.2 课程设计要求 ..................................... 2 2.设计原理 .............................................. 2 2.1 802.3标准帧结构 .................................. 2 2.2 CRC的基本实现 .................................... 3 3.设计实现 .............................................. 3
3.1 设计思路 ......................................... 3 3.1.1 填充帧头部字段 ................................ 3 3.1.2填充数据字段 .................................. 3 3.1.3 计算填充CRC .................................. 4 3.2 流程图 ........................................... 4 3.2.1 程序流程图 .................................... 4 3.2.2 CRC计算流程图 ................................ 5 4.程序源码 .............................................. 6 5.运行结果 .............................................. 8 6.总结体会 ............................................. 11
1
1.设计任务和要求
1.1课程设计任务
帧是数据链路层的协议数据单元,它包括三部分:帧头,数据部分,帧尾。其中,帧头和帧尾包含一些必要的控制信息,比如同步信息、地址信息、差错控制信息等;数据部分则包含网络层传下来的数据,比如IP数据包。本项目设计软件,实现以太网帧的封装、传输、解析。
1.2设计要求
1.编写程序,从文件中读取数据; 2.将数据组装成IEEE802.3格式的帧;
3.通过两台计算机的通信,把帧从一台计算机传输到另一台计算机。
2.设计原理
2.1 802.3标准帧结构
以太网Ethernet帧格式:
前序(P) 目的地址(SD) 源地址(SA) 8 B
1. 前序字段
前序字段由7个字节的交替出现的1和0组成,设置该字段的目的是指示帧的开始并便于网络中的所有接收器均能与到达帧同步。 2.帧起始定界符字段
它可以被看作前序字段的延续。实际上,该字段的组成方式继续使用前序字段中的格式,这个一个字节的字段的前6个比特位置由交替出现的1和0构成。该字段的最后两个比特位置是11,这两位中断了同步模式并提醒接收后面跟随的是帧数据。 3.目的地址字段
目的地址字段确定帧的接收者。6个字节的源地址和目的地址字段是局域网中的所有工作站必须使用同样的地址结构。 4.源地址字段
源地址字段标识发送帧的工作站。和目前地址字段类似,源地址字段的长度六个字节。 5.长度字段
2
长度 2B 数据 46~1500B FCS 4B 6B 6B
用于IEEE802.3的两字节长度字段定义了数据字段包含的字节数。从前序 到FCS字段的帧长度最小必须是64字节。基于最小帧长为64字节和使用六字节地址字段的要求,意味着每个数据字段的最小长度为46字节。如果传输数据少于46个字节,应将数据字段填充至46字节。不过,填充字符的个数不包括在长度字段值中,数据字段的最大长度为1500字节。 6.数据字段
数据字段的最小长度必须为46字节以保证帧长至少为64字节,这意味着传输一字节信息也必须使用46字节的数据字段:如果填入该该字段的信息少于46字节,该字段的其余部分也必须进行填充零。数据字段的最大长度为1500字节。 7. 校验序列字段
将计算出的CRC填入32位的FCS校验字段。帧校验序列字段提供了一种错误检测机制,包括了地址字段、长度字段和数据字段的循环冗余校验(CRC)码。
2.2 CRC的基本实现
利用CRC进行检错的过程可简单描述如下:在发送端根据要传送的k位二进制码序列,以一定的规则产生一个校验用的r位监督码(CRC码),附在原始信息的后边,构成一个新的二进制码序列(共k+r位),然后发送出去。在接收端,根据信息码和CRC码之间所遵循的规则进行检验,以确定传送中是否出错。这个规则在差错控制理论中称为“生成多项式”。
3.设计实现
3.1设计思路
3.1.1 填充帧头部字段
在这一部分需要向输出文件写入前导码、帧前定界符、目的地址、源地址和长度字段。写入前四个部分相对简单,而写入长度字段时需要计算输入文件的长度。所以计算输入文件长度的方法如下:
ioBuffer.put(head);
ioBuffer.put(Common.getLocalMac(\ioBuffer.put(Common.UMAC); ioBuffer.put(Common.TYPE);
3.1.2 填充数据字段
在程序中是用以下方法实现的:
ioBuffer.putString(s,charsetEncoder); }
3.1.3计算填充CRC
3
帧封装的最后一步就是对数据进行校验,并将校验结果记入帧校验字段。本程序中实现的是CRC32校验算法,方法如下所示: ioBuffer.put(Common.getCRC32(s.getBytes())); ioBuffer.flip();
3.2程序流程图
3.2.1程序流程图
4
正在阅读:
计算机网络课程设计 - 模拟以太网帧封装10-13
国贸练习题及答案07-10
110kV新建变电站线路监理工作日志02-29
公务员考试:易错成语500例08-30
市政1级-安全管理12-27
疫情防控履职不到位警示教育案例个人学习心得体会总结04-04
南京中医药大学标准化教研室建设通知12-08
全套技术交底-技术交底04-12
殷亚敏简介 - 图文09-17
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 网络课程
- 以太网
- 封装
- 模拟
- 计算机
- 设计
- 二级综合医院评审标准(2012年版)实施细则 - 图文
- 2019超星尔雅美学原理完整满分答案
- 三十万吨聚氯乙烯项目乙炔精制工段的工艺设计及中和塔的设计
- 现代汉语二作业2
- 艺考训练资料 - - --即兴评述和新闻播报
- 精品解析:全国校级联考新课标2018届高三模拟冲刺卷理科综合生物试题(二)(解析版)
- 我国农村劳动力转移的研究现状 - 一个文献综述
- 《职业生涯规划》(四)(2011级大二下)期末考试
- 国家开放大学《数据库应用基础》形考任务2
- 在公司团代会上的总结讲话
- 1 SINUMERIK 数控系统的基本原理
- 高考数学二轮复习三角函数4三角函数的图像与性质1学案理
- 关于中国古代中央集权加强的思考 - 图文
- 建伍TK-378&278对讲机中文说明书
- 35T循环流化床锅炉开车方案
- 房地产下定三板斧
- 人防防护门检验规程 - 图文
- 15大销售管理问题解决之道
- 培土路肩、中央分隔带回填土、土路肩加固及路缘石水工
- 国际工程承包第四次网上考试