ebook img

An Introduction to Computer Networks PDF

691 Pages·5.265 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 An Introduction to Computer Networks

An Introduction to Computer Networks Release 1.8.16 Peter L Dordal December31,2015 CONTENTS 0 Preface 3 0.1 Licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 0.2 ClassroomUse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 0.3 ProgressNotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 0.4 Technicalconsiderations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 0.5 RecentChanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 0.6 FuturePlans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1 AnOverviewofNetworks 9 1.1 Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.2 DataRate,ThroughputandBandwidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3 Packets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4 DatagramForwarding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.5 Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.6 RoutingLoops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.7 Congestion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.8 PacketsAgain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.9 LANsandEthernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.10 IP-InternetProtocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.11 DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.12 Transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1.13 Firewalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 1.14 NetworkAddressTranslation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 1.15 SomeUsefulUtilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 1.16 IETFandOSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 1.17 BerkeleyUnix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 1.18 Epilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 1.19 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2 Ethernet 39 2.1 10-MbpsClassicEthernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.2 100Mbps(Fast)Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 2.3 GigabitEthernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 2.4 EthernetSwitches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.5 SpanningTreeAlgorithmandRedundancy . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 2.6 VirtualLAN(VLAN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 i 2.7 Epilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 2.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3 OtherLANs 65 3.1 VirtualPrivateNetwork . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 3.2 CarrierEthernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 3.3 TokenRing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 3.4 VirtualCircuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3.5 AsynchronousTransferMode: ATM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3.6 AdventuresinRadioland. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.7 Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 3.8 WiMAXandLTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 3.9 FixedWireless . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 3.10 Epilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 3.11 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 4 Links 103 4.1 EncodingandFraming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 4.2 Time-DivisionMultiplexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 4.3 Epilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 4.4 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 5 Packets 115 5.1 PacketDelay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 5.2 PacketDelayVariability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 5.3 PacketSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 5.4 ErrorDetection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 5.5 Epilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 5.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 6 AbstractSlidingWindows 129 6.1 BuildingReliableTransport: Stop-and-Wait . . . . . . . . . . . . . . . . . . . . . . . . . . 129 6.2 SlidingWindows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 6.3 LinearBottlenecks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 6.4 Epilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 6.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 7 IPversion4 149 7.1 TheIPv4Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 7.2 Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 7.3 SpecialAddresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 7.4 Fragmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 7.5 TheClasslessIPDeliveryAlgorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 7.6 IPv4Subnets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 7.7 DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 7.8 AddressResolutionProtocol: ARP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 7.9 DynamicHostConfigurationProtocol(DHCP) . . . . . . . . . . . . . . . . . . . . . . . . . 170 7.10 InternetControlMessageProtocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 ii 7.11 UnnumberedInterfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 7.12 MobileIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 7.13 Epilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 7.14 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 8 IPversion6 181 8.1 TheIPv6Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 8.2 IPv6addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 8.3 NetworkPrefixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 8.4 IPv6Multicast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 8.5 IPv6ExtensionHeaders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 8.6 NeighborDiscovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 8.7 IPv6HostAddressAssignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 8.8 GloballyExposedAddresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 8.9 ICMPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 8.10 IPv6Subnets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 8.11 UsingIPv6andIPv4Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 8.12 IPv6ExamplesWithoutaRouter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 8.13 IPv6ConnectivityviaTunneling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 8.14 IPv6-to-IPv4connectivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 8.15 Epilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 8.16 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 9 Routing-UpdateAlgorithms 207 9.1 Distance-VectorRouting-UpdateAlgorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 208 9.2 Distance-VectorSlow-ConvergenceProblem . . . . . . . . . . . . . . . . . . . . . . . . . . 212 9.3 ObservationsonMinimizingRouteCost . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 9.4 Loop-FreeDistanceVectorAlgorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 9.5 Link-StateRouting-UpdateAlgorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 9.6 RoutingonOtherAttributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 9.7 Epilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 9.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 10 Large-ScaleIPRouting 229 10.1 ClasslessInternetDomainRouting: CIDR . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 10.2 HierarchicalRouting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 10.3 LegacyRouting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 10.4 Provider-BasedRouting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 10.5 GeographicalRouting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 10.6 BorderGatewayProtocol,BGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 10.7 Epilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 10.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 11 UDPTransport 259 11.1 UserDatagramProtocol–UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 11.2 FundamentalTransportIssues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 11.3 TrivialFileTransportProtocol,TFTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 11.4 RemoteProcedureCall(RPC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 iii 11.5 Epilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280 11.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 12 TCPTransport 285 12.1 TheEnd-to-EndPrinciple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 12.2 TCPHeader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 12.3 TCPConnectionEstablishment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 12.4 TCPandWireShark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 12.5 TCPsimplex-talk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 12.6 TCPstatediagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 12.7 TCPOldDuplicates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 12.8 TIMEWAIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 12.9 TheThree-WayHandshakeRevisited . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 12.10 AnomalousTCPscenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 12.11 TCPFasterOpening . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 12.12 PathMTUDiscovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 12.13 TCPSlidingWindows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 12.14 TCPDelayedACKs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 12.15 NagleAlgorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 12.16 TCPFlowControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 12.17 SillyWindowSyndrome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309 12.18 TCPTimeoutandRetransmission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310 12.19 KeepAlive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 12.20 TCPtimers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 12.21 VariantsandAlternatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311 12.22 Epilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 12.23 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 13 TCPRenoandCongestionManagement 319 13.1 BasicsofTCPCongestionManagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 13.2 SlowStart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 13.3 TCPTahoeandFastRetransmit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 13.4 TCPRenoandFastRecovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330 13.5 TCPNewReno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 13.6 SACKTCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 13.7 TCPandBottleneckLinkUtilization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336 13.8 SinglePacketLosses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 13.9 TCPAssumptionsandScalability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 13.10 TCPParameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 13.11 Epilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340 13.12 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 14 DynamicsofTCPReno 345 14.1 AFirstLookAtQueuing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 14.2 BottleneckLinkswithCompetition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 14.3 TCPFairnesswithSynchronizedLosses . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353 14.4 NotionsofFairness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 14.5 TCPRenolossrateversuscwnd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361 iv 14.6 TCPFriendliness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363 14.7 AIMDRevisited . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 14.8 ActiveQueueManagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 14.9 TheHigh-BandwidthTCPProblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 14.10 TheLossy-LinkTCPProblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 14.11 TheSatellite-LinkTCPProblem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 14.12 Epilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 14.13 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372 15 NewerTCPImplementations 379 15.1 High-BandwidthDesiderata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 15.2 RTTs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 15.3 HighspeedTCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 15.4 TCPVegas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382 15.5 FASTTCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384 15.6 TCPWestwood . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 15.7 TCPVeno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 15.8 TCPHybla . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 15.9 TCPIllinois . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 15.10 H-TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 15.11 TCPCUBIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 15.12 Epilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 15.13 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397 16 NetworkSimulations: ns-2 403 16.1 Thens-2simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 16.2 ASingleTCPSender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 16.3 TwoTCPSendersCompeting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 16.4 TCPLossEventsandSynchronizedLosses . . . . . . . . . . . . . . . . . . . . . . . . . . 432 16.5 TCPRenoversusTCPVegas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 16.6 WirelessSimulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445 16.7 Epilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 16.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 17 Thens-3NetworkSimulator 455 17.1 InstallingandRunningns-3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 17.2 ASingleTCPSender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456 17.3 Wireless . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464 17.4 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470 18 QueuingandScheduling 471 18.1 QueuingandReal-TimeTraffic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471 18.2 TrafficManagement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472 18.3 PriorityQueuing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472 18.4 QueuingDisciplines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473 18.5 FairQueuing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474 18.6 ApplicationsofFairQueuing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486 18.7 HierarchicalQueuing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 v 18.8 HierarchicalWeightedFairQueuing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 18.9 TokenBucketFilters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496 18.10 ApplicationsofTokenBucket. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501 18.11 TokenBucketQueueUtilization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502 18.12 HierarchicalTokenBucket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504 18.13 FairQueuing/TokenBucketcombinations. . . . . . . . . . . . . . . . . . . . . . . . . . 506 18.14 Epilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 18.15 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508 19 QualityofService 513 19.1 NetNeutrality. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514 19.2 WheretheWildQueuesAre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514 19.3 Real-timeTraffic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515 19.4 IntegratedServices/RSVP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 19.5 GlobalIPMulticast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518 19.6 RSVP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522 19.7 DifferentiatedServices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 19.8 REDwithInandOut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 19.9 NSIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528 19.10 ComcastCongestion-ManagementSystem . . . . . . . . . . . . . . . . . . . . . . . . . . 529 19.11 Real-timeTransportProtocol(RTP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 19.12 Multi-ProtocolLabelSwitching(MPLS) . . . . . . . . . . . . . . . . . . . . . . . . . . . 535 19.13 Epilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537 19.14 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537 20 NetworkManagementandSNMP 539 20.1 NetworkArchitecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541 20.2 SNMPBasics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541 20.3 SNMPNamingandOIDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542 20.4 MIBs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544 20.5 SNMPv1DataTypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545 20.6 ASN.1SyntaxandSNMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546 20.7 SNMPTables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547 20.8 SNMPOperations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551 20.9 MIBBrowsing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556 20.10 MIB-2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557 20.11 SNMPv1communitiesandsecurity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565 20.12 SNMPandASN.1Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567 20.13 SNMPv2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569 20.14 TableRowCreation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580 20.15 SNMPv3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588 20.16 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597 21 Security 601 21.1 Code-ExecutionIntrusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602 21.2 StackBufferOverflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603 21.3 HeapBufferOverflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612 21.4 NetworkIntrusionDetection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617 vi 21.5 SecureHashes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618 21.6 Shared-KeyEncryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620 21.7 Diffie-Hellman-MerkleExchange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629 21.8 Public-KeyEncryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631 21.9 SSHandTLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635 21.10 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645 22 Bibliography 649 23 SelectedSolutions 651 Indicesandtables 657 Bibliography 659 Index 667 vii viii

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.