设为首页 加入收藏

TOP

3.1.1 FTP概述
2013-10-07 15:54:32 来源: 作者: 【 】 浏览:82
Tags:3.1.1 FTP 概述

3.1.1  FTP概述

FTP服务一般运行在20和21这两个端口。端口20用于在客户端和服务器之间传输数据流,而端口21用于传输控制流,并且是命令通向FTP服务器的进口。当数据通过数据流传输时,控制流处于空闲状态。而当控制流空闲很长时间后,客户端的防火墙会将其会话置为超时,这样当大量数据通过防火墙时,会产生一些问题。此时,虽然文件可以成功地传输,但因为控制会话会被防火墙断开;传输会产生一些错误。

1. 背景

一般来说,使用互联网的首要目的就是为了实现信息共享,文件传输是信息共享非常重要的一个内容。但是Internet是一个非常复杂的计算机环境,有PC,有工作站,有MAC,有大型机,并且连接在Internet上的计算机有上千万台,而且这些计算机可能运行不同的操作系统,例如有运行Unix的服务器,也有运行 DOS、Windows的PC机和运行MacOS的苹果机等。所以各种操作系统之间的文件交流存在问题,很有必要建立一个统一的文件传输协议,这就是FTP。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议,这样用户就可以把自己的文件传送给别人,或者从其他的用户环境中获得文件了。

与大多数Internet 服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序。用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机。比如说,用户发出一条命令,要求服务器向用户传送某一个文件的一份拷贝,服务器会响应这条命令,将指定文件送至用户的机器上。客户机程序代表用户接收到这个文件,将其存放在用户目录中。

2. 下载和上传

在使用FTP的过程中,经常遇到下载(Download)和上传(Upload)这两个概念。下载文件就是从远程主机拷贝文件至自己的计算机上;上传文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。

3. 登录和匿名

使用FTP时,必须首先登录,在远程主机上获得相应的权限以后,方可下载或上传文件。也就是说,要想同哪一台计算机传送文件,就必须具有哪一台计算机的适当授权。换言之,除非有用户ID和口令,否则便无法传送文件。这种情况违背了Internet的开放性,Internet上的FTP主机何止千万,不可能要求每个用户在每一台主机上都拥有账号。匿名FTP就是为解决这个问题而产生的。

匿名FTP是这样一种机制,用户可通过它连接到远程主机上,并从其下载文件,而无需成为其注册用户。系统管理员可以建立一个特殊的用户ID,名为anonymous,Internet上的任何人在任何地方都可使用该用户ID。

4. 目标

FTP实现的目标如下:

促进文件的共享(计算机程序或数据)。

鼓励间接或者隐式地使用远程计算机。

向用户屏蔽不同主机中各种文件存储系统(File System)的细节。

可靠和高效的传输数据。

5. 缺点

FTP也有缺点,概括如下:

密码和文件内容都使用明文传输,可能产生不希望发生的窃听。

因为必须开放一个随机的端口以创建连接,当防火墙存在时,客户端很难过滤处于主动模式下的FTP流量。这个问题,通过使用被动模式的FTP,得到了很大解决。

服务器可能会被告知连接一个第三方计算机的保留端口。

此方式在需要传输数量很多的小文件时性能不好。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇3.1 FTP能带给我们什么 下一篇3.1.2 工作原理

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C++中智能指针的性能 (2025-12-25 03:49:29)
·如何用智能指针实现c (2025-12-25 03:49:27)
·如何在 C 语言中管理 (2025-12-25 03:20:14)
·C语言和内存管理有什 (2025-12-25 03:20:11)
·为什么C语言从不被淘 (2025-12-25 03:20:08)