100% found this document useful (1 vote)
113 views

Transmission Control Protocol/Internet Protocol (TCP/IP)

This document provides an overview of the TCP/IP protocol suite. It discusses how TCP/IP was developed in the 1970s to connect different computer networks. The TCP/IP model uses a layered approach with four layers - application, transport, internet and network interface. The transport layer uses TCP and UDP protocols and defines ports and sockets to allow applications to communicate. The internet layer uses IP to route packets between nodes. This protocol suite became widely adopted and is now used globally for internet communications.

Uploaded by

Sanjoy Basak
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
113 views

Transmission Control Protocol/Internet Protocol (TCP/IP)

This document provides an overview of the TCP/IP protocol suite. It discusses how TCP/IP was developed in the 1970s to connect different computer networks. The TCP/IP model uses a layered approach with four layers - application, transport, internet and network interface. The transport layer uses TCP and UDP protocols and defines ports and sockets to allow applications to communicate. The internet layer uses IP to route packets between nodes. This protocol suite became widely adopted and is now used globally for internet communications.

Uploaded by

Sanjoy Basak
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 10

TRANSMISSION CONTROL

PROTOCOL/INTERNET PROTOCOL
(TCP/IP)

CONTENTS

1. Introduction

2. Layered Protocols

3. Data Packages

4. Functions of Application layer

5. Functions of Transport layer

6. Functions of Network layer

7. Functions of Network Interface Layer

8. TCP/IP applications
MPLS -VPN NW Components & Services / IP Addressing

TRANSMISSION CONTROL PROTOCOL/INTERNET


PROTOCOL (TCP/IP)
1. Introduction
In 1969 the first inter-network Advanced Research Project Agencies (ARPANET)
agencies of Department of Defense (DOD) of US Military connected with 4 nodes
using routing devices that allowed data packet deliveries between otherwise
incompatible computers. The packet switching technique proved to be better than
nothing, and in fact the worldwide X.25 standard resulted from it. However, it was not
well suited for military networks (not robust enough) because it used virtual circuits
that could fail.
In 1974 Vinton G. Curf and Robert E. Kahn of DOD proposed a suite of protocols
named TCP/IP to connect a number different networks designed by different vendors
into a network of networks (the "Internet"). It was initially successful because it
delivered a few basic services that everyone needs (file transfer, electronic mail,
remote logon) across a very large number of client and server systems. Several
computers in a small department can use TCP/IP (along with other protocols) on a
single LAN.
The first design goal of TCP/IP was to build an interconnection of networks that
provided universal communication services: an internetwork, or Internet
The second aim is to interconnect different physical networks to form what appears to
the user to be one large network. Such a set of interconnected networks is called an
internetwork or an Internet.
TCP/IP has proved to respond well to the following requirements:
 Ability to route data between sub-networks
 Independence of sub-network technology
 Independence of host computer hardware
 Independence of operating system
 Tolerance of any error routes in sub-networks
 Robust recovery from failures
 Ability to add a new sub-network and keep going
The TCP/IP protocol suite was a real winner from start — and it was soon integrated
into the UNIX operating system. It became the internetworking technology of choice
for both the government and non-government networks. It is now used for Internet
access and routing and, with some modifications, it may be the technology for the
future.
TCP/IP is a piece of networking software. The package will contain two main things:
 A set of networking protocols
 Network applications which use the networking protocols
The TCP/IP protocols provide the ability to connect machines regardless of the
underlying network cabling and also regardless of the operating systems in use. In
other words TCP/IP connects the dissimilar Networks.

BRBRAITT 2
MPLS -VPN NW Components & Services / IP Addressing

The TCP/IP protocol suite is the engine for the Internet and networks worldwide. Its
simplicity and power has lead to its becoming the single network protocol of choice in
the world today.
The TCP/IP protocol suite is so named for two of its most important protocols:
 Transmission Control Protocol (TCP) and
 Internet Protocol (IP).

IP - is responsible for:
 Moving packet of data from node to node. IP forwards each packet based
on a four-byte destination address (the IP number).

TCP - is mainly responsible for:


 Data Concurrency,
 Packet Sequencing
 Delivery guarantee
 Error control
 Retransmission
The main design goal of TCP/IP was to build an interconnection of networks, referred
to as an internetwork, or internet, that provided universal communication services
over heterogeneous physical networks.
The clear benefit of such an internetwork is the enabling of communication between
hosts on different networks, perhaps separated by a large geographical area.
The network applications are called services. TCP/IP provides the three core services:
 File transfer
 Remote login
 Electronic mail
2.0 Layered Protocols
This layered representation leads to the term protocol stack, which refers to the stack
of layers in the protocol suite It can be used for positioning (but not for functionally
comparing) the TCP/IP protocol suite against others, such as Systems Network
Architecture (SNA) and the Open System Interconnection (OSI) model.
By dividing the communication software into layers, the protocol stack allows for
division of labor, ease of implementation and code testing, and the ability to develop
alternative layer implementations. Layers communicate with those above and below
via concise interfaces.
A layer provides a service for the layer directly above it and makes use of services
provided by the layer directly below it. The TCP/IP protocols are modeled in four
layers.
These layers include:
 Application layer
 Transport layer
 Internetwork layer

BRBRAITT 3
MPLS -VPN NW Components & Services / IP Addressing

 Network interface layer

APPLICATI Application TEL FT DN NF


ON LAYER Level NET P S S
TRANSPORT Host Level UDP
TCP
LAYER
INTERNET
WORK Gate Way Level IP & ICMP
LAYER
Network Access
Layer Network Level
LLC

Fig 1 TCP/IP Protocol Relationships

FIG 2
3.0 Data Packages
The important thing to remember about the TCP/IP protocol stack is that each layer
plays a role in the overall communication process. Each layer invokes services that
are necessary for that layer to perform its role. As an outgoing transmission passes
down through the stack, each layer includes a bundle of relevant information called a
header along with the actual data. The little data package containing the header and
the data then becomes the data that is repackaged at the next lower level with the next
lower layer's header.
 The data package created at the Application layer is called a message.
 The data package created at the Transport layer, which encapsulates the
Application layer message, is called a segment if it comes from the Transport

BRBRAITT 4
MPLS -VPN NW Components & Services / IP Addressing

layer's TCP protocol. If the data package comes from the Transport layer's
UDP protocol, it is called a datagram.
 The data package at the Internet layer, which encapsulates the Transport layer
segment, is called a datagram.
 The data package at the Network Access layer, which encapsulates and may
subdivide the datagram, is called a frame. This frame is then turned into a bit-
stream at the lowest sublayer of the Network Access layer.

FIG .3: Each Layer is adding the Header to the actual data
4.0 Application layer
The application layer is provided by the program that uses TCP/IP for
communication. An application is a user process cooperating with another process
usually on a different host.
Examples of applications include Telnet, File Transfer Protocol (FTP), Network File
System (NFS), and Domain Name Service (DNS).
5.0 Transport layer
The Transport layer serves as an interface between network applications and the
network and provides a method for addressing network data to particular applications.
In the TCP/IP system, applications can address data through either the TCP or UDP
protocol module using port numbers.
The interface between the Application and Transport layers is defined by port
numbers and Sockets. Each process that wants to communicate with another process
identifies itself to the TCP/IP protocol suite by one or more ports.
A port is a 16-bit number, used by the host-to-host protocol to identify to which
higher-level protocol or application program (process) it must deliver incoming
messages.

BRBRAITT 5
MPLS -VPN NW Components & Services / IP Addressing

As some higher-level programs are themselves protocols, standardized in the TCP/IP


protocol suite, such as TELNET and FTP, they use the same port number in all
TCP/IP implementations.
Those "assigned" port numbers are called well-known ports. The "well-known" ports
are controlled and assigned by the Internet Assigned Numbers Authority (IANA). The
assigned "well-known" ports occupy port numbers in the range 0 to 1023. The ports
with numbers in the range 1024-65535 are not controlled by the IANA and on most
systems can be used by ordinary user-developed programs
A socket is a special type of file handle which is used by a process to request network
services from the operating system. A socket address is the triple:
{Protocol, local-address, local-process}
Sending Socket = Source IP address + Source Port Number.
Receiving Socket = Destination IP address + Destination Port Number.
Example: tcp, 102.54.23.124, 21
Sockets provide a full-duplex communication channel between one or more systems.
A local port makes a connection to a remote socket. This significance of this is that
the socket identifies a computer on the network and the software port with in that
computer for a process being run by an application.
The socket addressing system enables TCP and UDP to perform another important
Transport layer task: multiplexing/demultiplexing. Multiplexing means accepting data
from multiple inputs and directing that data to a single output. In other words, the
Transport layer must be capable of simultaneously supporting several network
applications and managing the flow of data to the Internet layer. On the receiving end,
the Transport layer must accept the data from the Internet layer and direct it to
multiple outputs (the network applications). This is known as demultiplexing. Another
aspect of multiplexing/demultiplexing is that a single application can simultaneously
maintain connections with more than one computer.

Application Layer

Transport Layer

Inter Network
Multiplexing Layer Demultiplexing

Fig 4

The transport layer provides the end-to-end data transfer by delivering data from an
application to its remote peer. Multiple applications can be supported simultaneously.

BRBRAITT 6
MPLS -VPN NW Components & Services / IP Addressing

5.1 TCP Connection


Before any data can be transferred, a connection has to be established between the
two processes. One of the processes (usually the server) issues a passive OPEN call,
the other an active OPEN call. The passive OPEN call remains inactive until another
process tries to connect to it by an active OPEN.
A connection is fully specified by the pair of sockets at the ends. A local socket may
participate in many connections to different foreign sockets. A connection can be used
to carry data in both directions, that is, it is "full duplex".
A passive OPEN means a given application process notify the transport layer that is
ready to accept request through the specified port. A path way from TCP to an
application opened in anticipation of incoming request rather than attempting to
initiate a connection. Often the process requesting a passive OPEN will accept a
connection request from any caller.
For example, the FTP Server in application layer informs the Transport layer that it is
ready to accept the incoming request through port 21. It is known as passive open.
There are two type of Passive open:
 Fully Specified Passive Open
 Un Specified Passive Open
The socket issuing the Passive Open tells the network exactly which socket may be
connected to it, including security levels allowed and other related details is called
Fully Specified Passive Open.
The socket will accept any connection request from any remote socket, provided that
the remote system meets the prescribed security and other criteria is called Un
Specified Passive Open
An application requests the TCP to initiate a connection with other computer that is in
the passive open state. Active Open is a state in which TCP is attempting to initiate a
connection.
For example, the FTP Client’s TCP state is in closed state until the user initiates a
connection through the FTP client. The client’s TCP switches to active open then
initiates connection to the FTP server which is already in passive open.
5.2 Important Transport Layer Protocols
The most-used transport layer protocol is the Transmission Control Protocol (TCP).
TCP provides:
 Connection-oriented
 Reliable data delivery
 Duplicate data suppression
 Congestion control
 Flow control
Another transport layer protocol is the User Datagram Protocol (UDP). It provides
 Connectionless

BRBRAITT 7
MPLS -VPN NW Components & Services / IP Addressing

 Unreliable
 Best-effort service
As a result, applications using UDP as the transport protocol have to provide their
own end-to-end integrity, flow control, and congestion control, if it is so desired.
Usually, UDP is used by applications that need a fast transport mechanism and can
tolerate the loss of some data.
6.0 Network layer
The internetwork layer, also called the internet layer or the network layer, provides
the "virtual network" image of an internet (this layer shields the higher levels from the
physical network architecture below it).
Internet Protocol (IP) is the most important protocol in this layer. It is a
connectionless protocol that doesn't assume reliability from lower layers. IP protocol
hides the underlying physical network by creating a virtual network view.
It is an unreliable, best-effort, and connectionless packet delivery protocol. Best-effort
means that the packets sent by IP may be lost, arrive out of order, or even be
duplicated. IP assumes higher layer protocols will address these anomalies. (IP does
not provide reliability, flow control, or error recovery. These functions must be
provided at a higher level.)
IP provides a routing function that attempts to deliver transmitted messages to their
destination.
A message unit in an IP network is called an IP datagram. This is the basic unit of
information transmitted across TCP/IP networks.
Important and common protocols associated with the TCP/IP internetwork layer are:
 Internet Protocol (IP)
 Internet Control Message Protocol (ICMP)
 Address Resolution Protocol (ARP)
 Reverse Address Resolution Protocol (RARP)
 Bootstrap Protocol (BOOTP)
 Dynamic Host Configuration Protocol (DHCP)
These protocols perform datagram addressing, routing and delivery, dynamic address
configuration, and resolve between the internetwork layer addresses and the network
interface layer addresses.
6.1 Internet Control Message Protocol (ICMP)
When a router or a destination host must inform the source host about errors in
datagram processing, it uses the Internet Control Message Protocol (ICMP).
6.2 Internet Group Management Protocol (IGMP)
Similar to ICMP, the Internet Group Management Protocol (IGMP) is also an integral
part of IP. It allows hosts to participate in IP multicasts. IGMP further provides
routers with the capability to check if any hosts on a local subnet are interested in a
particular multicast.

BRBRAITT 8
MPLS -VPN NW Components & Services / IP Addressing

6.3 Address Resolution Protocol (ARP)


On a single physical network, individual hosts are known on the network by their
physical hardware address.
Higher level protocols address destination hosts in the form of a symbolic address (IP
address in this case). When such a protocol wants to send a datagram to destination
IP address w.x.y.z, the device driver does not understand this address. Therefore, a
module (ARP) is provided that will translate the IP address to the physical address of
the destination host.
It uses a lookup table (sometimes referred to as the ARP cache) to perform this
translation. When the address is not found in the ARP cache, a broadcast is sent out
on the network, with a special format called the ARP request. If one of the machines
on the network recognizes its own IP address in the request, it will send an ARP reply
back to the requesting host. The reply will contain the physical hardware address of
the host and source route information (if the packet has crossed bridges on its path).
6.4 Reverse Address Resolution Protocol (RARP)
The RARP protocol is a network-specific standard protocol. Some network hosts,
such as diskless workstations, do not know their own IP address when they are
booted. To determine their own IP address, they use a mechanism similar to ARP, but
now the hardware address of the host is the known parameter, and the IP address the
queried parameter. It differs more fundamentally from ARP in the fact that a RARP
server must exist on the network that maintains that a database of mappings from
hardware address to protocol address must be pre-configured.
ARP only assumes that every host knows the mapping between its own hardware
address and protocol address. RARP requires one or more server hosts on the network
to maintain a database of mappings between hardware addresses and protocol
addresses so that they will be able to reply to requests from client hosts.
6.5 Bootstrap protocol (BOOTP)
The bootstrap protocol (BOOTP) enables a client workstation to initialize with a
minimal IP stack and request its IP address, a gateway address, and the address of a
name server from a BOOTP server. If BOOTP is to be used in your network, then the
server and client are usually on the same physical LAN segment. BOOTP can only be
used across bridged segments when source-routing bridges are being used, or across
subnets, if you have a router capable of BOOTP forwarding.

7.0 Network Interface Layer


The network interface layer, also called the link layer or the data-link layer, is the
interface to the actual network hardware. This interface may or may not provide
reliable delivery, and may be packet or stream oriented. In fact, TCP/IP does not
specify any protocol here, but can use almost any network interface available, which
illustrates the flexibility of the IP layer.

BRBRAITT 9
MPLS -VPN NW Components & Services / IP Addressing

Examples are IEEE 802.2, X.25 (which is reliable in itself), ATM, FDDI, and even
SNA.
8.0 TCP/IP Applications
The highest-level protocols within the TCP/IP protocol stack are application
protocols. They communicate with applications on other internet hosts and are the
user-visible interface to the TCP/IP protocol suite.
All application protocols have some characteristics in common: They can be user-
written applications or applications standardized and shipped with the TCP/IP
product. Indeed, the TCP/IP protocol suite includes application protocols such as:
 Telnet for interactive terminal access to remote internet hosts.
 FTP (file transfer protocol) for high-speed disk-to-disk file transfers.
 SMTP (simple mail transfer protocol) as an internet mailing system.
Above protocols are some of the most widely implemented application protocols, but
many others also exist. Each particular TCP/IP implementation will include a lesser or
greater set of application protocols. They use either UDP or TCP as a transport
mechanism. Remember that UDP is unreliable and offers no flow-control, so in this
case, the application has to provide its own error recovery, flow control, and
congestion control functionality.
It is often easier to build applications on top of TCP because it is a reliable stream,
connection-oriented, congestion-friendly, flow control enabled protocol. As a result,
most application protocols will use TCP, but there are applications built on UDP to
achieve better performance through reduced protocol overhead.

BRBRAITT 10

You might also like