RTSP协议的应用程序层网关
实时流协议(RTSP)是一种用于传输实时媒体数据的应用级协议。RTSP是媒体客户端和媒体服务器之间的控制通道协议,用于建立和控制端点点之间的媒体会话。典型的通信是客户端和流媒体服务器之间的通信。
从专用网络到公共网络的流媒体需要通过网络转换IP地址和端口号。Citrix ADC功能包括用于 RTSP 的应用程序层网关 (ALG),该网关可与大型 NAT (LSN) 一起使用,以解析媒体流并进行任何必要的更改,以确保协议在网络上继续工作。
IP地址转换的执行方式取决于消息的类型和方向,以及客户端——服务器部署支持的媒体类型。消息翻译如下:
- 出站请求——到Citrix ADC拥有的公有IP地址的私有IP地址,称为LSN池IP地址。
- 入站响应lsn池IP地址到私有IP地址。
- 入站请求-无翻译。
- 出站响应lsn池IP地址的私有IP地址。
注意
Citrix ADC独立设备,Citrix ADC高可用性设置以及Citrix ADC群集设置均支持RTSP ALG。
RTSP ALG的局限性
RTSP ALG不支持以下内容:
- 多播RTSP会话
- 通过UDP进行的RTSP会话
- TD /行政分区
- RSTP身份验证
- HTTP通道
RTSP和LSN场景
下图显示了RTSP设置请求流。通常,SENUP请求指定必须如何传输单个媒体流。请求包含媒体流URL和传输说明符。此说明符通常包括一个用于接收RTP数据(音频或视频)的本地端口,另一个用于接收服务器数据(元信息)的本地端口。服务器回复通常会确认所选参数并填充缺失的部分,例如服务器选择的端口。在发送聚合播放请求之前,必须使用SEDENT命令配置每个媒体流。
在典型的RTSP通信中,公用网络中的媒体客户端将SEUP请求发送到专用网络中的媒体服务器。RSTP ALG拦截请求,并在媒体流中,将公有IP地址和端口号替换为LSN池IP地址和LSN端口号。下图显示了Citrix ADC设备在媒体流中为出站请求执行的转换:
专用网络中的媒体服务器使用LSN池IP地址和LSN端口号发送200 OK响应到公用网络中的媒体客户端。Citrix ADCRTSP ALG 拦截响应,并将 LSN 池 IP 地址和 LSN 端口号替换为媒体客户端的公有 IP 地址和端口号。下图显示了 Citrix ADC 设备在媒体流中为入站响应执行的转换:
配置RTSP ALG
将RTSP ALG配置作为LSN配置的一部分。有关配置LSN的说明,请参阅LSN的配置步骤。配置LSN时,请确保:
- 在添加LSN池时,将NAT类型设置为确定性或动态。
- 在添加LSN应用程序配置文件时设置以下参数:
- IP池=已配对
- 地址和端口映射 = 与端点无关
- 过滤 = 与端点无关
- 创建RTSP ALG配置文件并将RTSP ALG配置文件绑定到LSN组
RTSP ALG配置示例:
以下示例配置演示了如何使用单个订阅者网络,单个LSN NAT IP地址和RTSP ALG设置创建简单的LSN配置:
启用ns特性西城SP磅CS LSN完成添加LSN池pool1 -nattype确定性做绑定LSN池pool1 10.102.218.246完成添加LSN客户机client1做绑定LSN客户机client1网络200.200.200.11子网掩码255.255.255.0完成添加LSN appsprofile app1 TCP -ippooling配对映射ENDPOINT-INDEPENDENT过滤ENDPOINT-INDEPENDENT添加完成lsn appsprofile app2 UDP -ippooling配对映射ENDPOINT-INDEPENDENT过滤ENDPOINT-INDEPENDENT完成绑定lsn appsprofile app1 1 - 65535完成绑定lsn appsprofile app2 1 - 65535完成添加lsn rtspalgprofile rtspalgprofiledefault -rtspIdleTimeout 1000 -rtspportrange 554完成添加lsn组group1列出client1 -nattype确定的-portblocksize 512 -rtspalg ENABLED完成绑定lsn group group1 -poolname pool1完成绑定lsn group group1 -appsprofilename app1完成绑定lsn group group1 -appsprofilename app2完成绑定lsn group group1 -rtspalgprofilename rtspalgprofiledefault完成