随着对前面网络分析基础知识的了解,我们知道了网络通讯的基础原理,便携式数据采集工具和企业级流量分析系统的异同等内容。本节介绍抓包可能涉及的相关硬件信息,以及企业级流量分析系统的部署方式。
为什么能采集到网络数据包
网络抓包软件或流量分析系统之所以能够抓取到不属于自身接入到网络中接口的数据报文,是由于该网卡启用了一种叫混杂模式的方式,这种方式能扣看到所有流经这个网口的数据包信息。
Wireshark或企业级流量分析系统的流量采集网卡含有libpcap/WinPcap驱动,该驱动让网卡变为混杂模式。
常见数据包采集硬件
数据包采集过程需要接入网络中的硬件,常见硬件有集线器(hub,古老的设备,现在很少用到)、交换机(端口镜像)、TAP(网络分流器)等等。
集线器
在早期的数据包采集环境中,集线器是最常见的硬件设备之一。
使用集线器连接的网络中,任意数据包都可以流经接入的其它集线器或设备。在这种环境下,你不需要做任何准备工作,接入安装了抓包软件的电脑就可以采集到所有的数据包。
但稍有遗憾的是,集线器由于自身的工作机制,会对网络传输造成极大的影响,目前基本被完全淘汰。
交换机
交换机是当前网络中最常见的数据转发设备之一,但对于数据包采集来说,则不想集线器那样方便了。因为每个交换机的端口是一个冲突域,即这个端口接入安装了抓包软件的电脑后,抓包软件只能采集到交换机这一个端口的流量,无法采集其它端口流量信息。
在交换机环境下,通过端口镜像,可以完整的采集流经交换机所有端口的流量。
端口镜像的原理是告诉交换机,将一个端口上的所有数据包复制到另外一个端口上。目前,基本所有的可管理交换机都支持端口精细。
如上图所示,镜像端口是管理人员通过配置,指定的端口,观察端口连接抓包软件,这样,任何流经镜像端口的数据包,都会在观察端口被采集到。
TAP
TAP(Test Access Point),常见称呼网络分流器,还有人叫它NPB (Network Packet Broker),或者汇聚分流器。其核心功能就是架设于生产网络镜像口和分析设备集群之间,将一台或者多台生产网络设备镜像出来的流量汇聚后,分发到一台或者多台数据分析设备。
基于TAP的流量复制/聚合器,由硬件设备和其中自带管理软件组成,能够支持多端口的流量聚合,实现完整的复制多个监听端口,供多套分析系统使用。
业绩知名的TAP厂商有big switch、brocade、Gigamon、VSS等等,处理速率从1G和10 G逐渐上升到40G和100G。
当然,除了上述常见的几种跟数据包采集相关的硬件外,还有诸如分光器之类的其它硬件,这里不再一一列举和细述。
企业级流量数据采集系统部署
通常情况下,专业的网络流量分析设备部署在靠近监控的线路旁,监控方法是通过从交换机把流量镜像,然后把镜像的流量导入到设备里分析。
为实现全面的链路和应用监控,常见的数据采集方式有2种:
多层应用架构环境
用户环境由多个设备组成的多层架构应用环境中,数据源来自多台网络设备,需要汇聚数据,然后接入到性能分析设备。
单一应用架构环境
当应用架构较为集中时,数据源可从少量设备镜像获得,只需在对应设备进行镜像设置,然后将镜像流量接入性能分析设备。
专业流量分析系统支持多种原始数据存储方式,针对不同的应用,可选择是全包存储,还是截取包头一部分存储。
同时,所有的分析数据以动态聚合的方式,长期保存在设备中。