分流简介
由于现在骨干网络链路的带宽通常都很宽,远远超过单台主机设备的分析处理能力。如果将从网络中获取的流量信息转发到某一单台主机设备进行分析处理,是不切合实际的。因此分流设备需要具有将流量信息分解成适合主机处理的粒度的能力,即分流能力。分流功能的实现如图10-1所示。
图10-1中SwitchB发送流量到SwitchC经过上游分流设备时,上游分流设备将流量复制并发送到SwitchA,SwitchA上配置分流功能将流量分成4份分别发送到Server1、Server2、Server3和Server4上进行处理。
在业务分流过程中,分流设备需要具备以下功能特性:
单纤单向通信
为了保证报文分析服务器的数据安全,交换机光接口单板提供了单纤通信功能。用户通过使能发送端单纤通信命令,可以完成两个端口单根光纤单向通信。通过该功能可以实现分析服务器只接收报文,不外发报文,从而保证了分析服务器的数据安全。
同源同宿
网络流量分析中,仅分析通信双方的单向流量是不够的,往往需要结合通信双方的双向流量才能全面分析流量包含的信息,因此需要将通信双方的报文分流到同一台流分析服务器,这就要求分流设备在特定的转发流程中支持同源同宿。同源同宿指属于同一个网络连接的双向数据报文必须从同一个输出接口输出。
数据完整性
设备在进行三层转发的过程中,以下三种情况均会改变源报文的部分属性:
三层转发前:分流设备在接收源报文后需要做一次目的MAC地址的替换工作。
通常情况下设备在接收到IP报文后检查报文的目的MAC地址是否与设备的系统MAC地址一致,如果一致,则进行三层转发;如果不一致,则丢弃报文。然而作为网络中的业务报文的目的MAC地址必定与分流设备的系统MAC地址不同,因此,分流设备在接收源报文后需要做一次目的MAC地址的替换工作,以防止业务报文被丢弃。
- 三层转发中:IP报文在三层转发时源MAC地址被替换为转发设备的系统MAC地址,目的MAC地址被替换为下一跳设备的系统MAC地址。
- 三层转发后:要求网络设备至少将TTL值减少1。TTL是IP报文中的一个值,网络设备可以根据TTL值来判断数据报文在网络中的时间是否太长而应被丢弃。
然而在分流业务中,为了确保流量分析的正确性,需要尽可能的将网络中的流量原封不动的发送给流分析服务器,这就要求分流设备在数据转发过程中确保报文数据完整性,不能更改报文的任何属性数据。
在数据转发过程中,交换机针对上述改变源报文属性的三点,分别提供了:设备在接收到IP报文后在进行三层转发时不关注MAC地址功能、IP报文在三层转发时源MAC地址和目的MAC地址不变的功能和TTL值不变的功能。
流量出端口查询
在业务分流应用场景中,经常需要检查某些特定流量被分流到了哪些服务器,即在分流设备上是由哪些端口输出的。交换机提供了方便快捷的流量出端口查询方式,通过用户输入的五元组信息,获取符合五元组信息的流量的出端口信息。