HTTP evolution - TCP/IP issues Lecture 4 CM214 1999-2000 David De Roure

Slides:



Advertisements
Similar presentations
Neighbor Discovery for IPv6 Mangesh Kaushikkar. Overview Introduction Terminology Protocol Overview Message Formats Conceptual Model of a Host.
Advertisements

Internet Control Protocols Savera Tanwir. Internet Control Protocols ICMP ARP RARP DHCP.
(4.4) Internet Protocols Layered approach to Internet Software 1.
1 11 Web Caching Web Protocols and Practice. 2 Topics Web Protocols and Practice WEB CACHING  Cache Definition  Goals of Web Caching  Motivations for.
1 Caching in HTTP Representation and Management of Data on the Internet.
Internet Control Message Protocol (ICMP)
EEC-484/584 Computer Networks Lecture 6 Wenbing Zhao
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
EEC-484/584 Computer Networks Discussion Session for HTTP and DNS Wenbing Zhao
Chapter Extension 7 How the Internet Works © 2008 Prentice Hall, Experiencing MIS, David Kroenke.
Adaptive Web Caching: Towards a New Caching Architecture Authors and Institutions: Scott Michel, Khoi Nguyen, Adam Rosenstein and Lixia Zhang UCLA Computer.
What’s a Web Cache? Why do people use them? Web cache location Web cache purpose There are two main reasons that Web cache are used:  to reduce latency.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #13 Web Caching Protocols ICP, CARP.
IPv6 Mobility David Bush. Correspondent Node Operation DEF: Correspondent node is any node that is trying to communicate with a mobile node. This node.
Internet Networking Spring 2002 Tutorial 13 Web Caching Protocols ICP, CARP.
1 HTTP - Hypertext Transfer Protocol Arthur : Yigal Eliaspur Date :
1Bloom Filters Lookup questions: Does item “ x ” exist in a set or multiset? Data set may be very big or expensive to access. Filter lookup questions with.
Web Caching Schemes For The Internet – cont. By Jia Wang.
P2P Course, Structured systems 1 Introduction (26/10/05)
HTTP HyperText Transfer Protocol Part 3.
1 ENHANCHING THE WEB’S INFRASTUCTURE: FROM CACHING TO REPLICATION ECE 7995 Presented By: Pooja Swami and Usha Parashetti.
Hypertext Transport Protocol CS Dick Steflik.
Web Proxy Server Anagh Pathak Jesus Cervantes Henry Tjhen Luis Luna.
Web Cache. Introduction what is web cache?  Introducing proxy servers at certain points in the network that serve in caching Web documents for faster.
1 Content Distribution Networks. 2 Replication Issues Request distribution: how to transparently distribute requests for content among replication servers.
1 Napster & Gnutella An Overview. 2 About Napster Distributed application allowing users to search and exchange MP3 files. Written by Shawn Fanning in.
Internet Control Message Protocol (ICMP)
1 3 Web Proxies Web Protocols and Practice. 2 Topics Web Protocols and Practice WEB PROXIES  Web Proxy Definition  Three of the Most Common Intermediaries.
23-Support Protocols and Technologies Dr. John P. Abraham Professor UTPA.
Chapter 4. After completion of this chapter, you should be able to: Explain “what is the Internet? And how we connect to the Internet using an ISP. Explain.
Chapter 4 Networking and the Internet Introduction to CS 1 st Semester, 2015 Sanghyun Park.
DNS (Domain Name System) Protocol On the Internet, the DNS associates various sorts of information with domain names. A domain name is a meaningful and.
1 Semester 2 Module 10 Intermediate TCP/IP Yuda college of business James Chen
Sistem Jaringan dan Komunikasi Data #9. DNS The Internet Directory Service  the Domain Name Service (DNS) provides mapping between host name & IP address.
CMPT 471 Networking II Address Resolution IPv4 ARP RARP 1© Janice Regan, 2012.
World Wide Web Caching: Trends and Technologys Gerg Barish & Katia Obraczka USC Information Sciences Institute, USA,2000.
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.
1 Caching in HTTP Representation and Management of Data on the Internet.
DSR: Introduction Reference: D. B. Johnson, D. A. Maltz, Y.-C. Hu, and J. G. Jetcheva, “The Dynamic Source Routing Protocol for Mobile Ad Hoc Networks,”
Error and Control An IP datagram travels from node to node on the way to its destination Each router operates autonomously Failures or problems may occur.
ICP and the Squid Web Cache Duanc Wessels k Claffy August 13, 1997 元智大學系統實驗室 宮春富 2000/01/26.
Multimedia and Networks. Protocols (rules) Rules governing the exchange of data over networks Conceptually organized into stacked layers – Application-oriented.
Web Cache Consistency. “Requirements of performance, availability, and disconnected operation require us to relax the goal of semantic transparency.”
1 ECE453 - Introduction to Computer Networks Lecture 1: Introduction.
On The Cooperation of Web Clients and Proxy Caches Yiu Fai Sit, Francis C.M. Lau, Cho-Li Wang Department of Computer Science The University of Hong Kong.
1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Dynamic Host Configuration Protocol (DHCP)
ICP and the Squid Web Cache Duane Wessels and K. Claffy 산업공학과 조희권.
Teknik Routing Pertemuan 10 Matakuliah: H0524/Jaringan Komputer Tahun: 2009.
Firewalls A brief introduction to firewalls. What does a Firewall do? Firewalls are essential tools in managing and controlling network traffic Firewalls.
Cache Digest Alex Rousskov Duane Wessels National Laboratory for Applied Network Research April 17, 1998 元智大學 資訊工程研究所 系統實驗室 陳桂慧 February 9, 1999.
Ad Hoc On-Demand Distance Vector Routing (AODV) ietf
Internet Cache Protocol Erez Tal Assaf Oren Avner Cohen Submission Date: 5/2/01 Guides: Ran Wolff and Itai Dabran.
TCP/IP Illustrated, Volume 1: The Protocols Chapter 6. ICMP: Internet Control Message Protocol ( 월 ) 김 철 환
Overview on Web Caching COSC 513 Class Presentation Instructor: Prof. M. Anvari Student name: Wei Wei ID:
Networking (Cont’d). Congestion Control l Is achieved by informing nodes along a route that congestion has occurred and asking them to reduce their packet.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Chapter 5. An IP address is simply a series of binary bits (ones and zeros). How many binary bits are used? 32.
Adaptive Configuration of a Web Caching Hierarchy Pranav A. Desai Jaspal Subhlok Presented by: Pranav A. Desai.
Topic 4: Distributed Objects Dr. Ayman Srour Faculty of Applied Engineering and Urban Planning University of Palestine.
A tutorial on Web Caching
Block 5: An application layer protocol: HTTP
Internet Networking recitation #9
HTTP request message: general format
Web Caching? Web Caching:.
Internet Networking recitation #12
Net 323: NETWORK Protocols
Internet Control Message Protocol (ICMP)
Internet Control Message Protocol (ICMP)
Internet Networking recitation #10
HyperText Transfer Protocol
Presentation transcript:

HTTP evolution - TCP/IP issues Lecture 4 CM David De Roure

CM The HTTP Lectures What is HTTP? The architecture and the methods. APIs - implementing and using HTTP HTTP evolution - TCP/IP issues HTTP for Internet Computing See and RFC2616

CM Introduction HTTP is typically used for distributed information systems, where performance can be improved by the use of response caches. The architecture involves ‘caching proxies’ which sit between client and server. Proxies can be chained. A cache may be shared by a group of users, enabling users to benefit from the caching of documents that have been read by colleagues. Caches may themselves be interconnected (e.g. as ‘neighbours’), to exchange cached documents.

CM Caching in HTTP The goal of caching in HTTP/1.1 is to eliminate the need to send requests in many cases, and to eliminate the need to send full responses in many other cases. –The former reduces the number of network round-trips required for many operations. –The latter reduces network bandwidth requirements. NB All methods that might be expected to cause modifications to the server's resources MUST be written through to the server.

CM Semantic transparency A cache behaves in a semantically transparent manner, with respect to a particular response, when its use affects neither the requesting client nor the origin server, except to improve performance. When a cache is semantically transparent, the client receives exactly the same response (except for hop-by-hop headers) that it would have received had its request been handled directly by the origin server. Requirements for performance, availability, and disconnected operation require us to be able to relax the goal of semantic transparency. The HTTP/1.1 protocol allows servers, caches, and clients to explicitly reduce transparency when necessary.

CM Expiration model HTTP caching works best when caches can entirely avoid making requests to the origin server. The primary mechanism for avoiding requests is for an origin server to provide an explicit expiration time in the future, indicating that a response MAY be used to satisfy subsequent requests. In other words, a cache can return a fresh response without first contacting the server. Since servers do not always provide explicit expiration times, HTTP caches typically assign heuristic expiration times, employing algorithms that use other header values (such as the Last-Modified time) to estimate a plausible expiration time. NB Heuristic expiration times might compromise semantic transparency.

CM Validation Model When a cache has a stale entry that it would like to use as a response to a client's request, it first has to check with the server (or possibly an intermediate cache with a fresh response) to see if its cached entry is still usable. We call this "validating" the cache entry. Since we do not want to have to pay the overhead of retransmitting the full response if the cached entry is good, and we do not want to pay the overhead of an extra round trip if the cached entry is invalid, the HTTP/1.1 protocol supports the use of conditional methods.

CM When an origin server generates a full response, it attaches some sort of validator to it, which is kept with the cache entry. When a client (user agent or proxy cache) makes a conditional request for a resource for which it has a cache entry, it includes the associated validator in the request. The server then checks that validator against the current validator for the entity, and, if they match, it responds with a special status code (usually, 304 (Not Modified)) and no entity-body. Otherwise, it returns a full response (including entity-body). A conditional request looks exactly the same as a normal request for the same resource except that it carries a special header (including the validator) that implicitly turns the method (usually, GET) into a conditional.

CM What is cacheable? By default, a response is cacheable if the requirements of the request method, request header fields, and the response status indicate that it is cacheable. Cache-Control response directives allow a server to override the default cacheability of a response: –public indicates that the response MAY be cached by any cache –private indicates that all or part of the response message is intended for a single user and MUST NOT be cached by a shared cache –no-cache a cache MUST NOT use the response to satisfy a subsequent request without successful revalidation with the origin server

CM Hierarchical caching Cache Hierarchies are a logical extension of the caching concept. A group of Web caches can benefit from sharing another cache in the same way that a group of Web clients benefit from sharing a cache. Web caches can be arranged hierarchically, or in a mesh. When the cache topology has a tree-like structure, we usually use the term hierarchy. If the structure is rather flat, we call it a mesh. Squid is a popular hierarchical cache. See

CM Parents and siblings In a parent relationship, the child cache will forward requests to its parent cache. If the parent does not hold a requested object, it will forward the request on behalf of the child. A cache hierarchy should closely follow the underlying network topology. Parent caches should be located along the network paths towards the greater Internet. With a sibling relationship, a peer may only request objects already held in the cache; a sibling cannot forward cache misses on behalf of the peer. The sibling relationship should be used for caches “nearby’” but not in the direction of your route to the Internet.

CM Internet Cache Protocol The Internet Cache Protocol (ICP) allows one cache to ask another if it has a valid copy of a named object, thereby improving its chances of selecting a neighbour cache that will return a cache hit. ICP also provides an indication of network conditions. Failure to receive an ICP reply likely means the path is severely congested, severed, or the peer host is down. ICP messages are transmitted as UDP packets However, ICP becomes useless on highly congested links, perhaps exactly where caching is needed most. It also ICP adds some delay to the processing of a request.

CM Squid sends an ICP query message to its neighbours (both parents and siblings). The ICP query includes the requested URL and is sent in a UDP packet. Squid remembers how many queries it sends for a given request. Each neighbour receives its ICP query and looks up the URL in its own cache. If a valid copy of the URL exists, the cache sends ICP_HIT, otherwise an ICP_MISS message. The querying cache now collects the ICP replies from its peers. If the cache receives an ICP_HIT reply from a peer, it immediately forwards the HTTP request to that peer. If the cache does not receive an ICP_HIT reply, then all replies will be ICP_MISS. Squid waits until it receives all replies, up to two seconds. If one of the ICP_MISS replies comes from a parent, Squid forwards the request to the parent whose reply was the first to arrive. We call this reply the FIRST_PARENT_MISS. If there is no ICP_MISS from a parent cache, Squid forwards the request to the origin server.

CM Exercise To what extent do you think content could be pushed by servers to caches instead of caches pulling the data from servers? Could IP multicast be used for this?