码迷,mamicode.com
首页 > 其他好文 > 详细

FTP 原理详解

时间:2015-05-19 16:49:48      阅读:140      评论:0      收藏:0      [点我收藏+]

标签: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 原理详解

标签:ftp

原文地址:http://zhuoran.blog.51cto.com/10244629/1652836

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!