If you're seeing this message, it means we're having trouble loading external resources on our website.

If you're behind a web filter, please make sure that the domains *.kastatic.org and *.kasandbox.org are unblocked.

Computers and the Internet

Unit 3: Lesson 3

AP.CSP:
CSN‑1.B (LO)
,
CSN‑1.B.3 (EK)
,
CSN‑1.C (LO)
,
CSN‑1.C.4 (EK)
The Internet Protocol (IP) is one of the core protocols in the layers of the Internet, as you might guess from its name. It's used in all Internet communication to handle both addressing and routing.
The protocol describes the use of IP addresses to uniquely identify Internet-connected devices. Just like homes need mailing addresses to receive mail, Internet-connected devices need an IP address to receive messages.
When a computer sends a message to another computer, it must specify the recipient's IP address and also include its own IP address so that the second computer can reply.
Diagram of two servers. Server #1 is labeled with IP 216.3.128.12 and server #2 is labeled with IP 24.130.242.17. Arrow goes from server #1 to server #2 with a box that says "TO: 24.130.242.17 FROM:216.3.128.12" and 4 bits 0 1 0 1.

There are actually two versions of the Internet Protocol in use today:
• IPv4, the first version ever used on the Internet
• IPv6, a backwards-compatible successor
In the IPv4 protocol, IP addresses look like this:
start text, 74, point, 125, point, 20, point, 113, end text
🔍Try visiting that IP in your browser. Where does it go?
Each IP address is split into 4 numbers, and each of those numbers can range from 0 to 255:
start text, open bracket, 0, negative, 255, close bracket, point, open bracket, 0, negative, 255, close bracket, point, open bracket, 0, negative, 255, close bracket, point, open bracket, 0, negative, 255, close bracket, end text
We write those numbers in decimal, but the computer stores them in binary, like so:
start text, 01010101, space, 01010101, space, 01010101, space, 01010101, end text
Each number can represent 2, start superscript, 8, end superscript values, thanks to the 8 bits. That's also why we often call them "octets."
Overall, that's 2, start superscript, 32, end superscript possible values: 4, comma, 294, comma, 967, comma, 296 possible IPv4 addresses.
That's a lot! But remember, in the beginning, we said there are more than four billion devices connected to the Internet? Well, we're reaching the limit of possible IP addresses. It's time for plan B.

Back when the Internet protocols were first invented, the creators didn't anticipate how popular it would become and that there would eventually be more than 2, start superscript, 32, end superscript devices wanting to connect to the Internet.
When it became obvious in the 1990s that the IPv4 addresses were running out, the IPv6 protocol was proposed with a much longer addressing scheme.
start text, 2001, colon, 0, d, b, 8, colon, 0000, colon, 0042, colon, 0000, colon, 8, a, 2, e, colon, 0370, colon, 7334, end text
Notice the letters in those numbers, like start text, d, end text and start text, b, end text in start text, 0, d, b, 8, end text? Those are hexadecimal numbers, which means that the IPv6 address is much longer than it looks. Let's do some math to see exactly how much longer.
There are 8 hexadecimal numbers, and each number is 4 digits long. The highest value for each number is start text, F, F, F, F, end text, since start text, F, end text is the highest digit in hexadecimal. Thus, the highest address would look like:
start text, F, F, F, F, colon, F, F, F, F, colon, F, F, F, F, colon, F, F, F, F, colon, F, F, F, F, colon, F, F, F, F, colon, F, F, F, F, colon, F, F, F, F, end text
What's start text, F, F, F, F, end text in decimal?
start text, F, end textstart text, F, end textstart text, F, end textstart text, F, end text
16, cubed16, squared16, start superscript, 1, end superscript16, start superscript, 0, end superscript
4096256161
Each start text, F, end text represents 15 in decimal, so that's left parenthesis, 15, times, 4096, right parenthesis, plus, left parenthesis, 15, times, 256, right parenthesis, plus, left parenthesis, 15, times, 16, right parenthesis, plus, left parenthesis, 15, times, 1, right parenthesis: a grand total of 65, comma, 535.
We can also calculate that based on the binary representation of start text, F, F, F, F, end text. Each hexadecimal digit start text, F, end text corresponds to 1111 in binary, so that results in these 16 bits:
start text, 1111, space, 1111, space, 1111, space, 1111, end text
As we discuss in Binary numbers, the highest number that can be represented by n binary digits is 2, start superscript, n, end superscript, minus, 1. That means the binary number above is 2, start superscript, 16, end superscript, minus, 1, which once again equals 65, comma, 535.
Each 4-digit hexadecimal number can range between 0 and 65, comma, 535, so each number can represent 65, comma, 536 unique values—and there are 8 of them!
In total, each IP v6 address is represented by 128 bits, so there are 2, start superscript, 128, end superscript possible IP v6 addresses. That's 340 undecillion:
340, comma, 282, comma, 366, comma, 920, comma, 938, comma, 000, comma, 000, comma, 000, comma, 000, comma, 000, comma, 000, comma, 000, comma, 000
🤔 Imagine a world where we have that many Internet connected devices. What does that look like? How could that much Internet usage make the world better?

Your IP address might be different tomorrow than it is today. Each ISP has a range of addresses they can assign, and they might give you a different one of those addresses each time they see your computer pop up on the network. That's called a dynamic IP address.
Switching to a different Wi-Fi network will definitely give you a new IP address, since each Wi-Fi provider has its own range of addresses that it can give out.
Computers that act as servers, like the computers that power Google.com, often have static IP addresses. That makes it easier for computers to quickly send search requests to the Google servers. If you tried out the IP address above, you hopefully found yourself on the Google homepage.
Identify whether each address below is IPv4, IPv6, or invalid:
start text, 119, point, 67, point, 44, point, 86, end text
start text, 94, point, 49, point, 190, point, 138, end text
start text, 258, point, 151, point, 50, point, 253, end text
start text, e, 0, f, 8, colon, a, f, 58, colon, e, e, e, 6, colon, 52, b, end text
start text, d, 938, colon, 2, d, a, 7, colon, b, 596, colon, 6, d, 34, colon, 3970, colon, 6789, colon, c, 941, colon, 2340, end text
start text, d, 938, colon, 2, d, a, 7, colon, b, 596, colon, 6, d, 3, colon, 3970, colon, 6789, end text

Want to join the conversation?

• Hey there! I don't think you mentioned before what an ISP is...I'm kinda curious :)
• ISP is an acronym for Internet Service Provider. In other words, the company you buy internet service from.
• if internet is free that means anyone can connect through it i always wonder why we need to pay money in order to access internet
• let's put this in a different analogy:

when you buy a house or a car, you are given the keys, right? without the keys, you don't have the car or house. same with networking, if you don't have the necessary devices to form the bridge between you and the internet, no internet. the product is free, sitting there, your paying for the keys.
• In the "What's Your IP Address section, it says, "Each ISP has a range of addresses they can assign, and they might give you a different one of those addresses each time they see your computer pop up on the network." Does this meant that every time you use the internet your IP address changes or that it changes every time you connect to that Internet? For example, if I am not using my computer, but the wifi is still connected, am I still on the network. Secondly, what's the difference between wifi and internet?
• Most people connect to the internet using a router and so the IP address doesn't change as often, because the router stays connected to the internet and so you keep your IP until the ISP resets the connection (or the router runs a reset).

Wifi is a protocol your computer uses to connect two systems (in your cases probably your computer and your router). Wifi is what you use to connect to the internet.
• I don't really understand how hexadecimal works can you help or share a link?
(1 vote)
• In the "What's Your IP Address" section, it says that IP addresses change often. Do Internet Service Providers just cycle through their given range of numbers? Also, is it safe to look up your IP address? If so, how? Are there any possible dangers to doing so? Thanks
(1 vote)
• Each ISP has a pool of IP addresses from which it can dynamically assign you one (using the DHPC: dynamic host configuration protocol). Once you stopped using yours, it can be assigned to someone else.

Looking up your IP shouldn't pose any dangers. If you visit a site they can see your IP anyway and in many cases that site will even record it.

There programs that can be used (e.g. ifconfig), but the easiest way to get it is to just write "Whats my IP?" in your search engine of choice.
• I checked my ip address, and it is from IPv4. What does that means? My computer is old?
• It's possible you were also assigned an IPv6 address, but the program you used didn't check for that one. Or it just might be that your ISP just assigned an IPv4 address to you.
It's your ISP that assigns an IP address to you, the age of your computer has nothing to do with that.
• Why is it 2^128? The ipv6 only has 32 bits.
• ipv6 uses 128 bits, whereas ipv4 uses 32 bits. Hence, ipv6 has 2^128 addresses.

Hope this helps!
• How is each IP v6 address represented by 128 bits?
• Howdy msj8464,

An IPv6 address is simply a number which we use to identify a computer. Because we use 128 bits to represent this number in binary notation (0's & 1's), we can represent a total of 2^128 values, or approximately 3.4*10^38 different IPv6 addresses.

Now, what might be confusing you is that we use hexadecimal numbers to represent the IPv6 addresses. This is simply because it is easier to read numbers in their hexadecimal form than with 128 1's and 0's in a row.

Hope this helps.