Taschenrechner mit BGP

Im IRC-Kanal der German Network Operators Group DENOG liest man täglich interessante fachliche Diskussionen zu verschiedenen Netzwerkthemen. Die Leute dort sind sehr hilfsbereit, eine wirklich nette Community. Hin und wieder finden sich dort auch mal ein paar außergewöhnliche Inhalte, wie gestern z.B. dieser BGP-Taschenrechner von Job Snijders.

Do you often find yourself in need of a simple calculator, and all you have
available to you is a Brocade or Cisco IOS router? No longer will you
experience the horror and dread of mental arithmetics. The route-map calculator
is here!

Der Rechner beherrscht die vier Grundrechenarten mit Ganzzahlarithmetik. Und so funktioniert er: Router A annonciert Routen an Router B und formuliert die Rechenaufgabe durch das Setzen der passenden Communities, wie in der E-Mail von Job beispielhaft beschrieben. Das Ergebnis kann dann auf Router B abgelesen werden, ebenfalls in Form von Communities.

Durch die Config habe ich kurz mal durchgescrollt, alles Weitere schien mir dann zu anstrengend… Demzufolge kann ich die Funktionsweise auch nicht wirklich detailliert beschreiben. Aber darum geht es hier auch nicht. Vielmehr wollte ich diese kuriose Idee vorstellen. Für diese und ähnliche Perlen des Internets plane ich übrigens eine ganze Serie, welche ich zukünftig unter der gleichnamigen Kategorie veröffentlichen werde.

Und natürlich weise ich auch gern noch auf die Warnung von Job hin:

WARNING: due to IOS/Ironware architecture this route-map consumes quite
some memory. Always test in a lab before deploying in production!

Interessant ist übrigens auch die Antwort von Jennifer Rexford:

Fun! More generally, BGP has the same computing power as a Turing Machine:

Marco Chiesa, Luca Cittadini, Guiseppe Di Battista, Laurent Vanbever, and Stefano Vissicchio
Using routers to build logic circuits: How powerful is BGP? (ICNP’13)
http://vanbever.eu/pdfs/vanbever_turing_icnp_2013.pdf

Foto von iSawRed auf Unsplash

sell
chat 0

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert