An introduction to IP addresses and NAT, network address translation

Posted September 7, 2021
We probably all have physically mailed something, we needed the recipient’s address. Wisconsin North America is probably not enough to get it there. When I studied at Edgewood college, the college had a mail room where mail was sorted and put in the mailboxes of employees and students. People who worked in the mailroom knew where the mailboxes of the professors and students were, the postoffice workers who delivered the mail to the college campus did not. as we will see later, individual mailboxes inside the college campus are like private IPs. Many pieces of mail to one of the two thousand people studying and working at the college had the same address on the envelope, but then people working inside the Edgewood campus knew if that person by name was staff, or a student, and where in the building their specific mailbox was.

When someone types something like
https://accessibility-insights.com
the browser actually doesn’t know where that is. It sends out a DNS request that returns an IP address

An IP address, like a postal address, is how data gets to a specific place on the internet. In the computer, IP addresses are long 32 bit numbers in binary, but when they are displayed for us humans to read they are usually translated back to 4 numbers in base 10 separated by periods, and are often called a dotted quad. When I type in a web page address, the DNS server, or dynamic name server, actually returns something like
192.0.78.24, which is the current IP address to my blog. DNS servers translate human readable web addresses into IP addresses.

Routers, which move the data around on the internet use routing tables to keep track of what IP addresses are connected to their interfaces, and there are databases to tell what IPs are in which countries. you can even go to web sites and type in an IP and get the general geographical location of where you are, although that won’t work if you’re going through a VPN.

if you go to Google, and type “what is my ip” it will tell you an IP, but that’s not quite the whole story. Google will tell you your public IP, the IP your router has on its WAN interface.

WAN stands for wide area network, whereas LAN stands for local area network. There are many other kinds of networks, but for this discussion WANs and LANs are what we will use. For most situations the WAN port means the port connected to the internet with a public IP, the LAN is the network inside a company or home. Typical home routers have 1 Wan port, the port connected to the outside, and 3 or 4 LAN ports, which internal devices are plugged in to. The 3 or 4 LAN ports are actually part of what is called a network switch, something to discuss in another article.

if you want to know your computer’s IP you’ll have to dig a little farther, but a different dig than the linux command dig, a command line tool that gets DNS information often used in troubleshooting. Here’s how to get your IP in Microsoft Windows, Here’s how to get it in macOS.

You will notice the IP you get that way is not the same IP Google told you, this is a private IP. Your house probably only has one public IP, but you might have ten or more devices inside doing something on the internet.

back in the beginning, of the internet anyway, the only computers online were mainframe systems owned by governments or academic institutions, nobody back in the early 1970s ever expected the average person to be on line, in fact owning a computer at home wasn’t even yet imagined. IP stands for internet protocol, and at that time, the internet protocol version 4 was standardized, and is still what most people use. This allows for an IP address of 32 bits in binary which is 2 to the 32nd power or 4,294,967,296 possible addresses. Until the 1990s network engineers thought that would most certainly be enough, until the internet started being used in homes, and that’s when problems began. four point three billion seems like a large number until the internet became ubiquitous, not to be confused with the network hardware company Ubiquity. Twenty years earlier the micro computer was born, and over the years more were able to afford one, then in the 1990s companies called internet service providers, ISPs, began offering internet plans and people began to subscribe to them.

The internet assigned numbers authority, IANA, is a standards organization who oversees the distribution of IP addresses for the entire world. They quickly noticed that IPV4 addresses were disappearing at an alarming rate, and in fact today are completely used up. A solution was needed, enter internet protocol version 6.

IPV6 is a more expanded IP address system. IPV6 addresses are displayed in eight groups of four hexadecimal digits, for most probably nearly impossible to memorize. The advantage of IPV6 however, is that there are many more addresses. IPV6 addresses are 128 bits, thus 2 to the 128th power which equals 3.4 times 10 to the 38th power. An example of an IPV6 address is
2001:0db8:85a3:0000:0000:8a2e:0370:7334.
The common practice seems to suggest that half of IPV6 addresses. are used for networking and routing, while the right half, 4 groups of hex digits on the right, are inside a network, which may or may not help with memorization.

IPV6 has been slow to adoption, however, because when companies began to make and sell routers to the typical home network owner, NAT was invented. NAT stands for network address translation, and delayed the complete exhaustion of IPV4 address for a time thus slowing down the spread of IPV6 to this day.

When people started putting more than one computer on to the internet from their homes, the home router was invented. Although most of them today still aren’t exactly technically routers, they manage to do the job for most homes. Their job is to take the public IP you get from your ISP and then all the devices on your home network, and arrange to connect all of your internal devices to the 1 public IP which goes out on to the actual internet. Along with assigning internal or private IPs to devices inside the local network, routers using NAT also use ports or channels to each process. If computer A sends out a browser request to Google, it goes out on port 80 or 443 for secure http, but the return from Google comes back on a random port agreed upon during the negotiation between computer A and the server. then when computer B also goes to Google, a different random port is used for returns from Google to computer B. By using private IPs and ports, NAT has for the most part, solved the problem of the depletion of IPV4 addresses.

as the word may suggest, private IPs are private. if packets containing these private addresses ever appear on the internet all “internet routers” are programmed to drop them.

There are three ranges of private IPs in the IPV4 address space.

The class A private range is from 10.0.0.0 to 10.255.255.255 and are usually used inside large corporations with many employees thus many computers.

There is also a class B range of private IPs from 172.16.0.0 to 172.31.255.255, though this range seems not to be used as much.

class C private IPs are used much more often, especially in homes or small businesses. The class C range is from 192.168.0.0 to 192.168.255.255. Inside this range is probably where you will find the IP of one of your devices behind most home routers.

Some ISPs actually put all of their subscribers behind a huge NAT router, in those cases you actually might find that your router’s WAN port has a private IP. Since the ISP has created a giant network of their subscribers, the private IP on your router’s WAN port is still inside a huge LAN of sorts, so the law of dropping private IPs on the internet is still in effect. A large network of LANs like for an ISP is also often called a WAN, or some times a MAN, metropolitan area network.

You might have noticed that in IPV4 addresses, the highest number in a dotted quad is 255, 2 to the 8th power minus 1. In the movie “The Net” starring Sandra Bullock (1995) the IP 23.75.345.200 was displayed more than once. Now, you know that’s not possible.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s