加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

FTP 主动连接和被动连接的区别

(2011-08-28 02:15:23)
标签:

ftp

主动连接

被动连接

杂谈

分类: UNIX/Linux

1)   FTP是仅基于TCP的服务。FTP使用2个端口,一个数据端口【20】和一个命令端口【21】(也可叫做控制端口)

2)   主动FTP

a)   客户端从一个任意的非特权端口NN大于等于1024)连接到FTP服务器的命令端口【21;

b)   客户端开始监听客户端的端口N+1,并发送FTP命令“port N+1”FTP服务器。

c)   服务器从自己的数据端口【20】连接到客户端指定的数据端口(N+1)。

:

1.   主要问题实际上在于客户端。

2.   FTP的客户端并没有实际建立一个到服务器数据端口的连接,它只是简单的告诉服务器自己监听的端口号,服务器再回来连接客户端这个指定的端口。

3.   对于客户端的防火墙来说,这是从外部系统建立到内部客户端的连接。

3)   被动FTPPASV

a)   命令连接和数据连接都由客户端,可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题。

b)   开启一个FTP连接时,客户端打开两个任意的非特权本地端口(大于等于 1024N+1)。

c)   第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交PASV命令。

d)   服务器会开启一个任意的非特权端口(大于等于1024),并发送PORT P命令给客户端。客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。

4)   范例

主动FTP

命令连接:客户端 >1023端口 -> 服务器 21端口

数据连接:客户端 >1023端口 <- 服务器 20端口 

 

被动FTP

命令连接:客户端 >1023端口 -> 服务器 21端口

数据连接:客户端 >1023端口 -> 服务器 >1023端口

 

5)   主动和被动FTP的优缺点:

a)   主动FTPFTP服务器的管理有利,但对客户端的管理不利。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞掉。

b)   被动FTPFTP客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有