Application Layer - Computer Networks and Protocols - Lecture Notes, Study notes of Computer Networks

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

2012/2013

Uploaded on 04/23/2013

ashavari
ashavari 🇮🇳

4.3

(15)

132 documents

1 / 35

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Reading: Kurose Chapter 2
Electronic mail
WWW
Instant messaging
SSH
P2P file sharing
File transfer
Streaming audio/video
Video-conferencing
Application layer: where "useful work" is done.
Applications
Wednesday, September 07, 2005
4:51 PM
Application_Layer Page 1
Docsity.com
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

Partial preview of the text

Download Application Layer - Computer Networks and Protocols - Lecture Notes and more Study notes Computer Networks in PDF only on Docsity!

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?

  1. Application Services with meaning to users: HTTP, SMTP, ...
  2. Presentation How to portably exchange data: MIME, XDR, SSL, ...
  3. Session How to maintain session state: NetBIOS, SOCKS, ...
  4. Transport How to send/receive data between programs: TCP, UDP, ...
  5. Network How to address nodes, send (simple) messages between non-neighboring devices: IP, ICMP, ...
  6. Link How to communicate between directly connected devices: Ethernet, ATM, Frame Relay, Wireless, ...
  7. Physical The actual communication Where we are in the ISO/OSI model Friday, January 20, 2012 11:37 AM Docsity.com

"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