Skip to content

Routing#


Previously we learned that switching is done at the local level, between systems on the same network. We looked at an illustration of a simple set of networks and we talked about ARP being used to translate IP addresses to MAC addresses. This enabled a system to send a print job to a printer attached to the same network.

Now we want to look at how another system, in another network, can also send a job to the same network attached printer. Here's the illustration again:

Simple set of networks Simple set of networks

Two networks and a router

Let's pretend that the laptop in "network 2" (on the right) with the IP address 192.168.88.11 wants to send a print job to 192.168.88.10 in "network 1" (on the left.) Based on what we discussed previously, you might believe that the system in "network 2" would use ARP to translate the IP address to a MAC address and then send the data over, but if you look at the other system inside of "network 2", it has an IP address that's the same as the network attached printer in "network 1".

So how can we send print jobs to the printer if its IP address collides (overlaps) with another IP address? There are many solutions to this problem, but we're going to keep this as simple as we can.

Pay attention to the fact that the router, in the middle of the illustration, has two IP addresses: 1.2.3.4 and 5.6.7.8. These IP addresses "represent" the networks on either side of the router. This means two things. Firstly, each IP address acts as a means of addressing systems inside of the network it represents, from outside of the network. It's like an IP address the rest of the world uses to talk to the network. Secondly, it's also the IP address that traffic from inside the network appears to come from when it's sending traffic to other networks outside of itself.

To better understand, this let's continue our example.

The system 192.168.88.11 wants to print something on 192.168.88.10 ("network 1"). It cannot address the printer directly, neither via its IP address or it's MAC address. Instead it's going to use the IP address that represents the network to the rest of the world: 1.2.3.4. So the system in "network 2" will be configured to send print jobs to 1.2.3.4 and not 192.168.88.10 (but the system in "network 1" can use 192.168.88.10 because it is a local system.)

This is a highly simplified example of the process of routing, but essentially when the traffic comes into 1.2.3.4 on a particular port number (we'll cover that later on) the router will know to send it to the right network and to the correct internal IP address of 192.168.88.10.

The printer will then see a print job coming from... 5.6.7.8. That's what I meant when I said the IP address representing the network is also the IP address that traffic will appear to come from. The printer won't see 192.168.88.11 - the internal IP of the system sending the print job - it will see 5.6.7.8, the public-facing IP address of the network from which the data came from.

Next#

That's enough on routing for now. That's a very high-level, simple, foundational knowledge of routing. Let's now take a closer look at IP addresses.