ネットワークって。。。#34(アプリケーションプロトコル)
今回はファイル転送(FTP)について説明します。
FTP。。。
File Transfer Protocolの略称で、エフテーピーって読みます。そのまま。。。笑
文字通り、ファイルを別のコンピュータに転送するプロトコルです。
前章の遠隔ログインでは、相手先のコンピュータに入るという行為をログインという操作で行っていましたが、FTPでも相手先コンピュータにログインしてから操作を行います。
かつて、インターネット上では、誰でもログインできるFTPサーバが用意されていました。
ftp://ftp.FreeBSD.org/pub/FreeBSD/
なんかは、今でもアクセスできます。
ブラウザで、アクセスしてファイル一覧からファイルを選んでダウンロードみたいに。。。
最近では、FTPが暗号化されないこともあり(厳密にはFTPSとかSFTPとか暗号化もあるんですが。。。)、セキュリティの問題もあり、IIJ(インターネットイニシアティブって会社)のFTPサーバも
って感じで、httpsで暗号化してる感じです。。。
。。。
大丈夫ですか。。。笑
FTPの仕組みの概要
FTPでは、2つのTCPコネクション(ポート番号)が使われます。
1つは制御用(21番ポート)で、もう1つは実際のデータ(ファイル)の転送用(20番ポート)に使われます。
制御用ポート(21番)は、その名の通り、FTPの制御用に使われます。
ログイン時のユーザ、パスワードの確認や、転送するファイル名、転送の方法の指示等に使われます。
例えば。。。
郵便物を送るときに、宛先がちゃんと合ってるかとか、普通郵便で送るのか書留で送るのかとかありますよね。
そんな感じです。。。多分笑
で、実際にファイルを転送するのが、20番ポート。
21番ポート上で、ファイルを頂戴(GET)とかファイルをあげるね(PUT)とかのコマンドが実行されると、その度に20番ポートのコネクションが確立されます。
こっちは、実際に郵便物を運ぶ郵便局の人だったり、運ぶ乗り物だったりのイメージですね。。。多分笑
で、この20番ポートは、別のポート番号を使用する事も可能です。
セキュリティ上の問題から、最近では、乱数で割り当てるのが一般的になっています。
アクティブモードとパッシブモード
FTPサーバにはコネクションの確立にあたり、2つのモードがあります。
通常、FTPはサーバ(ファイルを送られたり、取りに来られたりする側)主導型で21番ポートのコネクションが確立されます。
つまりは、、、手紙を送られる側が、私に手紙を送ってって感じです。
これを、アクティブモードっていいます。
ネットワークが普及した今となっては、セキュリティの問題もあり、サーバ側からコネクションを確立するっていうのも現実的ではないので、クライアント(ファイルを送ったり、取りに行ったりする側)からコネクションを確立するモードもFTPでは用意されています。
手紙を送る側が主導となって、相手に手紙を送る感じです。。。(ってかこれが普通笑)
これを、パッシブモードっていいます。
まとめ
- FTPは別コンピュータにファイルを転送するプロトコル。
-
FTPは制御用のポート(21番)とデータ転送用のポート(20番)が使用され、20番ポートは変更可能。
- FTPのコネクション確立には2つのモードがあり、サーバ側からコネクション確立するモードをアクティブモード、クライアント側からコネクション確立するモードをパッシブモードという。
今回は、以上になります。
最後まで読んで頂き、ありがとうございました。
【参考書籍】