tftp公升級實現說明(一)

2021-09-25 02:04:22 字數 2349 閱讀 5405

一、前言說明

tftp(trivial file transfer protocol,檔案傳輸協議),是tcp/ip簇中用於客戶端和服務端之間進行簡單檔案互動傳輸的協議。 

下面就tftp的幾個知識點進行列舉說明:

1、 tftp協議的埠號定為69;

2、只支援從伺服器上獲得或寫入檔案,不能列出目錄,也不能進行認證;

3、傳輸時以8位資料為最小單位,每個包定長512個位元組,如果不足512位元組則表示資料已經傳至最後乙個包;

4、tftp的3種傳輸模式:netascii(8位的ascii碼形式),octet(8位源資料型別),mail(已不支援)。 

!!!本文以octet模式為例進行說明。

5、tftp**中使用udp。

接下來依次介紹tftp的通訊流程以及**實現進行tftp的認識和了解。

二、tftp的通訊流程

那麼tftp又與udp有什麼改進?服務端和客戶端之間又是怎麼乙個通訊流程呢?

2.1、tftp對udp協議的改進

2.1.1、說明

簡單來說,tftp就是在udp的基礎上增加了乙個通訊協議,該通訊協議嚴格遵守一方發另一方必須答的原則。也就是說wrq和data包由ack或error資料報確認,而rrq資料報由data或error資料報確認。 

同時需要注意的是,tftp傳送端使用的埠號固定為69。 

那麼什麼是wrq包,rrq資料報,data包,ack包和error包呢?

2.1.2、wrq包

wrq包指的是write request,即寫入請求包。是傳送方發起與接收方通訊的初始包,作用是傳送方向接收方傳送寫入資料的請求。其資料報的格式為: 

其中:1、opcode:表示該包型別的**值,這裡為wrq,其**值為2;

2、filename:表示需要寫入的檔名;

3、mode:mode:根據上面的傳輸模式,可以填的內容有:」netascii」,」octet」和」mail」,這裡名稱不分大小寫。

2.1.2、rrq包

rrq包指的是read request,即讀取請求包。與wrq一樣也是傳送方與接收方開始通訊的初始包,作用是向接收發傳送讀取乙個檔案的請求。其資料格式與wqr一致。唯一的區別就是opcode的**值為1。

2.1.3、data包

顧名思義data包表示的即為資料報,包中含有傳送與接收兩方的通訊時傳輸的資料內容。data包的格式為: 

其中: 

- 1、opcode:代表資料的**值,其值為3; 

- 2、block:代表資料塊序號。這裡值得一提的是,tftp中在傳輸資料時通過這裡的資料塊序號來判斷資料是否有丟失,如果接收方得到的data包中的序號不是之前乙個data包中序號值加1,那麼就判斷為接收到的資料報有誤,返回error包讓傳送方重新傳送。資料塊序號從最開始的1開始累加; 

- 3、data:表示資料段,包含傳輸的資料內容。在tftp中需要特別注意的是,tftp根據data中的資料長度是否小於512位元組來判斷這一次接收到的資料報是否是最後乙個,如果data段中的資料小於512位元組則判斷為傳輸的最後乙個包。

2.1.4、ack包

ack是體現tftp協議的重要部分。因為tftp協議必須要一發一答,所以ack包用於應答正確的wrq包和data包。其格式為: 

opcode:表示ack的**值,值為4; 

block:表示資料塊序號,應答wrq時使用的資料塊序號為0,應答data時資料塊由1開始依次往上累加以確認資料報是否有漏傳。

2.1.5、error包

錯誤包在tftp中用於應答以上任何出錯的型別包。該包中包含出錯資訊,以供除錯人員除錯。格式如下: 

其中:1、opcode:error的**值,其值為5;

2、errorcode:錯誤**值; 

1—->檔案未找到; 

2—->訪問非法; 

3—->磁碟滿或超過分配的配額; 

4—->非法的tftp操作; 

5—->未知的傳輸id; 

6—->檔案已經存在; 

7—->沒有類似的使用者;

3、errmsg:錯誤資訊。

至此,tftp中在udp上改進的所有包都已經介紹完,接下來介紹這些包的使用,怎麼將這些包的一發一答組成tftp協議。

2.2、tftp中服務端和客戶端間的通訊流程

這一模組主要進行說明讀取檔案請求和寫入檔案請求兩種情況下傳送方和接收方對上面5種型別包的使用,從而實現tftp協議的傳輸。

2.2.1、讀取檔案請求流程

2.2.2、傳送資料流程

網工小白公升級打怪篇 四 tftp實現配置備份及恢復

tftp trivial file transfer protocol,簡單檔案傳輸協議 是tcp ip協議族中的乙個,是用來在客戶機與伺服器之間進行簡單檔案傳輸的協議,提供不複雜 開銷不大的檔案傳輸服務。為了防止路由器等裝置的系統映像或配置檔案損壞或被意外刪除,網路tftp伺服器保留ios軟體映像...

銳捷交換機通過TFTP公升級

第四步 登入交換機鍵入一下命令,裝置將自動公升級 ruijie upgrade flash n18000 rgos11.0 1 b2 cm 08050053 install.bin 後面是裝置的執行主程式檔案 upgrade the device must be auto reset after f...

Linux公升級時不公升級核心的配置說明

redhat centos使用 yum update 更新時,缺省會公升級核心。但有些伺服器硬體在公升級核心後,新的核心可能會認不出某些硬體,要重新安裝驅動,很麻煩。所以在生產環境中不要輕易的公升級核心,除非您確定公升級核心後不會出現麻煩的問題。如果使用yum update更新時不公升級核心,有兩種...