||The English used in this article or section may not be easy for everybody to understand. (January 2012)|
|The TCP/IP model (RFC 1122)|
The Internet Protocol (IP) 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 called a protocol. This allows programmers to create software that communicates with other programmers' software without them having to work together in advance. A board of engineers called the Internet Engineering Task Force has defined some of those protocols.
There are many protocols involved in making the Internet work. Some protocols work together (that's called layered architecture). The Internet protocol is used by the Transmission Control Protocol and the User Datagram Protocol (and some others) to send information across the Internet. There are protocols that are used by the Internet Protocol, like Ethernet. You can think of these protocols as being stacked like building blocks. Basic protocols at the low levels are used by protocols stacked on top of them. Protocols at the higher levels use the services of lower protocols.
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. People use domain names to access sites on the internet, but the computers only communicate using their IP address.
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".
An IP address is simply a number. Since computers use the binary number system, an IP address is also a binary number. An IPv4 address is 32 digits (or bits) long. An IPv6 is 128 bits long, allowing many more IP addresses to be used.
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:
Each octet represents 8 bits of the 32-bit IPv4 address, converted to its decimal form.
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]
The problem with IPv4 is that 32-bit addresses do not give us enough addresses for all the computers in the world today. To make sure we don't run out of IPv4 addresses, there are some addresses that are called private network addresses. These addresses are used for private networks so that a network of computers can share just one public IP address. This might be used for a company network or a school. 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 first octet (the first eight bits of the binary address) in an address was called the network number and the rest of the bits were called the rest field or host identifier and were used for numbering individual computers within a network. This system soon broke down as new networks developed that were separate from the existing networks already using those network numbers. In 1981, the Internet addressing specification was changed to a classful network architecture.
Classful network design allowed for a larger number of individual networks. The first three bits of the first 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||224 - 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:
An IPv6 address can be long and this can lead to mistakes when typing them into the computer or writing them down. There are two ways in which an IPv6 address can be made shorter without leaving anything out:
- Leading zeroes can be left out, so 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)|