Pi Digit Generation Protocol
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<ref>Vorlage:RFC-Internet</ref> spezifiziert. Federführend bei der Entwicklung war Hugh C. Kennedy von der University of Michigan.<ref><templatestyles src="Webarchiv/styles.css" />Hugh C. Kennedy. ( vom 25. Mai 2022 im Internet Archive) University of Michigan.</ref>
Das Protokoll steht in der Tradition der ohne ernsthafte Anwendungen gedachten Aprilscherz-RFC.<ref>Thomas Limoncelli, Peter Salus: The Complete April Fools’ Day RFCs. Peer-to-Peer Communications, 2007, ISBN 978-1-57398-042-5.</ref> 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 <math>\tfrac{22}{7}</math> gleichenden Dezimalzahl angeboten werden. Ein weiterer 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.<ref>Chad Boutin: <templatestyles src="Webarchiv/styles.css" />Pi seems a good random number generator – but not always the best. ( vom 25. Dezember 2010 im Internet Archive) Purdue University, 26. April 2005</ref>
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.
Weblinks[Bearbeiten]
- Vorlage:RFC-Internet
- gpigen-Projektseite. sourceforge.net (englisch)
Einzelnachweise[Bearbeiten]
<references />