首页  登陆  注册  博客集  下载频道  网络硬盘  学院论坛  家园
IT学院 网站地图 网站地图
收藏本站 收藏本站
高级搜索 高级搜索
 新闻IT新闻 互联网 微软 黑客新闻 网络网络协议 故障 网络管理 TCP/IP 无线技术 解决方案 黑客技术 漏洞 软件评测 安全资讯
 数据MSsql Oracle Mysql PL/SQL 备份 系统:Linux vista Windows FTP 防火墙 注册表 服务器行情 服务器应用 解决方案 WEB服务器
 墙纸风景壁纸 游戏壁纸 体育壁纸 汽车壁纸 人文壁纸 影视壁纸 广告壁纸 花卉壁纸 节日壁纸 动漫壁纸 明星壁纸 绘画壁纸 月历壁纸
当前位置: > 主页>服务器>服务器技术>FTP服务器>新手入门:了解FTP服务与FTP协议(图)
热门文章排行
 
热门文章排行 服务器应用:IIS建FTP服
服务器应用:用serv-u建
Exchange 2003,你真的
FTP服务器软件Serv-U教
充分利用 FTP分类账户设
Exchange 2000 Instant
Windows下用sftp巧妙打
新手入门:了解FTP服务
内网FTP服务器架设不完
Serv-U:快速构建功能强
精采文章推荐
 
精采文章推荐 Windows 下IIS配置与Ftp
用Gene6让FTP服务搭建平
服务器应用:IIS建FTP服
最新更新文章
 
最新更新文章 Windows 下IIS配置与Ftp
用Gene6让FTP服务搭建平
内网FTP服务器架设不完
Windows 2003 Server FT
Windows下用sftp巧妙打
Serv-U的安装和基本设置
Serv-U 3.0参数设置技巧
轻松架设Windows2003用
实战:全面保障FTP服务
对Serv-U 6.0.0.2默认帐

新手入门:了解FTP服务与FTP协议(图)

编辑:   来源:  日期:2008-02-04   我要投稿      家园

  上次我们主要介绍了HTTP协议,在这篇文章里,我们介绍一个同样有名的网络协议FTP(文件传送协议)。
  
  FTP文件传送协议(File Transfer Protocol,简称FTP),是一个用于从一台主机到另送文件的协议。该协议的历史可追溯到1971年(当时因特网尚处于实验之中),不过至今仍然极为流行。FTP在RFC 959中具体说明。下图是它提供的服务的概貌。
  
 
  图1 FTP在本地和远程文件系统之间传输文件
  

  在一个典型的FTP会话中,用户坐在本地主机前,想把文件传送到一台远程主机或把它们从一台远程主机传送来。该用户必须提供一个用户名—口令对才能访问远程账号。给出这些身份认证信息后,它就可以在本地文件系统和远程文件系统之间传送文件了。如图中所示,用户通过一个FTP用户代理与FTP交互。他首先提供一个远程主机的主机名,这使得本地主机中的FTP客户进程建立一个与远程主机中的FTP服务器进程之间的连接。用户接着提供用户名和口令,这些信息将作为FTP命令参数经由TCP连接传送到服务器。服务器批准之后,该用户就在本地文件系统和远程文件系统之间拷贝文件。
  
  HTTP和FTP都是文件传送协议,它们有许多共同的特征,譬如说都运行在TCP之上。不过这两个应用层协议之间存在重要的差别。最重要的差别是FTP使用两个并行的TCP连接来传送文下一节件,一个是控制连接,一个是数据连接。控制连接用于在客户主机和服务器主机之间发送控制信息,例如用户名和口令、改变远程目录的命令、取来或放回文件的命令。数据连接用于真正发送文件。既然TCP使用一个独立的控制连接,我们说FTP在带外(out-of-band)发送控制信息的。另外,用于控制音频和视频等持续媒体数据之传送的RTSP协议也是在带外发送控制信息的。HTTP中,同一个TCP连接既用于承载请求和响应头部,也用于承裁所传送的文件,因此我们说HTTP在带内(in-band)发送控制信息。下一篇文章将讨论的用于电子邮件的主要协议SMTP也在带内发送控制信息。图2展示了FTP的控制连接和数据连接。
  
 
  图2

  
  当用户启动与远程主机间的一个FTP会话时,FTP客户首先发起建立一个与FTP服务器端口号21之间的控制TCP连接,然后经由该控制连接把用户名和口令发送给服务器。客户还经由该控制连接把本地临时分配的数据端口告知服务器,以便服务器发起建立一个从服务器端口号20到客户指定端口之间的数据TCP连接;为便于绕过防火墙,较新的FTP版本允许客户告知服务器改由客户来发起建立到服务器端口号20的数据TCP连接。用户执行的一些命令也由客户经由控制连接发送给服务器,例如改变远程目录的命令。当用户每次请求传送文件时(不论哪个方向),FTP将在服务器端口号20上打开一个数据TCP连接(其发起端既可能是服务器,也可能是客户)。在数据连接上传送完本次请求需传送的文件之后,有可能关闭数据连接,到再有文件传送请求时重新打开。因此在FTP中,控制连接在整个用户会话期间一直打开着,而数据连接则有可能为每次文件传送请求重新打开一次(即数据连接是非持久的)。
  
  在整个会话期间,FTP服务器必须维护关于用户的状态。具体地说,服务器必须把控制连接与特定的用户关联起来,必须随用户在远程目录树中的游动跟踪其当前目录。为每个活跃的用户会话保持这些状态信息极大地限制了FTP能够同时维护的会话数。无状态的HTTP却不必维护任何用户状态信息。
  
  FTP命令和应答
  
  现在讨论几个较为常用的FTP命令。从客户到服务器的命令和从服务器到客户的应答都是以7位ASCII码格式经由控制连接传送的,因此跟HTTP请求消息一样.FTP命令也是直观可读的。用于分割相继的命令或应答的是一个回车符和一个换行符。每个命令由4个大写的ASCB字符构成,有些命令带有可选的参数。下面给出的是一些较为常见的命令;●USER username:用于向服务器发送用户名。
  
  ●PASS passwod:用于服务器发送口令。
  
  ●LIST:用于请求服务器发回当前远程目录下所有文件的一个清单。该清单是通过数据连接而不是控制连接发送过来的。
  
  ●RETR filename:用于获取远程主机当前目录下的一个文件,与用户代理中的get命令相对应。
  
  ●STOR filename:用于存放远程主机当前目录下的一个文件,与用户代理中的put命令相对应。
  
  从客户经由控制连接发送到服务器的FTP命令和用户向用户代理发出的命令之间一般存在一一对应关系。每个命令之后跟随的是从服务器发送到客户的应答。FTP应答是一个3位数值,可能后跟一个可选的消息。这与HTTP响应消息中的状态码和原因短语在结构上是类似的;HTTP的发明者们有意在HTTP响应消息中引入了这个类似性。下面列出了一些典型的应答以及可能后跟的消息。
  
  ●331 Username OK,password required
  
  ●125 Data connection already open,tranfer starting
  
  ●425 Car't open data connection
  
  ●452 Error writing
  
  有兴趣更多地了解FD命令和应答的读者可以阅读RFC 959。
  
  下面是采用LEAPFTP客户端登录一个FTP服务器的对话实录,从中可以看到FTP客户端和服务器端的会话过程。
  
  Connecting to xxx.xxx.xxx.xxx, Port 21 (#1)
  Connected. Waiting for response.
  220 Microsoft FTP Service
  USER username
  331 Password required for username.
  PASS xxxxxx
  230 User 9878cn logged in.
  SYST
  215 Windows_NT
  PWD
  257 "/mydir" is current directory.
  TYPE A
  200 Type set to A.
  PORT 192,168,xxx,xx,9,198
  200 PORT command successful.
  LIST
  150 Opening ASCII mode data connection for /bin/ls.
上一页12 下一页


上一篇:充分利用 FTP分类账户设置经验谈  
下一篇:Exchange 2003,你真的需要吗?(组图)
 关键字:  
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:

   文章评论:(0条)
  
 请留名: 匿名评论   点击查看所有评论
 

  责任编辑:IT学院  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。