当前位置:文档之家› 数据链路层实验报告

数据链路层实验报告

数据链路层实验报告
数据链路层实验报告

附件(四)

深圳大学实验报告课程名称:计算机网络

实验项目名称:数据链路层协议实验

学院:

专业:

指导教师:

报告人:学号:班级:

实验时间:2014.10.17

实验报告提交时间:2014.10.17

教务处制

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。

数据结构查找实验心得体会

数据结构查找实验心得体会篇一:数据结构实训心得体会 这次课程设计的心得体会通过实习我的收获如下1、巩固和加深了对数据结构的理解,提高 综合运用本课程所学知识的能力。2、培养了我选用参考书,查阅手册及文献资料的能力。培 养独立思考,深入研究,分析问题、解决问题的能力。 3、通过实际编译系统的分析设计、编 程调试,掌握应用软件的分析方法和工程设计方法。4、通过课程设计,培养了我严肃认真的 工作作风,逐步建立正确的生产观念、经济观念和全局观念。从刚开始得觉得很难,到最后 把这个做出来,付出了很多,也得到了很多,以前总以为自己对编程的地方还不行,现在, 才发现只要认真做,没有什么不可能。编程时要认真仔细,出现错误要及时找出并改正,(其中对英语的要求也体现出来了,因 为它说明错误的时候都是英语)遇到问题要去查相关的资料。反复的调试程序,最好是多找 几个同学来对你的程序进行调试并听其对你的程序的建议,在他们不知道程序怎么写的时候 完全以一个用户的身份来用对你的用户界面做一些建

议,正所谓当局者迷旁观者清,把各个 注意的问题要想到;同时要形成自己的编写程序与调试程序的风格,从每个细节出发,不放 过每个知识点,注意与理论的联系和理论与实践的差别。另外,要注意符号的使用,注意对 字符处理,特别是对指针的使用很容易出错且调试过程是不会报错的,那么我们要始终注意 指针的初始化不管它怎么用以免不必要麻烦。通过近两周的学习与实践,体验了一下离开课堂的学习,也可以理解为一次实践与理论 的很好的连接。特别是本组所做的题目都是课堂上所讲的例子,在实行之的过程中并不是那 么容易事让人有一种纸上谈兵的体会,正所谓纸上得来终觉浅绝知此事要躬行。实训过程中 让我们对懂得的知识做了进一步深入了解,让我们的理解与记忆更深刻,对不懂的知识与不 清楚的东西也做了一定的了解,也形成了一定的个人做事风格。通过这次课程设计,让我对一个程序的数据结构有更全面更进一步的认识,根据不同的 需求,采用不同的数据存储方式,不一定要用栈,二叉树等高级类型,有时用基本的一维数 组,只要运用得当,也能达到相同的效果,甚至更佳,

网络实验报告二三四

计算机网络实验 学院: 专业: 班级: 姓名: 学号:

实验二:数据链路层数据包抓包分析 实验内容 (1)安装Wireshark软件。 (2)掌握抓包软件的使用 (3)掌握通过抓包软件抓取帧并进行分析的办法 实验步骤 (1)常用的抓包软件包括Sniffer、NetXRay、Wireshark (又名EtheReal)。 我们采用免费的Wireshark,可以从https://www.doczj.com/doc/8913075664.html,或其他网站下载。安装完成后,Wireshark的主界面和各模块功能如下: 命令菜单(command menus):最常用菜单命令有两个:File、Capture。File菜单允许你保存捕获的分组数据或打开一个已被保存的捕获分组数据文件。Capture菜单允许你开始捕获分组。 显示筛选规则(display filter specification):在该字段中,可以填写协议的名称或其他信息,根据此内容可以对分组列表窗口中的分组进行过滤。 捕获分组列表(listing of captured packets):按行显示已被捕获的分组内容,其中包括:Wireshark赋予的分组序号、捕获时间、分组的源地址和目的地址、协议类型、分组中所包含的协议说明信息。在该列表中,所显示的协议类型是发送或接收分组的最高层协议的类型。分组首部明细(details of selected packet header):显示捕获分组列表窗口中被选中分组的头部详细信息。包括:与以太网帧有关的信息,与包含在该分组中的IP数据报有关的信息。如果利用TCP或UDP承载分组, Wireshark也会显示TCP或UDP协议头部信息。最后,分组最高层协议的头部字段也会被显示。 分组内容窗口(packet content):以ASCII码和十六进制两种格式显示被捕获帧的完整内容。(2)下面我们进行抓包练习。 在capture菜单中选中options,可以设置抓包选项,如下图所示,这里我们需要选择要对其进行抓包的网卡。选择完成后按“start”开始抓包。

数据结构实验总结报告

数据结构实验总结报告 一、调试过程中遇到哪些问题? (1)在二叉树的调试中,从广义表生成二叉树的模块花了较多时间调试。 由于一开始设计的广义表的字符串表示没有思考清晰,处理只有一个孩子的节点时发生了混乱。调试之初不以为是设计的问题,从而在代码上花了不少时间调试。 目前的设计是: Tree = Identifier(Node,Node) Node = Identifier | () | Tree Identifier = ASCII Character 例子:a(b((),f),c(d,e)) 这样便消除了歧义,保证只有一个孩子的节点和叶节点的处理中不存在问题。 (2)Huffman树的调试花了较长时间。Huffman编码本身并不难处理,麻烦的是输入输出。①Huffman编码后的文件是按位存储的,因此需要位运算。 ②文件结尾要刷新缓冲区,这里容易引发边界错误。 在实际编程时,首先编写了屏幕输入输出(用0、1表示二进制位)的版本,然后再加入二进制文件的读写模块。主要调试时间在后者。 二、要让演示版压缩程序具有实用性,哪些地方有待改进? (1)压缩文件的最后一字节问题。 压缩文件的最后一字节不一定对齐到字节边界,因此可能有几个多余的0,而这些多余的0可能恰好构成一个Huffman编码。解码程序无法获知这个编码是否属于源文件的一部分。因此有的文件解压后末尾可能出现一个多余的字节。 解决方案: ①在压缩文件头部写入源文件的总长度(字节数)。需要四个字节来存储这个信息(假定文件长度不超过4GB)。 ②增加第257个字符(在一个字节的0~255之外)用于EOF。对于较长的文件,

会造成较大的损耗。 ③在压缩文件头写入源文件的总长度%256的值,需要一个字节。由于最后一个字节存在或不存在会影响文件总长%256的值,因此可以根据这个值判断整个压缩文件的最后一字节末尾的0是否在源文件中存在。 (2)压缩程序的效率问题。 在编写压缩解压程序时 ①编写了屏幕输入输出的版本 ②将输入输出语句用位运算封装成一次一个字节的文件输入输出版本 ③为提高输入输出效率,减少系统调用次数,增加了8KB的输入输出缓存窗口 这样一来,每写一位二进制位,就要在内部进行两次函数调用。如果将这些代码合并起来,再针对位运算进行一些优化,显然不利于代码的可读性,但对程序的执行速度将有一定提高。 (3)程序界面更加人性化。 Huffman Tree Demo (C) 2011-12-16 boj Usage: huffman [-c file] [-u file] output_file -c Compress file. e.g. huffman -c test.txt test.huff -u Uncompress file. e.g. huffman -u test.huff test.txt 目前的程序提示如上所示。如果要求实用性,可以考虑加入其他人性化的功能。 三、调研常用的压缩算法,对这些算法进行比较分析 (一)无损压缩算法 ①RLE RLE又叫Run Length Encoding,是一个针对无损压缩的非常简单的算法。它用重复字节和重复的次数来简单描述来代替重复的字节。尽管简单并且对于通常的压缩非常低效,但它有的时候却非常有用(例如,JPEG就使用它)。 变体1:重复次数+字符 文本字符串:A A A B B B C C C C D D D D,编码后得到:3 A 3 B 4 C 4 D。

计算机网络实验报告 答案讲解

计算机网络实验报告 专业计算机科学与技术 班级计102 学号109074057 姓名王徽军 组号一组D 指导教师毛绪纹 安徽工业大学计算机学院 二○一二年十二月

目录 实验总体说明 (3) 实验一以太网帧的构成 (3) 实验三路由信息协议RIP (8) 实验四传输控制协议TCP (10) 实验五邮件协议SMTP、POP3、IMAP (12) 实验六超文本传输协议HTTP (14)

实验总体说明 1.实验总体目标 配合计算机网络课程的教学,加强学生对计算机网络知识(TCP/IP协议)的深刻理解,培养学生的实际操作能力。 2.实验环境 计算机网络协议仿真实验室: 实验环境:网络协议仿真教学系统(通用版)一套 硬件设备:服务器,中心控制设备,组控设备,PC机若干台 操作系统:Windows 2003服务器版 3.实验总体要求 ●按照各项实验内容做实验,记录各种数据包信息,包括操作、观察、记录、分析, 通过操作和观察获得直观印象,从获得的数据中分析网络协议的工作原理; ●每项实验均提交实验报告,实验报告的内容可参照实验的具体要求,但总体上应包 括以下内容:实验准备情况,实验记录,实验结果分析,算法描述,程序段,实验过程中遇到的问题以及对思考问题的解答等,实验目的、实验原理、实验步骤不需要写入实验报告中。 实验一以太网帧的构成 实验时间:_____________ 成绩:________________ 实验角色:_____________ 同组者姓名:______________________________

练习一:领略真实的MAC帧 q....U 00000010: 85 48 D2 78 62 13 47 24 58 25 00 00 00 00 00 00 .H襵b.G$X%...... 00000020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000030: 00 00 00 00 00 00 00 00 00 00 00 00 ............ 练习二:理解MAC地址的作用 ●记录实验结果 表1-3实验结果 本机MAC地址源MAC地址目的MAC地址是否收到,为什么 主机B 8C89A5-7570BB 8C89A5-757113 8C89A5-7570C1 是,主机A与主机B接在同一共享模块 主机D 8C89A5-771A47 8C89A5-757113 8C89A5-7570C1 是,主机C与主机D接在同一共享模块 主机E 8C89A5-757110 无无否,与主机A、C都不在同一共享模块 主机 F 8C89A5-7715F8 无无否,与主机A、C都不在同一共享模块 练习三:编辑并发送MAC广播帧 ●结合练习三的实验结果,简述FFFFFF-FFFFFF作为目的MAC地址的作用。 答:该地址为广播地址,作用是完成一对多的通信方式,即一个数据帧可发送给同一网段内的所有节点。 练习四:编辑并发送LLC帧 ●实验结果 帧类型发送序号N(S)接受序号N(R) LLC 001F 0 ●简述“类型和长度”字段的两种含义 答:一是如果字段的值小于1518,它就是长度字段,用于定义下面数据字段的长度;二是如果字段的值大于1536,用于定义一个封装在帧中的PDU分组的类型。 思考问题: 1.为什么IEEE802标准将数据链路层分割为MAC子层和LLC子层? 答:出于厂商们在商业上的激烈竞争,IEEE的802委员会未能形成一个统一的、最佳的局域网标准,而是被迫制定了几个不同标准,如802.4令牌总线网、802.5令牌环网等。为了使数据链路层能更好地适应多种局域网标准,802委员会就将局域网的数据链路层拆成两个子层,即逻辑链路控制

数据链路层协议分析

【里论套习 4、理解MAC '地址的作用; 实验二以太网链路层帧格式分析 一实验目的 1、分析EthernetV2 标准规定的MAC 层帧结构,了解IEEE802.3标准规定 的MAC 层帧结构和TCP/IP 的主要协议和协议的层次结构。 2、掌握网络协议分析软件的基本使用方法。 3、掌握网络协议编辑软件的基本使用方法。 "时]工严11 1 厶-*■ ―鼻八匸 二实验内容 1、 学习网络协议编辑软件的各组成部 ___________ Slepl:设走夹验环墳 2、 学习网络协议分析软件的各组成部分及其功能; — £伽|12:运行ipconfig 命令 3、学会使用网络协议编辑软件编辑以太网数据包;厂 5始閃:娠輻LLC 信息輔并灰洪 Step4:编頤IXC 噩拦巾贞和无 5、理解MAC 酩部中的LLC — PDU 长度/类型字段的功能; 6、学会观察并分析地址本中的 MAC 地址 三实验环境 四实验流程 图 2.1-2( 五实验原理 在物理媒体上传输的数据难免受到各种不可靠因素的影响而产生差错, 为了弥补 物理层上的不足,为上层提供无差错的数据传输,就要能对数据进行检错和纠错。 数据链路的建立、拆除、对数据的检 错,纠错是数据链路层的基本任务。 局域网(LAN)是在一个小的范围内,将分散的独立计算机系统互联起来,实现资 开始

源的共享和数据通信。局域网的技术要素包括了体系结构和标准、传输媒体、拓扑结构、数据编码、媒体访问控制和逻 辑链路控制等,其中主要的技术是传输媒体、拓扑结构和媒体访问控制方法。局域网的主要的特点是:地理分布范围小、数据传输速率高、误码率低和协议简单等。 1、三个主要技术 1)传输媒体:双绞线、同轴电缆、光缆、无线。 2)拓扑结构:总线型拓扑、星型拓扑和环型拓扑。 3)媒体访问控制方法:载波监听多路访问/冲突检测(CSMA/CD)技术。 2、IEEE802标准的局域网参考模型 IEEE802参考模型包括了OSI/RM最低两层(物理层和数据链路层)的功能,OSI/RM 的数据链路层功能,在局域网参考模型中被分成媒体访问控制MAC(MediumAccessCo ntrol) 和逻辑链路控制LLC(LogicalLi nkCon trol)两个 子层。由于局域网采用的媒体有多种,对应的媒体访问控制方法也有多种,为了 使数据帧的传送独立于所采用的物理媒体和媒体访问控制方法,IEEE802标准特意把LLC独立出来形成单独子层,使LLC子层与媒体无关,仅让MAC子层依赖于物理媒体和媒体访问控制方法。LLC子层中规定了无确认无连接、有确认无连接和面向连接三种类型的链路服务。媒体访问控制技术是以太网技术的核心。以太网不提供任何确认收到帧的应答机制,确认必须在高层完成。3、以太网帧结构 以太网中传输的数据包通常被称为“帧”,以太网的“帧”结构如下: 各字段的含义: 目的地址:6个字节的目的物理地址标识帧的接收结点。 源地址:6个字节的源物理地址标识帧的发送结点。

数据链路层协议的设计

课程名称:计算机网络 数据链路层协议 系别:计算机科学系 年级专业: 学号: 姓名: 任课教师:成绩: 2015 年11 月11 日 前言 数据链路层是OSI参考模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。 为达到这一目的,数据链路必须具备一系列相应的功能,主要有:如何将数据组合成数据块,在数据链路层中称这种数据块为帧(frame),帧是数据链路层的传送单位;如何控制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送速率以使与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、维持和释放的管理。 数据链路层的最基本的功能是向该层用户提供透明的和可靠的数据传送基本服务。透明性是指该层上传输的数据的内容、格式及编码没有限制,也没有必要解释信息结构的意义;可靠的传输使用户免去对丢失信息、干扰信息及顺序不正确等的担心。在物理层中这些情况

都可能发生,在数据链路层中必须用纠错码来检错与纠错。数据链路层是对物理层传输原始比特流的功能的加强,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一无差错的线路。如果您想用尽量少的词来记住数据链路层,那就是:“帧和介质访问控制”。 数据链路层 一、实习目的 计算机网络的数据链路层协议保证通信双方在有差错的通信线路上进行无差错的数据传输,是计算机网络各层协议中通信控制功能最典型的一种协议。 本实验实现一个数据链路层协议的数据传送部分,目的在于更好地理解基本数据链路层协议的基本工作原理,掌握计算机网络协议的基本实现技术。 二、实习时间 (第 12 周到 13周) 三、实习地点 福建农林大学东方学院网络实验室

Wireshark抓包实验报告.

第一次实验:利用Wireshark软件进行数据包抓取 1.3.2 抓取一次完整的网络通信过程的数据包实验 一,实验目的: 通过本次实验,学生能掌握使用Wireshark抓取ping命令的完整通信过程的数据包的技能,熟悉Wireshark软件的包过滤设置和数据显示功能的使用。 二,实验环境: 操作系统为Windows 7,抓包工具为Wireshark. 三,实验原理: ping是用来测试网络连通性的命令,一旦发出ping命令,主机会发出连续的测试数据包到网络中,在通常的情况下,主机会收到回应数据包,ping采用的是ICMP协议。 四,验步骤: 1.确定目标地址:选择https://www.doczj.com/doc/8913075664.html,作为目标地址。 2.配置过滤器:针对协议进行过滤设置,ping使用的是ICMP协议,抓包前使用捕捉过滤器,过滤设置为icmp,如图 1- 1

图 1-1 3.启动抓包:点击【start】开始抓包,在命令提示符下键入ping https://www.doczj.com/doc/8913075664.html,, 如图 1-2

图 1-2 停止抓包后,截取的数据如图 1-3 图 1-3 4,分析数据包:选取一个数据包进行分析,如图1- 4

图1-4 每一个包都是通过数据链路层DLC协议,IP协议和ICMP协议共三层协议的封装。DLC协议的目的和源地址是MAC地址,IP协议的目的和源地址是IP地址,这层主要负责将上层收到的信息发送出去,而ICMP协议主要是Type和Code来识别,“Type:8,Code:0”表示报文类型为诊断报文的请求测试包,“Type:0,Code:0”表示报文类型为诊断报文类型请正常的包。ICMP提供多种类型的消息为源端节点提供网络额故障信息反馈,报文类型可归纳如下: (1)诊断报文(类型:8,代码0;类型:0代码:0); (2)目的不可达报文(类型:3,代码0-15); (3)重定向报文(类型:5,代码:0--4); (4)超时报文(类型:11,代码:0--1); (5)信息报文(类型:12--18)。

数据链路层协议分析

实验二以太网链路层帧格式分析 一实验目的 1、分析EthernetV2 标准规定的MAC 层帧结构,了解IEEE802.3标准规定 的MAC 层帧结构和TCP/IP 的主要协议和协议的层次结构。 2、掌握网络协议分析软件的基本使用方法。 3、掌握网络协议编辑软件的基本使用方法。 "时]工严11 1 厶-*■ ―鼻八匸 二实验内容 1、 学习网络协议编辑软件的各组成部 ___________ Slepl:设走夹验环墳 2、 学习网络协议分析软件的各组成部分及其功能; — £伽|12:运行ipconfig 命令 3、学会使用网络协议编辑软件编辑以太网数据包;厂 5始閃:娠輻LLC 信息輔并灰洪 Step4:编頤IXC 噩拦巾贞和无 5、理解MAC 酩部中的LLC — PDU 长度/类型字段的功能; 6、学会观察并分析地址本中的 MAC 地址 三实验环境 四实验流程 图 2.1-2( 五实验原理 在物理媒体上传输的数据难免受到各种不可靠因素的影响而产生差错, 为了弥补 物理层上的不足,为上层提供无差错的数据传输,就要能对数据进行检错和纠错。 数据链路的建立、拆除、对数据的检 错,纠错是数据链路层的基本任务。 【里论套习 4、理解MAC '地址的作用; 开始

局域网(LAN)是在一个小的范围内,将分散的独立计算机系统互联起来,实现资 源的共享和数据通信。局域网的技术要素包括了体系结构和标准、传输媒体、拓扑结构、数据编码、媒体访问控制和逻 辑链路控制等,其中主要的技术是传输媒体、拓扑结构和媒体访问控制方法。局域网的主要的特点是:地理分布范围小、数据传输速率高、误码率低和协议简单等。 1、三个主要技术 1)传输媒体:双绞线、同轴电缆、光缆、无线。 2)拓扑结构:总线型拓扑、星型拓扑和环型拓扑。 3)媒体访问控制方法:载波监听多路访问/冲突检测(CSMA/CD)技术。 2、IEEE802标准的局域网参考模型 IEEE802参考模型包括了OSI/RM最低两层(物理层和数据链路层)的功能,OSI/RM 的数据链路层功能,在局域网参考模型中被分成媒体访问控制MAC(MediumAccessCo ntrol)和逻辑链路控制LLC(LogicalLi nkCon trol)两个 子层。由于局域网采用的媒体有多种,对应的媒体访问控制方法也有多种,为了 使数据帧的传送独立于所采用的物理媒体和媒体访问控制方法,IEEE802标准特意把LLC独立出来形成单独子层,使LLC子层与媒体无关,仅让MAC子层依赖于物理媒体和媒体访问控制方法。LLC子层中规定了无确认无连接、有确认无连接和面向连接三种类型的链路服务。媒体访问控制技术是以太网技术的核心。以太网不提供任何确认收到帧的应答机制,确认必须在高层完成。 3、以太网帧结构 以太网中传输的数据包通常被称为“帧”,以太网的“帧”结构如下: 各字段的含义: 目的地址:6个字节的目的物理地址标识帧的接收结点。 源地址:6个字节的源物理地址标识帧的发送结点。

数据结构实验总结报告

数据结构实验总结报告 李博杰PB10000603 一、调试过程中遇到哪些问题? (1)在二叉树的调试中,从广义表生成二叉树的模块花了较多时间调试。 由于一开始设计的广义表的字符串表示没有思考清晰,处理只有一个孩子的节点时发生了混乱。调试之初不以为是设计的问题,从而在代码上花了不少时间调试。 目前的设计是: Tree = Identifier(Node,Node) Node = Identifier | () | Tree Identifier = ASCII Character 例子:a(b((),f),c(d,e)) 这样便消除了歧义,保证只有一个孩子的节点和叶节点的处理中不存在问题。 (2)Huffman树的调试花了较长时间。Huffman编码本身并不难处理,麻烦的是输入输出。 ①Huffman编码后的文件是按位存储的,因此需要位运算。 ②文件结尾要刷新缓冲区,这里容易引发边界错误。 在实际编程时,首先编写了屏幕输入输出(用0、1表示二进制位)的版本,然后再加入二进制文件的读写模块。主要调试时间在后者。 二、要让演示版压缩程序具有实用性,哪些地方有待改进? (1)压缩文件的最后一字节问题。 压缩文件的最后一字节不一定对齐到字节边界,因此可能有几个多余的0,而这些多余的0可能恰好构成一个Huffman编码。解码程序无法获知这个编码是否属于源文件的一部分。因此有的文件解压后末尾可能出现一个多余的字节。 解决方案: ①在压缩文件头部写入源文件的总长度(字节数)。需要四个字节来存储这个信息(假定文件长度不超过4GB)。 ②增加第257个字符(在一个字节的0~255之外)用于EOF。对于较长的文件,会造成较大的损耗。 ③在压缩文件头写入源文件的总长度%256的值,需要一个字节。由于最后一个字节存在或不存在会影响文件总长%256的值,因此可以根据这个值判断整个压缩文件的最后一字节末尾的0是否在源文件中存在。 (2)压缩程序的效率问题。 在编写压缩解压程序时 ①编写了屏幕输入输出的版本 ②将输入输出语句用位运算封装成一次一个字节的文件输入输出版本 ③为提高输入输出效率,减少系统调用次数,增加了8KB的输入输出缓存窗口 这样一来,每写一位二进制位,就要在内部进行两次函数调用。如果将这些代码合并起来,再针对位运算进行一些优化,显然不利于代码的可读性,但对程序的执行速度将有一定提高。

实验二数据链路层协议分析

实验二以太网链路层帧格式分析一实验目的 1、分析EthernetV2标准规定的MAC层帧结构,了解IEEE802.3标准规定的 MAC层帧结构和TCP/IP的主要协议和协议的层次结构。 2、掌握网络协议分析软件的基本使用方法。 3、掌握网络协议编辑软件的基本使用方法。 二实验内容 1、学习网络协议编辑软件的各组成部分及其功能; 2、学习网络协议分析软件的各组成部分及其功能; 3、学会使用网络协议编辑软件编辑以太网数据包; 4、理解MAC地址的作用; 5、理解MAC首部中的LLC—PDU长度/类型字段的功能; 6、学会观察并分析地址本中的MAC地址。 三实验环境 回2.1- L 四实验流程 小亠| /I J ■ v 开始

结束 图21 2| 五实验原理 在物理媒体上传输的数据难免受到各种不可靠因素的影响而产生差错,为了弥补物理层上的不足,为上层提供无差错的数据传输,就要能对数据进行检错和纠错。数据链路的建立、拆除、对数据的检错,纠错是数据链路层的基本任务。 局域网(LAN)是在一个小的范围内,将分散的独立计算机系统互联起来,实现资源的共享和数据通信。局域网的技术要素包括了体系结构和标准、传输媒体、拓扑结构、数据编码、媒体访问控制和逻 辑链路控制等,其中主要的技术是传输媒体、拓扑结构和媒体访问控制方法。局域网的主要的特点是:地理分布范围小、数据传输速率高、误码率低和协议简单等。 1、三个主要技术 1)传输媒体:双绞线、同轴电缆、光缆、无线。 2)拓扑结构:总线型拓扑、星型拓扑和环型拓扑。 3)媒体访问控制方法:载波监听多路访问/冲突检测(CSMA/CD技术 2、IEEE 802标准的局域网参考模型 IEEE 802参考模型包括了OSI/RM最低两层(物理层和数据链路层)的功能,OSI/RM 的数据链路层功能,在局域网参考模型中被分成媒体访问控制 MAC(Medium Access Control) 和逻辑链路控制LLC(Logical Link Control)两个子层。由于局域网采用的媒体有多种,对应的媒体访问控制方法也有多种,为

最新数据结构实训总结

精品文档 这次课程设计的心得体会通过实习我的收获如下1、巩固和加深了对数据结构的理解,提高综合运用本课程所学知识的能力。2、培养了我选用参考书,查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的能力。3、通过实际编译系统的分析设计、编程调试,掌握应用软件的分析方法和工程设计方法。4、通过课程设计,培养了我严肃认真的工作作风,逐步建立正确的生产观念、经济观念和全局观念。从刚开始得觉得很难,到最后把这个做出来,付出了很多,也得到了很多,以前总以为自己对编程的地方还不行,现在,才发现只要认真做,没有什么不可能。 编程时要认真仔细,出现错误要及时找出并改正,(其中对英语的要求也体现出来了,因为它说明错误的时候都是英语)遇到问题要去查相关的资料。反复的调试程序,最好是多找几个同学来对你的程序进行调试并听其对你的程序的建议,在他们不知道程序怎么写的时候完全以一个用户的身份来用对你的用户界面做一些建议,正所谓当局者迷旁观者清,把各个注意的问题要想到;同时要形成自己的编写程序与调试程序的风格,从每个细节出发,不放过每个知识点,注意与理论的联系和理论与实践的差别。另外,要注意符号的使用,注意对字符处理,特别是对指针的使用很容易出错且调试过程是不会报错的,那么我们要始终注意指针的初始化不管它怎么用以免不必要麻烦。 通过近两周的学习与实践,体验了一下离开课堂的学习,也可以理解为一次实践与理论的很好的连接。特别是本组所做的题目都是课堂上所讲的例子,在实行之的过程中并不是那么容易事让人有一种纸上谈兵的体会,正所谓纸上得来终觉浅绝知此事要躬行。实训过程中让我们对懂得的知识做了进一步深入了解,让我们的理解与记忆更深刻,对不懂的知识与不清楚的东西也做了一定的了解,也形成了一定的个人做事风格。 通过这次课程设计,让我对一个程序的数据结构有更全面更进一步的认识,根据不同的需求,采用不同的数据存储方式,不一定要用栈,二叉树等高级类型,有时用基本的一维数组,只要运用得当,也能达到相同的效果,甚至更佳,就如这次的课程设计,通过用for的多重循环,舍弃多余的循环,提高了程序的运行效率。在编写这个程序的过程中,我复习了之前学的基本语法,哈弗曼树最小路径的求取,哈弗曼编码及译码的应用范围,程序结构算法等一系列的问题它使我对数据结构改变了看法。在这次设计过程中,体现出自己单独设计模具的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,也从中发现自己平时学习的不足和薄弱环节,从而加以弥补。 精品文档

1实验一数据链路层实验

实验1 数据链路层——检错与纠错 一实验任务 1通过【海明编码】和【CRC 检错】测试软件,验证纠错与检错功能和性能,掌握其工作原理; 2编写海明编码程序和 CRC 编码程序; 3总结实验过程(实验报告,左侧装订):方案、编程、调试、结果、分析、结论。 二实验环境 1操作系统Windws 9x/NT/2000/XP/2003/2008/Vista/7 2软件Visual C++ 6.0/2005/2008/2010、Visual Basic 6.0/2005/2008/2010、Turbo C/C++ 3软件 C++ Builder 6.0/2006/2007/2009/2010/XE/XE2、Java、C# 或其它 4数制转换与比较 (16进制、2进制转换;通过比较,找出差错个数、差错位置和突发差错长度)。 三海明编码实验 下载【海明编码】测试软件,运行: 1 验证纠错能力; 2 验证检错能力; 3 若数据=10011001,海明编码=?,校验位=? 4若接收端收到的信息=101010101001(海明编码),数据=? 5 尝试编写海明编码的程序。

四CRC编码实验 下载【CRC-8检错】测试软件,运行: CRC8UndetectedErrors 1验证检错能力,能检几位错? 2 找出检错失败的信息码,并进行分析; 3 若数据=“Hello!”,采用生成多项式107H,CRC校验码=? 4若数据=“Hello!”,采用生成多项式131H,CRC校验码=? 5若接收端收到的信息=4F6F1DH,采用生成多项式107H进行校验,结果如何?6自定义生成多项式,实验其性能,如何选择生成多项式? 7试编写CRC-8编码程序; 8试编写CRC-16编码程序,参考【CRC-16 检错】测试软件。

数据链路层通信协议

题目: 数据链路层网络通信协议计 姓名: 周小多 学号:2013302513 班号:10011302 时间:2015.11.12 计算机学院

目录 摘要 1 目的 (1) 2 要求 (1) 3 相关知识 (1) 4 设计原理及流程图........................ 错误!未定义书签。 5 实现思路及伪代码描述 (3) 6 意见或建议 (4) 7 参考文献 (4)

题目: 数据链路层网络通信协议设计

帧校验字段 紧跟在信息字段之后的是两字节的帧校验字段,帧校验字段称为FC (Frame Check )字段, 校验序列FCS (Frame check Sequence )。SDLC/HDLC 均采用16位循环冗余校验码CRC (Cyclic Redundancy Code ),其生成多项式为CCITT 多项式X^16+X^12+X^5+1。除了标志字段和自动插入的"0" 位外,所有的信息都参加CRC 计算。 CRC 的编码器在发送码组时为每一码组加入冗余的监督码位。接收时译码器可对在纠错范围内的错码进行纠正,对在校错范 围内的错码进行校验,但不能纠正。超出校、纠错范围之外的多位错误将不可能被校验发现 。 4、设计原理及流程图 ? 可靠性分析:(1)差错控制:检错(CRC-32);纠错(序号+确认反馈+超时重发);(2 )流量控制:采用选择重发协议(序号为3个比特位,发送缓冲区和接收缓存区,确定发送窗口和接收窗口,对缓冲区和窗口管理) ? 不可靠性分析:支持不可靠通信服务。 ? 协议分析:语法,语义和同步 ? 语法:数据帧格式 ? 起始定界符=终止定界符:01111110; ? 目的地址:(48):bbbbbb; ? 源地址:(48):aaaaaa; ? 控制字段:定义帧类型,实现差错控制和流量控制 ? 数据部分:46~1500字节 ? 语义:不同类型帧的含义

关于数据结构课程设计心得体会范文

关于数据结构课程设计心得体会范文 心得体会是指一种读书、实践后所写的感受性文字。是指将学习的东西运用到实践中去,通过实践反思学习内容并记录下来的文字,近似于经验总结。下面是小编搜集的关于数据结构课程设计心得体会范文,希望对你有所帮助。 关于数据结构课程设计心得体会(1) 这学期开始两周时间是我们自己选题上机的时间,这学期开始两周时间是我们自己选题上机的时间,虽然上机时间只有短短两个星期但从中确实学到了不少知识。上机时间只有短短两个星期但从中确实学到了不少知识。 数据结构可以说是计算机里一门基础课程,据结构可以说是计算机里一门基础课程,但我觉得我们一低计算机里一门基础课程定要把基础学扎实,定要把基础学扎实,然而这次短短的上机帮我又重新巩固了 c 语言知识,让我的水平又一部的提高。数据结构这是一门语言知识让我的水平又一部的提高。数据结构这是一门知识,纯属于设计的科目,它需用把理论变为上机调试。 纯属于设计的科目,它需用把理论变为上机调试。它对我们来说具有一定的难度。它是其它编程语言的一门基本学科。来说具有一定的难度。它是其它编程语言的一门基本学科。我选的上机题目是交叉合并两个链表,对这个题目,我选的上机题目是交叉合并两个链表,对这个题目,我觉得很基础。刚开始调试代码的时候有时就是一个很小的错觉得很基础。 刚开始调试代码的时候有时就是一个很小的错调试代码的时候误,导致整个程序不能运行,然而开始的我还没从暑假的状导致整个程序不能运行,态转到学习上,每当程序错误时我都非常焦躁,态转到学习上,每当程序错误时我都非常焦躁,甚至想到了放弃,但我最终找到了状态,一步一步慢慢来,放弃,但我最终找到了状态,一步一步慢慢来,经过无数次的检查程序错误的原因后慢慢懂得了耐心是一个人成功的必然具备的条件! 同时,通过此次课程设计使我了解到,必然具备的条件! 同时,通过此次课程设计使我了解到,硬件语言必不可缺少,要想成为一个有能力的人,必须懂得件语言必不可缺少,要想成为一个有能力的人,硬件

数据链路层协议综合概述

数据链路层协议综合概述 1.数据链路层介绍 数据链路层协议要实现的基本目标就是为网络实体提供可靠的数据通信服务,具体包括∶将物理层的位(1和0)组成俗称为"帧"或"包"的数据链路层服务数据单元,它是数据链路层逻辑信息交换单位。与字节一样,帧也是一系列连续的位组成的同层数据交换单位;传输差错检测及控制,能恢复时则予以纠正;数据流量控制;识别网上每台计算机,即网络数据链路层编址,这对局域网MAC尤为重要。 局域网数据链路层的功能通常划分为介质访问控制子层;逻辑链路控制子层。 (1)介质访问控制子层(MAC)。MAC子层控制收发器共享单一传输信道的方式。若使用MSAP支持LLC时,MAC子层负责帧的编址及其识别。MAC到MAC 操作通过同等层MAC协议实现。MAC还负责产生帧校验序列及其检验等功能。MAC的具体功能留待介质访问控制一节中专门讨论。 (2)逻辑链路控制子层(LLC)。LLC子层的功能是建立和维护及拆卸数据,以便数据帧无差错地从一台设备传向另一台设备。 LLC协议由IEEE 802.2定义,它是HDLC的一个兼容子集。它支持两种类型的链路层服务,即无连接LLC及面向连接LLC。网桥、智能集线器、网卡等互连硬件设备往往与数据链路层有关。 2.介质访问控制 逻辑拓扑结构使用特定的规则控制何时允许网络实体传送数据信号,这种控制规则就称为介质访问控制协议。它对共享介质型局域网具有非同一般的意义,类似日常生活中的交通控制,是IEE802MAC子层的核心内容。若没有介质访间控制协议,所有设备在它们准备好数据时就立即发送,就会出现一个或多个站点同时发送,其结果是不同的信号相互干扰破坏,甚至彻底丢失信号。这种情形叫做冲突,它破坏了站点间的有效通信。 介质访问控制协议要解决的问题就是尽可能地消除或减少多个并发信号之间的冲突或干扰,确定何时才允许网中设备发送数据。介质访问控制协议可分为

数据结构心得体会

心得体会 数据结构是一门纯属于设计的科目,它需用把理论变为上机调试。在学习科目的第一节课起,鲁老师就为我们阐述了它的重要性。它对我们来说具有一定的难度。它是其它编程语言的一门基本学科。很多同学都说,数据结构不好学,这我深有体会。刚开始学的时候确实有很多地方我很不理解,每次上课时老师都会给我们出不同的设计题目,对于我们一个初学者来说,无疑是一个具大的挑战。 我记得有节课上遍历二叉树的内容,先序遍历、中序遍历、后序遍历。鲁老师说:这节课的内容很重要,不管你以前听懂没有,现在认真听。说实在的,以前上的内容确实没大听懂,不过听了老师的话,我听得很认真。先序遍历很简单,是三个遍历中,最简单的。而中序遍历听得有点模糊,后序遍历也半懂半懂,我心想如果老师再讲一遍,我肯定能听懂。后来老师画了一个二叉树,抽了同学到黑板上去排序,这个二叉树看似复杂,不过用先序遍历来排,并不难。于是我在下面排好了先序,先序遍历很简单,我有点得意,老师到位置上点了我上去排中序,上去之后排得一塌糊涂。后来老师又讲了一遍,我这才听懂了,鲁老师又安慰我们说,这个二叉树有点难,中序和后序都不好排,要学懂的确要花点功夫才行。我听了老师的话,认真做了笔记,回去再看了当天学的内容。第二堂课,老师还是先讲的先前的内容,画了一个简单的二叉树,让我们排序,又叫同学上去分别排出来,老师又点了我的名,叫我起来辨别排中序那两个同学的答案哪个排正确了,我毫不犹豫的答对了。因为这次的内容,先序遍历二叉

树、中序遍历二叉树、后序遍历二叉树,我的确真的懂了,第一次上这个课这么有成就感。渐渐的对这门课有了兴趣。我以为永远都听不懂这个课,现在,我明白了,只要认真听,肯下功夫,这个课也没有什么难的。而数据结构学习的难易程度很大程度上决定于个人的兴趣,把一件事情当做任务去做会很痛苦,当做兴趣去做会很快乐。也希望老师能看到我的改变,在此也感谢老师的辛勤教导。老师没有放弃我,几次点我的名上去,老师一定看得到我的进步。 后来,我每节课都认真听课,老师虽然没有点名,但我还是很认真的听。双亲表示法孩子表示法和孩子兄弟表示法,这些内容我都听得很明白,差不多每节课都认真听课。有时我也会在上课空余时间看看以前的内容,所以,第一遍看课本的时候要将概念熟记于心,然后构建知识框架。数据结构包括线性结构、树形结构、图状结构或网状结构。线性结构包括线性表、栈、队列、串、数组、广义表等,栈和队列是操作受限的线性表,串的数据对象约束为字符集,数组和广义表是对线性表的扩展:表中的数据元素本身也是一个数据结构。除了线性表以外,栈是重点,因为栈和递归紧密相连,递归是程序设计中很重要的一种工具。 其中我了解到:栈(Stack)是只能在某一端插入和删除的特殊线性表。它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据; 队列一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入的操作端称为

分析数据链路层帧结构

南华大学计算机学院 实验报告 课程名称计算机网络原理 姓名杨国峰 学号20144360205 专业网络2班 任课教师谭邦 日期 2016年4月4日 成绩 南华大学

实验报告正文: 一、实验名称分析数据链路层帧结构 二、实验目的: 1. 掌握使用Wireshark分析俘获的踪迹文件的基本技能; 2. 深刻理解Ethernet帧结构。 3. 深刻理解IEEE 802.11帧结构。 三、实验内容和要求 1. 分析俘获的踪迹文件的Ethernet帧结构; 2. 分析IEEE 802.11帧结构。 四、实验环境

五、操作方法与实验步骤 1.Ethernet帧结构(本地连接与无线连接)

2.IEEE 802.11帧结构

六、实验数据记录和结果分析 1.Ethernet帧结构(本地连接为例) Ethernet II, Src: Tp-LinkT_95:c6:20 (fc:d7:33:95:c6:20), Dst: Clevo_00:a1:18 (80:fa:5b:00:a1:18) 以太网协议版本II,源地址:厂名_序号(网卡地址),目的:厂名_序号(网卡地址) Destination: Clevo_00:a1:18 (80:fa:5b:00:a1:18)目的:厂名_序号(网卡地址) Source: Tp-LinkT_95:c6:20 (fc:d7:33:95:c6:20) 源:厂名_序号(网卡地址) Type: IP (0x0800) 帧内封装的上层协议类型为IP Padding: 000000000000 所有内边距属性 2.分析IEEE 802.11帧结构 Protocol version:表明版本类型,现在所有帧里面这个字段都是0x00。 *Type:指明数据帧类型,是管理帧,数据帧还是控制帧。 Subtype:指明数据帧的子类型,因为就算是控制帧,控制帧还分RTS帧,CTS帧,ACK 帧等等,通过这个域判断出该数据帧的具体类型。 To DS/From DS:这两个数据帧表明数据包的发送方向,分四种可能情况讨论: **若数据包To DS为0,From DS为0,表明该数据包在网络主机间传输。 **若数据包To DS 为0,From DS为1,表明该数据帧来自AP。 **若数据包To DS为1,From DS为0,表明该数据帧发送往AP。若数据包To DS为1,From DS为1,表明该数据帧是从AP发送自AP的,也就是说这个是个WDS(Wireless Distribution System)数据帧。 Moreflag:分片标志,若数据帧被分片了,那么这个标志为1,否则为0。 *Retry:表明是否是重发的帧,若是为1,不是为0。 PowerManage:当网络主机处于省电模式时,该标志为1,否则为0。 Moredata:当AP缓存了处于省电模式下的网络主机的数据包时,AP给该省电模式下的网络主机的数据帧中该位为1,否则为0。 Wep:加密标志,若为1表示数据内容加密,否则为0。 *Order 这个表示用于PCF模式下。 Duration/ID(持续时间/标识):表明该帧和它的确认帧将会占用信道多长时间;对于帧控制域子类型为:Power Save-Poll的帧,该域表示了STA的连接身份(AID, Association Indentification)。

数据结构实验报告及心得体会

2011~2012第一学期数据结构实验报告 班级:信管一班 学号:201051018 姓名:史孟晨

实验报告题目及要求 一、实验题目 设某班级有M(6)名学生,本学期共开设N(3)门课程,要求实现并修改如下程序(算法)。 1. 输入学生的学号、姓名和 N 门课程的成绩(输入提示和输出显示使用汉字系统), 输出实验结果。(15分) 2. 计算每个学生本学期 N 门课程的总分,输出总分和N门课程成绩排在前 3 名学 生的学号、姓名和成绩。 3. 按学生总分和 N 门课程成绩关键字升序排列名次,总分相同者同名次。 二、实验要求 1.修改算法。将奇偶排序算法升序改为降序。(15分) 2.用选择排序、冒泡排序、插入排序分别替换奇偶排序算法,并将升序算法修改为降序算法;。(45分)) 3.编译、链接以上算法,按要求写出实验报告(25)。 4. 修改后算法的所有语句必须加下划线,没做修改语句保持按原样不动。 5.用A4纸打印输出实验报告。 三、实验报告说明 实验数据可自定义,每种排序算法数据要求均不重复。 (1) 实验题目:《N门课程学生成绩名次排序算法实现》; (2) 实验目的:掌握各种排序算法的基本思想、实验方法和验证算法的准确性; (3) 实验要求:对算法进行上机编译、链接、运行; (4) 实验环境(Windows XP-sp3,Visual c++); (5) 实验算法(给出四种排序算法修改后的全部清单); (6) 实验结果(四种排序算法模拟运行后的实验结果); (7) 实验体会(文字说明本实验成功或不足之处)。

三、实验源程序(算法) Score.c #include "stdio.h" #include "string.h" #define M 6 #define N 3 struct student { char name[10]; int number; int score[N+1]; /*score[N]为总分,score[0]-score[2]为学科成绩*/ }stu[M]; void changesort(struct student a[],int n,int j) {int flag=1,i; struct student temp; while(flag) { flag=0; for(i=1;ia[i+1].score[j]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; flag=1; } for(i=0;ia[i+1].score[j]) { temp=a[i]; a[i]=a[i+1]; a[i+1]=temp; flag=1;

相关主题
文本预览
相关文档 最新文档