burnt-resistor 2 days ago

FYI, the modern version of the intro networking book we (UC undergrad computer science) had 20 years ago is Computer Networks 6th ed. by Tanenbaum.

If you want a programming language to really dig into parsing and creating packets and binary data, Erlang (and Elixir), while a completely different programming paradigm daunting to novice users, are unmatched (pun intended) in generating and parsing binary packets with a native and flexible binary data type.

If you want to be able to observe, decode, and inspect real packets on your local network, then you need wireshark and/or tcpdump.

If you want a home lab for simulating various networks with various clients, servers, and network devices either XenServer (free) or VMware ESXi (pirated "free" v.7 or maybe v.8) are good options because they simulate dumb virtual switches, virtual networks, and virtual computers (VMs) in another piece of software that replaces a real computer's (usually a server but rarely a desktop or laptop, but also it can run inside a VM on desktop, laptop, or server using what's called a type-2 hypervisor) operating system with its own (type-1 hypervisor). (VMware pre-Broadcom and Citrix engineering cultures had an unspoken, unwritten "gentleman's agreement" that industry-limited pirating was cool so long as it wasn't unreasonable, and product licensing wouldn't break customers' production and would be limited to nags. Comes from the mouth(s) of (a) certain former product manager(s) at one or more of the above entities. Pirating developer use for self-demoing within the industry was a nonzero, unrecognized sales acquisition channel that was probably important in large customer bases but under-appreciated... most engineers/IT people don't want to have to deal with vendor sales/sales engineering meeting free lunches and sit through vendor demos so see if a product trial will work or just to get an installer and a demo license key.)

https://search.worldcat.org/title/1085945855

PS: I'm wondering if there's retro networking/netadmin homelab community that buys 10 Mbps - 1 GbE Cisco gear and goes through CCIE courseware to see all the old protocols and old problems like spanning tree loops, crossover cables pre auto–MDI-X, and duplex flapping with Intel PRO/1000 in generation 8-9 HP and Dell servers.

  • teleforce 2 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

      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!"

  • guerby a day ago

    There's also Proxmox as hypervisor, it's free software and very easy to install.

    Recent versions even have SDN builtin

    • maxrecursion a day ago

      I started using proxmox a couple months ago and it's great. A really great alternative to VMware after the broadcom takeover.

      • doubleg72 a day ago

        My VMware continues to work the same.

  • rkagerer 2 days ago

    I suspect Windows owed a not-insignificant portion of its popularity to their similarly lax attitude to licensing once upon a time.

    • burnt-resistor 2 days ago

      Sort of, inconsistently. Bill Gates' "An Open Letter to Hobbyists" was finger-wagging about rampant pirating of Altair BASIC in 1976 was a thing. The fight evolved into multiple generations of copy protection and cracking/copy defeat measures, SPA "shareware" crippleware, and Nancy Reagan-like "Don't Copy That Floppy". Personal-use pirating was rampant. Heck, when I worked at Egghead Software, the store manager's unofficial was anything that was shrinkwrapped but not envelope license sealed could be borrowed, taken home, and brought back. There wasn't much point in violating that generous policy because not for resale (NFR) full copies of the expensive stuff were available from the vendor representatives (Microsoft, Borland, Corel) for between $1 and $50 (USD). I think Borland C/C++ 3.1, the largest and heaviest shrinkwrapped software package with books ever made, was probably NFR $70.

  • UltraSane 2 days ago

    The Python library Scapy is also excellent at creating and manipulating network packets.

    EVE-NG is an excellent free network simulator.

vivzkestrel a day ago

Top notch stuff, would love to see a nice explanation of the class based and classes IP addressing. Those things always flew over my head because I could never grasp how they are implemented in the real world

  • immibis 2 hours ago

    Class based is the original idea where IPs 0.0.0.0-127.255.255.255 were automatically /8, 128.0.0.0 to 191.255.255.255 (I think) were /16, and 192.0.0.0.0-223.255.255.255 (I think - 224-239 are multicast and 240-255 are reserved) were /24.

    That's all it ever was.

albert_e a day ago

why does this site accept Github login ONLY? why not a simple email sign-up or other options?

I am rather wary about sharing my Github login/profile with third-party sites -- just keeping a separation between the profile that has links to many other automations and deployments

Someone else may not have a github profile for many reasons