【51CTO.com原创稿件】云和容器等虚拟化技术越来越普及,同时带来一些技术性问题。例如虚拟网络的流量采集和分析是不是和物理网络的相同?
*图片来自包图网
1、虚拟网络与物理网络
虚拟网络和物理网络的工作原理基本相同,只在很少的地方存在差异。
以上是虚拟网络和物理网络相同或相似之处,很多地方只是换了个名字。
另外,通过真实的物理服务器NIC和电缆,承载虚拟交换机的物理主机被连接到物理网络,这在虚拟基础设施中被称为“上行链路”。
相对来说,虚拟网络与物理网络的异同之处非常少。那么物理网络的流量采集能否用于虚拟网络呢?
2、虚拟网络的流量采集
事实上,跟物理网络基础设施中一样,虚拟网络中也可以用SNMP或NetFlow来收集跨基础设施的多个点的数据。下面是四种常见的流量采集技术和优缺点。
不同的采集技术对应的分析方法也不同,适用情况也不同,所以要谨慎选择。其中SNMP和NetFlow是目前使用最广泛的。
虚拟网络流量的采集方式一般来说有以下三种:
- 策略采集。由控制节点接收用户指令后,对虚拟网元(一般是虚拟交换机)下发采集策略,将流量通过隧道或其他形式转发至分析节点,完成虚拟流量采集。一般多见于SDN网络环境。优点:由控制节点中心化控制,策略下发灵活;可依据业务需求实现细粒度按需采集;对hypervisor系统没有依赖。 缺点:采集策略有可能存在与业务策略的冲突;全量采集需要下发的策略数目大,管理难度高;增加虚拟网元压力,采集流量无压缩,带宽占用高。
- 网元采集。由虚拟网元(一般是虚拟交换机)直接提供虚拟流量镜像能力。用户可通过调用对应的API实现虚拟流量的采集能力。一般多见于成熟的商用整体网络解决方案。与策略采集不同,网元采集的粒度及灵活度多受限于网元接口API开放出来的能力。 优点:直接调用虚拟网元相关接口API,实现简单;无策略冲突隐患;部署简易。缺点:受限于接口API的粒度,无法自行实现细粒度控制;影响虚拟网元性能。
- 代理采集。在hypervisor上运行agent代理,同时启动专用的流量分析虚拟机。Agent接收控制节点的指令,完成网络配置,将流量导入流量分析虚拟机,完成流量采集。与策略采集方案的不同之处在于,虚拟网元的配置不直接由控制器完成,并且采集的流量毋须通过隧道等方式发送,而是直接进入本地虚拟机,减少网络带宽的占用。优点:控制节点毋须管理大量的采集策略,减轻控制节点压力;流量由本地转发至分析节点(虚拟机),不占用生产网络带宽;可实现细粒度流量采集;在本地完成去重、截断、脱敏等工作,确保数据安全。缺点:采集策略可能存在与业务策略的冲突;虚拟机会占用一部分计算、存储和管理资源;Agent部署存在对hypervisor环境的依赖。
3、虚拟网络的流量分析
虚拟网络的流量分析非常复杂,这里仅做简要介绍,暂不做过多分析。
一、使用NetFlow的虚拟网络流量分析
使用NetFlow收集数据后,通过网络性能管理和监控工具来分析这些数据。 常见的网络性能监控工具包括What’s Up Gold和Solarwinds Orion,常见的NetFlow收集器和分析器包括Plixer Scrutinizer和Solarwinds NetFlow Traffic Analyzer。 如果你使用的是vSphere5之前的版本,你将无法利用NetFlow来监控虚拟基础设施。然而,当你部署vSphere5之后(假设你使用的是vSphere分布式交换机版本),你可以在单个dvPort(分布式虚拟端口)或上行链路中,在端口组启用NetFlow v5。这样操作后,你就能够监控以下内容:
- 主机内虚拟机流量(同一主机上虚拟机到虚拟机的流量)
- 主机间虚拟机流量(不同主机上虚拟机到虚拟机的流量)
- 虚拟机到物理基础设施的流量
二、通过数据包解码的虚拟网络流量分析
如果你想从虚拟网络来进行数据包解码呢?为了在物理网络进行深度数据包检测(DPI),你需要将协议分析器(例如,在笔记本电脑上运行的分析器)连接到交换机端口,然后配置SPAN(或者RSPAN,如果流量在不同的交换机上)来从单个交换机端口、多个端口或整个VLAN映射流量。现在,大多数数据中心的服务器都被虚拟化了,很多流量甚至都不会经过物理网络,所以传统数据包捕捉方法只有在某些情况下适用,例如分析互联网连接或者到iSCSI SAN的连接。
在vSphere之前,使用虚拟基础设施,你在虚拟机上运行协议分析器,创建一个新端口组,并将其配置为混杂模式(使所有数据包发送到所有端口),然后将这个你想要分析的虚拟机转移到该端口组(出于安全考虑,你不会想在生产端口组启用混杂模式)。在vSphere Enterprise Plus版中,端口镜像功能让你可以快速简单地镜像任何dvPort到另一个端口,或者你可以选择一个VLAN来封装这些镜像数据包,这可以通过在配置分布式虚拟交换机端口镜像时勾选“封装VLAN”框来实现。在被启用后,端口镜像将提供以下可视性:
- 主机内虚拟机流量(同一主机上虚拟机到虚拟机的流量)
- 主机间虚拟机流量(不同主机上虚拟机到虚拟机的流量)
当你的服务器被虚拟化后,分析和解决网络故障与在物理网络的物理服务器中执行相同的任务并没有太大区别。根据你需要的详细信息程度不同,你有两种不同的方法来实现这一点。
对于高水平流量分析和瓶颈识别而言,使用NetFlow是***选择,如果你想在虚拟基础设施中执行深度数据包分析,你可以选择使用协议分析器的端口镜像方法。
【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】