Ch 2. Application Layer Myungchul Kim

Slides:



Advertisements
Similar presentations
HyperText Transfer Protocol (HTTP)
Advertisements

Application Layer-11 CSE401N: Computer Networks Lecture-4 Application Layer Overview HTTP.
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
2: Application Layer1 Chapter 2: Application Layer Our goals: r conceptual, implementation aspects of network application protocols m transport-layer service.
HyperText Transfer Protocol (HTTP) Computer Networks Computer Networks Spring 2012 Spring 2012.
1 Creating a network app Write programs that m run on different end systems and m communicate over a network. m e.g., Web: Web server software communicates.
Application architectures
2: Application Layer1 Chapter 2 Application Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross.
Some slides are in courtesy of J. Kurose and K. Ross Review of Previous Lecture Network access and physical media Internet structure and ISPs Delay & loss.
9/16/2003-9/18/2003 The Application Layer and Java Programming September 16-18, 2003.
Chapter 2 Application Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross Addison-Wesley, July.
Week 11: Application Layer1 Week 11: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
Web, HTTP and Web Caching
2: Application Layer1 Chapter 2: Application Layer Our goals: r conceptual, implementation aspects of network application protocols m transport-layer service.
1 K. Salah Module 2.1: Application Layer Application-level protocols provide high-level services –Web and HTTP –DNS –Electronic mail –Remote login –FTP.
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
2/9/2004 Web and HTTP February 9, /9/2004 Assignments Due – Reading and Warmup Work on Message of the Day.
EEC-484/584 Computer Networks Lecture 4 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Some slides are in courtesy of J. Kurose and K. Ross Review of Previous Lecture Network access and physical media Internet structure and ISPs Delay & loss.
Introduction 1 Lecture 7 Application Layer (FTP, ) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science & Engineering.
Introduction 1-1 Chapter 2 FTP & Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 IC322 Fall.
SMTP, POP3, IMAP.
1 Application Layer Lecture 5 Imran Ahmed University of Management & Technology.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 9
Lecturer: Maxim Podlesny Sep CSE 473 File Transfer and Electronic in Internet.
Fall 2005 By: H. Veisi Computer networks course Olum-fonoon Babol Chapter 7 The Application Layer.
CS 3830 Day 7 Introduction : Application Layer 2 Processes communicating Process: program running within a host. r within same host, two processes.
1 Telematica di Base Applicazioni P2P. 2 The Peer-to-Peer System Architecture  peer-to-peer is a network architecture where computer resources and services.
FTP (File Transfer Protocol) & Telnet
Mail (smtp), VoIP (sip, rtp)
CP476 Internet Computing Lecture 5 : HTTP, WWW and URL 1 Lecture 5. WWW, HTTP and URL Objective: to review the concepts of WWW to understand how HTTP works.
2: Application Layer1 CS 4244: Internet Software Development Dr. Eli Tilevich.
Application Layer 2 Figures from Kurose and Ross
Rensselaer Polytechnic Institute Shivkumar Kalvanaraman, Biplab Sikdar 1 The Web: the http protocol http: hypertext transfer protocol Web’s application.
20-1 Last time □ NAT □ Application layer ♦ Intro ♦ Web / HTTP.
2: Application Layer1 Internet apps: their protocols and transport protocols Application remote terminal access Web file transfer streaming multimedia.
Week 11: Application Layer1 Web and HTTP First some jargon r Web page consists of objects r Object can be HTML file, JPEG image, Java applet, audio file,…
CS 372 – introduction to computer networks* Wednesday June 30
2: Application Layer1 Web and HTTP First some jargon Web page consists of base HTML-file which includes several referenced objects Object can be HTML file,
Chapter 2: Application layer
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail  SMTP,
Sockets process sends/receives messages to/from its socket
Ch 2. Application Layer Myungchul Kim
2: Application Layer1 Chapter 2: Application layer r 2.1 Principles of network applications  app architectures  app requirements r 2.2 Web and HTTP r.
1 HTTP EECS 325/425, Fall 2005 September Chapter 2: Application layer r 2.1 Principles of network applications m app architectures m app requirements.
CIS679: Lecture 13 r Review of Last Lecture r More on HTTP.
1-1 HTTP request message GET /somedir/page.html HTTP/1.1 Host: User-agent: Mozilla/4.0 Connection: close Accept-language:fr request.
2: Application Layer1 Chapter 2 Application Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd edition. Jim Kurose, Keith Ross.
CS 3830 Day 9 Introduction 1-1. Announcements r Quiz #2 this Friday r Demo prog1 and prog2 together starting this Wednesday 2: Application Layer 2.
2: Application Layer 1 Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April.
Important r There will be NO CLASS on Friday 1/30/2015! r Please mark you calendars 1.
2: Application Layer 1 Chapter 2: Application layer r 2.1 Principles of network applications  app architectures  app requirements r 2.2 Web and HTTP.
2: Application Layer1 Chapter 2 Application Layer Computer Networking: A Top Down Approach, 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July 2007.
1 Chapter 2: Application Layer Part A Introduction r 2.1 Principles of network applications r 2.2 Web and HTTP r 2.3 FTP.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 7 Omar Meqdadi Department of Computer Science and Software Engineering University of.
EEC-484/584 Computer Networks Lecture 4 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Week 11: Application Layer 1 Web and HTTP r Web page consists of objects r Object can be HTML file, JPEG image, Java applet, audio file,… r Web page consists.
Ch 2. Application Layer Myungchul Kim
Lecture 5 Internet Core: Protocol layers. Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP 
Spring 2006 CPE : Application Layer_ 1 Special Topics in Computer Engineering Application layer: Some of these Slides are Based on Slides.
2: Application Layer 1 Chapter 2 Application Layer These ppt slides are originally from the Kurose and Ross’s book. But some slides are deleted and added.
05 - P2P applications and Sockets
Block 5: An application layer protocol: HTTP
Application layer 1 Principles of network applications 2 Web and HTTP
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 9
Internet transport protocols services
Chapter 2 Application Layer
Introduction to Networks
Presentation transcript:

Ch 2. Application Layer Myungchul Kim

2 Principles of network applications – Develping new applications -> writing software running on multiple end systems

3 o Network application architecture – Network architecture – Application architecture  Client-server architecture  P2P architecture

4 o Client and server processes o The interface between the process and the computer network – Application programming interface (API)

5 o Transport service available to applications – Reliable data data transfer – Throughput: bandwidth-sensitive applications and elastic applications – Timing – Security

6 o Transport services provided by the Internet – TCP services  Connection-oriented service: handshaking, connection establishment, tearing down the connection  Reliable data transfer service  Congestion-control mechanism – UDP services  Connectionless  No handshaking  An unreliable data transfer service

7

8 o Today’s Internet can often provide satisfactory service to timesentive applications, but it cannot provide any timing or bandwidth guarantees. o Addressing processes: host by IP address + process by port number

9 o Application-layer protocols – The types of messages exchanged – The syntax of the various message types – The semantics of the fields – Rules for examining when and how a process a sends messages and responds to messages – e.g., HTTP – Web’s application-layer protocol

10 The Web and HTTP o Overview of HTTP – HyperText Transfer Protocol – Web page = a set of objects: an object = a file – Web browser = the client of HTTP – Web server = the server of HTTP – A stateless protocol o Non-persistent and persistent connections – HTTP with non-persistent connections  Each TCP connection is closed after the server sends the object.  (next slide) – HTTP with persistent connections  The server leaves the TCP connection open after sending a response.

11 Nonpersistent HTTP Suppose user enters URL 1a. HTTP client initiates TCP connection to HTTP server (process) at on port HTTP client sends HTTP request message (containing URL) into TCP connection socket. Message indicates that client wants object someDepartment/home.index 1b. HTTP server at host waiting for TCP connection at port 80. “ accepts ” connection, notifying client 3. HTTP server receives request message, forms response message containing requested object, and sends message into its socket time (contains text, references to 10 jpeg images)

12 Nonpersistent HTTP (cont.) 5. HTTP client receives response message containing html file, displays html. Parsing html file, finds 10 referenced jpeg objects 6. Steps 1-5 repeated for each of 10 jpeg objects 4. HTTP server closes TCP connection. time

13

14 o HTTP message format – Request messages and response messages – HTTP request message GET /somedir/page.html HTTP/1.1 Host: User-agent: Mozilla/4.0 Connection: close Accept-language:fr (extra carriage return, line feed) request line (GET, POST, HEAD commands) Carriage return, line feed indicates end of message

15

16 HTTP response message HTTP/ OK Connection close Date: Thu, 06 Aug :00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 …... Content-Length: 6821 Content-Type: text/html data data data data data... status line (protocol status code status phrase) header lines data, e.g., requested HTML file

17 – HTTP response message:

18 o User-server interaction: Cookies – Identify users – One-click shopping; shopping cart service

19 o Web caching – Web cache = proxy server – A cache is both a server and a client at the same time.

20

21 Conditional GET  Goal: don ’ t send object if cache has up-to-date cached version o cache: specify date of cached copy in HTTP request If-modified-since: o server: response contains no object if cached copy is up-to-date: HTTP/ Not Modified cache server HTTP request msg If-modified-since: HTTP response HTTP/ Not Modified object not modified HTTP request msg If-modified-since: HTTP response HTTP/ OK object modified

22 FTP – Out-of-band, stateful protocol

23 Electronic Mail o Simple Mail Transfer Protocol (SMTP)

24 – The body of SMTP: 7-bit ASCII – Use persistent connections – Push protocol (cf. pull protocol e.g. HTTP)

25 1) Alice uses UA to compose message and “ to ” 2) Alice ’ s UA sends message to her mail server; message placed in message queue 3) Client side of SMTP opens TCP connection with Bob ’ s mail server 4) SMTP client sends Alice ’ s message over the TCP connection 5) Bob ’ s mail server places the message in Bob ’ s mailbox 6) Bob invokes his user agent to read message

26 o Mail Message Formats and MIME – Multipurpose Internet Mail Extensions (MIME)  Content-Type  Content-Transfer-Encoding o Mail Access Protocols – Post Office Protocol - Verson 3 (POP3), Internet Mail Acess Protocol (IMAP), and HTTP

27 DNS – The Internet’s Directory Service – Domain name system – Identifer: hostname, IP address – Translate hostnames to IP addresses – Host aliasing: canonical hostname – Mail server aliasing – Load distribution: DNS rotation – A centralized design  A single point of failure  Traffic volume  Distant centralized database  Maintenance

28 o A distributed, hierachical database – Root DNS servers – Top-level domain (TLD) servers – Authoritative DNS servers

29

30

31

32 – DNS caching: cache the mapping in its local memory o DNS records and messages – Resource records (RRs) – RR: (Name, Value, Type, TTL) – Type = A: hostanme and its IP address – Type = NS: domain and hostname of an authoritative DNS server – Type = CNAME: cananical hostname – Type = MX: canaonical name of a mail server

33

34 o Inserting records into the DNS database – Registrar – Internet Corporation for Assigned Names and Numbers (ICANN)

35 Peer-to-Peer Applications – Peers vs service providers – File distribution, organizing and searching for information and Internet telephony application o P2P file distribution – Scalability of P2P architectures

36 o BitTorrent – File distribution – Torrent: the collection of all peers participating in the distribution of a particular file – Chungs of a file (256KBytes) – Each torrent has an infrasturecture node called a tracker – Rarest first: from neighbors – Trading algorithm: gives priority to the neighbors that are currently supplying data at the highest rate – Four top peers and one probing peer – Free-riding

37

38 o Searching for information in a P2P community – Information index – a mapping of information to host locations – File sharing: files to peers – Instant message: username to locations (IP addresses) – Centralized index  Napster  A hybird of P2P and client-server architecture  Copyright infringement

39 – Query flooding  Gnutella  The index is fully distributed over the community peers  Overlay network  Limited-scope query flooding  New peers join: bootstrap problem

40 Gnutella: Peer joining 1. joining peer Alice must find another peer in Gnutella network: use list of candidate peers 2. Alice sequentially attempts TCP connections with candidate peers until connection setup with Bob 3. Flooding: Alice sends Ping message to Bob; Bob forwards Ping message to his overlay neighbors (who then forward to their neighbors ….) r peers receiving Ping message respond to Alice with Pong message 4. Alice receives many Pong messages, and can then setup additional TCP connections

41 – Hierarchical overlay  FastTrack, Kazaa and Morpheus  Limited-scope flooding in the overlay network of super peers

42 o Case study: P2P Internet Telephony with Skype – Real time – P2P for user location and for NAT traversal

43 P2P Case study: Skype o P2P (pc-to-pc, pc-to-phone, phone-to-pc) Voice-Over-IP (VoIP) application – also IM o proprietary application-layer protocol (inferred via reverse engineering) o hierarchical overlay Skype clients (SC) Supernode (SN) Skype login server

44 Skype: making a call o User starts Skype Skype login server o SC registers with SN – list of bootstrap SNs o SC logs in (authenticate) o Call: SC contacts SN will callee ID – SN contacts other SNs (unknown protocol, maybe flooding) to find addr of callee; returns addr to SC o SC directly contacts callee, overTCP