标签:端口转发 发送数据 tab 开始 编码器 解码 路由 inf list
? 功能现在市场上能够见到的防火墙,基本都是能够进行状态检测的状态防火墙(stateful firewall,现在由于这个功能过于普遍,也就不再有人特意提出这个概念了),它能够进行状态数据包检查或状态查看,实现连接追踪(connection tracking)的功能,而Rendezvous模式正是倚靠这个功能来创建一个贯穿两个防火墙的网络通道,并在其中进行数据传输。
防火墙在工作时,会根据正在传输的流量,创建一个连接追踪表(connection tracking table),并保持动态更新。
例如在上图中,在防火墙A中的连接追踪表会记录下源设备(编码器)的内网IP和端口号、NAT转换后的公网IP和端口号、以及访问的目标设备(解码器)防火墙的公网IP和端口,如下表:
这时,当对端发来数据包时,防火墙A的连接追踪表还会记录下另一条反向入站信息,如下表:
当反向的数据包到达防火墙A时,发送数据与接收数据相同的端口号会对防火墙A产生“欺骗”效果,让它认为收到的入站数据是对出站数据的回复消息,从而允许数据包通过防火墙,一直到这个传输会话断开,SRT连接也就这样建立起来了。
在大多数场景中,我们用的网络设备(防火墙和路由器)都是使用PAT(NAT重载)进行局域网IP到公网IP的地址转换。这时,网络设备在转换地址时都会改变源端口号,所以Rendezvous模式大多无法使用,不如直接用路由器做静态端口映射规则来的方便,这样就可以在这端使用Listener的模式,监听映射的端口,另一端使用Caller模式建立连接;相比之下,Rendezvous模式反而是很少被用到。
标签:端口转发 发送数据 tab 开始 编码器 解码 路由 inf list
原文地址:https://blog.51cto.com/14437544/2492678