Skip to main content

Proof of concept implementation for an IRC bot to simulate bgp with students.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ircbgp-0.0.1.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

ircbgp-0.0.1-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file ircbgp-0.0.1.tar.gz.

File metadata

  • Download URL: ircbgp-0.0.1.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for ircbgp-0.0.1.tar.gz
Algorithm Hash digest
SHA256 c66c31419e587a66d139b0b34995f1ce10fbaedcbd2ded1641bd8759c4c3101a
MD5 bdbc7d53752508e47a23a8259d52cc0d
BLAKE2b-256 ac64bead4f4a2d6698fc36bd98886dd686657503f55fa450f541d07d374349d0

See more details on using hashes here.

File details

Details for the file ircbgp-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: ircbgp-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for ircbgp-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a598ac9262cf4e4a1952aef974ac1ddd853633a1c82e415b6061080568d49292
MD5 1e0b626ccfbef446548da981eae6fad7
BLAKE2b-256 175bacfe776e91bbb9209d2daeb5baebfe0641e1bc5e68f2b65bca3c5057e1d2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page