计网试验四传输控制协议TCP_第1页
计网试验四传输控制协议TCP_第2页
计网试验四传输控制协议TCP_第3页
计网试验四传输控制协议TCP_第4页
计网试验四传输控制协议TCP_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验四传输控制协议TCP【实验目的】.掌握TCP协议的报文格式.掌握TCP连接的建立和释放过程.掌握TCP数据传输中编号与确认的过程.掌握TCP协议校验和的计算方法.理解TCP重传机制【实验学时】2学时【实验环境配置】采用网络结构一【实验原理】.TCP报文格式16位源端口号16位目的端口号32位序号32位确认序号4位首 部长度保留(6 位)URGACKPSHRSTSYNF I N16位窗口大小16位校验和16位紧急指针选项数据二.TCP连接的建立TCP是面向连接的协议。在面向连接的环境中,开始传输数据之前,在两个终端之间必须先建立一个连接。对于一个要建立的连接,通信双方必须用彼此的初始化序列号

2、seq和来自对方成功传输确认的应答号ack (指明希望收到的下一个八位组的编号)来同步,习惯上将同步信号写为SYN ,应答信号写为ACK 。整个同步的过程称为三次握手,如图9512JLSY:soq=yACK:ack=X+13 丁、Mty Y 十 1ALK: ack-YM.TCP连接的释放对于一个已经建立的连接,TCP使用四次握手来结束通话(使用一个带有FIN附加标记的报文段)。见四.TCP重传机制TCP每发送一个报文段,就对这个报文段设置一次计时器。只要计时器设置的重传时间 到期,但还没有收到确认,就要重传这一报文段。【实验步骤】按照拓扑结构图连接网络,使用拓扑验证检查连接的正确性。练习一:察

3、看TCP连接的建立和释放.主机B、C、D启动协议分析器进行数据捕获,并设置过滤条件(提取 TCP协议)。.主机A启动仿真编辑器,进入 TCP连接视图。在 服务器信息/IP地址”中填入主机 C的IP地址;使用 端口扫描”获取主机C的TCP端口列表,在 服务器信息/端口 中填入主机C的一个TCP端口(大于1024);点击连接”按钮进行连接。.察看主机B、C、D捕获的数据,填写下表。字段名称报文1报文2报文3Sequence Number139544115736950459411395441158Acknowledgement Number01139544115813695045942ACK111S

4、YN110TC选接建立时,前两个报文的首部都有一个 maximum segment size”字段, 它的值是多少?作用是什么?结合IEEE802.3协议规定的以太网最大帧长度分 析此数据是怎样得出的。答:1460;由发送端指定,表明了能在网络上传输的最大的段尺寸;maximum segment size = MTU -20 (IP 首部)-20 (TCP首部)。.主机A断开与主机 C的TCP连接。5.察看主机B、C、D捕获的数据,填写下表。字段名称报文4报文5报文6报文7Sequence Number1395441158369504594236950459421395441159Acknow

5、ledgement Number3695045942139544115913954411593695045943ACK1111SYN1010结合步骤3、5所填的表,理解TCP的三次握手建立连接和四次握手的释放连接 过程,理解序号、确认号等字段在 TCP可靠连接中所起的作用。练习二:利用仿真编辑器编辑并发送TCP数据包本练习将主机 A和B作为一组,主机 C和D作为一组,主机 E和F作为一组,现 仅以主机A和B为例,说明实验步骤。在本实验中由于TCP连接有超时时间的限制,故仿真编辑器和协议分析器的两位同学要默契配合,某些步骤(如计算TCP校验和)要求熟练、迅速。为了实现TCP三次握手过程的仿真,发

6、送第一个连接请求帧之前,仿真端主机应该 使用仿真编辑器/工具菜单/TCP屏蔽/启动屏蔽”功能来防止系统干扰(否则计算机 系统的网络会对该请求帧的应答帧发出拒绝响应)。通过手工编辑TCP数据包实验,要求理解实现 TCP连接建立、数据传输以及断开连接的全过程。在编辑的过程中注意体会TCP首部中的序列号和标志位的作用。首先选择服务器主机上的一个进程作服务器进程,并向该服务器进程发送一个建立连接请 求报文,对应答的确认报文和断开连接的报文也编辑发送。其步骤如下:.主机B启动协议分析器捕获数据,设置过滤条件(提取 http协议)。.主机A上启动仿真编辑器,在界面初始状态下,程序会自动新建一个单帧,可以利

7、 用仿真编辑器打开时默认的以太网帧进行编辑。.填写该帧的以太网协议首部, 其中:源MAC地址:主机A的MAC地址。目的MAC地址:服务器的 MAC地址。协议类型或数据长度:0800 (IP协议)。.填写IP协议头信息,其中:高层协议类型:6 (上层协议为TCP)。总长度:40 (IP首部+TCP首部)。源IP地址:主机A的IP地址。目的IP地址:服务器的IP地址(0)。其它字段任意。应用前面学到的知识计算IP首部校验和。.填写TCP协议信息,其中:源端口:任意大于 1024的数,不要使用下拉列表中的端口。目的端口: 80 (HTTP协议)。序列号:选择一个序号 ISN (假设194258988

8、5),以后的数据都按照这个来填。 确认号:0。首部长度和标志位:5002 (即长度20字节,标志SYN=1 )。 窗口大小:任意。紧急指针:0。使用协议仿真编辑器的手动计算”方法计算校验和;再使用协议仿真编辑器的自动计算”方法计算校验和。将两次计算结果相比较,若结果不一致,则重新计算。TCP在计算校验和时包括哪些内容?将设置完成的数据帧复制2份;修改第二帧的TCP层的首部长度和标志”位为5010 (即标志位ACK=1 ), TCP层的序号”为 1942589885+1。修改第三帧的 TCP层的首部长度和标志”位为5011 (即标志位 ACK=1、FIN=1), TCP 层的 序号”为 1942

9、589885+1。.在发送该TCP连接请求之前,先 ping 一次目标服务器,让目标服务器知道自己的 MAC地址。.使用仿真编辑器/工具菜单/TCP屏蔽/启动屏蔽”功能,为TCPIP协议栈过滤掉收到 的TCP数据。.点击菜单栏中的发送”按钮,在弹出对话框中选择发送第一帧。.我们假设接收字节序号为:3246281765,修改第二帧和第三帧的 TCP层的“ACK确认序号”的值:3246281766。.计算第二帧的TCP校验和,将该帧发送。对服务器的应答报文进行确认。.计算第三帧的TCP校验和,将该帧发送。断开连接,完成TCP连接的全过程。.协议分析器一端截获相应的请求及应答报文并分析,注意观察含话

10、分析”中的会话过程。.仿真端主机使用 防真编辑器/工具菜单/TCP屏蔽/停止屏蔽”功能,恢复正常网络功由由(Q 设.0) WQ(W)月4142 1日日一 口口小量 ”一日的地址ll”160.6231her,., da? El 430日440O133B-0C07&A |00133B-OC2CA7上7216062|1721601530000000s OOOOOOlOt 00000020: 00000030:00133B-UC2CA7 00133B-OCO7DAS 2CCH OR- 0rn7TA OO133B-OC2c 25OO 13 3B OC 2C A7 OO 13OO 2C 09 52 40

11、OO 80 06OO OF00TCPFoct 1473 7 (TT HhefiOflKQT i C- n (f98tf-丁融套号和* 10303BOC07DA08OO4500aLeNiDD2cACIOOO3EACIO ( . H0 -73C991BE1 1.y . . . r r sOOOOOOOO,1I1 A 1 IT 目的IP地址=172 16 0.253-一(传、J ,S) WUOC) MKh(H) (W百 mm让iwh -OTOA OOE04C-E64EEC TCP (代惴栓,|E&): HMX A090 80 62534KBC 00133B-0C070A TCF (依公lEUC):

12、Fort 0 1030 . 253172.16.0. - o丁生有时胸,iTT MHhXSl 6 ocr助3)丁 ,护&P = 0K?C (correctIT IFt0 OOKO4C-E84EErTCF (1#M : roi c 163A - 80m4- ini i - i.:。】 0013)B-0C07DA OOEO4C-E64EECTCF (HM IffI : Fort 1030 - tO2S3OOEO4r-K64EEC 00133B-0C07DA TCF咻C): Fort 0 * 10 53 I 7 3。6、07 PA oe OO 4S OO 40*,。 AC 10 00 3E AC 1

13、0 .( MB 二,r bo OO 00 OO K y t-M OO OOTrr,?.丁丁TJ r rfO0E04C-E84EECU.-72.16.O.2S3中毋不惴咬初叫议):Port 1030 80 No JOO OUDC 07 DA OO EO OO 40 OO 40 G19 30 2A OO3Erc or oo ” nn10 OO Ft* AC IO:OO :“ :OO(y)女.仁)anew)制勒(印*BM|tOS33B-OC07IUI OOEO4C ”4!:工十172 A6.O.2SS 00E04C-E84EEC 00133B-0C070A 172.16.tcp (件1吃wa或:ro

14、ct ao toso .练习三:TCP的重传机制本练习将主机 A和B作为一组,主机C和D作为一组,主机E和F作为一组。现仅以 主机A和B为例,说明实验步骤。.主机B启动协议分析器开始捕获数据并设置过滤条件(提取 TCP协议)。.主机A启动仿真编辑器,进入 TCP连接视图。在 服务器信息/IP地址”中填入主机 B的IP地址;使用 端口扫描”获取主机B的TCP端口列表,在 服务器信息/端口” 中填入主机B的一个TCP端口(大于1024);点击连接”按钮进行连接。.主机A向主机B发送一条信息。.主机B使用 仿真编辑器/工具菜单/TCP屏蔽/启动屏蔽”功能,过滤掉接收到的 TCP 数据。.主机A向主机

15、B再发送一条信息。.主机B刷新捕获显示,当发现 含话分析视图”中有两条以上超时重传报文后,使用 仿真编辑器/工具菜单/TCP屏蔽/停止屏蔽”功能,恢复正常网络功能。.主机A向主机B再发送一条信息,之后断开连接。.主机B停止捕获数据。依据 含话分析视图”显示结果,绘制本练习的数据报交互图。【思考问题】.试用具体例子说明为什么在运输连接建立时要使用三次握手。说明如不这样做可能会出现什么情况。答:我们知道,3次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双方都 知道彼此已准备好),也要允许双方就初始序列号进行协商,这个序列号在握手过程中被发 送和确认。现在把三次握手改成仅需要两次握手,死

16、锁是可能发生的。作为例子,考虑计算机A和B之间的通信,假定 B给A发送一个连接请求分组,A收到了这个分组,并发送了确认应答分组。按照两次握手的协定,A认为连接已经成功地建立了,可以开始发送数据分组。可是,B在A的应答分组在传输中被丢失的情况下,将不知道A是否已准备好,不知道 A建议什么样的序列号,B甚至怀疑A是否收到自己的连接请求分组。在这种情况下,B认为连接还未建立成功,将忽略 A发来的任何数据分组,只等待连接确认应答分组。而 A在发出的 分组超时后,重复发送同样的分组。这样就形成了死锁。.使用TCP对实时话音数据的传输有没有什么问题?使用UDP在传送数据文件时会有什么问题?答:首先如果语音数据不是实时播放(边接受边播放)就可以使用TCP,因为TCP传输可靠。接收端用 TCP讲话音数据接受完毕后,可以在以后的任何时间进行播放。但假定是实 时传输,则必须使用 UDP。其次

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论