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>
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
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 is2a0d: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
- The lab speaker builds an UPDATE. Click bytes to see it, hover to decode it
- pr01 checks it against its import filter
- pr01 decides, per neighbour, whether to pass it on
- Your announcement propagates throughout the whole internet!
ping 2a0d:d741:<n>::1answers, 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.