IP is the protocol that handles addressing and routing of data across the internet. Each device connected to the internet has a unique IP address that is used to identify it and route data to it. There are different classes of IP addresses that determine the number of devices that can be connected to a network. IP addresses are represented numerically in dot-decimal notation and newer versions of IP have expanded the available address space to meet growing internet demands.
2. IP address
The Internet Protocol (IP) is the method or protocol by which data is sent from one computer to
another on the Internet. Each computer (known as a host) on the Internet has at least one IP
address that uniquely identifies it from all other computers on the Internet. When you send or
receive data (for example, an e-mail note or a Web page), the message gets divided into little
chunks called packets. Each of these packets contains both the sender's Internet address and the
receiver's address. Any packet is sent first to a gateway computer that understands a small part of
the Internet. The gateway computer reads the destination address and forwards the packet to an
adjacent gateway that in turn reads the destination address and so forth across the Internet until
one gateway recognizes the packet as belonging to a computer within its immediate
neighborhood or domain. That gateway then forwards the packet directly to the computer whose
address is specified.
Because a message is divided into a number of packets, each packet can, if necessary, be sent by
a different route across the Internet. Packets can arrive in a different order than the order they
were sent in. The Internet Protocol just delivers them. It's up to another protocol, the
Transmission Control Protocol (TCP) to put them back in the right order.
IP is a connectionless protocol, which means that there is no continuing connection between the
end points that are communicating. Each packet that travels through the Internet is treated as an
independent unit of data without any relation to any other unit of data. (The reason the packets
do get put in the right order is because of TCP, the connection-oriented protocol that keeps track
of the packet sequence in a message.) In the Open Systems Interconnection (OSI)
communication model, IP is in layer 3, the Networking Layer.
An Internet Protocol address (IP address) is a numerical label that is assigned to devices
participating in a computer network that uses the Internet Protocol for communication between
its nodes.An IP address serves two principal functions: host or network interface identification
and location addressing. 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."
An identifier for a computer or device on a TCP/IP network. Networks using the TCP/IP
protocol route messages based on the IP address of the destination. The format of an IP address
is a 32-bit numeric address written as four numbers separated by periods. Each number can be
zero to 255. For example, 1.160.10.240 could be an IP address.
3. Internet Protocol
The Internet Protocol (IP) is a protocol used for communicating data across a packet-switched
internetwork using the Internet Protocol Suite, also referred to as TCP/IP.IP is the primary
protocol in the Internet Layer of the Internet Protocol Suite and has the task of delivering
distinguished protocol datagrams (packets) from the source host to the destination host solely
based on their addresses. For this purpose the Internet Protocol defines addressing methods and
structures for datagram encapsulation. The first major version of addressing structure, now
referred to as Internet Protocol Version 4 (IPv4) is still the dominant protocol of the Internet,
although the successor, Internet Protocol Version 6 (IPv6) is being deployed actively worldwide.
Services provided by IP
IP has two major functions: addressing and fragmentation. With regards to addressing, IP
provides an unreliable, connectionless datagram delivery service. If any errors should occur
during the transmission of an IP datagram, IP does not attempt to correct the error. It will discard
the datagram and send an ICMP error message back to the host from which the datagram
originated. IP treats each datagram as an independent entity — a collection of datagrams sent to
a particular host do not have to follow the same path to that host, and these datagrams may also
get delivered out of order.
The maximum size of an IP datagram is determined by the maximum transmission unit (MTU)
for the physical link layer. The link layer can (and is likely to) change as the packet moves from
source to destination. Therefore, the MTU can (and is likely to) change over the route. If an IP
datagram is larger than the MTU of the link layer, the datagram is fragmented to fit within the
bounds of the MTU. These fragments are not reassembled until they reach the destination host,
and if any of the fragments fail to reach their destination, the entire datagram has to be
retransmitted. IP is responsible for fragmenting and reassembling the datagram.
IP merely provides a best effort service to get the datagrams to their destination. The datagrams
may get there out of order, or may not get delivered at all. The task of ensuring that the
datagrams get there in order and are all delivered is assigned to TCP.
4. The Network Part of the IP Address
The Internet is really the interconnection of many individual networks (it's sometimes referred to
as an internetwork). So the Internet Protocol (IP) is basically the set of rules for one network
communicating with any other (or occasionally, for broadcast messages, all other networks).
Each network must know its own address on the Internet and that of any other networks with
which it communicates. To be part of the Internet, an organization needs an Internet network
number, which it can request from the Network Information Center (NIC). This unique network
number is included in any packet sent out of the network onto the Internet.
The Local or Host Part of the IP Address
In addition to the network address or number, information is needed about which specific
machine or host in a network is sending or receiving a message. So the IP address needs both the
unique network number and a host number (which is unique within the network). (The host
number is sometimes called a local or machine address.)
Part of the local address can identify a subnetwork or subnet address, which makes it easier for a
network that is divided into several physical subnetworks (for examples, several different local
area networks or ) to handle many devices.
5. IP Address Classes and Their Formats
There are five classes of available IP ranges: Class A, Class B, Class C, Class D and Class E,
while only A, B and C are commonly used. Each class allows for a range of valid IP addresses.
Below is a listing of these addresses.
Class Address Range Supports
1.0.0.1 to
Class A Supports 16 million hosts on each of 127 networks.
126.255.255.254
128.1.0.1 to
Class B Supports 65,000 hosts on each of 16,000 networks.
191.255.255.254
192.0.1.1 to
Class C Supports 254 hosts on each of 2 million networks.
223.255.254.254
224.0.0.0 to
Class D Reserved for multicast groups.
239.255.255.255
240.0.0.0 to Reserved for future use, or Research and Development
Class E
254.255.255.254 Purposes.
6. IP addressing and routing
Perhaps the most complex aspects of IP are IP addressing and routing. Addressing refers to how
end hosts become assigned IP addresses and how subnetworks of IP host addresses are divided
and grouped together. IP routing is performed by all hosts, but most importantly by internetwork
routers, which typically use either interior gateway protocols (IGPs) or external gateway
protocols (EGPs) to help make IP datagram forwarding decisions across IP connected networks.
Version history
In May 1974, the Institute of Electrical and Electronic Engineers (IEEE) published a paper
entitled "A Protocol for Packet Network Interconnection." The paper's authors, Vint Cerf and
Bob Kahn, described an internetworking protocol for sharing resources using packet-switching
among the nodes. A central control component of this model was the "Transmission Control
Program" (TCP) that incorporated both connection-oriented links and datagram services between
hosts. The monolithic Transmission Control Program was later divided into a modular
architecture consisting of the Transmission Control Protocol at the connection-oriented layer and
the Internet Protocol at the internetworking (datagram) layer. The model became known
informally as TCP/IP, although formally it was henceforth referenced as the Internet Protocol
Suite.
The Internet Protocol is one of the determining elements that define the Internet. The dominant
internetworking protocol in the Internet Layer in use today is IPv4; with number 4 assigned as
the formal protocol version number carried in every IP datagram. IPv4 is described in RFC 791
(1981).The successor to IPv4 is IPv6. Its most prominent modification from Version 4 is the
addressing system. IPv4 uses 32-bit addresses (c. 4 billion, or 4.3×109, addresses) while IPv6
uses 128-bit addresses (c. 340 undecillion, or 3.4×1038 addresses). Although adoption of IPv6
has been slow, as of June 2008, all United States government systems have demonstrated basic
infrastructure support for IPv6 (if only at the backbone level).
Version numbers 0 through 3 were development versions of IPv4 used between 1977 and
1979.[citation needed] Version number 5 was used by the Internet Stream Protocol (IST), an
experimental stream protocol. Version numbers 6 through 9 were proposed for various protocol
models designed to replace IPv4: SIPP (Simple Internet Protocol Plus, known now as IPv6),
TP/IX (RFC 1475), PIP (RFC 1621) and TUBA (TCP and UDP with Bigger Addresses, RFC
1347). Version number 6 was eventually chosen as the official assignment for the successor
Internet protocol, subsequently standardized as IPv6.
A humorous Request for Comments that made an IPv9 protocol center of its storyline was
published on April 1, 1994 by the IETF.[5] It was intended as an April Fool's Day joke. Other
protocol proposals named "IPv9" and "IPv8" have also briefly surfaced, though these came with
little or no support from the wider industry and academia.
7. Reference diagrams
Sample encapsulation of application data from UDP
to a Link protocol frame
Internet Protocol Suite in operation between two
hosts connected via two routers and the
corresponding layers used at each hop
8. IP versions
Two versions of the Internet Protocol (IP) are in use: IP Version 4 and IP Version 6. (See IP
version history for details.) Each version defines an IP address differently. Because of its
prevalence, the generic term IP address typically still refers to the addresses defined by IPv4.
An illustration of an IP address (version 4), in both dot-decimal notation and binary.
IP version 4 addresses
IPv4 uses 32-bit (4-byte) addresses, which limits the address space to 4,294,967,296 (232)
possible unique addresses. IPv4 reserves some addresses for special purposes such as private
networks (~18 million addresses) or multicast addresses (~270 million addresses).
IPv4 addresses are usually represented in dot-decimal notation (four numbers, each ranging from
0 to 255, separated by dots, e.g. 208.77.188.166). Each part represents 8 bits of the address, and
is therefore called an octet. In less common cases of technical writing, IPv4 addresses may be
presented in hexadecimal, octal, or binary representations. In most representations each octet is
converted individually.
IPv4 subnetting
In the early stages of development of the Internet Protocol,[1] network administrators interpreted
an IP address in two parts, network number portion and host number portion. The highest order
octet (most significant eight bits) in an address was designated as the network number and the
rest of the bits were called the rest field or host identifier and were used for host numbering
within a network.
The early method soon proved inadequate as additional networks developed that were
independent from the existing networks already designated by a network number. In 1981, the
9. Internet addressing specification was revised with the introduction of classful network
architecture.[2]
Classful network 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
First octet in Range of first Network Host Number of Number of
Class
binary octet ID ID networks addresses
224-2 =
A 0XXXXXXX 0 - 127 a b.c.d 27 = 128
16,777,214
B 10XXXXXX 128 - 191 a.b c.d 214 = 16,384 216-2 = 65,534
C 110XXXXX 192 - 223 a.b.c d 221 = 2,097,152 28-2 = 254
Although classful network design was a successful developmental stage, it proved unscalable in
the face of the rapid expansion of the Internet, and in the mid 1990s it started to become
abandoned because of the introduction of Classless Inter-Domain Routing (CIDR) for the
allocation of IP address blocks and new rules for routing IPv4 packets. 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.
IPv4 private addresses
Early network design, when global end-to-end connectivity was envisioned for communications
with all Internet hosts, intended that IP addresses be uniquely assigned to a particular computer
or device. However, it was found that this was not always necessary as private networks
developed and public address space needed to be conserved.
10. 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. Three ranges of IPv4
addresses for private networks, one range for each class (A, B, C), were reserved in RFC 1918.
These addresses are not routed on the Internet and thus their use need not be coordinated with an
IP address registry.
Today, when needed, such private networks typically connect to the Internet through network
address translation (NAT).
IANA-reserved private IPv4 network ranges
Start End No. of addresses
24-bit Block (/8 prefix, 1 x A) 10.0.0.0 10.255.255.255 16,777,216
20-bit Block (/12 prefix, 16 x B) 172.16.0.0 172.31.255.255 1,048,576
16-bit Block (/16 prefix, 256 x C) 192.168.0.0 192.168.255.255 65,536
Any user may use any of the reserved blocks. Typically, a 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).
IPv4 address exhaustion
The IP version 4 address space is rapidly nearing exhaustion of available, officially assignable
address blocks.
IP version 6 addresses
An illustration of an IP address (version 6), in hexadecimal and binary.
11. The rapid exhaustion of IPv4 address space, despite conservation techniques, prompted the
Internet Engineering Task Force (IETF) to explore new technologies to expand the Internet's
addressing capability. The permanent solution was deemed to be a redesign of the Internet
Protocol itself. This next generation of the Internet Protocol, aimed to replace IPv4 on the
Internet, was eventually named Internet Protocol Version 6 (IPv6) in 1995[3][4] The address size
was increased from 32 to 128 bits or 16 octets, which, even with a generous assignment of
network blocks, is deemed sufficient for the foreseeable future. Mathematically, the new address
space provides the potential for a maximum of 2128, or about 3.403 × 1038 unique addresses.
The new design is not based on the goal to provide a sufficient quantity of addresses alone, but
rather to allow efficient aggregation of subnet routing prefixes to occur at routing nodes. As a
result, routing table sizes are smaller, and 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 rates will be small on any IPv6 network segment. The new design also
provides the opportunity to separate the addressing infrastructure of a network segment—that is
the local administration of the segment's available space—from the addressing prefix used to
route external traffic for a network. 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 renumbering.
The 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 not
the need to have complex address conservation methods as used in Classless Inter-Domain
Routing (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 home networking routers,
voice over Internet Protocol (VoIP) and multimedia equipment, and network peripherals.
IPv6 private addresses
Just as IPv4 reserves addresses for private or internal networks, there are blocks of addresses set
aside in IPv6 for private addresses. In IPv6, these are referred to as unique local addresses
(ULA). RFC 4193 sets aside the routing prefix fc00::/7 for this block which is divided into two
/8 blocks with different implied policies (cf. IPv6) The addresses include a 40-bit pseudorandom
number that minimizes the risk of address collisions if sites merge or packets are misrouted.
Early designs (RFC 3513) used a different block for this purpose (fec0::), dubbed site-local
addresses. However, the definition of what constituted sites remained unclear and the poorly
defined addressing policy created ambiguities for routing. The address range specification was
abandoned and must no longer be used in new systems.
12. Addresses starting with fe80: — called link-local addresses — are assigned only in the local link
area. The addresses are generated usually automatically by the operating system's IP layer for
each network interface. This provides instant automatic network connectivity for any IPv6 host
and means that if several hosts connect to a common hub or switch, they have an instant
communication path via their link-local IPv6 address. This feature is used extensively, and
invisibly to most users, in the lower layers of IPv6 network administration (cf. Neighbor
Discovery Protocol).
IP blocking and firewalls
Firewalls are common on today's Internet. For increased network security, they control access to
private networks 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.
IP address translation
Multiple client devices can appear to share IP addresses: 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[5].
Most commonly, the NAT device maps TCP or UDP port numbers on the outside to individual
private addresses on the inside. Just as a telephone number may have site-specific extensions, the
port numbers are site-specific extensions to an IP address.
In small home networks, NAT functions usually take place in 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.
Diagnostic tools
Computer operating systems provide various diagnostic tools to examine their network interface
and address configuration. Windows provides the command-line interface tool ipconfig and users
of Unix-like systems can use ifconfig, netstat, route, lanstat, ifstat, or iproute2 utilities to
accomplish the task.