Das Pi Digit Generation Protocol ist ein Netzwerkprotokoll, das das Abrufen von Ziffern der Kreiszahl Pi (π) über Netzwerke ermöglichen soll. Es ist im RFC 3091[1] spezifiziert. Federführend bei der Entwicklung war Hugh C. Kennedy von der University of Michigan.[2]

Das Protokoll steht in der Tradition der ohne ernsthafte Anwendungen gedachten Aprilscherz-RFC.[3] Wie auch beim Internet Protocol over Avian Carriers, Peg DHCP und dem Hyper Text Coffee Pot Control Protocol wurde das Konzept allerdings tatsächlich umgesetzt.

Technisches

Bearbeiten

Vorgesehen ist, dass ein Server auf TCP-Port 314159 wartet, und auf Anfragen mit dem sequentiellen Senden der Nachkommastellen von Pi reagiert (also 1, 4, 1, 5, 9, 2, 6 usw.) . Optional kann, als Näherung, auf Port 220007 die Ziffern der   gleichenden Dezimalzahl angeboten werden. Ein weiter optionaler Zusatz ist ein UDP-Dienst auf Port 314159, der auf Anfrage eine bestimmte Ziffer, wie sie der Client zur Angabe einer Position spezifiziert hat, antwortet. An die IP-Multicast-Adresse 314.159.265.359 kann als weiterer Zusatz von einem willigen Server ein Strom von Pi-Ziffern gesendet werden, falls diese Rolle nicht ein anderer Server bereits übernommen hat. SRV Resource Records können unter dem Namen pigen protokollgerechte Server listen.

Anwendungen

Bearbeiten

Der RFC empfiehlt nachdrücklich, nur als vertrauenswürdig bekannte pigen-Server zu verwenden, da fehlerhafte oder gar absichtlich verfälschende Server je nach Anwendung fatale Auswirkungen haben könnten. So ist beim Einsatz in der Kryptographie besondere Vorsicht geboten.[4]

Implementierung

Bearbeiten

In Sektion 1.1 des RFC werden ohne Anspruch auf Vollständigkeit Methoden zur Bestimmung der Ziffern vorgeschlagen: Nachschlagen, numerische Verfahren und Auswahlverfahren. Dabei sollen aber Abweichungen ausgeschlossen sein.

Da die Portnummern 314159 und 220007 sowie die IP-Adresse 314.159.265.359 vorherrschenden Standards (16-Bit-Portnummern, IPv4-Oktette) zuwiderlaufenden, müssen Implementierungen von diesen Werten abweichen.

Eine Umsetzung ist die freie, für mehrere Plattformen verfügbare Programmsuite gpigen, ausgestattet mit Server und Client, geschrieben in C++. Der Chefentwickler ist Hideki Shirafuji. Sie läuft auf den Ports 50735 bzw. 23399.

Bearbeiten
  • RFC 3091 – Pi Digit Generation Protocol. 1. April 2001 (englisch).
  • gpigen-Projektseite. sourceforge.net (englisch)

Einzelnachweise

Bearbeiten
  1. RFC 3091 – Pi Digit Generation Protocol. 1. April 2001 (englisch).
  2. Hugh C. Kennedy. University of Michigan.
  3. Thomas Limoncelli, Peter Salus: The Complete April Fools’ Day RFCs. Peer-to-Peer Communications, 2007, ISBN 978-1-57398-042-5.
  4. Chad Boutin: Pi seems a good random number generator – but not always the best. (Memento des Originals vom 25. Dezember 2010 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/news.uns.purdue.edu Purdue University, 26. April 2005