Network Working Group H. Kennedy Request for Comments: 3091 University of Michigan Category: Informational 1 April 2001 πの数字生成プロトコル Pi Digit Generation Protocol このメモの位置づけ このメモはインターネットのコミュニティに対し情報を提供する。いかな る種類のインターネットの標準を規定するものでもない。このメモの配布 は制限されない。 著作権の表示 Copyright (C) The Internet Society (2001). All Rights Reserved. 概要 このメモではクライアントとホストコンピュータ上のサーバの間で使われ るπの数字生成サービス(PIgen)を提供するプロトコルを定義する。 序論 このプロトコルはπの数字生成サービス(PIgen)を提供し、クライアントと ホストコンピュータ上のサーバの間で使われるためのものである。典型的 には、クライアントはローカルにπをサポートしないワークステーション 上にあり、サーバーはより大きなπを計算する能力のあるより有能なマシ ンである。本質的なトレードオフは、ネットワーク資源を使うこととロー カルな計算周期の代わりの時間である。 この文書の中の 「なければならない」「してはならない」「必要となる」 「だろう」「ないだろう」「すべきだ」「すべきでない」「推奨される」 「てもよい」「オプションの」 というキーワードは RFC2119 [RFC2119] で述べられているように解釈されるべきだ。 注意 このサービスの実装により供給されるすべての数字は、πの真値または近 似値の小数点に続く ASCII [US-ASCII] による十進(10を底とする)数表現 である。このプロトコルで定義されるサービスで提供される値の前にある 暗に含まれた十進数の3(三)という値が存在すべきだ。 1. TCP ベースの数字生成サービス PIgen サービスで「必要となる」ものはステートレスな TCP サービスとし て定義される。サーバーは TCP の 314159 番ポートで待ち受ける。一旦接 続が確立されると、サーバーは小数点に続くもっとも重要な数字で始まる Kennedy Informational [Page 1] RFC 3091 Pi Digit Generation Protocol 1 April 2001 データの列を、1回にπのうちから1桁ずつ送る。すべての入力データは無 視され「なければならない」。これはクライアントが接続を終了するまで 続く。 接続によるデータフローは、普通の TCP のフローコントロールの機構によ り制限され、それゆえ、クライアントがそれを処理するのよりも速くサー バがデータを送ってしまうことを心配しなくてよい。 サーバーはこのサービスを提供するために、(それに制限されないけれども) テーブル参照[DIGITS]、数値計算[FIBPI,PIFFT]、統計的サンプリング [MCM]を含めた、πの数字生成の任意の適当な方法を使っ「てもよい」。し かし、選択された方法はπ生成された数字のために正確な値を提供「すべ きだ」。 PIgen の実装者は、このサービスをこの RFC に条件的にコンプライアント になるように提供「すべきだ」。 1.1. 近似サービス 「オプションの」 PIgen サービスは、ステートレスな TCP サービスとし て定義される。サーバーは TCP の 220007 番ポートで待ち受ける。一旦接 続が確立されると、サーバーは小数点に続くもっとも重要な数字で始まる データの列を、1回に 22/7 の比の数のうちから1桁ずつ送る。すべての入 力データは無視され「なければならない」。これはクライアントが接続を 終了するまで続く。 2. UDP ベースの数字生成サービス 「オプションの」 PIgen サービスは、ステートレスな UDP のサービスと して定義される。サーバーは UDP の 314159 番ポートで待ち受ける。πの 特定の桁を要求するデータグラムを受け取ると、2.1.1 節と 2.1.2 節で定 義された形式にしたがって、πの要求された桁の値を含む答えのデータグ ラムが送られる。 要求された桁の値は、πの数字生成の任意の適当な方法によって決定され 「てもよい」。「推奨される」方法にはテーブル参照[DIGITS]、数値計算 [BBPPA] を含む。 2.1. パケットのフォーマット PIgen プロトコルスィートのデータグラムベースのすべての機能は、以下 に述べる UDP データペイロードフォーマットを共有する。(フォーマット は RFC2234 [RFC2234] で ABNF の中に定義される) Kennedy Informational [Page 2] RFC 3091 Pi Digit Generation Protocol 1 April 2001 2.1.1. リクエストペイロードのフォーマット request = nth_digit nth_digit = 1*DIGIT ; 小数点から数えてn 桁目を指定する 2.1.2. リプライペイロードのフォーマットReply Payload Format reply = nth_digit ":" DIGIT ; DIGIT は 小数点から数えて n 桁目の値 2.2. 近似サービス 「オプションの」 PIgen サービスはステートレスな UDP のサービスとし て定義される。サーバーは UDP の 220007 番で待ち受ける。22/7 の比の 数の特定の桁を要求するデータグラムを受け取られると、2.1.2 節と 2.1.2 節で定義されたフォーマットにしたがって、22/7 の要求された桁の 値を含む答えのデータグラムが送られる。 3. IP マルチキャストベースの数字生成サービス 「オプションの」 PIgen サービスはステートレスな UDP サービスとして 定義される。πの数字のランダムな配布物は、2.1.2 節で述べられたペイ ロードのフォーマットを使って、314.159.265.359 の IP マルチキャスト グループに送られる。 リクエストの構造は存在しない。プロトコルスィートのこの機能を実装し たサーバーが PIgen マルチキャストグループに参加し、30 秒以内に数字 を提供するサーバーを検出できなかった場合は、PIgen マルチキャストプ ロバイダーになることを決め「てもよい」。 PIgen マルチキャストプロバイダーは、πの数字のランダムな配布物を生 成し、マルチキャストグループに向けてそれらを送る。PIgen マルチキャ ストクライアントは、長時間マルチキャストグループを聞くことによりπ の一貫した値を作り上げる。 ランダムに選択された桁の値はπの数字生成の任意の適当な方法により決 定され「てもよい」。「推奨される」方法には、テーブル参照 [DIGITS]、 数値計算 [BBPPA] を含む。十分にランダムな配布物であることを確かにす るために、特別な乱数生成器が使われるべきだ。[RANDOM] にいくつかの例 がある。 Kennedy Informational [Page 3] RFC 3091 Pi Digit Generation Protocol 1 April 2001 4. サービスの発見 クライアントは、PIgen サーバーを DNS SRV アルゴリズム[RFC2782] によっ て発見「すべきだ」。利用するサービスは "pigen" で、プロトコルは "tcp" と "udp" である。近似サービス(1.1 節と 2.2 節)は "pigem" のサー ビスを使って見つけられるべきだ。これは、アドレッシングのセントラル アドミニストレーションのために、リレーやコレクターの失敗のためのフォー ルバックと静的なロードバランシングを許す。 5. セキュリティの考察 ほとんどすべてのセキュアなインターネットプロトコルは正しく機能する ために非常に正確なπの値を必要とするので、クライアントは信頼できる PIgen サーバーのみを使うことが必須である。このガイドラインに厳格に したがっていないと、切迫したインターネットの崩壊が確実である。 6. 参考文献 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [US-ASCII] Coded Character Set--7-Bit American Standard Code for Information Interchange, ANSI X3.4-1986. [DIGITS] ftp://pi.super-computing.org/pub/pi [FIBPI] Pi and the Fibonacci Numbers http://www.mcs.surrey.ac.uk/Personal/R.Knott/Fibonacci/ fibpi.html [PIFFT] Pi Calculation based on FFT and AGM http://momonga.t.u- tokyo.ac.jp/~ooura/pi_fft.html [MCM] The Monte Carlo Method http://www.daimi.aau.dk/~u951581/pi/MonteCarlo/pimc.html [BBPPA] Bailey-Borwien-Plouffe Pi Algorithm http://www.mathsoft.com/asolve/plouffe/plouffe.html [RFC2234] Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", RFC 2234, November 1997. [RANDOM] Randomness for Crypto http://www.cs.berkeley.edu/~daw/rnd/ [RFC2782] Gulbrandsen, A., Vixie, P. and L. Esibov, "A DNS RR for specifying the location of services (DNS SRV)", RFC 2782, February 2000. Kennedy Informational [Page 4] RFC 3091 Pi Digit Generation Protocol 1 April 2001 [CHARGEN] Postel, J., "Character Generation Protocol", STD 22, RFC 864, May 1983. 7. 著者の連絡先 Hugh Kennedy University of Michigan 2281 Bonisteel Blvd. Ann Arbor, MI 48109-2099 USA EMail: kennedyh@engin.umich.edu Kennedy Informational [Page 5] RFC 3091 Pi Digit Generation Protocol 1 April 2001 完全な著作権表示 Copyright (C) The Internet Society (2001). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 謝辞 Funding for the RFC Editor function is currently provided by the Internet Society. Kennedy Informational [Page 6]