TFTP協(xié)議在嵌入式系統(tǒng)中的實現
本文基于ARM核處理器的多嵌入式應用綜合開發(fā)平臺,對嵌入式設備聯(lián)網的TCP/IP協(xié)議進行了討論研究。
1.引言
嵌入式系統(tǒng)是繼IT網絡技術之后,又一個新的技術發(fā)展方向。由于嵌入式系統(tǒng)具有體積小、性能強、功耗低、可靠性高以及面向行業(yè)應用的突出特征,目前己經廣泛地應用于軍事國防、消費電子、網絡通信、工業(yè)控制等各個領域。隨著計算機技術與通信技術的發(fā)展,嵌入式系統(tǒng)的研究與開發(fā)也有著越來越重要的實際意義。而ARM是業(yè)界領先的32位嵌入式RISC處理器技術提供商,占領了大約75%的市場。它可為一個完整系統(tǒng)的開發(fā)提供全面的技術支持,技術具有性能高、成本低和能耗省的特點。ARM的微處理器核心正迅速地成為便攜式通信設備、手持計算、多媒體數字消費和嵌入式解決方案市場中MSC批量生產的標準。
在本項目中利用SAMSUNG公司的S3C44B0X與網絡控制芯片的結合實現了系統(tǒng)通過TFTP協(xié)議從PC機下載資源的功能。
2.TFTP協(xié)議介紹
a.TFTP與各種協(xié)議關系
TFTP(Trivial File Transfer Protocol,簡單文件傳輸協(xié)議)是TCP/IP協(xié)議族中的一個用來在客戶機與服務器之間進行簡單文件傳輸的協(xié)議,提供不復雜、開銷不大的文件傳輸服務。TFTP承載在UDP上,提供不可靠的數據流傳輸服務,不提供存取授權與認證機制,使用超時重傳方式來保證數據的到達。與FTP相比,TFTP協(xié)議要簡單得多?,F在最普遍使用的是第二版TFTP(TFTP Version 2,RFC1350)使用UDP 的67端口。
圖1 TFTP協(xié)議包頭次序
因為TFTP使用UDP,而UDP又使用IP,IP可以還使用其它本地通信方法(一般為以太網)。因此一個TFTP包中會有以下幾段:本地媒介頭,IP頭,數據報頭,TFTP頭,剩下的就是TFTP數據了,具體見圖(1)。TFTP在IP頭中不指定任何數據,但是它使用UDP中的源和目標端口以及包長度域。由TFTP使用的包標記(TID)在這里被用做端口,因此TID必須介于0到65,535之間。TFTP頭中包括兩字節(jié)的操作碼,這個碼指出了包的類型下面我們看看大體上的TFTP包格式。
b. TFTP包介紹
TFTP支持五種類型的包,分別如下:
1 .Read request (RRQ)
2 .Write request (WRQ)
3 .Data (DATA)
4 .Acknowledgment (ACK)
5 .Error (ERROR)
圖(2)顯示了TFTP各種包在IP包中的位置:
圖2 TFTP協(xié)議數據包格式
評論