基于嵌入式的FTP服务器的设计、结构与工作模式介绍.doc
《基于嵌入式的FTP服务器的设计、结构与工作模式介绍.doc》由会员分享,可在线阅读,更多相关《基于嵌入式的FTP服务器的设计、结构与工作模式介绍.doc(5页珍藏版)》请在三一文库上搜索。
1、基于嵌入式的FTP服务器的设计、结构与工作模式介绍引言FTP(文件传输协议)是一种用于从网络中一台主机向另外一台主机传输文件的协议,属于Internet上最早提供的应用服务之一,通常将文件传输服务称为FTP服务。FTP服务不受计算机类型及操作系统的限制,只要建立FTP链接的双方都支持FTP协议,就可以方便地通过网络进行远程文件的下载、上传和删除等操作。根据RFC959描述,FTP的目标是:促进程序/数据文件的共享;鼓励(通过程序)使用远程计算机;使用户不必面对不同主机上不同文件系统的差异;对数据进行高效可靠的传输。本文在国产嵌入式实时操作系统的平台上,在已有TCP协议支持的基础上,设计开发满足
2、RFC959要求的FTP服务器,功能支持对FTP客户端常用命令的正确响应,性能满足嵌入式环境的要求。1 文件传输过程1.1 FTP工作模式FTP服务采用典型的客户端/服务器工作模式,在网络远端提供FTP服务的计算机称为FTP服务器,与用户的客户端通过TCP进行链接。FTP服务器通过2个并行的TCP链接来提供服务,一个是控制链接,一个是数据链接。控制链接始终等待客户与服务器之间的通信,该链接将客户命令从客户端传给服务器,并传回服务器的应答。数据链接则是每当一个文件在客户端和服务器之间传输前,才进行创建,只用于数据传输目的。客户端与服务器及其连接情况如图1所示。1.2 FTP工作流程在典型的FTP
3、客户机和服务器的链接建立及交互过程中,一般需要经历以下几个步骤:(1)在服务器端运行FTP服务器端程序,等待用户发出链接请求,在客户端运行FTP客户端程序。(2)当FTP 客户端发起FTP 会话尝试链接服务器时,客户端首先发起建立与FTP服务器21端口之间的控制链接,通过该TCP链接发送用户名和密码给服务器端。(3)客户端为所在的数据链接选择一个临时的端口号,并通过控制链接将该端口号发送给服务器。(4)当需要进入文件传输阶段,客户端和服务器通过“数据链接”来传输文件,通过“控制链接”来传输命令。(5)当数据传输完毕后,关闭用于建立数据链接的端口,直到下次数据链接发起时重新打开,而控制链接在整个
4、FTP会话期间一直处于打开状态。2 FTP 服务器设计选择不同的服务器模式将会影响到整个设计和实现阶段,并且很大程度影响着服务器的性能。FTP服务器的内部设计可以根据需要和平台软硬件的性能综合考虑,选择设计不同的服务器模式。2.1 服务器结构服务器的结构主要有循环服务器和并发服务器2种,其中并发服务器又可以细分为单线程并发服务器和多线程并发服务器。2.1.1 循环服务器循环服务器适用于简单的应用协议,与客户端采用停止-等待的通信方式,使用单个线程循环运行,每次只能处理一个客户端的请求,但是它的设计、编码、调试和后续维护相对并发服务器都比较简单。2.1.2 单线程并发服务器单线程并发服务器是由单
5、个服务器线程预先为多个客户端打开TCP链接,当有任意的客户端请求到达时,服务器线程由阻塞态转为运行态来处理该客户端请求并发送响应,在此期间阻塞其他客户端请求。完成一个客户端请求后,服务器线程再次阻塞以等待其他的任意客户端的请求。单线程并发服务器适用于操作系统创建新的线程开销很大的情况下。2.1.3 多线程并发服务器多线程并发服务器设计使用多个进程及多个线程,服务器首先执行一个主线程,在熟知的端口上打开一个链接,等待客户端消息,当客户端请求到来时,主线程创建子线程来处理该客户请求,此时主线程不与客户端直接通信,而是由每个子线程并发地来与各自对应的客户端进行通信。当子线程完成客户请求的响应并发送给
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 嵌入式 FTP 服务器 设计 结构 工作 模式 介绍
链接地址:https://www.31doc.com/p-3417483.html