(信号与信息处理专业论文)高层协议处理的硬件实现.pdf_第1页
(信号与信息处理专业论文)高层协议处理的硬件实现.pdf_第2页
(信号与信息处理专业论文)高层协议处理的硬件实现.pdf_第3页
(信号与信息处理专业论文)高层协议处理的硬件实现.pdf_第4页
(信号与信息处理专业论文)高层协议处理的硬件实现.pdf_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京邮电大学硕士毕业论文摘要 摘要 在光纤通信飞速发展和多媒体应用日益普及的今天,网络协议处 理作为i n t e m e t 的核心,如何适应网络宽带化和高速化的要求,是一 个亟待研究的课题。本文首先阐述了网络协议的分层结构及其意义, 并结合o s i 参考模型,给出了协议处理的涵义,分析了硬件技术在目 前协议处理中的发展趋势,并着重讨论了报文分类、报文过滤、流量 统计与管理和查表等基于硬件的协议处理技术。随后作者介绍了通用 宽带接入网关的背景,即以太网技术、宽带接入技术以及以太网接入 技术,并对通用宽带接入网关核心芯片的设计和测试做了详细探讨。 关键词:协议处理,报文,芯片,f p g a ,优化 第i 页 北京邮电大学硕士毕业论文摘要 a b s t r a c t w i t ht h ef a s td e v e l o p m e n to fo p t i c a lc o m m u n i c a t i o na n d i n c r e a s i n gp o p u l a r i t yo f m u l t i m e d i aa p p l i c a t i o ni nt h ep r e s e n t ,i t b e c o m e sa nt a s kf o rr e s e a r c hu r g e n t l yh o wt h ep r o c e s s i n go f n e t w o r kp r o t o c o l ,a st h ec o r eo fi n t e r n e t ,a d a p tt ot h er e q u i r e m e n t o ft h et e n d e n c yo fw i d e b a n da n dh i g hs p e e di nn e t w o r k i nt h i s t h e s i s ,t h es t r u c t u r ea n ds i g n i f i c a n c eo f t h en e t w o r kp r o t o c o l f r a m e w o r ka r et a l k e da b o u tf i r s t l y a n dt h em e a n i n g so fp r o t o c o l p r o c e s s i n ga r eg i v e nw i t ht h eo s ir e f e r e n c em o d e l a f t e ra n a l y s i n g t h ec u r r e n tt e n d e n c yo fh a r d w a r et e c h n o l o g i e s i n p r o t o c o l p r o c e s s i n g ,s u c hp r o t o c o lp e o c e s s i n gt e g h n o l o g i e s b a s e do n h a r d w a r ea r ed i s c u s s e da sp a c k e tc l a s s i f i c a t i o n ,p a c k e tf i l t e r i n g , t r a f f i cs t a t i s t i c sa n dc o n t r o l ,s e a r c h i n gt a b l ea n ds oo n t h e nt h e a u t h o rp u t sf o r w a r dt h eb a c k g r o u n do ft h eg e n e r a lb r o a d b a n d a c c e s sg a t e ,t h a t se t h e r n e t ,b r o a d b a n da c c e s sa n de t h e r n e t a c c e s st e c h n o l o g i e s a n dt h ed e s i g n i n ga n dt e s t i n go fc o r e p r o c e s s i n gc h i p i nt h eg e n e r a lb r o a d b a n da c c e s sg a t ea r e d i s c u s s e di nd e t a i l k e y w o r d :p r o t o c o lp r o c e s s i n g ,p a c k e t ,c h i p ,f p g a ,o p t i m i z a t i o n 第i i 页 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处 本人签名: 癌s 盐 本人承担一切相关责任。 日期:趣型竺2 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围,适用本授权书。 本人签名:型文 日期: 生竺竺。么垦z 导师签名 s 8 s 5 2 9 卜 北京邮电大学硕士毕业论文绪论 绪论 i n t e m e t 发展到今天,社会生产力已经在很大程度上依赖与信息的传播和处理 能力,取决与信息技术的进步。随着越来越多的企业、个人和政府加入这个庞大 的互联网世界,对于语音、视频等多媒体的需求日趋旺盛,而传统的低速网络显 然不能满足这种要求。 光通信技术的发展为解决这个矛盾迈出了第一步。细细的光纤中蕴含着几乎 无限的带宽,使得宽带通信的希望成为了可能。9 0 年代以来,长距离光纤传输、 各类光中继技术和密集波分复用在骨干网中相继使用,网络带宽的潜力有了很大 的增长,但是这些潜力能够为日益繁多的网络宽带应用所有效利用的前提是网络 协议处理方式的支持。事实上,传统的协议处理方式正在日益成为宽带网络的一 个瓶颈。这些原本为窄带数据业务而开发的协议处理技术不能适用于宽带化、多 媒体化的网络,其本质原因就是原有的协议处理方式在处理能力上已经达到了接 近极限的地步。而在同一个时期,得益于半导体工业的飞速发展,芯片的处理能 力以惊人的速度提高,并且这一趋势将会继续相当长的一段时间。用芯片的高速 处理能力来解决宽带网络的处理能力瓶颈,自然而然就成为了首选。 本文作者针对高层协议处理硬件实现中的各种技术和进行了学习和研究,并 根据当前的发展趋势,重点研究了基于f p g a 的高层协议处理实现,硬件协议处 理的基本架构、各种协议处理技术。在理论学习的基础上,作者参与了基于以太 网技术的宽带接入网关项目的研发,负责其中核心芯片的设计和测试。通过这些 实践,加深了对硬件协议处理技术的理解。 本文共分为6 章,每一章的主要内容分别是: 第一章是概述,介绍网络协议的分层结构以及协议处理的基本概念。 第二章着重阐述了硬件在协议处理实现中的位置及其发展趋势,其中介绍了 3 种常见的协议处理硬件架构,并对它们各自的优劣进行了比较。 第三章在t c p i p 的背景下详细描述了在基于硬件的协议处理中常用的几种 技术:报文分类、报文过滤、流量统计与管理、查表技术。 第四章介绍了以太网的基本原理和帧结构,并对各类接入网技术做了一个概 述。随后详细阐述了以太网接入技术以及宽带接入网关,对通用宽带接入网关 第v 嗄 北京邮电大学硕士毕业论文绪论 g b a g 作了简介。 第五章对通用接入网关核心芯片的设计进行了介绍,并着重讨论了其中的几 个关键问题。 第六章阐述了芯片的测试和仿真。 第v i 页 北京邮电大学硕士毕业论文第一章概述 第一章概述 1 1 网络协议的分层结构 1 。1 1 网络协议的意义 随着计算机技术、通信技术和信息处理技术的发展,计算机已经从单机工作 时代进入了广域网( w a n ,w i d ea r e an e t w o r k ) 和局域网( l a n ,l o c a la r e a n e t w o r k ) 的计算机网络化时代。计算机通信网通常可以抽象成一组网络节点和 物理信道的集合,在每个网络节点处完成不同厂家生产的异种计算机的互联,进 而实现信息交换、资源共享和分布处理,其前提是所有进行联网的计算机必须遵 守一系列公共规范的规定和标准网络协议,这些协议在结构上常常采用分层 描述:所有低层功能是其上一层的基础,并且一般仅仅相邻层之间有接口关系, 不同层之间功能相对独立,层间接口是简单的单向功能依赖关系,非常便于各层 和整个网络的设计、实现和修改。 1 1 2o s i 参考模型 0 s i 0 s i 参考模型 0 s i 参考模型0 s i 层数层描述层描述层数 7 应用层 应用层 7 6表示层表示层 6 5 会话层 会话层 5 逻辑流 4 传输层 卜 传输层 4 3 网络层 网络层 3 2 1 数据链路层 数据链路层? 2 1 j 物理层 物理层j1 一一7 , 真实数据流 图1 - 1o s i 参考模型及其数据流 2 0 年前,国际标准化组织( i s o ) 开发了开放式系统互联( o s i ) 模型,首 第1 页 北京邮电大学硕士毕业论文第一章概述 次为计算机间开放式通信所需定义的功能层次建立了全球标准。这一标准详细叙 述了一个数据通信会话中所必需功能的逻辑顺序,是一个非常完美的用于解释开 放式通信概念的方式,迄今仍是网络界术语的标准“语言”。 由上图可见,通信中的数据流垂直通过各层次,每一层在逻辑上都能与对方 的相应层直接通信。发送端机器的每一层都要在数据报文前增加报文头。该报文 头只有其他机器的相应层才能识别和使用。接收端的机器在每一层上删去对应的 报文头,最后应用程序获得其中的净荷数据。 图1 1 所示的o s i 模型中,1 3 层提供了两络访问,4 7 层主要用于支持 端到端的通信。最底层为物理层,负责传送比特流,即从数据链路层接收数据帧, 并将帧的结构和内容通过物理上的连接发送到传输介质上串行发送,同时将接收 到的串行数据传送给数据链路层以重新组合成帧。第二层为数据链路层:在发送 方向上,该层将含有源、目的地址、校验和以及净荷类型等信息和用户数据封装 到数据帧内,通过物理层向局域网内发送;在接收方向上,该层缓存所有到达的 比特流直至可以构成一个完整的数据帧,即重薪恢复了发出的数据帧。这层提供 的传输服务是可靠的,但可以是连接或无连接的。第三层为网络层,负责为源和 目的机器之间传输的数据提供路由。由于数据链路层只能提供本地局域网内的可 靠传输,对于跨局域网的数据必须通过路由的方式到达目的局域网。这一层以及 更高的诸层在通信中不是必须的,也就是说任何通信系统无论局域网还是广 域网物理层和数据链路层是必需的,有了它们就能在一个局域网内部通信, 而其他各层都是可选的。第四层称为传输层,负责端到端数据的可靠传输。由于 网络层提供的是不可靠的服务,从网络层送到第四层的报文可能会有缺失,此时 就会产生重传请求。同时,传输层将乱序收到的报文重新排序,使之成为更高层 协议能理解的格式。第五层为会话层,主要管理两个计算机系统连接之间的通信 流。最高两层为表示层和应用层,分别负责数据编码方式和提供应用程序与网络 服务的接口。 1 2 协议处理的概念 广义的网络协议处理包括了整个i s o 网络模型中的所有七层,但更多的时候, 网络协议处理仅仅是根据报文中链路层以上特定协议字段进行判断和相应操作, 本文中采用的是后者的定义。 第2 页 北京邮电大学硕士毕业论文 第一章概述 在各种网络设备中,协议处理可能包括的任务有:识别和提取出不同的报文 头和协议字段,针对不同的应用,可能需要处理从第二层到第七层的报文:快速 查找任务,查找的任务可能涉及第二层交换、第三层路由、第四层会话级交换甚 至五到七层以上的基于内容的交换和策略管理:报文的解析和更改,根据报文的 不同内容和不同的应用,更改报文的某些特殊的域,比如虚拟局域网( v l a n ) 的 分配需要在特定的数据域加入标签、网络地址翻译、q o s 优先级设置等:流量控 制和管理,依据管理的要求对不同类型的数据流进行统计收集。 目前网络上主流的网络处理设备,如交换机、路由器、网关等,都是以t c p i p 协议族作为默认协议,它们在o s i 模型的第二层到第七层之间处理各种报文。其 中网关一般处在运行不同协议的网络之间,负责他们之间的协议翻译工作,需要 处理报文中第四层以上的信息,因此在这些设备中最为复杂,也是容易成为网络 瓶颈之处。 第3 页 北京邮电大学硕士毕业论文第二章硬件在协议处理实现中的位置 第二章硬件在协议处理实现中的位置 2 1 传统网络协议处理的实现 网络协议处理实现的传统方法是:较底层的协议主要用硬件实现,较高层的 协议则主要由软件实现。其中的网络软件一般需要配置在多台具有不同系统结构 和配置有不同操作系统的计算机系统中,要求网络软件对系统应当有很强的兼容 能力,而且网络软件处理的对象一般是高度并行的事务,在可靠性和实时性上要 求很高。 2 2 目前的发展趋势 目前,随着传统的软i 硬件分工逐渐变更、淡化,硬件实现高层协议处理的 比重在不断增加,这个趋势是基于网络带宽急剧增长、计算能力需求更强和芯片 处理能力大幅度提高这三个方面的事实。 2 1 1 网络带宽急剧增长 9 0 年代中后期以来,密集波分复用( d w d m ) 技术的进步使得一根光纤上 能够承载上百个波长信道,传输带宽最高记录已经达到了t 比特级。在骨干网带 宽指数增长的同时,网络带宽需求也出现了爆炸式的增长,网络应用的迅速增加, 根据d e l l - o r og r o u p 的统计,在过去的两年中,全球宽带接入量从1 3 2 0 万增长 到了5 5 2 0 万。国内的增长速度更快,2 0 0 2 年,不包括日本在内的亚太地区的 宽带因特网帐号数就高达1 7 5 8 万个,比原先增长了7 0 ,占到总帐号数的2 5 。 局域网内的业务流类型突破了“8 0 2 0 ”规则限制,跨局域网的业务流在总业务 流中所占比重越来越大,相应的对局域网中路由功能的需求也不断增加。传统的 基于“8 0 2 0 ”流量模型的路由器,网关设备是通过软件实现网间互联,这种协议 处理方式不但导致开发复杂、价格昂贵,而且转发速度慢,显然不能满足宽带网 络的需求,早已成为网络的瓶颈。 2 1 2 计算能力需求更强 网络协议处理的特征之一就是需要有密集逻辑计算能力的支持。尤其是在涉 及高层协议的数据处理时,所涉及的处理量会变得非常之大。以第七层交换技术 第4 砸 北京邮电大学硕士毕业论文第二章硬件在协议处理实现中的位置 为例,在进行普通的网页浏览时,一个网页内部很容易就包括2 5 个以上的u r l 连接,而网络设备就必须对每个网页上的每个连接进行监测,而且这种监测可能 是以每秒几十万、上百万次的速率周期性的进行。可以想象,即使只有上百用户 在同时浏览网页,协议处理的计算量也会是一个多么惊人的数字。实际上,网络 中日益繁多的各种应用使得对这种计算能力的需求一直在增长,尤其位于网络边 缘的数据接入和业务汇聚设备更是首当其冲。 2 1 3 芯片处理能力提高 另一方面,芯片上晶体管的集成度在摩尔定律驱使下,以每1 8 2 4 个月翻 一番的速度增长,伴之而来的是芯片日益强大的处理能力和低廉的价格。以 f p g a 芯片为例,x i l i n x 公司1 9 9 6 年时一块要价在1 0 0 0 美元左右的f p g a 芯 片现在的价格还不到1 0 美元,而一块芯片上包含的门数从不到万门增加到了千 万门的量级。越来越多的器件被集成到小小的芯片中,同时支持的功能也越来越 强大,s o c ( s y s t e mo r lc h i p ) 的出现更是意昧着可以将整个或是数个c p u 包括周 边器件全部集成到一块芯片上,系统的性能和可靠性都比上世纪末有了很大的提 高,而价格却仅仅是以前类似系统的百分之一、千分之一。目前的光刻蚀工艺已 经能够支持9 0 纳米的线宽,在一片邮票大小的硅面积上容纳数亿个晶体管,可 以提供近乎无穷的计算能力。利用这些丰富而廉价的计算能力来提升软件处理速 度是一种非常自然而然的想法,目前众多采用c i s c 架构的通用c p u 就是这个 , 想法的一个成功例子。事实上,越来越多的密集计算,实时处理应用也必须由硬 件来完成,例如移动通信中的某些信号处理,每秒需要进行多达上亿次的复数乘 法,用软件实现显然是不能胜任的。 随着系统的带宽要求已经超过传统c p u 满足网络性能所需的处理能力,某 种意义上说摩尔定律已经落后于不断提升的光纤速度。我们要求路由器和交换机 必须以前所未有的速率进行查找和转发工作,而传统的协议处理方法显然已经无 法满足这些要求,基于硬件的协议处理技术由此成为支撑宽带时代基础之一。 2 3 使用f p g a 实现网络协议处理的意义 2 3 1f p g a 简介 f p g a 是现场可编程门阵列( f i e l dp m g r a m a b l eg a t ea r r a y ) 的简称,按照 第5 页 北京邮电大学硕士毕业论文 第二章硬件在协泌处理实现申的位置 x i l i n x 公司的定义,f p g a 是一种基于查找表( l u t ,l o o k u p t a b l e ) 技术和s r a m 工艺,且需要外挂e e p r o m 以供配置芯片的可编程逻辑器件。其内部由可配置 逻辑模块c l b ( c o n f i g u r a b l el o g i cb l o c k ) 、输出输入模块i o b ( i n p u to u t p u t b l o c k ) 和内部连线( i n t e r c o n n e c t ) 等几个部分组成,此外还有丰富的触发器、 i o 引脚和b l o c kr a m 甚至c p u 等资源。从原理上讲,它们足以实现任意复杂 的逻辑功能。 芯片内部资源的配置完全由存放在片内s r a m 中的程序决定,而且可以反复 编程。每次加电时,f p g a 芯片将外部的可编程r o m 中数据读入片内s r a m 中, 配置完成后,f p ( 遣进入工作状态。掉电后,f p g a 恢复成自片,内部逻辑关系 消失,因此,f p g a 能够反复使用。f p g a 的编程无须专用的f p g a 编程器,通 用的e e p r o m 、e p r o m 或p r o m 编程器都可以使用。当需要修改f p g a 功能 时,只需换一片e p r o m 或重新烧录e e p r o m 即可。这样,同一片f p g a ,不 同的编程数据,可以产生不同的电路功能。因此,f p g a 的使用非常灵活。 正是这些特点,使得f p g a 成为逻辑电路中设计周期最短、开发费用最低、 风险最小的器件之一。采用f p g a 设计硬件电路,用户不需要复杂冗长的设计、 投片、生产过程,就能得到的芯片。其它全定制或半定制a s i c 电路的中试样片 也常常用f p g a 来承担。可以说,f p g a 芯片是小批量系统提高系统集成度、可 靠性的最佳选择之一。 目前市场上的f p g a 品种繁多,有x i l i n x 的x c 系列、t i 公司的t p c 系 列、a l t e r a 公司的f i e x 系列等,规格从1 万门到上千万门不等。 2 3 2 协议处理的硬件架构 目前常见的协议处理架构大致有三种:基于单一的通用c p u 和实时操作系 统的集中处理系统:控制与处理,转发分离,分别由专用c p u 和a s i c 腰p g a 实 现;采用数个基于硬件转发引擎的高性能网络处理器( n e t w o r k i n gp r o c e s s o r ) 并 行工作,对报文分类进行协议处理和转发。 传统的c p u + 协议处理软件的架构在低端领域依然有着应用,虽然有着处理 速度有限的锢疾,但是面对迅速变化的网络技术可以通过只进行软件升级的方式 来灵活适应,避免在硬件上的反复投资。近年来不断增长的网络带宽需求和芯片 性能的持续提高,使得基于硬件处理的后两者逐渐成为高速网络处理的主流。尤 第6 页 北京邮电大学硕士毕业论文第二章硬件在协议处理实现中的位置 其是在千兆,万兆以太网应用中,这两种架构能轻易达到百万乃至千万p p s ( p a c k e tp e rs e c o n d ) 的转发速率,具有硬件线速处理的优势,是目前高速应用 中的首选。而目前基于单一c p u 架构转发分组的最大转发能力在数十万p p s 量 级与前者相比相差了两个数量级,并且以现有的软、硬件技术,其在高速处 理上的发展潜力非常有限。造成这种架构致命问题的所在就是控制和转发都集中 于处理器,导致报文的处理时间无法准确预测,也就是浣在线速处理上一旦进入 高速领域,单处理器架构造成的瓶颈将彻底无法避免。无论是现今基于冯诺依 曼顺序处理机结构的高端通用c p u 还是基于哈佛结构的专用高速d s p ,都是顺 序执行指令,即处理器从内存中读取数据,放入内部寄存器,然后在每个时钟周 期执行指令,对数据进行运算,最后再将处理的结果写回内存,进入下一个报文 的处理,如此之多的环节造成了效率低下,而处理器不可避免会定时执行一些内 务操作,比如内存管理和任务调度,此外还必须响应不定时的中断请求,一旦打 断了上述报文处理过程中的任意环节,那么由此造成的处理时延可能是不可预测 的。而且,这种架构还无法同时保证性能和控制功能。控带i 功能是由一系列规则 所提供的,如服务质量( q o s ) 、拒绝访问( 安全) 、流量级优先或提供数据记 帐。当分组进入路由器时,这些相关的规则也同样作用于分组。在基于单一处理 器架构中,这些规则被存储于一个软件数据库内,每个分组通过时都必须与该数 据库进行核对。这正是问题的根源:能的微处理器( c p u ) 还必须查询数据库, 此时数据包不会被发送,因而路由器的转发能力很低。例如,当启用安全过滤器 时,性能最多可下降7 0 。同时,即使理想情况下,对于相同长度的报文,不 同的封装格式可能导致不同的处理方式,有的复杂处理( 报文出错、残缺) 可能 需要重新生成一个报文( 如,、i c m p 协议报文) ,从而导致处理时间的无规则延 迟。这种性能上数百倍的差异实际上就是不同处理架构所造成的:前者采用运行 于微处理器上的软件来转发分组,而后者则使用的是专用处理芯片中的高速转发 逻辑。 2 3 3 采用f p g a 的优势 事实上,网络处理进入千兆速率之后,必须采用负责处理、转发的数据平面 和负责协调、命令的控制平面分离的方式,并且在数据平面采用一定规模的并行 处理,才能完全解决这个瓶颈。控制平面一般采用r i s c 指令的c p u 和嵌入式 第7 页 北京邮电大学硕士毕业论文第二章硬件在协议处理实现中的位置 软件,数据平面则更多的依赖于硬件的并行处理能力。目前基于s o c ( s y s t e mo n c h i p ) 技术的网络处理器,一般都在芯片内部嵌入了c p u 内核作为控制平面, 进行系统信息的维护和处理部分的协调工作,处理平面由多个微处理引擎( m i c r o e n g i n e ) 和其他专用硬件组成,负责利用控制平面下发的微代码和命令,直接处 理网络数据。以常见的i n t e ld 1 2 0 0 为例,其控制平面为一个a r m 的硬核, 处理平面则集成了6 个微处理引擎,进行并行处理,并且将所有常用的接口控制 器都放在了芯片内部,p c i 总线、6 4 位数据总线和r a m 总线等等均各自分开, 提供了在简单条件下的千兆线速性能。即便如此,在一些复杂的高速应用( 如, 应用层防火墙、第四层交换) 中,必须将数枚i ) 口1 2 0 0 并行工作,才可能满足线 速要求,这样产品成本无疑会上升不少。所以,目前高端的路由器、网关的数据 平面基本无例外的采用了专用集成电路( 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 d c i r c u i t ) 或是现场可编程门阵列来解决线速问题。但是,a s i c 本身固有的问题 在于研发周期比较长,造成在小批量生产时成本居高不下,虽然近年来出现了成 本相对较低的专用标准电路( a s s p ,a p p l i c a t i o ns p e c i f i cs t a n d a r dp r o d u c t s ) , 但仍然不能避免与a s i c 一样,遇上一旦完成设计就无法在硬件层面上灵活适应 网络处理技术变化的问题。具有可反复重编程能力的f p g a 在这方面具有 a s i c a s s p 不可替代的优势,且可以在相对较短的时间内满足芯片设计者的要 求。目前主流的f p g a 已经采用了最先进的半导体工艺制造技术,采用o 1 3 微 米甚至是9 0 纳米工艺和铜互连工艺,具有百万门乃至千万门的规模、1 0 0 m h z 以上的时钟,使得f p g a 的性能完全可以满足苛刻的高速处理要求。而且,在成 本上f p g a 也可以“按每个引脚来计算的基础上与a s i c 和a s s p 进行竞争”。 事实上,以h g a 芯片作为千兆以上速率协议处理的数据平面是一个足以与 a s i c 竞争的方案。 第8 页 北京邮电大学硕士毕业论文第三章基于硬件的协议处理技术 第三章基于硬件的协议处理技术 3 1t c p i p 模型及其协议族 i s o 模型分析详尽,但处理过于繁复,效率低下,在实际应用中没有太大价 值。与之相对,t c p i p 作为一种更为灵活和有效的参考模型,成了互联网络协 议的实际标准。 应用层 传输层 网络层 链路层 t e l n e t 、f t p 和e - m a i l 等 t c p 和u d p i p 、i c m p 和i g m p 设备驱动程序及接口卡 图3 - 1t c p 参考模型及其协议族 与i s o 模型相比,t c p i p 保留了重要的层次,把被去掉层的功能并入相邻的 层次,大大简化了设计的复杂度。 现在提到的t c p i p ,更多的时候是代表了一个协议族,其中包括的协议多达 几十种,t c p 和口便是传输层和网络层上最为核心的两个协议,前者用来提供 端到端连接的可靠传输服务,后者更是报文在网络上路由的基础。那么,这些协 议的意义究竟何在呢? 事实上,大部分通信中的问题要比单个传输或帧的时候要 复杂,例如:传输信息很长造成对传输介质的独占,使其他用户长时间等待,如 何避免? 对于收到的报文,发现有错误,又该如何处理? 收发速度不一致的情况 下,如何进行两者之间的协调? 接收方发现丢失了帧该如何处理? 这些问题在网 络每个层次的实体都可能遇到,但处理的方式却可能截然不同,即使同属于一个 层次,在不同的情况下也可能是相反的。例如,在传输层,u d p 协议对于差错 控制的策略就是只检测c r c 错误,如果发现了错误报文就丢弃,不再通知发送 方重传;而t c p 协议则必须发送报文通知对方重传。在链路层,传输方式的多 样以及传输技术的进步使得协议类型更为繁多,出现了以太网( i e e e8 0 2 3 ) 、 无线局域网( i e e e8 0 2 11 ) 、a t m 等多种方式,这些方式都有针对各自特性的 协议保证其正常工作,就是差错控制或流量控制的方式也有很大差别。这样,由 第9 页 于t c p i p 各层的技术发展水平不同以及各层自身特性,使得t c p i p 不可能成为 一个封闭的协议族,而是各层在各自独立的演进路径中不断接纳新的协议、标准, 这种开放性结构为t c p i p 带来了长盛不衰的生命力。目前,除了r p 、t e l n e t 、h t t p 等基于t c p i p 经典应用之外,v o i p 、i c q 、m s n 、e m a i l 等高层应用也层出不 穷,带动网络需求呈现快速增长。各层面保持相对独立并各自演进的方式,使得 t c p m 能够兼容不同的技术,从而保持了网络核心的稳定,也保证了t c p i p 协 议可以运行在任意的网络和介质上,同时也可以承载任意协议。可以肯定,在下 一代网络中,基于t c p i p 的视频、语音以及数据应用,甚至无线数据应用都将 继续成为主流,“i pi se v e r y t h i n g ”是不争的事实。 3 2 协议处理中的关键技术 t c p 的出现,促进了网络技术的发展,网络应用日趋繁多,同时大量的协 议处理技术也不断涌现,尤其是在软件方面的应用,相关的各种方案、算法、专 著层出不穷。在基于硬件平台的网关设备中所使用的协议处理技术,其原理也并 无二致,下文就这些技术进行详细的论述。 3 2 1 报文分类 几年前,口网络所支持的基本服务模型还是只有一种服务类型:尽力而为 ( b e s te f f o r t ) 。其含义是“不管提交给网络的业务流的类型是什么( 声音、图 像或数据) ,一旦进入了网络,就以先来先服务的方式对信息分组进行服务”。 这种方式在没有时延和带宽约束的时代被有效的用来传输纯数据,但是随着近年 网络多媒体应用的逐渐广泛,迫切需要使p 网络支持声音、图像等新的数据类 型,这些业务对于时延有着严格的要求并且要求一定的带宽保证,显然仅仅能够 提供尽力服务( b e s te f f o r t ) 类型的i p 网络已经不能满足。为解决这个问题,相 应出现了区分服务( d i f f s e r v ) ,集成模型( i n t s e r ) 等解决方案。在区分服务中 的用户接入点,根据用户的服务等级合约( s l a ,s e r v i c el e v e la g r e e m e n t ) 对到 达的报文进行分类,依照分类的结果对报文进行相应的处理,因此区分服务所进 行的工作主要在网络边缘进行。相比在集成模型中,需要在整个传输路径中对报 文进行基于流的处理。 目前网络上存在大量需要报文分类的服务,例如:网络路由,防火墙中的访 北京邮电大学硕士毕业论文第三章基于硬件的协议处理技术 问控制,以及流量计费。在每一种情形中,必须判断到达的报文属于哪个流以便 做出决定,例如是否转发或是丢弃这个报文,转发到何处去,所属的服务类型是 哪种,或是传送这个报文应该收费几何。这种分类功能通过报文分类器( 又称流 分类器) 来执行,报文分类器维持一系列的规则,而每个流遵守至少一个规则。 规则根据报文头的内容将这个报文归入某个流。例如,一个流可以被源和目的i p 地址的特定值和特定的传输层端口所决定。或者说,一个流能简单的被目的地址 前缀和一系列端口值决定。常见的报文分类过程如下:当报文到达时,首先需要 对到达的报文进行分类,即根据报文的流标识( f l o wd ) 在流表中查找该报文 所属的流,然后取出流表内保存的该流对应的处理参数,如流量管理参数、统计 参数、优先级等参数,之后根据这些处理参数对报文进行相应的处理,最终进入 网络的报文就可以按照尽力而为的方式( 或是基于c o s 的尽力而为方式) 进行 高速路由。 报文分类作为网络边缘设备( 例如,网关) 进行协议处理的主要目的之一, 其意义在于每个单独的主机或是应用程序都可以无需修改就能获得具有优先级 的服务,同时核心路由和交换部件也只需很少的改动或者根本不必改动,在最大 程度上保护了已有的投资。 3 2 2 报文过滤 报文过滤技术( i p f i l t e r i n g o r p a c k e t f i l t e r i n g ) 的原理在于监视并过滤网络上 流入流出的p 包,拒绝发送可疑的包。从这个意义上来说,报文过滤功能使得 网络设备具有一定的防火墙功能,可以屏蔽特定的攻击,为内网与外网的通信创 造一个安全的环境。常见的实际应用例子就是互联网上的路由、网关设备,比如 e i s c o 路由器,使用者通过定制访问控制列表( a c l ,a c c e s sc o n t r o ll i s t ) 来对 路由器进出端口的数据包进行控制。 在执行报文过滤过程中,路由器或网关设备将逐一审查每份报文以判定它是 否与存贮在访问控制列表里的报文过滤规则相匹配:通常,过滤规则以表格的形 式存放在控制列表中,其中包括以某种次序排列的条件和动作序列;每当收到一 个报文时,则按照从前至后的顺序与表格中每行的条件比较,直到满足某一行的 条件,然后执行相应的动作( 转发或舍弃) ;有些报文过滤在实现时,”动作”这一 项还会根据情况判断丢弃时是否要通知发送者( 通过发i c m p 信息) ,或是能以管 第1 1 虹 北京邮电大学硕士毕业论文 第_ 三章摹于硬件的协泌处理技术 理员指定的顺序进行条件比较,直至找到满足的条件:如果没有找到一个匹配的 过滤规则,由管理员配置的缺省参数将决定此报文是转发、丢弃还是作另外处理。 对基于报头信息欺骗的攻击手段,报文过滤都可以有效的加以防止。例如源 i p 地址欺骗,伪装成一台内部主机的外部入侵者发送包含内部源坤地址的报文, 这些报文到达路由器或网关设备的外部接口,如果不采取任何措施,那么这个报 文就可以进入到内部网络,反之,报文过滤措施可以舍弃每个含有这类源i p 地 址的报文,避免这种源欺骗攻击。 最基本的报文过滤功能通常工作在o s i 模型的三层及三层以下,有时在 p 报文所承载的上层协议( 如t c p ) 报头中,也包含了可供报文过滤的信息;如 t c p u d p 协议的源目的端口。一般而言,报文过滤通常涉及到的报文属性包括 源m a c i p 地址、目的m a c i p 地址、i p 封装协议( t c p 、u d p 、或i p t 砸m e t ) 、 服务类型( t o s ) 、i c m p 报文类型等等,f 是这些域的不同组合形成了各种各 样的报文过滤规则。鉴于大多数服务都使用知名的( w e l lk n o w n ) t c p u d p 端 口,报文过滤规则可以允许路由器或网关对一个基于特定端口的服务信息流迸行 取舍,例如用于t e l n e t 服务的t c p 协议2 3 号端口,f t p 服务的t c p 协议2 1 号 端口。这样处理的优点在于报文过滤是透明的,无需在用户端进行任何既置,而 且因为操作相对比较简单,只需提取报头内容通过查表即可获得控制信息,而不 必对报文内容做任何形式的检查,便于在处理速度较快的硬件上实现。 从另一个角度来说,如果开放了某个端口,就意味着相应端口对应的服务所 能够提供的全部功能都被放开,路由器和网关设备不能对报文内容做更深的检 查,即使通过防火墙的数据包有攻击性,也无法进行控制和阻断。例如,报文过 滤系统不能仅允许某个用户使用t e l n e t 登录而不允许其他用户进行这种操作,因 为报文中的用户信息它是无从识别的。为此,在报文过滤技术的基础上出现了动 态报文过滤技术,又称为报文状态监测( s t a t e f u li n s p e c t i o n ) 技术。它采用动态 设置报文过滤规则的方法,进行基于上下文的动态报文过滤,增强了网络的安全 性,避免了静态报文过滤所具有的问题。动态报文过滤技术不再只是分别对每个 进来的报文简单地就地址进行检查,而是在网络层截获进来的报文,直到足够的 数量,以便能够确定此试图连接的有关“状态”。然后用专用的检查模块对这些 包进行检查。安全决策所需的相关状态信息经过检查之后,被记录在动态状态表 北京邮电大学硕士毕业论文 第三章基于硬件的协议处理技术 中,以便对其后的报文通讯进行安全评估。最后,经过检查的报文继续转发,并 建立起一个新的连接。这样,路由器或网关设备就可以对通过其建立的每一个连 接都进行跟踪,并且根据需要可以动态地在过滤规则中作增加、删除或修改,进 而动态控制每个连接的存在。 在目前使用的网络设备中,报文过滤技术作为一种基本的安全措施被广为采 用,并且还出现了多级过滤机制,提供从第二层到第七层的多级过滤,其中除了 工作在第二、三层之间的高效率报文过滤之外,还对更高层的h t t p 、s m t p 、 f t p 等应用进行细致地限制,使得网络设备具备了更高的安全性,同时又能够灵 活提供基于地址、协议、端口、时间和用户保留地址( 非法地址) 等信息的互联 接入,从而最大限度确保设备自身的安全性,提高对网络的保护能力并增强控制 的灵活性。 3 2 3 流量统计与管理 在网络应用迅猛发展和带宽需求日益增长的今天,如何有效地利用有限的 网络资源以满足用户要求已经成为一个重要的课题。流量统计与管理就是在这 种背景下提出的一种用来预测网络状况、控制网络资源、提高网络性能、满足 服务要求的网络技术,它的最终目标就是实现网络资源的优化和服务质量的提 高。目前,流量统计与管理功能已经是成熟的商用电信设备必备的功能模块之 一。在i s o 对网络管理定义的五要素( 配置管理、故障管理、性能管理、安全 管理和计费管理) 中,流量统计和管理是实现这五要素的重要基础,其中计费 管理直接依赖统计功能提供的统计数据,而性能管理也必须借助相关统计数据 和流量管理功能来实现。 顾名思义,流量统计主要是对网络数据流的活动进行监测和统计,以掌握 网络的流量特性,如协议的使用情况、应用的使用情况、用户的行为特征等。 这些数据除了提供用户计费的依据之外,还可以为网络管理者提供历史或实时 的网络使用状况,便于更好的进行网络管理和优化。实际上,随着强实时性的 语音、视频业务流越来越广泛的出现在原本仅用来传输数据业务的网络设备里, 各种要求迥异的业务流混杂于同一网络中,以经典的网络分析方法( 如排队论) 已经难以处理这种复杂的局面,而网络流量统计是目前唯一能用于分析网络状 况、掌握流量特性的有效方法。目前的主流网络设备已经能够提供详细的用户 第1 3 页 北京邮电_ 大学硕士毕业论文第三章基于硬件的协议处理技术 流量统计、端口流量统计、第二层和第三层流量统计,乃至更高层中基于应用 的流量统计结果,并且能以实时的形式为网络管理人员提供第一手的详尽资料。 流量统计可以由硬件或是软件来实现,著名的流量统计软件有s n i f f e r p r o 、 t c p d u m p 等,但由于软件本身在运行速度和稳定性上的原因,对于高速情况下 的实时流量统计它们是无法胜任的,例如在百兆、千兆以太网中进行的实时统 计工作,因此在这些情形下流量统计工作一般由专门的硬件来完成它们可 以单独成为一台设备,也可以集成到其他高速网络设备中作为一项功能。 流量控制是预防网络拥塞、提高网络性能的一种方法,它可以确保用户以 能够以合理的速率传输数据。造成网络拥塞的原因很多,例如一台高速计算机 产生的通信量可能比网络传输量大,或者比目的设备所能接受和处理的能力大, 便会造成网络拥塞。一旦发生网络拥塞,网络性能就会急剧变差,服务的确应 时问迅速增加,甚至造成网络无法使用。 如果能过设法减少单位时间内网络传输报文的总量,那么就可以从根本上 避免出现这种情况,流量控制就是控制端到端流量的有效机制之一。常见的流 量控制方法有停一等协议、滑动窗口协议等,通过它们对发送报文进行一定韵 控制,使得在发生网络拥塞的情况下网络中的流量能够迅速减少。 目前,流量控制技术还更多的被用来对网络带宽进行分配和管理。在骨干 网边缘或是接入设备中,流控机制常用来限制突发数据流,进行流速限制和流 量分类,控制i p 流量以特定的速率进出网络,便于网络经营和提供有保障的网 络服务质量。这类应用的根据是运营商对于数据流的分类,对低于某类规定速 率的报文及时发送,而对于超出规定速率的报文则进行丢弃或改用较低的优先 级进行发送。在实际使用中,为了支持一定的流量突发度而不至于缺少弹性, 对于正常突发长度以下的报文都不会丢弃,而介于正常突发长度和过分的突发 长度之间报文将降低到较低的优先级。常见的流速限制算法有漏桶算法和令牌 桶算法等,以后者为例,首先对报文进行分类,规定报文的流量特性和发送优 先级,并进入令牌桶进行处理。如果令牌桶中有足够的令牌可用于发送报文, 则报文可以通过并继续发送下去。事实上,令牌桶中的令牌数量会随着报文的 消耗而逐渐减少,同时令牌桶又会按照运营商设定的速度向桶中放置令牌,桶 的容量可由运营商设定。当桶中令牌的数量超出桶容量时,令牌数量不再增加。 北京邮电大学硕士毕业论文第三章基于硬件的协泌处理技术 报文通过令牌桶处理后,若令牌桶中还有足够的令牌,则报文可以通过并继续 发送下去,但是令牌桶中的令牌量相应减少,当令牌桶中的令牌少到报文不能 再发送时,则报文被丢弃。令牌桶是一种控制数据流量的理想机制。在令牌桶 中充满令牌时,桶中所有的令牌代表的报文均可发送,满足数据的突发传输要 求。当令牌桶中没有令牌时,则报文不能被发送,只有等到桶中生成新的令牌 后,报文才可能发送出去,因此报文的流量只能小于或等于令牌生成的速度, 实现了限制流量的目的。 3 2 4 查表技术 查表技术是网关、路由器等网络设备中协议处理的常见方法,即,从待处 理的报文中提取出协议字段,然后将某些字段的组合通过查表来获得报文的处 理方式。这种方法的优势在于保持了表项配置的灵活性,可以实时修改表项配 置,而无需改动硬件电路的逻辑。但是随着表项内容f 1 益扩张和网络处理的带 宽越来越大,对于查表速度的要求也越来越高,因此在查表算法实现上的研究 是非常有意义的。 以在路由器中已经获得非常广泛应用的查表技术

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论