Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ch 2. Application Layer Myungchul Kim

Similar presentations


Presentation on theme: "Ch 2. Application Layer Myungchul Kim"— Presentation transcript:

1 Ch 2. Application Layer Myungchul Kim mckim@icu.ac.kr

2 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 3 o The host that initiates the session is labeled the client. o Fig 2.2

4 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 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 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 7 – Fig 2.5

8 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 9 – Fig 2.7

10 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 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 12 Electronic Mail o components – User agents – Mail servers (mailbox) – Simple Mail Transfer Protocol (SMTP) o On TCP o Fig 2.13

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 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 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 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 17 o Recursive and iterative queries – Fig 2.18

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 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 20 o Fig 2.29

21 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 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 www.foo.comwww.foo.com  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 23 o Peer-to-peer file sharing – Peer: consumer and distributor of content – Centralized Directory  Napster  Fig 2.32

24 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 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 26 – Query flooding  Fig 2.34

27 Ch 3. Transport Layer Myungchul Kim mckim@icu.ac.kr

28 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 29 – Fig 3.1


Download ppt "Ch 2. Application Layer Myungchul Kim"

Similar presentations


Ads by Google