tftp是簡單文件傳輸協議,是“Trivial File Transfer Protocol”的縮寫,是“TCP/IP”協議族中的一個用來在客戶機與服務器之間進行簡單文件傳輸的協議,提供不復雜、開銷不大的文件傳輸服務;tftp不具備通常的FTP的許多功能,只能從文件服務器上獲得或寫入文件,不能列出目錄,不進行認證,傳輸8位數據。
本教程操作環境:windows10系統、Dell G3電腦。
tftp是什么協議
TFTP(Trivial File Transfer Protocol,簡單文件傳輸協議)
TFTP是TCP/IP協議族中的一個用來在客戶機與服務器之間進行簡單文件傳輸的協議,提供不復雜、開銷不大的文件傳輸服務。端口號為69。
TFTP是一個傳輸文件的簡單協議,它基于UDP協議而實現,但是我們也不能確定有些TFTP協議是基于其它傳輸協議完成的。此協議設計的時候是進行小文件傳輸的。因此它不具備通常的FTP的許多功能,它只能從文件服務器上獲得或寫入文件,不能列出目錄,不進行認證,它傳輸8位數據。傳輸中有三種模式:netascii,這是8位的ASCII碼形式,另一種是octet,這是8位源數據類型;最后一種mail已經不再支持,它將返回的數據直接返回給用戶而不是保存為文件。
擴展知識
特點
因為TFTP使用UDP,而UDP使用IP,IP可以還使用其它本地通信方法。因此一個TFTP包中會有以下幾段:本地媒介頭,IP頭,數據報頭,TFTP頭,剩下的就是TFTP數據了。TFTP在IP頭中不指定任何數據,但是它使用UDP中的源和目標端口以及包長度域。由TFTP使用的包標記(TID)在這里被用做端口,因此TID必須介于0到65,535之間。對它的初始化我們在后面討論。TFTP頭中包括兩個字節的操作碼,這個碼指出了包的類型,下面我們看看大體上的TFTP包格式,相關的內容我們在后面的章節中進行討論。
--------------------------------------------------- | Local Medium | Internet | Datagram | TFTP | ---------------------------------------------------
TFTP不具備通常的FTP的許多功能,它只能從文件服務器上獲得或寫入文件,沒有列出目錄的功能,也不能對用戶進行身份鑒別,它傳輸8位數據。
但是TFTP也有著它自身的兩個優點。
TFTP可用于UDP環境;比如當需要將程序或者文件同時向許多機器下載時就往往需要使用到TFTP協議。
TFTP代碼所占的內存較小,這對于較小的計算機或者某些特殊用途的設備來說是很重要的,這些設備不需要硬盤,只需要固化了TFTP、UDP和IP的小容量只讀存儲器即可。當電源接通后,設備執行只讀存儲器中的代碼,在網絡上廣播一個TFTP請求。網絡上的TFTP服務器就發送響應,其中包括可執行二進制程序。設備收到此文件后將其放入內存,然后開始運行程序。這種方式增加了靈活性,也減少了開銷。
正常終止
傳輸的結束由DATA數據標記,其包括0-511個字符。這個包可以被其它數據包確認。接收方在發出對最后數據包的確認后可以斷開連接,當然,適當的等待是比較好的,如果最后的確定包丟失可以再次傳輸。如果發出確認后仍然收到最后數據包,可以確定最后的確認丟失。發送最后一個DATA包的主機必須等待對此包的確認或超時。如果響應是ACK,傳輸完成。如果發送方超時并不準備重新發送并且接收方有問題或網絡有問題時,發送也正常結束。當然實現時也可以是非正常結束,但無論如何連接都將被關閉。