将文件從一個系統發送到另一個系統是網絡功能的重要組成部分。用戶可以使用E-mail完成這一任務,但若要獲得較快的傳輸速度,則可以使用文件傳輸協議,它包括文件傳輸協議(FTP,File Transfer Protocol)和簡單文件傳輸協議(TFTP,Trivial File Transfer Protocol)。
大多數站點都使用Web在服務器間傳送文件,文件傳輸協議FTP和TFTP已不如過去那麼流行了。然而,并不是所有系統都運行了Web服務器。因此,在文件傳輸時,仍需要使用FTP和TFTP。
1.FTP基本原理
FTP是Internet和IP網絡上傳輸文件的通用方法。在萬維網(WWW)出現以前,用戶使用命令行方式傳輸文件,最通用的應用程序是FTP。雖然,目前大多數用戶選擇使用E-mail和Web傳輸文件,以代替命令行方式的接口,但是FTP仍然被使用。FTP是TCP / IP應用,它工作在OSI模型的第7層,TCP模型的第4層上。FTP使用TCP傳輸而不是UDP。FTP位于OSI和TCP模型的應用層。
· FTP的目标
FTP的目标有如下幾點:
(1)在主機之間共享計算機程序或數據;
(2)讓本地主機間接地使用遠程計算機;
(3)向用戶屏蔽不同主機中各種文件存儲系統的細節;
(4)可靠、有效的傳輸數據。
· FTP連接
圖 FTP客戶端與FTP服務器建立連接的過程
如上圖所示,當用戶建立FTP連接時,将與兩個端口建立端口20和21。這兩個端口有不同的功能:端口20是數據端口,21是控制端口。上圖說明FTP客戶端是如何與遠程服務器FTP守護進程建立連接的。
表 控制端口和數據端口
控制端口 |
FTP控制端口用于交換命令信息及對命令的響應信息。其工作過程類似于軍官和新兵。軍官發出命令,新兵迅速響應命令。控制端口是用戶發送命令的端口。 |
數據端口 |
數據端口是FTP數據文件發送到FTP服務器(ftpd)時所使用的端口。數據端口是用戶傳輸文件的端口,一般端口号為20。 |
· FTP的主要特征
(1)控制連接。
控制連接是建立在用戶協議解釋器和服務器解釋器之間用于交換命令與應答的通信鍊路。
(2)數據連接。
數據連接是傳輸數據的全雙工連接。
(3)文件類型。
表 文件類型
ASCII文件類型 |
是默認文件類型。文本文件以NVT ASCII碼形式在數據連接中傳輸。這要求發送方将本地文本文件轉換成NVT ASCII碼形式,接受方則将NVT ASCII碼還原,把數據從内部表示格式轉換成ASCII格式。 |
EBCDIC文件類型 |
EBCDIC(extended binary-coded decimal interchange code)字符編碼,該編碼采用8位二進制編碼,共有256個編碼狀态。要求兩端都是EBCDIC系統。目前美國IBM公司的系列機和日本富士通公司的M系列機均采用此編碼。 |
圖像文件類型 (二進制文件類型) |
在此類型下傳輸的數據呈現為連續的二進制比特流。通常用于傳輸二進制文件。 |
本地類型 |
用在本地字節大小不是8位的環境下。該方式用于具有不同字節位數的主機間傳輸二進制文件,每字節的位數由發送方指定。 |
· FTP的缺點
FTP具有高效的傳輸數據、允許遠程訪問文件等優點,同時也存在一些缺點。
(1)FTP用戶密碼和文件内容都使用明文傳輸,可能會産生一些安全性問題。
(2)由于需要開放一個随機端口來建立連接,當防火牆存在時,客戶端很難過濾處于主動模式下的FTP數據流。
(3)服務器可能會被告知連接一個用戶計算機的保留端口。
2.簡單文件傳輸協議TFTP
TCP/IP協議族中還有一個簡單文件傳送協議TFTP(Trivial File Transfer Protocol),它是一個很小且易于實現的文件傳送協議。
· FTP的用途
簡單文件傳輸協議的應用包括:
(1)利用TFTP為打印機、集線器和路由器下載初始化代碼;
(2)路由器的信息設置;
(3)引導協議(BOOTP)主機的信息設置。
· TFTP的主要特點
(1)每次傳送的數據PDU中均有512字節的數據,但最後一次可以不足512字節。
(2)數據PDU也稱為文件塊(block),每塊按順序編号,從1開始。
(3)支持ASCII碼或二進制傳送。
(4)可對文件進行讀或寫。
(5)使用很簡單的首部。
· TFTP與FTP的比較
TFTP用于從服務器請求文件然後傳輸文件。使用TFTP與使用電子郵件相似:首先由客戶發出一個請求文件的消息,然後服務器把文件返回到本地客戶系統中。
(1)TFTP協議的優勢:
①TFTP能夠用于那些有UDP而無TCP的環境;
②TFTP代碼所占的内存要比FTP小;
③TFTP适用于隻讀存儲器,僅用于無盤系統進行系統引導。
(2)TFTP協議與FTP協議的相同點和不同點 。
表 TFTP協議與FTP協議的異同點
TFTP協議 |
FTP協議 | ||
不同點 |
客戶端驗證 |
不需要驗證客戶端的權限 |
需要進行客戶端驗證 |
适用範圍 |
多用于局域網以及遠程UNIX計算機中 |
多用于互聯網中 | |
與服務器間的通信 |
UDP |
TCP | |
功能 |
隻支持文本傳輸,不支持交互,而且沒有一個龐大的命令集。TFTP協議不允許用戶列出目錄内容或者與服務器協商來決定哪些是可以得到的文件。 |
支持文本傳輸和交互,有龐大的命令集。 | |
相同點 |
TFTP協議的作用和我們經常使用的FTP大緻相同,都是用于文件傳輸,可以實現網絡中兩台計算機之間的文件上傳與下載。可以将TFTP協議看作FTP協議的簡化版本。 |
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!