TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来
在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。
TFTP是一个传输文件的简单协议,它基于UDP协议而实现,但是我们也不能确定有些TFTP协议是基于其它传输协议完成的。此协议设计的时候是进行小文件传输的,数据以定长512字节传输。每个数据包包括一块数据,服务器发出下一个数据包以前必须得到客户对上一个数据包的确认。如果一个数据包的大小小于512字节,则表示传输结构。如果数据包在传输过程中丢失,发出方会在超时后重新传输最后一个未被确认的数据包。通信的双方都是数据的发出者与接收者,一方传输数据接收应答,另一方发出应答接收数据。这个协议限制很多,这是都是为了实现起来比较方便而进行的。
因为TFTP使用UDP,而UDP使用IP,IP可以还使用其它本地通信方法。因此一个TFTP包中会有以下几段:本地媒介头,IP头,数据报头,TFTP头,剩下的就是TFTP数据了。TFTP在IP头中不指定任何数据,但是它使用UDP中的源和目标端口以及包长度域。由TFTP使用的包标记(TID)在这里被用做端口,因此TID必须介于0到65,535之间。 二.
TFTP ALG应用需求
由于TFTP协议属于多通道协议,即控制通道与数据通道使用不同的连接,当防火墙部署在出口网络中时,控制通道建立连接成功之后,若无TFTP ALG功能,防火墙无法识别后续TFTP协议的数据连接会话而被其阻断;数据传输将出现问题。 三.
典型应用组网 1)
TFTP客户端置于内网,服务器置于外网(组网如下)
PC Client------------------------防火墙---------Internet--------------------Server IP:11.12.13.100 NAT后IP:172.30.158.1 IP:100.1.1.1 预置条件:防火墙Trust-Untrust全放通,反之全阻断,开启TFTP ALG功能
在上面的组网环境中,整个数据访问流程过程如下: 1. 2. 3. 4. 5.
PC访问Server的69端口请求文件下载,11.12.13.100:6789100.1.1.1:69 经过防火墙SNAT转换,172.30.158.1:6789100.1.1.1:69
Server响应请求,返回数据;100.1.1.1:4562172.30.158.1:6789(TFTP ACL ALG) 经过防火墙NAT还原;100.1.1.1:456211.12.13.100:6789(TFTP NAT ALG) 数据到达PC,PC返回ACK,数据传输成功;
在以上数据访问流程中,若没有开启ALG功能,在第3步中防火墙会将后续的数据报文协商(由外网Server主动发起)识别为非法流量而被阻断,在第4步中不会根据协议的控制连接会话将数据连接的目的IP进行NAT还原成PC私网IP。 2)
TFTP客户端置于内网,服务器置于外网(组网如下)
Server-----------------------防火墙---------Internet--------------------PC Client IP:11.12.13.100 SNAT后IP:172.30.158.1 IP:100.1.1.1 DNAT前IP:172.30.158.251
预置条件:防火墙Trust-Untrust全放通,反之只放通UDP 69号端口,开启TFTP ALG功能
在上面的组网环境中,整个数据访问流程过程如下: 1. 2. 3. 4. 5.
PC访问Server的69端口请求文件下载,100.1.1.1:6789172.30.158.251:69 经过防火墙DNAT转换,100.1.1.1:678911.12.13.100:69 Server响应请求,返回数据;11.12.13.100:4562100.1.1.1:6789
经过防火墙NAT还原;172.30.158.251:4562100.1.1.1:6789(TFTP NAT ALG) 数据到达PC,PC返回ACK,数据传输成功(TFTP ACL ALG)
在以上数据访问流程中,若没有开启ALG功能,在第4步中不会根据协议的控制连接会话将数据连接的源IP进行NAT还原成172.30.158.251而是会直接将其进行SNAT变成172.30.158.1,此时数据连接会出现问题,在第5步中防火墙会将后续的由外网
Server主动返回的ACK报文识别为非法流量而被阻断。
因篇幅问题不能全部显示,请点此查看更多更全内容