In computer networking , an IP address ( internet protocol address ) is a unique number that devices use in order to identify and communicate with each other on a network utilizing the Internet Protocol standard. (Sometimes this is shortened to just "IP" as in "My IP is A.B.C.D".) Any participating device ó including routers , computers , time-servers, printers, internet fax machines, and some telephones ó must have its own globally unique communicable address.
IP is a network layer protocol in the internet protocol suite and is an upper layer protocol that also provides globally unique addresses (e.g., MAC address for ethernet ) but two of these addresses will not necessarily be able to communicate to each other. IP adds a service on top of these data link layer protocols ó through the use of an IP address that provides the ability to uniquely identify with and communicate with any other device on the network.
In other words, an IP address is like a full address for postal mail while a MAC address is just the house number. For example, there are many addresses with a house number of 123 but there is only one address for 123 Main Street, Anytown, California , United States . Simply mailing something to "123" will not get it there but "123 Main Street, Anytown, California, United States" is a globally unique address.
The unique nature of IP addresses makes it possible in many situations to track which computer ó and by extension, which person ó has sent a message or engaged in some other activity on the Internet. This information has been used by law enforcement authorities to identify criminal suspects; however, dynamically-assigned IP addresses can make this difficult.
Since IP addresses are not easy to remember, the Domain Name System provides the ability to map domain names (e.g. www.wikipedia.org ) to an IP address ( 184.108.40.206 ).
Dynamic vs. static IP addresses
There are two methods to assigning IP addresses to computers: dynamic and static.
Static IP addresses are used primarily for servers so that they don"t appear to "move" while non-servers are usually assigned dynamic IP addresses. Most dynamic IP address users are users of internet service providers (ISPs) since not all the users of an ISP are online at one time and the ISPs can "get away" with not having enough IP addresses for each user.
In order to use a dynamic IP address, a service such as Dynamic Host Configuration Protocol (DHCP) is used to assign addresses dynamically to devices as they request them. If a static address is used, it must be manually programmed into parameters of the device"s network interface . (It is also possible to "fake" static IP address assignments through DHCP by assigning the same IP address to a computer and no other each time it is requested.)
IP version 4
IPv4 uses 32- bit (4 byte ) addresses which limits the address space to 4,294,967,296 possible unique addresses. However, many are reserved for special purposes such as private networks (~18 million addresses) or multicast addresses (~1 million addresses). This reduces the number of addresses that can be allocated as public Internet addresses and as the number of addresses available is consumed, an IPv4 address shortage appears to be inevitable in the long run.
This limitation has helped stimulate the push towards IPv6 , which is currently in the early stages of deployment and is currently the only contender to replace IPv4. It is also sometimes impossible to track someone"s real IP because they can use Internet proxies, in which they can fake that they are from a different country
IP version 5
What would be considered IPv5 existed only as an experimental non-IP real time streaming protocol called ST2, described in RFC 1819 . In keeping with standard UNIX release conventions, all odd-numbered versions are considered experimental, and this version was never intended to be implemented; the protocol was not abandoned. RSVP has replaced it to some degree.
IP version 6
In IPv6 , the new (but not yet widely deployed) standard protocol for the Internet, addresses are 128 bits wide, which, even with generous assignment of netblocks, should suffice for the foreseeable future. In theory, there would be exactly 2 128 , or about 3.403 × 10 38 unique host interface addresses. If the earth were made entirely out of 1 cubic millimeter grains of sand, then you could give a unique address to each grain in 300 million planets the size of the earth. This large address space will be sparsely populated, which makes it possible to again encode more routing information into the addresses themselves.
A version 6 address is written as eight 4-digit hexadecimal numbers separated by colons. For readability, addresses may be shortened in two ways. Within each colon-delimited section, leading zeroes may be truncated. Secondly, one string of zeroes (and only one) may be replaced with two colons (::). For example, all of the following addresses are equivalent:
Global unicast IPv6 addresses are constructed as two parts: a 64-bit routing part followed by a 64-bit host identifier.
Netblocks are specified as in the modern alternative for IPv4: network number, followed by a slash, and the number of relevant bits of the network number (in decimal). Example: 12AB::CD30:0:0:0:0/60 includes all addresses starting with 12AB00000000CD3.
IPv6 has many improvements over IPv4 other than just bigger address space, including autorenumbering and mandatory support for IPsec .