tftp(trivial file transfer protocol,簡單檔案傳輸協議)是tcp/ip協議族中的乙個用來在客戶端與伺服器之間進行簡單檔案傳輸的協議。和使用tcp的檔案傳輸協議(ftp)不同,為了保持簡單短小,tftp使用了udp。tftp的實現(和它所需要的udp、ip、和裝置驅動程式)可以放入唯讀儲存器中
tftp是乙個簡單的協議,適合於唯讀儲存器,僅用於無盤系統進行系統引導,它只使用幾種報文格式,是一種停止等待協議
特點:1、簡單
2、占用資源小
3、適合傳遞小檔案
4、適合在區域網進行傳遞
5、埠號為69
6、基於udp實現
缺陷:tftp分組中並不提供使用者名稱和口令。這是tftp的乙個特性(即"安全漏洞")。由於tftp是設計用於系統引導程序,它不可能提供使用者名稱和口令。
目前大多數tftp伺服器提供了乙個選項來限制只能訪問特定目錄下的檔案,這個目錄中只包含無盤系統進行系統引導時所需的檔案
當伺服器找到需要現在的檔案後,會立刻開啟檔案,把檔案中的資料通過tftp協議傳送給客戶端
如果檔案的總大小較大(比如3m),那麼伺服器分多次傳送,每次會從檔案中讀取512個位元組的資料傳送過來
因為傳送的次數有可能會很多,所以為了讓客戶端對接收到的資料進行排序,所以在伺服器傳送那512個位元組資料的時候,會多發2個位元組的資料,用來存放序號,並且放在512個位元組資料的前面,序號是從1開始的
為了允許多個客戶端同時進行系統引導,tftp伺服器必須提供一定形式的併發。因為udp在乙個客戶與乙個伺服器之間並不提供唯一連線,tftp服務通過對每個客戶提供乙個新的udp埠來提供併發。這樣允許不同的客戶輸入資料報,然後由伺服器中的udp模組根據目的埠號進行區分,而不是由伺服器本身來進行區分。
因為udp的資料報不安全,即傳送方傳送是否成功不能確定,所以tftp協議中規定,為了讓伺服器知道客戶端已經接收到了剛剛傳送的那個資料報,所以當客戶端接收到乙個資料報的時候需要向伺服器進行傳送確認資訊,即傳送收到了,這樣的包成為ack(應答包)
為了標記資料已經傳送完畢,所以規定,當客戶端接收到的資料小於516(2位元組操作碼+2個位元組的序號+512位元組資料)時,就意味著伺服器傳送完畢了
tftp資料報格式如下:
---------------------**案例實現---------------------
0102
0304
0506
0708
0910
1112
1314
1516
1718
1920
2122
2324
2526
2728
2930
3132
3334
3536
3738
3940
4142
4344
4546
4748
4950
5152
5354
5556
5758
5960
6162
6364
6566
6768
69---------------------附件struct表--------------------
網路 FTP協議與TFTP協議
目錄 tftp ftp 簡介 工作原理 登入 傳輸資料傳輸模式 參考 tftp比較簡單,簡單介紹一下。tftp trivial file transfer protocol,簡單檔案傳送協議 它是乙個很小且易於實現的檔案傳送協議。tftp使用客戶 伺服器方式,但它使用udp資料報,因此tftp需要有...
TFTP協議介紹
tftp協議介紹 tftp trivial file transfer protocol 即簡單檔案傳輸協議,它是tcp ip協議族中的乙個用來在客戶機與伺服器之間進行簡單檔案傳輸的協議,提供不複雜 開銷不大的檔案傳輸服務。tftp協議是一種非常簡單的檔案傳輸協議,只具有ftp的基本功能。它執行在 ...
TFTP幀協議詳解
tftp,全稱是 trivial file transfer protocol 簡單檔案傳輸協議 基於 udp 的69埠實現,是最簡單的檔案傳輸網路協議,該協議只能從遠端伺服器讀取檔案或向遠端伺服器上傳檔案。雖然 tftp 不具備 ftp 的許多功能,但是實現簡單,記憶體占用很小,在uboot等小型...