Remix.run Logo
teleforce 3 days ago

I've also had Computer Networks, 1st Edition by Tanembaum as my textbook back in the days.

Nowadays, you will be much better of with Computer Networking: A Top Down Approach by Kurose now in 8th edition:

https://gaia.cs.umass.edu/kurose_ross/index.php

There's also videos by Prof Kurose himself teaching from the book from Youtube, and additionally the ppt slides and exercises are available without registration unlike many textbooks.

I think the book set a very high standard on how textbook should be written and presented (any subject not only computer networking).

Fun facts, the 1st edition already logically and fundamentally separated forwarding and control planes for better understanding even before the modern software-defined networking (SDN) was proposed. The newer editions already have forwarding and control in separate chapters, nice.

burnt-resistor 2 days ago | parent [-]

2nd edition. I was one of the fools who didn't go start a startup in Palo Alto when money was raining heavier than tulips in 17th c. Holland.

I think you're waxing rosy retrospection that might be overly-generous. The OSI model turned out to be an overly-complicated, academic mirage and not a great fit to describe reality that wasn't useful L4+. SDN is mostly just network virtualization / tunneling by encapsulation, which has been rediscovered over and over again since the telegraph, with the exception network gear became more programmatically flexible with the control plane / data plane concepts. With added expense, it's nice to have physically-separated management &| control plane networks from the data plane for security, backup connectivity, and DDoS out-of-band resilience.

Even then, I think the academic networking curriculum missed opportunities to be practical and relevant with general basic network administration principles and high-performance interfacing approaches, such as offloading types, DMA, and zero copy.

C'est la vie. There's EE/CS academia, which does teach general principles and hard fundamental well, but falls short of being practical. It seems like the pragmatic-experimentation side could be improved without sacrificing rigorous theoretical foundations. Because what's the (@!$&% practical point of implementing MICMAC in 44 microinstructions with Huffman-encoded macroinstructions and gradual decoding minimized for microinstructions and for microcycles? Competitive hazing ritual abuse recounting. "Oh yeah, I had to code upside-down, blindfolded, in the snow with only 4 keys made of ivory and we had to hunt the elephants ourselves!"