1、第 9章 面向应用的协议1应用层协议的特点 n 每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。应用层的具体内容就是规定应用进程 在通信时所遵循的协议 。n 应用层的许多协议都是基于 客户服务器方式 。客户 (client)和服务器 (server)都是指通信中所涉及的两个应用进程。客户服务器方式所描述的是进程之间服务和被服务的关系。客户是服务请求方,服务器是服务提供方。 29.1 文件传输协议( FTP)n 9.1.1 基本原理n Port模式(主动模式 )n Passive模式(被动模式)3文件传送协议 u 文件传
2、送协议 FTP (File Transfer Protocol)是因特网上使用得最广泛的文件传送协议。u FTP 提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限。u FTP 屏蔽了各计算机系统的细节,因而适合于在异构网络中任意计算机之间传送文件。u RFC 959 很早就成为了因特网的正式标准。 4文件传送并非很简单的问题u 网络环境中的一项基本应用就是将文件从一台计算机中复制到另一台可能相距很远的计算机中。u 初看起来,在两个主机之间传送文件是很简单的事情。u 其实这往往非常困难。原因是众多的计算机厂商研制出的文件系统多达数百种,且差别很大。 5FTP 特点u 文件传
3、送协议 FTP 只提供文件传送的一些基本的服务,它使用 TCP 可靠的运输服务。u FTP 的主要功能是减少或消除在不同操作系统下处理文件的不兼容性。u FTP 使用 客户服务器方式 。一个 FTP 服务器进程可同时为多个客户进程提供服务。u FTP 的服务器进程由两大部分组成:一个 主进程,负责接受新的请求;另外有若干个 从属进程 ,负责处理单个请求。 6两个连接u 控制连接 在整个会话期间一直保持打开, FTP 客户发出的传送请求通过控制连接发送给服务器端的控制进程,但控制连接不用来传送文件。u 服务器 控制连接 的熟知 端口号是 21。7两个连接(续)u 实际用于传输文件的是 “数据连接
4、 ”。服务器端的控制进程在接收到 FTP 客户发送来的文件传输请求后就创建 “数据传送进程 ”和 “数据连接 ”,用来连接客户端和服务器端的数据传送进程。u 服务器端 传送数据 的熟知 端口是 20。u 数据传送进程实际完成文件的传送,在传送完毕后关闭 “数据传送连接 ”并结束运行。8FTP 使用的两个 TCP 连接 控制进程FTP 客户端 FTP 服务器端因特网TCP 控制连接TCP 数据连接用户界面控制进程数据传送进程数据传送进程9u 当客户进程向服务器进程发出 建立连接 请求时,要寻找连接服务器进程的 熟知端口 (21),同时还要告诉服务器进程自己的另一个端口号码,用于建立数据传送连接。u 接着,服务器进程用自己 传送数据 的 熟知端口(20)与客户进程所提供的端口号码建立数据传送连接。u 由于 FTP 使用了两个不同的端口号,所以数据连接与控制连接不会发生混乱。两个不同的端口号 10