(电路与系统专业论文)基于Web的远程测控系统设计[电路与系统专业优秀论文].pdf_第1页
(电路与系统专业论文)基于Web的远程测控系统设计[电路与系统专业优秀论文].pdf_第2页
(电路与系统专业论文)基于Web的远程测控系统设计[电路与系统专业优秀论文].pdf_第3页
(电路与系统专业论文)基于Web的远程测控系统设计[电路与系统专业优秀论文].pdf_第4页
(电路与系统专业论文)基于Web的远程测控系统设计[电路与系统专业优秀论文].pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

摘要 远程测控技术在现代科学技术、工业生产和国防等诸领域中的应用十分广泛。 测控技术的现代化,已被公认为是科学技术和生产现代化的重要条件和明显标志。 随着互联网络的发展,基于t c p i p 通信协议的w e b 技术得到了广泛的应用和普 及。基于i n t e r n e t 的远程测控技术受到工业界的广泛关注,越来越多的控制设备和 测试仪器开始实现内置的w e b s e r v e r 。基于b s ( b r o w s e r s e r v e r ) 模式的远程测控系 统未来将会广泛应用于智能家居系统、仪器仪表、数据采集、过程控制、工业自动 化、家庭自动化等诸多领域。 本文在对t c p i p 协议进行适当裁减和优化的基础上,设计实现了基于w e b 的远 程测控系统。系统硬件以1 6 位微处理器s p c e 0 6 1 a 和网络接口芯片d m 9 0 0 0 为核心, 利用微处理器内置的a d 通道及i 0 端口完成模拟数据采集和外i 羽设备控制。软件 设计中,将网页文件存储于微处理器的r o m ,利用t c p i p 协议和h t t p 协议,接收 和分析来自网络中其它计算机的访问请求,并在浏览器中返回相应的网页文件。以 链表形式存放网页数据,通过移动指针实现数据在各协议层之间的传递,降低内存 消耗,实现服务器与客户端之间的动态交互。最后,以某市高速公路车辆远程测控 系统为例进行系统测试,结果表明本文方案可行,具有较大的通用性。 关键词:t c p i p ;w e b s e r v e r :远程测控:h t t p a b s t r a c t r e m o t em e a s u r e m e n ta n dc o n t r o lt e c h n o l o g yi sw i d e l yu s e di nm o d e ms c i e n c ea n d t e c h n o l o g y , i n d u s t r i a lp r o d u c t i o n ,a n dn a t i o n a ld e f e n s e m o d e r n i z a t i o no fm e a s u r e m e n t a n dc o n t r o lt e c h n o l o g yh a sb e e nw e l la c k n o w l e d g e da sr e m a r k a b l es i g no fm o d e m s c i e n c ea n dt e c h n o l o g ya n dp r o d u c t i o n w i t ht h ed e v e l o p m e n to fi n t e r n v t ,t e c h n o l o g yo fw e bw h i c hb a s e do nt c p i pi s p o p u l a ra n dw i d e l yu s e d r e m o t em e a s u r e m e n ta n dc o n t r o lt e c h n o l o g yb a s e do ni n t e r a c t h a sb r o u g h tw i d ea t t e n t i o ni ni n d u s t r y , m o r ea n dm o r ec o n t r o le q u i r l m e n t sa n dt e s t i n s t r u m e n t sh a v ea l r e a d yc a r r i e do u tw e b s e r v e ri n s i d e m e a s u r e m e n ta n dc o n t r o ls y s t e m o fb s ( b r o w s e r s e r v e r ) m o d ew i l lb ew i d e l yu s e di ni n t e l l i g e n c eh o u s e ,i n s t r u m e n t a p p e a r a n c e ,d a t aa c q u i s i t i o n ,p r o c e s sc o n t r o l ,i n d u s t r ya u t o m a t i o n ,f a m i l ya u t o m a t i o n e t c a f t e ro p t i m i z i n ga n dr e d u c i n gt h es i z eo ft c p i pp r o t o c o l ,t h i sp a p e rd e s i g n e da n d r e a l i z e dr e m o t em e a s u r e m e n ta n dc o n t r o ls y s t e mb a s e do nw e b h a r d w a r es y s t e m i n c l u d e ss p c e 0 6 l ao f1 6 - b i tm c ua n dd m 9 0 0 0 d a t aa c q u i s i t i o na n de q u i p m e n t s c o n t r o la r ec o m p l e t e dt h r o u g ha da n df oo fs p c e 0 6 1 a w e b s e r v e rs t o r e sd a t ao f w e b s i nt h er o m ,r e c e i v e sa n da n a l y z e st h er e q u e s to fo t h e rc o m p u t e r si nt h en e t w o r k ,a n d r e t u r n st h ec o r r e s p o n d i n gw e bi nb r o w s e lt h es y s t e mr e d u c e sm e m o r yc o n s u m p t i o n b e c a u s et h a td a t ao fw e b si ss a v e di nc h a i n sa n da l ll a y e r so fp r o t o c o ls h a r et h ed a t a t h r o u g hm o v i n gt h ep o i n t t h ed y n a m i cd a t ai st r a n s m i t t e db e t w e e nw e b s e r v e ra n d c l i e n t a tl a s t ,t h er e m o t et r a f f i cm o n i t o ra n dc o n t r o ls y s t e mo fc i t ys u p e r h i g h w a yp a s s e s p r a c t i c et e s ts h o w st h a tt h ep r o j e c ti sf e a s i b l ea n da l l - p u r p o s e k e yw o r d s :t c p i p ;w e b s e r v e r ;r e m o t em e a s u r e m e n ta n dc o n t r o l ;h t t p i i y 1 0 13 0 3 1 潮创幛声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究 工作及取得的研究成果。据我所知,除了文中特别加以标注和致 谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得东北师范大学或其他教育机构的学位或证书而使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均己 在论文中作了明确的说明并表示谢意。 学位论文作者签名:翌鳢 日期: 2 1 1 :! 三:生 学位论文版权使用授权书 本学位论文作者完全了解东北师范大学有关保留、使用学位 论文的规定,即:东北师范大学有权保留并向国家有关部门或机 构送交学位论文的复印件和磁盘,允许论文被查阅和借阅。本人 授权东北师范大学可以将学位论文的全部或部分内容编入有关数 据库进行检索,可以采用影印、缩印或其它复制手段保存、汇编 学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:亟指导教师躲彳盆文 学位论文作者毕业后去向: 工作单位; 盔j e 堙堇盔兰 通讯地址: 篮查直厶匠塞街2 竖呈 电话 邮编1 3 0 0 2 4 第一章绪论 1 1 研究意义 上世纪9 0 年代以来,信息网络、通信技术以及测控“1 技术各自的发展与融合,特别 是网络技术的发展,使得各自独立的测控系统已不能适应工业化。1 的需求,于是便产生 了分布式系统。这种系统以计算机网络为基础,使系统资源分配趋于合理。但是由于目 前运行的绝大多数分布式测控系统还只是在局域网上,通常的测控仅局限于同一地点, 具有一定的地域局限性。 随着i n t e r n e t 的发展,其开放性的特点,使人们有能力解决以前在极有限的资源 下很难解决的问题。基于t c p i p 协议的以太网”1 可以满足控制系统各个层次的需求,具 有实现现场设备层和企业管理层的无缝连接、低成本等现场总线“1 技术无法比拟的优点。 专家预言,基于以太网传输的i n t e r n e t 网络将会成为下一代工业控制”1 网络的重要选择, 并将带来工业控制网络薪的变革。 基于w e b 的网络测控系统,以i n t e r a c t 为通信平台,以t c p i p 和h t t p 协议为基础, 具有简单、灵活、高效、不受地理范围影响等优点,是未来远程测控技术发展的主要方 向之一。 1 2 国内外研究现状 1 2 1 国外研究现状 远程测控是国内外研究的前沿课题,国内外都展开了积极的研究。 1 9 9 7 年1 月,首届基于i n t e m e t 的远程测控诊断工作会议由斯坦福大学和麻省理工 学院联合主办,会议主要讨论了有关远程测控系统开放式体系、诊断信息规程、传输协 议及对用户的合法限制等,并对未来技术发展作了展望。由斯坦福大学和麻省理工学院 合作开发基于i n t e r n e t 的下一代远程测控诊断示范系统,这项工作同时也得到了制造业、 计算机业和仪器仪表业的s u n 、h p 、b o e i n g 、i n t e l 、f o r d 等1 2 家大公司的热情支持和 通力配合。之后,由这些公司共同推出了一个实验性的系统t e s t b e d ,初步形成在i n t e r n e t 范围内的信息监控和诊断推理。 另外,许多国际组织,如m i m o s a ( m a c h i n e i n f o r m a t i o n m a n a g e m e n t o p e ns y s t e m a l l i a n c e ) 、s m f p t ( s o c i e t yf o rm a c h i n e r yf a i l u r ep r e v e n t i o nt e c h n o l o g y ) 、c o m a d e m f c o n d i t i o nm o n i t i o na ne n g i n e e r i n gm a n a g e m e n t ) 等,也纷纷通过网络进行设备测控、故 障诊断咨询和技术推广工作,并制定了一些信息交换格式和标准。许多大公司也在各自 的产品中加入了i n t e r a c t 的功能,如b e n t l e y 公司的计算机在线设备运行测控系统 d a t a m a n a g e r 2 0 0 实现以网络动态数据交换m e t d d e ) 的方式向远程终端发送设各运行状 态的信息;著名的n a t i o n a li n s t r u m e n t s 公司也在它的产品m w i n d a w s c 以及 l a b v i e w 中加入了网络通讯处理模块,因而可以通过w w w 、f t p 、e - m a i l 方式在网络 范围内进行测控数据的传送。 1 2 2 国内研究现状 国内对于远程测控技术也开展了积极的研究。目前,西安交大、华中科技大学、哈 尔滨工业大学、南京理工大学等高校己取得了较为先进的研究成果。如西安交通大学研 制的大型旋转机械计算机状态测控系统及故障诊断系统r m m d 、华中科技大学开发的 汽轮机工况测控和诊断系统k b g m d 、哈尔滨工业大学的微计算机化机组状态监视与故 障诊断专家系统m m m d e s 等。 1 3 本文研究内容 本文围绕基于w e b 的网络测控系统关键技术的研究和实现,主要完成以下工作: 1 m c u 与网络芯片的接口电路设计。 2 m c u 与外围控制设备的接口电路设计。 3 数据采集与a d 转换电路设计。 4 在m c u 中实现w e b s e r v e r 。 5 与w e b s e r v e r 相关的数据通信软件的编写。 第二章o s i 参考模型和t c p i p 协议栈 2 1o s i 参考模型 在计算机网络产生之初,每个计算机厂商都有一套自己的网络体系结构的概念,它 们之间互不相容。为此,国际标准化组织( i n t e r n e to r g a n i z a t i o nf o rs t a n d a r d i z a t i o n , i s o ) 在1 9 7 9 年建立了一个分委员会来专门研究一种用于开放系统互联的体系结构( o p e n s y s t e m si n t e r c o n n e c t ) 。这个分委员会提出了开放系统互联参考模型,即o s i “1 参考模 型,它定义了连接异种计算机的标准框架。只要遵循o s i 标准,一个系统就可以和世界 上任何地方的、也遵循o s i 标准的其它系统进行连接。 2 1 1o s i 参考模型概述 o s i 参考模型将通信会话需要的各种进程划分成7 个相对独立的功能层次,这些层 次的组织是以在一个通信会话中事件发生的自然顺序为基础的。 o s i 参考模型的7 个层分别为:物理层、数据链路层、网络层、传输层、会话层、 表示层和应用层。如图2 - i 所示。 o s i 参考模型层o s i 层 次描述次号 应用层 7 表示层6 会话层 5 传输层 4 网络层 3 数据链路层 2 物理层 l 图2 - i0 s i 参考模型 2 1 2o s i 参考模型中各层的功能 1 物理层 o s i 参考模型的最底层称为物理层( p h y s i c a ll a y e r ) ,这一层负责传送比特流。 从字面上看,物理层只能看见o 和1 ,它没有一种机制用于确定自己所传输和发送 比特流的含义,而只与电信号技术和光信号技术的物理特征相关。这些特征包括用于传 输信号电流的电压、介质类型以及阻抗特征,甚至包括用于终止介质的连接器的物理形 状。 2 数据链路层( d l l ) o s i 参考模型的第二层称为数据链路层( d l l ) 。与所有其它层一样,它具有两个任务: 发送和接收。它还要提供数据有效传输的端到端连接。 在发送方,d l l 负责将指令、数据等包装到帧中。帧( f r a m e ) 是d l l 层生成的结构, 它包含足够的信息,确保数据可以安全地通过本地局域网到达目的地。 d l l 的另一个职责是重新组织从物理层接收到的数据比特流。 不论哪种类型的通信都要求有第一层和第二层的参与,不管是局域网( l a n ) 还是广 域网( w a n ) 都是如此。 3 网络层 网络层负责在源机器和目标机器之间建立它们所使用的路由。这一层本身没有任何 错误检测和修正机制,因此,网络层必须依赖于端到端之间的由d l l 提供的可靠传输服 务。 网络层用于本地l a n 网段之上的计算机系统建立通信,它之所以可以这样做,是因 为它有自己的路由地址结构,这种结构与第二层的机器地址是分开的、独立的,这种协 议称为路由或可路由协议。 4 传输层 传输层提供类似于d l l 所提供的服务,传输层的职责也是保证数据在端到端之间完 整传输。不过与d l l 不同,传输层的功能是在本地l a n 网段之上提供这种功能,它可以 检测到路由器丢弃的包,然后自动产生一个重新传输请求。 传输层的另一项重要功能就是将乱序收到的数据包重新排序,数据包乱序有很多原 因。例如,这些包可能通过网络的路径不同,或者有些在传输过程中被破坏。不管是什 么情况,传输层应该可以识别出最初的包顺序,并且在将这些包的内容传递给会话层之 前要将它们恢复成发送时的顺序。 5 会话层 o s i 的第五层是会话层,相对而言,这一层没有太大用处,很多协议都将这一层的 功能与传输层捆绑在一起。 o s i 会话层的功能主要是用于管理两个计算机系统连接间的通信流。通信流称为会 话,它决定了通信是单工还是双工,它也保证了接受一个新请求一定在另一请求完成之 后。 6 表示层 表示层负责管理数据编码方式。并不是所有计算机系统都使用相同的数据编码方 式,表示层的职责就是在可能不兼容的数据编码方式阗提供翻译。 7 应用层 o s i 参考模型的最顶层是应用层,尽管它称为应用层,但它并不包含任何用户应用, 相反,它只在那些应用和网络服务问提供接口。 这一层可以看成是初始化通信会话的起因。例如,邮件客户可能会产生一个从邮件 服务器检索新消息的请求,客户端应用自动向与之相关的第七层协议发出请求,并产生 4 通信会话,以获取所需要的文件。 2 1 3o s i 参考模型的通信层次 垂直方向的结构层次是当今普遍认可的数据处理的功能流程。每一层都有与其相邻 层的接口,在各层之间传递数据、指令、地址等信息。o s i 参考模型采用这种结构,每 一层都为其上一层提供服务。如图2 2 所示。 o s io s i 参考模型层 层数描述 7应用层 6表示层 5 会话层 4 i 、传输层卜一一 3赢茸 2 数据链路层 1 物理层 逻辑流 真实数据流一 o s i 参考模型层 o s i 描述层数 应用层 7 表示层 6 会话层 5 - 一传输层, 4 一,丽巍 3 数据链路层 2 物理层 1 图2 - 2o s i 参考模型的通信层次 虽然通信流程垂直经过各层次,但每一层在逻辑上都能够直接与远程计算机系统的 相应层进行通信,从那些层的角度来看,通信就像是直接发生在对应层之间。为创建这 种层次问的逻辑连接,引发通信机器的每一层协议都要在数据报文前增加报文头。该报 文头只能被其它计算机的相应层识别和使用。接收端机器的协议层删去报文头,每一层 都删去该层负责的报文头,最后将数据传向它的应用,过程如图2 3 所示。 图2 - 3 为支持逻辑连接而使用的协议层报文头 o s i 参考模型最初的设计目标是为开放式通信协议设计一个体系结构框架,但它实 际上并没有达到这一目标。到现在为止,这一模型实际上仅仅是一个学术结构。虽然o s i 模型和协议并末获得巨大的成功,但是它在计算机网络的发展过程中仍然起到了非常重 要的指导作用,作为种参考模型和完整体系,它仍对今后计算机网络技术朝标准化、 规范化方向发展具有指导意义。 2 2t o p i p 协议栈 t c p i p ”“栈是一个协议族,这组协议使得跨平台,或称为异构的网络互联成为可 能。t c p i p 起源于6 0 年代末美国政府资助的一个分组交换网络研究项目,到9 0 年代已 发展成为计算机之间最常用的组网形式。它是一个真正的开放系统。 t c p i p 协议是i n t e r n e t 事实上的通信标准。 2 2 1t c p i p 体系结构 t c p i p 由四层组成,每一层负责不同的功能。分别为:链路层( l i n k ) 、网络层 ( n e t w o r k ) 、传输层( t r a n s p o r t ) 、应用层( a p p l i c a t i o n ) 。如图2 - 4 所示。 幽2 4t c p i p 体系结构 1 链路层 链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程 序和计算机中对应的网络接口卡,它们一起处理与电缆( 或其它任何传输媒介) 的物理 接口细节。 2 网络层 网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的路由。在 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 是网络层上的主要协议,同时被t c p 和u d p 使用。 i c m p 是i p 协议的附属协议,i p 层用它来与其它主机或路由器交换错误报文和其它 重要信息。 i g m p 是i n t e r n e t 组管理协议,它用来把一个u d p 数据报多播到多个主机。 3 传输层 传输层主要为两台主机上的应用程序提供端到端的通信。在t c p i p 协议栈中,有 两个互不相同的传输协议:t c p ( 传输控制协议) 和u d p ( 用户数据报协议) 。 t c p 为两台主机提供高可靠性的数据通信,它所做的工作包括把应用程序交给它的 数据分成合适的小块交给下面的网络层,确认接收到的分组,设置确认分组的超时时钟 等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。 u d p 为应用层提供种非常简单的服务,它只是把称作数据报的分组从一台主机发 送到另一台主机,但并不保证该数据报能到达另一端,任何必需的可靠性必须由应用层 来提供。 4 应用层 应用层负责处理特定的应用程序细节。几乎各种不同的t c p i p 实现都会提供下面 这些通用的应用程序:t e l n e t ( 远程登录) 、f t p ( 文件传输协议) 、s m t p ( 简单邮件传 送协议) 、s n m p ( 简单网络管理协议) 等。 t c p i p 中不同层次的协议,如图2 5 所示。 应用层 传输层 网络层 链路层 媒体 图2 - 5t c p i p 协议族中不同层次的协议 2 2 2 以太网和地址 以太网,一般是指数字设备公司( d i g i a le q u i p m e n tc o r p ) 、英特尔公司( i n t e c o r p ) 和x e r o x 公司在1 9 8 2 年联合公布的一个标准,它是当今t c p i p 采用的主要的 局域网技术。以太网采用一种称作c s 姒e d ( c a r r i e rs e n s e ,m u l t i p l ea c c e s sw i t h c o l l i s i o nd e t e c t i o n ) 的媒体接入方法,其意思是带有冲突检测的载波侦听多路接入。 1 m a c 地址 在网络中通信时,每个网络接口都有一个硬件地址,即m a c 地址,这是在硬件层次 上进行数据帧交换必须提供的接口地址。硬件地址是个4 8b i t 的值,标识不同的以 太网或令牌环网接口。 7 2 以太网数据封装 在t c p i p 协议中,以太网i p 数据报的封装是在r f c8 9 4 h o r n i g1 9 8 4 中定义的, 最常使用的封装格式如图2 6 所示。 图2 - 6 以太网数据封装格式 图中每个方框下面的数字是它们的字节长度。 以太网帧格式采用4 8b i t ( 6 字节) 的目的地址和源地址。 接下来的2 个字节定义了后续数据的类型,在类型字段之后就是数据。 c r c 字段存放的是用于检验帧内后续字节差错的循环冗余码( 检验和) ,它也被称为 f c s 或帧检验序列。 以太网数据帧长度最少要有4 6 字节。为了保证这一点,必须在不足的空间插入填 充( p a d ) 字节。 3 最大传输单元( m t u ) 以太网对数据帧的最大长度有限制,其最大值是1 5 0 0 字节,链路层的这个特性被 称为最大传输单元,即m t u 。如果i p 层有一个数据报要传输,而且数据的长度比链路层 的m t u 大,那么i p 层就需要把数据报分成若干片( f r a g m e n t a t i o n ) ,保证每一片都小 于m t u 。 4 i p 地址 互联网上的每个接口也必须有一个唯一的i n t e r n e t 地址,即3 2b i t 的i p 地址。 2 2 3a j i p 地址解析协议 1 a r p 协议的功能 一台主机把以太网数据帧发送到位于同一局域网上的另一台主机上时,是根据4 8 位的硬件地址来确定目的接口的,设备驱动程序不检查i p 数据报中的目的i p 地址。 a r p 的功能是在3 2b i t 的i p 地址和采用不同网络技术的硬件地址之间提供动态映 射,如图2 7 所示。 4 8 位以太网地址 图2 7a r p 协议的功能 a r p 协议工作过程如下: 1 ) 拥有某个i p 地址的客户端发出通信请求。 2 ) 客户端请求t c p 用得到的i p 地址建立连接。 3 ) t c p 用上述i p 地址发送份i p 数据报到远端的主机。 4 ) 如果目的主机在本地网络上( 如以太网、令牌环网或点对点链接的另一端) ,i p 数据报可以直接送到目的主机上。如果目的主机在一个远程网络上,那么就通过i p 路 由算法函数来确定位于本地网络上的下一站路由器地址,并让它转发i p 数据报。 5 ) 发送端主机必须把3 2b i t 的i p 地址变换成4 8b i t 的以太网地址,完成从逻辑 i n t e r n e t 地址到对应的物理硬件地址的翻译,即a r p 的功能。 6 ) a r p 发送一份称作a r p 请求的以太网数据帧给以太网上的每个主机,这个过程称 作广播。a r p 请求数据帧中包含目的主机的i p 地址。 7 ) 目的主机的a r p 层收到这份广播报文后,识别出这是发送端在寻问它的i p 地址, 于是发送一个a r p 应答。这个a r p 应答包含i p 地址及对应的硬件地址。 8 ) 收到a r p 应答后,使a r p 进行请求一应答交换的i p 数据报现在就可以传送了。 9 ) 发送i p 数据报到目的主机。 a r p 协议的工作过程如图2 8 所示。 址 即 地 耻 吡i 协 _ 主机名 图2 - 8a r p 协议工作过程 2 a r p 的分组格式 在以太网上解析i p 地址时,a r p 请求和应答分组的格式如图2 9 所示。 1 l 以太罔;部:山: :! ! : 。品脚请求差答 : :一| 图2 - 9 用于以太网的a r p 请求或应答分组格式 以太网报头中的前两个字段是以太网的源地址和目的地址。目的地址为全l 的特殊 地址是广播地址。电缆上的所有以太网接口都要接收广播的数据帧。 两个字节长的以太网帧类型表示后面数据的类型。对于a r p 请求或应答来说,该字 段的值为0 x 0 8 0 6 。 0 硬件类型字段表示硬件地址的类型。它的值为1 即表示以太网地址。协议类型字段 表示要映射的协议地址类型。它的值为o x 0 8 0 0 即表示i p 地址。它的值与包含i p 数据 报的以太网数据帧中的类型宇段的值相同。 接下来的两个l 字节的字段,硬件地址长度和协议地址长度分别指出硬件地址和协 议地址的长度,以字节为单位。对于以太网上i p 地址的a r p 请求或应答来说,它们的 值分剐为6 和4 。 操作字段o p 指出四种操作类型,它们是a r p 请求( 值为1 ) 、a r p 应答( 值为2 ) 、 r a r p 请求( 值为3 ) 和r a r p 应答( 值为4 ) 。这个字段必需的,因为a r p 请求和a r p 应 答的帧类型字段值是相同的。 接下来的四个字段是发送端的硬件地址、发送端的协议地址( i p 地址) 、目的端的 硬件地址和目的端的协议地址。注意,这里有一些重复信息:在以太网的数据帧报头中 和a r p 请求数据帧中都有发送端的硬件地址。 对于一个a r p 请求来说,除目的端硬件地址外的所有其它的字段都有填充值。当系 统收到一份目的端为本机的a r p 请求报文后,它就把硬件地址填进去,然后用两个目的 端地址分别替换两个发送端地址,并把操作字段置为2 ,最后把它发送回去。 3 a r p 高速缓存 a r p 高效运行的关键是由于每个主机上都有一个a r p 高速缓存,存放最近i n t e r n e t 地址到硬件地址之间的映射记录。高速缓存中的每一项内容都有一个定时器,每一项的 生存时间一般为2 0 分钟,起始时间从被创建时开始算起。 2 2 4i p 网际协议 l ,i p 协议 i p 是t c p i p 协议族中最为核心的协议所有的t c p 、u d p 、i c m p 及i g t l 4 p 数据都以 i p 数据报格式传输,i p 提供不可靠、无连接的数据报传送服务。 不可靠( u n r e li 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 ) 的意思是i p 并不维护任何关于后续数据报的状态信启、, 每个数据报的处理是相互独立的。这也说明,i p 数据报可以不按发送顺序接收。如果一 信源向相同的信宿发送两个连续的数据报( 先是a ,然后是b ) ,每个数据报都是独立地 进行路由选择,可能选择不同的路线,因此b 可能在a 到达之前先到达。 2 i p 首部 i p 数据报的格式如图2 - 1 0 所示。普通的i p 首部长为2 0 个字节,除非含有选项字 段。 01 5 1 63 1 4 位4 位霄部8 位厦务类型1 6 位扈长厦 版本长度( t 0 s )( 字节教) 1 6 位标识 稳i 1 3 位片偏穆 1 6 位首部检验和 8 位t 1 l ) 同i “协议 3 2 位源i p 地址 3 2 位目的i p 地址 i选项( 如果有) - 数据、 图2 1 0i p 数据报格式及首部中的各字段 图2 1 0 中的首部,最高位在左边,记为0b i t :最低位在右边,记为3 1b i t 。 4 个字节的3 2b i t 值以下面的次序传输:首先是o 7b i t ,其次8 1 5b i t ,然后 1 6 2 3b i t ,最后是2 4 3 1b i t 。这种传输次序称作b i ge n d i a n 字节序。由于t c p i p 首部中所有的二进制整数在网络中传输时都要求以这种次序,因此它又称作网络字节 序。以其它形式存储二进制整数的机器,如l i t t l ee n d i a n 格式,则必须在传输数据之 前把首部转换成网络字节序。 目前的协议版本号是4 ,因此i p 有时也称作i p v 4 。 首部长度指的是首部占3 2b i t 字的数目,包括任何选项。普通i p 数据报( 没有任 何选择项) 字段的值是5 。 服务类型( t o s ) 字段包括一个3b i t 的优先权子字段( 现在已被忽略) ,4b i t 的 t o s 子字段和1b i t 未用位,但未用位必须置0 。4b i t 的t 0 $ 分别代表:最小时延、最 大吞吐量、最高可靠性和最小费用。4b i t 中只能有1b i t 置位。如果所有4b i t 均为 0 ,那么就意味着是一般服务。 总长度字段是指整个i p 数据报的长度,以字节为单位。利用首部长度字段和总长 度字段,就可以知道i p 数据报中数据内容的起始位置和长度。由于该字段长1 6 比特, i p 数据报最长可达6 5 5 3 5 字节,但是大多数的链路层都会对它进行分片。当数据报被分 片时,该宇段的值也随着变化。 总长度字段是i p 首部中必要的内容,因为一些数据链路( 如以太网) 需要填充一 些数据以达到最小长度。尽管以太网的最小帧长为4 6 字节,但是i p 数据可能会更短。 如果没有总长度字段,那么i p 层就不知道4 6 字节中有多少是i p 数据报的内容。 标识字段唯一地标识主机发送的每一份数据报。通常每发送一份报文它的值就会加 1 ,该值在数据报分片时被复制到每个片中。 标志字段用其中一个比特来表示“更多的片”。除了最后一片外,其它每个组成数 据报的片都要把该比特置1 。标志字段中有一个比特称作“不分片”位,如果将这个比 特置l ,i p 将不对数据报进行分片。 12 片偏移字段指的是该片偏移原始数据报开始处的位置。 i t l ( t i m e t o l i v e ) 生存时间字段设置了数据报可以经过的最多路由器数,它指 定了数据报的生存时间。t t l 的初始值由源主机设置( 通常为3 2 或6 4 ) ,一旦经过个 处理它的路由器,它的值就减去1 。当该字段的值为0 时,数据报就被丢弃,并发送i c m p 报文通知源主机。 协议字段用来标识是哪个协议向i p 传送数据。 首部检验和字段是根据i p 首部计算的检验和码,它不对首部后面的数据进行计算。 i c m p 、i g m p 、u d p 和t c p 在它们各自的首部中均含有同时覆盖首部和数据的检验和码。 为了计算一份数据报的i p 检验和,首先把检验和字段置为0 。然后,对首部中每个 1 6b i t 进行二进制反码求和( 整个首部看成是由一串1 6b i t 的字组成) ,结果存在检验 和字段中。当牧到一份i p 数据报后,同样对首部中每个i bb i t 进行二进制反码的求和。 由于接收方在计算过程中包含了发送方存在首部中的检验和,因此,如果首部在传输过 程中没有发生任何差错,那么接收方计算的结果应该为全1 。如果结果不是全1 ( 即检 验和错误) ,那么i p 就丢弃收到的数据报。但是不生成差错报文,由上层去发现丢失的 数据报并进行重传。 每一份i p 数据报都包含源i p 地址和目的i p 地址,它们都是3 2b i t 的值。 最后一个字段是任选项,是数据报中的一个可变长的可选信息。选项字段一直都是 以3 2b i t 作为界限,在必要的时候插入值为0 的填充字节。这样就保证i p 首部始终是 3 2b i t 的整数倍( 这是首部长度字段所要求的) 。这些选项很少被使用,并非所有的主 机和路由器都支持这些选项。 3 i p 路由选择 从概念上说,i p 路由选择是简单的,特别对于主机来说。如果目的主机与源主机直 接相连( 如点对点链路) 或都在一个共享网络上( 以太网或令牌环网) ,那么i p 数据报 就直接送到目的主机上。否则,主机把数据报发往一默认的路由器上,由路由器来转发 该数据报。大多数的主机都是采用这种简单机制。 i p 层在内存中有一个路由表。当收到份数据报并进行发送时,它都要对该表搜索 一次。当数据报来自菜个网络接口时,i p 首先检查目的工p 地址是否为本机的i p 地址之 一或者i p 广播地址。如果确实是这样,数据报就被送到由i p 首部协议字段所指定的协 议模块进行处理。如果数据报的目的不是这些地址,此时若i p 层被设置为路由器的功 能,那么就对数据报进行转发;否则数据报被丢弃。 2 2 5i c m p 网络控制报文协议 1 i c 6 1 f p 协议 i c l f p 协议是为了补偿i p 协议的功能而设计的,i p 协议没有差错控制和缺少辅助机 制,如果因为找不到一个可以到达最终目的地的路由器,或者因为生存时间字段是零而 必须丢弃一个数据报等,i p 就无能为力。i p 协议还缺少一种为主机管理查询的机制, 主机有时候需要确定一个路由器或另一个主机是活跃的。正是基于这些才设计了i c m p 协议。 i c m p 协议本身是个网络层协议,但是它的报文不是如设想的那样直接传给数据链路 层。i c m p 经常被认为是i p 层的一个组成部分,i c m p 报文首先要封装成i p 数据报,然 后再传送给下一层。i c m p 报文通常被i p 层或更高层协议( t c p 或u d p ) 使用。如图2 - 1 1 所示。 i 一i p 敷据报一 2 0 字节 图2 1 1i l m p 封装在i p 数据报内部 2 i c m p 报文 i c m p 报文一般有一个8 字节的首部和个可变长度的数据部分。每一种报文类型的 首部格式都是不同的,但前4 个字节对所有类型都是共同的。i c m p 报文的格式如图2 1 2 所示。 0 78 1 51 6 3 1 8 位类型8 位代码1 6 检验和 l 不同类型和代码有不同的内容 1 酬2 1 2i c m p 报文格式 类型字段可以有1 5 个不同的值,以描述特定类型的i c m p 报文,某些i c m p 报文还 使用代码字段的值来进一步描述不同的条件。 i c m p 报文类型由报文中的类型字段和代码字段来共同决定。 检验和字段覆盖整个i c m p 报文,使用的算法与i p 首部检验和算法相同。i c m p 的检 验和是必需的。 i c m p 报文是在主机之间交换的,不使用目的端口号。 3 i c m p 报文种类 i c m p 报文可分为两大类:差错报告报文和查询报文。如表2 1 所示。 1 4 表2 - 1i c m p 报文分类 种类类型描述 3目的站不可达 4源站抑制 差错报告报文 1 1时间超过 1 2参数问题 0 或8回送请求或回答 9 或1 0路由器询问和通告 查询报文 1 3 或1 4时间戳请求与回答 1 7 或1 8地址掩码请求与回答 差错报告报文指示路由器或者主杌在处理一个i p 数据报时可能遇到的一些问题。 查询报文是成对出现的,它帮助主机或网络管理员从一个路由器或主机得到特定的消 息。 当发送一份i c m p 差错报文时,报文始终包含i p 的首部和产生i c m p 差错报文的i p 数据报的前8 个字节。这样,接收i c m p 差错报文的模块就会把它与某个特定的协议( 根 据i p 数据报首部中的协议字段来判断) 和用户进程( 根据包含在i p 数据报前8 个字节 中的t c p 或u d p 报文首部中的t c p 或u d p 端口号来判断) 联系起来。 i c m p 时间戳请求允许系统向另一个系统查询当前的时间,返回的建议值是自午夜开 始计算的毫秒数,这种i c m p 报文的好处是它提供了毫秒级的分辨率。由于返回的时间 是从午夜开始计算的,因此调用者必须通过其它方法获知当时的日期。 2 2 。61 j i ) p 用户数据报协议 l ,u d p 协议 u d p 协议是i p 的一个主机到主机层协议( 对应于o s i 参考模型的传输层) ,u d p 提供 了一种基本的、低延时的数据传输。 u d p 是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个 u d p 数据报,并组装成一份待发送的i p 数据报。这与面向流字符的协议不同,如t c p , 应用程序产生的全体数据与真正发送的单个i p 数据报可能没有什么联系。 u d p 没有计时机制、流控或拥塞管理机制、应答、紧急数据的加速传送等,u d p 竭 力传送数据报。由于某种原因传输失败,数据报将被丢弃并且不试图作重传。 u d p 数据报封装成一份i p 数据报的格式,如图2 1 3 所示。 - 一r 教据报一 2 0 字节 8 5 节 图2 - 1 3u d p 封装 i5 应用程序必须关心i p 数据报的长度,如果它超过网络的m t u ,那么就要对i p 数据 报进行分片。如果需要,源端到目的端之间的每个网络都要进行分片,并不只是发送端 主机连接第一个网络才这样做。 2 u d p 首部 u d p 首部的结构如图2 1 4 所示。 01 5 1 63 】 1 6 位源端口号1 6 位目的端口号 1 6 位i j d p 长度1 6 位u d p 检验和 i 数据( 如果有) 、 图2 1 4u d p 首部 1 6 位的源端口号为源计算机上的连接号,源端口和源i p 地址作为报文的返回地址 之用。1 6 位的目的端口号是目的主机上的连接号,目的端口号用于把到达目的主机的报 文转发到正确的应用。 1 6 位的校验和是一个错误检查域,基于报文的内容计算得到。目的计算机执行和源 主机上相同的数学计算。两个计算值的不同表明报文在传输过程中出现了错误。 1 6 位的信息长度域,用于指明传输信息的大小。这一域为目的计算机提供了另一机 制,验证信息的有效性。 2 2 7t c p 传输控制协议 1 t c p 协议 t c p 传输控制协议,对应于o s i 参考模型的第四层,它使用i p 提供一种面向连接的、 可靠的字节流服务,如图2 1 5 所示。t c p 在两个或多个主机之间建立面向连接的通信。 t c p 支持多数据流操作,提供流控和错误控制,甚至完成对乱序到达报文的重新排序。 i 一z r 数据报叫 2 0 字节2 0 - ;z 节 图2 1 5t c p 数据在i p 数据报中的封装 面向连接,意味着两个使用t c p 的应用( 通常是一个客户端和一个服务器) 在彼此 交换数据之前必须先建立一个t c p 连接,这一过程与打电话很相似,先拨号振铃,等待 对方摘机,然后才进行通话。 t c p 通过下列方式来提供可靠性: 1 ) 应用数据被分割成t c p 认为最适合

温馨提示

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

评论

0/150

提交评论