P4-based INT
参考资料:
带内网络遥测由Barefoot、Arista、Dell、Intel和VMware于2015年共同提出[2],是一种不需要网络控制平面干预,网络数据平面收集和报告网络状态的框架。在带内网络遥测架构中,交换设备转发处理携带遥测指令(Telemetry instructions)的数据包。当遥测数据包经过该设备时,这些遥测指令告诉具备网络遥测功能的网络设备应该收集并写入何种网络状态信息。
如图2所示,带内网络遥测系统由遥测服务器和具备带内网络遥测功能的交换机组成。根据实际遥测任务的需要,该系统还可能需要时间同步服务器等设备完成辅助工作。
带内网络遥测的数据包处理流程如下:
1.普通数据报文到达带内网络遥测系统的第一个交换节点时,带内网络遥测模块通过 在交换机上设置的采样方式匹配并镜像出该报文,根据遥测任务的需要在四层头部后插入INT头部,将INT头部所指定的遥测信息封装成元数据(MetaData,MD)插入到INT头部之后;
2.报文转发到中间节点时,设备匹配INT头部后插入MD;
3.报文转发到带内网络遥测系统最后一跳时,交换设备匹配INT头部插入最后一个MD并提取全部遥测信息并通过gRPC等方式转发到遥测服务器。
4.遥测服务器解析遥测报文内的遥测信息,上报给上层遥测应用程序。