5.1 FTP与VSFTP
5.1 FTP与VSFTP
文件传输协议File Transfer Protocol,FTP),顾名思义,是在文件传输时使用的通信协议,它出现在TCP/IP网络和Internet上的时间很早,在HTTP尚未广为流行前,FTP便是网络传输不可或缺的工具。
FTP特色
虽然目前WWW已取代了FTP的部分功能,但它至今仍具有独树一帜的特色。
◆交互式访问
FTP允许用户和服务器之间,利用交互的方式来访问服务器资源,例如用户可要求FTP服务器列出某一目录中的文件列表,或是使用二进制文件的模式进行传输。
◆指定下载的文件格式
FTP允许客户端指定文件保存的格式,例如用户在访问FTP服务器的数据时可以指定包含文本文件或二进制文件,同时也可以指定使用ASCII或EBCDIC的文本文件格式。
ftp> binary |
FTP与其他通信协议最大的不同是,它使用两个连接端口来和客户端连接:TCP 20和TCP 21,如图5-1所示。其中连接端口TCP 20用来传递数据,而TCP 21则负责传输过程的控制,这种设计可以支持多个客户端同时连接FTP服务器,并具有稳定的优点。
图5-1 使用两个连接端口与客户端通信 |
◆身份验证控制
在用户访问服务器资源前,FTP服务器会要求用户输入账户名称及口令以验证身份。如果允许匿名访问,则用户只管输入“anonymous”为账户名称,而口令将不进行验证。
Name (ftp.fc5linux.com:jack): jack |
FTP允许在不同的网络架构或操作系统间传递文件,例如Linux和Windows操作系统之间,因此是极好的跨平台解决方案。
服务器与客户端数据交换
FTP使用TCP为传输时的通信协议,因此它可提供可信度较高的面向连接的传输,FTP服务器和客户端计算机数据交换的过程如下,图5-2给出了服务器和客户端数据交换过程。
1) FTP客户端使用“三次握手”的方式,来与FTP服务器建立TCP会话。
2) FTP服务器利用TCP 21连接端口传送和接收FTP控制信息,它主要是用来监听客户端的连接请求,在建立连接后,这个连接端口将在会话进行时全程打开。
3) FTP服务器另外使用TCP 20连接端口传送和接收文件可能是ASCII或二进制文件),但它会在文件传输后立即关闭。
4) FTP客户端在向FTP服务器提出连接请求时会动态指定一个连接端口号,通常这些客户端指定的连接端口号由1024到65535,因为0到1023已由IANAInternet Assigned Numbers Authority)预先指定给通信协议或其他的服务使用。
5) 在FTP会话建立后,客户端会打开一个连接端口以连接到服务器上的TCP 21连接端口。
6) 当文件开始传输时,客户端会打开另一个连接端口以连接到服务器上的TCP 20连接端口,而且每一次文件传输时,客户端都会打开另一个新的连接端口传送文件。
图5-2 服务器和客户端数据交换过程 |
FTP是一种客户/服务器架构的通信协议,因此在两台主机间传递文件时,其中一台必须执行FTP服务器软件,例如VSFTP,而另一台则需要执行FTP客户端程序,例如IE 6.0或是ftp命令。一般在文件传递时包含两种形式:
◆下载:文件由FTP服务器传送到客户端。
◆上传:文件由客户端传送到FTP服务器。
VSFTP服务器安装
在Fedora Core 5中,内置的FTP服务器软件为VSFTP,它是Very Secure FTP非常安全的FTP)的缩写,表示它强调的是其安全性控制,可以在操作系统安装时选择安装VSFTP。
由于在默认的情形下,Fedora Core 5并不会安装VSFTP服务器软件包vsftpd),因此必须利用“软件包管理者”来查找名为“vsftpd”的服务器软件包,如图5-3所示。
图5-3 安装VSFTP服务器软件包 |
[root@ns1 ~]# /etc/rc.d/init.d/vsftpd start |
[root@ns1 ~]# /etc/rc.d/init.d/vsftpd stop |
[root@ns1 ~]# /etc/rc.d/init.d/vsftpd restart |
要在引导时自动启动VSFTP服务器,可以使用以下的chkconfig命令:
[root@ns1 ~]# chkconfig --level 5 vsftpd on |
注意:有关其他VSFTP在引导时自动启动的方法,请参考之前章节说明。
测试VSFTP服务器
在完成以上安装、启动及设置步骤后,可以通过telnet命令登录到VSFTP服务器上的21连接端口,以测试VSFTP服务器是否正确启动,以下是一个简单的示例:
[root@ns1 root]# telnet ftp.fc5linux.com 21 |
回书目 上一节 下一节 |
评论暂时关闭