TFTP协议介绍
TFTP(Trivial File Transfer Protocol)即简单文件传输协议,它是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。
TFTP协议是一种非常简单的文件传输协议,只具有FTP的基本功能。它运行在 UDP(用户数据报协议)上,提供不可靠的数据流传输服务,不提供存取授权与认证机制,使用超时重传方式来保证数据的到达。与FTP相比,TFTP的大小要小的多。因此,它缺乏标准 FTP 协议的许多特征。TFTP协议为小文件传输而设计。TFTP 只能从远程服务器上读、写文件(邮件)或者读、写文件传送给远程服务器。它不能列出目录并且当前不提供用户认证。
当前 TFTP 有 3 种传输模式:NetASCII 模式即 8 位 ASCII;Octet八位组模式(替代了以前版本的二进制模式),如原始八位字节;邮件模式,在这种模式中,传输给用户的不是文件而是字符。mail模式已经不再支持,它将返回的数据直接返回给用户而不是保存为文件。主机双方可以自己定义其它模式。
TFTP协议于1980年定义,它可以在非常小的内存下实现。因此TFTP在引导计算机(如路由器)方面非常有用,还用于在主机间传输少量文件,比如IP电话固件或操作系统映像。在初期,一些基于网络的安装系统(例如:Solaris Jumpstart,Red Hat Kickstart以及Suse AutoYAST)就使用了TFTP来载入基本的内核,该内核执行实际的安装。
在 TFTP 协议中,任何一个传输进程都以请求读写文件开始,同时建立一个连接。如果服务器同意请求,则连接成功,文件就以固定的 512 字节块的长度进行传送。每个数据包都包含一个数据块,在发送下一个包之前,数据块必须得到确认响应包的确认。少于 512 字节的数据包说明了传输的结束。如果包在网络中丢失,接收端就会超时并重新发送其最后的包(可能是数据也可能是确认响应),这就导致丢失包的发送者重新发送丢失包。发送者需要保留一个包在手头用于重新发送,因为 LOCK 确认响应保证所有过去的包都已经收到。注意传输的双方都可以看作发送者和接收者。一方发送数据并接收确认响应,另一方发送确认响应并接受数据。
TFTP 的当前版本为 v2 。
协议结构
基本 TFTP 协议头结构:
----------------------
16 bits String 16 bits String 16 bits
Opcode Filename 0 Mode 0
----------------------
Opcode:操作代码或命令。以下为 TFTP 命令:
-----------------------------
Opcode Command Description
-----------------------------
1 Read Request Request to read a file
2 Write Request Request to write to a file
3 File Data Transfer of file data
4 Data Acknowledge Acknowledgement of file data
5 Error Error indication
-----------------------------
Filename:传送的字段名称。
Mode:数据模式。协议传输的文件数据格式。可以是 NetASCII,也可以是标准 ASCII,八位二进制数据或邮件标准 ASCII。
在Windows系统的TFTP命令:
TFTP [-i] host [GET | PUT] source [destination]
参数:
-i 指定二进制映像传输模式(也即Octet),此模式下,文件逐字节的传输。
host 指定本地或远程主机。
GET 从远程主机取回文件到本地主机。
PUT 从本地主机发送文件到远程主机。
source 指定要传输的文件。
destination 指定传输文件的目的地。
例子:
user@host:~$ tftp 192.168.1.1
tftp> get file.txt
分享到:
相关推荐
TFTP协议 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
嵌入式TFTP协议代码,C语言 #include #include #include #include #include "config.h" #include "net.h" #include "udp.h" #include "timer.h" #include "clicmddef.h" #include "cli.h" #include "tftp.h" #...
tftp协议的详细文档,pxeboot使用
自己做的TFTP协议PPT文档,给公司其他同事上课的文档,加上source code。
北京邮电大学通信实验第二个实验,对TFTP协议的分析,包括了一般协议分析的主要步骤
TFTP协议,简化的FTP协议,windows直接支持
tftp.rar tftp 协议 源代码 java tftp.java
TFTP协议知识总结
tftp 协议 文件传输 socket
TFTP协议学习很好的资料,自己总结的,还有源码分析,希望可以帮到你
通信软件设计--TFTP协议的设计,包括MSC图与SDL图,SDL图又包括系统图、功能块图、进程图,分别详细描述了客户端和服务器的设计
基于TFTP协议的简单文件传输系统的研究,详细的解释了TFTP的协议与协议的实现,具有极高的学习价值
tftp协议 这是基于 udp 的
tftp协议的C++语言实现,包含客户端和服务器端
利用java实现TFTP协议,文档写得很详细!
利用VC实现TFTP协议计算机网络课程设计
分析学习tftp协议所用的流量包
资源名称:tftp传输协议的代码 使用场景:C代码,可编译为tftp执行程序或直接调用tftp传输接口; 功能描述: (1)tftp可执行程序的代码,了解tftp传输实现流程;
TFTP 协议 标准文档,提供给实现协议的开发人员使用,或是pxe实现者使用
tftp开源的代码,协议本身就很简单,先看看协议,再对代码看看,促进学习