RFC - インターネットの「憲法」は誰でも読める

RFC (Request for Comments) は、インターネットの技術標準を定める文書群です。HTTP、TCP/IP、DNS、TLS、BGP - インターネットを構成するほぼすべてのプロトコルは RFC として公開されています。2025 年時点で 9,600 本以上の RFC が発行されており、すべて無料で誰でも読めます。

しかし RFC の世界は、堅苦しい技術文書だけではありません。エイプリルフールのジョーク RFC、ASCII アートによる図解、詩的な文体の仕様書など、技術者たちのユーモアと文化が詰まった独特の世界です。

「Request for Comments」- 名前の由来

RFC という名前は、1969 年に最初の RFC (RFC 1) を書いた Steve Crocker の謙虚さに由来します。当時 UCLA の大学院生だった Crocker は、ARPANET (インターネットの前身) のプロトコル仕様を文書化する際、「これは公式な標準ではなく、コメントを求める (Request for Comments) 非公式なメモである」という体裁を取りました。

権威的な「標準仕様書」ではなく「意見を求める文書」という控えめな名前にしたのは、他の研究者を萎縮させず、自由な議論を促すためでした。この精神は 50 年以上経った今も受け継がれており、IETF のモットー「rough consensus and running code (大まかな合意と動くコード)」に通じています。

伝説のジョーク RFC たち

IETF には、毎年 4 月 1 日にジョーク RFC を発行する伝統があります。

RFC 1149 - 鳥類キャリアによる IP データグラムの伝送 (1990 年)

伝書鳩を使って IP パケットを運ぶプロトコルの仕様書です。「鳥類キャリア (avian carrier)」がパケットを物理的に運搬し、宛先で受信者がデータを読み取ります。冗談として書かれましたが、2001 年にノルウェーの Linux ユーザーグループが実際に伝書鳩で ping を実行し、RTT 約 1〜2 時間、パケットロス率 55% という結果を報告しました。

RFC 2324 - HTCPCP (1998 年)

コーヒーポットを制御するプロトコル。HTTP ステータスコード 418「I'm a teapot」を定義した RFC です。

RFC 6921 - 極めて低速なネットワークのための設計上の考慮事項 (2013 年)

光速を大幅に下回る速度のネットワーク (例: 惑星間通信) での TCP/IP の問題を「真面目に」議論した RFC。火星との通信では RTT が 4〜24 分になるため、TCP のタイムアウト設定が根本的に機能しないことを指摘しています。ジョーク RFC ですが、実際の惑星間通信プロトコル (DTN: Delay-Tolerant Networking) の研究に影響を与えました。

RFC 8565 - 超高齢化ネットワーク機器の問題 (2019 年)

「ネットワーク機器も高齢化する」というテーマで、古いルーターの「物忘れ」(ルーティングテーブルの消失)、「腰痛」(パケット処理の遅延)、「老眼」(パケットの誤読) を擬人化して論じた RFC です。

RFC の ASCII アート文化

RFC は伝統的にプレーンテキスト形式で書かれてきました。図やダイアグラムが必要な場合、著者は ASCII 文字だけで図を描く必要がありました。この制約が、RFC 独特の ASCII アート文化を生みました。

+--------+ +--------+ +--------+
| Client |--->| Server |--->| DB |
+--------+ +--------+ +--------+

2019 年の RFC 8650 以降、RFC は XML ベースの新フォーマット (RFC XML v3) に移行し、SVG 画像やリッチなフォーマットが使えるようになりました。しかし、多くの著者は今でも ASCII アートを好んで使用しています。

すべてのインターネットユーザーに影響する RFC

ジョーク RFC は楽しいですが、RFC の本質はインターネットの基盤技術の標準化です。あなたが今この記事を読んでいる間にも、以下の RFC が動作しています。

  • RFC 791 (1981): IPv4。IP アドレスの基本仕様
  • RFC 793 (1981): TCP。信頼性のあるデータ転送の基盤
  • RFC 1035 (1987): DNS。ドメイン名の解決
  • RFC 2616 → RFC 9110 (2022): HTTP。Web 通信のプロトコル
  • RFC 8446 (2018): TLS 1.3。暗号化通信の最新標準
  • RFC 4271 (2006): BGP。インターネットの経路制御
  • RFC 8439 (2018): ChaCha20-Poly1305。VPN プロトコルの WireGuard が採用する暗号化方式

RFC の番号付けと Jon Postel

RFC の番号は単純な連番で、発行順に割り当てられます。この番号管理を長年担当したのが Jon Postel です。Postel は 1969 年から 1998 年に亡くなるまで、RFC エディターとして約 30 年間、すべての RFC の発行を管理しました。

Postel は「ロバストネス原則 (Postel's Law)」でも知られています。RFC 793 に記された「送信するものには厳格に、受信するものには寛容に (Be conservative in what you send, be liberal in what you accept)」という原則は、インターネットプロトコルの設計哲学として広く引用されています。

まとめ

RFC は、インターネットの技術標準であると同時に、技術者コミュニティの文化的遺産です。伝書鳩による IP 通信、ティーポットのステータスコード、ASCII アートの図解 - これらのユーモアは、インターネットが「合意と協力」で作られてきたことの証です。

RFC はすべて rfc-editor.org で無料公開されています。IP 確認さんで確認できる IP アドレスの仕様 (RFC 791) から読み始めてみるのも面白いかもしれません。

インターネットプロトコルの歴史を深く知りたい方には、ネットワーク技術の解説書が参考になります。

この記事の関連用語

IP アドレス RFC 791 で定義された、インターネット上のデバイスの識別子。 DNS RFC 1035 で定義された、ドメイン名を IP アドレスに変換するシステム。 HTTPS RFC 9110 (HTTP) と RFC 8446 (TLS 1.3) の組み合わせで実現される暗号化通信。 BGP RFC 4271 で定義された、インターネットの経路制御プロトコル。 TLS RFC 8446 で定義された最新の暗号化プロトコル。HTTPS の基盤技術。