インターネットはこうして創られている~IETFの仕組み

第3回:RFCの読み方


 IETFで決められるルール、つまり「プロトコル」や関連するさまざまな情報は、誰でも入手し読むことができる。これらの文書はRFCと呼ばれる。

RFCの意味

 RFCとは、Request for Commentsであり、これを日本語にすると「コメントを下さい」という意味になる。もともとインターネットは、米国国防総省国防高等研究計画局(DARPA=Defense Advanced Research Project Agency)が開発を進めたAPRAネットが前身であることはよく知られている。

 通常DARPAによって進められる研究は、国防上の観点から「非公開」が前提だった。しかし、ARPAネットの開発を進めていたSteve Crockerらは、ネットワーク間接続に関する技術は広く公開することが必要であると考えた。そこでDARPAと交渉し、「技術をより良いものとするために広く世の中に意見を求めたい」とし、研究成果をRFCとして公開する承認をとりつけたのである。

 この精神を継承し、インターネットを支える技術やインターネットに関する情報はRFCとして広く公開されている。原則、英語で記述されているが、主要なRFCは日本語にも翻訳されているので、どんなものか見てみたいという場合は、まず日本語訳を参照してみるのも良いだろう。

改版履歴を明示的に残すためのRFCのルール

 RFCは、原則として作られた順に番号が付けられており、その番号で呼ばれる。たとえば「RFC791」は、現在のインターネットの基盤であるInternet Protocol Version 4(IPv4)について記述したRFCであり、「RFC2460」はこれからの新しいインターネット基盤技術であるInternet Protocol Version 6(IPv6)について記述したRFCとなっている。

 2009年10月27日現在、最新のRFCは「RFC5734」で、ドメイン名の登録管理をしているレジストリに対して、ドメイン名登録の受け付けを行っているレジストラが登録・更新手続きを行うためのプロトコルEPP(Extensible Provisioning Protocol、RFC5730)をTCP上で行う場合の手順について示した文書となっている。

 すべてのRFCのリストは、RFC Indexというファイルに納められており、ひととおりRFCを眺めてみるためには、このファイルを見ることから始めてみるのがお勧めだ。

RFC Indexの読み方

 リストは、行の先頭にRFCの番号、続いてタイトル、著者、発行日が続く。次の部分はファイルの形式とサイズだが、現在のRFCはテキスト形式で提供されている(PostScript形式やPDF形式での提供が試みられたことがあるが、最近ではなくなっている。また、PDF形式による提供は古い文書をスキャンして提供している場合にも用いられている)。

 次に記述される項目は、他のRFCとの関係である。RFCでは、内容の訂正や更新があった場合、新たな番号が割り当てられ、古いRFCもそのまま残されることになっている。そのため、どのRFCが最新であり、どのRFCが古いものであるかを識別するためにこの項目が用意されている。“Obsoletes”や“Obsoleted by”は、その関係を示している。

 また、内容の一部を更新した場合には、その更新部分だけを記したRFCを用意することになる。その関係を示したものが、“Updates”と“Updated by”である。つまり、RFC Indexで、そのRFCの部分に、“Obsoleted by RFC XXXX”と書かれていたら、そのRFCはすでに内容が古くなっており、RFC XXXXを参照するべきであるということを示している。また、“Updated by RFC YYYY”と書かれていた場合には、そのRFCの内容の一部がRFC YYYYによって更新されているため、そのRFCも参照しなければならないことを意味している。

 たとえば、「RFC791」の場合には、「RFC1349」に更新情報が書かれていることが示されている(ちなみに、「RFC1349」を見ると、「RFC2474」に置き換えられており、さらに「RFC2474」には「RFC3168」、RFC3260という更新情報があるため、RFC791、RFC2474、 RFC3168、RFC3260という4つのRFCを読まなければならないこととなる。最新の情報を正しく入手するために必要な知識なので、こうした更新情報には注意したいところだ。次に、他のリストに登録されている場合の情報、そしてRFCの種別が続く。

 RFCには、「標準」であるProposed Standard、Draft Standard、Standardという種類の文書以外に(これらについては次回説明する)、種々の情報であるInformational、実験的技術情報を示すExperimental、かつて標準であったがすでに使われなくなった技術等に関する情報など資料的価値を持つ情報であるHistorical、そしてその時点でもっとも最良と考えられる方策に関することを記したBest Current Practice(BCP)が存在する。RFCを読む際には、こうした文書の種類にも注意すると良いだろう。

Internet Draftとは~誰でも提案・登録できる

 ところで、こうしたRFCはいきなり書かれて登録されるわけではない。RFCには、その前段階が存在しワーキンググループなどで議論を重ねられた後に、RFCとして登録される。

 そのRFCになる前段階の文書のことを「Internet Draft」と呼ぶ。原則として有効期限は6カ月であり、その間に更新を行うか、削除され議論が進められていく。

 Internet Draftはそのファイル名に命名規則がある。Internet Draftはまず、ワーキンググループが作成するワーキンググループドラフト(Working Group Draft)と、個人や数名のグループが自分の意見を表明したり提案したりする個人提案ドラフト(Individual Draft)の2つに大別される。

Internet Draftのファイル名命名規則

 ワーキンググループドラフトは、「draft-<ワーキンググループ名>-<IDの内容>-<文書のRevision番号>.txt」というファイル名となる。たとえば、「draft-ietf-ipv6-node-requirements-02.txt」といった形だ。この場合、「ietf-ipv6」がワーキンググループを示し、「node-requirements」がIDの内容を示す。

 個人提案ドラフトは、「draft-<著者名>-<IDの内容>-<文章のRevision番号>.txt」というファイル名になる。たとえば、「draft-itojun-jinmei-ipv6-issues-00.txt」という形になる。この場合は、「itojun-jimnei」部分が著者名、「ipv6-issues」部分がIDの内容となる。

 いずれも、最後のRevision番号は00からスタートし、更新されるたびに数字が1ずつ増えていくルールだ。

 Internet Draftは、誰もが作成・登録することが可能なので、あなたも何かアイデアを思いついたらInternet Draftを書いてみると良いだろう。なお、ワーキンググループのホームページを見ると下の方に、現在扱っているInternet Draftのリストとワーキンググループで議論した結果として合意されたRFCのリストが掲載されている。IETFのミーティングに参加する時には、これらのInternet DraftとRFCを読み、予習してから参加することをお勧めする。

 このように議論をすすめながらInternet Draftを更新し、RFCとしていく作業がワーキンググループの役割ということになる。つまり、ワーキンググループに参加するということは、これらの議論に貢献するということになる。この手続きがIETFでの標準化の手続きであり、最も重要な活動と言えるだろう。次回は、この標準化の手続きについてお話ししよう。

IETF Guest Day!
2009年11月10日(火)
 IETFの雰囲気を体験してみたい方々に、嬉しいお知らせが飛び込んできた。学生、教員、インターネットソサエティのChapter会員の方々を11月10日(火)無料でご招待するという「IETF Guest Day」が設けられることになった。この機会に参加してみたいと思われる方は、以下の手順に従って申し込んでみていただきたい。

STEP 1:
参加登録(Registration)で、火曜日のOne Day Passの申し込みをする(Resistration TypeでOne Day Passを選択)。ただし、支払いはしないこと。申し込み番号(Registration ID)が発行されるので、それをメモする。

STEP 2:
「iadアットマークietf.org(アットマークを@に変換する)」宛に以下の内容のメールを送信する。なお、メールは英語で書く必要がある。
Subject(件名)Guest Pass
本文(1)学生(Student)、教員(Instructor)、ISOC Chapter Memberの別
(2)上で取得した申し込み番号
(3)One Day Guest PassのRequestである旨を記載


STEP 3:
当日受付で参加証を受け取り、参加する。なお、学生証や職員証等の提示を求められると思われるので、忘れずに持参しよう。

 せっかくの機会なので、活用してみてほしい。なお、11月10日(火)の夜には懇親会(Social Event:有料)が開催される。IETFに参加する人々の雰囲気を感じたいと思ったら、これにも参加してみると良いだろう。

関連情報

2009/10/28 06:00


砂原 秀樹
(すなはら ひでき) 慶應義塾大学大学院メディアデザイン研究科教授/奈良先端科学技術大学院大学情報科学科学研究科教授(兼任)。慶應義塾大学の村井 純教授が主宰するWIDEプロジェクトでボードメンバーを務める。