||The English used in this article may not be easy for everybody to understand. (January 2012)|
|The TCP/IP model (RFC 1122)|
The Internet Protocol is a set of rules for sending information between computers on the Internet. Each computer that uses the Internet Protocol has at least one IP address that identifies it to all other devices on the planet, just like a person might have a postal address.
This set of rules is like a language, but in computer science it is a protocol. A board of engineers has defined some of those protocols, which sit on top of each other (that's called layered architecture). On top of the Internet protocol there is the Transmission Control Protocol and the User Datagram Protocol (and some others). Below it, there are protocols of the Network layer, like Ethernet.
At the moment there are two versions of the Internet Protocol being used. One is called IP Version 4 (IPv4), the other one is called IP Version 6 (IPv6).
IP address[change | change source]
An IP address is a number given to each computer on the internet. It is like a postal address or telephone number, but for the computer. Internet protocol (IP) defines how communication from one address to another works.
Some computers have the same IP address for a very long time. These IP addresses are called "static IP addresses". Some computers change their IP from time to time. These IP addresses are called "dynamic IP addresses".
IP Version 4[change | change source]
With IPv4, each address consists of four numbers, called octets. They go from 0 to 255. To make an IP address, one takes 4 such numbers. To translate between an IP address and the name of the computer, a system called Domain Name System is used. It can translate between the name and the IP Address.
An IPv4 address could look something like this
Also, there are special meanings associated with two different ending numbers. In general, a last number of 0 stands for the network (called base address), and a last number of 255 stands for all hosts on that network (called broadcast address). Computers that are on the same local network share 3 of the 4 numbers. A computer can be on more than one network. It can also have several names.
Private/Special addresses[change | change source]
To delay the running out of addresses in IPv4, there are some addresses that are assigned to be private network addresses. These addresses are used for internal networks so that a network of computers can share the same public IP address, hence delaying the running out of IPv4 addresses. These IP addresses cannot be used on the public Internet.
|CIDR block||Starting address||Ending address||Number of addresses|
There are also some IP address ranges that are reserved for special purposes. For example, the CIDR block 127.0.0.0/8 is reserved for looking up to the same computer (also known as loopback).
IPv4 subnetting[change | change source]
In the early stages of development of the Internet Protocol, network administrators interpreted an IP address in two parts, network number portion and host number portion. The highest order octet (most significant eight bits) in an address was designated the network number and the rest of the bits were called the rest field or host identifier and were used for host numbering within a network. This method soon proved inadequate as additional networks developed that were independent from the existing networks already designated by a network number. In 1981, the Internet addressing specification was revised with the introduction of classful network architecture.
Classful network design allowed for a larger number of individual network assignments. The first three bits of the most significant octet of an IP address was defined as the class of the address. Three classes (A, B, and C) were defined for universal unicast addressing. Depending on the class derived, the network identification was based on octet boundary segments of the entire address. Each class used successively additional octets in the network identifier, thus reducing the possible number of hosts in the higher order classes (B and C).
The following table gives an overview of this system, which is being phased out in favor of IPv6.
|Historical classful network architecture|
|Class||First octet in binary||Range of first octet||Network ID||Host ID||Number of networks||Number of addresses|
|A||0XXXXXXX||0 - 127||a||b.c.d||27 = 128||224 = 16,777,216|
|B||10XXXXXX||128 - 191||a.b||c.d||214 = 16,384||216 = 65,536|
|C||110XXXXX||192 - 223||a.b.c||d||221 = 2,097,152||28 = 256|
|D||1110XXXX||223 - 254||a.b.c.d||e||223 = 2,100,199||29 = 512|
IP Version 6[change | change source]
Unfortunately, IPv4 does not have enough addresses to cover the demand for all the computers and other internet devices that the world now uses. IPv6 was designed as the solution.
IP Version 6 uses 16 octets (128 bits). So instead of 4 numbers there are now 8 numbers. Also IPv6 addresses are usually written as hexadecimal numbers (8 hexadecimal numbers with 2 octets). They are separated by colons (:), so an IPv6 address might look like this:
There are two address compression techniques available:
- Leading zeroes can be left out. Therefore, 2001:0db8:00b8:0008:0000:0000:0000:0001 could be written as 2001:db8:b8:8:0:0:0:1
- Any number of sequential, all-zero 'chunks' may be compressed to simply ::. This can be done only once in the same address. Thus 2001:0db8:0000:0000:0000:0000:0000:0001 could be written (fully compressed) as 2001:db8::1
Other versions[change | change source]
Versions before IPv4 were never widely used. Version 5 was used exclusively for the Internet Stream Protocol, which was also never widely used. No versions other than 4 or 6 are currently usable on the Internet, and version 4 will eventually be shut off, making version 6 the only usable version.
References[change | change source]
||This article does not have any sources. (December 2011)|