前几天,我们介绍的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技术,但它们只能实现前一半——探赜索隐。如何实现后一半“钩深致远”呢?
让我们期待明天的主题。