计算机协议系统实验指导书.docx
《计算机协议系统实验指导书.docx》由会员分享,可在线阅读,更多相关《计算机协议系统实验指导书.docx(28页珍藏版)》请在冰点文库上搜索。
计算机协议系统实验指导书
实验一以太网链路层帧格式分析
【实验目的】
1.掌握以太网的报文格式
2.掌握MAC地址的作用
3.掌握MAC广播地址的作用
4.掌握LLC帧报文格式
5.掌握协议编辑器和协议分析器的使用方法
6.掌握协议栈发送和接收以太网数据帧的过程
【实验环境】
该实验采用网络结构一
【实验步骤】
练习1领略真实的MAC帧
各主机打开工具区的“拓扑验证工具”,选择相应的网络结构,配置网卡后,进行拓扑验证,如果通过拓扑验证,关闭工具继续进行实验,如果没有通过,请检查网络连接。
本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。
现仅以主机A、B所在组为例,其它组的操作参考主机A、B所在组的操作。
1.主机B启动协议分析器,新建捕获窗口进行数据捕获并设置过滤条件(提取ICMP协议)。
2.主机Aping主机B,察看主机B协议分析器捕获的数据包,分析MAC帧格式。
3.将主机B的过滤器恢复为默认状态。
练习2理解MAC地址的作用
本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。
现仅以主机A、B为例,其它组的操作参考主机A、B的操作。
1. 主机B启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(源MAC地址为主机A的MAC地址)。
2.主机Aping主机B。
3.主机B停止捕获数据,在捕获的数据中查找主机A所发送的ICMP数据帧,并分析该帧内容。
●记录实验结果
练习3编辑并发送MAC广播帧
本练习将主机A、B、C、D、E、F作为一组进行实验。
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所发送的数据帧。
练习4编辑并发送LLC帧
本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。
现仅以主机A、B所在组为例,其它组的操作参考主机A、B所在组的操作。
1.主机A启动协议编辑器,并编写一个LLC帧。
目的MAC地址:
主机B的MAC地址
源MAC地址:
主机A的MAC地址
协议类型和数据长度:
001F
控制字段:
填写02
[注]回车后变成0200,该帧变为信息帧,控制字段的长度变为2字节
用户定义数据/数据字段:
AAAAAAABBBBBBBCCCCCCCDDDDDD
[注]长度为27个字节
2.主机B启动协议分析器并开始捕获数据。
3.主机A发送编辑好的LLC帧。
4.主机B停止捕获数据,在捕获到的数据中查找主机A所发送的LLC帧,分析该帧内容。
●记录实验结果
帧类型
发送序号N(S)
接受序号N(R)
5.将第1步中主机A已编辑好的数据帧修改为“无编号帧”(前两个比特位为1),用户定义数据/数据字段修改为AAAAAAABBBBBBBCCCCCCCDDDDDDD
「注」长度为28个字节,重做第2、3、4步。
思考问题:
1.MAC地址应用于TCP/IP协议模型的哪一层?
2.如何区分以太网的两种标准帧格式?
3.主机A、B、C、D、F是否可以收到主机E的广播帧?
4.说明MAC广播帧的范围?
5.如何编辑LLC无编号帧和LLC数据帧。
6.在协议分析端捕获到该帧,帧的长度是多少?
由此理解以太网的最短帧长度。
7.为什么IEEE802标准将数据链路层分割为MAC子层和LLC子层?
8.为什么以太网有最短帧长度的要求?
实验二网络层协议分析
【实验目的】
1.掌握ARP协议的报文格式
2.掌握ARP协议的工作原理
3.掌握IP数据报的报文格式
4.掌握子网掩码和路由转发
5.理解IP分片过程
6.理解IP路由表作用以及IP路由表的管理
7.掌握ICMP协议的报文格式
8.理解不同类型ICMP报文的具体意义
【实验环境】
该实验采用网络结构二
【实验步骤】
练习1领略真实的ARP(同一子网)
各主机打开工具区的“拓扑验证工具”,选择相应的网络结构,配置网卡后,进行拓扑验证,如果通过拓扑验证,关闭工具继续进行实验,如果没有通过,请检查网络连接。
本练习将主机A、B、C、D、E、F作为一组进行实验。
1.主机A、B、C、D、E、F启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ARP、ICMP)。
2.主机A、B、C、D、E、F在命令行下运行“arp-d”命令,清空ARP高速缓存。
3.主机Aping主机D(172.16.1.4)。
主机Bping主机C(172.16.1.3)。
主机Eping主机F(172.16.0.3)。
4.主机A、B、C、D、E、F停止捕获数据,并立即在命令行下运行“arp-a”命令察看ARP高速缓存。
练习2编辑并发送ARP报文(同一子网)
本练习将主机A、B、C、D、E、F作为一组进行实验。
1.在主机E上启动协议编辑器,并编辑一个ARP请求报文。
其中:
MAC层:
目的MAC地址:
设置为FFFFFF-FFFFFF
源MAC地址:
设置为主机E的MAC地址
协议类型或数据长度:
0806
ARP层:
发送端硬件地址:
设置为主机E的MAC地址
发送端逻辑地址:
设置为主机E的IP地址(172.16.0.2)
目的端硬件地址:
设置为000000-000000
目的端逻辑地址:
设置为主机F的IP地址(172.16.0.3)
2.主机A、B、C、D、F启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ARP协议)。
3.主机B、E、F在命令行下运行“arp-d”命令,清空ARP高速缓存。
主机E发送已编辑好的ARP报文。
4.主机A、B、C、D、F停止捕获数据,分析捕获到的数据,进一步体会ARP报文交互过程。
练习3编辑并发送IP数据报
各主机打开工具区的“拓扑验证工具”,选择相应的网络结构,配置网卡后,进行拓扑验证,如果通过拓扑验证,关闭工具继续进行实验,如果没有通过,请检查网络连接。
本练习将主机A、B、C、D、E、F作为一组进行实验。
1.主机B在命令行方式下输入staticroute_config命令,开启静态路由服务。
2.主机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字节的用户数据。
「说明」先使用协议编辑器的“手动计算”校验和,再使用协议编辑器的“自动计算”校验和,将两次计算结果相比较,若结果不一致,则重新计算。
3.在主机B(两块网卡分别打开两个捕获窗口)、E上启动协议分析器,设置过滤条件(提取IP协议),开始捕获数据。
4.主机A发送第1步中编辑好的报文。
5.将第1步中主机A所编辑的报文的“生存时间”设置为1,重新计算校验和。
6.主机B、E重新开始捕获数据。
7.主机A发送第5步中编辑好的报文。
练习4特殊的IP地址
本练习将主机A、B、C、D、E、F作为一组进行实验。
1.直接广播地址
(1)主机A编辑IP数据报1,其中:
目的MAC地址:
FFFFFF-FFFFFF。
源MAC地址:
A的MAC地址。
源IP地址:
A的IP地址。
目的IP地址:
172.16.1.255。
自定义字段数据:
填入大于1字节的用户数据。
校验和:
在其它字段填充完毕后,计算并填充。
(2)主机A再编辑IP数据报2,其中:
目的MAC地址:
主机B的MAC地址(对应于172.16.1.1接口的MAC)。
源MAC地址:
A的MAC地址。
源IP地址:
A的IP地址。
目的IP地址:
172.16.0.255。
自定义字段数据:
填入大于1字节的用户数据。
校验和:
在其它字段填充完毕后,计算并填充。
(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地址:
A的IP地址。
目的IP地址:
255.255.255.255。
自定义字段数据:
填入大于1字节的用户数据。
校验和:
在其它字段填充完毕后,计算并填充。
(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数据报
3.环回地址
(1)主机E重新启动协议分析器开始捕获数据并设置过滤条件(提取IP协议)。
(2)主机Eping127.0.0.1。
(3)主机E停止捕获数据。
●主机F是否收到主机E发送的目的地址为127.0.0.1的IP数据报?
为什么?
练习5IP数据报分片
本练习将主机A、B、C、D、E、F作为一组进行实验。
1.在主机B上使用“实验平台上工具栏中的MTU工具”设置以太网端口的MTU为800字节(两个端口都设置)。
2.主机A、B、E启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ICMP协议)。
3.在主机A上,执行命令ping-l1000172.16.0.2。
4.主机A、B、E停止捕获数据。
在主机E上重新定义过滤条件(取一个ICMP数据包,按照其IP层的标识字段设置过滤)。
将ICMP报文分片信息填入下表,分析表格内容,理解分片的过程。
字段名称
分片序号1
分片序号2
分片序号3
“标识”字段值
“还有分片”字段值
“分片偏移量”字段值
传输的数据量
5.主机E恢复默认过滤器。
主机A、B、E重新开始捕获数据。
6.在主机A上,执行命令ping-l2000172.16.0.2。
7.主机A、B、E停止捕获数据。
察看主机A、E捕获到的数据,比较两者的差异,体会两次分片过程。
8.主机B上使用“实验平台上工具栏中的MTU工具”恢复以太网端口的MTU为1500字节。
练习6子网掩码的作用
本练习将主机A、B、C、D、E、F作为一组进行实验。
1.所有主机取消网关。
2.主机A、C、E设置子网掩码为255.255.255.192,主机B(172.16.1.1)、D、F设置子网掩码为255.255.255.224。
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.主机B在命令行方式下输入recover_config命令,停止静态路由服务。
5.所有主机恢复到网络结构二的配置。
练习7运行Ping命令
各主机打开工具区的“拓扑验证工具”,选择相应的网络结构,配置网卡后,进行拓扑验证,如果通过拓扑验证,关闭工具继续进行实验,如果没有通过,请检查网络连接。
本练习将主机A、B、C、D、E、F作为一组进行实验。
实验开始前主机B首先执行命令“staticroute_config”启动静态路由。
1.主机B、E、F启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ICMP协议)。
2.主机Aping主机E(172.16.0.2)。
主机Cping主机F(172.16.0.3)。
练习8ICMP差错报文
本练习将主机A、B、C、D、E、F作为一组进行实验。
1.目的端不可达
(1)主机A、B、C、D、E、F启动协议分析器捕获数据,并设置过滤条件(提取ICMP)。
(2)主机A、C、D、E、Fping172.16.2.10(不存在的IP地址)。
(3)主机A、B、C、D、E、F停止捕获数据。
察看捕获到的数据,并回答以下问题:
2.超时
(1)主机A、C、D分别启动协议编辑器,编写一个发送给主机F(172.16.0.3)的ICMP数据帧。
其中:
MAC层:
目的MAC地址:
主机B的MAC地址(172.16.1.1接口的MAC)。
源MAC地址:
本机的MAC地址。
协议类型或数据长度:
0800。
IP层:
总长度:
包含IP层和ICMP层长度。
生存时间(TTL):
0。
高层协议类型:
1。
校验和:
在其它字段填充完毕后,计算并填充。
源IP地址:
本机的IP地址。
目的IP地址:
F的IP地址。
ICMP层:
类型:
8。
代码字段:
0。
校验和:
在ICMP其它字段填充完毕后,计算并填充。
其它字段使用默认值。
(2)主机E、F分别启动协议编辑器,编写一个发送给主机D(172.16.1.4)的ICMP数据帧。
其中:
MAC层:
目的MAC地址:
主机B的MAC地址(172.16.0.1接口的MAC)。
源MAC地址:
本机的MAC地址。
协议类型或数据长度:
0800。
IP层:
总长度:
包含IP层和ICMP层长度。
TTL:
0。
高层协议类型:
1。
校验和:
在其它字段填充完毕后,计算并填充。
源IP地址:
本机的IP地址。
目的IP地址:
D的IP地址。
ICMP层:
类型:
8。
代码字段:
0。
校验和:
在ICMP其它字段填充完毕后,计算并填充。
其它字段使用默认值。
(3)主机B启动协议分析器,网卡b1(172.16.1.1)、网卡b2(172.16.0.1)分别捕获数据,并设置过滤条件(提取ICMP协议)。
(4)主机A、C、D、E、F各自发送已编辑好的数据帧。
(5)主机B停止捕获数据,察看并分析捕获到的数据。
(6)主机B在命令行方式下输入recover_config命令,停止静态路由服务。
思考问题:
1.哪些主机收到了ARP请求包,哪个主机给出了ARP响应包?
2.主机A、C、D是否收到ARP请求包,为什么?
3.受限广播地址和直接广播地址的区别?
4.IP数据报中的首部校验和并不检验数据报中的数据,这样做的最大好处是什么?
缺点是什么?
5.为什么要设置TTL字段?
6.不同协议的MTU的范围从296到65535,使用大的MTU有什么好处?
使用小的MTU有什么好处?
7.为什么要限制由失效的ICMP差错报文再产生一个ICMP报文?
8.主机A向主机B发送数据报,主机B从未收到该数据报,而主机A也从未收到出问题的通知。
试给出可能发生情况的两种不同解释。
实验三传输层协议分析
【实验目的】
1.掌握UDP协议的报文格式
3.理解UDP协议的优缺点
4.掌握TCP协议的报文格式
5.掌握TCP连接的建立和释放过程
6.掌握TCP数据传输中编号与确认的过程
7.掌握TCP协议校验和的计算方法
8.理解TCP重传机制
【实验环境】
该实验采用网络结构一
【实验步骤】
练习1编辑并发送UDP数据报
各主机打开工具区的“拓扑验证工具”,选择相应的网络结构,配置网卡后,进行拓扑验证,如果通过拓扑验证,关闭工具继续进行实验,如果没有通过,请检查网络连接。
本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。
现仅以主机A、B所在组为例,其它组的操作参考主机A、B所在组的操作。
1.主机A打开协议编辑器,编辑发送给主机B的UDP数据报。
MAC层:
目的MAC地址:
接收方MAC地址
源MAC地址:
发送方MAC地址
协议类型或数据长度:
0800,即IP协议
IP层:
总长度:
包括IP层、UDP层和数据长度
高层协议类型:
17,即UDP协议
首部校验和:
其它所有字段填充完毕后填充此字段
源IP地址:
发送方IP地址
目的IP地址:
接收方IP地址
UDP层:
源端口:
1030
目的端口:
大于1024的端口号
有效负载长度:
UDP层及其上层协议长度
其它字段默认,计算校验和。
2.在主机B上启动协议分析器捕获数据,并设置过滤条件(提取UDP协议)。
3.主机A发送已编辑好的数据报。
4.主机B停止捕获数据,在捕获到的数据中查找主机A所发送的数据报。
练习2UDP单播通信
本练习将主机A、B、C、D、E、F作为一组进行实验。
1.主机B、C、D、E、F上启动实验平台工具栏中的UDP工具”,作为服务器端,监听端口设置为2483,“创建”成功。
2.主机C、E上启动协议分析器开始捕获数据,并设置过滤条件(提取UDP协议)。
3.主机A上启动“实验平台工具栏中的UDP工具”,作为客户端,以主机C的IP为目的IP地址,以2483为端口,填写数据并发送。
4.察看主机B、C、D、E、F上的“UDP工具”接收的信息。
●哪台主机上的“UDP工具”能够接收到主机A发送的UDP报文?
5.察看主机C协议分析器上的UDP报文,并回答以下问题:
●UDP是基于连接的协议吗?
阐述此特性的优缺点。
●UDP报文交互中含有确认报文吗?
阐述此特性的优缺点。
6.主机A上使用协议编辑器向主机E发送UDP报文,其中:
目的MAC地址:
E的MAC地址
目的IP地址:
主机E的IP地址
目的端口:
2483
校验和:
0
有效负载长度:
UDP层及其上层协议长度
首部校验和:
其它所有字段填充完毕后填充此字段
总长度:
包括IP层、UDP层和数据长度
发送此报文,并回答以下问题:
●主机E上的UDP通信程序是否接收到此数据包?
UDP是否可以使用0作为校验和进行通信?
7.主机B、C、D、E、F关闭服务端,主机A关闭客户端。
练习3UDP广播通信
本练习将主机A、B、C、D、E、F作为一组进行实验。
1.主机B、C、D、E、F上启动实验平台工具栏中的“UDP工具”,作为服务器端,监听端口设为2483。
2.主机B、C、D、E、F启动协议分析器捕获数据,并设置过滤条件(提取UDP协议)。
3.主机A上启动UDP工具,作为客户端,以255.255.255.255为目的地址,以2483为端口,填写数据并发送。
4.察看主机B、C、D、E、F上的“UDP工具”接收的信息。
练习4察看TCP连接的建立和释放
各主机打开工具区的“拓扑验证工具”,选择相应的网络结构,配置网卡后,进行拓扑验证,如果通过拓扑验证,关闭工具继续进行实验,如果没有通过,请检查网络连接。
本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。
现仅以主机A、B为例,其它组的操作参考主机A、B的操作。
1.主机B启动协议分析器捕获数据,并设置过滤条件(提取TCP协议)。
2.主机A启动TCP工具连接主机B。
(1)主机A启动实验平台工具栏中的“地址本工具”。
点击[主机扫描]按钮获取组内主机信息,选中主机B点击[端口扫描]按钮获取主机B的TCP端口列表。
(2)主机A启动实验平台工具栏中的“TCP工具”。
选中“客户端”单选框,在“地址”文本框中填入主机B的IP地址,在“端口”文本框中填入主机B的一个TCP端口,点击[连接]按钮进行连接。
3.察看主机B捕获的数据,填写下表。
字段名称
报文1
报文2
报文3
序列号
确认号
ACK
SYN
●TCP连接建立时,前两个报文的首部都有一个“最大字段长度”字段,它的值是多少?
作用是什么?
结合IEEE802.3协议规定的以太网最大帧长度分析此数据是怎样得出的。
4.主机A断开与主机B的TCP连接。
5.察看主机B捕获的数据,填写下表。
字段名称
报文4
报文5
报文6
报文7
序列号
确认号
ACK
FIN
练习5利用协议编辑器编辑并发送TCP数据包
本练习每台主机为一组。
现仅以主机A所在组为例,其他组的操作参考主机A所在组的操作。
在本实验中由于TCP连接有超时时间的限制,故协议编辑器和协议分析器的两位同学要默契配合,某些步骤(如计算TCP校验和)要求熟练、迅速。
为了实现TCP三次握手过程的仿真,发送第一个连接请求帧之前,编辑端主机应该使用TCP屏蔽功能来防止系统干扰(否则计算机系统的网络会对该请求帧的应答帧发出拒绝响应)。
通过手工编辑TCP数据包实验,要求理解实现TCP连接建立、数据传输以及断开连接的全过程。
在编辑过程中注意体会TCP首部中的序列号和标志位的作用。
首先选择服务器主机上的一个进程作服务器进程,并向该服务器进程发送一个建立连接请求报文,对应答的确认报文和断开连接的报文也编辑发送。
其步骤如下:
1.启动协议分析器捕获数据,设置过滤条件(提取HTTP协议)。
2.启动协议编辑器,在界面初始状态下,程序会自动新建一个单帧,可以利用协议编辑器打开时默认的以太网帧进行编辑。
3.填写该帧的以太网协议首部,其中:
源MAC地址:
主机A的MAC地址
目的MAC地址:
服务器的MAC地址
协议类型或数据长度:
0800(IP协议)
4.填写IP协议头信息,其中:
高层协议类型:
6(上层协议为TCP)
总长度:
40(IP首部+TCP首部)
源IP地址:
主机A的IP地址
目的IP地址:
服务器的IP地址(默认为172.16.0.253)
其它字段任意。
应用前面学到的知识计算IP首部校验和。
5.填写TCP协议信息,其中:
源端口:
任意大于1024的数,不要使用下拉列表中的端口
目的端口:
80(HTTP协议)
序列号:
选择一个序号ISN(假设1942589885),以后的数据都根据它来填写
确认号:
0
首部长度:
50(长度20字节)
标志位:
02(标志SYN=1)
窗口大小:
任意
紧急指针:
0
使用协议编辑器的“手动计算”方法计算校验和;再使用协议编辑器的“自动计算”方法计算校验和。
将两次计算结果相比较,若结果不