(电子科学与技术专业论文)嵌入式linux及vpn的开发研究.pdf_第1页
(电子科学与技术专业论文)嵌入式linux及vpn的开发研究.pdf_第2页
(电子科学与技术专业论文)嵌入式linux及vpn的开发研究.pdf_第3页
(电子科学与技术专业论文)嵌入式linux及vpn的开发研究.pdf_第4页
(电子科学与技术专业论文)嵌入式linux及vpn的开发研究.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(电子科学与技术专业论文)嵌入式linux及vpn的开发研究.pdf.pdf 免费下载

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

文档简介

浙江大学硕士学位论文 第一章绪论 随着计算机技术的发展,嵌入式系统已成为计算机领域的一个重要组成部 分,并成为近年来新兴的研究的热点。嵌入式操作系统产业关联度大,市场前景 好发展嵌入式软件将有利于增强企业持续创新能力。其中,l i n u x 由于自身的 优良特性,几乎是天然地适合作为嵌入式操作系统。l i n u x 的主要优势在源 码开放,没有版税;功能强大,稳定,健壮:非常优秀的网络功能,图像,文件 管理功能,以及多任务支持功能;可定制性;有成千上万的开发人员支持:有大 量的且不断增加的开发工具 4 5 】。基于以上原因使得l i n u x 成为很适合嵌入式 开发的操作系统,嵌入式领域将是l i n u x 最大的发展空间。 随着计算机网络日益深入人们的日常生活和工作,人们已经不仅仅局限于 分立地使用内部专用网络和公共互联网络,而是要利用i n t e r n e t 技术建立企业 自己的内部网( i n t r a n e t ) 。社会网络化和网络社会化的趋势日益明显,因而不 可避免地带来了一些问题,其中最为突出的就是安全问题。防火墙和虚拟专用网 ( v p n ,v i r t u a lp r i v a t en e t w o r k ) 就是两种常见的建设安全的企业内部网的安全 技术。防火墙技术实现了在内部网络间的访问控制,从一定程度上保证了内部网 的安全。但是,随着内部网的规模不断扩大以及地理位置的分散化必然导致整个 企业网络物理上的分布化,即由简单的本地局域网或局域网连接发展为远地局域 网连接,与此同时,还要保证整个企业网络的逻辑集中性和安全性。连接远程网 络最直接的方法就是使用专线,但问题很多,最主要的如费用昂贵、维护困难、 接入点的选择不灵活以及多节点连接的困难等。这时v p n 就成为了一种解决这 种矛盾的很好的选择。v p n 即为采用t c p i p 安全技术,借助现有的i n t e r n e t 网络环境,在公共网络信道上建立逻辑上的企业( 这里的企业是一个广义的概念, 可以指公司、机构、组织等) 专用网络。v p n 的经济性、技术上的优势性使之 成为了网络技术中研究的热点 3 7 3 8 1 。 本论文构造了一个l i n u x 嵌入式操作系统,将它嵌入在一块小型芯片上的 8 m 的d i s k o n c h i p 中,并在这个系统和其他l i n u x 操作系统上用i p s e e 技术实现 了一个v p n 的简单网络模型。我们的系统实现了正常启动、运行并支持基本的 网络功能;用i p s e c 技术建立了虚拟的通信隧道,即为v p n 的简单网络模型。 1 1 嵌入式操作系统及其发展现状 嵌入式设备是指具有计算机功能,但又不称为计算机的设备或器材,它几乎 包括了我们周围的所有电器设备:p d a 、手机、机顶盒、汽车、微波炉、电梯、 安全系统、自动售货机、医疗仪器、立体音响、自动取款机等。和通用计算机不 同,嵌入式系统是针对具体应用的专用系统,一般具有成本敏感性,它的硬件和 软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现 更高的性能。好的嵌入式系统是完成目标功能的最小系统 6 1 1 7 1 。 塑垩查兰堕主堂垡丝奎 1 1 1 嵌入式操作系统概述1 1 0 】 嵌入式系统( e m b e d d e ds y s t e m s ) 可以定义为:以应用为中心的、以计算机技 术为基础,软件,硬件可裁剪,适应于应用系统,对功能,可靠性,成本,体积, 功耗严格要求的专用计算机系统。这个定义不太好把握,还有一种观点认为:如 果一个应用没有用户界面,用户不必直接干预机器的运行,这样的应用就可以称 为嵌入式系统。这样的系统因为用户不能直接与系统进行交互而必须是嵌入式 的。这个定义虽然简单直观,但也不能绝对化。例如,电梯的控制通常被认为是 嵌入式的,但是却有“按键”和“指示灯”这些交互式设备。又例如,联网的嵌 入式系统通常也包含监视和控制器这些交互式设备。在软件角度可以根据下面几 个持征来判断一个系统是否嵌入式系统。 嵌入式系统应用程序的操作接口只对程序有效。而非仅对键盘和显示 器。 越来越多的嵌入式系统都要求它的系统软件有高实时性和多任务功能。 即要求有实时多任务操作系统( r e a lt i m em u l t i t a s ko p e r a t i o ns y s t e m ) 的 支持。 要求系统软件的高效性,健壮性。 嵌入式系统的软件一般都是固化在存储器芯片或单片机本身,而不是存 储在磁盘中。既嵌入式系统没有磁盘。 简单的嵌入式系统一般并不使用操作系统,只包含一些控制流程,但是当嵌 入式系统所提供的功能复杂化之后( 如:图形用户界面和网络支持等) ,简单的流 程控制就不能满足系统的要求,这时就必须考虑使用操作系统做系统软件。这时, 嵌入式操作系统( e m b e d d e d0 p e r a t i o is y s t e m ,e o s ) 就应运而生。 随着e o s 的广泛应用,业界已推出一些应用比较成功的e o s 产品。随着各种 应用的出现,e o s 也从单一的弱功能向高专业化的强功能方向发展,归纳起来 e o s 应该有以下几个特点:小的系统内核;较强的实时性,多任务功能;能够提 供各种设备驱动程序;提供图形界面:提供t c p i p ,p p p 等协议支持。 1 1 2 嵌入式操作系统设计中的几个问题1 1 1 】 一个好的嵌入式设计应该满足以下几点:使用相关计算机的技术使嵌入的系 统获得很好的性能价格比;能很好地与被嵌入系统相匹配;在满足被嵌入系统功 能的前提下尽可能简单大的系统开销。 从某种意义上说操作系统是计算机的一个扩展它赋予了计算机更多的 功能;从另一个角度看,操作系统也是计算机系统的资源管理者。因此,在嵌入 式操作系统中,内核的最小构成也应包含下列各部分: 1 任务调度 在当前的嵌入式应用中,待别是对一个复杂的嵌入式应用而言,用单 塑垩查兰堡圭堂垡笙塞 任务来实现是不可能的,而只能采用多任务实现,因此任务调度策略的优 劣是至关重要的;虽然有各种各样的任务调度方法,但概括起来可以分 为优先级调度、轮转调度、时间片调度3 种。优先级调度又可以分为2 种:优先级抢占和优先级不抢占。优先级抢占是指当有高的优先级进程被 激活后,则立即终止当前运行的进程,使其抢占c p u 运行。优先级不抢占 是指当有高的优先级进程被激活后,并不立即终止当前运行的进程使其抢 占c p u ,而是将其放到进程就绪队列中,在当前运行的进程结束后,从进 程就绪队列中选择优先级最高的进程运行。轮转调度是进程管理者按照一 个固定的时间间隔让就绪进程轮流运行。时间片调度是根据每个进程各自 的实际情况在不同数量的单位时间的时间片内运行。 在一般的操作系统中,固定采用其中的1 种或几种方法进行任务调度。 例如在u n i x 和l i n u x 中,采用了优先级不抢占、轮转和时间片3 种方法, 而在实时操作系统中,优先级抢占则是必不可少的。 无论是在一般的操作系统中还是在嵌入式操作系统中,任务调度都是 操作系统的核心。在嵌入式操作系统设计中,很难明确地说哪一种方法比 其它方法更好,而要根据被嵌入的实际系统的需求进行优化选择。由于线 程的切换速度快于进程的切换速度,因此,在实时嵌入式应用中,多采用 单进程多线程调度来提高实时性。在嵌入式操作系统中一般都配有上述3 种调度算法的库函数,以满足不同用户的不同需求。在用户开发完自己的 应用系统后,没有使用到的代码是不会被连接到最终系统中的,这一点是 与一般的操作系统非常重要的区别。一般的操作系统则是将所有有关代码 都加载到计算机系统中,而不论应用时是否会使用这些代码。 在实时嵌入式应用中还有种调度方法,即期限( d e a d l i n e ) 调度法。 这种调度方法是设法保证每一个进程( 或线程) 能在它的期限之前被调度 执行完,这种方法目前正在研究之中。 2 存储管理 一般操作系统的存储管理非常复杂,虚拟管理被广泛地使用,简单 地说虚拟存储器管理就是通过操作系统对内存和外存的管理,可以使应用 程序获得比计算机实际内存更大的编址空间,使每一个应用程序都可以享 有一个独立的虚拟存储空闻程序访问的地址是虚拟地址,操作系统通过 段、页管理完成虚拟地址到物理地址的转换和页面的换入换出,同时管 理和维护各应用程序之间共享的存储空间。这样各应用程序被分隔在各自 的地址空间运行,不致相互干扰。 嵌入式操作系统的存储管理通常比较简单。在具体的嵌入式应用 中,进程( 或线程) 的数量和各自可能使用的内存容量是可以在开发时预测 的,因此嵌入式操作系统通常采用静态内存分配。尤其是在实时嵌入式应 用中,如果采用虚拟存储技术,因为页交换的时间不可预测,所以是不可 取的。对于动态内存分配通常的做法也是从缓冲区中动态分配一块固定大 浙江大学硕士学位论文 小的内存,在使用完毕后就释放。一般地说,嵌入式操作系统的存储管理 没有垃圾收集的功能。在一个复杂的应用系统中,可能会有几种情况的组 合,应视具体情况处理。例如,在一个有多个处理器,且既有硬实时应用, 又有软实时应用和非实时应用的嵌入式系统中设计时可以在硬实时部分 采用静态内存分配,软实时部分采用动态内存分配,而在非实时部分采用 虚拟存储技术,并且使这三种应用分别运行在不同的处理器上。 在内存分配的策略上,嵌入式操作系统强烈地依赖于实际的被嵌入 系统。个通用嵌入式操作系统可以提供几种分配策略,而用户在开发自 己的实际系统时可以选择,这就再次强调了前文提到的嵌入式操作系统的 可裁剪性。 存储管理的另一个重要特性就是内存保护。在般的操作系统中, 每个应用程序都有自己的地址空间不能任意访问其它应用程序的地址空 间。这样,当个应用程序崩溃时,不会对其它程序产生影响尽管存储 器芯片价格已经很便宜,但因受应用环境的限制,不能大量使用存储器, 这时嵌入式操作系统的代码量就受到严格限制。例如有的嵌入式操作系统 只有几k b ,使其在处理内存保护方面就非常薄弱,这样的嵌入式操作系 统一般应用于一些即使系统崩溃,也不致造成重大损失的领域,例如手持 式电话。但某些嵌入式应用则对内存保护有非常严格的要求,例如在武器 系统中,就要求嵌入式操作系统具有内存保护的功能。 3 中断 计算机系统接受事件有二种方法:查询和中断。在多任务操作系统 中,由于采用查询方式处理事件或i 0 请求会消耗大量的系统资源一c p u 时间。因此无论在一般的操作系统还是嵌入式操作系统中都采用中断方式 来处理事件或i 0 请求。 在操作系统中,中断是同中断处理程序联系在一起的。以i 0 操作 为例,一般的过程是:任务a 发出i 0 请求后被挂起操作系统切换到 其它任务运行一i 0 设备完成相应的操作并发出中断请求操作系统 调用相应的中断处理程序解挂任务a 。 在嵌入式操作系统中,对中断处理十分重视,可以说多数嵌入式操作 系统都是事件驱动的。在嵌入式操作系统中,中断处理程序引发的任务切 换如下所示: 任务a 运行响应中断并执行中断处理程序,切换到任务b 任务 b 运行退出后,切换到任务a 任务a 继续运行在中断处理程序( i s r ) 中仅执行一些必要的状态转换,对于事件的真正处理则利用中断任务( 如 上述的任务b ) 完成。这样使得中断处理程序的运行时间尽可能短,以便 系统可以处理其它中断事件。同时,在i s r 中不能执行有关信号量的操作。 因为i s r 具有最高优先级,如果在i s r 中执行了信号量操作而被挂起,则 整个系统将会死锁。在中断处理上,一般的操作系统与嵌入式操作系统的 浙江大学硕士学位论文 不同之处是现场保护。一般的操作系统的中断现场保护是由操作系统来完 成的,在中断处理完成之后,也由操作系统恢复现场。在嵌入式操作系统 中,有时由于受到代码量的限制,中断现场的保护往往由中断处理程序来 完成。 在中断处理程序的入口要保护在中断处理程序中用到的寄存器,在中 断处理完成后恢复。这样一方面减少了代码量,另一方面提高了中断响应 时间,但是却损失了系统的安全性,同时也增加了调试的难度。这是在嵌 入式操作系统的设计中应该予以关注的问题。 4 操作系统与用户的接口 操作系统提供给用户使用的有二类接口。一类是人机界面,无论是 视窗形式还是命令行形式,这个接口确切地说并不能做为操作系统的一部 分,而仅仅是操作系统的一个外壳,这个界面是为了方便用户使用操作系 统,而这个接口在嵌入式操作系统中是不存在的。这里要讨论的是另一个 接口,操作系统提供给用户开发自己的应用程序接口( a n ) ,也就是系统调 用。无论是一般的操作系统还是嵌入式操作系统都应具有这个接口。每一 个操作系统提供的系统调用的功能和种类都不同,当然,对于一个操作系 统来说,它提供的系统调用越多则功能越强,对于应用程序的开发,也 就越能提供高效而简单的支持,同时也会减少应用程序的维护量。相反, 一个操作系统的系统调用越少越单一,那么应用程序相对就要做更多的工 作,应用程序也就越复杂。为了适应不断复杂的应用程序开发的需求,操 作系统中设计的系统调用也就越来越多,越来越复杂功能越来越强大。 但是这一规律并不适用于嵌入式操作系统,嵌入式操作系统的应用领域非 常广,简单的可以应用在调制解调器上,复杂的可以应用在卫星地面通信 接受站。这就决定了嵌入式操作系统所提供的系统调用的数量和功能是因 应用不同而不同的。尽管前文提到的可裁剪性是嵌入式操作系统的一个非 常重要的特性,但是任何一个嵌入式操作系统都不可能从具有各种完善功 能、代码达几百k b 的操作系统,裁剪到只具有实时调度和信号量操作的 几k b 代码。所以嵌入式操作系统只能面向实际的被嵌入系统的具体需求, 确定系统调用,以便达到在提供最有效的系统调用的同时具有最小的代码 量。 最后,在系统调用的形式上要提到p o s i x 。由于各个操作系统提供 自己的系统调用,其类型、功能和调用格式各不相同,这样给应用程序的 移植带来了很大困难。p o s i x 标准的提出正是试图解决这一问题。p o s i x 试图定义一些标准的系统调用接口和功能,尽管备个操作系统的实现方式 各不相同。p o s i x 是以类l i n u x 为基础开发的,同时,它试图将实时和非 实时的情况统一化,这样就丧失了一定的效率和增加了代码量,所以有些 操作系统在提供p o s i x 兼容的系统调用的同时,也提供了非p o s i x 兼容的 浙江大学硕士学位论文 系统调用。 1 1 3 几种嵌入式操作系统的比较 目前市场上流行的,使用最多的e o s 产品包括有:w i n d o w sc e , w i n d o w 5 n te m b e d d e d4 0 ,l y n x ,v x w o r k ,n e c u l e u s ,p o w e r t v 公司的p o w e r t v 0 5 , 3 c o m 公司的p a i m0 s ,m i c r o w a r e 公司的d a v i d 和o s 一9 ,i s i ( h i 日r 蔗酣s y s t e m s i n c ) 公司的0 s e k w o r k s 和p s o s y s t e m 等。除了商业化的操作系统外还有一 些非商业化的嵌入式操作系统可以便用,其中嵌入式l i n u x 将成为完全可以和 w i n d o w s c e 等e o s 相抗衡的o s 8 9 1 。 w i n d o w sc e 。w i n d o w sc e 是一种3 2 位的多任务操作系统,它经过压缩, 可以移植,能够开发多种企业和客户类设备。由于其是微软公司的“维 纳斯计划”的核心,包含了i n t e r n e te x p l o r e r 的版本,可以和i n t e r n e t 实现连接、同步交换信息。如果开发者能熟悉w i n d o w s 开发环境,可以 基于w i n d o w sc e 开发出很好的应用程序。 l y n x 。当今3 2 位贰处理机均可用于台式机和工业计算机市场,垂将其电 路的3 0 一5 0 都用于存储器管理部件( 脚u s ) 。但是大部分实时操作系 统产品没有利用这个关键技术导致在m m u 硅片以浪费功率而告终。只 有l y n x 0 s 充分利用了这些高性能的c p u 提供高度集成的基于删u 的存 储器保护和虚拟寻址,加上过硬的实时内应,具有高可取性和优良的性 能。l y n x o s 为应用软件提供可取的处理环境( r p e ) 。在这环境下,基 于硬件的高速存储器管理,提供更加安全和过硬的应用性能。可取的处 理环境采用由l y n x 0 s 提供的全部存储器管理部件支持,保证应用起来 不受其他系统及应用软件部分( 甚至o s 本身) 的误码或数据的干扰。 v x w o r k 。v x w o r k 是w i n dr i v e rs y s t e m 公司开发研制约一种高性能的嵌 入式实时操作系统。它包括了操作系统本身和其集成开发环境。v x w o r k 以其优良的可靠性、开放性、实时性和易用性赢得了大量的客户。 p o w e r t v 0 5 。p o w e r t v 操作系统也是一套占有很大市场份额的操作系统, 是一个高级可缩放的实时操作系统,为网络操作员和应用开发人员提供 了广泛的功能和更高的需求,它还可允许动态扩展和升级,以便提供新 特性来适应市场需求。 p a l mo s 。p a l m o s 是一种专为掌上设备设计的3 2 位操作系统,它运行在 一个抢占式的多任务内核之上。同一时刻用户界面仅仅允许一个应用程 序被打开,这个被打开的程序将控制整个屏幕,应用程序始终运行在单 用户界面进程上:也就是说,它们不允许所谓的啪i ( 多文档接口) 存在, 所有的程序必须以s d i ( 单文档接口) 的形式存在。与w i n d o w s c e 相比, p a l m 0 s 显然更为紧凑。 d a v i d ,0 s 9 。o s 一9 是一个实时的,多用户的,多任务的商业化操作系统。 它使用模块化设计,允许通过增加设备文件增加新的设备。它所有的i 0 输入输出设备都被当作文件来管理,这与基于i 0 的系统区别很大。同 时,内核和用户程序都可放在r 伽上面。因此,o s 一9 可以在基于6 8 0 x 0 的所有计算机上运行,包括无盘的嵌入式控制系统和多用户的服务器。 浙江大学硕士学位论文 d a v i d 是调整o s 一9 0 s - 2 0 0 0 使之用于s t b 市场的产品。d a v i d 与众不同 的一个地方在于它总是包含了一个i o 的子系统:s p f ,梯形协议文件管 理;m p f m ,图片文件管理;m a u i ,多媒体用户界面;s c f ,连续字符文件管 理。和所有的o s 一9 系统一样,d a v i d 必须和其他文件管理一起使用。 p o s e k 和p s o s 。p s o s y s t e m 是一个模块化,高性能,内存保护模式的实 时操作系统,它特别适用于嵌入式的微处理器。o s e k w o r k s 是一个基于 o s e k v d x 标准的塑用性广的实时操作系统。完整的实时组件应包括内核 系统,传输能力和网络管理功能。o s e k w o r k s 可以实现高性能的嵌入式 应用。 j i n i 。j i n i 是建立在j a v a 基础上的系统,最大的特点是独立于平台之 上,可以“一次编程、到处执行”,它可以实现传统的和非传统的联网 器件间的相互对话。 q n x 。q n x 是q u a n t u m ns o f t w a r es y s t e m 公司研制的基于p c 的实时多任 务的、可扩展的操作系统,它具有微内核结构,用户可根据需要选择其 中一些组件来定制操作系统。 h o p e n 。国内开发的h o p e n 是一个按嵌入式系统要求设计的操作系统, 它是由一个很小的内核及一些根据需要进行定制的系统模块组成。该系 统在处理中文及联网方面都很有特色。 l i n u x 。l i n u x 由于它作为服务器操作系统,其功能的增强已引起了业界 的注意。l i n u x 也逐渐应用于工作站及桌面p c 。同样,l i n u x 以也因为 它服务器0 s 的特性而成为下一个智能型嵌入式设备的理想操作系 统。 1 1 4 嵌入式系统的发展趋势 i n t e r n e t 功能成为必然趋势 随着二十一世纪的来临、全球化的趋势越来越明显、i n t e r n e t 作为 获取信息的便捷手段,已逐渐被人们所共识。另外,未来i n t e r n e t 接 入设备将呈现多元化的特征,因此嵌入式操作系统作为嵌入式i n t e r n e t 接人设备的灵魂必然向完善的i n t e r n e t 支持方向发展,并随着 i n t e r n e t 的发展而发展。 s o c ( s y s t e mo nc h i p ) 随着微电子技术的快速发展,软件硬件的紧密结合,s 0 c 将成为趋 势这不仅能降低成本、缩小产品体积,还可以增强产品的可靠性。 无线互联 近几年来,无线互联已成为发展的主流,全球知名厂商纷纷推出自 己的天线互联的解决方案。嵌入式设备,特别是消费电子类产品,具有 很强的移动性,所以嵌入式操作系统对于无线匿联的支持显得尤为重 要,以实现任何人在任何地方任何时间获取任何信息。 个性化与标准化并存 由于嵌入式设备种类繁多、千差万别,因而具有很强的个性特征。 嵌入式操作系统为了满足这些需求,必须在个性化和标淮化之间达到平 衡以实现最优。 塑坚查兰堡主堂垡堕壅一一 嵌入式操作系统产业关联度大,市场前景好发展嵌入式软件将有利于增强 企业持续创新能力,有利于刺激消费,有利于培植新的经济增长点。中国有巨大 的市场需求,有从事操作系统方面的开发队伍,中国企业呼唤中国的操作系统。 儿 1 2 1 3 1 2 嵌入式l i n u x 操作系统的概述 嵌入式l i n u x 由于代码开放性以及强大的网络功能,在中焉端的嵌入式网络 设备中的应用,比起p s o s 、v x w o r k s 有许多优势。l i n u x 现在甚至支持蓝牙技 术。开发嵌入式l i n u x 产品从产品上市时间到产品系列化,除人员以外所需的 投入均较少。相对于w i n d o w sc e 、q n x 以及国内的h o p e n 等嵌入式操作系统, 嵌入式l i n u x 以其特有的开放性、与生俱来的网络特性格成为嵌入式操作系统的 主流之一。 1 4 1 5 1 2 1 嵌入式l i n u x 系统的优势所在 1 充分满足硬件设备的实时性要求 严格要求的实时性的决定因素与中断例程本身和内核中的其他驱动程 序有关;而响应延迟时间主要受中断的优先级和其他进程暂时她关闭中断响应的 影响。因此管理和驱动中断的机制必须保证实时要求。根据这个要求,大多数嵌 入式系统并不具备严格的实时性,而w i n d o w sc e 基本上不具备实时性的特点。 但是,嵌入式l i n u x 可以很好得满足实时性要求。对i n t e lx 8 6 处理器,实时扩充 可以在l i n u x 系统中很容易进行,r t - - l i n u x 就是很好阿例子它主要是把l i n u x 的任务作为自己的个任务,因此实时性要求很i 暂的任务不受非实时的l i n u x 的 干扰,可以得到满足。另外还提供了实时任务和l i n u x 的基本核心和其他任务间 的接口。 般情况下,语音通信对实时性的需求是系统在1 - 5 m s 内响应。根据对嵌 入式l i n u x 进行实时性扩充后,完全可以满足要求。但是一般的嵌入式操作系统 的系统响应时间多在百毫秒数量级,而不具备实对特性的w i n d o w sc e 中对崩溃 情况c r a s h e d y e t 则只是达到9 8 的概率下可以在4 s 内响应,只有时间是:2 0 s 以上才能保证一定响应,不适合应用在语音通信当中。 2 具有很高的适应性和可靠性 和其他运行于p c 的系统相比,因为l i n u x 继承了u n i x 优点,在适应和稳 定方面性能是非常突出的。而嵌入式的l i n u x 也是如此。 嵌入式l i n u x 不仅支持x 8 6 芯片,而且是一个跨平台的系统。到目前为止可 以支持二、三十种c p u 。很多c p u 包括家电业的芯片,都开始做l i n u x 的平台 移植工作。移植的速度远远超过j a v a 的开发环境,这是值得注意的。也就是说, 如果今天采用l i n u x 环境开发产品,那么将来换c p u 时就不会遇到困扰。同时, 浙江大学硕士学位论文 嵌入式l i n u x 内核的结构在网络方面是非常完整的。提供了包括十兆、百兆、午 兆的以太网络以及无线网络、t o k e nr i n g ( 令牌环) 、光纤甚至卫星的支持。所以 l i n u x 很适于做通信设备的开发。 此外,高可靠性是嵌入式l i n u x 领先于其他嵌入式操作系统最明显的地方。 采用普通操作系统的程控交换机的可靠性指标一般为9 9 9 8 。而运行嵌入式 l i n u x 的交换设备可靠性指标能够提高一个数量级。l y n u s w o r k s 的b l u e c a t 蓝猫 l i n u x 和操作系统厂商l i n u x o s 就联合推出一种专门应用在电信设备上的嵌入式 l i n u x 。使运行这种l i n u x 系统的电信交换机可靠度达到了9 9 9 9 9 。著名的硬 件生产厂商m o t o r o l a 也推出了使用高性能嵌入式l i n u x 载波级高可靠性嵌入式 计算机平台。并利用这个平台为电信o e m 厂商服务,来生产无线、有线以及互 联网应用产品包括:运行管理维护平台、呼叫服务器、口网关等等。通过 第三方的支持,可靠性预计将达到9 9 9 9 9 可谓万无一失。 3 具有成熟的开发工具。可以跨越i c e 等屏障 开发嵌入式系统的关键是需要一套好用的开发和调试工具,而且在开发岛不 同阶段还需要不同的工具。 传统的开发调试工具就是i c e 一在线仿真器,它取代目标板的微处理器,给 目标程序提供仿真环境,同时可以连接监视器,允许开发者调试和监视程序的运 行。但是,这种设备价格非常贵。如果使用嵌入式l i n u x ,就不用i c e 也可以很 好地开发和调试工作了、同时还降低开发费用。 嵌入式l i n u x 利用g n u 项目的c 编译器来编译程序,使用g d b 源程序级调 试器来调试程序。它们提供了合适的手段来使客户能够开发嵌入式的l i n u x 各 种应用程序。通过串口和g d b 通讯,可以进行c 源程序级的调试。甚至客户还 可以讯串口把其他的程序下装到r a m 或f l a s h 存储器。通过串口,使用g d b 可 以便得软硬件的初始化代码继续运行到核心全部启动。一旦核心运行了,就可以 使用其他的更好的调试工具,象k g 曲等。如果连接了网络,也可让网络工作起 来。同时客户就可以用g u i 的x g d b 来调试应用程序。 4 具有小巧的功能完善的内核 一般说来,需要使用嵌入式操作系统的硬件体积都十分有限,不能像一般的 计算机那样采用海量存储器来进行数据存储。一般是采用软件固化的方法,将程 序和操作系统嵌入到整个产品里面。在这个技术中减少操作系统的体积是关键。 我们不能想象在一个紧凑的硬件设备外面再接一个通用的硬盘或是打算将几十 兆上百兆的操作系统输入到普通的r o m 或者r a m 里面去。因此,对嵌入式系 统来讲:功能和体积是一对互斥事件。 而p s o s 以及其他的一些操作系统,虽然内核只有几十k ,但是要为相关的 产品添加额外的功能,实际应用的时候体积在百k 以上。嵌入式l i n u x 除了本身 体积较少以外,还保留了l i n u x 操作系统中非常有持色的一点:用户可以自己裁 减内核。用户完全可以根据不同的任务来选定特定操作内核模块,而将不用的部 浙江大学硕士学位论文 分去掉,减少体积,从根本上解决了体积和功能的矛盾。 1 3 2 嵌入式l i n u x 系统的发展趋势 l i n u x 由于自身的优良特性,几乎是天然地适合作为嵌入式操作系统。因 为l i n u x 的主要特点是源码开放,没有版税;功能强大,稳定,健壮;非常优秀 的网络功能,图像、文件管理功能,以及多任务支持功能:可定制性;有成千上 万的开发人员支持;有大量的且不断增加的开发工具。基于以上原因使得l i n u x 成为很适合嵌入式开发的操作系统,嵌入式领域将是l i n u x 最大的发展空间。 但是,嵌入式应用涵盖的领域极为广泛,其特点可能也极不相同的。所以说 l i n u x 也不是适合于一切嵌入式应用场合。就其特点来说,l i n u x 适用于高端嵌 入式产品,具体而言之,大略有以下几类:移动计算设备,如h a n d p c 、p a l m p c 及p d a ;移动通讯终端设备,如上网手机;网络通讯设备,如接入盒、打印机 服务器乃至路由器、交换机;智能家电设备,如机顶盒:仿真、控制设备。所以, 各个厂商都不遗余力地把产品重点放在此领域,开发出了很多产品。【1 2 】 1 3 虚拟个人网络( v i r t u a l p e r s o n a l n e t w o r k ) 概述 随着计算机网络日益深入人们的日常生活和工作,人们已经不仅仅局限于 分立地使用内部专用网络和公共互联网络,而是要利用i n t e r n e t 技术建立企业 自己的内部网( i n t r a n e t ) 。社会网络化和网络社会化的趋势日益明显,因而不 可避免地带来了一些问题,其中最为突出的就是安全问题。防火墙和虚拟专用网 ( v p n ,v i r t u a lp r i v a t en e t w o r k ) 就是两种常见的建设安全的企业内部网的安全 技术。 防火墙 防火墙技术是在内部与外部网络间实施访问控制非常有效的一种手段,它可 以简单定义如下:防火墙是逻辑上处于内部网和外部网之间,为确保内部网正常 安全运行的一组软硬件的有机组合。可以认为,在引入防火墙之后内部网和外部 网的划分边界是由防火墙决定的,必须保证内部网和外部网之间的通信经过防火 墙进行,同时还需保证防火墙自身的安全性;防火墙实施内部网安全政策的一部 分,保证内部网的正常运行不受外部干扰。 防火墙技术有两种:过滤技术和代理技术。防火墙的构成则包括进行过滤的 组件和或进行代理的组件。一般而言,一个组建良好的防火墙应该两者兼有。 过滤技术是包过滤技术的简称,顾名思义,过滤技术的处理对象是t c p i p 协议最基本的数据单元:( 数据) 包。其依据的则是预先定义好或是动态实施的 一组安全规则,一般根据i p 地址传输层协议、端口号和有无确认位等参照规则 对进出的包进行检查,决定是转发还是丢弃。 代理技术是使用一台或多台作为整个内部网与外界交互服务的中介,它一般 在应用层实施,面向的是具体服务的细节而不像过滤一样只有连接的概念。代理 的访问控制粒度比过滤技术要细。 、 浙江大学硕士学位论文 可以认为在防火墙中,过滤用来将不需要的和危险的服务屏蔽掉,而代理则 用于对必须使用的服务进行更细粒度的访问控制,即过滤用来保证只提供什么, 而代理则用于保证如何更好地提供。 有效地组合使用过滤和代理技术,就可以建设好的防火墙。防火墙的种类很 多,如屏蔽路由器结构、双穴主机结构、屏蔽主机结构和屏蔽子网结构等。其中 屏蔽子网结构是最常用的一种结构形式,另外还有一些屏蔽子网结构的变体结 构。 v p n 防火墙技术实现了在内部网络间的访问控制,从一定程度上保证了内部网 的安全。但是,随着内部网的规模不断扩大以及地理位置的分散化必然导致整个 企业网络物理上的分布化,即由简单的本地局域网或局域网连接发展为远地局域 网连接,与此同时,还要保证整个企业网络的逻辑集中性和安全性。连接远程网 络最直接的方法就是使用专线,但问题很多,最主要的如费用昂贵、维护困难、 接入点的选择不灵活以及多节点连接的困难等。同时,企业既然已经接入 i n t e r n e t ,却又要使用专线连接内部网,这无疑是一种资源浪费。i n t r a n e t 既 然可以采用i n t e r n e t 的技术( t c p i p ) ,那为什么不能利用i n t e r n e t 所已有的 设施呢? 基于这种想法,v p n 技术出现了。 可以给v p n 下一个简单的定义:采用t c p i p 安全技术,借助现有的i n t e r n e t 网络环境,在公共网络信道上建立的逻辑上的企业( 这里的企业是一个广义的概 念,可以指公司、机构、组织等) 专用网络。 采用v p n 技术的目的是为了在不安全的信道上实现安全信息传输,保证企 业内部信息在i n t e r n e t 上传输时的机密性和完整性,同时使用鉴别对通过 i n t e r n e t 进行的数据传输进行确认。可以看出,这是一种广义的访问控制,即 通过加密实现的访问控制( 只有具有某种权力和知道密码的主体才能访问相应的 客体) 。 为了实现上述功能,实现v p n 的部件必须处于内外部网络的边界处,事实 上可以认为v p n 是对防火墙的功能性延续,可以说,v p n 从逻辑上扩大了内部网, 从功能上扩展了防火墙。 实现v p n 一般是在网络层对数据包进行处理,i e t f 的安全工作组提出的i p 安全选项包括鉴别报头( a u t h e n t i c a t i o nh e a d e r ) 和安全负载封装 ( e n c a p s u l a t i n gs e c u r i t yp a y l o a d ) 为在i p 层实现的各种安全功能如鉴别、 加密等提供了先决条件。 鉴别报头( a h ) 和安全负载封装( e s p ) 分别提供鉴别和机密性服务,根据选择 的具体加密算法,还可能提供不可抵赖等服务。 其中的安全参数索引( s p i ) 是一个重要的概念,它用于指定 i 和e s p 的 安全关联( s e c u r i t ya s s o c i a t i o n ) ,安全关联是一些安全参数的集合。 根据需要,e s p 可以对i p 数据包中的传输层段进行加密保护( 传输模式) , 也可以对整个i p 数据包进行加密保护( 隧道模式) 。 在隧道模式中,发送方对整个i p 包进行加密,并附加一个新的i p 报头, 因此,它在隐藏数据的同时,还隐藏了本数据包源发方的信息。而这,正是提供 了v p n 功能的防火墙所需要的。通过使用隧道模式e s p ,可以在不安全的公共信 道上建立一个安全的i p 隧道,而且不需要内部网其他主机的参与,只需要在内 塑坚查兰堡主兰垡堡苎 一 外部网络的逻辑接口处( 即进行过滤的部件,一般是路由器) 对进出的包进行判 断和处理。 1 3 1v p n 的基本要求 一般来说,企业在选用一种远程网络互联方案时都希望能够对访问企业资源 和信息的要求加以控制,所选用的方案应当既能够实现授权用户与企业局域网资 源的自由连接,不同分支机构之间的资源共享:又能够确保企业数据在公共互联 网络或企业内部网络上传输时安全性不受破坏因此,最低限度,一个成功的v p n 方案应当能够满足以下所有方面的要求: 1 用户验证 v p n 方案必须能够验证用户身份并严格控制只有授权用户才能访问v p n 。 另外,方案还必须能够提供审计和记费功能,显示何人在何时访问了何 种信息。 2 地址管理 v p n 方案必须能够为用户分配专用网络上的地址并确保地址的安全性。 3 数据加密 对通过公共互联网络传递的数据必须经过加密,确保网络其他未授权的 用户无法读取该信息。 4 密钥管理 v p n 方案必须能够生成并更新客户端和服务器的加密密钥。 5 多协议支持 v p n 方案必须支持公共互联网络上普遍使用的基本协议,包括i p ,i p x 等。以点对点隧道协议( p p t p ) 或第2 层隧道协议( l 2 t p ) 为基础的v p n 方案既能够满足以上所有的基本要求,又能够充分利用遍及世界各地的 i n t e r n e t 互联网络的优势。其它方案,包括安全i p 协议( i p s e c ) ,虽 然不能满足上述全部要求,但是仍然适用于在特定的环境。本文以下部 分将主要集中讨论有关v p n 的橇念。协议,和部件( c 删m p o n e n t ) 。 1 3 2v p n 中的隧道技术 隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方 式。使用隧道传递的数据( 或负载) 可以是不同协议的数据帧或包。隧道协议将 这些其它协议的数据帧或包重新封装在新的包头中发送。新的包头提供了路由信 息,从而使封装的负载数据能够通过互联网络传递。 被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由。被封装 的数据包在公共互联网络上传递时所经过的逻辑路径称为隧道。一旦到达网络终 点,数据将被解包并转发到最终目的地。注意隧道技术是指包括数据封装,传输 浙江大学硕士学位论文 和解包在内的全过程。 隧道所使用的传输网络可以是任何类型的公共互联网络,此外,在企业网络 同样可以创建隧道。隧道技术在经过一段时间的发展和完善之后,目前较为成熟 的技术包括: i p 网络上的s n a 隧道技术 当系统网络结构( s y s t e m n e t w o r k a r c h i t e c t u r e ) 的数据流通过企业i p 网络 传送时,s n a 数据帻将被封装在u d p 和i p 协议包头中。 2 i p 网络上的n o v e l l n e t w a r e i p x 隧道技术 当一个i p x 数据包被发送到n e t w a r e 服务器或口x 路由器时,服务器或 路由器用u d p 和坤包头封装i p x 数据包后通过m 网络发送。另一端的 i p t o i p x 路由器在去除u d p 和i p 包头之后,把数据包转发到i p x 目的 地。 近几年不断出现了一些新的隧道技术,具体包括: 点对点隧道协议( p p t p ) p p t p 协议允许对i p ,i p x 或n e t b e u i 数据流进行加密,然后封装在i p 包头中通过企业i p 网络或公共互联网络发送。 第2 层隧道协议( l 2 t p ) l 2 t p 协议允许对i p ,i p x 或n e t b e u i 数据流进行加密,然后通过支持点 对点数据报传递的任意网络发送,如i p ,x 2 5 ,桢中继或a t m 。 安全i p ( i p s e c ) 隧道模式 i p s e c 隧道模式允许对i p 负载数据进行加密,然后封装在i p 包头中通过 企业网络或公共i p 互联网络如i n t e r a c t 发送。 为创建隧道,隧道的客户机和服务器双方必须使用相同的隧道协议。 隧道技术可以分别以第2 层或第3 层隧道协议为基础。上述分层按照开放系 统互联( o s i ) 的参考模型划分。第2 层隧道协议对应o s i 模型中的数据链路层, 使用帖作为数据交换单位。p p t p ,l 2 t p 和l 2 f ( 第2 层转发) 都属于第2 层隧 道协议,都是将数据封装在点对点协议( p p p ) 悔中通过互联网络发送。第3 层 隧道协议对应o s i 模型中的网络层,使用包作为数据交换单位。i po v e r l p 以及 i p s e c 隧道模式都属于第3 层隧道协议,都是将i p 包封装在附加的i p 包头中通 过i p 网络传送。 1 4 研究工作及本论文内容 本论文构造了一个l i n u x 嵌入式操作系统,将它嵌入在一块小型芯片上的 8 m 的d i s k o n c h i p 中,并在这个系统和其他l i n u x 操作系统上实现一个v p n 的 简单网络模型。构建的嵌入式l i n u x 系统将实现在d o c 上的运行及基本的网络 浙江大学硕士学位论文 功能;实现的v p n 网络采用的是i p s e c 协议。 选择l i n u x 作为我们开发嵌入式系统的类型是基于l i n u x 在嵌入式系统中具 有的良好技术优势,代码开放性以及强大的网络功能,在中禹端的嵌入式网络 设备中的应用比其他类型的嵌入式操作系统有更多的优势。i p s e c 是目前唯一一 种能为任何形式的i n t e r n e t 通信提供安全保护的协议,同时,i p s e c 能为周边的 通信提供强有力的安全保障;i p s e c 在传输层之下,对于应用程序来说是透明的; i p s e c 对终端用户来说是透明的等等。i p s e c 作为v p n 的构建技术之一,具 有很大的发展前景。 基于此,我们想要实现的这个方案具有技术上的优势性。同时,我们想要 实现的这个方案与其他的方案相比,具有成本低,市场前景大等特点,使其具 有经济上的优势。我们的方案使用的是比较成熟的技术,不但可以使开发周期 缩短,系统稳定性增强,还能降低成本增加经济上的优势。我们所要实现的系 统及网络,可以做下一步的研究开发的平台或基础,具有较好的研发延续性。 基于以上所述,我们实验的这个方案具有较好的实际意义。 在本论文下面的篇章中将详细介绍各个步骤实现方法及其功能。第二章介 绍了嵌入式操作系统的软硬件平台,对所用到的基本原理进行了介绍。第三章 介绍了v p n 和i p s e c 的基本原理及所用到的基本知识。第四章按步骤详细描述 了d o c 的读取,嵌入式l i n u x 的构造和v p n 网络模型的搭建。 本章是绪论部分,着重介绍了嵌入式系统、嵌入式l i n u x 系统、v p n 的一 些基本概述。最后还提出了本文的主要内容。 浙江大学硕士学位论文 第二章嵌入式操作系统平台 2 i 系统的硬件平台 嵌入式处理器的功耗、体

温馨提示

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

评论

0/150

提交评论