Network Routing Algorithms, Protocols, and Architectures Deepankar Medhi Karthikeyan Ramasamy AMSTERDAM•BOSTON•HEIDELBERG•LONDON NEWYORK•OXFORD•PARIS•SANDIEGO SANFRANCISCO•SINGAPORE•SYDNEY•TOKYO MorganKaufmannisanimprintofElsevier SeniorAcquisitionsEditor RickAdams AcquisitionsEditor RachelRoumeliotis PublishingServicesManager GeorgeMorrison SeniorProductionEditor DawnmarieSimpson CoverDesign EricDeCicco/YvoRiezebosDesign CoverImage GettyImages Composition VTEX Copyeditor SPi Proofreader SPi Indexer SPi Interiorprinter TheMaple-VailBookManufacturingGroup Coverprinter PhoenixColor,Inc. MorganKaufmannPublishersisanimprintofElsevier. 500SansomeStreet,Suite400,SanFrancisco,CA94111 Thisbookisprintedonacid-freepaper. (cid:2)c2007byElsevierInc.Allrightsreserved. Designationsusedbycompaniestodistinguishtheirproductsareoftenclaimedastrademarksorregisteredtrademarks. InallinstancesinwhichMorganKaufmannPublishersisawareofaclaim,theproductnamesappearininitialcapitalor allcapitalletters.Readers,however,shouldcontacttheappropriatecompaniesformorecompleteinformationregarding trademarksandregistration. Nopartofthispublicationmaybereproduced,storedinaretrievalsystem,ortransmittedinanyformorbyanymeans— electronic,mechanical,photocopying,scanning,orotherwise—withoutpriorwrittenpermissionofthepublisher. PermissionsmaybesoughtdirectlyfromElsevier’sScience&TechnologyRightsDepartmentinOxford,UK:phone:(+44) 1865843830,fax:(+44)1865853333,E-mail:permissions@elsevier.com.Youmayalsocompleteyourrequestonlineviathe Elsevierhomepage(http://elsevier.com),byselecting “Support&Contact”then“CopyrightandPermission”andthen“ObtainingPermissions.” LibraryofCongressCataloging-in-PublicationData Medhi,Deepankar. Networkrouting:algorithms,protocols,andarchitectures/DeepankarMedhi,KarthikeyanRamasamy. p.cm. Includesbibliographicalreferencesandindex. ISBN-13:978-0-12-088588-6(hardcover:alk.paper) ISBN-10:0-12-088588-3(hardcover:alk.paper)1.Computernetworks.2.Routers(Computernetworks)3.Computer networkarchitectures.I.Ramasamy,Karthikeyan,1967-II.Title. TK5105.5.M4252007 004.6–dc22 2006028700 ISBN13:978-0-12-088588-6 ISBN10:0-12-088588-3 ForinformationonallMorganKaufmannpublications, visitourWebsiteatwww.mkp.comorwww.books.elsevier.com PrintedintheUnitedStatesofAmerica 07080910 54321 Contents Foreword xxiii Preface xxv AbouttheAuthors xxxi Part I: Network Routing: Basics and Foundations 1 1 NetworkingandNetwork Routing:AnIntroduction 2 1.1 AddressingandInternetService:AnOverview 4 1.2 NetworkRouting:AnOverview 5 1.3 IPAddressing 7 1.3.1 ClassfulAddressingScheme 8 1.3.2 Subnetting/Netmask 9 1.3.3 ClasslessInterdomainRouting 10 1.4 OnArchitectures 11 1.5 ServiceArchitecture 12 1.6 ProtocolStackArchitecture 13 1.6.1 OSIReferenceModel 13 1.6.2 IPProtocolStackArchitecture 14 1.7 RouterArchitecture 19 1.8 NetworkTopologyArchitecture 20 1.9 NetworkManagementArchitecture 21 1.10 PublicSwitchedTelephoneNetwork 21 1.11 CommunicationTechnologies 22 1.12 StandardsCommittees 24 1.12.1 InternationalTelecommunicationUnion 24 1.12.2 InternetEngineeringTaskForce 25 1.12.3 MFAForum 25 1.13 LastTwoBits 25 1.13.1 Type-Length-Value 25 1.13.2 NetworkProtocolAnalyzer 26 viii Contents 1.14 Summary 26 FurtherLookup 27 Exercises 27 2 RoutingAlgorithms:ShortestPathandWidestPath 30 2.1 Background 31 2.2 Bellman–FordAlgorithmandtheDistanceVectorApproach 33 2.2.1 CentralizedView:Bellman–FordAlgorithm 33 2.2.2 DistributedView:ADistanceVectorApproach 36 2.3 Dijkstra’sAlgorithm 38 2.3.1 CentralizedApproach 38 2.3.2 DistributedApproach 40 2.4 ComparisonoftheBellman–FordAlgorithmandDijkstra’sAlgorithm 42 2.5 ShortestPathComputationwithCandidatePathCaching 43 2.6 WidestPathComputationwithCandidatePathCaching 45 2.7 WidestPathAlgorithm 47 2.7.1 Dijkstra-BasedApproach 47 2.7.2 Bellman–Ford-BasedApproach 49 2.8 k-ShortestPathsAlgorithm 49 2.9 Summary 51 FurtherLookup 53 Exercises 53 3 RoutingProtocols: Framework andPrinciples 56 3.1 RoutingProtocol,RoutingAlgorithm,andRoutingTable 57 3.2 RoutingInformationRepresentationandProtocolMessages 59 3.3 DistanceVectorRoutingProtocol 60 3.3.1 ConceptualFrameworkandIllustration 60 3.3.2 WhyTimersMatter 66 3.3.3 Solutions 70 3.3.4 CanWeAvoidLoops? 74 3.3.5 DistanceVectorProtocolBasedonDiffusingComputationwith CoordinatedUpdate 74 3.4 LinkStateRoutingProtocol 82 3.4.1 LinkStateProtocol:In-BandHop-by-HopDisseminations 83 3.4.2 LinkStateProtocol:In-BandBasedonEnd-to-EndSession 91 3.4.3 RouteComputation 92 3.5 PathVectorRoutingProtocol 93 3.5.1 BasicPrinciple 93 3.5.2 PathVectorwithPathCaching 97 3.6 LinkCost 102 3.6.1 ARPANETRoutingMetrics 102 3.6.2 OtherMetrics 103 Contents ix 3.7 Summary 104 FurtherLookup 105 Exercises 105 4 Network FlowModeling 108 4.1 Terminologies 109 4.2 Single-CommodityNetworkFlow 110 4.2.1 AThree-NodeIllustration 110 4.2.2 FormalDescriptionandMinimumCostRoutingObjective 111 4.2.3 VariationinObjective:LoadBalancing 114 4.2.4 VariationinObjective:AverageDelay 116 4.2.5 SummaryandApplicability 117 4.3 MulticommodityNetworkFlow:Three-NodeExample 118 4.3.1 MinimumCostRoutingCase 118 4.3.2 LoadBalancing 123 4.3.3 AverageDelay 125 4.4 MulticommodityNetworkFlowProblem:GeneralFormulation 128 4.4.1 BackgroundonNotation 129 4.4.2 Link-PathFormulation 130 4.4.3 Node-LinkFormulation 135 4.5 MulticommodityNetworkFlowProblem:Non-SplittableFlow 137 4.6 Summary 138 FurtherLookup 139 Exercises 139 Part II: Routing in IP Networks 141 5 IPRoutingandDistanceVectorProtocolFamily 142 5.1 Routers,Networks,andRoutingInformation:SomeBasics 143 5.1.1 RoutingTable 143 5.1.2 CommunicationofRoutingInformation 146 5.2 StaticRoutes 146 5.3 RoutingInformationProtocol,Version1(RIPv1) 147 5.3.1 CommunicationandMessageFormat 147 5.3.2 GeneralOperation 149 5.3.3 IsRIPv1GoodtoUse? 150 5.4 RoutingInformationProtocol,Version2(RIPv2) 150 5.5 InteriorGatewayRoutingProtocol(IGRP) 153 5.5.1 PacketFormat 153 5.5.2 ComputingCompositeMetric 154 5.6 EnhancedInteriorGatewayRoutingProtocol(EIGRP) 157 5.6.1 PacketFormat 157 5.7 RouteRedistribution 160 5.8 Summary 161 x Contents FurtherLookup 163 Exercises 164 6 OSPFandIntegrated IS-IS 166 6.1 FromaProtocolFamilytoanInstanceofaProtocol 167 6.2 OSPF:ProtocolFeatures 168 6.2.1 NetworkHierarchy 168 6.2.2 RouterClassification 168 6.2.3 NetworkTypes 169 6.2.4 Flooding 170 6.2.5 LinkStateAdvertisementTypes 171 6.2.6 Subprotocols 171 6.2.7 RoutingComputationandEqual-CostMultipath 172 6.2.8 AdditionalFeatures 176 6.3 OSPFPacketFormat 177 6.4 ExamplesofRouterLSAsandNetworkLSAs 183 6.5 IntegratedIS-IS 185 6.5.1 KeyFeatures 186 6.6 SimilaritiesandDifferencesBetweenIS-ISandOSPF 189 6.7 Summary 191 FurtherLookup 191 Exercises 191 7 IPTraffic Engineering 194 7.1 Traffic,Stochasticity,Delay,andUtilization 195 7.1.1 WhatIsIPNetworkTraffic? 195 7.1.2 TrafficandPerformanceMeasures 195 7.1.3 CharacterizingTraffic 196 7.1.4 AverageDelayinaSingleLinkSystem 197 7.1.5 NonstationarityofTraffic 199 7.2 Applications’View 200 7.2.1 TCPThroughputandPossibleBottlenecks 200 7.2.2 Bandwidth-DelayProduct 201 7.2.3 RouterBufferSize 202 7.3 TrafficEngineering:AnArchitecturalFramework 203 7.4 TrafficEngineering:AFour-NodeIllustration 204 7.4.1 NetworkFlowOptimization 204 7.4.2 ShortestPathRoutingandNetworkFlow 206 7.5 LinkWeightDeterminationProblem:PreliminaryDiscussion 211 7.6 DualityoftheMCNFProblem 213 7.6.1 IllustrationofDualityThroughaThree-NodeNetwork 213 7.6.2 GeneralCase:MinimumCostRouting 215 7.6.3 MinimizationofMaximumLinkUtilization 219 7.6.4 ACompositeObjectiveFunction 221 7.6.5 MinimizationofAverageDelay 222 Contents xi 7.7 IllustrationofLinkWeightDeterminationThroughDuality 226 7.7.1 CaseStudy:I 226 7.7.2 CaseStudy:II 231 7.8 LinkWeightDetermination:LargeNetworks 232 7.9 Summary 234 FurtherLookup 235 Exercises 235 8 BGP 238 8.1 BGP:ABriefOverview 239 8.2 BGP:BasicTerminology 242 8.3 BGPOperations 243 8.3.1 MessageOperations 243 8.3.2 BGPTimers 244 8.4 BGPConfigurationInitialization 245 8.5 TwoFacesofBGP:ExternalBGPandInternalBGP 247 8.6 PathAttributes 250 8.7 BGPDecisionProcess 254 8.7.1 BGPPathSelectionProcess 254 8.7.2 RouteAggregationandDissemination 256 8.7.3 Recap 257 8.8 InternalBGPScalability 257 8.8.1 RouteReflectionApproach 258 8.8.2 ConfederationApproach 261 8.9 RouteFlapDampening 262 8.10 BGPAdditionalFeatures 265 8.10.1 Communities 265 8.10.2 MultiprotocolExtension 265 8.11 FiniteStateMachineofaBGPConnection 266 8.12 ProtocolMessageFormat 270 8.12.1 CommonHeader 270 8.12.2 MessageType:OPEN 270 8.12.3 MessageType:UPDATE 272 8.12.4 MessageType:NOTIFICATION 274 8.12.5 MessageType:KEEPALIVE 274 8.12.6 MessageType:ROUTE–REFRESH 274 8.12.7 PathAttributeinUPDATEmessage 276 8.13 Summary 277 FurtherLookup 278 Exercises 278 9 InternetRoutingArchitectures 280 9.1 InternetRoutingEvolution 281 9.2 AddressingandRouting:Illustrations 283 9.2.1 RoutingPacket:ScenarioA 285 xii Contents 9.2.2 RoutingPacket:ScenarioB 286 9.2.3 RoutingPacket:ScenarioC 288 9.3 CurrentArchitecturalViewoftheInternet 290 9.3.1 CustomersandProviders,PeeringandTiering,andExchangePoints 291 9.3.2 ARepresentativeArchitecture 294 9.3.3 CustomerTrafficRouting:AGeographicPerspective 297 9.3.4 SizeandGrowth 298 9.4 AllocationofIPPrefixesandASNumber 301 9.5 Policy-BasedRouting 304 9.5.1 BGPWedgies 306 9.6 PointofPresence 307 9.7 TrafficEngineeringImplications 309 9.8 InternetRoutingInstability 311 9.9 Summary 312 FurtherLookup 312 Exercises 313 Part III: Routing in the PSTN 315 10 HierarchicalandDynamic CallRoutingintheTelephoneNetwork 316 10.1 HierarchicalRouting 317 10.1.1 BasicIdea 317 10.1.2 ASimpleIllustration 318 10.1.3 OverallHierarchicalRoutingArchitecture 320 10.1.4 TelephoneServiceProvidersandTelephoneNetworkArchitecture 321 10.2 TheRoadtoDynamicRouting 322 10.2.1 LimitationofHierarchicalRouting 322 10.2.2 HistoricalPerspective 323 10.2.3 CallControlandCrankback 325 10.2.4 TrunkReservation 326 10.2.5 WhereDoesDynamicRoutingFitwithHierarchicalRouting? 326 10.2.6 MixingofOCCandPCC 327 10.2.7 Summary 327 10.3 DynamicNonhierarchicalRouting 328 10.4 DynamicallyControlledRouting 330 10.5 DynamicAlternateRouting 333 10.6 Real-TimeNetworkRouting 334 10.7 ClassificationofDynamicCallRoutingSchemes 336 10.8 MaximumAllowableResidualCapacityRouting 337 10.9 DynamicRoutingandItsRelationtoOtherRouting 339 10.9.1 DynamicRoutingandLinkStateProtocol 339 10.9.2 PathSelectioninDynamicRoutinginTelephoneNetworksandIP Routing 339 10.9.3 RelationtoConstraint-BasedRouting 340 Contents xiii 10.10 Recap 340 FurtherLookup 341 Exercises 342 11 Traffic EngineeringintheVoiceTelephoneNetwork 344 11.1 WhyTrafficEngineering? 345 11.2 TrafficLoadandBlocking 346 11.2.1 ComputingErlang-BLossFormula 349 11.3 Grade-of-ServiceandTrunkOccupancy 350 11.4 Centi-CallSecondsandDeterminingOfferedLoad 352 11.5 EconomicCCSMethod 354 11.6 NetworkControlsforTrafficEngineering 356 11.6.1 GuidelinesonDetectionofCongestion 357 11.6.2 ExamplesofControls 357 11.6.3 CommunicationofCongestionControlInformation 361 11.6.4 CongestionManifestation 361 11.7 State-DependentCallRouting 362 11.8 AnalysisofDynamicRouting 363 11.8.1 Three-NodeNetwork 364 11.8.2 N-NodeSymmetricNetwork 366 11.8.3 N-NodeSymmetricNetworkwithTrunkReservation 367 11.8.4 IllustrationWithoutandwithTrunkReservation 369 11.9 Summary 371 FurtherLookup 371 Exercises 372 12 SS7:SignalingNetwork forTelephony 374 12.1 WhySS7? 375 12.2 SS7NetworkTopology 375 12.2.1 NodeTypes 376 12.2.2 SS7Links 376 12.3 RoutingintheSS7Network 378 12.4 PointCodes:AddressinginSS7 380 12.4.1 NorthAmericanPointCode 380 12.4.2 ITUPointCode 381 12.5 PointCodeUsage 382 12.5.1 AddressAssignment 382 12.5.2 RelationshipBetweenaTelephoneSwitchandanSSP 382 12.5.3 InterworkingofSS7NetworkswithDifferentAddressingSchemes 383 12.6 SS7ProtocolStack 384 12.6.1 Lower-LayerProtocols:MTP1,MTP2,andMTP3 384 12.6.2 Upper-LayerProtocols 388 12.7 SS7NetworkManagement 388 12.8 ISUPandCallProcessing 389 12.8.1 Called/CallingPartyNumberFormat 395 xiv Contents 12.9 ISUPMessagesandTrunkManagement 396 12.10 ISUPMessagesandDynamicCallRouting 396 12.10.1 Functionalities 397 12.10.2 Illustration 398 12.11 TransactionServices 400 12.11.1 SCCP:SignalingConnectionControlPart 400 12.11.2 TCAP:TransactionCapabilitiesApplicationPart 401 12.12 SS7LinkTrafficEngineering 402 12.12.1 SS7NetworkPerformanceRequirements 403 12.13 Summary 404 FurtherLookup 404 Exercises 405 13 PublicSwitchedTelephone Network: Architecture andRouting 406 13.1 GlobalTelephoneAddressing 407 13.1.1 NationalNumberingPlan 409 13.1.2 DialingPlan 412 13.2 SettingUpaBasicTelephoneCallandItsSteps 415 13.3 DigitAnalysisversusTranslation 417 13.4 RoutingDecisionforaDialedCall 417 13.5 CallRouting:SingleNationalProviderEnvironment 417 13.5.1 HandlingDialedNumbers 418 13.5.2 IllustrationofCallRouting 419 13.5.3 SomeObservations 423 13.6 CallRouting:MultipleLong-DistanceProviderCase 424 13.6.1 IllustrationofCallRouting 427 13.6.2 ImpactonRouting 430 13.7 Multiple-ProviderEnvironment:MultipleLocalExchangeCarriers 432 13.8 RoutingDecisionatanIntermediateTDMSwitch 433 13.9 NumberPortability 434 13.9.1 Introduction 434 13.9.2 PortabilityClassification 435 13.10 NongeographicorToll-FreeNumberPortability 436 13.10.1 800-NumberManagementArchitecture 437 13.10.2 MessageandCallRouting 438 13.11 Fixed/MobileNumberPortability 439 13.11.1 PortabilityArchitecture 439 13.11.2 RoutingSchemes 442 13.11.3 ComparisonofRoutingSchemes 446 13.11.4 ImpactonIAMMessage 446 13.11.5 NumberPortabilityImplementation 448 13.11.6 RoutinginthePresenceofTransitNetwork 448 13.12 Multiple-ProviderEnvironmentwithLocalNumberPortability 451
Description: