Files
ferrix/slides/sections/05-lab.md
T
Rayhaan JaufeerallyandClaude Fable 5.1 2910a2a800 slides: light theme, final edits, single-file bundle
As presented. The palette is light on request of the reviewer; code blocks
and byte dumps keep a dark ground so the byte colours still work. The OPEN
walk lights the hovered bytes as an inverted block and its table cells are
dark text on a tint of their group colour.

build.py inlines reveal.js, the stylesheets, scripts and Markdown sections
into slides/dist/hands-on-bgp.html for uploading.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-01 20:40:55 +02:00

4.0 KiB

The lab

bgplab.rayhaan.net

Notes: Section 5. What the students are about to touch, and what stands between a typo and the Internet.


What you are connected to

youa browser lab speakerAS4200000001 pr01.rue (BIRD)AS210036 HTTPS BGP web page + BGP speakerfilters, then decides where SwissIX NL-ix France-IX DE-CIX transit

Notes: The lab speaker is a small BGP daemon written for this course; it runs on the same machine as the router. Both dashed hops are real BGP sessions. Everything to the right of pr01 is the actual Internet.


Your prefix

2a0d:d741:<n>::/48

  • <n> is your number in hex: student 10 is 2a0d:d741:a::/48
  • Put your name in owner: only the owner can withdraw a route
  • One prefix each

Notes: Put the URL and the class password on the board. The page is a snapshot by default; turn on auto-refresh at the top right to watch things change.


What happens when you press Announce

  1. The lab speaker builds an UPDATE. Click bytes to see it, hover to decode it
  2. pr01 checks it against its import filter
  3. pr01 decides, per neighbour, whether to pass it on
  4. Your announcement propagates throughout the whole internet!
  5. ping 2a0d:d741:<n>::1 answers, from anywhere

Notes: Step 5: pr01 answers for every address in the lab space, so reachability of your prefix depends only on whether your announcement got out.


Steering your route

You add Who acts Effect
nothing announced everywhere
210036:0:0 pr01 announced nowhere
210036:0:0 210036:1:42476 pr01 only to the SwissIX route servers
+ 42476:0:0 42476:1:559 SwissIX …and from there only to SWITCH
NO_EXPORT pr01 accepted, never passed on

Same idea at two hops: never there, only there, nowhere.

Notes: 210036:0: never to that AS, 210036:1: to that AS, 210036:2/3: the same by exchange (1 SwissIX, 2 NL-ix, 3 France-IX, 4 DE-CIX). A "never" always wins. The preset menu next to the field has all of these.


Handout Part 2 & 3

Notes: Looking glasses: bgp.tools, RIPEstat, and the exchange's own. Global visibility takes a minute or two to settle after each change.