ADC

RTSP 协议的应用程序层网关

实时流媒体协议 (RTSP) 是用于传输实时媒体数据的应用程序级协议。RTSP 是媒体客户端和媒体服务器之间的控制信道协议,用于建立和控制端点之间的媒体会话。典型的通信是在客户端和流媒体服务器之间。

将媒体从专用网络传输到公共网络需要通过网络转换 IP 地址和端口号。NetScaler 功能包括适用于 RTSP 的应用层网关 (ALG),该网关可与大规模 NAT (LSN) 一起使用,以解析媒体流并进行任何必要的更改,以确保协议继续在网络上运行。

IP 地址转换的执行方式取决于消息的类型和方向,以及客户端-服务器部署支持的媒体类型。消息翻译如下:

  • 出站请求 — NetScaler 拥有的公有 IP 地址的专用 IP 地址,称为 LSN 池 IP 地址。
  • 入站响应-LSN 将 IP 地址汇集为专用 IP 地址。
  • 入站请求—不进行翻译。
  • 出站响应-LSN 池 IP 地址的专用 IP 地址。

注意

NetScaler 独立设备、NetScaler 高可用性设置以及 NetScaler 群集设置都支持 RTSP ALG。

RTSP ALG 的局限性

RTSP ALG 不支持以下内容:

  • 多播 RTSP 会话
  • UDP 上的 RTSP 会议
  • TD/管理员分区
  • RSTP 身份验证
  • HTTP 通道

RTSP 和 LSN 场景

通常,RTSP SETUP 请求会指定必须如何传输单个媒体流。该请求包含媒体流 URL 和传输说明符。该说明符通常包括一个用于接收 RTP 数据(音频或视频)的本地端口,以及另一个用于接收 RTCP 数据(元信息)的本地端口。服务器回复通常会确认所选参数并填补缺失的部分,例如服务器选择的端口。在发送聚合播放请求之前,必须使用 SETUP 命令配置每个媒体流。

在典型的 RTSP 通信中,公共网络中的媒体客户端向专用网络中的媒体服务器发送 SETUP 请求。RSTP ALG 拦截请求,并在媒体流中将公有 IP 地址和端口号替换为 LSN 池 IP 地址和 LSN 端口号。

专用网络中的媒体服务器使用 LSN 池 IP 地址和 LSN 端口号向公共网络中的媒体客户端发送 200 OK 响应。NetScaler RTSP ALG 拦截响应,将 LSN 池 IP 地址和 LSN 端口号替换为媒体客户端的公有 IP 地址和端口号。

配置 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 配置:

enable ns feature WL SP LB CS LSN

Done

add lsn pool pool1 -nattype DETERMINISTIC

Done

bind lsn pool pool1 10.102.218.246

Done

add lsn client client1

Done

bind lsn client client1 -network 200.200.200.11 -netmask 255.255.255.0

Done

add lsn appsprofile app1 TCP -ippooling PAIRED -mapping ENDPOINT-INDEPENDENT -filtering ENDPOINT-INDEPENDENT

Done

add lsn appsprofile app2 UDP -ippooling PAIRED -mapping ENDPOINT-INDEPENDENT -filtering ENDPOINT-INDEPENDENT

Done

bind lsn appsprofile app1 1-65535

Done

bind lsn appsprofile app2 1-65535

Done

add lsn rtspalgprofile rtspalgprofiledefault -rtspIdleTimeout 1000 -rtspportrange 554

Done

add lsn group group1 -clientname client1 -nattype DETERMINISTIC -portblocksize 512 -rtspalg ENABLED

Done

bind lsn group group1 -poolname pool1

Done

bind lsn group group1 -appsprofilename app1

Done

bind lsn group group1 -appsprofilename app2

Done

bind lsn group group1 -rtspalgprofilename rtspalgprofiledefault

Done
<!--NeedCopy-->
RTSP 协议的应用程序层网关