|
≪ previous | next ≫ |
IP アドレス | 10.2.3.200 |
---|---|
制御用ポート番号 | 3001 |
データ転送用ポート番号 | 3002 および 3003 |
制御用コネクションのポートと通信の方向。 | ||
データ転送用コネクションのポートと通信の方向。 |
=== ftp 開始 === | |
-- 接続とセッションの確立 -- | |
( 1) | クライアントの割当済みポート (3001) から、サーバーの 21 番ポートへ接続要求。 ( 実際には 3 way handshake が行われる ) ユーザー名とパスワードで認証を受け、login OK となった時点で ftp セッションが確立する。 |
=== リスト要求 === | |
-- 動作モード指定 -- | |
( 2) | ASCII モード指定コマンドとその応答。 |
( 3) | アクティブ モード指定とその応答。 クライアントは自 IP アドレスとデータ転送用の待ち受けポート番号 3002 を、PORT コマンドでサーバーに通知する。 |
-- リスト (ファイル一覧) 要求 -- | |
( 4) | クライアントがリスト (ファイル一覧) を要求。 |
-- データ転送用コネクションの開始と転送 -- | |
( 5) | リストの要求を受けたサーバーは、リストを転送するためのコネクションを別途用意する。 サーバーの 20 番ポートから、クライアントの 3002 番ポートへ接続要求を送出し、転送用コネクションを確立する( 3 way handshake )。 |
( 6) | 準備完了と転送開始をクライアントへ通知。 |
( 7) | サーバーは要求されたリストを、転送用コネクションを通して送信。 |
( 8) | 送信を完了したサーバーは、送信完了および転送用コネクションの切断を通知。 |
( 9) | クライアントは受信確認および転送用コネクション切断了承を通知。 |
(10) | データ転送コネクションを切断。 切断の通知は双方で行う。 |
=== アップロード === | |
-- 動作モード指定 -- | |
(11) | ASCII モード指定コマンドとその応答。 |
(12) | アクティブ モード指定とその応答。 クライアントは自 IP アドレスとデータ転送用の待ち受けポート番号 3003 を、PORT コマンドでサーバーに通知する。 |
-- アップロード要求 -- | |
(13) | クライアントは対象ファイル名をパラメータにして STOR コマンド(アップロード要求)を送出。
|
-- データ転送用コネクションの開始と転送 -- | |
(14) | アップロード要求を受けたサーバーは、ファイルデータを受信するためのコネクションを別途用意する。 サーバーの 20 番ポートから、クライアントの 3003 番ポートへ接続要求を送出し、転送用コネクションを確立する( 3 way handshake )。 |
(15) | 準備完了と転送開始をクライアントへ通知。 |
(16) | 転送用コネクション OK の通知を受けたクライアントは、そのコネクションを通してファイルデータを送信する。 |
(17) | サーバーは受信確認を通知。 |
(18) | クライアントは送信終了で転送用コネクション切断を通知。 |
(19) | サーバーは要求(アップロード)処理の終了と転送用コネクション切断を通知。 |
(20) | クライアントは転送用コネクション切断の了承を通知。 |
(21) | サーバーは転送用コネクション切断を通知し、クライアントは OK を返す。 |
≪ previous | [[ ftp 動作概要 - モードによる違い ]] | next ≫ |