计算机网络实验报告要点.docx
《计算机网络实验报告要点.docx》由会员分享,可在线阅读,更多相关《计算机网络实验报告要点.docx(48页珍藏版)》请在冰豆网上搜索。
![计算机网络实验报告要点.docx](https://file1.bdocx.com/fileroot1/2023-6/6/e66fab02-a93a-4a75-a03f-e91030c85fbb/e66fab02-a93a-4a75-a03f-e91030c85fbb1.gif)
计算机网络实验报告要点
计算机网络实验报告
——安徽工业大学
姓名:
学号:
班级:
指导老师
实验一以太网帧的构成
【实验目的】
1.掌握以太网的报文格式。
2.掌握MAC地址的作用
3.掌握MAC广播地址的作用
4.掌握LLC帧报文格式
5.掌握仿真编辑器和协议分析器的使用方法
【实验环境配置】
该实验采用网络结构一。
【实验原理】
一、两种不同的MAC帧格式
常用的以太网MAC帧格式有两种标准,一种是DIXEthernetV2标准;另一种是IEEE的802.3标准。
目前MAC帧最常用的是以太网V2的格式。
下图画出了两种不同的MAC帧格式。
二、MAC层的硬件地址
1.在局域网中,硬件地址又称物理地址或MAC地址,它是数据帧在MAC层传输的一个非常重要的标识符。
2.网卡从网络上收到一个MAC帧后,首先检查其MAC地址,如果是发往本站的帧就收下;否则就将此帧丢弃。
这里“发往本站的帧”包括以下三种帧:
●单播(unicast)帧(一对一),即一个站点发送给另一个站点的帧。
●广播(broadcast)帧(一对全体),即发送给所有站点的帧(全1地址)。
●多播(multicast)帧(一对多),即发送给一部分站点的帧。
【实验步骤】
按照拓扑结构图连接网络,使用拓扑验证检查连接的正确性。
练习一:
编辑并发送LLC帧
本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。
现仅以主机A和B为例,说明实验步骤。
1.主机A启动仿真编辑器,并编写一个LLC帧。
目的MAC地址:
主机B的MAC地址。
源MAC地址:
主机A的MAC地址。
协议类型和数据长度:
可以填写001F。
类型和长度:
可以填写001F。
控制字段:
填写02。
用户定义数据/数据字段:
AAAAAAABBBBBBBCCCCCCCDDDDDDD。
2.主机B重新开始捕获数据。
3.主机A发送编辑好的LLC帧。
4.主机B停止捕获数据,在捕获到的数据中查找主机A所发送的LLC帧,并分析该帧内容。
●记录实验结果。
帧类型
发送序号N(S)
接受序号N(R)
LLC
001F
0
●简述“类型和长度”字段的两种含义。
如果字段的值小于1518,它就是长度字段,用于定义下面数据字段的长度;如果字段的值大于1536,它定义一个封装在帧中的PDU分组的类型。
5.将第1步中主机A已编辑好的数据帧修改为“未编号帧”,重做第2、3、4步。
练习二:
编辑并发送MAC广播帧
1.主机E启动仿真编辑器。
2.主机E编辑一个MAC帧:
目的MAC地址:
FFFFFF-FFFFFF。
源MAC地址:
主机E的MAC地址。
协议类型或数据长度:
大于0x0600。
数据字段:
编辑长度在46—1500字节之间的数据。
3.主机A、B、C、D、F启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(源MAC地址为主机E的MAC地址)。
4.主机E发送已编辑好的数据帧。
5.主机A、B、C、D、F上停止捕获数据,察看捕获到的数据中是否含有主机E所发送的数据帧。
●结合练习二的实验结果,简述FFFFFF-FFFFFF作为目的MAC地址的作用。
该地址为广播地址,作用是完成一对多的通信方式,即一个数据帧可发送给同一网段内的所有节点。
练习三:
领略真实的MAC帧
本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。
现仅以主机A和B为例,说明实验步骤。
1.主机B启动协议分析器,新建捕获窗口进行数据捕获并设置过滤条件(提取ICMP协议)。
2.主机Aping主机B;察看主机B协议分析器捕获的数据包,分析MAC帧格式。
3.将主机B的过滤器恢复为默认状态。
4.将主机B、D、F的过滤器恢复为默认状态。
练习四:
理解MAC地址的作用
1.主机B、D、E、F启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(源MAC地址为主机A的MAC地址)。
2.主机Aping主机C。
3.主机B、D、E、F上停止捕获数据,在捕获的数据中查找主机A所发送的数据帧,并分析该帧内容。
●记录实验结果
本机MAC地址
源MAC地址
目的MAC地址
是否收到,为什么?
主机B
主机B的MAC
主机A的MAC
主机C的MAC
是,主机A与主机B接在同一共享模块
主机D
主机D的MAC
主机A的MAC
主机C的MAC
是,主机C与主机D接在同一共享模块
主机E
主机E的MAC
无
无
否,与主机A、C都不在同一共享模块
主机F
主机F的MAC
无
无
否,与主机A、C都不在同一共享模块
【思考问题】
1.为什么IEEE802标准将数据链路层分割为MAC子层和LLC子层?
为了使数据链路层能更好地适应多种局域网标准,802委员会就将局域网的数据链路层拆成两个子层,即逻辑链路控制LLC子层和媒体接入控制MAC子层。
与接入到传输媒体有关的内容都放在MAC子层,而LLC子层与传输媒体无关,不管采用何种协议的局域网对LLC子层来说都是透明的。
2.为什么以太网有最短帧长度的要求?
如果帧长度太小,就可能出现网络上同时有两个帧在传播,就会产生冲突(碰撞)而造成网络无法发送数据。
如果数据帧太长就会出现有的工作长时间不能发送数据,而且可能超出接受端的缓冲区大小,造成缓冲益出。
实验二网际协议IP
【实验目的】
1.掌握IP数据报的报文格式
2.掌握IP校验和计算方法
3.掌握子网掩码和路由转发
4.理解特殊IP地址的含义
5.理解IP分片过程
【实验环境配置】
该实验采用网络结构二。
【实验原理】
一、IP报文格式
IP数据报是由IP首部加数据组成的。
IP首部的最大长度不超过60字节。
IP数据报文格式如下图所示:
4位版本
4位首部长度
8位服务类型
16位总长度(字节数)
16位标识
3位标志
13位片偏移
8位生存时间
8位协议类型
16位首部检验和
32位源IP地址
32位目的IP地址
选项(如果有)
数据
二、IP分片
链路层具有最大传输单元(MTU)这个特性,它限制了数据帧的最大长度。
不同的网络类型都有一个上限值。
以太网通常是1500字节。
如果IP层有数据包要传输,而数据包的长度超过了MTU,那么IP层就要对数据包进行分片操作。
使每一片长度都小于MTU。
IP首部中“16位标识”、“3位标志”和“13位片偏移”包含了分片和重组所需的信息。
另外,当数据被分片后,每个片的“16位总长度”值要改为该片的长度值。
三、IP路由表
大部分网络层设备都存储着一张记录路由信息的表格,称为路由表。
它由许多条项目组成。
网络层设备收到数据报后,根据其目的IP地址查找路由表确定数据报传输的最佳路径(下一跳)。
然后利用网络层的协议重新封装数据报,利用下层提供的服务把数据报转发出去。
路由表的项目一般含有五个基本字段:
目的地址、网络掩码、下一跳地址、接口、度量。
路由表按如下顺序匹配:
●直接交付:
路由表项的“目的地址”字段是交付主机的本网络地址。
●特定主机交付:
路由表项的“目的地址”字段是某台特定主机的IP地址。
●特定网络交付:
路由表项的“目的地址”字段是另一个网络的地址。
默认交付:
路由表项的“目的地址”字段是一个默认路由器(默认网关)。
四、路由选择过程
路由选择模块从IP处理模块接收到IP分组后,使用该分组的目的IP地址同路由表中的每一个项目按特定的顺序(按照前面介绍的“路由表匹配顺序”)查找匹配项,当找到第一个匹配项后就不再继续寻找了,这样就完成了路由选择过程。
匹配路由表项的方法是将IP地址与路由表中的一个项目的“子网掩码”进行按位“与”操作,然后判断运算结果是否等于该项目的“目的地址”,如果等于,则匹配成功,否则,匹配失败。
路由选择模块的工作过程:
【实验步骤】
主机B启动静态路由服务(方法:
在命令行方式下,输入“staticroute_config”)。
按照拓扑结构图连接网络,使用拓扑验证检查连接的正确性。
练习一:
编辑并发送IP数据报
1.主机A启动仿真编辑器,编辑一个IP数据报,其中:
MAC层:
目的MAC地址:
主机B的MAC地址(对应于172.16.1.1接口的MAC)。
源MAC地址:
主机A的MAC地址。
协议类型或数据长度:
0800。
IP层:
总长度:
IP层长度。
生存时间:
128。
源IP地址:
主机A的IP地址(172.16.1.2)。
目的IP地址:
主机E的IP地址(172.16.0.2)。
校验和:
在其他所有字段填充完毕后计算并填充。
【说明】先使用仿真编辑器的“手动计算”校验和,再使用仿真编辑器的“自动计算”校验和,将两次计算结果相比较,若结果不一致,则重新计算。
●IP在计算校验和时包括那些内容?
IP在计算校验和时只检验数据报的首部,但不包括数据部分。
2.在主机B(两块网卡分别打开两个捕获窗口)、E上启动协议分析器,设置过滤条件(提取IP协议),开始捕获数据。
3.主机A发送第1步中编辑好的报文。
4.主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答以下问题:
●第1步中主机A所编辑的报文,经过主机B到达主机E后,报文数据是否发生变化?
若发生变化,记录变化的字段,并简述发生变化的原因。
有变化,但报文中传送过程中的源IP地址和目的IP地址没变化,只是在传送过程中经过一些节点生成时间可能有变化。
5.将第2步中主机A所编辑的报文的“生存时间”设置为1。
重新计算校验和。
6.主机B、E重新开始捕获数据。
7.主机A发送第5步中编辑好的报文。
8.主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答以下问题:
●主机B、E是否能捕获到主机A所发送的报文?
简述产生这种现象的原因。
能捕获到主机A所发送的报文,因为主机B相当于路由器,所以能收到。
A与E不在同一网络,但可以通过B
转发,仍然能收到。
练习二:
特殊的IP地址
1.直接广播地址
(1)主机A编辑IP数据报1,其中:
目的MAC地址:
FFFFFF-FFFFFF,源MAC地址:
A的MAC地址。
源IP地址:
A的IP地址,目的IP地址:
172.16.0.255。
校验和:
在其他字段填充完毕后,计算并填充。
(3)主机A再编辑IP数据报2,其中:
目的MAC地址:
主机B的MAC地址(对应于172.16.1.1接口的MAC)。
源MAC地址:
A的MAC地址。
源IP地址:
A的IP地址,目的IP地址:
172.16.0.255。
校验和:
在其他字段填充完毕后,计算并填充。
(3)主机B、C、D、E、F启动协议分析器并设置过滤条件(提取IP协议,捕获172.16.1.2接收和发送的所有IP数据包,设置地址过滤条件如下:
172.16.1.2<->Any)。
(4)主机B、C、D、E、F开始捕获数据。
(5)主机A发送这两个数据报。
(6)主机B、C、D、E、F停止捕获数据。
●记录实验结果:
主机号
收到IP数据报1
收到IP数据报2
●结合试验结果,简述直接广播地址的作用。
直接广播地址的作用是限制在同一网络的都能收到报文。
2.受限广播地址
(1)主机A编辑一个IP数据报,其中:
目的MAC地址:
FFFFFF-FFFFFF,源MAC地址:
A的MAC地址。
目的IP地址:
255.255.255.255,源IP地址:
A的IP地址。
校验和:
在其他字段填充完毕后,计算并填充。
(2)主机B、C、D、E、F重新启动协议分析器并设置过滤条件(提取IP协议,捕获172.16.1.2接收和发送的所有IP数据包,设置地址过滤条件如下:
172.16.1.2<->Any)。
(3)主机B、C、D、E、F重新开始捕获数据。
(4)主机A发送这个数据报。
(5)主机B、C、D、E、F停止捕获数据。
●记录实验结果:
主机号
收到主机A发送的IP数据报
未收到主机A发送的IP数据报
●结合实验结果,简述受限广播地址的作用。
受限广播地址的作用是用于主机配置过程中IP数据报的目的地址。
3.环回地址
(1)主机F重新启动协议分析器开始捕获数据并设置过滤条件(提取IP协议)。
(2)主机Eping127.0.0.1。
(3)主机F停止捕获数据。
●主机F是否收到主机E发送的目的地址为127.0.0.1的IP数据报?
为什么?
不能,在本机环回,分组永远离不开机器,这个分组就简单返回。
练习三:
IP数据报分片
1.在主机B上使用“开始\程序\网络协议仿真教学系统\MTU工具”设置以太网端口的MTU为800字节(两个端口都设置)。
2.主机A、B、E启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ICMP协议)。
3.在主机A上,执行命令ping-l1000172.16.0.2。
4.主机A、B、E停止捕获数据。
主机E上重新定义过滤条件(取一个ICMP数据包,按照其上层协议IP的Identification字段设置过滤),如下图所示:
●将ICMP的报文分片信息填入下表,分析表格内容,理解分片的过程。
字段名称
分片序号1
分片序号2
分片序号3
Identification字段值
1277
1278
1279
Morefragments字段值
0
0
0
Fragmentoffset字段值
0
0
0
传输的数据量
1008B
1008B
1008B
5.主机E恢复默认过滤器。
主机A、B、E重新开始捕获数据。
6.在主机A上,执行命令ping-l2000172.16.0.2。
7.主机A、B、E停止捕获数据。
察看主机A、E捕获到的数据,比较两者的差异,体会两次分片过程。
8.主机B上使用“开始\程序\网络协议仿真教学系统通用版\工具\MTU工具”恢复以太网端口的MTU为1500字节。
练习四:
子网掩码和路由转发
1.所有主机取消网关。
2.主机A、C、E设置子网掩码为255.255.255.224,主机B(172.16.1.1)、D、F设置子网掩码为255.255.255.240。
3.主机Aping主机B(172.16.1.1),主机Cping主机D(172.16.1.4),主机Eping主机F(172.16.0.3)。
●记录实验结果
是否ping通
主机A——主机B
是
主机C——主机D
是
主机E——主机F
是
●请问什么情况下两主机的子网掩码不同,却可以相互通信?
在虚拟网技术或路由连接情况下。
4.主机A设置子网掩码为255.255.255.252,主机C设置子网掩码为255.255.255.254,用主机Aping主机C(172.16.1.3)。
●记录实验结果
是否ping通
为什么
主机A--主机C
不能
网络号不同
【思考问题】
1.试说明IP地址与硬件地址的区别。
为什么要使用这两种不同的地址?
物理地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址。
在发送数据时,数据从高层下到底层,然后才到通信链路上传输。
使用IP地址的IP数据报一旦交给了数据链路层,就被封装成MAC帧了。
MAC帧在传输时使用的源地址和目的地址都是硬件地址,两个硬件地址都写在MAC帧的首部中。
连接在通信链路上的设备在接收MAC帧时,其根据是MAC帧首部中的MAC地址。
在数据链路层看不见隐藏在MAC帧的数据中的IP地址。
只有在剥去MAC帧首部和尾部后将MAC层的数据上交给网络层后,网络层才能在IP数据报的首部中找到源IP地址和目的IP地址。
在IP层抽象的互联网上只能看到IP数据报。
路由过程根据目的IP地址的网络号进行路由选择。
尽管互联在一起的网络硬件地址体系各不相同,但IP层抽象的互联网却屏蔽了下层这些很复杂的细节,只有我们在网络层上讨论问题,就能够使用统一的、抽象的IP地址研究设备之间的通信。
2.不同协议的MTU的范围从296到65535。
使用大的MTU有什么好处?
使用小的MTU有什么好处?
使用大的MTU可以在较少的报文中包含较多的数据,报文数量的减少可以降低路由器的负荷。
异构网络传输时,使用小的MTU可以减少路由器的分片。
3.IP数据报中的首部检验和并不检验数据报中的数据。
这样做的最大好处是什么?
坏处是什么?
首先,所有将数据封装在IP数据报中的高层协议(如TCP),都有覆盖整个分组的校验和。
因此,IP数据报的校验和就不必再检验所封装的数据部分。
其次,每经过一个路由器,IP数据报的首部就要改变一次,但数据部分不改变。
因此校验和只对发生变化的部分进行检验。
若检验包含数据部分,则每个路由器必须重新计算整个分组的校验和,这就表示每一个路由器要花费更多的处理时间。
这样做的最大缺点是:
在数据报转发过程中不能及时发现数据报中的数据部分错误,只有在数据报交付到目的地后才发现数据报中的数据部分错误。
实验三路由信息协议RIP
【实验目的】
1.掌握路由协议的分类,理解静态路由和动态路由
2.掌握动态路由协议RIP的报文格式,工作原理及工作过程
3.掌握RIP计时器的作用
4.理解RIP的稳定性
实验环境配置】
该实验采用网络结构三。
【实验原理】
一、静态路由
静态路由是一种特殊的路由,由网络管理员采用手工方法在路由器中配置而成。
这种方法适合在规模较小、路由表也相对简单的网络中使用。
它比较简单,容易实现;可以精确控制路由选择,改进网络的性能;减小路由器的开销,为重要的应用保证带宽。
但对于大规模的网络而言,如果网络拓扑结构发生改变或网络链路发生故障,用手工的方法配置及修改路由表,对管理员会形成很大压力。
二、RIP报文格式
三、距离矢量算法(DV算法)
下面对是对矢量算法的描述:
收到相邻路由器(其地址为X)的一个RIP报文:
1.先修改此RIP报文中的所有项目:
将“下一跳”字段中的地址都改为X,并将所有的“距离”字段的值加1。
2.对修改后的RIP报文中的每一个项目,重复以下步骤:
(如下图)
3.若3分钟还没有收到相邻路由器的更新路由表,则将此相邻路由器记为不可达的路由器,即将距离置为16。
4.返回。
四、触发更新和水平分割
1.触发更新
触发更新的思想是当路由器检测到链路有问题时立即对问题路由进行更新。
触发更新的作用是迅速传递路由故障、加速收敛、减少环路产生的机会。
如果路由器使用触发更新,它可以在几秒钟内就在整个网络上传播路由故障信息,极大地缩短了收敛时间。
不采用触发更新,可能要花费更多的时间才能够收敛。
2.水平分割
路由环路产生的另一个重要原因是不正确的路由信息通过获得这条信息的接口再发送回去,替代了新的正确的路由,这也导致了错误路由信息的循环往复。
水平分割的规则是,当向某个网络接口发送RIP更新信息时,不包含从该接口得到的选路信息。
这样做的目的是避免路由环路。
【实验步骤】
按照拓扑结构图连接网络,使用拓扑验证检查连接的正确性。
练习一:
静态路由与路由表
1.主机A、B、C、D、E、F在命令行下运行“routeprint”命令,察看路由表,并回答以下问题:
●路由表由哪几项组成?
InterfaceList和ActiveRoutes里有NetworkDestinationNetmaskGateway
2.将主机A的默认网关设为172.16.0.1。
用主机A依次ping主机B(192.168.0.2)和主机C(192.168.0.3),观察现象,记录结果。
在主机A和主机B的命令行下运行routeprint命令,察看路由表,结合路由信息回答问题:
●主机A的默认网关在本次练习中起到什么作用?
本地主机用于向其他IP网络转发IP数据报的IP地址。
●记录并分析实验结果,简述为什么会产生这样的结果?
是否ping通
原因
主机A——主机B
(192.168.0.2)
通
默认网关是主机B的一个物理接口地址,而目标地址为主机B的另一个物理接口地址
主机A——主机C
不通
主机B没有路由转发的功能
3.从主机A依次ping主机B(192.168.0.2)、主机E(192.168.0.1)、主机E(172.16.1.1),观察现象,记录结果。
通过在命令行下运行routeprint命令,察看主机B和主机E路由表,结合路由信息回答问题:
●记录并分析实验结果,简述为什么会产生这样的结果?
是否ping通
原因
主机A——主机B
(192.168.0.2)
通
默认网关是主机B的一个物理接口地址,而目标地址为主机B的另一个物理接口地址
主机A——主机E
(192.168.0.1)
通
主机B没有路由转发的功能
主机A——主机E
(172.16.1.1)
不通
主机B没有路由转发的功能
4.主机B和主机E在命令行下使用“staticroute_config”命令来启动静态路由。
5.
(1)在主机B上,通过在命令行下运行routeadd命令手工添加静态路由(“routeadd172.16.1.0mask255.255.255.0192.168.0.1metric2”);
(2)在主机E上,也添加一条静态路由(“routeadd172.16.0.0mask255.255.255.0192.168.0.2metric2”)。
(3)从主机A依次ping主机B(192.168.0.2)、主机E(192.168.0.1)、主机E(172.16.1.1),观察现象,记录结果。
(4)通过在命令行下运行routeprint命令,察看主机B和主机E路由表,结合路由信息回答问题:
●记录并分析实验结果,简述手工添加静态路由在此次通信中所起的作用。
是否ping通
原因
主机A——主机B
(192.168.0.2)
通
默认网关是主机B的一个物理接口地址,而目标地址为主机B的另一个物理接口地址
主机A——主机E
(192.168.0.1)
通
主机B具有路由转发的功能,并且目标网络在主机B的路由条目中
主机A——主机E
(172.16.1.1)
通
主机B具有路由转发的功能,并且主机B存在通向172.16.1.0网络的路由条目,主机E存在通向172.16.0.0网络的路由条目
6.在主机B上,通过在命令行下运行routedelete命令(“routedelete172.16.1.0”);在主机E上,运行routedelete命令(“routedelete172.16.0.0”)删除手工添加的静态路由条目。
●简述静态路由的特点以及路由表在路由期间所起到的作用。
静态路由是一种特殊的路由,由网络管理员采用手工方法在路由器中配置而成。
这种方法适合在规模较小、路由表也相对简单的网络中使用。
它比较简单,容易实现;可以精确控制路由选择,改进网络的性能;减小路由器的开销,为重要的应用保证带宽。
但对于大规模的网络而言,如果网络拓扑结构发生改变或网络链路发生故