Internet Protocol (IP) Tutorial

Man sitting at desk using computer, side view
Hill Creek Pictures/Photodisc/Getty Images

Internet Protocol (IP) technology was developed in the 1970s to support some of the first research computer networks. Today, IP has become a worldwide standard for home and business networking as well. Our network routers, web browsers, email programs, instant messaging software - all rely on IP or other network protocols layered on top of IP.

Two versions of IP technology exist today. Traditional home computer networks use IP version 4 (IPv4), but some other networks, particularly those at educational and research institutions, have adopted the next generation IP version 6 (IPv6).

IPv4 Addressing Notation

An IPv4 address consists of four bytes (32 bits). These bytes are also known as octets.

For readability purposes, humans typically work with IP addresses in a notation called dotted decimal. This notation places periods between each of the four numbers (octets) that comprise an IP address.

For example, an IP address that computers see as:

  • 00001010 00000000 00000000 00000001

is written in dotted decimal as:


Because each byte contains 8 bits, each octet in an IP address ranges in value from a minimum of 0 to a maximum of 255. Therefore, the full range of IP addresses is from through This represents a total of 4,294,967,296 possible IP addresses.

IPv6 Addressing Notation

IP addresses change significantly with IPv6. IPv6 addresses are 16 bytes (128 bits) long rather than four bytes (32 bits). This larger size means that IPv6 supports more than:

  • 300,000,000,000,000,000,000,000,000,000,000,000,000

possible addresses! As an increasing number of cell phones and other consumer electronics expand their networking capability and require their own addresses, the smaller IPv4 address space will eventually run out and IPv6 become mandatory.

IPv6 addresses are generally written in the following form:

  • hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh

In this full notation, pairs of IPv6 bytes are separated by a colon and each byte in turns is represented as a pair of hexadecimal numbers, like in the following example:

  • E3D7:0000:0000:0000:51F4:9BC8:C0A8:6420

As shown above, IPv6 addresses commonly contain many bytes with a zero value. Shorthand notation in IPv6 removes these values from the text representation (though the bytes are still present in the actual network address) as follows:

  • E3D7::51F4:9BC8:C0A8:6420

Finally, many IPv6 addresses are extensions of IPv4 addresses. In these cases, the rightmost four bytes of an IPv6 address (the rightmost two-byte pairs) may be rewritten in the IPv4 notation. Converting the above example to mixed notation yields:

  • E3D7::51F4:9BC8:

IPv6 addresses may be written in any of the full, shorthand or mixed notation illustrated above.