Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r...
-
Upload
julian-morton -
Category
Documents
-
view
229 -
download
0
Transcript of Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r...
![Page 1: Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.](https://reader036.fdocuments.us/reader036/viewer/2022081421/56649de75503460f94ae012b/html5/thumbnails/1.jpg)
Chapter 2, slide: 1
CS 372 – introduction to computer networks*Monday June 28
Announcements: Lab 1 is due today
Lab 2 is posted today and is due next Tuesday
Assignment 1 is due tomorrow Quiz 1 is tomorrow and it covers chapter 1
Acknowledgement: slides drawn heavily from Kurose & Ross
* Based in part on slides by Bechir Hamdaoui and Paul D. Paulson.
![Page 2: Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.](https://reader036.fdocuments.us/reader036/viewer/2022081421/56649de75503460f94ae012b/html5/thumbnails/2.jpg)
Chapter 2, slide: 2
Chapter 1: recapBy now, you should know:
the Internet and its components
circuit-switching networks vs. packet-switching networks
different network access technologies
the three Tiers 1, 2, and 3
layered architecture of networks
types of delays
![Page 3: Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.](https://reader036.fdocuments.us/reader036/viewer/2022081421/56649de75503460f94ae012b/html5/thumbnails/3.jpg)
Chapter 2, slide: 3
Chapter 2: Application LayerOur goals: conceptual and
implementation aspects of network application protocols transport-layer
service models client-server
paradigm peer-to-peer
paradigm
learn about protocols by examining popular application-level protocols HTTP, FTP, P2P
programming network applications socket API
![Page 4: Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.](https://reader036.fdocuments.us/reader036/viewer/2022081421/56649de75503460f94ae012b/html5/thumbnails/4.jpg)
Chapter 2, slide: 4
Some network apps
e-mail web instant messaging remote login P2P file sharing multi-user network
games streaming stored
video clips
voice over IP real-time video
conferencing grid computing
![Page 5: Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.](https://reader036.fdocuments.us/reader036/viewer/2022081421/56649de75503460f94ae012b/html5/thumbnails/5.jpg)
Chapter 2, slide: 5
Creating a network app
write programs that run on (different) end
systems communicate over
network e.g., web server software
communicates with browser software
little software written for devices in network core network core devices do
not run user applications
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
![Page 6: Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.](https://reader036.fdocuments.us/reader036/viewer/2022081421/56649de75503460f94ae012b/html5/thumbnails/6.jpg)
Chapter 2, slide: 6
Chapter 2: Application layer
Principles of network applications
Web and HTTP File transfer: FTP
P2P file sharing Socket programming
with TCP
![Page 7: Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.](https://reader036.fdocuments.us/reader036/viewer/2022081421/56649de75503460f94ae012b/html5/thumbnails/7.jpg)
Chapter 2, slide: 7
Application architectures
There are 3 types of architectures:
Client-server Peer-to-peer (P2P) Hybrid of client-server and P2P
![Page 8: Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.](https://reader036.fdocuments.us/reader036/viewer/2022081421/56649de75503460f94ae012b/html5/thumbnails/8.jpg)
Chapter 2, slide: 8
Client-server architectureserver:
always-on fixed/known IP address serves many clients at same time
clients: communicate with server only may be intermittently connected may have dynamic IP addresses do not communicate directly with
each other
E.g., of client-server archit.: Google, Amazon, MySpace,
YouTube,
client/server
![Page 9: Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.](https://reader036.fdocuments.us/reader036/viewer/2022081421/56649de75503460f94ae012b/html5/thumbnails/9.jpg)
Chapter 2, slide: 9
Pure P2P architecture no always-on server arbitrary end systems
directly communicate peers are intermittently
connected and change IP addresses
example: BitTorrent
Pros and cons: scalable and distributive difficult to manage not secure
peer-peer
![Page 10: Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.](https://reader036.fdocuments.us/reader036/viewer/2022081421/56649de75503460f94ae012b/html5/thumbnails/10.jpg)
Chapter 2, slide: 10
Hybrid of client-server and P2PSkype
voice-over-IP P2P application centralized server: finding address of remote party client-client connection: direct (not through server)
Instant messaging chatting between two users is P2P centralized service: client presence location
• user registers its IP address with central server when it comes online
• user contacts central server to find IP addresses of buddies
![Page 11: Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.](https://reader036.fdocuments.us/reader036/viewer/2022081421/56649de75503460f94ae012b/html5/thumbnails/11.jpg)
Chapter 2, slide: 11
Processes communicating
Process: is program running within a host.
processes in same host communicate using inter-process communication (managed by OS).
processes in different hosts communicate by exchanging messages
Client process: process that initiates communication
Server process: process that waits to be contacted
Note: applications with P2P architectures have client processes & server processes
![Page 12: Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.](https://reader036.fdocuments.us/reader036/viewer/2022081421/56649de75503460f94ae012b/html5/thumbnails/12.jpg)
Chapter 2, slide: 12
Sockets
process sends/receives messages to/from its socket
socket analogous to door sending process shoves
message out door sending process relies on
transport infrastructure on other side of door which brings message to socket at receiving process
controlledby OS
process
TCP withbuffers,variables
socket
host orserver
process
TCP withbuffers,variables
socket
host orserver
Internet
controlled byapp developer
App.Prog.Interf (API): (1) choice of transport protocol; (2) ability to fix a few parameters
![Page 13: Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.](https://reader036.fdocuments.us/reader036/viewer/2022081421/56649de75503460f94ae012b/html5/thumbnails/13.jpg)
Chapter 2, slide: 13
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 to identify the process?
identifier consists of: IP address (host) port numbers (process)
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 Port number: 80
more shortly…
A: No, many processes can be running on same host
![Page 14: Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.](https://reader036.fdocuments.us/reader036/viewer/2022081421/56649de75503460f94ae012b/html5/thumbnails/14.jpg)
Chapter 2, slide: 14
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
Public-domain protocols:
defined in RFCs allows for
interoperability e.g., HTTP, SMTPProprietary protocols: e.g., Skype
Question: why do we need an “App-layer protocol” ?
![Page 15: Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.](https://reader036.fdocuments.us/reader036/viewer/2022081421/56649de75503460f94ae012b/html5/thumbnails/15.jpg)
Chapter 2, slide: 15
What transport service does an app need?Data loss/reliability some apps (e.g., audio)
can tolerate some loss other apps (e.g., file
transfer, telnet) require 100% reliable data transfer
Timing some apps (e.g.,
Internet telephony, interactive games) require low delay to be “effective”
Bandwidth Bandwidth sensitive apps:
some apps (e.g., multimedia) require minimum amount of bandwidth to be “effective”
other apps (“elastic apps”) make use of whatever bandwidth they get
Security Data encryption/
Decryption Data Integrity End-point
authentication
![Page 16: Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.](https://reader036.fdocuments.us/reader036/viewer/2022081421/56649de75503460f94ae012b/html5/thumbnails/16.jpg)
Chapter 2, slide: 16
Transport service requirements of common apps
Application
file transfere-mail
Web documentsreal-time audio/video
stored audio/videointeractive gamesinstant messaging
Data loss
no lossno lossno lossloss-tolerant
loss-tolerantloss-tolerantno loss
Bandwidth
elasticelasticelasticaudio: 5kbps-1Mbpsvideo:10kbps-5Mbpssame as above few kbps upelastic
Time Sensitive
nononoyes, 100’s msec
yes, few secsyes, 100’s msecyes and no
![Page 17: Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.](https://reader036.fdocuments.us/reader036/viewer/2022081421/56649de75503460f94ae012b/html5/thumbnails/17.jpg)
Chapter 2, slide: 17
What services do Internet transport protocols provide?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 bandwidth guarantees
UDP service: unreliable data transfer
between sending and receiving process
does not provide: connection setup, reliability, flow control, congestion control, timing, or bandwidth guarantee
Q: why bother? Why is there a UDP?
![Page 18: Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.](https://reader036.fdocuments.us/reader036/viewer/2022081421/56649de75503460f94ae012b/html5/thumbnails/18.jpg)
Chapter 2, slide: 18
Internet apps: application, transport protocols
Application
e-mailremote terminal access
Web file transfer
streaming multimedia
Internet telephony
Applicationlayer protocol
SMTP [RFC 2821]Telnet [RFC 854]HTTP [RFC 2616]FTP [RFC 959]proprietary(e.g. Youtube)proprietary(e.g., Skype)
Underlyingtransport protocol
TCPTCPTCPTCPTCP or UDP
typically UDP
![Page 19: Chapter 2, slide: 1 CS 372 – introduction to computer networks* Monday June 28 Announcements: r Lab 1 is due today r Lab 2 is posted today and is due next.](https://reader036.fdocuments.us/reader036/viewer/2022081421/56649de75503460f94ae012b/html5/thumbnails/19.jpg)
Chapter 2, slide: 19
Principles of network applications: Review Questions
Question 1:In P2P architecture, which process is the client and which one is the server?
Question 2: What information is used by a process to identify another process to communicate with?
Question 3: List 2 types of services an application may need from a transport protocol. Indicate whether TCP, UDP, neither, or both provide such a service
Answer 1:Client: who requestsServer: who responds
Answer 2: IP address of host Port number of
process
Answer 3: Reliability: TCP Timing: none Bandwidth: none