




已阅读5页,还剩50页未读, 继续免费阅读
(计算机系统结构专业论文)嵌入式安全联动系统(1).pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学硕士学位论文 摘要 传统的网络安全产品管理复杂、缺少互动。针对这个问题,可以利用嵌入式设备 建立安全联动系统来解决。 为了降低问题的复杂性,将安全联动系统( s e c u r i t y a n y w h e r e ) 分解为底层安全 设备节点、中央命令处理系统和控制管理中心等三个模块。经过比较和选择,采用嵌 入式系统作为底层设各节点的载体。 通过对嵌入式设备开发技术的研究,利用硬件优先的模型设计底层安全设备节 点。为了向安全联动系统屏蔽底层安全设备节点的异构性,给设备节点提供软件支撑 平台。这个支撑平台包括裁剪后的操作系统、专用的文件系统以及代理中间件。在支 撑平台的保障下,设备节点可以安全、无缝的加入到整个联动系统中去。为了最大限 度地发挥嵌入式设备的优点,设计并实现远程改变节点功能形态、自动升级等特殊功 能。 针对现有协议的不足,设计并实现一种简单的控制协议e u d p 。e u d p 足安 全联动系统的中央模块和用来控制底层安全设备的通信协议。e u d p 建立在u d p 的 基础上,在继承u d p 协议高效、耗费资源小的基础上,提供了可靠和安全性保障。 试验结果表明,利用e u d p 可以让中央系统与底层安全设备节点有效地进行信息交 互。 中央模块是整个联动系统的灵魂,为了让整个系统具有较好的性能,在其中采用 组策略。试验测试显示,应用组策略的中央系统能有效扩展自身的性能指标。 嵌入式设备平台采用m i p s 架构的r 3 0 0 0 系列,内存6 4 m ,i o i o o m 自适应网卡, 1 6 mf l a s h 。试验结果表明,安全联动系统在完成基本设计功能的同时,也能够保障较 好的性能指标。 关键词:网络安全,嵌入式系统,网络管理 华中科技大学硕士学位论文 a b s t r a c t l a c k i n gc o n s i d e r a t i o n so fo v e r a l ls y s t e ma r c h i t e c t u r ei st h ec h i e fd e f e c ti nt r a d i t i o n a l n e t w o r ks e c u r i t yf i e l d ,w h i c hl e a d st ot h es e c u r i t yd e v i c e sa r ed i f f f i c u l tt om a n a g e m e n t t o s o l v et h et o u g hp r o b l e m ,as y s t e mc a l l e ds e c u r i t y a n y w h e r eh a sb e e nb u i l d c o n s i d e r i n gt h et r a d e o f f o f p e r f o r m a n c ea n dp r i c e ,l e te m b e d d e ds y s t e mc o n s t r u c tt h e b a s i cs e c u r i t yd e v i c en o d e a sa “n do fc o m p u t e rf o rs p e c i a lp u r p o s e 。e m b e d d e ds y s t e mi s f a m o u so ff l e x i b i l i t y w i t ht h ed e v e l o p m e n to ft e c h n o l o g y , e m b e d d e ds y s t e mi sa p p l i e di n m a n yf i e l d s c o m p a r i s o nb e t w e e ne m b e d d e ds y s t e ma n dc o m m o np cs h o w sd i s t i n g u i s h i n g f e a t u r e si nd e v e l o p m e n to fe m b e d d e ds y s t e m t h ee n v i r o n m e n tn e e d e db yd e v e l o p m e n t e m b e d d e ds y s t e mh a sb e e nb u i l d l e a v i n ge v e r ys e c u r i t yd e v i c es e p a r a t e l yi sn o taw i s es o l u t i o ni nn e t w o r ks e c u r i t y d e s i g n m a n ys e c u r i t yd e v i c e sw o r kt o g e t h e r , w h i c hc o u l db es i g n i f i c a n t l ya r i s et h es e c u r i t y l e v e l ac o n c e p to fa l l y i n ge v e r ys e c u r i t yn o d e si sag o o di d e a b a s e do nt h i sc o n c e p t ,a s y s t e mc a l l e ds e c u r i t ya n y w h e r eh a sb e e ni m p l e m e n t e d t h es y s t e ma i m sa tr e d e e m i n g d e f e c t so fn o r m a ls e c u r i t ys y s t e m ,w h i c hs e c u r i t yd e v i c ed oi t sj o ba l o n e i nt h es e c u r i t y a n y w h e r es y s t e m ,e v e r ys e c u r i t yd e v i c ei sr e g a r d e da st h en o d eo f w h o l es y s t e m a l ln o d e s a r es c h e d u l e db yc e n t e rs y s t e m t h ew h o l es y s t e mc o n s t r u c t sa k i n g d o mo fs e c u r i t y t oc o n t r o lt h es e c u r i t yn o d e se f f e c t i v e l y , ac o m m u n i c a t i o np r o t o c o lc a l l e de u d pi s d e v e l o p e d ,w h i c hb a s e do nu d rb yo v e r c o m i n gt h en a t u r ed e f e c t so fu d p , e u d pc a n p r o v i d er e l i a b i l i t y 、c o n f i d e n t i a l i t ya n dh i g he f f i c i e n c y t h et e s t i n gr e s u l ts h o w st h e p r o t o c o l se f f e c t i v e n e s s e m b e d d e ds y s t e m t e s t b e d i n v o n e :r 3 0 0 0 s e r i a l c p u b a s e d o n m i p s ,6 4 m s d r a m , 1 6 mf l a s h t h ei m p l e m e n t a t i o na r c h i v e st h ed e s i g ng o a l ,w h i c hc a nb ep r o v e db yt h er e s u l t o fe x p e r i m e n t k e yw o r d s :n e t w o r ks e c u r i t y ,e m b e d d e ds y s t e m ,n e t w o r km a n a g e m e n t i i 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的 研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个 人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体, 均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:省;f 日期:z “叶年中月7 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有 权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和 借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密西,在叠年解密后适用本授权书。 本论文属于 不保密口。 惰削舫艄_ ” 忍仅萄 学位论文作者签名:何三,平 同期:2 卅年中月刁日 华中科技大学硕士学位论文 1 1 研究背景 1 绪论 用于控制设备的计算机,也叫做嵌入式系统,它的历史几乎和计算机自身的历史 一样长【。它们最初于六十年代晚期在通讯中被用于控制机电电话交换机。当时的嵌 入式系统很多都不采用操作系统,它们只是为了实现某个具体的控制功能,使用一个 简单的循环控制对外界的控制请求进行处理。当应用的系统越来越复杂、利用的范围 越来越广泛的时候,每添加一项新的功能,都可能需要从头开始设计。例如,某个嵌 入式系统可能需要网络协议栈的支持。嵌入式系统逐渐的需要操作系统的服务,没有 操作系统已成为一个最大的缺点了。 c 语言的出现使操作系统开发变得简单。由于c 语言的存在,操作系统编写的效 率、稳定性和可移植性都有了很大程度的提高。从上世纪8 0 年代开始,出现了各种 各样的商用嵌入式操作系统百家争鸣的局面,比较著名的有v x w o r k s 、p s o s 和 w i n d o w sc e 等等,这些操作系统大部分是为专有系统而开发的。另外,源代码开放 的嵌入式l i n u x ,由于其强大的网络功能和低成本,近来也得到了越来越多的应用。 随着嵌入式系统的推广,它们的应用会越来越广泛,人们将会无时无处不接触到 嵌入式产品。在制造工业、过程控制、通讯、仪器、仪表、汽车、航空、军事装备和 消费类产品等方面都是嵌入式系统的应用领域。目前,嵌入式系统给整个世界的带来 的工业年产值超过1 万亿美元。从目前的发展趋势来看,以i n t e m e t 为媒介,从远端 管理嵌入式设备以及和嵌入式设备共享关键信息是嵌入式技术发展的方向。例如,大 型工厂的远程监控系统和中心机房之间的信息交换以及军事方面的些应用等。 当今的社会中,网络的重要性不言而喻。任何计算机都要通过网络和别的计算机 进行信息交换。目前最为通用的是利用t c p i p 协议族进行数据的传送,而i p v 4 已经 被证明拥有先天的安全漏洞。于是,有大量的网络安全技术被提出来增加网络的可靠 性。例如:防火墙、v p n 、i d s 等【2 j 。但是,这些技术往往独立的加以应用,人们往 往为某个网段提供了某种技术。在一个大型的网络中,不同的网段可能有不同的安全 需求,例如某个网段应用了v p n 技术而某个网段却需要i d s 。在一个拥有多种网络 技术的大型网络中,这些应用了安全技术的设备( 称之为“安全点”) 往往都是些散 兵游勇。如何有效的管理这些安全点,让他们能够联合起来构成一个完善的系统,是 华中科技大学硕士学位论文 需要解决的问题。如果我们将这些具有各自特性的安全子模块合并到一起,就可以构 建出一个安全王国。 与普通的p c 平台相比,嵌入式设备具有一些先天的优势,例如:对恶劣环境的 适应性以及性价比上的优势等等。将嵌入式设备和网络安全产品绑定到一起,这是一 个新的市场切入点。如果可以尽快攻克技术难关,将普通p c 平台上比较成熟的安全 产品移植到嵌入式设备上,就可以在激烈的市场竞争中抢得先机。不仅如此,还可以 根据嵌入式设备的档次不同,建立低、中、高这样的一整套产品体系,从而形成完善 的架构。预计这种结合嵌入式系统的安全产品首先会在军事和航天上得到广泛应用, 然后会逐步应用到工业领域,最终会走进普通的商用和民用行列。 1 2 国内外研究概况 国外的一些公司已经开始对嵌入式设备的安全问题加以了关注。在这些公司当 中,喜豁公司己经推出了自己的产品。其中存几家嗽较有代表性,它 f 】是t e a m :i 帮 s n a p g e a r 。 总部位于加拿大的t e a m f l 公司,是一家专门从事嵌入式系统软件应用解决方案 的企业。它有完善的基于嵌入式系统的网络安全产品。它的安全产品品种包括防火墙、 i p s e c i k e 、s s l 、s s h 等。它的主打产品v 4 p s e c u r e 是对i p s e c 协议族以及标准i k e 的完全实现。作为一个附热模块, q - i i s e c u r e 将自己无缝的加入弱原有操作系统韵羁 络协议栈当中去,为用户提供网络层的安全服务。v - i p s e c u r e 完全遵循国际标准,提 供符合相关r f c 的a h 、e s p 以及i k e 服务。v - i p s e c u r e 支持的嵌入式操作系统包括 v x w o r k s 以及l i n u x 。但是,t e a m f l 公司出于商业利益的考虑,已经和出产v x w o r k s 操作系统的w n d r i v e r 公司结成了战略合作关系。以后v - i p s e c u r e 只会支持v x w o r k j , s n a p g e a r 公司的市场集中在基于嵌入式l i n u x 的安全产品。它主要的产品是 f i r e w a l l 、v p n 、i d s 以及c o n t e n t f i l t e r i n g ( c f ) 等。由于嵌入式系统的广泛应用,导致 它的产品形式灵活多样,可以应用到多种行业中。 除了以上的两家公司以外,还有诸如n e t s c r e e n 和c i s c o 这样的大型厂商也已经 提供了基于嵌入式设备的安全产品。可以说,国外的厂商还是领导了技术的潮流,走 在了世界的前列。同时也有一些研究机构对基于嵌入式设备的网络管理提出了自己的 模型0 - 6 ) 。但是,这些模型还没有做到真正意义上的联动,更多的是倾向于取得底层没 备的统计值。从国内来看,这方面的步伐还不够快。市场上还没有成熟的产品。各大 华中科技大学硕士学位论文 安全厂商的平台还是过多的集中在x 8 6 平台上。这样,无形当中就限制了应用的范围, 缩小了市场。 与国外相比,国内的厂商以及科研机构的发展相对落后了一些,也有一些网络安 全厂商开始关注基于嵌入式系统的安全产品的研发。但是,并没有哪个机构以战略的 眼光看待整个安全领域中各个产品联动。华中科技大学天华网络安全研究所的安全集 中管理系统( s c m ) 是国内较早提出的一种管理v p n 的策略体系,但它的功能比较 单一,仅仅只是能够与专用的v p n 设备互动。应该来说,s c m 具有了安全联动思想 的雏形,但它还没有形成完善的架构,有很多地方值得改进。 图1 1嵌入式安全产品的广泛应用 由于安全产品的特殊性,国内的诸多客户不可能完全采用国外的产品。如果能够 开发出满足市场需求的产品,应该可以在嵌入式这个广袤的空间中占得先机,从而获 得巨大的商业利益。从自身的能力来看,天华网络安全研究所对于网络安全技术的研 究一直处于国内前列。已经积累了大量的技术沉淀,完全有能力把x 8 6 平台上比较成 熟的技术移植到其它的基于嵌入式系统的平台上,从而形成支持各种架构的立体结 构。 1 3 本文研究的主要内容 本课题研究的对象是基于嵌入式系统的网络安全技术。由于嵌入式系统的多样 性,本课题选择被广泛使用m i p s 架构【7 】,作为嵌入式设备的平台,然后对该平台上 如何应用安全技术进行研究。这个新载体的特殊之处会对课题提出新的要求:以m i p s 架构为代表的嵌入式设备平台与普通的x 8 6 平台相比到底有什么特殊之处? 要把现有 的软件移植到该平台上,需要做什么样的改动? 改动之后软件的特征会出现哪些变 华中科技大学硕士学位论文 动? 因此,可以提出如下的重点研究内容: ( 1 ) m i p s 架构的基本特性,解决一些可能会碰到的问题。如:代码启动【钔、f l a s h 盘的读写等 9 枷1 ; ( 2 ) 如何构建一个最小化的e m b e d d e dl i n u x 系统。该系统应该专为本课题特 定的硬件平台服务h - t 2 ; ( 3 ) 防火墙是一种常见的网络安全设备【2 13 。1 4 1 。在本文的分析中,应用嵌入式系 统的设计方法,在嵌入式设备中实现一个s f w 模块,完成防火墙的功能; ( 4 ) 设计并实现s e c u r i t y a n y w h e r e 系统。 1 4 本章小结 可以将嵌入式设备理解为为了完成某个特殊功能而存在的专用计算机。随着社会 的发展,计算机将会无所不在,这其中自然少不了嵌入式设备的身影。嵌入式设备也 需要利用网络完成信息的交换,应用于嵌入式设备的安全技术业已经进入了市场。从 国内外的研究情况来看,应用于嵌入式设备的安全技术产品有如下的特征: ( 1 ) 已经有较为完善的应用于嵌入式设备的安全产品了。例如:防火墙、v p n 等: ( 2 ) 各个产品之间缺乏联动,没有一种有效的办法来让这些产品接受统一的管 理: ( 3 ) 没有最大限度的利用嵌入式设备的特性。例如:他们的自动下载和更新的 功能。 以上的这些缺陷,在一定程度上限制了大规模的应用安全技术到嵌入式设备上。 本文针对上述的这些问题提出了解决之道。通过对嵌入式技术的研究,设计并实现了 一种基于嵌入式设备的安全联动系统。 华中科技大学硕士学位论文 2 安全联动系统体系结构 2 1 安全联动系统必要性分析 网络一直被认为是一个不可靠的场所,信息泄漏,计算机被攻击都是不能避免的 问题。为了提高网络的安全性,人们提出了各种各样的安全方案,例如:防火墙、v p n 、 i d s 等手段吲。在过去的几十年中,网络安全技术得到了极大的发展,各种安全产品 的实现层出不穷,它们在很大程度上减少了由安全性问题造成的损失。但是,随着网 络的增长,网络规模不断的扩大,在一个企业级的网络中部署和管理安全设备是一件 令人十分头疼的事情。部署完毕以后,维护和更新也是一件非常花费人力和物力的事 情。如果有一种系统支撑平台,可以方便的管理网络中的安全设备,那将会是非常有 意义的事情。我们所说的管理,指的是监控设备节点的状态以及控制它们的运行。设 想一下,一个安全设备按照我们的支撑平台的规定( 即某种哳议) ,就可以加入到整 个框架中去,接收该框架的管理,那会是多么有趣的情形。对于整个框架中,可以包 含各种类型的安全设备,同时,中央分析系统可以利用对这些设备的采集信息实时反 映整个架构的情况,并做出相应的调整,从而形成一个安全联动系统。在本文中,将 这个系统称为s e c u r i t y a n y w h e r e 。 这样的一种安全平台的出现可以解决大型网络中各个安全设备彼此之间缺乏联 系的问题。任何安全设备都是系统的一个节点,系统的管理者可以监视和控制任意节 点的行为。利用联动系统对底层众多的设备的有效控制,控制管理中心就可以掌握整 个系统的状态,从而让所有的安全设备真正的联动起来,最大限度的发挥它们的作用。 2 2 安全联动系统策略选择 2 2 1 选择嵌入式系统作为底层设备节点 嵌入式系统可以理解为用来完成专门的功能的计算机。和普通的通用计算机相 比,它有如下的特点川; ( 1 ) 嵌入式系统得到多种类型的处理器和处理器体系结构的支持。但目前的主 流是a r m 和m i p s 结构。它们不同于p c 上使用的x 8 6 结构。因此,对于一个项目中 处理器的选择也需要重点考虑; ( 2 ) 嵌入式系统通常在极端的环境中运行。无所不在的嵌入式系统可能运用于 华中科技大学硕士学位论文 一些意想不到的环境中。例如:南北极的冰天雪地中、飞行器上、温度很高的汽车引 擎盖下。为了让设备能够适应环境,硬件设计人员往往需要修改开始的设计,但这又 会直接影嘲到软件人员的开发: ( 3 ) 嵌入式系统的存储空间往往需要f l a s h 技术的帮助。为了减小体积。嵌入 式设备通常会使用f l a s h 作为载体。但是,有的极端情况下仅仅使用r o m 作为存 放所有目标代码的媒介。 在嵌入式系统中实现安全产品已经成为一种流行的趋势。它凭借着灵活的特性和 优良的性价比为诸多开发者所青睐。在s e c u r i t y a n y w h e r e 中,我们在基于m i p s 架构 的嵌入式开发板上实现了基本的防火墙功能,取得了较好的效果。 2 2 2 管理方式的选择 利用t c p i p 协议栈的网络中,通常使用s n m p 协议进行网络管理”i 。s n m p ( 简 誓网络管理协议) 是一种建立在u d p 基础上的应用层协议。在s n m p 上,所有的操 作可用“取存”模式表示,而没有大量的操作。s n m p 只有两个命令,即允许管理系统 从一个数据项读取值和把值存储到一个数据项中。特点是稳定、简单和灵活。s n m p 利用管理信息库( m i b ) 来查询和修改指定的参数。从实际的使用效果来看,利用s n m p 可以很方便的得到被管理设备的静态统计值,例如:接口数、当前的i p 流量等。但 是,在s e c u r i t y a n y w h e r e 系统中,并不是以得到底层设备的当前状态统计为目的。最 常见的操作是管理中心对底层设备节点进行控制。在这种情况下,采用s n m p 协议就 显得不是很合适了。可以说,s n m p 并不是很符合安全联动系统的设计哲学。 在后面的章节中可以看到,为了让中央系统能够灵活的控制底层设备节点,我们 在u d p 协议的基础上实现了一种新的通信协议e u d p 。这种改进的u d p 协议是 专门为s e c u r i t y a n y w h e r e 系统量身定制的控制协议,是最适合整个系统的管理方式。 2 3 安全联动系统框架模型设计 2 3 1 系统的高层需求和基本形态 整个系统作为个框架,它的作用是为底层的具体实现提供支撑,因此,需要能 够完成以下的几个功能。 ( 1 ) 系统应该提供一种勾挂协议,通过这个协议,各种安全子模块可以将自己 挂接到框架结构中去。当这个子模块加入到这个框架中阻后,这个模块就成为了系统 6 华中科技大学硕士学位论文 的一部分,它接受系统的管理; ( 2 ) 各个安全子模块的实现可以遵循国际标准,也可以按照特定的要求来实现。 但是,必须拥有一个和中央系统进行通信的子部件,这个部件实现了代理的功能,它 承上启下,地位十分重要; ( 3 ) 在这个框架中,端节点都在嵌入式设备中实现。前面的章节已经分析了嵌 入式设备的一些特点,因此,这个安全平台的管理功能,应该要结合嵌入式设备的特 性提供一些特殊的服务。例如:提供自动升级的功能等; ( 4 ) 整个系统必须有一套策略分发机制。即:如何向底层节点分发策略。 作为这样的一个框架结构,最终的目标是能够使它成为某种通用的标准。任何遵 循了该框架协议的模块都可以加盟到系统中来。由于网络规模的迅速增长,设备节点 的数量级也会不断加大,因此系统需要考虑可扩展性,不能有明显的性能瓶颈。图2 1 是整个系统的功能框图。 图2 1 功能框图 2 3 2 设计哲学 网络的形态天生就具有继承的特性。因此,采用面向对象的思想来完成这个框架 设计是合理的。在s e c u r i t y a n y w h e r e 架构中,终端设备节点的形态多种多样,利用面 向对象的设计指导思想,提取它们的共同属性。同时,中央框架也应该分成不同的模 块,这样便于我们分析和解决具体的问题。利用这种方针,将这样一个复杂的系统分 解为若干个子系统,从而一步一步的达到项目的目标。 2 3 4 系统高屡框图和模块分解 将整个系统分为几个模块:底层安全设备节点、处理服务器模块、日志模块和控 华中科技大学硕士学位论文 制管理模块。其中底层的设备节点全部在嵌入式设备中实现,它们在中央系统的控制 下完成自身的安全功能,是系统中的士兵。控制管理模块是整个框架的“大脑”,它 是系统的人机接口,负责翻译指令,然后投递给中央处理系统。在一个大型的安全系 统中,日志是非常重要的一部分,它记录了系统中所有重要的信息。 2 4 本章小结 豳2 2 系统高层框图 为了让网络中的各种安全设备协同工作,提出了建立安全联动系统s e c u r i t y a n y w h e r e 的思想。s e c u r i t ya n y w h e r e 系统由三个部分构成。底层设备节点是整个系 统的基础,它们遍布在网络中,在完成自己工作的同时还接收中央系统的控制。中央 系统是命令解释和发布的部门,它在控制管理中心的指挥下,完成对所有安全设备节 点的调度。 嵌入式系统因其灵活的特性和优良的性价比而成为了当今社会中流行的开发平 台。s e c u r i t ya n y w h e r e 系统中的底层的安全设备节点都建立在嵌入式设备的基础上。 在我们的设计中,需要利用嵌入式设备的特点,从而充分发挥它们的优势。 为了让安全联动系统中的各个设备能够灵活、高效的接受中央系统的调度。需要 设计一种通信协议,借鉴s n m p 的经验,考虑在u d p 的基础上实现一种可靠的通信 协议e u d p 。 安全联动系统s e c u r i t ya n y w h e r e 的出现将会解决以往网络中各种安全设备功能 单一、缺乏互动的问题。在后面的章节中,会详细阐述整个系统的设计和实现。 华中科技大学硕士学位论文 3 安全设备节点实现方案 3 i 嵌入式系统设计方法和模型分析 安全联动系统中有一个重要的部分是底层的安全设备节点。在前文的分析中我们 已经知道,嵌入式系统由于其灵活、强大的功能特性,已经是流行的载体。作为我们 的实现方案,采用嵌入式系统作为底层安全设备节点的实现平台。从整体来看,我们 将嵌入式系统分为2 个部分。第一个部分是与应用相关的硬件平台。它负责和外部环 境进行交互。第二部分是在这个硬件平台上运行的功能软件。在过去的几年里,微电 子技术的迅速发展使得硬件部件的花费降低了很多。这使得,有很多人将一些原来必 须使用软件的部分用硬件实现了出来,软件和硬件的区分也逐渐变得模糊。然而,嵌 入式系统的开发者必须用最短的时限内和最低的花费设计出高性能的系统。最重要的 步骤是根据具体需求将整个系统分为硬件部分和软件部分。在通用p c 平台上作开发, 这种软硬件的划分是很轻松的。但是,基于嵌入式平台,需要考虑很多的因素。例如: 为了提高运行速度和减少任务切换的花费,必须将某些功能用硬件来实现 1 6 - 1 7 】。 3 1 ,1 硬件优先的设计方法 一种设计模型是硬件优先的设计方法。它是一种依靠顺序控制流的做法。图3 1 显示了这种方法的总体示意图。 这种方法的第一步是对整个系统的需求分析,需要仔细考虑功能性、能源消耗、 花费等各个方面。在完成了需求分析以后,就是一个相当关键的步骤软硬件部分 划分。从这个时候起,系统将要被分为软件和硬件两个部分。 ( 1 ) 硬件部分包括系统的硬件平台以及某些用专用硬件( 例如:a s i c 和i p - c o r e s ) 实现的功能模块; ( 2 ) 软件部分是指经过特殊处理过的操作系统( 本文中特指经过裁剪后的l i n u x ) 和建立在操作系统之上的一些功能模块。 第二步是相当重要的一个步骤,它通常是由系统设计师根据自己的经验和直觉来 做的。在这个部分完成以后,就要进行硬件的设计和实现。在硬件部分可用以后,就 可以开始软件部分的实现了。在这个序列化的设计方法的最后一步就是整合与测试, 即将软件和硬件部分融合到一起来评估整个系统的性能。 9 华中科技大学硕士学位论文 图3 1 硬件优先的嵌入式设计模型 非常遗憾的是,利用这种方法设计的嵌入式系统一直到最后一步才能验证系统设 计的正确性。如果存在有不可纠正的错误,整个流程又将重新开始。这样可能会造成 巨大的损失。因此,为了降低设计的风险,没计人员会选择采用已经成熟了的模块, 而不是自己重新设计。与此同时,这种设计方法还有一个很大的缺点就是在硬件部分 可用之前是不能实施软件模块的。 尽管硬件优先的设计模型存在有一些问题。但它依然是一种很流行的方案。在一 些小型和中型复杂度的系统中,由于硬件的复杂度不高,而且技术也比较成熟。通常 都会选择这种方法。但是在一些大型的系统中,这种方法就不是很适宜了,需要更先 进的设计模型。 3 1 2 软硬件协同设计方法 这种方法的第一步需要用形式化的方法对系统的需求进行描述。有几种方法可 以采用:p e t r i 网、数据流图以及状态机。这种设计方式试图利用这些数学上的推理方 法来对系统行为做一个全面的描述。在对系统进行形式化的描述以后,就可以将系统 分解为一些功能模块,每个模块都实现整体功能的一部分。 在第一步中得到的功能模块,既可以用硬件也可以用软件来实现。利用形式化的 方法,我们可以采用最佳的选择。在软硬件划分的过程中,通过各方面的评估,例如: 华中科技大学硕士学位论文 = ;= = = = = = = = = = = = = = = = = = 2 = = = = = = = = = = = = 一: = 时间复杂度、花费估计等,得到一组最佳的选择。在得到了最佳解以后,就是实现各 模块了。但是,这里的实现仅仅只是理论上的,例如:硬件模块用v i - i d l 描述,软件 模块用c 或c + + 语言表示。 图3 2 软硬件协同没计 最后一步就是系统整合了。在这个过程中,将所有的模块组合到一起,然后验证 这些模块的组合是否符合系统的形式化说明。如果不符合,就要重新进行软硬件的划 分。当前的研究热点之一就是对验证算法的理论研究。利用这些理论算法,完全可以 将软硬件的划分和模块的验证发展为自动化的过程。 由于软硬件的划分是基于理论算法的,这样,在设计中可以尽早的暴露问题,以 较少损失。但是这种设计模型也有它的局限性: ( 1 ) 可用的信息是否足够。如果要用形式化的方法描述整个系统,并且正确的 将系统分解为多个功能模块的组合体。设计者需要知道整个系统中的功能描述。但是, 有些第三发的模块,例如:i p c o r e s ( 电路知识产权) ,是没有办法知道它的内部功能 实现的。这种情况可能会导致系统划分过程的不准确; ( 2 ) 软硬件模块互相替换的自由度。在这种设计模型中,将系统分为软硬件模 块后,认为各个模块都是能够互相转换的。即,原先被划分为用硬件实现的模块也可 以用软件来实现,反之亦然。从理论上来看是没有问题的,但是,在实际的应用中确 不能达至这么灵活的理论高度。 在前文的分析中我们介绍了两种较为流行的设计模型。它们分别是硬件优先和软 1 l 华中科技大学硕士学位论文 硬件协同设计这两种模型。硬件优先设计模型中,要求先根据具体的需求设计出硬件 平台,然后在这个平台的基础上进行软件开发。通常,硬件平台的开发者还要提供相 应的操作系统。在另外一种设计模型中,可以利用一些理论算法来对划分的软硬件模 块进行验证。这两种模型并非完美,它们都有各自的优缺点。但这并不妨碍它们的流 行程度。 事实上,业界中还有一些其它的设计方式。例如:利用模拟器进行设计的方法。 在这里就没有必要一一列举了。在s e c u r i t y a n y w h e r e 系统中,底层的安全设备节点在 嵌入式设备中实现。我们采用的是硬件优先的设计模型。这是根据实际情况做出的选 择。主要考虑到我们的安全模块功能要求比较明确,对硬件平台的要求也不是很高。 采用各方面技术比较成熟的硬件优先设计模型,利用提供的硬件平台,还可以加快我 们的开发过程。 在本文中,嵌入式系统的设计将会集中在l i n u x 操作系统的裁减和安全功能模块 的实现,而不关注硬件的具体实现。 3 2 利用l i n u x 构建嵌入式开发环境 3 2 1 启动引导器0 3 0 0 tl o a d e r ) 启动引导器,又称为引导加载程序,是系统加电后运行的第一段软件代码。在 普通p c 的体系结构中,引导加载程序由主板上的b i o s ( 其本质就是一段固件程序) 和位于硬盘m b r 中的o sb o o tl o a d e r ( 比如,l i l o 和g r u b 等) 一起组成。 b i o s 在完成硬件检测和资源分配后,将硬盘m b r 中的b o o tl o a d e r 读到系统的 r a m 中,然后将控制权交给o sb o o tl o a d e r 。b o o tl o a d e r 的主要运行任务就是将 内核映像从硬盘上读到r a m 中,然后跳转到内核的入口点去运行,也即开始启动 操作系统。 而在嵌入式系统中,通常并没有像b o s 那样的固件程序。因此整个系统的加 载启动任务就完全由b o o tl o a d e r 来完成。一般来说,嵌入式系统的c p u 在上电或 复位时通常都从地址o x 0 0 0 0 0 0 0 0 处开始执行,而基于该c p u 构建的嵌入式系统都 会有某种类型的固态存储设备( 比如:r o m 、e e p r o m 或f l a s h 等) 被映射到这个 预先安排的地址上。而在这个地址处安排的通常就是系统的b o o tl o a d e r 程序。因此 在系统加电后,c p u 将首先执行b o o tl o a d e r 程序。图3 3 是典型的嵌入式系统的空 间结构配置图。 华中科技大学硕士学位论文 图3 3 嵌入式系统空间配置图 大多数b o o tl o a d e r 都包含两种不同的操作模式:”启动加载”模式和”下载”模式。 启动加载( b o o tl o a d i n g ) 模式:这种模式也称为”自主”( a u t o n o m o u s ) 模式。也即b o o t l o a d e r 从目标机上的某个固态存储设各上将操作系统加载到r a m 中运行,整个过 程并没有用户的介入。这种模式是b o o tl o a d e r 的正常工作模式,因此在嵌入式产品 发布的时候,b o o tl o a d e r 显然必须工作在这种模式下。 下载( d o w n l o a d i n g ) 模式:在这种模式f ,目标机上的b o o tl o a d e r 将通过串 口连接或网络连接等通信手段从主机( h o s t ) 下载文件,比如:下载内核映像和根文 件系统映像等。从主机下载的文件通常首先被b o o tl o a d e r 保存到目标机的r a m 中,然后再被b o o t l o a d e r 写到目标机上的f l a s h 类固态存储设备中。b o o t l o a d e r 的这种模式通常在第一次安装内核与根文件系统时被使用;此外,以后的系统更新也 会使用b o o tl o a d e r 的这种工作模式。工作于这种模式下的b o o tl o a d e r 通常都会向 它的终端用户提供一个简单的命令行接口。 像b l o b 或r e d b o o t 等这样功能强大的b o o tl o a d e r 通常同时支持这两种工作 模式,而且允许用户在这两种工作模式之间进行切换。比如,b l o b 在启动时处于正 常的启动加载模式,但是它会延时1 0 秒等待终端用户按下任意键,将b l o b 切换到 下载模式。如果在1 0 秒内没有用户按键,则b l o b 继续启动l i n u x 内核。 从操作系统的角度看,b o o tl o a d e r 的总目标就是正确地调用内核来执行。另钋, 由于b o o tl o a d e r 的实现依赖于c p u 的体系结构,因此大多数b o o t l o a d e r 都分为 s t a g e l 和s t a g e 2 两大部分。依赖于c p u 体系结构的代码,比如设备初始化代码等, 通常都放在s t a g e l 中,而且通常都用汇编语言来实现,以达到短小精悍的目的。而 s t a g e 2 则通常用c 语言来实现,这样可以实现复杂的功能,而且代码会具有更好的可 读性和可移植性。 b o o tl o a d e r 的s t a g e 通常包括以下步骤( 以执行的先后顺序) : ( 1 ) 硬件设备仞始化; 华中科技大学硕士学位论文 ( 2 ) 为加载b o o tl o a d e r 的s t a g e 2 准备r a m 空间; ( 3 ) 拷贝b o o t l o a d e r 的s t a g e 2 到r a m 空间中; ( 4 ) 设置好堆栈; ( 5 ) 跳转到s t a g e 2 的c 入口点。 b o o tl o a d e r 的s t a g e 2 通常包括以下步骤( 以执行的先后顺序) : ( 1 ) 初始化本阶段要使用到的硬件设备: ( 2 ) 检测系统内存映射( m e m o r ym a p ) ; ( 3 ) 将k e r n e l 映像和根文件系统映像从固态存储设备( 例如f l a s h ) 上读到 r a m 空间中; ( 4 ) 为内核设置启动参数: ( 5 ) 调用内核。 b o o tl o a d e r 是整个系统的入口。没有好的b o o tl o a d e r 就不能正常的引导系统。 虽然没有通用的b o o tl o a d e r ,但是只要根据具体的硬件做相应的修改,应该是能够得 到满意的结果的。 3 2 2 交叉编译环境 在现代的普通p c 桌面开发环境中使用了非常复杂的转换技术,源代码一般都不 会被直接转换成可加载的二进制形式。功能强大的编译工具首先把源代码转换成可重 载的模块,而复杂的链接器会动态的合并这些模块并把它们映射到特定的内存地址 中。因而,对于开发者来说,根本没有必要了解幕后的复杂性,开发工具总是会为高 度标准化的硬件环境产生代码。开发人员只需要选择需要的可执行文件或动态链接库 就可以了。这些非常成熟的开发工具在给开发人员带来了巨大的方便的同时也需要大 量资源的支持,例如:大容量存储器等。 图3 4 开发环境示意图 1 4 华中科技大学硕士学位论文 雨嵌入式开发确并非如此简单的可以建立开发环境。首先:嵌入式系统运行在独 一无二的硬件上,而这些硬件又没有一个完全统一的标准,所以开发人员必须指示开 发工具如何为特定的硬件编译源代码。第二:嵌入式设备往往没有足够的资源能够提 供编译和开发的环境,通常是在一台开发机( 称为宿主机) 上做开发工作,然后用某 种通讯手段将二进剖映像传送到目标机上运行。 通常,程序是在一台计算机上编译,然后再分布到将要使用的其他计算机上。当 主机系统( 运行编译器的系统) 和目标系统 启动引导代码版本信息 n e e d u p d a t e ,4 字节一 存放是否需要升级标志 u p d a t e c o u n t ,4 字节 本次升级下载的次数 m a c l a n ,6 字节; l a n 端口的m a c 地址 m a cw 州,6 字节 w 久n 端口的m a c 地址 t f t pf i l e n a n a e ,2 4 字节 下载的文件名字 d o w n l o a da d d r , 4 字节 下载的文件存放到f l a s h 的地址 d o w n l o a dl e n g t h ,4 字节一 下载文件的长度 m y 毋4 字节 本机的母地址 n e t m a s k ,4 字节 子网掩码 g wi p 4 字节- 默认网关口 s e r v e r 哦4 字节_ 服务器口 r e v e r e d ,1 6 字节 保留 ) 在这个参数结构中,存放了一切我们需要的数据。如:网络配置、服务器地址、 要下载的文件名、文件的长度以及将下载的文件存放到f l a s h 的哪个地址。有了这些 重要的信息,就可以实现自动升级的功能。需要做的工作包括两个方面: 修改启动协议。让b o o t l o a d e r 在调入操作系统核心前的最后一步中检查参数区 域中的标志位,看是否需要升级系统。如果需要升级,就利用t f t p 协议将更新后的 程序下载到固定的s d r a m 地址0 x 8 0 5 0 0 0 0 0 中去。当整个文件下载完了以后,调用 f l a s h 的读写程序,将固定r a m 地址中的文件写入到f l a s h 分区的固定地址上去。然 后重新启动整个系统,就完成了整个系统的更新过程。在b o o tl o a d e r 启动操作系统 的过程中,由于可利用资源的有限。不能使用建立在t c p 基础上的f t p 这样的大型 协议。因此,采用以u d p 为传送协议的t f t p 协议作为下载文件的工具。t f t p 是一 个传输文件的简单协议。此协议设计的时候是进行小文件传输的。因此它不具备通常 2 l 华中科技大学硕士学位论文 的f t p 的许多功能,它只能从文件服务器上获得或写入文件,不能列出目录,不进行 、认证,它传输8 位数据。由于t f t p 协议小巧灵活,占用资源极少,在很多嵌入式设 备中都利用它作为传送文件的标准方法。但是,也正是因为它的简单,它没有提供可 靠性保障
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广东创新科技职业学院高职单招职业适应性测试历年(2019-2024年)真题考点试卷含答案解析
- 2025年山东力明科技职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 2025年宣化科技职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 2018交通安全日课件
- 2025年安徽涉外经济职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 2025年天津电子信息职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 剖腹产后护理查房
- 230个成语典故230个历史人物
- 自身免疫性肝炎护理常规
- a-letter-home课件教学课件
- H3C新员工文化培训报到指引(201607期)
- 第十章痰液检查课件
- 《融媒体实务》教学课件(全)
- 牛津译林版六年级下册英语期中检测试卷+答案
- 2023学年完整公开课版《认识洗衣机》
- 热力管道装置工程施工记录表
- 特殊过程焊接工艺确认
- GB/T 8411.3-2009陶瓷和玻璃绝缘材料第3部分:材料性能
- GB/T 4857.17-2017包装运输包装件基本试验第17部分:编制性能试验大纲的通用规则
- “两区三厂”专项施工方案
- 汽车消声器设计课件
评论
0/150
提交评论