




已阅读5页,还剩66页未读, 继续免费阅读
(计算机系统结构专业论文)基于网络处理器的防火墙安全过滤设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 网络处理器作为一种面向网络应用的协议处理器,由于其能够同时满足高性能和灵 活性两方面的要求,正受到越来越广泛的应用。本文主要讨论基于网络处理器的防火墙 安全过滤的设计与实现,主要有以下内容: 首先分析了当前的网络安全现状和网络处理器的应用背景,明确了本课题的研究意 义研究了网络处理器的体系结构,分析了防火墙技术的发展,对i b m 网络处理器的编程 环境介绍。其次,分析了网络处理器微码的执行环境,然后设计出微码的处理流程和防 火墙功能模块的处理流程。接着,本章对防火墙安全过滤分析和设计,各个功能模块的 设计原理和功能模块的工作流程。最后是对千兆防火墙各个安全过滤模块的测试结果 本文主要有以下一些创新: 1 实现一种不依赖操作系统协议栈进行安全过滤的技术。通过芯片中的微码,而不 用外围操作系统直接管理产品的所有硬件,在底层硬件设备中接管进出安全产品的数据 并进行处理,大大减少了防火墙本身的安全漏洞,提升了防火墙本身的安全性和抗攻击 能力。 2 提出状态表倍速检测算法。针对已建立连接,对数据包( 请求和回应的数据包) 的状态检查一次完成,保证每秒2 万个新建连接,支持1 0 0 万个并发连接。 3 提出规则表非线性匹配算法。对安全规则集进行动态平衡分布,使防火墙对规则 集内任意一条规则的匹配时间近似恒定,突破了传统防火墙的性能限制,极大的提高了 网络处理性能。 4 数据重组技术。为了正确理解网络中的数据流,采用了i p 分片重组和t c p 流重 组技术,并使用了会话重组技术将多个连接组成单一的会话。通过数据重组技术,攻击 者恶意伪造的企图扰乱视线的异常数据包将被防火墙丢弃,重组后的数据流被送往入侵 过滤模块进行下一步检测。 关键字:网络处理器防火墙安全过滤访问控制转发功能 t h ed e s i g na n di m p l e m e n t a t i o no f f i r e w a l lf o r w a r d i n gf u n c t i o n sb a s e do nn e t w o r kp r o c e s s o r q i u j i a n gl i ( c o m p u t e ra r c h i t e c t u r e ) d i r e c t e db yz h i q i a n gh e n e t w o r kp r o c e s s o r ,a sap r o t o c o lp r o c e s s o r ,h a sb e e nu s e d m o r ea n dm o r ew i d e l y b e c a u s ei tc a ns e r v eb o t hh i g h p e r f o r m a n c ea n df l e x i b i l i t yp u r p o s e s t h i st h e s i s i sm a i n l ya b o u td e s i g n i n gt h ef o r w a r df u n c t i o n so fg - b i tl i n es p e e df i r e w a l lb a s e d o ni b mn e t w o r kp r o c e s s o r f i r s t l y , t h i st h e s i sa n a l y z e st h e c u r r e n ts t a t u so fn e t w o r ks e c u r i t ya n dn a i l d o w nt h em e a n i n go ft h er e s e a r c ht o p i c s s e c o n d l y ,i ta n a l y z e st h ea r c h i t e c t u r e o fa l ln e t w o r kp r o c e s s o r si nt h em a r k e t n e x t ,i n t r o d u c e ss o m ek n o w l e d g eo n f i r e w a l ld e s i g n ,t h e ng i v e sad e t a i ld e s c r i p t i o no fp r o g r a m m i n ge n v i r o n m e n to f i b mn p 4 g s 3 c t h i r d l y ,i ti n t r o d u c e ss o m e t h i n ga b o u tp i c o c o d ep r o g r a m m i n ga n d d e s i g nt h ep r o c e s sf l o wo fp i c o c o d e c o n s e q u e n t l y ,i td e s i g n sa n di m p l e m e n t s t h ef o r w a r df u n c t i o no ff i r e w a llb yp i c o c o d e a tl a s t i tg i v e st h et e s tr e s u l t s o fi n d i v i d u a lf u n c t i o nm o d u l e sa n do v e r a l lp e r f o r m a n c e t h i st h e s i sd o e so r i g i n a lw o r ki nt h ef o l l o w i n gf o u rp o i n t s : 1 i m p l e m e n t e ds e c u r i t yf i l t e r i n gw i t h o u tt h es u p p o r to fo p e r a t i n gs y s t e m p r o t o c o ls t a c k a l lh a r d w a r ed e v i c e si nt h ec h i pa r em a n a g e dt h r o u g he m b e d d e d p i c o c o d ew i t h o u ta no p e r a t i n gs y s t e m t h u si tc a na v o i ds o m es e c u r i t yh o l e so f o p e r a t i n gs y s t e mi t s e l fa n dp r o m o t et h ea n t i a t t a c ka b i l i t yo ff i r e w a l l 2 p u tf o r w a r daf a s tc h e c ka l g o r i t h mo fs t a t u st a b l e t h ee s t a b t i s h e d c o n n e c t i o n s ( i n c l u d i n gb o t hr e q u e s t sa n dr e s p o n s e sc o n n e c t i o n s ) c a nb ec h e c k e d a to n et i m e t h en u m b e ro fn e wc o n n e c t i o n sc a nr e a c h e s2 0 ,0 0 0a n du pt o1 ,0 0 0 ,0 0 0 c o n n e c t i o n sc a nb em a i n t a i n e ds i m u l t a n e o u s l y 3 p u tf o r w a r dan o n l i n e a rm a t c h i n ga l g o r i t h mo fr u l et a b l e t h i sa l g o r i t h m d i s t r i b u t e sa 1 1r u l e sd y n a m i c a l l y ,a n de a c hr u l ec a nb er e a c h e di ns i m i l a rt i m e t h i sb r e a k st h r o u g ht h ep e r f o r m a n c e1 i m i to ft r a d i t i o n a lf i r e w a l la n dp r o m o t e s t h ep e r f o r m a n c e 4 t h es 1i c ea n dr e p a c k a g eo fd a t ap a r a g r a p h i no r d e rt ou n d e r s t a n dt h e d a t af l o w ,w ea d o p ts l i c ea n dr e p a c k a g eo fi pp a c k a g ea n dr e s e q u e n c eo ft c p p a r a g r a p h a n da l s ow ec o m b i n e ds e v e r a lt c pc o n n e c t i o n si n t oo n es e s s i o n t h u s t h o s em a l i c i o u sp a c k a g e sc a nb er e c o g n i z e da n dt h r e wa w a y 1 1 1 綦于网络处理赫的防火墒安全过滤设计与实现: a b s t r a c t k e yw o r d s :n e t w o r kp r o c e s s o r ,f i r e w a l l ,s e c u r i t yf i l t e r i n g ,a c c e s sc o n t r o l , f o r w a r d i n gf u n c t i o n 声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作 及取得的研究成果。就我所知,除了文中特另m j h o 以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的研究成果。与我一同工 作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并 表示了谢意。 作者签名:苫敦上日期:2 羽仁d 7 i : f 关于论文使用授权的说明 中国科学院计算技术研究所有权处理、保留送交论文的复印件, 允许论文被查阅和借阅;并可以公布论文的全部或部分内容,可以采 用影印、缩印或其它复制手段保存该论文。 储獬:岁、她工铆躲修日期, 2 0 0 坳 第一章绪论 本章从网络安全的现状谈起,探讨了网络安全的主要威胁因素和相应的攻击手段, 同时归纳了针对这些威胁因素和攻击手段而采取的提高网络安全的安全措施和技术手 段。然后介绍了与本课题研究的相关背景,以及开展本课题研究的重要意义。最后是对 本论文的主要内容和结构的安排。 1 1 网络安全现状 随着计算机网络的不断发展,全球信息化已经成为不可逆转的趋势。但是,由于计 算机网络具有连结形式多样性、终端分布不均匀和网络的开放性、互联性等特点,致使 网络容易遭受黑客( h a c k e r ) 、恶意代码和其它不轨的攻击。所以网上信息的安全和保密 是一个至关重要的问题。攻击者利用计算机硬件系统、操作系统、软件、网络传输协 议、网络设计等安全漏洞进行攻击以及利用恶意代码进行入侵,而且一些安全漏洞具有 先天性的。被攻击的对象所遭受的攻击次数和相对严重程度仍然随着行业、规模和接受 安全监视服务的时间等特征变化。像电力和能源公司,非盈利部门和金融服务部门,员 工人数较多的大公司等都是遭受攻击的对象。由此造成的经济损失不可估量。网络入侵 问题困扰网络专家,信息安全专家和计算机安全专家们的主要问题。 当前,网络安全存在以下一些情况。1 : 1 脆弱的互联网站, 网络安全本来是互联网络发展的目标之一,然而遗憾的是,几乎所有网站在建站开 始及其发展过程中,发展的方向都趋向于网络便利性、实用性,而恰恰忽略了最不应该 忽略的网络安全性。这实际上给网络的发展埋下了深深的因患,就像一颗定时炸弹,随 时可能被形形色色的网络攻击引爆。因为这些网站留下了太多的技术、管理和基础设施 的漏洞,给黑客以太多的可乘之机。尤其值得指出的是,随着电子商务和电子政务的发 展,国内大批中小网站都应运而生,它们当中很大一部分都根本没有一套完善的安全 体系多保障,缺乏安全管理、安全维护、安全运行机制,也没有专门的网络安全人员进 行专业的管理和维护。 2 矛盾的网络安全意识 如今,社会的信息化和网络化已经成为整个社会发展的趋势,而网络安全却是社会信息 化、网络化所必须面临的严重事实。因此,人们的网络安全意识,对于社会的信息化、 网络化推进就显得非常重要。可遗憾的是,很多人都存在一种矛盾的网络安全意识。他 i f l 认为如果花大量的人力、物力来考虑一个单位的网络安全,要是网络安全不出问题, 似乎这些投入的人力、物力就白白浪费了;要是还出闯愿,岂不是“齄了夫人又折兵”, i 中国科学院硕土学位论文基于网络处理器的防火墙安全过滤设计与实现 它忽略了网络安全的一个特性,即网络安全是一种“防患于未然”为主要目标的安全防 范,事实上所有的网络安全措旌和机制都不能保证绝对的安全,而只能提高相应的安全 程度。这些极端的观点都不利于网络的发展,我们要适度的看待网络安全问题,既不可 低估,也不可高估。 3 亟待加强的网络安全法规 非法破坏网络安全,非法入侵计算机系统,其实是一种计算机犯罪。而法律作为犯罪控 制中最有效果、最具有强制性的手段,理所当然地需要好好加以利用。加强网络安全方 面的法律法规建设,弥补现有法律法规的不足,加大宣传力度,是提高我国网络安全水 平的重要环节。我国已经出台了一系列关于网络安全、惩治计算机违法犯罪的法律法规。 但是,现有立法远远不能适应控制计算机违法犯罪的需要,经常在制裁计算机违法犯罪 分子的时候显得软弱无力。因此,网络安全的法律法规亟待加强。 4 层出不穷的攻击手段 网络的发展,尤其是互联网络的发展,已经深入到了社会的各个方面,在带给人们 方便的同时,也带来了挥之不去的安全隐患。随着互联网络范围的扩大,也给黑客带来 更大的活动空间,就拿“分布式拒绝服务”攻击手段来说,就是在原有拒绝服务攻击手 段的基础上,利用分布式技术,以及散步各地的受控主机所发起的一种破坏力强的攻击 手段。随着网络技术的发展,互联网规模的不断增长,网络带宽的增加,软硬件平台下 新安全漏洞的发现,危害网络安全的攻击手段日益先进,而且旦发动攻击,受害对象 的受损程度也更加严重。 纵观网络安全发展的历史和现状,我们可以看到网络安全大致上具有以下5 个特点 唑 1 网络安全的涉及面广 从网络安全所保护的对象来看,网络安全包括四个层次:国家安全,即如何保护国 家机密不受网络黑客袭击而泄漏;商业安全,即如何保护商业秘密、企业资料不遭窃取: 个人安全,即如何保护个人隐私;网络自身安全,即如何保证接入网际网络的电脑不受 病毒和恶意代码的侵袭而瘫痪。可以看到,网络安全不仅仅涉及到如何运用适当的技术 保护自己的保护对象,还涉及到与此相关的一系列包括安全管理制度、安全法律法规在 内的众多内容。 2 网络安全涉及的技术层面深 如今,互联网已经深入到社会生活的各个角落。对个人来言,互联网改变了人们的生活 方式;对企业来讲,互联网使企业能够尝到新鲜的经营方式、营销方式和内部管理机制i 对政府而言,互联网可以帮助政府更好地执行各种政府职能。服务民众。可以说,网络 已经形成了一个跟现实社会紧密相关的虚拟社会,大量的信息源,资金流和物流都运行 其上,为了实现上述功能,网络本身就采取了众多的新兴技术,此外,黑客所采用的攻 击手段和技术都是以前没有发现的全新的系统漏洞,技术难度比较大。这一切就决定了 网络安全所涉及的技术层面不得不深。 2 第一章绪论 3 网络安全的黑盒性 网络安全是一种“防患于未然”为主的安全保护,这就注定了网络安全产品的功能 有些模糊,不像其他应用系统那么明确。国际上的各种认证机构,如我国的公安部网络 安全检测中心,国际计算机安全协会i c s a 等机构的介入,对于安全产品的定位和评价都 有好处。 4 网络安全的动态性 由于国内外黑客和病毒方面的技术日新月异,而新的安全漏洞也层出不穷,网络安 全必须紧跟网络发展的步伐,适应新兴的黑客技术,唯有如此,才能够确保网络的安全。 国际上,把这种适应黑客和病毒发展技术的能力,作为评价网络安全产品的一个重要标 准。 5 网络安全的相对性 任何网络安全都是相对的,任何网络安全产品的安全保证都只能说提高了网络安全 的水平,而不能说杜绝网络安全的所有事件。因此,现实中的网络安全领域,失败是常 有的事情,只是启用了网络安全防护系统的网络遭受攻击的可能性低一些,即使遭到攻 击其受到的损失也小一些而已。不过,随着安全基础设施建设力度的加大,安全技术和 安全意识的普及,想上网购物、电子交易等所需要的安全保障还是可以达到我们可以接 受的安全水平。 考虑到计算机网络中重要的资源就是网络所提供的服务和拥有的信息,因此计算机 网络安全的目标就是:保障网络服务的可用性和提供信息的完整性。前者要求网络可以 向用户随时提供可靠的网络服务,后者则要求保证信息资源的完整性和有效性“”3 。 建立安全的网络所要解决的根本问题就是如何在保证网络可用性的同时,对网络服 务和客户应用进行控制和管理以保证网络信息资源的完整性不受影响。所以网络信息的 安全性应有以下特点:保证数据信息的完整性,即不能非法更改信息的原始数据,因为 完整性是保证数据信息的精确性和可靠性的基础;保证数据信息的可用性,即只要需要 的信息必须是可运行的,保证信息的隐私性,即对数据信息的非法访问应加以拒绝;保 证数据信息的可靠性,给确保信息来自可信的信源“一。 网络安全保障的实现方法包括主动式和被动式两类0 1 :以入侵检测系统为代表的开 放性网络安全保障体系能够在网络攻击发生前和实施时主动发出警报、监测、跟踪并采 取恰当的反应行动;以防火墙为代表的被动式防守型安全保障体系能够防卫绝大多数目 前已知的流行网络攻击方式,提供较好的安全性。传统的防火墙技术是在内部网络和外 部网络之间架设一层屏障,主要设计包过滤技术和代理技术。传统防火墙在防止自己的 网络免受攻击取得一定的作用,也已成为最流行和最有价值的网络安全产品“1 1 , 1 2 。但是 随着网络攻击技术的种类和数量不断增多,被动式的防火墙已经显得力不从心了。新的 网络安全技术网络入侵检测技术出现了,实际上,入侵检测也是防火墙的合理补充,帮 助系统对付网络攻击,扩展了系统管理员的安全管理能力( 包括安全审计、监视、进攻 识别和响应) ,提高了信息安全基础结构的完整性。 3 中国科学院硕上学位论文基于网络处理器的防火j i ! 安全过滤设计与实现 随着网络应用的不断增加,对网络带宽的需求不断加强,目前,网络上的传输速度 已经可以达到l o g b i t “”。网络速度的增长必然要求计算能力的相应提高以期能够进行相 应的数据处理。但是,计算能力的增长目前仍然遵循摩尔定律而且由于技术工艺等限 制,处理器的计算能力的增长速度正在趋于平缓“”。于是在网络速度与相应计算能力 之间就存在着一个越来越大的差距。让我们设想一个连接到高速网络上的计算机,它在 运行一个媒体播放程序来播放某种m p e g 格式的流媒体。对于处理器来说,它不仅仅要处 理网络数据包,完成数据包的重组还原操作,还要完成流媒体的格式分析和播放。但是 从另一个方面将讲,对于网络数据包的重组还原操作是一个高度通用的模块化过程。也 就是说,任何一个需要网络提供服务的应用程序都需要完成数据包的这些操作“”8 。而 事实上,直到传输层的网络协议处理中大量的操作是针对于位运算和整型数的操作,通 用处理器很难对其进行比较理想的性能优化,在处理底层数据包时造成大量计算能力的 浪费。因此,计算机的设计者希望能够将网络数据处理与应用数据处理分开,分别通 过不同的处理器来完成。网络处理器在这个时候迎刃而生,它是一种可编程的网络协议 处理器,同时具有开发周期短、能灵活处理各种网络协议、高性能等特点,目前已经被 广泛应用于多种网络节点设备的开发,基于网络处理器的防火墙设计就是一个比较典型 应用的例子啪3 。 1 2 本课题研究的意义 本课题研究基于网络处理器开发的一款千兆防火墙所涉及到的微码编程和防火墙设 计方面的技术。这款千兆防火墙主要针对电信、i s p i d c 等用户网络高带宽、大数据流 量、业务不可中断、网络结构复杂的需求,采用高性能的i x p p c i 高速总线结构的架构、 专用的动态协议处理器、独特的安全策略快速匹配算法,确保在加载大量安全规则的情 形下,真正实现了全双工状态的千兆数据传输性能。在设计上参照电信网络骨干设备的 可靠性标准,大量采用冗余配备,确保电信级应用的可靠性。路由和透明通信模式,自 适应不同的网络环境,方便用户在不调整网络结构的情形下透明接入。真正做到安全、 快速、可靠,没有后门m ,。 1 3 本论文的组织 本文主要研究基于网络处理器的防火墙安全过滤的设计和实现,主要涉及到网 络处理器的开发技术和防火墙安全过滤设计与实现的相关技术。文章主要由以下一些章 节组成:第一章,也就是本章,是全文的绪论部分,它首先分析了当前的网络安全现状 和网络处理嚣的应用背景。得出了本课题研究的背景、动机和意义第二章,分析研究了 网络处理器的体系结构,分析了防火墙技术的发展,以及网络处理器的编程环境介绍。 第三章,本章主要研究了网络处理器的微码设计技术。先分析了网络处理器微码的执行 4 第一章绪论 环境,然后设计出微码的处理流程和防火墙功能模块的处理流程。第四章,本章对防火 墙安全过滤分析和设计,各个功能模块的设计原理和功能模块的工作流程。第五章是对 防火墙各个安全过滤模块的测试结果,包括单元测试和集成环境测试和结果分析最后一 章总结了一下全文的工作,并对下一步工作作出了展望。 第二章相关技术背景 本章主要介绍一些相关的技术背景,包括网络处理器分析,网络处理器的编程环境 防火墙技术现状和发展趋势,以及基于m m n p 4 g s 3 c 的防火墙设计方案等。 2 1 网络处理器分析 2 1 1 网络处理器应用背景 当前的网络环境变化有两个趋势:一方面,不断变化和增加的网络协议标准( 如 m p l s ,d i f f s e r v ) 这些协议包括一些新的服务,安全措施,以及一些新加的网络管理功能。 网络设备商需要满足市场需要,尽快不断推出新的产品。他们还需要在产品中加一些与 众不同的功能来提高市场竞争力。这就要求网络设备具有可编程性和灵活性,来迅速满 足市场要求。 另一方面,网络应用得越来越普遍,以及大量实时的语音和媒体数据的传输,对网络传 输能力( 带宽) 也提出越来越高的要求。随着通讯技术的发展,这些带宽要求都能够得 到满足。这时候,制约网络性能的瓶颈不是数据传输能力,相反,而是那些网络节点设 备( 无论是骨干网设备路由器,交换机,还是作为边缘设备的防火墙等) 。因此,对网络 设备要求具有以线速处理包的能力和较强的计算能力。 基于r i s c 的通用c p u 能够灵活处理各种协议,完成表查找,包过虑和转发,网络协议 的实现和更新以及加密解密算法等。这种结构的优点是所有的指令以软件的形式存放起 来这样,一些新的功能就能通过修改系统软件而较为容易的加进去,而不需改变处理单 元的基本结构这使得网络设备商能够满足不断变化的需要,缩短上市时间,从丽能够很 快的占领市场但是,通用c p u 对数据包头中比特域的提取,比较和对齐等操作开销很大。 并且,由于通用 c p u 的中断处理,c a c h e 分级结构,对网络通信这种实时处理需要将数据包多次存入缓冲 区,开销比较大乜1 1 。再则,通用c p u 处理能力仍然遵守b o r e 定律,即微芯片上集成的 晶体管数目每三年翻两番,不能满足带宽的不断提高( 平均每7 个月带宽速度就能翻一 番) 。 专用的a s i c 芯片主要为一种专门协议设计,执行效率很高。许多厂商利用a s i c 的 强大处理能力来弥补计算能力和线速之间的差距。但是a s i c 也面临一些设计难度: 1 深亚微米效应加大了设计难度: 2 片上设备的数量急剧增长且开发成本高: 3 产品生命周期短,不能满足网络设备灵活性,可扩充性需要; 4 设计周期长,不能跟上市场的需要; 7 中国科学院硕士学位论文基于网络处理器的防火墙安全过滤设计与实现 网络处理器( n p ,n e t w o r kp r o c e s s o r s ) 是一种可编程的协议处理设备,通过结 合使用可编程的r i s c 处理器和定制的a s i c ,使其同时具有灵活处理多种协议和线速处理 的能力。图2 - - 1 表明了基于r i s c 设备,基于a s i c 设备,以及n p 三者在速度和可编程性 上的特点。可以看出,n p 在速度和可编程两方面都能达到满意的结果。 2 1 2 网络处理器处理空间 n p 作为协议处理器,通过对i s o 七层参考模型o s i 逐层分析,可以找出需要网络处 理器处理的需求。 物理层:该层是网络系统的最底层,它定义了传输媒介、设备、信号和接口的电气 规范等。这一层对于网络处理器并没有什么处理需求。 链路层:该层负责一个物理连接的两个端点的可靠数据传输,主要任务是加强物理 层传输原始比特的功能,使其对于上层显示为一条无差错的链路。它将上层传下来的数 据进行组帧,并且加入冗余校验信息。该层要求网络处理器能够进行差错的检验以及简 单的位运算,以便对于链路层帧进行若干操作。 网络层:该层负责数据端到端的路由,为上层的数据建立一条透明的传输途径。这 一层的数据以数据包为单位。每一个数据包包含逻辑上的源地址、目的地址,路由器根 据目的地址将数据包转发的合适的路径上。同时该层还提供差错检验、流控,以及服务 质量( q o s ) 等功能。该层要求网络处理器能够管理“下一跳”的路由表,从而进行路由 决策;要求能够管理缓冲区,能够对对不同数据包缓冲存储、优先级、丢弃等进行管理; 能够进行数据包校验,同时能够提供一些安全方面的支持。 传输层:该层负责提供端到端的可靠传输,为上层屏蔽捧下层的网络细节。该层通 过端口为上层提供服务的编址与寻址;通过窗口机制提供流控以及拥塞控制。该层要求 网络处理器能够进行差错检验,服务寻址,将上层数据组装成数据包以及从数据包中提 取数据交给上层等。 会话层:该层负责为上层建立连接,传输数据以及释放连接。该层提供了相应的机 制来建立、维持、同步和管理通信会话。该层要求网络处理器能够协调各个会话之间的 关系,以保证会话的可靠服务。 8 龌 暑=tq矗。邕 第二章相关技术背最 表示层:该层主要关注所传输信息的语法和语义,负责传输信息的压缩与解压缩, 加密与解密等。该层要求网络处理器具有相应的功能。 应用层:该层为用户提供各种应用服务。由于这一层协议的种类特别多,因此很难 有一种统一的硬件设计来完成该层的功能,因此,一般来讲应用层不对网络处理器有什 么功能要求。 以前,网络处理只是局限于对数据包在互联网上路由。但是,随着不断出现新的协 议,特别是高层协议的出现,对n p 能够支持高层协议提出了新的要求。根据处理空间, n p 在逻辑上可以分为五个处理模块,所有的网络应用要求分别由这五个模块完成。 1 查找模块 查找是将数据包包头或者有效载荷中某些域作为一个关键字,在表中查找某一个具 体表项,并返回成功与失败标识。查找所用的数据结构和算法由查找的类型( 完全匹配 f m 或最长匹配l p m ) 和关键字的尺寸决定。对a t m 和m p l s 协议来说,关键字短且查找类 型是完全匹配,只需要做一次查找就可以了。而对于i p v 4 和i p v 6 路由来说,关键字很长 且查找类型为最长匹配,需要多次访问存储器。因此,很多n p 采用树形结构来组织表项, 实现有效查找。 2 计算模块 数据帧处理所要求的计算有多种。例如,为了支持i p s e c ,整个数据帧都会利用加 密、解密、验证等算法来进行计算。大部分协议要求校验或者计算循环冗余码( c r c ) 值。 另外,如果协议支持对报文进行分段和重组,接收数据帧时也需要计算操作确定该帧的 所有分段是否都到齐了。 3 数据操作模块 对数据帧帧头域的增加、修改,以及对数据帧的分段,重组等都属于数据操作。例如, 在i p v 4 路由中,1 u r l ( t i m e t ol i v e ) 域值在每一跳后必须减一;在帧头中加v l a n 标记等。 4 队列管理模块 队列管理是对输入输出的协议数据单元( p d o ) 调度和存储,包括协调处理单元对数据 帧的访问。它还负责扔掉无效帧或错误帧、调整流量控制规则、以及对那些进行分段、 重组和q o s ( q u a l i t yo fs e r v i c e ) 处理后的数据帧的存储。 5 控制模块 控制处理通常是指那些不需要以线速处理的任务。如异常处理、表更新、数据采集等。 在i b mn p 4 g s 系列中c p ( c o n t r o lp o i n t ) 扮演控制模块角色。 从n p 的处理空间可以看出,体系机构设计涉及到考虑哪些模块用a s i c 实现,哪些由通 用微处理器来实现。各个生产商采取的簧略不一样,如i b m 4 g s 系列用协处理器来实现队 列管理,查找等,而i n t e li x p 系列用软件来实现。但是设计目的都是力求既有较高的 性能,有具有灵活的可编程性。如果其策略更倾向软件实现大多数功能,那么他一定会 考虑采取一些加速技巧,如隐藏延迟技术等。 9 中国科学院硕士学位论文基于网络处理器的防火墙安全过滤设计与实现 2 1 3 陶络处理器体系结构分析 从系统的角度来看,n p 采用了两种并行处理模型,一种是对称多处理机( s n i p ) 模 型( 如图2 ) ,另一种是流水线( p i p e l i n e ) 模型( 如图3 ) 。 c o pc o pc o p o o ooo o0o0 s h a r em e m o r y 圈中肝一微处理嚣 c o p 一协处理器 b u s 一系统总线 图2 2s n i p 模型 嚣- 普 卧哪咄嚏单元 牛存眍 珊礤抟糯 图2 3 p i p e l i n e 模型 s m p 的优点是编程简单。它并不改变在单机上的编程风格使程序员看到的只是一个线 程,这个线程可以访问所有的指令空间和一些共享资源,如存储器,表,和计数器等。在 s m p 中,多个处理器同时执行,共享存储单元。这种模型的不足在于访问共享存储器受 到存储器总线带宽的限制i 当几个顺序程序运行于一个s s p 上时,它们要竞争使用存储 器,尽管这些程序是完全独力的。i b mp o w e r n p 4 g s 和i n t e li x p 系列采用的是这种模型 2 s 2 蚰 在p i p e li n e 模型中,各个处理单元( p u ) 以流水线的形式组织起来,处理单元可以使用特 殊硬件功能单元,也可以是可编程微处理器。他们专注于某一类任务的处理。在这种模 型中,应用程序按流水级数分成若干段使用这种模型,各个处理单元的任务处理时间预 算必须基本相等,否则,流水将流不起来,某些流水段的处理器会处于饥饿状态。e z c h i p 和m o t o r o l ac - 5d c p 系列采用的是这种模型州。 n p 体系结构设计中采用了一些技术来提高性能。如: ( 1 ) 隐藏延迟 隐藏延迟的方法有多种,n p 中比较常用的是多线程技术。 多线程技术为n p 的各种操作提供了一种隐藏延迟的方式。当一个线程在处理数据包,需 1 n 第二章相关技术背景 要进行访存或调用别的资源( 如协处理器等) 而停止等待时,处理器接着执行另外一个高 优先级线程。线程之间的切换一般有两种方法,一是在切换点,将存有被切换线程状态 的所有寄存器内容存入存储器,等到重新调度该线程时再装回寄存器,然后恢复继续执 行。这种方法需要对存储器进行读写,占用处理器执行周期。另外一种方法是让一个处 理器有多个本地寄存器的拷贝( 当然是物理的) 。比如一个线程一组寄存器,这样线程之 间的切换只需要将指针从一组寄存器指向另一组寄存器,可能只需要一个处理器执行周 期就完成切换。i b m 4 g s 3 中每个微处理器有两个线程,i n t e l i x p 2 8 0 0 每个微处理器有八 个线程,每个线程有自己独力的一组寄存器。 ( 2 ) 特殊硬件功能单元 许多n p 中采用一些特殊硬件功能单元来加快网络通用操作的速度这样的硬件单元分为 两种: ( 协处理器( c o - p r o c e s s o r ) :完成一种或者几种特殊任务的a s i c 芯片,由通用处 理器调用( 触发) ,异步执行。如i n t e l i x p 2 4 0 0 中的h a s hu n i t ,i b m 4 g s 系列中的c h e c k s u m 等。 ( b ) 硬件加速器:完成某些简单的通用操作的硬件单元。这些操作用硬件实现比较 容易,而如果用软件来实现,往往是既繁琐又容易出错。硬件加速器由指令来调度,如 i b m 4 g s 3 c 中的h a s hu n i t 等。 协处理器往往用于完成较为复杂的任务,可以保存自身状态,许多协处理器还可以直接 访问内存和总线。而硬件加速器只用作完成一些简单操作,它是不能保存状态,执行完 后写回寄存器。 ( 3 ) 优化的存储管理: 一般来说,d r a m 存储容量大,但是访问速度较低,s r r m 反之。在n p 中,对于那些频繁 访问的存储数据结构,往往放在s r a m 中,而把那些占用空间大,访问频度较低的表,数 据包描述符等放在d r a m 里。并设计了一些d m a 单元,提高存储器的操作效率。 ( 4 ) 其他一些加速技巧如:尽量减少访问c a c h e 的频度;避免用微处理器处理一些 帧头分析,c r c 校检等频繁提取数据域的任务:加强有效的系统管理汹1 ,如缓冲区管理, 描述符管理,计时器和队列管理等。 下面以i b mn p 4 g s 3 c ( 图4 ) 为例说明上面的特点。i b mn p 4 g s 3 c 能够以线速处理第2 到5 层的协议。它由e p c ( e m b e d e dp r o c e s s o rc o m p l e x ) ,专门的帧处理硬件和外围接口 构成。e p c 中有一个p o w e r p c 核和1 6 个可编程微处理器,每两个微处理器共享一组协处 理器加速表查找和对帧的其他操作。每个微处理器采用3 级流水( 取指、译码、执行) , 带有两个线程,每个线程拥有一组独立寄存器。3 2 个线程中,一个专门用来完成处理n p 和c p 之间通讯的控制帧,另外一个对n p 上面表进行维护。很明显,任意时刻,最多只 有1 6 个线程同时执行。 无论从硬件到软件,i b mn p 4 g s 3 c 采用了3 级并行处理机制,最大限度地提高数据 帧的处理速度。首先是处理器级的并行:网络处理器内嵌1 6 个并行高速核心处理器 中国科学院硕士学位论文基于网络处理器的防火墙安全过滤设计与实现 ( p a r a l l e l c o r ep r o c e s s o r ) 。8 5 个硬件协处理器( c o p r o c e s s o r ) 和硬件分类处理器 h wa s s i sp r o c e s s o r ,使舫火墙具有空前的高性能和广泛应用的处理能力。其次是线程 级并行:采用并行线程处理技术( p a r a l l e lt h r e a dp r o c e s s i n gt e c h n o l o g y ) ,设计3 2 个专用f i r e w a l l p r o c e s s i n g - t h r e a d ( 防火墙处理线程) ,保证每一时刻防火墙能够一 次并行处理3 2 个f r a m e 。最后是指令级并行:将防火墙功能分解为多个安全功能组件, 并利用专用功能协处理器完成对数据帧的流水处理。 七个协处理器主要完成以下任务: d a t a s t o r e 一实现d m a 功能; c h e c k s u f i r 计算和验证帧头校验码: p o l i c y 检查流控信息,并核对是否与预设带宽一致; s t r i n g c o p y 一使数据在e p c 内有效流动: i n t e r f a c e - - - 为个微处理器访问内部寄存器、计数器、存储器提供接口; e n q u e u e 与c u ( c o m p l e t i o nu n i t ) 相接,负责把帧交换或目的端口队列; c o u n t e 卜为微处理器管理计数器的更新等。 e x t e r n a lc o n t r o l d r a m ss t o r e 图2 4m m 4 g $ 3 c 逻辑框图 e p c 在软件的控制和硬件机制的协助下,决定对数据帧的处理动作( 转发或者扔掉帧等) 。 在e g r e s s 边,输入帧首先进入i p m m ,由p i 进行c r c 校验来证实该帧有效,并将帧存 入数据缓冲区。然后提取帧中某些域交给微处理器处理,微处理器再根据 c h a ( c l a s s i f i e rh a r d w a r e a s s i s t ) 提供的控制信息来确定查找算法。查找操作由 t s e ( t r e es e a r c he n g i n e ) 协处理器完成。t s e 执行访问控制存储器的操作,等待查找过 程中,微处理器可以接着执行其他操作。如果查找成功,i s i ( i n g r e s ss w i t c hi n t e r f a c e ) 执行必要的改变帧的操作( 如加v l a n 标识等) 帧在被送到s f ( s w i t c hf a b r i c ) 前,由c u 来保证帧之问的正确顺序。最后,帧经过s f 转发到e g r e s s 边执行处理流程与i n g r e s s t 2 第二章相关技术背景 边正好相反。 随着网络应用环境的变化,n p 体系结构设计将面临一些挑战。 1 ) 首先,随着网络需求的不断增加,线速也不断的提高,平均每个数据帧处理的时 间预算将越来越少。当前的最高性能的n p 能够支持o c 一1 9 2 ( 1 0 g ) ,下一代应该能够支持 o c - 7 6 8 ( 4 0 g ) 。 2 ) 其次,网络协议也会不断增加、变化。例如i p v 6 ( 地址长度1 2 8 b i t ) 会逐渐取代 目前的i p v 4 ( 地址长度3 2 b i t ) 。仅就查找操作来说,使用i p v 6 后查找关键字将超过 3 0 0 b i t ,目前n p 支持最长的查找关键字为2 8 8 b i t 嘲。并且,为满足对高层协议支持, 需要实现各种加密,解密和验证算法,从而要促使n p 向能够处理较多计算任务的方向发 展。 3 ) 集成度的增加,并行度的提高,引起片上各功能部件( 包括微处理器,协处理器,以 及存储单元等) 之间的通讯问题( 如部件间同步问题) 。 4 ) 另外,几乎每个数据包中数据和描述符都是新的,因此,c a c h e 命中率很低。在 高数据率下对n p 存储系统提出了挑战,也是网络数据流处理和其他一些面向数值计算方 面的处理的不同之处。 为满足网络应用的不断变化,n p 一般会继续采用s m p 和p i p e l i n e 两种并行结构。但是, 片内微体系结构( m i c r o - a r c h i t e c t u r e ) 会作一些改进。 1 ) 增加片上处理单元或并行度,从而提高处理速度和加强计算能力。如s m p 结构, 片上可扩展多达6 4 个微处理器。 2 ) 协处理器分担的任务将会更加复杂。如将一些加密,解密等通用功能用a s i c 芯 片实现。并尽量将协处理器集成到片内。 3 ) 目前的n p 很少采用多发送( m u l t i p l ei s s u e ) 技术,一方面因为多发送结构比较复 杂,另外采用多发送会增加很多功能部件,而芯片面积有限,因此实现起来比较困难。 随着集成电路工艺的提高,将会考虑采用多发送、甚至同时多线程( s 岍) 技术o “。 4 ) 简单和局部的连接是不够的,必须采用复杂而高效的关联技术,加强各个处理单 元之间的通讯能力,协调并优化软硬件设计,使系统的( 通讯时间) ( 计算时间) 比值 尽可能低。 2 1 4 网络处理器编程环境 除了硬件体系结构的设计外,相应的软件开发环境支持也是非常重要的。n p 采用低 级微码编程和高级语言编程两种编程模型。 微码编程的优点在于代码简洁,紧凑,执行效率高。然而,微码编程需要了解从访 存延迟到多处理相关性等所有细节,且代码的重用性和可移植性差。i b m 4 g s 系列n p 采 用微码编程,并提供包括汇编、连接、仿真和钡4 试的集成开发工具“1 。 高级语言编程利用已有的编程语言( 如c 或c + + ) 编写程序,经过编译,由 嵌入式r i s c 核执行。并结合使用协处理器,将一些诸如比特位操作等包头分析和数据转 1 3 中国科学院硕士学位论文基于网络处理器的防火墙安全过滤设计与实现 换任务交由协处理器完成如m o t o r o l ac 5 e 采用c c + + 语言编程”1 。通过c p i ( c - w a r e c o m m u n i c a t i o n sp r o g r a m m i n gi n t e r f a c e s ) 来调用协处理器。c p i 是一组开放的标准接 口,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年专业考试秘籍物理学科考试难点突破与模拟题详解
- 2025年特岗教师招聘考试初中生物全真模拟试卷及解析
- 2025年化工自动化控制仪表作业证考试练习题库【附答案】
- 【教案版】小学四班级下册 球类活动
- 2025年炼钢行业入门必-备知识初级考试预测题及解析
- 2025年炼钢初级考试模拟题及答案
- 2025年财务会计实习生初级面试题及参考答案解析
- 2025年仓储物流行业发展趋势分析及相关模拟题集
- 电击伤护理业务查房课件
- 2025年特岗教师招聘考试初中政治面试常见问题解答指南
- 探索数字化技术在博物馆藏品保护与展示中的创新应用
- 康复治疗过程中突发事件的应急预案和处理流程
- 应急调度员电话压力疏导
- 农户建筑垃圾管理制度
- 2025年烟花爆竹安全作业特种操作证考试试卷备考建议
- 学校快递驿站管理制度
- 四川电网新建电源并网服务指南(2025年)
- 补产假工资协议书
- 呼吸肌功能解析与临床应用
- 中华护理学会团体标准|2024 针刺伤预防与处理课件
- 人教pep小升初语文试卷真题及答案河南
评论
0/150
提交评论