Ebooksclub.org a Practical Guide to Content Delivery Networks Second Edition

download

of 296

  • date post

    10-Oct-2014
  • Category

    Documents
  • view

    191
  • download

    3

Embed Size (px)

transcript

A Practical Guide to Content Delivery NetworksSecond Edition

A Practical Guide to Content Delivery NetworksSecond Edition

Gilbert Held

CRC Press Taylor & Francis Group 6000 Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742 2011 by Taylor and Francis Group, LLC CRC Press is an imprint of Taylor & Francis Group, an Informa business No claim to original U.S. Government works Printed in the United States of America on acid-free paper 10 9 8 7 6 5 4 3 2 1 International Standard Book Number: 978-1-4398-3588-3 (Hardback) This book contains information obtained from authentic and highly regarded sources. Reasonable efforts have been made to publish reliable data and information, but the author and publisher cannot assume responsibility for the validity of all materials or the consequences of their use. The authors and publishers have attempted to trace the copyright holders of all material reproduced in this publication and apologize to copyright holders if permission to publish in this form has not been obtained. If any copyright material has not been acknowledged please write and let us know so we may rectify in any future reprint. Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced, transmitted, or utilized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopying, microfilming, and recording, or in any information storage or retrieval system, without written permission from the publishers. For permission to photocopy or use material electronically from this work, please access www.copyright. com (http://www.copyright.com/) or contact the Copyright Clearance Center, Inc. (CCC), 222 Rosewood Drive, Danvers, MA 01923, 978-750-8400. CCC is a not-for-profit organization that provides licenses and registration for a variety of users. For organizations that have been granted a photocopy license by the CCC, a separate system of payment has been arranged. Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for identification and explanation without intent to infringe. Library of Congress CataloginginPublication Data Held, Gilbert, 1943A practical guide to content delivery networks / Gilbert Held. -- 2nd ed. p. cm. Includes index. ISBN 978-1-4398-3588-3 (hardcover : alk. paper) 1. Computer networks. 2. Internetworking (Telecommunication) 3. Internet. I. Title. TK5105.5.H444 2011 004.6--dc22 Visit the Taylor & Francis Web site at http://www.taylorandfrancis.com and the CRC Press Web site at http://www.crcpress.com 2010030232

ContentsP r e fa c e acknowledgments c h a P t e r 1 i n t r o d u c t i o n t o c o n t e n t d e l i v e r y net working

xiii xvii

1

1.1 1.2

TheModernContentDeliveryNetwork 1.1.1 Advantages 1.1.2 Disadvantages Evolution 1.2.1 Client-ServerComputing 1.2.1.1 Client-to-MainframeDataFlow 1.2.1.2 ModernClient-ServerOperations 1.2.2 UseofVideoServers 1.2.2.1 VideoLength 1.2.2.2 VideoResolution 1.2.2.3 FrameRate 1.2.2.4 ColorDepth 1.2.2.5 DataCompression 1.2.3 ServerNetworkArchitecture 1.2.3.1 Two-TierArchitecture 1.2.3.2 Three-TierArchitecture 1.2.4 TheRoadtoPushTechnology 1.2.4.1 TeletextSystems 1.2.4.2 Videotext 1.2.5 PullTechnology 1.2.5.1 RoleofCaching 1.2.5.2 PullLimitations

1 2 4 5 6 6 9 11 11 12 12 12 13 13 14 14 16 16 17 17 18 22 v

v i

C o n t en t s

1.3

Multicast 1.2.6.1 Advantages 1.2.6.2 Addresses 1.2.6.3 Limitations 1.2.7 PushTechnology 1.2.7.1 Evolution 1.2.7.2 Crawling 1.2.7.3 Feeds 1.2.7.4 Advantages 1.2.7.5 Disadvantages ContentDeliveryNetworking 1.3.1 Client-ServerOperationsontheInternet 1.3.2 ClientServerOperatingontheSame Network 1.3.3 Client-ServerOperationsonDifferent Networks 1.3.4 PeeringPoint 1.3.5 VideoConsiderations Overview ClientOperations 2.2.1 URLs 2.2.1.1 AbsoluteandRelative 2.2.1.2 ShorteningURLs 2.2.2 HTML 2.2.2.1 Versions 2.2.2.2 HTMLDocuments 2.2.2.3 FontControl 2.2.2.4 HypertextLinks 2.2.2.5 AddingImages 2.2.2.6 AddingVideo 2.2.3 HTTP 2.2.3.1 Versions 2.2.3.2 Operation 2.2.3.3 HTTP1.1 2.2.3.4 StateMaintenance 2.2.4 BrowserPrograms 2.2.4.1 Helpers 2.2.4.2 Plug-Ins 2.2.4.3 Java 2.2.4.4 VBScript 2.2.4.5 ActiveX ServerOperations 2.3.1 Evolution 2.3.2 CommonWebServerPrograms 2.3.2.1 ServerCharacteristics

1.2.6

23 24 24 25 26 26 27 28 30 30 32 32 33 33 33 3841

c h a P t e r 2 c l i e n t-s e r v e r m o d e l s

2.1 2.2

2.3

42 43 43 46 47 47 47 48 49 50 50 52 56 56 56 59 61 62 64 65 65 68 69 70 70 71 71

C o n t en t s

vii

2.3.3

2.4

ApplicationServers 2.3.3.1 Access 2.3.3.2 JavaApplicationServers 2.3.3.3 GeneralServerTools 2.3.3.4 Microsofts.NETFramework DistanceRelationship 2.4.1 UsingPing 2.4.2 UsingTraceroot

74 74 75 76 77 78 78 8083

c h a P t e r 3 u n d e r s ta n d i n g tcP/ iP

3.1

3.2

TheTCP/IPProtocolSuite 3.1.1 ProtocolSuiteComponents 3.1.2 PhysicalandData-LinkLayers 3.1.2.1 MACAddressing 3.1.2.2 Layer3Addressing 3.1.2.3 ARP 3.1.3 TheNetworkLayer 3.1.3.1 IPHeader 3.1.4 TheTransportLayer 3.1.4.1 TCP 3.1.4.2 UDP 3.1.4.3 PortMeanings TheDomainNameSystem 3.2.1 NeedforAddressResolution 3.2.2 DomainNameServers 3.2.3 Top-LevelDomain 3.2.4 DNSOperation 3.2.5 ConfiguringYourComputer 3.2.6 RootNameServers 3.2.7 TheNSLookupTool 3.2.8 ExpeditingtheNameResolutionProcess 3.2.9 DNSResourceRecords 3.2.9.1 SOAResourceRecord 3.2.9.2 NameServer(NS)Records 3.2.9.3 Address(A)records 3.2.9.4 HostInformation(HINFO) Record 3.2.9.5 MailExchange(MX)Records 3.2.9.6 CanonicalName(CNAME) Records 3.2.9.7 OtherRecords WhyPerformanceMatters 4.1.1 EconomicsofPoorPerformance 4.1.2 Predictability 4.1.3 CustomerLoyalty 4.1.4 Scalability

83 83 84 85 85 88 88 89 91 91 93 94 95 96 96 97 98 98 100 101 102 103 103 104 104 104 105 105 105107

c h a P t e r 4 th e cdnm o d e l

4.1

107 108 109 110 111

v iii

C o n t en t s

4.2

4.3

4.4

4.1.5 Flexibility 4.1.6 CompanyPerception 4.1.7 Summary ExaminingInternetBottlenecks 4.2.1 EntryandEgressConsiderations 4.2.2 AccessDelays 4.2.3 EgressDelays 4.2.4 BenefitsofEdgeServers 4.2.5 PeeringPoints 4.2.5.1 Rationale 4.2.5.2 PeeringandTransitOperations 4.2.5.3 TransitandPeeringOperations 4.2.5.4 GlobalStructureofPeeringPoints 4.2.5.5 RepresentativePeeringPoints 4.2.5.6 PeeringPointDelays EdgeOperations 4.3.1 CDNOperation 4.3.2 TheAkamaiNetwork 4.3.2.1 TypeofContentSupport 4.3.2.2 CentralizedWebSiteAccess 4.3.2.3 EdgeServerModel 4.3.2.4 Limitations 4.3.3 EdgeSideIncludes 4.3.3.1 ESISupport 4.3.3.2 InclusionandConditionalInclusion 4.3.3.3 EnvironmentalVariables 4.3.3.4 ExceptionandErrorHandling 4.3.3.5 LanguageTags 4.3.3.6 TheESITemplate 4.3.4 EdgeSideIncludesforJava 4.3.5 Statistics 4.3.6 Summary TheAkamaiHDNetwork 4.4.1 UsingtheHDNetworkwithFlash 4.4.1.1 SelectingtheClientPopulation 4.4.1.2 SelectingBitRates 4.4.1.3 SelectingFrameSizes 4.4.1.4 Profiles 4.4.1.5 Levels 4.4.1.6 Keyframes Caching 5.1.1 BrowserCache 5.1.2 OtherTypesofWebCaches 5.1.2.1 ProxyCaches 5.1.2.2 GatewayCaches 5.1.2.3 ServerCaches

112 112 113 113 113 114 121 124 125 125 126 130 134 135 144 148 149 149 150 150 151 153 153 156 157 157 157 158 158 159 160 161 161 162 163 163 163 164 165 165167

c h a P t e r 5 c a c h i n g a n d l o a d B a l a n c i n g

5.1

167 168 169 169 172 173

C o n t en t s

ix

5.1.3 5.1.4 5.1.5

5.2

ApplicationCaching CacheOperation CacheControlMethods 5.1.5.1 METATags 5.1.5.2 HTTPHeaders 5.1.5.3 Cache-ControlHeader 5.1.5.4 DirectiveApplication 5.1.5.5 Cache-RequestDirectives 5.1.5.6 Cache-ResponseDirectives 5.1.6 WindowsDNSCachingProblems 5.1.7 ViewingHTTPHeaders 5.1.8 ConsideringAuthentication 5.1.9 EnhancingCacheability LoadBalancing 5.2.1 TypesofLoadBalancing 5.2.2 Rationale 5.2.3 LoadBalancingTechniques 5.2.3.1 DNSLoadBalancing 5.2.3.2 LoadBalancingMethods 5.2.4 HardwareversusSoftware 5.2.5 DNSLoadBalancing 5.2.6 DNSLoad-SharingMethods 5.2.6.1 UsingCNAMES 5.2.6.2 UsingARecords 5.2.7 ManagingUserRequests 5.2.7.1 HiddenFields 5.2.7.2 Settings 5.2.7.3 URLRewriting Overview 6.1.1 Rationale 6.1.1.1 ConcentratedCustomerBase 6.1.1.2 DistributedLocationsAvailable forUse 6.1.1.3 KnowledgeableStaff 6.1.1.4 Control 6.1.1.5 Economics 6.1.2 Summary TrafficAnalysis 6.2.1 UsingWebLogs 6.2.1.1 ApacheAccessLogs 6.2.1.2 AccessRecords 6.2.1.3 HTTPResponseCodes 6.2.2 UsingLoggingStrings 6.2.3 Web-LogAnalysis 6.2.4 TopReferringDomains

173 174 175 175 178 180 182 182 185 187 187 191 191 194 194 195 195 196 197 198 199 199 200 200 201 202 202 203205

c h a P t e r 6 th e cdne n t e r P r i s e m o d e l

6.1

205 206 207 207 208 208 209 209 210 210 211 212 212 214 215 217

6.2

x

C o n t en t s

6.3

ConsideringStatusCodes Web-LogStatistics ReverseMapping SOARecordComponents OriginationCountry OriginatingTimeZone OtherStatistics OtherAnalysisTools Cookies 6.2.13.1 CookieBasics 6.2.13.2 WritingCookies 6.2.13.3 HowaCookieMovesData 6.2.13.4 HowWebSitesUseCookies 6.2.13.5 ProblemswithCookies 6.2.14 OtherLoggingInformation 6.2.15 MicrosoftsPerformanceMonitor 6.2.15.1 ActivatingPerformanceMonitor 6.2.15.2 AddingCountersandInstances 6.2.15.3 WorkingwithPerformance Monitor 6.2.15.4 Summary 6.2.16 UsingaNetworkAnalyzer 6.2.17 OtherToolstoConsider ContentDeliveryModels 6.3.1 Single-Site,Single-ServerModel 6.3.1.1 Advantages 6.3.1.2 Disadvantages 6.3.1.3 ConsideringServerOptions 6.3.1.4 ConsideringNetworkOperations 6.3.2 Single-Site,Multiple-ServerModel 6.3.2.1 Advantages 6.3.2.2 Disadvantages 6.3.3 Multiple-Sites,Single-ServerperSiteModel 6.3.3.1 Advantages 6.3.3.2 Disadvantages 6.3.4 Multiple-Site,Multiple-ServerperSiteModel 6.3.4.1 Advantages 6.3.4.2 Disadvantages 6.3.5 AnIn-Between