文件传输协议
FTP
FTP采用典型的C/S架构(即服务器端与客户端模型),客户端与服务器端建立TCP连接之后即可实现文件的上传、下载。
FTP有两种传输模式:
- ASCII模式:传输文本文件。 对文本内容进行编码方式转换,提高传输效率。
- Binary(二进制)模式:非文本文件,如图片、可执行程序。以二进制直接传输原始文件内容。
FTP的工作模式:
无论主动模式还是被动模式,都是客户端先使用随机端口向服务端的21端口发起连接。
- 主动模式(port):指在传输数据时FTP服务器主动向客户端发起连接。 服务端→客户端
- 首先客户端使用随机端口向服务器的21端口发起TCP连接建立,完成TCP三次握手;之后会去协商用户名、密码、权限等等,然后客户端会监听另一随机端口P,并且使用port命令通知服务器,。然后服务器端使用20端口主动向客户端的端口P发起TCP连接,建立传输连接。
- 被动模式(pasv):指在传输数据时FTP客户端主动向服务器发起连接。 客户端→服务端
- 首先客户端使用随机端口向服务器的21端口发起TCP连接建立,完成TCP三次握手;之后会去协商用户名、密码、权限等等,然后客户端会监听另一随机端口P,并使用PASV命令通知服务器,FTP收到后,也会开启一个随机端口N,并使用Enter PASV命令告知客户端自身开放的端口号。然后FTP客户端从端口P向FTP服务器端口N发送TCP连接,建立传输连接。
FTP的21端口是控制通道使用的,20端口是传输通道用的。
FTP使用2个通道来工作
- 控制通道(命令通道):使用TCP,用来下达FTP的操作指令,登录认证。协商验证用户名、密码、权限等。
- 数据通道(传输通道):使用TCP,用来传输数据、文件。
配置命令-设备作为服务器端
配置命令-设备作为客户端
简单文件传输协议
TFTP
TFTP基础
相较于FTP,TFTP的设计就是以传输小文件为目标,协议实现就简单很多。
- 使用UDP进行传输(端口号69)
- 无需认证
- 只能直接向服务器端请求某个文件或上传某个文件,无法查看服务器端的文件目录
配置命令-设备作为客户端