Live data from Hacker News

Show HN: I'm writing a free book called Computer Networks from Scratch

networksfromscratch.com

111–120 of 138 posts

Re: Show HN: I'm writing a free book called Computer Networks from Scratch

#111

Earlier quoted context omitted.

> Ethernet, and 802.11 full duplex ethernet circuits (eg: a basic cheap 10Gbps 1310/LR carried over two $30 transceivers and a six foot fiber patch cable between two pieces of equipment) and a half-duplex TDD/CSMA regime like 802.11b/g/n/ac/ax are not the same thing. yes they both enable ethernet connectivity between devices on fabrics of things that can see and arp each other. the ethernet 10GbE might be shared by m…

You're right for sure. I probably should have clarified that when I said "Ethernet", I meant classic 10 Mbps Ethernet that today's kids probably don't know about. The Ethernet hub acted like a bus: anything one connection said was broadcast to _ALL_ other connections. Of course, today we have far faster point-to-point switches. But it helps to remember that the Ethernet-protocol was built in the days of old: half-dup…

I'd argue that the legacy of CSMA/CD still alive in ethernet is what makes it harder to implement efficient networks, as the switched network kinda tries to emulate the shared bus behaviour.

Re: Show HN: I'm writing a free book called Computer Networks from Scratch

#112

> The answers I get have taught me that most programmers don't have a basic understanding of how the internet works outside of their narrow specialty. This lack of a rudimentary mental model is one of the largest contributors to wasted time and effort in web application development. I'm curious what specific mistakes you're thinking of that application developers make when they don't understand computer networks. In…

I had multi-day bugs caused by people not knowing what "0.0.0.0" IP address is, or network address in IPv4 in general, and using that expecting to be connected to localhost (turns out, when you tell system to connect to any address, there's no guarantee you connect to 127.0.0.1)

Re: Show HN: I'm writing a free book called Computer Networks from Scratch

#113
post #110

Earlier quoted context omitted.

The book “CODE” uses exactly this pattern. It starts with two people talking to each other via cans connected with string, and works its way up to complex networks and processor architecture.

That sounds like an enjoyable read. Could you share the ISBN or link? Thanks

https://www.amazon.com/Code-Language-Computer-Hardware-Softw...

Re: Show HN: I'm writing a free book called Computer Networks from Scratch

#114

> The answers I get have taught me that most programmers don't have a basic understanding of how the internet works outside of their narrow specialty Just yesterday I couldn't fall asleep because my stupid brain thought something like "What information would I need to fully grasp the topic 'programming'?". Since I am a visual thinker, I quickly started to draw a mind map in my head that basically started with the his…

[deleted]

Re: Show HN: I'm writing a free book called Computer Networks from Scratch

#115

Earlier quoted context omitted.

What are you plans for addressing the fact that most modern network innovation is invisible to the end host’s kernel, let alone the application. I’ve struggled to find a book that doesn’t just hand wave layer 1 and assume layer 2 is ethernet everywhere.

Layers 1 and 2 of the osi model require electronics engineering, heavy math, and materials science. It's not all that network related. WiFi and xray transmissions is of course covered in most books though at least in terms of its capabilities. What more do you want to know about level 1 and 2?

I did things like Nyquist/Shannon, things like Manchester encoding and stop bits, etc 20 years ago in an electronics module at university. Barely remember anything about them, and haven't used them at all. Some colleagues might as they deal with satellite clearance and uplinks, but I'm just nice simple IP, and it's not going to help me with my (presumably) BFD issue which is causing my BGP routes to one site to fail over in 30 seconds rather than a few milliseconds.

It's insanely rare in my industry to encounter anything that isn't ethernet, hell even ethernet with MTUs below 1500 are fairly rare outside of VPN provisions. Sure there are some, especially in the high end areas, but it's so rare and tends to eventually present as ethernet.

Far more use for almost everyone is an understanding of Ethernet, IP(4+6), TCP/UDP/ICMP and how routing works (the concepts more than the specifics - things like how traffic can route asymetrically, how packets can be sent on different routes, etc). You could include other protocols like LLDP and arp (maybe LACP as part of the different routes), mention about how a traceroute will hide information when routers either don't decrement MTUs, or just stick the entire packet in an MPLS packet and pass it through the network, mention how just because your traceroute shows 20% loss at hop 7 it doesn't mean hop 7 is bad, and again how the ttl expired response may be dealt with with a low priority, or travel on a completely separate network, etc.

I would think all of that is far more useful than knowing that you need Manchester to keep your clock or how you use PSK to increase the symbols through your medium

Re: Show HN: I'm writing a free book called Computer Networks from Scratch

#116
post #2

Peterson and Davie's Computer Networks: A Systems Approach is also free: https://book.systemsapproach.org

I was about to comment the exact same thing. This book's bottom upwards approach is something that gave amazing insight on how well designed the Internet and computer networks are. I will forever be grateful to these guys for making free so a broke student like I was could afford that knowledge.

Re: Show HN: I'm writing a free book called Computer Networks from Scratch

#117

Earlier quoted context omitted.

> Ethernet, and 802.11 full duplex ethernet circuits (eg: a basic cheap 10Gbps 1310/LR carried over two $30 transceivers and a six foot fiber patch cable between two pieces of equipment) and a half-duplex TDD/CSMA regime like 802.11b/g/n/ac/ax are not the same thing. yes they both enable ethernet connectivity between devices on fabrics of things that can see and arp each other. the ethernet 10GbE might be shared by m…

You're right for sure. I probably should have clarified that when I said "Ethernet", I meant classic 10 Mbps Ethernet that today's kids probably don't know about. The Ethernet hub acted like a bus: anything one connection said was broadcast to _ALL_ other connections. Of course, today we have far faster point-to-point switches. But it helps to remember that the Ethernet-protocol was built in the days of old: half-dup…

I learned that during my studies two years ago. Also the leaky abstration in the OSI model was a topic. We had a good prof it seems :)

Re: Show HN: I'm writing a free book called Computer Networks from Scratch

#118

Earlier quoted context omitted.

> Dave knows to stay off the channel (otherwise he will cause interference) What would be the Bob-Alice-Dave equivalent to replacing the network hub with a switch?

There is no true radio analogue here in the sense of how OP was explaining it. At least in a wireless context, CDMA and TDMA are flawed examples because, CDMA uses fancy math to split communications over multiple channels and TDMA cuts the channels up into timeslots. You don't get full bandwidth allotment and utilization. To make a wireless switch, you'd need to have PTP optical/microwave/radio links which have highl…

Even in a wired context, frame-based protocols inherently utilize TDMA (over multiple channels), just not on timescales you normally think about.

If I'm not mistaken, the radio example uses both frequency division and time division. You're on a particular channel (typically frequency, although AM exists too), and only one person can talk at a given instant, or else you get a collision which results in probably garbled output. (There's also space division at play, since radios are not infinitely powerful.)

If the relay hop is also done over radio, then it's most likely achieved by hopping to dedicated frequencies for backbone comms, ideally with a separate antenna per channel so we can listen on all of them simultaneously. (You could constantly sweep the frequency space, but it's simpler to just have multiple antennas / radios.)

A (modern) real-world example is that I can use my phone as a wifi hotspot. It relays packets to/from its upstream link (4G or even wifi again). (It also presumably behaves like a NAT, but that's an implementation detail.)

Re: Show HN: I'm writing a free book called Computer Networks from Scratch

#119
post #113
post #110

Earlier quoted context omitted.

That sounds like an enjoyable read. Could you share the ISBN or link? Thanks

https://www.amazon.com/Code-Language-Computer-Hardware-Softw...

Thanks, just picked this up, look forward to reading this.

Re: Show HN: I'm writing a free book called Computer Networks from Scratch

#120

I feel like walkie talkies are something all network engineers need to play with. Furthermore, remember that real world telephone and radio networks were in fact... Networks. (Called 'nets' in the radio world) Ethernet, and 802.11, are both based on the concept of a singular channel shared by many individuals. When Alice talks, she says 'I'm Alice calling Bob, can you hear me Over'. Alice is the source address. Bob i…

I absolutely love this. Makes the core concepts easy to grasp and to build upon. When I write software I think of objects and messages in a similar way.

Well, there is already a term for that: "Bottom up". I used to think learning abstract design "Top down" is a better way to get good at design, but the "Bottom Up" way, by walking me through the implementation and design, sticks with me in the long run.
Post reply on HN