FTP是用于文件传输的internet标准。
FTP采用两个TCP连接来传输一个文件:
1,控制连接以通常的客户服务器方式建立,服务器被动打开21号端口,客户主动打开21端口,并于服务器的21号端口建立连接。
2,每启动一个文件的传输,就创建一个新的数据连接。
其传输模型如下图:
FTP提供了控制文件传输和存储的多种选择,在以下四个方面中的每一个都必须做出一个选择:
每个方面的第一个选项为默认选项,unix也只支持这些默认选项
1,文件类型:
a,ASCII码文件类型文本文件以NVT ASCII码形式在数据连接中传输,发送方将文本->NVT ASCII,接收方将NVT ASCII->文本。用NVT ASCII传输的每行都带有CR LF对。
b,EBCDIC文件类型 该文本传输方式要求两端都是EBCDIC系统。
c,图像文件类型 数据发送呈现为一个连续的比特流。
d,本地文件类型 每一个字节的bit数由发方规定,对于8bit字节的系统俩说,等同于图像文件传输。
2,格式控制(针对ASCII和EBCDIC类型文件有效):
a,非打印 文件中不含有垂直格式信息。
b,远程登录格式控制 文件含有向打印机解释的远程登录垂直格式控制。
c,Fortran回车控制 每行首字符是Fortran格式控制符。
3,结构
a,文件结构 文件被认为是一个连续的字节流。
b,记录结构 只用于文本文件(ASCII/EBCDIC)。
c,页结构 每页都带有页号发送,以便对端能随机的存储各页。
4,传输方式
a,流方式 文件以字节流的形式传输;
对于文件结构,发送端在文件尾提示关闭数据连接;
对于记录结构,有专用两字节序列码记录结束和文件结束。
b,块方式 文件以一系列块来传输,每块前面都带有一个或多个首部字节。
c,压缩方式 压缩连续出现的相同字节