今回はftpについて纏めておきます。
▼ftpのTCPコネクション
ftpサーバとftpクライアントの間に以下の2つのTCPコネクションを張ります。
(1)ポート:21番、TCPコネクションの種類:制御用、通信内容:ftpコマンド、セッション管理
(2)ポート:20番、TCPコネクションの種類:データ転送用、通信内容:ファイル本体やファイル一覧のデータ
▼ftpの動作モード
ftpの動作モードは「データ転送用TCPコネクションの接続要求(syn)」をどちら側(ftpサーバとftpクライアント)から始めるかによってモードが分かれます。
(1)モード:アクティブモード、接続要求の出発点:ftpサーバ側から接続要求を行う
(2)モード:パッシブモード、接続要求の出発点:ftpクライアント側から接続要求を行う
*モードの指定はftpクライアント側で行う。(ftpツールに設定項目がある。)
*ftpサーバ側にも「パッシブモード」の設定項目がある。ftpサーバ側でパッシブモードを不許可とした場合、ftpクライアントに対して「permission deny」を返す。
▼ftpのセッションとコネクション
(1)制御用コネクション
→ftpクライアントからftpサーバに向けてftp接続を行うと、TCPコネクション(ftpサーバ側の21番ポート)が張られる。(ユーザ認証を受ける)
(2)セッション
→ftp接続、データの送受信、ftp終了までの一連の動作をセッションと呼ぶ。
(3)データ転送用コネクション
→ftpサーバからftpクライアントへ送信するファイル名一覧や双方での送受信(ダウンロード、アップロード)するファイルデータは、送受信が発生するたびにデータ転送用のTCPコネクションが張られ、そのコネクションを通して送受信される。
*ftpサーバ側のデータ転送用ポート番号
アクティブモード:21番
パッシブモード:サーバOSが1024番以降の番号をその都度割り振る
以上。
▼参考URL
「ftp 動作概要 - モードによる違い」
http://park12.wakwak.com/~eslab/pcmemo/ftpmode/ftpmode2.html
「FTPサーバーの構築」
http://skygarden.pgw.jp/wordpress/home-published-server/setting-of-ftp-server
※コメント投稿者のブログIDはブログ作成者のみに通知されます