2012年10月23日 星期二

第六週計算機網路

作業:
1.舉例:解釋說明執行FTP的過程/運作流程(commands, status code / phrase)

FTP 常用指令說明:

    ls     查看 Server 端的目錄或檔案

    pwd    查看 Server 端目前所在的目錄

    cd     變更 Server 端目前的目錄

    cdup   變更 Server 端目前的目錄到上一目錄

    lls    查看 Local 端的目錄或檔案

    lcd    變更 Local 端目前的目錄

    asc    設定傳輸模式為文字檔方式

    bin    設定傳輸模式為二進位檔方式
    get    將 Server 端的檔案拷貝至 Local 端現在目錄下

    mget   拷貝多個 Server 端的檔案至 Local 端現在目錄下

    put    將 Local 端的檔案拷貝至 Server 端現在目錄下

    mput   拷貝多個 Local 端的檔案至 Server 端現在目錄下

    delete 刪除 Server 端的檔案

    mkdir  在 Server 端建立目錄

    rmdir  刪除 Server 端的目錄

    !      shell 指令

    !ls    查看 Local 端的目錄或檔案

    prompt 變換交談模式 (on/off),

    ?,help 指令使用說明

    bye    結束 FTP


    下表是 FTP 的命令列表,可用 help 指令查詢用法:

    !               cr              macdef          proxy           send
    $               delete          mdelete         sendport        status
    account         debug           mdir            put             struct
    append          dir             mget            pwd             sunique
    ascii           disconnect      mkdir           quit            tenex
    bell            form            mls             quote           trace
    binary          get             mode            recv            type
    bye             glob            mput            remotehelp      user
    case            hash            nmap            rename          verbose
    cd              help            ntrans          reset           ?
    cdup            lcd             open            rmdir
    close           ls              prompt          runique


STATUS CODE:
1xx -肯定的初步答复這些狀態代碼指示一項操作已經成功開始,但客戶端希望在繼續操作新命令前得到另一個答复。 
110 重新啟動標記答复。 
120 服務已就緒,在nnn 分鐘後開始。 
125 數據連接已打開,正在開始傳輸。 
150 文件狀態正常,準備打開數據連接。 
2xx -肯定的完成答复 <br>一項操作已經成功完成。客戶端可以執行新命令。 ? 200 命令確定。 
202 未執行命令,站點上的命令過多。 
211 系統狀態,或系統幫助答复。 
212 目錄狀態。 
213 文件狀態。 
214 幫助消息。 
215 NAME 系統類型,其中,NAME 是Assigned Numbers 文檔中所列的正式系統名稱。 
220 服務就緒,可以執行新用戶的請求。 
221 服務關閉控制連接。如果適當,請註銷。 
225 數據連接打開,沒有進行中的傳輸。 
226 關閉數據連接。請求的文件操作已成功(例如,傳輸文件或放棄文件)。 
227 進入被動模式(h1,h2,h3,h4,p1,p2)。 
230 用戶已登錄,繼續進行。 
250 請求的文件操作正確,已完成。 
257 已創建“PATHNAME”。 
3xx -肯定的中間答复 <br>該命令已成功,但服務器需要更多來自客戶端的信息以完成對請求的處理。 331 用戶名正確,需要密碼。 
332 需要登錄帳戶。 
350 請求的文件操作正在等待進一步的信息。 
4xx -瞬態否定的完成答复 <br>該命令不成功,但錯誤是暫時的。如果客戶端重試命令,可能會執行成功。 
421 服務不可用,正在關閉控制連接。如果服務確定它必須關閉,將向任何命令發送這一應答。 
425 無法打開數據連接。 
426 Connection closed; transfer aborted. 
450 未執行請求的文件操作。文件不可用(例如,文件繁忙)。 
451 請求的操作異常終止:正在處理本地錯誤。 
452 未執行請求的操作。系統存儲空間不夠。 
5xx -永久性否定的完成答复 <br>該命令不成功,錯誤是永久性的。如果客戶端重試命令,將再次出現同樣的錯誤。 
500 語法錯誤,命令無法識別。這可能包括諸如命令行太長之類的錯誤。 
501 在參數中有語法錯誤。 
502 未執行命令。 
503 錯誤的命令序列。 
504 未執行該參數的命令。 
530 未登錄。 
532 存儲文件需要帳戶。 
550 未執行請求的操作。文件不可用(例如,未找到文件,沒有訪問權限)。 
551 請求的操作異常終止:未知的頁麵類型。 
552 請求的文件操作異常終止:超出存儲分配(對於當前目錄或數據集)。 
553 未執行請求的操作。不允許的文件名。 
常見的FTP狀態代碼及其原因 ? 
150 - FTP使用兩個端口:21用於發送命令,20用於發送數據。狀態代碼150 表示服務器準備在端口20 上打開新連接,發送一些數據。 
226 - 命令在端口20 上打開數據連接以執行操作,如傳輸文件。該操作成功完成,數據連接已關閉。 
230 - 客戶端發送正確的密碼後,顯示該狀態代碼。它表示用戶已成功登錄。 
331 - 客戶端發送用戶名後,顯示該狀態代碼。無論所提供的用戶名是否為系統中的有效帳戶,都將顯示該狀態代碼。 
426 - 命令打開數據連接以執行操作,但該操作已被取消,數據連接已關閉。 
530 - 該狀態代碼表示用戶無法登錄,因為用戶名和密碼組合無效。如果使用某個用戶帳戶登錄,可能鍵入錯誤的用戶名或密碼,也可能選擇只允許匿名訪問。如果使用匿名帳戶登錄,IIS 的配置可能拒絕匿名訪問。 
550 - 命令未被執行,因為指定的文件不可用。例如,要GET 的文件並不存在,或試圖將文件PUT 到您沒有寫入權限的目錄。


FTP(File Transfer Protocol) 是目前 Internet 中最常使用來作為傳輸檔案的方法。它與 Web 伺服器一樣,都是使用 TCP 為傳輸時的通訊協定,因此能提供較可信賴的連接導向(Connection-Oriented)傳輸。

FTP 運作流程圖

FTP 伺服器和用戶端電腦資料交換的過程如下三圖所示
階段一 監聽階段二 連接階段三 傳遞
階段一 監聽階段二 連接階段三 傳遞

FTP 運作流程說明

  1. 戶端使用 Three-Way Handshake與 FTP 伺服器端建立 TCP 交談。
  2. FTP伺服器利用 TCP 21 連接埠來傳送和接收 TCP 控制資訊,以便於傾聽用戶端的連線要求,在連線建立後,此連接埠會全程開啟。
  3. FTP伺服器使用 TCP 20 連接埠來傳送與接收 FTP 檔案,傳送完成後即關閉。
  4. 用戶端在向 FTP 伺服器提出連線要求後,會在 1024 ~ 65535 的連接埠中動態指定一個連接埠。並以此動態連接埠與 FTP 伺服器上的 TCP 21 連接埠來建立交談。
  5. 用戶端會開啟另一連接埠連到 FTP 伺服器上的 TCP 20 連接埠,以便傳輸資料。而且每一次有檔案要傳輸時,用戶端會開啟一個新的連接埠與FTP伺服器連線。
(補)2.說明Recursive和iterative的差異性
iterative:「疊代法」是把求得的數值,不斷重覆代入,再求得新數值的方法。
recursive:「遞迴法」是重複用相同手段來縮減問題範圍的方法。

比較 Iterative Method 與 Recursive Method
疊代法以確定的部分作為起始點,循序漸進推演,最後求得答案。
遞迴法找出一套縮小問題範疇的規律,以此規律不斷縮小問題,直到能釐清細節,找到確定的部份。
疊代法與遞迴法恰好顛倒:疊代法是針對已知,逐步累積,直至周全;遞迴法是針對未知,反覆拆解,直至精細。

筆記:
















沒有留言:

張貼留言