实验四传输层协议分析一、实验目的1、学习3CDaemonFTP服务器的配置和使用,分析TCP报文格式,理解TCP的连接建立、和连接释放的过程。2、学习3CDaemonTFTP服务器的配置和使用,分析UDP报文格式,理解TCP协议与UDP协议的区别。二、实验工具软件3CDaemon软件简介3CDaemon是3Com公司推出的功能强大的集FTPServer、TFTPServer、SyslogServer和TFTPClient于一体的集成工具,界面简单,使用方便。这里主要介绍实验中需要用到的FTPServer功能和TFTPServer功能。1、FTPServer功能(1)配置FTPServer功能:选中左窗格功能窗口,打开FTPServer按钮,单击窗格中的ConfigureFTPServer按钮,打开3CDaemonConfiguration配置窗口,配置FTPServer功能。这里需要设置的就是“Upload/Download”路径,作为FTPServer的文件夹,其它选项可以使用系统缺省设置。设置完成后,单击确认按钮,设置生效。(2)在实验中,我们使用3CDaemon系统内置的匿名帐户“anonymous”登陆FTP服务器,客户端使用微软FTP客户端命令,关于Ftp命令的说明介绍如下。(3)Ftp命令的说明FTP的命令格式:ftp[-v][-d][-i][-n][-g][-w:windowsize][主机名/IP地址]其中:-v不显示远程服务器的所有响应信息;-n限制ftp的自动登录;-i在多个文件传输期间关闭交互提示-d允许调试、显示客户机和服务器之间传递的全部ftp命令;-g不允许使用文件名通配符;-w:windowsize忽略默认的4096传输缓冲区。使用FTP命令登录成功远程FTP服务器后进入FTP子环境,在这个子环境下,用户可以使用FTP的内部命令完成相应的文件传输操作。FTP常用内部命令如下:openhost[port]:建立指定ftp服务器连接,可指定连接端口。useruser-name[password][account]:向远程主机表明身份,需要口令时必须输入。appendlocal-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。cdremote-dir:进入远程主机目录。cdup:进入远程主机目录的父目录。cd[dir]:将本地工作目录切换至dir。dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件。getremote-file[local-file]:将远程主机的文件remote-file传至本地硬盘的local-file。ls[remote-dir][local-file]:显示远程目录remote-dir,并存入本地文件local-file。putlocal-file[remote-file]:将本地文件local-file传送至远程主机。mputlocal-file:将多个文件传输至远程主机。nlist[remote-dir][local-file]:显示远程主机目录的文件清单,存入本地硬盘local-file。bye或quit:退出ftp会话过程。2、TFTPServer功能(1)TFTPServer功能配置基本同上(FTPerver功能)。(2)实验中,为了与TFTP服务器连通,可以使用Windows命令行模式下的TFTP客户端命令,命令格式如下:TFTP[-i]host[GET|PUT]source[destination]参数说明如下:-i以二进制方式传输;host指定本地或远程主机;GET下载文件;PUT上传文件;source指定要传输的文件名;destination指定传输的目的路径。三、实验内容和步骤仍然采取两人一组实验方式,分别为PC1和PC2.1、TCP协议分析实验(1)按照上面3CDaemon软件的介绍方法在PC1上建立FTP服务器;(2)在PC1和PC2中运行Ethereal,开始截获报文,为了只截获到与我们实验有关的内容,将截获条件设置为对方主机的IP地址,如PC1的截获条件为“host192.168.1.xx”(注释:PC2的IP地址);(3)在PC2上打开命令行窗口,执行如下操作:C:\DocumentsandSettings\AdministratorftpftpopenTo192.168.1.yy(注释:PC1的IP地址)Connectedto192.168.1.yy.2203Com3CDaemonFTPServerVersion2.0User(192.168.1.yy:(none)):anonymous331Usernameok,needpasswordPassword:230-Theresponse'isnotvalid.230-Nexttime,pleaseuseyouremailaddressaspassword.230Userloggedinftpquit221ServiceclosingcontrolconnectionC:\DocumentsandSettings\Administrator(4)停止截获报文,将截获的结果保存为FTP-学号,按下列要求分析截获的结果;a)结合本节TCP协议介绍部分的内容,分析TCP连接建立的“三次握手”过程,找到对应的报文,填写表1(传输方向填写PC2-PC1或PC2-PC1)。表1TCP连接建立报文分析报文号传输方向源端口目的端口序号确认序号同步位SYN确认位ACK2PC1-PC21138ftp(21)0103PC1-PC2ftp(21)113801114PC1-PC21138ftp(21)1101b)从FTP-学号的报文中的第一个FIN=1的TCP报文开始分析TCP连接释放的“四次握手”过程,填写表2。表2TCP连接释放报文分析报文号传输方向源端口目的端口序号确认序号终止位FIN同步位SYN确认位ACK18PC1-PC22111382303010119PC1-PC21138213023100120PC1-PC21138213023110121PC1-PC2211138231310012、UDP协议分析实验(1)按照上面3CDaemonTFTPServer软件的介绍方法在PC1上建立TFTP服务器;在根目录下保存一个用于数据传输的文件(为便于观察,文件不要太大),例如f1.txt。(2)在PC1和PC2中运行Ethereal,开始截获报文,为了只截获到与我们实验有关的内容,将截获条件设置为对方主机的IP地址,如PC1的截获条件为“host192.168.1.xx”(注释:PC2的IP地址);(3)在PC2上打开命令行窗口,接收TFTP服务器的文件,执行如下操作:TFTP–i192.168.1.yyGETf1.txt(注释:“host192.168.1.xx”为PC2的IP地址);(4)停止截获报文,将截获的结果命名为UDP-学号并保存,分析UDP报文结构,回答如下问题。a)UDP报文头部有几个字段,绘制UDP报文的结构图。b)选择第一个UDP报文,分析其结构,填写表3。表3UDP报文分析IP报文源IP地址192.168.1.158协议UDP目的IP地址192.168.1.164总长度44UDP报文字段名字段长度字段值字段表达信息源端口21167目的端口269长度224校验和20x5a6b[correct]c)UDP报文与TCP报文有何不同?体会UDP协议和TCP协议的区别。答:(1)UDP报文由源端口号、目标端口号、数据报长度、校验值和用户数据这5个域组成,其中前4个域各占用2个字节;TCP报文由源端口、目标端口、发送顺序、应答顺序号、偏置值、保留字段、标识字段、窗口、校验和、紧急指针、任选项、补丁和用户数据组成。(2)UDP协议和TCP协议的区别有:a.TCP是面向连接的传输控制协议,而UDP提供了无连接的数据报服务;b.TCP具有高可靠性,确保传输数据的正确性,不出现丢失或乱序;UDP在传输数据前不建立连接,不对数据报进行检查与修改,无须等待对方的应答,所以会出现分组丢失、重复、乱序,应用程序需要负责传输可靠性方面的所有工作;c.也正因为以上特征,UDP具有较好的实时性,工作效率较TCP协议高;d.UDP段结构比TCP的段结构简单,因此网络开销也小。