E1000E配置基于端口的NAT Server FTP业务登录慢问题的解决方法

发布时间:  2012-12-28 浏览次数:  328 下载次数:  0
问题描述
组网结构:
        外网 ----- E1000E ----- FTP Server
故障现象:当设备对FTP Server配置的是基于全局的NAT Server时,外网客户端登录FTP Server很快;而当设备对FTP Server配置的是基于21端口的NAT Server时,外网登录FTP Server很慢,基本要20秒左右时间才能登录成功。
告警信息
处理过程
1、 分析问题现象,是FTP客户端访问服务器登录慢,是控制通道交互报文,还没涉及到数据通道交互情况。
2、 分析配置,FTP控制通道交互消息理论上基于端口的NAT Server处理与基于全局的NAT Server处理是没有区别的。
3、 登录慢原因无非是报文丢包重传或者报文服务器回应慢导致的,在防火墙配置远程抓包功能,抓取FTP控制通道报文。当配置基于端口的NAT Server时,服务器给客户端发TCP ACK报文后,过20秒才发Login successful消息,所以导致客户端登录慢现象。
而在配置全局NAT Server时,服务器在回应客户端TCP ACK报文后马上回应登录成功消息,所以客户端登录快。
4、 进一步分析服务器回应Login successful消息慢的抓包,发现FTP服务器收到FTP客户端发的用户名和密码后,FTP服务器向DNS服务器发DNS请求报文。
当配置基于端口的NAT Server时,FTP服务器发的DNS报文由于没有匹配NAT Server和NAT Outbound,即不做NAT转换,导致DNS请求没有应答,多次重传直到超期,即过20秒FTP服务器回应登录成功消息给FTP客户端,从而导致FTP登录慢现象。而在配置全局NAT Server时,DNS服务器很快回应DNS应答报文给FTP服务器,此时FTP服务器马上回应登录成功消息给FTP客户端。
5、 经过确认,现网FTP服务器进行用户名和密码验证时先使用远端服务器验证,如果没有响应则使用本地验证方式。现网给FTP服务器配置NAT Outbound后,问题解决。
根因
FTP服务器收到FTP客户端发的用户名和密码后,先使用远端服务器进行验证,如果没有响应则使用本地验证方式,所以FTP服务器需要向公网DNS服务器发DNS请求报文获取远端服务器地址。当设备对FTP Server配置的是基于全局的NAT Server时,DNS服务器很快回应DNS应答报文给FTP服务器,此时FTP服务器马上进行验证回应登录成功消息给FTP客户端。而当设备对FTP Server配置的是基于21端口的NAT Server时,FTP服务器发的DNS报文由于没有匹配NAT Server和NAT Outbound,即不做NAT转换,导致DNS请求没有应答,多次重传直到超期,即过20秒后FTP服务器使用本地验证回应登录成功消息给FTP客户端,从而导致FTP登录慢现象。这种情况下,需要给FTP服务器配置NAT Outbound。
建议与总结
1、 业务访问慢一般是报文丢包重传或者报文回应慢导致;
2、 定位报文回应慢时,需要结合应用场景和整个交互流程分析,有可能是一条数据流依赖另外一条数据流资源,存在由于第二条数据流获取数据或者资源慢导致第一条数据流响应慢情况。

END