目录
ALG 应用层网关讲解
Client1使用FTP主动模式建立FTP
Client1使用FTP被动模式建立FTP
STUN讲解
ALG 应用层网关讲解
用来替换应用层信息
Client1使用FTP主动模式建立FTP
主动模式:服务器收到客户端发来的请求FTP的地址和端口
服务器使用20端口直接向客户端建立FTP连接
如果没有开启ALG,使用Client1访问Server1(主动模式)
Client1告诉服务器自己的地址,服务器主动建立连接,此时连接建立失败
此时开启ALG,使用Client1访问Server1(主动模式)
AR1系统视图:nat alg all enable
Client1使用FTP被动模式建立FTP
被动模式:服务器告知客户端自己开启的FTP数据通道的IP地址和端口
然后由客户端主动向服务器发起连接
如果没有开启ALG,使用Client1访问Server1(被动模式)
服务器发给客户端的FTP数据通道的IP地址和端口是私网的,客户端访问不到
此时开启ALG,使用Client1访问Server1(被动模式)
AR2系统视图下:nat alg all enable
STUN讲解
NAT ALG的缺陷
NAT ALG需要读取协议报文内容,对于新的协议或者私有的协议,NAT ALG基本不支持,需要升级NAT ALG特性
此时就提出了STUN(NAT会话穿越应用程序)
NAT过滤方式
endpoint-dependent Port -Restricted Cone NAT(端口限制圆锥型)
与外部地址相关、端口无关的NAT过滤方式
endpoint-independent Full Cone NAT(完全圆锥型)
与外部地址和端口都无关的NAT过滤方式
endpoint-and-port-dependent Restricted Cone NAT(限制圆锥型)
与外部地址和端口都有关的NAT过滤方式(缺省)
STUN如何实现
需要在NAT设备修改NAT过滤方式
通过STUN客户端和STUN服务端之间的报文交互,发现NAT设备的存在
确定NAT设备对某个私网所做转换后的IP地址和端口号
然后在设备经过Stun客户端时,就将其转后后的公网IP地址和端口填写入报文中
注意事项
绑定请求和绑定响应的信息如果不一样表示经过了NAT设备,一样表示没有经过NAT设备
STUN典型组网
STUN客户端一般部署在Edge站点,发送绑定请求和接收绑定响应
STUN客户端与STUN服务器进行报文交互后,发现NAT设备,然后STUN客户端之间建立好数据通道,此时站点之间就可以成功建立Overlay隧道