Course by Ivan Velichko

Computer Networking Fundamentals For Developers, DevOps, and Platform Engineers

Computer Networking Fundamentals For Developers, DevOps, and Platform Engineers (cover image)

As software engineers, we often need to deal with networking. Some of the most common tasks include troubleshooting connectivity between servers, setting up container networking, choosing a Kubernetes CNI plugin, and even configuring a SOHO network. Many of the problems we encounter are at the IP layer and above (TCP, UDP, HTTP, etc.), so most of the learning materials available online focus on these higher-level concepts. However, to effectively solve the higher-level problems, we need to understand the fundamentals of the underlying protocols.

This mini-course aims to clarify the basics of the Data Link Layer (OSI Layer 2) of wired networks (Ethernet) while connecting the dots with the Internet Layer (IP) along the way. The knowledge you gain from this course is essential for understanding data center and cloud network topologies, as well as the virtualized Docker and Kubernetes networking setups.

Get notified about new lessons straight to your inbox!