网络数据包代理和封装流量-Part 1

介绍:

在本文中,我想讨论网络数据包代理在实现对网络上的封装流量的有效监视方面所起的作用。本文将分为两个部分,至少在我看来,该主题可以分为两个问题邻域:传统问题(用户已经处理了一段时间),以及随着分布式计算基础设施、数据中心和虚拟化的兴起而出现的一组新问题。在探讨监视封装流量的问题之前,我们先讨论一下它是什么。

在现代网络中,除了最简单的网络外,封装、标记或分类网络流量是必不可少的。无论是简单的VLAN标记来隔离广播域,构建复杂的覆盖网络,还是分割虚拟流量。这些过程涉及向网络流量标头中添加其他信息(称为标记或标签)或获取整个帧,并将其放置在其他传输协议(封装、隧道)中,以降低延迟、安全路由和网络效率。一旦封装或标记的数据包到达其预期的目的地,便会删除标记/标签,或者在隧道终结点的情况下,终止隧道(对流量进行解封装),然后数据包将继续到达其最终目的地。

传统问题:

当分路网络链接以将流量复制到监视和安全设备时,总是会发现带有各种其他L2和L3协议标头的流量。执行内联监视也会出现同样的情况。实际上,只有在端点执行监视时,才几乎看不到封装的流量。最糟糕的是,许多监视工具无法解析这些标头,因此无法处理流量。这就产生了一种我们努力用监控系统消除的盲点。在最佳情况下,一些工具可以剥离这些头文件来访问内部数据,但这种额外的处理需求,会以性能为代价。

幸运的是,传统的网络数据包代理早就具备了解决这些缺点的功能。现在任何L2-4 的NPB都应该能够像Cubro Packetmaster系列那样执行VLAN标签删除。这包括删除多个VLAN标签的能力;许多监视和安全工具都能够毫无问题地处理VLAN标签。但是,所有给定设备可以处理的标签数可能会有一个上限,也许一个,或者两个。任何超出这一数目的标签都需要先剥离,然后再发送到设备,这是网络数据包代理可以轻松处理的任务。MPLS标签是另一个协议标头,网络包代理可以在流量进行监视和/或检查之前将其从流量中移除。终止网络隧道是网络数据包代理可以处理的另一项任务,在带外和内联应用程序中都非常重要。例如,Cubro Packetmaster网络数据包代理都可以充当GRE(通用路由封装)端点。在这些数据包代理中,GRE支持的众多应用之一是剥离GRE报头,以便监控和安全工具可以消耗流量。其他受支持的隧道协议(例如NVGRE、GENEVE和VXLAN)也是如此。

GTP(GPRS隧道协议)是移动网络用来在核心网络和网络的其他节点(取决于数据类型)之间传输信令、控制平面和用户平面数据的关键隧道协议系列。每个GTP隧道可以包含数百个单独的IP流,为了对这些流进行监视和/或分析,必须剥离GTP隧道;Cubro Sessionmaster EXA40和EXA24160提供了这一功能。顺便一说,这些高级网络数据包代理还可以执行用户和信令平面数据的关联,创建对监视系统的流量的全面描述,更多内容将在第2部分中介绍。

我还想提一下数据包分片,它与封装的流量无关,因为它符合对话的精神(就消除多余的数据以提高工具的性能而言)。举例来说,假设我们已经加密了网络上的流量(我们可以预料到我们肯定会这样做),而我们无权访问用于加密的密钥。在这种情况下,我们无法解密流量的加密部分。例如在TLS会话中,我们不控制证书或使用PGP加密电子邮件的人。在这两种情况下,我们都应具有直至第4层的可用报头,而使用PGP时,仅一部分有效负载将被加密。使用数据包分片,我们可以丢弃流量的加密部分,同时保留对我们的监控工具可见的标头信息。这在某种程度上减少了处理,更重要的是,在将流量记录到磁盘的情况下,大大节省了可用的存储空间。这并不是说组织将始终丢弃流量的加密部分,但这是一个不错的选择。

还值得一提的是,尽管本文是关于删除这些附加协议头的,但上述标准也可以用于过滤流量。Cubro网络数据包代理的一个好处是,除了数据关联之外,这些功能都是在硬件中实现的,因此是完全确定性的,并且不受带宽和设备利用率的影响。是否需要一个32端口的数据包代理,可以同时在所有端口上以100 Gbps的速度终止VXLAN隧道?我们有一个设备。

这对于带外监控非常有用,但是如果我们要内联监控流量怎么办?如果对流量进行内联监视,那么所有的封装头都必须保持完整,以便流量到达其预期的目的地(这对于保持网络正常运行很重要)。解决此问题的方法是,在将标头传递给设备之前,先删除那些会干扰监视和安全工具的标头,然后将流量返回到可以重新应用标头的网络数据包代理中。正如高质量的网络数据包代理应该能够从流量中剥离标头一样,它也应该能够应用标头。

以前,我一直在谈论监视和安全工具,因为它们无法解析多种封装的流量,但实际上,许多网络数据包代理也会受到封装流量的不利影响。通常,数据包代理可以很好地传递流量,但是在过滤流量时,它们只能过滤最外面的标头。当然,这些最外面的标头是封装标头,或者在Q-in-Q流量的情况下,是最外面的VLAN标签。为了过滤内部标头或标签,必须首先剥离封装标头/标签。为了解决此问题,Cubro开发了G5 Sessionmasters系列,该产品可以过滤网络流量的内部标记/标头,但不会剥离任何标头(这是在硬件中完成的)。这意味着可以通过配置规则来过滤Q in Q流量的内部VLAN标签,或协议的内部IP标头,例如GTP、VXLAN以及其他隧道协议。

现在您可能想知道“如果我们必须剥离监视/安全设备的标头,那么当很多数据包代理需要剥离标头来进行过滤时,又会怎样呢?”答案可以归结为:传统的监控技术已不再适用。随着云计算、虚拟化、可扩展和临时容器(container)实例以及软件定义的网络的快速增长,需要一种新的监视方法。Cubro的高级数据包代理可以过滤这些内部标头,而不会剥离标头,这是监视这些异常复杂的网络的第一步,我们将在本文的第2部分中进行讨论。