FTP 原理详解
2015-05-19 15:54
246 查看
本文主要是说一下 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 (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服务工作原理及配置详解终极篇
- FTP服务器工作原理及配置详解
- FTP命令详解
- linux下FTP、SFTP命令详解
- 线段树详解 (原理,实现与应用)
- Android分包MultiDex原理详解
- js中几种实用的跨域方法原理详解
- JavaScript注入漏洞的原理及防范(详解)
- 结合http详解基于域名的虚拟主机访问详细原理及过程
- spring中事务原理详解
- 使用 LVS 实现负载均衡原理及安装配置详解
- ftp 命令详解
- 高性能Mysql主从架构的复制原理及配置详解
- java无锁hashmap原理与实现详解
- jsonp原理和详解
- JS中的this原理详解
- 详解php实现页面静态化原理
- 图像处理中的数学原理详解(Part1 总纲)
- 详解CRLF注入攻击的原理和其防范措施
- Win7下的内置FTP组件的设置详解