(电路与系统专业论文)远程虚拟蓄电池测试系统设计.pdf_第1页
(电路与系统专业论文)远程虚拟蓄电池测试系统设计.pdf_第2页
(电路与系统专业论文)远程虚拟蓄电池测试系统设计.pdf_第3页
(电路与系统专业论文)远程虚拟蓄电池测试系统设计.pdf_第4页
(电路与系统专业论文)远程虚拟蓄电池测试系统设计.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(电路与系统专业论文)远程虚拟蓄电池测试系统设计.pdf.pdf 免费下载

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

文档简介

摘要 本文讨论的主要内容是在原有蓄电池测试仪器的基础上增加了通信功能,实现一种新的 虚拟仪器和网络仪器相结合的测试仪器,文中重点讨论以太网接口和u s b 接口的设计。方 案设计中将 炅i 试系统的数据采集部分做成一个具备以太网接口和u s b 接口的数据采集卡, 其它诸部分:管理数据,显示数据,智能分析等通过微机上层监控管理软件实现,通过软件 将计算机硬件资源和仪器硬件有机的融合为一体,针对仪器的具体要求,作了合理的取舍。 用户只需要在被监控的蓄电池组上外接一个采集卡,通过以太网就可以实现对异地蓄电池参 数进行集中监控管理,同时数据采集卡上的usb 接口也满足用户的对蓄电池现场数据采集 的需要 文中重点阐述了远程虚拟蓄电池测试系统中通信接口的设计,包括:以太网控制器 的工作原理,基于单片机的以太网t c p i p 的协议的实现,u s b 控制器的基本工作原理,基 于单片机的u s b 底层驱动软件的实现。文中最后给出了在v c + + 开发环境下,中心监控管 理软件设计实现过程。 远程测试技术是现代测试技术发展的一个方向,它是通过网络把测试端与终端的计 算机连接起来。t c p i p 是一种标准,在很多情况下运用以太网和t c p i p ,能够简化结构。 而u s b 标准为今天的p c 用户提供了柔性的连接也是一种电缆总线。并急速发展成p c 接 口主流地位,测试系统集成usb 接口具有十分重要的意思。 关键词:虚拟仪器数据采集t c p i pu s b以太网 a b s t r a c t t h em a i np o i n to ft h i sa r t i c l ei st oa d dc o m m u n i c a t i o nf u n c t i o nt oo l ds t o r a g e b a t t e r ym e a s u r e m e n ti n s t r u m e n t 。t h em e a s u r m e n ti n s t r u m e n ti sd e s g i n e da san e w d e v i c ew h i c hi sav i r t u a li n s t r u m e n t i n t e r n e ti n s t r u m e n t 。 i nt h ed e s i g np l a n 。 t h em e a s u r e m e n ti n s t r u m e n th a sae t h e r n e ti n t e r f a c ea n dau s bc o n n e c t o r t h eo t h e r p a r t s s u c ha sd a t am a n a g e m e n t ,d a t ad i s p l a y ,i n t e l l i g e n ta n a l y s i s 。a r ec a r r i e do u t b ym o n i t o rs o f t w a r ei nh o s tc o m p u t e r b ys o f t w a r ec o m b i n et h ec o m p u t e ra n d t h e i n s t r u m e n tt o g e t h e r t h ei n s t r u m e n tc o m b i n e st h ei n t e r n e td e v i c ea n dv i r t u a ld e v i c e t o g e t h e r b yc o n n e c tad a t ac o l l e c t i o nc a r d ,t h es y s t e mc a l l m e a s u r ea n dm a n a g e r s t o r a g eb a t t e r yg r o u pa td i f f e r e n tp l a c eb ye t h e r n e t t h eu s bi n t e r f a c ec a nf u l f i l l t h en e e do fc u s t o mt oc o l l e c tt h ed a t aa tt h es p o t i nt h i sa r t i c l e ,m a i n l yd e s c r i b et h ec o m m u n i c a t i o ni n t e r f a c ed e s i g ni n r e m o t ev i r t u a ls t o r a g em e a s u r e m e n ts y s t e m ,i ti n c l u d e s :e t h e r n e tc o n t r o l l e r f u n c t i o n 。h o wt oa c h i e v et c p i pp r o t o c o lb ym c u 。t h eb a s i cp r i n c i p a l o fu s b c o n t r o l l e r d r i v es o f t w a r eo fu s b a tl a s t ,o f f e rc e n t e rm o n i t o r m a n a g es o f t w a r e c o m p i l e db yv c + + r e m o t em e a s u r e m e n ti sad i r e c t i o no fm o d e r nm e a s u r e m e n tt e c h n o l o g y ,i t c o n n e c tm e a s u r e m e n ti n s t r u m e n ta n dt e r m i n a l c o m p u t e rb yi n t a r n e t t c p i p i sa i m p l i f ys t r u c t u r e t h eu s b i th a sg r o w ni n t ol e a d i n g a t eu s bi n t e r f a c ei sv e r y s t a n d a r d i nm a n yc a s e ,u s i n ge t h e r n e ta n dt c p i pc a ns o f f e raf l e x i b l ea n daf a s tb u sf o rt o d a y sp cu s e r p o s i t i o ni np ci n t e r f a c e m e a s u r e m e n ts y s t e mi n t e g r i m p o r t a n t k e yw o r d s :v i r t u a li n s m u n c n t d a t ac o l l e c t i o nt c p i pu s be 吐”m e t 学位论文独创性声明 本人声明所呈交的学应论文是我个人鼍导师指导下进行日0 研究工作受取寿 的研究成果。尽我所知,除了文中特别加以际注和致谢的地方外论文中不包含 其他人已经发表或撰写过的研究成果也下皂岔为获得东南大学或其它敦育机掏 的学复或证书而使用过的材料。与我一同 作的同志对本研究所敝的任坷贡献均 已在论文中作了明确的说明并表示了谢意。 签名: 关于学位论文使用授权的说明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学应 沦文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人 电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外。允许论 文彼查阅和借阅,可以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包 箍刊登) 授权东南大学研究生院办理。 签 名:之阻导师签名: 东南大学硕士学位论文 远程虚拟蓄电池测试系统设计 一前言 在实际麻用中,蓄电池作为后备电源使用,是保证小问断供电的关键的设备冈而蓄 电池的性能的检测也就显得 常重要。山于通信的小可中断性,所以埘其进行测最必须在线 方式。”1 浮允下蓄电池容最逐渐下降时,其内阻逐渐增加,而内阻有了明显的变化时电池 容晕低于4 0 ,则电池的寿命也告终。j l 要测得蓄电池内阻并与有关资料对比就可以得出电 池所具有的放电容晕从而判别电池的质景状态和预测电池的使用寿命。随着i n t e r n e t 发 展,如今远程数据采集已经越来越集中到一些电了设备上,例如远程蓄电池参数采集、远程 抄表、远程医疗监护设备等。同时随着计算机技术的发展,u s b “即插即用”将无所小在, u s b 在传统计算机组织结构上,引入了j 琦4 络体系的设计总想它具有终端用户的易用型,带 宽动态分配,商的容错性能而将成为计算机的主流接口。我们主要针埘国内需求,养重从性 能价格比和使用的角度出发,将传统蓄电池测试系统与i n t e r n e t ,u s b 技术相结合丌发研制 一种远程虚拟蓄电池测试系统。远程虚拟蓄电池测试系统采样部分即具有数据获取能力怕部 分做成一块数据采集电路并只有连接i n t e r n e t 的接口,另外通过u s b 接口可以和微型机相 连,其它讲部分:管理数据,显示数据,智能化的特征分析等通过微机的上崖软件实现。在 这种情况下,蓄电池测试系统作为计算机的外设,小再是独立的宪粮的仪器,在蓄电池测试 系统中占很大比重的显示电路,指示电路等功能将全部山微计算机完成。远程虚拟蓄电池测 试系统只有多优势:成本降低,使用方便,扩展性强。便于远程监控,特别是性能价格比岛。 二电子设备与i n t e r n e t 连接的可行方案 电子殴备一般都是以单片机为核心的一个麻坍系统。日前电子设备与i n t e r n e t 连接有二 种可行的方案: 2 1 第一种方案:是单片机麻j _ 1 系统内部支持t c p i p 协议,如l 鳘j2 - i 所示。它实质上 由m c u 及内部同化t c p i p 协议的芯片组成麻h j 系统的核心。此方案中,单片机麻_ l 系统可 以直接拨号上网。硬什电路相对简单,也不需要其它中间环订的支持。但由丁单片机使川了 t c p i p 协议芯片,冈此需要人容域的张序存储器,而且要求m c u 有较高的运行速度。应川 系统的设计。r 科师还必须熟悉t c p i p 协议和相关的接口,软十i :设计复杂,r 作拦人。同时 由丁不是基丁以太网,所以难以满足多数。l :业设计廉价成本的要求。以这种方案实现的有 s c e n i xs e m i c o n d u c t o r 公司的s x s t a c k 军f fs e i k o 公司的$ 7 6 0 0 a 芯片等。 l m c u l 北 l t c i a k p l l 协议g 片l m c 口应用乐统 图2 1 :第一种方案 2 2 第二种方案:是利j je m w a r e 公司开发的e m i t 技术,如图2 2 所示。根据e m w a r e 公司的电子设备网络协议在席川系统的单片机内部使用e m n e t 协议,再通过e m g a t e w a y 与i n t e r n e t 网连接。该方案由丁复杂的网络协议是通过e m g a t e w a y 在p c 机上实现的,麻 _ l j 系统m c u 只使h j 较简单的e m n e t 协议,冈此对m c u 的要求较低。但应州系统设计r 群师必 须熟悉e m n e t 协议和相芙的接口,原来客户应州系统的w c u 也不一定符合要求,井且软硬什 没计的j :作域仍然较人。同时,应川系统的单片机处理e m n e t 协议要 川一定的系统资源。 m i c r o c h i p 公司币ip h i l i p s 公司都在此基础上有相关的产鼎开发平台。 至堕查兰堡主兰焦丝奎 垩墨皇垫董皇些塑墨! 堂 图2 2 :第二种方窠 2 3 第三种方案:_ l j “单片机+ 以太网控制芯片“方案,该方案通过m c u 8 0 5 2 单片机 与r t l 8 1 0 9 a s 以太网控制芯片连接再进入i n t e r n e t 网,同时采流行的i j s b 接口与计算 机通信如图2 - 3 所示。i t t l b l 0 9 h s 内部| 甫i 化了以太网协议。以太网控伟0 芯片作为一种通 j 芯片。所以设计成本低,通过软什编群实现t c p i p 协议,在本方案中软件设计i :作鼙很人, 但软什设计是一次投入成本。所以整体设计成本很低。 图2 - 3 :第三种方案 通过对以上3 种方案的比较说明,使川第三种方案有如f 突出的优点: 首先:第三种方案成本低廉:因为t c p l p 是一种标准以太网也成为局域网的标准。 在很多情况f 运以太网雨it c p i p ,能够简化结构。比如目前较热的智能小区。冈为布线 的原冈,不能为每个家庭布很多线而以太网的8 芯艰绞是一定有的。例如宽带上网,是商 接通过以太网的,如果你制造的设备,比如安全产品,远科抄表产鼎,家居智能产品能够走 以太网的话,可以利州现成的以太网络。但如果走其它网络,比如r s 4 8 5 、c a n 单线等,那 么需要员外布线。布线是复杂的,还涉及到消防安全等。从成本看,以太网实现联网要比 c a n 等更为便宜,集线器、交换机现在都非常便宜而且将来有二网台的趋势,电话、电 视、计算机三羽合一。将米的趋势可能是高述的以太网的天卜,电话信号、l 乜视信号、蛾网 都在以太网上跑。尽管目前还未能实现,但是这种趋势是不可避免的。 其二;本系统采主流u s b 接口与计算机通信u s b “即插即川”的优点和灵活性运硐 丁各种电子设备,现在已成为“囊点”,朱米将成为一般的基本配置。 其二:是由丁麻h 3 系统设计简单,从而缩短了硬什的开发周期。 最后:该方案降低了庶刖系统m c u 番i 其它外用设备的硬竹蔫求,典型的具有以太网能 力的战入式产品生产的材料清单的花费为5 0 0 8 0 0 元( r 腮) ,这些限制要求对性价比做很 好的分析。 东南大学硕士学位论文远程虞扭蓄电池测试系统设计 三远程虚拟蓄电池测试系统的数据通信总体设计 。j 远程虚拟蓄电池测试系统j 1 中心监芋亍理彳。 l 上 峰据i尝:i 学息f 料1 舻咖驱 h f 远科虚拟蓄电池测试系统中 硬什部分 的硬仆鼻 图3 - 1 :系统总体框图 3 1 远程虚拟蓄电池测试系统中的硬件: p c 上层软什 动软什( p c ) 年底层驱动( m c u ) 图3 2 :( 上面只是一个示意功能框图,更详细的原理幽见附录a ) 硬仆 中使埘m c u 单片机作为中央控制器,并通过以太网控制芯片r t l 8 1 0 9 a s 雨l i n t e r n e t 罔相连接,m c u 将本地采集的数据通过以太网接入i n t e r n e t 网进行数据远稗发送, 便什 通过u s b 接e l 与微瑁机的进行数据传输,_ h ;j 米对采集 中的参数如:i p 地址,参样 间隔设置,其参数保存在2 4 l c 2 5 6 中,还可对突发事件进行判断井弹山后台控制软竹。 3 2 m c u 中的底层驱动软件 m c u 中的底层驱动软件主要分为两部分,其中一部分驱动软件用来实现对u s b 控制器 ( d 1 2 ) 操作,实现u s b 通信相关的协议。另一部分用来实现对太嘲控制芯片r t l 8 1 0 9 a s 操作t 实现t c p i p 相关的协议。此外底层软件还包含完成对数据的采集( 即对a d 的读取) 和1 2 c 总线存贮器的读写。 3 3 p c 上层客户u s b 驱动程序软件 该部分作用是实现p c 上层管理软什通过u s b 接口对硬竹i :作的系统参数进行没置, 参数如:i p 地址,采样间隔,以太网的物理地址等。u s b 系统驱动群序采_ l f j 分层结构模型, 较高级的u s 8 设备驱动群序平l 较低级的u s b 函数层,其中u s b 函数层由两部分组成:较 东南大学硕士学位论文 远程虚拟蓄电池测试系统设计 高级的通_ i j 串行总线驱动科序模块( u s b d ) 和较低级的控制器驱动程序模块( h c d ) 。 四个模块:初始化模块,即插即川管理模块,电源管理模块及i 0 功能实现模块。 3 4 远程虚拟蓄电池测试系统中的中心监控管理软件 提供功能完善的图形化界面,代替传统仪器复杂的控制面板功能,奉部分提d i 虚拟蓄 电池测试系统丁作控制参数的设置及从底层软件获得采集的数据等功能,并提供图表等多种 显示分析功能和历史数据管理功能。 四单片机实现t c p i p 与w i n d o w s 的区别 山于单片机与电脑的差别很大,两者的实现有很大的小同。在电脑里编。与t c p i p 程序, 你可以小考虑代码大小、代码速度,但在单片机上这些都是要考虑的问题。综合来说,单 片机实现与w i n d o w s 实现t c p i p 有如下区别: 操作系统。不论是w i n d o w s 、u n i x 、l i n u x 它们都有一个多任务操作系统,这使得代码 编写简单化,而在单片机上,网为资源的原阑而无法使h j 多任务操作系统,这使得代码结构 变为顺序执行+ 便1 ,| :中断的方式,而在电脑里却可以并发地执行。对程序执行结构,单片机 要考虑更多。 内存分配。w i n d o w s 或u n i x 的内存分配是动态的,根据需要随时分配,随时撤消。我们 阅读一些关丁l i n u x 、u n i x 的m 它们都是m b u f 的存储结构。m b u f 是一个存储链,这个链 可以动态地增加和减小。比如在数据包很少的情况卜,u n i x 分配一个2 k 字协的缓冲区可能 就够州了,但如果数据包很多,就有可能要分配6 4 k 甚至更多的缓冲区,可分配的内存要根 据c p u 的可川内存米调整。但是在单片机却不能够这样做。一个最人的以太网数据包有1 5 0 0 多个字:m 分配一包的缓冲区就要1 5 k 字坩,而一般实现t c p i p 的单片机只外接一块3 2 k 字1 ,的r a l 4 。而这3 2 k 字。1 y 的r a m 要被各个协议所用,而不仅仅是存放收剑的数据包。一般 的做法是分配一个2 5 6 6 = 1 5 3 6 个字。坩的r a m 米存放收到的以太网数据包。收到一包就处理 一包。而u n i x 却可以收很多包才处理。在单片机里,存放收到的以太网数据包的r a m 是l 卉| 定的,而不是动态分配的。所有u n i x 荚丁内存管理、内存分配、m b u f 的结构在单片机里并 不适川。这些代码对单片机是无州的。 指针。在电脑里,指针只有一种,就是指向某一地址的r a m ,而在单片机里指针有儿种: i 指向外部r a m 的指针例u c h a rx d a t a4 p 使州指令m o v x d p t rl i 二个字1 y 2 指向拌序r o m 的指针例u c h a rc o d e 却使h j 指令m o v el i l 二个字性 3 指向内部的r a i 的指针例u c h a rd a t a 却使_ | 1 i 指令m o v r il l f 一个字1 , 4 指向外部r a m 的分页指针例u c h a rp d a t a p 使州指令m o v x r iio i 一个字社 5 一般指针,可以指向以上的任何一种f 1 1 三个字协 6 还有其它h j 丁分组切换的指针。 在l b 脑里,所有程序都必须先放在r a m 里才能运行。所以它的指针只有一种情况,就 是指向r a m 。而单片机的结构和电脑的结构有很人差别,指针类型很多,对指针运算的速度 也不一样,由丁第5 种指针一般指针运算很慢,同时义需要1 1 川很多稗序空间,这使得指 针运算不能从u n i x 源代码直接移植剑单片机上,而u n i x 实现t c p i p 的源代码中,_ l i = 的最 多的就是指针而在单片机里一般要求少埘指针,或使川特定类型的指针。这使用u n i x 的 源代码需要作很多的改动。、 参数传递。在u n i x 实现的t c p i p 源代码中,一般有很多的参数传递而在单片机里允许 传递的参数是有限的( 冈为受到内部r a m 的限制) ,同时参数传递的过稗要浪费科序代码空 间,也降低单片机执行速度。所以在单片机的实现里,一般不要做太多的参数传递,而多使 公共的全局变茸来实现调川的过程。这种情况f u n i x 的一般源样序是相对独立的,受 东南大学硕士学位论文 远程虚拟蓄电池测试系统设计 其它函数或变姑的影响很小,而单片机里各群序的相互依赖程度要人。因为在单片机里往往 共享某一数据、某一变蜮。 变量定义。u n i x 平k e i lc 5 1 虽然都是c 语言,但两者义有所不同,对丁一些变域的定 义,两者却不能通。例如,单片机的特殊寄存器定义,s f rs f r l 6s b i t 等,在标准c 里 是没有的。在标准c 里支持的结构,在k e i lc 里也有可能不支持,比如一些c + + 的语法。 在处理上的特殊性,也可能不一样,比如i p 地址类型,在u n i x 里一般将i p 地址定义为数 组: u c h a ri p 4 :而往单片机里,我的定义是 h o i o ni p _ a d d r e s s t y p e # u c h a rb y t e s 4 : i n tw o r d s 2 : u l o n gd w o r d s : ) i p 被定义为共_ h j 体,而不是简单的一个数组。为什么要这样做,是冈为单片机处理的特 殊性,例如比较两个i p 地址i p i ,i p 2 是否相等,如果使刚数纽,比较楚麻烦的:要写成i f ( i p l 0 = = i p 2 1 ) * * i p l 1 = i p 2 1 十扣川共州体可以简化为 i f ( i p l d w o r d s = = i p 2 d w o r d s ) 有时候,我们义要把i p 地址按1 6 位米计算,比如 较验和计算。那么i p 地址按1 6 位加可以写成:i p d w o r d s o + i p d w o r d s 1 有时,我 竹j x 要对i p 地址按字哦值,比如i p 地自h 从2 4 c 2 5 6 里读出米,需要按字。赋值:可以为 i p b y t e s 0 = xi p b y t e s 1 = xxi p b y t e s 2 = xi p b y t e s 3 = x 如果不作这样的定义,运算将复杂饭多。而且一些编译会认为类弛混乱而无法编泽。在 单片机里使州共川体会简化很多。而在u n i x 里要对这些值作改变,一般是利心指针进行的。 在电脑里,川指针运算是方便的,而且速度也快,但在单片机里却不能够方便地使川指针。 在u n i x 里的一些结构类型的定义都要被改写。这样也使得u n i x 的源代码不能直接_ l j 在单片 机上。 协议支持。在u n i x 里可支持比较完整的t c p i p 协议,但在单片机里无法做到。这是因 为单片机根本没有足够的代码空间米支持这些协议。一般在单片机里实现与需要有关的部 分,而不使州的协议则一概不支持。例如文什兆享s m b 协议,在u n i x 、w i n d o w s 都支持,但 单片机上却没有必要。一般只能在单片机中实现:a r p 、i p ,i c m p 、t c p 、u d p 这些协议,而 更高层的协议,h t t p 、s m t p 、f t p 一般是不需要支持的。虽然有些单片机例如a v r 上网方案 实现了h t t p 、s m t p 、f t p 协议,但我们认为实用性不太,冈为a v h 上网方案川的是m e g a l 0 3 , 而该芯片要1 5 0 元左右,高昂的造价使得a v r 上网方案没有得到j “泛的虑埘。单片机廊州的 t c p i p 协议人多是为了完成数据采集和数据传输,而不是网页浏览、文什传输这些功能。 就对某一协议而言例如a r p 协议,u n i x 系统支持以太网、令牌环等网络的a r p ,但单片机 里只支持以太网,也就是说对丁某一协议也有可能要作简化。i p 包最人可咀为6 5 1 ,可 以分段传输,而在单片机里根本无法容纳如此人的数据包,冈此一般是不支持分段的。单片 机一般采埘发送小数据包的方式,以避免分段。 硬件接口。在u n i x 或w i n d o w s 里,对网 驱动无一例外都是采用中断方式。而在单片 机的麻圳中,人部份的方案都是赉询式的。冈为电脑的处理速度快一次中断的处理时间也 很短,不会影响系统内的其它中断。但在单片机里就不行了,处理一次中断,收取一个数据 包一般要儿毫秒的肘间,这将封锁其它中断的产生( 只有高优先级的中断可以执行) ,而单 片机往往还存在其它一些中断,比如串口按收中断,a d 条 ,| :中断等需要被执行,这就使得 消耗时间k 的网 中断改为卉询式执行。在电脑里,对网仁的驱动相对简单,而在单片机里 东南大学硕士学位论文远程虚拟蓄电池涌试系统设计 需要处理的事情更多。比如缓冲区溢出,阅读一些驱动穰序源代码,你可能发现在l 乜脑里的 一些程序根本没有处理溢山的代码。| 灭| 为电脑执行快,网 缓冲区的溢山儿乎是不会发生的。 l 也脑往往采川即插即川方式来驱动网矗,而单片机却不能这样做,冈为即插即川要很多代码 束实现,而使州跳线方式电脑里驱动n e 2 0 0 0 的网 一般都是川1 6 能d 凇的方式,而在 单片机里却只能蚋8 侥d m a 方式。这也使u n i x 对网 驱动的代码不能直接移植。 五基于m c u 的t g p z p 协议的驱动程序设计 5 1t c p i p 协议原理 t c p i p 挑议个真正的开放系统,冈为协议族的定义发其多种实现可以小用花钱或花很少 的钱就可以公丌地得到。它成为被称作“全球互联嘲”或“因特喇( i n t e r n e t ) ”的基础,该 广域瑚( w a n ) 己乜含超过数t 万台遍布世界符地的计算机。瑚络协议通常分小间层次进行 丌发,每一层分别负责币同的通信功能。tcp ip ,是一编不同层次上的多个协议的绢 合。tcp ip 通常被认为是一个四层协议系统,如图5 1 所示。每层负责小同的功能: 链路层:有时也称作数据链路层戏网络接口层,通常包括操作系统中的殴备驱动科序平计算 机中对席的网络接口r 。它们一起处理与电缆( 或其他任何传输媒介) 的物理接口细1 y 。 网络层:有时也称作互联网层,处理分组在网络中的活动例如分组的选路。在tcp ip 协议旅中,网络层协议包括ip 协议( 网际协议) ,icmp 协议( i n t e r n e t j :l 联网控制报文 协议) ,以及igmp 协议( z n t e r n e t 组管理协议) 。 运输层:主要为两台主机上的应州程序提供端到端的通信。在tcp ip 协议族中,有两个 互不相同的传输协议: tcp ( 传输控制协议) 和udp ( 州户数据报协议) 。tcp 为两台 主机提供高可靠性的数据通信。它所做的l :作包括把麻h j 程序交给它的数据分成合适的小块 交给f 面的网络层,确认接收到的分组,设置发送晟厉确认分纽的超时时钟等。由丁运输层 提供了高可靠性的端到端的通信,因此应埘层可以忽略所有这些细协。而另一方面, udp 则为廊川层提供种1 | 常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台 土机但并不保蕾该数据报能到达另一端。任何必需的可靠性盛须由应用层米提供。这两种 运输层协议分别在不同的虑州科序中有不同的川途,这一点将在后面看到。 应用层:负责处理特定的应砌程序细仃。 儿乎辑种不同的tcp ip 实现都会提供卜面这些通川的麻l i j 程序: 麻刚层 运输层 网络层 链路层 图5 1 :t c p i p 协议族的四个层次 东南大学硕士学位论文 远程虚拟蓄电池测试系统设计 在一个局域网( lan ) 如以太网中有两台主机,二者如果都远行相同麻t l j 协议,图5 2 列出 了该过拌所涉及到的所有协议。 麻川 运输 网络 链路 图5 2 :局域网上运行的两台土机 处理麻_ l j 细 处理通信 细仃 一个互迮网就是一组通过相同协议族互连在一起的网络。构造互连网最简单的方法是把 两个或多个网络通过路由器进行连接。它是一种特殊的川丁网络互连的便f l :盒。路由器的好 处是为不同类型的物理网络提供连接:以太网、令牌环网、点对点的链接和fddi ( 光纤 分布式数据接口) 等等。这些盒子也称作ip 路由器( i pr o u t e r ) 。 查塑查堂堡主堂垡丝苎 墨堡些苎! 皇垫型苎墨! 型 t c p i p 的分层 在tcp ip 协议族中,有很多种协议。图5 4 给出了将要时论的其他卧议。 图5 4 :t c p i p 协议旅中不同层次的协议 应用层 刚络层 链路层 tcp 和udp 是两种最为著名的运输层协议,一者都使用ip 作为嘲络层协议。虽然tc p 使用小可靠的ip 服务。但它却提供一种可靠的运输层服务。但是与tcp 4 i 同的是,udp 是4 i 可椎的,它小能保证数据报能安全无误地到达最终目的地址。ip 是刚络层上的主要卧 议,同时被tcp 1 1 udp 使用。tcp 和udp 的每组数 错都通过端系统和每个中问路山器中 的ip 层在互联刚中进行传输。icmp 是ip 协议的附属协议。ip 层用它来与其他主机或路 山器交换错误撤文和其他重要信息。尽管icmp 主要被ip 使用,但庶用程序也有可能访问 它。igmp 是i n t e r n e t 组管理协议。它用来把一个udp 数据搬多捕到多个主机。arp ( 地 址解析协议) 和rarp ( 逆地址解析协议) 是某些嘲络接口( 如以太刚和令牌环刚) 使用 的特殊协议,用来转换ip 层和1 ) b 9 络接口层使用的地址。 t c p i p 的数据分层封装 当庶川科序州tcp 传送数据时,数据被送入协议栈中。然后逐个通过每一层直到被当 作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息( 有时还要增加尾 部信息) ,该过程如| j | 5 - 5 所示。t c p 传给ip 的数据单元称作t c p 报文段或简称为t c p 段( t c p s e g m e n t ) 。ip 传给网络接口层的数据单元称作ip 数据报( i pd a t a g r a m ) 。通过以太网传输 的比特流称作帧( f r a m e ) 。 东南大学硕士学位论文 远程虚拟蓄电池测试系统设计 一t 旧p 段 一 图5 5 :数据进入协议栈的封装过科 以太网 幽5 5 中帧头平帧尾卜面所标注的数字魁典型以太网帧首部的字仃k 度。以太网数据帧 的物理特性是其k 度必须在46 150o 字竹之间。udp 数据与tcp 数据基本致。唯 的不同是udp 传给ip 的信息单元称作udp 数据掇( u d pd a t a g r a m ) ,而且udp 的首部长 为8 字1 ,。在上面的| 玺1 5 4 ,由于tcp 、udp 、icmp 希i i6mp 都要向ip 传送数据。 闪此ip 必须在生成的ip 首部中加入某种标识,以表明数据属丁哪一层。为此, ip 在首部 中存入一个故度为8bit 的数值称作协议域。l 表示为icmp 协议z 表示为igmp 协议,6 表示为tcp 协议,17 表示为udp 协议。类似地,许多麻州科序都可以使_ l tcp 或udp 来传送数据。运输层协议在生成报文酋部时要存入一个虑川程序的标识符。tcp 和udp 都用个16bit 的端口号来表示不同的应j ; j 程序。tcp y n i ui dp 把源端口号利目 的端口号分别存入报文首部中。网络接1 :2 分别要发送和接收ip 、arp ij rarp 数据,田 此也必须在以太网的帧首部中加入某种形式的标识,以指明生成数据的网络层协议。为此, 以太网的帧苜部也有一个1 6b i t 的帧类型域。 t c p i p 的数据分用 当日的主机收到一个以太网数据帧时数据就开始从协议拽中由底向上升,同时去掉箨 半南上望悯芏甲中空坚 东南大学硕士学位论文 远程虚拟蓄电池涮试系统设计 层协议加上的报文首部。每层协议盒都要去检卉报文首部中的协议标识,以确定接收数据的 上层协议。这个过穰称作分_ i j ( d e m u l t i p l e x i n g ) ,图5 6 显示了该过科是如何发生的a t h a i t 阿 * 进f t i | i | j 坼 v j 2 - 黼 图孓缶:t c p ,i p 数据的分州 为协议icmp n i igmp 定位一直是一什很棘手的事情。在幽5 4 0 e ,把它们与ip 放在同 一层上,那是网为事实上它们是ip 的附属协议。但是在这里,我 f j 义把它们放在ip 层的上 面,这是冈为i c m p f f i i i g m p 报文都被封装在i p 数据报中。对t arp f f , i i rarp ,我们也遇到类 似的难题。在这里把它1 j 放在以太网设备驱动样序的上方,这是冈为它们和ip 数据报一样, 都有并白的以太网数据帧类型。但在l 簦j 5 6 中,我们义把arp 作为以太网设备驱动科序的 一部分,放在ip 层的f 面,其原冈在逻辑上是合理的。这些分层协议盒并不都是完美的。 当进一步描述tcp 的细。m 时,我们将霸到协议确实是通过目的端口号、源ip 地址和源端口 号进行解包的。 以太网封装 它是tcp ip 采用的主要的局域嘲技求。在tcp ip 世界中,以太嘲ip 数据报 的封装是在r f c8 9 4 h o r n i g1 9 8 4 中定义的,i e e e8 0 2 嘲络的ip 数据报封装是在r f c 1 0 4 2 p o s t e la n dr e y n o l d s1 9 8 8 中定义的。 1 ) 必须能发送和接收采用r f c8 9 4 ( 以太刚) 封装格式的分组。 2 ) 应该能接收与r f c8 9 4 混合的r f c1 0 4 2 ( i e e e8 0 2 ) 封装格式的分组。 3 ) 也许能够发送采用r f c1 0 4 2 格式封装的分组。如果主机能同时发送两种类型的分组数 据,那么发送的分组必须是可以设置的,而且默认条件下必须是l i f e8 9 4 分组。 最常使用的封装格式是r f c8 9 4 定义的格式。图5 7 显示了两种1 i 同形式的封装格式。图 中每个方框下面的数宁是它们的宁节长度。两种帧格式都采用4 8b i t ( 6 7 - 节) 的目的地址 和源地址( 802 3 h :许使用1 6b i t 的地址,但一般是4 8b i t 地址) 。这就是我们在= 牟= 文 中所称的硬件地址。arp 和rarp 协议对3 2b i t 的ip 地址和4 8b i t 的硬件地址进行映射。 接下来的2 个宁节在两种帧格式中互小相同。在802 t * 准定义的帧格式中,长度宁段是指它 后续数据的宁节长度,但小包括crc 检验码。以太嗍的类型宁段定义了后续数据的类型。c rc 宁段用于帧内后续宁节差错的循环冗余码检验( 检验和) ( 它也被称为fcs 或帧检验序 列) 。802 3 标准定义的帧和以太恻的帧都有最小长度要求。802 3 规定数据部分必 须全少为38 宁节,而对于以人嘲,则要求最少要有46 宁节。为了仪证这一点,必须在小足 东南大学硕士学位论文 远程虚扭蓄电池测试系统设计 的空间插入填充( pad ) 字订。在开始观察线路上的分组时将遇剑这种最小k 皮的情况。 以a i i 哇n 震脚c 酶,一 粤1 涮榉铲管 6 6l粕、i s 撕 l 粼| 睁燃 l 凰匹受翻 。1 。臻1 r 以a 嘲崦封麓撩式挠“湖 图5 7 : i p 网际协议 ip 是tcp ip 协议族中最为核心的协议。所有的tcp 、udp 、icmp 及igmp 数据都以ip 数据撤格式传输( 见图5 6 ) 。许多刚丌始接触tcp ip 的人对ip 提0 1 1 i 可靠、无连接的数据撒传送服务感到很奇怪特别是那些只有x 25 或sna 背景知汉的人。 4 i 可靠( u n r e l i a b l e ) 的意思是它不能保证ip 数据报能成功地到达h 的地。ip 仅提供最 好的传输服务。如果发生某种错误时,如某个路山器暂时用完了缓冲医, ip 有一个简单的 错误处理算法:丢弃该数据撒,然后发送icmp 消息搬给信源端。任何要求的可靠性必须 山上层来提供( 如tcp ) 。无连接( c o n n e c t i o n l e s s ) 这个术语的意思是ip 并小维护任 何关于后续数据搬的状态信息。每个数据撤的处理是相互独立的。这也说喇, ip 数捌撤可 以小按发送顺序接收。如果一信源向相同的信宿发送两个连续的数据报( 先是a ,然后是b ) , 每个数据撤都是独立地进行路山选择,可能选择1 i 同的路线冈此b 可能在a 到达之前先到达。 在奉章,我们将简要介绍ip 首部中的再个宁段,讨论ip 路山选择和予州的有关内容。 i p 数据报的格式如图5 8 所示。早孚通的i p 首部长为20 个宁节,除非含有选项宁段。 4 f 越 4 似汀娜 州鲫艇务0 毪豫 i “位砖怔魔t 扣节救 j 阪啦k 膨 f 1 1 0 辩 i 刊啦际默 ,钕 1 j 纰”籍穆 酥毫; h 位,j j 仃刑鲫 f l 瑚 8 f 誊懈议 l “证甜潞橇黪剃 3 二他日驰i i 电城 3 3 能i i 构”艴鳗 7 进搠酗裳蠢, 皴豁 j l p 散搬揪麟文髓藩潞l + 昀嚣+ 段 图5 8 下l辨f上 东南大学硕士学位论文 远程虚扭蓄电池涮试系统设计 分析j 鳖1 5 8 中的首部。最高位在左边,记为0b i t ;虽低何在边,记为3 1b i t 。4 个 字仃的3 2b i t 值以f 面的玖序传输:首先是o 7b i t ,其次8 1 5b i t 然后16 2 3b i t , 最后是2 4 3 1b i t 。这种传输次序称作b i ge n d i a n 字。1 y 序。由丁tcp ip 首部中所有的二 迸制档数在网络中传输时都要求以这种次序,冈此它义称作网络字牡序。以其他形式存储二 进制整数的机器如l i t t l ee n d i a n 格式,则必须在传输数据之前把苜部转换成网络字仃序。 目前的协议版本号是4 ,冈此ip ;f f 时也称作ipv4 。首部妖度指的是首部i0 13 2b i t 字的数 目包括任何选项。由丁它是一个4 比特宇段,冈此首部最k 为60 个字。普通ip 数据报 ( 没有任何选择项) 字段的值是5 。服务类型( t os ) 字段包括个3b i t 的优先权子字段( 现 在已被忽略) ,4b i t 的t 0s 子字段乖1 1b i t 未川位但必须置0 。4b i t 的t os 分别代表:最小 时延、最人吞吐埘、最高可靠性和塌小费_ 【 j 。4b i t 中只能置其中1b i t 。如果所有4b i t 均 为0 ,那么就意味着是一般服务。 地址解析协议 我们要讨论的问题是j 对tcp ip 协议簇有意义的ip 地址。数据链路如以a 蝴或令 牌环嘲部有自己的寻址机制( 常常为4 8b i t 地址) ,这是使用数据链路的任何州络层都必须 遵从的。一个嘲络如以_ 爪嘲可以同时被小同的网络层使用。例如,一组使用tcp ip 协 议的主机和另一组使用某种pc 蚓络软件的主机可以共享相同的电缆。? 1 1 一台主机把以a 叫 数据帧发送到位于同一局域嗍上的另一台主机时,是根据4 8b i t 的以太嘲地址来确定目的接 口的。设备驱动程序从小检查ip 数据撤中的目的ip 地址。地址解析为这两种小同| 1 匀地址形 式提d i 映射: 3 2b i t 的i p 地址和数据链路层使用的任何类i l i ! ! 的地址。 地址解析给 i 甏:a r p 弱i r a r p 图5 9 :地自h 解析协议 arp 发送一份称作arp 请求的以太网数据帧给以太网上的每个主机。这个过科称作r f 播, 如幽6 1 0 中的虚线所示。arp 请求数据帧中包含目的土机的ip 地自t ( 土机名为bsdi ) , 其意思是“如果你是这个ip 地址的拥有者,请同答你的硬1 ,l :地址。目的主机的arp 层收到 这份r 橘报文斤,识别山这是发送端在寻问它的ip 地址,丁是发送一个arp 麻答。这个ar p 府答包含ip 地址及对麻的硬仆地址。收到arp 应答后,使arp 进行请求一麻答交换的ip 数据报现在就可以传送了。发送ip 数据报到目的主机。在arp 背斤有个基本概念,那就 是网络接口有一个硬彳| :地址( 一个4 8b i t 豹值,标识不同的以太网或令牌环网络接口) 。在 便竹层次上进行的数据帧交换必须有止确的接口地址。但是,t cp ip 有白己的地址:3 2 b i t 的ip 地址。知道主机的ip

温馨提示

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

评论

0/150

提交评论