数据报拥塞控制协议(DCCP)是为在线游戏、IP 电话、多媒体流和其他在线实时目的而设计的传输层协议,预计将在即将推出的 6.16 版中从 Linux 内核中删除。
DCCP 的目标是解决 TCP 和 UDP 面临的挑战,但最终并未得到广泛采用。Linux 网络子系统中的 DCCP 代码年久失修,早在 Linux 6.4 中就被废弃了。由于没有人站出来维护和改进 Linux 内核中的数据报拥塞控制协议代码,预计几个月后的 Linux 6.16 周期将取消对它的支持。
上周对网络子系统 “net-next ”资源库的合并,删除了 DCCP 套接字代码,并减少了约 14K 行代码。删除 DCCP 的理由如下:
“2021 年,054c4610bd05 号提交(“MAINTAINERS: dccp: move Gerrit Renker to CREDITS”)指出,DCCP 的最后一位维护者已经有五年没有参与维护活动,DCCP 因此成为孤立状态。
最近几年,DCCP 成了 syzbot 的乐园,对 DCCP 的大多数改动都是由 syzbot 触发的奇特错误修复。除此之外,唯一的改动都是由树范围或网络 API 更新或与 TCP 相关的调整驱动的。
因此,在 2023 年,我们宣布将于 2025 年通过提交 b144fcaf46d4(“dccp:打印弃用通知”)删除 DCCP。
此后,只有一人联系过 netdev 邮件列表。
目前仍在研究多路径 DCCP。该存储库托管在 GitHub 上,开发并非通过上游社区进行。虽然该存储库基于 GPLv2 许可证发布,但调度部分仍为专有,其许可证文件声明如下:
“这不是开源软件。”
研究人员提到了一项计划,即解决许可问题、更新补丁并积极参与维护,但此后再无进展。
维护 DCCP 十年却没有任何实际用户,这已成为一种负担。
因此,是时候将其删除了。
删除 DCCP 还将为 TCP 带来显著优势。这使我们能够自由地重新组织目前与 DCCP 共享的 struct inet_connection_sock 的布局,并对其进行优化,以减少 TCP 快速路径中访问的缓存行数量。
请注意,我们已根据要求保留了 DCCP 的 netfilter 模块。“
因此,DCCP 套接字代码将被移除,我们将拭目以待,看看多路径 DCCP 是否会以有意义的方式在主线 Linux 内核中实现。与此同时,正如前文所述,Linux TCP 网络代码现在可以在其快速路径中得到更好的优化。
如果在最后一刻没有改变主意,现在删除 DCCP 的工作已经排到了 net-next,预计将在 5 月底或 6 月初提交到 Linux 6.16 合并窗口。
本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/zixun/57432.html