跨流量采集设备同源同宿技术探讨

2021-11-08 02:37扶奉超牛云曹维华刘浩谢元宝
广东通信技术 2021年10期
关键词:分流器会话哈希

[扶奉超 牛云 曹维华 刘浩 谢元宝]

1 引言

近年来,随着宽带互联网技术和移动互联网技术迅速发展、网络应用和业务种类不断丰富,用户流量呈爆炸式增长趋势[1-2]。如何对海量爆炸式增长的用户数据进行监管和分析是个重要难题。

为了解决网络监管和分析的问题,国内运营商均有在网络重要节点(包括移动核心网、IDC 出口、城域网出口、骨干网出口等位置)部署专用流量采集和分析系统,如DPI 系统。分流器实现小流量汇聚,大流量拆分、同源同宿、负载均衡等功能,是流量采集系统的一部分。

同源同宿是流量采集和分析系统应用的基础。为满足不断增长的业务流量需求,并确保网络的可靠性,IDC、城域网、5GC 等关键网络节点的出口链路通常会连接多个不同的局向,而且每个局向又往往包含多条链路。路由器的上下行自主选路特点造成实际上同一会话的上下行可能不在同一条物理链路[3],如需要对这些出口链路的流量进行监控分析,需要将入出IDC 或城域网的同一会话的上下行完整流量输出给同一台流量分析设备进行处理,保证后端设备处理的数据的完整性和分析结果的准确性。业界在分流器和同源同宿方面有一些研究工作。文献[3]中作者提出了多种同源同宿的解决方案,包括同机房和不同机房间的同源同宿解决方案,但对各方案的对比分析较少。文献[4]中作者主要研究了5G 对分流器提的新要求及其设备的演进变化,对同源同宿问题研究较少。

本文主要研究分流器的同源同宿解决方案,综合分析和对比了3 种解决方案的优缺点,最后给出了同源同宿方案选择建议。

2 分流器同源同宿原理

单台分流器和多台分流器的同源同宿原理存在一些差异。本章将介绍单台分流器和多台分流器同源同宿的原理。

2.1 单台分流器同源同宿原理

分流器均有配置哈希资源用来实现负载均衡和同源同宿。当同一会话的上下行接入同一台分流器时,实现同源同宿有以下几个步骤:

(1)对哈希因子进行计算:分流器将多元组,至少二元组(源IP 地址,目的IP 地址)作为哈希因子,并对多元组进行运算。运算方法有异或、加减法等。

(2)哈希计算:利用选定的哈希算法对哈希因子进行计算,得到一串二进制数字结果。根据选择的哈希算法的不同,哈希计算后的结果可能是8 位,16 位,32 位等。

(3)端口选择:得到二进制数字串以后,选择其中部分的位数参与最终端口选择,比如通过哈希计算后得到了32 位的数字,可以选择32 位进行端口选择,也可以选择部分位数,比如低16 位。选好位数以后,将二进制数字串换算成十进制,再进行取模运算或者采用散列表的方式决定最终的输出端口。

同一会话的上下行链路中,源IP 地址和目的IP 地址会调换,比如上行链路源IP 地址为A,目的IP 地址为B 时,下行链路源IP 地址为B,目的IP 地址为A。哈希因子是将多元组(至少包含二元组)通过异或、加减等算法得到的。由于调换源IP 地址和目的IP 地址不改变哈希因子的运算结果,于是上述同源同宿的3 个步骤中,经过第一个步骤得到的结果是一样的。而第一步骤的哈希因子计算结果一致以后,第二个步骤和第三个步骤中的哈希计算和端口选择计算的结果也将保持一致。最终同一会话的输出端口不变,从而实现同源同宿。

2.2 多台分流器同源同宿原理

当同一会话的上下行接入多台分流器时,同源同宿的实现将会变得更为复杂。多台分流器支持的哈希机制可能存在差异,包括支持的哈希算法不同和端口选择机制不同。需要通过技术手段和组网架构设计来保障同源同宿。从本质上说,多台分流器同源同宿方法有两种。

(1)需要通过将同一会话的上下行流量接入或者导入同一台分流器,使得同一会话的上下行流量最终从同一个分流器的同一个端口输出,最终接入同一个后端分析服务器,如DPI 服务器。通过这种方法,可以将多台分流器的同源同宿问题最终转化成单台分流器的同源同宿问题。

(2)同一会话的上下行流量分布在不同分流器,从不同的分流器的端口输出,但正好接入同一个后端分析服务器,如DPI 服务器。

3 分流器同源同宿技术

经过分析,多台分流器的情况下主要的同源同宿实现方案有流量互导方案、多级分流器方案和哈希一致性输出方案,其中流量互导方案和多级分流器方案是将流量接入或者导入同一台分流器实现同源同宿,哈希一致性输出方案是通过将所有分流器设定一致的哈希输出规则,由后端系统如DPI 服务器对称接入分流器来实现。本章将详细介绍这几种方案。

3.1 流量互导解决方案

流量互导解决方案是指分流器之间采用full-mesh 组网架构,互导流量,如图1 所示。提前规划好每个分流器处理的流量。每个分流器只处理属于自身设备的流量,将其他流量通过互联链路转发至其他分流器。可根据流量特点选择互导单边流量(如上行),或者互导IP 段流量。从而让同一用户的上下行流量可以集中到同一台分流器进行处理。该种方案需要额外增加用于互导流量的端口。

图1 流量互导方案示意图

3.2 多级分流器解决方案

如图2 所示,多级分流器方案是指在原有的分流器和DPI 服务器两级架构基础上再增加一级或数级分流器方案,用其中一级分流器实现同源同宿功能,其他级分流器实现汇聚和分流功能,从而让同一用户的上下行流量可以集中到同一台分流器进行处理,实现同源同宿。根据同源同宿所在级数的不同,分为一级同源同宿方案和二级同源同宿方案。本文以二级同源同宿为例。

图2 多级分流器方案

3.3 哈希一致性输出解决方案

如图3 所示,不同分流器采用一致的输出规则,包括哈希因子、哈希算法等[5],确保相同二元组/多元组流量从不同分流器接入都能从相同接口输出。后端系统如DPI服务器对称接入分流器的接口。此种方案中,尽管同一用户的上下行分布在不同链路,但能保证相同多元组的用户数据能够进入到同一个下游系统(如DPI 服务器),从而实现同源同宿。由于不同分流器之间哈希机制一般存在差异,因此需要统一所有设备的哈希机制。

图3 哈希一致性输出方案示意图

4 同源同宿技术方案对比分析

流量互导方案不需要统一分流器支持的哈希输出机制,无需改造现有设备,但需要增加流量互导端口,用来互导部分流量。多级分流器方案也无需统一分流器支持的哈希输出机制,但架构和组网复杂,两级分流器之间背靠背组网,需要额外增加的端口数最多。

哈希一致性输出方案中每个端口均承载业务流量,无重复流量,因此无需额外占用端口。但该方案端口发生故障时,存在较大的隐患,难以同源同宿。当某个设备端口因光模块损坏或链路故障而失效时,该端口原来输出的流量会重哈希并分布到其它端口,从而导致同源同宿失效。需要同步关闭其它分流器上与故障相关的端口或更换同一型号的分流器来解决端口故障问题。但目前分流器与分流器之间是没有相应的接口和机制,开发难度较大。因此当某个端口失效时,很难做到异设备间同步端口状态。

总体来看,在额外增加端口方面,多级方案最多,流量互导方案中等,哈希一致性输出方案最少。但哈希一致性输出方案在端口故障时,同源同宿易失效。由于流量互导方案组网架构较简单,增加的端口数较少,也无同源同宿失效的隐患,因此建议选择流量互导方案作为主要的多台分流器的同源同宿方案。在端口需要适配场景建议选择多级分流器方案,解决端口适配的问题,比如采集链路接口与分流器接口不匹配的场景或者分流器接口与后端DPI服务器接口不匹配的场景。

5 总结

同源同宿是后端流量采集和分析系统能够应用的基础。本文分析了同源同宿的原理,提出了3 种同源同宿技术方案,并从多方面对比分析了方案的优缺点,给出了同源同宿方案建议。从额外增加端口等角度分析,建议主要选择流量互导同源同宿方案。本文的研究成果可为运营商流量采集和分析系统建设提供参考。

猜你喜欢
分流器会话哈希
机场行李系统开包间分流器应急装置的设计与应用
一种基于微生物腐蚀机理的微生物膜腐蚀监测传感器
QQ和微信会话话轮及话轮转换特点浅析
文件哈希值处理一条龙
预混喷嘴式分流器性能实验研究
基于集群节点间即时拷贝的会话同步技术研究①
汉语教材中的会话结构特征及其语用功能呈现——基于85个会话片段的个案研究
基于OpenCV与均值哈希算法的人脸相似识别系统
巧用哈希数值传递文件
新型电子式电能表用锰铜分流器的设计方法