分类:
2010-01-03 17:26:32
TFTP(Trivial File Transfer Protocol),中译简单文件传输协议或小型文件传输协议,是一种简化的FTP,于1980年定义。
TFTP非常简单,通过少量存储器就能轻松实现——这在当时是很重要的考虑因素。所以TFTP被用于引导计算机,例如没有大容量存储器的路由器。现在它仍然被用于在一个网络上主机之间传输小文件,例如从一台网络主机或服务器引导一个远程X Window System终端或其他的薄型客户端(thin client)。
TFTP部分基于更早期的EFTP协议,EFTP是通用分组协议(PUP Protocol)中的一部分。在TCP/IP协议组早期的工作中,TFTP往往是在一个新的主机类型上首先完成的协议——因为其非常的简单。
TFTP的一些详细资料:
因为TFTP利用了UDP,就必须提供自己的传输和会话支持。每个通过TFTP传输的文件构成了一个独立的交换。此传输表现为步锁,任何时间网络上仅仅传递一个包(一个数据块或一个首部确认)。由于缺少窗口切换技术,TFTP在有很多潜在连接的情况下仅提供较低的吞吐量。
由于TFTP缺少安全性,在开放式因特网上传输非常危险,所以普遍仅仅用于私人本地网络
原帖 作者:taylor
1.安装程序sudo apt-get install tftp tftpd
前者是客户端,后者是服务程序。sudo apt-get install xinetd
2.在/srv目录下建一个tftpboot, 把属性改成777。
cd /srv
sudo mkdir tftpboot
sudo chmod 777 tftpboot
3.编辑 /etc/inetd.conf
sudo vi /etc/inetd.conf
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftpboot
4.编辑 /etc/xinetd.d/tftpsudo vi /etc/xinetd.d/tftp
tftp内容:
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /srv/tftpboot
}
(ps:步骤3、4 二者选其一则可)
5.重新启动服务:
sudo /etc/init.d/xinetd restart
sudo in.tftpd -s /srv/tftpboot
6.测试一下,在/tftpboot文件夹下新建立一个文件touch test
进入另外一个文件夹
tftp 192.168.0.38 【IP自行修改】(本机测试可以为:tftp localhost)
tftp> get test
是不是工作正常了呢?
现在把你编译好的内核文件拷贝到/tftpboot下面,就可以使用u-boot的tftp命令加栽内核到目标板内存了。
也可以使用netstat -au|grep tftp
命令来测试系统是否开启了tftp服务,示例:
fhc2007@fhc2007-desktop:~$ netstat -au|grep tftp
udp 0 0 *:tftp *:*