- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
嵌入式FTP服务器的设计与实现
3 FTP 服务器实现
根据上述设计方案的描述,本课题中FTP服务器的程序架构进行如下设计:
系统上电操作系统运行之后,ftpdInit函数在默认的端口上创建一个FTP服务器控制链接,并且调用ftpd-Task创建一个FTP服务进程来响应多个用户的请求。其中ftpdTask使用ftpdWorkTask为每个不同的用户在各自需要时分别创建一个服务进程进行响应,如图2所示。
ftpdWorkTask 完成FTP 服务器的主要协议处理功能,该进程分析每个客户端请求命令,做出响应并且回复给客户端。函数的主体是一个循环结构,分析客户端请求命令的功能由简单的strncmp函数来实现,如果经过分析之后命令符合有效命令的格式,ftpdWorkTask将调用响应的处理函数并且将处理结果返回给客户端。
根据RFC959,FTP服务器需要响应的命令分为访问控制命令、传输参数命令和服务命令。本课题设计的FTP服务器实现了对以下命令的响应。
(1)访问控制命令。访问控制命令如表1所示。
(2)传输参数命令。所有的数据传输参数都有默认值,只有在默认值需要改变的时候才需要命令去指定传送数据传输参数。默认值是最后一次指定的值,如果未被指定,则是标准默认值。这意味着服务器必须"记住"
当前可用的默认值,如表2所示。
(3)FTP服务命令。FTP服务命令定义了用户请求传送文件或者文件系统的功能,如表3所示。
4 功能及性能测试
在完成设计、编码及交叉编译之后,对嵌入式FTP服务器在目标机上的运行的情况进行功能和简单的性能测试。
4.1 功能测试
功能测试的目的是验证FTP服务器是否能够正常处理协议所要求的功能,测试工具为FTP客户端软件包括WindowsXP 命令行中的FTP 命令,FlashFXP 以及在WindowsCE操作系统下开发的专用FTP客户端软件。
4.2 性能测试
嵌入式FTP服务器运行在MPC755处理器子卡上,处理器为PowerPC755,处理器工作频率为266 MHz,局部总线频率为66 MHz,1路10M/100M以太网接口。存储设备为大容量存储器子卡,存储容量为128 GB,读/写访问速度5 MB/s以上(裸盘)。测试结果表明使用Win-dows XP 平台的客户端软件进行下载速度可以达到800 KB/s以上,使用WindowsCE平台的客户端软件进行下载速度可以达到300 KB/s以上。
5 结语
本文介绍了FTP协议的工作模式和工作流程,介绍了FTP服务器的典型结构,即循环服务器、单线程并发服务器和多线程并发服务器,并且分析了这三种FTP服务器结构的优缺点,根据课题项目需要,选择多线程并发服务器的结构为设计方案进行详细设计。实现的功能包括对RFC959标准定义的访问控制命令、传输参数命令和FTP服务命令在内的常用命令的处理和响应。
最后对该嵌入式FTP服务器的功能和性能进行简单的测试,测试结果表明功能和性能符合期望标准。
上一篇:光纤传感在物联网领域大有可为
下一篇:HFC光网络结合PON技术实现宽带接入优质化