Categories
Networking

Finding the Way Through the Internet: IP Routing and Forwarding

We’ve covered IP in depth; how packets are structured, addressed, and handed off between layers. We went through TCP’s reliability and UDP’s lean, no-guarantee model. But there’s a gap we left open. We kept saying “packets hop through routers” without ever explaining how a router actually decides where to send something. The internet spans billions […]

Categories
Networking

Introduction to NDP (IPv6 Neighbor Discovery Protocol)

NDP comes up a lot alongside ARP because it essentially replaces ARP for IPv6 networks. Where ARP handles address resolution in IPv4, NDP takes on that role, and more in IPv6. One thing worth clarifying: NDP operates at Layer 3, not Layer 2 or the sometimes-cited “Layer 2.5” like ARP. This is because NDP is […]

Categories
Networking

ARP (Address Resolution Protocol): Mapping IP to MAC Addresses

We’ve already covered TCP and UDP for data transfer, and how the IP layer wraps them for transport. Now we’re going one layer lower, the link layer, where we need to talk about how IP addresses get mapped to MAC addresses. You can find all the scripts used in this article, as well as the […]

Categories
Networking

Creating UDP Sockets with Python’s Socket Module

UDP: connectionless, fast, and built for speed over accuracy, the go-to protocol for real-time gaming, streaming, and anything where being fast matters more than being perfect. You might think UDP can’t be explained in a single line. Nevertheless, while this article sets out to explain UDP, as we go through it, we’ll find that we’re […]

Categories
Networking

Connection Between Client and Server: Packet Flow

Once the TCP handshake completes, data begins to flow between machines. This article breaks down how that data moves across the network using the TCP protocol. Packet flow is handled by two protocols: TCP and UDP. This article covers TCP; UDP will be covered next. Prerequisites: Familiarity with the TCP/IP transport layer and basic socket […]

Categories
Networking

OSI Model: 7 Layers of a Network Connection

Network, network, and network again. This is technically the second side article on TCP/IP handshake, but honestly, it stands on its own, because the OSI model is way bigger than anything we’ve covered so far. We’ve already gone through IP, TCP, and the TCP handshake. Now we’re stepping back from the Transport Layer and looking […]

Categories
Networking

Behind the Handshake: TCP and IP Protocols

The handshake article touched on TCP and IP without going deep. The handshake is enough to understand on its own. But if you’ve ever wondered what TCP actually is, what it does, or why IP exists underneath it, that’s what this article is for. We’ll cover the Transport layer, how TCP operates inside it, and […]

Categories
Networking

Connection Between Client and Server: TCP/IP Handshake

Welcome to the first chapter of Connection Between Client and Server and also the first post on this blog. Before we dive in, two things worth knowing: my tone and how I structure articles. Tone: I keep things relaxed most of the time, but when we get into technical territory you’ll notice the writing gets […]