FTP概述
2012-05-30 23:32
141 查看
FTP工作原理:
通过FTP传输文件,双方需要建立两个TCP连接,一个是控制连接,一个是数据连接。
控件连接用于传输FTP命令。数据连接用于传输文件。
建立控制连接后,用户通过客户机进程向服务器进程发送命令,服务器执行命令,然后将执行结果返回到客户端。
FTP数据连接,服务器向客户端发起一个用于数据传输的连接,连接的端口是由服务器端和客户端协商确定的。
以下载为例:
客户端首先与服务器的21端口建立控制连接,然后提供用户名和密码,经服务器验证认为合法后,客户端将自己监听的端口号告诉服务器,服务器再与客户端建立连接。此后,客户端通过控制连接向服务器发送下载文件的命令,服务器接收到命令后,如果执行成功,通过控制连接向客户端发送响应码,并将文件数据通过数据连接返回给客户端。
FTP的数据传输方式:一是使用ASCII传输方式,二是二进制传输方式。ASCII仅适用于传输包含英文的命令和参数。二进制可传输含中文信息。
文件传输模式:一种是主动模式(Port),二是被动模式(PASV)
主动模式是从服务器向客户端发起数据连接请求。
被动模式是客户端向服务器发起数据连接请求。
主动模式:FTP客户端先用一个端口N(N>1024)向服务器的21号端口发起控制连接,连接成功后,再发出PORT N+1 命令告诉服务器自己监听的端口号为N+1。服务器到该命令后,用一个新的数据端口(一般是20)与客户端的端口N+1建立连接,然后进行文件数据传输,而客户端则通过监听N+1端口接收文件数据。
被动模式:控制连接请求和数据连接请求都是由客户端发起。FTP客户端先随机开启一个端口N向服务器的21号端口发起控制连接,然后向服务器发送PASV命令,服务器收到此命令后,会用一个新的端口P(P>1024)进行监听,同时将该端口号告诉客户端,客户端收到响应命令后,再通过新的端口号N+1连接服务器的端口P,然后进行文件传输。
通过FTP传输文件,双方需要建立两个TCP连接,一个是控制连接,一个是数据连接。
控件连接用于传输FTP命令。数据连接用于传输文件。
建立控制连接后,用户通过客户机进程向服务器进程发送命令,服务器执行命令,然后将执行结果返回到客户端。
FTP数据连接,服务器向客户端发起一个用于数据传输的连接,连接的端口是由服务器端和客户端协商确定的。
以下载为例:
客户端首先与服务器的21端口建立控制连接,然后提供用户名和密码,经服务器验证认为合法后,客户端将自己监听的端口号告诉服务器,服务器再与客户端建立连接。此后,客户端通过控制连接向服务器发送下载文件的命令,服务器接收到命令后,如果执行成功,通过控制连接向客户端发送响应码,并将文件数据通过数据连接返回给客户端。
FTP的数据传输方式:一是使用ASCII传输方式,二是二进制传输方式。ASCII仅适用于传输包含英文的命令和参数。二进制可传输含中文信息。
文件传输模式:一种是主动模式(Port),二是被动模式(PASV)
主动模式是从服务器向客户端发起数据连接请求。
被动模式是客户端向服务器发起数据连接请求。
主动模式:FTP客户端先用一个端口N(N>1024)向服务器的21号端口发起控制连接,连接成功后,再发出PORT N+1 命令告诉服务器自己监听的端口号为N+1。服务器到该命令后,用一个新的数据端口(一般是20)与客户端的端口N+1建立连接,然后进行文件数据传输,而客户端则通过监听N+1端口接收文件数据。
被动模式:控制连接请求和数据连接请求都是由客户端发起。FTP客户端先随机开启一个端口N向服务器的21号端口发起控制连接,然后向服务器发送PASV命令,服务器收到此命令后,会用一个新的端口P(P>1024)进行监听,同时将该端口号告诉客户端,客户端收到响应命令后,再通过新的端口号N+1连接服务器的端口P,然后进行文件传输。
相关文章推荐
- vsftp、sftpd、lftp、ftp简单概述[zt]
- VB程序员的FTP编程指南1.1-文件传输协议FTP概述
- WEB服务FTP概述
- FTP协议概述
- VB程序员的FTP编程指南1.1-文件传输协议FTP概述
- FTP搜索引擎开发文档(任务概述与需求部分)
- ftp命令概述
- [导入]网站项目建设流程概述
- 美国医药专利战略概述
- FTP命令
- 软件形式化方法概述
- 对JDBC的支持 之 7.1 概述
- windows server 2008 下搭建ftp服务器
- Python函数式编程指南(一):概述
- java实现将文件上传到ftp服务器的方法
- Redis 概述(笔记)
- centos 7 linux系统默认ftp安装配置和部署(详细讲解)
- Ajax基础教程--- 2.1 XMLHttpRequest对象概述
- 数据库事务(Transaction)概述