|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一种高并发网络环境下快速流表查找方法
% i, M/ x: ]) P! F9 g9 ~" S摘要:为了改进高速网络环境下连接表的查找速度,本文首先分析了OC-192骨干链路上的流量特征.研究表明,骨干链路不仅具有高并发和高到达速率的特点,而且在适当的缓存窗口下,具有较好的网络局部性特征.基于这些特征和局部性原理,本文在朴素的哈希表结构基础之上增加常量开销的辅助空间,实现了一种快速流表查找方法.理论分析和真实网络数据集上的实验表明,该方法相比现有方法可以降低流表查找长度20.2% ,减少流表访问时间17.1 % .5 y( p, [+ q) q
关键词:哈希表;高并发网络;连接表管理;网络局部性; M w2 g# O( k: @: p/ I3 T
2 D) ]; g, U0 k1引言
1 i x- K% i& s$ ]5 [- r9 J在高速网络环境下,高效率的连接管理已经成为现有网络流量处理系统(如入侵检测、流量计费等系统)的一个关键模块[1.2.如图1所示,通常流量处理系统架构主要分为三大模块:流量获取、连接管理、业务处理.连接管理为业务处理提供流追溯功能3',包括查找、更新和删除这三种操作.为了准确地记录每一条连接,连接管理模块必须维护一个连接表(或会话表),其中每一个连接表项追溯网络中的一条连接,负责记录连接的标识ID、状态等相关信息,其中连接标识是全局唯一的,一般由TCP/IP头部的五元组构成:FID { sip,dip , sport , dport , ip protocol } .+ g3 K: s2 r; s- L2 d: D
连接管理模块所采用的数据结构大多为哈希表,哈希冲突通过连接法解决[4~61.因为在网络中流总数和表长度相近时,哈希表能够支持接近常量时间复杂度的查找、插入、删除操作”.现有流量处理系统采用单包调度的策略.数据包首先缓存在网卡缓冲区中,之后按缓冲区内到达顺序依次送往连接管理模块,执行连
! g2 o) o3 {8 V" J4 ]
, _ s/ h: o+ ]8 @ [1 l' ]+ L; |$ O. L1 j/ U! B
. r, j" k) W Z) ^( h, z( i v
3 X- t+ D/ ]; }9 U( | |
|