FTPサーバーとは?仕組みからFTP接続する必要性まで徹底解説

FTPサーバーとは?

FTPサーバーとは「FTPという方法で接続されるソフトウェアを搭載したコンピュータ」のことを指しています。

このFTPとは「ファイル転送プロトコル(File Transfer Protocol)」の頭文字を取ったもので、さまざまなデータをやり取りするためのルールです。
そして、「、FTPサーバーにアクセスするソフトを搭載したコンピュータ」をFTPクライアントと言います。

FTPでアクセスする側をFTPクライアント、アクセスされる側をFTPサーバーと覚えておきましょう。

通常、SafariやGoogle Chromeなどのブラウザでサイトを見るとき、「httpプロトコル」という通信で行われています。
これはブラウザというクライアントソフトからアクセスされ、その返信として、普段見ているサイトが表示されているという形になっています。

このとき、サーバーは「Webサーバー」として使用されており、データの直接的なやり取りは行われていません。

FTPによる接続の場合、画像データなどのファイルを直接やり取りできます。

つまり、FTPサーバーとはサーバーの種類を表すのではなく、「サイト公開のためのデータを保存するためのサーバーにFTP形式で接続するときの受信側」を示す言葉なのです。

FTPでできること

海外サーバーと国内サーバーを比較

データを直接やり取りできるという性質から、FTPはかつて、フリーソフトや商用プログラムなどをアップロードし、必要なユーザーがパスワードを入力してダウンロードするための通信方法として使われていました。

しかし、著作権の問題などから使われることは少なくなり、現在では契約したサーバーに保存したデータの送受信に使われることなどが主になっています。

サイト作成においては、サーバー内のデータを操作する必要も出てきます。
例えば、サイトに機能を追加したいときにphpファイルを取り出し、そこにコードを追記する場合などがあります。

他にも、ファイルサーバーとして活用し、限られた人のみが閲覧・操作できるようにするといったこともできます。

FTPの仕組み

海外サーバーと国内サーバーを比較

FTPによる通信には2つの要素が関わっています。

1つは「PI(Protocol Interpreter)」という翻訳プログラムです。
この翻訳プログラムは、クライアントからの操作指示をサーバー側が読み取るために使われています。

サーバーの操作において、動きはひとつひとつ処理されています。
例として、「クライアントPCから、サーバー内の『Aフォルダ』に『いろは.jpg』という画像データを移動する」という処理が行われるとしましょう。

実際にはFTPクライアントソフトを使って、画像データをドラッグ&ドロップするだけでサーバー内に移せたように見えます。
このとき、サーバー内では次のような処理が順々に行われます。

  1. Aフォルダのある位置に移動する
  2. Aフォルダを開く
  3. 『いろは.jpg』を保存する

このように、実際の操作をサーバーが処理できる形に翻訳してくれるプログラムがPIとなります。

そしてもう1つは、データのファイル転送を独立した処理として行う「DTP(Data Transfer Protocol)」という仕組みです。

FTP接続では、2個の経路を用いて通信されています。
この経路が「ポート」と呼ばれているもので、指示のためのポートとデータ転送のためのポートがそれぞれ同時に使われています。

その理由として、ポートが1個しか開かれていない場合、データ転送が行われているときはポートが埋まっているために指示を出すことができなくなります。
「転送を中断したい」と思っても、指示をするためのポートがないので、転送が終わるまでは何もできなくなってしまいますね。

そのため、DTPという方式でデータの転送を独立させ、転送中でも指示を出せるようにしています。

指示と転送を分割した方式というのはFTPの特徴であり、これによってスムーズなデータ交換がされているのです。

なお、ポート番号は常に決められており、「20番」がデータ転送ポート、「21番」が指示のためのポートとなっています。

SFTPとFTPとの違い

FTPには問題点もあり、やり取りされるデータだけでなく、アクセスするための通信も含めて、暗号化されていません。

FTPクライアントからFTPサーバーへのアクセスには「ホスト名」「ユーザー名」「パスワード」の3種が必要になっています。
このアクセス情報が通信経路から漏れてしまうと、悪意のある第三者に不正アクセスされてしまうなどのセキュリティ面でのリスクがあるのです。

現在では、SFTP(SSH File Transfer Protocol)という暗号化の技術が採用されたファイル転送プロトコルも存在します。
これはFTPにSSH認証方式を利用したものであり、公開鍵を所有していないクライアントからのアクセスが不可能となっています。

ただし、セキュリティが厳重な分、公開鍵を失くしてしまうとアクセスできなくなってしまいます。
SFTPで接続するのであれば、公開鍵のバックアップは必ず行っておきましょう。

FTPの必要性

FTPとは、サーバー内のデータを直接操作する通信技術です。
ただ、サイト作成において、WordPressのような「CMS(Contents Management System)」が普及したことにより、FTPでサーバーに接続してhtmlやphp形式のファイルをダウンロードして編集することは少なくなってきました。

そのため、サイトに関する専門知識が少なくとも、ある程度のカスタマイズも可能となっています。

しかし、例えばインストールしたプラグインが不具合を起こし、WordPressから削除ができないなどの状況に陥ったときはFTP接続によって、直接操作する必要性も出てきます。

また、構築したファイルサーバーからデータをやり取りするための接続方法としても活用できます。
メールでのファイル送信となると、データサイズにも気をつけなければいけない他、大事なファイルを誤送信してしまう可能性もあります。

その点、ファイルサーバーからダウンロードもしくはアップロードする方法であれば、ミスを起こす可能性は少なくなります。
このようにデータを共有するための方法として、FTPを利用することもできます。

事業者の中にはFTP利用を可能としているものもありますので、プラン内容はチェックしておきましょう。

関連記事