FTP
−データ転送の流れ−
FTPにはサーバプログラムとクライアントプログラムがあり、ポートを2つ使用して以
下のようなイメージでデータの転送を行ってます。
1.クライアントからサーバのウェルノウンポート番号※1(FTPでは21番)に向けて
制御コネクションの確立(通信開始の要求)を行う。
サーバはTCPのポートを不特定多数のクライアントのために準備しておく。
※1・・・標準で決められているポート番号
2.クライアントからサーバへコマンドとデータポートを通知する※2
制御コネクションでやり取りされるのは、クライアントからサーバへの要求と、それ
に対するサーバの応答。
実際にデータ転送に使用されるのはデータコネクションである。
※2・・・通常は20番を使用するが、セキュリティ向上のためOSが適当に割り当てて
いるのもある。
また、PORTコマンドを使用して指定することも可能。
3.クライアントから通知されたデータポートに向けてサーバがデータコネクションを確立
する。
4.ファイルの内容や、コマンドの出力結果(ディレクトリ表示等)を送る。
5.クライアントからの1つの要求に対する処理が終了したら、サーバはデータコネクショ
ンを切断する。
クライアントから別の要求があった場合(2.)、3.・4.・5.を繰り返す。
6.すべての処理が終了したらクライアントは制御コネクションを切断する。