




已阅读5页,还剩46页未读, 继续免费阅读
(计算机系统结构专业论文)面向internet海量数据应用的tcpip协议处理优化技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 因特网的飞速发展,使得以太网的带宽在最近五年间,从1 0 0 m b p s 发展到l o o o m i o p s , 再到1 0 g b p s 。但是处理器的性能却没有紧跟其步伐,尤其是内存带宽和访问延迟的技术 进步速度大大滞后于网络带宽的发展。这给众多面向网络安全的信息获取和监控处理系 统在海量网络数据流的实时处理上带来严重挑战。本文通过分析海量网络流实时处理系 统存在的问题,设计了一个基于智能网卡的t c p f l p 协议处理体系结构- t c p 加速体 系结构( 简称为t a a ) 。它利用智能网卡作为其网络数据报文捕获平台,并在其上完成 部分t c p i p 协议卸载,以在尽量减少主机资源占用的前提下提高海量网络流实时处理 系统的处理能力。为了充分挖掘系统潜能,本文对智能网卡p p c a 4 0 的网络驱动进行了 深入的研究,并进行了各种优化和系统的测试。测试表明优化效果显著,在主机c p u 占 用为零的前提下,报文捕获性能达到线速( 1 4 8 8 万帧秒) 。 同时,本文对报文在智能网卡上的处理模式进行了研究,以实现在不影响报文捕获 能力的前提下尽可能多地对报文进行处理,提高海量网络流实时处理系统的处理能力。 本文设计和实现了两种报文处理结构,并对其进行了深入的分析比较和系统的测试。测 试表明在接收中断中对报文进行处理这种结构最优,当对报文进行有限的处理时,智能 网卡捕获性能可达到线速( 1 4 8 8 万帧秒) 。本文同时还验证了在p p c 4 4 0 上实现部分的 协议卸载的可行性。 关键词:海量网络流实时处理系统、智能网卡、线速、t c p 加速体系结构、线程处理结 构、中断处理结构 r e s e a r c ho no p t i m i z a t i o n so f t c p i p p r o c e s s i n gf o rm a s s i v en e t w o r k t r a f f i c a p p f i c a t i o n z h o ux i n l i a n g ( c o m p u t e r a r c h i t e c t u r e ) d i r e c t e db yz h a nx i a o f a n g i nt h er e n c e n tf i v e y e m s t h er a p i dd e v e l o p m e n to f i n t e r a c tm a k e se t h e m e tb 觚l d 诵d mg r o w f r o m1 0 0 m b p st o1 0 0 0 m b p s , a n dt h e nt o1 0 g b p s b u tp r o c e s s o r sa r en o tk e e p i n gp a c ew i t hi t s p e r f o r m a n c ep a c e , p a r t i c u l a r l yw i t h i nt h em e m o r yb a n d w id t ha n da c c 鹪l a t e n c yg r e a t l yl a g s b e h i n dt h ep a c eo ft e c h n o l o g i c a lm v a n c e si nt h ed e v e l o p m e n to fn e t w o r kb a n d w i d t h t h i s g i v 鹳r e a l - t i m ep r o c e s s i n gt h em a s s i v en e t w o r kt r a f f i cs e r i o u sc h a l l e n g e si nm a n yo r i e n t e d n e t w o r ks e c u r i t ys y s t e m , w h i c hi su s e dt oa c c e s sa n dm o n i t o rt h ei n f o r m a t i o no fi n t e m e t i n t h i sp 碱w e a n a l y s et h ep r o b l e m so fr e a l - t i m ep r o c e s s i n gs y s t e mo fm a s s i v en e t w o r k t r a f f i c , a n dt h e nd e s i g nt c pa c c e l e r a t i o na r c h i t e c t u r ef f a a ) ,w h i c hi san e wa r c h i t e c t u r eo f p r o c e s s i n gt c p i pp r o t o c o lb a s e do ni n t e l l i g e n tn e t w o r ki n t e r f a c ec a r d0 n l c ) i nt h et aa w em a k en i ca st h ep l a t f o r mf o rc a p t u r i n gn e t w o r kp a c k e t s a n di m p l e m e n tp a r t i a lp r o t o c o l o f f i o mo ni ti no r d e rt or e d u t 冶t h eu t i l i z a t i o no fh o s ts y s t e mr c s o l r - c ea n de n h a n c et h e t h r o u g h p u to f r e a l - t i m ep r o c e s s i n gs y s t e mo f m a s s i v en e t w o r k t r a f f i c t h ep a p e rh c u b r a t e s o nt h en e t w o r kd r i v e rp r o g r a mo f p p c 4 4 0w h i c hi s 雒i n i c , a n dd o e ss o m ee x p e 劬e n t s0 1 1 i m p m v e ds y s t e m t h ee x p e r i m e n t a lr e s u l t ss h o wt h a tt h er e c e i v i n gt h r o u g h p u to f p p c 4 4 0c a n r e a c hl i n es p e e d ( 1 4 8 8 k p p s ) a tt h es a n - l et i m e , t h ep r o c e s s i n gp a t t e r no f t h ep a c k e t s0 1 1t h e 玳i ci ss t u d i e dt od e a lw i t h p a c k e t sa sm u c ha sp o s s i b l ew i t h o u ta f f e c t i n gt h ea b i l i t yo fc a p t u r i n gt h ep a c k e t s , t h u s , t o i n l p r o v ot h ea b i l i t yo fr e a l - t i m ep r o c e s s i n gs y s t e mo fm a s s i v en e t w o r kt r a f f i c t h i sp a p e r d e s i g n sa n dr e a l i z e st w ok i n d so f p a c k e t sp r o c e s s i n gs t r u c t u r ea n dm a k e si n - d e p t h 越m l y s i sa n d c o m p a r i s o no ft h e m i ti sp r o v e dp r o c e s s i n gp a c k e t si nt h ei n t e r r u p t i o ni sab d t e rw a y w h e n d o i i i gl i m i t e dp r o c e s s i n go ft h ep k e t s ,t h ec a p t u r ep e r f o r m a n c eo f 珊i cc o u l da c h i e v el i n e s p e e d ( 1 4 8 8 k p p s ) t h i sp a p e ra l s op r o v e st h ef e a s i b i l i t yt oi m p l e m e n tp a r t i a lp r o t o c o lo f f l o a d o np p c a 4 0 k e y w o r d s :r e a l - t i m ep r o c e s s i n gs y s t e mo f m a s s i v en e t w o r kt r a f f i c ;i n t e l l i g e n tn e t w o r k i n t e r f a c ec a r d ( i n i c ) ;l i n es p e e d ;t c p a c c e l e r a t i o n a r c h i t e c t u r e ;t h r e a d ;i n t e r r u p t 图目录 图1 1c i u 、内存与网络带宽技术进步率 图1 2e t a 体系结构 图1 3e t a 传输性能益处 图1 4 处理器效率比较 图1 5b n i d s 系统处理流程 图1 6 优化系统b n i d s 的体系结构 图1 7 智能网卡p p c a 4 0 结构图 图1 8m p c 8 5 4 0 结构图 图2 1t a a 体系结构 图2 2 线程处理结构报文处理流程图 图2 3 中断处理结构报文处理流程图 图2 4z e r oc o p y 报文捕获平台 图2 5 基于智能网卡的报文捕获平台 图2 6 接收描述环组织 图2 7 空闲缓冲块环组织 图2 8 图3 1 接收描述环的状态变化, p p c 4 4 0 报文捕获流程图 1 9 图5 1p p c 4 4 0 不同分配方式下吞吐量的比较 2 0 2 2 图5 2p p c 4 4 0 不同报文捕获方式下吞吐量的对比3 2 图5 3p p c 4 4 0 代码优化前后在不同大小帧上吞吐量的对比3 3 图6 1 不同中断粒度下的“字节帧吞吐量及伪吞吐量 图6 2 中断处理结构接收中断处理能力 v 3 5 3 8 3 4 4 5 6 8 9 屹 b 坫 博 掩 侈 表1 1 优化系统各线程处理时间 表目录 表1 2p p c 4 4 0 与m p c 8 5 4 0 主要特征比较 表乞l 线程处理结构与中断处理结构优缺点比较 表3 1 不同分配方式优缺点比较 表3 2 接收中断每次平均处理报文数 表3 3 三种报文捕获方式优缺点比较 表4 1 真实流主要特点 表4 2 表5 1 发包服务器主要配置 p p c 4 4 0 原驱动吞吐量 表5 2m p c 8 5 4 0 原驱动捕包性能 表5 3m p c 8 5 4 0 与p p c 4 4 0 报文捕获性能比较 6 表5 4p p c 4 4 0 可线速捕获6 4 字节帧的优化策略组合方案3 4 表6 1 线程处理结构容忍小报文b u r s t 能力 表6 21 2 0 g b 真实流中连续小报文峰值 3 6 3 6 表6 3 模拟真实流和“字节帧线速下不同伪操作数下的丢包率( ) 3 7 表6 4m p c 8 5 4 0 不同队列长度下接收中断处理能力 表6 5 不同s gd m a 粒度下不同主频的智能网卡丢包率 3 8 3 9 表6 6 模拟真实流和6 4 字节帧线速下具有d m a 功能的智能网卡的丢包率( ) 4 0 表6 7 不同程度卸载下p p c 4 4 0 的丢包率。 4 l m m 筋 ;号 嚣 丝 如 如 轮 声明 我声明本论文是我本人在导师指导下进行的研究工作及取得的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,本论文中不包含 其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做 的任何贡献均已在论文中作了明确的说明并表示了谢意。 作者签名:i 八去弋乞日期:删一一z 7 论文版权使用授权书 本人授权中国科学院计算技术研究所可以保留并向国家有关部门或机 构送交本论文的复印件和电子文档,允许本论文被查阅和借阅,可以将本 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编本论文。 ( 保密论文在解密后适用本授权书。) 作者虢,q 毒弦师虢绷舳飙删枷一z , 1 研究意义 第一章引言 仅仅是几年前,以太网的带宽还是1 0 0 m b p s 。因特网的飞速发展,使得以太网的带 宽在这短短的几年问,从1 0 0 m b p s 发展到1 0 0 0 m b p s ,再到1 0 g b p s 。相信不久的将来, l o o p s 的以太网将会像现在的千兆以太网一样被广泛应用。但是处理器的性能却没有紧 跟其步伐,尤其是内存带宽和访问延迟的改进速度大大滞后于网络带宽的发展( 见图1 1 ) 【l 】。 图1 1c p u 、内存与网络带宽技术进步率 根据中国互连网络信息中心2 0 0 5 年一月份统计报告 2 1 显示,我国因特网发展迅 速。截止2 0 0 4 年底,我国总共拥有四千一百六十万台计算机,比前年增加了五百三十万 台,增长率为1 4 6 。它是1 9 9 7 年第一次调查结果的1 3 9 1 倍。而我国网络国际出口带 宽为7 4 4 2 9 m b p s ,与2 0 0 4 年上半年相比,增加了2 0 4 8 8 m b p s ,增长率为3 8 ,是1 9 9 7 年第一次调查结果的2 9 2 9 4 倍。 同时,网络数据包的处理非常耗c p u 资源。即使使用当今最快的处理器,t c p i p 协议处理能轻易地消耗掉8 0 到9 0 的可获得的计算周期,并且还不能达到千兆线速的 性能1 31 。在网络中,一直流传着这样一句经验之谈:在最好的情况下,1 m i - i z 的c p u 能处理i m b 的网络带宽。如果按照这个规律,现在3 9 g h z 的c p u 只能处理3 9 g b 的网 络带宽这在1 0 g b p s 的网络带宽还没有被广泛使用的当今,c p u 的性能是能满足网络 带宽的需求的,验证了当更快的网络被广泛地应用时,总能找到足够快的c p u 满足其需 求 4 1 。但是相比较而言,内存带宽与访问延迟却发展得不够快,与c p u 性能间的差距 中国科学院硕士学位论文 在不断增大。这所带来的一个结果是为等待访存结果而耗的c p u 周期日益增多,即所浪 费掉的c p u 资源增多。如果网络带宽中的内存缺口每增加十倍,则要求c p u 以原来十 分之一的时间处理每个所到来的报文,以跟上报文到来的步伐【l 】。因此,随着相关技 术发展的步调不一致,仅仅靠c p u 主频的提高并不能完全解决高网络带宽带来的问题。 特别是在 0 g b p s 的以太网中,报文到来的速度已超过了系统处理报文的速度,这必然 导致报文的丢弃,也使得网络带宽的增长失去了其意义所在。 此外,如果为了快速处理网络数据包以满足网络带宽的需求而耗光了几乎所有的系 统资源的话,这必然会带来一个非常严峻的后果:没有多少系统资源可用于满足应用需 求,进而导致应用的吞吐率降低。而网络带宽的增加,系统性能的提高等这一切的切, 最终目的是为了满足应用的需求 为了能更快地处理网络数据包以满足当今网络带宽的需要,而又不过多地占用系统 资源,使得系统能有更多的资源用于应用处理,有必要再一次对网络数据包处理加速技 术进行研究,以弥补内存带宽与访问延迟发展速度跟不上步伐所带来的缺陷。 1 2 国内外相关研究 在过去十五年间,由于网络技术的不断进步,人们对终端系统( e n d - s y s t e m s ) 的网 络处理优化做了大量的研究,如【5 】和 6 1 。最近几年,随着以太网带宽的飞速增长, 服务器网络负担日益加重,研究者们和工业界又再一次将注意力放到加速服务器网络处 理速度、减轻服务器网络负担的技术研究上。这些技术包括t o f _ f f c po t t l o a de n g i n e s ) 技术和i n t e l 的t c po n l o a d i n g 技术。 t o e 技术 t o e 技术是一种将t c p i p 协议处理从服务器的处理器上移到外围设备上( 如网卡) 的技术。它对t c p 协议栈进行了软件扩展,使部分t c p f l p 功能调用从c p u 转移到了网 卡上集成的t o e 硬件。t o e 一般由软硬两部分组件构成,将传统的t c p i p 协议栈的功 能进行延伸,把网络数据流量的处理工作全部转到网卡上的集成硬件中进行,服务器只 承担t c p i p 控制信息的处理任务。提倡t o e 技术的学者们认为它能增加服务器的网络 吞吐量而又能同时减少c p u 的利用率。r o l a n d w e s t r e l i n 等人在一台s m p 机器上开发了 一个t o e 模拟器,经测试,性能提高了6 0 0 n9 0 0 1 9 1 。在某些应用场景,特别是 那些进行大块数据传输而连接数又少的应用场景,如基于口的数据存储领域,使用t o e 是能够增加应用的吞吐量和c p u 利用率的【1 0 1 。 近几年来,t c p 减负引擎( t o e ) 弓i 起了工业界的广泛关注,并获得了相当大一笔数 目的风险投资资金。现在已有若干厂商生产出了t o e 产品或即将投入市场【8 】:如 a d a p t c c 公司( 哪a d 印t 眈c 0 i n ) 生产的a e a - 7 1 1 0 c ,它是一个6 4 位,6 6 m h z 的千兆以 太网控制器,具有t c p 协议栈处理能力;a l a c r i t e e h 公司帆a l a c r i 砌l c 0 i n ) 的 s l i c ( s c s s i o nl a y e r i n t e r f a c ec a r d ) 技术,它将在主机软件中所运行的网络处理卸载到适配 2 第一章引言 器上的a s i c ( a p p l i c a t i o ns p e c i f i ci n t e g r a t e dc i r c u i t ) t ,仍将控制和异常处理保留在主机 的软件中,该公司声称他们的s l i c 技术能够解决由传统的网络接口体系结构所产生的 系统性能瓶颈,包括内存传输,c p u 中断,和p c i 传输;a n t a r e s 公司( w w w a n t a r e s t o m ) 的千兆以太网适配器,它具有t o e 功能和能进行1 2 8 位实时加密;f a n u l e x 公司 ( w w w e m u l e x t o m ) 的g n 9 0 0 0 s i ,它将i s c s i 和t c p i p 协议固化来达到最大的存储访 问性能;l u c e n t 技术公司( w w w h l c e l i l 嘲) 的o p t i s t a rg e l 0 0 0 ,它是一个具有t c p i p 协 议栈完全卸载功能的网络适配器,l u c e n t 称这个基于a s i c 的设备能达到1 g b p s 的性能; q l o g i e 公司( w w w q l o g i c c o m ) 的主机总线适配器( h b a ) ,它能完成包括异常处理的所 有t c p i p 处理;i n t e l 公司( w w w i n t e l c o m ) 的p r o 1 0 0 0ti p 存储适配器,它将t c p i p 和i s c s i 处理卸载到板子上的i n t e l8 0 2 0 0 处理器上。 t c p o n i o a d i n g 技术 与t o e 技术将t c p 协议栈处理卸载到外围设备上相反,i n t e l 实验室所研发的t c p o n l o a d i n g 技术,仍将t c p 协议栈处理留在了服务器的处理器上,这个处理器采取的是 c m p 体系结构【1 0 l 。它使用处理器的一个或多个核对t c p 协议栈进行专门的处理。实 际上,它也是一种t c po m o a d 技术,只是将t c p 协议栈处理从外围设备的处理单元上 转移到了系统上的某些处理单元上 m u r a l ir a n g a r a j a n 和a n i r u d d h ab o h r a 【1 5 】在一台4 路s m p 服务器上进行了t c p o n l o a d i n g 技术研究。他们采用这台服务器的一个或多个c p u 专门进行t c p 服务,而 使用剩下的处理器进行应用处理。实验结果表明,将处理器的负载分成网络处理和应用 处理可提高吞吐量超过2 0 。 图1 2e t a 体系结构 i n t e l 实验室的e t a ( e m b e d d e dt r a n s p o r ta c c e l e r a t i o n ) 项目对t c po n l o a d i n g 技术进 行了研究。它为了实现采用标准以太网和t c p i p 网络互连的服务器之间的高性能通信, 使用处理器的一个或多个核进行t c p i p 处理来减少操作系统的开销【1 l 】。图1 2 显示 了高层的e t a 体系结构【1 0 1 。它将系统分为主机和p p e ( p a c k e tp r o c e s s i n ge n g m e ) 两部 分,这两部分问的接口采取共享内存的机制。p p e 是那些用于专门进行通信处理的核的 总称。d t l ( d i r e c tt r a n s p o r ti n t e r f a c e ) 是主机与p p e 的接口,它支持建立s o c k e t 连接的直 接命令,如c o n n e c t ,l i s t e n ,a c c e p t 等,同时也支持匿名缓冲池。这个匿名缓冲池用于缓 3 斗 轧r ;0 ;。 i 中国科学院硕士学位论文 存乱序报文和那些已处理好但应用程序却没准备好接收缓冲区的数据。 e t a 项目在一台双c p u 的s m p 服务器上开发了一个e t a 原型,其中一个c p u 作 为主机处理,另一个则用作p p e 。这个s m p 服务器使用2 4 g h z 的i n t e lx e o n 处理器和 4 0 0 m h z 的前端总线( f i o n t - s i d e b u s ) 。p p e 根据运行在主机c p u 上的应用来建立或终止 t c p i p 会话。处理核心采用多标准的干兆以太网卡和修改了的以太网驱动。e t a 原型服 务器与5 台客户机通过千兆链路直接相连。客户机采用的是标准的服务器,其上运行 l i n u x 操作系统和测试传输控制协议吞吐量的基准测试m i c r o b e n c h m a r k 。经测试,采用 e t a 原型的服务器与采用标准的l i n u x 的服务器比较,在传输吞吐量( m m s m i t t h r o u g h p u t ) 上,对于所有的传输单位( 报文大小) ,前者超过了后者,并且当传输单位不 超过1 0 2 4 字节时,后者的c p u s 被全部用来处理网络协议栈,而前者在所有的单位上, 可获得的空闲主机c p u 都超过了8 0 ,见图1 3 ;按照一单位主频( 赫兹) 能处理多少 , 、,位的网络数据进行比较,前者在传输和接收网络数据包的测试中,对于所有的传输单位, 都超过了后者,见图1 4 【l o l 。 图i a 处理器效率比较 4 第一章引言 1 3 应用场景 在实际的研究中,我们主要是对海量网络流实时处理系统的t c p i p 协议处理优化 技术进行研究。 众多面向网络安全的信息获取和监控处理系统都是海量网络流实时处理系统,这些 系统均需要对骨干网上的网络流进行快速获取并进行及时、完整的信息分析和处理。它 需实时捕获骨干网上所有的数据报文,并对捕获的数据报文进行t c p l p 协议还原和应 用协议还原,以及对还原了的内容进行检查【1 6 1 。这样的系统有两个比较明显的性能要 求,一是完整的实时数据获取能力,另一个是实时的数据分析和处理能力。同时满足这 样两方面的要求是非常困难的,特别是数据获取,其数据获取平台的报文捕获能力直接 影响到它对网络流及时、完整的处理。 b n i d s 【1 4 1 是一种海量网络流实时处理系统。它捕获通过网关传输的网页、邮件、 下载文件,识别并检测其中的有害信息,记录获取的信息和分析结果以便于统计分析, 并在此基础上利用智能分析和学习等技术发现有害信息的特征,提高监测和封堵的准确 性。系统需处理多种方式的信息传输,包括h t r p 协议传输的网页,s m t p 、p o p 3 、h r r p 协议传输的邮件,f t p 协议传输的下载文件等,并能够分析处理通过代理进行的信息传 输。此外,系统提供特别监视方式,能够捕获并记录与指定m 地址相关的所有通讯信息; 用户能够定义多种方式的过滤条件,用以从网络传输信息中筛选出有害信息;可以针对 各种传输协议指定相应的协议特征,或指定内容关键字对信息内容进行扫描。它的处理 流程如图1 5 所示【1 4 1 。 图1 5b n i d s 系统处理流程 在2 0 0 5 年上半年的工作中,我们对已有的b n i d s 做了优化,取得了很好的效果 优化系统在c p u 利用率上,在二路s m p 服务器中,大约提高了3 0 ,在四路s m p 服 务器中提高了大约2 5 。并且优化系统在负载均衡上明显优于原有系统优化系统采取 的是t c po n l o a d i n g 技术的思想,将协议栈的处理从核心态卸载到用户空问。它采用一 5 中国科学院硕七学位论文 个主线程进行协议栈的处理和各从线程的任务分配,而多个从线程主要进行应用协议的 还原与内容检查,如图1 6 所示【1 4 1 。 h “口c 口 “i p - - t a r o _ “ 一f o _ d 图1 6 优化系统b n i d s 的体系结构 同时,它的报文捕获平台使用的是零拷贝报文捕获平台,采取的是零拷贝技术【1 6 。 零拷贝的思想是将普通千兆网卡捕获的报文直接以d m a 方式存储到应用程序可以访问 的地址空间,避免数据报文在内核态里传输时的内存操作。通过性能分析比较表明,它 在接收6 4 字节与1 5 0 0 字节的报文时吞吐量分别达到了9 0 万p p s 和8 2 万p p s ,与传统 的需经过核心协议栈的报文捕获平台相比,报文捕获能力有了较为显著的提高。 1 4 优化系统刚i 瞻存在问题与解决方案 但优化b n i d s 还存在一些问题。从表1 1 可看出,主线程处理时间远远超过了各从 线程处理时间,主线程负担过重。根据并行线程执行时间由其中耗时最长的线程决定这 一原则,优化系统的并行性并不理想。 t h r e a d a f t e r ( m i c r o s e c o n d ) t u n ew 缸t t i m e 0 1 , 2 9 5 ,1 2 3 7 0 l1 8 0 52 1 0 28 8 54 5 3 31 9 7o 4 5 1 51 0 5 5 4 ,7 2 5 0 62 8 2o 72 3 0o 8l o 2 铝1 0 7 0 表1 1 优化系统各线程处理时间 我们用o p r o t i l e 工具对海量网络信息处理系统进行了测试,发现用于t c p 校验和m 首部校验的函数m y _ t e p _ e h e e k 和i p _ f a s tc s t u n 分别占了系统整个c p u 开销的3 7 0 2 8 4 6 删 j 彗 郴 剥霉一 第一章引言 和1 3 9 6 0 ,累计为3 8 4 2 4 4 。这部分工作完全可在具有校验功能的网卡上完成。此 外,通过对从骨干网上采集的的1 2 0 g b 真实流进行分析,发现无助于应用协议还原的无 数据的a c k 报文( 仅用来确认已收到所需报文并请求下一报文而发往对方的报文,无助 于己方报文的还原) 占了t c p 报文总数的2 3 ,报文总数的1 9 1 ,而上层应用协议不 关心的非t c p 且非u d p 报文占了l 。这2 0 1 的报文使得协议栈处理报文的效率偏 低 此外,其零拷贝报文捕获平台具有如下缺点:不能线速捕获6 4 字节报文,对小数据 报文的处理能力有限;中断开销会消耗掉主机的一部分资源。我们对其中断开销进行了 测试当在网络驱动一级收到报文后立即丢弃,普通千兆网卡可线速捕获6 4 字节报文, 但需要1 5 的c p u 资源用于中断处理。网络的飞速发展,特别是网络信息的挖掘和应 用【2 】,给类似的海量网络流实时处理系统带来了极大的挑战,这类系统本身对处理资 源的需求呈现出飞速增长的趋势,数据获取和分析处理在争用资源。零拷贝技术带来的 1 5 的系统开销使很多后续的数据处理只能分级完成,这大大降低了这类系统的实时性。 综合b n i d s 存在的上述问题,我们打算采取t o e 技术和t c po n l o a d i n g 技术相结 合的方案,解决这些问题。在实际的研究中,我们拟采用下节所述的第三版智能网卡 p p c 4 4 0 作为其报文捕获平台,并实现部分t c p 1 p 卸载,而在主机上利用零拷贝的思想, 将智能网卡进行了部分处理的网络数据绕过核心态,直接以d m a 方式传送到用户态, 由b n i d s 的主线程继续处理。 “ 1 5 智能网卡简介 智能网卡是自带有处理器,具有一定的通讯协议处理能力的网络适配器。它采用 d m a 方式提高网络传输带宽,采用全流水方式减小网络传输延迟,并通过将通讯协议 卸载到网卡上来执行以提高计算和通讯的重叠。 到目前为止,智能中心共自主设计和实现了三版智能网卡。第一版智能网卡【1 7 1 基于i 9 6 0 v h 处理器设计,采用可编程逻辑器件e p l d 实现网络接口设计。i 9 6 0 v h 是一 种智能f o 微处理器,其核心8 0 9 6 0 y r 可以工作在3 3 m h z 、6 6 m h z 或1 0 0 m h z 。其内部 有一条与p c i 总线性能相匹配的3 2 b i t 3 3 m h z 的系统总线。实测表明【1 7 1 ,在不包括 上层协议的情况下,网卡到网卡的传输延迟为3 u s ,节点到节点数据传送带宽可达 5 0 0 m b i t s 。它是为机群系统( 曙光4 0 0 0 ) 的互连网络而设计的网络适配器。第二版智能 网卡【1 8 1 的硬件核心是i n t e li o p 3 1 0 处理器系统。i o p 3 1 0 由8 0 2 0 0 中央处理器和8 0 3 1 2 套片组成。8 0 2 0 0 c p u 的时钟频率为7 3 3 m h z ,拥有6 4 位内存总线,支持1 0 0 m h zs d r a m 和e c c 校验,内存读写带宽为8 0 0 m b p s 。8 0 3 1 2 内置符合p c i 2 2 规范的6 4 位6 6 m h z 的p c i 接口,以及最大支持5 1 2 m b 容量的s d r a m 存储控制器等。经测试【1 8 1 ,智能 网卡驱动程序捕获大小为6 4 字节的小数据报文能力约为4 0 万包,秒,可全部捕获大于 5 1 2 字节的数据报文,且带宽占用达到9 0 以上,与第一版最大带宽专用5 0 相比,其 7 中国科学院硕七学位论文 网络性能有了显著提高。第三版智能网卡p p c 4 4 0 的通讯处理器是p o w e r p c 4 4 0 g x ,它 的主频是3 7 5 m h z ,可调频至5 0 0 m h z 。具有两个百兆r t l 8 2 0 8 网络部件和两个千兆 m c 9 2 6 0 4 网络部件。在1 2 8 b i t1 2 5 m h z 的系统总线上连有最高频率为1 3 3 m h z 的p c i - x 接口,系统总线可调频至1 6 6 m h z 。板卡上有2 5 6 m d d r 内存和2 5 6 k s r a m ,内存可扩 展至5 1 2 m 。此外,它还有一个t c p i p 加速硬件t a h ( t c p wa c c e l e r a t i o nh a r d w a r e ) 用 于进行口首部和t c p u d p 的校验计算。同时,它还具有s c a t t e r g a t h e rd m a 功能,能 一次将卡上地址不同的数据块传送到主机预先分配的不同地址空间。其结构图 2 2 1 如 图1 7 所示。 图1 7 智能网卡p p c 4 4 0 结构图 在本文中,我们除了对p p c 4 4 0 进行深入研究外,还对h 但c 8 5 4 0 进行了分析。m p c 8 5 4 0 是嘲c a l e 公司开发的一款智能网卡,其处理器是最新的p o w e r q u i c c 通讯处理器之一 摩托罗拉的p o w e 啦u i c c i 结构基于最新的嵌入式p d w e r p c 体系结构e 书的定义,采用一个 具有高性能的e 5 0 0 核。- 与p p c 4 4 0 相比,m p c 8 5 4 0 具有更高的主频,其主频为8 3 3 m h z 。此 8 第一章引言 外,m r c 8 5 4 0 还具有1 2 8 m d d r 盛i 存,2 5 6 k 的二级c a c h e 和两个1 0 1 0 0 1 0 0 0m b p 8 的三速以 太网控制器( t s e c ) 。t s e c 具有可编程的校验和计算与校验功能,能将报文头信息与描述 符表放入二级c a c h e 中。m p c 8 5 4 0 结构如图1 8 【2 3 】所示。 图1 8m p c 8 5 4 0 结构图 m p c 8 5 4 0 与a v c 4 4 0 相较,主要具有如下表所示不同区别: f e a t u r ep p c 4 柏m 呼c 8 5 4 0 c o r ef i e q u e n c y3 7 5 t 0 5 0 0 咀z 6 6 7 t o8 3 3 姗z c o r ea l v , h i t e c t t a b3 2 - b i tb o o kep o w e r p c3 2 - b i tb o o kep o w e r p c l 1a l g h e ( 班) )3 2 - 3 2 - k b y t e s3 2 - 3 2 - k b y t e a s r a m 1 2 d 蝣 2 s e - k h y t e ss r a m2 5 6 - k b y t e sl 2o f 2 5 6 - k b y t e ss r a m o f 1 2 8 - 1 2 8 - k b y t 8m i x d d r c o n t r o l l e r3 2 - 6 4 - b i t , d d r 3 2 - ,6 铀i ld d r 1 6 6 m h z u p t 0 4 g b y t e s3 3 3 m h z 叩t 0 4 0 , y m u s e r t 螂o m m a b l e m e m o r y n o3 c o n t r o l l e r i n t e r r u p tc o n t r o l l e r 1 8e x t e r n a l 6 3i n t e r n a l1 2e x t e r n a l 2 2i n t e r n a l d m a c h a n n e l s 44 t c p i p a c c e l e r a t i o nh a “h y e sn o ( t a n ) p r o g r a m m a b l ec r cg e n e r a t i o n n oy e s a n dc h e c k i n g a b i l i t yt of o r c ea l l o c a t i o no f n oy e s h e a d e ri n f o r m a t i o na n d b u f f e r d e s c r i p t o r si n t ol 2c a c h e 9 中国科学院硕士学位论文 r a p i d i o n o8 - b i tp a r a l l e lr a p i d i o p c i - x ( 3 2 - 6 4 - b i t ) p c i v 2 - 36 6 m h zp c i v 2 2 3 3 6 6 h 王z p a - x1 3 3 h 忸zp c i - x 1 3 3 姗z e t h e m e t 1 0 1 0 0 i g b i t ( 2 ) 1 0 1 0 0a n d 1 0 1 0 0 l g b i t ( 2 ) u a l h 22 c2i t e d m o | o g y 0 1 3 r a n0 1 3 u m p o w e r 4 5 w 5 0 0m t t z 7 w 8 3 3 m h z 表1 2p p c 4 4 0 与m p c 8 5 4 0 主要特征比较 智能网卡p p c a 4 0 与m p c 8 5 4 0 所运行的操作系统是经过裁减的f i n u x 2 6 内核,网络 驱动则使用内核自带的通用驱动。 1 6 本文的研究贡献 网络的飞速发展,使得现有的t c p i p 协议处理在面向i n t e m e t 海量数据应用中成为 系统的沉重负担。本文的研究宗旨是研究一种新的t c p i p 协议处理优化技术,缓解这 一问题。本文的主要研究贡献如下: 研究了基于o f f l o a d i n g 的t c p 加速处理体系 它是一种新的t c p i p 协议处理体系结构。它综合了t o e 技术,t c po r d o a d i n g 技术 及零拷贝技术,是这几种技术的一个组合。它利用了无用数据尽早发现尽早抛弃的思想, 将那些在驱动一级就可识别的无用报文在驱动一级识别出来并进行抛弃,而不需处理到 协议栈的最后- 层t c p 层才识别并丢弃。通过此技术来提高协议栈处理的效率及资源利 用率。无用报文的识别与处理在此体系结构中将在智能网卡中完成,并在不影响网络数 据实时获取的同时,尽可能多地在卡上对报文进行处理,以达到减轻主机负担的目的。 通过实验深入分析了p p c 4 4 0 应用处理的潜在能力 经测试,p p c 4 4 0 在零丢包下,其报文捕获能力仅为2 7 万p p s 。通过对其网络驱动 进行深入研究,我们对其进行了种种优化。优化后,能线速捕获6 4 字节报文,即其报文 捕获能力达到1 4 8 8 万p p s ,提高了5 5 倍。优化后的p p c 4 4 0 已达到了零丢包线速收包 的这一指标。 提出了一种较优的卡上报文处理体系 通过对采用智能网卡作网络数据报文捕获平台的系统的报文处理模式进行分析,我 们看到智能网卡对捕获报文的处理可以有两种方式,一种是沿用我们以前所优化的海量 网络流实时处理系统b n i d s 【1 4 处理报文的思路,通过创建一个线程对其进行处理, 我们称这种结构为线程处理结构。另外一种是考虑到智能网卡是单c p u 、报文是串行处 理( 本文不考虑在智能网卡上对乱序报文进行处理) 的特点,可在网络驱动的接收中断 中对获取的报文进行处理,此结构可简称为中断处理结构。为了确定哪一种方式在不影 响报文捕获能力的前提下,能尽可能多地对报文进行处理,提高海量网络流实时处理系 统的处理能力,本文的工作设计和实现了这两种报文处理结构。实验表明,在接收中断 t o 第一章引言 中对报文进行处理这种结构较优。 达到了缸并实现了部分t c p o f f l o a d i n g 此外,我们在网络驱动经过优化后的智能网卡p p c 4 4 0 上实现了部分的t c w i p 卸载, 实现了p 首部校验和t c p 校验,无数据a c k 报文过滤,及非t c p 且非u d p 报文过滤。 并验证了在p p c 4 4 0 上实现在满足网络数据实时获取的同时,达到对主机而言零丢包、 零拷贝、零中断和零c p u 占用( 简称为4 z ) ,并在其上实现部分t c p i p 卸载的可行性。 同时,由卡上报文处理结构所触发而提出的在主机上一种新的t c p i p 协议处理体系结 构 1 7 论文的组织 论文从进行t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030水基农药助剂市场产业运行态势及投资规划深度研究报告
- 2024年淮南经济技术中等专业学校招聘考试真题
- 宁波建工逆向混改路径及绩效研究-基于共生理论视角
- 2024年昌平区机关事业单位招录政务人员考试真题
- 2024年海南省海口实验学校招聘笔试真题
- 《探索微观世界之量子物理:大学物理基础教案》
- 储能锂电池SOC估算以及主动均衡控制策略研究
- 赤壁古战场初二作文(10篇)
- 蚯蚓先生历险记1200字10篇范文
- 动物王国中的英雄写物童话10篇
- QC的手袋之验货程序
- 如何审议预算及其报告新演示文稿
- 融资并购项目财务顾问协议卖方大股东为个人模版
- 文化差异与跨文化交际课件(完整版)
- ISO2768-1中文版公差表
- 初二物理上册各章知识点广州人教版
- 精装项目施工策划
- 路基交验具体要求(共5页)
- 粉煤灰对土壤和作物生长的影响
- 辽宁特种设备作业人员考试机构评审记录表
- 纯化水CP2015微生物限度方法学验证报告
评论
0/150
提交评论