Chinaunix首页 | 论坛 | 博客
  • 博客访问: 117835
  • 博文数量: 30
  • 博客积分: 2520
  • 博客等级: 少校
  • 技术积分: 395
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-10 10:31
文章分类
文章存档

2009年(7)

2008年(23)

我的朋友

分类: 系统运维

2008-04-03 17:06:10

FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用 到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。
FTP协议有两种工作方式:PORT模式和PASV模式,中文意思为主动式和被动式。
ORT(主动)模式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。
工作原理:当需要传送数据时,客户端在命令链路上用 PORT命令告诉服务器:“我打开了**端口,你过来连接我”。当服务端收到这个Port命令后就会向客户端打开的那个端口发送连接请求,建立一条数据链路来传送数据。
PASV(被动)模式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。
工作原理:需要传送数据时,服务器在命令链路上用 PASV命令告诉客户端:“我打开了**端口,你过来连接我”。当客户端收到这个信息后,就可以向服务端的端口发送连接请求,建立一条数据链路来传送数据。
从上面的解释中可以看出,两种模式的命令链路连接方法是一样的,而数据链路的建立方法就完全不同。对于Port模式,是客户端在本地打开一个端口等服务端去连接建立数据连接;而Pasv模式就是服务端打开一个端口等待客户端去建立一个数据连接。FTP的复杂性就在于此。
 
PORT模式:当数据传输时,客户端建立套接字接听。绑定port中的端口。服务器中使用的端口是20;
PASV模式:当数据传输时,服务端建立套接字接听。客户端去连接pasv中指定的端口。这时候服务器端用的端口不是20,而是pasv中的端口。
阅读(1467) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~