An Internet Protocol address (or IP address for short) is a numeric label assigned to each device connected to a computer network that uses the Internet Protocol for communication. IP addresses have two main functions: host or network interface identification and location addressing. The IP address space is managed globally by the Internet Assigned Numbers Authority (IANA), and by five regional Internet registrars (RIRs) responsible in designated areas for assignment to local Internet registrars, such as Internet service providers, and other end users. IPv4 addresses are distributed by IANA to RIRs in blocks of approximately 16.8 million addresses each, but have been depleted at the IANA rate since 2011. Only one of the RIRs still has stock for local assignments in Africa. Some IPv4 addresses are reserved for private networks and are not globally unique.
Currently, these two versions of the Internet Protocol are used simultaneously.
The network administrator assigns an IP address to each device connected to the network. Such assignments may be static (permanent or permanent) or dynamic, depending on network practices and software features. IP addresses serve two main functions. It identifies a host, or more specifically its network interface, and provides the location of the host on the network, and thus the ability to establish a path to that host. The header of each IP packet contains the IP address of the sending host, and the destination host. Two versions of the Internet Protocol are commonly used on the Internet today. The original version of the Internet Protocol first used in 1983 on the ARPANET, the predecessor to the Internet, was Internet Protocol version 4 (IPv4). The exhaustion of the rapidly available IPv4 address space for assignment to Internet service providers and end-user organizations in the early 1990s, prompted the Internet Engineering Task Force (IETF) to explore new technologies to expand addressing capabilities on the Internet. IPv6 technology was in various stages of testing until the mid-2000s, when commercial production deployments began. Currently, these two versions of the Internet Protocol are used simultaneously. Among other technical changes, each version defines the address format differently. Due to the historical prevalence of IPv4, the term generic IP address still usually refers to addresses defined by IPv4. The gap in version order between IPv4 and IPv6 resulted from the assignment of version 5 to the Internet Stream Protocol in 1979, which however was never referred to as IPv5.
Other versions v1 to v9 were defined, but only v4 and v6 were ever widely used. 1 and v2 were names for the TCP protocol in 1974 and 1977, as there were separate IP specifications at the time. 3 was defined in 1978, and v3.1 was the first version in which TCP was separated from IP. 6 is a synthesis of several suggested versions, v6 Simple Internet Protocol, v7 TP/IX: The Next Internet, v8 PIP - P Internet Protocol, and v9 TUBA - Tcp & Udp with Big Addresses. An IP network can be divided into subnetworks in both IPv4 and IPv6. For this purpose, an IP address is recognized as consisting of two parts: the network prefix in high-order bits and the remaining bits called the remainder field, the host identifier, or the interface identifier (IPv6), used for numbering the hosts in the network.
The subnet mask or CIDR notation defines how an IP address is divided into network and host portions. The term subnet mask is used only in IPv4. However, both versions of IP use the concept and notation of CIDR. In this case, the IP address is followed by a slash and the number (in decimal) of the bit used for the network portion, also called the routing prefix. Each part represents a group of 8 bits (one octet) of the address. IPv4 addresses can be represented in various hexadecimal, octal, or binary representations. In the early stages of Internet Protocol development, the network number was always the highest order octet (the eight most significant bits). Since this method only allowed for 256 networks, it soon proved inadequate when additional networks were developed that were independent of the existing network designated by the network number. In 1981, the addressing specification was revised with the introduction of a classful network architecture. The classy network design allows for larger individual network assignments and finer grained subnetwork designs. The first three bits of the most significant octet of an IP address are defined as the address class. Three classes (A, B, and C) are defined for universal unicast addressing. Depending on the derived class, network identification is based on the octet boundary segment of the entire address. Each class uses consecutive additional octets in the network identifier, thereby reducing the number of hosts in higher-order classes (B and C).
The following table provides an overview of this now obsolete system. Classful's network design served its purpose in the early stages of the Internet, but lacked scalability in the face of rapid network expansion in the 1990s. The class address space system was replaced with Classless Inter-Domain Routing (CIDR) in 1993. CIDR is based on variable-length subnet masking (VLSM) to allow allocation and routing based on prefixes of arbitrary length. Today, remnants of the classful network concept only function in a limited scope as the default configuration parameters of some network software and hardware components (e.g. early network designs, when global end-to-end connectivity was envisioned for communication with all Internet hosts, intended for IP addresses to be globally unique.
However, it was found that this was not always necessary as private networks grew and the public address space needed to be preserved. Computers that are not connected to the Internet, such as factory machines that communicate only with each other via TCP/IP, do not need to have globally unique IP addresses. Today, such private networks are widely used and are usually connected to the Internet by network address interpretation (NAT), when necessary. Three non-overlapping IPv4 address ranges for private networks are reserved. These addresses are not routed on the Internet and therefore their use does not need to be coordinated with the IP address registry. Each user can use any of the ordered blocks. In IPv6, the address size is increased from 32 bits in IPv4 to 128 bits, thus providing up to 2128 (approximately 3,403×1038) addresses. This is considered sufficient for the future.
The intent of this new design is not only to provide a sufficient number of addresses, but also to redesign routing on the Internet by enabling more efficient aggregation of sub-network routing prefixes. This results in slower routing table growth in routers. The smallest possible individual allocation is the subnet for 264 hosts, which is the square of the size of the entire IPv4 Internet. At this rate, the actual address utilization ratio will be small on each IPv6 network segment. The new design also provides the opportunity to separate the network segment addressing infrastructure, i.e. local administration of the available segment space, from the addressing prefixes used to route traffic to and from external networks. IPv6 has a facility that automatically changes the routing prefix of the entire network, if global connectivity or routing policies change, without requiring internal redesign or manual renumbering. The large number of IPv6 addresses allows large blocks to be assigned to specific destinations and, where appropriate, to be aggregated for efficient routing. With a large address space, there is no need to have complex address conservation methods like those used in CIDR. All modern enterprise desktop and server operating systems include native support for the IPv6 protocol, but are not yet widely used in other devices, such as residential network routers, voice over IP (VoIP) and multimedia equipment, and some network hardware. Just as IPv4 reserves addresses for private networks, address blocks are set aside in IPv6. In IPv6, this is referred to as a unique local address (ULA). 8 blocks with different implied policies.
Addresses include a 40-bit pseudorandom number which minimizes the risk of address collisions if sites join or packets are misinterpreted. Early practice used a different block for this purpose (fec0::), dubbed site-local addresses. However, the definition of what constitutes a site remains unclear and a poorly defined handling policy creates ambiguity for routing. This type of address is deprecated and should not be used in the new system. Addresses starting with fe80::, called link-local addresses, are assigned to the interface for communication on the attached link. These addresses are automatically generated by the operating system for each network interface. It provides instant and automatic communication between all IPv6 hosts on the link. This feature is used in lower layers of IPv6 network administration, such as for the Neighbor Discovery Protocol. Private and link-local address prefixes may not be redirected on the public Internet. IP addresses are assigned to hosts either dynamically as they join the network, or continuously by the host's hardware or software configuration. Persistent configuration is also known as using a static IP address. On the other hand, when a computer's IP address is assigned each time it restarts, it is known to use a dynamic IP address. Dynamic IP addresses are assigned by the network using the Dynamic Host Configuration Protocol (DHCP). DHCP is the technology most often used to assign addresses. This avoids the administrative burden of assigning a specific static address to each device on the network. It also allows devices to share limited address space on the network if only a few of them are online at any given time. Typically, dynamic IP configuration is enabled by default in modern desktop operating systems. Addresses assigned with DHCP are associated with leases and usually have an expiration date. If the lease is not renewed by the host before expiration, the address can be assigned to another device.
Some DHCP implementations attempt to reassign the same IP address to a host, based on its MAC address, each time it joins the network. Network owners can configure DHCP by allocating specific IP addresses based on MAC addresses. DHCP is not the only technology used to dynamically assign IP addresses. The Bootstrap Protocol is a similar protocol and predecessor to DHCP. Dialup and some broadband networks use the dynamic address feature of the Point-to-Point Protocol. Computers and equipment used for network infrastructure, such as routers and mail servers, are typically configured with static addressing. In the absence or failure of a static or dynamic address configuration, the operating system can assign a link-local address to a host using stateless address autoconfiguration. IP address is an informal term used by cable and DSL Internet access subscribers to describe a dynamically assigned IP address that changes infrequently. Addresses are usually assigned with DHCP. Because modems are usually powered on for long periods of time, address leases are usually assigned for long periods of time and are only extended. If the modem is turned off and on again before the end of the address lease, the modem often receives the same IP address. The address block 169.254.0.0/16 is defined for specific use in link-local addressing for IPv4 networks.