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