ebook img

Computer networks : a systems approach PDF

825 Pages·2003·2.773 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Computer networks : a systems approach

T H I R D E D I T I O N Larry L. Peterson & Bruce S. Davie C O M P U T E R N E T W O R K S A Systems Approach SeniorEditor RickAdams PublishingServicesManager SimonCrump DevelopmentalEditor KarynJohnson CoverDesign RossCarronDesign CoverImage VascodeGamaBridge,Lisbon,Portugal Composition/Illustration InternationalTypesettingandComposition Copyeditor KenDellaPenta Proofreader JenniferMcClain Indexer SteveRath Printer CourierCorporation Designationsusedbycompaniestodistinguishtheirproductsareoftenclaimedastrademarks orregisteredtrademarks.InallinstancesinwhichMorganKaufmannPublishersisawareofa claim,theproductnamesappearininitialcapitalorallcapitalletters.Readers,however,should contact the appropriate companies for more complete information regarding trademarks and registration. MorganKaufmannPublishers AnImprintofElsevierScience 340PineStreet,SixthFloor SanFrancisco,CA94104-3205 www.mkp.com © 2003byElsevierScience(USA) Allrightsreserved PrintedintheUnitedStatesofAmerica 07 06 05 04 03 5 4 3 2 1 Nopartofthispublicationmaybereproduced,storedinaretrievalsystem,ortransmittedin anyformorbyanymeans—electronic,mechanical,photocopying,orotherwise—withoutthe priorwrittenpermissionofthepublisher. LibraryofCongressControlNumber:xxxxxxxxxx ISBN:1-55860-832-X(Casebound) ISBN:1-55860-833-8(Paperback) Thisbookisprintedonacid-freepaper. To Lee Peterson and Robert Davie F O R E W O R D David Clark MassachusettsInstituteofTechnology This third edition represents another major upgrade to this classic networking book.Thefieldcontinuestochangefast,andnewconceptsemergewithamaz- ing speed. This version expands its discussion of a lot of important new top- ics,includingpeer-to-peernetworks,Ipv6,overlayandcontentdistributionnetworks, MPLS and switching, wireless and mobile technology, and more. It also contains an earlierandstrongerfocusonapplications,whichreflectsthestudentandprofessional’s increasedfamiliaritywithawiderangeofnetworkedapplications.Thebookcontinues itstraditionofgivingyouthefactsyouneedtounderstandtoday’sworld. But it has not lost track of its larger goal, to tell you not only the facts but the whybehindthefacts.Thephilosophyofthebookremainsthesame:tobetimelybut timeless.Whatthisbookwillteachyouintoday’snetworkedworldwillgiveyouthe insight needed to work in tomorrow’s landscape. And that is important, since there isnoreasontobelievethattheevolutionofnetworksisgoingtoslowdownanytime soon. Itishardtorememberwhattheworldlookedlikeonlytenyearsago.Backthen the Internet was not really a commercial reality. Ten megabits per second was really fast.Wedidn’tworryaboutspamandvirusattacks—weleftourcomputersunguarded andhardlyworried.Thosetimesweresimpler,buttodaymaybemoreexciting.And youbetterbelievethattomorrowwillbedifferentfromtoday:atleastasexciting,with lucknolesstrustworthy,andcertainlybigger,fasterandfilledwithfreshinnovation. SoIhopeLarryandBrucecanrelaxforalittlebeforetheyhavetostartthenext revision.Meanwhile,usethisbooktolearnabouttodayandgetreadyfortomorrow. Havefun. F O R E W O R D T O T H E F I R S T E D I T I O N David Clark MassachusettsInstituteofTechnology Thetermspaghetticodeisuniversallyunderstoodasaninsult.Allgoodcomputer scientistsworshipthegodofmodularity,sincemodularitybringsmanybenefits, including the all-powerful benefit of not having to understand all parts of a problematthesametimeinordertosolveit.Modularitythusplaysaroleinpresenting ideasinabook,aswellasinwritingcode.Ifabook’smaterialisorganizedeffectively— modularly—thereadercanstartatthebeginningandactuallymakeittotheend. Thefieldofnetworkprotocolsisperhapsuniqueinthatthe“proper”modularity hasbeenhandeddowntousintheformofaninternationalstandard:theseven-layer reference model of network protocols from the ISO. This model, which reflects a layered approach to modularity, is almost universally used as a starting point for discussionsofprotocolorganization,whetherthedesigninquestionconformstothe modelordeviatesfromit. It seems obvious to organize a networking book around this layered model. However, there is a peril to doing so, because the OSI model is not really successful atorganizingthecoreconceptsofnetworking.Suchbasicrequirementsasreliability, flow control, or security can be addressed at most, if not all, of the OSI layers. This facthasledtogreatconfusionintryingtounderstandthereferencemodel.Attimesit evenrequiresasuspensionofdisbelief.Indeed,abookorganizedstrictlyaccordingto alayeredmodelhassomeoftheattributesofspaghetticode. Whichbringsustothisbook.PetersonandDaviefollowthetraditionallayered model,buttheydonotpretendthatthismodelactuallyhelpsintheunderstandingof thebigissuesinnetworking.Instead,theauthorsorganizediscussionoffundamental conceptsinawaythatisindependentoflayering.Thus,afterreadingthebook,readers will understand flow control, congestion control, reliability enhancement, data rep- resentation, and synchronization, and will separately understand the implications of addressingtheseissuesinoneoranotherofthetraditionallayers. Thisisatimelybook.Itlooksattheimportantprotocolsinusetoday—especially the Internet protocols. Peterson and Davie have a long involvement in and much experiencewiththeInternet.Thustheirbookreflectsnotjustthetheoreticalissuesin x ForewordtotheFirstEdition protocoldesign,buttherealfactorsthatmatterinpractice.Thebooklooksatsomeof theprotocolsthatarejustemergingnow,sothereadercanbeassuredofanup-to-date perspective.Butmostimportantly,thediscussionofbasicissuesispresentedinaway that derives from the fundamental nature of the problem, not the constraints of the layered reference model or the details of today’s protocols. In this regard, what this book presents is both timely and timeless. Thecombination of real-world relevance, currentexamples,andcarefulexplanationoffundamentalsmakesthisbookunique. C O N T E N T S Foreword vii ForewordtotheFirstEdition ix Preface xix 1 Foundation Problem:BuildingaNetwork 2 1.1 Applications 4 1.2 Requirements 6 1.2.1 Connectivity 7 1.2.2 Cost-EffectiveResourceSharing 10 1.2.3 SupportforCommonServices 15 1.3 NetworkArchitecture 19 1.3.1 LayeringandProtocols 20 1.3.2 OSIArchitecture 26 1.3.3 InternetArchitecture 27 1.4 ImplementingNetworkSoftware 30 1.4.1 ApplicationProgrammingInterface(Sockets) 31 1.4.2 ExampleApplication 33 1.4.3 ProtocolImplementationIssues 36 1.5 Performance 40 1.5.1 BandwidthandLatency 40 1.5.2 Delay×BandwidthProduct 44 1.5.3 High-SpeedNetworks 46 1.5.4 ApplicationPerformanceNeeds 48 1.6 Summary 50 OpenIssue:UbiquitousNetworking 51 FurtherReading 52 Exercises 55 xii Contents 2 DirectLinkNetworks Problem:PhysicallyConnectingHosts 64 2.1 HardwareBuildingBlocks 66 2.1.1 Nodes 66 2.1.2 Links 67 2.2 Encoding(NRZ,NRZI,Manchester,4B/5B) 75 2.3 Framing 79 2.3.1 Byte-OrientedProtocols(BISYNC,PPP,DDCMP) 80 2.3.2 Bit-OrientedProtocols(HDLC) 83 2.3.3 Clock-BasedFraming(SONET) 84 2.4 ErrorDetection 88 2.4.1 Two-DimensionalParity 89 2.4.2 InternetChecksumAlgorithm 90 2.4.3 CyclicRedundancyCheck 92 2.5 ReliableTransmission 97 2.5.1 Stop-and-Wait 98 2.5.2 SlidingWindow 101 2.5.3 ConcurrentLogicalChannels 110 2.6 Ethernet(802.3) 111 2.6.1 PhysicalProperties 112 2.6.2 AccessProtocol 114 2.6.3 ExperiencewithEthernet 119 2.7 TokenRings(802.5,FDDI) 120 2.7.1 PhysicalProperties 121 2.7.2 TokenRingMediaAccessControl 122 2.7.3 TokenRingMaintenance 125 2.7.4 FrameFormat 126 2.7.5 FDDI 127 2.8 Wireless(802.11) 131 2.8.1 PhysicalProperties 132 2.8.2 CollisionAvoidance 133 2.8.3 DistributionSystem 134 2.8.4 FrameFormat 136 2.9 NetworkAdaptors 137 2.9.1 Components 138 2.9.2 ViewfromtheHost 139 2.9.3 MemoryBottleneck 144 2.10 Summary 146 Contents xiii OpenIssue:DoesItBelonginHardware? 147 FurtherReading 148 Exercises 150 3 PacketSwitching Problem:NotAllNetworksAreDirectlyConnected 164 3.1 SwitchingandForwarding 166 3.1.1 Datagrams 168 3.1.2 VirtualCircuitSwitching 170 3.1.3 SourceRouting 177 3.2 BridgesandLANSwitches 180 3.2.1 LearningBridges 181 3.2.2 SpanningTreeAlgorithm 185 3.2.3 BroadcastandMulticast 189 3.2.4 LimitationsofBridges 190 3.3 CellSwitching(ATM) 192 3.3.1 Cells 193 3.3.2 SegmentationandReassembly 198 3.3.3 VirtualPaths 203 3.3.4 PhysicalLayersforATM 204 3.3.5 ATMintheLAN 205 3.4 ImplementationandPerformance 210 3.4.1 Ports 212 3.4.2 Fabrics 216 3.5 Summary 220 OpenIssue:TheFutureofATM 221 FurtherReading 221 Exercises 223 4 Internetworking Problem:ThereIsMoreThanOneNetwork 234 4.1 SimpleInternetworking(IP) 236 4.1.1 WhatIsanInternetwork? 236 4.1.2 ServiceModel 238 4.1.3 GlobalAddresses 250 4.1.4 DatagramForwardinginIP 252 4.1.5 AddressTranslation(ARP) 258 4.1.6 HostConfiguration (DHCP) 263 xiv Contents 4.1.7 ErrorReporting(ICMP) 266 4.1.8 VirtualNetworksandTunnels 267 4.2 Routing 271 4.2.1 NetworkasaGraph 272 4.2.2 DistanceVector(RIP) 274 4.2.3 LinkState(OSPF) 282 4.2.4 Metrics 291 4.2.5 RoutingforMobileHosts 295 4.3 GlobalInternet 299 4.3.1 Subnetting 301 4.3.2 ClasslessRouting(CIDR) 306 4.3.3 InterdomainRouting(BGP) 308 4.3.4 RoutingAreas 316 4.3.5 IPVersion6(IPv6) 318 4.4 Multicast 331 4.4.1 Link-StateMulticast 332 4.4.2 Distance-VectorMulticast 332 4.4.3 ProtocolIndependentMulticast(PIM) 336 4.5 MultiprotocolLabelSwitching(MPLS) 340 4.5.1 Destination-BasedForwarding 340 4.5.2 ExplicitRouting 346 4.5.3 VirtualPrivateNetworksandTunnels 348 4.6 Summary 352 OpenIssue:DeploymentofIPV6 353 FurtherReading 354 Exercises 355 5 End-to-EndProtocols Problem:GettingProcessesstoCommunicate 374 5.1 SimpleDemultiplexer(UDP) 376 5.2 ReliableByteStream(TCP) 378 5.2.1 End-to-EndIssues 379 5.2.2 SegmentFormat 382 5.2.3 ConnectionEstablishmentandTermination 384 5.2.4 SlidingWindowRevisited 389 5.2.5 TriggeringTransmission 395 5.2.6 AdaptiveRetransmission 397 5.2.7 RecordBoundaries 401

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.