利用java实现TFTP协议.doc

利用java实现TFTP协议.doc

ID:58666910

大小:468.50 KB

页数:19页

时间:2020-10-15

利用java实现TFTP协议.doc_第1页
利用java实现TFTP协议.doc_第2页
利用java实现TFTP协议.doc_第3页
利用java实现TFTP协议.doc_第4页
利用java实现TFTP协议.doc_第5页
资源描述:

《利用java实现TFTP协议.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算机网络课程设计利用JAVA实现TFTP协议学号:姓名:提交日期:成绩:教师签字:东北大学秦皇岛分校电子信息系利用Java编程实现TFTP协议一、设计目的与要求:TFTP(TrivialFileTransferProtocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。TFTP承载在UDP上,提供不可靠的数据流传输服务,不提供存取授权与认证机制,使用超时重传方式来保证数据的到达。与FTP相比,TFTP的大小要小的多。现在最普遍使用的是第二版TFTP(TFTPVersion2,RFC1350)。本次

2、设计要求利用JAVA实现TFTP协议的基本功能。二、设计过程:1、TFTP协议的原理:简单文件传输协议是一种用来传输文件的简单协议,运行在UDP(用户数据报协议)上。TFTP被设计为小而简单容易的运行,因此,它缺乏标准FTP协议的许多特征。TFTP只能从远程服务器上读、写文件(邮件)或者读、写文件传送给远程服务器。它不能列出目录并且当前不提供用户认证。当前TFTP有3种传输模式:netASCII模式即8位网络ASCII码;octet,即八位组模式(替代了以前版本的二进制模式),如原始八位字节;邮件模式,这种模式现在已经废止不用了。主机双方也可以自己定义其它模式。在TFTP协议中,任何一

3、个传输进程都以请求读或写文件开始,同时建立一个连接。如果服务器同意请求,则连接成功,文件就以固定的512字节块的长度进行传送。每个数据包都包含一个数据块,在发送下一个包之前,数据块必须得到确认响应包的确认。如果一个数据包的大小小于512字节,则表明传输结束。如果包在网络中丢失,接收端就会超时并重新发送其最后的包(可能是数据也可能是确认响应),这就导致丢失包的发送者重新发送丢失包。通信的双方都是数据的发出者与接收者,一方传输数据接收应答,另一方发出应答接收数据。发送者需要保留一个包在手头用于重新发送,由LOCK确认响应保证所有过去的包都已经收到。大部分的错误会导致连接中断,错误由一个错误

4、的数据包引起。这个包不会被确认,也不会被重新发送,因此另一方无法接收到。如果错误包丢失,则使用超时机制。错误主要是由下面三种情况引起的:不能满足请求,收到的数据包内容错误,而这种错误不能由延时或重发解释,对需要资源的访问丢失(如硬盘满)。TFTP只在一种情况下不中断连接,这种情况是源端口不正确,在这种情况下,指示错误的包会被发送到源机。这个协议限制很多,这是都是为了实现起来比较方便而进行的。1、协议结构:因为TFTP使用UDP,而UDP使用IP,IP还可以使用其它本地通信方法。因此一个TFTP包中会有以下几段:本地媒介头,IP头,数据报头,TFTP头,剩下的就是TFTP数据了。TFTP

5、在IP头中不指定任何数据,但是它使用UDP中的源和目标端口以及包长度域。由TFTP使用的包标记(TID)在这里被用做端口,因此TID必须介于0到65,535之间。基本TFTP数据报结构:每个数据包都有一个opcode(2个字节),表示包的类型。包的类型有以下5种:OpcodeCommandDescription1ReadRequest(RRQ)Requesttoreadafile2WriteRequest(WRQ)Requesttowritetoafile3FileData(DAT)Transferoffiledata4DataAcknowledge(ACK)Acknowledgeme

6、ntoffiledata5Error(ERR)Errorindication由上表可知,TFTP协议有五种数据包,以下为它们的结构:1.RRQ/WRQ包:--------------------------------------------------------------

7、Opcode

8、Filename

9、0

10、Mode

11、0

12、---------------------------------------------------------------2bytesstring1bytestring1byteRRQ和WRQ包(代码分别为1和2)的格式如上所示。文件名是NETASCII码字

13、符,以0结束。而MODE域包括了字符串"netascii"或"octet",名称不分大小写。接收到NETASCII格式数据的主机必须将数据转换为本地格式。OCTET模式用于传输文件,这种文件在源机上以8位格式存储。2.DATA包:-----------------------------------

14、Opcode

15、Block#

16、Data

17、-----------------------------------2bytes2bytesnbytes数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。