
































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
These are the Lecture Slides of Computer Networks which includes Specific Protocols, Socket Programming, Network Application Protocols, Service Models, Client Server Paradigm, Distributed Processes, Interprocess Communication etc. Key important points are: Application Layer, Specific Protocols, Socket Programming, Network Application Protocols, Service Models, Client Server Paradigm, Distributed Processes, Interprocess Communication
Typology: Slides
1 / 40
This page cannot be seen from the preview
Don't miss anything!

































2: Application Layer 1
ļ² conceptual + implementation aspects of network application protocols ļ client server paradigm ļ service models
ļ² learn about protocols by examining popular application-level protocols
ļ http ļ ftp ļ smtp ļ pop ļ dns
ļ socket programming
2: Application Layer 2
Applications and application-layer protocols
Application: communicating, distributed processes ļ running in network hosts in āuser spaceā ļ exchange messages to implement app ļ e.g., email, file transfer, the Web Application-layer protocols ļ one āpieceā of an app ļ define messages exchanged by apps and actions taken ļ user services provided by lower layer protocols
application transport network data link physical
application transport network data link physical
application transport network data link physical
2: Application Layer 4
Client-server paradigm
Typical network app has two
application transport network data link physical
application transport network data link physical
Client: ļ² initiates contact with server (āspeaks firstā) ļ² typically requests service from server, ļ² for Web, client is implemented in browser; for e-mail, in mail reader Server: ļ² provides requested service to client ļ² e.g., Web server sends requested Web page, mail server delivers e-mail
request
reply
2: Application Layer 5
Application-layer protocols (cont).
ļ two processes communicate by sending data into socket, reading data out of socket
ļ IP address of host running other process ļ āport numberā - allows receiving host to determine to which local process the message should be delivered
2: Application Layer 7
Transport service requirements of common apps
Application
file transfer e-mail Web documents real-time audio/video
stored audio/video interactive games financial apps
Data loss
no loss no loss loss-tolerant loss-tolerant
loss-tolerant loss-tolerant no loss
Bandwidth
elastic elastic elastic audio: 5Kb-1Mb video:10Kb-5Mb same as above few Kbps up elastic
Time Sensitive
no no no yes, 100ās msec
yes, few secs yes, 100ās msec yes and no
2: Application Layer 8
Services provided by Internet
transport protocols
required between client, server
sending and receiving process
overwhelm receiver
sender when network overloaded
minimum bandwidth guarantees
data transfer between sending and receiving process
connection setup, reliability, flow control, congestion control, timing, or bandwidth guarantee
Q: why bother? Why is there a UDP?
2: Application Layer 10
The Web: some jargon
ļ consists of āobjectsā ļ addressed by a URL
ļ base HTML page, and ļ several referenced objects.
ļ MS Internet Explorer ļ Netscape Communicator
ļ Apache (public domain) ļ MS Internet Information Server
www.someSchool.edu/someDept/pic.gif
2: Application Layer 11
The Web: the http protocol
ļ² Webās application layer protocol
ļ² client/server model
requests, receives, ādisplaysā Web objects
sends objects in response to requests
ļ² http1.0: RFC 1945
ļ² http1.1: RFC 2068
PC running Explorer
Server running NCSA Web server
Mac running Navigator
2: Application Layer 13
http example
www.someSchool.edu/someDepartment/home.index
1a. http client initiates TCP connection to http server (process) at www.someSchool.edu. Port 80 is default for http server.
1b. http server at host www.someSchool.edu waiting for TCP connection at port 80. āacceptsā connection, notifying client
(contains text, references to 10 jpeg images)
2: Application Layer 14
http example (cont.)
http client receives response message containing html file, displays html. Parsing html file, finds 10 referenced jpeg objects
Steps 1-5 repeated for each of 10 jpeg objects 4. http server closes TCP connection.
2: Application Layer 16
http message format: request
ļ² two types of http messages: request, response
ļ ASCII (human-readable format)
GET /somedir/page.html HTTP/1. User-agent: Mozilla/4. Accept: text/html, image/gif,image/jpeg Accept-language:fr
(extra carriage return, line feed)
request line (GET, POST, HEAD commands)
header lines
Carriage return, line feed indicates end of message
2: Application Layer 17
http request message: general format
2: Application Layer 19
http response status codes
ļ request succeeded, requested object later in this message
ļ requested object moved, new location specified later in this message (Location:)
ļ request message not understood by server
ļ requested document not found on this server
2: Application Layer 20
Trying out http (client side) for yourself
Opens TCP connection to port 80 (default http server port) at www.eurecom.fr. Anything typed in sent to port 80 at www.eurecom.fr
telnet www.eurecom.fr 80
GET /~ross/index.html HTTP/1.0 By typing this in (hit carriage return twice), you send this minimal (but complete) GET request to http server