spring410 发表于 2009-10-24 15:44

在上万个客户端并发连接时,vsftp的主动模式port使用的问题

请教各位大侠:
最近在看vsftp的代码知识点。。

众所周知,ftp功能实现规范需要二条通道,一条是命令通道,另一条是传数据时用的数据通道。
模式有二种:一种是主动模式(port),另一种是被模式(pasv)。

在主动模式时,客户机通知服务机它开放的端口,服务机通过默认端口号20主动去连接成功后,双方就开始
进行数据传输了。


  我看了vsftp 实现多个客户机连接的方式大概是:用一个进程来监听所有客户机的请求连接,连接成功一个客户机后,就fork出一

个进程来处理这个客户机的事务(这个是one_process_model模式)。

  当时我用两台机上的ftp客户端软件去连接vsftp服务机,再用netstat 查看了一下端口,vsftp服务机开启了2个20端口去与两个客

户机进行数据传输。是不是可以这么理解,ftp如果用的主动模式(port),不管多少个客户机来请求服务后需要进行数据通道传输

时,服务端在启动数据通道连接时都是用20端口(也就是只一个端口,而pasv模式是需要服务端开一系列的端口).

  如果以上理解正确,我有个问题就是:vsftp的性能可以支持上万个并发连接,如果是port模式,那么在启动数据通道都是用20

号端口(一个端口),这么说进程间是不是可以重用一个端口?还有这么连接重用同一个端口,数据传输会不会受到限制?

  请求大侠们批正,是我那里理解错了。谢谢,谢谢。

spring410 发表于 2009-10-25 17:48

啊。。。。。。。。。。。。。。
再顶.....

lcishot 发表于 2013-07-28 22:40

同样不懂mark下
页: [1]
查看完整版本: 在上万个客户端并发连接时,vsftp的主动模式port使用的问题