局域网SDN硬核技术内幕 29 探赜索隐 —— gRPC Telemetry

2022-07-27 11:00:55 浏览数 (1)

前几天,我们介绍的RoCE技术和INT技术,让诊断系统钻进交换机里面去洞察网络体验劣化的瓶颈,是不是很酷炫?

别急,还有更酷炫的。

前面提到,INT技术本质上是通过交换芯片的特殊设计,实现在数据包转发的全路径中增加网络情况相关的记录——Metadata,并将各节点Metadata汇总到采集器进行大数据分析。显然,这依赖于交换芯片的实现。

那么,对于在INT技术出现以前已经建成的网络,有没有办法实现这种网络大数据采集呢?

让我们看看交换机的具体实现。

在交换芯片中,每个接口上有计数器,能实时体现以太网接口的收发包速率、收发计数、各种原因丢弃数据包的数量等。如果可以在交换机里面植入一个探针,实时把这些数据传到采集器以及SDN控制器,那该多好呀!

其实,交换机的CPU就是这个探针。

交换机的CPU,在网络设计中,术语叫控制平面。控制平面处理路由的计算、整机状态的监控以及和网络管理方的通讯。正如前面提到的,传统的网络设备与管理中心的通讯方式为SNMP,它的弊病在于实时性太差,丢失了大量的信息。

我们需要新的方式,获取控制平面监控到的设备信息。

大家想到了谷歌提供的控制平面框架——gRPC。

gRPC和SNMP的根本区别在于,SNMP是查询-响应的工作流程,而gRPC只需要在设备上配置“订阅”信息,设备会将所需信息按一定采样周期推送到采集器,如下图所示。

通过gRPC,可以以秒级为周期采样特定接口下的这些信息:

收发数据包计数;

收发字节计数;

ECN(拥塞标志位)计数;

PFC(流控包)计数;

WRED(Weighted Random Early Detection,权重随机早期检测)丢包计数;

ASIC缓存用量……

以及控制平面其他的一些关键信息:

FIB表项下发计数;

MAC表项学习计数;

光模块发射与接收功率;

系统CPU/RAM使用率;

系统温度……

可见,gRPC以牺牲部分精度为代价,实现了较为精确的采样,作为数据平面不支持INT的妥协方案,也是非常有价值的。

它还可以实时监测系统运行状态,为整网健康度诊断提供依据。

本期的标题来自于《周易》:“探赜索隐,钩深致远。”这句话的意思是,探寻隐藏的奥秘,操控遥远的事物。

在这几天的专题中,我们已经介绍了INT、增强ERSPAN和gRPC技术,但它们只能实现前一半——探赜索隐。如何实现后一半“钩深致远”呢?

让我们期待明天的主题。

0 人点赞