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

Networks Lecture 4

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

Networks Lecture 4

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 20

Computer Networks

Lecture 4
By: Dr. Dina Fawzy

Book Reference: Jim Kurose, Keith Ross, “ Computer Networkin


g: A Top Down Approach”, 6th edition, Addison-Wesley, 2012
Agenda
• Introduction
• Application Models: Client-Server and Peer-to-Peer
• Process Communication
• Addressing Processes
• Messaging Properties
• Applications Requirements
• Transport Layer Protocols
• Application Layer Security

Book Reference: Jim Kurose, Keith Ross, “ Computer Networkin


g: A Top Down Approach”, 6th edition, Addison-Wesley, 2012
Introduction
• We’ll start discussing the application layer (Chapter 2)

Book Reference: Jim Kurose, Keith Ross, “ Computer Networkin


g: A Top Down Approach”, 6th edition, Addison-Wesley, 2012
Introduction
Examples of programs run on the application layer:
• E-mail
• Web
• Text Messaging
• File Sharing
• Multi-users Network Games
• Streaming Stored Video (Youtube, Netflix)

Book Reference: Jim Kurose, Keith Ross, “ Computer Networkin


g: A Top Down Approach”, 6th edition, Addison-Wesley, 2012
Introduction
Application Layer Protocols Examples:
• HTTP: Hypertext Transfer Protocol
• FTP: File Transfer Protocol
• SMTP: Simple Mail Transfer Protocol

Book Reference: Jim Kurose, Keith Ross, “ Computer Networkin


g: A Top Down Approach”, 6th edition, Addison-Wesley, 2012
Introduction
• Application layer programs
run on (different) end systems
BUT network-core devices
(routers and switches) do not
run user applications
Application Models
There are two structures/models of applications:
1. Client-Server: This model are broadly used network model. In
which, clients and server are differentiated.
2. Peer-to-Peer (P2P): This model does not differentiate the clients
and the servers, In this each and every node is itself client and
server.

Book Reference: Jim Kurose, Keith Ross, “ Computer Networkin


g: A Top Down Approach”, 6th edition, Addison-Wesley, 2012
Client-Server Model
Server characteristics:
• Always-online
• Permanent IP address
• Support scaling
• Data management is centralized
Client characteristics:
• Communicate with server
• May be intermittently connected
• Have dynamic IP addresses
• Do not communicate directly with each other
Peer-to-Peer (P2P) Model
• End systems/hosts act as server and clients,
example: file sharing programs
• end systems/hosts directly communicate
• peers request service from other peers,
provide service in return to other peers
• self scalability – new peers bring new service
capacity, as well as new service demands
• peers are intermittently connected and
change IP addresses
• complex management
Book Reference: Jim Kurose, Keith Ross, “ Computer Networkin
g: A Top Down Approach”, 6th edition, Addison-Wesley, 2012
Client-Server vs Peer-to-Peer
Client-Server Model Peer-to-Peer Model

In Client-Server Network, Clients and server are In Peer-to-Peer Network, Clients and server are not
differentiated, Specific server and clients are present. differentiated.

In Client-Server Network, Centralized server is used to While in Peer-to-Peer Network, Each peer has its own
store the data. data.

In Client-Server Network, Server respond the services While in Peer-to-Peer Network, Each and every node
which is request by Client. can do both request and respond for the services.

Client-Server Network are costlier than Peer-to-Peer While Peer-to-Peer Network are less costlier than
Network. Client-Server Network.

Client-Server Network is used for both small and large While Peer-to-Peer Network is generally suited for
networks. small networks with fewer than 10 computers.
Process Communication
• Process: program running within a host.
• processes in different hosts communicate by exchanging messages (in
client-server model).
• In Client-Server model:
client process: process that initiates communication.
server process: process that waits to be contacted.
• In Peer-to-Peer model: applications with P2P architectures have client
processes & server processes.

Book Reference: Jim Kurose, Keith Ross, “ Computer Networkin


g: A Top Down Approach”, 6th edition, Addison-Wesley, 2012
Addressing Processes

• process sends/receives messages over different hosts to/from its


socket
• sending process relies on transport layer on other side of door to
deliver message to socket at receiving process
Addressing Processes
• to receive messages, process must have socket identifier
• Each host device has unique 32-bit IP address
• Socket identifier includes both IP address and port numbers associated
with process on host.
• example port numbers:
• HTTP server: 80
• mail server: 25
• to send HTTP message to gaia.cs.umass.edu web server:
• IP address: 128.119.245.12 Both of IP and port numbers is the socket identifier
• port number: 80
Book Reference: Jim Kurose, Keith Ross, “ Computer Networkin
g: A Top Down Approach”, 6th edition, Addison-Wesley, 2012
Messaging Properties
• Application layer data are exchanged via messages.
• Messages properties are controlled by protocols. These properties are:
• Types of messages exchanged
• e.g., request, response
• Message syntax:
• what fields in messages & how fields are presented
• Message semantics
• meaning of information in fields
• Messaging rules for when and how processes send & respond to
messages
Book Reference: Jim Kurose, Keith Ross, “ Computer Networkin
g: A Top Down Approach”, 6th edition, Addison-Wesley, 2012
Applications Requirements
1. Data Integrity (data loss)
• some apps (e.g., file transfer) require 100% reliable data transfer.
• other apps (e.g., videos) can tolerate some loss.
2. Timing (transmission time)
• some apps (e.g., interactive games) require low delay to be “effective”
3. Throughput (data transfer rate)
• some apps (e.g., multimedia) require high amount of throughput to be
“effective”
4. Security
• Encryption of data packets
Applications Requirements

Book Reference: Jim Kurose, Keith Ross, “ Computer Networkin


g: A Top Down Approach”, 6th edition, Addison-Wesley, 2012
Transport Layer Protocols
1. Transmission Control Protocol 2. User Datagram Protocol
(TCP) Supports: (UDP) Supports:
• Reliability: reliable transport • slightly support timing and
between sending and receiving throughput
process • unreliable data transfer
• flow control: sender won’t between sending and
overwhelm receiver receiving process
• congestion control: throttle • does not support: reliability,
sender when network overloaded flow control, congestion
• TCP does not support: timing, control, security, or
throughput connection setup.

Book Reference: Jim Kurose, Keith Ross, “ Computer Networkin


g: A Top Down Approach”, 6th edition, Addison-Wesley, 2012
Transport Layer Protocols

Book Reference: Jim Kurose, Keith Ross, “ Computer Networkin


g: A Top Down Approach”, 6th edition, Addison-Wesley, 2012
Application Layer Security
• Both of TCP & UDP do not support data encryption.
• Question: How to secure the transferred data packets?
• Answer: Secure Socket Layer (SSL) Protocol at the application layer.
• SSL protocol supports:
 provides encrypted TCP connection
 data integrity
 end-point authentication
• A website that implements SSL has "HTTPS" in its URL instead of "HTTP."
Any Questions?
Thank you

Book Reference: Jim Kurose, Keith Ross, “ Computer Networkin


g: A Top Down Approach”, 6th edition, Addison-Wesley, 2012

You might also like