电子科技大学
学生姓
号:
指导教
期:                 
实验项目名称:                                               
报告评                    教师签字:               

一、实验原理
FTP协议是一个用于文件传输的应用层协议,采用客户/服务器模式实现文件传输功能,使用TCP协议提供的面向连接的可靠传输服务。FTP客户和服务器之间使用2TCP连接来传输文件:控制连接(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报文段后,返回一个SYNACK报文段。该报文段使用ACK标志和确认号字段确认已经收到了客户端的SYN报文段,另外对服务器端的报文段进行初始化。
3)客户端TCP收到服务器端的SYNACK报文段后,发送一个ACK报文段。该报文段使用ACK标志和确认号字段确认已经收到了服务器端的SYNACK报文段。
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虚拟机PC2Server分别位于由提供集线器功能的虚拟网卡VMnet1VMnet2模拟实现的两个以太网Ethernet1Ethernet2中,这两个以太网对应的IP子网A和子网B分别连在Dynamips软件模拟实现的路由器R1R2F0/0接口上。R1R2之间通过PPP链路互联。Server上开启了匿名FTP服务。
实验者在PC2上分别使用ftp命令和IE浏览器连接FTP服务器下载文件,结合Dynamips软件的分组捕获功能以及Wireshark软件的捕获分组查看功能,考察在FTP会话过程中TCP协议的连接建立过程和连接终止过程。通过分析TCP连接建立和连接终止过程中所捕获的TCP报文段,掌握TCP报文段首部中的端口地址、序号、确认号和各个码元比特的含义和作用;并通过FTP操作体会网络应用程序间的交互模式——客户/服务器(C/S)模式。
四、实验器材(设备、元器件)
    PC计算机一台。
五、实验步骤
1、依次启动VMware WorkstationTCPIP组内的虚拟机PC2Server
2、启动Dynamips Server,然后运行lab3,在Dynagen窗口中提示符“=>”后依次输入以下命令启动路由器R1R2
=> start R1
=> start R2
3、在PC2ping ServerIP地址确保整个实验网络运行正常。
4、在Dynagen窗口中提示符“=>”后输入以下命令捕获子网A中的分组:
=> capture R1 f0/0 cmdftp.cap
5、在PC2cmd窗口中以命令行的方式启动FTP客户进程登录FTP服务器,下载一份文本文件后结束FTP客户进程。
该过程中的操作示意如下:(X.X.X.X表示FTP服务器的IP地址,黑斜体表示学生输入内容,其它为系统显示信息)
C:\>  ftp  X.X.X.X
……
User (X.X.X.X:(none)): ftp
……
Password:  ftp
……
ftp>  get 
……
ftp>  quit
221
6、在Dynagen窗口中提示符“=>”后依次输入以下命令重新捕获子网A中的分组:
=> no capture R1 f0/0
=> capture R1 f0/0 ieftp.cap
7、在PC2上用IE浏览器作为FTP客户机登录同一台FTP服务器,下载完文本文件后关闭IE浏览器窗口。
8、在Dynagen窗口中提示符“=>”后输入以下命令停止捕获:
=> no capture R1 f0/0
9、用tcpip协议pdfWireshark软件查看并分析捕获的分组文件(cmdftp.capieftp.cap)中的FTP会话分组,查看过滤条件为“ip.addr == 192.168.22.253”(在Wireshark主窗口界面“过滤工具栏”的“Filter:”域中输入)。
10、实验结束后,按照以下步骤关闭实验软件、上传实验数据、还原实验环境:
1)在Dynagen窗口中提示符“=>”后依次输入以下命令关闭Dynagen窗口,然后再关闭Dynamips Server窗口:
=> stop /all
=> exit

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。