安工大网络实验报告.docx
《安工大网络实验报告.docx》由会员分享,可在线阅读,更多相关《安工大网络实验报告.docx(44页珍藏版)》请在冰豆网上搜索。
安工大网络实验报告
计算机网络实验指导书
计算机网络课程组编写
专业软件工程
班级
学号
姓名
指导教师肖伟明
安徽工业大学计算机学院
二○○九年九月
目录
实验总体说明3
拓扑结构说明4
实验一以太网帧的构成7
实验二网际协议IP10
实验三路由信息协议RIP16
实验五传输控制协议TCP21
实验六邮件协议SMTP、POP3、IMAP24
实验七、超文本传输协议HTTP27
实验总体说明
1.实验总体目标
配合计算机网络课程的教学,加强学生对计算机网络知识(TCP/IP协议)的深刻理解,培养学生的实际操作能力。
2.实验课时分配
序号
实验项目
学时
试验类型
实验一
以太网帧的构成
2
验证性
实验二
IP协议
2
验证性
实验三
路由信息协议RIP
2
验证性
实验四
开放式最短路径优先协议OSPF
2
验证性
实验五
传输控制协议TCP
2
验证性
实验六
邮件协议SMTP、POP3
2
验证性
实验七
超文本传输协议HTTP
2
设计性
实验八
网络程序设计1:
聊天工具
2
设计性
实验九
网络程序设计2:
文件传输工具
2
设计性
实验十
网络程序设计3:
邮件收发器
2
设计性
实验十一
综合试验
4
综合性
由于课时限制以及相关专业的要求不同,上面所列试验项目由任课教师根据课程要求自由选定。
3.实验环境
计算机网络协议仿真实验室:
实验环境:
网络协议仿真教学系统(通用版)一套
开发工具:
VC++
硬件设备:
服务器,中心控制设备,组控设备,PC机若干台
操作系统:
Windows2003服务器版
4.实验总体要求
●按照各项实验内容做实验,记录各种数据包信息,包括操作、观察、记录、分析,通过操作和观察获得直观印象,从获得的数据中分析网络协议的工作原理;
●每项实验均提交实验报告,实验报告的内容可参照实验的具体要求,但总体上应包括以下内容:
实验准备情况,实验记录,实验结果分析,算法描述,程序段,实验过程中遇到的问题以及对思考问题的解答等,实验目的、实验原理、实验步骤不需要写入实验报告中。
拓扑结构说明
拓扑结构1
说明:
IP地址分配规则为主机使用原有IP,保证所有主机在同一网段内。
拓扑结构2
说明:
●主机A、C、D的默认网关是172.16.1.1;主机E、F的默认网关是172.16.0.1。
●双网卡主机,左端物理接口为物理接口1,右端物理接口为物理接口2。
拓扑结构3
说明:
●主机A的默认网关为172.16.0.1;主机C的默认网关为192.168.0.2;主机D的默认网关为192.168.0.1;主机F的默认网关为172.16.1.1;主机B和主机E不设置默认网关。
●双网卡主机,左端物理接口为物理接口1,右端物理接口为物理接口2。
拓扑结构4
1.网络结构说明:
●双网卡主机,左端物理接口为物理接口1,右端物理接口为物理接口2。
●网络结构划分为3个网段:
网段1:
站点本地子网ID为FEC0:
0:
0:
1:
:
/64
网段2:
站点本地子网ID为FEC0:
0:
0:
2:
:
/64
网段3:
站点本地子网ID为FEC0:
0:
0:
3:
:
/64
●主机BV、EV做路由器使用。
它们分别是主机B、主机E虚拟机下的Linux操作系统。
●主机A的IPv6地址的默认网关是主机BV接口1的链路本地地址;主机C的IPv6地址的默认网关是主机BV接口2的链路本地地址;主机D的IPv6地址的默认网关是主机BV接口2的链路本地地址;主机F的IPv6地址的默认网关是主机EV接口2的链路本地地址。
●该结构适用于实验一至实验六。
2.检测网络结构三连接的正确性:
●按照网络结构图连接网络,并使用拓扑验证检查连接的正确性。
●在主机A上,执行ping命令(pingfec0:
0:
0:
1:
:
1),若ping不通,则交换主机BV的两个网卡的网线连接。
●在主机F上,执行ping命令(pingfec0:
0:
0:
3:
:
1),若ping不通,则交换主机EV的两个网卡的网线连接。
拓扑结构5
说明:
●主机A的默认网关为172.16.0.1;主机C的默认网关为192.168.0.2;主机F的默认网关为172.16.1.3;主机B、D、E不设置默认网关。
●双网卡主机,左端物理接口为物理接口1,右端物理接口为物理接口2。
实验一以太网帧的构成
【实验目的】
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)
LLCINFORMATION
000
10
●简述“类型和长度”字段的两种含义。
00000000:
000D87DF6F96000D87DF7D640016F0F0...遫....遾d..痧
00000010:
0268656C6C6F2068656C6C6F2068656C.hellohellohel
00000020:
6C6F2E2E000000000000000000000000lo..............
00000030:
000000000000000000000000............
5.将第1步中主机A已编辑好的数据帧修改为“未编号帧”,重做第2、3、4步。
桢类型:
LLCUNNUMBERED
00000000:
000D87DF6F96000D87DF7D640019F0F0...遫....遾d..痧
00000010:
036368656E67206A69616E67206D696E.chengjiangmin
00000020:
672068616F202E000000000000000000ghao..........
00000030:
000000000000000000000000............
练习二:
编辑并发送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所发
的数据帧。
答:
A,B,C,D,F都能捕获到主机E所发送的数据帧。
6.结合练习二的实验结果,简述FFFFFF-FFFFFF作为目的MAC地址的作用。
答:
FFFFFF-FFFFFF作为目的MAC地址的作用是广播!
练习三:
领略真实的MAC帧
本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。
现仅
主机A和B为例,说明实验步骤。
1.主机B启动协议分析器,新建捕获窗口进行数据捕获并设置过滤条件(提取ICMP协议)。
2.主机Aping主机B;察看主机B协议分析器捕获的数据包,分析MAC帧格式。
答:
目的地址源地址类型数据FCS
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
000D87-E05C4D
000D87-DF8686
000D87-DF9385
是
主机D
00115B-12E690
000D87-DF8686
000D87-DF9385
是A发送给C,
主机E
000D87-DF8A07
000D87-DF8686
000D87-DF9385
否
主机F
000D87-DF7088
000D87-DF8686
000D87-DF9385
否
【思考问题】
1.为什么IEEE802标准将数据链路层分割为MAC子层和LLC子层?
答:
局域网种类繁多,使用的传输介质各种各样,接入方法也不相同,为此IEEE80
标准将数据链路层分割为MAC子层和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)。
校验和:
在其他所有字段填充完毕后计算并填充。
【说明】先使用仿真编辑器的“手动计算”校验和,再使用仿真编辑器的“自动计算”校验和,将两次计算结果相比较,若结果不一致,则重新计算。
1.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
BCDEF
收到IP数据报2
BEF
结合试验结果,简述直接广播地址的作用。
答:
直接广播地址的作用是限制在同一网络的都能收到报文。
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数据报
BCD
未收到主机A发送的IP数据报
EF
结合实验结果,简述受限广播地址的作用。
答:
受限广播地址的作用是用于主机配置过程中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
传输的数据量
1008
1008
1008
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数据报的首部,而硬件地址则放在MAC帧的首部。
在网络层以上使用的是IP地址,而链路层及以下使用的是硬件地址。
每个路由器都有IP地址和硬件地址。
使用IP地址与硬件地址,尽管连接在一起的网络的硬件地址体系各不相同,IP层抽象的互连网却屏蔽了下层这些很复杂的但细节,并使我们能够使用统一的、抽象的IP地址进行通信。
2.不同协议的MTU的范围从296到65535。
使用大的MTU有什么好处?
使用小的MTU有什么好处?
答:
使用大的MTU会减少分片数目,实现报文的快速传输;
使用小的MTU会减少每次的传输性能的要求。
3.IP数据报中的首部检验和并不检验数据报中的数据。
这样做的最大好处是什么?
坏处是什么?
答:
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.触发更新
触发更新的思想是当路由器检测到链路有问题时立即对问题路由进行更新。
触发更新的作用是迅速传递路由故障、加速收敛、减少环路产生的机会。
如果路由器