【コラム】

最新IT用語解説

12 RFC(Request For Comments)

    佐藤晃洋  [2001/10/25]
    今週は『RFC(Request For Comments)』をテーマとして取り上げる。これまでもこの連載で「~についての規格はRFCxxxxで規定されており~」というような記述を行ってきているし(たとえば「第11回 日本語ドメイン(Japanese Domain Name)」)、一般には「RFC=インターネット世界の標準的な規格書」という認識が広まっているが、そもそもRFCとはどのようにして成り立ち、また中身はどのような文書なのか、今回はそのあたりを解説してみたい。

    ■「RFC」の名前の由来

    RFCは、IETF(The Internet Engineering Task Force)が発行するインターネットの技術や仕様に関する文書だ。しかし、そもそもインターネットにおける規格を記述する文書に『Request For Comments』、日本語に訳すと「ご意見お待ちしています」という名前が付けられているのは、冷静に考えてみるとかなり変な話だ。

    ただ、最初のRFCである『RFC 1 : "Host Software"』の著者であるSteve Crocker氏のコメントによると、同氏は後のRFC 1となる文書を公開するに当たり、その文書が決して公式なものではなく、あくまで当時ARPANET(今のInternetの前身の一つ)の研究チーム内におけるメモ書きのようなものであると考えていたという。そのため『Request For Comments』という名前も、正式な研究論文や規格書ではない「ただのメモ書き」という意味で付けられたらしい。

    実際、RFC 1は公開されたのは1969年と今から32年も前の話で、当時はARPANET自体まだ構築が始まったばかりの段階だ。当然の事ながらネットワークの規格も含めて全てを一から手探りで構築しなければならないわけで、そんな状況下で正式な規格書など出せるわけがなく、そういった環境においてはRFCという形態が最もふさわしかったのだろう。

    ■実態はいろんな文書のごった煮

    上記のように最初は「ただのメモ書きや提案」程度の意味合いしか持たなかったRFCだが、その性質は今もある程度引き継いでいる。RFCには「正式な規格(STANDARD)」となったものだけでなく、「実験的なプロトコル(EXPERIMENTAL)」や「有益な情報(INFORMATIONAL)」、IETFが「特に認めた手順書(BEST CURRENT PRACTICE)」なども含まれている。また初期のRFCには「分類不能(UNKNOWN)」となっているものや、現在は使われていない「歴史的文書(HISTORIC)」なども多い。

    従って、今まで規格として紹介してきたRFCも、正確にはRFCの中でも『STANDARD』として認められたものであり、決して「RFC=正式な規格書」というわけではない。むしろRFCとは「インターネットを理解する上で役立つとIETF(もしくはRFC編集グループ)が認めた文書」程度の意味合いしかない、と考えた方がよい。

    そのため、RFCには技術的な文書ばかりではなく、RFCそのもののダイジェストやインターネットの歴史に関する文書なども含まれている。実は先ほどのRFC 1に関する話も、大半はRFCの歴史をまとめたINFORMATIONALな文書・『RFC2555 : 30 Years of RFCs』で紹介されていた話なのだ。

    またRFCには日々新しいドキュメントが追加されており、現在最新のIndex(2001/10/24版)ではその総数が3185個にも増えている。こうなるととても全部のRFCを読むことは物理的に無理な話なので、現在はRFC番号とは別のサブシリーズ番号が用意されており、そちらのIndexを参考にすることで効率よくRFCをチェックすることができるようになっている。ちなみに現在使われているサブシリーズは『STD(STANDARD)』、『FYI(For Your Information)』、『BCP(BEST CURRENT PRACTICE)』の3つだ。

    ちなみにあるRFCが『STANDARD』として認められるためには、まず『PROPOSED STANDARD(標準化提案)』としてRFCが公開されたのち、その後様々な議論を経つつ『DRAFT STANDARD(標準化草案)』→『STANDARD』とステータスを上げていくことになっている。もちろん全ての『PROPOSED STANDARD』がこの過程を踏むわけではなく、途中で作業が中断したままになったり、新しいプロトコルの登場などにより『HISTORIC』な文書となったりすることも多い。

    ■中にはジョークとして作られたものも

    現在RFCとして文書を公開するには、その前に必ず当該文書がInternet Draftとして公開されなければならないことになっている。これはその文書を公開する前に、RFCの編集者グループだけでなく広くInternet Communityによる査読を受ける機会を提供することで、RFCとして不適当なドキュメントを排除し、RFC全体の品質を高めることを狙っている。

    ただ、中にはその過程にあてはまらないか、仮にInternet Draftとして公開されたとしてもほとんど無意味と思われるものも存在する。それは通称『ジョークRFC』と呼ばれるRFCだ。これはここ10年ほど毎年エイプリルフールに発行されているRFCで(それ以前のものにも該当するものは存在する)、代表的なものには

    RFC1149 : A Standard for the Transmission of IP Datagrams on Avian Carriers
    伝書鳩等の鳥を使ってIPデータを伝送するための規格。ジョークRFCとして最もポピュラーなもの。何と後にRFC2549として改良版のプロトコルまで登場した!
    RFC2322 : Management of IP numbers by peg-dhcp
    洗濯ばさみを使ったDHCPプロトコル。当然実際の運用は人手で行う。
    RFC2324 : Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)
    HTTP/1.1をコーヒーポットの制御用に拡張したプロトコル。エラーコードの中には「418 I'm a teapot」なんてものもある(笑)

    などがある。

    これらは見るからにジョークとわかりそうなものばかりだが、世の中にはそのジョークをさらに楽しもうと、本当ににRFC1149の伝送実験をやってしまうグループや、RFC2322に関する運用メモを作ってしまう人などもいるから凄い。

    RFCは全て英語で書かれることが必須条件となっているため、IT業界に籍を置きRFCを読まなければならないような立場になると、RFCの表現をどう実装すればいいのか頭を悩ませることが少なくない。そんなときは気分転換がてら、これらのジョークRFCを読んで頭を休ませるとか、あるいは腕に覚えのある人ならジョークRFCを本当に実装してしまうなんていうのもおもしろいのではないか。

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン