Ftp 主动模式与被动模式

1、完成一个FTP的传输过程不仅仅只需要21一个端口,而是2个端口,21端口只是一个命令端口,其实另外还有一个数据端口,我想这就是有些朋友在内网架设FTP并且在网关上做了21端口的映射之后外网还是不能访问的原因吧,另外一个数据端口是多少呢?这又牵涉到另外一个问题。 
 
  2、FTP具有两种模式,分别是port模式(也叫主动模式)和pasv模式(也叫被动模式),怎么来理解这两种模式呢?我来打个比喻吧,在主动模式下:客户端给服务器端的21端口发命令说,我要下载什么什么,并且还会说我已经打开了自己的某个端口,你就从这里把东西给我吧,服务器知道后就会通过另外一个数据端口把东西传给客户端,这就是主动模式,可以理解为服务端主动给客户端传输文件;在被动模式下:客户端给服务器端的21端口发命令说,我要下载什么什么,服务器端知道后,就打开一个端口,然后告诉客户端,我已经打开了某某端口,你自己进去拿吧,于是客户端就从那个端口进去拿文件了,这就是被动模式,可以理解为服务端被客户端拿走了东西,哈哈,可以看懂吧。 
 
  在FTP的历史中,本来只有主动模式的,但是为什么又出现了被动模式呢?这又牵涉到另外一个问题了,呵呵~ 
 
  3、在很久以前(我也不知道多久),地球上还没有什么共享上网这种技术,但是后来出现了,所以也就有了下面的问题,大家都知道,共享上网就是很多台电脑共享一个公网IP去使用internet,再打个比喻吧,某个局域网共享210.33.25.1这个公网IP上网,当一个内网用户192.168.0.100去访问外网的FTP服务器时,如果采用主动模式的话,192.168.0.1告诉了FTP服务器我需要某个文件和我打开了x端口之后,由于共享上网的原因,192.168.0.1在出网关的时候自己的IP地址已经被翻译成了210.33.25.1这个公网IP,所以服务器端收到的消息也就是210.33.25.1需要某个文件并打开了x端口,FTP服务器就会往210.33.25.1的x端口传数据,这样当然会连接不成功了,因为打开x端口的并不是210.33.25.1这个地址,在这种情况下被动模式就有用了,相信大家已经能够理解被动模式是怎么个连接法了吧

posted @ 2017-11-21 13:45  js王  阅读(322)  评论(0编辑  收藏  举报