数据平面遥测处理与分析
1. 数据平面遥测处理基础
在网络监控领域,数据平面遥测处理是关键环节。使用 gopacket
进行 sFlow 解码具有显著优势,它能基于采样数据包的头部解析并创建新的 gopacket.Packet
。
为了测试相关的 Go 应用程序,需要在实验室拓扑中生成一些流量,以便 cvx 设备生成关于这些流量的 sFlow 记录。这里使用基于 Go 的流量生成器 microsoft/ethr
,它的用户体验和功能与 iperf
相当,能生成和接收固定体积的网络流量,并测量带宽、延迟、丢包和抖动。我们仅需它在实验室网络上生成一些低流量的数据流,以触发数据平面的流量采样。
以下是测试程序的具体步骤:
1. 从 GitHub 仓库根目录运行 make capture-start
:
$ make capture-start
docker exec -d clab-netgo-cvx systemctl restart hsflowd
docker exec -d clab-netgo-host-3 ./ethr -s
docker exec -d clab-netgo-host-1 ./ethr -c 203.0.113.253 -b 900K -d 60s -p udp -l 1KB
docker exec -d clab-netgo-host-1 ./ethr -c 203.0.113.252 -b 600K -d 60s -p