普通文件傳輸協議 (TFTP)是一種用于在遠程計算機之間傳輸文件的網絡協議。總而言之,此文件傳輸協議用于通過網絡傳輸大文件。理想情況下,它是不提供用戶身份驗證的更簡單版本的FTP。因此,它用于在本地設置中的機器之間傳輸配置或引導文件。基本上,它存在各種安全問題,并且缺乏在 Internet 上使用的關鍵安全功能。
您可以將 TFTP 用于沒有存儲設備或磁盤驅動器的計算機和設備,因為使用少量內存很容易實現。此功能使其對預引導執行環境 (PXE)很有用。
TFTP 的工作原理
事實上,在TFTP 中,數據傳輸是通過端口69 發起的。它使用用戶數據報協議(UDP)的概念將數據從服務器傳輸到客戶端。此外,TFTP 在文件通信之前不進行任何認證。此外,它在執行通信時不應用安全機制。因為它不遵循任何身份驗證機制來保護數據,所以您不能使用它通過 Internet 發送文件。
如上所述,TFTP 使用端口 69 建立連接。建立該連接后,客戶端會收到讀取請求 (RRQ) 或寫入請求 (WRQ)。基本上,客戶端在要讀取文件時會請求讀取請求。或者,當它想要寫入服務器上存在的特定文件時,它會生成一個寫入請求。
數據傳輸通信以小數據包的形式發生,每個數據包為 512 字節。基本上,傳輸中的文件被分解成小數據包,每個數據包由 512 字節組成。傳輸結束后,服務器等待客戶端指示文件已收到。服務器然后發送下一個數據包,該過程繼續直到所有數據包都被傳輸。因此,這種形式的文件傳輸被稱為服務器端到客戶端的傳輸。如果數據包沒有及時到達客戶端,服務器會重新發送相同的數據包,直到客戶端確認它已經收到為止。
TFTP的特點
以下是 TFTP 協議的一些特性:
基于客戶端-服務器原則
TFTP 基于客戶端服務器原理,客戶端發起請求并將其發送到端口 69 上的服務器。同時,服務器通過向客戶端發回數據包進行響應。因此,它依賴于客戶端服務器通信來共享網絡之間的數據。
不安全協議
TCIP 不提供身份驗證,因為它沒有內置加密。因此,它并不能阻止黑客對服務器進行欺騙。
默認端口 69
在 TFTP 中,端口 69 是客戶端服務器通信發生的默認位置。但是,您可以根據需要修改連接端口。
局域網適用性
因此,TFTP 是局域網中文件傳輸的理想選擇。此外,它的內存消耗低,適合本地傳輸。此外,它是不安全的,這使得它無法通過互聯網使用。
TFTP 的優點
- 不需要先前的編碼經驗。
- 可以使用該協議傳輸網絡設備配置文件。
- 可與Linux或Windows一起使用。
- 內存使用率低。
- 使用易于實現的 UDP 協議。
- 在本地連接中提供無縫數據傳輸。
TFTP 的缺點
- 缺乏身份驗證和加密使其不安全且容易受到攻擊。
- 與 FTP 服務器相比,安全級別不高。
- 沒有身份驗證或加密。
- 不能用于通過互聯網傳輸文件
接下來是 TFTP 與 FTP – 有什么區別?我們介紹 FTP 服務器。
什么是FTP?
文件傳輸協議 (FTP)是一種網絡通信協議,用于通過TCP/IP 網絡在計算機之間傳輸文件。TCP/IP 網絡包括 HTTP、HTTPS 和FTP。具有訪問權限的用戶可以通過互聯網連接傳輸或接收文件。該協議提供了一種在主機服務器之間通過 Internet 傳輸文件的方法。
FTP 是如何工作的?
要了解FTP 的工作原理,必須了解客戶端服務器模型。使用FTP 客戶端通過 FTP將文件從計算機發送到服務器。客戶端基本上是您計算機上的一個應用程序,它通過 FTP或任何其他協議連接到另一個服務。因此,FTP 客戶端提供了一個環境,您可以在其中將文件從服務器上傳或下載到您的設備并管理存儲的文件。
同樣,FTP客戶端還使用 FTP 以外的其他替代協議傳輸文件。最常用的協議是安全文件傳輸協議(FTPS)和使用安全外殼進行加密的SSH 文件傳輸協議(SFTP) 。基本上,有很多可用的 FTP 客戶端,有些是付費的,有些是免費的。
下面,FTP使用TCP服務,需要兩個TCP連接,一個是數據連接,一個是控制連接。服務器端的控制連接使用端口 21。要建立連接,服務器會在端口上發出被動打開并等待客戶端使用臨時端口發出主動打開。此連接在整個過程中保持活動狀態。數據連接使用端口 20。
FTP 數據連接
建立數據連接有兩種方式:
- 客戶端使用 PORT 命令將端口號發送到服務器。
- 客戶端使用臨時端口發出被動打開。
- 服務器在收到來自客戶端的端口號后發出主動打開。
被動和主動模式都是傳輸過程中的關鍵。
被動模式
?在被動模式下,服務器發出命令向客戶端發送它需要的信息。基本上,客戶端啟動所有連接。
活動模式
在主動模式下,客戶端通過命令通道請求發起會話。另一方面,服務器創建返回客戶端的連接并啟動數據傳輸過程。
FTP的特點
以下是 FTP 的一些主要功能:
多種傳輸模式
FTP文件傳輸有3種傳輸模式:Stream Mode、Compressed Mode和Block Mode。流模式是默認模式,文件以連續字節流的形式傳輸到 TCP。在塊模式下,數據以塊的形式從 FTP 傳送到 TCP,每個塊前面都有一個 3 字節的標頭。在壓縮模式下,如果文件很大,通常會壓縮數據。這涉及刪除文本文件中的空格和壓縮二進制文件中的空字符。
數據結構
FTP 支持結構化和非結構化文件。結構化文件包含一個記錄列表,其中每條記錄都由 EDR(記錄結尾)分隔。相應類型的數據結構稱為記錄結構(文件分為記錄)。另一方面,非結構化文件包含由生命周期結束 (EOF) 分隔的字節串。相應的數據結構稱為文件結構。
數據表示
FTP 處理三種數據協議。它們是 EBCDIC、ASCII 和 8 二進制。ASCII 文件是FTP文件傳輸的默認格式。每個字符都以 7 位 ASCII 編碼。理想情況下,發送方將文件轉換為 ASCII 字符,而接收方將 ASCII 字符轉換為它自己的表示形式。
FTP的優點
- 超越 HTTP 的令人難以置信的數據傳輸速度。
- 要求用戶使用用戶名和密碼登錄以提高安全性。
- 大多數 FTP 客戶端,例如FileZilla,都可以安排傳輸。
- 一旦連接丟失,它會自動恢復傳輸。
FTP 的缺點
- 它容易受到常見的網絡攻擊,例如欺騙和暴力攻擊。
- 不提供數據加密。
TFTP 和 FTP 之間的差異
TFTP 和FTP 都是廣泛使用的通信協議。在兩者之間做出選擇之前,最好了解主要區別。以下是 TFTP 與 FTP 的一些不同之處:
源連接端口
TFTP建立單一連接來傳輸文件。它使用 UDP 端口 69 連接客戶端和服務器。另一方面,FTP使用兩個連接端口。端口 21 建立數據連接,而端口 20 建立控制連接。
驗證
TFTP不需要任何形式的身份驗證。它沒有登錄會話,因此存在安全風險。FTP支持登錄作為其主要身份驗證方法。在文件傳輸之前,您必須使用用戶名和密碼登錄。
用例
TFTP用于通過本地網絡共享文件。它用于路由器啟動或本地計算機網絡,是共享少量數據的理想選擇。FTP通過 TCP/IP 連接交換文件。本質上,遠程用戶可以利用 DP 協議上傳或下載文件。
傳輸層協議
TFTP使用UDP 作為傳輸層協議。UDP 是一個開放端口,具有較少的開銷和零控制。另一方面,FTP使用TCP作為其傳輸層協議。TCP 促進文件傳輸并提供面向安全連接的服務。
內存使用情況
您可以使用少量內存實現TFTP 。其簡單的設計和最少的功能因此內存需求低。另一方面,FTP需要大量內存來傳輸數據文件。
命令
TFTP使用五個消息來執行任務。它們是寫入請求 (WRQ)、讀取請求 (RRQ)、數據 (DATA)、錯誤 (ERROR) 和確認 (ACK)。另一方面,FTP有大量的指令需要您掌握。這些命令包括 LCD、dir、put、get、rmdir、mkdir 和 cd 等,它們可以運行和列出目錄。
結論
在本文中,我們討論了 TFTP 和FTP,包括它們的主要功能、優缺點和主要區別。因此,您應該能夠選擇最適合的文件傳輸協議。如果您在本地計算機網絡上共享數據,則 TFTP 是合適的。另一方面,FTP 是 TCP/IP 傳輸的理想選擇。但是,您應該考慮每種方法的安全隱患,以確保您的數據安全。