魔兽世界7.3蛋刀掉率:请高手介绍一下ftp的主动连接和被动连接

来源:百度文库 编辑:高考问答 时间:2024/04/29 02:10:29
懂了就加分的

自己看,不用加分,其实就是协商的过程,很容易理解.
http://www.lovim.com/dbbs/redirect.php?tid=7&goto=lastpost

ftp的两种连接模式PASV(被动)和PORT(主动)

FTP基础知识 FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。 FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。 Port模式:ftp server:tcp 21 <------client:dynamicftp server:tcp 20 ------>client:dynamic Pasv模式:ftp server:tcp 21 <----client:dynamicftp server:tcp dynamic <----client:dynamic PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。 PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。 从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完全不同。而FTP的复杂性就在于此。

所谓port模式也就是主动模式。在FTP协议刚刚建立的时候,只定义了普通的连接模式,也就是port模式。

Port 模式的连接过程是:在开始一个FTP的连接时,客户端程序首先会为自己随机分配一个TCP端口,它使用这个个端口向服务器的FTP端口(默认为21)发出连接请求,服务器接受请求之后会建立一条控制链路,然后客户程序发出port命令(通常格式为PORT A, A, A, A, I,I,其中A,A,A,A为客户端IP地址,I,I为随机的一个数据连接端口号)告诉服务器它的数据通道的端口打开了。当需要传送数据时,服务器便从随机选择的一个端口向客户端的20端口发送连接请求,请求被接受之后便开始传输数据,数据链路通道也就打开了。

---------------

所谓pasv模式也就是被动模式。随着网络的不断发展,出现了防火墙。老的FTP协议在遇到防火墙的时候就束手无策了,这是因为20端口往往是防火墙的重点封堵对象,因此数据也就不能发送出去了,于是pasv模式就诞生了。

Pasv 模式的连接过程是:在开始一个FTP的连接时,客户端程序首先为自己随机分配一个TCP端口,它使用这个端口向服务器的FTP端口(默认为21)发出连接请求,服务器接受请求之后会建立一条控制链路,然后客户端程序发出PASV命令,代替原来PORT命令告诉服务器它的数据连接端口,于是服务器便为自己随机分配一个数据通道端口,并将这个端口号告诉客户端程序。当需要传送数据时,客户端程序会向服务器的数据通道端口发送连接请求,请求被接受之后便开始传输数据,数据链路通道也就打开了。

---------------

1.所谓主动和被动可以看作是以服务器端为基准,当服务器主动向客户端发送数据连接请求时,为主动模式;当客户端主动向服务器发送数据连接请求时,为被动模式。

2.无论客户端还是服务器端有防火墙,或是两边都有防火墙,只要PASV模式下两边数据通道的连接端口在防火墙的拦截之外就可以建立成功。如果防火墙将所有的端口全部堵死,则不能建立数据通道。

---------------

FTP使用中PASV模式的操作方法(注:此方法只有在无法登录和下载的情况下才可使用!!! )

取消 pasv 模式的方法
有许多朋友的 FTP 服务器是不支持 PASV 模式的,登入时要取消 PASV 模式才行。现将几种 FTP 下载工具的取消方法公布如下:

1.把 flashget 的 pasv 模式关掉的方法

点菜单上的“工具”->“选项”->“代理服务器”->“直接连接”->编辑->把“ pasv 模式”前的勾勾去掉,一路确定回来。

2.把 Cutftp 的 pasv 模式关掉的方法

点菜单上的“文件”->“站点管理”->在“站点管理器”窗口->“新建站点”->填上“域名”->“编辑”->“常规”->把“使用 pasv 模式”前的勾勾去掉。

3.把 FlashFXP 的 pasv 模式关掉的方法

点菜单上的“站点”->“站点管理器”->站点管理器窗口->“新建站点”->填上“域名”->“选项”->把“使用被动模式”前的勾勾去掉->“应用” 即可。

4.把 NetAnts 的 pasv 模式关掉的方法

点菜单上的"选项"->"参数设置"->"代理"->“直接连接”->编辑->把“ pasv 模式”前的勾勾去掉,一路确定回来。

---------------

相信大家都知道FTP是什么啦,但我相还有很多人不知道什么是PASV和PORT,或者你知道但不知道他们到底是什么。

下面介绍一下这两种模式吧:

PORT其实是Standard模式的另一个名字,又称为Active模式。中文意思是“主动模式。
PASV也就是Passive的简写。中文就是“被动模式。

两者之间有什么不同:

不同之处是由于PORT这个方式需要在接上TCP 21端口后,服务器通过自己的TCP 20来发出数据。并且需要建立一个新的连接来传送档案。而PORT的命令包含一些客户端没用的资料,所以有了PASv的出现。
而PASV模式就当然拥有PORT模式的优点及去掉一些PORT的缺点。PASV运行方式就是当服务器接收到PASV命令时,就会自动从端口1024到5000中随机选择,而且还会使用同一个端口来传送数据,不用建立新的连接。