[心得] 第三层交换器 QoS 于音讯网络的应用

楼主: elguapo (HPHT Synthesized)   2024-06-30 17:58:50
本文仅讨论数据交换如何进一步最佳化并强化资料整体性,做完后的音质是否改善
则是 YMMV (Your Miles May Vary)...
本文建议采用第三层交换器,原因是可进一步对 TCP or UDP 的服务做特定的调整;
又因市售交换器品牌款式无数,QoS 调整手法不一,若对设定有疑虑,建议仍是参考
原厂教学或是手册。
我个人有一台 Cisco CBS350 用于早期的 Ravenna/AES67 建构,由于已升级为
Netgear M4250,因此 CBS350 转为一般网络使用,负责连接一般网络、HQPlayer、
Roon 及 NAS。
一般无管型交换器的封包交换,其权重是相同的;为了尽量避免音讯资料流被其他
资料中断,提升音讯资料在交换器内的优先权是合理的安排。一般而言具备 Quality
of Service, QoS 能力的第三层管理型交换器,都能根据 802.1p 或是 DSCP 来处理
资料的优先权,可惜目前多数的音讯软件并不会将数据资料标上 802.1p 或是 DSCP
(目前个人所用的一般音乐播放软件只有 HQPlayer 有支援 QoS 并主动标注 CS5 以
提升数据优先等级)。
在一个无法分优先权的交换器上头,Roon 既要接受外界的串流(例如 Qobuz),
又要将音讯交给 HQPlayer(有在玩升频的话),若遇到距离远一点的需要 NAA,那么
HQPlayer 又要将音讯资料流传给 NAA,若是播放本地档案,那么 NAS 可能也会加入
抢频宽的战局内...
这里 propose 一个合理的优先权分级:
1. HQPlayer -> NAA 应具最高优先权,毕竟升频到 DSD1024 其资料流会高达
100Mbps;
2. Roon -> HQPlayer 次优先,一些 24/192 的内容资料流率也会达 9Mbps;
3. NAS -> Roon 再次一小阶,这是基于经验上 Roon 的资料缓冲区较 HQPlayer 为
大,因此即使同等资料流率,NAS -> Roon 会有较大的容错度。
优先权等级分出来之后,以 CBS350 来说,要先设计几个 ACL 来拦截这些服务,
例如 HQPlayer 和 NAA 用 TCP port 43210 来传输,Roon -> HQPlayer 则是 TCP
port 30000 的 http 服务;当然 NAS 的服务一般会走 SMB 但我个人偏好 NFS 给
HQPlayer(NFS 的 port 是 2049);另除了 Roon 内网只能 IPv4,其余服务都
改为 IPv6。
在 CBS350 上先建立 ACL,把 HQPlayer -> NAA 目的阜 IPv6 TCP 43210 和 NFS
来源阜 IPv6 TCP 2049 服务过滤出来:
https://imgur.com/A4HlGLQ.jpg
https://imgur.com/bbZnGPv.jpg
接下来在 QoS Advanced 页设定 Class Mapping
https://imgur.com/9yWWAZq.jpg
https://imgur.com/6wCoJeI.jpg
到 Policy Table 那边随便创个抬头
https://imgur.com/a2jpvE3.jpg
把需要分优先权的服务设定优先权(数字越大优先权越高)
https://imgur.com/PbIvIBZ.jpg
最后把 policy 绑定在所需的孔
https://imgur.com/QmCEsji.jpg
我的 NAS 有设定 LAG 因此绑在 LAG 而不是 port
https://imgur.com/fYUjW9U.jpg
播放音乐的同时打开 QoS 状态,可以看到资料按照计画分开优先权。GE1 是
HQPlayer server,NAS 给 HQPlayer 的 NFS 资料流调整为 3:
https://imgur.com/QzoMrLi.jpg
GE2 是 NAA,HQPlayer 给 NAA 的资料流优先权为 5:
https://imgur.com/eJf1pyC.jpg
Queue 1 在 802.1p 被定义为“背景”,很多是不重要的东西,因此封包尾巴被
切掉是无感的,保证所需的资料流在高优先权才是最重要的事。
由于网络服务项目众多,这里只挑两个(HQP -> NAA & NFS)来做范例,其余的
设定都是相同手法的。 :-)
作者: herbertsurve (herbert)   2024-07-01 08:22:00
厉害 很想多聊解网络优化。我目前仅走双网络。ron至hqp 单独ip单独网卡。并且全走vm虚拟系统。交换器是sotm 时钟外接。双边host端另外网络。这样声音就有明显升级了串流网络资料全是音乐资料。控制及无关音乐数据走另外网络
作者: nebulaforest (内含豆浆的菜包)   2024-07-01 16:05:00
直上10G switch,解决频宽拥塞问题
作者: l98 (寻找属于我的星星)   2024-07-01 16:25:00
2.5 G 应该就行了吧
作者: bt092001 (一条鱼)   2024-07-01 16:44:00
好奇一件事,这种以太网路优化到物理实体层过到i2s,i2s解出来的资料完整性在逻辑分析仪上是否能看出什么,或是转换在analog端SNR是否能看出什么。
作者: Amulet1 (AmuletHeart)   2024-07-01 18:37:00
感觉稍微有点复杂orz
作者: louis0407 (能当个乡民也是一种幸福)   2024-07-02 20:06:00
i2s的眼图有机会更好,减少其他的插断干扰应该能让眼图更集中
作者: bt092001 (一条鱼)   2024-07-05 11:14:00
I2s 跟DAC 的filter 或是中继的DSP 或是soc ,应该都有自己的本地PLL,jitter 前后端应该是切开的,不会是音质瓶颈才是,好奇资料的长相格式是否有不同?Re-timer系统应该不会卡jitter瓶颈
作者: louis0407 (能当个乡民也是一种幸福)   2024-07-06 02:39:00
短距离下,data本身我想是不会有错的,实际上如果资料真的有错,产生的也该是随机爆音,而非什么音质差异。所以也不用考虑什么算法验证,资料重送机制之类的,单纯就是数位讯号品质是否能穿透FIFO PLL之类的护城河,影响到系统后端类比路径。长期以来这一直是争议重点,技术人大都会说不可能,然后拿教材出来佐证,重申数位传输只有资料正确与否,其余差异不会影响后端。
作者: bt092001 (一条鱼)   2024-07-09 05:34:00
资料不会传错是肯定,只是做了网络优化后,编码的资料内容是不是有可能不同,好奇的是这里。

Links booklink

Contact Us: admin [ a t ] ucptt.com