欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

RACK与TACK的区别

程序员文章站 2022-03-02 11:40:25
RACK和TACK目前都在IETF工作组中进行讨论,那两者有什么区别和联系呢?先说说概念上的区别。TACK是为了减少ACK数目,但是又不影响协议性能的一种确认机制。确认机制需要支撑的协议功能不仅仅是丢包检测,还要其他功能比如拥塞控制和传输状态监控等。RACK是一个由谷歌提出的丢包检测算法,它依赖的确认机制还是原生的delayed ACK (SACK enabled)。虽然两者命名类似,但是我更倾向于把两者看作不同范畴的概念。下面探讨一下两者的联系。如果一个协议使用TACK机制,ACK数量就会急剧下降,...

RACKTACK目前都在IETF工作组中进行讨论,那两者有什么区别和联系呢?

先说说概念上的区别。TACK是为了减少ACK数目,但是又不影响协议性能的一种确认机制。确认机制需要支撑的协议功能不仅仅是丢包检测,还要其他功能比如拥塞控制和传输状态监控等。RACK是一个由谷歌提出的丢包检测算法,它依赖的确认机制还是原生的delayed ACK (SACK enabled)。虽然两者命名类似,但是我更倾向于把两者看作不同范畴的概念。

下面探讨一下两者的联系。如果一个协议使用TACK机制,ACK数量就会急剧下降,那么这个协议不太容易实现仅发送端修改的RACK。原因是ACK太慢,最新收到的包时间戳更新缓慢,无法及时检测丢包。我在论文里提到的,在接收端检测丢包,其实本质上就是接收端版本的RACK算法。区别是RACK使用时间戳,而我使用的是一个严格递增的packet number (可参考QUIC的设计)。而时间也是严格递增的,所以说本质上时间戳和packet number的作用是一样的。

更多的区别和联系可以阅读论文: Tong Li, Kai Zheng, Ke Xu, Rahul Arvind Jadhav, Tao Xiong, Keith Winstein, Kun Tan. “TACK: Improving Wireless Transport Performance by Taming Acknowledgments.” Proceedings of the 2020 Conference of the ACM Special Interest Group on Data Communication (ACM SIGCOMM), pp. 15-30, 2020.

也可以访问我的主页,获取PPT和视频资料:https://leetong.weebly.com/

本文地址:https://blog.csdn.net/sbmye/article/details/110172550