tft每日頭條

 > 科技

 > 文件傳輸使用的協議ftp

文件傳輸使用的協議ftp

科技 更新时间:2024-08-11 02:39:15

FTP文件傳輸協議是應用層實現的一種通過網絡傳輸文件的協議,這種協議采用C/S架構(即客戶端/服務器模式)。

文件傳輸使用的協議ftp(FTP文件傳輸協議詳解)1

C/S架構

FTP采用雙連接的方式來進行文件的傳輸(TCP或UDP連接均可):

  • 控制連接;
  • 數據連接;

控制連接用于服務器和客戶端之間命令的交互以及響應,而數據連接則用于文件數據的傳輸。

一個FTP控制連接的建立過程通常如下:

  1. 服務端打開用于FTP控制連接的TCP端口21(标準),等待FTP客戶端的連接。當客戶端需要登陸FTP服務器時,主動打開本地TCP端口21,與服務端建立連接(控制連接)。該連接始終等待客戶和服務器之間的通信,将命令從客戶端傳遞到服務器,并傳回服務器的應答。
  2. 每當需要文件傳輸時,就創建一個數據連接。大緻過程如下圖:

文件傳輸使用的協議ftp(FTP文件傳輸協議詳解)2

文件傳輸中的處理過程

模式選擇

  • ASCII碼文件類型(默認選擇)

文本格式以ASCII碼形式在數據連接中傳輸。這就要求發送方将本地文件轉換為ASCII碼形式,而接收方 再将ASCII碼還原成本地文件。采用ASCII碼形式傳輸,每一行都帶有一個回車字符,而後是一個換行符。這就意味着接收方需要掃描每一個字節,查找CR,LF對。

  • 二進制文件類型

數據發送呈現為一個連續的比特流。通常用于傳輸二進制文件。

格式控制--

  • 非打印(默認選擇)

文件不含有垂直格式信息。

結構--

  • 文件結構(默認選擇)

文件被認為是一個連續的字節流,不存在内部的文件結構。

傳輸方式--

  • 流方式(默認選擇)

文件以字節流的形式傳輸。對于文件結構,發方尾提示關閉數據連接。對于記錄結構,有專用的兩字節序列碼标志記錄結束和文件結束。

FTP命令

命令和應答在客戶和服務器的控制連接上以ASCII碼形式傳送。以下為常用的FTP命令:

文件傳輸使用的協議ftp(FTP文件傳輸協議詳解)3

FTP命令

FTP應答

應答都是ASCII碼形式的3位數字,并跟有報文選項。其原因是軟件系統需要根據數字代碼來決定如何應答,而選項串是面向人工處理的。由于客戶通常需要輸出數字應答和報文串,一個可以交互的用戶可以通過閱讀報文串來确定應答的含義。

下圖是應答代碼第1位和第2位的含義。

文件傳輸使用的協議ftp(FTP文件傳輸協議詳解)4

FTP應答報文解析

第3位數字給出差錯報文的附加含義。以下是一些典型的應答:

  • 125 數據連接已經打開;傳輸開始。
  • 200 就緒命令。
  • 214 幫助報文(面向用戶)。
  • 331 用戶名就緒,要求輸入口令。
  • 425 不能打開數據連接。
  • 452 錯寫文件。
  • 500 語法錯誤(未認可的命令)。
  • 501 語法錯誤(無效參數)。
  • 502 未實現的MODE(方式命令)類型。

如果需要産生一條多行應答,第1行在3為數字應答代碼之後包含一個連字号,而不是空格。如:

文件傳輸使用的協議ftp(FTP文件傳輸協議詳解)5

報文示例

連接管理

數據連接有以下三大用途:

  • 從客戶向服務器發送一個文件;
  • 從服務器向客戶發送一個文件;
  • 從服務器向客戶發送文件或目錄列表;

FTP把文件列表從數據連接上發回,而不是從控制連接上多行發回,這就避免了行的有限性對目錄大小的限制,而且更易于客戶将目錄列表以文件形式保存,而不是把列表顯示在終端上。

在上面的介紹中,我們簡單叙述了一個FTP控制連接的建立過程,下面介紹FTP數據連接的建立過程。

由于通用的傳輸方式是采用流方式進行傳輸,這種傳輸方式的特點是結尾以關閉數據連接為标志。這就意味着每一個文件和文件列表的傳輸都要建立一個全新的數據連接。其過程一般如下:

  1. 由于是客戶發出命令要求建立數據連接的,所以數據連接是在客戶的控制下建立的。
  2. 客戶通常需要在本地主機上打開一個臨時端口号,從該端口号發布一個被動的打開。
  3. 客戶使用PORT命令從控制連接上把端口号發向服務器。
  4. 服務器在控制連接上接收到端口号後,并向客戶端主機上的端口發布一個主動的打開,這樣服務器和客戶端就建立了一條數據連接通信。對于服務器,數據連接端口号一直使用端口20。

下圖是這個過程的簡單示例:

文件傳輸使用的協議ftp(FTP文件傳輸協議詳解)6

控制連接過程

服務器總是執行數據連接的主動打開。通常也執行數據連接的主動關閉,除非當客戶端向服務器發送流形式的文件時,需要客戶來關閉連接(它給服務器一個文件結束的通知)。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved