本文主要是介绍关于FTP主动模式与被动模式的一点理解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
又一次面试的时候,面试像这样问我:请简述FTP的主动模式与被动模式的区别?FTP这玩意不是天天都要用到的么,看起来这么简单的问题我居然回答不上来,好尴尬!经过几天的思考与理解,终于有点眉目,拙见让诸位见笑了。主动模式中FTP的客户端发送 PORT 命令到FTP服务器。被动模式中FTP的客户端发送 PASV命令到 FTP 服务器。
我们可以通过以下图片及文字理解每种FTP方式是怎样工作的。
主动模式(服务器向客户端敲门,然后客户端开门)FTP:
客户机与服务器之间建立连接时,客户机是大于1024的端口上,服务器是20端口。
客户机的端口是大于1024的,而服务器的端口是21端口接收请求,而是20端口给客户机回应。
允许FTP客户机从大于1024的端口连接服务器的21端口。
允许FTP服务器从21端口回应FTP客户机中大于1024端口的网络连接。
允许FTP服务器从20端口主动连接FTP客户机中大于1024的端口。
允许FTP客户机从大于1024的端口回应来自FTP服务器的20端口的网络连接。
命令连接:客户端 >1024端口 -> 服务器 21端口
数据连接:客户端 >1024端口
被动模式(客户端向服务器敲门,然后服务器开门)FTP:
客户机与服务器之间建立连接都是在大于1024的端口上的。
客户机的端口是大于1024的,而服务器的端口是21端口接收请求,而是从大于1024端口给客户机回应。
允许FTP客户机从大于1024的端口连接服务器的21端口。
允许FTP服务器从21端口回应FTP客户机中大于1024端口的网络连接。
允计FTP客户机从大于1024的端口连接FTP服务器的大于1024端口。
允许FTP服务器从大于1024的端口回应来自FTP客户机大于1024端口的网络连接。
命令连接:客户端 >1024端口 -> 服务器 21端口
数据连接:客户端 >1024端口 -> 服务器 >1024端口
主动模式对便于FTP服务器的管理,不便于对客户端进行管理。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙所阻塞。被动模式对FTP便于对客户端进行管理,不便于对服务器端进行管理。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉。
这篇关于关于FTP主动模式与被动模式的一点理解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!