三.文件传输协议FTP
1.FTP
文件传送协议FTP(File Transfer Protocol.)提供不同种类主机系统(硬、软件体系等都可以不同)之间的文件传输能力。简单文件传送协议TFTP(Trivial File Transfer Protocol)
2.FTP服务器和用户端
FTP是基于客户/服务器(C/S)的协议。用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器。连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端。
3.工作原理
1.控制连接服务器监听21号端口,等待客户连接,建立在这个端口上的连接称为控制连接,控制连接用来传输控制信息(如连接请求、传送请求等),并且控制信息都以7位ASCⅡ格式传送。FTP客户发出的传送请求,通过控制连接发送给服务器端的控制进程,但控制连接并不用来传送文件。在传输文件时还可以使用控制连接(如客户在传输中途发,一个中止传输的命令),因此控制连接在整个会话期间一直保持打开状态。2.数据连接服务器端的控制进程在接收到FTP客户发来的文件传输请求后,就创建“数据传送进程”和“数据连接”。数据连接用来连接客户端和服务器端的数据传送进程,数据传送进程实际完成文件的传送,在传送完毕后关闭“数据传送连接”并结束运行。数据连接有两种传输模式:主动模式PORT和被动模式PASV。PORT模式的工作原理:客户端连接到服务器的21端口,登录成功后要读取数据时,客户端随机开放一个端口,并发送命令告知服务器,服务器收到PORT命令和端口号后,通过20端口和客户端开放的端口连接,发送数据。PASV模式的不同点是,客户端要读取数据时,发送PASV命令到服务器,服务器在本地随机开放一个端口,并告知客户端,客户端再连接到服务器开放的端口进行数据传输。可见,是用PORT模式还是PASV模式,选择权在客户端。简单概括为,主动模式传送数据是“服务器”连接到“客户端”的端口;被动模式传送数据是“客户端”连接到“服务器”的端口。因为FTP使用了一个分离的控制连接,所以也称FTP的控制信息是带外(Out-of-band)传送的。使用FTP时,若要修改服务器上的文件,则需要先将此文件传送到本地主机,然后再将修改后的文件副本传送到原服务器,来回传送耗费很多时间。网络文件系统(NFS)采用另一种思路,它允许进程打开一个远程文件,并能在该文件的某个特定位置开始读写数据。这样,NFS可使用户复制一个大文件中的一个很小的片段,而不需要复制整个大文件。
FTP传输模式文本模式:ASCI模式,以文本序列传输数据:二进制模式:Binary模式,以二进制序列传输数据。
习题:
1.文件传输协议(FTP)的一个主要特征是(C).A.允许客户指明文件的类型但不允许指明文件的格式B.不允许客户指明文件的类型但允许指明文件的格式C.允许客户指明文件的类型与格式D.不允许客户指明文件的类型与格式
FTP提供交互式访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。所以选项C为正确答案。
2.以下关于FTP工作模型的描述中,错误的是(C).A.FTP使用控制连接、数据连接来完成文件的传输B.用于控制连接的TCP连接在服务器端使用的熟知端口号为21C.用与控制连接的TCP连接在客户端使用的端口号为20D.服务器端由控制进程、数据进程两部分组成
在服务器端,控制连接使用TCP的21号端口,数据连接使用TCP的20号端口;而在客户端,控制连接和数据连接的TCP端口号都是由客户端系统自动分配的。需要注意的是,当我们说FTP使用20、21号端口,HTTP使用80号端口,SMTP使用25号端口时,都是指相应协议的服务器端所使用的端口号,而客户端使用这个自动分配的端口号向这些服务的熟知端口发起连接。
3.拉制信息是带外传送的协议是(C)A.HTTPB.SMTPC.FTPD.POP
由于FTP传输控制信息使用的是数据连接外的控制连接,因此FTP的控制信息是带外传送的。
4.下列关于TP连接的叙述中,正确的是(C)A.控制连接先于数据连接被建立,并先于数据连接被释放B.数据连接先于控制连接被建立,并先于控制连接被释放C.控制连接先于数据连接被建立,并晚于数据连接被释放D.数据连接先于控制连接被建立,并晚于控制连接被释放
FTP客户首先连接服务器的21号端口,建立控制连接(控制连接在整个会话期间一直保持打开),然后建立数据连接,在数据传送完毕后,,数据连接最先释放,控制连接最后释放。
5.【2009统考真题】FTP客户和服务器间传递FTP命令时,使用的连接是(A),A.建立在TCP之上的控制连接B.建立在TCP之上的数据连接C.建立在UDP之上的控制连接D.建立在UDP之上的数据连接
对于FTP文件传输,为了保证可靠性,选择TCP,排除C、D。FTP的控制信息是带外传送的,即FTP使用了一个分离的控制连接来传送命令,因此选A。
6.FTP客户发起对TP服务器连接的第一阶段是建立(D).A.传输连接B.数据连接C.会话连接D.控制连接
FTP工作时使用两个连接:控制连接和数据连接。FTP客户对FTP服务器发起连接时,首先建立控制连接,即向服务器的21号TCP端口发起连接;然后再建立数据连接(20号TCP端口)。FTP并没有传输连接和会话连接的说法。
7.一个FTP用户发送了一个LIST命令来获取服务器的文件列表,这时服务器应该通过(B)端口来传输该列表。A.21B.20C.22D.19
FTP中数据连接的端口是20,而文件的列表是通过数据连接来传输的。
8.下列关于FTP的叙述中,错误的是(D)。A.FTP可以在不同类型的操作系统之间传送文件B.FTP并不适合用在两个计算机之间共享读写文件C.控制连接在整个FTP会话期间一直保持D.客户端默认使用端口20与服务器建立数据传输连接
控制连接建立后,服务器进程用自己传送数据的熟知端口20与客户进程所提供的端口号建立数据传输连接,即客户进程的端口号是客户进程自己提世的。
9.【2017统考真题】下列关于FTP的叙述中,错误的是(C)。A.数据连接在每次数据传输完毕后就关闭B.控制连接在整个会话期间保持打开状态C.服务器与客户端的TCP20端口建立数据连接D.客户端与服务器的TCP21端口建立控制连接
FTP使用控制连接和数据连接,控制连接存在于整个FTP会话过程中,数据连接在每次文件传输时才建立,传输结束就关闭,A和B正确。默认情况下FTP服务器使用TCP 20端口进行数据连接,使用TCP 21端口进行控制连接,这里的端口号是指FTP服务器的端口号,C错误,D正确。此外还需要注意的是,FTP服务器是否使用TCP 20端口建立数据连接与传输模式有关,主动方式使用TCP 20端口,被动方式由服务器和客户端自行协商决定。
10.当一台计算机从FTP服务器下载文件时,在该FTP服务器上对数据进行封装的5个转换步骤是(B)A.比特,数据帧,数据报,数据段,数据B.数据,数据段,数据报,数据帧,比特C.数据报,数据段,数据,比特、数据帧D.数据段,数据报,数据帧,比特,数据
FTP服务器的数据要经过应用层、传输层、网络层、数据链路层及物理层。因此,对应的封装是数据、数据段、数据报、数据帧,最后是比特。
11.匿名FTP访问通常使用(C)作为用户名。A.guestB.E-mail地址C.anonymousD.主机id
针对文件传输FTP,系统管理员建立了一个特殊的用户ID,名为anonymous,即匿名用户。Internet上的任何人在任何地方都可以使用该用户ID,只是在要求提供用户ID时必须输入anonymous,该用户ID的密码可以是任何字符串。
简答
1.文件传输协议的主要工作过程是怎样的?主进程和从属进程各起什么作用?
FTP的主要工作过程如下:在进行文件传输时,FTP客户所发出的传送请求通过控制连接发送给服务器端的控制进程,并在整个会话期间一直保持打开,但控制连接不用来传送文件。服务器端的控制进程在接收到FTP客户发送来的文件传输请求后,就创建数据传送进程和数据连接,数据连接用来连接到客户端和服务器端的数据传输进程,数据传送进程实际完成对文件的传送,在传送完毕后关闭“数据传送连接”,并结束运行。
FTP的服务器进程由两大部分组成:一个主进程,负贵接收新的请求;若干从属进程,负贵处理单个请求。
2.为什么FTP要使用两个独立的连接,即控制连接和数据连接?
在FTP的实现中,客户与服务器之间采用了两条传输连接,其中控制连接用于传输各种FTP命令,而数据连接用于文件的传送。之所以这样设计,是因为使用两条独立的连接可使FTP变得更加简单、更容易实现、更有效率。同时在文件传输过程中,还可以利用控制连接控制传输过程,如客户可以请求终止、暂停传输等。
3.主机A想下载文件ftp://fp.abc.edu.cn/fle,大致描述下戟过程中主机和服务器的交互过程.
大致过程如下:
①建立一个TCP连接到服务器ftp.abc.edu.cn的21号端口,然后发送登录账号和密码。
②服务器返回登录成功信息后,主机A打开一个随机端口,并将该端口号发送给服务器。
③主机A发送读取文件命令,内容为get file,服务器使用20号端口建立一个TCP连接到主机A的随机打开的端口。
④服务器把文件内容通过第二个连接发送给主机A,传输完毕后连接关闭。
四.电子邮件
1.电子邮件系统概述
2.电子邮件的信息格式
3.组成结构