Application Layer Solution
Application Layer Solution
MAC (Media Access Control): It is a network identifier and it is used to communicate local network
and is globally unique.
IP (Internet Protocol) Address: It is unique address that assigned to a device for communicate within
a network
UUID(Universally Unique Identifier) or GUID (Globally Unique Identifier): A unique 128-bit identifier
often assigned to hardware components and ensures uniqueness across systems worldwide.
But in header, it is part of the email message itself and contains details. So the recipient can se this
information when they view the raw email message.
20. Does Webmail use POP3, IMAP, or neither? If one of these, why was
that one chosen? If neither, which one is it closer to in spirit?
Answer: Webmail does not use POP3 and IMAP directly. It is relied on proprietary protocols to
interact with the mail servers. By comparing both these protocol, webmail is conceptually closer to
IMAP than to POP3
→If the email stay on the server, in IMAP, webmail stores emails on the mail server that allows users
to access. Where as, POP3 downloads email and often delete it from the server which making multi-
device access difficult.
→Webmail users can see the same inbox, folders, and sent messages from any device like IMAP. But
in POP3, email are usually downloaded to a single device and may not remain available on other
devices.
→Webmail services provide access through a web browser rather than and email client. Bu in POP3,
it use HTTPs for communication instead of mail protocol like IMAP.
21. When Web pages are sent out, they are prefixed by MIME headers.
Why?
Answer: MIME headers are specify the type of content being sent, so the browsers know hoe to
interpret it. And it can handle any kind of format whether it is JSON, PDF, video or something else. It
can define the character encoding for text based file to ensure proper rendering.
For this reason, web pages are prefixed by MIME headers when they are sent out.
Module 4 Application Layer
Book: Data Communications and
Networking by
BA. FOROUZAN
25.6.2 Questions
Q25-1. Assume we add a new protocol to the application layer. What
changes do we need to make to other layers?
Answer: Adding a new protocol in application layer primarily affects the uppers layer of the
network stack. But it also require modifications at lower layers.
→Application layer:
Defining the new protocol’s specifications including message formats, request and response
patterns and data handling techniques
→Transport layer:
There will be no changes if the protocol uses existing transport protocol like TCP and UDP.
But if any new transport mechanism is needed then the existing ones are need
modifications.
For reliable flow control existing transport layer protocol may need adjustment
→Network layer:
The network devices like firewall, router may need to recognize the new protocol to allow
traffic flow.
If the protocol introduces new routing requirement the adjustment might be required in the
IP layer.
→Datalink layer:
There will no changes are required at this layers unless the new application-layer protocol
requires special handling.
→Physical layer:
Like datalink layer, here also no direct impact in this layer, as this layer deals with raw bit
transmission
Q25-2. Explain which entity provides service and which one receives
service in the client-server paradigm.
Answer: In the client-server paradigm, the server is the entity that provides the service to client.
And, the client is the entity that receives the service by sending requests to the server.
It provides continuos service to handle the client requests, so it must be available whenever
a client needs access.
It supports multiple cilents and it must always be ready to serve them
Clients can send requests at any time, and if the server is down, they won’t receive a
response
Cilents request services only when need, so they don’t need to run all the time
Running a client constantly would waste system resources like memory and processing power
→UDP and TCP are both different protocols where TCP is connection oriented, reliable with error
retransmission if the packet is not delivered properly where as UDP is connectionless and fast but
does not guarantee that packet will deliver to the destination point
→If a program is written which only support TCP then it can not support the UDP. But if it is designed
for UDP the we can expects that it is datagram-based communication
Q25-5. Most of the operating systems installed on personal computers
come with several client processes, but normally no server processes.
Explain the reason.
Answer:
→Personal computer are designed for client-side operations which primarily used for browsing web,
checking mail and many more activities.
→These activities involve client processes that send requests to remote servers
→Since most users consume services rather than provide them, there is little need for built-in server
processes
→Server is designed to continuously, listening for incoming requests. And most personal computer
are not run for 24/7.
→There can security risk also like running a server on a personal computer increases risk.
→Open ports could expose the system and unauthorizes user might attempt to exploit
vulnerabilities.
A network socket is an endpoint for communication between devices. It can receive data from a
remote source.
But a monitor is an output device that displays data that generated. So it is not a source of data.
The port number identifies the specific application running on the host. That allows multiple network
services to run on the same devices without conflicts.
Q25-9. Explain how a client process finds the IP address and the port
number to be inserted in a remote socket address.
Answer: When a client process wants to communicate with a remote server, it need to determine the
IP address and port number to of the destination.
IP address helps to identify the client’s domain and network so that the packet sends properly to that
network
And port number use to identify the device so that it receive by the proper device
→ TCP is better for transport-layer protocol because it provides reliable connection. TCP ensures data
integrity, retransmission of lost packets. If any packet does not reach it’s destination it again
retransmit. This case makes it ideal and for long-lived connection like chat application, online gaming
and remote login sessions.