计算机网络课程设计-模拟以太网帧封装

合集下载

以太网帧的封装实验

以太网帧的封装实验

实训报告以太网帧的封装实验1.实训目的1)观察以太网帧的封装格式2)对比单播以太网帧和广播以太网帧的目标MAC地址2.实训拓扑图以太网帧实验拓扑PC IP地址子网掩码PC0PC1PC2PC33.主要操作步骤及实训结果记录(1)任务一:观察单播以太网帧的封装步骤1:准备工作打开对应文件,完成初始化,删除练习文件中预设场景步骤2:捕获数据包进入Simulation模式。

添加数据包,单击auto capture/play捕获数据包,再次单击停止捕获步骤3:观察以太网帧的封装格式步骤4:观察该广播包的以太网封装DEST MAC:MAC:步骤4:观察交换机是否会修改以太网帧各字段取值DEST MAC:MAC:(2)任务二:观察广播以太网帧的封装步骤1:捕获数据包Pc0数据帧被交换机转发给pc1、pc2、pc3(所有节点),pc1、pc2、pc3(所有节点)接收该广播帧。

步骤2:观察该广播包的以太网封装DEST MAC:字段的取值: MAC字段取值的含义:广播地址。

4.实训结果分析及心得体会(1)任务一中,观察到以太网帧封装格式中前导字段的取值是什么阐述其在数据帧传输过程中的作用。

答:任务一中,前导码字段取值为···1010;以太网使用曼彻斯特编码传输数据,其特征是每个码元中间有一次电压的跳变,用于接收方提取同步信号,以太网帧中的前导码有何作用前导码是为了隔离每个以太网帧的,也是定位符。

因为以太网是变长的,所以每个帧之间需要前导来区分。

(2)任务一中,Switch0转发数据帧时是否修改其源MAC地址和目标MAC地址答:switch0转发给pc2地数据帧中源MAC地址和目标MAC地址并未进行修改。

(3)交换机接收数据帧后,依据什么判断该数据帧是单播还是广播或依据什么判断向哪个目标节点转发答:交换机工作在数据链路层,依据数据帧中的目标MAC地址的取值判断数据帧是单播还是广播,依据目标MAC地址判断向哪个目标节点转发。

ETHERNET的帧封装课程设计

ETHERNET的帧封装课程设计

ETHERNET的帧封装课程设计一、课程目标知识目标:1. 理解ETHERNET帧封装的基本概念和原理;2. 掌握ETHERNET帧的结构,包括前导码、目的地址、源地址、类型/长度、数据和循环冗余校验(CRC);3. 了解不同类型以太网帧的封装过程及其差异。

技能目标:1. 能够独立完成ETHERNET帧的构建和解析;2. 学会使用相应工具或软件对ETHERNET帧进行抓包和分析;3. 培养学生对网络通信过程中帧封装的实际应用能力。

情感态度价值观目标:1. 培养学生对计算机网络知识的好奇心和探索精神;2. 增强学生合作学习、讨论交流的能力,提高团队意识;3. 通过学习计算机网络知识,让学生认识到科技发展对社会进步的重要性。

课程性质:本课程为计算机网络技术基础课程,以理论教学和实践操作相结合的方式进行。

学生特点:学生已具备一定的计算机网络基础知识,对ETHERNET有一定了解,但对帧封装的具体过程尚不熟悉。

教学要求:结合学生特点和课程性质,以实际操作为主,理论讲解为辅,注重培养学生的实践能力和团队协作能力。

通过本课程的学习,使学生能够掌握ETHERNET帧封装的相关知识,为后续计算机网络课程打下坚实基础。

二、教学内容1. 引言:回顾计算机网络基础知识,引导学生认识ETHERNET帧封装的重要性。

- 网络体系结构概述- 以太网发展简史- 帧封装的作用与意义2. ETHERNET帧结构解析:- 帧结构组成:前导码、目的地址、源地址、类型/长度、数据、CRC- 各字段作用及取值范围- 不同类型以太网帧结构对比3. 帧封装过程:- 数据链路层与物理层关系- 帧封装流程及关键技术- 帧封装错误处理机制4. 实践操作:- 使用Wireshark等抓包工具抓取和分析ETHERNET帧- 搭建实验环境,模拟帧封装过程- 分析实验结果,总结帧封装规律5. 教学案例分析:- 分析实际网络环境中的帧封装案例- 探讨案例中存在的问题及解决方案教学内容安排与进度:1. 引言与ETHERNET帧结构解析(1课时)2. 帧封装过程与实践操作(2课时)3. 教学案例分析(1课时)本教学内容以课本相应章节为基础,注重理论与实践相结合,旨在帮助学生系统地掌握ETHERNET帧封装的相关知识。

计算机网络帧的封装实验报告

计算机网络帧的封装实验报告

一、实验目的1.了解协议分析器安装;2.了解协议分析器使用方法和基本特点;3.分析以太网层的数据帧格式(包括源地址、目的地址和上层协议)。

二、实验前的准备1.了解协议分析器的功能和工作原理;2.了解Ethereal分析器的使用方法;3.阅读实验的相关阅读文献。

三、实验内容1.Ethereal协议分析器并安装。

记录安装过程。

安装wireshark截图如下:2.分析以太网层的数据帧格式(包括源地址、目的地址和上层协议),下图是打开的已经捕获的文件界面,选中第4个组,再选中Ethernet 层即以太网层。

观察帧信息。

以太网层的数据帧格式:前导码:由7字节的前同步码和1字节的帧起始定界符构成起始定界符:这个字段用1字节(10101011)作为帧开始的信号,表示一帧的开始。

最后两位是11,表示下面的字段是目的地址。

目的地址(DA):共48位,表示帧准备发往目的站的地址,共6个字节,可以是单址(代表单个站)、多址(代表一组站)或全地址(代表局域网上的所有站)。

当目的地址出现多址时,表示该帧被一组站同时接收,称为“组播”(Multicast)。

目的地址出现全地址时,表示该帧被局域网上所有站同时接收,称为“广播”(Broadcast),通常以DA的最高位来判断地址的类型,若第一字节最低位为“0”则表示单址,第一字节最低位为“1”则表示组播。

源地址(SA):共48位,表明该帧的数据是哪个网卡发的,即发送端的网卡地址。

类型:该字段用于标识数据字段中包含的高层协议,也就是说,该字段告诉接收设备如何解释数据字段。

例如:0X0800代表为IP,0X0806代表为ARP。

数据:数据字段的最小长度必须为46字节以保证帧长至少为64字节,这意味着传输一字节信息也必须使用46字节的数据字段:如果填入该字段的信息少于46字节,该字段的其余部分也必须进行填充。

数据字段的默认最大长度为1500字节。

帧检验序列(FCS):FCS是32位冗余检验码(CRC),检验除前导、SFD和FCS以外的内容。

计算机网络课程设计报告 帧封装

计算机网络课程设计报告 帧封装

课程设计报告课程名称:计算机网络课程设计设计题目:帧封装姓名:专业:计算机科学与技术班级:计算机13-3班学号:计算机科学与技术学院2016年1 月1 日设计项目:帧封装一、选题背景以太网这个术语通常是指由DEC、Intel和Xerox公司在1982年联合公布的一个标准,它是当今TCP/IP采用的主要的局域网技术,它采用一种称作CSMA/CD的媒体接入方法。

在TCP/IP世界中,以太网IP数据报文的封装在RFC894中定义。

以太网采用广播机制,所有与网络连接的工作站都可以看到网络上传递的数据。

通过查看包含在帧中的目标地址,确定是否进行接收或放弃。

如果证明数据确实是发给自己的,工作站将会接收数据并传递给高层协议进行处理。

以太网采用CSMA/CD(Carrier Sense Multiple Access/Collision Detection)媒体访问机制,任何工作站都可以在任何时间访问网络。

在以太网中,所有的节点共享传输介质。

如何保证传输介质有序、高效地为许多节点提供传输服务,就是以太网的介质访问控制协议要解决的问题。

帧是在数据链路层数据进行传输与交换的基本单位。

构造帧对于理解网络协议的概念、协议执行过程以及网络问题处理的一般方法具有重要的意义。

本次课程设计的目的是应用数据链路层与介质访问控制层的知识,根据数据链路层的基本原理,通过构造一个具体的Ethernet帧,从而深入理解网络协议的基本概念与网络问题处理的一般方法。

二.设计思路数据在网络上是以很小的称为帧(Frame)的单位传输的,帧由几部分组成,不同的部分执行不同的功能。

帧通过特定的称为网络驱动程序的软件进行成型,然后通过网卡发送到网线上,通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。

接收端机器的以太网卡捕获到这些帧,并告诉操作系统帧已到达,然后对其进行存储。

“帧”数据大致由两部分组成:帧头和帧数据。

帧头包括接收方主机物理地址的定位以及其它网络信息。

计算机网络与Internet实验第7章 以太网帧收发综合设计与模拟

计算机网络与Internet实验第7章 以太网帧收发综合设计与模拟

1.协议处理
图7.2 不同的以太网帧格式
2.帧构造 3.队列挂接
7.1.1 以太网数据帧的封装
7.1.2 以太网数据帧的解封装
首先,对于从网络接口设备取回的数据帧要进行 长度检查。对于长度过短的帧在进行了日志记 录和统计计数后被丢弃。接着,要进行目的 MAC地址检查,以确定该帧是否是一个自己应 该处理的数据帧。
最小帧长(Min Frame Size)
512bit(64Byte)
地址字段长度(Address Size)
48bit
7.5.1 CSMA/CD帧发送模块
图7.7 发送控制状态机状态转换
7.5.1 CSMA/CD帧发送模块
图7.8 阻塞(CP)信号
(1) 当余数最高位为“1”时,商为“1”,
7.5.1 CSMA/CD帧发送模块 被除数(余数)要减去除数——生成多项式G(x)。
7.5.1 CSMA/CD帧发送模块
图7.5 发送模块结构
7.5.1 CSMA/CD帧发送模块
1.载波侦听
图7.6 CSMA/CD的发送流程
2.冲突检测 3.随机退避
7.5.1 CSMA/CD帧发送模块
参数 时隙大小(Slot Time)
数值
7.5.1 C51S2MbiAt/时间C(D相帧当于发51送.2模μs)块
(1) Ethernet—II:Xerox、DEC和Intel公司共同制定的DIX帧格式。 (2) Ethernet—802.3:Novell公司专用于SPX/IPX通信的帧格式。 (3) Ethernet—802.2:IEEE 802委员会制订的IEEE 802.3帧格式。 (4) Ethernet—SNAP:IEEE 802.3 SNAP(SubNetwork Access Protocol)帧 格式。

计算机网络课程设计题目和要求

计算机网络课程设计题目和要求

计算机网络课程设计通过课程设计,使学生在对计算机网络技术与发展整体了解的基础上,掌握网络的主要种类和常用协议的概念及原理,初步掌握以TCP/IP协议族为主的网络协议结构,培养学生在TCP/IP协议和LAN、WAN上的实际工作能力;学会网络构建、网络日常维护以及网络管理的方法,使学生掌握在信息化社会建设过程中所必须具备的计算机网络组网和建设所需的基本知识与操作技能;运用网络工程和软件工程思想,按照需求分析、规划、设计、配置的基本流程,经历一个完整的网络工程过程,培养学生调查研究、查阅技术文献、资料、手册以及编写技术文档的能力,培养学生将理论知识应用于实践的能力;一、格式要求及须知:(1)使用学院网站的课程设计模版,要求格式美观,字体及编号要求见表1;表1 字体及编号要求(2)参考文献:参考课本的参考文献格式附录C;但编号换成1、2……(3)附录:课程设计中的代码或得到的数据包等数据将作为该设计附件或附录,题目需要但没有的相应代码及数据包文件的将记整组不及格,需要重做; (4)成绩记录:该设计成绩将记录到教务处成绩管理系统中;6 如发现两组设计雷同或抄袭互联网,该组重做二、任务完成形式:交付课程设计说明书、设计作品需要验收;设计作品指的是完整的源程序代码对于第二类题目为仿真文件;课程设计说明书纸质+电子版,内容包括:设计任务、需求分析、总体设计、详细设计相应地给出关键的代码、设计总结评价/遇到的问题/体会/建议等、使用说明等;设计工作计划与进度安排:根据所选题目,合理安排进度计划,总体上需要40个小时;以下仅供参考:1. 原理知识 4小时2. 程序设计技术 4小时3. 开发环境与程序调试环境 4小时4. 总体设计、关键环节的详细设计 8小时5. 系统实现编码与调试 12小时6. 课程设计说明书 8小时成绩评定方式:总评成绩=平时成绩x10﹪+软件演示与陈述x45﹪+课程设计说明书x45﹪设计题目与任务:每组自由分组从下列题目中任选其一,班长统计每组题目,报给指导老师;注意题目不能重复辅导时间、验收时间安排:辅导时间:1、网络答疑群号2、现场答疑:第4,5周周二下午 5678节周五上午 1234节周日上午 1234节辅导答疑地点:14307上机指导地点:14410验收时间:周日 14410 8:30~12:00课程设计报告上交时间周五上午11:00交到14307第一类:网络编程类题目以软件形式验收要求:1推荐采用图形界面实现;2程序代码书写规范,有充足的注释;3绿色软件:程序运行不需安装,避免写系统和注册表;4开发平台、开发语言不限;5 明确题目的意图,设计上应有足够的工作量题目1 基于C/S模式的简单聊天程序2人1、设计要求使用Socket实现网上聊天功能;用户可以通过客户端连接到服务器端并进行网上聊天;聊天时可以启动多个客户端;服务器端启动后,接收客户端发来的用户名和密码验证信息;验证通过则以当前的聊天客户列表信息进行响应;此后接收客户端发来的聊天信息,转发给客户端指定的聊天客户即私聊或所有其他客户端;在客户断开连接后公告其退出聊天系统的信息;客户端启动后在GUI界面接收用户输入的服务器端信息、账号和密码等验证客户的身份;验证通过则显示当前系统在线客户列表;客户可以与指定对象进行私聊,也可以向系统中所有在线客户发送信息;实现本程序需要了解网络基础知识,掌握C/S结构的工作特点,掌握数据结构、高级语言及网络编程知识,可以选择Visual C++、C或Java等语言实现;2、课程设计报告内容1 给出系统的结构;2 给出程序的流程图;3 分别给出服务器端和客户端的程序源码;4 给出程序的部分运行测试结果;题目2 基于C/S模式的通讯录查询程序2人1、设计要求采用C/S模式,编写程序,实现通过客户端查询服务器端的通讯录的功能;1 服务器端接收客户端的查询请求,验证客户身份,如通过身份验证,则将客户要查询的通信录记录返回客户端;客户身份数据及通信录数据均为虚拟数据,可自行编制,客户身份至少应有客户ID、客户密码登录密码,通信录记录包括:人员编号ID、姓名,单位地址、手机号码、单位电话、宅电等;所有字段的数据类型可自行设计;2 客户端以GUI方式接收用户输入的查询请求,向服务器发出查询并接收和显示查询结果;3 其他说明客户端需包括如下的按钮:连接;连接到查询服务器,回应:连接成功/失败;登录;用户登录由服务器验证用户的身份;回应:若用户不存在,提示“无此用户”;若用户存在,提示“密码:”,用户输入密码后,若正确提示“登录成功”,若不正确提示“密码错”;查询;根据用户ID或姓名查询用户信息;回应:若用户号或姓名不存在,提示“错误的用户号或姓名”;若用户号或姓名存在,给出该记录的详细信息;退出;退出查询系统,断开与服务器的连接;服务器端的通讯录保存在数据库中,数据库类型不限;实现本程序需要了解网络基础知识,掌握C/S结构的工作特点,掌握数据结构、高级语言及网络编程知识,可以选择Visual C++、C或Java等语言实现;2、课程设计报告内容1 给出系统的结构;2 给出程序的流程图;3 给出服务器端的数据表结构;4 分别给出客户端和服务器端的程序源码;5 给出程序的部分运行测试结果;题目3 FTP客户端的设计与实现 2人1、设计要求遵循FTP协议,实现一个FTP的客户端程序,根据账号和密码登录指定的FTP 服务器,可以查看服务器内容列表,下载选定的文件,重命名或删除指定的文件/文件夹,也可以把本地文件上传到服务器上;实现本程序需要了解网络基础知识,掌握FTP的工作过程,了解FTP的相关命令,掌握高级语言及网络编程知识,可以选择Visual C++、Java或C等语言实现;2、课程设计报告内容1 给出相关的原理和设计思路;2 给出程序的流程图;3 给出程序源码;4 给出程序的部分运行测试结果;题目4 PING程序的设计与实现 2人1、设计要求设计并实现程序,实现类似Windows自带PING程序的功能,可以向指定的域名或IP地址发送Echo 请求报文,并根据响应报文显示出Ping的结果;程序仅支持-t 选项即可;实现本程序需要了解网络基础知识,掌握Ping命令的使用、ICMP报文的作用和结构、高级语言及网络编程知识,可以选择Visual C++、C或Java等语言实现;2、课程设计报告内容1 给出相关的原理和设计思路;2 给出程序的流程图;3 给出程序源码;4 给出程序的部分运行测试结果;题目5 一个单工的停-等协议及支持重传确定协议的实现2人1、设计要求对一个单工的停-等协议及支持重传肯定确定协议进行解释说明,并分别给出一个单工的停-等协议及支持肯定协议的例子,对函数进行解释说明;2、课程设计报告内容1 给出设计的需求分析,包括概要设计,详细设计;2 列出程序代码;3 给出程序实现结果抓图;题目6 路由器查表过程模拟 2人1、设计要求编程模拟路由器查找路由表的过程,用目的地址掩码下一跳的IP路由表以及目的地址作为输入,为目的地址查找路由表,找出正确的下一跳并输出结果;2、课程设计报告内容1 给出路由表的相关知识和原理;2 详细描述设计过程;3 给出设计思路;4 列出程序代码;5 给出查找过程的测试结果;题目7 基于多线程的端口扫描程序 2人1、设计要求使用Socket实现简单的端口扫描功能;分别针对TCP和UDP,采用多线程技术实现端口扫描,给出扫描结果;实现本程序需要了解网络基础知识、网络安全基础知识,掌握C/S结构的工作特点,掌握高级语言及网络编程知识,可以选择Visual C++、C或Java等语言实现;2、课程设计报告内容1 给出程序的流程图;2 给出程序源码;3 给出程序的部分运行测试结果;题目8 循环冗余校验CRC算法的实现 2人1利用结构体或数组模拟网络数据包结构;2编码实现CRC算法,并将得到的校验位附加到网络数据包相应的位置;3根据数据包的长度,随机生成一个数据包产生突变的位置,并对该位置的bit 位模拟突变的产生;4重新利用CRC算法校验该数据包,并指出产生的结果;5CRC能够检出所有的错误吗如果不能,你能构造出无法检错的实例吗2、课程设计报告内容1 给出程序的流程图;2 给出程序源码;3 给出程序的测试结果;题目9 子网划分工具的设计与实现 2人1、设计要求1编程实现一个子网划分的简单工具;2能够根据用户输入的网络地址和子网掩码,判断出用户输入的合法性及网络的类别A、B、C地址;3能够计算出下列参数:子网数及有效子网、每个子网的主机数、每个子网IP范围及广播地址;4应有相应的帮助提示及良好的结果输出组织,易于用户使用和查看结果; 2、课程设计报告内容1 给出程序的流程图;2 给出程序源码;3 给出程序的部分运行测试结果;题目10 电路交换和分组交换的软件仿真比较2人软件编程语言不限实现将数据报文划分成若干个大小有限的短数据块,在每个数据块前面加上一些控制信息即首部,包括诸如数据收发的目的地址、源地址,数据块的序号等,形成一个个分组,然后各分组在交换网内采用“存储转发”机制将数据从源端发送到目的端;节点交换机数目和连接方式可以根据需要自行设定;然后用将同样的报文用电路交换的方式从源端发送到目的端;2、课程设计报告内容1给出将报文划分成若干大小有限的短数据块和目的端接收到数据后将数据报文还原成原始报文的算法;2模拟报文在路由器之间存储转发的过程;3比较两种传输方式的效率;题目11 RIP路由协议原型系统的实现 2人1、设计要求在了解RIP路由协议工作原理的基础上,实现其原型系统;路由节点能够利用广播发布本地节点的路由信息,其它节点接收信息并选择最优路径;2、课程设计报告内容1描述并分析RIP路由协议的工作原理;2撰写设计文档;3实现RIP路由协议原型系统,该系统具备的功能包括:广播本地路由,接收其它节点路由信息,根据路由信息选择最佳路径,支持最大不超过15跳的特性;4测试原型系统功能,撰写报告;题目12 TCP头部校验和计算方法的实现2人1、设计要求在网络数据传输过程中,网络上的数据都要通过差错控制来保证其数据的正确性;进行差错检测和控制的主要方法是:发送放在需要发送的数据后面增加一定的冗余信息,这些冗余信息通常是通过对发送的数据进行某种算法计算而得到的;接收方对数据进行同样的计算然后比较冗余信息以检测数据是否正确;2、课程设计报告内容1对比TCP头部中校验和计算方式描述校验和计算方法2画出计算校验和算法的流程图;3计算编写程序完成校验和的过程;4给出一个数据,计算其校验和并验证,写出结果;题目13 基于C/S的时间同步服务器的实现2人1、设计要求时间服务器是在局域网中作为发布统一时间的服务器,它利用电脑网络把时间信息传递给用户;要求参照现有的时间服务器的原理以及效果实现一个时间服务器的服务端和客户端;服务器端开放指定的端口发布时间到网络中,其他客户端从网络中获取该时间并将本地时间与之同步;2、课程设计报告内容1给出相关的原理、设计思想和设计过程;2画出时间同步服务器端与客户端的算法流程图;3实现服务器端和客户端并给出使用说明;4测试服务器端与客户端,写出测试结果;题目14 基于TCP的数据包发送和接收程序的实现2人1、设计要求TCP是一种面向连接的、可靠的传输层协议;TCP协议工作在网络层IP的基础上;本课程设计的目的是设计一个发送和接受TCP数据包的程序,其功能是填充一个TCP数据包,发送给目的主机,并在目的主机接收此TCP数据包,将数据字段显示显示在标准输出上;2、课程设计报告内容1 给出TCP传输的原理和过程;2 分别给出服务器端和客户端设计的思路;3 服务器端和客户端的程序代码;4 给出测试结果截图并撰写课程设计报告;题目15 网络数据包的捕获与分析 2人1、设计要求Jpcap是使用java语言编写的一个开源库,使用该库的函数可以方便的捕获网络上传输的数据包;要求使用该库函数实现捕获经过一个网卡的所有流量,并能显示出来或存入数据库并按照要求撰写课程设计报告;2、课程设计报告内容1用java 的Jpcap开源库捕获数据包;2通过编程实现抓取通过一个网卡的所有数据包,并把这些数据包存入数据库;3运用所学的网络知识对数据包进行分析,并把分析所得的结果用友好的界面呈现;4给出相关的原理和设计思路、程序的流程图、程序源码及运行测试结果; 题目16 网络U盘2人1实现远程主机上管理自己的文件:如创建、打开、复制、删除文件或目录以及远程文件上传、下载;2程序包括客户端和服务器端两部分:客户端使用图形用户界面发出各种管理命令;接收服务器返回的操作结果;服务器为每个用户建立一个目录网络U盘,服务器维护用户对目录操作权限的列表,负责验证用户对文件的操作权限;接收和执行授权用户的命令并返回操作结果;3用户界面:服务器端界面显示用户登录及认证信息和操作日志;客户端界面可以设置远程主机名;显示远程文件列表;操作命令可以采用菜单、按钮及弹出菜单来实现;要求界面布局合理、简洁美观;4运用Socket 技术,使用TCP协议题目17 模拟以太网帧封装1人要求:根据给出的原始数据,组装一个格式的帧;默认的输入文件为二进制原始数据;封装得到的帧输出到二进制数据文件中;题目18 网卡驱动程序设计2人要求:熟悉Windows DDKDriver Development Kit编程机制,了解NDISNetwork Device Interface Specification提供的一些库函数的使用方法和各种数据结构的定义;掌握用Visual C++ 开发中小型项目的方法,并学会使用Driver Studio集成DDK来建立网络驱动程序的基本框架;应用Visual C++ + WINDOWS DDK + Driver Studio实现一个简单的Realtek8139小端口网卡驱动程序;题目19网络流量统计2人要求:监控网络,捕获一段时间内网络上的IP数据包,按IP数据包的源地址统计出该源地址在该时间段内发出的IP数据包的个数,并将其用图形表示出来;题目20包过滤防火墙的设计与实现2人要求:要求实现一个简单的包过滤防火墙,能够根据 IP 地址范围阻塞或允许客户机对 FTP 服务的访问;题目21 简单电子邮件客户端的设计与实现1人要求:完成一个电子邮件客户端软件,要求能够收取邮件、发送邮件、书写新邮件、具有图形化界面;提示:可选用基于JavaMail网络包实现;题目22 综合扫描器程序的实现2人1ARP扫描实现2ICMP扫描实现3TCP扫描实现4UDP扫描实现题目23 利用组播实现网络教学2人1通过socket接口,引用UDP协议,设置成组播通信方式2分别设计教师机端程序、学生机端程序,3教师机端程序将本机屏幕画面,定时地以多播方式传给学生机端程序显示题目24 本地计算机基本信息管理1人要求:如:获取计算机的名称和IP地址;获取计算机的子网掩码;获取计算机的DNS设置;获取计算机的网卡地址;获取计算机安装的协议;获取计算机提供的服务;获取计算机的所有网络资源;修改本地计算机的网络设置;获取计算机TCP/IP的所有信息;题目25 点对点语音聊天程序设计2人要求:程序主要由语音采集、语音发送、语音接收、语音播放四个部分组成;通信协议采用UDP;图形化界面;语音采集与播放采用windows APIACM接口;题目26 TCP通信仿真课件设计2人要求:设计一个课件程序,采用图形化设计,主要功能:1 能读取wireshark或sniffer工具所捕获的数据文件2 能以直观形式表达TCP连接的建立、释放过程3 能以直观形式表达报文序号变化、应答机制4 能以直观形式仿真报文的丢失与重传5 能以直观形式表达流量控制题目27 网络对弈程序设计1人要求:运用tcp协议设计一个五子棋联机对弈程序,采用图形化方式设计;题目28 网络游戏开发1人要求:开发一个网络游戏,如坦克大战、网页小游戏等;题目29加密解密软件的设计与实现2人要求:根据对称密钥密码体制或公钥密码体制加密解密算法的原理,设计并实现一个加密解密软件;题目30 网络对时程序实现2人1设计一个程序从internet上某个时间服务器,获取时间信息,准确地更新本地机时钟2采用ntp协议3支持手动、定时自动两种方式第二类:网络工程类题目以方案设计为主,以网络仿真为辅,仿真部分需要验收要求:1论文论述详尽;2论文包括设计任务、需求分析、总体设计方案与拓扑图、系统主要设备报价、软硬件设备选取、关键设计或配置、网络安全方案、其它如网络管理方案、综合布线设计、设计总结;3对方案中关键设计,尽可能用仿真软件进行仿真配置与测试;组网仿真软件建议采用packet tracer只能仿真cisco的部分中低端网络设备,当然为了能在该软件中进行仿真,对原方案中的设计进行必要的简化、设备作必要的变通是必然的;4题目中的XX,必须为具体的单位名称最好为自己所熟悉的5目标网络规模为中等规模的园区网络信息节点数为500个到5000个之间6VLAN技术、RIP或OSPF技术必须运用到设计中7支持internet接入8支持远程用户访问题目1 某企业组网方案设计 2人a、设计要求给出本课程设计的可行性分析,用户需求分析,网络规划,设备选型清单,系统配置,网络安全及管理措施,基于需求分析进行网络规划;b、课程设计报告内容1 完成需求分析;2 企业网络拓扑方案设计;3 列出所需网络设备、服务器、PC机的设备清单;4 给出部门PC机的IP地址分配方案;5 给出第三层VLAN设计方案;6 给出路由器配置方案;题目2 一个简单的校园网设计与实现 2人a、设计要求为所在学校设计一个简单的基于三层交换技术的校园网络;具体要求:1 每部门1个单独的子网,自定义子网需要的IP地址数,至少有4种不同的地址规模;23 计算每个部门的网络地址、掩码,并指定网关地址;4 每个子网1个单独的VLAN,并使用三层交换机互连各VLAN;b、课程设计报告内容1 计算各VLAN信息;2 绘制网络拓扑图,要求包含三层交换机、二层交换机等节点,并标注各VLAN 信息;3 完成交换机配置,具体包括:①三层交换机中创建VLAN,为VLAN分配IP,配置与二层交换机互连的Trunk链路;②二层交换机中创建VLAN,配置与三层交换机互连的Trunk链路,并体会跨二层交换机的VLAN配置;4 基于PacketTracer,实现校园网原型,并测试网络的可用性;题目3 校园无线网络组网方案设计2人a、题目内容和要求:⑴了解FIT AP和FAT AP的几种典型的组网方式;掌握无线网络的两种体系结构;掌握网络b、系统设计方法;⑵理解无线网络设备的工作原理,掌握无线网络控制器AC、无线网络接入点AP、无线网桥、交换机、路由器、服务器、防火墙、入侵检测、行为审计以及流量控制等设备的选型方法;⑶了解传统校园网服务的工作原理,掌握服务如DNS、WEB、FTP等的配置方法;⑷理解校园无线网络的室内外覆盖原则;掌握信道规划原理;⑸设计校园网络拓扑结构,并给出相应的校园无线网络的室内外覆盖方案和信道规划方案;⑹完成设备配置及测试;⑺按照要求撰写学年设计报告并准备答辩;题目4 某学院计算机大楼的综合布线系统方案设计2人a、题目内容与要求:⑴掌握综合布线系统的构成,熟悉各子系统相对应的设计原则;⑵能够对综合布线系统中用到的各种材料,譬如:支架、pvc管材、线缆、配线架、机柜等进行选型;⑶能够熟练使用综合布线系统中用到的相关安装工具和测试工具;⑷绘制出综合布线系统结构图、布线路由图、信息点分布图等;⑸按照要求撰写学年设计报告并准备答辩;大楼的基本情况:大楼为6层结构,建筑面积6000多平方米,有普通教室、多媒体教室、实训室、办公室、学生科技活动中心、图书阅览室等功能用房;一楼是办公区,二楼、三楼为教室,四楼、五楼为实训室;大楼除通常用的信息网络和语音电话外,在出入口、楼梯口、走廊和实训室安装了网络监控点,每层楼安装两个网络考勤点,该大楼的信息点的种类和数量如下表所示5. XX医院网络规划与设计2人6. XX社区网络规划与设计2人7. 其它单位网络组网方案设计2人8. 网络应用服务器的搭建2人1网络操作系统安装在虚拟机环境下2DNS、DHCP服务器3邮件服务器4P2P服务器5防火墙6VPN远程访问、远程管理参考资料:1.Winsock编程2.Winpcap编程3.Windows DDKDriver Development Kit编程机制;4.NDISNetwork Device Interface Specification提供的库函数5.Java网络编程基础(1)Internet地址操作(2)URL和URLConnection(3)套接字ServerSocket和Socket编程(4)JMail包6.组网技术7.网络技术与组网工程参考教材:1 吴功宜. 计算机网络课程设计. 机械工业出版社计算机网络课程设计计算机课程设计与综合实践规划教材.清华大学出版社网络编程实用教程第2版. 人民邮电出版社.2010 windows网络与通信程序设计第二版. 人民邮电出版社 //适合高手5 思科网络技术学院CCNA ——路由协议和概念6 思科网络技术学院CCNA ——LAN交换和无线。

计算机网络课程设计:(第三章)封装Ethernet帧(完整程序代码)

计算机网络课程设计:(第三章)封装Ethernet帧(完整程序代码)

计算机网络课程设计第二章:封装Ethernet帧完整程序:#include<iostream.h>#include<fstream.h>void main(int argc,char* argv[]){if(argc!=3){cout<<"Please input commmand: EncapFrame input_fileoutput_file"<<endl;return;}fstream file;file.open(argv[2],ios::in|ios::out|ios::binary|ios::trunc);for(int i=0;i<7;i++)file.put(char(0xaa));file.put(char(0xab));long pCrcS=file.tellp();chardst_addr[6]={char(0x00),char(0x00),char(0xe4),char(0x86),char(0x3a),char(0xdc)}; file.write(dst_addr,sizeof(dst_addr));charsrc_addr[6]={char(0x00),char(0x00),char(0x80),char(0x1a),char(0xe6),char(0x65)}; file.write(src_addr,sizeof(src_addr));ifstream infile;infile.open(argv[1],ios::binary);infile.seekg(0,ios::end);short length=(short)infile.tellg();file.put(char(length/256));file.put(char(length%256));char* data=new char[length];infile.seekg(0,ios::beg);infile.read(data,length);file.write(data,length);infile.close();delete data;if(length<46)for(int i=0;i<46-length;i++)file.put(char(0x00));long pCrc=file.tellp();file.put(char(0x00));short total=short(file.tellp())-(short)pCrcS;file.seekg(pCrcS,ios::beg);unsigned char crc=0;while(total--){unsigned char temp;file.get(temp);for(unsigned char i=(unsigned char)0x80;i>0;i>>=1){if(crc&0x80){crc<<=1;if(temp&i)crc^=0x01;crc^=0x07;}else{crc<<=1;if(temp&i)crc^=0x01;}}}file.seekp(pCrc,ios::beg);file.put(crc);file.seekg(0,ios::beg);cout<<"Content of ethernet frame: "<<endl;while(!file.eof()){unsigned char temp;file.get(temp);cout<<hex<<(short)temp<<" ";}cout<<endl<<"The"<<argv[2]<<" is completed";file.close();}结果:。

计算机网络课设__封装Ethernet帧

计算机网络课设__封装Ethernet帧

成绩评定表课程设计任务书摘要本设计题目是封装Ethernet帧,要实现的功能是通过封装Ethernet 帧,了解Ethernet帧中各个字段的含义与用途。

首先介绍本题目的相关知识,有帧的结构及和CRC冗余校验算法。

其次是程序设计分析,主要包括填充帧头部字段、填充数据字段和CRC 校验,并根据算法给出了程序流程图。

最后,是程序运行结果及实现代码,运行结果符合设计要求。

本程序主要关键词有:帧,CRC冗余校验,封装,填充等。

目录1.课程设计目的. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 2.课程设计要求. . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 3.相关知识. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 4.课程设计分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 5.相关扩展. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 6.程序代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 7.运行结果与分析. . . . . . . . . . . . . . . . . . . . . . . . . . . .16 8.参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171课程设计目的帧是在数据链路层中进行数据传输的基本单位。

以太网帧的封装实验

以太网帧的封装实验

实训报告以太网帧的封装实验1•实训目的1)观察以太网帧的封装格式2)对比单播以太网帧和广播以太网帧的目标MAC 地址2•实训拓扑图PCO PCI PC2PC3以太网帧实验拓扑3•主要操作步骤及实训结果记录(1)任务一:观察单播以太网帧的封装步骤1:准备工作打开对应文件,完成初始化,删除练习文件中预设场景步骤2:捕获数据包进入Simulation 模式。

添加数据包,单击auto capture/play 捕获数据包,再次单击停止捕获步骤3:观察以太网帧的封装格式步骤4:观察该广播包的以太网封装DEST MAC 000A.4189.ADC6 SRC MAC:0060.2F6C.C11BTYPE! 0x8 CODE! 0X0匚HECKSUM ID ;OXS 5EQLJUM 日ER ; 7步骤4:观察交换机是否会修改以太网帧各字段取值DEST MAC 000A.4189.ADC6 SRC MAC:0060.2F6C.C118嗖昔EwitehO 上的PDU 信昌QSI Model Inbound PDU Details Outbound PDJ Details POU FormatsEdwEEt iia4S1419 Byt-sOSI Model Inbound PDU Details Outbound PDU DetailsPOU Formats 刖导码: 目的MAC :000A.4189.ADC6来源MAC :a060.2F6C.CHB堂型:0x800救捐冋麥恆度)帳植验序列:0x0Eth 段「门包IP噴备PC2 ±^PDUf*BDS1 Model Inbcurd PDU Details Outbound PDU DetailsPDU FormatsEWrr 或II(2)任务二:观察广播以太网帧的封装步骤1捕获数据包PcO数据帧被交换机转发给pci、pc2、pc3 (所有节点),pci、pc2、pc3 (所有节点)接收该广播帧。

计算机网络实验1实验一: 以太网的封装实验

计算机网络实验1实验一: 以太网的封装实验

大学实验报告2019年4月8日课程名称:计算机网络实验名称:实验一: 以太网的封装实验班级及学号:姓名:同组人:签名:指导教师:指导教师评定:一、实验目的:1.观察以太网帧的封装格式。

2.对比单播以太网和广播以太网帧的目标MAC地址二、实验任务:1.任务一:观察单播以太网帧的封装;2.任务二:观察广播以太网帧的封装;3.实验完成,写出实验报告三、实验步骤:1. 任务一:(1)准备工作:打开对应练习文件“2-2以太网帧的封装实验.pka”。

(2)获取数据包:进入Simulation模式;再单击Add Simple PDU按钮,添加PC0向PC2发送数据包;最后单击Auto Capture/Play以获取数据包。

(3)观察以太网的封装格式:选择事件列表中PC0到Switch0的数据包,右击Info项中的色块,选择Inbound PDU Details选项卡,观察PREAMVBLE、DEST MAC和SRC MAC的取值并记入下来。

(4)观察交换机是否会修改以太网帧各字段取值:选择事件列表中Switch0到PC2的数据包,右击Info项中的色块,同步骤(3),观察哪些字段发生了变化。

2. 任务二:(1)捕获数据包:单击Delete,删除任务一的场景;单击Add ComplexPDU,单击PC0,弹出的对话框的参数设置如下图,再单击Auto Capture/Play,捕获数据包,最后观察节点的接收情况。

(2)观察该该广播包的以太网封装:选择事件列表中PC0到Switch0的数据包,右击Info项中的色块,观察其Ethernet的封装。

3. 实验截图效果:任务一最初拓扑图实验中拓补图任务二四、实验小结:本次实验为首次使用”Cisco Packet Tracer Student”这个软件,对一些新的界面各个功能的操作还非常陌生。

不过,幸运的是本次实验难度不是很大,所以顺利地完成了本次实验内容。

在以后的学习里,我会花上更多课下时间提前好好熟悉实验环境,熟悉实验内容,为正式做实验提供基础。

封装Ethernet帧课程设计CSDN

封装Ethernet帧课程设计CSDN

封装Ethernet帧课程设计CSDN一、课程目标知识目标:1. 学生理解以太网帧的结构和封装过程,掌握相关概念,如MAC地址、帧类型、校验等。

2. 学生能够描述不同类型的以太网帧,并了解其在计算机网络中的应用和作用。

3. 学生掌握以太网帧的传输过程,了解数据在局域网中的传输机制。

技能目标:1. 学生能够利用相关工具或软件手动封装以太网帧,实践帧的构造和解析过程。

2. 学生通过实际操作,学会使用网络抓包工具分析以太网帧,培养实际网络问题排查能力。

情感态度价值观目标:1. 学生培养对计算机网络知识的好奇心和探究精神,提高对网络技术学习的兴趣。

2. 学生通过学习,认识到网络技术在现代社会中的重要性,增强信息安全意识。

3. 学生在学习过程中,培养团队合作精神,提高沟通与协作能力。

课程性质分析:本课程为计算机网络基础知识课程,旨在帮助学生建立扎实的网络基础,为后续学习更高级的网络知识奠定基础。

学生特点分析:本课程针对的对象为高中信息技术课程的学生,他们对计算机和网络有一定的了解,但可能对具体的技术细节掌握不足。

教学要求:1. 理论与实践相结合,注重培养学生的实际操作能力。

2. 采用案例教学,使学生能够更好地理解以太网帧在实际应用中的作用。

3. 鼓励学生提问和分享,激发学生的学习兴趣和思考。

二、教学内容1. 以太网帧基本概念:介绍以太网帧的定义、结构和组成,包括MAC地址、帧类型、帧校验序列等。

- 教材章节:第二章第二节“以太网帧结构”2. 以太网帧类型:讲解不同类型的以太网帧,如IPv4帧、ARP帧、VLAN帧等。

- 教材章节:第二章第三节“以太网帧类型”3. 封装与解封过程:阐述以太网帧的封装过程,包括帧头、帧尾的添加,以及数据封装;解封过程则相反。

- 教材章节:第二章第四节“以太网帧的封装与解封”4. 数据传输机制:介绍以太网帧在局域网中的传输过程,如CSMA/CD协议、全双工和半双工模式等。

- 教材章节:第三章第一节“局域网技术基础”5. 实践操作:利用网络抓包工具(如Wireshark)进行以太网帧的抓取、分析和封装实践。

帧封装-计算机网络课程设计

帧封装-计算机网络课程设计

课程设计说明书课程设计课题:封装Ethernet帧学院名称:信息工程学院1.设计目的通过这次课程设计提高学生的动手设计能力并让同学对帧有一个更深入的了解。

帧是在数据链路层数据进行传输与交换的基本单位。

构造帧对于理解网络协议的概念、协议执行过程以及网络问题处理的一般方法具有重要的意义。

本次课程设计的目的是应用数据链路层与介质访问控制层的知识,根据数据链路层的基本原理,通过构造一个具体的Ethernet帧,从而深入理解网络协议的基本概念与网络问题处理的一般方法。

2.设计任务内容编写程序,根据给出的原始数据,组装一个IEEE802.3格式的帧(题目默认的输入文件为二进制原始数据(文件名为1.txt)。

1)填充帧头部字段2) 填充数据字段3)计算CRC校验码并填充4)用其他算法实现CRC校验的相关扩展3.设计工具运行环境:Java语言Eclipse平台4.设计任务说明以及部分代码在这次课程设计中我的任务是实现CRC8、16、32、64共四种校验算法的实现。

经过查阅相关书籍和网上资料,代码见附录5.CRC运行结果如下图所示6.总结与体会这次计算机网络课程设计我负责的是CRC算法校验实现。

我们用的是Java语言,而我学的是网络安全方向没有学习Java语言,做课程设计的时候还是比较吃力的。

所以我查阅了一些相关资料和上网的资料,问了我们组长许飞很多问题。

在我们组长许飞的大力帮助之下终于实现了CRC算法校验的实现。

完成过程中出了很多错误也走了一些弯路,但是耐住性子我们组还是成功的把这个课程设计完成了。

这次课程设计对我们来说是一个很好的锻炼,无论是耐心还是学习方法,动手能力都有得到了很大的提高。

希望大三的我继续努力坚持下去,利用剩下的大学时间更多的完善自己,提高自己。

计算机网络课程设计--帧封装

计算机网络课程设计--帧封装

计算机网络课程设计报告题目:帧封装一、问题描述(把你所选的题目及要求说一下)帧封装,通过输入目的地址、源地址和数据,根据数据链路层的基本原理,构造一个具体的IEEE802.3格式的帧。

软件环境:MicrosoftVisua1C++6.0二、概要设计(抽象数据类型定义)帧的组成比较简单,由6个字段组成。

如图所示前导码(8)目的地址(6)~源地址(6)长度(2)数据(46~1500)校验和(4)(1)前导符:由7字节的前同步码和1字节的帧起始定界符构成。

前同步码:这个字段有7个字节(56位)交替出现的1和0,它的作用就是提醒接收系统有帧的到来,以及使到来的帧与计时器进行同步。

前同步码其实是在物理层添加上去的,并不是(正式的)帧的一部分。

前同步码的目标允许物理层在接收到实际的帧起始符之前检测载波,并且与接收到的帧时序达到稳定同步。

帧起始定界符:这个字段用1字节(10101011)作为帧开始的信号,表示一帧的开始。

最后两位是11,表示下面的字段是目的地址。

(2)目的地址(DA)48位,表示帧准备发往目的站的地址,共6个字节,可以是单址(代表单个站)、多址(代表一组站)或全地址(代表局域网上的所有站)。

(3)源地址(SA)48位,表明该帧的数据是哪个网卡发的,即发送端的网卡地址。

(4)长度,表示帧的数据部分长度占两个字节。

(5)数据字段的最小长度必须为46字节以保证帧长至少为64字节,这意味着传输一字节信息也必须使用46字节的数据字段:如果填入该字段的信息少于46字节,该字段的其余部分也必须进行填充。

数据字段的默认最大长度为1500字节。

(6)帧检验序列(FCS)是32位冗余检验码(CRC),检验除前导、SFD和FCS以外的内容。

当发送站发出帧时,一边发送,一边逐位进行CRC检验。

最后形成一个32位CRC检验和填在帧尾FCS位置中一起在媒体上传输。

接收接收后,从DA开始同样边接收边逐位进行CRC检验。

最后接收站形成的检验和若与帧的检验和相同,则表示媒体上传输帧未被破坏。

实验六 以太网帧的封装

实验六  以太网帧的封装

实验六以太网帧的封装(1.5学时)实验目的:1.了解模拟软件Packet Tracer的报文跟踪操作。

2.观察以太网帧的封装格式。

3.对比单播以太网帧和广播以太网帧的目标MAC地址。

实验原理:以太网是一种基带总线局域网,拓扑结构主要采用总线型或星形拓扑。

以太网用CSMA/CD协议作为媒体控制协议解决冲突问题。

CSMA/CD协议的基本原理是:站点发送数据前先监听信道,信道空闲时发送数据,在发送数据过程中持续监听信道,如果监听到冲突信号即停止发送数据,同时发送强化冲突信号,以使网络中正在发送数据的其他站点能够监听到冲突。

以太网帧格式为:在以太网中,使用MAC地址标识站点。

MAC地址固化在适配器的ROM中,在以太网中唯一标识一个站点。

以太网帧中的源MAC地址和目标MAC地址标识该数据帧的发送方和接收方。

以太网中的站点接收到数据帧后,对数据帧中的目标MAC地址进行检查,如果该帧是发往本站的则接收并处理数据帧,如果该帧不是发往本站的则丢弃此帧不做任何处理。

以太网中目标MAC地址有三种类型:(1)单播地址:拥有单播地址的数据帧发送给唯一一个站点,该站点的MAC地址与帧中的目标MAC地址相同。

(2)多播地址:拥有多播地址的帧将发送给网络中由组播地址指定的一组站点。

(3)广播地址:拥有广播地址的帧将发送给网络中所有的站点。

实验步骤:1.实验拓扑图:4台PC通过一台交换机组成一个简单的以太网,如下图所示。

2.捕获数据包Packet Tracer提供Realtime Mode(实时模式)和Simulation Mode(模式)两种操作模式。

可以通过单击拓扑工作区右下角的两个图标进行模式切换,如下图所示。

在实时模式下,网络行为和真实设备一样,对所有的网络行为即时响应。

例如,在PC 中发送ping命令后,根据网络当前的连通性即时返回往返时间或者超时等信息。

实时模式一般用于网络测试。

模拟模式下,软件可以动画形式形象地演示数据包在网络中传输的过程,用户可以对网络传输的数据包进行捕获,对捕获的数据包进行协议分析。

计算机网络课程报告——模拟Ethernet帧的发送过程

计算机网络课程报告——模拟Ethernet帧的发送过程

目录1 课程设计目的 (1)2课程设计要求 (1)3相关知识 (1)1.Ethernet的帧的发送流程 (2)2.Ethernet帧的接收流程 (3)4课程设计分析 (4)1.设计中的重点及难点 (4)2.核心代码 (4)3.程序流程 (5)5程序清单及注释 (7)6运行结果及分析 (10)7参考文献 (11)1 课程设计目的局域网技术发展十分迅速,目前已在企业、机关、学校的信息管理与信息服务领域中得到了广泛的应用。

在早期,人们将局域网归为一种数据通信网络。

随着局域网体系结构和协议标准研究的进展、操作系统的发展以及光纤技术的引入,局域网技术得到了快速发展。

目前Ethernet 是应用最广泛的局域网。

因此,学习Ethernet技术对深入掌握局域网知识是非常重要的。

本课程设计的目的是模拟Ethernet帧的发送过程,熟悉Ethernet帧的数据发送流程,即CSMA/CD 工作流程。

2课程设计要求编写程序模拟Ethernet结点的数据发送流程。

具体要求:(1)用两个线程a和b来模拟Ethernet上的两台主机。

(2)用一个双字类型变量Bus来模拟总线(将其初始化为“\0”,并且总线等于“\0”时表示总线空闲)。

(3)两个子线程向总线发送自己的数据。

数据用该线程的线程信号进行模拟,发送数据用线程号和Bus的“或”操作进行模拟(即Bus=Bus|ID,ID为该线程的线程号)。

(4)每台主机须向总线成功发送10次数据,如果其中某次数据发送失败,则该线程结束。

(5)发送流程须遵循CSMA/CD。

随机延迟算法中的冲突窗口取0.005。

在数据发送成功(即Bus==ID)后,报告“ID send success”,产生冲突(即Bus!=ID)后,报告“ID send collision”,发送失败(即冲突计数器值为0)后报告“ID send failure”。

随着主机发送成功次数的增加,报告其已发送成功的次数,如“主机A发送成功次数=3”。

2-2 以太网帧的封装实验

2-2 以太网帧的封装实验

2-2 以太网帧的封装实验科目:计算机网络专业:计算机应用技术班级:K0314320 姓名:王杰学号:K031432021 日期:202105031. 实验目的:①观察以太网帧的封装格式。

②对比单播以太网帧和广播以太网帧的目标MAC地址。

2. 实验拓扑图:以太网帧实验拓扑IP地址配置表 PC PC0 PC1 PC2 PC33.主要操作步骤及实验结果记录:任务一:观察单播以太网帧的封装? 步骤1:准备工作打开对应文件,完成初始化,删除练习文件中预设场景, ? 步骤2:捕获数据包进入Simulation模式。

添加数据包,单击auto capture/play捕获数据包,再次单击停止捕获。

? 步骤3:观察以太网帧的封装格式。

观察ethernet对应的封装格式。

DEST MAC:000A.4189.ADC6 SRC MAC:0060.2F6C.C118IP地址 192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.4子网掩码 255.255.255.0 255.255.255.0 255.255.255.0 255.255.255.0 ? 步骤4:观察交换机是否会修改以太网帧各字段取值 DEST MAC:000A.4189.ADC6 SRCMAC:0060.2F6C.C118任务二:观察广播以太网帧的封装? 步骤1:捕获数据包Pc0数据帧被交换机转发给pc1、pc2、pc3(所有节点),pc1、pc2、pc3(所有节点)接收该广播帧。

? 步骤2:观察该广播包的以太网封装 DEST MAC:字段的取值:FFFF.FFFF.FFFF DEST MAC字段取值的含义:广播地址。

4.实验结果分析:(1)任务一中,观察到以太网帧封装格式中前导字段的取值是什么?阐述其在数据帧传输过程中的作用。

答:任务一中,前导码字段取值为10101010・・・1010;以太网使用曼彻斯特编码传输数据,其特征是每个码元中间有一次电压的跳变,用于接收方提取同步信号,前导码的作用就是接收方提取同步信号,实现与发送方的时钟同步。

计算机网络课设__封装Ethernet帧讲解

计算机网络课设__封装Ethernet帧讲解

成绩评定表课程设计任务书摘要本设计题目是封装Ethernet帧,要实现的功能是通过封装Ethernet 帧,了解Ethernet帧中各个字段的含义与用途。

首先介绍本题目的相关知识,有帧的结构及和CRC冗余校验算法。

其次是程序设计分析,主要包括填充帧头部字段、填充数据字段和CRC 校验,并根据算法给出了程序流程图。

最后,是程序运行结果及实现代码,运行结果符合设计要求。

本程序主要关键词有:帧,CRC冗余校验,封装,填充等。

目录1.课程设计目的. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 2.课程设计要求. . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 3.相关知识. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 4.课程设计分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8 5.相关扩展. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10 6.程序代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 7.运行结果与分析. . . . . . . . . . . . . . . . . . . . . . . . . . . .16 8.参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171课程设计目的帧是在数据链路层中进行数据传输的基本单位。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机网络期中考试试题—模拟虚拟机中局域网的传输过程,完成简单图形界面。

学生:韩成周学号: 2014117138完成时间:2016年12月目录1.设计任务和要求 .........................................1.1 课程设计任务 ......................................1.2课程设计要求 ...................................... 2.设计原理 ...............................................2.1 802.3标准帧结构...................................2.2CRC的基本实现..................................... 3.设计思路 ............................................... 4.程序源码 ............................................... 5.运行结果 ...............................................1.设计任务和要求1.1课程设计任务虚拟局域网(VLAN),是一种通过将局域网内的设备逻辑地而不是物理地划分成一个个网段从而实现虚拟工作组的新兴技术,在功能和操作上和传统的LAN 基本相同。

虚拟局域网技术是目前网络界最热门的技术之一,也是交换网络中最重要的技术之一,它的出现是和局域网的交换技术的发展分不开的。

而我们的任务就是模拟虚拟局域网中帧的传输过程。

1.2设计要求1.初始化交换机的转发表;2.模拟虚拟局域网同一个局域网或者不同局域网之间帧的传输过程2.设计原理2.1 802.3标准帧结构虚拟局域网帧格式:1. 前序字段前序字段由7个字节的交替出现的1和0组成,设置该字段的目的是指示帧的开始并便于网络中的所有接收器均能与到达帧同步。

2.帧起始定界符字段它可以被看作前序字段的延续。

实际上,该字段的组成方式继续使用前序字段中的格式,这个一个字节的字段的前6个比特位置由交替出现的1和0构成。

该字段的最后两个比特位置是11,这两位中断了同步模式并提醒接收后面跟随的是帧数据。

3.目的地址字段目的地址字段确定帧的接收者。

6个字节的源地址和目的地址字段是局域网中的所有工作站必须使用同样的地址结构。

4.源地址字段源地址字段标识发送帧的工作站。

和目前地址字段类似,源地址字段的长度六个字节。

5.长度字段用于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.设计思路4.程序源代码(主要代码)#include "cmath" //#include "afxwin.h //#include <iostream> //#include <conio.h> //CWinThread * thread1, * thread2; //定义2个线程对象,分别代表a,bDWORD ID1, ID2, Bus = 0; //2线程ID,总线标志UINT aThread(LPVOID pParam); //线程a,代表主机aUINT bThread(LPVOID pParam); //线程b,代表主机busing namespace std;nt main(int argc, char* argv[], char * envp[]){int nRetCode = 0;thread1 = ::AfxBeginThread(aThread, NULL); //启动线程aID1 = thread1->m_nThreadID;thread2 = ::AfxBeginThread(bThread, NULL); //启动线程bID2 = thread2->m_nThreadID;getch(); //主线程等待,按任意键退出程序return nRetCode;}UINT aThread(LPVOID pParam){int i=0; //发送成功次数int CollisionCounter=2; //冲突计数器初始值为16double CollisionWindow=0.000001; //冲突窗口值取值0.005int randNum=rand()%3; //随机数while(1)if(Bus==0) //总线空闲{Bus=Bus|ID1; //模拟发送包Sleep(12);if (Bus==ID1) //无冲突{printf("%d Send Success\n\n",ID1); //发送成功Bus=0; //内存清零CollisionCounter=2; //复原冲突计数器Sleep(rand()%10); //随即延时i++;printf("主机a发送成功次数=%d\n\n",i);if(i>=10)break; //发送次数不够10次,开始下一次发送}else{printf("%d Send Collision\n\n",ID1); //发生冲突CollisionCounter--; //冲突次数加1Bus=0; //冲突加强停止发送数据等待下面延时if(CollisionCounter>0){ //随即延迟重发,延迟算法用截断的二进制指数退避算法Sleep(randNum*(int)pow(2,(CollisionCounter>10)?10: CollisionCounter)*CollisionWindow);continue; //下一次尝试发送}elseprintf("%d Send Failure\n\n",ID1);}}return 0;}UINT bThread(LPVOID pParam){int i=0; //发送成功次数int CollisionCounter=16; //冲突计数器初始值为16 double CollisionWindow=0.005; //冲突窗口值取值0.005int randNum=rand()%3; //随机数while(1)if(Bus==0) //总线空闲{Bus=Bus|ID2; //模拟发送包Sleep(12);if (Bus==ID2) //无冲突{Sleep(rand()%10);printf("%d Send Success\n\n",ID2); //发送成功Bus=0; //内存清零CollisionCounter=16; //复原冲突计数器 Sleep(rand()%10); //随即延时i++;printf("主机b发送成功次数=%d\n\n",i);if(i>=10)break; //发送次数不够10次,开始下一次发送}else{printf("%d Send Collision\n\n",ID2); //发生冲突CollisionCounter--; //冲突次数加1Bus=0; //冲突加强停止发送数据等待下面延时if(CollisionCounter>0){ //随即延迟重发,延迟算法用截断的二进制指数退避算法Sleep(randNum*(int)pow(2,(CollisionCounter>10)?10: CollisionCounter)*CollisionWindow);continue; //下一次尝试发送}else{ printf("%d Send Failure\n\n",ID2);}}}return 0;}5.运行结果。

相关文档
最新文档