Skip to main content

ircbgp

Small script to simulate bgp with students using IRC.

What is needed

You need to design a topology and for each link between two ASes create an irc channel on a irc server. You can now assign AS numbers to students and let them either interact with this bot and/or each other.

Kudos to Tobias Fiebig, who used this concept in a lecture and gave the inspiration to write a bot for this.

Why?

Just a proof of concept, however, the bot could already be useful to replace participants leaving the lecture early.

Usage

Use screen to start multiple bots in parallel or use separate terminals:

   $ screen ircbgpbot Florian 1 '#as1-as2'
   $ screen ircbgpbot Claudia 2 '#as1-as2,#as2-as3'
   $ screen ircbgpbot Tobias  3 '#as2-as3'

This would start three bots connecting to a irc server running on localhost, names Florian, Claudia and Tobias. All three will start announcing their nickname and AS number (1-3) to the channels listed as last parameters.

Received announcements will then be forwarded to all other channels and the own AS-number appended(!) to the aspath.

Note: We are of course NOT implementing the whole BGP protocol and do not support things like withdrawals.

Testing convergence

The command msg:nickname:Text message can be used to send a message to the nickname given, if it was announced by somebody in the 'network'. Bots will print the message as debugging output.

Metadata

Release files for ircbgp 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ircbgp 0.0.1
File Size Uploaded
ircbgp-0.0.1.tar.gz 5.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ircbgp 0.0.1
File Interpreter ABI Platform
ircbgp-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 12.3 kB

Release files / ircbgp-0.0.1.tar.gz

Download URL ircbgp-0.0.1.tar.gz
Size 5.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c66c31419e587a66d139b0b34995f1ce10fbaedcbd2ded1641bd8759c4c3101a
BLAKE2b-256 checksum
How to use checksums
ac64bead4f4a2d6698fc36bd98886dd686657503f55fa450f541d07d374349d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

Release files / ircbgp-0.0.1-py3-none-any.whl

Download URL ircbgp-0.0.1-py3-none-any.whl
Size 6.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a598ac9262cf4e4a1952aef974ac1ddd853633a1c82e415b6061080568d49292
BLAKE2b-256 checksum
How to use checksums
175bacfe776e91bbb9209d2daeb5baebfe0641e1bc5e68f2b65bca3c5057e1d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page