@@ -7,17 +7,25 @@ Networking is one of the most global and durable technologies you'll ever touch.
77Its fundamentals are going nowhere, and when you make all those invisible layers
88of the internet visible and intuitive to you, you become a better developer.
99
10+ Everything here is meant to be ** reproduced** . The bill of materials, the OS
11+ image tooling, and the lesson scripts all live in this repo so you can build
12+ your own little internet and follow along.
13+
1014_ And have some fun along the way._
1115
1216## How I'm rolling out the little internet
1317
14- We start with a single network, then two networks, and then a working facsimile
15- of the internet you know and love. Each phase comes with lessons as technical
16- write-ups ([ ngrok blog] ( https://ngrok.com/blog ) ), YouTube videos
17- ([ ngrok @ YouTube] ( https://www.youtube.com/@ngrokHQ ) ), and follow-along scripts
18- in this repo.
18+ I'm going from single network, then two networks, and then a working facsimile
19+ of the internet you know and love.
20+
21+ As I go, I'll write [ diaries] ( ./diaries/ ) that track questions I'm asking about
22+ the little internet and the paths I've taken to unpuzzle and understand them.
23+ Each of those gets a hands-on [ lesson] ( ./lessons ) you can run yourself. I'll
24+ also peel off particularly tasty deep-dives on different protocols over to the
25+ [ ngrok blog] ( https://ngrok.com/blog ) and
26+ [ YouTube] ( https://www.youtube.com/@ngrokHQ ) .
1927
20- Each phase includes just enough hardware to make the next set of ideas tangible.
28+ Here's the whole big picture:
2129
2230- ** Phase 1: a network.** Two Pis and a managed switch. How do devices on the
2331 same network find and talk to each other? _ ARP, MAC addresses, broadcast
@@ -30,16 +38,18 @@ Each phase includes just enough hardware to make the next set of ideas tangible.
3038 advertise their reachability to one another. _ Autonomous systems, BGP, path
3139 selection, convergence_ , plus side quests like DNS, TLS, and Pi-hole.
3240
33- ## Want to build your own?
41+ ## Want to build your own little internet ?
3442
35431 . Gather the hardware. See [ ` BOM.md ` ] ( ./BOM.md ) for the full parts list by
3644 phase.
37452 . Download a prebuilt image from [ Releases] ( ../../releases ) , or build your own.
3846 Either way, see [ ` image/ ` ] ( ./image/ ) for getting the Raspberry Pi OS image
3947 (built with [ pi-gen] ( https://github.com/RPi-Distro/pi-gen ) ) and flashing it
4048 to your microSD cards.
41- 3 . Follow the lessons. (Coming soon. Start with lesson 00, "why can't these two
42- Pis just talk to each other?")
49+ 3 . Follow the lessons. Start with [ ` lesson 00 ` ] ( ./lessons/00/ ) , "two Pis, one
50+ cable: can they just talk?"
51+ 4 . Read the diaries for the story behind it all. They're the running build log
52+ of putting this together, in the order each piece came to life.
4353
4454## Repo layout
4555
@@ -49,10 +59,22 @@ Each phase includes just enough hardware to make the next set of ideas tangible.
4959├── BOM.md Bill of materials — every part, by phase, with vendors.
5060├── image/ pi-gen config that builds the Raspberry Pi OS image the
5161│ nodes run, plus instructions for building and flashing it.
52- └── lessons/ (coming soon) One directory per lesson: an explainer, the
53- scripts to run it yourself, and recorded packet captures.
62+ ├── diaries/ Running build log of how the network came together, one
63+ │ prose file per session, in the order things happened.
64+ ├── lessons/ One directory per lesson: an explainer, the scripts to run
65+ │ it yourself, and recorded packet captures. Start with
66+ │ lessons/00.
67+ └── AGENTS.md Guidance for coding agents that teach or operate the labs.
5468```
5569
70+ ## Using a coding agent
71+
72+ Coding agents can teach from the docs, run the Linux virtual lab, or drive real
73+ Pis over SSH while you handle the cable and hardware. Point them at
74+ [ ` AGENTS.md ` ] ( ./AGENTS.md ) first; lesson 00 also has a machine-readable
75+ [ ` manifest.json ` ] ( ./lessons/00/manifest.json ) with beats, commands, expected
76+ observations, and recovery steps.
77+
5678## Contributing
5779
5880Want to help? Open an issue or email me at joel@ngrok.com .
0 commit comments