tftp是簡單文件傳輸協(xié)議,是“Trivial File Transfer Protocol”的縮寫,是“TCP/IP”協(xié)議族中的一個(gè)用來在客戶機(jī)與服務(wù)器之間進(jìn)行簡單文件傳輸?shù)膮f(xié)議,提供不復(fù)雜、開銷不大的文件傳輸服務(wù);tftp不具備通常的FTP的許多功能,只能從文件服務(wù)器上獲得或?qū)懭胛募?,不能列出目錄,不進(jìn)行認(rèn)證,傳輸8位數(shù)據(jù)。
本教程操作環(huán)境:windows10系統(tǒng)、Dell G3電腦。
tftp是什么協(xié)議
TFTP(Trivial File Transfer Protocol,簡單文件傳輸協(xié)議)
TFTP是TCP/IP協(xié)議族中的一個(gè)用來在客戶機(jī)與服務(wù)器之間進(jìn)行簡單文件傳輸?shù)膮f(xié)議,提供不復(fù)雜、開銷不大的文件傳輸服務(wù)。端口號為69。
TFTP是一個(gè)傳輸文件的簡單協(xié)議,它基于UDP協(xié)議而實(shí)現(xiàn),但是我們也不能確定有些TFTP協(xié)議是基于其它傳輸協(xié)議完成的。此協(xié)議設(shè)計(jì)的時(shí)候是進(jìn)行小文件傳輸?shù)?。因此它不具備通常的FTP的許多功能,它只能從文件服務(wù)器上獲得或?qū)懭胛募?,不能列出目錄,不進(jìn)行認(rèn)證,它傳輸8位數(shù)據(jù)。傳輸中有三種模式:netascii,這是8位的ASCII碼形式,另一種是octet,這是8位源數(shù)據(jù)類型;最后一種mail已經(jīng)不再支持,它將返回的數(shù)據(jù)直接返回給用戶而不是保存為文件。
擴(kuò)展知識
特點(diǎn)
因?yàn)門FTP使用UDP,而UDP使用IP,IP可以還使用其它本地通信方法。因此一個(gè)TFTP包中會有以下幾段:本地媒介頭,IP頭,數(shù)據(jù)報(bào)頭,TFTP頭,剩下的就是TFTP數(shù)據(jù)了。TFTP在IP頭中不指定任何數(shù)據(jù),但是它使用UDP中的源和目標(biāo)端口以及包長度域。由TFTP使用的包標(biāo)記(TID)在這里被用做端口,因此TID必須介于0到65,535之間。對它的初始化我們在后面討論。TFTP頭中包括兩個(gè)字節(jié)的操作碼,這個(gè)碼指出了包的類型,下面我們看看大體上的TFTP包格式,相關(guān)的內(nèi)容我們在后面的章節(jié)中進(jìn)行討論。
--------------------------------------------------- | Local Medium | Internet | Datagram | TFTP | ---------------------------------------------------
TFTP不具備通常的FTP的許多功能,它只能從文件服務(wù)器上獲得或?qū)懭胛募?,沒有列出目錄的功能,也不能對用戶進(jìn)行身份鑒別,它傳輸8位數(shù)據(jù)。
但是TFTP也有著它自身的兩個(gè)優(yōu)點(diǎn)。
TFTP可用于UDP環(huán)境;比如當(dāng)需要將程序或者文件同時(shí)向許多機(jī)器下載時(shí)就往往需要使用到TFTP協(xié)議。
TFTP代碼所占的內(nèi)存較小,這對于較小的計(jì)算機(jī)或者某些特殊用途的設(shè)備來說是很重要的,這些設(shè)備不需要硬盤,只需要固化了TFTP、UDP和IP的小容量只讀存儲器即可。當(dāng)電源接通后,設(shè)備執(zhí)行只讀存儲器中的代碼,在網(wǎng)絡(luò)上廣播一個(gè)TFTP請求。網(wǎng)絡(luò)上的TFTP服務(wù)器就發(fā)送響應(yīng),其中包括可執(zhí)行二進(jìn)制程序。設(shè)備收到此文件后將其放入內(nèi)存,然后開始運(yùn)行程序。這種方式增加了靈活性,也減少了開銷。
正常終止
傳輸?shù)慕Y(jié)束由DATA數(shù)據(jù)標(biāo)記,其包括0-511個(gè)字符。這個(gè)包可以被其它數(shù)據(jù)包確認(rèn)。接收方在發(fā)出對最后數(shù)據(jù)包的確認(rèn)后可以斷開連接,當(dāng)然,適當(dāng)?shù)牡却潜容^好的,如果最后的確定包丟失可以再次傳輸。如果發(fā)出確認(rèn)后仍然收到最后數(shù)據(jù)包,可以確定最后的確認(rèn)丟失。發(fā)送最后一個(gè)DATA包的主機(jī)必須等待對此包的確認(rèn)或超時(shí)。如果響應(yīng)是ACK,傳輸完成。如果發(fā)送方超時(shí)并不準(zhǔn)備重新發(fā)送并且接收方有問題或網(wǎng)絡(luò)有問題時(shí),發(fā)送也正常結(jié)束。當(dāng)然實(shí)現(xiàn)時(shí)也可以是非正常結(jié)束,但無論如何連接都將被關(guān)閉。