A. 简述FTP的工作原理
FTP的工作原理:FTP 采用 Internet 标准文件传输协议 FTP 的用户界面, 向用户提供了一组用来管理计算机之间文件传输的应用程序。
开发任何基于 FTP 的客户端软件都必须遵循 FTP 的工作原理,FTP 的独特的优势同时也是与其它客户服务器程序最大的不同点就在于它在两台通信的主机之间使用了两条 TCP 连接,一条是数据连接,用于数据传送;
另一条是控制连接,用于传送控制信息(命令和响应),这种将命令和数据分开传送的思想大大提高了 FTP 的效率,而其它客户服务器应用程序只有一条 TCP 连接。
(1)ftp底层原理扩展阅读:
FTP 的目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。它能操作任何类型的文件而不需要进一步处理,就像MIME或Unicode一样。
但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间,会非常长;并且不时的必须执行一些冗长的登录进程。
FTP 在因特网网络上历史是最悠久的网络工具,从 1971 年由 A KBHUSHAN 提出第一个 FTP 的RFC(RFC114),FTP 凭借其独特的优势一直都是因特网中最重要、最广泛的服务之一。
B. FTP工作原理是怎样的
ftp的传输有两种方式:ascii传输模式和二进制数据传输模式。 1.ascii传输方式:假定用户正在拷贝的文件包含的简单ascii码文本,如果在远程机器上运行的不是unix,当文件传输时ftp通常会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。 但是常常有这样的情况,用户正在传输的文件包含的不是文本文件,它们可能是程序,数据库,字处理文件或者压缩文件(尽管字处理文件包含的大部分是文本,其中也包含有指示页尺寸,字库等信息的非打印字符)。在拷贝任何非文本文件之前,用binary 命令告诉ftp逐字拷贝,不要对这些文件进行处理,这也是下面要讲的二进制传输。 推荐阅读:FTP使用命令详解2.二进制传输模式:在二进制传输中,保存文件的位序,以便原始和拷贝的是逐位一一对应的。即使目的地机器上包含位序列的文件是没意义的。例如,macintosh以二进制方式传送可执行文件到windows系统,在对方系统上,此文件不能执行。 如果你在ascii方式下传输二进制文件,即使不需要也仍会转译。这会使传输稍微变慢 ,也会损坏数据,使文件变得不能用。(在大多数计算机上,ascii方式一般假设每一字符的第一有效位无意义,因为ascii字符组合不使用它。如果你传输二进制文件,所有的位都是重要的。)如果你知道这两台机器是同样的,则二进制方式对文本文件和数据文件都是有效的。 ftp的工作方式 ftp支持两种模式,一种方式叫做standard (也就是port方式,主动方式),一种是 passive (也就是pasv,被动方式)。 standard模式 ftp的客户端发送 port 命令到ftp服务器。passive模式ftp的客户端发送 pasv命令到ftp server。 下面介绍一个这两种方式的工作原理: port模式ftp 客户端首先和ftp服务器的tcp 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送port命令。 port命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的tcp 20端口连接至客户端的指定端口发送数据。 ftp server必须和客户端建立一个新的连接用来传送数据。 passive模式在建立控制通道的时候和standard模式类似,但建立连接后发送的不是port命令,而是pasv命令。ftp服务器收到pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接ftp服务器此端口,然后ftp服务器将通过这个端口进行数据的传送,这个时候ftp server不再需要建立一个新的和客户端之间的连接。 很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的ftp服务器不支持pasv模式,因为客户端无法穿过防火墙打开ftp服务器的高端端口;而许多内网的客户端不能用port模式登陆ftp服务器,因为从服务器的tcp 20无法和内部网络的客户端建立一个新的连接,造成无法工作. 如果你要是不知道怎么用ftp下东西,那很好解决,只要是下一个ftp的软件,比如flashfxp,ultraftp等等软件,里面输入地址直接下载就是了。 如果你要是想建一个ftp的站点,你就要自己做软件配置用server-u或者其他的软件直接设置一下就可以。本文来自: 编程入门网 http://www.bianceng.cn/Servers/Ftp/200707/3229.htm
C. FTP的工作原理是怎样的
FTP会话时包含了两个通道,一个叫控制通道,一个叫数据通道。控制通道:控制通道是和FTP服务器进行沟通的通道,连接FTP,发送FTP指令都是通过控制通道来完成的。数据通道:数据通道是和FTP服务器进行文件传输或者列表的通道。FTP协议中,控制连接均有客户端发起,而数据连接有两种工作方式:PORT方式和PASV方式PORT模式(主动方式) FTP 客户端首先和FTP Server的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口(一个大于1024的端口)接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。PASV模式(被动方式) 在建立控制通道的时候和PORT模式类似,当客户端通过这个通道发送PASV 命令的时候,FTP server打开一个位于1024和5000之间的随机端口并且通知客户端在这个端口上传送数据的请求,然后FTP server 将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接传送数据。如果从C/S模型这个角度来说,PORT对于服务器来说是OUTBOUND,而PASV模式对于服务器是INBOUND,这一点请特别注意,尤其是在使用防火墙的企业里,这一点非常关键,如果设置错了,那么客户将无法连接。参考: http://www.linuxdiyf.com/viewarticle.php?id=20118 →Nebula№☆ 2008-08-18 15:44 检举您觉得这个答案好不好?好(0)不好(0) 相关问题 FTP工作原理是怎样的? FTP工作原理是什么 ftp服务器的工作原理其他答案拿下传文件为例,当你启动FTP从远程计算机拷贝文件时,它向FTP服务器提出拷贝文件的请求。启动在远程计算机的上的FTP服务器程序,它响应你的请求把你指定的文件传送到你的计算机中。 网站: http://www.skyhosting.com.cn 总想。。。 2008-08-18 15:41 检举上下传 上页,下页. 2008-08-18 15:44 检举虽然我没用过它,但大多数的lonux发行版本中都选用的是Washington University FTP,它是一个着名的FTP服务器软件,一般简称为wu-ftp. 它是一个很好的服委务软件, 原理呀,网上有得查呀。下次我去看看有关那个的原理再告诉你吧。你自己也要去看看那方面有关的书呀, : 起做暧 2008-08-18 15:50 检举我来告诉你FTP服务器工作流程: 建立Socket 侦听 21 端口 收到连接请求后建立新端口与客户端连接 继续侦听 21 端口 负责与客户端连接的模块要解释处理大概10多条标准的FTP命令 根据不同命令为客户返回不同的信息或做不同的事 关于这些标准FTP命令如 USER PASS REST PWD CWD PASV SIZE TYPE LIST RETR 等等的我不全知道 你要自己去查资料。拿下传文件为例,当你启动FTP从远程计算机拷贝文件时,你事实上启动了两个程序:一个本地机上的FTP客户程序:它向FTP服务器提出拷贝文件的请求。另一个是启动在远程计算机的上的FTP服务器程序,它响应你的请求把你指定的文件传送到你的计算机中。FTP采用“客户机/服务器”方式,用户端要在自己的本地计算机上安装FTP客户程序。FTP客户程序有字符界面和图形界面两种。字符界面的FTP的命令复杂、繁多。图形界面的FTP客户程序,操作上要简洁方便的多。
D. ftp 工作原理
FTP服务是客户/服务器模式,用户通过客户机程序连接远程计算机上运行的服务器程序,具体过程如下。
(1)客户端向服务器发出连接请求,同时客户端系统动态打开大于一个1024的端口等候服务器连接(如1031),
(2)若FTP服务器在端口21侦听到该请求,则会在客户端端口1031和服务器的端口21之间建立一个FTP会话连接
(3)需要传输数据时,FTP客户端再动态打开一个大于1024的端口(如1032)连接到服务器的端口20,并在这两个端口之间进行数据的传输
(4)数据传输完毕后,这两个端口会自动关闭。当FTP客户端断开与FTP服务器的连接时,客户端上动态分配的端口将自动释放掉。
E. FTP的工作原理是怎样的
拿下传文件为例,当你启动FTP从远程计算机拷贝文件时,你事实上启动了两个程序:一个本地机上的FTP客户程序:它向FTP服务器提出拷贝文件的请求。另一个是启动在远程计算机的上的FTP服务器程序,它响应你的请求把你指定的文件传送到你的计算机中。FTP采用“客户机/服务器”方式,用户端要在自己的本地计算机上安装FTP客户程序。FTP客户程序有字符界面和图形界面两种。字符界面的FTP的命令复杂、繁多。图形界面的FTP客户程序,操作上要简洁方便的多。
F. 什么是ftp服务器,其主要工作原理是什么
ftp是file
transfer
protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于http,ftp协议要复杂得多。复杂的原因,是因为ftp协议要用到两个tcp连接,一个是命令链路,用来在ftp客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。
ftp协议有两种工作方式:port方式和pasv方式,中文意思为主动式和被动式。
port(主动)方式的连接过程是:客户端向服务器的ftp端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用port命令告诉服务器:“我打开了xxxx端口,你过来连接我”。于是服务器从20端口向客户端的xxxx端口发送连接请求,建立一条数据链路来传送数据。
pasv(被动)方式的连接过程是:客户端向服务器的ftp端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用pasv命令告诉客户端:“我打开了xxxx端口,你过来连接我”。于是客户端向服务器的xxxx端口发送连接请求,建立一条数据链路来传送数据。
G. ftp服务器的工作原理
FTP并不是应用于IP网络上的协议,而是ARPANEt网络中计算机间的文件传输协议, ARPANET是美国国防部组建的老网络,于1960-1980年使用。在那时, FTP的主要功能是在主机间高速可靠地传输文件。目前FTP仍然保持其可靠性,即使在今天,它还允许文件远程存取。这使得用户可以在某个系统上工作,而将文件存贮在别的系统。例如,如果某用户运行Web服务器,需要从远程主机上取得HTML文件和CGI程序在本机上工作,他需要从远程存储站点获取文件(远程站点也需安装Web服务器)。当用户完成工作后,可使用FTP将文件传回到Web服务器。采用这种方法,用户无需使用Telnet登录到远程主机进行工作,这样就使Web服务器的更新工作变得如此的轻松。
FTP是TCP/IP的一种具体应用,它工作在OSI模型的第七层,TCP模型的第四层上,即应用层,使用TCP传输而不是UDP,这样FTP客户在和服务器建立连接前就要经过一个被广为熟知的"三次握手"的过程,它带来的意义在于客户与服务器之间的连接是可靠的,而且是面向连接,为数据的传输提供了可靠的保证。
其次,FTP的连接模式有两种,PORT和PASV。PORT模式是一个主动模式,PASV是被动模式,这里都是相对于服务器而言的。为了让大家清楚的认识这两种模式,朗月繁星分别举例说明。
PASV模式
然而,当FTP客户以PASV模式连接服务器时,情况就有些不同了。在初始化连接这个过程即连接服务器这个过程和PORT模式是一样的,不同的是,当FTP客户发送ls、dir、get等这些要求数据返回的命令时,他不向服务器发送PORT指令而是发送PASV指令,在这个指令中,用户告诉服务器自己要连接服务器的某一个端口,如果这个服务器上的这个端口是空闲的可用的,那么服务器会返回ACK的确认信息,之后数据传输通道被建立并返回用户所要的信息(根据用户发送的指令,如ls、dir、get等);如果服务器的这个端口被另一个资源所使用,那么服务器返回UNACK的信息,那么这时,FTP客户会再次发送PASV命令,这也就是所谓的连接建立的协商过程。为了验证这个过程我们不得不借助CUTEFTP Pro这个大家经常使用的FTP客户端软件,因为微软自带的FTP命令客户端,不支持PASV模式。虽然你可以使用QUOTE PASV这个命令强制使用PASV模式,但是当你用ls命令列出服务器目录列表,你会发现它还是使用PORT方式来连接服务器的。现在我们使用CUTEFTP Pro以PASV模式连接服务器
PORT模式
当FTP客户以PORT模式连接服务器时,他动态的选择一个端口号(本次试验是6015)连接服务器的21端口,注意这个端口号一定是1024以上的,因为1024以前的端口都已经预先被定义好,被一些典型的服务使用,当然有的还没使用,保留给以后会用到这些端口的资源服务。当经过TCP的三次握手后,连接(控制信道)被建立
H. FTP原理与配置
FTP是用来传送文件的协议。使用FTP实现远程文件传输的同时,还可以保证数据传输的可靠性和高效性。
在企业网络中部署一台FTP服务器,将网络设备配置为FTP客户端,则可以使用FTP来备份或更新VRP文件和配置文件。 也可以把网络设备配置为FTP服务器,将设备的日志文件保存到某台主机上方便查看。
FTP传输数据时支持两种传输模式:ASCII模式和二进制模式。
ASCII模式用于传输文本。 发送端的字符在发送前被转换成ASCII码格式之后进行传输,接收端收到之后再将其转换成字符。 二进制模式常用于发送图片文件和程序文件。 发送端在发送这些文件时无需转换格式,即可传输。
使用FTP进行文件传输时,会使用两个TCP连接。 第一个连接是FTP客户端和FTP服务器间的控制连接。 FTP服务器开启21号端口 ,等待FTP客户端发送连接请求。
第二个连接是FTP客户端和FTP服务器间的数据连接。 服务器使用TCP的20号端口 与客户端建立数据连接。 通常情况下,服务器主动建立或中断数据连接。
执行 ftp server enable 命令使能FTP功能。
执行 set default ftp-directory 命令设置FTP用户。
在配置FTP服务器时,可以使用AAA为每个用户分别配置登录账号和访问权限。
aaa 命令用来进入AAA视图。
local-user user-name { access-limit max-number | ftpdirectory directory | idle-timeout minutes [ seconds ] | password cipher password [ opt ]| privilege level level | state {active | block } } *命令用来创建本地用户,并配置本地用户的各项参数。
ftp客户端连接ftp服务器
ftp命令用来不远程FTP服务器建立控制连接,并进入FTP客户端视图。
binary命令用来在设备作为FTP客户端时设置文件传输方式为Binary模式,又称二进制模式。缺省情况下,文件传输方式为ASCII模式。get命令用来从远程FTP服务器下载文件并保存在本地。