前几天,我们看到,RoCE提出的无损以太网需求催生了PFC和ECN等以太网流控技术的普及,但光纤劣化、微突发、错误配置以及大象流踩踏老鼠流等现象,令网络丢包、延时增大以及抖动等造成体验劣化的现象防不胜防。
为了找到这些体验劣化的根源,并且试图消除,工程师们在以Broadcom Trident3芯片为代表的交换机ASIC中引入了INT(Inband Network Telemetry)机制,它可以按可配置的采样率随机采集数据包路径的时延、丢包及缓存利用率等信息,极大地提升了网络诊断信息的采样率,从而能够更加精确地诊断网络劣化的原因。
但是,INT也有它的局限性。INT是随机采集的数据包,也就是“广泛撒网”的形式。
我们知道,在追求异性的过程中,采用“广泛撒网”的策略,可以收获很多的线索,但,如果期望不只是曾经拥有,而是天长地久,还需要“重点培养”,用哲学的观点看,就是善于抓主要矛盾。
那么,在局域网中,什么矛盾是导致体验劣化的主要矛盾呢?或者说,什么样的数据包丢失,是体验劣化的关键呢?
工程师们小结了几类数据包:
- TCP的三次握手(SYN, SYN-ACK, ACK),丢失会导致TCP建立连接失败,只能等待重传。外在体现就是网页打不开,或手机客户端上代表等待的圆圈一直转动;
- 数据中心网络中RDMA信令报文,丢失会导致RDMA总体重传;
- DHCP报文,丢失会导致园区网络中终端获取到169.254.0.0/16的无效地址;
显然,设法抓住这些报文的丢失,就是抓住网络体验劣化的主要矛盾。
这就需要在网络各节点引入一个新的遥测机制——增强ERSPAN。
ERSPAN是《CCIE路由与交换认证考试指南》第一章中的内容。它是将镜像数据包封装在GRE隧道中,穿越三层网络发送到远端监听器的一种古老技术,但在今天又焕发出了新的光芒。
我们如果只对前面提到的几种报文做ERSPAN,送到采集器,在采集器统计丢包率,这不就是从“广泛撒网”到“重点培养”吗?
以TCP为例,每个TCP的建立都需要三次握手,也就是说,如果没有丢包发生,每个节点上,SYN/SYN-ACK/ACK包的数量是一样多的。如果采集器采集到的数量不一致,就可以分析出丢包产生的位置,如下图所示:
在下图中,显然可以看出,Source到Destination的TCP SYN包在去方向丢失了10个。这个丢包率对外呈现会导致百分之一的用户出现体验严重劣化。
有了INT结合增强ERSPAN,我们就可以对转发平面进行既广泛撒网,又重点培养的监控了,网工们终于有时间去和喜欢的人(不区分同性或异性)约会了!
那么,对控制平面的监控我们有没有比SNMP好的办法实施监测呢?