インターネット10分講座 - JPNIC (original) (raw)

ニュースレターNo.24/2003年7月発行

インターネット10分講座:RFC

RFC(Request for Comments)は、インターネットで用いられるさまざまな技術の標準化や運用に関する事項など幅広い情報共有を行うために公開される文書シリーズです。

RFCとはなにか?

インターネットにかかわり始めると「RFC」という言葉を耳にする機会が多くなるはずです。「この技術はRFCになりました」、「RFCを参照して……」、「この製品はRFCxxxxとRFCxxxxに準拠していますので……」のような技術系ニュースから、インターネット関連の会議、製品セールスなどインターネットに関係する多くの場面でこの言葉が利用されているからです。

現在のインターネットの世界ではRFCは、もし一言で説明できるとしたら

「インターネット」といったキーワードで関連づけられて広く公開しておくべきだと思われる情報を公開するための管理された文書シリーズ

です。たとえば、インターネット中で利用される通信やアプリケーションのプロトコル、経路制御やアドレス割り当てといった運用やルールのコンセンサス(合意事項)、インターネットに関連する理論に関する説明、などのインターネットを構成するにあたって利用者や開発者などのコミュニティで共有しておくべきであろうと思われるさまざまな事項が含まれます。

ここであえて「現在の」と留保をつけた理由は、RFCができてから現在にいたるまでの約35年間を含めて統一的に「RFCとはなにか」を説明することは難しいためです。RFCの歴史を書き始めてしまうとそれだけでこのお話は終わってしまいますから、そのへんは参考文献に説明を譲ることにします。実は「RFCに関する歴史」もRFCシリーズ中含まれています。1999年4月7日に公開されたRFC2555『30 Years of RFCs』(RFCの30年間)がそれです(参考文献)。

RFC自体に対して更に説明を付け加えるとしたら、

RFC自体が、RFCで扱うような事柄をきめるための一連の議論システムの一部である

ともいえます。インターネット上でのさまざまな技術を標準化していくための議論の多くはRFCシリーズを基に進められています。

この文章では、まずRFCシリーズ自体の説明をしてから技術標準化について言及します。

RFCシリーズ

RFCは内容や位置づけに応じて7種類に分類されています。さらに大別すると、

  1. インターネット標準に関するもの
  2. その他

の2種類に分類できます。前者は「インターネット標準化過程(Standard Track)」を通して「インターネット標準」を形成するRFC群です。標準化が進む段階に応じて、

の3種類に分類されます。これらの関係を図1に示します。

図:標準化過程RFC

図1:標準化過程RFCの関係と遷移条件

後者の「その他」に分類されるものは、標準化過程として処理されないRFC全般を指します。以下に、それぞれの位置づけを簡単にまとめます。

RFCの分類を説明したところで、良く陥りがちな「落とし穴」を指摘しておくことにします。RFCの分類を見る限り、標準化過程のRFCは何よりも優先される、と理解してしまう場合が多く見受けられます。しかし、インターネットはさまざまな要素が組み合わさってできている一つの社会です。標準化過程として検討されていないRFCであっても、「事実上の標準」として業界に受け入れられたり、標準として規定されたとしても利用されなくなりつつある場合もあることを覚えておいてください。RFCの種類だけをみて判断せずに、内容やそのRFCを取り巻く状況を把握してその位置づけを理解する必要があることに留意しておきましょう。

インターネット標準化とRFC

インターネットのさまざまな技術は広く相互運用性/相互接続性をもっていなければならないため、主にIETF※2でコンセンサスを取る必要があります。IETFなどでの議論はRFCとして公開されることで広く公知されることになるため、インターネットの技術標準化とRFCは密接に関係しています。

簡単にIETFなどでの議論からRFCになっていく過程、さらにインターネット標準となっていく過程を簡単にまとめておきます。

図:I-Dによる議論成熟

図2:インターネットドラフト(I-D)による議論の成熟

インターネットは開かれた世界ですが、いきなり誰でもRFCを公開できるわけではありません。いくつかの段階を経由することになります。

その段階の最初に位置するのがインターネットドラフト(I-Ds:Internet Drafts)です。インターネットドラフトは誰でも提出可能であり、提出するだけでインターネットを通して広く公開されますが、一定の期間(6ヶ月)が経過すると削除されることになっています。インターネットドラフトの目的は、RFCとして新規技術を標準化する前に十分な議論の場を提供することなので、継続した議論が行われて新しいI-Dを再提出することが要求されるからです。

IETFでは必要に応じて議論や検討を行い、その結果をI-Dにフィードバックしていくことで、多くの人たちの意見を反映させたより成熟したものにしていきます。十分な議論が行われIESGの承認を得ることができれば、RFCとして公開されることになります。RFCとして公開されるための手続きを図3に示します。

図:RFCへの道

図3:RFCへの道

まとめ

現在インターネットで利用されているほとんどすべてのプロトコルは、RFCとして公開され誰でも参照できるようになっていて、相互運用性/相互接続性といったインターネットを運用するうえで非常に重要な役割をになっています。

また、RFCは、「インターネット」を構成するためのさまざまな仕様、経験、議論、歴史をまとめあげているシステムの主要な要素です。今後もインターネットの発展に応じて多くのRFCが公開されていくでしょう。

((株)インターネットイニシアティブ(IIJ)技術研究所 宇夫 陽次朗)


■参考文献 RFC2555:
原文へのリンク
ftp://ftp.isi.edu/in-notes/rfc2555.txt
翻訳へのリンク(宇夫訳)
http://yuo4.nui.org/RFCs/rfc2555.html

30年間に渡るRFCの歴史を、インターネットの創世期から現在に至るまでかかわっていた著者ら5人で執筆したものです。「インターネット創世記」の一部を垣間見ることができる読み物としても秀逸なのでご一読をお勧めします。


※1 STDシリーズ/FYIシリーズ/BCPシリーズ:

RFCは一連の番号のついた「永続的な」文書シリーズですが、その一部には別名が与えられて別の文書シリーズFYI(For Your Information)シリーズ、BCP(Best Current Practice)シリーズ、STD(Standard)シリーズ)としての番号が付与されます。これらはRFCとは異なり「役割や意味に対して番号を付与する」形式で管理されています。あるRFCにSTDシリーズなどの番号が付与された場合、そのRFCが更新や置換されて番号が変わったとしても、STDシリーズなどの番号は変化せずいつでも同じ番号で参照できます。たとえば、インターネットの標準プロトコルをまとめているRFCとして『Internet Official Protocol Standards.』があります。このRFCはSTD1としても参照できるようになっています。RFC自体は100RFCごとに定期的に更新されていますが、常に最新のものをSTD1として参照できるのです。
参考:STD1 ftp://ftp.isi.edu/in-notes/std/std1.txt

※2 IETF:

Internet Engineerng Task Forceのこと。インターネット技術標準化を行うためのグループ。内部は担当する技術エリア毎にわかれており、各検討課題毎に分科会(Working Group)を結成して議論を行っている。
http://www.ietf.org/


2016年7月4日追記
RFC 6410により、 RFCの標準化過程は従来の3ステージから、 Proposed Standard (PS) -> Internet Standard (STD)の2ステージへと変更となりました。 日本語による解説資料として、IETFの構造とインターネット標準の標準化プロセスをご参照ください。