Citrix ADC

STUN 超时

STUN(适用于 NAT 的会话遍历实用程序)允许在 NAT 设备后运行的最终主机发现其 NAT IP 地址和 NAT 设备分配的 NAT 端口。在这些主机上运行的交互式通信应用程序(例如实时语音、视频和消息传递)使用 STUN 协议发现 NAT IP 地址和端口信息。这些应用程序使用此信息连接到 Internet 中的对等应用程序。STUN 协议包括驻留在 Internet 中的服务器(称为 STUN 服务器)。使用 STUN 协议,最终主机的应用程序将请求发送到已知的 STUN 服务器,然后该服务器将 NAT IP 地址和端口嵌入其响应数据包的有效负载中。

在 ISP 的 Citrix ADC 设备的 LSN 部署中,订阅者上运行的交互式通信应用程序(例如实时语音、视频和消息传递)可以使用 STUN 协议来发现它是否位于 NAT(Citrix ADC 设备)设备后面。这些应用程序向已知 STUN 服务器发送请求。接收请求后,Citrix ADC 将为此请求分配 NAT IP 地址和端口,创建 LSN 会话和 LSN 映射条目,转换具有分配的 NAT IP 地址和端口的数据包,然后将数据包转发到 STUN 服务器。STUN 服务器将分配的 NAT IP 地址和端口嵌入到其响应数据包的有效负载中。当订阅者最终接收数据包时,从数据包的有效负载中得知数据包位于 NAT 设备后面,以及为会话分配的 NAT IP 地址和端口。

然后,应用程序通知对等应用程序,它可以在 NAT IP 地址和为 STUN 会话创建的 LSN 映射条目的端口访问。它通过将 NAT IP 地址和端口嵌入到发送到对等应用程序的数据包的有效负载中进行通知。为了使应用程序在任何外部应用程序的相同 LSN 映射条目下可访问,对 Citrix ADC 设备上的 LSN 配置启用了完整锥 NAT(无关端点映射和无关端点筛选)。

如果请求数据包发往 TCP 或 UDP 端口 3478,Citrix ADC 将检测到 STUN 类型的 LSN 会话,然后标记为 STUN 类型的创建映射条目。Citrix ADC 将名为 STUN 超时的超时应用于创建的 STUN LSN 映射条目。STUN 超时是 Citrix ADC 保持空闲 STUN LSN 映射条目自任何 LSN 会话上次使用该条目以来的最长时间。如果 STUN LSN 映射会话未使用的时间超过 STUN 超时,Citrix ADC 将删除映射条目。

对于使用 STUN LSN 映射条目保持对 Internet 上的其他对等应用程序可用的订阅者上的应用程序,应用程序会定期向 Citrix ADC 设备发送保持活动状态消息,以便 STUN LSN 映射条目不会超时。更高频率的保持活动消息可能会对订阅者的性能产生影响,特别是如果订阅者是移动设备。STUN 超时值越高,可降低订阅者保持活动状态消息的频率。

Citrix ADC 设备上的 ALG 不适用于使用 STUN LSN 映射条目的 LSN 会话,因为 NAT IP 地址和 NAT 端口在与会话相关的数据包的有效负载中进行通信。

对于使用 STUN 协议的用户应用程序,LSN 配置必须具有以下设置:

  • STUN 超时。在 LSN 配置中,LSN 组包括 STUN 超时设置。
  • STUN 协议端口与端点无关的映射和端点过滤。

有关创建 LSN 配置的说明,请参阅LSN 的配置步骤

示例:

以下示例 LSN 配置适用于通过 TCP 或 UDP 使用 STUN 协议的应用程序。STUN 超时设置为 10 分钟。针 对 STUN TCP 端口 (3748) 和 STUN UDP 端口 (3748) 设置了与端点无关的映射和与端点无关的筛选。

add lsn client LSN-CLIENT-1

Done

bind lsn client LSN-CLIENT-1 -network 192.0.2.0 -netmask 255.255.255.0

Done

add lsn pool LSN-POOL-1

Done

bind lsn pool LSN-POOL-1 203.0.113.3

Done

add lsn group LSN-GROUP-1 -clientname LSN-CLIENT-1  -stuntimeout 10

Done

bind lsn group LSN-GROUP-1 -poolname pool1 LSN-POOL-1

Done

add lsn appsprofile LSNAPPSPROFILE-TCP-STUN-1 TCP -mapping ENDPOINT-INDEPENDENT –filtering  ENDPOINT-INDEPENDENT

Done

bind lsn appsprofile LSNAPPSPROFILE-TCP-STUN-1 3748

Done

bind lsn group LSN-GROUP-1 -applicationprofilename LSNAPPSPROFILE-TCP-STUN-1

Done

add lsn appsprofile LSNAPPSPROFILE-UDP-STUN-1 UDP -mapping ENDPOINT-INDEPENDENT –filtering  ENDPOINT-INDEPENDENT

Done

bind lsn appsprofile LSNAPPSPROFILE-UDP-STUN-1 3748

Done

bind lsn group LSN-GROUP-1 -applicationprofilename LSNAPPSPROFILE-UDP-STUN-1

Done

STUN 超时