




已阅读5页,还剩79页未读, 继续免费阅读
(通信与信息系统专业论文)基于ftp协议的文件传输服务器的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 摘要 随着现代信息技术的高速发展,网络通信技术在现代科技领域的应用日益深 入,网络通信服务需求也越来越多,这样就需要有一个良好的服务器平台来满足 用户r 益增长的网络服务需求。因此研究设计服务器相关通信软件成为网络发展 的一个热门课题。本文就是在此背景下研究并设计一个网络文件传输服务器软件 平台。 论文首先简述计算机网络的发展过程。然后介绍t c p i p 协议五层体系结构和 每一层的功能,并且重点研究五层体系中的传输层协议t c p 和应用层协议f t p 。 根据本服务器的设计要求和实现的功能,确定整个系统的总体框架模型。并展开 对此文件传输服务器设计的详细说明。 本课题的f t p 文件传输服务器系统是在v c 开发环境下、基于c s 模式、使 用当前模块化软件设计思想编程实现的。在服务器设计时先总体设计服务器系统 的整体模型,之后再分别设计日i 台的控制界面和后台服务器的框架,并详细研究 搭建后台服务器所用到的六大模块的实现方法,和服务器运行时六大模块之间相 互通信过程。最后使用w i n d o w s 平台上通用的客户端软件和设计编写的测试软件 对此信息传输服务进行测试,并对测试结果进行分析。 本课题系统地研究文件传输服务器整体设计流程,加深了对服务器通信软件 设计的理解。对于今后研发和设计出功能更加强大的服务器具有一定的理论和实 践意义。本课题开发的软件将应用在导航研究所承担的吉林省交通厅科技项目“吉 林省船舶动态监控信息系统”的研究中。 关键词:t c p i p 协议、f t p 协议、c a s y n c s o c k e t 类、c s o c k e t 类 英文摘要 t h er e s e a r c hi nf i l et r a n s m i s s i o ns e r v e r b a s e do nf t p p r o t o c o l a b s t r a c t t h en e t w o r kc o m m u n i c a t i o nt e c h n o l o g ya p p l i e di nt h ef i e l do fm o d e ms c i e n c e a n dt e c h n o l o g yg e t sd e e p e n i n ga i l dt h ed e m a n df o ri t ss e i c eg e t sr i s i n gd u et ot h e h i g h s p e e dd e v e l o p m e n to fm o d e mi n f o n n a t i o nt e c h n o l o g y ,s ot h a tag o o ds e r v e r p l a t f o n ni san e c e s s a r ) ,t om e e tt h eg r o w i n gd e m a n do fu s e r sf o rt h en e t w o r ks e r v i c e b a s e do nt h i sb a c k g r o u n dt h a ti st h es e a r c ha n dd e s i g no fc o m m u l l i c a t i o ns o r w 乏鹏 c o n c e m i n gt h es e r v e rh a sb e c o m eah o tt o p i cd u r i n gt h ed e v e l o p m e n to fm en e t w o r k , t h i sa r t i c l er e s e a r c h e sa n dd e s i g n sas e e rp l a t f o n nf o rt r a n s m i t t i n gf i l ei n f o 肌a t i o n v i a t h en e “v o r l ( f i r s t l y ,t h e a r t i c l eo u t l i n e st h ed e v e l o p m e n to fm ec o m p u t e rn e 铆o r k ,t h e n i n t r o d u c e sf i v el a y e r sa r c h i t e c t u r e ,a m o n gw h i c ht h ef o c u si so nm et r a n s p o r tl a y e r p r o t o c o l ( t c p ) a n dt h ea p p l i c a t i o nl a y e rp r o t o c o l ( f t p ) ,r e l a t e dt ot h et c p i p p r o t o c o l sa n dt h e 如n c t i o ni ne a c hl a y e r a c c o r d i n gt ot h ed e s i g nr e q u i r e m e n t sa n d f u n c t i o nt ob er e a l i z e do nt h es e r v e r t h eo v e r a l lf r a m e w o r km o d e l i sc o n f i m e da n da s e r v e rf o rt r a n s m i t t i n gt h ei n f o n n a t i o nv i a t h en e t w o r ki si n t r o d u c e ds p e c i f j c a l l y t h ef t p6 l et r a n s m i s s i o ns e r v e rs y s t e mi sc o m p i l e di nv cs o r w a r ee n v i r o 姗e n t t oi m p l e m e n tt h es y s t e mb ym a k i n gu s eo ft h em o d u l a rs o r w a r em o u g h tt o d e s i g n , b a s e do nt h ec sm o d e w h e nm es e r v e rs y s t e mi sd e s i g n e d t h i sa r t i c l es h o w sf i r s t l y t 1 1 eo v e r a nm o d e lo ft h es e r v e rs y s t e m ,t h e nd e s c 曲e st h ei n t e m 屺ed e s i g na l l d l e s e r v e rf - r 锄e w o r ks t n 】c t u r e r e s p e c t i v e l y ,t h e ne l a b o r a t e st h er e a l i z a t i o no ft h es i x m o d u l e su s e db yb u i l d i n gt h eb a c k g r o u n ds e r v e ra n dt h ec o m m u n i c a t i o nb e t w e e nt h e s e s i xm o d u l e sw h e nt h es e r v e ri sr u n f i n a l l y ,t h ew i n d o w s c o m m o nc l i e n ts o r w a r ea n d t h et e s ts o f t w a r ew r i t t e nb ym y s e l fa r eu s e dt ot e s tt h i ss e r v e rf o rf i l et r a j l s m i s s i o na n d t h et e s tr e s u l t sa r ea n a l y z e d 英文摘要 w i t hs y s t e m a t i c a l l yr e s e a r c h i n gt h eo v e r a l lf l o wt od e s i g nm es e r v e rf o rt h ef i l e t r a n s m i s s i o ns e r v e rt od e e p e nt h eu n d e r s t a n d i n gf o rc o m m u n i c a t i o ns o r w a r ed e s i g n , t h ea n i c l eh a ss o m et h e o r e t i c a la n dp r a c t i c a ls i g n i f i c a j l c ef o rd e s i g n i n gm es e n ,e rw i m p o w e r f u l i m p r o v e d 如n c t i o ni nt h e 如t u r e t h i ss e r v e rs o r w 2 u r et h a tt h em e s i sr e l a t e st o w i l lb ea p p l i e di nt h ep r o j e c to f “t h es h i p sd y n 锄i cm o n i t o r i n ga n dc o n t r 0 1 i n f o r m a t i o ns y s t e m ”c a r r i e db yt h ei n s t i t u t eo f n a v i g a t i o n k e yw o r d s :t c p i p 、f t p 、c a s y n c s o c k e tc l a s s 、c s o c k e tc i a s s 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成博士硕士学位论文:基王夏! 迹这数塞佳佳箍盟釜墨笪婴塞:。除论文中 已经注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均已在文中 以明确方式标明。本论文中不包含任何未加明确注明的其他个人或集体已经公开 发表或未公开发表的成果。 本声明的法律责任由本人承担。 论文作者签名:超弓虽2 汐口寥年岁月2 3 日 学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连海事大学研究生学位论文提交、版 权使用管理办法”,同意大连海事大学保留并向国家有关部门或机构送交学位论文 的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将本学 位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫描 等复制手段保存和汇编学位论文。 保密口,在年解密后适用本授权书。 本学位论文属于:保密。 不保密( 请在以上方框内打“”) 论文作者签名:枣强导师签名:卤民朝;芳 日期:2 口明年岁月乃日 基于f t p 协议的文件传输服务器的研究 第1 章绪论 1 1 课题的提出 2 1 世纪人类社会已经进入了一个以网络为核心的信息化时代。我们所说的网 络包括三个网,即电信网络、有线电视网络和计算机网络【l 】。其中发展最快并起 到核心作用的是计算机网络。计算机网络涉及到通信和计算机两个领域。计算机 和通信日益紧密的结合,已对人类社会的进步做出了极大的贡献。计算机与通信 的相互结合主要有两个方面。一方面,通信网络为计算机之间的数据传递和交换 提供了必要的手段;另一方面,通信网络自身性能的不断提高促使网络服务的需 求也不断增加【1 1 。 目前网络通信技术在现代科技各行各业的应用日益深入,尤其是基于i n t 锄e t 网络的各种服务,比如网络文件系统、路由表管理、日志、打印、电子邮件、远 程登录、文件传输、电子商务服务、付款管理、顾客信息管理、服务台系统、流 式媒体传输、及时信息处理、社区聊天室等。中国的发展同新月异,对于网上的 服务类型和服务需求也越来越多,这就需要有一个良好的网络服务器来满足大众 的要求。目前网络服务已经向稳定性,易维护,易管理,安全可靠,多用户,高 速化的方向发展。所以能够构建一个稳定可靠,安全易用,性能优越的网络服务器 平台是加速网络研究发展的热门课题。因此研究此类型的服务器设计对于今后开 发网络服务器通信软件起到非常重要的作用。不论是那一种类型的服务器所要执 行的任务基本上都是要能与客户端建立端到端的数据通信、能成功解析出客户端 发送过来的命令并根据客户端的命令提供相应的服务。 现在的网络软件使用的协议实际上是商业标准的t c p i p 五层协议,其中下三 层协议已经固定于现有的i i l t e m e t 网络中,所以关于网络服务器设计方面问题就 由运输层和应用层来解决。 运输层主要为两台主机上的应用程序提供端到端的通信。在t c p i p 协议族 中,运输层协议有:t c p ( 传输控制协议) 和u d p ( 用户数据报协议) 。t c p 为 两台主机提供可靠性的数据通信。t c p 是面向连接的服务,在传输数据之前必须 先建立连接,在数据传送结束后要释放连接。同时t c p 还提供了数据确认、流量 第l 章绪论 控制、计时器以及连接管理等功能。由于t c p 提供了可靠性的端到端通信,因此 应用层可以忽略这些细节。而另一方面,u d p 则为应用层提供一种非常简单的服 务。它是非面向连接的协议。u d p 在传送数据之前不需要建立连接。远地主机的 运输层在收到u d p 报文后,不需要给出确认。所以任何必要的可靠性必须由应用 层来提供。这两种运输层协议会根据应用的不同选择相应的协议【2 j 。 应用层负责处理特定的网络服务细节。每一个应用层协议都是为了解决某一 类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的 通信和协调工作来完成了。应用层的具体内容就是规定应用进程在通信时所遵循 的协议。常见的应用层协议有:t e l n e t 远程登录、f t p 文件传输协议、h t t p 超 文本传输协议、s m t p 简单邮件传输协议、s n m p 简单网络管理协议等【l 】。 现在网络中所传输的数据无非就是小的数据包或是大的媒体或文件流数据。 通过研究一个具有实际功能的文件传输服务器,对于理解服务器通信软件的设计 具有一定意义。因为文件传输服务器既可以传输小的信息数据,也可以传输大的 文件数据流。谈到此文件传输服务器我们就不得不提f t p 文件传输协议。 1 2f t p 在in t e r n e t 上的发展现状及课题研究背景 随着i i l t e m e t 在全世界的普及和发展,越来越多的用户将自己的计算机连入 网络中。其中f 1 r p ( f i l et r a l l s f e rp r o t o c 0 1 ) 是i n t e n l e t 中最早提供的服务之一, 目前仍在被人们广泛使用着。如果说h t 锄e t 是如今的信息高速公路的话,f t p 就是其上面的洲际车。由于丌p 运载数据量很大,在整个h l t e n l e t 的流量统计 中,f t p 占3 6 。迄今为止,只有近几年发展起来的环球信息服务能与之媲美。 f t p 文件传送服务,主要用于存放大量的网络公用软件,常用工具和技术文档, 以及一些著名f t p 服务的镜像。建立匿名f t p 服务器,可以将本单位的产品信 息、用户手册提供给用户公开访问;还可以将i i l t 锄e t 上大量的常用软件、免费 软件、免费资源和文档资料等存储于本地、供本地用户访问。这样既方便了用户、 又减少了对出口信道的占用【3 】。 由于f t p 服务器功能强大,在网络中发挥着重要的作用,所以f t p 服务器 的应用很广泛,但是由于商业原因对商业服务器产品的关键技术知之甚少。同时, 我们国内对服务器的研究也是相对较少的,这从学术刊物上发表的相关文章就可 基于f t p 协议的文件传输服务器的研究 以看出,所以本课题的研究是有一定意义。 本研究所2 0 0 6 年到2 0 0 7 年承担的吉林省交通厅科技项目“吉林省船舶动态 监控信息系统”的研究开发中,本课题研究的部分内容得到了实际应用。 1 3 本论文的相关研究工作 本课题全部在s u a lc + + 开发环境下开发网络通信程序。与网络相关的编程 一般都要涉及到t c p i p 的基本原理、网络i o 模型介绍、多线程之间的交互、应 用层协议的编写等;与s u a lc + + 相关的要涉及m f c ( m i c r o s o rf o u n d a t i o n c l 嬲s e s ) 、m f c 中提供的网络封装类c a s y l l c s o c k e t 和c s o c k e t 类。本文系统介绍 了多种网络i o 模型的特点,考虑到是s u a lc + + 开发环境下为了便于与应用层 f 1 p 协议的衔接开发图形用户界面软件。所以选择了以c s 模型为基础,以m f c 的c a s y n c s o c k e t 和c s o c k e t 类为基础父类,派生自己的子类来构建服务器模型, 应用层协议根据f t p 协议栈【4 】来编写。本文对t c p i p 协议的基本原理,多线程编 程,多种网络i o 模型,m f cw i n d o w ss o c k e t 网络编程,应用层f t p 命令解析 都做了比较详细的阐述。 1 4 论文内容组织 本文围绕文件传输服务器的搭建以及f t p 协议功能的实现进行研究,共分以 下几个部分: 第二章研究计算机网络的发展历程,以及在此基础上形成的t c p m 协议的基 本原理,并具体分析了标准f t p 协议。 第三章研究多线程技术,w i n d o w ss o c k e t 网络编程多种i o 模型,以及m f c 网络封装类c a s y n c s o c k e t 和c s o c k e t 类的介绍。最终确定服务器设计方案。 第四章重点研究整个服务器的具体设计,采用由需求到设计的思路来设计系 统。其中详细研究f t p 的工作模式,并采用模块化设计方法来组建服务器。分析 各个网络通信模块如f t p 服务对象模块,协议解析模块,线程管理模块和用户管 理模块等等的工作流程和实现方法。并设计一个友好的人机交互界面,方便用户 的使用、管理和一些日志数据的记录。这样由此用户界面来总控各个网络通信模 块协调工作,最终实现了这个文件传输服务器。 第1 章绪论 第五章利用通用的w i n d o w s 上安装的f t p 客户端软件和自己做的客户端测 试程序对此服务器进行功能和性能测试。并根据测试结果对本服务器予以分析。 第六章总结前期的工作,并对今后的工作进行展望。 1 基于f t p 协议的文件传输服务器的研究 第2 章计算机网络与t c p ip 协议 本章首先介绍计算机网络发展历程,然后介绍t c p 口协议,最后详细分析了 标准f t p 协议。 2 1 计算机网络 2 1 1 计算机网络的概念 2 l 世纪的一些重要特征就是数字化、网络化和信息化,它是一个以网络为核 心的信息时代。我们所说的网络包括三个网,即电信网络、有线电视网络和计算 机网络。其中发展最快并起到核心作用的是计算机网络【l 】。 计算机网络涉及到通信和计算机两个领域。计算机和通信日益紧密的结合, 已对人类社会的进步做出了极大的贡献。计算机网络的最基本的形式是两台计算 机相互连接进行通信。当然,大多数网络中计算机的数量大大超过两台,但是网 络通信的原理都是一样的。在技术上都是计算机和通信的结合。可以说:计算机 网络是独立自主的计算机互连的集合体。计算机网络具有如下特点: ( 1 ) 计算机独立自主。一台计算机不能强制性地启动、停止和控制另一台计算 机,排除了计算机间的主从关系。 ( 2 ) 借助于通信链路,互连手段多样,可以通过电缆、光纤、微波和通信卫星。 ( 3 ) 遵循一定的网络体系结构,在协议的支持下工作。 根据规模和距离的大小,可以将网络分为局域网( l a n ) 、城域网( m a n ) ,广域 网( w a n ) 、互联网( i n t 锄e t ) 以及无线网( 、v i r e l e s sn e tn e t w o r k ) 1 1 。 2 1 2 计算机网络发展过程 现代计算机网络实际上是2 0 世纪6 0 年代美苏冷战时期的产物。根据当时提 出的要求,这种网络必须满足以下的一些基本要求: ( 1 ) 和传统的电信网不同,这种新型的网络不是为了打电话,而是用于计算机 之间的数据传送。 ( 2 ) 新型的网络能够连接不同类型的计算机,即不局限于单一类型的计算机。 ( 3 ) 所有的网络节点同等重要,这样就可以提高网络的生存性。 第2 章计算机网络与t c p i p 协议 ( 4 ) 计算机在进行通信时,必须有冗余的路由。 ( 5 ) 网络的结构应当尽可能地简单,但能够非常可靠的传送数据1 1 。 根据以上的这些要求,一批专家终于设计出了使用分组交换的新型计算机网 络。 分组交换的优点: ( 1 ) 不同终端之问的通信。 , ( 2 ) 网络负载低,可实现交互通信。 ( 3 ) 可实现信道复用,提高信道利用率。 ( 4 ) 可靠性高,经济性好【5 1 。 但是分组交换还存在一些缺点: ( 1 ) 传输时延大,对于长信息传输,网络增加的附加信息太多。 ( 2 ) 技术实现复杂5 1 。 进入2 0 世纪8 0 年代末期以来,在计算机网络领域最引入注目的就是起源于 美国的i n t e n l e t 的飞速发展。现在i i l t e m c t 已发展成为世界上最大的国际性计算机 互连网。h n e m c t 对世界的冲击非常之大,影响到人们生活的各个方面,这就使得 2 0 世纪9 0 年代成为m t e m e t 时代,或者网络时代6 1 。因特网的发展大体上经历了 三个阶段的演进: 第一阶段是从单个网络a p p a n e t 向互联网发展的过程。 第二阶段的特点是建成了三级结构的因特网。三级分为主干网、地区网和校 园网。 第三阶段的特点是由三级结构逐步演变成多级结构的因特网。 2 1 3 计算机网络性能指标 计算机网络中的两个最主要性能指标就是带宽和时延【l 】。 “带宽 本来是指某个信号具有的频带宽度,当通信线路用来传送数字信号 时,人们愿意将“带宽 作为数字信道所能传送的“最高数据率”的同义语,正 是因为带宽代表数字信号的发送速率,因此带宽有时也称为为吞吐量。 时延是指一个报文或分组从一个网络或者说一条链路的一端传送到另一端所 需的时间。时延包括发送时延、传播时延和处理时延。所以数据经历的总时延为 基于f r p 协议的文件传输服务器的研究 这三种时延之和: 总时延= 传播时延+ 发送时延+ 处理时延 ( 2 1 ) 随着因特网的不断发展壮大,人们对互联网的需求和使用量越来越大,如何 更有效地使用计算机网络,变成一个越来越复杂的问题。 为了有效解决这个问题,科学家们提出了分层的概念。 2 1 3 计算机网络的体系结构 网络的体系结构是讲述我们如何总体规划计算机网络软硬件的设计,以实现 整个数据通信系统。我们可以从两个方面来理解: ( 1 ) 可以把它看作是协议和层次的结合。 ( 2 ) 网络的体系结构的目的在于描述网络通信功能的分层方式、协议标准和信 息格式。以使遵从同一结构的产品实现兼容,即链接后可实现已有的数据、资源 和程序的共享。 网络按层来组织优点是为了降低设计的复杂性,使每层建立在下面一层的基础 之上。分层的数目,各层的名称、内容与实现的功能可能“因网而异”,但是每一 层均为上一层提供一定的服务,且屏蔽掉具体的实现细节。国际标准化组织i s o 在1 9 8 3 年就提出了著名的开放系统互连基本参考模型。也就是o s i 的七层协议体 系结构。但是o s i 的七层协议体系结构既复杂又不实用,没有占领市场。相反得 到最广泛应用的是t c p i p 参考模型。这样,t c p i p 就是常被称为是事实上的国际 标准。从这种意义上说,能够占领市场的就是标准f 7 1 。图2 1 是t c p i p 参考模型 和o s i 参考模型的对比示意图。 0 s l 的体系结构t c p i p 的体系结构 7应用层 6 表示层 5会话层 4运输层 3嘲络层 2 数据链路层 l 物理层 应用层 ( 各种应用层协议如t e l n e t , f t p ,s m t p 等) 运输层( t c p 或是u d p ) 网络层i p 数据链路层 物理层 图2 1t c m p 参考模型和o s i 参考模型的对比【8 1 f 培2 1c o n 拄a s tw i t ht c 烈pm o d e la n do s im o d e l 【8 1 第2 章计算机网络与t c m p 协议 网络层次的划分使得网络便于管理和维护,各层只需要完成本层的功能即可, 各层提供接口来同别的层联系,结构上可分割开,灵活性好。从概念上讲,当两 台主机进行通信的时候,它们的相应层也进行对话。不同网络主机的各层称为对 等实体,对等实体之间的通信叫做虚通信。实际上,网络中计算机之间的通信在 网络的最低层( 物理层) ,只有那里才存在真正的物理连接。两台主机之间要通信需 要双方有一定的通信规则,这个规则就称为协议。 2 2t c p lp 协议 协议是控制两个对等实体进行通信规则的集合。协议在语法方面规定了所交 换的信息格式,而协议在语义方面规定了发送者和接收者所要完成的操作。在协 议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本 层协议,还需要使用下一层所提供的服务。在协议方面由于t c p i p 协议已经占领 了市场。整个因特网就使用的t c p i p 的体系结构。所以下面我们重点说明t c p i p 各层的功能。 2 2 1t c p ip 各层功能 每一层实现不同的分工: 1 物理层,物理层的任务就是透明地传送比特流。在物理层上所传数据的单 位是比特。传递信息所利用的一些物理媒体,如双绞线、同轴电缆、光缆等。 2 数据链路层,通常包括操作系统中的设备驱动程序和计算机中对应的网络 接口卡。它们一起处理与电缆( 或其他任何传输媒介) 的物理细节。在发送数据时, 数据链路层的任务是将在网络层交下来的i p 数据报组装成帧,在两个相邻结点间 的链路上传送以帧为单位的数据。 3 网络层,有时也称作i p 层,处理分组在网络中的活动,网络层将运输层产 生的报文段或用户数据报封装成i p 数据报进行传送。网络层的另一个任务就是要 选择合适的路由。在t c p i p 协议组件中,网络层协议包括i p 协议( 网际协议) , a r p ( 地址解析协议) ,r a r p ( 逆地址解析协议) ,i c m p 协议( i n t e m e t 控制报文协议) 以及i g m p 协议( i n t e m e t 组管理协议) 【2 】o i p 是网络层上的主要协议,同时被t c p 和u d p 使用。t c p 和u d p 的每组数 8 一 基于兀甲协议的文件传输服务器的研究 据都通过端系统和每个中间路由器中的i p 层在互联网中找出最佳路由进行传输。 i c m p 是i p 协议的附属协议。口层用它来与其他主机或路由器交换错误报文 和其他控制信息。如两个流行的诊断工具,p i n g 和t r a c e r o u t e ,它们都使用了i c 。 i g m p 是i n t 锄e t 组管理协议。它用来把一个i p 数据报多播到多个主机。 吣( 地址解析协议) 和r a r p ( 逆地址解析协议) 是某些网络接口( 如以太网和令 牌环网) 使用的特殊协议,用来做i p 地址和物理硬件m a c 地址之间相互映射转换 的协议。 4 运输层,主要为两台主机上的应用进程提供端到端的通信。在t c p i p 协 议组件中,有两个互不相同的传输协议:面向连接的传输控制协议t c p 和无连接 的用户数据报协议u d p 。 t c p 为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交 给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最 后确认分组的超时时钟等。由于运输层提供可靠的端到端的通信,因此应用层可 以忽略所有这些细节。 而另一方面,u d p 则为应用层提供一种非常简单的服务。它只是把称作数据 报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任 何必需的可靠性必须由应用层来提供。 运输层协议根据具体应用的不同要求来选择这两种不同的运输协议。运输层 向应用层用户屏蔽了下面通信子网的细节信息,它使应用进程看见的就好像在两 个运输层实体之间有一条端到端的逻辑通信信道一样。 5 应用层,应用层是体系结构中最高层。应用层确定进程之间通信的性质以 满足用户的需求( 这反映在用户所产生的服务请求) 。应用层不仅要求提供应用进程 所需要的信息交换和远地操作,而且还要作为互相作用的应用进程的用户代理, 来完成一些为进行语义上有意义的信息交换所必须的功能。应用层直接为用户的 应用进程提供服务。 图2 2 说明的是应用进程的数据在各层之间的传递过程中所经历的变化。假 设两个主机是直接相连的。 第2 章计算机网络与t c m p 协议 计算机1 + * * 首 _ t c p 报文段 u d p 报文段 l p 数据撮 ”1h l 数据部分 | - 比特 计算机2 。0a p , l2 匝巫匦正二亚夏至= 巫画固- 蔗净e 书c 物理传输媒体 图2 2 数据在各层之间的传递过程 f i g 2 11 1 l ed a t ad c l i v 懿眦骼sb e t w 嘲e a c hl a y e r 假定计算机l 的应用进程a p l 向计算机2 的应用进程a p 2 传送数据。a p l 先将 其数据交给5 层( 应用层) 。第5 层加上必要的控制信息h 5 就变成了下一层的数据 单元。第4 层( 运输层) 收到这个数据单元猴,加上本层的控制信息h 4 。再交给第3 层( 网络层) ,成为第3 层的数据单元。依次类推。不过到了第2 层( 数据链路层) 后, 控制信息分成两部分,分别加到本层数据单元的首部( h 2 ) 和尾部( t 2 ) ,而第1 层( 物 理层) 由于是比特流的传送,所以不再加上控制信息l l j 。 2 2 2t c p 协议分析 由于本课题的服务器设计在运输层上使用的是t c p 协议,在此重点就详细介 绍t c p 协议。 t c p 提供一种面向连接的、可靠的字节流服务。面向连接意味着两个使用t c p 的应用( 通常是一个客户和一个服务器) 在彼此交换数据之前必须先建立一个t c p 连接。这一过程与打电话很相似,先拨号振铃,等待对方摘机说“喂”,然后才说 明是谁。在一个t c p 连接中,仅有两方进行彼此通信。 本节详细分析了t c p 的运输连接管理,t c p 的流量控制与拥塞控制,t c p 的 有限状态机【1 1 。 1 t c p 的运输连接管理: 蛆虫妒舻3蜓抚 基于f r p 协议的文件传输服务器的研究 运输连接可分为三个阶段:连接建立、数据传送和连接释放。 t c p 的连接和建立都是采用客户服务器方式。主动发起连接建立的应用进程 叫做客户,而被动等待连接建立的应用进程叫做服务器。 设主机b 中运行一个服务器进程( 图2 3 ) ,它先发出一个被动打开命令,告诉 它的t c p 要准备接受客户进程的连接请求。然后服务器进程就处于“听 的状态, 不断检测是否有客户进程要发起连接请求。如有,即作出响应。设客户进程运行 在主机a 中。它先向其t c p 发出主动打开命令,表明要向某个i p 地址的某个端 口建立运输连接。 主机a主机b 主动打开被动打开 连接请求 量盥j 量量q 三兰 - _ 曼盥:丝竖:星量垒三羔:垒缝兰。:! 确认1 _ o h 1 硝i 认 笾缝:量量旦三兰:! :叠q 练三x :! , 图2 3 用三次握手建立t c p 连接 f i g 2 3t c p c o f h l e c d o ni se s t a b l i s h e db yt l l r e e 州a yh 锄d s h a k e 主机a 的t c p 向主机b 的t c p 发出连接请求报文段,其首部中的同步比特 s y n 应置1 ,同时选择一个序号x ,表明在后面传送数据时的第一个数据字节的序 号是x + 1 。主机b 的t c p 收到连接请求报文段后,如同意,则发回确认。在确认 报文段中应将s y n 和a c k 都置1 ,确认号应为x + l ,同时也为自己选择一个序 号y 。主机a 的t c p 收到b 的确认后,要向b 给出确认,其a c k 置1 ,确认号 为y + 1 ,而自己的序号为x + l 。运行客户进程的主机a 的t c p 通知上层应用进 程,连接已经建立。当运行服务器进程的主机b 的t c p 收到a 的确认后,也通知 其上层应用进程,连接已经建立。此时主机a 可以向b 进行数据传输。t c p 这样 的连接建立叫做三次握手。 在数据传输结束,通信的双方都可以发出释放连接的请求。 设图2 3 中的主机a 的应用进程先向其t c p 发出连接释放请求,并且不再发 第2 章计算机网络与t c p 佃协议 送数据。t c p 通知对方要释放从a 到b 这个方向的连接,将发往主机b 的t c p 报文段首部的终止比特f i n 置1 ,其序号x 等于前面已传送过的数据的最后一个字 节的序号加上1 。 主机a 主机b 应用进程 释放连接 f l n s e q = x a 不再发送报文 a ck is e q :y 。a c k - x + 1 确认 坐! 坚:! ! 竺三:竺坚三:!囊墨薹莲 - _ _ - l _ - - _ _ _ - _ - l _ l - _ _ _ _ _ _ - - _ - _ _ _ - _ _ _ - _ - - - - l _ - - - 一1 1 u j z j x b 不再发送报文 a c k s e q = x + 1 。a c k = y + 1 图2 4t c p 连接释放的过程 f i g 2 4t h ep r o c 髓st l l a tt l l et c pc o n n e c t i o nr e l e a s e d 主机b 的t c p 收到释放连接通知后即发出确认,其序号为y ,确认号为x + 1 , 同时通知高层应用进程,见上图箭头。这样,从a 到b 的连接就释放了,连接 处于半关闭状态。若主机b 不再向主机a 发送数据,其应用进程就通知t c p 释放 连接,见上图箭头。主机b 发出的连接释放报文段必须将终止比特f i n 和确认 比特a c k 置l ,并使其序号仍为y ,但还必须重复上次已经发送过的a c k = x + 1 。 主机a 必须对此进行确认,将a c k 置1 ,a c k = y + 1 ,而自己的序号是x + l 。 这样整个连接已经全部释放。 2 t c p 的流量控制与拥塞控制: 为了提高报文段的传输效率,t c p 采用大小可变动的滑动窗口进行流量控制。 窗口大小单位是字节。发送窗口在连接建立时由双方商定。但在通信的过程中, 接收端可根据自己的资源情况,随时动态地调整对方地发送窗口上限值( 可增大或 减小) 。下面通过图2 5 的例子说明了利用可变窗口大小进行流量控制。 设主机a 向主机b 发送数据。双方确定的主窗口值是4 0 0 。再设每一个报文 段为1 0 0 字节长,序号的初值为1 ( 见图中第一个箭头上的s e q = l 。图中右边的注 释可帮助理解整个过程) 。我们应注意到,主机b 进行了三次流量控制。第一次将 基于f t p 协议的文件传输服务器的研究 窗口减小为3 0 0 字节,第二次又减为2 0 0 字节,最后一次减至零,即不允许对方 再发送数据了。这种停止状态将持续到主机b 重新发出一个新的窗口值为止。 主机a主机b - 涯旦三三一;a 还能发送3 0 0 宇节 0 。兰曼旦三坦l 。- ;a 还能发送2 0 0 宇节 l - 必端 0 0 蛙氅三錾l ? 业l = 掣允许a 再发送3 0 0 字节( 序号2 0 1 至5 口0 ) i 三娶l l 担l 一a 还能发送2 0 0 宇节( 序号3 0 1 至5 叩) i 曼旦殳三堡生忡la 还能发送1 0 0 宇节( 序号4 0 1 至5 0 0 ) i 型基k 翌l a 超时重发但不能发送序号卯。以后的数据 l 一叠蛀区二錾也d 盥虹誓鹜l 一允许a 再发送2 0 d 字节( 序号5 0 1 至7 0 0 ) i 曼娶毛_ 翌l 一a 还能发送1 0 0 宇节( 序号5 0 1 至7 b 篓鉴二g 旦_ 型生_ 不允许a 再发送( 到序号印。的数据翻已收到) 图2 5 利用可变窗口讲行流量控制 f i g 2 5u s i n gm ev a i i a :b l ew i n d o wt oc a n y f i o wc o n t i o l 发送端利用发送窗口调节向网络注入分组的速率不仅仅是为了使接收端来得 及接收,而且还是为了对网络进行拥塞控制。为了更好地在运输层进行拥塞控制, 1 9 9 9 年公布的因特网建设标准【r f c2 5 8 1 】定义了四种算法,即慢开始、拥塞避免、 快重传和快恢复。由于此四种算法和本课题关系不大,所以在此就不具体介绍了。 3 t c p 的有限状态机: t c p 将连接可能处于的状态以及各状态可能发生的变迁,画成图2 6 所示的 有限状态机。请注意下图粗实线箭头表示对客户进程的正常变迁。虚线箭头表示 对服务器进程的正常变迁。所谓正常变迁即典型变迁。另外细线箭头表示非典型 变迁。应用进程:说明当进程执行某种操作时发生的状态变迁。收:说明当收到 t c p 报文段时状态的变迁。发:说明为了进行某个状态变迁要发送的t c p 报文段。 第2 章计算机网络与t c m p 协议 开始 主动簧闭 图2 6t c p 的有限状态机【9 】 f i g 2 6t c p c o n r 坞c t i o ns t a t ed i a g 舳f 9 】 结合上图与图2 3 、图2 4 可以看出如果一切正常t c p 整个数据传输过程的状 态变迁过程可以化减为下图2 7 所示。下图画在左边的是客户进程进行主动打开 和主动关闭,而画在右边的是服务器进程进行被动打开和被动关闭。 基于f 】r p 协议的文件传输服务器的研究 客户进程曝务器遗程 ( 主动打开) 甜ns 斟t e s t a 日l b h e d e s t a 日u s h e d ( 主动矢劬f n 州铷t j p 聪炎垛3 t ew r r t m e j 懈i 盯 a c k 。漱- x + 1 。a c = y + 1 ( 垒顶工数蠢传送阶黢 f n 。s e q - u u s t 刚( 麓动打开) s 、悄m s 、,n 同:v d e s t a j s h e d c l o s e 嘲t ( 被动美闭) a o s ew l t u 晤t a c k a o s e d 图2 7t c p 的正常的连接建立和关闭 f i g 2 7n e n o r m a lt c pc ( 眦僦d 懿t a j 啦8 h m 钮t 锄dc l o 2 3f t p 协议及其工作原理 文件传送协议f t p 是一种应用层协议,它的目标是提高文件的共享性,提供 非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据。 2 3 1f t p 工作原理图 f 田使用t c p 可靠的运输层。f t p 的主要功能就是减少或消除在不同操作系 统下处理文件的不兼容性。 f 1 p 的工作情况如图2 8 所示。图中的小方框表示在系统中运行的进程。在 进行文件传输时,f t p 的客户和服务器之间要建立两个连接:“控制连接 和“数 据连接”。控制连接在整个会话期间一直保持打开,f t p 客户发出的传送请求通过 控制连接发送给服务器端的控制进程,但控制连接并不用来传送文件。实际用于 传输文件的是“数据连接”。服务器端的控制进程在接收到f t p 客户发送来的文件 传输请求后就创建“数据传送进程”和“数据连接,用来连接客户端和服务器端的数 据传送进程。数据传送进程实际完成文件的传送,在传送完毕后关闭骂改据传送连 接”并结束运行。 第2 章计算机网络与t c p i p 协议 图2 8f t p 工作示意图 f i g 2 8f t pw o d ( i n gs d l a :i l a t i cd r a w i n g 当客户进程向服务器进程发出建立连接请求时,要寻找连接服务器进程的熟 知端口( 2 1 ) ,同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送 连接。接着,服务器进程用自己传送数据的熟知端口( 2 0 ) 与客户进程所提供的端口 号码建立数据传送连接。由于f t p 使用了两个不同的端口号,所以数据连接与控 制连接不会发生混乱。 f t p 的工作模式和其他网络通信协议有很大的区别。通常在进行h ”p 通信,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高温天气下混凝土施工技术管理方案
- 精益求精无财产无子女离婚协议书起草与执行
- 风光制氢醇一体化项目环境影响报告书
- 离婚协议翻译及国际婚姻法律事务代理服务合同
- 男方离婚协议书:财产分配、子女抚养及共同债务分担
- 深远海养殖设备选型与安装方案
- 精细化工中试基地建设项目建设工程方案
- 城市更新安全保障与应急管理方案
- 分布式新能源市场2025年技术创新与新能源发电研究报告
- 2025年新型储能材料在微电网中的应用前景报告
- 2025年押运员模拟考试试题及答案
- 沉井施工合同4篇
- 农业机械安全知识课件
- 轴承质检员培训课件文档
- 2025至2030有机聚合物钽电容器行业发展趋势分析与未来投资战略咨询研究报告
- 数字化解决方案设计师专项考核试卷及答案
- 2025年北京市西城区普通中学高三数学第一学期期末检测模拟试题
- 医护人员护理文书书写规范模板
- 中考语文散文专题训练-陈应松散文(含解析)
- 急诊急救业务知识培训课件
- 生产安全事故应急条例讲解
评论
0/150
提交评论