Applications of TCP/IP
The TCP/IP protocol suite is the foundation of modern internetworking. For this reason, it has
been used as the primary platform for the development and implementation of networking
applications.
Over the last few decade, as the global TCP/IP Internet has grown, hundreds of new applications
been created. These programs enable a myriad of different tasks and functions to be
accomplished, ranging from implementing essential business tasks to pure entertainment, by users
who may be in the same room or on different continents.
When it comes to TCP/IP applications, file and message transfer applications such as electronic
mail, FTP and the World Wide Web get the most attention, because they are the ones used most
often on modern internetworks. Another category of TCP/IP application protocols that is lesswell-known is the group that allows users to access and use other computers directly over an
internetwork, such as the public Internet. These applications are not often employed by end-users
today but are importantboth from a historical perspective, and because of their usefulness in
certain circumstances, especially to network administrators.
The TCP/IP suite of protocols is the set of protocols used to communicate across the internet. It is
also widely used on many organizational networks due to its flexibility and wide array of
functionality provided. Microsoft who had originally developed their own set of protocols now is
more widely using TCP/IP, at first for transport and now to support other services.
Following are a list of applications and application protocols.
Hypertext transfer
Simple mail transfer protocols
Dynamic host configura_on protocols
Domain name systems
Simple network management protocol
File transfer protocol
Trivial file transfer protocols
Hypertext transfer
Hypertext transfer protocol is the protocol that enables the connection between a Web
server and a client. Hypertext transfer protocol is an application layer protocol for
distributing information in the World Wide Web. Hypertext transfer protocol is based on
client server architecture. It operates on request response model.
Simple mail transfer protocols
Email is one of the most widely used application service in the internet and widely used in
business activities. Currently, the electronic mail standard for Internet is Simple Mail
Transfer Protocol. STMP is an application level protocol that handles message service
over TCP/IP network.
Dynamic host configuration protocols
Dynamic Host Configuration Protocol is used to dynamically assign TCP/IP configuration
parameters to network devices. DHCP client communicates with a DHCP server to obtain
IP addresses and related TCP/IP configuration information.
Domain name systems
In data networks, devices are labelled with numeric IP addresses, so that they can
participate in sending and receiving messages over the network which is difficult task, so
domain names were created to convert the numerical address into simple, recognizable
name.
File transfer protocol
It is another commonly used application layer protocol. FTP was developed to allow for
file transfer between a client and server. An FTP client is an application that runs on a
computer that is used to push and pull files from a server running the FTP daemon.
TCP/IP Application Example
1-A user connected to network (Usama-PC) makes a web access to a URL http://nust.edu.pk.
2-A Web browser runs an HTTP client program while a Web server runs an HTTP server program.
Browsers HTTP client sends an HTTP request to HTTP server. In return, HTTP server responds
with HTTP response. Sender sends an HTTP Request and waits for HTTP response from the NUST
server.
3-From HTTP to TCP
Afterwards, HTTP client program establishes a TCP connection to the HTTP server at NUST. The
HTTP server at NUST has a TCP server.
4-Resolving hostnames and port numbers
Since TCP does not work with hostnames and also would not know how to find the HTTP server
program at NUST, two things must happen:
1. The name nust.edu.pk is converted into a 32-bit IP address.
2. The HTTP server at NUST must be identified by a 16-bit port number.
5-Translating a hostname into an IP address
The translation of the hostname nust.edu.pk into an IP address is done via Domain Name
System (DNS).
6-Finding the port number
As sender is sending an HTTP request, port number of receiver is understood, 80. Correct port
number of receiver should be chosen accordingly.
7-Requesting a TCP Connection
The HTTP client at senders PC requests the TCP client to establish a connection by invoking the IP
Protocol. The TCP client at senders PC sends a request to establish a connection to port 80 at
NUST server.
This is done by asking its local IP module to send a message to NUST webpage IP.
9-Sending the IP datagram to an IP router
Sender can send the IP datagram directly to NUST only if it is on the same local network (subnet).
But if sender and NUST are not on the same local network, senders IP datagram is send to
Default Gateway. The default gateway is an IP router.
10-Finding the MAC address of the gateway
To send an IP datagram to NUSTs Default Gateway, sender puts the IP datagram in an Ethernet
frame, and transmits the frame. At this point, Media Access Control (MAC) addresses (also called:
physical address) are used to send data. The translation of addressed is performed via the Address
Resolution Protocol (ARP). Thus data is transmitted from sender side.
11-Lookup of a MAC address of server
Data is routed among a number of routers before reaching Default Gateway at NUST. Now it is
needed to find the MAC address of NUSTs server. Therefore, ARP is invoked, to translate the IP
address of receivers server into MAC address. Thus, data arrives at NUST server.
12-Data has arrived at NUST Server
NUST receives the Ethernet frame. The payload of the Ethernet frame is an IP datagram which is
passed to the IP protocol. The payload of the IP datagram is a TCP segment, which is passed to the
TCP server. IP headers is now stripped off from data, because data message has now reached
network layer of NUST server.
13-TCP Connection Established
Assuming data is not corrupted, it has reached TCP server at NUST. Now, a TCP connection is
established.
14-HTTP Response
Data is forwarded to port 80, to get response to sender HTTP request.
Note: Only transmission of one packet from sender to receiver is shown and noise is ignored. In
practical scenarios, multiple packers are sent.