计算机日语
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.4 FTP

FTP(File Transfer Protocol)は、ネットワークでファイルの転送を行うための通信プロトコルである。日本語訳は、ファイル転送プロトコル。インターネット初期の頃から存在するプロトコルで、今でもインターネットでよく使用されるプロトコルの 1 つである。プロトコル上は任意のホストホスト host,主机間のファイル転送を行うことが可能であるが、通常は接続したクライアントクライアント client,客户端とサーバサーバ server,服务器(FTP サーバ)間の転送に利用される。用途としては、ウェブページウェブページ Web page,网页用各種データファイル(HTML ソース、画像など)のクライアントのパソコン→ウェブサーバへのアップロードアップロード upload,上传、パソコンソフト配布サイトや、データが入っているFTP ファイルサーバからクライアントへのファイルのダウンロードダウンロード download,下载などに使われる。ダウンロードについては、ブラウザソフトでも可能であるが、アップロードについてはFTPクライアントソフトやCUIコマンドが必要となる。

任意のホスト間の転送を指示できる名残として、サーバへの接続時のコマンド用とは別にデータ転送用のコネクションコネクション connection,连接を確立するが、この確立方法にアクティブモードアクティブモード active mode,主动模式、パッシブモードパッシブモード passive mode,被动模式という 2種類の方式がある。アクティブモード(ポートモードとも言う)では、クライアントがサーバへ待ち受けIPアドレスとポート番号を通知し、サーバがクライアントから通知された IP アドレスのポート番号へコネクションを確立しに行く。このとき利用するポート番号が毎回異なるので、ファイアーウォールファイアーウォール firewall,防火墙、NAT(IP マスカレード)などを使った環境では場合によってはうまく接続できないこともある。この場合はパッシブモードを用いる。パッシブモードではサーバがクライアントへ待ち受けポート番号を通知し、待ち受けポート番号の通知を受けたクライアントがサーバへコネクションを確立しに行く。いずれのモードでも、コマンド用とデータ用で別々のコネクションを張ることには変わりはない。サーバ側にファイアーウォールがある場合、データコネクションのためにどのポート番号を使うかを設定してファイアーウォールとの整合を確認する必要がある。パッシブモードを使っている限りにおいては、クライアント側のファイアーウォールは気にする必要がない。

通常、サーバに接続する際には認証を必要とするが、専らファイル(主に無償のフリーソフトなど)を配布する目的で、匿名でアクセスできる Anonymous(匿名)FTP サーバを用いる場合もある。ただし、匿名アクセスでも形式上認証が必要であり、この場合、ユーザとして"anonymous"または"ftp"を指定する。

FTP は、サーバ(ウェブサーバなど)へのアップロードを行う場合、コマンドによりサーバ側のファイルを変更、消去することも可能であるため(一般的にクライアント側からのウェブサーバ内のデータファイルの入れ替えや削除などのメンテナンスメンテナンス maintenance,维护、管理は、FTPソフトを使って行うことが多い)、転送前にユーザ名とパスワードパスワード password,密码による認証が必要となる。通常の FTP アップロードでは、パスワードが暗号化されず危険であるため、ワンタイムパスワードを利用した認証を行ったり、SCPなどで代替したりすることが多い。一方、フリーソフトなどのダウンロード専用のFTPサーバでは、認証無しで接続・ダウンロードできるサーバも多い。