The IP (Internet Protocol) is the fundamental protocol for communications on the Internet.

IP history
Its development began in 1974, led by computer scientists Bob Kahn and Vint Cerf. It is frequently used in conjunction with the Transmission Control Protocol, or TCP. Together they are referred to as TCP/IP.

The first major version of the Internet Protocol was version 4, or IPv4. In 1981, it was formally defined in RFC 791 by the Internet Engineering Task Force, or IETF.

Illustration: The Internet Protocol.

Historic document: Read the text of RFC 791.
The successor to IPv4 is IPv6, which was formalized by the IETF in 1998. It was designed to eventually replace IPv4. As of 2018, IPv6 governs approximately 20% of all Internet traffic.

IPv4 and IPv6 addresses
IPv4 addresses are 32 bits long (four bytes). An example of an IPv4 address is 216.58.216.164, which is the front page of Google.com.

The maximum value of a 32-bit number is 232, or 4,294,967,296. So the maximum number of IPv4 addresses, which is called its address space, is about 4.3 billion. In the 1980s, this was sufficient to address every networked device, but scientists knew that this space would quickly become exhausted. Technologies like NAT have delayed the problem by allowing many devices to use a single IP address, but a larger address space is needed to serve the modern Internet.

A major advantage of IPv6 is that it uses 128 bits of data to store an address, permitting 2128 unique addresses, or 340,282,366,920,938,463,463,374,607,431,768,211,456. The size of IPv6’s address space — 340 duodecillion — is much, much larger than IPv4.

IP address classes
With an IPv4 IP address, there are five classes of available IP ranges: Class A, Class B, Class C, Class D and Class E, while only A, B, and C are commonly used. Each class allows for a range of valid IP addresses, shown in the following table.

Class Address range Supports
Class A 1.0.0.1 to 126.255.255.254 Supports 16 million hosts on each of 127 networks.
Class B 128.1.0.1 to 191.255.255.254 Supports 65,000 hosts on each of 16,000 networks.
Class C 192.0.1.1 to 223.255.254.254 Supports 254 hosts on each of 2 million networks.
Class D 224.0.0.0 to 239.255.255.255 Reserved for multicast groups.
Class E 240.0.0.0 to 254.255.255.254 Reserved for future use, or research and development purposes.
Ranges 127.x.x.x are reserved for the loopback or localhost, for example, 127.0.0.1 is the loopback address. Range 255.255.255.255 broadcasts to all hosts on the local network.

IP address breakdown
Every IPv4 address is broken down into four octets (another name for bytes) that range from 0 to 255 and translated into binary to represent the actual IP address. The table below looks at the IPv4 address 255.255.255.255.

Tip
For more information about binary numbers, see our binary to hexadecimal conversion guide.

In decimal: 255 255 255 255
In binary: 11111111 11111111 11111111 11111111
In octal: 377 377 377 377
In hexadecimal: FF FF FF FF
As another example, let’s break down the IPv4 address 166.70.10.23 in the following table. The first row contains the separate octets (bytes) of the IP address, represented in decimal. In decimal representation, the rightmost digit is multiplied by 1 (100), the second-rightmost digit is multiplied by 10 (101), the third-rightmost is multiplied by 100 (102), etc.

The second row of the table shows the same numeric values, represented in binary. In binary, the rightmost digit is multiplied by 1 (20), the second-rightmost digit is multiplied by 2 (21), the third-rightmost digit is multiplied by 4 (22), etc.

The third row shows how the binary representation can be converted to decimal, by converting the individual digits and adding the values. Binary digits in bold correspond to the values added.

Decimal value: 166 70 10 23
Binary value: 10100110 01000110 00001010 00010111
Conversion: 128+32+4+2=166 64+4+2=70 8+2=10 16+4+2+1=23
Static vs. dynamic IP addresses
IP addresses are assigned in two different ways. They may be dynamically assigned (they can change automatically) or statically assigned (they’re intended not to change, and must be changed manually). Most home networks use dynamic allocation. Your router uses DHCP to temporarily assign, or “lease,” an IP address to your device. After a some time, this lease “expires,” and the router renews your old address or assigns you a new one depending on the router configuration.

The most common default addresses assigned by home routers are shown below.

192.168.1.0 This number, called the network number, identifies the network as a whole, and is not assigned to a device.
192.168.1.1 The common default address assigned to the gateway device. In most home networks, the gateway is the router itself.
192.168.1.2 Another common gateway address. Or, it may be assigned to a device on the network.
192.168.1.3–254 Assigned to devices on the network.
192.168.1.255 The broadcast address of the network. Data sent to this address is automatically broadcast to addresses 1–254.
If you have ever tried to change the settings on your router, you may be familiar with the address 192.168.1.1. Commonly, this is your router’s address, if you enter this address into the address bar of your web browser, you can open your router’s configuration interface. (Your router’s address may be different – check your manual.)

How do I adjust the settings of my home router?
How data is sent to an IP address on another network
The following diagram illustrates how your home computer might obtain an IP address and send data to an IP address on another network.

Connecting to the Internet

For more information, see: How do computers connect over the Internet?

Other Internet protocols
IP is one protocol that devices use to communicate on the Internet. Some are used in conjunction with IP, and some are used independently. Examples include SMTP, which is used to transmit e-mail, and HTTP, which is used to transmit hypermedia.

For more information about protocols in general, see our protocol definition.

Who assigns IP addresses?
In most local or home networks, the computer and devices on the network are assigned an internal IP addresses by the router. On the Internet, IP address blocks are assigned out by ICANN to ISPs (Internet service providers) who assign you an IP address from their assigned block of addresses.