如果未在端口范围 属性 上指定,rtspsrc 使用哪些客户端端口

which client ports are used by rtspsrc if it not specified on the port-range property

我收到网络人员的请求,rtspsrc 使用 RTSP 客户端端口, 我们没有在 rtspsrc 元素上设置端口范围 属性。

如果 属性 没有设置,谁能告诉我 rtspsrc 使用了哪些端口? (TCP/UDP)。 默认情况下是否有最小最大值,或者它是 1 - 65535 的整个范围。

谢谢大家, Br 克里斯托夫

我相信这只是 OS 特定的动态端口范围。例如在 Linux 这将是:

cat /proc/sys/net/ipv4/ip_local_port_range
32768   60999

我不知道这有多新,但似乎大体上是正确的:

https://www.ncftp.com/ncftpd/doc/misc/ephemeral_ports.html

现在,您的网络管理员可能不想将每个高级端口 (32768->60999) 映射到您的一项服务。您可能想要做的是继续使用 port-range 属性(例如 33050->33060)并将该范围传递给您的网络管理员。要求他们创建防火墙规则以将 public 范围的端口映射到您的计算机。您使用的每个流可能只需要几个端口。

也许有点形象化,假设您要求上述端口范围:

PUBLIC RTSP SERVER "sometestsrv.com"
554 //initial call to handshake for RTSP made here
50000 //RTP port for client 1 (somecompany.com:33050)
50001 //RTCP port for client 1 (somecompany.com:33051)
50100 //RTP port for client 2
50101 //RTCP port for client 2
...

PUBLIC IP FOR YOUR COMPANY "somecompany.com"
33050 //RTP port matching sometestsrv.com:50000
33051 //RTCP port matching sometestsrv.com:50001

YOUR SERVER "192.168.1.33" w/rtspsrc INSIDE "somecompany.com"
33050 //RTP port matching sometestsrv.com:50000
33051 //RTCP port matching sometestsrv.com:50001