An Internet
Protocol address (IP address) is a numerical label assigned to each device
connected to a computer network that uses the Internet Protocol for
communication. An IP address serves 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 registries (RIRs) responsible in their
designated territories for assignment to local Internet registries, such as
Internet service providers, and other end users. IPv4 addresses were
distributed by IANA to the RIRs in blocks of approximately 16.8 million
addresses each, but have been exhausted at the IANA level since 2011. Only one
of the RIRs still has a supply for local assignments in Africa. Some IPv4
addresses are reserved for private networks and are not globally unique.
Network
administrators assign an IP address to each device connected to a network. Such
assignments may be on a static (fixed or permanent) or dynamic basis, depending
on network practices and software features.
Function
An IP address serves two principal functions. It identifies the host, or more
specifically its network interface, and it provides the location of the host in
the network, and thus the capability of establishing a path to that host. Its
role has been characterized as follows: "A name indicates what we seek. An
address indicates where it is. A route indicates how to get there."The header of each IP packet contains the IP address of the sending host and that
of the destination host.
IP versions
Two versions of the Internet protocol are in common use on the Internet today. The original version of the Internet Protocol that was first deployed in 1983 in the ARPANET, the predecessor of the Internet, is Internet Protocol version 4 (IPv4).
The rapid exhaustion of IPv4 address space available for assignment to Internet service providers and end-user organizations by the early 1990s, prompted the Internet
Engineering Task Force (IETF) to explore new
technologies to expand the addressing capability on the Internet. The result
was a redesign of the Internet Protocol which became eventually known as Internet
Protocol Version 6 (IPv6) in 1995. IPv6 technology was in
various testing stages until the mid-2000s when commercial production deployment
commenced.
Today, these two
versions of the Internet Protocol are in simultaneous use. Among other
technical changes, each version defines the format of addresses differently.
Because of the historical prevalence of IPv4, the generic term IP
address typically still refers to the addresses defined by IPv4. The
gap in version sequence between IPv4 and IPv6 resulted from the assignment of
version 5 to the experimental Internet Stream Protocol in 1979, which however was never referred to as IPv5.
Other versions
v1 to v9 was defined, but only v4 and v6 ever gained widespread use. v1 and v2
were names for TCP protocols in 1974 and 1977, as there was to separate IP
specifications at the time. V3 was defined in 1978, and v3.1 is the first
version where TCP is separated from IP. v6 is a synthesis of several suggested
versions, v6 Simple Internet Protocol, v7 TP/IX: The Next
Internet, v8 PIP — The P Internet Protocol, and v9 TUBA
— Tcp & Udp with Big Addresses.
Subnetworks
IP networks may
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 the high-order bits and the remaining
bits called the rest field, host identifier, or interface
identifier (IPv6), used for host numbering within a
network. The subnet mask or CIDR notation determines how the IP
address is divided into network and host parts.
The term subnet
mask is only used within IPv4. Both IP versions, however, use the CIDR
concept and notation. In this, the IP address is followed by a slash and the
number (in decimal) of bits used for the network part, also called the routing
prefix. For example, an IPv4 address and its subnet mask maybe 192.0.2.1 and 255.255.255.0,
respectively. The CIDR notation for the same IP address and subnet is 192.0.2.1/24 because the first 24 bits of the IP address indicate the network and subnet.
IPv4 addresses
Decomposition of an IPv4 address from dot-decimal notation to its binary value.
An IPv4 address
has a size of 32 bits, which limits the address space to 4294967296 (232)
addresses. Of this number, some addresses are reserved for special purposes
such as private networks (~18 a million addresses) and multicast addressing (~270 million
addresses).
IPv4 addresses
are usually represented in dot-decimal notation, consisting of four decimal numbers, each ranging from 0 to 255, separated
by dots, e.g., 172.16.254.1. Each part represents a group of 8 bits
(an octet) of the
address. In some cases of technical writing, IPv4 addresses may be presented in
various hexadecimal, octal, or binary representations.
Subnetting history
In the early
stages of development of the Internet Protocol, the network number was always
the highest order octet (most significant eight bits). Because this method
allowed for only 256 networks, it soon proved inadequate as additional networks
developed that were independent of the existing networks already designated by
a network number. In 1981, the addressing specification was revised with the
introduction of classful network architecture.
Classful network the design allowed for a larger number of individual network assignments and
fine-grained subnetwork design.
The first three bits of the most significant 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 now obsolete system.
Historical classful network architecture
|
|||||||
Class
|
Leading
bits |
Size of network
number bit field |
Size of rest
bit field |
Number
of networks |
Number of addresses
per network |
Start address
|
End address
|
A
|
0
|
8
|
24
|
128 (27)
|
16777216 (224)
|
0.0.0.0
|
127.255.255.255
|
B
|
10
|
16
|
16
|
16384 (214)
|
65536 (216)
|
128.0.0.0
|
191.255.255.255
|
C
|
110
|
24
|
8
|
2097152 (221)
|
256 (28)
|
192.0.0.0
|
223.255.255.255
|
Classful network the design served its purpose in the startup stage of the Internet, but it
lacked scalability in the face of the rapid expansion of networking in the 1990s. The class system of the
address space 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
arbitrary-length prefixes. Today, remnants of classful network concepts
function only in a limited scope as the default configuration parameters of
some network software and hardware components (e.g. netmask), and in the
technical jargon used in network administrators' discussions.
Private addresses
Early network
design, when global end-to-end connectivity was envisioned for communications
with all Internet hosts, intended that IP addresses be globally unique.
However, it was found that this was not always necessary as private networks
developed and public address space needed to be conserved.
Computers not
connected to the Internet, such as factory machines that communicate only with
each other via TCP/IP, need not have globally unique IP addresses. Today, such
private networks are widely used and typically connect to the Internet
with network address translation (NAT), when needed.
Three
non-overlapping ranges of IPv4 addresses for private networks are reserved. These addresses are not routed on the
Internet and thus their use need not be coordinated with an IP address
registry. Any user may use any of the reserved blocks. Typically, a network an administrator will divide a block into subnets; for example, many home routers automatically
use a default address range of 192.168.0.0 through 192.168.0.255 (192.168.0.0/24).
Reserved private IPv4 network ranges
|
||||
Name
|
CIDR block
|
Address range
|
Number of addresses
|
Classful description
|
24-bit block
|
10.0.0.0/8
|
10.0.0.0 –
10.255.255.255
|
16777216
|
Single Class
A.
|
20-bit block
|
172.16.0.0/12
|
172.16.0.0 –
172.31.255.255
|
1048576
|
Contiguous
range of 16 Class B blocks.
|
16-bit block
|
192.168.0.0/16
|
192.168.0.0 –
192.168.255.255
|
65536
|
Contiguous
range of 256 Class C blocks.
|
IPv6 addresses
Decomposition of an IPv6 address from hexadecimal representation to its binary value.
In IPv6, the
address size was increased from 32 bits in IPv4 to 128 bits, thus providing up
to 2128 (approximately 3.403×1038) addresses.
This is deemed sufficient for the foreseeable future.
The intent of
the new design was not to provide just a sufficient quantity of addresses, but
also redesign routing on the Internet by allowing more efficient aggregation of
subnetwork routing prefixes. This resulted in slower growth of routing tables in routers. The smallest possible individual
allocation is a subnet for 264 hosts, which is the square of
the size of the entire IPv4 Internet. At these levels, actual address utilization
ratios will be small on any IPv6 network segment. The new design also provides
the opportunity to separate the addressing infrastructure of a network segment,
i.e. the local administration of the segment's available space, from the
addressing prefix used to route traffic to and from external networks. IPv6 has
facilities that automatically change the routing prefix of entire networks,
should the global connectivity or the routing policy change, without requiring
internal redesign or manual renumbering.
A large number
of IPv6 addresses allows large blocks to be assigned for specific purposes and,
where appropriate, to be aggregated for efficient routing. With a large address
space, there is no need to have complex address conservation methods as used in
CIDR.
All modern
desktop and enterprise server operating systems include native support for the
IPv6 protocol, but it is not yet widely deployed in other devices, such as
residential networking routers, voice over IP (VoIP) and multimedia equipment, and
some networking hardware.
Private addresses
Just as IPv4
reserves addresses for private networks, blocks of addresses are set aside in
IPv6. In IPv6, these are referred to as unique local addresses (ULAs). The routing prefix fc00::/7 is reserved for
this block, which is divided into two /8 blocks
with different implied policies. The addresses include a 40-bit pseudorandom number that minimizes the risk of address
collisions if sites merge or packets are misrouted.
Early practices
used a different block for this purpose (fec0::), dubbed site-local
addresses. However, the definition of what constituted
a site remained unclear and the poorly defined addressing
policy created ambiguities for routing. This address type was abandoned and
must not be used in new systems.
Addresses
starting with fe80::, called link-local addresses, are assigned to interfaces for communication on the attached link. The
addresses are automatically generated by the operating system for each network
interface. This provides instant and automatic communication between all IPv6
host on a link. This feature is used in the lower layers of IPv6 network
administration, such as for the Neighbor
Discovery Protocol.
Private and
link-local address prefixes may not be routed on the public Internet.
IP address
assignment
IP addresses are
assigned to a host either dynamically as they join the network, or persistently
by the configuration of the host hardware or software. Persistent configuration is
also known as using a static IP address. In contrast, when a
computer's IP address is assigned each time it restarts, this is known as using
a dynamic IP address.
Dynamic IP
addresses are assigned by network using Dynamic Host
Configuration Protocol (DHCP). DHCP is the most
frequently used technology for assigning addresses. It avoids the
administrative burden of assigning specific static addresses to each device on
a network. It also allows devices to share the limited address space on a
network if only some of them are online at a particular time. Typically,
dynamic IP configuration is enabled by default in modern desktop operating systems.
The address
assigned with DHCP is associated with a lease and usually has
an expiration period. If the lease is not renewed by the host before expiry,
the address may 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. A network administrator may configure DHCP by
allocating specific IP addresses based on the MAC address.
DHCP is not the only technology used to assign IP addresses dynamically. Bootstrap Protocol is a similar protocol and predecessor to DHCP. Dialup and some
broadband networks use dynamic address features of the Point-to-Point Protocol.
Computers and
equipment used for the network infrastructure, such as routers and mail
servers, are typically configured with static addressing.
In the absence
or failure of static or dynamic address configurations, an operating system may
assign a link-local address to a host using stateless address autoconfiguration.
Sticky dynamic IP address
A sticky dynamic IP address is an informal term used by cable and DSL Internet
access subscribers to describe a dynamically assigned IP address that seldom
changes. The addresses are usually assigned with DHCP. Since the modems are
usually powered on for extended periods of time, the address leases are usually
set to long periods and simply renewed. If a modem is turned off and powered up
again before the next expiration of the address lease, it often receives the
same IP address.
Address autoconfiguration
Address
block 169.254.0.0/16 is defined for the special use in
link-local addressing for IPv4 networks. In IPv6, every interface, whether using
static or dynamic address assignments, also receives a link-local address automatically
in the block fe80::/10. These addresses are only valid on the link,
such as a local network segment or point-to-point connection, to which a host
is connected. These addresses are not routable and, like private addresses,
cannot be the source or destination of packets traversing the Internet.
When the
link-local IPv4 address block was reserved, no standards existed for mechanisms
of address autoconfiguration. Filling the void, Microsoft developed a protocol called Automatic
Private IP Addressing (APIPA), whose first public implementation
appeared in Windows 98. APIPA has been deployed on millions of
machines and became a de facto standard in the industry. In May 2005, the IETF defined a formal standard for it.
Addressing conflicts
An IP address
conflict occurs when two devices on the same local physical or wireless network
claim to have the same IP address. The second assignment of an address generally
stops the IP functionality of one or both of the devices. Many modern operating systems notify the administrator of IP address conflicts. When IP addresses are assigned by multiple
people and systems with differing methods, any of them may be at fault. If one of the devices involved in the
conflict is the default gateway access beyond the LAN for all devices on the
LAN may be impaired.
Routing
IP addresses are
classified into several classes of operational characteristics: unicast,
multicast, anycast, and broadcast addressing.
Unicast addressing
The most common
concept of an IP address is in unicast addressing, available in both
IPv4 and IPv6. It normally refers to a single sender or a single receiver and
can be used for both sending and receiving. Usually, a unicast address is
associated with a single device or host, but a device or host may have more
than one unicast address. Sending the same data to multiple unicast addresses
requires the sender to send all the data many times over, once for each
recipient.
Broadcast addressing
Broadcasting is an addressing technique available in IPv4 to address data to all possible
destinations on a network in one transmission operation as an all-hosts
broadcast. All receivers capture the network packet. The address 255.255.255.255 is
used for network broadcast. In addition, a more limited directed-broadcast uses
the all-ones host address with the network prefix. For example, the destination
address used for directed broadcast to devices on the network 192.0.2.0/24 is 192.0.2.255.
IPv6 does not
implement broadcast addressing, and replaces it with multicast to the specially
defined all-nodes multicast address.
Multicast addressing
A multicast address is associated with a group of interested
receivers. In IPv4, addresses 224.0.0.0 through 239.255.255.255 (the
former Class D addresses)
are designated as multicast addresses. IPv6 uses the address block with the
prefix ff00::/8 for multicast. In either case, the sender
sends a single datagram from its unicast address to the multicast group address
and the intermediary routers take care of making copies and sending them to all
interested receivers (those that have joined the corresponding multicast
group).
Anycast addressing
Like broadcast
and multicast, anycast is a
one-to-many routing topology. However, the data stream is not transmitted to
all receivers; just the one which the router decides is closest to the network.
Anycast addressing is a built-in feature of IPv6. In IPv4, anycast addressing is implemented
with the Border Gateway Protocol using the shortest-path metric to choose
destinations. Anycast methods are useful for global load balancing and are
commonly used in distributed DNS systems.
Geolocation
A host may
use geolocation software to deduce the location of its communicating peer.
Public address
A public IP
address, in common parlance, is a globally routable unicast IP address, meaning
that the address is not an address reserved for use in private networks, such as those reserved by RFC 1918, or the various IPv6 address formats of local scope or site-local scope,
for example for link-local addressing. Public IP addresses may be used for
communication between hosts on the global Internet.
Firewalling
For security and
privacy considerations, network administrators often desire to restrict public
Internet traffic within their private networks. The source and destination IP
addresses contained in the headers of each IP packet are a convenient means to
discriminate traffic by IP address blocking or by selectively tailoring responses to external requests to
internal servers. This is achieved with firewall software
running on the network's gateway router. A database of IP addresses of
restricted and permissible traffic may be maintained in blacklists and white lists respectively.
Address
translation
Multiple client
devices can appear to share an IP address, either because they are part of
a shared web hosting service environment or because an IPv4 network address translator (NAT) or proxy server acts as an intermediary agent on behalf of the client, in which case
the real originating IP address is masked from the server receiving a request.
A common practice is to have a NAT mask many devices in a private network. Only
the public interface(s) of the NAT needs to have an Internet-routable address.
The NAT device
maps different IP addresses on the private network to different TCP or
UDP port numbers on the
public network. In residential networks, NAT functions are usually implemented
in a residential gateway. In this scenario, the computers connected to the router have private IP
addresses and the router has a public address on its external interface to
communicate on the Internet. The internal computers appear to share one public
IP address.
wow such a good post
ReplyDeleteCool content bro keep it up
ReplyDeleteThanks bro keep supporting
Delete