下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

原来FTP传输已经是逐步走向灭亡

作者:课课家教育     来源: http://www.kokojia.com点击数:2592发布时间: 2016-08-14 14:30:53

标签: FTP协议文件传输系统运维

  我们经常使用的文件传输协议(FTP),早在1985年的时候就已经是发布了,我们使用过FTP都会知道,它是一个跨平台的,简单又可以实现的一种文件协议,FTP到现在已经有一段历史了,曾经是互联网中最重要的应用之一,但是也是存在众多的不足,从而导致逐步的走向灭亡,下面我们来看看它主要是有哪些不足的缺点。

原来FTP传输已经是逐步走向灭亡_FTP协议_文件传输_系统运维_课课家

  1.数据传输模式不合理

  首先不考虑文件本身的内容,它总是一味的去使用ASCII模式传输数据这显然是不合理的。文件传输协议(FTP)应该具有自动检测功能,当然用户也是可以进行一个自定义,虽然现在许多的LinuxWindows客户端它是已经支持自动传输模式,但多达数代的UNIX和Windows客户端都默认使用ASCII传输模式,这种传输模式的话,那么将会是造成文件损坏。

  2.工作方式设计不合理

  FTP可以在主动模式(PORT)或被动模式(PASV)下工作,这也就是决定了数据连接建立的方式,在主动模式下,客户端首先向服务器端发送IP地址和端口号,然后等待服务器端建立TCP链接。在被动模式下,客户端同样首先建立到服务器的链接,但服务器端会开启一个端口(1024到5000之间),等待客户端传输数据,文件传输协议(FTP)中最让人觉得非常奇怪的是,客户端将会是可以侦听服务器端!

  3.FTP与防火墙工作不协调

  在FTP诞生在网络地址转换(NAT)和防火墙之前,在当时的网络还不存在恶意的一个攻击,而在今天大多数最终用户的IPv4地址已不可路由,最基本的原因就是防火墙的使用和IPv4地址出现的短缺,这一点我们应该是非常的清楚的。

  与防火墙工作的不协调,那么这样会对FTP意味着什么呢?其实这就意味着如果FTP客户端IP地址不可路由的话,又或者位于防火墙之后,那么就只能使用被动传输模式进行数据传输,如果服务器端的IP地址也是不可路由的话,或者位于防火墙之后呢?那么FTP将会是无法进行数据的传输!

  而到了现在,许多防火墙它只适用于NAT的环境,可以使用一些特殊的技巧(hacks)允许FTP在防火墙之后正常工作。但是必须是要对防火墙进行一个配置才可以使用。

  4.密码安全策略不完善

  其实在互联网早期的时候,文件传输协议(FTP)并没有对密码安全作出规定。在FTP客户端和服务器端,数据以明文的形式传输,任何对通讯路径上的路由具有很强控制能力的人,那么都是可以探取你的密码和数据,这样的数据传输也是非常的不安全的。

  当然我们也是可以使用SSL封装FTP,但是因为FTP是通过建立多次链接进行数据传输的,即使我们保护了密码安全,这也是很难保护数据传输的安全性,数据的传输还是有一定的风险的,这一点我们是要知道的,因此我们是推荐使用SCP取代FTP进行文件传输,这样将会是更加的安全。

ftp服务器

  5.为什么说FTP协议效率低下

  因为我们可以发现如果是要从FTP服务器上检索一个文件的时候,包含反复的交换握手步骤:

  1.客户端建立到FTP服务器端控制端口的TCPSocket链接,并等待TCP握手完成

  2.客户端等待服务器端发送回执

  3.客户端向服务器端发送用户名并等待响应

  4.客户端向服务器端发送密码并等待响应

  5.客户端向服务器端发送SYST命令并等待响应

  6.客户端向服务器端发送TYPEI命令并等待响应

  我们会发现如果用户需要在服务器端切换目录,那么客户端仍然发送命令并等待响应

  一般在主动模式下,客户端需要发送PORT命令到服务器端,然后等待响应(如果是被动模式则与主动模式相反)

  建立数据传输链接(这就需要经过三次握手,建立一条TCPSocket连接)

  通过链接传输数据

  客户端等待服务器端从控制连接发送2xx指令,以确保数据传输成功

  客户端发送QUIT命令,并等待服务器响应

  针对上面同样的情形,我们来看看HTTP协议:

  1.HTTP客户端向HTTP服务器端建立一条TCPSocket连接

  2.HTTP客户端向HTTP服务器端发送GET命令,包含URL、HTTP协议版本、虚拟主机名等等,并等待响应

  3.HTTP服务器端的响应包含了所有想要的数据,完成!

  通过上面的解析我们就知道,如果是要去传输一个文件,用FTP需要往复10次,而使用HTTP只需要2次!如果传输多个文件的话,那么FTP可以省略发送用户名和密码的的一个步骤,而HTTP则可以使用固定的套接字(Socket),在相同的TCP连接中传输文件。

  结语:从上面的例子我们可以看出,FTP的使用曾经是风靡一时,但是综合上面所说的缺点,在现在来说已经是过时的表现了,在安全方面也是有众多的不足,而且效率也是比较低的,因此这些传输协议势必会被淘汰掉。

赞(13)
踩(2)
分享到:
华为认证网络工程师 HCIE直播课视频教程