TFTP(Trivial File Transfer Protocol,簡單檔案傳輸協定)是TCP/IP協定族中的一個用來在客戶機與伺服器之間進行簡單檔案傳輸的協議,提供不複雜、開銷不大的文件傳輸服務。連接埠號碼為69。 (建議學習:phpstorm)
TFTP是基於一個時它之間傳輸檔案的簡單協議,它基於UDP協定而實現,但是我們也不能確定它是基於其傳輸檔案的簡單協議,它基於UDP協議而實現,但是我們也不能確定它是基於其傳輸文件完成的。
此協定設計的時候是進行小檔案傳輸的。因此它不具備通常的FTP的許多功能,它只能從文件伺服器上獲得或寫入文件,不能列出目錄,不進行認證,它傳輸8位元資料。
傳輸中有三種模式:netascii,這是8位元的ASCII碼形式,另一種是octet,這是8位元來源資料類型;最後一種郵件已經不再支持,它將傳回的資料直接返回給使用者而不是儲存為檔案。
TFTP是用來下載遠端檔案最簡單的網路協議,它其於UDP協定而實作。嵌入式linux的tftp開發環境包含兩個面向:一是linux伺服器端的tftp-server支持,二是嵌入式目標系統的tftp-client支援。
因為u-boot本身內建支援tftp-client,所以嵌入式目標系統端就不用設定了。以下就詳細介紹一下linux伺服器端tftp-server的設定。
1、安裝tftp伺服器
需要安裝xinetd、tftp和tftp-server 3個軟體
如果能上網,透過yum安裝:
yum xinetd yum install tftp yum install tftp-server
如果無法上網,可以直接安裝提供的rpm套件:
rpm -ivh xinetd-2.3.14-18.fc9.i386.rpm rpm -ivh tftp-0.48-3.fc9.i386.rpm rpm -ivh tftp-server-0.48-3.fc9.i386.rpm
##2、設定tftp伺服器
#修改/etc/xinetd.d/tftp文件,將其中的disable=yes改為disable=no。主要是設定TFTP伺服器的根目錄,開啟服務。修改後的檔案如下:
tftp { socket_type =dgram protocol =udp =yes user =root server =/usr/sbin/in.tftpd server_args =-s /home/mike/tftpboot -c disable =no per_source =11 cps =100 2 flags =IPv4 }說明:修改項目server_args= -s 98953a78f52873edae60a617ec082494 -c,其中98953a78f52873edae60a617ec082494處可以改為你的tftp-server的根目錄,參數-s指定chroot,-c指定了可以建立檔案。 3、啟動tftp伺服器並關閉防火牆
/etc/ .d/ stop //关闭防火墙 /sbin/service xinetd start或
service xinetd restart /etc/init.d/xinetd start看到啟動[OK]就可以了## 4.查看tftp服務是否開啟
-a |
tftp
顯示結果為udp 0 0 *:tftp *:*表示服務已開啟,就表示tftp設定成功了。
複製一個檔案到tftp伺服器目錄,然後在主機啟動tftp軟體,進行簡單測試。
tftp 192.168.1.2 tftp>get <download > tftp>put <upload file> tftp>q
以上是tftp執行流程的詳細內容。更多資訊請關注PHP中文網其他相關文章!