IP address
From Wikipedia, the free encyclopedia
This article is missing citations or needs footnotes. Using inline citations helps guard against copyright violations and factual inaccuracies. (November 2007) |
The five-layer TCP/IP model |
---|
5. Application layer |
DHCP · DNS · FTP · Gopher · HTTP · IMAP4 · IRC · NNTP · XMPP · POP3 · RTP · SIP · SMTP · SNMP · SSH · TELNET · RPC · RTCP · RTSP · TLS (and SSL) · SDP · SOAP · GTP · STUN · NTP · (more) |
4. Transport layer |
TCP · UDP · DCCP · SCTP · RSVP · ECN · (more) |
3. Network/internet layer |
IP (IPv4 · IPv6) · OSPF · IS-IS · BGP · IPsec · ARP · RARP · RIP · ICMP · ICMPv6 · IGMP · (more) |
2. Data link layer |
802.11 (WLAN) · 802.16 · Wi-Fi · WiMAX · ATM · DTM · Token ring · Ethernet · FDDI · Frame Relay · GPRS · EVDO · HSPA · HDLC · PPP · PPTP · L2TP · ISDN · ARCnet · LLTD · (more) |
1. Physical layer |
Ethernet physical layer · RS-232 · SONET/SDH · G.709 · Optical fiber · Coaxial cable · Twisted pair · (more) |
An IP address (or 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, switches, computers, infrastructure servers (e.g., NTP, DNS, DHCP, SNMP, etc.), printers, Internet fax machines, and some telephones—can have its own address that is unique within the scope of the specific network. Some IP addresses are intended to be unique within the scope of the global Internet, while others need to be unique only within the scope of an enterprise.
The IP address acts as a locator for one IP device to find another and interact with it. It is not intended, however, to act as an identifier that always uniquely identifies a particular device. In current practice, an IP address is not always a unique identifier, due to technologies such as dynamic assignment and network address translation.
On the public Internet, as opposed to private internets or intranets, 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.
Contents |
[edit] IP versions
The Internet Protocol (IP) 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.
[edit] IP version 4 addresses
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.
IPv4 addresses are usually represented in dotted-decimal notation (four numbers, each ranging from 0 to 255, separated by dots, e.g. 147.132.42.18). Each range from 0 to 255 can be represented by 8 bits, and is therefore called an octet. It is possible, although less common, to write IPv4 addresses in binary or hexadecimal. When converting, each octet is treated as a separate number. (So 255.255.0.0 in dot-decimal would be FF.FF.00.00 in hexadecimal.)
[edit] IPv4 address networks
Currently, three classes of networks are commonly used. These classes may be segregated by the number of octets used to identify a single network, and also by the range of numbers used by the first octet.
- Class A networks (the largest) are identified by the first octet, which ranges from 1 to 126.(127 is reserved for loopback)
- Class B networks are identified by the first two octets, the first of which ranges from 128 to 191.
- Class C networks (the smallest) are identified by the first three octets, the first of which ranges from 192 to 223.
Class | Range of first octet | Network ID | Host ID | Possible number of networks | Possible number of hosts |
---|---|---|---|---|---|
A | 1 - 126 (127 is reserved for loopback) | a | b.c.d | 126 = (27 - 2) | 16,777,214 = (224 - 2) |
B | 128 - 191 | a.b | c.d | 16,382 = (214 - 2) | 65,534 = (216 - 2) |
C | 192 - 223 | a.b.c | d | 2,097,150 = (221 - 2) | 254 = (28 - 2) |
Some first-octet values have special meanings:
- First octet 127 represents the local computer, regardless of what network it is really in. This is useful when testing internal operations.
- First octet 224 and above are reserved for special purposes such as multicasting.
Octets 0 and 255 are not acceptable values in some situations, but 0 can be used as the second and/or third octet (e.g. 10.2.0.100).
A class A network does not necessarily consist of 16 million machines on a single network, which would excessively burden most network technologies and their administrators. Instead, a large company is assigned a class A network, and segregates it further into smaller sub-nets using Classless Inter-Domain Routing. However, the class labels are still commonly used as broad descriptors.
[edit] IPv4 private addresses
Machines not connected to the outside world (e.g. factory machines that communicate with each other via TCP/IP) need not have globally-unique IP addresses. Three ranges of IPv4 addresses for private networks, one per class, were standardized by RFC 1918; these addresses will not be routed, and thus need not be coordinated with any IP address registrars.
IANA Reserved Private Network Ranges | Start of range | End of range |
---|---|---|
The 24-bit Block | 10.0.0.0 | 10.255.255.255 |
The 20-bit Block | 172.16.0.0 | 172.31.255.255 |
The 16-bit Block | 192.168.0.0 | 192.168.255.255 |
Each block is not necessarily one single network, although it is possible. Typically the network administrator will divide a block into subnets; for example, many home routers automatically use a default address range of 192.168.0.0 - 192.168.0.255 (192.168.0.0/24).
[edit] IP version 6 addresses
IPv6 is a new standard protocol intended to replace IPv4 for the Internet. 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
Writing for Technology Review in 2004, Simson Garfinkel wrote notes that there will exist "roughly 5,000 addresses for every square micrometer of the Earth's surface".[1] 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 providing 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).
Windows Vista, Apple Computer's Mac OS X, all modern Linux distributions[2], and an increasing range of other operating systems include native support for the protocol, but it is not yet widely deployed elsewhere.
[edit] IPv6 private addresses
Just as there are addresses for private, or internal networks in IPv4 (one example being the 192.168.0.0 - 192.168.255.255 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 (RFC 1918). 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.
[edit] IP address subnetting
Both IPv4 and IPv6 addresses utilize subnetting, or dividing the IP address into two parts: the network address and the host address. By using a subnet mask, the computer can determine where to split the IP address.
As an alternative to the subnet mask, CIDR notation can also be used. In CIDR notation, the IP address is followed by a slash and the number of bits used to designate the subnetwork. For example, a typical IP address and its subnet mask may look like 192.0.2.1 and 255.255.255.0, respectively. The CIDR notation for the same IP address and subnet would be 192.0.2.1/24, because the first 24 bits of the IP address indicate the subnetwork.
[edit] Static and dynamic IP addresses
When a computer is manually configured to use the same IP address each time it connects, this is known as a Static IP address. In contrast, in situations when the computer's IP address is assigned automatically, it is known as a Dynamic IP address.
[edit] Method of assignment
Static IP addresses are manually assigned to a computer by an administrator. The exact procedure varies according to platform. This contrasts with dynamic IP addresses, which is assigned either randomly (by the computer itself, as in Zeroconf), or arbitrarily assigned by a server using Dynamic Host Configuration Protocol (DHCP). Even though IP addresses assigned using DHCP may stay the same for long periods of time, they can generally change. In some cases, a network administrator may implement dynamically assigned static IP addresses. In this case, a DHCP server is used, but it is specifically configured to always assign the same IP address to a particular computer, and never to assign that IP address to another computer. This allows static IP addresses to be configured in one place, without having to specifically configure each computer on the network in a different way.
In the absence of both an administrator (to assign a static IP address) and a DHCP server, the operating system may still assign itself a dynamic IP address using Zeroconf. These IP addresses are known as link-local addresses. For IPv4, link-local addresses are in the 169.254.0.0/16 address range.
[edit] Uses of dynamic addressing
Dynamic IP Addresses are most frequently assigned on LANs and broadband networks by Dynamic Host Configuration Protocol (DHCP) servers. They are used because it avoids the administrative burden of assigning specific static addresses to each device on a network. It also allows many devices to share limited address space on a network if only some of them will be online at a particular time. In most current desktop operating systems, dynamic IP configuration is enabled by default so that a user does not need to manually enter any settings to connect to a network with a DHCP server. DHCP is not the only technology used to assigning dynamic IP addresses. Dialup and some broadband networks use dynamic address features of the Point-to-Point Protocol.
[edit] Uses of static addressing
Static addressing is essential in some infrastructure situations, such as finding the Domain Name Service directory host that will translate domain names to numbers (IP addresses). Static addresses are also convenient, but not absolutely necessary, to locate servers inside an enterprise. An address obtained from a DNS server comes with a time to live, or caching time, after which it should be looked up to confirm that it has not changed. Even static IP addresses do change as a result of network administration, however (RFC 2072).
[edit] Modifications to IP addressing
[edit] IP blocking and firewalls
Firewalls are common on today's Internet. For increased network security, they allow or deny access to their private network based on the public IP of the client. Whether using a blacklist or a whitelist, the IP address that is blocked is the perceived public IP address of the client, meaning that if the client is using a proxy server or NAT, blocking one IP address might block many individual people.
[edit] IP address translation
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 an IPv4 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 a private network. Only the "outside" interface(s) of the NAT need to have Internet-routable addresses[3].
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.
In small home networks, NAT functions are usually performed by a residential gateway device, typically one marketed as a "router". In this scenario, the computers connected to the router would have 'private' IP addresses and the router would have a 'public' address to communicate with the Internet. This type of router allows several computers to share one public IP address.
[edit] See also
- Classful network
- PING
- IP Multicast
- MAC address
- Regional Internet Registry
- Subnet address
- Geolocation
- Geolocation software
- Country IP database
- Geo (marketing)
- Honeypot
- Data mining
- IP address spoofing
- Help:Page history: your IP in the Wikipedia page histories.
- Private network
- IP blocking
- List of assigned /8 IP address blocks
- Virtual IP address
- Internet
- Provider Independent Address Space
- Provider Aggregatable Address Space
[edit] References
- Comer, Douglas (2000). Internetworking with TCP/IP:Principles, Protocols, and Architectures --4th ed.. Upper Saddle River, NJ: Prentice Hall. ISBN 0-13-018380-6.
[edit] External links
- IP at the Open Directory Project which includes sites that let you find your IP address
- Articles on CircleID about IP addressing
- IP-Address Management on LANs — article in Byte magazine
- Understanding IP Addressing: Everything You Ever Wanted To Know
- How to get a static IP address - clear instructions for all the major platforms
- Internet IP Address Allocation by Country 2008 Report