Textbook Recommendations for Mesh Networking

2 points by orbisvicis ↗ HN
I would like to build an application that communicates in a peer-to-peer fashion. I would like an overview of peer-to-peer, mesh and decentralized network algorithms/protocols so I can make an informed choice. As well as some hands-on instruction for building a simple network from the bottom up. I'd imagine this to be the counterpoint of "write-your-own server" tutorials that many languages feature. I also have no idea how to solve the unique-identifier registration problem. I only have a vague idea of how BitTorrent/kademlia works, and I could not make heads or tails of the purpose of cjdns from reading their white paper (can't find the original pdf anymore). I've always felt mesh networking to be like black magic and am looking for a book for enlightenment.

5 comments

[ 3.1 ms ] story [ 21.2 ms ] thread
I dunno about books but I'd dig up some papers from the Tribler folks to start getting some good heady discussions paged into my brain.
How much do you know about networking in general? TCP/UDP/IP/DNS, etc?

I ask because building a simple p2p app is built on top of the foundational stuff.

Probably not enough. I learned from Beej's guide to networking and some excerpts from the Linux programming interface, and have done a bit of network programming in C before moving to Python, but that was decades ago.
Go is great for networking. If you’re interested in tunnels and Ngrok, the original repo is easy to read.

Maybe build a chat app with TCP and UDP. Deploy it on a VM behind a reverse proxy like NGINX. Run the app in Docker or on the VM and setup iptables.

That could be a great summer project. If you want to do low level stuff, Beej is king. You could implement a DNS server. It’s not too terrible.