# π Something we need to address...

## π― Learning Targets

`AP` I can explain the abstractions in the Internet and how the Internet functions.
`AP` I can explain characteristics of the Internet and the systems built on it.
I can develop and explain the need for a protocol with origin, destination, and message content.
I can explain the difference between IPv4 and IPv6 with regard to bits and available addresses.

So far, we have communicated messages between two people. Our βinternetβ looks like this:

But the actual internet looks more like this:

Our βsimpleβ 1:1 protocols will break down. To get a sense of how the inventors of the internet designed a solution, letβs play a game of Battleship.

## Battleπ³ Round 1

• The object of Battleship is to try and sink another playerβs ship before they sink yours.
• The other playerβs ship is somewhere on his/her board
• Each turn, you try to guess your opponentβs ship location by calling out a coordinate on the grid, like `A2`.
• The other player also tries to hit your ship by calling out coordinates.

Example Board

You maintain and mark two grids:

• Your Ship Boards - where you record shots fired against you.
• Your Target Boards - where you record the shots you fired against others.

### Starting a New Game

• Each player places a ship on their board - one ship for each opponent
• A ship occupies two contiguous squares on the grid - vertically or horizontally. NO Diagonal placement.
• Once the guessing begins, the players may not move the ships.

## Battleπ³ Round 10

Now, how could that information be transmitted using bits?

1. List all the information that you needed to play Battleship.

While developing your protocol here are some questions and suggestions to think about:

• Remember that ultimately you are making a communication protocol for a computer to read, so if itβs hard for a human to decipher, but would be easy to describe for a computer, thatβs fine.
• A message you send over the Internet is just a string of 0s and 1s β so your protocol should indicate how the bits work (i.e. what is the binary representation?)
• Think about what else you can communicate with binary to reduce the total number of bits.1 How βefficientβ can you make your message? How small can you make the size of a message?

A number assigned to any item that is connected to the Internet.

Go to: `216.58.217.174`

Packets - Small chunks of information that have been carefully formed from larger chunks of information.

Protocol - A set of rules governing the exchange or transmission of data between devices.

## IPv4

π How could the internet run out of room?

`ipconfig getifaddr en0`