FTP,TFTP,SFTP 文件传输协议

本文内容

wiki 中的解释

FTP 概述

	File Transfer Protocol (FTP) 文件传输协议是一个网络协议标准,用于服务端和客户端在计算机网络上传输计算机文件。
		FTP 是基于clien-server的现代结构,在客户端与服务端之间使用控制连接与数据连接分离的方式。FTP 用户可能需要通过明文登录进行验证,
	通常是以账户密码的形式,但如果设置允许匿名登陆,也可以不需要验证,以匿名用户进行登陆。
	为了保证传输安全以及用户名密码的安全,FTP 经常使用SSL/TLS协议进行保护(FTPS),或者使用 SSH File Transfer Protocol(SFTP).
	    在拥有图形化界面的操作系统诞生之前,第一个FTP客户端应用就以命令行的方式被开发出来了,现在的大部分Windwos, Unix, Linux 操作
    系统中都会默认安装FTP。从那以后,许多FTP 客户端 和 各语言的程序包被开发出来用于桌面计算机,服务器,移动设备,硬件。且被整合进
    用户产品级的应用程序,例如 HTML 编辑器

FTP 的发展历史

	FTP 的原始规范是由Abhay Bhushan 在 1971/04/16 发布为 RFC 114, 直到1980 年才开始用在 NCP 上(NCP 是 TCP/IP的前身)
	该协议后来出现了TCP/IP版本,在1980年6月发布 RFC 765, 在 1985年10月发布RFC 959, 当前的版本是在 RFC 959 之上,
	增订了几项标准,例如,1994年二月的RFC 1579(增加 Firewall-Friendly 被动模式),1997年6月的RFC 2228(提议安全扩展),
	1998年9月的RFC 2428(增加对IPv6的支持,定义新的被动模式)

协议的主要内容

FTP协议 简介

  1. FTP 协议是ISO 模型层的应用层协议,该协议使用TCP协议进行传输数据,默认端口是 20 ,21(双端口)
  2. FTP 协议出现较早,在如今的浏览器中直接输入FTP可直接访问,各大操作系统也默认安装FTP协议
  3. 现如今文件传输和共享服务,出现了云盘,还有各式各样的应用程序都支持文件传输,但在企业内网(局域网中)使用FTP 服务还是很多的
  4. FTP 基于client - server,支持用户登录

FTP 传输原理

  1. FTP 服务器 与 客户端,这里使用Linux 中的开源软件 vsftp 作为服务器,客户端使用浏览器进行操作
  2. FTP 服务器由两部分组成,一部分是控制服务,另一部分是数据传输服务,控制服务一直保持监听状态,当客户端发起请求后,控制服务接受到请求后,就开启一个数据传输服务,与客户端进行通信,当客户端结束访问时,数据传输服务就终止了
  3. 客户端也有两部分,相对应的是连接服务和数据传输服务,当连接服务发起请求后,客户端就会在后台开启数据传输服务,开始监听,等待服务器的数据传输服务进行连接。

FTP 传输细节

文件类型与文件传输模式
  1. 文件传输模式有三种,数据流模式,数据块模式,压缩模式

FTP 主动模式与被动模式

FTP 的衍生版本 (Derivatives)

  1. FTP 的变体1 TFTP (Trivial File Transfer Protocol) 小型的FTP(简单文件传输协议)
  2. FTP 的变体2 SFTP (Secure Shell File Transfer Protocol 安全FTP) 也就是 SSH FTP SH 表示 shell

参考文章

  • FTP与TFTP1
  • FTP与TFTP2
  • wiki 百科 – FTP

你可能感兴趣的:(基础使用)