Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

pdf2 of class session, Slides of Computer Networks

computer networks pdf2 of class sessionpdf2 of class session

Typology: Slides

2017/2018

Uploaded on 11/01/2018

arun26cs
arun26cs 🇨🇦

3 documents

1 / 70

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Data Communication and
Computer Networks
2. Application Layer
PART-A
Dr. Aiman Hanna
Department of Computer Science & Software Engineering
Concordia University, Montreal, Canada
These slides has mainly been extracted, modified and updated from original slides of :
Computer Networking: A Top Down Approach, 6th edition Jim Kurose, Keith Ross
Addison-Wesley, 2013
Additional materials have been extracted, modified and updated from:
Understanding Communications and Networking, 3e by William A. Shay 2005
Copyright © 1996-2013 J.F Kurose and K.W. Ross
Copyright © 2005 William A. Shay
Copyright © 2018 Aiman Hanna
All rights reserved
Application Layer A 1-1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46

Partial preview of the text

Download pdf2 of class session and more Slides Computer Networks in PDF only on Docsity!

Data Communication and

Computer Networks

2. Application Layer

PART-A

Dr. Aiman Hanna

Department of Computer Science & Software Engineering Concordia University, Montreal, Canada These slides has mainly been extracted, modified and updated from original slides of : Computer Networking: A Top Down Approach, 6th edition Jim Kurose, Keith Ross Addison-Wesley, 2013 Additional materials have been extracted, modified and updated from: Understanding Communications and Networking, 3e by William A. Shay 2005 Copyright © 1996- 2013 J.F Kurose and K.W. Ross Copyright © 2005 William A. Shay Copyright © 2018 Aiman Hanna All rights reserved

Some network applications

 e-mail  web  text messaging  remote login  P2P file sharing  multi-user network games  streaming stored video (YouTube, Hulu, Netflix)  E-commerce  voice over IP (e.g., Skype)  real-time video conferencing  social networking  search  …  …

Application architectures

possible structure of applications:

 client-server

 peer-to-peer (P2P)

Client-server architecture

server:

 always-on host  permanent known IP address  data centers for scaling

clients:

 communicate with server  do not communicate directly with each other  may be intermittently connected  may have dynamic IP addresses client/server  famous client-server apps include Web, FTP, e-mail, Telnet, …

P2P architecture

 Cost-effective  no need for server infrastructure and server bandwidth  However, future P2P applications face 3 major challenges:  ISP-Friendly : residential ISP (DSL, Cable, …) are asymmetric  Security : a challenge, since P2P apps are highly distributed and naturally open  Incentive : users must volunteer bandwidth, storage space and computational resources to P2P apps peer-peer

Processes communicating!

process: program running

within a host

 within same host, two processes communicate using inter-process communication (defined by OS)  processes in different hosts communicate by exchanging messages

client process: process that

initiates communication

server process: process that

waits to be contacted  aside: applications with P2P architectures have client processes & server processes

clients, servers

Addressing processes  to receive messages, process must have identifier  host device has unique 32- bit IP address  Q: does IP address of host, on which process runs, suffice for identifying the receiving process (more precisely, the receiving socket)?  identifier includes both IP address and port numbers associated with process on host.  example port numbers:  HTTP (web) server: 80  SMTP (mail) server: 25  to send HTTP message to gaia.cs.umass.edu web server:  IP address: 128.119.245.  port number: 80  more shortly…  A: no, many network processes can be running on same host

App-layer protocol defines

 types of messages exchanged,  e.g., request, response  message syntax:  what fields in messages & how fields are delineated  message semantics  meaning of information in fields  rules for when and how processes send & respond to messages open protocols:  defined in RFCs  allows for interoperability  e.g., HTTP, SMTP proprietary protocols:  e.g., Skype

Transport service requirements: common apps

application data loss throughput time sensitive File transfer/download No loss Elastic No E-mail No loss Elastic No Web documents No loss Elastic (few kbps) No Real-time audio/video (i.e. Internet telephony, videoconferencing) Loss-tolerant Audio: 5kbps-1Mbps Video: 10 Kbps – 5 Mbps Yes; 100s ms Streaming stored audio/video Loss-tolerant Same as above; Yes; few seconds Interactive games Loss-tolerant few kbps – 10 Kbps Yes; 100s ms Text/Instant messaging No loss Elastic Yes and No

Internet transport protocols services

TCP service:

connection-oriented: setup required between client and server processes  reliable transport between sending and receiving process  flow control: sender won’t overwhelm receiver  congestion control: throttle sender when network overloaded  does not provide: timing, minimum throughput guarantee, security

UDP service:

unreliable data transfer between sending and receiving process  does not provide: reliability, flow control, congestion control, timing, throughput guarantee, security, or connection setup Q: why bother? Why is there a UDP?

Securing TCP

TCP & UDP

 no encryption  cleartext passwords sent into socket traverse Internet in cleartext

Secure Socket Layer: SSL

 provides encrypted TCP connection  data integrity  end-point authentication

SSL is at app layer

 Apps use SSL libraries, which “talk” to TCP

SSL socket API

 cleartext passwds sent into socket traverse Internet encrypted

 More details shortly…

Services not provided by Internet transport protocols

The services: 1) reliability, 2) throughput,

  1. timing, 4) security  Which of these services are provided by TCP and UDP?  1) Reliability (by TCP),  4) Security (by SSL-enhanced-TCP)  What about throughput and timing?!!!  NO! these services are not provided by today’s Internet transport protocols.  Then, we cannot run time-sensitive applications (i.e. Internet telephony) over the Internet. Correct?  No; that is incorrect! How then!

Network Applications

 there are MANY network applications (possibly new ones are being written as you read these slides!)  we will here look at 5 of the most important and pervasive network applications:  Web and HTTP  FTP  Electronic Mail  DNS  P2P

Web and HTTP

First, a review…

 web page consists of objects

 object can be HTML file, JPEG image, Java applet,

audio file,…

 web page consists of base HTML-file which

includes several referenced objects

 each object is addressable by a URL, e.g.,

www.someschool.edu/someDept/pic.gif host name path name