计算机网络TCP协议

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验报告课程名称计算机网络实验名称TCP协议实验专业班级软件1341班姓名魏祎学号27成绩评定考核内容实验过程实验结果实验报告综合评定成绩计算机技术与工程学院实验题目一.实验目的1.掌握TCP协议的报文格式2.掌握TCP连接的建立和释放过程3.掌握TCP数据传输中编号与确认的过程4.掌握TCP协议校验和的计算方法5.理解TCP重传机制二.实验步骤(简写)练习1查看TCP连接的建立和释放各主机打开工具区的“拓扑验证工具”,选择相应的网络结构,配置网卡后,进行拓扑验证,如果通过拓扑验证,关闭工具继续进行实验,如果没有通过,请检查网络连接。本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以主机A、B为例,其它组的操作参考主机A、B的操作。1.主机B启动协议分析器捕获数据,并设置过滤条件(提取TCP协议)。主机B在命令行下输入:netstat-a-n命令来查看主机B的TCP端口号。2.主机A启动TCP工具连接主机B。主机A启动实验平台工具栏中的“TCP工具”。选中“客户端”单选框,在“地址”文本框中填入主机B的IP地址,在“端口”文本框中填入主机B的一个TCP端口,点击[连接]按钮进行连接。3.察看主机B捕获的数据,填写下表。4.主机A断开与主机B的TCP连接。5.察看主机B捕获的数据,填写下表。练习2利用协议编辑器编辑并发送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使用协议编辑器的“手动计算”方法计算校验和;再使用协议编辑器的“自动计算”方法计算校验和。将两次计算结果相比较,若结果不一致,则重新计算。●TCP在计算校验和时包括哪些内容?6.将设置完成的数据帧复制3份。①.修改第二帧的TCP层的“标志”位为10(即标志位ACK=1),TCP层的“序列号”为1942589885+1。②.修改第三帧的TCP层的“标志”位为11(即标志位ACK=1、FIN=1),TCP层的“序列号”为1942589885+1。③.修改第四帧的TCP层的“标志”位为10(即标志位ACK=1),TCP层的“序列号”为1942589885+2。7.在发送该TCP连接请求之前,先ping一次目标服务器,让目标服务器知道自己的MAC地址。8.启动实验平台工具栏中的“启动屏蔽”,为TCP/IP协议栈过滤掉收到的TCP数据。9.点击菜单栏中的[发送]按钮,在弹出对话框中选择发送第一帧。10.在主机上捕获相应的应答报文,这里要求同学及时准确地捕获应答报文并迅速从中获得应答报文的接收字节序列号。11.假设接收字节序号为:3246281765,修改第二帧和第三帧TCP层的“确认号”的值为:3246281766。12.计算第二帧的TCP校验和,将该帧发送。对服务器的应答报文进行确认13.计算第三帧的TCP校验和,将该帧发送。14.在主机上观察应答报文,要及时把最后一帧“序列号”记录下来。15.修改第四帧的TCP层“确认号”为接收的序列号+1(即3246281767)。16.计算第四帧的TCP校验和,将该帧发送。断开连接,完成TCP连接的全过程。17.协议分析器端截获相应的请求及应答报文并分析,注意观察“会话分析”中的会话过程。18.启动实验平台工具栏中的“停止屏蔽”,恢复正常网络功能。三.实验过程和结论(回答实验中的问题)问题1填写实验结果322325522611342217322325530322325532611342218...0.......1.......1..........1.......1.......0.322325572611342218261134221832232558261134221832232558322325582611342219...1.......1.......1.......1...........1.......0.......1.......0问题2:TCP连接建立时,前两个报文的首部都有一个“最大字段长度”字段,它的值是多少?作用是什么?结合IEEE802.3协议规定的以太网最大帧长度分析此数据是怎样得出的。第一个报文首部的“最大字段长度”字段值为1460,第二个报文首部的“最大字段长度”字段值为1460。作用表示在一个帧中数据部分最大长度为1460,不能发出比此更长的帧。在以太网中规定发出的帧长度不能超过1500,而IP首部的长度为20个字节,TCP首部的长度为20个字节。所以TCP字段长度不能超过1460个字节。问题3:为什么在TCP连接过程中要使用三次握手?如不这样做可能会出现什么情况?我们知道,3次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双方都知道彼此已准备好),也要允许双方就初始序列号进行协商,这个序列号在握手过程中被发送和确认。现在把三次握手改成仅需要两次握手,死锁是可能发生的。作为例子,考虑计算机A和B之间的通信,假定B给A发送一个连接请求分组,A收到了这个分组,并发送了确认应答分组。按照两次握手的协定,A认为连接已经成功地建立了,可以开始发送数据分组。可是,B在A的应答分组在传输中被丢失的情况下,将不知道A是否已准备好,不知道A建议什么样的序列号,B甚至怀疑A是否收到自己的连接请求分组。在这种情况下,B认为连接还未建立成功,将忽略A发来的任何数据分组,只等待连接确认应答分组。而A在发出的分组超时后,重复发送同样的分组。这样就形成了死锁。四.实验体会实验中需要A和B的合作,任何一台机器出现连接问题都将会导致实验失败,我在实验中使用的是B机器,B机器需要捕获A发出的信息,需要仔细的观察协议分析器产生的确认码等,通过这次实验,我对TCP协议的理解从抽象化成了显示。

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功