Addresses in a Network of Networks: IP

BH: It's okay, but boring.

MF: Depends on new standards; try to cut down on text

In this lab, you will learn about some of the abstractions that make the Internet work.

On this page, you will learn how machine-readable computer addresses work.

A router is a computer that passes information from one network to another.

Depending on where you live, you might pronounce "route" differently, but "router" is always pronounced the same: like "outer."

The end to end architecture of the Internet means that routers only know how to find an IP address; they don't do anything with the content of the message. Making sense of content is the job of the endpoint computers: the sender and the receiver.

The Internet isn't just a network of computers. It's a network of networks. The connection points between networks are called routers, networking devices that route traffic between subnetworks on the Internet. The routers only know how to pass information on to the next router or to the final destination; the routers do not analyze what's inside each packet of data (as long as you live in a country without Internet censorship). Making sense of the information happens at the destination computer. This is called the end to end principle.

Image from UC San Diego Jacobs School of Engineering.
Dandelion-like Graph of Internet from UC San Diego Jacobs School of Engineering,

An IP address is a unique number assigned to each device on a computer network.

Packet switching means that the Internet sends short bursts of information, not long continuous strings.

How Do Routers Know Where to Find the Computer You Want?

Every device on the Internet has a unique Internet Protocol (IP) address (or more than one, if it's a router), like a postal or email address. The Internet Protocol specifies how a router handles a request for a different IP address. Each router knows the layout of its specific neighborhood of the Internet and knows which way to send each message to get it a little bit closer to where it's going. The fact that each router doesn't have to know the complete Internet improves scalability.

Usually, there are many possible paths from one endpoint to another. This redundancy allows IP to find an alternate pathway if some system in the middle doesn't respond to requests by finding an alternate pathway. This is the principle of fault tolerance.

When you send a data over the Internet, the IP program in your computer divides it into packets that it sends individually. (Each may take a different path.) This process is what makes the Internet a packet switching network.

    Talk with Your Partner
  1. Why does the graph of the Internet look like a tangle in the middle with fireworks on the outsides?
  2. Discuss how this shape is related to how people connect to the Internet (though an Internet Service Provider, etc.). Write out a brief description and/or explain it to someone else.
  3. Visit http://bot.whatismyipaddress.com/ for your current IP address.
  4. You can add any IP address to the end of that URL like this: http://ipinfo.io/128.59.105.24
  5. Visit http://ipinfo.io/. What information does that page give you? (You don't need to enter your email address. Just click "See more details.")

The amount of detailed information available from an IP address is pretty amazing (and a little scary), especially when you think about the ways that information can be used.

Some of the information might have slight inaccuracies. IP addresses often give the location of an Internet service provider, possibly at a different location.
Screen shot of http://ipinfo.io/128.59.105.24; New York, New York, United States Map; Network: AS14 Columbia University; City: New York, New York, United States; Latitude/Longitude: 40.8006,-73.9653; Postal Code: 10025; Route: 128.59.0.0/16

IPv4

An IPv4 address (dotted-decimal notation) 172.16.254.1  10101100.00010000.11111110.00000001 One byte=Eight bits; Thirty-two bits (4X8) or 4 bytes

Each of the four numbers in a typical IP address today is an eight-bit byte with a value between 0 and 255 (see right). A 32-bit IPv4 (the "v" stands for "version") address is big enough to support 232 computers. That's about four billion (4 · 109), but there are more than seven billion people on Earth, so there aren't enough IP addresses to go around.

Why does IPv4 support 232 computers? There are 32 bits in an IPv4 address (see right), and each bit can be one of two possible values (0 or 1). So, there are 232 possibilities with thirty-two bits.

IPv6

An IPv6 address (in hexadecimal) 2001:0DB8:AC10:FE01:0000:0000:0000:0000: (zeros can be omitted) ...

The long-term solution is to increase the length of an IP address. The new IP addresses are 128 bits wide, which is enough to support 2128 (about 1038) computers.

Will this always be enough, or will we need to upgrade the addressing system again? There are an estimated 1029 stars in the observable universe. So even if the Internet is extended to include other planets or space aliens, we'll still have enough addresses with IPv6.
  1. Talk with Your Partner Is your IP address in IPv4 or IPv6?
  1. Read Blown to Bits pages 301-306.
    Most likely, the router in your home or school uses a protocol that allows all the computers on the local network (such as in one building) to share a single IP address on the Internet, which can be cheaper. The router that creates the local network gives each computer a local address. For example, although the outside world may think someone's computer has IP address 108.26.181.226, that computer itself might think its address is 192.168.1.11.
  1. Look up your current local IP address in your system preferences or settings. It's usually under network or Internet settings and may be listed with the computer device supporting that connection (wifi, Ethernet, wifi, Bluetooth, etc.).
The 192.168 domain (the block of IP addresses that all start with 192.168) is reserved for local networks, but no computer on the Internet has an address in that range. Another such domain is 10.0.