(机械电子工程专业论文)嵌入式系统tcpip协议栈的研究与设计.pdf_第1页
(机械电子工程专业论文)嵌入式系统tcpip协议栈的研究与设计.pdf_第2页
(机械电子工程专业论文)嵌入式系统tcpip协议栈的研究与设计.pdf_第3页
(机械电子工程专业论文)嵌入式系统tcpip协议栈的研究与设计.pdf_第4页
(机械电子工程专业论文)嵌入式系统tcpip协议栈的研究与设计.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

华中科技大学硕士学位论文 摘要 ( 为了适应嵌入式系统网络化要求矿本文分析了中、低端嵌入式系统( 8 位、1 6 位单片桃) 实现t c p i p 协议栈的必要性和可行性。提出嵌入式系统实现t c p i p 协 议的关键是简化t c p i p 协议栈。l 其原则是:( 1 ) 在满足基本通讯要求的前提下, 尽量减少协议的数量:( 2 ) 在保证协议基本功能要求的前提下,去除一些不相关的 功能。阜 本文对标准的t c p i p 协议栈功能进行分析,结合嵌入式系统特点,根据简化 原则,对相关协议进行选取与简化设计。首先,有针对性地选取了a k p 协议、i p 协议、i c m p 协议、u d p 协议、t c p 协议和b o o t p 协议,构成t c p i p 协议栈简 化系统。然后对所选协议逐个分析,确定每个协议的必要功能和可选功能,得到相 应协议的实现模型。此外,针对嵌入式系统特点,确定网络配置参数,分析了在嵌 入式系统环境中网络配置的具体实现方法。该t c p i p 协议栈简化系统可在基于 m c s 5 l 单片机的嵌入式系统中实现,其代码总长度为3 4 0 6 字节( 不含网络接口 设备驱动程序) 。 最后,将简化的t c p i p 协议栈运用于嵌入式协议转换器,完成r s 2 3 2 到以太 网协议的转换。在此过程中,研究了m c s 一5 1 单片机接入以太网的方法,并较为全 面地测试了嵌入式协议转换器性能。( 测试验证了上述对t c p i p 协议分析研究与简 化设计的可行性:测试表明通过该嵌入式协议转换器可实现低速数据采集设备接入 以太网,其性能满足缓变状态量网络监测的要求。,一 关键词:嵌入式系统t c p i p 协议栈嵌入式协议转换器 华中科技大学硕士学位论文 a b s t r a c t t h i sp a p e rs t a t e st h a ti ti s n e c e s s a r ya n df e a s i b l et oi m p l e m e n tt h et c p i pp r o t o c o l s t a c ki nt h em i d d l e a n d l o wg r a d ee m b e d d e ds y s t e mf o rt h i sk i n do fe m b e d d e ds y s t e m n e t w o r k i n gv e r b , f a s t a n dt h ek e yo ft h ep r o c e s sl i e si ns i m p l i f y i n gt h es t a n d a r dt c p i p p r o t o c 0 1 t h e r ea r et w op r i n c i p l e so ft h es i m p l i f 3 i n gm e t h o dp r e s e n t e di n t h i sp a p e r : ( 1 ) u n d e rt h ep r e r e q u i s i t eo fm e e t i n gt h eb a s i cd e m a n d so fn e t w o r kc o m m u n i c a t i o n t h e n u m b e ro fp r o t o c o l ss h o u l db er e d u c e da sm u c ha sp o s s i b l e ( 2 ) u n d e rt h ep r e r e q u i s i t eo f k e e p i n gt h eb a s i cf u n c t i o n so ft h es e l e c t e dp r o t o c o l s ,t h e i ri r r e l e v a n tf u n c t i o n ss h o u l db e t h r o 啪o f f a f t e rt h es t a n d a r dt c p f i pp r o t o c o lh a sb e e ns t u d i e da n da n a l y z e d ,a c c o r d i n gt ot h e c h a r a c t e r i s t i co fe m b e d d e ds y s t e ma n dt h es i m p l i f 3 ,i n gp r i n c i p l e s ,s o m er e l e v a n tp r o t o c o l s a r ep i c k e du ns i m p l i f i e da n dd e s i g n e d t h e nf l s i m p l i f i e dt c p i pp r o t o c o ls t a c k w h i c hi s c o m p o s e do f 蛾i p , i c m eu d p , t c p a n db o o t p , i sb u i l tu p t om a k e s u r et h ee s s e n t i a l f u n c t i o n sa n dt h ei r r e l e v a n tf u n c t i o n so fe a c h p r o t o c 0 1 t h e s ep r o t o c o l sa r ea n a l y z e do n eb y o n e a tl a s t ,t h ei m p l e m e n t a t i o nm o d e l so fe a c hp r o t o c o la r e d e s i g n e d i na d d i t i o n ,t h e m e t h o do ft h en e t w o r kc o n f i g u r a t i o nf o re m b e d d e ds y s t e mi sp r e s e n ti nt h i sp a p e r t h e s i m p l i f i e dt c p i pp r o t o c o ls t a c kh a sb e e ni m p l e m e n t e di ne m b e d d e ds y s t e mb a s e do n m c s 51 m i c r o c o n t r o l l e r , a n di t ss i z ei s3 4 0 6b y t e se x c l u d i n gt h en e t w o r kd e v i c e sd r i v e r a tt h ee n do ft h i sp a p e r , t h es i m p l i f i e dt c p i pp r o t o c o ls t a c kh a sb e e na p p l i e dt ot h e e m b e d d e dp r o t o c o lc o n v e n e rw h i c hc a n 订a n s l m et h er s 2 3 2i n t oe t h e m e ta l o n gw i t h t c p i pp r o t o c o ls t a c k a n dt h em e t h o do ft h ee t h e m e t c o n n e c t i v i t yf o rt h es y s t e mb a s e d o nm c s 51 s i n g l ec h i pc o m p u t e ri s a l s op r e s e n ti nt h e p a p e r f i n a l l y , t ov e r i f y t h e p e r f o r m a n c eo f t h es i m p l i f i e dt c p i pp r o t o c o ls t a c ka n dt h ee m b e d d e d p r o t o c o lc o n v e n e r , s o m ee x p e r i m e n t sh a v eb e e nd o n e t h e s et e s t si n d i c a t et h mt h i sc o n v e n e rc a nh a v et h e l o w - s p e e dd a qe q u i p m e n tc o n n e c t e d w i t ht h ee t h e m e tn e t w o r ka n di t sp e r f o r m a n c em e e t s t h er e q u i r e m e n tf o rn e t w o r k s l o w l y c h a n g i n g c o n d i t i o nm o n i t o r i n g k e y w o r d s :e m b e d d e ds y s t e mt c p i pp r o t o c o ls t a c ke m b e d d e d p r o t o c o lc o n v e n e r 华中科技大学硕士学位论文 1 1 课题来源 1 绪论 本课题来源于华中科技大学与深圳蓝津信息技术有限公司的合作项目:关于嵌入 式网络设备的研究与开发。 1 2 课题提出 1 2 1 需求分析 嵌入式系统是一种基于微型计算机或单片机,集成于应用系统中,完成特定功能 的计算机系统。典型的嵌入式系统如图1 1 所示,它由c p u ,存储单元,通讯单元和 软件等组成。嵌入式系统技术所涉及的范围很广,本文只讨论基于8 位和1 6 位单片 机的中、低端嵌入式系统。 t 护装置等) i l - - - - - - - - - - - 、,- - - - 一 图1 1一个典型的嵌入式系统 传统的嵌入式系统数据处理能力有限,只能针对现场特定事件进行处理。网络技 术、半导体技术和计算机技术的发展,增强了嵌入式系统处理数据和扩展外部设备等 各方面能力,使之接入i n t e m e t 成为可能。 工业控制、现代农业生产、交通运输、楼宇自动化、信息家电以及军事装备远程 维护等应用,越来越需要嵌入式系统以t c p i p 协议进行通讯【l 捌,以达到最大程度地 华中科技大学硕士学位论文 实现信息共享和信息集中处理的目的。 在不同应用中,嵌入式系统采用的通讯协议会有所不同,这导致了嵌入式系统中 通讯协议不统一的问题。而t c p i p 协议是一种开放式协议体系,已被i n t e r a c t 和大多 数局域网所采纳,因此使用t c p i p 协议有助于解决该问题。 综上所述,各种相关技术的发展促进了嵌入式系统技术的发展,同时嵌入式系统 的广泛应用对其通讯能力也提出新的要求,因此在嵌入式系统中实现t c p i p 协议是 一个必然的结果。 1 2 2 存在的问题 目前,在嵌入式系统中采用t c p i p 协议需要解决以下问题: 1 t c p i p 协议是一个复杂的协议体系,并非专门为嵌入式系统通讯所制定。实现 t c p i p 协议需要考虑嵌入式系统的硬、软件资源,对t c p i p 协议进行适当的简化 和设计。 2 嵌入式系统结构多种多样,需要寻找一种较为通用实现t c p i p 协议的方法。 1 3 嵌入式系统中的t c p i i p 技术发展现状【2 】 目前在嵌入式系统中实现t c p i p 协议的方式主要有两种:硬件方式和软件方式。 1 3 1 硬件方式1 3 - 6 1 通过采用诸如a s i c 、s o c 、a s s p 和f p g a 等大规模集成电路技术实现t c p i p 协议栈。目前这方面典型产品主要有:韩国 w i t _ n e ti n c 公司的1 2 c h i p 系列产品,日 本s e i k o 公司的$ 7 6 0 0 芯片,美国c o n n e c t o n e 公司的i c h i p 系列产品,美国i p s i l 公司 的i p m i c r o 系列产品和北京英贝多嵌入式网络技术有限公司的e m 2 0 0 0 系列产品以及 武汉力源的w e b c h i p m 系列产品。 以硬件方式实现t c p i p 协议栈具有以下优点: ( 1 ) 处理t c p p 协议速度快。如1 2 c h i p 公司的w 3 1 0 0 a 处理t c p i p 协议速度 可达3 6 m b p s ,并且只与嵌入式系统的微处理器处理能力有关。当传输速率在i g b p s 以上时,只能通过硬件方式实现t c p i p 协议,才可以保证数据的快速传输。 ( 2 ) 构建系统方便快捷,编程简单。 2 华中科技大学硕士学位论文 ( 3 ) 占用嵌入式系统硬、软件资源少。t c p i p 协议处理芯片几乎不占用嵌入式 系统的资源,对它的操作与操作其它外部设备一样,只占用一些端口地址。 此种方式存在一些不足: ( i ) 以此种方式所实现的t c p i p 协议栈并不完备,并且在应用中,缺乏必要的 灵活性、可扩展性和可扩充性。t c p i p 协议处理芯片的技术细节不对外开放,使用户 不能很好地根据实际应用,定制所需的t c p i p 协议,在某种程度上限制了它们的应 用。 ( 2 ) 开发投资较大,周期长,造成目前这类产品价格居高不下。如1 2 c h i p 系列 产品,投资1 8 0 万美元历时4 年开发完成,目前芯片每片约1 5 美元。北京英贝多嵌 入式网络技术有限公司的e m 2 0 0 0 系列产品价格从7 5 0 元到1 5 0 0 元之间不等。在很 大程度上,成本因素制约了它们在中、低端嵌入式系统中的应用。 1 3 2 软件方式 基于常用的嵌入式系统硬件平台,通过软件方式实现t c p i p 协议栈。这种方式 又可分为需要嵌入式操作系统和无需嵌入式操作系统两种形式。 1 需要嵌入式操作系统 目前,集成t c p i p 协议栈的典型嵌入式操作系统有:u s w a r e 公司的u s n e t , k a d a k 公司的k w i k n e t ,m i c r o d i g i t a l 公司的s m x ,q n x 软件系统公司的q n x 系 统,c m x 公司的c m x - m i c r o n e t ,微软公司的w m d o w s c e ,嵌入式w m d o w s n t 和嵌 入式w m d o w s x p 和基于d o s 操作系统的w a t t c p 协议栈以及各种嵌入式l i n u x 。 t c p i p 协议栈集成于嵌入式操作系统中有以下好处: ( 1 ) 软件开发效率高,系统性能稳定,调试方便。 ( 2 ) 提供有较为完备的t c p i p 协议栈,特别是一些面向高端应用的嵌入式操作 系统,如嵌入式l i n u x 和q n x 等。 ( 3 ) t c p i p 协议栈二次开发方便。充分发挥了软件系统的灵活性和可扩展性。 此种方式也存在不足之处: ( 1 ) 嵌入式操作系统一般都价格昂贵,例如s m x 系统的t c p i p 协议处理模块价 格为4 ,5 0 0 美元。这限制了嵌入式操作系统在中、低端系统中的应用。 ( 2 ) 嵌入式操作系统的种类很多,大多数用于高端嵌入式系统,只有少数支持8 华中科技大学硕士学位论文 位单片机系统。而8 位单片机依然占据相当的市场份额,据d a t a q u e s t 公司的统计, 1 9 9 9 年全球所销售的微处理器中8 位单片机占6 0 ,预计到2 0 0 4 年总销售额将达到 1 6 0 亿美元,比2 0 0 1 年增长近一倍悼j 。 可见在基于8 位单片机的嵌入式系统中实现t c p f l p 协议,具有重要意义。但是 在廉价的8 位嵌入式系统中采用昂贵的嵌入菩操作系统,多少有些得不偿失。 目前有一种趋势,即在免费的嵌入式操作系统上开发使用t c p i p 协议栈,如g u y l a n c a s t e r 在u c o s 上开发的u c i p 协议栈。但是这些t c p i p 协议栈以c 语言源代码形 式发布,对编译系统有较高要求,目前应用还不多。 2 无需嵌入式操作系统 目前,此类典型的t c p i p 协议栈有:u b i c o m 公司的s xs t a c k 9 , 0 ,z - w o r l d 公司 基于d y n a m i cc 的t c p i p 协议棱】。除此之外,还有一些非商业用途的t c p i p 协议 栈 1 2 a 3 】,如a d a md u n k e l s 的1 w 科1 4 1 协议栈和r a d e kb e n c d i k t 1 5 1 编写的t c p i p 协议栈 等。由此可知,在没有嵌入式操作系统的环境下,完全可以实现t c p f i p 协议栈。 与需要嵌入式操作系统的t c p i p 协议栈相比,此类t c p i p 协议栈,除了稳定性 稍差之外,价格低廉,通常开放源代码,方便用户根据特定应用,对t c p i p 协议栈 进行扩充或重新定义。 然而,有些t c p f i p 协议栈的应用对象较为专用。如s xs t a c k 只适用于u b i e o m 公司单片机系统。z - w o r l d 公司提供的t c p f i p 协议栈需要d y n a m i cc 编译工具,针对 r a b b i t 公司的r a b b i t 系列单片机进行开发。但这些单片机价格比一般的8 位单片机贵 了许多,目前还没有普遍应用。 还有一些t c p f l p 协议栈,如a d a md u n k e l s 的1 w i p 以c 语言源代码形式提供, 对编译工具要求较高,不利于在中、低端嵌入式系统中的应用。 因此,研究和开发具有自主版权的面向中、低端嵌入式系统的t c p p 协议栈, 具有十分重要的意义。 1 4 课题的目的和意义 研究标准的t c p i p 协议栈,总结一套较为通用的方法,对其进行简化和设计, 使之能运用于中、低端嵌入式系统当中,特别是那些没有嵌入式操作系统的低端嵌入 华中科技大学硕士学位论文 式系统,从而解决嵌入式系统以t c p i p 协议进行通讯的问题。 随着科学技术的发展,在市场经济利益的驱动之下,企业对嵌入式系统的智能化 和网络化的渴求与日俱增 1 , 3 , 1 6 1 的环境下,研究嵌入式系统中的t c p i p 协议栈具有以 下几点意义: 1 ) 使网络功能由面向服务转为面向应用,不仅实现人与人之间的交流还可以实现 设备与人或设备与设备之间的交互【l6 】。这样,既可以使设备很好地处于网络监控之中, 又能让设备与设备之间通过网络完成信息交换,无需人的干预。 2 ) 有助于组建新一代工业自动化网络旧,解决由于通讯协议不统一而形成的“信 息孤岛”问题。实现现场网络与上层管理网络“无缝”连接,使企业的网络化管理很 方便地直接深入到现场设备,完成对设备分布式控制集中式管理,从而降低人力资源 耗费。 3 ) 嵌入式系统种类很多,对t c p i p 协议的要求也各不相同,需要针对具体应用 进行定制为了在应用中不受制于人,开发自主版权的t c p i p 协议栈也有重要现实 意义。 1 5 主要研究工作 本文的主要研究工作为: 1 研究标准t c p i p 协议栈,结合中、低端嵌入式系统特点,给出简化协议栈的基本 原则。 2 通过简化原则,构建t c p i p 协议栈简化系统,并对相关协议进行设计。 3 设计一个具体系统,测试t c p i p 协议栈在嵌入式系统中的性能。 4 通过具体系统,说明嵌入式系统接入以太网的方法及其网络配置功能的实现方式。 5 华中科技大学硕士学位论文 2t c p i p 按议栈与嵌入式系统的融合 嵌入式系统与t c p i p 协议已缀广泛地应粥于各自不间领域,各种因素正促使它 们融合在一起下鞭讨论它倪融合的必要性、霹行我和技零关键。 2 。 必要性分析 2 1 1 技术发展的簧求 t c p i p 铸议棱作为一个事实上的网络标准,被局域网和广域网所采纳,并且向各 个领域延伸,皂然墩涉及到了嵌入式系统应用领域,知匿2 1 爨示。鼷蔻,绝大多数 的嵌入式系统并不舆备以t c p i p 协议进行通讯的功能,特别是那些基于8 位单片机 豹嵌入裁系统。 嵌入式系统自身的通讯能力也农发展,经历了 单机应用、现场多机通讯、现场总线与上层网络互 联、壹接接入甄联瓣等死今发溅除段。由予现场总 线协议不统一,给网络连接带来不便,而且用于协 议转换的网关价格精责,所以其推广受到了限制。 必了在更大豹莲萤疼实璜网络繁源共李,要求嵌入 式系统支持t c p i p 协议,实现与各级网络“无缝” 连接。嚣前有不少现场总线也开始支持t c p 皿协 议【l g l ,那些过去由于成本原毽不能接入赠络熬嵌 入式系统,也能采用t c p i p 协议实现网络互联。 霞戴,t c p i p 协议棱与嵌入式系统融合,是 嵌入式系统与计算枫网终发展发展到一定跄段瓣 必然结果。 2 1 2 各种应搿豹要求 i 互联网 届域赠 t 工作现场网络 : 嵌入式系统 圈2 1 嵌入式系统网络亿发震方 向与t c p ,舻协议应用发展方向 魏懿掰述,鑫赘 n t e m e t 霸备释翳域潮都支转t c p i p 协议,鲡粟嵌入式系统能够 支持t c p i p 协议,则其“宿主”可获褥缀好鼹终通讯能力秘信患共享链力。班王挫 6 嵌入蒙蟪瓣貉体裳蕞商渤 llllilillll iiillllil下 tc墨,捧议封甩发晨方向 华中科技大学硕士学位论文 应用为例,嵌入式系统与其它级别的网络通讯时,需要在各级网关上进行协议转换。 由于协议不统一,易形成“信息孤岛”,不利于信息传递和共享。而t c p i p 协议可以 使现场网络与其它各级网络统一起来,打破“协议壁垒”。 对于那些既需要远程监控,又受场地和成本等因素限制的应用场合,嵌入式系统 网络化是一个很好的解决方案。例如,仪器设备远程监控、设备智能维护,智能小区 和智能楼宇管理、信息家电以及军事装备远程智能维护等应用。 各种应用推动着嵌入式系统网络化,并将越来越多采用t c p i p 协议进行网络通 讯。 2 2t c p i i p 协议栈的特点 2 2 1 简介 t c p i p 协议是i n t e m e t 的协议标准,由一簇协议组成,包括a r p 、i p 、i c m p 、i g m p 、 u d p 、t c p 和h t t p 等协议,由于t c p 协议和i p 协议是其中最重要的组成部分,所 以将t c p i p 协议栈简称为t c p i p 或t c p i p 协议。 t c p i p 协议均以r f c ( r e q u e s t f o rc o m m e n t s ) 文档形式发布,每个协议都有相应的 一些r f c 文档,并且作了非常详细规定和描述。r f c 文档为开发t c p i p 协议提供了 必要的技术支持和帮助,可以免费地从幽盟i 堡垒毽获得。 此外,r f c 文档仅规定了协议本身,并没有限制其实现的具体软硬件平台。因此, 所有这些都为t c p i p 协议在嵌入式系统中实现提供了便利条件。 2 2 2 构成 t c p i p 协议可以分为四层:网络接口层,网络层,传输层和应用层。数据通讯只 在对等层& e e rl 哪e r ) 的对等协议( p e e rp r o t o c 0 1 ) 之间进行,层与层之间的处理相互独 立,层与层之间只传递协议调用信息。如图2 2 所示。下面对每一层协议进行简单介 绍。 华中科技大学硕士学位论文 应角层 传输层 网络层 同络接口层 计算机1计算机2 数据传递 - - - 一- 协议的对等芙系 图2 2t c p i p 协议层次结构与关系图 网络接口层( 数据链路和物理层) 对于网络接口层,t c p i p 协议并没有定义特定的协议,只规定了与网络层之间沟 通的方式。在这一层上,由计算机系统完成对具体网络设备的驱动,既可以是以太网 网卡,也可以是调制解调器( m o d e m ) 。 因此,可以根据嵌入式系统应用的具体要求,选择网络通讯设备或网络接口设备。 网络层 网络层主要包括网际协议i p ( i n t e r n e tp r o t o c 0 1 ) 1 2 0 ,i m t e m e t 控制报文协议 i c m p ( i m e m e tc o m r o lm e s s a g ep r o t o c 0 1 ) t 2 1 1 ,地址解析协议a r p ( a d d r e s sr e s o l u t i o n p r o t o c 0 1 ) 阎和逆地址解析协议r a r p ( r e v e r s ea d d r e s sr e s o l u t i o np r o t o c 0 1 ) 2 3 1 。其中口 协议最重要,该层的其它协议都为之服务。i p 协议规定了口地址分配、分片重装、 路由选择和口数据传输等重要功能的实现方法。 这些协议并不都要求实现,例如在w i n d o w s 系统中就没有r a r p 协议,所以嵌 入式系统可根据需要,有选择的实现其中的些协议和功能。 传输层 传输层主要包括面向连接的传输控制协议t c p ( t r a n s m i s s i o nc o n t r o lp r o t o c 0 1 ) 1 2 4 1 和面向无连接的用户数据报协议u d p ( u s e rd a t a g r a mp r o t o c 0 1 ) r ”。它们提供端到端的 8 华中科技大学硕士学位论文 数据传输服务,并且可以支持多个应用程序并发服务。 t c p 协议提供面向连接的、可靠的字节流服务,但是t c p 协议较为复杂,硬、 软件资源开销大。而u d p 协议则是一个简单的砸向数据报的传输层协议,不能保证 数据传输的可靠性,但实现u d p 协议所需硬、软件资源较少。 可以看出,t c p 协议与u d p 协议互有优缺点,并且具有一定的互补性,所以可 根据不同的应用场合和应用要求进行选择。 应用层 应用层的任务是为最终用户提供服务,规定应用进程之间通讯所要遵循的协议。 包括i - r r t p 2 u q 、f t p 2 7 】和b o o t p l 2 8 】等协议。应用层的一个重要特点是它的可扩展性, 所以除了上述的标准协议外,用户可以扩展特殊用途的应用层协议。因此,嵌入式系 统可以根据实际需要,定制专门应用协议和应用程序。 总之,t c p i p 协议是一个复杂的协议体系,要应用到嵌入式系统中,需对相关协 议及功能进行仔细的分析和选择。 2 3 嵌入式系统的特点 与标准p c 机系统相比,基于微控制器( 单片机) 的嵌入式系统,具有体积小重 量轻、成本低、软硬件可定制等优点,但是也存在硬、软件资源不足等缺点。目前, 大多数嵌入式系统没有配嵌入式操作系统,且多以低端系统为主。下面将从硬件和软 件两个方面,分析基于8 位单片机的嵌入式系统在采用t c p i p 协议时的资源配置情 况。 2 3 1 硬件资源 由于嵌入式系统种类繁多,硬件结构差异大,因此下面将以基于常规m c s 5 1 1 2 9 单片机的嵌入式系统为例,与p c 机系统进行比较,主要结果如表2 - 1 所示。 结果表明,嵌入式系统的硬件资源均明显少于p c 机系统,这给t c p i p 协议的实 现带来一定困难。因此,不能完全按照p c 机的模式去实现t c p i p 协议,需对t c p i p 协议进行合理简化。 此外,目前几乎所有的网络接口设备都只适用于p c 机系统,所以要在嵌入式系 9 华中科技大学硕士学位论文 统上实现t c p i p 协议,还应为之扩展必要的网络接口设备。 表2 - 1 嵌入式系统与p c 机系统的比较 m c s 5 1 系统p c 机系统 c p u 数据总线宽度8 位3 2 位 c p u 工作频率一般1 2 m h z 以内可达1 g h z 以上 指令执行速度1 2 m i p s 左右1 0 0 m i p s 以上 内部数据存储器为1 2 8 字 内存空间节,外部数据存储器小于一般1 2 8 m 字节 6 4 k 字节 代码存储空间小于6 4 k 字节与硬盘大小有关 硬件接口一个串口和3 2 个i 0 口线几乎支持所有接口和接口总线 2 3 2 软件资源 1 开发工具 p c 机系统普遍采用集成有t c p i p 协议栈的计算机操作系统。配以功能强大的开 发平台,程序员可以很方便地进行网络系统开发。高端嵌入式系统一般也配备集成有 t c p i p 协议栈的嵌入式实时操作系统,但是成本高,适用场合有限。中、低端嵌入式 系统大多没有嵌入式实时操作系统,t c p i p 协议栈只能在“裸机”上编程实现。 为了提高编码效率,许多嵌入式系统采用汇编语言编程,但是代码不易维护。完 整的t c p i p 协议内核大约有1 5 ,0 0 0 行c 语言代码【”,因此受工具所限,只能有选择 的实现t c p 佃协议。 2 内存管理 p c 机中的内存由操作系统管理,可进行动态分配。对于t c p i p 协议栈,l i n u x 和u n i x 采用m b u f 的存储结构1 1 9 】。m b u f 是一个复杂的链表数据结构,这个链表可以 动态地增加和减小。在嵌入式系统中采用动态内存分配,需要占用大量c p u 资源, 所以对于大多数低端嵌入式系统,不宜采用此方式。 由图2 2 可知,t c p i p 协议中层与层之间的处理,其实质是数据“打包”和“拆 包”的过程,此处理过程需要占用一定的内存空间。因此,在嵌入式系统环境中,需 1 0 华中科技大学硕士学位论文 要考虑如何有效地为t c p i p 协议处理进行内存管理。 3 协议实现 p c 机所采用的操作系统,如w i n d o w s 、u n i x 、l i n u x ,一般以多任务并发形 式处理t c p i p 协议。中、低端嵌入式系统一般不具备多任务并发处理能力,只能按 单任务方式处理t c p i p 协议。 另外,t c p i p 协议并没有规定上层应用程序与下层协议处理程序沟通的具体形 式。u n i x ,l i n u x 和w i n d o w s 等操作系统的解决办法是提供s o c k e t 或w m s o c k 编 程接口,以a p i 函数形式给出。在嵌入式系统中,应考虑上层应用程序与t c p 和u d p 等协议处理程序接口问题。 2 4t c p i p 协议栈实现的关键 综上所述,在嵌入式系统中实现t c p i p 协议的关键,是简化t c p i p 协议。为此, 设计一个在8 位单片机上实现的t c p i p 协议的简化系统( 如图2 3 所示) ,使其成为 嵌入式系统通讯处理的一个部分,实现嵌入式系统与t c p i p 协议融合。具体方法将 在后续章节进行讨论。 应用层 传输层 网络层 网络接口层 嵌入式系统相关应用程序,b o o t p t c pu d p i c 口 i p a r p ( 可选) 网络接口设备驱动程序 图2 3t c p i p 协议栈简化系统 根据上述分析,确定t c p i p 协议的简化原则如下: 1 ) 在满足基本通讯要求的前提下,尽量减少协议的数量。 2 ) 在保证协议基本功能的前提下,去除一些不相关的功能。 华中科技大学硕士学位论文 3t c p i i p 协议栈的简化和设计 根据第二章所述的简化原则,对标准的t c p i p 协议进行简化。简化分为两个不 同层次,1 ) 总体上,从t c p , q p 协议栈中选取必要的协议,构成t c p i p 协议栈简化系 统。2 ) 在局部范围内,针对已选取的协议,进一步对它的功能进行选取和简化,并确 定具体实现方法。简化完成之后,设计出相应的实现模型。 3 1 协议选取 嵌入式系统使用t c p i p 协议的一个主要目的是实现网络接入,因此只选取与数 据传输直接相关的协议。 t c p i p 协议中与数据传输直接相关的基本协议有:口协议、u d p 协议和t c p 协 议。此外,为实现通讯还需要一些辅助协议:i c m p 协议和a r p 协议等。虽然不是所 有网络通讯都需要a r p 协议,但是它是一个重要的基本协议,缺之不妥。 根据上述取舍,可构建一个简化的t c p t p 协议栈系统,图3 1 为其数据流图。 3 2t c p p 协议栈简化设计 图3 1 表明,数据在t c p i p 协议栈中双向流动,即接收数据和发送数据两个方向。 1 ) 接收网络数据过程 数据源包括网络上对嵌入式系统的访问者和网络管理服务器。数据终点包括a r p 响应处理程序,p i n g 1 响应处理程序和u d p t c p 应用程序。数据顺着网络接口层, 网络层,传输层和应用层方向向上流动,在相应的协议层上对协议进行判别,然后调 用相应的功能模块对数据进行处理,最后数据到达数据终点,完成最终处理。 2 ) 发送网络数据过程 与接收过程相反,数据由p i n g 响应处理程序和u d p t c p 应用程序产生,数据终 点包括网络上对嵌入式系统的访问者和网络管理服务器。数据顺着应用层,传输层, 网络层和网络接口层的方向向下流动,在相应的协议层上对数据进行封装,形成新的 华中科技大学硕士学位论文 数据包,最后由网络设备驱动程序把封装好的数据发送到网络。 图3 1 简化的t c p i p 协议栈数据流图 上面描述了简化的t c p i p 协议栈基本实现过程,下面将按t c p i p 协议层次作进 一步的分析。 3 2 1 网络接口层协议的实现 因为网络设备种类较多,硬件驱动程序各不相同,所遵循的协议也不相同,这里 不针对具体的网络设备硬件进行讨论。 网络接1 3 层的主要功能是:( 1 ) 接收数据并存入接收数据缓冲区,交给上层协议 处理。( 2 ) 将上层协议封装好的数据,经网络接口设备发送出去。 华中科技大学硕士学位论文 3 2 2 网络层协议的实现 对于此t c p i p 协议栈简化系统,需要实现的协议有口协议,a r p 协议和i c m p 协议。 ( - - ) i p 协议简化与设计 1 i p 协议功能分析与简化 ( 1 ) i p 地址选择 i p 地址是i n t e m e t 上主机逻辑标识,作为网络通讯的唯一标识,t c p i p 协议通讯 离不开口地址。目前广泛使用的版本是婵v 4 ,即口地址为一个3 2 位数,因此t c p i p 协议简化系统实现p “。 表3 - 1 私有网i p 地址范围 i p 类型 地址范围 a 类 10 0 0 0 10 2 5 5 2 5 5 2 5 5 b 类1 7 2 1 6 0 0 1 7 2 3 1 2 5 5 2 5 5 c 类1 9 2 1 6 8 0 0 -1 9 2 1 6 8 2 5 5 2 5 5 嵌入式系统可采用私有网( 专用网) 口地址【3 0 】,如表3 - 1 所示。理由是: 目前,嵌入式系统网络连接范围不大,不需要直接接入i n t e m e t ,没有必要给它分 配可以接入i n t e r a c t 的合法m 地址。 p 地址资源有限,而嵌入式系统数目巨大,需要的口地址也多。因此,重复使用 私有网p 地址,可以解决m 地址不够的问题。 i p v 6 1 3 1 将提供1 2 8 位的p 地址,可以有效地解决口地址耗尽的问题,也为嵌入 式系统提供丰畜的口地址资源,但目前i p v 6 尚未形成完整统一的规范。因此,嵌入 式系统支持i p v 6 还需要一个时间过程。 ( 2 ) 路由选择 路由选择是礤协议一个重要功能,负责把数据报文从源站点传递到目的站点。 嵌入式系统一般只与本网段内的网络服务器( 网关) 或其它嵌入式系统进行通讯,复杂 的路由在网络服务器上实现。因此,在设置嵌入式系统网络参数时,只需要设置网关 1 4 华中科技大学硕士学位论文 i p 地址和子网掩码。 路由器不转发目的地址为私有网口地址的m 数据报,因此外部网段不能直接访 问到嵌入式系统。另外,嵌入式系统可以向指定的口地址发送数据,并且可以经过 网关的地址转换( n 处理【3 2 1 后访问i n t e m e t 。 ( 3 ) i p 地址分配 由于嵌入式系统的人机交互性差且应用场合多变,不便现场设置口地址,因此 需要由网络服务器对它进行配置,实现i p 地址分配。可用来完成p 地址分配任务的 协议有r a r p 协议。b o o t p 协议和d h c p r 3 3 1 协议。其具体实现过程将在后续章节中 讨论。 ( 4 ) 分片与重装功能 不同类型的网络对其数据链路层上的最大传输单元( m n j ) 规定有所不同【州,如表 3 2 所示。当发送的口数据报的长度大于链路层m t u 数据时,需要进行m 分片处理。 反之,当接收到i p 分片后,需要进行重装处理。由图3 2 可知,i p 数据报文的首部有 处理分片和重装的控制字段。 表3 - 2 几种常用网络的m t u 网络类型 m t u ( 字节、 f d d i4 3 5 2 以太网1 5 0 0 m e e8 0 2 3 ,8 0 2 2 1 4 9 2 x 2 5 5 7 6 点对点( 低延时) 2 9 6 嵌入式系统可以不作分片与重装处理,这是因为: 嵌入式系统网络通讯数据量不大,并且每个口数据报的大小都可以控制在本 地m t u 以内。如果是超过本地m t u ,则由上层协议进行处理。 不同m t u 的网络间通讯时,若需要分片与重装处理,则由网关完成。 分片与重装处理需要复杂的内存管理机制,会影响到通讯效率【3 ”。 基于上述原因,在t c p i p 协议栈简化系统中,并不进行p 分片和重装处理。这 1 5 华中科技大学硕士学位论文 样既不影响通讯的正常进行,又降低了口协议处理的复杂程度,避免了因口分片和 重装处理而进行复杂的内存管理。 ( s o i p 分用处理 图3 2 中的协议字段用于指明该i p 数据将要提交的上层协议。如图3 1 所示,可 以产生i p 数据的协议有i c m p 协议、t c p 协议和u d p 协议,所以i p 分用处理只针对 上述三个协议,丢弃其它协议数据包。 ( 6 ) i p 首部字段详细说明 o 1 51 6 3 l 4 位版本4 位首部长度i8 位服务类型 1 6 位总长度( 字节) 1 6 位标识3 位标志1 3 位片偏移 8 位生存时间( 1 1 l )| 8 位协议 i1 6 位首部校验和 3 2 位源i p 地址 3 2 位目的i p 地址 可选项 图3 2i p 数据报文首部格式 版本和首部长度字段处理 嵌入式系统仅处理版本号为4 ,首部长度为2 0 字节的p 数据报。因为目前i p v 4 应用最广,新版本的口v 6 协议还没有普及,所以暂不考虑。由于i p 任选项中的内容 对嵌入式系统网络通讯意义作用不大,所以不对选项进行处理。 服务类型( t o s ) 字段处理 现在大多数的t c p i p 实现都不支持t o s 特性【蚓,将其设置为正常类_ 型( o o i - 0 。 总长度字段 需要注意的是,总长度= i p 数据+ 礤首部长度。 标识 每发一个p 数据报,自动加1 。 标志和分片偏移 如前所述,不进行p 数据报的分片与重装处理,因此这两个字段为0 0 h 。 生存时间( t t l l 按常规处理,取值3 2 或6 4 。 1 6 华中科技大学硕士学位论文 协议字段 如前述,用于m 分用处理。如表3 3 所示。 表3 - 3 协议字段值与协议的对应关系表 协议字段值协议 1i c m p 协议 6t c p 协议 1 7l 力) p 协议 首部校验和f 3 6 】 根据参考文献【3 6 】,进行p 首部校验和计算。由于计算校验和要消耗大量c p u 时间,为提高效率,对收到的口数据报不进行首部校验和的校核,而只在发送口数 据报时计算首部校验和。 源口地址 即本地主机口地址。 目的p 地址 即口数据报要传递的目的地址。 2 口协议实现模型设计 根据简化的结果设计i p 协议实现 模型,模型由以下3 个模块组成:p 数据报接收处理模块、口数据报发送 处理模块和首部形成模块。如图3 3 所示。 接收过程:口数据报接收处理模 块只接收球目的地址为本机p 地址或 广播口地址的数据报,然后将该p 数据报首部信息记录于首部信息缓存 中,最后根据d 数据报首部的协议字 段内容将数据提交给上层协议处理。 发送过程:首先坤首部形成模块 图3 3i p 悔议实现模型 1 7 华中科技大学硕士学位论文 根据上层协议类型,确定i p 数据报首部的协议字段内容,然后从首部信息缓存中读 取形成i p 首部的相关信息,最后计算m 首部校验和。形成口数据报首部后,调用口 数据报发送处理模块,将整个口数据报写入数据发送缓冲区以及i p

温馨提示

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

评论

0/150

提交评论