Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.