op 拨号下, iptv rstp 流 打开慢

2022-05-02 21:21:48 +08:00
 cloudsigma

RT ,

因,v2ex.com/t/850496 ,让我又把这个问题抛出来了。

op 拨号下,打开 iptv rstp 流 慢,换台慢 ,播放正常。 但,切换到 hw 光猫拨号,vlan 类型 选择完全锥形,换台切换,都是秒开。

用 vlc 客户端测试,在首选项 解码 -> live555 流 -> 选择 rtp over rtsp ( tcp ) 也秒开; 选 http ,要等半天。

请问,有知道问题出在哪里吗?

tcpdump 日志如下:

1538 次点击
所在节点    宽带症候群
11 条回复
viberconnection
2022-05-02 21:43:19 +08:00
看上去像是傳輸擁塞控制方面所導致的問題。(因爲部分路由器不是小包優先通過的策略)
huangya
2022-05-03 13:08:16 +08:00
我是你引用帖的 op, 你的问题不一定与我相同。我的问题基本已经解决。只是还有一个问题没有搞清楚。你的 tcpdump 没有显示出来。append 一下,我可以帮忙看看。
cloudsigma
2022-05-03 18:07:40 +08:00
cloudsigma
2022-05-03 19:11:25 +08:00
@huangya 增加了图片,麻烦有空帮忙一起研究下,谢谢!从 wireshark 分析:
server 先发 udp ,op 回发 icmp ,显示 server 端口不可用。来回几次后,server 发 udp ,op 就是不回包,发 n 次包后,vlc 客户端 改发 tcp ,这时,切换成功。
huangya
2022-05-03 19:35:29 +08:00
这个问题看起来是因为路由器阻止了 112.86.202.42 发过来的包。

LAN PC(port x,z) -- router(port y, z) -- Internet server

通常来讲,internet server 那边的包能通过 router, 必须要从 LAN PC 这边先丢一个 udp 包过去,不然 router 的防火墙会挡。
那从 LAN PC 发出去的包,经过 router 的 NAT , 源 port x 会变成 port y 。x 与 y 可能相等,也可能不等。相等就是完全锥形。一般来讲,不管相等还是不等,后续从 internet server 这边过来的包都可以顺利通过 router 的防火墙到达 LAN PC. 但现在你的情况是看起来是路由器阻止了 112.86.202.42 发过来的包。又根据你的说法,“切换到 hw 光猫拨号,vlan 类型 选择完全锥形,换台切换,都是秒开。”所以我怀疑 OpenWRT 对 udp 不完全锥形有 bug. 你可以:

1. 在 OpenWRT 系统,确认 x 和 y 是否相等。
2. 如果 internet server IP 地址固定,在 OpenWRT 系统,防火墙设置把所有这个 internet server IP 的包全部 port forwarding 到你的 vlc client IP 中。目的是让 OpenWRT 的防火墙不要丢掉进来的包。为了防止干扰,先关掉机顶盒。
cloudsigma
2022-05-03 21:46:41 +08:00
@huangya port x 和 port y 相同。

添加 iptables -I FORWARD -p udp -j ACCEPT ,问题依旧。应该不是防火墙问题。


vlc 客户端测试,在首选项 解码 -> live555 流 ->
对比 rtp over rtsp ( tcp )和 http 的抓包,显示,http 下,多了个 RTCP 和 ICMP ,其中 RTCP 走的时 udp 协议。难道是 op 对应用层协议 RTCP 兼容性有问题?
cloudsigma
2022-05-03 21:49:21 +08:00
@huangya hw 光猫 里有应用层协议支持: 包括 RTCP RTSP 等。RTCP 应该需要 端口完全锥形
huangya
2022-05-03 21:52:56 +08:00
@cloudsigma

>添加 iptables -I FORWARD -p udp -j ACCEPT ,问题依旧。应该不是防火墙问题。
不是这样设置,在 http://router-ip/cgi-bin/luci/admin/network/firewall/forwards 添加端口转发。添加后,看看是否 router 还会对 server 发送 icmp destination unreachable port unreachable. 你上传的 udp 包截图中可以看到这样的 icmp 包。
huangya
2022-05-03 21:54:53 +08:00
@cloudsigma 你说了 port x 和 port y 相同,就表示 OP 已经支持端口完全锥形了
cloudsigma
2022-05-04 09:57:43 +08:00
@huangya iptv server 应该不会主动给客户端发包,所以不存在需要在防火墙上加端口转发到内网 ip 的 port 。估计是 openwrt 对 RTCP 应用层协议支持度不够造成的,我放弃折腾了,改光猫拨号了。
bclerdx
2022-05-04 10:17:13 +08:00
@viberconnection 什么是小包有限策略?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/850553

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX