计算机网络实验报告

计算机网络实验报告

                           

                           

                           

                           

指导教师                       

实验一   以太网帧的构成

【实验目的】

1.  掌握以太网的报文格式

2.  掌握MAC地址的作用

3.  掌握MAC广播地址的作用

4.  掌握LLC帧报文格式

5.  掌握协议编辑器和协议分析器的使用方法

6.  掌握协议栈发送和接收以太网数据帧的过程

【实验环境配置】

拓扑结构1

说明:IP地址分配规则为主机使用原有IP,保证所有主机在同一网段内。

练习一:领略真实的MAC

各主机打开协议分析器,进入相应的网络结构并验证网络拓扑的正确性,如果通过拓扑验证,关闭协议分析器继续进行实验,如果没有通过拓扑验证,请检查网络连接。

本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A、B所在组为例,其它组的操作参考主机A、B所在组的操作。

1.      主机B启动协议分析器,新建捕获窗口进行数据捕获并设置过滤条件(提取ICMP协议)。
2.  主机A ping 主机B,察看主机B协议分析器捕获的数据包,分析MAC帧格式。
3.  将主机B的过滤器恢复为默认状态。

练习二:理解MAC地址的作用

       本练习将主机A、B、C、D、E、F作为一组进行实验。
1.  主机B、D、E、F启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(源MAC地址为主机A的MAC地址)。
2.  主机A ping 主机C。
3.  主机B、D、E、F上停止捕获数据,在捕获的数据中查找主机A所发送的ICMP数据帧,并分析该帧内容。
    ●  记录实验结果

2.       表1-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所发送的数据帧。
    ●  结合练习三的实验结果,简述FFFFFF-FFFFFF作为目的MAC地址的作用。

思考问题

练习1  

1.        为什么有的主机会收到ICMP数据包而有的主机收不到ICMP数据包?

因为Ping命令是检查本机和目的主机的网络是否联通,ping命令是一种一对一的通信,采用的是ICMP协议,只有目的主机才能捕获数据包。

2.        根据实验理解集线器(共享设备)和交换机(交换设备)的区别?

根据实验二可知,A ping C时,B、C和D都可以收到数据,而E、F是无法收到数据包的,因为A、B以及C、D是通过共享设备连接的,当A ping C时,数据包会发送给连接在与A、C连接的共享设备的其它目的主机,因为B、D的目的MAC地址与数据包的目的MAC地址不匹配所以B、D没有采取任何行动。E、F通过交换设备和AB、CD相连,A向C发送的数据包在通过交换设备时,会把数据包转发给C的局域网所连接的端口,而不是对所有端口进行转发。所以集线器和交换机的区别就是:集线器会把收到的数据包向所有已连接的端口转发,而交换机只会向目的主机所连接的端口进行转发。

3.        说明共享设备的不安全性。

如果两台计算机A、C需要传输机密数据,那么同时B、D都收到了,这是A所不希望发生的;如果A要攻击C,那么主机B和D可能也会受到影响。

练习2

1.       主机A、B、C、D、F是否可以收到主机E的广播帧?

首先,E、F是通过共享设备连接,所以E发送的广播帧F肯定可以收到,因为E发送的广播帧的目的MAC地址是代表全网主机的MAC地址,所以当广播帧到达交换机之后,交换机识别这是一个广播帧,因此会向所有已激活的端口转发该帧

2.       说明MAC广播帧的范围?

由实验可知,MAC广播帧的范围是全网上的所有计算机。

实验二  地址解析协议ARP

【实验目的】

1.       掌握ARP协议的报文格式

2.       掌握ARP协议的工作原理

3.       理解ARP高速缓存的作用

4.       掌握ARP请求和应答的实现方法

5.       掌握ARP缓存表的维护过程

【实验环境】

拓扑结构2

本练习将主机A、B、C、D、E、F作为一组进行实验。

练习一 :领略真实的ARP(同一子网)
1.  主机A、B、C、D、E、F启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ARP、ICMP)。
2.  主机A、B、C、D、E、F在命令行下运行“arp -d”命令,清空ARP高速缓存。
3.  主机A ping 主机D(172.16.1.4)。
4.  主机E ping 主机F(172.16.0.3)。
5.  主机A、B、C、D、E、F停止捕获数据,并立即在命令行下运行“arp -a”命令察看ARP高速缓存。
    ●  ARP高速缓存表由哪几项组成?

答:主要由:IP地址、MAC地址
    ●  结合协议分析器上采集到的ARP报文和ARP高速缓存表中新增加的条目,简述ARP协议的报文交互过程以及ARP高速缓存表的更新过程。

答:假设网络中的主机A要和主机B交换数据,首先主机A要得到主机B的IP地址和MAC地址的映射关系,工作过程如下:

①ARP模块接收来自上层的协议(IP)的数据报后,提取其目的的IP地址。

②主机A检查自己的高速缓存中的ARP表,判断ARP表中是否存有主机B的IP地址与MAC地址的映射关系。如果找到,则完成ARP地址解析;如果没有找到,则转至③。

③主机A广播含有自身IP地址与MAC地址映射关系的请求信息包,请求解析主机B的IP的地址与MAC地址映射关系。

④主机A等待接收ARP应答。

⑤如果主机A没有收到ARP应答,则停止发送数据报;

  如果收到ARP应答,执行○6。

○6主机A收到主机B的响应信息,使用应答中的物理地址(MAC)作为数据报的mac地址,并将主机B的IP地址与MAC地址的映射关系存入自己的ARP表中,从而完成主机B的ARP地址解析。

练习二   编辑并发送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.  主机B、F启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ARP协议)。
3.  主机B、E、F在命令行下运行“arp -d”命令,清空ARP高速缓存。主机E发送已编辑好的ARP报文。
4.  主机B、F停止捕获数据,分析捕获到的数据,进一步体会ARP报文交互过程。

思考题

1.       哪些主机收到了ARP请求包,哪个主机给出了ARP响应包?

答:主机A、B、C、D、F都收到ARP请求包,主机F给出了ARP响应包。
2.  主机A、C、D是否收到ARP请求包,为什么?

答:收到了ARP请求包,因为B、E、F处在同一网段,所以当B收到ARP请求报文后会向所有接口(除了收到ARP的接口)转发该ARP请求报文

练习三:跨路由地址解析(不同子网)

本练习将主机A、B、C、D、E、F作为一组进行实验。
1.  主机B在命令行方式下输入staticroute_config命令,开启静态路由服务。
2.  主机A、B、C、D、E、F在命令行下运行“arp -d”命令,清空ARP高速缓存。
3.  主机A、B、C、D、E、F重新启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ARP、ICMP)。
4.  主机A ping 主机E(172.16.0.2)。
5.  主机A、B、C、D、E、F停止数据捕获,察看协议分析器中采集到的ARP报文,并回答以下问题:
    ●  单一ARP请求报文是否能够跨越子网进行地址解析?为什么?

       答:不能,因为ARP请求报文是以广播的形式发出的,而广播的范围只能是本局域网,   如果目的主机不在同一个局域网,那么就无法收到该报文。
    ●  ARP地址解析在跨越子网的通信中所起到的作用?

答:作用是解析网关的MAC地址,ARP本身无法跨跃不同网段。当数据要发往外部网络时,通常是首先使用ARP请求网关路由器的MAC地址,之后将数据发往网关路由器, 由网关路由器进行转发。

6.  主机B在命令行方式下输入recover_config命令,停止静态路由服务。

思考题

1.  哪些主机收到了ARP请求包,哪台主机给出了ARP响应包?

答:主机B、C、D、E、F都收到了ARP请求,主机E给出了ARP响应包。

2.       比较ARP协议在同网段内解析和跨网段的解析有何异同点?

   答:相同点:都是广播发送ARP请求报文。不同点:主要在于网关的作用发挥。如果       ARP请求是跨网段时由路由器来回答该请求
3.  ARP数据包的长度是固定的吗?试加以解释。

   答:不是。ARP报文格式对任何协议和硬件地址都是充分通用的,对于不同的网络,ARP          分组的长度可能不同。ARP分组中含有HTYPE(硬件类型)字段,用来定义运行ARP 的网络类型(例如以太网是类型1),ARP分组中包含HLEN(硬件长度)字段,用来 定义以字节为单位的物理地址长度(例如以太网为6)。ARP分组中包含SHA(发送端       硬件地址)和THA(目标硬件地址)用来定义物理地址,这两个字段都是可变长度字   段。
4.  试解释为什么ARP高速缓存每存入一个项目就要设置10-20分钟的超时计时器。这个时       间设置得太大或太小会出现什么问题?

答:超时计时器用来维护ARP高速缓存的有效性,在一段时间内如果表中的某一项没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度,另外如果缓存表中的一台主机暂时离线,那么就没有必要在保留它的映射,因为此时这台主机是不能联通的。时间设置得太大就会导致ARP缓存表的长度过长或者过旧,IP地址与MAC地址的映射关系可能已经发生改变,但ARP缓存表却还没更新。时间设置得太小会导致ARP高速缓存更改过于频繁,从而导致ARP广播数据包在网络上大量出现,增加网络流量,并降低了工作速度。

5.  至少举出两种不需要发送ARP请求数据

       答:当某台主机发送的是广播类的报文时不需要发送ARP请求报文,当目的主机的映射关系在ARP高速缓存表中时不需要发送ARP请求报。


实验三  网际协议IP

【实验目的】

1.  掌握IP数据报的报文格式
2.  掌握IP校验和计算方法
3.  掌握子网掩码和路由转发
4.  理解特殊IP地址的含义
5.  理解IP分片过程
6.  理解协议栈对IP协议的处理方法
7.  理解IP路由表作用以及IP路由表的管理

【实验环境】

拓扑结构2

练习一:编辑并发送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字节的用户数据。
    【说明】先使用协议编辑器的“手动计算”校验和,再使用协议编辑器的“自动计算”校验和,将两次计算结果相比较,若结果不一致,则重新计算。
    ●  IP在计算校验和时包括哪些内容?

   答:IP的首部校验和只检验数据报的首部,但不包括数据部分。
3.  在主机B(两块网卡分别打开两个捕获窗口)、E上启动协议分析器,设置过滤条件(提取IP协议),开始捕获数据。
4.  主机A发送第1步中编辑好的报文。
5.  主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答以下问题:
    ●  第1步中主机A所编辑的报文,经过主机B到达主机E后,报文数据是否发生变化?

若发生变化,记录变化的字段,并简述发生变化的原因。

答:发生了变化。主机A编辑好的报文的生存时间是128,首部校验和是0C76,到达B后生存时间仍然是128,首部校验和是0D76,到达E时,生存时间是127,首部校验和是D647.

原因:首部校验和包括生存时间,生存时间的定义是数据报经过路由器的跳数,当A发送的报文经过主机B(路由器)到达E时,生存时间减一,自然校验和发生变化。
6.  将第1步中主机A所编辑的报文的“生存时间”设置为1,重新计算校验和。

       答:生存时间为1时的首部校验和为8C76.
7.  主机B、E重新开始捕获数据。
8.  主机A发送第5步中编辑好的报文。
9.  主机B、E停止捕获数据,在捕获到的数据中查找主机A所发送的数据报,并回答以下问题:
    主机B、E是否能捕获到主机A所发送的报文?简述产生这种现象的原因。

答:主机B可以收到A发送的报文,但是E不能收到,因为数据报在每一次经过路由器时生存时间减一,把A编辑的报文的生存时间设为1,到达路由器B后,生存时间变为0,路由器把该包丢弃,不再进行转发。

练习二:特殊的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停止捕获数据。
    ●  记录实验结果

表3-4  实验结果

●  结合实验结果,简述直接广播地址的作用。

      答:直接广播地址向本局域网中所有主机发送数据包。
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停止捕获数据。
    ●  记录实验结果

表3-5  实验结果

●  结合实验结果,简述受限广播地址的作用。

   答:受限IP地址为255.255.255.255。该地址用于主机配置过程中IP数据报的目的地址,此时主机可能还不知道它所在的网络的网络掩码,甚至连它的IP地址也不知道。受限广播通常只在系统启动时才会用到。在任何情况下,路由器都不转发目的地址为受限的广播地址的数据报,这样的数据报只能在本地网络中。所以只有主机C、D和B(172.16.1.1)收到主机A发送的IP数据报。
3.  环回地址
    (1)主机F重新启动协议分析器开始捕获数据并设置过滤条件(提取IP协议)。
    (2)主机E ping 127.0.0.1。
    (3)主机F停止捕获数据。
    ●  主机F是否收到主机E发送的目的地址为127.0.0.1的IP数据报?为什么?

答:不能,因为目的地址为127.0.0.1是本地环回测试地址,目的主机就是发送数据主机本身,所以其它任何主机都无法收到目的地址为127.0.0.1的数据报。

练习三:IP数据报分片

本练习将主机A、B、C、D、E、F作为一组进行实验。
1.  在主机B上使用“实验平台上工具栏中的MTU工具” 设置以太网端口的MTU为800字节(两个端口都设置)。
2.  主机A、B、E启动协议分析器,打开捕获窗口进行数据捕获并设置过滤条件(提取ICMP协议)。
3.  在主机A上,执行命令ping -l 1000 172.16.0.2。
4.  主机A、B、E停止捕获数据。在主机E上重新定义过滤条件(取一个ICMP数据包,按照其IP层的标识字段设置过滤),如图所示:

图3-24  过滤条件设置

    ●  将ICMP报文分片信息填入下表,分析表格内容,理解分片的过程。

表3-6  实验结果

5.  主机E恢复默认过滤器。主机A、B、E重新开始捕获数据。
6.  在主机A上,执行命令ping -l 20## 172.16.0.2。
7.  主机A、B、E停止捕获数据。察看主机A、E捕获到的数据,比较两者的差异,体会两次分片过程。
8.  主机B上使用“实验平台上工具栏中的MTU工具”恢复以太网端口的MTU为1500字节。

练习四:子网掩码的作用

本练习将主机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.  主机A ping 主机B(172.16.1.1),主机C ping 主机D(172.16.1.4),主机E ping 主机F(172.16.0.3)。
    ●  记录实验结果

表3-7  实验结果

●  请问什么情况下两主机的子网掩码不同,却可以相互通信?

答:当两个主机在同一网段时,即两个主机的网络号相同。
4.  主机B在命令行方式下输入recover_config命令,停止静态路由服务。
5.  所有主机恢复到网络结构二的配置。

实验四  路由信息协议RIP

【实验目的】

1.掌握路由协议的分类,理解静态路由和动态路由

2.掌握动态路由协议RIP的报文格式,工作原理及工作过程

3.掌握RIP计时器的作用

4.理解RIP的稳定性

【实验环境配置】

练习一:静态路由与路由表

各主机打开协议分析器,进入相应的网络结构并验证网络拓扑的正确性,如果通过拓扑验证,关闭协议分析器继续进行实验,如果没有通过拓扑验证,请检查网络连接。
    本练习将主机A、B、C、D、E、F作为一组进行实验。
1.  主机A、B、C、D、E、F在命令行下运行“route print”命令,察看路由表,并回答以下问题:
    ●  路由表由哪几项组成?

答: 路由表由网络目标、网络掩码、网关、接口、跃点数组成
2.  从主机A依次ping 主机B(192.168.0.2)、主机C、主机E(192.168.0.1)、主机E(172.16.1.1),观察现象,记录结果。通过在命令行下运行route print命令,察看主机B和主机E路由表,结合路由信息回答问题:
    ●  主机A的默认网关在本次练习中起到什么作用?

       答:用于向其他 IP 网络转发 IP 数据报的 IP 地址 
    ●  记录并分析实验结果,简述为什么会产生这样的结果?

表17-1  实验结果

3.  主机B和主机E启动静态路由。
    (1)主机B与主机E在命令行下使用“staticroute_config”命令来启动静态路由。
    (2)在主机B上,通过在命令行下运行route add命令手工添加静态路由(“route add 172.16.1.0 mask 255.255.255.0 192.168.0.1 metric 2”)。
    (3)在主机E上,也添加一条静态路由(“route add 172.16.0.0 mask 255.255.255.0 192.168.0.2 metric 2”)。
    (4)从主机A依次ping主机B(192.168.0.2)、主机E(192.168.0.1)、主机E(172.16.1.1),观察现象,记录结果。
    (5)通过在命令行下运行route print命令,察看主机B和主机E路由表,结合路由信息回答问题:
    ●  记录并分析实验结果,简述手工添加静态路由在此次通信中所起的作用。

表17-2  实验结果

4.  在主机B上,通过在命令行下运行route delete命令(“route delete 172.16.1.0”);在主机E上,运行route delete命令(“route delete 172.16.0.0”)删除手工添加的静态路由条目。
    ●  简述静态路由的特点以及路由表在路由期间所起到的作用。

答:静态路由是一种特殊的路由,有网络管理员采用手工方法在路由器中配置而成,这种方法适合在规模较小、路由表也相对简单的网络中使用。它比较简单,容易实现;可以精确控制路由选择,改进网络的性能;减少路由器的开销,为重要的应用保证带宽。但对于大规模的网络而言,如果网络拓扑结构发生变化造成开销链路故障,用手工的方法配置及膝盖路由表,对管理员会形成很大的压力。

练习二:领略动态路由协议RIPv2

本练习将主机A、B、C、D、E、F作为一组进行实验。
1.  在主机A、B、C、D、E、F上启动协议分析器,设置过滤条件(提取RIP和IGMP),开始捕获数据。
2.  主机B和主机E启动RIP协议并添加新接口:
    (1)在主机B上启动RIP协议:在命令行方式下输入“rip_config”。
    (2)在主机E上启动RIP协议:在命令行方式下输入“rip_config”。
    (3)添加主机B的接口:
    ①  添加IP为172.16.0.1的接口:在命令行方式下输入“rip_config "172.16.0.1的接口名" enable”。
    ②  添加IP为192.168.0.2的接口:在命令行方式下输入“rip_config "192.168.0.2的接口名" enable”。
    (4)添加主机E的接口:
    ①  添加IP为192.168.0.1的接口:在命令行方式下输入“rip_config "192.168.0.1的接口名" enable”。
    ②  添加IP为172.16.1.1的接口:在命令行方式下输入“rip_config "172.16.1.1的接口名" enable”。
3.  主机B在命令行方式下,输入“rip_config showneighbor”察看其邻居信息。
    主机E在命令行方式下,输入“rip_config showneighbor”察看其邻居信息。
4.  所有主机人员通过协议分析器观察报文交互,直到两台主机的路由表达到稳定态。
    ●  如何判定路由表达到稳定态?

答:方法1:主机A ping主机F,若ping通则路由表达到稳定态;方法2:如果主机B的路由条目中出现172.16.1.0网络的信息,同时主机E的路由条目中出现172.16.0.0网络的信息,则路由表达到稳定态。
    ●  在主机B、E上使用“netsh routing ip show rtmroutes”察看路由表,记录稳定状态下主机B和主机E的路由表条目。
5.  主机B和主机E在命令行下输入命令“recover_config”,停止RIP协议。观察协议分析器报文交互,并回答问题:
    ●  IGMP报文在RIP交互中所起的作用是什么?

答:RIP通常采用组播的方式,这就要求交换机支持IGMP
    ●  通过以上5步,绘制主机B和主机E的RIP交互图(包括IGMP报文)。

答:加入多播组(发送IGMP组成员报告报文)——>路由信息请求(发送RIP请求报文)——>路由信息应答(发送RIP应答报文)。

实验五  传输控制协议TCP

【实验目的】

1.掌握TCP协议的报文格式

2.掌握TCP连接的建立和释放过程

3.掌握TCP数据传输中编号与确认的过程

4.掌握TCP协议校验和的计算方法

5.理解TCP重传机制

实验环境配置】

该实验采用网络结构一。

练习一:察看TCP连接的建立和释放

1.  主机B、C、D启动协议分析器捕获数据,并设置过滤条件(提取TCP协议)。
2.  主机A启动TCP工具连接主机C。
    (1)主机A启动“实验平台工具栏中的地址本工具”。点击[主机扫描]按钮获取组内主机信息,选中主机C点击[端口扫描]按钮获取主机C的TCP端口列表。
    (2)主机A启动“实验平台工具栏中的TCP工具”。选中“客户端”单选框,在“地址”文本框中填入主机C的IP地址,在“端口”文本框中填入主机C的一个TCP端口,点击[连接]按钮进行连接。
3.  察看主机B、C、D捕获的数据,填写下表。

TCP连接建立时,前两个报文的首部都有一个“最大字段长度”字段,它的值是多少?作用是什么?结合IEEE802.3协议规定的以太网最大帧长度分析此数据是怎样得出的。

答:该值是1460。作用是限制TCP数据报数据字段长度。因为MAC帧要求数据部分不能超过1500字节,而IPTCP的首部分别是20字节,所以TCP数据部分只有1460字节。
4.  主机A断开与主机C的TCP连接。
5.  察看主机B、C、D捕获的数据,填写下表。

练习二:利用协议编辑器编辑并发送TCP数据包

TCP在计算校验和时包括哪些内容?

答:包括伪首部(协议字段(IP层的高层协议类型)、源IP地址、目的IP地址)、长度(TCP数据总长度)、TCP首部和数据部分。

思考题:

练习1

1.       为什么在TCP连接过程中要使用三次握手?如不这样做可能会出现什么情况。

三次握手解决了连接建立过程中要解决的三个问题:(1)要使每一方能够确定对方的存在。(2)要允许双发协商一些参数(如最大报文段长度、最大窗口大小、服务质量等)。(3)能够对运输实体资源(如缓存大小、连接表中的项目等)进行分配。三次握手相对于请求应答式的连接建立有以下好处:假设主机A发出连接请求,但因连接请求报文丢失而未收到确认。主机A于是再重传一次。后来受到了确认,建立了连接。数据传输完毕后,释放连接。主机A共发送了两个连接请求报文段,其中的第二个到达了主机B。现在假定出现另一种情况,即主机A发送的第一个连接请求报文段并没有丢失,而是在某些网络结点滞留时间太长,以致延误到在这次的连接释放以后才传送到主机B。本来这是一个已经失效的报文段,但主机B收到此失效的连接请求报文段后,就误认为是主机A又发出一次新的连接请求。于是就向主机A发出确认报文段,同意建立连接。主机A由于并没有要求建立连接,因此不会理睬主机B的确认,也不会向主机B发送数据。但主机B却以为运输连接就这样建立了,并一直等待主机A发来数据。主机B的许多资源就这样白白浪费了。采用三次握手可以防止上述现象的发生。例如在刚才的情况下,主机A不会向主机B的确认发出确认。主机B收不到确认,连接就建立不起来了。
2.  解释TCP协议的释放过程?

答:TCP连接的释放由客户端主动发出释放连接请求,服务器收到请求后给出确认,若服务器需要继续传输数据,则客户端必须接收,服务器端数据传输完毕之后给客户端发送释放连接请求,客户端给出确认报文,等待两个周期后,TCP连接释放。

练习2

1.       使用TCP协议对实时话音数据的传输有什么有缺点?使用UDP协议在传送数据文件时会有什么问题?

答:TCP协议可能导致实时语音通讯的延迟。使用UDP传出数据可能导致数据文件乱序。

练习3

 TCP协议在进行流量控制时是以数据包丢失作为产生拥塞的标志。有没有不是因拥塞而引起的数据包丢失的情况?如有,请列举出三种情况。

答:链路故障等可以导致报文丢失、校验和错误、小于64字节的帧会被丢弃、上层协议无法识别的包会被丢弃。

实验六  邮件协议SMTPPOP3IMAP

【实验目的】

1.掌握邮件服务的工作原理

2.掌握SMTP、POP3、IMAP的工作过程

3.了解SMTP、POP3、IMAP协议的命令和使用方法

实验环境配置】

该实验采用网络结构一

练习一:使用Outlook发送电子邮件

3.(1SMTP使用的端口号是:25

  2找出传输用户帐号及密码的数据包,能不能看到用户密码?

       答:可以看到用户密码。

练习二、使用Outlook接收电子邮件

一.使用POP3协议接收

3.察看主机B捕获的数据,保存会话命令(方法:会话交互视图\单击右键\保存会话命令菜单,保存为POP3.txt)。

l  POP3使用的TCP端口是__110___。

l  找出传输用户帐号及密码的数据包,能不能看到用户密码?

答:能看到用户密码。

l  结合POP3.txt的内容,分析POP3协议的工作过程并画出邮件接收过程简图,比较它与SMTP协议的不同点。

l  找到接收邮件内容的报文(对命令RETR响应的报文),察看是否与发送的内容一致?

答:一致。

二.使用IMAP协议接收

1.主机B重新进行数据捕获并设置过滤条件(提取IMAP协议)。

2.主机A使用Outlook Express设置一个邮件账号,邮件接收服务器为IMAP。发送一封邮件并对其接收。

3.察看主机B捕获的数据,保存会话命令(会话交互视图\单击右键\保存会话命令菜单,保存为IMAP.txt)。

l  IMAP使用的TCP端口是_143____。

l  找出传输用户帐号及密码的数据包,能不能看到用户密码?

答:能看到用户密码。

l  结合IMAP.txt的内容,分析IMAP协议的工作过程并画出邮件接收过程简图,比较它与POP3协议的异同点。

答:POP3提供了快捷的邮件下载服务,用户可以利用POP3把邮箱里的信下载到PCh上进行离线阅读。 一旦邮件进入PC的本地硬盘,就可以选择把邮件从服务器上删除,然后脱离Internet的连接并选择在任何时候阅读已经下载的邮件。
      IMAP同样提供了方便的邮件下载服务,让用户服务能进行离线阅读,但IMAP能完成的却远远不只这些。 首先,IMAP提供的摘要浏览功能可以让你阅读完所有的邮件到达时间、主题、发件人、大小等信息后才作出是否下载的决定。 也就是说,你不必等所有的邮件都下载完毕后才知道空间邮件里都有些什么。 如果你根据摘要信息就可以决定某些邮件对你毫无用处,你就可以直接在服务器上把这些邮件删除掉,而不必浪费你宝贵的上网时间。

练习三、使用TCP连接工具和SMTP命令实现邮件发送

3.用SMTP命令编辑并发送邮件。

(1)在发送窗口编辑发送SMTP协议的命令,在接收窗口会返回服务器端信息:

发送窗口:helo group1_1<CRLF>                             点击“发送”按钮;

接收窗口:250 hello NetLab

发送窗口:mail from: <group1_1@JServer.NetLab><CRLF>       点击“发送”按钮;

接收窗口:250 OK

发送窗口:rcpt to: <group1_1@JServer.NetLab><CRLF>          点击“发送”按钮;

接收窗口:250 OK its forgroup1_1@JServer.NetLab

发送窗口:data<CRLF>                                     点击“发送”按钮;

接收窗口:354 OK send it;end with <CRLF>.<CRLF>

发送窗口:my email<CRLF> (My email是邮件内容)             点击“发送”按钮;

接收窗口:

发送窗口:.<CRLF>                                        点击“发送”按钮;

接收窗口:250 message queued

发送窗口:quit<CRLF>                                     点击“发送”按钮。

接收窗口:221 Goodbye

(注:<CRLF> 是回车换行)
(2)观察TCP连接客户端的接收信息窗口中返回的信息。

4.察看主机B捕获的数据。

l  会话分析的过程与练习一的过程相同吗?

答:练习一中有认证的过程,其他过程相同。

l  加深理解步骤3所使用的SMTP命令的使用方法和用途。

l  在编写邮件内容中,我们只是简单发送“my email”字符串,能否尝试添加邮件的内容首部的一些关键信息,如From、Subject、To等及有关MIME的信息。

练习四:使用TCP连接工具和POP3命令实现邮件接收

【说明】设邮件服务器提供给主机A的帐号、密码为group1_1

1.主机B启动协议分析器进行数据捕获并设置过滤条件(提取POP3协议)。

2.主机A与邮件服务器建立一个TCP连接,,在“服务器信息/IP地址”中填入服务器IP地址(172.16.0.10);在“服务器信息/端口”中填入POP3协议端口号(110)。

3.用POP3命令实现邮件的接收。

在发送数据窗口编辑发送POP协议的命令,在显示数据窗口察看服务器端返回的信息:

发送窗口:user group1_1 <CRLF>                               点击“发送”按钮;

接收窗口:+OK send your password

发送窗口:pass group1_1 <CRLF>                               点击“发送”按钮;

接收窗口:+OK maildrop locked and ready

发送窗口:stat <CRLF>                                       点击“发送”按钮;

接收窗口:+OK 2 590

发送窗口:uidl<CRLF>                                       点击“发送”按钮;

接收窗口:+OK 2 message

发送窗口:list<CRLF>                                        点击“发送”按钮;

接收窗口:+OK 2 messages

发送窗口:retr 1 <CRLF> (查看第一封信件内容)                  点击“发送”按钮;

接收窗口:+OK 220 octets 按下一帧查看第1封信的内容;

发送窗口:dele 1<CRLF>                                      点击“发送”按钮;

接收窗口:+OK message 1 deleted

发送窗口:quit<CRLF>                                        点击“发送”按钮;

接收窗口:+OK POP3 mail server saying Goodbye

4. 察看主机B捕获的数据,加深理解步骤3所使用的POP3命令的使用方法和用途。

练习五:使用TCP连接工具和IMAP命令实现邮件接收

1.主机B启动协议分析器进行数据捕获并设置过滤条件(提取IMAP协议)。

2.主机A与邮件服务器建立一个TCP连接。

3.用IMAP命令实现邮件的接收。

在发送数据窗口编辑发送IMAP协议的命令,在显示数据窗口察看服务器端返回的信息:

发送窗口:00A1 CAPABILITY<CRLF>                          点击“发送”按钮;

发送窗口:00A2 LOGIN demo demo<CRLF>                      点击“发送”按钮;

发送窗口:00A3 SELECT "INBOX"<CRLF>                      点击“发送”按钮;

发送窗口:00A4 UID FETCH 3 (BODY.PEEK[] UID)<CRLF>        点击“发送”按钮;

发送窗口:ZZZZ LOGOUT<CRLF>                              点击“发送”按钮;

4.察看主机B捕获的数据,加深理解步骤3所使用的IMAP命令的使用方法和用途。

l  在本练习中是将邮件所有内容一次全部取出,尝试利用FETCH命令提取邮件头或某一邮件附件头部的某一字段。

【思考问题】

1.电子邮件系统使用TCP传送邮件。为什么有时我们会遇到邮件发送失败的情况?为什么有时对方会收不到我们发送的邮件?

答:邮件客户端配置错误或邮件服务器关机等都可以导致邮件发送失败;邮件服务器之间互相不信任可导致邮件接收不到。

2.通过实验说明你的电子邮件在网络上传输是安全的吗?为什么?如果不安全,你认为实现邮件安全传输的最好的办法是什么?

答:简单使用SMTP和POP3协议传输邮件可能遭到信息被窃取、篡改等攻击,原因在于SMTP与POP3协议允许明文传送数据。我们可以使用PGP等技术对邮件进行加密后在进行传输,以保证通信安全。

实验七  超文本传输协议HTTP

【实验目的】

1.掌握HTTP的报文格式

2. 掌握HTTP的工作原理

3. 掌握HTTP常用方法

实验环境配置】

该实验采用网络结构一。

练习一:页面访问

1.       主机A清空IE缓存。

2.       主机B启动协议分析器开始捕获数据并设置过滤条件(提取HTTP协议)。

3.       主机A启动IE浏览器,在“地址”框中输入“http://172.16.0.10/ experiment”,并连接。

4.       主机B停止捕获数据,保存会话命令(方法:会话交互视图\单击右键\保存会话命令菜单,保存为Http1.txt),分析捕获到的数据,并回答以下问题:

l  本练习使用HTTP协议的哪种方法?简述这种方法的作用。

答:Get方法。客户要从服务器读取文档时使用。

l  根据本练习的报文内容,填写下表。

l  参考“会话分析”视图的显示结果,绘制此次访问过程的报文交互图(包括TCP协议)。

l  简述TCP协议和HTTP协议之间的关系。

答:HTTP是基于TCP的应用层协议, Tcp协议为下层协议,Http协议为上层协议,Tcp协议为Http协议服务

练习二:页面提交

1.       主机B启动协议分析器开始捕获数据并设置过滤条件(提取HTTP协议)。

2.       主机A启动IE浏览器,在“地址”框中输入“http://172.16.0.10/ experiment/post.html”,并连接。在返回页面中,填写“用户名”和“密码”,单击“确定”按钮。

3.       主机B停止捕获数据,保存会话命令(方法:会话交互视图\单击右键\保存会话命令菜单,保存为Http2.txt),分析捕获到的数据,并回答以下问题:

本练习的提交过程使用HTTP协议的哪种方法?简述这种方法的作用。

答:Post方法。当客户要给服务器提供某些信息时使用。

此次通信分几个阶段?每个阶段完成什么工作?

答:2个阶段;页面的访问和页面的提交。

 参考“会话分析”视图的显示结果,绘制此次提交过程的报文交互图(包括TCP协议)。

相关推荐