Monday, July 16, 2007

Internet Protocol address

An IP address (Internet Protocol address) is a unique address that certain electronic devices use in order to identify and communicate with each other on a computer network utilizing the Internet Protocol standard (IP)—in simpler terms, a computer address. Any participating network device—including routers, computers, time-servers, printers, Internet fax machines, and some telephones—can have their own unique address.

The five-layer TCP/IP model

5. Application layer

DHCP • DNS • FTP • Gopher • HTTP • IMAP4 • IRC • NNTP • XMPP • MIME • POP3 • SIP • SMTP • SNMP • SSH • TELNET • RPC • RTP • RTCP • TLS/SSL • SDP • SOAP • VPN • PPTP • L2TP • GTP • STUN • NTP • …

4. Transport layer

TCP • UDP • DCCP • SCTP • …

3. Internet layer

IP (IPv4 • IPv6) • IGMP • ICMP • RSVP • BGP • RIP • OSPF • ISIS • IPsec • ARP • RARP • …

2. Data link layer

802.11 • ATM • DTM • Ethernet • FDDI • Frame Relay • GPRS • EVDO • HSPA • HDLC • PPP • …

1. Physical layer

Ethernet physical layer • ISDN • Modems • PLC • SONET/SDH • G.709 • WiMAX

An IP address can also be thought of as the equivalent of a street address or a phone number (compare: VoIP (voice over (the) internet protocol)) for a computer or other network device on the Internet. Just as each street address and phone number uniquely identifies a building or telephone, an IP address can uniquely identify a specific computer or other network device on a network. An IP address differs from other contact information, however, because the linkage of a user's IP address to his/her name is not publicly available information.

IP addresses can appear to be shared by multiple client devices either because they are part of a shared hosting web server environment or because a network address translator (NAT) or proxy server acts as an intermediary agent on behalf of its customers, in which case the real originating IP addresses might be hidden from the server receiving a request. A common practice is to have a NAT hide a large number of IP addresses, in the private address space , an address block that cannot be routed on the public Internet. Only the "outside" interface(s) of the NAT need to have Internet-routable addresses.

Most commonly, the NAT device maps TCP or UDP port numbers on the outside to individual private addresses on the inside. Just as there may be site-specific extensions on a telephone number, the port numbers are site-specific extensions to an IP address.

IP addresses are managed and created by the Internet Assigned Numbers Authority (IANA). The IANA generally allocates super-blocks to Regional Internet Registries, who in turn allocate smaller blocks to Internet service providers and enterprises.

IP versions

The Internet Protocol has two versions currently in use (see IP version history for details). Each version has its own definition of an IP address. Because of its prevalence, "IP address" typically refers to those defined by IPv4.

IP version 4

IPv4 only uses 32-bit (4 byte) addresses, which limits the address space to 4,294,967,296 (232) possible unique addresses. However, many are reserved for special purposes, such as private networks (~18 million addresses) or multicast addresses (~270 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.

Example: 127.0.0.1 (Loopback)

IP version 6

IPv6 is the new standard protocol for the Internet. Windows Vista, Apple Computer's Mac OS X, and an increasing range of Linux distributions include native support for the protocol, but it is not yet widely deployed elsewhere.

Addresses are 128 bits (16 bytes) wide, which, even with a generous assignment of netblocks, will more than suffice for the foreseeable future. In theory, there would be exactly 2128, or about 3.403 × 1038 unique host interface addresses. Further, this large address space will be sparsely populated, which makes it possible to again encode more routing information into the addresses themselves.

Example: 2001:0db8:85a3:08d3:1319:8a2e:0370:7334

One source notes that there will exist "roughly 5,000 addresses for every square micrometer of the Earth's surface". This enormous magnitude of available IP addresses will be sufficiently large for the indefinite future, even though mobile phones, cars and all types of personal devices are coming to rely on the Internet for everyday purposes.

The above source, however, involves a common misperception about the IPv6 architecture. Its large address space is not intended to provide unique addresses for every possible point. Rather, the addressing architecture is such that it allows large blocks to be assigned for specific purposes and, where appropriate, aggregated for provider routing. With a large address space, there is not the need to have complex address conservation methods as used in classless inter-domain routing (CIDR).

IP version 6 private addresses

Just as there are addresses for private, or internal networks in IPv4 (one example being the 192.168.0.1 - 192.168.0.254 range), there are blocks of addresses set aside in IPv6 for private addresses. Addresses starting with FE80: are called link-local addresses and are routable only on your local link area. This means that if several hosts connect to each other through a hub or switch then they would communicate through their link-local IPv6 address.

Early designs specified an address range used for "private" addressing, with prefix FEC0. These are called site-local addresses (SLA) and are routable within a particular site, analogously to IPv4 private addresses. Site-local addresses, however, have been deprecated by the IETF, since they create the same problem that does the existing IPv4 private address space. With that private address space, when two sites need to communicate, they may have duplicate addresses that "combine". In the IPv6 architecture, the preferred method is to have unique addresses, in a range not routable on the Internet, issued to organizations (e.g., enterprises).

The preferred alternative to site-local addresses are centrally assigned unique local unicast addresses (ULA). In current proposals, they will start with the prefix FC00.

Neither ULA nor SLA nor link-local address ranges are routable over the internet.

Static and dynamic IP addresses

A Static IP address is where a computer uses the same address every time a user logs on to a network, such as the Internet. With a static IP address, a computer's identity can be easily identified by others, and users can easily connect with it. That way, for example, a website, email server, or other type of server connection can be hosted.

This contrasts with a Dynamic IP address, wherein an IP address is assigned to a computer, usually by a remote server which is acting as a Dynamic Host Configuration Protocol server. IP addresses assigned using DHCP may change depending on the addresses available in the set scope. Dynamic IP Addresses assigned by Dynamic Host Configuration Protocol servers are used because it creates effiency within a network. When there is no need to assign everybody a specific IP Address, users can simply log in and out and use the network without the hassle of having to get an IP assigned to them.