(管理科学与工程专业论文)嵌入式轻便tcpip协议的研究与实现.pdf_第1页
(管理科学与工程专业论文)嵌入式轻便tcpip协议的研究与实现.pdf_第2页
(管理科学与工程专业论文)嵌入式轻便tcpip协议的研究与实现.pdf_第3页
(管理科学与工程专业论文)嵌入式轻便tcpip协议的研究与实现.pdf_第4页
(管理科学与工程专业论文)嵌入式轻便tcpip协议的研究与实现.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

(管理科学与工程专业论文)嵌入式轻便tcpip协议的研究与实现.pdf.pdf 免费下载

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

文档简介

j 阳盟 捅要 忆联删已经进入个崭新的| 卜| 代,它已成为我们 1 常 活的部 分。_ 此州,嵌入武系统逐步融入我们的,j 一酒c h 嵌入,系统也越 水越重视恻络特性。嘲络专家预洲:将术z l 1 i nc j 1 1 0 1 i 传输的信息 巾,将有7 0 的信息来自小型嵌入式系统】。嵌入式设备的1 n 1e r n p t 网络化成为目前嘲络发展的重要方向和必然结果。为此,本文对嵌入 式发备联网的t c p 1 p 协议进行了研究。 目i h 已经出现的嵌入式系统的t c p i p 实施方案多数是面向某一 特殊的应用,通常足w e b 服务器,并不适合处理一般的应用。当前8 伉、1 6 位嵌入式系统在市场上有着广泛的应用,要实现这些资源十分 有限的嵌入式设备接入j n t e t n e t ,需要设计适用于一般应用、代码量 小、便于移植的轻便t c p i p 协议栈,在本论文中称之为“嵌入式轻 便,l c p i p 协议” ( e p i p - - e m b e d e dp o r t a b let c p i p ) 。 嵌入式轻便t c p i p 协议的研究是和实际紧密结合的研究,因为 设计目标是面向一般应用的i c p i p 实施方案,所以无论在商业领域 还是在非商业领域,都可以应用嵌入式轻便i c p i p 协议实现嵌入式 系统接入i n t e r n e t 。嵌入式系统能够连接到 n t e r n e t 上面,则可以 方便、低廉地将信息传送到几乎世界上的任何个地方。 论文首先介绍了嵌入式t c p i p 协议栈的总体框架设计和目前的 研究现状,然后简单介绍实现部分的t c p 7 i p 协议的工作原理。在第 四章着重讲述了嵌入式轻便t c p i p 协议的设计思路和各个功能模块 的详细设计,包括实现的主体协议a r i 、i p 、i c m p 、t c p 、u d p 等协议 的数据结构和函数模块调用。第血章讲述了在模拟的实验环境下嵌入 式轻便t c p i p 协议栈的运行情况,包括在没有操作系统支持和有简 单操作系统支持两种情况下的仿真实验研究。通过实验测试可以得出 结论,在c l i e n t s e r v e r 网络环境下,嵌入式轻便t c p p 协议栈可 以支持多种应用,各个协议完成了指定的功能。论文的最后对令后的 进步研究方向进行了探讨。 芙 ! _ | ,词:m ) ,、i 浸入,_ i = 系统、懒块设i j 、模拟吱验 垒堕! ! ! ! a b s t r a c t _ t h ei n t e r n e ti se n t e r i n gan e we r a ,i nw h i c hi th a sb e c o m e p a r to fo u re v e r y d a y 1if e a tt h e s a m eti m e e m b e d e ds y s t e m g r a d u a l l ym e t si n t ot h ei n s i d eo fo u rl i f e e m b e d d e ds y s t e m e m p h a s i z e sn e t w o r k i n gf e a t u r e n e t w o r ke x p e i t s p r e d i c t i o ni s : i nt h ef u t u r et h e7 0p e r c e n ti n f o r m a t i o nt h a ti sd e l i v e r e do n t h ei n t e r n e tw i1 1c o m ef r o ms m a l ls c a l e de m b e d e ds y s t e m a d d i n g i n t e r n e tn e t w o r kc a p a b i l i t i e st oe m b e d e dd e v i c e sh a sb e c o m ea l l i m p o r t a n td i r e c t i o na n di n e v i t a b l et r e n do fc u r r e n tn e t w o r k d e v e l o p m e n t t h e r e f o r e ,t h i sp a p e r r e s e a r c h e st h e t c p i p p r o t o c o lf o re m b e d e dd e v i c e sc o n n e c t e di n t oi n t e r n e t , n o wm o s to ft h ee x i s t i n gt c p i pi m p l e m e n t a t i o n sf o re m b e d e d s y s t e mo r i e n tt oa ns p e c i a la p p l i c a t i o n ,u s u a l l y i sa nw e b s e r v e r ,w h i c hi s n o ts u i t a b l ef o rt h eg e n e r a l a p p l i c a t i o n c u r r e n t l y8 - b i t a n d1 6 一b i te m b e d e d s y s t e m s h a v e g o t t h e e x t e n s i v ea p p i i c a t i o no nt h em a r k e t ,i no r d e rt oc o n n e c tt h o s e e m b e d e dd e v i c e so fl i t t l er e s o u r c ei n t ot h ei n t e r n e t ,w en e e d d e s i g na np o r t a b l et c p i pp r o t o c o l s u i t ew h i c ho r i e n t st ot h e g e n e r a la p p l i c a t i o n ,w h i c hr e q u i r e s l i t t l ec o d es i z ea n di s c o n v e n i e n t f o rp o r t i n g i nt h i sp a p e r ,w ec a l li t ”e m b e d e d p o r t a b l et c p i pp r o t o c o l ”( e p i p ) t h er e s e a r c ho fe m b e d e dp o r t a b l et c p i pp r o t o c o lr e l a t e s w i t ht h ep r a c t i c e , b e c a u s et h ei m p l e m e 兀t a t i o no r i e n t st ot h e g e n e r a la p p l i c a t i o n ,w h e t h e ri nt h eb u s i n e s sr e a l m o rn o t ,t h i s i m p l e m e n t a t i o nc a na p p l yt o c o n n e c tt h ee m b e d e ds y s t e mi n t o t h ei n t e r n e t a n dt h e ni n f o r m a t i o nc a na l m o s t b ed e l i v e r e d e v e r y w h e r e i nt h ew o r l dc h e a p l ya n dc o n v e n i e n t l y a tf i r s t ,w ein t r o d u c e t h ew h o l ef r a m ed e s i g na n dt h e r e s e a r c ha c t u a l i t y o ft c p i p i m p l e m e n t a t i o n s f o re m b e d e d a b s t r a c l s y s t e m ,t h e nw ei n t r o d u e et h et h e o r yo ft c p i pp r o t o c o lw eh a v e i m p le m e n t e d i nc h a p t e r4 ,w ee x p l a i nt h ec o n s i d e r a t i o nf o r e m b e d e dp o r t a b let c p i pp r o t o c o la n dt h e d e s i g no fp r o t o c o l m o d u l e ss u c ha sa r p ,i p ,i c m p ,t c p ,u d pa n dt h ef u n c t i o nc a l l b e t w e e nm o d u l e si nd e t a i l i nc h a p t e r5 ,w ei n t r o d u c et h er u n n i n g o fe m b e d e dp o r t a b l et c p i pp r o t o c o li nt h es i m u l a n tc o n d i t i o n , w h i c hi n c l u d e st h ec o n d i t i o nw i t h0 ss u p p o r t i n ga n dt h e c o n d i t i o nw i t h o u to ss u p p o r t i n g t h r o u g ht h ee x p e r i m e n ta n d t e s t ,w ec a nc o n c l u d e :i nt h em o d u l eo fc l i e n t s e r v e rn e t w o r k i n g e n v i r o n m e n t ,e m b e d e dp o r t a b l e t c p i p p r o t o c o l c a n s u p p o r t d i f f e r e n tk i n d so fa p p l i c a t i o n s ,e v e r yp r o t o c o lf u n c t i o nw e l l a tt h ee n do ft h isp a p e r ,s o m ep r o p o s a l st om o r er e s e a r c hw o r k a r eg i y e n k e y w o r d s :t c p t p , e m b e d e d s y s t e m , m o d u l e d e s i g n , s i m u l a t i o ne x p e r i m e n t 独创性声f ! ! j j y 5 8 5 8 7 9 本人卢明,所呈交的学位论文是我个人在导师指导f 进行的研究 - 1 作及取得的研究成果。尽本人所知,除了文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含为获得北京交通大学或其他教学机构的学位或证书而使用过的 材料。与我一起二_ = 作的同志对本研究所做的任何贡献己存论文中作了 明确的说明并表示了谢意。 本人签名:趔 日期:! 堕年二月生日 些丝 1 绪论 1 1 选题背景和意义 随着i n t e m e t 的巨大成功,t c p i p 协议族已经成为了全球性的通 信标准。t c p i p 是项应用广泛的标准,利用它可以接通并控制电子 装置,通过绝大多数传输媒体几乎可以和运行在所有操作系统上的软 件进行通信。 与此同时,互联网已经进入一个崭新的时代,它已成为我们日常 生活的一部分。无论是在家中、在办公室或者其他地方,都能方便地 连接到网络上。随着互联网的普及,嵌入式系统已越来越重视网络特 性。 要实现全球信息化,“每一设备都接入i n t e r n e t ”,完全支持t c p i p 的微型装置将成为网络的主力公民1 2 ”。嵌入式设备或微控制器 ( m c u ) ,通称嵌入式系统,已经在家庭和工业的各个领域得到了应用。 目前大多数嵌入式系统还处于单独应用的阶段,以m c u 为核心,与 一些监测、伺服、指示设备配合实现定的功能。i n t e r a c 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 就可以将设备的监 控延伸到全球的任何一个角落; t c p i p 协议是已经发展成熟而公开的,可以利用各种w e b 浏览器软件读取信息; 信息直接反映在色彩丰富的网页上,形式可以是数据、文字、 图像、表格,实时数据会自动更新,设备的操作会有及时可 见的反馈; 北京变通人学硕士学位论文 每次信息传输都可以让相应的客户机按照各自的需要给予显 现和操作。 将嵌入式系统与i n t e m e t 相连的主要困难在于:i n t e r n e t 的各种 通信协议对存储器容量、运算速度等的要求比较高;而嵌入式系统中 除部分3 2 位处理器外,大量存在的8 位和1 6 位m c u ,支持t c p i p 等i n t e r n e t 协议将占用大量系统资源,传统的t c p i p 实施方案很难 在资源很有限的嵌入式系统直接实施。 目前已经出现的嵌入式系统的t c p i p 实施方案多数是面向3 2 位 嵌入式设备的,而且多数是面向某一特殊的应用,通常是w 曲服务器, 并不适合处理一般的应用。当前8 位、1 6 位嵌入式系统在市场上有着 广泛的应用,要实现目前大多数的嵌入式设备接入i n t e m e t ,实现有线 或无线上网,需要设计适用与一般应用、便于移植的轻便式t c p i p 协 议,并且要面向未来,支持i p v 6 协议,为生产出可靠、廉价、支持w e b 、 跨行业、跨市场的设备提供软件支持。 本论文的研究方向就是:面向一般应用的嵌入式轻便t c p i p 协议 的设计与实现。设计目的是设计出代码少、能够使目前广泛使用的资 源十分有限的8 位,1 6 位以及3 2 位等嵌入式系统接入i n t e r n e t 的轻便式 协议栈。 嵌入式轻便t c p i p 的研究是和实际紧密结合的研究,因为设计 目标是面向一般应用的t c p i p 实施方案,所以无论在商业领域还是 在非商业领域,都可以应用嵌入式轻便t c p i p 实现嵌入式系统接入 i n t e m e t ,其应用领域可以包括以下几个方面1 2 j : 网络化控制:电机、工业自动化、家庭自动化等; 网络仪表:远程分布式数据采集; 信息家电:智能家电、w w w 方式监控界面、在线更新; 家庭网关:非i n t e r n e t 协议的轻量级设备联网的转换器。 1 2 本论文研究内容和方法 嵌入式轻便一c p i p 是面向资源十分有限的嵌入式系统设计的,完 绪论 整的t c p i p 协议栈的实现需要大量的资源,必须对其进行合理的重新 设计才可以在嵌入式系统上实现。嵌入式轻便t c p i p 的设计内容包括 两方面的内容: a 设计与实施轻便的t c p p 协议栈协议功能模块,能够支持i p v 4 , 这一设计要能够在c p u 平n 内存资源有限的8 位、1 6 位矛1 1 3 2 位嵌入式系统 中运行,这一t c p 仰协议栈至少要支持t c p 、u d p 、l p 、i c m p 、a r p 和基本的路由。 b 为了使轻便的t c p i p 协议栈有广泛的应用,要增加一些辅助 的模块,便于协议栈的实施与移植。这些模块包括,操作系统模拟层, 缓冲和内存管理子系统,网络接口函数和计算校验和的函数,a p i 等。 本论文采用理论和实际相结合的研究方法,软件上的编程采用系 统分析、系统设计等一系列软件设计方法。由于有完整的t c p i p 协 议栈代码可以参考,各个协议模块的编程可以借鉴,但是考虑到 t c p i p 在嵌入式系统上实施,所以会有很大的不同,包括内存的管理、 报头选项的舍取等很多方面。 本课题的实验方案是在模拟的实验环境运行协议栈并进行测试 和分析。 1 3 本论文结构概述 本论文以后章节的结构筒述如下: 第二章介绍了目前嵌入式t c p i p 协议栈的总体框架设计和目前 的研究现状。 第三章简单介绍了t c p i p 的工作原理。 第四章讲述了嵌入式轻便协议的设计思路和各个功能模块的详 细设计。 第五章讲述了在模拟的实验环境下嵌入式轻便协议t c p i p 栈的 运行情况,包括在没有操作系统支持和有简单操作系统支持两种情况 下的仿真实验研究。 第六章讲述了t c p i p 协议栈的迸一步研究主题和展望。包括对 北京交通入学硕士学位论文 i p v 6 的支持,代理机制的实施,安全方面的考虑等。 1 4 符号规范 本文采用专有名词的标准英文缩写,在第一次出现时同时给出了 中文名称和英文名称。符号规范符合国家标准,如有特殊之处,另行 说明。 设计基础和总体框架设计 设计基础和总体框架设计 2 1 设计基础 目前,存在多种嵌入式设备连接网络的方案与之对应的嵌入式 t c p i p 协议栈,对目前这些方案的研究对本论文有重要的参考价值。 2 1 1 总体方案分类 利用嵌入式设备实现嵌入式i n t e r n e t 方案的技术难点在于:如 何利用嵌入式设备自身有限的资源对信息进行t c p i p 协议处理,使 之变成可以在i n t e r n e t 上传输的i p 数据包。从解决这技术问题出 发,目前出现几种方案,讨论如下: a 3 2 位m c u + r t o s :采用3 2 位的高档嵌入式设备,在r t o s ( 实 时多任务操作系统) 的平台上进行软件开发,在嵌入式系统中实现 t c p i p 的协议处理【2 5 l 。由于采用高档嵌入式设备,该方案可以完成很 多复杂的功能。但这种方案存在如下缺点:( 1 ) 高档嵌入式设备价格 较贵,开发周期较长:( 2 ) 需要购买昂贵的r t o s 开发软件,对开发 人员的开发能力要求较高。 b 。8 位m c u + 精简t c p i p 协议栈【3 】:根据嵌入式应用的特点,将 t c p i p 协议栈做大幅度的简化,只保留其中最核心的部分,这样,就 可以大幅度减少对于系统资源的需求,从而可以在低成本、低速度、 小内存的m c u 上实现网络连接,此方案的优点是廉价,便于广泛应用: 缺点是:( 1 ) 开发周期长,对开发人员有较高要求;( 2 ) 协议栈需 要长期深入测试和修改才能达到可靠性要求。 c p cg a t e w a y 十专用网:采用专用网络( 如r s 2 3 2 ,r s 4 8 5 ,c a n b u s 等) 把一小批嵌入式设备连接在一起,然后再将该专用网络连接 到个p c 上,该p c 作为网关将专用网络上的信息转换为t c p i p 协 一5 一 j 匕京交通人学硕士学位论文 议数据包,然后发到网上实现信息共享。该方案可以连接多种嵌入式 设备。但存在如下缺点:( 1 ) 需要依赖p c 机作网关进行协议转换, 在多个嵌入式设备系统分散的情况下,专用网络布线极为不便:( 2 ) 需要在p c 机上安装专门的协议转换软件,该软件通常由专门的第三 方软件商提供,费用较高。这一技术的代表是e m i t 。 e m i t 并不能让设备直接具备i n t e r n e t 的连接能力,而是需要一 个被称为e m g a t e w a y 的网关【4 】,它可以是台以w i n d o w s 为操作系统 的普通p c ,它支持t c p i p 协议并能提供h t t p 服务,从而允许用户通 过浏览器来远程访问它,这使得它像i n t e r n e t 服务器;另一方面, e m g a t e w a y 通过r s 2 3 2 、r s 4 8 5 和c a n 总线轻量级网以及m o d e m 、r f 、 i r d a 等方式,将多个嵌入式设备或智能家电连接在一起,并担当 t c p i p 和轻量级网之间有关协议的转换任务,这又使它像i n t e r n e t 网关。 e m g a t e w a y 及其相关技术已是一个标准化了的技术,目前全球知 名的i t 厂商如m o t o r o l a 、a t & t 、p h i l i p s 、h i t a c h i 等都已宣布支持 这一标准。 2 1 _ 2 现有的嵌入式t c p i p 协议栈的研究 嵌入式t c p i p 协议栈为嵌入式设备接入i n t e r n e t 提供最重要的 软件支持,已经得到了广泛的重视和研究,现有的嵌入式t c p i p 协 议栈是本论文的重要设计基础1 2 ”。 t c p i p 最先是在u n i x 系统里实现的,后来的l i n u x 、d o s 、w i n d o w s 也实现了t c p i p ,随后t c p i p 协议也被移植到其它嵌入式的处理器 上,由于指令以及资源上的原因,在u n i x 上实现的t c p i p 协议的源 代码并不能够直接移植到8 位、1 6 位的嵌入式设备上。很多嵌入式设 备的内存空间是极为有限的,直接寻址的空间仅6 4 k 字节,可用的内 存r a m 也是非常小的,最多只能扩展6 4 k 的r a m 。嵌入式设备的运算 速度也极为有限,一般只有2 m i p s ,而一般电脑上的处理能力在 1 0 0 m i p s 以匕。 设计基础和总体框架设计 因此,嵌入式系统尤其是8 位、1 6 位嵌入式设备上的t c p i p 协 议栈需要高度简化专门设计。可以用来参考的协议栈包括如表2 1 所示。 表2 1 现有嵌入式t c p i p 协议栈比较 方案内存需求代码尺寸特点评价 8 0 5 2 1 p h a r d 3 2 k s y t e1 5 k 8用a s m 编写且以l i b 形 c z 式发布,不利于移植 t c p i pl e a n5 0 0 b y t e5 k b 只有s l i p 的支持,不 s e r v e ro np i c 能连接以太网 t c p i p o n l k b y t e 5 k b 代码过于简单,不利于 m s p 4 3 0扩展 l w i p 1 0 k b4 0 k b资源需求稍多 t i n y t c p5 0 0 b y t e6 k b比较可行的方案 u i p0 65 0 0 b y t e 5 k b 比较可行的方案 u c i d l 一0 3需要和c o s 这一实时 内核配合 e t h e r n u t需要和n u to s 这一实 时内核配合 注:表格中“一”表示由于保密原因没有公布的数字 、 在本论文研究中,选择了l w i p 、t i n y t c p 、u i p0 6 作为参考设 计。 l w i p 协议是瑞士计算机科学院( s w e d i s hi n s t i t u t eo fc o m p u t e r s c i e n c e ) 的a d a md u n k e l s 等开发的套用于嵌入式系统的开放源代 码t c p i p 协议栈。l w i p 的含义是l i g h tw e i g h t ( 轻型) i p 协议。l w i p 实现的重点是在保持t c p 协议主要功能的基础上减少对r a m 的占用, 一般它只需要几十k 的r a m 和4 0 k 左右的r o m 就可以运行,这使嵌入 式轻便t c p i p 协议协议栈适合在低端嵌入式系统中使用。 t i n y t c p 仅仅包含t c p 部分,由g e o f f r e yh c o o p e r 在1 9 8 6 年 编写。包括t c p 和f t p 的c 程序简要实现,可以在r o m 中运行。t i n y t c p - 7 - 北京交通火学硕士学位论文 的下载地址【2 7 1 : h t t p :w w w c s o n l i n e n e t b p a d d o c k t i n y t c p t i n y t c p z i p u i p o 6 包含t c p i p 协议栈,u l p 的设计目标是为了降低t c p i p 代码的尺寸和内存的消耗量3 0 1 。 u l p o 6 的主页:h t t p :d u n k e l s c o m a d a m u i p 2 2 嵌入式轻便t c p i p 网络系统结构 嵌入式轻便t c p i p 网络系统的体系结构如图2 1 所示【l 。其中, t c p i p 协议栈是本论文要研究的主要内容,s o c k e ta p i s 是一组可供 应用程序调用的接口函数,应用程序通过它使用t c p i p 协议栈的功 能。t c p i p 协议栈与s o c k e th p l s 一起以系统组件的形式提供给用户, 用户使用s o c k e th p l s 编写应用代码,然后与该系统组建的代码库链 接在一起。操作系统内核为嵌入式t c p i p 组建和应用程序提供任务 管理和存储管理等系统支持。 应用程序 s o c k e t sa p i s t c p i p 协议栈 操作系统网络设备驱动 嵌入式设备 n e 2 k 网络芯片 图2 1 嵌入式轻便t c p i p 网络系统结构 嵌入式t c p i p 协议为实现嵌入式系统网络功能提供软件支持, 设计时需要考虑了移植方面的问题,协议栈应该可以运行在没有操作 系统的环境下,也应该可以运行在有嵌入式操作系统的环境下。 l :作原理简述 3 工作原理简述 3 1 t c p i p 协议简介 t c p i p 协议的来源最早可以追溯到美国国防部赞助的研究网络 a r p a n e t 。a r p a n e t 网最初使用n c p ( n e t w o r kc o n t r o lp r o t o c 0 1 ) 协议。逐渐地,a r p a n e t 网通过租用的电话线连接了数百所大学和政 府部门。但是当卫星和无线网络出现以后,利用这种协议连接不同网 络时出现了问题。需要一种新的参考体系结构,它能够无缝隙地连接 多个网络。这种体系结构在它的两个主要协议( t c p 、i p ) 出现以后, 就被称为t c p i p 参考模型。t c p 和i p 协议是由斯坦福大学的两名研 究人员于1 9 7 3 年提出的。由于t c p i p 协议具有跨平台的特性, a r p a n e t 的实验人员在经过对t c p i p 的改进以后,规定连入a r p a n e t 的计算机都必须采用t c p i p 协议。后来a r p 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 事实上的标准连 接协议。现在,随着人们对数据共享和分布式处理要求的不断提高, 联网成了普遍要求。t c p i p 协议得到了越来越广泛的应用,特别是在 嵌入式系统应用中。 t c p i p 协议栈中包括很多协议子集,如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 o l ,地址解析协议) 、r a r p ( r e v e r s ea r p ,逆地址解析协议) 、 i p ( i n t e r n e tp r o t o c o l ,互联网络协议) 、o s p f ( o p e ns h o r t e s tp a t h f i r s t ,内部网关路由选择协议) 、b o p ( b o r d e rg a t e w a yp r o t o c o l , 外部网关路由选择协议) 、i c m p ( i n t e r n e tc o n t r o lm e s s a g ep r o t o c o l , 互联网控制报文协议) 、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 o l ,传 输控制协议) 、u d p ( u s e rd a t a g r a mp r o t o c o l ,用户数据报协议) 等, 以及应用层上的i ) n s ( d o m a i nn a m es y s t e m ,域名解析协议) 、s n m p ( s i m p l en e t w o r km a n a g e m e n tp r o t o c o l ,简单网络管理协议) 、s m t p ( s i m p l em a i l t r a n s f e rp r o t o c o l ,简单邮件传输协议) 、h t t p ( h y p e r t e x tt r a n s f e rp r o t o c o l ,超文本传输协议) 等等。为了减 北京交通人学硕士学位论文 少协议设计、实现的复杂性,t c p i p 协议采用了分层( 1 a y e r ) 或分 级( 1 e v e l ) 的方式来组织整卜协议栈。每一层都建立在它的下层之 上,接受下层提供的服务,并向它的上层提供自己的服务,但是把如 何实现这一服务的细节加以屏蔽。这样就好像一台机器的第n 层与另 一台机器的第n 层直接进行对话,它们之间进行对话的规则就是第n 层的协议。t c p i p 协议是从工程应用中发展起来的,注重效率,而不 象o s i 七层模型那样注重说明协议的标准性,其参考模型如图3 1 所示: 冈同同叵 。 。 1 - 一导县卜 眄- rh 竺l 日i 周 1 m h a r 耐d w a 黜r e r 层 网络接口层 图3 一lt c p i p 参考模型 a 网络接口层,有时也称为数据链路层。通常包括操作系统中 的设备驱动程序和计算机中对应的网络接口卡,它们与电缆( 或其他 任何传输媒介) 一起处理物理接口细节,常用的a r p 协议属于这一层a b 网络层,有时也称作互联网层。处理分组在网络中的活动, 作原理简述 例如分组的选路。在t c p i p 协议族中,网络层协议包括i p 协议( 网 际协议) 、i c m p 协议( i n t e r n e t 互联网控制报文协议) 以及i g m p 协 议( i n t e r n e t 组管理协议) 。这里主要讨论i p 协议。 c 传输层主要为两台主机上的应用程序提供端到端的通信。在 这一层中,定义了两个端到端的协议:t c p 和u d p 。t c p 为两台主机提 供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据 分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最 后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通 信,因此应用层可以忽略所有这些细节。u d p 是一个不可靠的、无连 接协议。 d 应用层负责处理特定的应用程序细节。几乎各种不同的 t c p i p 实现都会提供下面这些应用:h t t p ( 超文本传输控制协议) 、 t e l n e t ( 远程登录协议) 、f t p ( 文件传输协议) 、s m t p ( 简单邮件传 送协议) 、s n m p ( 简单网络管理协议) 。 由于嵌入式设备接入i n t e r n e t 通常面向专门的、小数据量的应 用,实现f t p 、s m t p 等协议应用不是太多。主要是应用h t t p 和t e l n e t 。 3 2 嵌入式轻便t c p ! p 实现的主要协议之原理 本论文实现的嵌入式轻便t c p i p 协议包括i p ,t c p ,u d p ,i c m p , a r p 。下面分别介绍这些协议的原理。 3 2 1 i p 协议 i p 是t c p i p 协议族中最为核心的协议1 2 0 】。i n t e r n e t 所有的数据 都以i p 数据报格式传输。i p 协议最大的特点是提供不可靠的和无连 接的数据包传送服务。 不可靠( u n r e l i a b l e ) 的意思是它不能保证i p 数据报能成功地 到达目的地。i p 仅提供最好的传输服务。若发生某种错误时,如某个 路由器暂时用完了缓冲区,i p 有一个简单的错误处理算法:丢弃该数 ! ! 塞壅塑叁堂堡主堂篁堡塞 据报,然后发送 - c m p ( i n t e r n e t 控制报文协议) 消息报给信源端。 任何要求的可靠性必须山上层来提供( 如t c p ) 。 数据报可能出现丢失、重复或次序紊乱等现象,所以,它是非可 靠的协议。但是,i p 协议的最大好处是,i p 数据报独立于低层的网 络技术,所以它是一种通用的数据传送方法。 无连接( c o n n e c t i o n e s s ) 的意思是i p 并不维护任何关于后续 数据报的状态信息。每个数据报的处理是相互独立的。这也说明,i p 数据报 - f d a 不按发送顺序接收。如果一信源向相同的信宿发送两个连 续的数据报( 先是a ,然后是b ) ,每个数据报都是独立地进行路由选 择,可能选择不同的路线,因此,b 可能在a 到达之前先到达。 i p 数据包的格式如图3 2 所示。 03 71 ,2 0 丑 叛奉l 黄鳓嚷 鬏癸翘 继壤: 标识 。椭l 片镝蓼。 生存对闻协议首郜皎静 删 茸的地址 嘲 数据 图3 - 2i p 数据包的格式 各部分的含义如表3 一i 所示: 表3 1i ph e a d e r 各部分含义解释 区域描述 版本v e r s i o n是指i p 协议的版本号,只能取4 、6 两值,4 为当前i p 标准i p v 4 ) ,6 是将来的i p v 6 首部长度i h l ( i ph e a d e r按照3 2 - b i tw o r d s 来计算的i n t e r n e th e a d e r 长度, l e n g t h )通常为5 ,由于它是一个4 位字段,因此首部虽长为 6 0 个字节 包括一个3 位的优先权( p r e c e d e n c e ) 子字段、4 位的 服务类型t y p e o ft o s 子字段和l 位未用位但必须置0 。4 b i t 的t o s 分别 s e r v l c e代表:最小时延、撮大吞吐量、摄高可靠性和最小 费用。4 b i t 中只能置其中l b i t 。如果所有4 h i t 均 1 作原理简述 为0 ,那么就意味着是一般服务 总长度t o t a ll e n g t h 指整个i p 数据报的长度( h e a d e ra n dd a t a ) ,按 b y t e s 计。利用首部长度字段和总长度字段,就可以 知道i p 数据报中数据内容的起始位置和长度。 标识i d e n t i f i c a t i o n由发送方指定的i d ,辅助数据包的分片和组台。唯 一地标识主机发送的每一份数据报 标志f l a g s ( 3b i t s )一个b i t 用来指示分片,另一个b i t 是“不分 片”b i t ,指出片断是否为分片的。最后一个b i t 保 留。指定目的地址是个完整的主机地址还是一个 网络地址 分片偏移f r a g m e n t指出一个分片部分 o f f s e t 生存时间t i m et o1i r e数据报可以经过的最多路由器数。指出数据包的最 长生存时间 协议p r o t o c o l指出在所接收的数据包载荷中包含的下一层协议 首部检验和h e a d e r根据i p 首部计算的检验和码 c h e c k s u m 源地址s o u r c ea d d r e s s发送方的i p 地址 目的地址d e s t i n a t i o n目标方的i p 地址 a d d r e s s 可选项o p t i o n s可变长度,可以没有。定义安全和处理限制、记录 路径、时间戳、宽松的源站选路、严格的源站选路 等信息 填充p a d d i n g如果有o p t i o n s ,p a d d i n g ( 填充) 保证i ph e a d e r 以3 2 一b i t 边界结束 数据d a t a数据包的载荷 3 2 2 i c i p 协议 网间控制报文协议( i n t e r n e t c o n t r o l m e s s a g e p r o t o c o l i c m p ) 是网络层的一个不可分割的部分2 “。该协议是网间层的一部 分,它使用i p 数据报传输设施去发送报文。它发送的报文可以为 t c p i p 执行下列控制、错误报告、信息等功能: a 流控制:当数据报到达的速度太快而无法处理时,目的主机 或中间网关就会发送个“i c m p 源站抑制报文( i c m ps o u r c e q u e n c h m e s s a g e ) ”块给发送者,以通知源站暂时停止发送报评议 文。 b ,检测不可达的目地:当目的地不可到达时,检测到该问题的 系统就发送一个“目的地不可达报文( d e s t i n a t i o nu n r e a c h a h l e m e s s a g e ) ”给数据报的源站。如果不可达的目的地是一个网络或主机, 就由中间网关发送该报文;如果是一个不可达的端口,则由目的地主 机发送该报文。 c 重定向路由:网关发送“i c m p 重定向报文( i c m pr e d i r e c t m e s s a g e ) ”通知主机使用另个网关,这大概是因为另一个网关更合 适。只有当源主机与这二个网关都在同一个网络上时才能使用这一报 文。 d 检查远程主机:一台主机可以发送“i c m p 回送报文( i c 船 e c h o m e s s a g e ) ”以了解远程系统的嗣间协议是否正在工作。当系 统接收到该回送报文时,便将同样的分组报文发送回源主机。常用的 p i n g 命令就使用这一报文。 3 。2 3 t c p 协议 t c p 是一种可靠的、面向连接的、字节流协议【1 4 】【1 6 1 。t c p 提供的 可靠性是利用一种称为“重传肯定确认( p o s i t i v ea c k n o w l e d g m e n t w i t hr e t r a n m i s s i o n p a r ) ”机制来实现的。换句话说,除非一个 利用p a r 的系统接收到从远端系统发来的肯定确认,否则就重发原数 据。在相互协作的t c p 模块之间交换的数据单元称为“段( s e g m e n t ) ” 如图3 - 3 所示: 工作原理简述 0 71 53 1 $ g 磺口 目嗣疆口 厣节 确认阡母 l i t g , r 捌保器i释霉冒口 裂黼幕急指i t 可远顶1 曩置 图3 3t c p 数据单元结构 每一段包含一个校验值,接收方用它来验证数据是否遭到破坏。 如果接受到的数据段没有遭到破坏,接收者就发送一个肯定确认应答 给发送者;如果遭到破坏,接收者就废弃该段。过了一段时间后,发 送端t c p 就重新发送没有受到肯定确认的任何段。 t c p 是面向连接的,它在两个通信主机之间建立一个逻辑的端对 端连接。在传输数据之前,建立对话的两个端点之问交换称为握手的 控制信息。t c p 通过在段头第4 个字的标志字段中设置相应的位来表 示一个段的控制功能。t c p 有三个段要交换,故称为“三段试握手”。 如图3 4 所示: 主机a主机b 图3 4三段试握手示意图 主机a 通过将一个具有“同步序列号( s y n ) ”的段发送给主机b 而开始连接,该段告诉主机b :主机a 希望建立连接并且使用哪个序 列号作为主杌a 的段的起始号( 序歹| j 号可用来保持数据的正确顺序) ; 主机b 用一个带有“确认应答( a c k ) ”和“同步序列号( s y n ) ”位的 段响应主机a ,以确认收到了a 的段,并通知a 它将从哪个序列号开 北京交通大学硕士学位论文 始;最后,a 发送一个段,确认收到了b 的段,并开始传送第一个实 际数据。 t c p 通过数据窗的滑动来调整数据的传送率,以此实现数据传送 流量控制。只要使用t c p ,就不可能在所建立的点一点接入上实现数据 的阵发式全速传送,原因在于数据流中被插入了有些随机性的应答环 节,它改变着传送率。每一个t c p 段中,服务器都将其当前可用于接

温馨提示

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

评论

0/150

提交评论