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