标签:ftp
本文主要是说一下 FTP 的两个连接 ,两种模式
FTP (File Transfer protocol) 是一种文件传输协议
FTP 是一种文件共享服务 ,工作于应用层
这里顺便提一下 nfs 利用 RPC : Remote Procedure Call(远程过程调用)
这里强调一下RPC的作用 :能够让位于不同主机上的进程基于2 进制的格式实现进程通信
Samba 利用 CIFS/SMB
ftp 主要工作于 tcp 的 21 号 端口 : 21/tcp
与其它单个连接的不同 FTP 有 2 个连接:
(1) 命令连接 : 也叫 控制连接 ,工作于 21/tcp
如不特殊定义,一直存在,但不传输数据
一直在线
只要客户端不断开就一直处于连接状态
(2) 数据连接 : (这个有两种情况)
1. 主动模式 : 20/tcp
也就是说,如果客户端请求数据时,服务器端自己打开一个端口去连接客户 端的一个空闲端口,如果客户端相应则开始传输数据(但是这种模式存在一个
问题,也即是客户端的防火墙问题,主动模式的请求会被防火墙拦住)
2.被动模式
当客户端请求数据时,客户端通过命令连接发送一个报文告诉客户端一个打 开的等待客户端连接的端口,让客户端自己去连接。
注意: 一般我们说主动被动都是相对于服务端来讲的 。
防火墙的主要作用是关闭端口,但是从本机请求可以出去,外部请求的却不能通过。
而且本机的请求得到的响应也能通过。
注意请求和响应的区别。
在被动模式下服务端打开的端口是不确定的, 在主动模式下客户端打开的端口是
不确定的。
上面所说的被动连接模式会出现一个问题,就是主机的安全问题。 不过,现在的防火墙有 一个功能
叫做连接追踪,也就是说它能识别上面 命令连接 和 数据连接 的相关联关系,对 客户端的请求放行。
FTP 的数据传输格式(自动模式) :
二进制
文本
注意: 传输格式应该遵循文件本身的格式, 不然会得到乱码。
拓展 : 现在互联网上的数据传输类型
1 结构化数据 2 半结构化数据 3 非结构化数据
标签:ftp
原文地址:http://zhuoran.blog.51cto.com/10244629/1652836