作者Amoury (Amoury)
看板Audiophile
标题[心得] Diretta DDS + jumbo frame + NAT 隔离
时间Thu Jan 1 01:13:25 2026
年底了, 整理一下今年我用过觉得最有感的东西, 顺便骗一下文章数
先说结论:
我设定好後第一次播放
真的有被惊讶到, 第一个感觉是这声音也太纯粹了
完全没有杂质的感觉, 所有细节很清晰又很自然地摆在那里
我个人是直接回不去了...
以下长文介绍:
Diretta 是一个音响用通讯协定, 类似 Roon RAAT, HQPlayer NAA
其实他已经出来好几年了, 之前我也有试用过
老实说当时觉得有点自己的特色, 但没有跟其他竞争者拉出明显差距
直到2025年十月底, 作者在骑车爬山中灵光一闪
https://www.facebook.com/share/p/1CuehzmWDc/
想到了绕过 TCP/IP 直接在 Ethernet 层传音讯封包的方法
没想到测试起来音质提升非常多
在 audiophilestyle 跟 forum-hifi.fr 上引起了(相比以前多)很多的讨论
尤其是其中有人提出的三层架构方案, 我测试起来真的非常有感
https://audiophilestyle.com/forums/topic/71280-diy-a-three-tier-roon-endpoint-with-diretta-on-raspberry-pi/
因此就想要来介绍推广一下
1. Diretta 核心架构 Host & Target
Target 是真实连接 DAC 的装置 (USB, I2S 等等)
Host 通过网路连接到 Target, 可以跑在 Linux 跟 Win 上
利用作者开发的 Linux kernel module 或是 Windows ASIO driver
让 DAC "看起来" 像是直接连接在 Host 上面
2. DDS (Diretta Direct Stream)
Host 跟 Target 间的沟通不像其他协定一样跑在 TCP/IP 上
而是使用一个新的 Ethernet Type
封包直接由 Host 的 MAC address 传到 Target 的 MAC address
简单讲就是减少封包复杂度
跑在 TCP/IP 上会有三个 header 要解开 (Ethernet, IP, TCP)
而跑在 DDS 上只会有一层 (Ethernet)
降低作业系统要花在解开封包的 cpu 跟时间
3. Jumbo Frame
Ethernet 预设封包大小上限 (MTU) 是 1500 (再加上 Ethernet头尾)
如果网路卡支援, 依照网卡能力可以提高到 9000 或 16000 (甚至更高)
简单讲就是减少封包数量
以前要 6 个或 10 个封包现在只要 1 个
因此也可以减少作业系统跟网卡的 cpu 跟时间
4. NAT 网路隔离
在家里内网, 再切一个内网专门给 Diratta 使用
例如家里是 192.168.1.x, 在里面额外增加 172.20.0.x (上面文章内的范例)
家里音响器材接上网路後, 一般家里网路会有很多广播封包
就算不关音响器材的事, 音响器材还是得解开封包来看一下
检查是不是真的不关他的事
当然还有其他好处就是了
简单讲就是让网路环境尽量单纯
这上面我认为影响力是 NAT >= DDS > Jumbo Frame
知道优点了, 接下来要介绍上面 audiophilestyle 文章所说的架构
一般常见家里的音响架构可能是下面两种
a.
Roon Server --> Roon Ready / Bridge 设备 -- DAC
b.
Roon Server --> HQPlayer --> NAA -- DAC
DAC 跟串流机可能是一体机也没关系, 只要能当作纯 DAC 就好
设定好後会改成下面的架构
a'.
Roon Server --> Diretta Host (上面跑 Roon Bridge)
==> Diretta Target -- DAC
b'.
Roon Server --> HQPlayer --> Diretta Host (上面跑 NAA)
==> Diretta Target -- DAC
注意 --> 是原本家里的内网
而
==> 是新增的子内网
若家里是跑其他协定, 只要 Host 上能跑, 理论上就能够接
(例如文末补充的 UPnP)
作者做了一份指南
https://github.com/dsnyder0pc/rpi-for-roon/blob/main/Diretta.md
也有影片
https://www.youtube.com/playlist?list=PLMl09rJ6zKCk13V-IH_kRKW7FP8Q0_Fw0
作者已经做成只要 ssh 进机器内贴上指令就可以完成了
但是老实说对 Linux 完全零接触的人应该还是有相当的难度
作者使用了两个树莓派来作为 Host 跟 Target
由於 Host 需要双网路卡, 因此额外还需要一个 USB 网路卡接在 Host 上
Host 的另一个网卡跟 Target 的网卡直接对接
Jumbo Frame 作者目前列在附录选用
18. Appendix 9: Optional: Jumbo Frames Optimization
除了需要 Linux 知识外, 这里面另外一个难点是 Diretta Target
首先 Target 是需要买授权或是买机器的, 试用版可以无限制播放 16/44100 格式
高解析格式可以播放几分钟然後就要重启
目前 Diretta Target 主要有几种取得方式
1. Audio-Linux 或是 GentooPlayer
2. 官网自己贩售的机器
https://www.diretta.link/shop/
3. 官网合作的厂商
https://www.diretta.link/
由於 DDS 实在太新了, 我不确定有多少合作厂商有跟进
因此目前我比较推荐第一种方式
Audio-Linux 没有试用, 有一年方案也有买断方案, 内容一样
没有绑定硬体, 通常是检查 IP
GentooPlayer 有试用, 基本版有买断方案, 进阶内容只有一年方案
一台硬体要买一次
GentooPlayer 基本版买断较便宜
Audio-Linux 买断较贵, 但包含类似 GentooPlayer 的进阶内容
Audio-Linux 主要需要 ssh 进去设定, 有文字版选单介面, 也有 Web 介面但较阳春
GentooPlayer 则主打 Web 介面
各有优缺点, 上面指南是使用 Audio-Linux
我自己对 x86 较熟悉
因此我是使用 x86 版本 Audio-Linux
机器使用两台 intel n100 迷你电脑
usb 网卡使用两个 ugreen usb 3.0 to 2.5g 网卡
可以稳定跑在 jumbo frame 16000 播放 dsd 1024 跟 pcm 1536k
升频非必要, 只是流量较大可以当作稳定度测试
不升频仅使用 TPDF 将 bits 转为 holo DAC 线性上限 20 bits 也很好听
有能力有兴趣的真的推荐尝试
机器+网卡+各种授权 总花费大概 一万多台币
如果你本来就有 holo red
Target 也可以 sd 卡装 Audio-Linux 等跑在 holo red 上面
等於软体硬体都有强化
若未来有合作厂商确定机器能支援 DDS
则可以省下 Target 设定的部分
但是 Host 上面要额外跑 DHCP server 让合作厂商机器能正常拿到 IP
大概就这样, 结果写到 2026 了...
附上可以参考的连结, 由於 DDS 是 25 年十月底的事情
因此爬文有些可以只爬之後的就好
三层架构
https://audiophilestyle.com/forums/topic/71280-diy-a-three-tier-roon-endpoint-with-diretta-on-raspberry-pi/
三层架构 github 指南
https://github.com/dsnyder0pc/rpi-for-roon/blob/main/Diretta.md
三层架构 影片
https://www.youtube.com/playlist?list=PLMl09rJ6zKCk13V-IH_kRKW7FP8Q0_Fw0
Audio-Linux 相关讨论
https://audiophilestyle.com/forums/topic/55247-audiolinux-server-configurations-software-hardware-and-listening-impressions/page/118/
GentooPlayer 相关讨论
https://audiophilestyle.com/forums/topic/55235-gentooplayer/page/361/
法文论坛 Diretta 讨论 (Chrome自动翻译大致能看懂)
https://forum-hifi.fr/thread-32971-page-140.html
DDS spec
https://help.diretta.link/support/solutions/articles/73000661171-dds-diretta-direct-stream
最後再补充一个十二月新冒出来的 Diretta Renderer UPnP
不需要 Roon, HQPlayer 也可以用这个接上 Diretta
https://audiophilestyle.com/forums/topic/71552-direttarendererupnp/
Diretta Renderer UPnP github
https://github.com/cometdom/DirettaRendererUPnP
以上, 抛砖引玉一下
如果有人有兴趣欢迎一起讨论 (不过我想应该很少吧...
--
Roon 或是 HQPlayer 架构其实也可以套用 NAT 架构隔离, 效果多少我就没试过了
--
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Audiophile/M.1767201217.A.F96.html
※ 编辑: Amoury (140.113.17.10 台湾), 01/01/2026 01:44:54
1F:推 l98: 所以你有vlan 互通吗? 01/01 05:21
我没有设 bridge 所以也没有设 vlan
因为我的目标是 Diretta 内网没有播放时要接近零封包
Diretta Host Target 间在发一些控制指令时会使用 IPv6
目前可以做到非播放期间
tcpdump 出来只有最基本的 IPv6 NDP 跟 ARP who-has 封包在传
2F:→ l98: N100不是一堆2.5Gbe 的机型?应该可以省掉USB 网卡? 01/01 05:24
这个有点说来话长
我两台 n100 是不同时间买的, 一台旧的本来就有 i226v 网卡
最近新买的那台, 因为 AI 关系, ram ssd 都大爆涨...
本来只是想说测试看看就贪小便宜选了一家小厂
结果收到之後内建网卡不是我下订的 i226v, 非常无言
本想退货, 但是没想到 usb 网卡测起来效果良好
我不想再等了就退一些钱了事
二来是问 AI 得到 i226v 似乎只有 MTU 9000 较稳定
而 usb RealTek 8156 在论坛上有明确看到 16000 可稳定
我本来想收到之後 usb 跟 i226v 都测试, 选一个较好的
但是发生了上面的事情, 再加上 usb 测出来也真的稳定
就变成现在这样了
另外补充一下机器选购跟设定
预算够的话, 不管 x86 或是树莓派都建议选 8g ram 以上
全部设定好後
Audio-Linux 跟 GentooPlayer 都有提供 OS 放进 ram 里的功能
也建议选无风扇机壳
没有 disk IO 跟风扇震动都是好事
那篇指南的附录 6
15. Appendix 6: Advanced Realtime Performance Tuning
也建议要做
Host 我是设定
一个核心给 NAA
一个核心给 Diretta Host
一个核心给 xhci_hcd USB 控制器
其他全部给核心0
Target 我是设定
两个核心给 Diretta Target
一个核心给 xhci_hcd USB 控制器
其他全部给核心0
跟指南不太一样, 因为指南是内建网卡对接
而我是 usb 网卡对接
如果跟我一样选择 x86 机器
大部分设定都可以照做
只有 systemd-networkd 网路设定要注意一下 [Match] 部分
树梅派上
内建网卡是 end0
usb 网卡是 en[pu]*
x86上
内建网卡通常是 enp[1-9]*
usb 网卡是 enp0*
如果不确定的话用 ip a 指令确认一下
※ 编辑: Amoury (140.113.17.10 台湾), 01/01/2026 08:05:03
3F:推 mytedliy: 太强大了,推! 01/01 08:18
4F:推 l98: rpi4 和 N100 都很热情, rpi5 不知道有没有好一点 01/01 08:26
5F:→ l98: 所以 IPv6 也是跑 NAT? 01/01 08:28
6F:→ Amoury: cpu使用率不会多高, 我都压在 base freq, cpu只有个位数% 01/01 08:31
7F:→ Amoury: 无风扇温度也只有 40 出头 01/01 08:31
8F:→ Amoury: IPv6 无特别设定, 预设跑起来的 Link-local 就够了 01/01 08:35
9F:推 examsystem: 推介绍 01/01 11:25
10F:推 martinlin77: 推 01/01 11:46
11F:推 Kaneki: 新年第一推就给这篇了 01/01 11:53
12F:推 MoneyBlue: 推! 01/01 12:10
13F:推 lonewolf1035: 推推 01/01 13:59
14F:推 leebaiRIP: 测试了下使用target树莓派(holo red)+gentoo player 01/01 15:36
15F:→ leebaiRIP: os手动更新kernel版本就可以执行最新的dds噜 01/01 15:36
17F:推 leebaiRIP: 补充一下 gentooplayer base版本是买断的,69欧元 01/01 15:46
※ 编辑: Amoury (140.113.17.10 台湾), 01/01/2026 16:03:28
18F:→ Amoury: 感谢补充, 已修正关於买断的部分 01/01 16:04
19F:→ Amoury: 另外提醒一下楼上, host也要更新到147以上才会真的作用喔 01/01 18:54
20F:推 leebaiRIP: 感谢提醒 我没有多一组linux os host, window os当ho 01/01 22:18
21F:→ leebaiRIP: st看起来是没办法使用dds 01/01 22:18
22F:→ Amoury: Windows 也可以喔, 官网有新版本 ASIO driver 01/01 22:28
结果连结太长了用编辑的
新版 ASIO driver 在下面
https://help.diretta.link/support/solutions/articles/73000514642-support-software
然後 Windows 还要装这个
https://npcap.com/#download
两个都装好就可以用 DDS 了
※ 编辑: Amoury (140.113.17.10 台湾), 01/01/2026 22:34:24
23F:推 leebaiRIP: 太谢谢了 等等来试试 01/01 22:33
24F:→ Amoury: 刚刚有重新编辑, 还要装 npcap 01/01 22:35
25F:推 leebaiRIP: 装了npcap後 asio debug 模式下看到是dds模式了 赞 01/01 23:35
26F:→ donkilling: 好像看过支持diretta的机种是Sforzato的DAC,那个串 01/02 00:54
27F:→ donkilling: 流输入孔(RJ45)就号称支援Diretta 01/02 00:54
28F:→ Amoury: Diretta其实也出来不少年了, 有合作过的厂商也不少 01/02 08:49
29F:→ Amoury: 现在比较未知的是会有多少厂商更新采用 DDS 01/02 08:50
30F:推 odanaga: 推 01/02 16:26
31F:推 tiffu: 推! 不过我的疑问是如果我要设定成target 的rpi 5 01/06 14:30
32F:→ tiffu: 是不是就不需要再购买gentooplayer 了?我的想法 01/06 14:30
33F:→ tiffu: 是可以Diretta shop 直接买那个bridge file 写入sd 01/06 14:30
34F:→ tiffu: 卡映像档直接插入target 这样的话只要买一个gento 01/06 14:30
35F:→ tiffu: oplayer 的授权for host 吧? 如果理解有误麻烦指正 01/06 14:30
36F:→ Amoury: 官网下载的 zip 档 img, 档名有 Bridge 的是 Host 01/06 14:44
37F:→ Amoury: 档名有 limited 的才是 Target, 且好像只支援 usb接 dac 01/06 14:46
38F:→ Amoury: License 费用200, 比 GentooPlayer(69)+License(100)还贵 01/06 14:47
39F:→ Amoury: 我是觉的还不如买2个GentooPlayer或是Audio-Linux无限版 01/06 14:48
40F:→ Amoury: 下一篇问答那边我有写, 如果有不清楚我再去补充 01/06 14:50
41F:→ Amoury: 不过如果以试用角度, 也是可行就是了, 之後再选择买哪个 01/06 14:56
42F:推 tiffu: 了解!谢谢您回答 我在Diretta shop 里面输入折扣 01/06 15:01
43F:→ tiffu: 码他价格从250欧直接变成50欧 所以我才想先从这边 01/06 15:01
44F:→ tiffu: 下手哈哈 01/06 15:01
45F:→ Amoury: 折扣码可用的话那应该是可以考虑, 比另外两种便宜 01/06 15:17
46F:→ Amoury: 但是相对的就没有OS调整的能力, 请自己斟酌了 01/06 15:18
47F:→ Amoury: 如果确定能50买成功麻烦回报一下, 我再去更新, 谢谢 01/06 15:19
48F:→ Amoury: 另外, 用官网 Target 的话, Host 就要装 DHCP server 喔 01/06 15:28
50F:→ tiffu: 不过我今天还没空弄第二台rpi 5 as host 所以我也 01/06 15:36
51F:→ tiffu: 不能确定映像档有没有正确写好进去target rpi 5去 01/06 15:36
52F:→ tiffu: 做测试. 另外也没用过DHCP server 我这周可能要花 01/06 15:36
53F:→ tiffu: 点时间了解 01/06 15:36
感谢回报
我是装 dnsmasq
Audio-Linux: sudo pacman -Sy dnsmasq
GentooPlayer: sudo emerge -av net-dns/dnsmasq
(如果GentooPlayer有提供更好装法, 以他的为优先)
/etc/dnsmasq.conf 两行而已, 例如
interface=内网网卡名称enXXXXX
dhcp-range=172.20.0.2,172.20.0.2,12h
设定172.20.0.2是跟指南相匹配
依自己环境修改
※ 编辑: Amoury (140.113.17.10 台湾), 01/06/2026 16:09:28