One of the most common Interview questions for Networking related positions involves asking a candidate what occurs in order to move data through a Network. This is a great question to ask, because it requires understanding all the fundamental working parts of how data moves through the Internet.
I’ve interviewed hundreds of candidates. And I’ve been interviewed for dozens of roles. In each case, a question like the above has come up.
As many of you know, I’ve recently been publishing a series of videos covering Networking Fundamentals. I just recently released the final video in that series, and that video frames itself around answering this very important Interview question.
How Data moves through the Internet
The process of data flowing through the Internet involves three tables used by Hosts, Switches, and Routers.
A Tale of Three Tables
At it’s core, data moves through the Internet through the use of three distinct tables:
- Routing Table
- ARP Table (also known as an ARP Cache)
- MAC Address Table
Each of these tables is a mapping of something to something else.
- Routing Tables are a mapping of IP Networks to Interfaces
- or mappings of IP Networks to Next-Hop IP Addresses
- ARP Tables are a mapping of IP Addresses to MAC addresses
- MAC Address Tables are a mapping of Switchports to MAC Addresses
Each of these tables are used by the various devices involved in Networking:
- Hosts use Routing Tables and ARP Tables
- Routers use Routing Tables and ARP Tables
- Switches use MAC Address Tables
Understanding the exact process of how these tables are populated and used to forward packets is the crux of understanding how data moves through the Internet.
In this video, we illustrate each of these tables, and show you how they are populated and used to forward data. We follow the journey of a data packet as it travels through this Network Topology:
This video ties together elements from all the other videos in the Networking Fundamentals series and shows you every step, on every device, for a packet to get from Host A to Host B (and the response), then Host A to Host C (and the response):