TCP实验报告5_
- 格式:doc
- 大小:200.41 KB
- 文档页数:10
电子科技大学实验报告学生姓名:田家翼学号:2012019030029指导教师:张科日期:2014 年11 月29 日实验项目名称:FTP中的TCP传输服务报告评分:教师签字:一、实验原理FTP协议是一个用于文件传输的应用层协议,采用客户/服务器模式实现文件传输功能,使用TCP协议提供的面向连接的可靠传输服务。
FTP客户和服务器之间使用2条TCP连接来传输文件:控制连接(TCP端口21)和数据连接(TCP端口20)。
在整个FTP会话交互过程中,控制连接始终处于连接状态;数据连接则在每一次文件传送时使用PORT命令或PASV命令打开,文件传送完毕后关闭。
因此,整个FTP会话中如果传送多个文件,那么数据连接会打开和关闭多次。
TCP协议(RFC 793)是一个面向连接的、可靠的运输层协议,通过连接建立和连接终止这两个过程完成面向连接的传输。
TCP的连接建立通常被称为“三向握手”。
在建立TCP 连接之前,服务器程序需要向它的TCP模块发出被动打开请求,表示该服务器已经准备好接受客户的连接。
客户程序则要向它的TCP模块发出主动打开请求,表示该客户需要连接特定的服务器。
然后即可开始建立TCP连接。
以客户端主动连接TCP连接为例,TCP连接建立过程如下:(1)客户端TCP发送一个SYN报文段。
该报文段包括源端口号、目的端口号、客户的初始序号、客户可接收的TCP报文段数据的最大长度(MSS)等信息。
(2)服务器端TCP收到客户端的SYN报文段后,返回一个SYN和ACK报文段。
该报文段使用ACK标志和确认号字段确认已经收到了客户端的SYN报文段,另外对服务器端的报文段进行初始化。
(3)客户端TCP收到服务器端的SYN和ACK报文段后,发送一个ACK报文段。
该报文段使用ACK标志和确认号字段确认已经收到了服务器端的SYN和ACK报文段。
TCP连接中的任何一方(客户或服务器)都可以关闭连接。
当一方的连接被终止时,另一方还可以继续向对方发送数据。
因此,要关闭双向的TCP连接就需要4个动作。
以客户端主动关闭TCP连接为例,TCP连接终止过程如下:(1)客户端TCP发送一个FIN报文段,宣布它要终止连接。
(2)服务器端TCP收到客户端的FIN报文段后,返回一个ACK报文段,用来确认已收到了客户端的FIN报文段。
(3)服务器端TCP可以在服务器到客户方向上继续发送数据。
当服务器没有更多的数据发送时,就发送一个FIN报文段。
(4)客户端TCP收到服务器端的FIN报文段后,返回一个ACK报文段,用来确认已收到了服务器端的FIN报文段。
二、实验目的1、掌握TCP协议工作原理2、掌握TCP的连接建立和连接终止过程3、了解FTP会话过程中的控制连接和数据连接特点三、实验内容实验拓扑中VMware虚拟机PC2和Server分别位于由提供集线器功能的虚拟网卡VMnet1和VMnet2模拟实现的两个以太网Ethernet1和Ethernet2中,这两个以太网对应的IP子网A和子网B分别连在Dynamips软件模拟实现的路由器R1和R2的F0/0接口上。
R1和R2之间通过PPP链路互联。
Server上开启了匿名FTP服务。
实验者在PC2上分别使用ftp命令和IE浏览器连接FTP服务器下载文件,结合Dynamips 软件的分组捕获功能以及Wireshark软件的捕获分组查看功能,考察在FTP会话过程中TCP 协议的连接建立过程和连接终止过程。
通过分析TCP连接建立和连接终止过程中所捕获的TCP报文段,掌握TCP报文段首部中的端口地址、序号、确认号和各个码元比特的含义和作用;并通过FTP操作体会网络应用程序间的交互模式——客户/服务器(C/S)模式。
四、实验器材(设备、元器件)计算机一台,VMware Workstation,Dynamips Server等软件五、实验步骤1、依次启动VMware Workstation中TCPIP组内的虚拟机PC2和Server。
2、启动Dynamips Server,然后运行,在Dynagen窗口中提示符“=>”后依次输入以下命令启动路由器R1和R2:=> start R1=> start R23、在PC2上ping Server的IP地址确保整个实验网络运行正常。
4、在Dynagen窗口中提示符“=>”后输入以下命令捕获子网A中的分组:=> capture R1 f0/0 cmdftp.cap5、在PC2的cmd窗口中以命令行的方式启动FTP客户进程登录FTP服务器,下载一份文本文件tcpip.txt后结束FTP客户进程。
该过程中的操作示意如下:(X.X.X.X表示FTP服务器的IP地址,黑斜体表示学生输入内容,其它为系统显示信息)C:\>ftp X.X.X.X……User (X.X.X.X:(none)): ftp……Password: ftp……ftp> get tcpip.txt……ftp> quit2216、在Dynagen窗口中提示符“=>”后依次输入以下命令重新捕获子网A中的分组:=> no capture R1 f0/0=> capture R1 f0/0 ieftp.cap7、在PC2上用IE浏览器作为FTP客户机登录同一台FTP服务器,下载完文本文件tcpip.txt后关闭IE浏览器窗口。
8、在Dynagen窗口中提示符“=>”后输入以下命令停止捕获:=> no capture R1 f0/09、用Wireshark软件查看并分析捕获的分组文件(cmdftp.cap、ieftp.cap)中的FTP会话分组,查看过滤条件为“ip.addr == 192.168.22.253”(在Wireshark主窗口界面“过滤工具栏”的“Filter:”域中输入)。
10、实验结束后,按照以下步骤关闭实验软件、上传实验数据、还原实验环境:(1)在Dynagen窗口中提示符“=>”后依次输入以下命令关闭Dynagen窗口,然后再关闭Dynamips Server窗口:=> stop /all=> exit(2)依次关闭PC2和Server,再关闭VMware窗口;(3)运行所在目录下的“reset.bat”文件。
六、实验数据及结果分析1、按捕获顺序记录步骤5中子网A上捕获的所有TCP报文段,记录信息如下:*(注:虽题目要求序号确认号窗口用十六进制表示,但因为现Wireshark版本显示为十进制,为表示方便,故下面表格中所填均为十进制。
还望见谅!)说明:“标志位”=控制字段中置1的标志;“序号”、“确认号”和“窗口”用十六进制表示。
【分析】1)步骤6中的FTP客户以及FTP服务器之间建立了几条TCP连接?每条连接中双方的IP地址、TCP端口号和初始序号分别是多少?答:建立了两条连接第一条IP 192.168.11.2 1035 8f5f4534IP 192.168.22.253 21 1e5a5a3a第二条IP 192.168.11.2 1037 b3ff9992IP 192.168.22.253 20 727e256f2)TCP报文段中的窗口值定义的是该报文段源端还是目的端的发送窗口还是接收窗口?答:目的端的接受窗口。
3)实验中哪些类型的TCP报文段首部中携带有MSS的选项信息?答:标志位有SYN的都有选项信息,首部长28bytes。
2、按捕获顺序记录步骤7中子网A上捕获的所有TCP连接建立、连接终止和连接复位报文段,记录信息如下:*(注:虽题目要求序号确认号窗口用十六进制表示,但因为现Wireshark版本显示为十进制,为表示方便,故下面表格中所填均为十进制。
还望见谅!)说明:“标志位”=控制字段中置1的标志;“序号”、“确认号”和“窗口”用十六进制表示。
【分析】1)步骤7中的FTP客户以及FTP服务器之间建立了几条TCP连接?每条连接中双方的IP地址、TCP端口号和初始序号分别是多少?第一条IP 192.168.11.2 1038 df35b111IP 192.168.22.253 21 d560034c第二条IP 192.168.11.2 1041 37dfb46aIP 192.168.22.253 21 5bd96d512)步骤6和步骤7的FTP会话交互有哪些不同?解释产生这些差异的原因。
答:步骤6中客户选择一个短暂端口号,并使用被动打开吧它发送给sever,Sever就用这个端口创建主动打开,并在熟知端口大于0与其进行数据传输。
步骤7中客户要sever先选择一个端口号,sever在那个端口奥进行被动打开,并在响应中发送端口号,客户使用这个端口号主动打开。
差异的原因是他们采用不同命令,分别是part命令和pasv命令。
七、实验结论1、需要用哪些参数来标识一条TCP连接?答:需要源目的IP地址,及其端口号。
2、利用记录的TCP报文段信息,在一张时序图中画出步骤6中FTP客户与FTP服务器之间的整个TCP报文段交互过程。
要求:在图中注明每个TCP报文段的编号、类型、序号和确认号,并标注出每一条TCP连接的连接建立、数据传输和连接终止阶段。
八、总结及心得体会FTP协议是一个用于文件传输的应用层协议,采用客户/服务器模式实现文件传输功能,使用TCP协议提供的面向连接的可靠传输服务。
FTP客户和服务器之间使用2条TCP连接来传输文件:控制连接(TCP端口21)和数据连接(TCP端口20)。
九、对本实验过程及方法、手段的改进建议。