Document

FTPサーバ紹介
2005年5月27日(金)
高玉 孝平@海洋気候物理学研究室B4
~
~
お品書き
1. FTPの概要と歴史
2. FTPの目的
3. FTPの仕組み
4. FTPサーバの利用例
5. epftpサーバの紹介
FTPの概要と歴史(1)
■そもそもFTPとは
FTPとはFile Transfer Protocol の略
ネットワークで繋がった異なるマシン間でファイルを転送する
ためのプロトコル(=約束事)のひとつ。
非常に古くからあり、マルチプラットフォーム(OSの種類に依
存しない)でファイル転送を実現するプロトコルとして、現在で
も標準的に利用されている。
とりあえず,これだけは
覚えよう
FTPの概要と歴史(2)
■FTPの歴史
とにかく古い!
・1970年ごろ
異なるホスト間でファイル転送が実現。
FTPの前身となる。
・1973年
FTPの最初の仕様RFC454が発表。
現在用いられる基本的な仕組みが完成。
・1985年
現在の仕様RFC959(STD9)が発表。
TCP/IPに対応。
・1989年
RFC1123がRFC959の機能 を拡張。
その他,インターネットに関係する
代表的な出来事
・1969年:ARPANET開始
・1974年:TCPが発明
・1982年:ARPANETがTCP/IPを使用
・1983年:OSIが成立
・1990年:ARPANET終了
・1991年:WWWの仕組みが発明
・1993年:最初のWebブラウザが発明
The Internet が出来るか,出来ない
かくらいの頃から使われている.
補足1
■RFCとSTDについて
RFCとはRequest For Commentの略.
IETF(インターネットに関係する技術の標準を定める組織)が発行する文書.
RFCの分類
・インターネットに関係する技術の仕様
例)FTP(RFC959,1123),HTTP1.1(RFC2068),SMTP(RFC851,1869)
・インターネットに関係する知識
例)匿名FTPの使い方(RFC1635),計算機の名前の付け方(RFC1178)
・ジョーク
例)伝書鳩による IP データグラムの伝送規格(RFC1149),
ハイパーテキストコーヒーポット制御プロトコル(RFC2324)
だれでも書くことができ,膨大な量がある.
そのため,とくに大事な,標準として認められたRFCにはSTDという別の
番号もつけられる.
例)FTP(STD9),IPv4(STD5),UDP(STD6),TCP(STD7)
FTPの目的(1)
■目的
(1) ファイル(コンピュータープログラムやデータ等)を共有することの助けと
なり、
(2) プログラムを通して、間接的に、もしくは意識せずに遠隔地にあるコン
ピュータを使用することの助けとなり、
(3) ホストのファイルの保管システムの変化から使用者を保護し、
(4) 確実かつ能率的にデータを移動する
(RFC959日本語訳版 第1章から引用)
(1),(2),(4)は言うまでもない.
実は(3)(=OSや機種によらない,統一的な仕組みの提供)が特徴.
FTPの目的(2)
■どうしてファイル共有のための統一的な仕組みが必要なのか
⇒コンピュータは機種によってデータの扱い方が異なるため,
その差異を吸収するようなプロトコルがあると便利
おなじ種類のマシンであれば,
データの共有は比較的簡単
○
×
○
異なる種類のマシン間では
データの共有が難しい
×
×
○
例)異なるOSではファイル共有
に用いるプロトコルも違う
・Windows9x:NetBEUI
・Mac:Apple Talk
・Unix:TCP/IP
FTPの仕組み(1)
■FTPはサーバクライアントモデル
・ファイルリスト(一覧)の要求
・ファイルのプット(アップロード)
・ファイルのゲット(ダウンロード)要求
etc etc・・・・・・
クライアント
クライアント
代表的なクライアントソフト
・IE等のWEBブラウザ
・FFFTP
・NextFTP
サーバ
・ファイルリスト送信
・ファイルの送信
etc etc・・・・・・
クライアント
たくさんの
ファイルが
置いてある
代表的なサーバソフト
・proftpd
・vsftpd
・Tiny FTP Daemon
FTPの仕組み(2)
■FTPは二重構造:HTTPなどと比べて,少し複雑
FTP
任意のポート
●
各種制御,実行結果の応答
コントロールコネクション
21番ポート
●
クライアント
サーバ
●
任意のポート
HTTP
データコネクション
ファイルやファイルリ
ストの送受信
任意のポート
クライアント
●
●
20番ポート(標準)
80番ポート(標準)
コネクション
リクエストとレスポンスを1
つのコネクションで行う
●
サーバ
FTPの仕組み(3)
■ユーザ名とパスワードによる認証が必要
利用者が登録されたユーザ名と,それに対応したパスワードを送信して
きたときのみ,ファイルやファイルリストの転送,アクセス制御などの実
行を許可する.
一般公開されているFTPサーバは特別なユーザ名「anonymous」を使って
利用する.(anonymousは「匿名」の意味)
このとき,パスワードには自分のメールアドレスを入力するのが礼儀.
FTPクライアントとして,WEBブラウザを用いると,
AnonymousFTPサーバからのダウンロードに対して,
自動的に「user:anonymous」「pass:メールアドレス」を
用いるので,意識しないうちにFTPを利用しているかも.
補足2
■FTPのセキュリティ問題について
FTPでは全ての通信が平文で(暗号化されずに)流れるため,パスワード
を盗み聞きされる危険性がある.
対策
・盗み聞き前提でFTPを使う.
⇒OTP(One Time Password)の利用
別名「使い捨てパスワード」.
ログインのたびに,サーバからパスワードの種を受け取り,
それで暗号化されたパスワードを送信する.
・もっとセキュリティの高いプロトコルを用いる
⇒SCP(Secure CoPy)など
FTPサーバの利用例(1)
■ミラー・サイト
ミラー(ミラーリング)とは,ネットワーク上の別のコンピュータの情報をコ
ピーすること.
FTPではファイルの一覧を入手することができるので,容易にミラーリング
が可能.(HTTPではファイル名やディレクトリをあらかじめ知っていないと,
ファイルをダウンロードできない.)
ミラー・サイトは特定のマシンへの負荷を軽減させるために利用される.
負荷:小
負荷:大
負荷:小
負荷:小
負荷:小
負荷:小
通常
ミラーサイトの利用
FTPサーバの利用例(2)
■特定の人とのファイルのやりとり
FTPではファイルの配布だけではなく,アップロードも簡単にできる.
Webページとして公開したいファイルをWebサーバへアップロードする時な
どによく用いられる.
また,メールで添付して送るには適さないような大容量のファイルを容易
に転送することもできる.
不特定多数の人とのファイル交換は著作権を侵害する
恐れがあるので,基本的に,やってはいけません!!
epftpサーバの紹介(1)
■epftpサーバとは?
北海道大学地球惑星科学専攻サーバ群の1つ
AnonymousFTPサーバとして運用されている.
本務機の名前は green
予備機の名前は midori
毎年入れ替えを行って,FTPサーバ管理者を育成します.
アドレスは ftp.ep.sci.hokudai.ac.jp
(green.ep.sci.hokudai.ac.jpでもアクセスできます.)
epftpサーバの紹介(2)
■こんなことをしています.
色々な需要のあるファイルをミラーリングして,地球惑星科学専攻の皆さ
んに提供.
現在のミラーリング対象は・・・
・apache(Webサーバソフト)
・bind(DNSサーバソフト)
・CPAN(Perlモジュール)
・CTAN(TeX関係)
・Debian(Linuxディストリビューションの一
つ)
・Vine (Linuxディストリビューションの一つ)
・各種mailサーバソフト
・namazu(全文検索システム)
・inn(ニュースサーバソフト)
・openssl(フリーのsslツールキット)
・proftpd(FTPサーバソフト)
・teraterm(Windows用通信ソフト)
・XFree86(XwindowSystemを提供)
ミラーリングに追加してほしいものがあれば,お気軽にどうぞ
おしまい
■参考文献
・RFC959 : FTPの定義
・RFC1123 : 第4章でRFC959の拡張
・RFC1635 : AnonymousFTPの利用法
・最新TCP/IPハンドブック(2002年,若林宏,秀和システム)
・TinyFTPDaemonのページ
http://hp.vector.co.jp/authors/VA002682/tftpd_frame.htm
・@IT ーHTTPとFTPはどっちがファイル転送向き?
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=11&topic=2385
・@IT ー過去からの贈り物「FTP~前編」,「FTP~後編」
http://www.atmarkit.co.jp/fnetwork/rensai/netpro10/netpro01.html
・JPNIC RFC-JP
http://rfc-jp.nic.ad.jp/introduction/
・Green,FTPserver(epftpのサイト)
http://www.ep.sci.hokudai.ac.jp/~epftp/