



























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
Main points of this lecture are: Application Layer, Server Architecture, Internet Applications, Client-Server Concepts, Server Caveats, Hypertext Transfer Protocol, Application Service, Space Diagram, Http Request, Response Protocol, Binary Data
Typology: Study notes
1 / 35
This page cannot be seen from the preview
Don't miss anything!




























Reading: Kurose Chapter 2 Electronic mail WWW Instant messaging SSH P2P file sharing File transfer Streaming audio/video Internet phone Video-conferencing Application layer: where "useful work" is done. Applications Wednesday, September 07, 2005 4:51 PM Docsity.com
Where we are in the ISO/OSI reference model: (Political) How do we make decisions? (Financial) How much money do we have?
"Don't pay any attention to that man behind the curtain." Describe the internet from the top down in the ISO/OSI reference model. Assume that the layers below "just work". The game of this part of the course: The game of this part of the course Friday, January 20, 2012 11:35 AM Docsity.com
Client: a node that wishes to make a request. Server: a node that handles requests. Most internet applications have a client/server architecture. Socket: a communication input/output connection between processes in the internet domain. Address: a notion of the location of a host on the internet. Port: a number identifying a socket or its associated service. Protocol: the pattern of communication necessary to obtain service over a socket. Client-server concepts: Client/Server architecture Wednesday, September 07, 2005 4:56 PM Docsity.com
On top of TCP (connection-based, reliable) HTTP request: what client sends to server. HTTP response: what gets sent back from server. One request per connection. Example of application service: Hypertext Transfer Protocol (HTTP) Example: HTTP Wednesday, September 07, 2005 5:03 PM Docsity.com
Time/space diagram Wednesday, September 07, 2005 5:03 PM Docsity.com
Request is \n-delimited key/value pairs and a payload section that is free-form. Response has a header of \n-delimited pairs, and a payload section that is free- form. Request/Response protocol. Payload can be binary data (MIME) Features of HTTP Features of HTTP Friday, January 20, 2012 5:07 PM Docsity.com
Transparency: simple, easily understood transactions. Exception handling: exceptions are reported. Recovery: application recovers from bad requests and errors on part of client or server. Salient features of a good application protocol What is a good application protocol? Wednesday, September 07, 2005 5:03 PM Docsity.com
Web caching/proxying Conditional GET. Some finer points of HTTP Some finer points of HTTP Friday, January 20, 2012 12:11 PM Docsity.com
Web caching (proxy servers) Direct all requests to a proxy server. Proxy server asks for content from real server (and also stores a copy) Further requests for same data do not have to fetch the page from the source. Caching and proxies Wednesday, September 07, 2005 5:03 PM Docsity.com
Faithfully interpret the HTTP pattern. Using a lower-level pattern (TCP) as transport. Implementation is a combination of two patterns. Implementing HTTP Implementing HTTP Friday, January 20, 2012 12:13 PM Docsity.com
Presentation: how data is interpreted. Session: how state is managed. Transport: how data is moved. The layers below the application layer: Presentation layer: ASCII text headers for requests and responses, arbitrary payloads using MIME types. Session: N/A. Transport: TCP For HTTP, To implement HTTP, we need the TCP pattern. Down the ladder Friday, January 20, 2012 5:10 PM Docsity.com
When you deploy a network sevice, any process on the internet can connect to it! You must be ready to respond to any input whatever, whether malicious or simply clueless. Thus you must validate every input and be ready to flag an exception for any variation. Just because you aren't paranoid doesn't mean the rest of the internet isn't out to get you. The network programmer's mindset Friday, January 20, 2012 5:19 PM Docsity.com
The client pattern : how a client requests services. The server pattern : how a server responds to requests. Basics of TCP programming: Basics of TCP programming Friday, January 20, 2012 5:21 PM Docsity.com