(机械电子工程专业论文)基于tcpip的半导体封装设备之间数据通信的研究.pdf_第1页
(机械电子工程专业论文)基于tcpip的半导体封装设备之间数据通信的研究.pdf_第2页
(机械电子工程专业论文)基于tcpip的半导体封装设备之间数据通信的研究.pdf_第3页
(机械电子工程专业论文)基于tcpip的半导体封装设备之间数据通信的研究.pdf_第4页
(机械电子工程专业论文)基于tcpip的半导体封装设备之间数据通信的研究.pdf_第5页
已阅读5页,还剩73页未读 继续免费阅读

(机械电子工程专业论文)基于tcpip的半导体封装设备之间数据通信的研究.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着计算机技术、通信技术和控制技术的发展,传统的工业控制领域正经历 着一场前所未有的变革,开始向网络化方向发展。对诸如图像、语言信号等大数 据量、高速率传输的要求,催生了当前在商业领域风靡的以太网与控制网络的结 合。这股工业控制系统网络化浪潮又将诸如嵌入式技术、多标准工业控制网络互 联、无线技术等多种当今流行技术融合进来,从而拓展了工业控制领域的发展空 间,带来了新的发展机遇。 本论文是以半导体封装设备之间的数据通信为主要研究目的,经过对几种比 较流行的网络协议的比较,最终选择了应用t c p i p 协议进行网络通信的开发, 对于目前应用在半导体封装设备上的w i n d o w 2 0 0 0 、d o s 和l i n u x 三种不同操作 系统,则分别应用不同的库函数来实现它们的底层通信架构。 w i n d o w 2 0 0 0 系统下,套接字是通信的基石,是支持t c p p 协议网络通信 的基本操作单元,而w i n d o w ss o c k e t s ( w i n s o c k ) 是一个基于s o c k e t 模型的a p i 。 应用w i n s o c k 库函数来实现w i n 2 0 0 0 系统的底层通信。 d o s 系统下,没有类似于w m s o c k 这样的a p i ,所以编写底层通信程序就 没有在w i n 2 0 0 0 系统下那样方便。而w a t t c p 函数库是一个d o s 下t c p i p 协 议的驱动程序库,在d o s 下能够提供一个更为简单和直观的t c p i p 编程接口, 因此应用w a t t c p 所提供的函数库来实现d o s 系统的底层通信。 l i n u x 系统拥有一个跨平台的c + + 图形用户界面库q t ,应用它可以来实现 该系统的底层通信。 另外,w i n 2 0 0 0 系统下还将底层程序做了d l ll i b 封装,然后上层应用程 序利用d l ll i b 实现半导体封装设备之间命令字的发送和接收的测试;d o s 系 统下做了d o sl i b 封装,将设备过去的r s 2 3 2 通信方式改为了t c p i p 通信方式。 对于以上三个系统的通信编写了三套程序代码,搭建了实验平台,并且所有程序 通过了相关测试,达到了半导体封装设备实时通信的要求。 关键词:半导体封装设备;t c p i p :w m s o c k :w a t t c p :q t a b s t r a c t w i t ht h ei m p r o v e m e n to fc o m p u t e rh a r d w a r ea n dc o m m u n i c a t i o nt e c h n o l o g y w h i c hm a k et h eh i g hs p e e d ,h i g hv o l u m ed a t at r a n s f e rb e c o m ev e r ym u c hc o s t e f f e c t i v eh a sm a k eam a j o ri m p a c to nt h et r a d i t i o n a li n d u s t r i a lc o n t r o lf i e l d t h e i n d u s t r i a lc o n t r o li sn o wg o i n gt o w a r d sn e t w o r k i n ga st h eh i g hs p e e dd a t at r a n s f e r m a k e r e a lt i m e ”a c h i e a b l ew h i l et h ec o s th a sd e e o m ea f f o r d a b l e t h er e a d i l y a v a i l a b l ee t h e m e th a sr e a c h e das p e e dt h a ti ti sf e a s i b l et oa p p l yi ti nt h ei n d u s t r i a l c o n t r o ln e t w o r kn o w a d a y s t o g e t h e rw i t ho t h e re m b e d d e d , w i r e l e s sa n dc o n t r o l t e c h n o l o g i e si th a so p e n e d u pm a n yo p p o r t u n i t i e so fa p p l y i n gt h ee t h e m e to nc o n t r o l f i e l d t h i st h e s i ss t u d i e st h ed a t ac o m m u n i c a t i o ni nb a c ke n ds e m i c o n d u c t o r e q u i p m e n t su s i n gt h et c p i pp r o t o c 0 1 t h et c p i p i sw i d e l yu s e da n dt h e t e c h n o l o g i e sa 托w e l lp r o v e n i tw o u l d a l s om a k et h em a c h i n ew e l li n d e p e n d e n tf r o m t h eh a r d w a r e t h et c p i p sc o m m u n i c a t i o nw o r k i n gu n d e rt h r e em a j o ro p e r a t i n g s y s t e m s ,n a m e l y , d o s ,w i n d o w 2 0 0 0a n dl i n u x a r ei n v e s t i g a t e dw i t ht h ea p p l i c a t i o n o nt h ed a t at r a n s f e rb e t w e e ns e m i c o n d u c t o re q u i p m e n t s d i f f e r e n tl i b r a r yf u n c t i o n s a l ed e v e l o p e dt ow o r ko nt h ea b o v eo p e r a t i n gs y s t e m s i nw i n d o w 2 0 0 0s y s t e m , w i n d o ws o c k e t ( w i n s o c k ) a p ii su s e dt oa c h i e v et h e l o w e rl e v e lc o m m u n i c a t i o n i nd o ss y s t e m , w a t t c pl i bd r i v e rl i bi su s e d i n l i n u xs y s t e m ,q tw a su t i l i s e df o rt h el o wl e v e lc o m m u n i c a t i o n t h ei n t e r f a c ep r o g r a m st ot e s tt h ep e r f o r m a n c eo f t h et c p i pc o m m u n i c a t i o na d e v e l o p e da n dt h e i rp e r f o r m a n c em e a s u r e d i ti sf o u n dt h a tt h e ya l es a t i s f a c t o r yf o r t h es e m i c o n d u c t o re q u i p m e n t sr e a lt i m ec o m m u n i c a t i o nr e q u i r m e n t s k e yw o r d s :s e m i c o n d u c t o rp a c k a g i n ge q u i p m e n t ;t c p i p ;w i n s o c k ;w a t t c p q t i i 独宦性声明 独创性声明 秉承学校严谨的学风与优良的科学道德,本人声明所呈交的论文是我个人在 导师的指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以 标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,不包 含本人或其他用途使用过的成果。与我一同工作的同志对本研究所做的任何贡献 均已在论文中作了明确的说明,并表示了谢意。 本学位论文成果是本人在广东工业大学读书期间在导师的指导下取得的,论 文成果归广东工业大学所有。 申请学位论文与资料若有不实之处,本人承担一切相关责任,特此声明。 论文作者签字: 指导教师签字: 徐茛 a 7 甜肜叩 第一章绪论 第一章绪论帚一早三百下匕 1 1 本课题的研究背景及意义 1 1 1 研究背景 随着微电子技术的飞速发展,i c 产业迅速崛起,并已成为国民经济的重要组 成部分。 目前,i c 产业主要包括i c 设计、i c 生产和i c 封装三大核心环节,其中i c 封装 是极为重要的一环。因此,i c 封装技术的水平,将在很大程度上影响一个企业, 乃至一个国家的半导体技术的整体水平。因此,小至个企业,大到一个国家, 都在投入大量的人力、物力和财力,以寻求在i c 封装技术领域中的进步【1 1 。 以太网是i e e e 8 0 2 3 所支持的局域网标准。按照国际标准化组织开放系统互 连参考模型( i s o o s i ) 的7 层结构,以太网标准只定义了数据链路层和物理层。 作为一个完整的通信系统,它需要高层协议的支持。趾a 附e t 在制定了t c p ,m 高层通信协议,并把以太网作为其数据链路和物理层的协议之后,以太网便和 t c p i p 紧密地捆绑在一起了。以后,由于国际互联网采用了以太网和t c p i p 协议, 人们甚至把如超文本连接m 耶等t c p i p 协议组放在一起,俗称为以太网技术。 t c p i p 的简单实用已为广大用户所接受。目前不仅在办公自动化领域内,而且在 各个企业的管理网络、监控层网络也都广泛使用以太网技术,并开始向现场设备 层网络延伸。同时,由于以太网是目前i t 界标准网络技术,成千上万的公司参与 开发生产有关的产品,使其成本低廉,可选择范围十分广泛。因此,人们将以太 网应用到工控领域中,凭着它低廉的成本、极高的通信速率、全球普及的标准, 逐渐取代现有工控行业中繁多的总线系统,来实现从管理层到工业现场层的一致 性通信f 2 】。 传统上应用于办公室和商业用途的以太网,由于能够解决现场总线之间互不 兼容以及不同公司的控制器之间不能相互实现高速的实时数据传输的问题,开始 进入工业控制领域。国际上成立了工业以太网协会( i n d u s l r ye t h e m e t a s s o c i a t i o n ) , 广东1 = 业大学t 学硕十学位论文 并与美国a r c a d v i s o r yg r o u p 、a m rr e s e a r c h 和g a r t n e t 等机构合作开展工业以太 网关键技术的研究,以促进以太网在工业控制领域的应用。工业以太网已经成为 了工业自动化领域的一个新的发展趋判3 1 。 工业以太网是将以太网应用于工业控制和管理的局域网技术【们,它巨大的应 用前景吸引着许多研究机构的探索,通过交换设备的引入,全双工传输模式及越 来越高的传输速率等技术的支持,工业以太网正稳步进入工业自动化领域。工业 以太网的应用不但可降低成本,还可实现更紧密的系统集成,有利于更大范围的 信息共享和管理。 美国权威调查机构a r c 的报告指出,今后以太网不仅继续垄断商业计算机网 络通信和工业控制系统的上层网络通信市场,也可能领导未来现场总线的发展, 并有可能取代目前各种现场总线成为唯一的工业控制网络标准。世晃范围内的工 业以太网装置市场期待在2 0 0 7 年将超过6 1 0 6 百万个节点【5 1 。 将工业以太网技术应用到半导体封装设备上,实现半导体封装设备之间的实 时通信将成为今后i c 封装领域最新的发展趋势。 1 1 2 研究意义 本课题的研究意义: ( 1 ) 本课题首先对三个操作系统的底层通信做了研究,在此基础上将底层实 现的功能封装起来提供给上层应用程序使用。这些底层功能模块具有通用性,将 来开发的新机型中要实现的功能可以直接移植这些通用的功能模块,使机器设备 的可扩充性大大加强。另外在机器一对一通信成功实现的基础上,将来我们可以 把拓扑结构扩展为一对多,实现机器的自动化生产线。这样会对半导体封装设备 的可扩充性和灵活性产生较大的影响。 ( 2 ) 工业以太网技术和i n t e m e t 技术相互结合,将后台做成监控中心,通过 i n t e r a c t 对工业现场情况进行远程监控。因此,未来的工厂模式就是通过网络进行 远程控制,实现远端计算机对现场控制设备的监测与控制。 ( 3 ) 将以太网通信技术融合到工业控制网络中,实现半导体封装设备的自动 化生产线,改善目前半导体封装设备单机工作的现状,提高产品的生产效率,提 升机台的利用率。 2 第一章绪论 1 2 目前半导体封装设备间数据通信的发展现状 半导体封装设备中,自动芯片封装生产线主要包括贴片、焊线和封胶三道工 序,其流程如图1 1 所示。 图1 1 自动芯片封装生产线 f i g 1 1a u t o m a t e dp a c k a g i n gp r o d u c tl i n eo f c h i p 目前生产线中贴片机、焊线机和封胶机之间的信息传递采用r s 2 3 2 串行协 议,该协议只能是点对点地实现信息传输,结构上不能拓扑。另外每台机器工作 的操作系统可能会不一样,有w i n d o w s 、d o s 和l i n u x 可以选择,因此采用t c p i p 协议在信息传输的实现上会便利很多,而且需要由于工序的不同,在几个工序上 需要多台机器协作才行,在通常情况下,由于效率与产品的特点,需要l 到3 台 贴片机自动封装后,然后给5 - 6 台焊线机进行邦定,完成后到l 台封胶机进行最 后封胶成形,所以在r s 2 3 2 点对点的拓扑方式下不能实现,必须要求使用高效 的、易于扩展的t c p i p 的通信方式。在机器问的连线通常需要3 - 2 0 m 左右,以 星形方式迸行拓扑,这样的距离下,需要相当可靠的数据传送方式,t c p i p 具 有相当的长距离传输优势,并且具备数据检验处理功能,为保证实时数据传送的 可靠性,对传送的报文数据要进行数据检验处理。 1 3 本课题的来源以及主要的研究内容 本课题来源于艾逖恩( 深i j l l ) 控股有限公司。 艾逖恩( 深圳) 控股有限公司是香港综科机电有限公司的在华全资子公司。香 港综科机电有限公司( i n t r a - t e c hm e c h a t r o n i e sl t d ,i w m ) 是亚洲主要的半导体封装 设备的生产商之一,主要产品包括焊线机、固晶机和封胶机。同时,该公司也是 香港业务发展最快的半导体设备生产商之一。综科机电公司自创立之日起,一直 致力于高速、高精度、高稳定性半导体封装设备的研究和开发,已经形成了以焊 线机、固晶机为主、封胶机为辅的全套半导体封装设备的批量生产。焊线和固晶 3 广东t 业大学t 学硕十学位论文 技术已经相对成熟,并逐步涉足其他领域的机电产品的研究。本课题就是其中一 个新的研发项目。 本课题研究的主要内容有: ( 1 ) 对几种主要的通信协议( r s 2 3 2 、g p i b 、c a nb u s 及以太网) 进行分析, 以确定在半导体封装设备之间采用工业以太网进行实时数据通信。 ( 2 ) 理论分析和实际测量满足半导体封装设备的网络通信速度。 ( 3 ) 利用w i n d o w ss o c k e t s ( w i n s o e k ) 实现w i n 2 0 0 0 系统下的底层通信,并将底 层程序进行d l ll i b 封装,然后上层应用程序利用d l ll i b 实现半导体封装设备 之间命令字的发送和接收的测试。 ( 4 ) 利用w a t t c p 实现d o s 系统下的底层通信,并将底层程序进行d o sl i b 封 装,然后上层应用程序利用d o sl i b 将封装设备的r s 2 3 2 通信方式替换掉,实现 半导体封装设备的t c p i p 通信,经测试达到半导体封装设备实时通信的要求。 ( 5 ) 利用q t 实现l i n u x 系统下的底层通信。 4 第二章t c p i i p 协议及邦定机系统简介 第二章t c p i p 协议及邦定机系统简介 2 1o s i 参考模型 i s o ( i n t e m a t i o n a ls t a n d a r d so r g a n i 刎o n ,国际标准组织) 于1 9 8 4发表了o s i 模型,将整个网络系统分为7 层,每层各负责特定的工作,如表2 1 所示。 表2 1o s i 参考模型 t a b 2 一lr e f e r e n c e dm o d e lo f 0 s i o s i 参考模型 0 s i 层次描述 层次号 应用层 7 表示层 6 会话层5 传输层 4 网络层 3 数据链路层 2 物理层 1 这7 层的功能简述如下: ( 1 ) 物理层( p h y s i c a ll a y e o 此层主要定义传输信息的介质规格以及接头的规格。 ( 2 ) 数据链路层( d a t al i n kl a y e r ) 此层主要工作是实现数据同步传输,接收端进行c r c 校验,以判断收到数 据是否完整无误,以及制定m a cm e t h o d ( 媒体访问控制方法) 。 ( 3 ) n 络层( n e t w o r kl a y e r ) 5 广东t 业大学t 学硕仁学位论文 此层主要完成定址以及选择传送路径。 ( 4 ) 传输层( t r a n s p o r tl a y e o 此层主要工作是编定序号,控制数据流量,以及查错与错误处理。 ( 5 ) 会话层( s e s s i o nl a y e r ) 此层的功能主要是用于管理两个计算机系统连接间的通信流。通信流又称为 会话,它决定了通信是单工还是双工。它也保证了接受一个新请求一定在另一个 请求完成之后。 ( 6 ) 表示层( p r e s e n t a t i o nl a y e r ) 此层主要工作是完成内码的转换、数据的压缩与解压缩、数据的加密与解密。 ( 7 ) 应用层( a p p l i c a t i o nl a y e r ) 直接提供文件传输、电子邮件以及网页浏览等服务给使用者。 在以上7 层中,应用层是最接近使用者的层,属于此层的都是使用者较熟悉、 可直接操作的软件。而愈往下的层则距离使用者的操作愈远,与硬件的关联愈大。 例如数据链路层所负责的工作,几乎都是由网卡控制芯片和驱动程序来做,至于 物理层的工作,那更是由硬件设备掌控,使用者无法干涉。 2 2t c p i p 参考模型 与o s i 参考模型不同,t c p i p 模型更侧重于互联设各问的数据传送,而不是 严格的功能层次划分。它通过解释功能层次分布的重要性来做到这一点,但它仍 为设计者具体实现协议留下很大的余地。因此,o s i 参考模型在解释互联网络通 信机制上比较适合,而t c p i p 成为了互联网络协议的市场标准。 t c p i p 参考模型比o s i 参考模型更加灵活,只是简单的分为4 层,如表2 2 所示。 6 第二章t c p 几p 协议及邦定机系统简介 表2 2 t c m p 参考模型 t a b 2 - 2r e f e r e n c e dm o d e lo f r p i p 1 c p f 理t c p ,i p 参考模型描述层次号 应用层4 传输层 3 网络层 2 链路层 l 这4 层的功能简述如下: ( 1 ) 应用层( a p p l i c a t i o nl a y e r ) 定义应用程序如何提供服务,例如浏览程序如何与w w w 服务器沟通、邮 件软件如何从邮件服务器下载邮件等。 ( 2 ) 传输层( t r a n s p o r tl a y e r ) 又称为主机对主机( h o s t - t o h o s t ) 层,负责传输过程的流量控制、错误处理、 数据传送等工作,t c p 和u d p 为此层最具代表性的通讯协议。 ( 3 ) 网络层( n e t w o r kl a y e r ) 决定数据如何传送到目的地,例如编址和选择路径等。口便是此层最著名 的通讯协议。 ( 4 ) 链路层( l i n kl a y e r ) 又称为数据链路( d a t al i n k ) 层或网络接( n e t w o r ki n t e r f a c e ) 层,负责对硬件 的沟通。例如网卡的驱动程序或广域网的帧中继( f r a m er e l a y ) 便属于此层。 o s i 参考模型和t c p f l p 参考模型对比如表2 3 所示。 7 广东t 业大学t 学硕卜学位论文 表2 3o s i 参考模型与t c p i p 参考模型对比 t a b 2 3c o n t r a s tw i t hr e f e r e n c e dm o d e lo f o s ia n dt c p 佃 o s i 参考模型t c p i p 参考模型t c p i p 协议族 应用层 应用层 t e l n e t 、f t p 、s m t p 表示层 会话层 传输层 传输层 t c p 、u d p 网络层 网络层i p 、i c m p 、i g m p 数据链路层链路层l l c 、m a c 物理层物理连接 由于t c p i p 参考模型更强调功能分布而不是严格的功能层次的划分,所以 它比o s i 参考模型更灵活。但从学习的角度来看,o s i 参考模型是一个优良的范 本,在整个网络界有着不可忽视的地位。 2 3 网际协议i p 网际协议i p ( i n t e m e tp r o t o c 0 1 ) 是整个t c p i pp r o t o c o ls u i t e 的运作核心,是构 成网际网络的基础。i p 位于t c p i p 参考模型的网络层,向上可传送传输层的各 种协议信息,例如t c p 、u d p 等;向下可将i p 包放到链接层,通过以太网、t o k e n r i n g 、f d d i 、x 2 5 、f r a m er e l a y 等各种规范的技术来传送。i p 所提供的服务大 致分为两项:i p 包的传送和m 包的分割与重组。 2 3 1 传送i p 包 i p 负责将i p 包从源装置传送到目的装置,要完成这个步骤,i p 必须依赖i p 地址与i p 路由这两种机制。 首先,为了能够正确的传送信息,必须指定唯一的i p 地址用来识别,而为 了能够在整个网络上传送数据还必须有相关的传送机制,才能将m 包通过一个 个的网络,到达目的地,这种传送机制就称为i p 路由。 路由器的功能是口包选择要传送的路径。此外,口传送包时要使用无连接 的传送方式,即源装置和目的装置不需要事先沟通而进行传送口包,至于目的 8 第二章t c m p 协议及邦定静l 系统简介 装置是否收到正确的包则由上层协议( 例如t c p ) 负责检查。 2 3 2i p 包 m 包主要由两部分组成:m 报头和i p 数据。 m 报头记录有关的i p 地址、路由、包识别等信息。m 报头长度为4 b y t e s 的 倍数,最短为2 0 b y t e s ,最长可达6 0 b y t e s 。表2 4 是i p 包报头格式。 表2 4 包报头格式 t a b 2 - 4f o r m a to f l pp a c k a g e 4 位4 位8 位服务1 6 位总长度( 字节数) 版本首部长度 类型( t o s l 1 6 位标识3 位标志1 3 位片偏移 8 位生存时f 司( t t l ) 8 位协议1 6 位首部校验和 3 2 位源i p 地址 3 2 位目的i p 地址 选项( 可选) 版本( v e r s i o n ) :占4 b i t s ,记录i p 的版本编号,目前最常见的i p 版本是口 v e r s i o n4 ,即0 1 0 0 1 3 ,后续版本为i pv e 瑙i o n6 。 首部长度( i h l ,i n t e m e th e a d e rl e n g t h ) :占4 b i t s ,表示i p 报头的长度。坤 报头的长度必然是4 的倍数,且最大长度为6 0 b y t e s ,最短长度为2 0 b y t e s 。 服务类型( t y p eo f s e r v i c e ) :占8 b i 协,包含了6 个参数。第一个参数 p r e c e d e n c e ( 占3 b i t s ) 是用来决定口包的优先等级,接下来的4 个参数d e l a y 、 t h r o u g h p u t 、r e l i a b i l i t y 、c o s t 则是提供路由器选择路径时的参考,最后一个参数 r e s e r v e d 则是保留使用。 总长度( t o t a ll e n g t h ) :占1 6 b i m ,用来记录整个m 包的长度,单位b y t e 。 标识码( i d e n t i f i c a t i o n ) :占1 6 b i t s ,记录i p 包的标识码,在包的分割和重组 中起到重要作用。 包分割标志( f l a g ) :占3 b i t s ,第一位保留,第二位d f 定义i p 包是否可以分 割,第三位m f 定义此i pf r a g m e n t 是否为原始包的最后一个i pf r a g m e n t 。 分片偏移( f r a g m e n t o f f s e t ) :占1 3 b i t s ,当i p 包切割后,原始包内i p p a y l o a d 9 广东t 业大学t 学硕十学位论文 的数据会分散到每个i pf r a g m e n t 之中,f r a g m e n to f f s e t 便是用来记录i pf r a g m e n t 所载送的是原始i pp a y l o a d 的那一段数据。f r a g m e n to f f s e t 的单位是8 b y t e s 。 存活时间( t i m et ol i v e ) :占8 b i t s ,用来记录i p 包的“存活时间”,限制i p 包在路由器之间转送的次数。当路由器收到t i m et ol i v e 字段为l 的i p 包时,便 直接丢弃,不再转送。 协议( p r o t o c 0 1 ) :占8 b i t s ,用来记录上层所使用的协议。 报头错误校验和( h e a d e rc h e c k s u m ) :占1 6 b i t s ,用来进行数据校验计算,以 保证数据正确,数据校验只进行m 报头校验,而i pp a y l o a d 的正确性由上层协 议来负责检查。 源i p 地址( s o u r c ea d d r e s s ) :占3 2 b i t s ,记录源装置的i p 地址。 目的i p 地址( d e s t i n a t i o n a d d r e s s ) :占3 2 b i t s ,记录目的装置的i p 地址。 2 4 传输控制协议t c p 尽管t c p 和u d p 都使用相同的网络层( i p ) ,但t c p 却向应用层提供与u d p 完全不同的服务。t c p 提供一种面向连接的、可靠的字节流服务。 面向连接意味着两个使用t c p 的应用( 通常是一个客户端和一个服务器端) 在彼此交换数据之前必须先建立一个t c p 连接,数据传送完毕必须有一方关闭 这个连接的。在一个t c p 连接中,只有两方进行通信。 t c p 通过下列方式提供可靠性的传输: ( 1 ) 应用数据被分割成t c p 认为最合适发送的数据块。 ( 2 ) 当t c p 发出一个段后,它启动一个定时器,等待目的段确认收到这个报 文段。如果不能及时收到这个确认,将重发这个报文段。这是t c p 协议中的超 时重传机制。 ( 3 ) 当t c p 收到发自t c p 连接另一端的数据,它将发送一个确认。这个确认 不是立即发送的。 ( 4 ) t c p 将保持它的首部和数据的校验和。这是一个端到端的校验和,目的 是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,t c p 将丢弃 这个报文段和不确认收到此报文段。 ( 5 ) 既然t c p 报文段作为i p 数据报来传送,而i p 数据报的到达可能会失去 顺序,因此t c p 报文段的到达也可能会失去顺序。如果必要,t c p 将对收到的 1 0 第一荦t c p 门p 协议及邦定机系统简介 数据进行重新排序,将收到的数据以正确的顺序交给应用层。 ( 6 ) t c p 还能提供流量控制。t c p 连接的每一方都有固定大小的缓冲空间。 t c p 的接收端只允许另一端发送接收端缓冲区所能接纳的数据。这将防止较快主 机致使较慢主机的缓冲区溢出。 2 4 1t c p 包 t c p 数据被封装在一个口数据包中。表2 - 5 显示t c p 报头的数据格式。如 果不计任何任选字段,通常是2 0 个字节。 表2 - 5t c p 报头的数据格式 t a b 2 - 5d a t af o r m a to f t c p p a c k a g e 1 6 位源端口号1 6 位目的端口号 3 2 位序号 3 2 位确认序号 4 位保留uaprsf1 6 位窗口大小 首部6 位 r cssyi 长度gkh tnn 1 6 位校验和 1 6 位紧急指针 选项 数据 源端口号( s o u r c ep o r t ) 长度为2 b y t e s ,记录源端的上层应用程序所用的t c p 连接端口编号。 目的端口号( d e s t i n a t i o np o r t ) :长度为2 b y t e s ,记录目的端上层应用程序所 用的t c p 连接端口编号。 序号( s e q u e n c en u m b e r ) - 长度为4 b y t e s ,记录t c p 数据在源端到目的端传 输中的字节流编号。 确认序号( a c k n o w l e d g en u m b e 0 :长度4 b y t e s ,记录目的端到源端中,已收 到的连续性数据编号。 首部长度:长度4 b i t s ,记录t c p 报头的长度,单位为4 b y t e s 。 u i 沁:紧急指针,为l 表示接收端必须立即处理此封包的数据。 广东下业大学t 学硕i 学位论文 a c k :设为l 时表示确认序号字段包含了确认信息。 p s h :设为l 时表示将目的端的接收缓冲区数据立即送给应用程序处理。 r s t :设为1 时表示需要重建连接。 s y n :设为l 时表示同步序号用来发起一个连接。 f i n :设为l 时表示发送端完成发送任务。 窗口大d 、( w i n d o w ) :长度为2 b y t e s ,设定源端的接收缓冲区的大小,用来控 制目的端到源端的流量。 校验和( c h e c k s u m ) :长度为2 b y t e s ,校验和计算方法与u d p 同样。 紧急数据指标( u r g e n tp o i n t e r ) :长度为2 b y t e s ,记录了t c p 数据报中紧急数 据的字段。只有当u r g 标志置1 时紧急指针才有效。紧急指针是一个正的偏移 量,和序号字段中值相加表示紧急数据最后一个字节的序号。 2 4 2 t c p 的状态变迁图 t c p 运行的许多规则都可以从状态变迁图中得到。t c p 状态变迁图如图2 1 所示。 第二章t c p 几p 协议及邦定机系统简介 主动美闭 说明客户的正常状态变迁 一说明搬务器的正常状志囊迂 应用进程:说掰当应用执行巢种撵作时发生前状态变迁 收:说明当收到t ( 碧报文段时状态的变迁 发:说明为了进行某个状态变迁要发送婀嗍文段 图2 - 1 t c p 的状态变迁图 f i g 2 。1v a r i a n c e d s t a t ep i c t u r eo f t c p 在这个图中要注意的第一点是一个状态变迁的子集是“典型的”。我们用粗 的实线箭头表示正常的客户端状态变迁,用粗的虚线箭头表示正常的服务器状态 变迁。 第二点是两个导致进入e s t a b l i s h e d 状态的变迁对应打开一个连接,而 两个导致从e s t a b l i s h e d 状态离开的变迁对应关闭一个连接。e s t a b l i s h e d 状态是连接双方能够进行双向数据传递的状态。 图2 一l 中左下角4 个状态放在一个虚框内,表示“主动关闭”。其它两个 广东t 业大学丁学硕t 学位论文 状态( c l o s e 和 也放在一个虚框内,表示“被动关闭”。只w a i t l a s ta c k ) 有当s y n _ r c v d 状态是从l i s t e n 状态( 正常情况) 进入,而不是从s y n _ s e n t 状态( 同时打开) 进入时,从s y nr c v d 回到l i s t e n 状态变迁才是有效的。这 意味着如果我们执行被动关闭( 进入l i s t e n ) ,收到一个s y n ,发送一个带a c k 的s y n ( 进入s y n _ r c v d ) ,然后收到一个r s t ,而不是一个a c k ,便又回到 l i s t e n 状态并等待另一个连接请求的到来。 t i m e _ w a i t 状态又称为2 m s l 等待状态。每个具体t c p 实现必须选择一 个报文段最大生存时间m s l ( m a x i m u ms e g m e n tl i f e t i m e ) 。它是任何报文段被丢 弃前在网络内的生存最长时间。对一个具体实现所给定的m s l 值,处理的原则 是:当前t c p 执行一个主动关闭,并发回最后一个a c k ,该连接必须在 t i m ew a i t 状态停留的时间为2 倍的m s l 。这样可让t c p 再次发送最后的a c k 以防止这个a c k 丢失( 另一端超时重发最后的f i n ) 。这种2 m s l 等待的另一个 结果是这个t c p 连接在2 m s l 等待期间,定义这个连接的插口( 客户的i p 地址和 端1 :3 号,服务器的i p 地址和端口号1 不能再被使用,这个连接只能在2 m s l 结束 后才能在被使用。 在t c p 首部中的r s t 比特是用于“复位”的。一般来说,无论何时一个报 文段发往基准的连接出现错误,t c p 都会发出一个复位报文段( 这里提到的“基 准的连接”是指由目的i p 地址和目的端口号以及源口地址和源端口号指明的连 接) 产生复位的一种常见的情况是当连接请求到达时,目的端口没有进程正在听。 对于u d p ,当一个数据报到达目的端口时,该端口不再使用,它将产生一个i c m p 端口的信息。而t c p 则使用复位。另外一种情况是:异常终止一个连接。它有 几个优点:( 1 ) 丢弃任何待发数据并立即发送复位报文段;( 2 ) r s t 的接收方会区 分另一段执行的是异常关闭还是正常关闭。 2 4 3 建立一个t c p 连接 1 4 第二章t c p i i p 协议及邦定机系统简介 ( 1 ) s e q u c cn u m b e r = - i s n ( a b ) , a c k n o w l e d g e = o , w i n d o ws i z e = w i n d o w ( a b ) ( 3 ) s e q u e n n u m b e r = i s n ( a - b ) + 1 , a c k n o w l e d g e = i s n ( a b ) ,指定a - b 的确认序号a c k ( a b ) ( 因为不知道a b 的序列号是多少,所以确认序列号指 定为o ) ,设定s y nf l a g 标志( 表示此包为i n t i a ls e q u e i l c en u m b e r ) ,设定a 的接 收窗口的大 , ( w i n d o w ( a - b ) ,可以用来控制b 的发送窗口大小,借此达成a - b 的流量控制) 。 ( 2 ) b 在收到s y n 包后,接着会回复一个s y n a c k 包。此包指定a b ) ( 从s y n 包可得知a - b 的初始序号,在a - b 传输中,s y n 包可算做是字节流中的1 个b y t e ,因此 s y n _ a c k 包的确认序号a c k ( a b ) 等于s y n 包的i s n ( a - b ) 再加上1 ) ,设定 广东t 业大学下学硕十学位论文 s y n _ a c kf l a g ( 用来表明此包的序号为i n i t i a ls e q u e n c en u m b e r ( a b ) ,可用来控制a 的发送窗1 3 大小,借此达成a - b 的流量控制) 。 ( 3 ) a 在收到s y na c k 包后,接着会再发出一个a c k 包,其中包含了以下 信息:i s n ( a - b ) 的序号( 因为第一步的s y n 包占用了字节流中的1 个b y t e ,所 以此处的序号等于第一步s y n 包的i s n ( a b ) 再加上1 ) ,确认序号 a c k ( a b ) ( 同理,a c k ( a - b ) 等于第二步s y na c k 封包的i s n ( a 一b ) 再加上 1 ) ,设定a c kf l a g 标志( 表示确认收到信息) ,a 的接收区的大小w i n d o w ( a b ) , a c k n o w l e d g e = s n ( a b ) + i , a c k n o w l e d g e = f s n ( a b ,b b 的序号( 称为f s n ( a - b ) ) ,指定a b 已经传输完毕) ,指定窗口大小。 1 6 第二章t c p i p 协议及邦定机系统简介 ( 2 ) b 送出a c k 包给a ,包括以下信息:指定a b 传输,不过,a - b 可能还有数据需要传送, 所以a - b 传输仍旧继续维持畅通,直到传送完毕才会进入第三步骤。 ( 3 ) 当b 完成a - b 的传输后,便送出f i na c k 包给a ,其中包含了以下信 息:指定a b ) + 1 ,指定f i n _ a c k f l a g 标志( 表示a a s y n c s e l e c t ( f dr e a d ) ; ) e l s e d e l e t ep s o c k e t ; 服务器与客户端建立连接后,它们之间通过调用s e n d o 和r e c e i v e 0 来发送和接 收数据。 v o i dc n e w s o c k e t :o n r e c e i v e ( i n tn e r r o r c o d e ) i o c t l s o c k e t ( m _ h s o c k e t ,f i o n r e a d ,& r e v b u f f e r ) ; mn l e n g t h ! = r e c e i v e ( ( v o i d + ) m _ s z b u f f e r , 1 0 2 4 ,0 ) ;接收客户端数据 m _ s z b u f f e r 0 = i b : m _ n l e n g t h = s e n d ( ( v o i d * ) m _ s z b u f f e r , 1 0 2 4 ,o

温馨提示

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

最新文档

评论

0/150

提交评论