連載
» 2000年06月13日 00時00分 公開

詳説 TCP/IPプロトコル:第2回 Internet StandardsとRFC (4/6)

[岡部泰一,著]

 現在、RFCはIABによって発行されており、インターネットとTCP/IPプロトコルの公式な仕様や、コンピュータでの通信に関するさまざまな話題を扱うドキュメント群となっている(中には詩やジョークなども含まれている)。インターネット プロトコルの仕様の原典はRFCであり、他のもの(たとえばプロトコルを解説した教科書など)は二次的なものでしかないことを念頭において置く必要がある。

RFC番号 タイトル サイズ
RFC2600 Internet Official Protocol Standards 88kbytes
RFC1700 Assigned Numbers 461kbytes
RFC791 Internet Protocol 96kbytes
RFC792 Internet Control Message Protocol 30kbytes
RFC768 User Datagram Protocol 6kbytes
RFC793 Transmission Control Protocol 174kbytes
RFC854 Telnet Protocol Specification 39kbytes
RFC855 Telnet Option Specifications 7kbytes
RFC959 File Transfer Protocol 148kbytes
RFC2616 Hypertext Transfer Protocol -- HTTP/1.1 423kbytes
TCP/IP関連のRFCの例
RFCの例として、2000年5月末現在での有効なRFCの中から例として10個ほどあげておく(サイズ欄をクリックすると、実際のRFCファイルを表示する。サイズの大きなものもあるので注意)。
RFC2600は主要なプロトコルについて要約したものであり、ここから各プロトコルの現在のRFC番号を知ることができる。ただし、より新しいRFCによってこれらの内容が更新されることがあるので、インターネットのプロトコルについて調べるときは、常に最新のRFCを参照するようにする必要がある(RFCの入手方法については後述)。

 RFCは情報の広範な普及と共有を目的としている。そのため、そのほとんどのもの(初期に書かれたもの以外)は電子化され、さまざまなサイトにコピーが置かれて公開されている(RFCの入手方法については後述)。これらは誰もが無料で入手することができるし、再配布や引用も自由に行うことができる。

 RFCには、発行された順に一連の番号が割り当てられている。一般的には、この番号の前に「RFC」というタイトルを付け、たとえば959番のRFC(FTPプロトコル)を「RFC959」というふうに呼ぶ(実際のファイル名は“rfc959.txt”)。以後、本連載でもこのように表記する。

 RFCは、1969年4月7日に発行されたRFC1(Host Software)から始まり、2000年5月末の時点ではRFC2850まで発行されている。一度発行されたRFCは更新されることはなく、過去のRFCに修正や更新の必要がある場合は、新しいRFCによって、完全に置き換えられたり(古い方が実際に欠番になるわけでなく、そのまま残っている)、情報を付け加えたりする。RFCを置き換えることを「Obsolete(廃止)」、情報を付け加えることを「Update(更新)」と呼ぶ。過去のRFCを廃止した場合は、新しいRFCだけを参照すれば良いが(新しいRFCだけを参照しなくてはならない)、情報を付け加えた場合は元のRFCとあわせて参照することになる。実際のRFCの更新、改訂の例については、「コラム:RFCの改訂履歴例」にまとめておいたので、参照していただきたい。

RFCのフォーマット

 RFCのフォーマット(文書形式)は、RFC2223「Instructions to RFC Authors(RFC執筆者への手引き)」中で規定されている。

 RFCは、コンピュータ上で読まれたり、さまざまなツールで利用されたりすることを想定しているため、ASCII文字を使ったテキストだけで記述されている(図なども、ASCII文字だけを組み合わせて表現している)。ページの体裁は、1行あたり72文字、1ページあたり56行という固定的な書式でフォーマットされている。しかし、複雑な構成の図が必要な場合は、同一内容のPostScript版をあわせて公開することが認められている。PostScriptは、十分に標準化され利用されているとはいえないが、対応プリンタが広く利用可能と判断されたため採用された。ただしPostscript版はあくまでも補助的なものであり、テキスト版が正式なRFC文書である。

 RFCの草案となるドキュメントは、IABに属するRFC編集者が査読する。そしてRFCとして発行する価値があると認められたものは、著者に改善の提案などが行われる。プロトコルなどの技術的な草案はIESGが査読して処理する。ドキュメントが完成すると、RFC編集者に送られ、スタイルの統一のための変更(整形)が施されてから発行される。スタイルは、ASCIIテキスト版の場合、テキスト整形フィルタであるnroff(*1)によって整形される。nroffのRFC用マクロはRFC2223の付録として収録されている。PostScript版の場合は、ASCIIテキスト版と「同じになるように(同じ情報を含むように)」整形することが求められている。

*1 nroff――UNIXで広く使われている文書整形処理システム。「エヌ・ロフ」と読む。“new roff”の略。roffとは、UNIX開発の時に参考とされたOS、Multicsに用意されていた文書整形プログラムRUN OFFにちなんでいる。UNIXの(manで表示される)オンライン マニュアルもこのnroffで整形されている。nroffでは、あらかじめテキスト中に整形用のタグを埋め込んでおき(例:タイトルや筆者名、ヘッダ/フッタなどの直前に、コマンドを入れておく)、nroffプログラムに通せば、そのとおりに整形された出力が得られる。


 以下に、実際のRFCの例を示しておく(RFC2223)。

RFCの例
ASCIIテキスト版のRFCはnroffにより統一したスタイルに整形されている。例としてRFC2223(Instruction to RFC Authors)の先頭部分を示す。
【実際のRFC2223のテキストを表示するには、ここをクリックしてください(サイズ:23Kbytes)。】
 (1)RFCシリーズを設立したグループ名。
 (2)RFC番号。
 (3)このRFCによって、RFC1543、RFC1111、RFC825が廃止されたことを示す。
 (4)このRFCのカテゴリ。カテゴリについては後述
 (5)著者名。
 (6)著者が属する組織。
 (7)このRFCの発行月と発行年。
 (8)RFCのタイトル。
 (9)このRFCの種類と配布条件。
 (10)著作権の表示。
 (11)目次。

全RFCの一覧リスト

 通常RFCを配布しているサイトには、そのサイトに存在するRFCの一覧を記述した「rfc-index.txt」というファイルも同時に置かれているはずである。このファイルには、それまでに発行されたRFCが発行順にすべて記述されており、それぞれのRFC番号やタイトル、著者、発行日、廃止や更新の記録などが、次のような書式で書かれている。

RFCの一覧リスト(rfc-index.txt)のフォーマット
「rfc-index.txt」にはRFCの一覧が記述されており、各RFCがその発行順に並んでいる。各RFCごとに、このようなフォーマットで要約が記述されている。
【実際のrfc-index.txtのテキストを表示するには、ここをクリックしてください。サイズが大きいので注意してください(サイズ:433Kbytes)】
項目 意味
#### RFCの番号
Title of RFC タイトル。ピリオドは途中に付けることはできず、必ず最後に付ける
Author 1, Author 2, Author 3. 著者。共著の場合、カンマで区切る。ピリオドを必ず最後に付ける。
Issue date. 発行日。ピリオドを必ず最後に付ける
(Format: TXT=aaa, PS=bbb bytes) ファイル形式。ASCIIテキスト(TXT)とPostScript(PS)がある。"="の後はファイルのサイズ
(Obsoletes xxx) このRFCによって、RFCxxxが廃止されたことを示す
(Obsoleted by xxx) RFC xxxによって、このRFCは廃止されたことを示す。RFC xxxを参照する
(Updates xxx) このRFCはRFC xxxを更新することを示す。RFC xxxも合わせて参照する
(Updated by xxx) RFC xxxによって更新されたことを示す。RFC xxxも合わせて参照する
(Also FYI ####) サブシリーズとその番号を示す。FYI以外にSTDやBCPもある
(Status: INFORMATIONAL) カテゴリを示す。Standards Trackのものは、その段階(PROPOSED STANDARD、DRAFT STANDARD、 STANDARD)を示す

 このような一覧のほか、RFC600以降では、各RFCの内容を数行に要約したものを、100個ずつまとめたRFCが発行されている。たとえばRFC600からRFC699の要約は、RFC699というふうに、末尾2桁が99のRFCが要約となっている。ただしRFC700からRFC799の要約だけはRFC800になっている。

 rfc-index.txtの中から、例としてRFC959(FTPプロトコル)の記述を以下に示しておこう。

rfc-index.txtの例
「rfc-index.txt」にはRFCの一覧が記述されており、各RFCがその発行順に並んでいる。これはRFC959(FTPプロトコル)の例。
【実際のrfc-index.txtのテキストを表示するには、ここをクリックしてください。サイズが大きいので注意してください(サイズ:433Kbytes)】
 (1)RFCの番号。
 (2)タイトル。
 (3) 著者。
 (4)発行日。
 (5) ASCIIテキストで、サイズは151,249bytes。
 (6)廃止されたRFC。RFC765は、このRFC959によって置き換えられた。
 (7) RFC2228とRFC2640によって、このRFC959は更新されている。RFC959とともに、これらのRFCも参照する必要がある 。
 (8)サブシリーズのSTD9である。STDについては後述
 (9)Internet Standardsプロトコルである。

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。