FTP是应用层的协议,它基于传输层,为用户服务,它们负责进行文件的传输。FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIME或Unencode一样。但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间会非常长,并且不时的必需执行一些冗长的登陆进程。

  FTP服务一般运行在20和21两个端口。端口20用于在客户端和服务器之间传输数据流,而端口21用于传输控制流,并且是命令通向ftp服务器的进口。当数据通过数据流传输时,控制流处于空闲状态。而当控制流空闲很长时间后,客户端的防火墙会将其会话置为超时,这样当大量数据通过防火墙时,会产生一些问题。此时,虽然文件可以成功的传输,但因为控制会话会被防火墙断开,传输会产生一些错误。

FTP主动模式

 

 FTP被动模式

  ====总结就是,FTP协议是多通道协议,21端口是控制通道、20端口是数据通道;主动模式是FTP服务器主动发起连接,被动模式是客户端主动发起连接;

 被动模式下,问题较少;主动模式下,会存在一些问题,案例如下:

(防火墙上需要事先在ALG应用网关或者ASPF配置中间FTP选中)

内网用户访问外网FTP服务,如果使用passive模式,可以正常使用;

如果使用active模式,因为发送port指令给FTP服务器的时候,使用的内网地址,所以公网FTP服务器无法连接到内部客户端,造成访问失败;

—-这里request arg:101281919716137

其中标黄字段是客户端的IP地址-10.128.19.197,标绿字段是客户端提供的用来建立数据隧道的端口号(计算方式:161*256+37=41253)

 

F5有针对该情况的配置(检测到FTP主动模式,会将port命令中的信息NAT成公网ip),防火墙上应该也是类似的;

配置outbound的ftp vs后,当有ACTIVE模式的ftp流量出去时,F5会把port命令中的内网地址转变为外网的snat地址,同时会在snat地址上临时开放port指令中的端口,以便接收FTP服务器过来的连接;

原文地址:http://www.cnblogs.com/dier-gaohe/p/16807578.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性