《2022年山东大学计算机网络实验报告实验五 .pdf》由会员分享,可在线阅读,更多相关《2022年山东大学计算机网络实验报告实验五 .pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件学院计算机网络实验报告实验五传输协议控制姓名班级2013 级软件 1 班学号实验名称传输控制协议(TCP )实验时间 2015.12 实验目的:1. 掌握 TCP协议的报文格式;2. 掌握 TCP连接的建立和释放过程;3. 掌握 TCP数据传输中编号与确认的过程;4. 掌握 TCP协议校验和的计算方法;5. 理解 TCP重传机制。实验步骤及结果:该实验采用网络拓扑结构一练习一练习名称 :察看 TCP连接的建立和释放练习内容 :各主机打开协议分析器,进入相应的网络结构并验证网络拓扑的正确性,如果通过拓扑验证,关闭协议分析器继续进行实验,如果没有通过拓扑验证,请检查网络连接。本练习将主机 A、
2、B、C 、D 、E、F作为一组进行实验。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捕获的数据,填写下表。字段名称报文 1 报文 2 报文
3、3 序列号4035280841 655101085 4035280842 确认号0 4035280842 655101086 ACK 0 1 1 SYN 1 1 0 TCP 连接建立时,前两个报文的首部都有一个“最大字段长度”字段,它的值是多少?作用是什么?结合IEEE802.3协议规定的以太网最大帧长度分析此数据是怎样得出的。答:两个报文首部的“最大字段长度”字段值均为为1460。作用表示在一个帧中数据部分最大长度为1460,不能发出比此更长的帧。 以太网中规定发出的帧长度不能超过1500,而 IP 首部的长度为 20 个字节,TCP首部的长度为 20 个字节。所以 TCP字段长度不能超过1
4、460个字节。4. 主机 A断开与主机 C的 TCP连接。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 5. 察看主机 B、C 、D捕获的数据,填写下表。字段名称报文 4 报文 5 报文 6 报文 7 序列号655101086 4035280842 655101086 035280843 确认号4035280842 655101086 4035280843 655101087 ACK 1 1 1 1 FIN 0 1 1 0 结
5、合步骤 3、5 所填的表,理解 TCP的三次握手建立连接和四次握手的释放连接过程,理解序号、确认号等字段在TCP可靠连接中所起的作用。答:a)建立连接协议(三次握手)i.客户端发送一个带SYN 标志的 TCP 报文到服务器。这是三次握手过程中的报文 1 。ii.服务器端回应客户端的, 这是三次握手中的第2 个报文,这个报文同时带 ACK 标志和 SYN 标志。因此它表示对刚才客户端SYN 报文的回应;同时又标志SYN 给客户端,询问客户端是否准备好进行数据通讯。iii.客户必须再次回应服务段一个ACK 报文,这是报文段3 。 b)连接终止协议(四次挥手)由于 TCP 连接是全双工的,因此每个方
6、向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个 FIN 来终止这个方向的连接。收到一个 FIN 只意味着这一方向上没有数据流动,一个 TCP 连接在收到一个 FIN 后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。i.TCP 客户端发送一个 FIN , 用来关闭客户到服务器的数据传送(报文段 4 ) 。ii.服务器收到这个 FIN ,它发回一个 ACK ,确认序号为收到的序号加(报文段 5 ) 。和 SYN 一样,一个 FIN 将占用一个序号。iii.服务器关闭客户端的连接,发送一个 FIN 给客户端(报文段6 ) 。iv.客户段发回 ACK 报
7、文确认,并将确认序号设置为收到序号加 1 (报文段 7 ) 。序号:本报文段所发送的数据的第一个字节的序号。确认号:期待收到对方下一个报文段的第一个数据字节的序号。确认 ACK :占 1 位,仅当 ACK=1 时,确认号字段才有效。 ACK=0 时,确认号无效 。同步 SYN :连接建立时用于同步序号。当 SYN=1 ,ACK=0 时表示:这是一 个连接请求报文段。若同意连接,则在响应报文段中使得 SYN=1 ,ACK=1 。因此, SYN=1 表示这是一个连接请求,或连接接受报文。终止 FIN :用来释放一个连接。 FIN=1 表示:此报文段的发送方的数据已经发送完毕,并要求释放运输连接。思
8、考问题:1. 为什么在 TCP 连接过程中要使用三次握手?如不这样做可能会出现什么情况。答: (1)客户发送第一个报文,这是一个SYN 报文,在这个报文中只有SYN标志置为 1。这个报文的作用是使序号同步。(2)服务器发送第二个报文,即SYN+ACK 报文,其中 SYN和 ACK标名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - 志被置为 1。这个报文有两个目的。 首先,它是一个用来和对方进行通信的 SYN 报文。服务器使用这个报
9、文同步初始序号,以便从服务器向客户发送字节。服务器还使用ACK 标志确认已从客户端收到了SYN 报文,同时给出期望从客户端收到的下一个序号。另外,服务器还定义了客户端要使用的接收窗口的大小。(3)客户发送第三个报文。这仅仅是一个ACK 报文。它使用 ACK标志和确认号字段来确认收到了第二个报文。总之,三次握手完成两个重要的功能:既要双方做好发送数据的准备工作,双方都知道彼此已准备好,也要允许双方就初始序列号进行协商。这个序列号在握手过程中被发送和确认。如不这样做可能会出现死锁。2. 解释 TCP协议的释放过程?答: (1)当客户端想关闭TCP连接时,它发送一个TCP报文,把 FIN 标志位设置
10、为 1。(2)服务器端在收到这个TCP报文后,把 TCP连接即将关闭的消息发送给相应的进程,并发送第二个报文FIN+ACK 报文,以证实从客户端收到了 FIN 报文,同时也说明,另一个方向的连接也关闭了。(3)客户端发送最后一个报文以证实从TCP服务器收到了 FIN 报文。这个报文包括确认号,它等于从服务器收到的FIN 报文的序号加 1。练习二练习名称: 利用协议编辑器编辑并发送TCP 数据包练习内容:本练习将主机 A和 B作为一组,主机 C和 D作为一组,主机 E和 F作为一组。现仅以主机 A、B所在组为例,其它组的操作参考主机A、B所在组的操作。在本实验中由于TCP连接有超时时间的限制,
11、故协议编辑器和协议分析器的两位同学要默契配合,某些步骤(如计算TCP校验和)要求熟练、迅速。为了实现 TCP三次握手过程的仿真, 发送第一个连接请求帧之前,编辑端主机应该使用 TCP屏蔽功能来防止系统干扰 (否则计算机系统的网络会对该请求帧的应答帧发出拒绝响应)。通过手工编辑 TCP数据包实验, 要求理解实现 TCP连接建立、数据传输以及断开连接的全过程。在编辑过程中注意体会TCP首部中的序列号和标志位的作用。首先选择服务器主机上的一个进程作服务器进程,并向该服务器进程发送一个建立连接请求报文, 对应答的确认报文和断开连接的报文也编辑发送。其步骤如下:1. 主机 B启动协议分析器捕获数据,设置
12、过滤条件(提取HTTP 协议) 。2. 主机 A上启动协议编辑器,在界面初始状态下,程序会自动新建一个单帧,可以利用协议编辑器打开时默认的以太网帧进行编辑。3. 填写该帧的以太网协议首部,其中:源 MAC 地址:主机 A的 MAC 地址目的 MAC 地址:服务器的MAC 地址协议类型或数据长度: 0800(IP 协议)4. 填写 IP 协议头信息,其中:高层协议类型: 6(上层协议为 TCP )总长度: 40(IP 首部 + TCP 首部)源 IP 地址:主机 A的 IP 地址名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师
13、精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - 目的 IP 地址:服务器的 IP 地址( 172.16.1.23 )其它字段任意。应用前面学到的知识计算IP 首部校验和。5. 填写 TCP协议信息,其中:源端口:任意大于1024的数,不要使用下拉列表中的端口目的端口: 80(HTTP协议)序列号:选择一个序号ISN(假设 1942589885 ) ,以后的数据都根据它来填写确认号: 0 首部长度: 50(长度 20 字节)标志位: 02(标志 SYN=1 )窗口大小:任意紧急指针: 0 使用协议编辑器的“手动计算”方法计算校验和;再使用协议编辑
14、器的“自动计算”方法计算校验和。将两次计算结果相比较,若结果不一致,则重新计算。 TCP在计算校验和时包括哪些内容?答:TCP校验和的范围包括首部和数据这两部分。和UDP 用户数据报一样,在计算校验和时,要在TCP报文段的前面加上12字节的伪首部。6. 将设置完成的数据帧复制3 份。修改第二帧的 TCP 层的“标志”位为10(即标志位 ACK=1 ) ,TCP层的“序列号”为 1942589885+1 。修改第三帧的 TCP层的“标志”位为11(即标志位 ACK=1 、FIN=1) ,TCP层的“序列号”为1942589885+1 。修改第四帧的 TCP层的“标志”位为 10(即标志位 ACK
15、=1 ) ,TCP层的“序列号”为 1942589885+2 。7. 在发送该 TCP连接请求之前,先ping 一次目标服务器,让目标服务器知道自己的 MAC 地址。8. 启动“实验平台工具栏中的启动屏蔽” ,为 TCP/IP 协议栈过滤掉收到的TCP数据。9. 点击菜单栏中的 发送 按钮,在弹出对话框中选择发送第一帧。10. 在主机 B上捕获相应的应答报文, 这里要求协议分析器一端的同学及时准确地捕获应答报文并迅速从中获得应答报文的接收字节序列号,并告知协议编辑器一端的同学。11. 假设接收字节序号为: 3246281765 ,修改第二帧和第三帧TCP层的“确认号”的值为: 32462817
16、66 。12. 计算第二帧的 TCP校验和,将该帧发送。对服务器的应答报文进行确认。13. 计算第三帧的 TCP校验和,将该帧发送。14. 在主机 B上观察应答报文,要及时把最后一帧“序列号”告知协议编辑器一端的同学。15. 修改第四帧的 TCP层“确认号”为接收的序列号+1(即 3246281767) 。16. 计算第四帧的 TCP校验和,将该帧发送。断开连接,完成TCP连接全过程。17. 协议分析器一端截获相应的请求及应答报文并分析,注意观察“会话分析”中的会话过程。18. 编辑端主机启动“实验平台工具栏中的停止屏蔽”,恢复正常网络功能。名师资料总结 - - -精品资料欢迎下载 - - -
17、 - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - 思考问题:1. 使用 TCP协议对实时话音数据的传输有什么有缺点?使用UDP 协议在传送数据文件时会有什么问题?答:TCP延时比较大,因为其具有拥塞控制的AIMD算法,导致传输速率锯齿形变化,对于实时性要求高的业务来说,有其必然的缺点。UDP 没有拥塞控制, 只能提供尽力而为的服务, 所以会出现丢包现象, 且不重传。所以不适合传送数据文件。练习三练习名称: TCP 的重传机制练习内容:本练习将主机 A和 B作为一组,主机 C和 D作
18、为一组,主机 E和 F作为一组。现仅以主机 A、B所在组为例,其它组的操作参考主机A、B所在组的操作。1. 主机 B上启动“实验平台工具栏中的TCP工具” ,作为服务端,监听端口设置为 2483。2. 主机 B启动协议分析器开始捕获数据并设置过滤条件(提取TCP协议) 。3. 主机 A启动 TCP工具连接主机 B。(1)主机 A启动“实验平台工具栏中的TCP工具” 。(2)选中“客户端”单选框。(3)在“地址”文本框中填入主机B的 IP 地址。(4)在“端口”文本框中填入主机B的 TCP监听端口( 2483) 。(5)点击 连接 按钮进行连接。4. 主机 A向主机 B发送一条信息。5. 主机
19、B启动“实验平台工具栏中的启动TCP屏蔽” ,过滤掉接收到的TCP数据。6. 主机 A向主机 B再发送一条信息。7. 主机 B刷新捕获显示,当发现“会话分析视图”中有两条以上超时重传报文后,启动“实验平台工具栏中的停止TCP屏蔽” ,恢复正常网络功能。8. 主机 A向主机 B再发送一条信息,之后断开连接。9. 主机 B停止捕获数据。依据“会话分析视图”显示结果,绘制本练习的数据报交互图。思考问题:1. 根据实验,测试重传时间和重传次数。答:重传次数在三次以上,且重传时间很短。2. TCP 协议在进行流量控制时是以数据包丢失作为产生拥塞的标志。有没有不是因拥塞而引起的数据包丢失的情况?如有,请列举出三种情况。答:有,情况如下:i.IP 数据报在传输过程中需要分片,但其中的一个数据报未能及时到达终点,而终点组装IP 数据报已超时,因而只能丢失该数据报。ii.IP 数据报已经到达终点,但终点的缓存没有足够空间存放此数报。iii.较大的往返延迟偏差将导致不精确的往返时间估计,它最终将降低TCP 的丢失检测机制的效能,可能导致拥塞崩溃。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -
限制150内