The Internet Protocol (IP) formally specifies the format to Internet packets, called Datagrams, and informally embodies the ideas of connectionless delivery.
IP provides three important definitions. First, the IP protocol defines the basic unit of data transfer used throughout a TCP/IP Internet. Thus it specifies
the exact format of all data as it passes across a TCP/IP Internet. Second, IP software performs the routing function, choosing a path over which data will be
sent. Third, in addition to the precise, formal specification of data formats and routing, IP includes a set of rules that embody the idea of unreliable
As shown above, the IP datagram is divided into header and data areas. Among other information, the datagram header contains the source and destination
IP addresses, fragmentation control, precedence, and a checksum used to catch transmission errors. Besides fixed-length fields, each datagram header can contain
an options field. The options field is a variable length, depending on the number and type of options used as well as the size of the data area allocated for
each option. Intended to help monitor and control the Internet, options allow one to specify or record routing information, or to gather timestamps as the
datagram traverses an Internet.
(ii) Routing IP Datagrams:
IP routing consists of deciding where to send a datagram based on its destination IP address. Direct delivery is possible if the destination machine
lies on a network to which the sending machine attaches. If the sender cannot reach the destination directly, the sender must forward the datagram to a
router. The general paradigm is that hosts send indirectly routed datagrams to the nearest router; the datagrams travel through the Internet from router to
router until they can be delivered directly across one physical network.
The above figure depicts an example of a singly homed host that must route datagrams. The host must choose to send a datagram either to route R1 or to route
R2, because each router provides the best path to some destinations.
Direct and Indirect Delivery:
The routing can be divided into two forms: direct delivery and indirect delivery. Direct delivery, the transmission of a datagram from one machine
across a single physical network directly to another, is the basis on which all Internet communication rests. Two machines can engage in direct delivery only if
they both attach directly to the same underlying physical transmission system. Indirect delivery occurs when the destination is not on a directly attached
network, forcing the sender to pass the datagram to a router for delivery.
Routing with IP Addresses:
When IP software looks up a route, the algorithm produces the IP address of the next machine to which the datagram should be sent; IP passes the datagram and
next hop address to network interface software. Transmission of a datagram from one machine to next always involves encapsulating the datagram in a physical
frame, mapping the next hop internet address to a physical address, and sending the frame using the underlying hardware.
The Internet routing algorithm is a table driven and uses only IP addresses. Although it is possible for a routing table to contain a host-specific
destination address, most routing tables contain only network addresses, keeping routing tables small. Using a default route can also help keep a routing table
small, especially for hosts that can access only one router.
(iii) Error and Control Messages (ICMP):
The Internet Control Message Protocol allows router to send error or control messages to other routers or hosts; ICMP provides communication between the
Internet Protocol software on one machine and the Internet Protocol software on another. ICMP includes source quench messages that retard the rate of
transmission, redirect messages that request a host to change its routing table, and echo request/reply messages that hosts can use to determine whether a
destination can be reached. An ICMP message travels in the data area of an IP datagram and has three fixed-length fields at the beginning of the message: an
ICMP message type field, a code field, and an ICMP checksum field. The message type determines the format of the rest of the message as well as its meaning.
When a datagram causes an error, ICMP can only report the error condition back to the original source of the datagram; the source must relate the error to an
individual application program or take other action to correct the problem.
6. Protocol Layering
Protocols are the standards that specify how data is represented when being transferred from one machine to another. Protocols specify how the transfer occurs, how
errors are detected, and how acknowledgements are passed. To simplify protocol design and implementation, communication stacks are segregated into layers that can be solved independently. Each
layer is assigned a separate protocol.
The idea of layering is fundamental because it provides a conceptual framework for protocol design.
ISO 7-Layer Reference Model:
7 Application layer
Application Layer is responsible for managing the communication between the applications.
6 Presentation Layer
Presentation Layer provides common operations on the structure of data being exchanged.
5 Session Layer
Session Layer provides the control structure for managing communications.
Terminating sessions. (Connections)
4 Transport Layer
Transport Layer provides reliable transparent data transfer between end points. (there may be more than two end points).
Provide error recovery and flow control.
3 Network Layer
Network Layer makes the upper layers independent of the data transmission, switching technologies, and topology of the network.
Determine which path (or paths) in the network that a given unit of data will take (routing).
2 Link Layer
Link Layer provides reliable transfer across the physical links.
Establishes the beginning and end of blocks of data (with synchronization when necessary)
Error detection and possibly correction;
1 Physical Layer
Physical Layer provides transmission of unstructured bits across the physical medium.
The TCP/IP Model:
The TCP/IP model does not exactly match the OSI model. There is no universal agreement regarding how to describe TCP/IP with a layered model but it is
generally agreed that there are fewer levels than the seven layers of the OSI model. The layers of the TCP/IP model are defined as follows:
In TCP/IP the Application Layer also includes the OSI Presentation Layer and Session Layer. In this document an application is any process that occurs above
the Transport Layer. This includes all of the processes that involve user interaction. The application determines the presentation of the data and controls the
session. In TCP/IP the terms socket and port are used to describe the path over which applications communicate. There are numerous application
level protocols in TCP/IP, including Simple Mail Transfer Protocol (SMTP) and Post Office Protocol (POP) used for e-mail, Hyper Text Transfer Protocol (https)
used for the World-Wide-Web, and File Transfer Protocol (FTP). Most application level protocols are associated with one or more port number.
In TCP/IP there are two Transport Layer protocols. The Transmission Control Protocol (TCP) guarantees that information is received as it was sent. The User
Datagram Protocol (UDP) performs no end-to-end reliability checks.
In the OSI Reference Model the Network Layer isolates the upper layer protocols from the details of the underlying network and manages the connections across
the network. The Internet Protocol (IP) is normally described as the TCP/IP Network Layer. Because of the Inter-Networking emphasis of TCP/IP this is commonly
referred to as the Internet Layer. All upper and lower layer communications travel through IP as they are passed through the TCP/IP protocol stack.
Network Access Layer
In TCP/IP the Data Link Layer and Physical Layer are normally grouped together. TCP/IP makes use of existing Data Link and Physical Layer standards rather than
defining its own. Most RFCs that refer to the Data Link Layer describe how IP utilizes existing data link protocols such as Ethernet, Token Ring, FDDI, HSSI,
and ATM. The Physical Layer typically defines the characteristics of the hardware that carries the communication signal. This describes attributes such
as pin configurations, voltage levels, and cable requirements.