前面三个限制的根本原因是传统网络中缺少细粒度的网络负载信息——ECN是终端主机可以从交换机获得的唯一反馈,RTT是一种纯端到端的测量,没有交换机的参与。然而,这种情况最近发生了变化。随着新的交换ASIC中提供的网络遥测(INT,In-network telemetry)功能,在生产网络中获得细粒度网络负载信息并使用它改进CC已成为可能。
用INT好,细粒度的网络负载信息;ECN和RTT粗粒度。
HPCC背后的关键思想是利用来自INT的精确链路负载信息来计算准确的流量更新。
HPCC的关键设计选择是依靠交换机提供细粒度负载信息,如队列大小和累积的tx/rx流量,以计算精确的流量。这有两个主要的好处:(i)HPCC可以快速收敛到适当的流速,以高度利用带宽,同时避免拥塞;和(ii)HPCC可以始终保持接近零的队列,以实现低延迟。
沿路径的每个交换机利用其交换ASIC的INT特性来插入一些元数据,这些元数据报告包的出口端口的当前负载,包括时间戳(ts)、队列长度(qLen)、传输字节(txBytes)和链路带宽容量(B)。
用INT解决,我能用INT解决什么问题呢?用哪些信息呢?