文件协议类型
名称 | 作用 |
---|---|
FTP | 文件传输协议,实现不同的os之间的文件的传输 |
NFS | 网络传输协议,共享存储,主要用于linux与nginx之间共享 |
SMABA | linux与windows之间的共享,共享文件及打印机,将linux客户端加入windows的域 |
FTP文件传输协议,基于TCP
FTP使用两次连接:
命令通道
数据通道(ftp-data)
FTP工作过程了类型:
被动模式(PASV)
主动模式(Active)
FTP服务系统由三部分组成:
服务器软件
客户端软件
FTP通信协议(TCP协议+FTP协议)
用户类型:
本地用户(user)
匿名用户(anonymous)
虚拟用户(guest)
主动模式工作过程
1、建立命令连接通道(第一条连接)
客户端随机打开一个大于1024 的端口port N,连接到服务器端的21号端口,发送自己的用户名及密码进行登录。
2、通知FTP服务器端使用Active且告知传输数据连接的端口号
FTP服务端21号主要用于命令的执行,当需要传输数据时,客户端发出port命令告诉服务器自已开放的随机端口 port N+1,请求其连接。
3、FTP服务器主动向客户端连接(第二条连接)
服务器收到port命令后,通过20号端口主动发起与客户端port N+1端口建立数据连接,在数据通道上进行传输数据。
FTP建立两条连接,分别用在命令的执行与数据的传递,默认FTP服务器端使用 20 号端口主动连接。
命令通道的ftp:(默认port 21)
数据传输的ftp-data:(默认 port 20)
数据传输通道是在有数据传输的行为时才会建立连接,并不是一开始就建立。
被动模式工作过程
1、用户与服务器建立命令连接
客户端随机打开一个大于1024 的端口port N,连接到服务器端的21号端口,发送自己的用户名及密码进行登录。
2、客户端发出PASV的连接请求
当需要传输数据时,客户端发出PASV命令,让服务器进入被动模式。
3、FTP服务器启用数据端口,并通知客户端连接
服务器收到PASV命令后,会向客户端返回6个字段的字符串
前四段是服务器IP地址,后2段是计算服务端数据端口号的两个参数,算出 port P 端口并通知客户端。
4、客户端随机取用大于1024的端口进行连接
客户端随用 port N+1 端口与port P端口发起连接,建立数据连接通道。
构建FTP服务器
使用vsftpd软件(very secure FTP daemon)
优点:安全、高速、高