【1】TFTP软件的开发

来源:互联网 发布:生日祝福网页源码 编辑:程序博客网 时间:2024/05/19 16:51

1. TFTP协议需求分析

编写TFTP协议需求文档的目的是确定TFTP协议要必须完成的工作。TFTP(Trivial FileTransfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务,位于TCP/IP体系结构的应用层,服务器端口号规定设置为69,否则wireshark不识别数据包中其他字段。程序里面具体协商。

2. TFTP协议概要设计

TFTP议概要设计的任务是在TFTP协议需求分析的基础上,针对给定的问题,给出合理的解决方案,主要解决怎么做的问题。主要确定系统模块的结构以及模块之间的关系。概要设计的原则:模块化,逐步求精,抽象化,信息隐藏和局部化等。具体来讲,确定TFTP与外部模块接口的关系;确定系统所涉及的数据结构和算法;TFTP协议对报文的流控机制;另外还有内部接口和外部接口的设计等。其中利用到的工具有系统流程图,模块单元关系图,TFTP状态图及其他图形工具。

3. TFTP协议程序编写

1. 按照需求实现所需功能,文件的上传下载目录是通过tftpd.conf 配置完成;
2. 利用automake和autoconf工具生成configure和Makefile文件;
3. 开发了TFTP服务注册,开启与关闭功能,service tftpd {start | stop | restart | status}功能;
4. 利用shell脚本自动化的实现许多功能,比如开启了udp69端口检测功能;
5. 编写README文件,写了软件的基本介绍和使用说明;
6. 利用make dist实现软件发布,打包源码包名为tftp-1.1.tar.gz。

4. TFTP协议的测试

1. 搭建测试环境,分别搭建两台Linux系统和一台linux系统一台windows系统;
2. 对实现的功能进行测试:文件的上传和下载,服务的开启与关闭,端口冲突检测;配置文件的读取;文件大小测试;文件的格式测试(已经测试jpg图片在linux 中不能识别,可能因为格式编码问题);客户端突然断开连接;服务端突然断开连接通过wireshark抓包分析包的通信状态;
原创粉丝点击