Moving Bits: Networking Fundamentals, Part 3

Moving Bits: Networking Fundamentals, Part 3

This is the third part of the Networking Fundamentals series, in which I aspire to simplify networking by using a consistent mental model based on postal systems, while tying abstractions to concrete examples of networking relevant to software engineering. In the previous two parts, I described the analogy of a postal system and the three relevant layer abstractions I use in this fundamentals series, and expanded on that analogy to discuss addressing and provide a very simple HTTP request/response example. If you haven’t reviewed those parts, please do, as they provide valuable context for this and future posts. Private Addresses…
Read More
Moving Bits: Networking Fundamentals, Part 2

Moving Bits: Networking Fundamentals, Part 2

In the first part of this series on Networking Fundamentals, I discussed three basic layer concepts in networking, and described them using an analogy to a physical postal system. If you haven’t read that post, please review it before moving on. However, to briefly recap, the three layers I discussed were: a physical layer, which allows for the conveyance of information, and is analogous to the carriers, logistics systems, and delivery and drop-off points in a postal system;  a packaging layer, which allows for addressing and packaging of information, and is analogous to the envelope a letter goes into; and…
Read More
Moving Bits: Networking Fundamentals, Part 1

Moving Bits: Networking Fundamentals, Part 1

At The Aspiring Principal I strive to offer a broad variety of insight, not only on career and industry topics, but also technical ones. I have found recently that many engineers think of networking as black magic, and as a consequence tend to avoid understanding it, thinking it’s too complex or too difficult. The unfortunate effects of this avoidance are bad decisions or unfounded assumptions when building systems. In this series I will strive to provide a fundamental review of networking, with particular emphasis on HTTP interactions over TCP/IP (i.e., Internet-like) networks. Three Layers, and an Analogy While it is…
Read More