ftp的主动模式和被动模式区别:

ftp的主动模式和被动模式区别:

主动模式:
1、客户端使用非特权端口N向服务端的21端口发起三次握手建立tcp连接用于传输命令。
2、服务端通过20端口主动去连接客户端的N+1端口(具体端口号是客户端通过建立好的传输命令通道告知服务端的)建立连接用于传输数据。

场景:

  FTP CLient——》防火墙/路由器——》Internet——》FTP Server

客户端处于内网环境下,服务端处于互联网上,客户端访问互联网上的服务都是通过防火墙或者路由器做snat

这种场景下,服务端通过20端口主动发起连接到客户端N+1端口一般是被防火墙或路由器拦截掉,因为无法确认客户端N+1端口

被动模式:
1、客户端使用非特权端口N向服务端的21端口发起三次握手建立tcp连接
2、服务端会将数据传输端口P通过命令传输通道告知客户端,由客户端的N+1端口主动向服务端的端口P建立连接
这样由客户端主动发起连接,就可以避免了主动模式的缺陷

参考了两篇文章:

https://blog.csdn.net/qq_16038125/article/details/72851142 

https://blog.csdn.net/pengshengli/article/details/82996258

原文地址:https://www.cnblogs.com/tianleblog/p/12716730.html