虚拟网络流量采集怎么做?

SDN in China

2018年7月16日

核心技术

为什么要采集虚拟网络流量?

随着云和容器等虚拟化技术的不断扩张,云、数据中心和企业网中的东西向流量呈快速增长趋势。对东西向虚拟网络流量的采集与分析,可以帮助用户实现如下价值:

▌高效运维,保障业务连续

如果不采集虚拟网络流量,用户80%的网络流量将呈现“黑盒”状态。遇到因网络问题导致的业务延迟与中断时,运维人员犹如盲人摸象。通过对虚拟流量的采集与分析,可以点亮黑盒,呈现精细的虚拟网络运行状态,快速定位故障根因,确保业务的连续与稳定。

▌精细化运营,提高投入产出比

计算、网络、存储、带宽等都是支撑业务需要投入的资源。但在当前业务运营过程中,仍然存在诸如闲置虚拟机未回收、网络链路负载不平均,不同ISP带宽粗放分配的问题。通过对虚拟流量的采集与分析,可以及时侦测资源使用情况,合理调度资源,提高资源利用率,进而提高投入产出比。

▌安全防护,保证内网安全

网络规模扩大和灵活性的提高,内网安全策略呈现只增不减、变动频繁的状态。但当前配置的内网安全策略是否全部生效,以及随着虚拟网络变动,需要删除的策略是否已经清理干净,都是难以回答的问题。同时内网虚拟机被攻陷之后,运维人员是否能及时识别“肉鸡”进而保证内网安全,都是需要通过对虚拟流量的采集与分析解决的问题。

虚拟网络流量采集的关键指标

▌采集性能

作为占据云数据中心总量80%的虚拟流量,实现全量采集需要高性能的采集技术作为支撑。在采集的同时,针对不同业务,还需要完成去重、截断、脱敏等其他预处理工作,进一步增加了对性能的要求。因此采集性能将是衡量虚拟网络流量采集技术的一个关键指标。

▌资源开销

多数虚拟流量采集技术都需要占用本可应用于业务的计算、存储和网络资源。除了尽可能少地消耗这些资源之外,仍需要考虑对采集技术实施管理的开销。尤其当节点规模扩大之后,如果管理成本也同样呈现线性的上升趋势,那么该采集技术将不具有理想的扩展能力。

▌侵扰程度

当前常见的采集技术,往往需要在hypervisor或相关组件上添加额外的采集策略配置。这些策略除了存在与业务策略的冲突隐患之外,往往还会进一步增加hypervisor或其他业务组件的负担,影响服务SLA。

▌部署依赖

当需要在hypervisor上部署agent实现流量采集时,往往需要考虑针对不同hypervisor环境的依赖条件,以及各类第三方库的安装、升级。在此过程中往往存在冲突或不兼容的情况,影响现有生产系统,增加采集部署难度。

现有虚拟网络采集技术比较

▌策略采集

image3

由控制节点接收用户指令后,对虚拟网元(一般是虚拟交换机)下发采集策略,将流量通过隧道或其他形式转发至分析节点,完成虚拟流量采集。一般多见于SDN网络环境。

Pros

  • 由控制节点中心化控制,策略下发灵活

  • 可依据业务需求实现细粒度按需采集

  • 对hypervisor系统没有依赖

Cons

  • 采集策略有可能存在与业务策略的冲突

  • 全量采集需要下发的策略数目大,管理难度高

  • 增加虚拟网元压力,采集流量无压缩,带宽占用高

▌网元采集

image4

由虚拟网元(一般是虚拟交换机)直接提供虚拟流量镜像能力。用户可通过调用对应的API实现虚拟流量的采集能力。一般多见于成熟的商用整体网络解决方案。与策略采集不同,网元采集的粒度及灵活度多受限于网元接口API开放出来的能力。

Pros

  • 直接调用虚拟网元相关接口API,实现简单

  • 无策略冲突隐患

  • 部署简易

Cons

  • 受限于接口API的粒度,无法自行实现细粒度控制

  • 影响虚拟网元性能

▌代理采集

image2

在hypervisor上运行agent代理,同时启动专用的流量分析虚拟机。Agent接收控制节点的指令,完成网络配置,将流量导入流量分析虚拟机,完成流量采集。与策略采集方案的不同之处在于,虚拟网元的配置不直接由控制器完成,并且采集的流量毋须通过隧道等方式发送,而是直接进入本地虚拟机,减少网络带宽的占用。

Pros

  • 控制节点毋须管理大量的采集策略,减轻控制节点压力

  • 流量由本地转发至分析节点「虚拟机」,不占用生产网络带宽

  • 可实现细粒度流量采集

  • 可在本地完成去重、截断、脱敏等工作,确保数据安全

Cons

  • 采集策略可能存在与业务策略的冲突

  • 虚拟机会占用一部分计算、存储和管理资源

  • Agent部署存在对hypervisor环境的依赖

云杉网络如何实现下一代采集技术?

image1

当前的采集技术分别具有各自的优势与劣势。针对当前普遍存在的虚拟网络采集的需求与痛点,云杉网络推出专利性的Trident采集技术,解决现有技术存在的问题,满足用户对虚拟网络采集的苛刻要求。Trident作为独立运行于hypervisor上的采集进程,具有如下特点:

▌无依赖

Trident由GO语言编写,利用GO语言的天然优势,直接生成二进制可执行程序文件,文件仅14MB大小,对部署系统没有任何第三方库或组件依赖,可以在任意内核版本大于2.2「1999年发布」的Linux系统上部署运行。

▌高性能

Trident利用了基于内存映射的“零拷贝”技术,避免了传统流量采集方案中对数据包的多次拷贝,消除了网络数据采集的性能瓶颈,从而达到以最小的资源占用,满足巨量增长的网络东西向流量采集的目的。可对位于同一台宿主机的所有虚拟机东西向流量进行全量、实时采集。当前在350Kpps的采集性能下,仅使用15%CPU。

▌零干扰

如果不采集虚拟网络流量,用户80%的网络流量将呈现“黑盒”状态。可以理解为一台“影子交换机”,毋须对现有虚拟网元进行任何额外的配置,即可直接采集流经hypervisor的全部流量,对现有网络策略无任何干扰。

▌细粒度

Trident通过gRPC接收控制器发送的指令,可实时配置ACL过滤规则、截断长度、脱敏配置、采集端口等工作参数,或针对指定虚拟接口、IP地址、协议、端口号设定精细采集策略,并可在控制节点编程自动化实现。可针对虚拟化环境虚拟机变动频率高,网络环境复杂多变的情况。

今年6月云杉网络最新发布的DeepFlow5.3版本已采用Trident虚拟流量采集技术,实现内网流量全面可视化,对高效运维、精细化运营和内网安全提供全面保障。

%e4%b8%ad%e7%be%8e%e8%ae%ba%e9%81%93%e7%be%a4

Related Posts

「直播回看」DeepFlow——开启高度自动化的可观测性新时代

我们相信DeepFlow 是送给新时代开发人员、运维人员的一份礼物。我们希望开发人员能有更多的时间聚焦在业务上,将可观测性更多的交给自动化的 DeepFlow,让自己的代码更清晰整洁。

Read More

「直播回看」高清云网可观测之全链路追踪实战

“云原生可观测性分享会”第七期《高清云网可观测之全链路追踪实战》由云杉网络 高级产品经理 李倩分享,针对云网络的全链路追踪问题,用「实战」带领大家一步一步破解“网络谜案”。

Read More