




已阅读5页,还剩48页未读, 继续免费阅读
(管理科学与工程专业论文)支持双协议栈的嵌入式web+server研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
支持双协议栈的嵌入式w e bs e r v e r 研究 摘要 嵌入式i n t e m e t 技术在家电、工业控制等领域得到了广泛的应用,尤其是嵌 入式w e b ) 报务器技术近年来发展迅速。本文以嵌入式家庭网关为背景,研究在 资源有限的低速普通处理器上如何实现支持i p v 4 和i p v 6 的嵌入式w e bs e r v e r 及 其支撑技术。 论文首先分析了嵌入式w e bs e r v e r 的研究状况。在综合比较了现有各种嵌 入式w e bs e r v e r 技术的基础上,从网络接入、发送数据的封装、接收数据的分 析等方面分析了在低速普通处理器上构建嵌入式w e bs e r v e r 的可行性。构建了 基于支持双协议栈嵌入式w e bs e r v e r 的家庭网关的体系结构。结合低速普通处 理器的特点,根据针对嵌入式系统的t c p i p 协议子集划分和协议优化的思想, 设计了一套专门用于嵌入式w e bs e r v e r 的网络协议栈。将t p v 6 协议引入到嵌入 式系统,使得嵌入式w e bs e r v e r 可以运行在i p v 4 和i p v 6 两个协议栈上。根据 嵌入式系统的特点,对嵌入式w e b s e r v e r 的服务器客户端交互进行了研究,分 析了h t t p 协议以及公共网关接口在嵌入式w e bs e r v e r 中的构建。同时,对系统 的安全性进行了探讨。最后,结合以上研究内容,给出了一个基于双协议栈嵌 入式w e bs e r v e r 的应用模型。 关键词:嵌入式w e bs e r v e r ,t c p i p 协议栈,双协议栈 t h er e s e a r c ho fe m b e d d e dw e bs e r v e r b a s e do nd u a ls t a c k s a b s t r a c t e m b e d d e di n t e r n e ti sa b r o a da p p l i e dt os u c hh o m ee l e c t r i ca n di n d u s t r yc o n t r o l f i e l d e s p e c i a l l y ,t h ee m b e d d e dw e bs e r v e ri sd e v e l o p i n gq u i k l y o nt h eb a c k g r o u n d o ft h ee m b e d d e dh o m eg a t e w a y ,t h ee m b e d d e dw e bs e r v e rw h i c hc a ns u p p o r t1 p v 4 a n d 6d u a ls t a c k so nt h e1 0 ws p e e dc p uw i t hl i m i t e dr e s o u r c e sh a sb e e ns t u d i e d t h em a i nc o n t r i b u t i o n so f t h ep a p e ra r ea sf o l l o w a tf i r s t ,t h er e s e a r c ha c t u a l i t yo fe m b e d d e dw e bs e r v e ri si n t r o d u c e d c o m p a r e dw i t ht h ev a r i e t yo fe m b e d d e dw e bs e r v e rt e c h n o l o g y ,t h ef e a s i b i l i t yo f c o n s t r u c t i n gw e bs e r v e r0 1 1l o w s p e e dc p ui sa n a l y s i s f r o mn e t w o r ka c c e s s , e n c a p s u l a t i o no fs e n d i n gd a t aa n da n a l y s i so fr e c e i v i n gd a t a t h ea r c h i t e c t u r eo ft h e h o m eg a t e w a yb a s e do nt h ee m b e d d e dw e bs e r v e rw i t hd u a ls t a c k si ss t r u c t u r e d t h et h i n k i n go fs u b s e tp a r t i t i o na n dp r o t o c o lo p t i m i z a t i o no ft c p i pi sg i v e n t h e i p v 6p r o t o c o li si n t r o d u c e di n t oe m b e d d e ds y s t e m s ot h es y s t e mc a nr u no ni p v 4 a n di p v 6d u a ls t a c k sa n di tw i l lh a v ea b o a r dd e v e l o p m e n tf o r e g r o u n d t h e i n t e r a c t i v e p r o c e s s i n g o fc l i e n t s e r v e ri ne m b e d d e dw e bs e r v e rh a sb e e n s t u d i e d t h ec o n s t r u c t i n go fh t t p p r o t o c o la n dc o l i l f f l o ng a t e w a yi n t e r n c e i s d i s c u s s e d a l s o ,t h es a f e t yo ft h es y s t e mi si l l u s t r a t e di nb r i e f a tl a s t a ne x a m p l e b a s e do nd u a ls t a c k se m b e d d e dw e bs e r v e ri sg i v e nc o m b i n e dw i t ht h e a b o v e m e n t i o n e dr e s e a r c hc o n t e n t k e yw o r d s :w e bs e r v e r , t c p i pp r o t o c o l ,d u a ls t a c k s 图2 1 图2 2 图3 1 图3 - 2 图3 3 图3 4 图3 5 图3 - 6 图3 7 图3 - 8 图3 - 9 图3 - 1 0 图4 1 图4 2 图4 - 3 图4 4 图5 1 插图清单 支持双协议栈的w e bs e r v e r 系统体系结构图9 双协议栈的基本结构10 各层的数据封装1 7 a r p 处理过程19 i p 数据报的一般格式2 0 简化的i p ! g ( 据报格式2 0 口报文的处理流程2 l i c m p 报文的处理流程2 2 t c p 状态机模型2 3 简化的t c p 状态机模型一2 5 i p v 6 报头结构2 7 i p v 6 协议栈方案流程2 9 h t t p 请求报文格式3 1 h t r p 应答报文格式3 3 嵌入式w e b 服务器的组成模块3 3 数据的处理流程3 7 网络空调在家庭网络中的位置f 3 9 i i i 表2 1 表3 - 1 表3 2 表5 1 表5 - 2 表5 - 3 表格清单 i e e e 8 0 2 3 的物理帧格式7 自定义的a r p 缓存表1 7 i c m p v 6 和i c m p v 4 的差错报文比较2 8 不同家电的消息组织方式4 1 不同代码对应的风速4 l 不同方式对应的制式4 1 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。 据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写 过的研究成果,也不包含为获得 金魍王些友坐或其他教育机构的学位或证书而使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明 并表示谢意。 学位论文作者躲朱j 哆 签字嘲椰年钿中日 学位论文版权使用授权书 本学位论文作者完全了解金a b 工些盍堂有关保留、使用学位论文的规定,有权保留 并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权盒 目b 王些友堂可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名 签字日期 年参月华日 学位论文作者毕业后去向 工作单位: 通讯地址: 导师签名 荔勿f 荔 签字日期:巧年,月j 日 电话 邮编 致谢 值此论文结束之际,首先要衷心感谢我的导师蒋翠清老师。在两年多的学 习和生活中他给予了作者无微不至的关怀,爱护和帮助。蒋老师渊博的知识、 严谨的学风、一丝不苟的治学态度都将使我受益匪浅。 感谢梁昌勇教授,在实验室两年多的时间里,梁老师在学习中都给予我巨 大的帮助,在此表示深深的谢意。 感谢网络所的俞家文,丁勇,陆文星等老师。在研究生的学习过程中,他 们在不同方面给予了作者很多帮助。 感谢陈增明博士,在论文的完成过程中他提供了很多有价值的意见。 感谢黄永青,张俊岭,吴坚博士以及沈磊,冯珍,刘婷婷,张点,郑崧, 赵燕霞,杨晖等同学的关心和帮助。 最后,感谢我的亲人,他们精神上的鼓励、生活上的关心、经济上的支持 使我能顺利完成学业,在我心底充满了对他们的深深感激。 朱鹏 2 0 0 6 年5 月 第一章绪论 1 1 嵌入式网络技术的概念及其特点 1 1 1 基本概念 嵌入式网络技术最初主要是指如何把嵌入式系统接x i n t e m e t i “。嵌入式系 统并没有一个确切统一的定义。广义的讲,任何内含中央处理器的专用系统都 可以称之为嵌入式系统【2 】。嵌入式系统另一种较为通用定义是:以应用为中心、 以计算机技术为基础、软硬件可裁剪、适应于应用系统对功能、可靠性、成本、 体积、功耗严格要求的专用计算机系统【3 j 。嵌入式i n t e m e t 是指把t c p i p 协议作 为一种嵌入式应用,从而实现接入i n t e r n e t 的功能。也可以简单理解为是一种采 用嵌入式模块而非p c 系统直接接) i n t e m e t 的技术f “。 1 1 2 主要特点 嵌入式因特网的主要特点可以从以下几个方面来看: 从实现形式上来看,嵌入式i n t e m e t 的实现可以采用两种方式,是作为嵌 入式代码在原有嵌入式系统的处理器中实现二是采用单独的处理器来实现,并 作为一个功能模块为原系统所使用【5 j 。 从实现技术上来看,嵌入式i n t e m e t 的实现将面临一定的技术难题 6 】a 在嵌 入式i n t e r n e t 中,实现网络协议通常由嵌入式系统专用的处理器来实现,这些处 理器中除了部分具有较强的功能外,大部分都是一些功能简单、价格低廉的设 备,例如大量存在嵌入式系统中的8 位单片机就是例子,它们的处理速度通常 只有几兆到几十兆,可用r o m 和r a m 都很有限,在这些系统中实现t c p i p 协议 的困难可想而知【7 j 。 从运行环境来看,嵌入式i n t e r n e t 应该具有高度的稳定性。嵌入式i n t e m e t 的 应用对象可能是普通的家用电器,也可能是重要的工业仪表或仪器,这些仪器 仪表通常要求比普通的计算机系统具有更高的稳定性。因此,嵌入其内的网络 技术即嵌入式i n t e m e t 也应该具备较高的稳定性【”。 从成本上来看,嵌入式i n t e m e t 的成本应该有着严格的控制。嵌入式i n t e m e t 可能应用于一台昂贵的大型工业设备,更有可能用于价格低廉的家用电器上f 9 。 其应用的广泛程度直接取决于其实现成本。因此,研究在较低成本下实现嵌入 式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 m e t 接入功能。信息家电、网络仪器、网络测量、网络监控技术等的 实现都离不开嵌入式i n t e m e t 技术。 1 2 嵌入式w e bs e r v e r 的研究背景 嵌入式i n t e m e t 一开始是为了解决嵌入式系统的联网问题而提出来的,其研 究背景主要基于以下两个方面。 f 1 ) 嵌入式系统应用广泛 嵌入式计算机在应用数量上远远超过了各种通用计算机。在制造工业、过 程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产 品等方面均是嵌入式计算机。嵌入式系统是先进的计算机技术、半导体技术和 电子技术和各个行业的具体应用相结合后的产物。 ( 2 ) 嵌入式系统和因特网相结合是嵌入式系统发展的一个重要趋势【1 0 】。如 今,i n t e m e t 已经遍布全球,成为人们获得各类信息、相互交流的重要渠道。目 前的i n t e r n e t 的基本表现为c l i e n t s e r v e r 体系结构$ 日b r o w s e r s e r v e r 结构i i ”。这种 结构的客户机是广泛普及的p c 。而服务器则是相对复杂的,价格昂贵的超级计 算机,即所谓的“胖服务器”。贝尔实验室总裁a r u n n e t r a v a l i 平n 其它一批科学 家曾经预测:在这阶段( 后p c 阶段) “将会产生比p c 时代多成百上千倍的瘦服 务器和超级嵌入式瘦服务器,这些瘦服务器将与我们这个世界你能想到的各种 物理信息、生物信息相联接,通过i n t e r n e t 自动的、实时的、方便的、简单的, 提供给需要这些信息的对象” i2 j 。由此可见,后p c 时代将是一个嵌入式系统和 i n t e m e t 相结合的时代,是一个具有联网功能的嵌入式系统代替p c 在i n t e m e t 中占 据主导地位的时代。这种趋势促进嵌入式i n t e m e t 技术的发展。 与此同时,随着网络技术和信息家电的飞速发展,越来越多的家庭要求建 立家庭网络。家庭网关是整个家庭网络的核心,它主要实现i n t e r n e t 接入、远程 控制,以及连接家庭内部异构子网的功能【l3 1 。智能家庭网关是一个独立、智能、 灵活多变、标准化的家居网络系统接口单元。它通过各种途径( 虫 1 i n t e m e t ,w a p 电话、手机等) 从多种多样的外部网络接收通信信号,然后通过家庭内部网络 将信号传送到特定的用户设备上,并将相应信号反馈给外部通信节点,实现远 程交互。智能家庭网关是智能家庭局域网的核心部分,主要完成家庭内部网络 各种不同通信协议之间的转换和信息共享,以及同外部通信网络之间的数据交 换功能,同时网关一般还负责家庭智能设备的管理和控制 1 4 】。 1 3 嵌入式w e bs e r v e r 的研究现状 由于嵌入式i n t e m e t 技术的发展,家庭网关也逐渐从p c 机实现转向嵌入式设 备。如下为通用网关的大致发展历程【1 5 ,拍j : 2 0 世纪9 0 年代中期,采用p c 机+ 网卡+ 采集插卡组成,利用p c 进行协议转 换,将家庭内部设各组成的测控系统接入到以太网。这种方式p c 机放在以太网 内,成本很高,不太现实。 近几年,采用嵌入式系统+ 以太网卡+ 采集卡来组成以太网测控网关。嵌 2 入式系统实际上是在硬件和软件上均可按用户需要进行剪裁的p c 机。实际上它 是第一种网关的简化和微型化。它的成本比第一种有所下降,但价格还是较高。 近年以来,随着嵌入式i n t e r n e t 的发展,出现了的m c u 单片机加上以太网 接口芯片组成家庭网关。这实际上是嵌入式网关向大众化、普及化的进一步发 表展。它以单片机取代p c 机,用以太网接口芯片取代以太网卡,使网关的价格 进一步下降。但是在单片机上实现各种网络协议,如t c p i p 等相对比较复杂。 近两年,许多大公司推出集成了i o m i o o m 的以太网接口的嵌入式处理 器,如m o t o r o l a m c f 5 2 7 ,可以很方便构建家庭网关,利用运行其上的嵌入式操 作系统可以方便的实现网络通信。但是该技术也正处于研发中,成本不低。 基于成本和性能的考虑,利用8 1 6 位m c u 的嵌入式设备实现家庭网关显然 是比较合理的。 由于家庭网关是面向外部通信网络和远程监控用户的窗口,所以本文将家 庭内部各种智能应用终端的信息和状态均以网页的形式通过嵌入式w e b 服务器 传送给远程监控用户,远程监控用户通过网页以c g i 形式改变和控制家庭智能终 端的参数和状态。 对于嵌入式w e b e r 务器方面的研究,国内现状不容乐观,目前国外的相关 研究情况如下: 1 e m i t e m i t 是e m w a r e 公司开发的嵌入式设备因特网解决方案1 1 7 。它包括多个部 件,有e m m i c r o ,e m g a t e w a y ,a c c e s sl i b r a r y ,e m l i n k , e m o b j e c t 等。 其中e m m i c r o 是适合于小型电子设备的微型网络服务器,即嵌入式w e b 服务 器,它驻留在嵌入式设备中,是e m g a t e w a y 年 :l 嵌入式设备系统软件之间的通信 服务模块。e m m i c r o 占用的字节可以很小,和e m g a t e w a y - - 起,为8 位和1 6 位嵌 入式设备提供网络服务器功能。 e m g a t e w a y 是e m i t 分布式网络平台的关键,是轻量级设备网络( 如 r s 2 3 2 ,r s 4 8 5 ,c a n ,r f 等) 和大型高性能网络( 女i i n t r a n e t s ,l m e m e t ) 之间的桥 梁。e m g a t e w a y 提供e m m i c r o 中没有包括的网络服务功能,并且可以与多种用户 界面相连接,如网络浏览器、数据库、应用程序等。e m g a t e w a y 可以驻留在p c 、 单板机、j s p 服务器或3 2 位以上的嵌入式处理器上。 e m l i n k 在e m g a t e w a y 中为每个外部嵌入式设各提供通信管理功能,以保持 网络连接、支持最常见的物理层协议( r s 2 3 2 ,r s 4 8 5 等) 的数据链路功能。 e m o b j e c t s 是预先建立的j a v a 对象,能够实现从标准网络浏览器中访问和控 制嵌入式设备。 2 r o m p a g e r r o m p a g e r 实现了一个典型嵌入式设备的管理框架 1 8 i 。 一个嵌入式设备通常使用s n m p 或t e l n e t 协议通过s e t g e t 调用来管理设备 另一些设备也使用额外的串行端口来管理设备参数。r o m p a g e r 软件非常易于集 成到这类设备中。 r o m p a g e r 同时也会将w e b 浏览管理以及e m a i l 通知服务加入到设备中。 在嵌入式w e bs e r v e r 的核心技术,嵌入式t c w i p 领域,目前比较有代表性的 解决方案有: 1 风河公司( w i n dr j v e r ) 的t c p i p 协议栈【l9 】:风河公司是著名的嵌入式操作 系统的开发商,以其v x w o r k s 嵌入式操作系统而为人们所熟悉。该公司的t c p i p 协议栈是v x w o r l ( s 嵌入式操作系统的一个部分,适合于军事、工业、通信等高端 应用。其协议栈以b s d 的4 4 版本的t c p h p 协议栈为基础,并为嵌入式环境的应 用作了特殊的优化。在路由器、交换机等数据通信领域和基站等无线通信领域, 应用特别广泛。 2 德州仪器公司( t i ) 的t c m p 协议栈印】:t i 公司的t c p i p 协议栈是专门为该 公司的t m s 3 2 0 c 6 0 0 0 系y u d s p 的网络应用而设计的。该协议栈基于t i 的d s p b i o s 编制,适合于1 6 位d s p 的应用。t i 公司提供t c 嗍议栈应用的开发包, 方便用户的应用开发。 3 u b i c o m 公司的t c p i p 协议栈( 2 1 :该协议栈是u b i c o m 公司专门为其s e n i x 单片机开发的,其特点是用汇编语言编写,效率高,但对硬件环境有较大的依 赖性,不利于移植。 目前全球互联网用户迅速增加,i n t e m e t 发展迅猛,但是他的核心协议t c p i p 在地址空间方面逐渐暴露出其固有的特点。为此需要对现有i p 协议加以改进, 于是产生t i p v 6 2 2 o i p v 6 协议一经推出,就引起各方面的高度重视。i n t e r n e t i e t f 专门成2 tr t 抽g 分会,讨论、研究及制定i p v 6 协议及相关标准。世界范围的大 型计算机公司和大学也纷纷开展了i p v 6 的研究实施工作,力图能在自己的操作 系统和设备上实现i p v 6 ,以抢占市场。 因此,如何低成本的解决支持双协议栈的嵌入式i n t e r n e t 具有很重要的研究 意义。 i 4 本文主要研究内容 本文的研究主要集中在:构建基于双协议栈嵌入式w e bs e r v e r 的家庭网关 的体系结构,设计适用于嵌入式系统的、不需要操作系统支持的t c p i p 协议栈, 此协议栈能够支持i p v 4 和i p v 6 两个协议簇,以及在其上的具有动态网页服务 功能的w e b 服务器。 为了实现嵌入式系统的网络功能,必须考虑网络协议方面的问题。受系统 存储资源和计算能力的限制,嵌入式设备一般只支持简单的通信协议( 如 r s 。2 3 2 4 8 5 等) ,这些简单的通信协议不足以让这些嵌入式设备连入i m e m e t 因此要让嵌入式设备连入i n t e m e t i n t r a n e t ,首先必须对它们进行扩展,使之支持 t c p i p 协议栈。最终通过i n t e r n e t i n t r a n e t 来实现它们的应用,如远程控制、远 程数据采集等。当然将已有的t c p i p 协议栈直接通过再编译移入嵌入式系统显 然是不可行的:首先,一般嵌入式系统( 而不是高性能的网络处理器为核心的 系统) 都没有足够的资源容纳体系结构复杂的协议栈;其次,已有的t c p f i p 协 议栈都是面对p c 或者服务器的实现,具有复杂的功能,而这些功能对于简单的 嵌入式应用是冗余的,而且相对于有限系统资源来说是高负担的。因而为此必 须遵照协议标准文件( i e 耶的r f c 文档) ,实现对支持i p v 4 和i p v 6 两种t c p ! p 协议面向嵌入式系统的裁剪,而裁剪是两方面的:功能性裁剪:裁剪掉对于 w e b 服务器功能实现关系不大,而又不影响系统最终功能的协议实现:性能 性裁剪:由于目前己实现的t c p i p 协议栈是面向高性能多线程系统,而在嵌入 式本身的缺点和应用目的要求的可以对于某些复杂的处理进行简化处理。 在协议优化的基础上,进一步实现一个传统的w e b 服务器,用来提供静态 页面内容,实现嵌入式系统的状态的信息发布功能。这样的w e b 服务器本质上 就是一个文件服务器。对于进步的嵌入式系统的控制,通过网页实现设备监 控功能必须采用公共网关接n ( c g i ,c o m m o ng a t e w a yi n t e r f a c e1 提供动态网页 服务技术,目前这一实现通常采用微软的a s p 或者s u n 的j s p 技术,或者采 用p e r l 语言处理。显然对于目标系统这些庞杂的技术是不适用的,因而需要自 己设计、实现一个适合于嵌入式系统的公共网关接口e g i ( e m b e d d e dg a t e w a v i n t e r f a c e ) 。 1 5 章节安排 全文共分六章,各章的内容安排如下: 第一章是对嵌入式网络的综述,并对嵌入式w e bs e r v e r 的特点以及信息家 电和论文的研究背景进行了介绍。 i 第二章主要对基于嵌入式w e b 的家庭网关的体系结构进行了分析,比较各 种网络接入实现方案的优缺点和使用范围。分析在普通8 位处理器上实现的可 能性。对网络接入,发送数据的封装,接收数据的分析等关键问题进行了分析。 第三章构建了针对嵌入式w e bs e r v e r 的t c p i p 协议栈,对如何对标准的 t c p i p 协议进行裁减和优化进行了分析。 第四章主要内容是如何设计嵌入式w e bs e r v e r 的服务器客户端交互,主要 讨论了h t t p 协议以及公共网关接口在嵌入式w e bs e r v e r 中的构建,同时,对系 统的安全性进行了讨论。 第五章是嵌入式w e bs e n ,e r 在网络空调器中的应用模型。 第六章在总结整个论文研究的基础上,对以后的工作进行了展望。 第二章支持双协议栈自 j w e bs e r v e r 系统体系结构 嵌入式i n t e m e t 的实现方案可以多种多样,如果不考虑资源、成本等因素来 单纯的实现t c w i p 协议可以非常简单。但是,如果限定条件来考虑,则会有很 大不同,以下介绍各种实现方案着重就每种方案的适用情况和优缺点加以分析。 并对在普通低速处理器实现嵌入式网络的可能性进行详细的分析。最后给出了 支持双协议栈的嵌入式w c bs e r v e r 家庭网关系统的体系结构。 2 1 嵌入式w e bs e r v e r 的实现技术分析 2 1 1 代理方案 这种方案是用专用的网络,例如r s - 4 8 5 ,r s 2 3 2 ,c a nb u s 等把少量的单 片机连接在一起,再由专用网络与p c 机相连,在这里p c 机就相当于一个网关将 专用网络上的信息转换成t c p t p 协议的数据包,然后发送至t j i n t e m e t 上,实现各 种信息的共享。此方案的优点是可以将多种单片机接入i n t e r a c t 。不足是:当单 片机系统分散时要实现专用网络的布线是很不方便的:它接入i n t e r n e t 依赖于p c 机作网关进行协议转换;在p c 机上进行协议转换的时候还要安装专门的协议软 件,开销就比较高。 这种方案比较适合大型的或较昂贵的工业设备的上网需求,不适合于低价 格设备( 如家用电器,普通仪器) 的上网。 e m w a r e 公司的e m i t 就是基于这种方案的一个典型应用。 2 1 2 使用嵌入式操作系统 这种方案可描述为:t c p i p 协议栈+ 嵌入式操作系统+ 高速1 6 3 2 位处理器。 在这个方案中,引入了嵌入式操作系统,即在嵌入式设备上首先安装嵌入式操 作系统,然后运行t c p i p 协议栈,从而实现嵌入式系统的上网。目前各类嵌入 式操作系统非常多,常见的有p s o s ,n u c l e u s ,l i n u x ,w i n c e ,v x w o r k s 等,这些操作系 统都带有完整的t c p i p 协议栈,因此,在实现上没什么技术难点。但是,嵌入 式操作系统的运行要占用大量的处理器资源和存储空间,对硬件配置也有较高 要求,大多数可以运行t c p i p 协议栈的操作系统都基本要求处理器的总线在1 6 位之上,处理速度也不能太低,存储空间基本在1 0 0 k ( o sc o r e + t c p i p ) 之上,这 对于低速率,低配置的8 位处理器来说很难实现团j 。也有一些少量的嵌入式操作 系统可以在低配置的系统上运行,但其使用费用却高的惊人,增加了开发成本。 这个方案比较适合在系统资源丰富的高速1 6 3 2 位的嵌入式系统中【2 ”。 2 ,1 3 直接实现方案 采用8 位单片机实现因特网接入功能不依赖于p c 机或高档单片机,真正实 现单片机系统直接接入以太网,本方案省去了操作系统,这样不仅可以大大节 约系统资源,还可以省去嵌入式操作系统的搬迁费用。缺点是增加了开发难度。 下文将详细分析在低档处理器上实现网络技术的可能性。 2 , 2 嵌入式w e bs e r v e r 实现的关键问题 接入i n t e m e t 有很多种接入方式,例如电话拨号接入,i s d n ,a d s l ,以太网 等,其中以太网作为一种廉价高效的i n t e m e t 接入方式,已经得到了广泛的应用 1 2 5 1 ,本文采用以太网方式的接入。 2 2 1 网络接入问题 以1 0 b a s e t 以太网为例,发送数据时应该做的工作是,首先对需要发送的 数据进行曼切斯特编码,然后对编码后的数据进行扭曲处理,使其发送的数据 适合在1 0 b a s e t 以太网上传输,最后把处理好的数据以1 0 m 的速度发送到以太 网络上。同时,为了保证数据的有效发送,系统还应该具有冲突检测和重发的 功能。 从以上的数据发送过程可以看出,直接用普通的低速微处理器来实现上述 功能非常困难。解决这个问题的方法是采用专门的网络接口芯片n i c 来实现 “】, 这类芯片遵循i e e e 8 0 2 3 所规定的c s m a j c d ( 载波监听多路访问及冲突监测) 协议,除了提供物理链路所需要的电气性能外,还提供曼切斯特编码、冲突检 测和重发的功能,它可以与很少的外围电路一起完成数据的发送和接收功能。 处理器只需为n i c 芯片提供初始化配置和数据接口( 即驱动程序) 即可,这对于 普通的低速处理器来说不成问题吲。 解决网络接口之后,还要考虑的是如何实现众多的网络通信协议,我们可 以把不同协议层的数据统一理解为长短不一的二进制数据流。数据的发送可以 看成按照一定格式生成不同长度的数据流。数据的接受可以看成按照一定的规 则从不同长度的数据流中得到需要的数据。如此看来,处理器实现t c p i p 协议 就是实现数据流的生成及解析工作,下面将从数据发送和数据接受两个方面来 论述采用普通处理器来实现t c p i p 的可能性。 2 2 2 发送数据的封装问题 把一组数据发送到基于t c p i p 协议的网络上,首先是产生符合t c p i p 协议 要求的数据格式,然后按照一定的规则发送到网络上去。首先看一下如何产生 符合t c p i p 协议要求的数据格式。以以太网接入i n t e m e t 为例,首先从一个物理 帧的格式来分析,一个标准的i e e e 8 0 2 3 的物理帧格式2 7 强表2 - 1 所示。 表2 一li e e e 8 0 2 3 的物理帧格式 p rs dd as at y p ed a t a p a d f c s 5 6 b i t s8 b i t s4 8 b i t s4 8 b i t s 1 6 b i t s ( 1 5 0 0b y t e s o p t i o n 3 2 b i t s 前面已经提到,可以使用专门的n i c 芯片来实现以太网网链路层的数据收 发功能,n i c 芯片除了能实现上述功能外,还可以在发送的物理帧上自动添加 帧头p 帧起始定界符s d 以及校验和f c s 的功能。因此处理器只要能够产生“目 的物理地址+ 源端物理地址+ 数据域长度+ 数据域”的数据流即可。 处理器可以采用填充法来减少形成数据流的时间,填充法是把不太改变的 数据部分事先准备好( 如源物理地址) ,然后把改变的部分( 如数据) 填充进去 即可。不同层的通信协议从处理器的角度来看无非是“数据域”的不同而已, 可以用同样的方法进行封装。数据的封装对于处理器没有严格的时间限制,不 同的处理器完全可以胜任瞄 。 数据流的形成过程中还有一个问题需要处理器来解决,就是计算校验和, 这是因为很多上层协议的数据封装中都需要有校验和一项,例如i p 协议,t c p 协议等。校验和的计算采用以下方法:即把整个需要计算校验和的部分看成是 由一串1 6 b i t s 的字组成,对每个1 6 b i t s 项进行二进制反码求和即可得到校验和。 这种反码求和计算在处理中很容易实现【2 9 。 2 2 3 接收数据的分析问题 数据接收部分的基本任务首先是判别收到的数据包是否为自己的数据包, 然后从不同协议封装的数据报中获取需要的信息( 包含协议信息和数据信息) , 以此信息进行下一步的所规定的动作。 判别是否为自己的数据报可以从接收的数据帧的物理地址标识和i p 地址标 识来判别。这些对处理器来说不成问题。 从不同协议封装的数据报中获取需要的信息首先判别数据报的不同协议, 其次是熟悉各种协议的封装结构,从而进彳亍不同的处理操作。这两个方面可以 由处理器执行多次判断来完成,判断的难度取决于协议的复杂程度。 由以上论述可知,在低速普通处理器上实现嵌入式网络是可行的。 2 3 支持双协议栈的w e bs e r v e r 系统的体系结构 针对家庭网关系统的功能要求和实现的目标,以及对嵌入式w e bs e r v e r 的技 术和它在通信控制领域应用的分析,在此提出了个初步的体系结构。系统体 系结构如图2 1 所示。 为了便于问题描述,可将整个系统的功能进行分解,并将分解后的模块定义 为嵌入式监控系统的功能组件。主要包括如下几类组件:嵌入式w e bs e r v e r 组件、 c g i 组件、家庭内部网络组件( 如蓝牙) 、数据存储组件等p ”。 r 一诋j 品- i 刚 浏 删 h t t p ic g i l j蓝牙 服务器k =组件 、t 1组件 览 i 巴 器 j f i i 冈 :i 双协议栈f p i ;1 l 型 l 存储i i i 一夼一 组件l 上土,、 底层驱动 图2 - 1 支持双协议栈的w e bs e r v e r 系统体系结构图 嵌入式w e bs e r v e r 是指实现了t c p i p 协议的基本内容( 如h t i p 协议) 、 能够响应和处理用户请求、实现独立通信的程序模块,即w e b 服务器( 图中虚 框部分) 。通过对t c p i p 相关协议的实现,w e b 服务器即具有与浏览器交互的 能力,能够处理客户端用户请求、传递网络消息并向浏览器返回结果,同时能 够与其它应用程序协同工作。 c g i 组件是指按照c g i 标准设计的具有独立功能的程序模块,是服务器与 外部扩展应用程序交互的一种标准接口。通过它把现场设备的数据实时地传递 给嵌入式w e b 服务器,从而实现远端客户与现场设备之间的动态数据交互。 家庭内部网络组件是指完成家庭内部通信功能的独立程序模块,由其完成 现场设备到c g i 组件的数据传送,它与c g i 程序组件相互配合,共同完成对嵌 入式w e b 服务器的数据更新。 数据存储组件是指能够对现场采集的数据进行保存,并为其它功能组件提 供读写使用方法的一类功能模块。 2 4 双协议栈的工作方式 本文设计的w e bs e r v e r 可以支持i p v 4 和i p v 6 两种协议栈,其结构图如图 2 2 所示。 i p v 6 和i p v 4 是功能相近的嘲络层协议,两者都基于相同的物理平台,分别 加载于i p v 6 和i p v 4 之上的传输层协议t c p , u d p 基本没有区别。如果一台主机 同时支持i p v 6 和i p v 4 两种协议,那么该主杌既能与支持1 p 、 4 协议的主机通信, 又能与支持i p v 6 协议的主机通信,这就是双协议栈技术的工作机理。 囝2 - 2 双协议栈壹勺基本结构 双协议栈节点既可以支持i p v 6 协议也可以支持i p v 4 协议,当然。该节点 也可以只支持其中的某种协议而禁用另一种协议。以下将要讨论的双协议栈 工方式,是指同时支持两种协议栈情况下的工作方式。 2 4 1 双协议栈节点 i p v 6 节点,具备i p v 6 协议通信的同时,具备完全的i p v 4 协议通信,我 f j 称之为i p v 4 i p v 6 节点,即双协议栈节点,简称双栈节点。该节点既可以是主机 节点也可是路由器或其它通信节点。这里应该明确,双栈节点是为解决i p v 6 节 点在i p v 4 网络环中通信( 或为保留i p v 4 协议功能) 的问题,因而以节点具备 i p v 6 协议通信作为先决条。 根据双栈节点是否用于隧道协议通信,分为啦下三类: ( i ) 纯双栈节点,不具备隧道协议功能; f 2 ) 双栈节点,只具备配置隧道功能; ( 3 ) 双栈节点,具有配置隧道、自动隧道功能。 当节点为纯双栈节点时,对其分配的i p v 4 ,i p v 6 地址没有特别的要求,符 合各自的网络规定即可;当节点具有自动隧道功能的时候,应该为其分配1 p v 4 兼容的i p v 6 地址。 2 4 ,2 接收数据包 双栈节点与其它类型的多栈节点的工作方式相同。链路层接收到数据段, 拆开并检包头。如果i p v 4 1 p v 6 头中的第个字段,即i p 包的版本号是4 ,该数 据包就由i p v 4 栈处理;如果版本号是6 ,则由i p v 6 栈处理;如果建立了自动隧 道机制,则采用相应的技术将数据包重新整合为1 p v 6 数据包由i p v 6 栈来处 理。 2 4 3 发送数据包 由于双栈主机同时支持i p v 4 和i p v 6 两种协议,所以当其在网络中通信的 时候需要据情况确定使用其中的一种协议栈进行通信,这就需要制定双协议栈 的工作方式。在网络通信过程中,目的地址是作为路由选择的主要参数,因而, 根据应用程序所使用的地址的协议类型对双协议栈的工作方式做出如下约定: n 、若应用程序使用的目的地址为i p v 4 地址,则使用i p v 4 协议;假设节点 a 与节点b 通信,a 为双栈节点,节点b 支持i p v 4 协议( 目的地址为i p v 4 址) 。 则双栈节点a 工作方式:使用i p v 4 协议与节点b 通信。 可用通过如下方式证明该约定的完备性; 节点a 有两种选择,使用i p v 4 协议或者i p v 6 协议与主机b 通信。根据给 定条件。 a ,b 节点均支持i p v 4 协议,所以选择i p v 4 协议可以保证通信正常进行, 故约定1 是充分的。反证:如果使用i p v 6 协议进行通信,因为不能确定b 是否 为双栈节点( 给定条件仅是目的地址为i p v 4 地址) ,所以,当b 节点不支持i p v 6 协议时不能保证通信正常进行。所以,我们可以认为约定( 1 ) 是完备的。 ( 2 1 若目的地址为 p v 6 地址,且为本地在线网络,则使用i p v 6 协议。i p v 6 使用邻居发现机制确定是否为本地在线网络。 ( 3 ) 若应用程序使用的目的地址为i p v 4 兼容的i p v 6 地址,并且非本地在线 网络,则使用i p v 4 协议,此时的i p v 6 将封装在i p v 4 中。 p v 4 兼容的i p v 6 地址,是i p v 6 协议规范中提供的特殊地址。这类地址高 阶9 6 位均为0 ,低价3 2 位包含i p v 4 地址。i p v 4 兼容地址被节点用于通过i p v 4 路由器以隧道方式传送i p v 6 包,这些节点既理解i p v 4 又理解i p v 6 。能够自动 将i p v 6 包以隧道方式在i p v 4 网络中传送的i p v 4 i p v 6 双栈节点将使用这些地址。 根据i p v 6 协议地址规范以及( 3 ) 假定的条件,我们可以确定目的节点b 同样 是一个双栈节点,而结合l p v 4 i p v 6 过渡时期网络的基本状况,节点a 与节点b 的通信将跨越i p v 4 网络,所以使用1 p v 4 协议是可行的。当然,也可以使用i p v 6 协议进行通信,但在过渡初期,( 3 ) 的约定将优于使用i p v 6 协议通信。 ( 4 ) 若应用程序使用的目的地址是非i p v 4 兼容的i p v 6 地址,非本地在线网 络,则使用i p v 6 协议,而且可能要采用隧道等机制来进行路由传送; 该约定类似于约定( 2 ) ,使用i p v 6 协议能够保证通信正常进行,而如果是跨 越纯i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 咨询公司股权构架方案
- 医院健康咨询活动方案
- 食品农产品营销方案模板
- 离婚子女轮流抚养子女生活技能与独立能力培养协议
- 现代农业物业公司股权变更与农业服务协议
- 车辆租赁合同转让及保险理赔三方协议
- 离婚协议书模板(涉及离婚后子女生活费用承担)
- 类第号上海证券交易所融资融券业务合作协议
- 章珊离婚协议中子女抚养权变更及监护权转移执行协议
- 夫妻协议离婚后房产分割及共同财产分配协议
- 《稻草人》课件-2024-2025学年语文三年级上册统编版
- 人力入股机制合同协议书
- 2024油气管道无人机巡检作业标准
- DL∕T 516-2017 电力调度自动化运行管理规程
- 工程项目决算书
- 出院病人随访分析总结
- 古代希腊工艺美术课件市公开课一等奖省赛课微课金奖课件
- 02课前小游戏-数字炸弹
- 身体健康与心理健康研究课题
- 智能机床发展前景分析
- 蓝莓基地创业计划书
评论
0/150
提交评论