Distributing Caching on Large IP Networks Adrian Chadd & Andrew Khoo Versatel Telecom – Amsterdam NL NANOG17 – Distributed Caching in Large IP Environments Adrian.
Download ReportTranscript Distributing Caching on Large IP Networks Adrian Chadd & Andrew Khoo Versatel Telecom – Amsterdam NL NANOG17 – Distributed Caching in Large IP Environments Adrian.
Distributing Caching on Large IP Networks Adrian Chadd & Andrew Khoo Versatel Telecom – Amsterdam NL NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 Why Cache? • Average client bandwidth growth is exceeding backbone capacity growth • The internet is the ‘unknown’ factor – congestion problems outside your control NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 2 Caching Problems Today • Bad server implementations of HTTP/1.1 • Bad implementation of dynamic content timeouts • Some websites use client IP as part of authentication NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 3 Inter-cache communication NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 4 ICP • Very basic method of inter-cache communication • Only HIT/MISS information is propagated between caches • Connectionless (UDP) based NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 5 Cache Digests • Utilizes a ‘bloom filter’ to determine caches with higher probabilities of having given objects • Periodic exchanges of digests between caches • Not Exact! Miss = 0% chance of having object, Hit = >95% chance of having object • Work ‘in progress’ NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 6 Caching a large network - a case study NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 7 Cache Objectives • Primary goal: Improve client response times • Secondary goal: Reduce bandwidth usage NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 8 Backbone Europe LHR 155Mbps level3 LINX 155+155 L3 FRA 622 VT Amsterdam 2x100 M2 100 155 DCIX PARIX 622 AMSIX 100 T3-ATM 155 CDG 100 BRU 100 SFINX 622 NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 B-NIX 9 Backbone US 45Mbps AADS ORD 155Mbps PAIX 100T 100Mbps PAIX FDDI MAE West 155Mbps 100Mbps Backup transit to “Internet” 155Mbps NYC AMS 155Mbps 100Mbps DC FDDI 100T CIX NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 MAE East 10 Cache Backbone United States Europe London 2 x OC3/STM-1 New York OC3/STM-1 Amsterdam OC3/ STM-1 OC3/STM-1 Paris Each POP has a single cache cluster OC12/ STM-4 Frankfurt Brussels NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 11 Backbone POP Design Cisco GSR12008 Core Router 155Mbps POS Juniper M40 Core Router 155Mbps POS Cisco 7206vxr Aggregator #1 Cisco 7206vxr Aggregator #2 100baseT Cisco 2948 100T cust attach Routing Path #1 155Mbps POS 100baseT 100baseT Cisco Cat5505 100T cust attach Routing Path #2 NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 12 NL Core Network Topology 155Mbps to NYC AMS-IX #2 AMS-IX #1 VERSATOWER Gigabit Ethernet 100bT to Carrier1 100bT 7204 NIKHEF Business Internet (via ATM) 7206vxr SARA 100bT 45Mbps 100bT 100bT 155Mbps M40 7206vxr 7202 100bT 4-way 155Mbps router mesh 155Mbps 155Mbps Dial Access Platform GSR 100bT GSR 7206vxr Data Operations 155Mbps to Svianed #1 155Mbps to Svianed #2 MATRIX-2 NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 7202 Free Internet/ISP Platform 13 Single Cache Cluster Clients Frontend 1 Frontend 2 Frontend 3 Backend 1 Backend 2 Backend 3 Internet NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 14 Single Cache Cluster (2) • • • • • Frontends handle client requests Backends handle server requests Frontends ICP each other Each backend exports a cache digest to each frontend Backends do NOT communicate NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 15 Hierarchy construction NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 16 Problems with conventional hierarchies • Conventional hierarchies use static or domain based parent/peer selection • Network/server failures can affect client response times • Limited network topology intelligence through a ‘whois’ interface NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 17 How to ‘route’ cache peer selection • Using transparent redirection at each border, let your network route requests for you • Network failures are handled correctly • Method is performance-friendly, but not optimally bandwidth-friendly NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 18 Cache pre-population • Cache prepopulation WORKS ! • Parsing ‘friendly’ provider logs from timezones before your own • Walk ‘popular’ websites before sunlight • Parsing your own logs and issuing IMS requests NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 19 Melting squid caches NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 20 Melting squid caches – filesystem performance • Directory seek overhead • No concept of object relationships / locality, defeating ‘read-ahead’ • Current implementation uses threads to fake async file access • Disks are still linear :-) NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 21 Melting squid caches - IFS • IFS – “inode filesystem” • Exporting flat inode namespace to squid • Not optimal by far, but relaxes disk seek and memory usage • Integration into squid is under way NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 22 Melting squid caches – poor network performance • Using larger buffer sizes on outgoing requests • Reduce the TIME_WAIT period to cycle through sockets quicker • QoS on your internal network NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 23 Melting squid caches – ICP • • • • Dropped ICP packets result in noticeable client delays ICP not suitable for busy WAN links Cache digests are a ‘solution in progress’ Cache the ICP replies NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 24 Melting squid caches – other problems • Proprietary protocols (eg WEBDAV) • Some browsers (MSIE) have a habit of issuing non-cache friendly requests • Issues with transparent redirection – eg MTU Path Discovery, IP-based authentication NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 25 Caching – the next level • True object-based caching, instead of HTTP/FTP only • True clustering support, providing a single logical cache to the network • Smart ‘predictive’ caches adapting to client usage patterns • Video/Audio stream caching NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 26 Questions and Answers NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 27 The End [email protected] [email protected] NANOG17 – Distributed Caching in Large IP Environments Adrian Chadd & Andrew Khoo - 10th October 1999 28