【3D技术宅公社】XR数字艺术论坛  XR技术讨论 XR互动电影 定格动画

 找回密码
 立即注册

QQ登录

只需一步,快速开始

调查问卷
论坛即将给大家带来全新的技术服务,面向三围图形学、游戏、动画的全新服务论坛升级为UTF8版本后,中文用户名和用户密码中有中文的都无法登陆,请发邮件到324007255(at)QQ.com联系手动修改密码

3D技术论坛将以计算机图形学为核心,面向教育 推出国内的三维教育引擎该项目在持续研发当中,感谢大家的关注。

查看: 3169|回复: 0

[算法/加密解密] FTP文件传输协议详解

[复制链接]
发表于 2009-3-1 01:55:16 | 显示全部楼层 |阅读模式
FTP文件传输协议(File Transfer Protocol)  允许用户以文件操作的方式与另外一个主机相互通信、传输文件。FTP协议是TCP/IP协议簇应用层的协议之一,和HTTP协议处于同一层次。该层负责处理实际的应用程序细节。

FTP协议是互联网文件传输的基础,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。在TCP/IP协议中,FTP标准命令 TCP端口号为21,Port方式数据端口为20。

FTP也是一个客户/服务器系统。用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。依照 FTP 协议提供服务,进行文件传送的计算机就是 FTP 服务器,而连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端。用户要连上 FTP 服务器,就要用到 FPT 的客户端软件,通常 Windows自带“ftp”命令,这是一个命令行的 FTP 客户程序,另外常用的 FTP 客户程序还有 CuteFTP、Ws_FTP、Flashfxp、LeapFTP、流星雨-猫眼等。

FTP用户授权认证,客户机要连接 FTP 服务器,必须要有该 FTP 服务器授权的认证,也就是说你只有在有了一个用户标识和一个口令后才能登陆FTP服务器,享受FTP服务器提供的服务。匿名AnonymousFTP 服务器是向公众提供文件服务,不需要实现授权认证,匿名FTP用户使用特殊的用户名“anonymous”登陆FTP服务,就可访问远程主机上公开的文件,有些匿名系统要求Emai1地址作为口令,以便更好地对访问进行跟综。

FTP协议地址格式如下: ftp://用户名:密码@FTP服务器IP(域名):FTP命令端口/路径/文件名

该协议地址格式除服务器IP(域名)为必须项外,其他都是可选的。
正确的格式举例如下:
ftp://www.wantsoft.com
ftp://wantsoft:wantsoft.com@www.wantsoft.com/default.txt


FTP的传输模式

FTP的传输有两种方式:ASCII传输模式和二进制数据传输模式。

1.ASCII传输方式:传输的文件内容是ASCII码文本,如果客户机和服务器对文件存储的定义不同时,会自动进行转换,如在Windows下换行为\r\n,而在Linux下为\n,则自动进行转换以适应对端操作系统。这时可能会改变文件的内容。

2.BINARY二进制传输模式:在二进制传输中,传输的文件内容是不允许改变的,完全按照原始文件的格式进行传输。

FTP的工作方式

FTP支持两种模式,一种方式叫做Standard主动方式 (PORT),一种是 Passive被动方式 (PASV)。

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无法和内部网络的客户端建立一个新的连接,造成无法工作。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|3D数字艺术论坛 ( 沪ICP备14023054号 )

GMT+8, 2025-2-6 11:55

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表