TFTP協(xié)議在嵌入式系統(tǒng)中的實(shí)現(xiàn)
本文基于ARM核處理器的多嵌入式應(yīng)用綜合開發(fā)平臺,對嵌入式設(shè)備聯(lián)網(wǎng)的TCP/IP協(xié)議進(jìn)行了討論研究。
1.引言
嵌入式系統(tǒng)是繼IT網(wǎng)絡(luò)技術(shù)之后,又一個新的技術(shù)發(fā)展方向。由于嵌入式系統(tǒng)具有體積小、性能強(qiáng)、功耗低、可靠性高以及面向行業(yè)應(yīng)用的突出特征,目前己經(jīng)廣泛地應(yīng)用于軍事國防、消費(fèi)電子、網(wǎng)絡(luò)通信、工業(yè)控制等各個領(lǐng)域。隨著計算機(jī)技術(shù)與通信技術(shù)的發(fā)展,嵌入式系統(tǒng)的研究與開發(fā)也有著越來越重要的實(shí)際意義。而ARM是業(yè)界領(lǐng)先的32位嵌入式RISC處理器技術(shù)提供商,占領(lǐng)了大約75%的市場。它可為一個完整系統(tǒng)的開發(fā)提供全面的技術(shù)支持,技術(shù)具有性能高、成本低和能耗省的特點(diǎn)。ARM的微處理器核心正迅速地成為便攜式通信設(shè)備、手持計算、多媒體數(shù)字消費(fèi)和嵌入式解決方案市場中MSC批量生產(chǎn)的標(biāo)準(zhǔn)。
在本項(xiàng)目中利用SAMSUNG公司的S3C44B0X與網(wǎng)絡(luò)控制芯片的結(jié)合實(shí)現(xiàn)了系統(tǒng)通過TFTP協(xié)議從PC機(jī)下載資源的功能。
2.TFTP協(xié)議介紹
a.TFTP與各種協(xié)議關(guān)系
TFTP(Trivial File Transfer Protocol,簡單文件傳輸協(xié)議)是TCP/IP協(xié)議族中的一個用來在客戶機(jī)與服務(wù)器之間進(jìn)行簡單文件傳輸?shù)膮f(xié)議,提供不復(fù)雜、開銷不大的文件傳輸服務(wù)。TFTP承載在UDP上,提供不可靠的數(shù)據(jù)流傳輸服務(wù),不提供存取授權(quán)與認(rèn)證機(jī)制,使用超時重傳方式來保證數(shù)據(jù)的到達(dá)。與FTP相比,TFTP協(xié)議要簡單得多。現(xiàn)在最普遍使用的是第二版TFTP(TFTP Version 2,RFC1350)使用UDP 的67端口。
圖1 TFTP協(xié)議包頭次序
因?yàn)門FTP使用UDP,而UDP又使用IP,IP可以還使用其它本地通信方法(一般為以太網(wǎng))。因此一個TFTP包中會有以下幾段:本地媒介頭,IP頭,數(shù)據(jù)報頭,TFTP頭,剩下的就是TFTP數(shù)據(jù)了,具體見圖(1)。TFTP在IP頭中不指定任何數(shù)據(jù),但是它使用UDP中的源和目標(biāo)端口以及包長度域。由TFTP使用的包標(biāo)記(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é)議數(shù)據(jù)包格式
評論