0% found this document useful (0 votes)
3 views

Lab1

The document explains distributed and parallel computing, highlighting their advantages and applications. It also details the Transport Layer protocols TCP and UDP, outlining their functionalities, benefits, and drawbacks, along with real-life examples of their use. TCP is reliable with error control, while UDP is faster but less reliable, suitable for real-time applications.

Uploaded by

Hosam Mohammed
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Lab1

The document explains distributed and parallel computing, highlighting their advantages and applications. It also details the Transport Layer protocols TCP and UDP, outlining their functionalities, benefits, and drawbacks, along with real-life examples of their use. TCP is reliable with error control, while UDP is faster but less reliable, suitable for real-time applications.

Uploaded by

Hosam Mohammed
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Lab1

What Is Distributed Computing?


Distributed computing is the process of connecting multiple computers via a local network or wide area network
so that they can act together as a single ultra-powerful computer capable of performing computations that no
single computer within the network would be able to perform on its own.
Distributed computers offer two key advantages:
• Easy scalability: Just add more computers to expand the system.
• Redundancy: Since many different machines are providing the same service, that service can keep
running even if one (or more) of the computers goes down.
Distributed Computing: Examples
Distributed computing is best for building and deploying powerful applications running across many different
users and geographies. Anyone performing a Google search is already using distributed computing. Distributed
system architectures have shaped much of what we would call “modern business,” including cloud-based
computing, edge computing, and software as a service (SaaS).

What Is Parallel Computing?


Parallel computing is the process of performing computational tasks across multiple processors at once to
improve computing speed and efficiency. It divides tasks into sub-tasks and executes them simultaneously through
different processors.
Parallel Computing: Examples
This computing method is ideal for anything involving complex simulations or modeling. Common applications for
it include seismic surveying, computational astrophysics, climate modeling, financial risk management, agricultural
estimates, video color correction, medical imaging, drug discovery, and computational fluid dynamics.
The Transport layer takes data from the Application layer, then it breaks into small segments called packets. Then
handles them to the Network Layer for delivery. The transport layer uses two protocols which will be discussed
here in this article. They are TCP (Transmission Control Protocol ) and UDP ( User Datagram Protocol ).

Transmission Control Protocol (TCP) :


It is a connection-oriented protocol that is used for the reliable transfer of data from one process to another
process. It takes the help of the Port numbers for transmission. It uses flow control and error control
mechanisms at the transport level. There are three phases in which TCP transmits the data between the sender
and receiver which is as follows:
• Connection Establishment –
It takes the help of 3-way handshaking mechanism for Connection Establishment which involves
the exchange of SYN, ACK, and window size
• Data transfer –
In this step, the transmission of data occurs
• Connection termination –
Here the transmission of data gets terminated by sending a FIN packet to the receiver.
Services offered by the TCP are as follows :
• Process to Process or end to end Communication using Port numbers
• Transmits the data as a stream of bytes from source to destination
• It groups the data that comes from the application into packets called Segments. It also adds a
header to each data segment and sends it to the network layer
• It offers Full Duplex communications
• Reliable Service: TCP uses an acknowledgment mechanism which makes it reliable
• It offers Flow control, Error control, and Congestion control too.
Advantages :
• Flow Control
• Error Control
• Congestion Control
• Process to Process Communication
• Inorder delivery of data segments
Disadvantages :
• The data segments don’t get transmitted immediately
• More overhead(20-60Bytes)
• It has a large TCP Header
User Datagram Protocol (UDP) :
It is a transport layer protocol. It is an unreliable and connectionless protocol. It is much faster, simpler, and
efficient than TCP. However, it doesn’t check errors due to which Bandwidth is saved. It is widely used in real-
time services like videogame, voice, or video communication
The packets sent by the UDP are called user datagrams.
Services offered by the UDP are as follows :
• Process to Process port to port transmission of segments
• Connectionless and minimum overhead Protocol
• Fast and simple transmission
• No flow and error control, applications using UDP services are responsible for providing them
• UDP encapsulates and decapsulates the messages.
Advantages :
• The packet created by UDP is relatively smaller than that of TCP(UDP Header: 8 bytes)
• Connectionless Transmission
• It is Faster, Simpler and Efficient
Disadvantages :
• There is no guarantee that the sender will receive the data
• Lack of proper Error checking mechanisms
• The lost packets will not be retransmitted
• There is a possibility of receiving out of order packets

Real-Life Examples of TCP :


1. Text Communication –
We all are aware of the importance of Text Communication in the present times. Any discrepancy in
texting between sender and receiver cannot be tolerated. Hence TCP is used in Text Communication
due to its reliable transmission, error control, and in order receiving of the data.
Example : Whatsapp, Instagram, Google Chat,iMessage.

2. Transfer of files or FTP –


TCP is used in File transfer when we cannot tolerate the loss of data and receiving the data incorrect
order is of utmost importance. FTP uses two TCP connections i.e control connection and data
connection.
Control Connection : FTP sends information like user identification and passwords.
Data Connection: In this connection, files are sent over the network.
Ex : FileZilla Client and Server

3. HyperText Transfer Protocol (HTTP) –


It is used to access the data present on the World Wide Web. It uses TCP protocol for accessing the
web pages present on the internet due to the fact that TCP provides inorder data, error control and
flow control, and retransmission of data segments.

4. Simple Mail Transfer Protocol(SMTP)


It is an application layer protocol that is used to send Emails from one system to another. SMTP uses
the services of TCP to start a connection with the SMTP server. Once the SMTP server accepts the
connection request, it allows the sender to send the mails.
Ex: Yahoo, Gmail, Outlook, etc
Real-Life Examples of UDP :
1. Online Games –
Most of the online games we play use the services of User Datagram Protocol. Since any amount of
delay cannot be tolerated in online games UDP is widely used over TCP which is quite slower. UDP
doesn’t retransmit the lost data and is a connectionless protocol due to which it is much faster.
Ex : All online games

2. Video Conferencing –
Video Conferencing apps like Skype, Gmeet, Zoom, all use the services of UDP due to the fact that
they are real-time applications and any delay in receiving the data cannot be tolerated.
Ex: Skype, Google Meet, zoom, and Facetime.

3. Voice Over IP(VoIP) –


It is similar to Video Conferencing, where apps like Viber, Whatsapp, Google Hangouts use UDP for
converting our voice to digital data and transmit it over the network, hence the name VoIP.
Ex : Viber, Whatsapp Voice calling, Wi-Fi calling.

4. Domain Name System(DNS) –


It is a service used for mapping domain names to their corresponding IP address. It is used by the
application layer. It can also be looked at as a distributed DataBase that has a hierarchical name
Server. DNS uses UDP for fetching the corresponding IP address due to the following reasons:
a) UDP is much faster than TCP. After all, speed matters a lot when loading a webpage
b) DNS requests are typically small requests and can be accommodated inside UDP
segments(Header).
c) Even though UDP is unreliable, it can be achieved in the application layer too

You might also like