What is IP?
IP stands for Internet Protocol. It is a key communications protocol used for relaying datagrams (i.e. basic transfer units) across networks. IP basically serves as the foundation for the Internet.
An IP address is a numeric identifier for a specific device which is connected to a network (such as a computer, router, printer, etc.). The purpose of an IP address is to identify a specific host on a network as well as to help locate it.
How Does IP Work?
An IPv4 address is a 32 bit number which allows a maximum of 4,294,967,296 (i.e. 232) possible addresses. Roughly 288 million of those addresses are reserved for special purposes such as private networks (18 million) or multicast addresses (270 million). An IPv4 address is typically represented in the form of four decimal numbers from 0 to 255 separated with a dot. Each of these four numbers represents 8 bits of the address.
Your computer typically obtains its IP address dynamically via the Dynamic Host Configuration Protocol (DHCP). DHCP is a service which runs on your network, typically on network hardware such as routers or dedicated DHCP servers. Dynamic IP addresses are temporary and are issued using a leasing system. When the lease expires your computer will automatically request a new lease which can sometimes result in obtaining a new address.
Here are a few important IP addresses and IP ranges which are treated specially:
|0.0.0.0||-||The default network, the abstract concept of being connected to a TCP/IP network|
|127.0.0.1||-||The "loopback address", a.k.a. "localhost". A computer's address for itself.|
|255.255.255.255||-||The network broadcast address. Messages sent to this address are broadcast across the network.|
|169.254.0.1||169.254.255.254||The Automatic Private IP Addressing (APIPA) range of addresses which are automatically assigned to a computer when it is unsuccessful getting an IP address from a DHCP server.|
|10.0.0.0||10.255.255.255||The Class A range of private IP addresses. Used for local networks.|
|172.16.0.0||172.31.255.255||The Class B range of private IP addresses. Used for local networks.|
|192.168.0.0||192.168.255.255||The Class C range of private IP addresses. Used for local networks.|
|18.104.22.168||22.214.171.124||Multicast addresses (formerly called Class D range).|
|240.0.0.0||254.255.255.254||Formerly known as Class E, this range is reserved for future and experimental usage.|
Within your router on your local network you may often see reference to subnets and subnet masks. A subnet refers to a logical subdivision of the network. The subnet mask is used to define how the network is to be divided. This is a concept best explained through example.
Let's say your IP address on your local network is 126.96.36.199 and your subnet mask is 255.255.255.0. This subnet mask means that your network is identified using the first three numbers (or octets) of the IP address and the last is used to identify the specific devices on the network. This means then that your network has the address range of 192.168.1.0 to 192.168.1.254 and the address 192.168.1.255 is reserved as the broadcast address.
Exhaustion of Addresses and IPv6
Over the last few decades the usage of the Internet has rapidly increased which has led to the development of what is called the IPv4 address exhaustion. The Internet Assigned Numbers Authority (IANA) exhausted their primary address pool in 2011 when the last five blocks were allocated to the five regional Internet registries (RIRs).
Because of this rapid exhaustion of IPs, the Internet Engineering Task Force (IETF) began to explore new technologies to expand the addressing capabilities of the Internet. In the end they were forced to come to the conclusion that the only solution was to redesign the Internet Protocol itself. In 1995 the newly redesigned protocol was developed under the name IPv6. This new version of the protocol increases the number of possible addresses from 32 to 128 bits which allows for 2128 (or 3.403 x 1038) addresses.