SPAN(Switch Port Analyzer)是当下常用的网络监控和排错工具,SPAN也通常被称作端口镜像。它可以让我们以旁路的方式来监控网络流量,不会对现网的业务造成干扰,同时将监控流量的副本发送到本地或远端的设备上,包括Sniffer、IDS、或其他类型的网络分析工具。
一些典型的用法有:
通过追踪控制/数据帧来排除网络问题;
通过监控VoIP包来分析延迟和抖动;
通过监控网络交互来分析时延;
通过监控网络流量来做异常状态的检测。
SPAN可以在本地操作,将流量镜像到同一个源设备的其他端口,也可以远程镜像到其他与源设备二层相邻的网络设备上(RSPAN)。
今天我们来聊一聊可以跨三层IP传输的远程网络流量监控技术——ERSPAN(Encapsulated Remote Switch Port Analyzer),即在SPAN的基础上扩展了encapsulated remote的特性。
ERSPAN基本操作原理
首先,我们来看一下ERSPAN的特性:
将源端口报文复制一份通过GRE(Generic Routing Encapsulation)发送到目的服务器进行解析,采集服务器的物理位置不受限制;
借助芯片的UDF(User Defined Field)特性,通过专家级扩展列表基于Base域进行1~126字节的任意偏移,对会话关键字进行匹配实现会话的可视化,例如针对TCP三次握手、RDMA会话的可视;
支持设置采样率;
支持报文截取长度,降低目标服务器压力。
看到以上特性,相信大家就知道为什么ERSPAN是如今数据中心内部网络监控一个必不可少的工具了。
总结一下,ERSPAN主要的作用可以归纳为两点:
会话可视化:借助ERSPAN把新建TCP、RDMA(Remote Direct Memory Access)等的所有会话都采集到后端服务器进行展示;
网络排障:当出现网络问题时,去抓取网络流量做故障分析。
为了达到这样的效果,源网络设备需要从海量数据流中将用户感兴趣的流量过滤出来,复制一份,将每个复制帧封装到一个特殊的“超级帧容器”中,这个超级容器会携带足够多的附加信息,以便它被正确的路由到接收设备,并让接收设备能够提取并完全恢复原始监控的流量。
接收设备可以是另外一台支持解封装ERSPAN报文的服务器。