TCP-IP详解卷1-27:FTP:文件传送协议(File Transfer Protocol)

TCP-IP详解卷1-27:FTP:文件传送协议(File Transfer Protocol)

一:介绍
    文件传输协议(File Transfer Protocol, FTP)是一个用于在两台装有不同操作系统的机器中传输计算机文件的软件标准。它属于网络协议组的应用层。
    FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理。

二:目标和缺点
    1: 目标
        A: 促进文件的共享(计算机程序或数据)   
        B: 鼓励间接或者隐式的使用远程计算机   
        C: 向用户屏蔽不同主机中各种文件存储系统的细节   
        D: 可靠和高效的传输数据   
    2: 缺点:   
        A: 密码和文件内容都使用明文传输,可能产生不希望发生的窃听。   
        B: 因为必需开放一个随机的端口以建立连接,当防火墙存在时,客户端很难过滤处于主动模式下的FTP流量。这个问题3.通过使用被动模式的FTP得到了很大解决。

三:主动模式和被动模式
    1: 主动模式要求客户端和服务器端同时打开并且监听一个端口以建立连接。
        在这种情况下,客户端由于安装了防火墙会产生一些问题。
    2: 被动模式只要求服务器端产生一个监听相应端口的进程,这样就可以绕过客户端安装了防火墙的问题。
    3: 一个主动模式的FTP连接建立要遵循以下步骤:
        A: 客户端打开一个随机的端口(端口号大于1024,在这里,我们称它为x),同时一个FTP进程连接至服务器的21号命令端口。
            此时,源端口为随机端口x,在客户端,远程端口为21,在服务器。   
        B: 客户端开始监听端口(x+1),同时向服务器发送一个端口命令(通过服务器的21号命令端口),此命令告诉服务器客户端正在监听的端口号并且已准备好从此端口接收数据。这个端口就是我们所知的数据端口。   
        C: 服务器打开20号源端口并且建立和客户端数据端口的连接。此时,源端口为20,远程数据端口为(x+1)。   
        D: 客户端通过本地的数据端口建立一个和服务器20号端口的连接,然后向服务器发送一个应答,告诉服务器它已经建立好了一个连接。

四:数据表示
    FTP协议规范提供了控制文件传送与存储的多种选择。在以下四个方面中每一个方面都必须作出一个选择。
    1: 文件类型
        A: ASCII码文件类型(默认选择)文本文件以NVT ASCII码形式在数据连接中传输。这要求发方将本地文本文件转换成NVT ASCII码形式,而收方则将NVT ASCII码再还原成本地文本文件。
            其中,用NVT ASCII码传输的每行都带有一个回车,而后是一个换行。这意味着收方必须扫描每个字节,查找CR、LF对。
        B: EBCDIC文件类型该文本文件传输方式要求两端都是EBCDIC系统。
        C: 图像文件类型(也称为二进制文件类型) 数据发送呈现为一个连续的比特流。通常用于传输二进制文件。
        D: 本地文件类型该方式在具有不同字节大小的主机间传输二进制文件。每一字节的比特数由发方规定。对使用8 bit字节的系统来说,本地文件以8 bit字节传输就等同于图像文件传输。
    2: 格式控制:该选项只对ASCII和EBCDIC文件类型有效。
        A: 非打印(默认选择)文件中不含有垂直格式信息。
        B: 远程登录格式控制文件含有向打印机解释的远程登录垂直格式控制。
        C: Fortran 回车控制每行首字符是Fortran格式控制符。
    3: 结构
        A: 文件结构(默认选择)文件被认为是一个连续的字节流。不存在内部的文件结构。
        B: 记录结构该结构只用于文本文件( ASCII或EBCDIC)。
        C: 页结构每页都带有页号发送,以便收方能随机地存储各页。
    4: 传输方式:它规定文件在数据连接中如何传输。
        A: 流方式(默认选择)文件以字节流的形式传输。对于文件结构,发方在文件尾提示关闭数据连接。对于记录结构,有专用的两字节序列码标志记录结束和文件结束。
        B: 块方式文件以一系列块来传输,每块前面都带有一个或多个首部字节。
        C: 压缩方式一个简单的全长编码压缩方法,压缩连续出现的相同字节。在文本文件中常用来压缩空白串,在二进制文件中常用来压缩0字节

五:连接管理
    1:数据连接的三大用途
        A: 从客户向服务器发送一个文件。
        B: 从服务器向客户发送一个文件。
        C: 从服务器向客户发送文件或目录列表。
        FTP服务器把文件列表从数据连接上发回,而不是控制连接上的多行应答。这就避免了行的有限性对目录大小的限制,而且更易于客户将目录列表以文件形式保存,而不是把列表显示在终端上。
    2: 控制连接一直保持到客户-服务器连接的全过程,但数据连接可以根据需要随时来,随时走。
    3: 通用传输方式(Unix环境下唯一的传输方式)是流方式,并且文件结尾是以关闭数据连接为标志。这意味着对每一个文件传输或目录列表来说都要建立一个全新的数据连接。其一般过程如下:
        A: 正由于是客户发出命令要求建立数据连接,所以数据连接是在客户的控制下建立的。
        B: 客户通常在客户端主机上为所在数据连接端选择一个临时端口号。客户从该端口发布一个被动的打开。
        C: 客户使用PORT命令从控制连接上把端口号发向服务器。
        D: 服务器在控制连接上接收端口号,并向客户端主机上的端口发布一个主动的打开。服务器的数据连接端一直使用端口2 0。
    4: 异常中止一个文件的传输:Telnet 同步信号
        FTP客户是怎样异常中止一个来自服务器的文件传输。异常中止从客户传向服务器的文件很容易—只要客户停止在数据连接上发送数据,并发出ABOR命令到控制连接上的服务器即可。而异常中止接收就复杂多了,这是因为客户要告知服务器立即停止发送数据。
        FTP的客户进程也通过控制连接发送一个中断进程命令,因为两个连接正在被使用,因此没有机会用流控制来中止控制连接。
        为什么FTP发送中断进程命令作为紧急数据而Telnet不呢?答案在于FTP使用两个连接,而Te l n e t只使用一个,在某些操作系统上要求一个进程同时监控两个连接的输入是困难的。
        FTP假设这些临界的操作系统至少提供紧急数据在控制连接上已到达的通知,而后让服务器从处理数据连接切换到控制连接上来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值