




已阅读5页,还剩53页未读, 继续免费阅读
(微电子学与固体电子学专业论文)arm环境下的通讯协议转换器的研究与开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 本文介绍了通讯协议转换器研究的背景意义和目前国内外发展的现状,并详细叙述了 所选方案的设计过程。本协议转换器的:# 控制芯片采用了基于a r m 7 内核的3 2 位微控制 芯片l p c 2 2 1 2 ,提供了高速稳定的硬件平台。操作系统采用实时嵌入式操作系统i _ t c o s - i i , 工作稳定,实时性强,移植方便。 本文的丰要内容如下:整体的设计思路,结构组成;系统硬件的设计,主要包括网络 接口电路,u s b 接口电路,以及串口扩展电路;t c p i p 协议,主要包括t c p 协议,i p 协 议,a r p 协议等;u s b 协议,丰要包括u s b 设备构架,u s b 数据流模型;串口数据转以 太网数据和u s b 数据以及太网数据和u s b 数据转串口数据;嵌入式实时操作系统 c o s ,丰要包括信号量,消息邮箱,消息队列等;操作系统的移植,丰要包括与处理 器相关的文件的改写。整个系统的硬件和底层软件部分已经完成,经串口调试软件、u s b 总线监测软件以及以太网数据监测软件进行实际的收发数据实验,验证了方案的合理性。 在u s b 和以太网驱动程序的编写中,查阅了大量的相关资料。对于u s b 协议,重点 分析了u s b 协议的架构和数据流模型。对于t c p i p 协议,仔细分析了其封装和分用,分 析了t c p 协议、i p 协议、a r p 协议的原理及程序的实现。对于操作系统的移植,给出了具 体的实现步骤,并给出了| 丰要的代码。 关键词:a r m ,t c p i p 协议,u s b 协议,操作系统。 a b s t r a c t t h i sp a p e ra n a l y s et h eb a c k g r o u n da n da c t u a l i t yo fc o m m u n i c a t i o nt r a n s f o r mm a c h i n e ,a n d t h ed e v e l o p m e n td e m a s t i ca n do v e r s e a sa n dd e t a i lp a r t i c u l a r l yt h ep r o j e c ta n di t sd e s i g n t h e m a i nc h i pi n t h i sd e s i g ni s3 2b i tm i c r o c o n t r o lp r o c e s s o rl p c 2 2 1 2 ,w h i c hi sb a s e do nt h e a r m 7 k e r n a l a n di ta s s u r e u st h eh i i g hs p e e da n ds t a b i l i t yo ft h eh a r d w a r es y s t e m w et a k et h e e m b e d d e do p e r a t i o ns y s t e r mr t c o s i ia so u ro p e r a t i o ns y s t e r m r t c o s i ii sar e a l t i m eo sa n d i tw o r k ss t a b i l y , a n di tc a nb et r a n s p l a n te a s i l y t h ed e t a i l so ft h ep a p e ra r el i s t e d :t h eh a r d w a r ed e s i g nm a i n l yi n c l u d i n gn e ti n t e r f a c e ,u s b i n t e r f a c ea n ds e r i a lp o r te x p a n d ;t c p i pp r o t o c o lm a i n l yi n c l u d i n gt c p p r o t o c o l ,i pp r o t o c o l ,a r p p r o t o c o l e t c ;u s bp r o t o c o l ,m a i n l yi n c l u d i n gd a t as t r e a mc l a s s ,u n i v e r s a lu s bd e v i c e ,o p e r a t eu s b d e v i c er e q u e s ta n ds t a n d a r dd e v i c er e q u e s t ;e m b e r e dr e a l t i m eo sl _ t c o s i i ,m a i n l yi n c l u d i n g s e m p h o e r , m e s s a g e b o xa n dm e s s a g eq u e u e ;t r a n s p l a n to f t h e t c o s i i , m a i n l yi n c l u d i n gs o m ef i l e s r e l a t e dw i t ht h ep r o c e s s o rt oo v e r w r i t e i nt h ep r o g r a m m i n go ft h eu s b p r o t o c a la n dt c p i pp r o t o c o l ,a n a l y s eal o to fr e l a t i v e p a p e r f o rt h eu s bp r o t o c a l ,a n a l y s et h ei m p r a c t i c a b l ea n dt h ed a t as t r e a mm o d l eo ft h eu s b p r o t o c 0 1 f o rt h et c p i pp r o t o c o l ,a n a l y s ec a r e f u l l ya b o u ti t e n c a p s u l a t i o na n dd e m u ri p i c x i n g , a n a l y s et c pp r o t o c o l ,i pp r o t o c o la n da r pp r o t o c 0 1 f o rt h er e p l a n to ft h eo p e r a t i o n s y s t e m ,t h i sp a p e rl i s tt h ep r o c e s st or e a l i z e k e y w o r d a :a r m ,t c p i p p r o t o c a l ,u s bp r o t o c a l ,o p e r a t i o ns y s t e m 湖北大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所 取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任 何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡 献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的 法律后果由本人承担。 论文作者签名:壕需绎 e t 期: z 一1 年皇肖2 日 学位论文使用授权说明 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即: 按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印 刷本和电子版,并提供目录检索与阅览服务;学校可以允许采用影印、缩印、数字 化或其它复制手段保存学位论文;在不以赢利为目的的前提下,学校可以公开学位 论文的部分或全部内容。( 保密论文在解密后遵守此规定) 作者签名兽 指导教师签名: 孙亢 日期:沙1 r 日期:州f ,z , i 引言 1 引言 1 1 研究项目的意义 串口是单个设备接入计算机时,常采用的一种接入方式,其硬件实现简单,因此在 传统的设备中有很多采用了这种通信方式,比如银行自动取款机a t m ( a u t o m a t i c t e l l e r m a c h i n e ) 上就有很多串口设备。但是,a t m 的工控机一般只有两个 串口,不能满足需求。因此,急需一种设备,能将众多的串口设备接入a t m 的工控机。 传统的a t m 上用的通讯转换设备一般是i s a 接口,但随着计算机技术的发展,现在生 产的高性能的工控机上,i s a 接口越来越少了,i s a 逐渐退出了历史舞台,因此这种i s a 接口的转换器已经不能满足要求。另一方面,由于a t m 上的设备太多,a t m 的工控机 本身不堪重负,从而导致了系统的不稳定,这就需要有一种设备来分担a t m 工控机的 工作。 由此,可开发一种通讯协议转换器,将串口数据转换为u s b 或以太网数据,让需 要联网的串口设备通过该转换器连接上网络,直接与银行系统的服务器联网,提高了通 信的效率,同时也可以减轻a t m 的工控机的负担;不需要联网的的串口设备可通过u s b 接口连接到a t m 上,使这些设备也具备了u s b 通信的诸多优点。该转换器可采用当前 流行的高性能的a r m 7 处理器,并移植p c o s i i 嵌入式实时操作系统,来调度和管理多 个任务,实现多个串口设备同时收发数据。 1 2 国内外的研究现状 u s b 和以太网转串口技术的发展非常迅速,以美国为首的高科技发达国家近些年已 经研制出许多高性能的u s b 和以太网转多串口的产品。 国内在这方面的研发也取得了一定的成效。u s b 或以太网转单个串口的技术已经比 较成熟,很多公司能开发单串口卡,但多串口卡由于其技术的复杂性,只有少数几家公 司有能力研发性能稳定的多串口卡。其中,台湾摩莎公司研制的多串口卡“摩莎卡”,一 般通过p c i 或i s a 接口与p c 机连接,目前已经支持8 串口同时工作。由于其性能稳定,价 格较低廉,摩莎卡迅速占领了国内多串口卡的市场。其中,在多串口卡应用很广的银行 自动柜员机行业,“摩莎卡”占7 0 0 , 6 以上的市场份额。 湖j 匕大学硕十学位论文 1 3 本文的主要工作 1 研究方案的选取。根据系统的功能需求,选择l p c 2 2 1 2 为主控制器,i t c o s 1 i 为操作系统。 2 系统硬件的设计。主要包括网络接口电路,u s b 接口电路,以及串口扩展电路 的设计。 3 系统软件的设计。主要包括嵌入式实时操作系统o c o s i i 的移植,u s b 协议在 a r m 上的实现,t c p i p 协议在a r m 上的实现。 4 系统的调试。通过串口调试软件,u s b 和以太网数据检测工具,测试该转换器 的性能。 2 2 总体方案设计 2 1 硬件总体设计方案 2 总体方案设计 2 1 1c p u 的选择 嵌入式技术发展的核心是嵌入式微控制芯片技术的发展,当今微控制芯片功能变得 越来越强,种类更为繁多,如m i p s ,p o w e r p c ,x 8 6 ,a r m ,p i c 等。但这些嵌入式处 理器受到价格以及兼容性等因素的限制,应用状况有所不同,m 1 p s 和p o w e r p c 处理器 市场定位较高,对于成本敏感的应用并不合适,而x 8 6 系列处理器要与8 0 6 8 、2 8 6 、3 8 6 等保持兼容性,使用相同的指令集,从而限制了c p u 系统性能的提高# j 。当今嵌入式 领域中使用最为广泛的是基于a r m 体系结构的嵌入式处理器,其占据了8 0 以上的3 2 位嵌入式处理器市场份额。从发展之初至今,a r m 公司已经推出a r m 7 、a r m 9 、 a r m 9 e 、a r m l 0 、s e e u r c o r e 以及i n t e l 的s t r o n g a r m 和x s e a l e 等一系列的产品。这些 不同版本的处理器内核,虽一脉相承,但应用背景不同。例如,a r m 7 系列处理器是针 对功耗和成本要求比较苛刻的应用而设计的;而a r m 9 系列处理器主要应用于下一代的 无线设备。 a r m 微控制器目前包括下面几个系列:a r m 7 系列、a r m 9 系列、a r m 9 e 系列、 a r m l 0 e 系列、s e e u r c o r e 系列和i n t e r 的s t r o n g , a r m 。除了具有a r m 体系结构的共同 特点以外,每一个系列的a r m 微控制器都有各自的特点和应用领域【3 ,4 捌。其中,a r m 7 、 a r m 9 、a r m 9 e 和a r m l 0 为4 个通用微控制器系列,每一个系列提供一套相对独特的 性能来满足不同应用领域的需求。 本设计选用了菲利普的l p c 2 2 1 2 。l p c 2 2 1 2 是基于一个支持实时仿真和跟踪的1 6 3 2 位a r m 7 t d m i - s t m c p u 的微控制器,并带有1 2 8 2 5 6 k 字节嵌入的高速f l a s h 存储器。1 2 8 位宽度的存储器接口和独特的加速结构使3 2 位代码能够在最大时钟速率下运行【6 ,7 ,8 一。 由于内置了宽范围的串行通信接口,它们也非常适合于通信网关、协议转换器、嵌 入式软m o d e r m 以及其它各种类型的应用。l p c 2 2 1 2 的结构框图如图2 1 所示。 3 湖北人学硕十学何论文 图2 1l p c 2 2 1 2 的结构框图 4 2 总体方案设计 2 1 2 系统硬件的整体框图 硬件平台以基于a r m 7 内核的l p c 2 2 1 2 为主控制器,外扩5 1 2 k b 的s r a m 做数 据存储器。p d i u s b d l 2 为u s b 的接口控制芯片,r t l 8 0 1 9 a s 为以太网接口控制芯片, t l l 6 c 5 5 4 为扩展串口的控制芯片【0 1 。系统硬件的整体框图如图2 - 2 。 图2 2 系统硬件的整体框图 2 2 软件总体设计方案 2 2 1 操作系统的选择 商用型嵌入式操作系统功能稳定、可靠,有完善的技术支持和售后服务,但往往价 格昂贵。免费型的嵌入式操作系统在价格方面有优势,目前主要有l i n u x 和i _ t c o s i i 。 在嵌入式应用中使用实时操作系统是有系统资源开销的,也就是额外的r o m r a m 开 销和c p u 负荷i j j 。l i n u x 本身的内核比较大,对硬件的要求比较高,不能满足本设计的 要求。 本设计选用的实时操作系统是i t c o s i i 。p c o s i i 是面向中小型嵌入式系统的。 如果包含全部功能( 信号量、消息邮箱、消息队列及相关函数) ,编译后的u c o s i i 内 核仅有6 1 0 k b ,所以系统本身并没有对文件系统的支持。但是u c o s i i 具有良好的 扩展性能,如果需要的话也可自行加入文件系统的内容。 i _ t c o s u 的主要特点如下: 1 源码公开。源代码全部公开,并且可以从有关出版物上找到详尽的源代码讲解和注 5 湖北人学硕十学伊论文 释。这样使系统变得透明,很容易就能把操作系统移植到各个不同的硬件平台上。 2 可移植性。g c o s i i 绝大部分源码是用a n s i c 写的,可移植性较强。而与微处理 器硬件相关的部分是用汇编语言写的,已经压到最低限度,使得i l c o s i i 便于移植到其 他微处理器上。t t c o s - l i 移植的条件是,该微处理器有堆栈指针,有c p u 内部寄存器 入栈、出栈指令。另外,使用的c 编译器必须支持内嵌汇编或者该c 语言可扩展、可 连接汇编模块,使得关中断、开中断能在c 语言程序中实现。a c o s i i 可以在绝大多数 8 位、1 6 位、3 2 位甚至6 4 位微处理器、微控制器、数字信号处理器上运行。 3 可固化。p c o s i i 是为嵌入式应用而设计的,这就意味着,只要丌发者有固化手 段,a c o s i i 就可以嵌入到丌发者的产品中成为产品的一部分。 4 可裁剪。可以只使用g c o s i i 中应用程序需要的那些系统服务。也就是说某产品 可以只使用很少几个 l c o s i i 调用,这样可以减少产品中的p c o s i i 所需的存储空间。 这种可裁剪性是靠条件编译实现的。 5 占先式。i _ t c o s i i 是占先式的实时内核,这意味着g c o s i i 总是运行就绪条件下 优先级最高的任务。大多数商业内核也是占先式的,p c o s i i 在性能上和它们类似。 6 多任务。i u c o s i i 可以管理“个任务,然而,目前的版本保留8 个给系统。应用 程序最多可以有5 6 个任务,赋予每个任务的优先级必须是不相同的,这意味这p c o s u 不支持时间片轮转调度法。该调度法适用于调度优先级平等的任务。 7 可确定性。全部p c o s i i 的函数调用的执行时白j 具有可确定性。也就是说,全部 i - , c o s i i 的函数调用的执行时间是可知的,换言之,g c o s i i 系统服务的执行时问不依 赖于应用程序任务的多少。 8 任务栈。每个任务有自己单独的栈,p c o s i i 允许每个任务有不同的栈空间,以 便压低应用程序对r a m 的要求。使用肛c o s i i 的栈空间校验函数,可以确定每个任务 到底需要多少栈空间。 9 系统服务。i t c o s i i 提供很多系统服务,例如消息邮箱,消息队列、信号量、块 大小固定的内存的申请与释放、时问相关函数等。 l o 冲断管理。中断可以使正在执行的任务暂时挂起,如果优先级更高的任务被该中 断唤醒,则高优先级的任务在中断嵌套全部退出后立即执行,中断嵌套层数可达2 5 5 层。 1 1 稳定性与可靠性。t t c o s i i 自1 9 9 2 年以来已经有很多成功的商业应用。 2 2 2 软件总体设计框图 6 2 总体方案设计 软件部分由底层硬件驱动程序、操作系统以及上层的应用程序组成,总体设计框图 如图2 3 所示。 应 用 串口转u s b串口转以太网u s b 转串口以太网转串口 韶 序 嵌入式操作系统u c o s i i 底 层 m 1 哭 件 u s b 协议t c p ,口协议栈 t l l 6 c 5 5 4 定时器 驱 动 图2 3 软件总体设计框图 7 湖北人学硕+ 学何论文 3 硬件电路的设计 整个系统要完成的主要功能有,串口数据和以太网数据的转换以及串口数据和u s b 数据的转换。系统硬件的整体框图如图3 - 1 所示,本章只讲述一些比较重要的电路,并 且给出相应的电路图。 3 1 以太网接口芯片r t l 8 0 1 9 a s 及其电路 r t l 8 0 1 9 a s 是高度集成以太网控制器,它能够简单的解答即插即用适配器。 r t l s 0 1 9 a s 是网络设备的理想选择【。全二重功能能够模拟传播和接收在双绞线到全二 重以太网交换机。 r t l s 0 1 9 a s 支持1 6 k 、3 2 k 和6 4 k 字节b r o m 和闪存接口。它仍然提供页面模式 功能,这种功能能支持在仅1 6 k 字节内存系统空自j 下的4 m 字节的b r o m 。r t l 8 0 1 9 a s 用1 6 k 字节s r a m 设计在单片芯片上,它的设计不仅提供了更多友好的功能,而且节 省了s r a m 存储资源。 由于l p c 2 2 1 2 是总线丌放的,所以电路设计为1 6 位总线方式对r t l 8 0 1 9 a s 进行 访问,即数据总线d 0 d 1 5 与芯片的s d 0 s d l 5 连接,由于r t l 8 0 1 9 a s 工作电源是 5 v 而l p c 2 2 1 2 的f o 电压为3 3 v ,所以在总线上串接4 7 0 欧的保护电阻。 p t l 8 0 1 9 a s 的基地址为0 x 3 0 0 ,电路上s a 6 、s a 7 、s a l 0 s a l 9 均接地,s a 9 接 电源。s a 8 为l ,s a 5 为0 时,选中r t l 8 0 1 9 a s 芯片,即其操作地址为0 x 8 3 4 0 0 0 0 0 0 x 8 3 4 0 0 0 1 f 1 1 】。具体电路图如图3 - 1 所示。 8 3 硬什电路的设计 图3 - 1以太网接口电路图 3 2u s b 接口芯片p d l u s b d l 2 及其电路 p d i u s b d l 2 是一款性价比很高的u s b 器件。它通常用在微控制器系统中实现与微控 制器进行通信的高速通用并行接口,它还支持本地的d m a 传输,使得设计者可以在各 种不同类型微控制器中选择出最合适的微控制器。这种灵活性减小了开发的时间风险以 及费用,通过使用已有的结构和减少固件上的投资,从而用最快捷的方法实现最经济的 u s b # b 设的解决方案。 p d l u s b d l 2 完全符合u s b i 。l 版的规范,它还符合大多数器件的分类规格。 p d i u s b d l 2 理想地适用于许多外设,例如打印机、扫描仪、数码相机等等。它使得当前 使用s c s i 的系统可以立即降低成本。u s b 接口电路图如图3 2 所示。 9 湖北人学硕十学位论文 图3 2u s b 接口电路图 3 3 串口转换芯片t l l 6 c 5 5 4 及其电路 t l l 6 c 5 5 4 是通用t l l 6 c 5 5 0 异步通信组件a c e 的双通道升级版。该器件可同时用于 微型计算机或基于微处理器的系统中的两个串行输入输出接口,每个通道对从外围器件 或调制解调器接收的数据实行串行至并行的转换,对从c p u 接收的数据实行并行至串行 的转换。串口扩展电路图如图3 3 所示。 图3 3 串口扩展电路图 1 0 3 硬件也路的设计 3 4 复位电路 a r m 芯片的高速、低功耗和低工作电压导致其噪声容限较低,对电源的纹波、瞬态 响应性能、时钟源的稳定性和电源监控可靠性等诸多方面也提出了更高的要求。本系统 的复位电路使用了专用微处理器电源监控芯片s p 7 0 8 s ,以提高系统的可靠性。由于在进 行j t a g 调试时,n r s t 和t r s t 是可由j t a g 仿真器控制复位的,所以使用了三态缓冲门 芯片7 4 h c l 2 5 进行驱动,电路如图3 4 所示。在图中,信号n r s t 连接至;j l p c 2 2 1 2 芯片内 部j t a g 接口电路的复位引脚t r s t 。当复位键r s t 按下时,s p 7 0 8 s 立即输出复位信号, 引脚r s t 输出低电平导致7 4 h c l 2 5 a 和7 4 h c l 2 5 b 导通,信号n r s t 和n t r s t 将输出低电平 使系统复位。平时s p 7 0 8 s 的r s t 输出高电平,7 4 h c1 2 5 a 和7 4 h c l 2 5 b 截止,由上拉电阻 r 3 和r 4 将信号n r s t 和n t r s t 上拉为高电平,系统可正常运行或进行j t a g 仿真调试。 图3 4 系统复位电路图 3 5 系统时钟电路 l p c 2 2 0 0 系列a r m 7 微控制器可使用外部晶振或外部时钟源,内部p l l 电路可调整 系统时钟,使系统运行速度更快。倘若不使用片内p l l 功能及i s p 下载功能,则外部晶振 频率范围是1 3 0 m h z ,外部时钟频率范围是i 5 0 m h z :若使用片内p u 。功能或i s p 下 载功能,则外部晶振频率范围是1 0 2 5 m h z ,外部时钟频率范围是1 0 2 5 m i - i z 。 本系统使用了外部1 1 0 5 9 2 m h z 晶振,如图3 5 所示,用1 m 欧电阻并接到晶振的两 端,使系统更容易起振。用1 1 0 5 9 2 晶振的原因是使串口波特率更精确,同时能够支持 l p c 2 2 0 0 系列a r m 7 微控制芯片内部的p l l 功能和i s p 功能。 湖北人学硕十学位论文 图3 5 系统时钟电路图 3 6 系统存储器电路 本系统扩展了4 m b i t 的s r a m ( 1 s 6 1 2 5 6 1 6 a l ) ,存储器的连接采用了1 6 位总线方式, 数据总线使用了d 0 d 1 5 ,地址总线使用了a i a 1 8 ,b l s 0 和b l s l 信号用于控制低字 节和高字节的写操作。电路图如图3 6 所示。 。” ” 毒。 ”过 l 盎葺 引。 :驯 ” l 丰。 一 ,l ,l 7 一 厂。_ 、 jk l + :i :1 ; 葺l 岛, ! , 9 5 【1 22 1 3d 4t l # ;d 5j ,a 7 :;l p ; a 8 ;s2 0 ; 15d7 l 2 9d 8 ;a 1 0 - 3dd9l ; 1 1 ,3idlot 32d11。 3 5p 1 2t ; 3 5 d 1 3 5 3 7 d 1 4t : a 1 6 ,i4 2 ;3 b d 1 5 a 1 7j ;4 8 , ” l ;“” “1y 广 a 1 84 s ;泌s oj 毛; 3 口 t 。l c 】 ,;。| 一: u ! 。 h b l s o3 9 ml ;5 】 图3 6 系统存储电路图 1 2 4 t c p i p 协议及其编拌实现 t c p lp 协议及其编程实现 4 1t o p l p 协议族简介 很多不同的厂家生产各种型号的计算机,它们运行完全不同的操作系统,但t c p i p 协议族允许它们互相进行通信【12 1 。这一点很让人感到吃慷,因为它的作用已远远超出了 起初的设想。t c p i p 起源于6 0 年代末美国政府资助的一个分组交换网络研究项目,到9 0 年代已发展成为计算机之间最常应用的组网形式。它是一个真正的开放系统,因为协议 族的定义及其多种实现是公开的。 4 1 1t c p i p 协议的分层 网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族, 比如t c p i p ,是一组不同层次上的多个协议的组合。t c p i p 通常被认为是一个四层协议 系统【1 3 , 1 4 ,如图4 1 所示。 应用层 运输层 网络层 链路层 f t p 、e - m a i l 等 t c p 和u d p i p 、i c m p 和i g m p 设备驱动程序及接口卡 图4 1 t c p i p 协议的分层 每一层负责不同的功能: 1 ) 链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动 程序和计算机中对应的网络接口卡。 2 ) 网络层,有时也称作互联网层,处理分组在网络中的活动。在t c p i p 协议族中, 网络层协议包括i p 协议( 网际协议) ,i c m p 协议( i n t e m e t 互联网控制报文协议) ,以 及i g m p 协议( i n t e m e t 组管理协议) 3 ) 运输层,主要为两台主机上的应用程序提供端到端的通信。在t c p i p 协议族中, 有两个互不相同的传输协议:t c p ( 传输控制协议) 和u d p ( 用户数据报协议) t c p 湖北人学硕十学位论文 为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成 合适的小块交给下面的网络层,确认接收到的分组,设置发送,最后确认分组的超时时 钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。 而另一方面,u d p 则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从 一台主机发送到另一台主机,但并不保证该数掘报能到达另一端。任何必需的可靠性必 须由应用层来提供。这两种运输层协议分别在不同的应用程序中有不同的用途。 4 ) 应用层,负责处理特定的应用程序细节。t c p 和u d p 是两种最为著名的运输层协 议,二者都使用i p 作为网络层协议。虽然t c p 使用不可靠的i p 匣务,但它却提供一种可 靠的运输层服务。与t c p 不同的是,u d p 是不可靠的,它不能保证数据报能安全无误地 到达最终目的地。i p 是网络层上的主要协议,同时被t c p 和u d p 使用。t c p 和u d p 的每 组数据都通过端系统和每个中白j 路由器中的i p 层在互联网中进行传输。 4 1 2 封装 当应用程序用t c p 传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被 当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息( 有时还要 增加尾部信息) ,该过程如图4 2 所示。t c p 传给i p 的数据单元称作t c p 报文段或简称为 t c p 段。i p 传给网络接口层的数据单元称作m 数据报”。通过以太网传输的比特流称作 帧。图4 - 2 中帧头和帧尾下面所标注的数字是典型以太网帧首部的字节长度。以太网数 据帧的物理特性是其长度必须在4 6 1 5 0 0 字节之间。数据进入协议栈时的封装过程如图 4 _ 2 所示。 1 4 4 t c p i p 协议及其编程实现 用户数据 l 船,曾簟 用户数据 图年2t c p i p 协议的封装过程 4 1 3 分用 当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去 掉各层协议加上的报文首部。每层协议都要去检查报文首部中的协议标识,以确定接收 数据的上层协议【1 6 1 。这个过程称作分用,图4 3 显示了该过程是如何发生的。 进入的帻 图4 3t c p i p 协议的分用 1 5 酋 行 协 湖北人学硕十学位论文 4 1 4 客户一服务器模型 大部分网络应用程序在编写时都假设一端是客户,另一端是服务器,其目的是为了 让服务器为客户提供一些特定的服务。可以将这种服务分为两种类型:重复型或并发型。 4 1 5 端口号 前面已经指出过,t c p 和u d p 采用1 6 b i t 的端口号来识别应用程序。那么这些端口号 是如何选择的呢? 服务器一般都是通过知名端口号来识别的。例如,对于每个t c p i p 实 现来说,m 服务器的t c p 端口号都是2 1 ,每个t e l n e t 服务器的t c p 端口号都是2 3 ,每个 册( 简单文件传送协议) 服务器的u d p 端口号都是6 9 。任何t c p i p 实现所提供的服务都 用知名的1 1 0 2 3 之间的端口号【1 7 , 1 8 j 。这些知名端口号由i n t e n l e t 号分配机构来管理。 4 2i p 协议 i p 是t c p i p 协议族中最为核心的协议。所有的t c p 、u d p 、i c m p 及i g m p 数据 都以i p 数据报格式传输。不可靠( u n r e l i a b l e ) 的意思是它不能保证i p 数据报能成功地 到达目的地。i p 仅提供最好的传输服务。如果发生某种错误时,如某个路由器暂时用完 了缓冲区,i p 有一个简单的错误处理算法:丢弃该数据报,然后发送i c m p 消息报给信 源端。任何要求的可靠性必须由上层来提供( 如t c p ) 。无连接( c o n n e c t i o n l e s s ) 这个 术语的意思是m 并不维护任何关于后续数据报的状态信息。每个数据报的处理是相互 独立的。这也说明,i p 数掘报可以不按发送顺序接收。如果一信源向相同的信宿发送两 个连续的数据报( 先是a ,然后是b ) ,每个数据报都是独立地进行路由选择,可能选 择不同的路线,因此b 可能在a 到达之前先到达。 m 数据报的格式如图4 4 所示。普通的口酋部长为2 0 4 字节,除非含有选项字段。 1 6 4 t c p i p 协议及其编拌实现 0 1 51 63 1 4 位版本4 位首帮长度8 位服务类型1 6 位总长度( 字节数) 1 6 位标识3 位标志1 3 位片偏移 8 位生存时同8 位协议1 6 位首吝懒验和 2 3 2 位源i p 地址 3 2 位目的p 地址 、 选项( 如果有) 数据 节 图4 4 坤数据报的格式 分析图4 - 4 中的首部。最高位在左边,记为0 b i t ;最低位在右边,记为3 1 b i t 。4 个 字节的3 2 b i t 值以下面的次序传输:首先是0 7 b i t ,其次8 l s b i t ,然后1 6 2 3 b i t ,最 后是2 4 3 1 b i t 。这种传输次序称作b i g e n d i a n 字节序。由于t c p i p 首部中所有的二进制 整数在网络中传输时都要求以这种次序,因此它又称作网络字节序。以其他形式存储二 进制整数的机器,如l i t t l e c n d i a n 格式,则必须在传输数据之前把首部转换成网络字节序。 目前的协议版本号是4 ,因此i p 有时也称作i p v 4 。 首部长度指的是首部占3 2 b i t 字的数目,包括任何选项。由于它是一个4 比特字段, 因此首部最长为6 0 个字节i i 。普通聍数据报字段的值是5 。服务类型( t o s ) 字段包 括一个3 b i t 的优先权子字段,4 b i t 的t o s 子字段和l b i t 未用位但必须置0 。4 b i t 的t o s 分别代表:最小时延、最大吞吐量、最高可靠性和最小费用。4 b i t 中只能置其中l b i t 。 如果所有4 b i t 均为0 ,那么就意味着是一般服务。总长度字段是指整个m 数据报的长度, 以字节为单位。利用首部长度字段和总长度字段,就可以知道m 数据报中数据内容的 起始位置和长度。由于该字段长1 6 比特,所以口数据报最长可达6 5 5 3 5 字节。当数据 报被分片时,该字段的值也随着变化。尽管可以传送一个长达6 5 5 3 5 字节的口数据报, 但是大多数的链路层都会对它进行分片。 而且,主机也要求不能接收超过5 7 6 字节的数据报。由于t c p 把用户数据分成若 干片,因此一般来说这个限制不会影响t c p 。但是,事实上现在大多数的实现( 特别是 那些支持网络文件系统n f s 的实现) 允许超过8 1 9 2 字节的i p 数据报。总长度字段是 l p 首部中必要的内容,因为一些数据链路( 如以太网) 需要填充一些数据以达到最小长 1 7 湖北人学硕十学位论文 度。尽管以太网的最小帧长为4 6 字节,但是i p 数据可能会更短。如果没有总长度字段, 那么l p 层就不知道4 6 字节中有多少是i p 数据报的内容。标识字段唯一地标识主机发送 的每一份数据报。通常每发送一份报文它的值就会加1 。i p 处理程序如下: u i n t 8i p - p r o c e s s ( u i n t 8 + r e c d a t a , u i n t 8h u m ) s t a t i ct e m p = 0 ; u i n t 8 i i i ; u i n t l 6p a c k e d l e n g t h ; u i n t 8 t e m p l p 4 ; # i f d e f l i t t l e _ _ e n d u i m l 6 l t e m p ; # e n d i f t c m p i p o = ( ( e i p + ) r e c d a t a ) s o u r c e l p 0 ; t e m p i p 1 = ( ( e i p + ) r e c d a t a ) - s o u r c e l p 1 ; 孔m p j p 【2 】:( ( e i 矿) r e c d a t a ) - s o u r c e l p 2 ; t e m p l p 3 = ( ( e i p * ) r e c d a t a ) s o u r e e l p 3 ;保存对方i p i i i = ( ( e i p ) r e e d a t a ) - v e r a n d l p h l e n & 0 x o f ; i i i = i i i * 4 ;取i p 包头的长度 # i f d e f b i g _ e n d p a c k e d l e n g t h = ( ( e i p + ) r e c d a t a ) - t o t a l l e n ; # e n d i f # i f d e f l i t t l e e n d p a c k e d l e n g t h = ( ( e i p ) r e c d a t a ) - t o t a l l e n ; l t e m p = p a c k e d l e n g t h & 0 x 0 0 f f ; p a c k e d l e n g t h = ( p a c k e d l e n g t h & 0 x f f 0 0 ) 8 ; p a c k e d l e n g t h = p a c k e d l e n g t h + ( l t e m p n e x t p r o t o c a l ) 1 8 4 t c p i p 协议及其编徉实现 c a s cl : i c m p _ p r o e c s s ( r e c d a t a , n u m ) ; b r e a k ; c a s e 6 : i f ( ( ( c i p + ) r e c d a t a ) - d e s t l d 0 一n e t p o r t n u m m y _ i p o 】) i f ( ( ( e i p + ) r e c d a t a ) - d e s t l d 1 一n e t p o r t n u m m y - i p 【l 】) i f ( ( ( c i p + ) r e c d a t a ) - d e s t l d 2 一n e t p o r t n u m m y _ i p 2 1 i f ( ( ( c i p + ) r e c d a t a ) - d e s t l d 3 一n c t p o r t n u m m y j p 【3 】) 目标为本i p r e c d a t a = r e c d a t a + i i i ; r e c q t e m p r e c d a t a p t r = r e c d a t a ; r e c q t e m p 1 e n g t h = p a c k e d l e n g t h ;要传输i p 地址 r e c q t e m p i p 0 = t e m p i p 0 ; r e c q t e m p i p 1 = t e m p i p 1 ; r e c q t e m p i p 2 = t e m p l p 2 ; r e c q c t e m p i p 3 = t e m p i p 3 ; r e c q t e m p n u m = n u m ; r e c q t e m p m y _ i p 0 = n e t p o r t n u m m yl p o ; r e c q t e m p m y _ i p 1 = n e t p o r t n u m m y _ i p 1 ; r e c q t e m p m y _ l p 2 = n e t p o r t n u m m y _ i p 2 ; r e c q t e m p m y _ i p 3 = n e t p o r t n u m m y _ i p 3 ; o s q p o s t ( r e c t c p q f l a g , ( v o i d ) & r e c q t e m p ) ; ) | r c e b r e a k ; c a s e l 7 : 要传输i p 地址 i f ( ( ( e i p + ) r e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年美德防诈测试题及答案
- 2025年房地产估价师案例与分析考试真题及答案
- 2025广东广州市黄埔区龙湖街道招聘党建专职组织员、政府聘员3人考试参考题库附答案解析
- 节能知识宣传培训课件
- 2025年社区零售业态创新与数字化运营模式创新对社区公共服务效能提升实践研究报告
- 合作学习:革新高职高专英语课堂的有效路径
- 教师招聘之《幼儿教师招聘》考试押题卷附答案详解(考试直接用)
- 教师招聘之《小学教师招聘》通关模拟卷含完整答案详解(各地真题)
- 教师招聘之《小学教师招聘》题库汇编附答案详解
- 2025年教师招聘之《小学教师招聘》考前冲刺模拟题库及答案详解【真题汇编】
- 应知应会质量管理
- 营业执照模板
- 学前卫生学第一章
- 马克思主义的世界观和方法论
- 国家防灾科学城建设实施方案
- 国土空间规划-学习分享PPT幻灯片课件(PPT 37页)
- 食品物料的基本物理特征
- (高清版)轻骨料混凝土应用技术标准JGJ12-2019
- 危险货物道路运输规则jtt617-2018
- 输煤栈桥施工方案
- 碳纤维、钢板加固板计算表(根据2013版加固规范 编写)
评论
0/150
提交评论