Articles on Networking

Last updated: 2022/06/21

Top deep-dives on Networking

What happens when...

Apparently asking what happens when you open a page in your browser is a popular interview questions for developers. I didn't know that, and this article by a number of authors/contributors (exactly 69 gigiddy gigiddy) spares no details in answering the question, from the first keystroke to the last render.

What Does It Take To Resolve A Hostname

Content delivery networks (CDNs)

Another great part of the internet is being able to use resources from other people. This is a popular way of getting things done in web development (npm install check-if-variable-is-false??). But in web dev, you can use these scripts in real-time, when a user loads the page. Katie Hempenius' article discusses CDNs, one of the main ways of achieving this real-time resource sharing. Katie covers how they work, why caching is good, and how performance can be improved overall.

RTC (Real-Time Communication) at scale

Although this is a bit of an older article, its depth and breadth are impressive enough to warrant featuring. Horatiu Lazu gives an overview and history of signalling and media streaming, followed by an analysis of a number of different web communication protocols; ultimately concluding with a case study on Skype's P2P signaling protocol.

Making our own ping

But Alex, this is from almost a year ago! And it doesn't even link to a specific article! Blah reader! It might be... matured, and yes, there isn't a specific article at the link, there are 14! That's right, Amos has written a 14 part series on building your own ping, which starts from a short history of computer networking and culminates in crafting ICMP-bearing IPv4 packets with the help of bitvec. Looking as this essentially covered my entire class on networking in college, I figured it was worth sharing.

TLDs -- Putting the 'Fun' in the top of the DNS

Have you ever wondered what the difference between .com vs .net is? Or why all the hip hew startups use .io? Well although this article doesn't answer those questions directly, it providers enough inforamtion for you to determine that on your own. Jan Schaumann presents the initial list of top level domains, then goes on to give interesting factoids about other domains as they were added with references to the respective RFCs or events.

How Does NTP Work?

Hope you've been keeping all of that networking knowledge from previous articles sharp, because this one by Kevin Sookocheff is all about the Network Time Protocol (NTP). It's not actually tied to the previous articles, it would just be a nice cherry on top. Kevin explains the NTP network architecture, the local clock model, the phase and frequency locked loop, the algorithm for keeping clocks synchronized, and message format.

A Primer on Proxies

Lucas Pardue and Christopher Wood give a thorough overview of the technologies behind proxies, including TCP, HTTP. CONNECT, and QUIC.

No, It's Not Always DNS

Matt Pogue delves into the five standard layers of networking.

The Internet Was Designed With a Narrow Waist

Andy Chu explores how the narrow waist concept aims to reduce interoperability issues (using the internet as an example), and elaborates on why it should be applied to the shell and distributed systems.

The Two Generals Problem

Seth Archer Brown gives a high level overview of how handling guarantees in networks.

The perils of the “real” client IP

Adam Pritchard illuminates why it's so darn hard to get the real IP address from a request.

The perils of the “real” client IP

Adam Pritchard explains the difficulties in identifying the "correct" IP address of a client.

The tale of a single register value

Software debugging makes me feel a lot like a detective piecing together clues to reproduce the set of events that led to a specific error. Well Jakub Sitnicki's article is a tribute to such sleuthing. In it, Jakub uncovers the secrets of a bug so heinous, network admins have been known to wake up at night in cold sweats at a mere hint of its occurence; "a software bug where the network stack crashes in reaction to a single received network packet, taking down the whole operating system with it".

How masscan works

Artem Golubin goes into the nitty gritty of masscan, a "fast port scanner capable of scanning the entire IPv4 internet in under five minutes".

IPv4 addresses are silly, inet_aton(3) doubly so.

You're probably used to IPv4 addresses being specified in the a.b.c.d style notation, but did you know that technically "an IPv4 address is just a 32-bit number"? In this informative article, Jan Schaumann dives into the different notations accepted by the inet_aton(3) function and some of the inherent weirdness.

A tale of a trailing dot

Daniel Stenberg explains how trailing dots on host names in URLs are ridiculously annoying.

Implementing TLS Encrypted Client Hello

"TLS is one of the basic building blocks of the internet, it is what puts the S in HTTPS". Hans-Christoph Steiner's article explores the difficulties and nuances of implementing of Encrypted Client Hello (ECH); "the next step in improving Transport Layer Security (TLS)".

Matrix notes

Antoine Beaupré does a deep-dive on the Matrix communication protocol.

The Challenges of Fuzzing 5G Protocols

5G has been touted as the next step in enabling modern technology, from self-driving cars to smart cities. In this article, the author explores the results of testing three separate fuzzers on three different 5G protocols, and highlights the implications of the results. Damn Daniel! Back at it again with the networking!

RouterPi - A Compute Module 4 Router

Zak Kemble goes into the nitty-gritty of setting up a Raspberry Pi as a home router. Based on the comments, you could spin up a couple of these bad boys into a business.

Getting web proxys and certificates working on Linux or "if it's all the same to you, I'd rather take a thousand years of the Sarlacc pit, thankyouverymuch"

Jussi Pakkanen discusses the mind numbing problems of getting all network traffic for a "Very Big customer who [has] a Very Corporative network setup" to flow through their own proxy using their own SSL certs.

Reasons for servers to support IPv6

More of a long distance swim than a deep dive (the analogy checks out), in this article Julia Evans explores why supporting IPv6 is actually good.

The specs behind the specs part 1

Sebastian Weddmark Olsson does a thorough deep-dive into Abstract Syntax Notation One (ASN.1), the language used to outline the specs for different services.

Anycast in Segment Routing

There are a lot of technologies that go into making the internet work. Among these, routing protocols are of vital importance. Dmytro Shypovalov's technical article explains how segment routing, a modern variant of source routing that is being developed within the SPRING and IPv6 working groups of the IETF, can enable the use of anycast routing to be more widespread.

The Generals’ Scuttlebutt: Byzantine-Resilient Gossip Protocols [pdf]

Sandro Coretti, Alexander Russell, Aggelos Kiayias, and Cristopher Moore present a Byzantine-resilient network layer for blockchain protocols, quantify the problem of network-layer attacks in the context of blockchain security models, and develop a design that thwarts resource restricted adversaries, all in the context of the proof-of-stake setting.

Want to see more in-depth content?

subscribe to my newsletter!

Other Articles