A few months ago, I got a flattering comment from a colleague on Slack:
Not only that reinforced my love of blogging but it made me think about how I would start learning networking today, especially given my colleague’s comment that followed:
I started learning networking almost twenty years ago (yes, I know, I’m ancient) and I am not sure what sort of material you’d use in 2021, with cloud, containers and automation technologies commonly adopted (life was different in 2002, where I sat down one summer with my brother’s CCNA 800-page book and read it from cover to cover).
So I asked for some tips and here are some resources to learn ‘modern’ networking:
One consensus from that Twitter engagement was that the basics are still essential. You still need to understand the OSI layers, you still need to understand basic IP subnetting and some of the books I read a while back from Wendell Odom are still relevant:
I had an earlier version of the book above but the CCNA book tends to remain a good reference, even it’s obviously Cisco-biased. Once you’ve learned the basic, understand how the pieces work together, as my former mentor Mike put it:
I read the CCDA (Cisco Certified Design Associate) book 10-12 years ago and I remember that it gave a good explanation of the various building blocks of an IP infrastructure.
On a similar topic – one book I haven’t read but I trust the authors is “Computer Networking Problems and Solutions” once you are ready to think more about design and architecture.
I read and re-read Jeff Doyle and Jennifer Carroll’s “Routing TCP/IP” books many times. They’re incredibly deep but useful when you try to understand a more complex aspect of routing.
If you study wireless networking, I found this book to be an excellent reference:
If you want a free, open-source (as in, you can contribute to its development) resource, I would recommend Systems Approach, as it covers a wide range of networking technologies and is regularly being updated.
I probably have over twenty networking books accumulated over the past fifteen years but books only are not enough to learn.
I was recommended these videos on YouTube and there are many contents on Plurasight/Acloud.guru, especially towards cloud networking. On that topic, that was something many folks said on the Twitter thread – newcomers to networking might want to focus on cloud networking if that’s where their company or application will be deployed (no point in learning Spanning Tree if you’re going to deploy EC2 instances).
The book below is probably the technical book I have read the most in the past 3 years. Frankly I would recommend it to folks, even if they are not using AWS yet: it explains all the aspects of networks I would want to learn (DNS, load-balancing, caching, Internet, security, automation).
Finally, I would agree with Grant on the following:
I would strongly encourage anyone that begins their studies of networking that they consider how they would programmatically network – with whichever tool is best suited to them or the project they are working on (Ansible, Terraform, but also projects like Netbox).
Thanks for reading and good luck on your networking education!