第35卷第5期 2013年5月 电子与信息学报 V_0l_35NO.5 May 2013 Journal of Electronics&Information Technology 一种新的高速报文解析结构研究 郭云飞㈣ 黄万伟 郑州董永吉 夏军波⑨ 450002) (国家数字交换系统工程技术研究中心(理工大学 南京(防空兵学院摘210007) 郑州450052) 要:随着新协议的不断涌现和网络速率的迅猛增长,报文解析结构在解析灵活度和解析速率上面临挑战。该文 结合流水线设计和二叉trie树查表思想,提出一种应用于路由转发的报文协议解析结构fParsing Pipeline Architecture for Forwarding,PPAF),通过构建协议二叉trie树来支持报文协议解析的灵活度,利用硬件多级流水 查表提升报文协议解析处理速率,采用节点映射算法解决协议二叉trie树节点到流水线映射过程中存储资源不均衡 的问题。基于NetFPGA平台的仿真结果表明,相对于现有的高速解析结构,PPAF在处理速率和资源占用上取得 较好的均衡的同时,能够提供基于接口的灵活解析能力。 关键词:信息处理;报文解析;二叉trie树;网络虚拟化;NetFPGA 中图分类号:TP393 DOI:10.3724/SP.J.1 146.2012.00344 文献标识码:A 文章编号:1009—5896(2013)05—1083.07 A New High-speed Packet Parsing Architecture Dong Yong-ji① Guo Yun—fei①②Huang Wan-wei①Xia Jun—bo。 (National Digital Switching System Engineering Technological R&D Center,Zhengzhou 450002,China) ( e P己 University of Science&Technology,Nanjing 210007,China) (Air Forces Defence Command Academy of ,Zhengzhou 450052,China) Abstract:With the increasing number of new protocols and the rapid growth of the network link rate,the packet parsing architecture has been greatly challenged on its flexibility and rate.While combining the idea of pipeline design and binary-trie,a new parsing architecture is proposed in this paper,namely Parsing Pipeline Architecture ofr Forwarding(PPAF).It flexibly analysis packet protocol by constructing Forwarding Protocol-trie,improved the processing rate by employing hardware pipeline look-up table,and solved the unbalance of node mapping storage resource by using the node to pipeline mapping algorithm.The simulation results through the NetFPGA platform suggest that PPAF is superior than the extant high speed parsing architecture in two ways:PPAF achieves ambidexterity in pE6cessing speed and resource consumption;and it can provide independent interface-based flexible protocol parsing capabilities. Key words:Information processing;Packet parsing;Binary-trie;Network Virtualization;NetFPGA 1 引言 近年来,大量的新协议和技术【 】的涌现及随着网 络虚拟化[2,31研究的兴起,网络节点需要能够实时地 调整报文解析能力,以适应网络创新实验及网络业 务动态变化的组网需求。斯坦福大学推出的 NetFPGA[ 】平台,Anwer等人【5】提出的Swithblade 平台,Xie等人[0】设计的可编程虚拟化路由器 PEARL都为互联网创新提供了共享性、专用性和 基础性的试验环境。同时,为了加快新协议的解析 和部署,Kozanitis等人【 】提出利用TCAM(Ternary Content Addressable Memory)和hash配合查表的 Kangaroo报文解析系统,可达到40 G/s的链路处 理速率,但由于TCAM高功耗的缺点[8】,了系 统的可扩展性;Attig等人【。]提出了一种可以简单直 观描述报文解析的语言PP(Packet Parsing),根据 PP编译器可以离线生成一个协议解析处理器,经在 2012—03—29收到,2013.03-22改回 XILINX FPGA上测试可达到400 G/s的处理能力, 但由于算法占用资源巨大,导致通用可移植性较差。 本文将流水线设计和二叉trie树查表思想加以 国家973计划项目(2012CB315901),国家863计划项目(2011AA 01A103)和国家科技支撑计划(2Ol1BAH19B01)资助课题 通信作者:董永吉yongjid@gm&il.coin 1084 电子与信息学报 第35卷 结合,设计了一种应用于路由转发的协议解析结构 路径匹配的解析结果。在基于MPLS(Multi— (Parsing Pipeline Architecture for Forwarding, PPAF1,通过NetFPGA实验平台对结构进行了仿 真验证,取得了良好的效果。 Protocol Label Switching)S1 IP协议作为转发关键 词的场景下,如图2中(a)协议树1和(b)协议树2 分别描述了协议树Ethernet—VLAN—MPLS— IPv4一IPv6和802.3 SNAP—IPv4的FP—trie树结 构。 图2中P1和P13为无法识别的解析结果;P4, P8分别代表了MPLS和IPv6的协议识别结果,P6 和P12为IPv4的协议识别结果;其余节点均为协 议的判定节点,表1对两个FP—trie树的节点进行了 解释,具体如下所示。 2 PPAF结构介绍 PPAF由转发协议二叉trie树(Forwarding Protocol-trie,FP—trie)和流水线结构两部分组成, 如图1所示。转发协议二叉trie树将传统报文解析 过程抽象成一种二叉trie树的查表描述,达到解析 的灵活性表示;并采用节点映射算法(Node To Pipeline,NTP)将FP—trie树节点映射到流水结构 上,通过硬件并行流水查找FP—trie树节点信息,实 现报文协议解析。 啦 螅 强 曜 (a)褂议树1 图1 PPAF结构组成图 图2 FP—trie树结构 2.1转发协议二叉trie树 结合表1给出FP—trie树的定义: 定义1 FP—trie树叶子节点只包含解析结果, 二叉trie树是一种用于快速检索的二叉树结 构[10],FP—trie树依据二叉trie树的特点,对链路层 和网络层协议以网络转发为目的进行解析,将报文 其中包含正常解析内容的称实叶子节点,反之包含 无法解析的称虚叶子节点。 定义2节点深度为该节点到根节点的最大节 点数,定义根节点的深度为1,则其余节点深度为 头部的相应协议字段转化称为待查找的关键词,结 合网络协议的层次结构和协议公开标准,将协议解 析过程转换成一个有序的查找序列。 在FP—trie树结构中每个内部节点都包含一个 判定协议的规则方法及两个指针,两个指针分别指 向两个子节点,最后一级叶子节点包含与当前解析 双亲深度的最大值加1,并定义FP—trie树中最大节 点深度为FP—trie树的深度。 定义3若二叉trie树满足如下的约束: 约束1 每个协议的识别判定可能需要多个定 表1 FP.trie树节点内容表 第5期 董永吉等:一种新的高速报文解析结构研究 1085 位规则,但每个非叶子节点内只存储一个定位规则 和两个跳转的指针,其中定位规则包含该协议相关 字段的判定取值及判定方法; 约束2每个FP—trie树有且仅有一个虚叶子 节点; 约束3任一非叶子节点必须有两个不同为实 叶子节点的子节点; 则称该二叉trie树称为FP—trie树。 由上述的定义可知,协议二叉trie树具有如下 的性质: 性质1任一个FP—trie树描述的协议可以被 有限个非叶子节点判别表示。 证明 用反证法证明。假设协议P可以被无限 个FP—triee树的非叶子节点表示,由约束1可知, 每个非叶子节点都存储一个协议相关字段判别值, 则该协议P需要无限个协议字段来表示判定,这与 协议的物理实现相悖,故不可能出现。所以FP—trie 树描述的协议可以被有限个节点来判别表示。证毕 性质2深度为 的FP—trie树的节点数 , 满足L SL 2 一1。 证明用数学归纳法证明。 归纳基础:当L=I时,L=2 一1--1,则当深 度为1时,FP—trie树只有1个节点,由定义2可知, 有且仅有根节点的深度为1,故命题成立。 归纳假设:假设对所有的j(1 J< )命题成立, 即 sj<2j一1,证明j=L时命题亦成立。 归纳步骤:根据归纳假设,深度为 一1的 FP—trie树的节点数S 满足 一1 SL一】 2 一1。由约束3可知,深度为 的FP—trie树节 点数至多比深度为 一1的点数多2 个,故即.j== 时,深度为 的FP—trie最多有节点2 一1+2 = 2 一1个,满足SL 2 一l;由定义2可知,FP—trie 树深度为 意味至少有一个节点的父节点的深度为 一1,故 一1+1=L<S 综上可知,当.j= 的 时候,满足L SL≤2 一1,故命题成立。 证毕 综合性质1和性质2可知,若待解析协议可以 用标准的FP~trie树表示,则生成的FP—trie树节点 数存在界限,即表明FP—trie树资源占用有限。 2.2 PPAF流水结构 PPAF中流水线结构用来承载FP—trie树节点, 通过流水查找FP—trie树节点的方式实现协议报文解 析,如图3所示,硬件流水线结构主要由节点的存储 空间双通道RAM,比较器和移位器3个部分组成。 其中,双通道的RAM可以在同一时刻并发访问两个 图3硬件流水线结构图 地址,因而每一级流水线上任意时刻可以支持两个 查表操作,使得报文解析算法提高了一倍的吞吐率。 在每一阶段的流水处理中,首先要判断输入的 流水线级内容和本级流水线ID是否匹配,如匹配命 中则进行下一步操作,否则跳过本级流水线;其次 若匹配,则根据输入节点地址在双通道RAM中读 取出对应的节点内容,按照图4描述的数据格式判 定该节点是内部结点还是叶子节点,如果是叶子节 点则输出解析结果,并且不再进行查找;如果是内 部节点则与输入的协议类型在比较器中进行判别比 较,选择匹配节点的左或是右子节点作为输出,并 根据数据偏移量使用移位器在数据包存储中提取新 的数据,最后将节点地址、流水线级和协议类型作 为输入,在下一时刻送入后一级流水线阶段。 匝 匝 [ (a)实叶子节点格式 fb) ̄ltt子节点格式 (C)内部节点格式 图4 FP—trie树的节点数据格式 双通道RAM中存储经过映射转换后FP—trie 树的节点,每个节点的具体字段如图4所示:操作 类型(2 bit),用于标识参与比较的协议类型字段与 预定值的判定关系,同时也指示节点的类型。 当操作类型为“00”的时候,代表该节点是一 个实叶子节点,后续内容为提取信息的长度,如图 4(a)所示;当操作类型为“ll”的时候,如图4(b) 所示,该节点代表一个虚叶子节点。当操作类型为 “0l”或是“10”的时候,代表该节点是一个内部 节点,“01”对应着比较类型为大于,“10”对应着 比较类型为等于,如图4fc)所示的内部节点格式中 的判定字段(16 bit),为报文协议头部中的相关的协 1086 电子与信息学报 第35卷 议字段的判定值,比特掩码(4 bit)用于指示判定字 段的无效长度(0—15 bit);左/右子节点相距层数用 于指示FP—trie树左/右子节点所在流水线级与其父 节点所在流水线级之间的相对距离,左/右子节点地 址用于指示FP—trie树左/右子节点在流水线上的地 址;左/右子节点数据偏移用于指示提取下一个字段 需要偏移的比特位个数。 PPAF结构中比较器用于流水查找时选择匹配 的子树,为协议解析判断选择出正确的路径。将报 文头部中提取出的16 bit协议字段与RAM中存储 的协议字段预定值进行比较,比较的位宽由比特掩 码决定,最长为16 bit比较、最短为1 bit比较;比 较的关系根据操作类型来决定,分为大于、等于两 种关系。比较操作的结果若是为真,则选择左子节 点对应的存储信息,并输出下一次待解析节点相距 本级流水线的距离,下一个解析节点所在流水级上 的地址以及下一次从数据包存储中提取相关字段的 相对偏移比特位;比较结果若为假,则选择右子节 点进行相应操作。 PPAF结构中移位器用于实现报文信息的萃 取,为了节约存储空间,采用相对偏移累加的方法 完成萃取报文头部信息。如图5所示,使用移位累 加寄存器记录上一次移位偏移的量值,并采用该值 参与下次偏移值的计算;比特移位器根据前一级的 计算结果在数据包存储中寻找萃取信息的起始位 置,并按照指定的长度,从起始位置提取连续的比 特串作为结果输出。 3 PPAF结构实现 PPAF通过在每个接口都对应的建立FP—trie 树,实现接口灵活的解析能力。如图6所示, 硬件流水线上映射了两个网络接口的FP—trie树, 和P9分别为两个FP—trie树的根节点。每次到 达系统的报文,首先根据网络接口的不同,将报文 送至对应的解析树根节点,每经过一级FP—trie树的 节点,都会被进行一次协议规则的判断,进而在两 个两子树中选择一路进行下一步查找,直到找到叶 子节点为止;若在流水线的最后一级匹配到叶子节 图5移位器结构图 l级 2级 3级 4级 5级 6级 图6 PPAF流水查表示意图 点,则直接输出结果,若是在前几级流水线上匹配 到叶子节点,则该报文仍需要等待未处理的流水线 长的时间,用以保证报文的处理时延等长,进而达 到结构对报文的顺序处理。 3.1节点映射算法 FP—trie树节点需要被映射到流水线上才能完 成协议解析的功能,最简单的映射方式就是按照trie 树的深度将节点顺序分配到硬件流水级上,虽然这 种简单的方式可以保证流水线正常的线速操作,但 是FP—trie树结构的不规则性,会导致映射后的流水 线存储空间不均衡的占用,降低存储空间的利用率, 同时也会影响节点维护的效率,甚至影响系统整体 的性能。针对FP—trie树映射过程中存储空间的均衡 问题,提出最优化的数学模型,首先给出模型中的 符号含义,如表2所示。 节点映射的最优化数学模型为 min 0爨=l…, ,. Di (1) 条件1若FPtrie 和FPtrie8为FP—trie树中 表2公式及符号的含义 符号 含义 第i级流水线上映射的节点数 接口对应结构不同的FP—trie树的总数 流水线的深度 第J个接口对应的FP—trie树节点数 第i个FP.trie树 FP—trie树中的节点 FP—trie树节点的子节点 FP—trie树的根节点 FP—trie树的节点总数 FP—trie树中节点的深度 FP—trie树节点映射在流水线的深度 节点映射的条件判定规则 第5期 董永吉等:一种新的高速报文解析结构研究 1087 节点, FPtrie =child node(FPtrie日),则pipe depth(FPtrie ) pipe—depth(FPtrieB)。即为了保 证硬件流水查找的有序性,FP—trie树的父节点 (ancestor)--定映射在子节点(descendant)所在流水 3.2 FP-trie树节点更新 根据不同网络业务的组网需求,PPAF需要动 态调整FP—trie树节点内容来实现解析能力的灵活 变更。而FP—trie树的更新对应到节点的变化有3 线之前。 日∑ 条件2若FPtrieR为FP—trie树的根节点FP trieR=tree+ —root( ), pipe—depth(FPtn rieR)=1。 根据条件1和条件2可知有且仅有FP—triI le树的 根节点映射在第1级流水线上,即D = 。∑芦 条件3 结合建立的最优化模型,本文提出了一种类似 二叉树前序遍历的启发迭代的节点映射算法NTP, 实现所有FP—trie树节点到流水线上的映射关系,算 法流程如表3所示。其中,map conditionf・)为映 射节点的条件判定规则,判断结果为真的节点必须 映射到当前对应的流水线上。 代表除了第1级 流水线外,其余流水线级上节点数量的理论平均值。 表3节点映射算法NTP 节点映射算法NTP (1) Sort the all the FP—tries in decreasing order of node amount, { , ,…, },tree—size( ) ≥tree—size( ) … tre—size( ) (2) for i=1 to n (3) FPtrie ̄tree—root( ); (4) FPdepth ̄tree—depth(FPtrie); (5) MAP(FPtrie,FPdepth)begin (6) if(FPtrie is not mapped) (7) if m印一。。IIditi。“(FPtri。)=TRUE∞ D}P Dth D then (8)pipe—depth(FPtrie) ̄FPdepth; (9) Pd印th一 Pdepth+1; (10) else (11) FPdepth ̄FPdepth+l (12) MAP(FPtrie,FPdepth); (13) endif (14) endif (15) FPdepth ̄FPdepth ̄l (16) MAP(FPtrie ̄lchild,FPdepth); (17) MAP(FPtrie ̄rchild,FPdepth); (18) end (19) end of 种情况:(1)修改协议节点的内容;(2)插入新的节点: (3)删除已有的节点。第(1)种类型的更新相对容易操 作,只需要根据节点的存储地址,在相应的流水线 上定位到该节点,并更改相应的内容即可完成更新。 而第(2)和第(3)种类型的更新相对复杂,由于 FP—trie树的非叶子节点都有两个子节点,所以任一 个节点的插入或删除操作至少涉及到两个节点,而 在一些复杂情况下,大量的节点插入或删除操作甚 至会导致整个流水线节点分布不均衡,需要及时迅 速地完成节点的重新映射。 PPAF采用了一种在流水线空闲作业中通过插 入读写双口RAM操作实现节点内容的快速更新。 在更新过程中,首先根据流水级ID找到匹配的流水 线,然后根据节点地址找到需要更新的节点,利用 正常协议解析流水查找的空隙,按照读/写指示在存 储空间上更新节点。如图7所示,利用流水空闲在 时刻可以对节点F进行更新,在ti+ 时刻可以更 新节点D,这种方法既能保证协议解析的吞吐量, 又可以完成协议解析能力的快速更新。 图7节点更新方法 4测试结果 4.1实验环境设计 本文采用NetFPGA一10 G板卡上Xilinx Virtex- XCVTX240T一2FF1759—2 FPGA来验证PPAF算法 和结构。该FPGA可用的逻辑资源为18,720可编程 逻辑单元(configurable logic blocks)、2.400 kbit分 布式存储单元(Distributed RAM)和11.664(324× 36)kbit块存储单元(Block RAMs),实验验证使用 Xilinx ISE 13.3和Synplify Pro E 2011—3 SP1工具 软件。 鉴于NetFPGA板卡的接口数量被为4× 10 G,无法进行扩展,为了验证PPAF结构的有效 1088 电子与信息学报 第35卷 性,在FPGA内部模拟搭建了一个32路接口的 水线的PPAF结构资源与性能对比,其中资源逻辑、 PPFA结构,该结构为32接口分别提供的解析 BRAM的占用和时钟频率来源于ISE的Post place 能力,并有一个可配的深度最大为8的流水结构。 and route report的报告。观察可以发现,随着硬件 在流水线的构建上,己知操作类型、判定字段 流水线层数的递增,PPAF结构中BRAM使用的个 和比特掩码的长度一定,分别为2 bit,16 bit和4 数逐渐递增,始终与流水线的深度保持2倍的关系, bit,令日为流水线深度,则相邻两个节点间的相距 层数用flog 日1 bit表示,令左/右子节点地址宽度 与前文关于BRAM资源占用的分析一致;而不同深 为w bit,左/右子节点数据偏移分别为V bit,则图 度流水线的对应的时钟频率会随着BRAM及逻辑 4显示的节点占用的比特位宽m可以表示为 资源的增多而减小,但即使是流水线深度达到8时, m=2+16+4+2[1og2H1+2w+2v (3) PPAF也仅占用了不到3%的片上逻辑资源,同时 m=22+2([1og2 H1+W+ ) (4) PPAF的时钟频率仍然可以达到4.844 ns(206.44 MHz),由于本结构采用双通道BRAM,可以支持 整个结构占用的存储空间 大小为 两个流水查找过程并行进行,则对于最小的以太网 M=m X H×2” (5) 包(64 byte1,吞吐量至少可以达到206.44 MHz×64 由于实验中流水线的最大深度为8,所以左/右 ×8 bit×2=211 Gbps。 子节点相距层数分别为log 8=3。令左/右子节点 地址分别为10 bit,左/右子节点数据偏移分别为9 表4不同深度流水线的PPAF结构资源与性能对比表 bit,则每个节点总共占用62 bit的存储空间,根据 式(4),式(5)可知,整个结构共占用 66x 8x 2加 =540.472 kbit空间。XilinxVirtex一5 FPGA中每块 Block RAM最多存储36 kbit数据,且可以灵活的 配置成两个的18 kbit RAM或一个36 kbit RAM(36×1000 bit1。考虑到硬件节点的位宽 (36<66<72),所以每级别流水线需要2块BRAM 来构建。 为验证节点映射算法的均衡性,对应着虚拟的 图9给出了PP,Kangaroo和PPAF 3种协议解 接口模拟构造产生了32个FP—trie树,所有FP—trie 析结构在NetFPGA实验平台下,对协议树Ethernet 树的最大深度为8,最小深度为1,共有396个节点, —VLAN—MPLS解析时资源和性能上的对比。如 其中实叶子节点85个,虚叶子节点32个。采用NTP 图9(a)所示,相对于Kangaroo,PPAF在slice资源 算法将全部32个接口的FP—trie树映射到深度为8 的占用上基本持平,但是节约了10%左右的BRAM 的流水线上。 资源,但在处理能力上,PPAF的处理能力达到228 4.2结果与分析 Gbps远高于Kangaroo的10 Gbps;图9(b1中的 图8给出了两种节点映射算法映射后流水线节 PPAF。代表两个并行处理的PPAF结构,由于硬件 点数目分布图,其中simple方法采用直接对应映射 的方式,将FP—trie树节点按照其深度对应映射到相 并行处理的特性,所以PPAF 在资源的占用上是 同深度的流水线级。通过观察可以发现,NTP算法 PPAF一倍的同时,处理能力也为单个PPAF的一 除了第1级节点相对少一些外,其他流水线级的节 倍,达到228 Gbps×2=456 Gbps,远高于PP的 点基本按照算法的设计,在流水线上基本均匀分布。 341 Gbps的处理能力,虽然占用了少量不到4%的 而NTP算法第1级的节点明显少于其他级的流水线 BRAM资源,但相对于PP系统,也节省了27%的 节点数目是因为根据映射算法的约束条件2,第1 slice资源。 级流水线能且只能存放每个接口FP—trie树的根节 综上,相对于两种已有的算法,PPAF结构在 点,所以第1级流水线共存放了32个节点。同时, 资源占用较小的同时具有较强的处理能力,在资源 对比可以发现,NTP算法相对于simple方法可以有 占用和处理速率上取得了较好的均衡,并且不同于 效解决节点占用存储资源分布不均的问题,并充分 其他两种解析结构,PPAF结构为每个接口都建立 优化使用存储空间。 专用的FP—trie树,所以PPAF可以为每个接口提 表4给出了基于NetFPGA平台的不同深度流 供的解析能力,更适合未来网络柔性的需求。 第5期 ∞加∞锄∞∞洳加 《 啦 董永吉等:一种新的高速报文解析结构研究 1089 口8nCe i 1 Gbps Sl6 婚 碍 35 誉 电 翳 25 _BRAM 要12 篱8 0 舞 * 娓 鬟 澍 45(i Gbt 0 l5 肇4 蓍, 1 2 3 4 5 6 7 8 芝 PPAF Kangaroo 5 l厂] 一 PPAF2 PP 流水线ID (n)PPAF与Kangnroo资源似 能对比 m)PPAF。与PP资源性能对比 图8流水线节点数目对比图 5结论 针对传统的报文解析结构在功能上无法适应业 务变化、协议处理上无法灵活扩展及资源上不支持 虚拟化等问题,本文提出了一种应用于路由转发的 报文解析结构PPAF,该结构采用流水线配合二叉 trie树来实现协议解析功能高效性和灵活性,采用 节点映射算法来均衡各级流水线上的节点数目,以 达到优化存储空间的目的,并基于NetFPGA实验 平台仿真验证了PPAF的可行性和有效性,为可重 构信息通信基础网络体系研究的实验平台设计提供 了参考依据。 参考文献 [1] Katie V P and Inoue M.Introducing multi—ID and multi— locater into network architecture[J].IEEE Communications Magazine,2012,50(3):104—110. 【21 Khan A,Zugenmaier A,Jurca D,e a1..Network virtualization:a hypervisor for the Internet[J].IEEE Communications Magazine,2012,50(1):136—143. [3】Palkopoulou E,Schupke D A,and Bauschert T.Shared backup router resources:realizing virtualized network resilience[J].IEEE Communications Magazine,2011,49(5): 140—146. [4】 Naous J,Erickso D,Covington A,et a1..Implementing and deploying an openflow switch on the NetFPGA platform[C]. Proceedings of the 4th ACM/IEEE Symposium on Architectures[or Networking and Communications Systems, San Jose,CA,USA,Nov.2008:卜9. [5】 Muhammad Bilal Anwer,Murtaza Motiwala,Mukarram bin Taria, a1..Switchblade:a platform for rapid deployment of 图9 3种解析结构资源和性能对比 network protocols on programmable hardware[C]. Proceedings of the ACM SIGCOMM Conference.New Delhi. India,Aug.2010:183—194. Xie G G,He P,Guan H T,et a1..PEARL:a programmable virtual router platform[J].IEEE Communication Magazine, 2011,49(7):71—77. [7 Kozanitis C,Huber J,Singh S,et a1..Leaping multiple headers in a single bound:wire—speed parsing using the Kangaroo systemiC].Proceedings of the 29th IEEE Conference on Computer Communications,San Diego,CA, USA,Mar.2010:830—838. Zane F,Narlikar G,and Basu A.CoolCAMs:power—efifcient TCAMs for forwarding engines[C].Proceedings of the 22nd IEEE INFOCOM,San Francisco,USA,2003:42—52. Attig M and Brebner G.400 Gb/s programmable packet parsing on a single FPGA[C].Proceedings of the ACM/IEEE Symposium on Architectures for Networking and Communications Systems,Brooklyn,NY,USA,Oct.201 h 12—23. 【1O Pao D,Lu Z,and Poon Y H.Bit—shuflfed trie:IP lookup with multi—level index tables[C].Proceedings of IEEE International Conference on Communications,Kyoto,Japan, J1ine 20】】:】一5. 董永吉: 男,1983年生, 博士生,研究方向为宽带信息网络. 郭云飞: 男,1963年生, 教授,博士生导师,主要研究领域为宽 带信息网络. 黄万伟 男,1979年生, 讲师,研究方向为宽带信息网络 夏军波 男,1981年生, 讲师,研究方向为宽带信息网络