簡單檔案傳輸協議 TFTP

2022-06-17 11:42:12 字數 3529 閱讀 6626

tftp協議全稱為簡單檔案傳輸協議,是以udp為基礎的應用層協議,主要用於不同裝置之間的檔案傳輸。具有協議簡單,易於實現的特點,常用於嵌入式裝置開發中。

資料的儲存有不同的格式,磁碟中相同的一塊資料,通過不同的儲存協議解析,得到的內容是完全不同的,如:磁碟中的乙個位元組0x65,按照ascii解析就是字母a,按照資料本身解析就是0x65這個數,兩種解析的方式顯示的內容完全不同。因此檔案在傳輸的過程中也需要指明資料的表示方式,即傳輸模式。tftp協議的傳輸模式如下所示:

模式名稱

模式含義

說明netascii

文字傳輸模式,按照乙個位元組8位解析

文字模式

octet

二進位制模式,資料無需解析

二進位制模式

mail

已過時,不使用

已過時tftp共定義了五種型別的包格式,格式的區分由包資料前兩個位元組的opcode欄位區分,分別是:

讀寫檔案請求包格式

2位元組字串

1位元組字串

1位元組opcode

filename 

0         

mode  

0         

opcode       操作碼 1 / 2

filename     檔名

mode           傳輸模式

資料報格式

2位元組2位元組

n位元組opcode

block 

data

opcode        操作碼 3

block            包序號,從1開始,除了最後一包,每一包的長度都是512位元組,最後一包的長度小於512位元組

data              具體急需要傳輸的資料

ack包格式

用於回覆對端,確認資料的處理情況

2位元組2位元組

opcode

block

opcode         操作碼 4

block             收到的包序號

錯誤包格式

2位元組2位元組

字串1位元組

opcode

errorcode

errmsg 

0用於在失敗的情況下回覆對端

opcode         操作碼 5

errorcode     錯誤碼,每一種錯誤碼對應一種錯誤場景

errmsg         錯誤的描述資訊

錯誤碼

錯誤碼    表示意思

0         未定義not defined, see error message (if any).

1         檔案找不到file not found.

2         拒絕訪問access violation.

3         磁碟滿了或者超出了可分配空間disk full or allocation exceeded.

4         非法tftp操作illegal tftp operation.

5         傳輸id未知unknown transfer id.

6         檔案不存在file already exists.

7         沒有該使用者no such user.

傳輸效率低

對於超時機制沒有明確說明

每包長度固定為512位元組,不靈活

tftp協議全稱為簡單檔案傳輸協議,是以udp為基礎的應用層協議,主要用於不同裝置之間的檔案傳輸。具有協議簡單,易於實現的特點,常用於嵌入式裝置開發中。

資料的儲存有不同的格式,磁碟中相同的一塊資料,通過不同的儲存協議解析,得到的內容是完全不同的,如:磁碟中的乙個位元組0x65,按照ascii解析就是字母a,按照資料本身解析就是0x65這個數,兩種解析的方式顯示的內容完全不同。因此檔案在傳輸的過程中也需要指明資料的表示方式,即傳輸模式。tftp協議的傳輸模式如下所示:

模式名稱

模式含義

說明netascii

文字傳輸模式,按照乙個位元組8位解析

文字模式

octet

二進位制模式,資料無需解析

二進位制模式

mail

已過時,不使用

已過時tftp共定義了五種型別的包格式,格式的區分由包資料前兩個位元組的opcode欄位區分,分別是:

讀寫檔案請求包格式

2位元組字串

1位元組字串

1位元組opcode

filename 

0         

mode  

0         

opcode       操作碼 1 / 2

filename     檔名

mode           傳輸模式

資料報格式

2位元組2位元組

n位元組opcode

block 

data

opcode        操作碼 3

block            包序號,從1開始,除了最後一包,每一包的長度都是512位元組,最後一包的長度小於512位元組

data              具體急需要傳輸的資料

ack包格式

用於回覆對端,確認資料的處理情況

2位元組2位元組

opcode

block

opcode         操作碼 4

block             收到的包序號

錯誤包格式

2位元組2位元組

字串1位元組

opcode

errorcode

errmsg 

0用於在失敗的情況下回覆對端

opcode         操作碼 5

errorcode     錯誤碼,每一種錯誤碼對應一種錯誤場景

errmsg         錯誤的描述資訊

錯誤碼

錯誤碼    表示意思

0         未定義not defined, see error message (if any).

1         檔案找不到file not found.

2         拒絕訪問access violation.

3         磁碟滿了或者超出了可分配空間disk full or allocation exceeded.

4         非法tftp操作illegal tftp operation.

5         傳輸id未知unknown transfer id.

6         檔案不存在file already exists.

7         沒有該使用者no such user.

傳輸效率低

對於超時機制沒有明確說明

每包長度固定為512位元組,不靈活

TFTP 簡單檔案傳輸協議

1.tftp trivial file transfer protocol 簡單檔案傳輸協議 與ftp不同的是,它使用的是udp的69埠,因此它可以穿越許多防火牆。不過它也有缺點,比如傳送不可靠 沒有密碼驗證等。非常適合傳送小型檔案的 2.配置tftp ecgl linux 自帶 tftp serv...

tftp檔案傳輸協議

把資料傳送給別人,自己就是伺服器 別人要傳送資料,別人就是伺服器 伺服器 傳送資料需要滿足tftp協議 a 建立乙個空檔案 b 向檔案中寫入資料 c 關閉 操作碼 功能 2 寫請求,即上傳 3 表示資料報,即data 4 確認碼,即ack 5 錯誤 tftp共定義了五種型別的包格式,格式的區分由包資...

Ubunt 配置 tftp 檔案傳輸

tftp伺服器的安裝與配置 tftp 檔案傳輸 tftp主要用於嵌入式交叉開發環境的搭建,傳輸檔案。1 建立tftp的工作目錄,並修改許可權 sudo mkdir tftpboot sudo chmod 777 tftpboot 2 安裝 sudo apt get install tftp tftp...