Ch 2. Application Layer Myungchul Kim

Slides:



Advertisements
Similar presentations
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 OSI Transport Layer Network Fundamentals – Chapter 4.
Advertisements

Chapter 1 Review Csc4220/6220 Computer Networks Instructor: Akshaye Dhawan.
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Application Layer – Lecture.
EEC-484/584 Computer Networks Lecture 6 Wenbing Zhao
Cis e-commerce -- lecture #6: Content Distribution Networks and P2P (based on notes from Dr Peter McBurney © )
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.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
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.
Some slides are in courtesy of J. Kurose and K. Ross Review of Previous Lecture Electronic Mail: SMTP, POP3, IMAP DNS Socket programming with TCP.
CPSC 441: DNS1 Instructor: Anirban Mahanti Office: ICT Class Location: ICT 121 Lectures: MWF 12:00 – 12:50 Notes derived.
1 Computer Networks Transport Layer Protocols. 2 Application-layer Protocols Application-layer protocols –one “piece” of an app –define messages exchanged.
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 5 Application Layer slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science & Engineering Department.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Application Layer Functionality and Protocols Network Fundamentals – Chapter.
Process-to-Process Delivery:
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 10 Omar Meqdadi Department of Computer Science and Software Engineering University.
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.
Networking Basics TCP/IP TRANSPORT and APPLICATION LAYER Version 3.0 Cisco Regional Networking Academy.
Throughput: Internet scenario
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.
2: Application Layer1 Some network apps r r Web r Instant messaging r Remote login r P2P file sharing r Multi-user network games r Streaming stored.
CHAPTER 2. Creating a network app write programs that – run on (different) end systems – communicate over network – e.g., web server software communicates.
1 Application Layer Lecture 4 Imran Ahmed University of Management & Technology.
Chapter Two Application Layer Prepared by: Dr. Bahjat Qazzaz CS Dept. Sept
CS 3830 Day 7 Introduction : Application Layer 2 Processes communicating Process: program running within a host. r within same host, two processes.
Ch 2. Application Layer Myungchul Kim
DNS: Domain Name System
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.
1 Computer Communication & Networks Lecture 28 Application Layer: HTTP & WWW p Waleed Ejaz
© Janice Regan, CMPT 128, Jan 2007 CMPT 371 Data Communications and Networking Introducing the Application Layer 0.
What makes a network good? Ch 2.1: Principles of Network Apps 2: Application Layer1.
2: Application Layer1 Chapter 2 outline r 2.1 Principles of app layer protocols r 2.2 Web and HTTP r 2.3 FTP r 2.4 Electronic Mail r 2.5 DNS r 2.6 Socket.
2: Application Layer 1 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,
TCP/IP Transport and Application (Topic 6)
Sockets process sends/receives messages to/from its socket
The Inter-network is a big network of networks.. The five-layer networking model for the internet.
Ch 1. Computer Networks and the Internet Myungchul Kim
Internet Protocol B Bhupendra Ratha, Lecturer School of Library and Information Science Devi Ahilya University, Indore
CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
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.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 8 Omar Meqdadi Department of Computer Science and Software Engineering University of.
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.
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
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.
TCP/IP (Transmission Control Protocol / Internet Protocol)
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
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.
Net 221D:Computer Networks Fundamentals
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.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Application Layer Functionality and Protocols.
2: Application Layer 1 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,
Application Layer 2-1 Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Application Layer – Lecture.
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 7 Omar Meqdadi Department of Computer Science and Software Engineering University of.
COMP 431 Internet Services & Protocols
Midterm Review. Chapter 1 Internet Concepts Applications, End-hosts, Routers, Switches, Communication Links Overall architecture How they are organized.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Ch 2. Application Layer Myungchul Kim
COMPUTER NETWORKS Hwajung Lee. Image Source:
Communication Networks NETW 501 Tutorial 2
Ch 3. Transport Layer Myungchul Kim
Application layer 1 Principles of network applications 2 Web and HTTP
Administrative Things
Data Communications and Computer Networks Chapter 2 CS 3830 Lecture 9
Computer Communication & Networks
Process-to-Process Delivery:
Presentation transcript:

Ch 2. Application Layer Myungchul Kim

2 Principles of application-layer protocols o Distributed among two or more end systems – Browser (client) – server – Processes – How processes running on different end systems communicate vs interprocess communication o Networking applications have application-layer protocols that define the format and order of the messages exchanged between processes, as well as define the actions taken on the transmission or receipt of a message – Web: a network application – Web application = document formats, browsers, servers, and an application protocol HTTP o An application-layer protocol defines: – Types of messages exchanged – Syntax of the various message types – Semantics of the fields – Rules for determining when and how a process sends messages and responds to messages.

3 o The host that initiates the session is labeled the client. o Fig 2.2

4 o Socket – A process’s socket can be thought of as the process’s door. – API (application programmers’ interface) – Application developer has (1) the choice of transport protocols and (2) the ability to fix a few transport-layer parameters such as max buffer and max segment sizes. o Addressing processes – To identify a process: (1) the name or address of the host and (2) an identifier that specifies the process in the host. – IP address globally uniquely identifies the network interface. – Destination port number: a web server process with port number 80, a mail server process with port number 25, etc. o User agents – An interface between the user and the network application. – The browser also implements the client side of the HTTP protocols.

5 o An application’s service requirements – Reliable data transfer: loss-tolerant applications? – Bandwidth: bandwidth-sensitive application vs elastic applications – Timing: end-to-end delays – Fig 2.4

6 o Services provided by the Internet Transport Protocols – UDP, TCP o TCP services – Connection-oriented service: handshaking procedure, a TCP connection, a full-duplex – Reliable transport service: without error and in the proper order – Congestion-control mechanisms – Real-time applications usually run over UDP rather than TCP – TCP does not guarantee a min transmission rate – TCP does not provide any delay guarantee – TCP guarantee delivery of all data. o UDP services – Lightweight transport protocol – Connectionless, no handshaking, no guarantee, no congestion-control

7 – Fig 2.5

8 The Web and HTTP o HTTP – A client and a server – Web page: objects (an HTML file, a JPEG image, a Java Applet,…) – TCP – A stateless protocol: an HTTP server maintains no information about the clients. – No relation with a Web page o Nonpersistent connections – Only a single Web object is transferred over a TCP connection. – Most browsers open five to ten parallel TCP connections. – RTT (Round Trip Time)

9 – Fig 2.7

10 o Persistent connections – Without pipelining and with pipelining – Without pipelining: the client issues a new request only when the previous response has been received: one RTT – HTTP/1.1: persistent connections with pipelining o HTTP message format – ASCII text – HTTP request message, response message – Request line (GET, POST, HEAD) (pp. 94, 96) – Header line – Fig 2.8

11 File Transfer: FTP o On TCP o Out of band: A control connection and a data connection, cf. in-band for HTTP o The FTP server must maintain state about the user. o Fig 2.11

12 Electronic Mail o components – User agents – Mail servers (mailbox) – Simple Mail Transfer Protocol (SMTP) o On TCP o Fig 2.13

13 o Comparison with HTTP – HTTP: a pull protocol, SMTP: a push protocol – SMTP: in seven-bit ASCII format – HTTP encapsulates each object in its own HTTP response message. Internet mail places all of the message’s objects into one message. – MIME extension for non-ASCII data: Content-Type and Content- Transfer-Encoding – Content-Type: text, image, and application

14 o Mail Access Protocols – A mail server is always on and always connected to the Internet? – POP3, IMAP and HTTP – Fig 2.14

15 DNS (Directory Service) o Hostname -> IP address o Domain Name System (DNS) – A distributed database in a hierarchy of name servers – An application-layer protocol that allows host and name servers to communicate for the translation service. – On UDP – Host aliasing – Mail server aliasing – Load distribution: a set of IP addresses is associated with one canonical hostname. – Gethostbyname() in UNIX o The problems with a centralized design -> doesn’t scale – A single point of failure – Traffic volume – Distant centralized database – Maintenance

16 o The DNS with a large number of name servers – Local name servers: configured by hand in a host – Root name servers (pp. 126) – Authoritative name servers: each host is registered with an authoritative name server o Recursive queries – Fig 2.17

17 o Recursive and iterative queries – Fig 2.18

18 o DNS caching o DNS records – Resource record (name, value, type, TTL0 – Type = A, NS, CNAME, and MX – Fig 2.19 – Flag: query or reply, authoritative, recursion, … – How data gets into the database in the first place?

19 Content Distribution o Replicate the content in one or more servers in order to reduce delays o Content distribution – Replicating content on multiple servers – A means to determine the servers that can deliver the content the fastest – Web cashing, content distribution networks (CDNs) and peer-to-peer file transfer o Web caching – By ISPs – Web cache = proxy server: a network entity satisfies HTTP requests on the behalf of an original server – Reduce the response time for a client request – Reduce traffic – Provide an infrastructure for rapid distribution of content – Hit rates: the fraction of requests that are satisfied by a cache

20 o Fig 2.29

21 o Cooperative caching – Multiple web caches – Internet Caching Protocol (ICP): an application-layer protocol allows one cache to ask another cache quickly if it has a given document – Cache clustering: how a browser selects a cache for requesting a particular object? o Content Distribution Networks – Fig 2.30

22 o Content Distribution Networks – Each CDN server will typically contain objects from many different content providers. – CDNs make use of DNS redirection in order to guide browsers to the correct server. – Suppose  The hostname of the content provider is  The name of the CDN company is cdn.com  The content provider only wants its GIF files to be distributed by the CDN.  All other objects are distributed directly by the content provider. – Fig 2.31

23 o Peer-to-peer file sharing – Peer: consumer and distributor of content – Centralized Directory  Napster  Fig 2.32

24 – Centralized Directory  How to determine when a peer becomes disconnected?  Drawbacks: single point of failure, performance bottleneck, and copyright infringement – Decentralized Directory  Fig 2.33  How does a peer become a group leader and how does a joining peer get assigned to a group leader?

25 – Decentralized Directory  Overlay network  Bootstrapping nodes are always on servers, peers can use DNS to locate them.  Drawbacks: complex protocol, truly distributed, bootstrapping node – Query flooding  Gnutella  A fully distributed approach  A peer joins the overlay network by contacting a bootstrapping node.  For object location, no directories -> query flooding  No group leaders  Always-up bootstrapping nodes  Non-scalable -> what could be a remedy?

26 – Query flooding  Fig 2.34

Ch 3. Transport Layer Myungchul Kim

28 o Logical communication between application processes running on different hosts o A network-layer protocol provides logical communication between hosts. o A transport protocol can offer reliable data transfer service to an application even when the underlying network protocol is unreliable. o IP service model: best-effort delivery service o UDP: unregulated

29 – Fig 3.1