由于云内网络环境功能丰富,可能涉及到各种场景的业务请求。要满足这些需求,导致云网底座的网络功能相对复杂,流量转发可能要经过数跳才到达目的端。如在一个公网环境访问云内资源时,就可能会出现网络连接卡顿或者连接中断问题。出现此问题后如何定位问题就成了及其关键的步骤。然而在流量转发的过程中可能会经过N个网络节点。如何确定是哪个网络节点出现故障及触发故障原因就非常困难。 如果能对特定流量进行监测,在发生故障时进行检测,分析网络节点的流量统计及时延等统计指标,就相对容易的对比出哪个环节出现了问题。
全路径检测是对特定流量进行检测,通过对流量染色,在各个网络节点间出传输。每个网络节点对染色流量进行记录。通过对整体转发路径下的染色流量检测即可获得全路径的检测数据,从而分析出网络故障点。
检测原理图:
Client端进行访问请求,网络节点1 进行根据流量特征进行流量匹配。匹配流量后对流量进行相关统计,向后发送时进行报文染色。流量到达下一节点是对染色报文进行统计,发送报文时依然进行染色。经过n次网络节点后流量到达server端。如在网络节点中存在丢包,时延增大等问题。可通过对比网络节点间的不同维度的统计数据即可得出结论。
实现此功能至少需要三个模块配合完成。
1 流量匹配模块,进行流量匹配,最常规的做法是对流量进行acl匹配,匹配内容越精细,检测结果越准确。
2 流量统计模块,统计检测到的流量数量,转发时延等,为后续故障分析做数据支撑。
3 流量染色模块,在发送流量时对流量进行染色,以便后续节点进行流量识别。