Table of Contents

      Preface   xxiii

      PART I    Introduction And Internet Applications    39

      Chapter 1   Introduction And Overview    1

      1.1 Growth Of Computer Networking    1
      1.2 Why Networking Seems Complex    2
      1.3 The Five Key Aspects Of Networking    2
      1.3.1 Network Applications And Network Programming    3
      1.3.2 Data Communications    3
      1.3.3 Packet Switching And Networking Technologies    4
      1.3.4 Internetworking With TCP/IP    5
      1.4 Public And Private Parts Of The Internet    6
      1.4.1 Public Network    6
      1.4.2 Private Network    6
      1.5 Networks, Interoperability, And Standards    8
      1.6 Protocol Suites And Layering Models    9
      1.7 How Data Passes Through Layers    11
      1.8 Headers And Layers    12
      1.9 ISO and the OSI Seven Layer Reference Model    13
      1.10 The Inside Scoop    13
      1.11 Remainder Of The Text    14
      1.12 Summary    15
      Exercises    15

      Chapter 2   Internet Trends    17

      2.1 Introduction    17
      2.2 Resource Sharing    17
      2.3 Growth Of The Internet    18
      2.4 From Resource Sharing To Communication    21
      2.5 From Text To Multimedia    21
      2.6 Recent Trends    22
      2.7 Summary    23
      Exercises    24

      Chapter 3   Internet Applications And Network Programming    27

      3.1 Introduction    27
      3.2 Two Basic Internet Communication Paradigms    28
      3.2.1 Stream Transport In The Internet    28
      3.2.2 Message Transport In The Internet    29
      3.3 Connection-oriented Communication    29
      3.4 The Client-Server Model Of Interaction    30
      3.5 Characteristics Of Clients And Servers    31
      3.6 Server Programs And Server-Class Computers    31
      3.7 Requests, Responses, And Direction Of Data Flow    32
      3.8 Multiple Clients And Multiple Servers    32
      3.9 Server Identification And Demultiplexing    33
      3.10 Concurrent Servers    34
      3.11 Circular Dependencies Among Servers    35
      3.12 Peer-To-Peer Interactions    35
      3.13 Network Programming And The Socket API    36
      3.14 Sockets, Descriptors, And Network I\^/\^O    36
      3.15 Parameters And The Socket API    37
      3.16 Socket Calls In A Client And Server    38
      3.17 Socket Functions Used By Both Client And Server    38
      3.17.1 The Socket Function    38
      3.17.2 The Send Function    39
      3.17.3 The Recv Function    39
      3.17.4 Read And Write With Sockets    39
      3.17.5 The Close Function    40
      3.18 The Connection Function Used Only By A Client    40
      3.19 Socket Functions Used Only By A Server    40
      3.19.1 The Bind Function    40
      3.19.2 The Listen Function    42
      3.19.3 The Accept Function    42
      3.20 Socket Functions Used With The Message Paradigm    43
      3.20.1 Sendto and Sendmsg Socket Functions    43
      3.20.2 Recvfrom And Recvmsg Functions    44
      3.21 Other Socket Functions    44
      3.22 Sockets, Threads, And Inheritance    45
      3.23 Summary    45
      Exercises    46

      Chapter 4   Traditional Internet Applications    49

      4.1 Introduction    49
      4.2 Application-Layer Protocols    49
      4.3 Representation And Transfer    50
      4.4 Web Protocols    51
      4.5 Document Representation With HTML    52
      4.6 Uniform Resource Locators And Hyperlinks    54
      4.7 Web Document Transfer With HTTP    55
      4.8 Caching In Browsers    57
      4.9 Browser Architecture    59
      4.10 File Transfer Protocol (FTP)    59
      4.11 FTP Communication Paradigm    60
      4.12 Electronic Mail    63
      4.13 The Simple Mail Transfer Protocol (SMTP)    64
      4.14 ISPs, Mail Servers, And Mail Access    66
      4.15 Mail Access Protocols (POP, IMAP)    67
      4.16 Email Representation Standards (RFC2822, MIME)    67
      4.17 Domain Name System (DNS)    69
      4.18 Domain Names That Begin With www    71
      4.19 The DNS Hierarchy And Server Model    72
      4.20 Name Resolution    72
      4.21 Caching In DNS Servers    74
      4.22 Types Of DNS Entries    75
      4.23 Aliases And CNAME Resource Records    76
      4.24 Abbreviations And The DNS    76
      4.25 Internationalized Domain Names    77
      4.26 Extensible Representations (XML)    78
      4.27 Summary    79
      Exercises    80

      PART II    Data Communication Basics    83

      Chapter 5   Overview Of Data Communications    85

      5.1 Introduction    85
      5.2 The Essence Of Data Communications    86
      5.3 Motivation And Scope Of The Subject    87
      5.4 The Conceptual Pieces Of A Communication System    87
      5.5 The Subtopics Of Data Communications    90
      5.6 Summary    91
      Exercises    91

      Chapter 6   Information Sources And Signals    93

      6.1 Introduction    93
      6.2 Information Sources    93
      6.3 Analog And Digital Signals    94
      6.4 Periodic And Aperiodic Signals    94
      6.5 Sine Waves And Signal Characteristics    95
      6.6 Composite Signals    97
      6.7 The Importance Of Composite Signals And Sine Functions    97
      6.8 Time And Frequency Domain Representations    98
      6.9 Bandwidth Of An Analog Signal    99
      6.10 Digital Signals And Signal Levels    100
      6.11 Baud And Bits Per Second    101
      6.12 Converting A Digital Signal To Analog    102
      6.13 The Bandwidth Of A Digital Signal    103
      6.14 Synchronization And Agreement About Signals    103
      6.15 Line Coding    104
      6.16 Manchester Encoding Used In Computer Networks    106
      6.17 Converting An Analog Signal To Digital    107
      6.18 The Nyquist Theorem And Sampling Rate    108
      6.19 Nyquist Theorem And Telephone System Transmission    108
      6.20 Encoding And Data Compression    109
      6.21 Summary    110
      Exercises    110

      Chapter 7   Transmission Media    113

      7.1 Introduction    113
      7.2 Guided And Unguided Transmission    113
      7.3 A Taxonomy By Forms Of Energy    114
      7.4 Background Radiation And Electrical Noise    115
      7.5 Twisted Pair Copper Wiring    115
      7.6 Shielding: Coaxial Cable And Shielded Twisted Pair    117
      7.7 Categories Of Twisted Pair Cable    118
      7.8 Media Using Light Energy And Optical Fibers    119
      7.9 Types Of Fiber And Light Transmission    120
      7.10 Optical Fiber Compared To Copper Wiring    121
      7.11 InfraRed Communication Technologies    122
      7.12 Point-To-Point Laser Communication    122
      7.13 Electromagnetic (Radio) Communication    123
      7.14 Signal Propagation    124
      7.15 Types Of Satellites    125
      7.16 GEO Communication Satellites    126
      7.17 GEO Coverage Of The Earth    127
      7.18 Low Earth Orbit (LEO) Satellites And Clusters    128
      7.19 Tradeoffs Among Media Types    128
      7.20 Measuring Transmission Media    129
      7.21 The Effect Of Noise On Communication    129
      7.22 The Significance Of Channel Capacity    130
      7.23 Summary    131
      Exercises    132

      Chapter 8   Reliability And Channel Coding    135

      8.1 Introduction    135
      8.2 The Three Main Sources Of Transmission Errors    135
      8.3 Effect Of Transmission Errors On Data    136
      8.4 Two Strategies For Handling Channel Errors    137
      8.5 Block And Convolutional Error Codes    138
      8.6 An Example Block Error Code: Single Parity Checking    139
      8.7 The Mathematics Of Block Error Codes And (n,k) Notation    140
      8.8 Hamming Distance: A Measure Of A Code's Strength    140
      8.9 The Hamming Distance Among Strings In A Codebook    141
      8.10 The Tradeoff Between Error Detection And Overhead    142
      8.11 Error Correction With Row And Column (RAC) Parity    142
      8.12 The 16-Bit Checksum Used In The Internet    144
      8.13 Cyclic Redundancy Codes (CRCs)    145
      8.14 An Efficient Hardware Implementation Of CRC    148
      8.15 Automatic Repeat reQuest (ARQ) Mechanisms    148
      8.16 Summary    149
      Exercises    149

      Chapter 9   Transmission Modes    153

      9.1 Introduction    153
      9.2 A Taxonomy Of Transmission Modes    153
      9.3 Parallel Transmission    154
      9.4 Serial Transmission    155
      9.5 Transmission Order: Bits And Bytes    156
      9.6 Timing Of Serial Transmission    156
      9.7 Asynchronous Transmission    157
      9.8 RS-232 Asynchronous Character Transmission    157
      9.9 Synchronous Transmission    158
      9.10 Bytes, Blocks, And Frames    159
      9.11 Isochronous Transmission    160
      9.12 Simplex, Half-Duplex, and Full-Duplex Transmission    160
      9.13 DCE and DTE Equipment    162
      9.14 Summary    162
      Exercises    163

      Chapter 10   Modulation And Modems    165

      10.1 Introduction    165
      10.2 Carriers, Frequency, And Propagation    165
      10.3 Analog Modulation Schemes    166
      10.4 Amplitude Modulation    166
      10.5 Frequency Modulation    167
      10.6 Phase Shift Modulation    168
      10.7 Amplitude Modulation And Shannon's Theorem    168
      10.8 Modulation, Digital Input, And Shift Keying    169
      10.9 Phase Shift Keying    169
      10.10 Phase Shift And A Constellation Diagram    171
      10.11 Quadrature Amplitude Modulation    173
      10.12 Modem Hardware For Modulation And Demodulation    174
      10.13 Optical And Radio Frequency Modems    174
      10.14 Dialup Modems    175
      10.15 QAM Applied To Dialup    175
      10.16 V.32 and V.32bis Dialup Modems    176
      10.17 Summary    177
      Exercises    178

      Chapter 11   Multiplexing And Demultiplexing (Channelization)    181

      11.1 Introduction    181
      11.2 The Concept Of Multiplexing    181
      11.3 The Basic Types Of Multiplexing    182
      11.4 Frequency Division Multiplexing (FDM)    183
      11.5 Using A Range Of Frequencies Per Channel    185
      11.6 Hierarchical FDM    186
      11.7 Wavelength Division Multiplexing (WDM)    187
      11.8 Time Division Multiplexing (TDM)    187
      11.9 Synchronous TDM    188
      11.10 Framing Used In The Telephone System Version Of TDM    189
      11.11 Hierarchical TDM    190
      11.12 The Problem With Synchronous TDM: Unfilled Slots    190
      11.13 Statistical TDM    191
      11.14 Inverse Multiplexing    192
      11.15 Code Division Multiplexing    193
      11.16 Summary    195
      Exercises    195

      Chapter 12   Access And Interconnection Technologies    199

      12.1 Introduction    199
      12.2 Internet Access Technology: Upstream And Downstream    199
      12.3 Narrowband And Broadband Access Technologies    200
      12.3.1 Narrowband Technologies    201
      12.3.2 Broadband Technologies    201
      12.4 The Local Loop And ISDN    202
      12.5 Digital Subscriber Line (DSL) Technologies    202
      12.6 Local Loop Characteristics And Adaptation    203
      12.7 The Data Rate Of ADSL    204
      12.8 ADSL Installation And Splitters    205
      12.9 Cable Modem Technologies    205
      12.10 The Data Rate Of Cable Modems    206
      12.11 Cable Modem Installation    206
      12.12 Hybrid Fiber Coax    207
      12.13 Access Technologies That Employ Optical Fiber    208
      12.14 Head-End And Tail-End Modem Terminology    208
      12.15 Wireless Access Technologies    209
      12.16 High-Capacity Connections At The Internet Core    209
      12.17 Circuit Termination, DSU\|/\|CSU, and NIU    210
      12.18 Telephone Standards For Digital Circuits    211
      12.19 DS Terminology And Data Rates    212
      12.20 Highest Capacity Circuits (STS Standards)    213
      12.21 Optical Carrier Standards    213
      12.22 The C Suffix    213
      12.23 Synchronous Optical NETwork (SONET)    214
      12.24 Summary    215
      Exercises    216

      PART III    Packet Switching And Network Technologies    219

      Chapter 13   Local Area Networks: Packets, Frames, And Topologies    221

      13.1 Introduction    221
      13.2 Circuit Switching    222
      13.3 Packet Switching    223
      13.4 Local And Wide Area Packet Networks    224
      13.5 Standards For Packet Format And Identification    225
      13.6 IEEE 802 Model And Standards    226
      13.7 Point-To-Point And Multi-Access Networks    229
      13.8 LAN Topologies    229
      13.8.1 Bus Topology    230
      13.8.2 Ring Topology    230
      13.8.3 Mesh Topology    230
      13.8.4 Star Topology    230
      13.8.5 The Reason For Multiple Topologies    231
      13.9 Packet Identification, Demultiplexing, MAC Addresses    231
      13.10 Unicast, Broadcast, And Multicast Addresses    232
      13.11 Broadcast, Multicast, And Efficient Multi-Point Delivery    233
      13.12 Frames And Framing    234
      13.13 Byte And Bit Stuffing    235
      13.14 Summary    237
      Exercises    237

      Chapter 14   The IEEE MAC Sub-Layer    241

      14.1 Introduction    241
      14.2 A Taxonomy Of Mechanisms For Multi-Access    241
      14.3 Static And Dynamic Channel Allocation    242
      14.4 Channelization Protocols    243
      14.4.1 FDMA    243
      14.4.2 TDMA    244
      14.4.3 CDMA    244
      14.5 Controlled Access Protocols    244
      14.5.1 Polling    244
      14.5.2 Reservation    245
      14.5.3 Token Passing    246
      14.6 Random Access Protocols    246
      14.6.1 ALOHA    247
      14.6.2 CSMA\|/\|CD    248
      14.6.3 CSMA\|/\|CA    250
      14.7 Summary    252
      Exercises    253

      Chapter 15   Wired LAN Technology (Ethernet And 802.3)    255

      15.1 Introduction    255
      15.2 The Venerable Ethernet    255
      15.3 Ethernet Frame Format    256
      15.4 Ethernet Type Field And Demultiplexing    256
      15.5 IEEE's Version Of Ethernet (802.3)    257
      15.6 LAN Connections And Network Interface Cards    258
      15.7 Ethernet Evolution And Thicknet Wiring    258
      15.8 Thinnet Ethernet Wiring    259
      15.9 Twisted Pair Ethernet Wiring And Hubs    260
      15.10 Physical And Logical Ethernet Topology    261
      15.11 Wiring In An Office Building    261
      15.12 Variants Of Twisted Pair Ethernet And Speeds    263
      15.13 Twisted Pair Connectors And Cables    263
      15.14 Summary    264
      Exercises    265

      Chapter 16   Wireless Networking Technologies    267

      16.1 Introduction    267
      16.2 A Taxonomy Of Wireless Networks    267
      16.3 Personal Area Networks (PANs)    268
      16.4 ISM Wireless Bands Used By LANs And PANs    269
      16.5 Wireless LAN Technologies And Wi-Fi    269
      16.6 Spread Spectrum Techniques    270
      16.7 Other Wireless LAN Standards    271
      16.8 Wireless LAN Architecture    272
      16.9 Overlap, Association, And 802.11 Frame Format    273
      16.10 Coordination Among Access Points    274
      16.11 Contention And Contention-Free Access    274
      16.12 Wireless MAN Technology and WiMax    276
      16.13 PAN Technologies And Standards    278
      16.14 Other Short-Distance Communication Technologies    279
      16.15 Wireless WAN Technologies    280
      16.15.1 Cellular Communication Systems    280
      16.16 Cell Clusters And Frequency Reuse    282
      16.17 Generations Of Cellular Technologies    283
      16.18 VSAT Satellite Technology    286
      16.19 GPS Satellites    287
      16.20 Software Radio And The Future Of Wireless    288
      16.21 Summary    289
      Exercises    290

      Chapter 17   LAN Extensions: Fiber Modems, Repeaters, Bridges, and Switches    293

      17.1 Introduction    293
      17.2 Distance Limitation And LAN Design    293
      17.3 Fiber Modem Extensions    294
      17.4 Repeaters    295
      17.5 Bridges And Bridging    295
      17.6 Learning Bridges And Frame Filtering    296
      17.7 Why Bridging Works Well    297
      17.8 Distributed Spanning Tree    298
      17.9 Switching And Layer 2 Switches    299
      17.10 VLAN Switches    301
      17.11 Bridging Used With Other Devices    302
      17.12 Summary    302
      Exercises    302

      Chapter 18   WAN Technologies And Dynamic Routing    305

      18.1 Introduction    305
      18.2 Large Spans And Wide Area Networks    305
      18.3 Traditional WAN Architecture    306
      18.4 Forming A WAN    308
      18.5 Store And Forward Paradigm    309
      18.6 Addressing In A WAN    309
      18.7 Next-Hop Forwarding    310
      18.8 Source Independence    313
      18.9 Dynamic Routing Updates In A WAN    313
      18.10 Default Routes    314
      18.11 Forwarding Table Computation    315
      18.12 Distributed Route Computation    316
      18.12.1 Link-State Routing (LSR)    316
      18.12.2 Distance Vector Routing (DVR)    318
      18.13 Shortest Path Computation In A Graph    320
      18.14 Routing Problems    321
      18.15 Summary    322
      Exercises    323

      Chapter 19   Networking Technologies Past And Present    325

      19.1 Introduction    325
      19.2 Connection And Access Technologies    325
      19.2.1 Synchronous Optical Network or Digital Hierarchy (SONET/SDH)    326
      19.2.2 Optical Carrier (OC)    326
      19.2.3 Digital Subscriber Line (DSL) And Cable Modems    326
      19.2.4 WiMAX And Wi-Fi    326
      19.2.5 Very Small Aperture Satellite (VSAT)    327
      19.2.6 Power Line Communication (PLC)    327
      19.3 LAN Technologies    327
      19.3.1 IBM Token Ring    327
      19.3.2 Fiber And Copper Distributed Data Interconnect (FDDI And CDDI)    327
      19.3.3 Ethernet    328
      19.4 WAN Technologies    328
      19.4.1 ARPANET    328
      19.4.2 X.25    329
      19.4.3 Frame Relay    329
      19.4.4 Switched Multi-megabit Data Service (SMDS)    330
      19.4.5 Asynchronous Transfer Mode (ATM)    330
      19.4.6 Multi-Protocol Label Switching (MPLS)    331
      19.4.7 Integrated Services Digital Network (ISDN)    331
      19.5 Summary    331
      Exercises    331

      PART IV    Internetworking    333

      Chapter 20   Internetworking: Concepts, Architecture, and Protocols    335

      20.1 Introduction    335
      20.2 The Motivation For Internetworking    335
      20.3 The Concept Of Universal Service    336
      20.4 Universal Service In A Heterogeneous World    336
      20.5 Internetworking    337
      20.6 Physical Network Connection With Routers    337
      20.7 Internet Architecture    338
      20.8 Achieving Universal Service    339
      20.9 A Virtual Network    339
      20.10 Protocols For Internetworking    341
      20.11 Review Of TCP/IP Layering    341
      20.12 Host Computers, Routers, And Protocol Layers    342
      20.13 Summary    342
      Exercises    343

      Chapter 21   IP: Internet Addressing    345

      21.1 Introduction    345
      21.2 Addresses For The Virtual Internet    345
      21.3 The IP Addressing Scheme    346
      21.4 The IP Address Hierarchy    346
      21.5 Original Classes Of IP Addresses    347
      21.6 Dotted Decimal Notation    348
      21.7 Division Of The Address Space    349
      21.8 Authority For Addresses    350
      21.9 Subnet And Classless Addressing    350
      21.10 Address Masks    352
      21.11 CIDR Notation    353
      21.12 A CIDR Example    353
      21.13 CIDR Host Addresses    355
      21.14 Special IP Addresses    356
      21.14.1 Network Address    356
      21.14.2 Directed Broadcast Address    356
      21.14.3 Limited Broadcast Address    357
      21.14.4 This Computer Address    357
      21.14.5 Loopback Address    357
      21.15 Summary Of Special IP Addresses    358
      21.16 The Berkeley Broadcast Address Form    358
      21.17 Routers And The IP Addressing Principle    359
      21.18 Multi-Homed Hosts    360
      21.19 Summary    360
      Exercises    361

      Chapter 22   Datagram Forwarding    363

      22.1 Introduction    363
      22.2 Connectionless Service    363
      22.3 Virtual Packets    364
      22.4 The IP Datagram    364
      22.5 The IP Datagram Header Format    365
      22.6 Forwarding An IP Datagram    367
      22.7 Network Prefix Extraction And Datagram Forwarding    368
      22.8 Longest Prefix Match    369
      22.9 Destination Address And Next-Hop Address    369
      22.10 Best-Effort Delivery    370
      22.11 IP Encapsulation    370
      22.12 Transmission Across An Internet    371
      22.13 MTU And Datagram Fragmentation    373
      22.14 Reassembly Of A Datagram From Fragments    374
      22.15 Collecting The Fragments Of A Datagram    375
      22.16 The Consequence Of Fragment Loss    376
      22.17 Fragmenting A Fragment    376
      22.18 Summary    377
      Exercises    377

      Chapter 23   Support Protocols And Technologies    381

      23.1 Introduction    381
      23.2 Address Resolution    381
      23.3 The Address Resolution Protocol (ARP)    383
      23.4 ARP Message Format    384
      23.5 ARP Encapsulation    385
      23.6 ARP Caching And Message Processing    386
      23.7 The Conceptual Address Boundary    388
      23.8 Internet Control Message Protocol (ICMP)    389
      23.9 ICMP Message Format And Encapsulation    391
      23.10 Protocol Software, Parameters, And Configuration    391
      23.11 Dynamic Host Configuration Protocol (DHCP)    392
      23.12 DHCP Protocol Operation And Optimizations    394
      23.13 DHCP Message Format    394
      23.14 Indirect DHCP Server Access Through A Relay    395
      23.15 Network Address Translation (NAT)    396
      23.16 NAT Operation And Private Addresses    397
      23.17 Transport-Layer NAT (NAPT)    399
      23.18 NAT And Servers    400
      23.19 NAT Software And Systems For Use At Home    400
      23.20 Summary    401
      For Further Study    401
      Exercises    402

      Chapter 24   The Future IP (IPv6)    405

      24.1 Introduction    405
      24.2 The Success Of IP    405
      24.3 The Motivation For Change    406
      24.4 The Hourglass Model And Difficulty Of Change    407
      24.5 A Name And A Version Number    408
      24.6 IPv6 Features    408
      24.7 IPv6 Datagram Format    409
      24.8 IPv6 Base Header Format    410
      24.9 Implicit And Explicit Header Size    411
      24.10 Fragmentation, Reassembly, And Path MTU    412
      24.11 The Purpose Of Multiple Headers    413
      24.12 IPv6 Addressing    414
      24.13 IPv6 Colon Hexadecimal Notation    415
      24.14 Summary    416
      Exercises    417

      Chapter 25   UDP: Datagram Transport Service    419

      25.1 Introduction    419
      25.2 Transport Protocols And End-To-End Communication    419
      25.3 The User Datagram Protocol    420
      25.4 The Connectionless Paradigm    421
      25.5 Message-Oriented Interface    421
      25.6 UDP Communication Semantics    422
      25.7 Modes Of Interaction And Broadcast Delivery    423
      25.8 Endpoint Identification With Protocol Port Numbers    424
      25.9 UDP Datagram Format    424
      25.10 The UDP Checksum And The Pseudo Header    425
      25.11 UDP Encapsulation    426
      25.12 Summary    426
      Exercises    427

      Chapter 26   TCP: Reliable Transport Service    429

      26.1 Introduction    429
      26.2 The Transmission Control Protocol    429
      26.3 The Service TCP Provides To Applications    430
      26.4 End-To-End Service And Virtual Connections    431
      26.5 Techniques That Transport Protocols Use    432
      26.5.1 Sequencing To Handle Duplicates And Out-Of-Order Delivery    432
      26.5.2 Retransmission To Handle Lost Packets    433
      26.5.3 Techniques To Avoid Replay    433
      26.5.4 Flow Control To Prevent Data Overrun    434
      26.6 Techniques To Avoid Congestion    436
      26.7 The Art Of Protocol Design    437
      26.8 Techniques Used In TCP To Handle Packet Loss    438
      26.9 Adaptive Retransmission    439
      26.10 Comparison Of Retransmission Times    440
      26.11 Buffers, Flow Control, And Windows    441
      26.12 TCP's Three-Way Handshake    442
      26.13 TCP Congestion Control    443
      26.14 TCP Segment Format    444
      26.15 Summary    446
      Exercises    446

      Chapter 27   Internet Routing And Routing Protocols    449

      27.1 Introduction    449
      27.2 Static Vs. Dynamic Routing    449
      27.3 Static Routing In Hosts And A Default Route    450
      27.4 Dynamic Routing And Routers    451
      27.5 Routing In The Global Internet    452
      27.6 Autonomous System Concept    453
      27.7 The Two Types Of Internet Routing Protocols    453
      27.7.1 Interior Gateway Protocols (IGPs)    453
      27.7.2 Exterior Gateway Protocols (EGPs)    454
      27.7.3 Illustration Of How IGPs And EGPs Are Used    454
      27.7.4 Optimal Routes, Routing Metrics, and IGPs    455
      27.8 Routes And Data Traffic    456
      27.9 The Border Gateway Protocol (BGP)    456
      27.10 The Routing Information Protocol (RIP)    458
      27.11 RIP Packet Format    459
      27.12 The Open Shortest Path First Protocol (OSPF)    460
      27.13 An Example OSPF Graph    461
      27.14 OSPF Areas    461
      27.15 Intermediate System - Intermediate System (IS-IS)    462
      27.16 Multicast Routing    463
      27.16.1 IP Multicast Semantics    463
      27.16.2 IGMP    464
      27.16.3 Forwarding And Discovery Techniques    464
      27.16.4 Multicast Protocols    465
      27.17 Summary    467
      Exercises    467

      PART V    Other Networking Concepts & Technologies    469

      Chapter 28   Network Performance (QoS and DiffServ)    471

      28.1 Introduction    471
      28.2 Measures Of Performance    471
      28.3 Latency Or Delay    472
      28.4 Throughput, Capacity, And Goodput    474
      28.5 Understanding Throughput And Delay    475
      28.6 Jitter    476
      28.7 The Relationship Between Delay And Throughput    477
      28.7.1 Utilization As An Estimate Of Delay    477
      28.7.2 Delay-Throughput Product    478
      28.8 Measuring Delay, Throughput, And Jitter    478
      28.9 Passive Measurement, Small Packets, And NetFlow    480
      28.10 Quality Of Service (QoS)    481
      28.11 Fine-Grain And Coarse-Grain QoS    482
      28.11.1 Fine-Grain QoS And Flows    482
      28.11.2 Coarse-Grain QoS And Classes Of Service    484
      28.12 Implementation Of QoS    484
      28.13 Internet QoS Technologies    486
      28.14 Summary    487
      Exercises    488

      Chapter 29   Multimedia And IP Telephony (VoIP)    491

      29.1 Introduction    491
      29.2 Real-Time Data Transmission And Best Effort Delivery    491
      29.3 Delayed Playback And Jitter Buffers    492
      29.4 Real-time Transport Protocol (RTP)    493
      29.5 RTP Encapsulation    494
      29.6 IP Telephony    495
      29.7 Signaling And VoIP Signaling Standards    496
      29.8 Components Of An IP Telephone System    497
      29.8.1 SIP Terminology And Concepts    498
      29.8.2 H.323 Terminology And Concepts    499
      29.8.3 ISC Terminology And Concepts    499
      29.9 Summary Of Protocols And Layering    500
      29.10 H.323 Characteristics    501
      29.11 H.323 Layering    501
      29.12 SIP Characteristics And Methods    502
      29.13 An Example SIP Session    503
      29.14 Telephone Number Mapping And Routing    504
      29.15 Summary    505
      For Further Study    505
      Exercises    506

      Chapter 30   Network Security    509

      30.1 Introduction    509
      30.2 Criminal Exploits And Attacks    509
      30.3 Security Policy    513
      30.4 Responsibility And Control    514
      30.5 Security Technologies    515
      30.6 Hashing: An Integrity And Authentication Mechanism    515
      30.7 Access Control And Passwords    516
      30.8 Encryption: A Fundamental Security Technique    516
      30.9 Private Key Encryption    517
      30.10 Public Key Encryption    517
      30.11 Authentication With Digital Signatures    518
      30.12 Key Authorities And Digital Certificates    519
      30.13 Firewalls    521
      30.14 Firewall Implementation With A Packet Filter    522
      30.15 Intrusion Detection Systems    524
      30.16 Content Scanning And Deep Packet Inspection    524
      30.17 Virtual Private Networks (VPNs)    525
      30.18 The Use of VPN Technology For Telecommuting    527
      30.19 Packet Encryption Vs. Tunneling    528
      30.20 Security Technologies    530
      30.21 Summary    531
      Exercises    532

      Chapter 31   Network Management (SNMP)    535

      31.1 Introduction    535
      31.2 Managing An Intranet    535
      31.3 FCAPS: The Industry Standard Model    536
      31.4 Example Network Elements    538
      31.5 Network Management Tools    539
      31.6 Network Management Applications    540
      31.7 Simple Network Management Protocol    541
      31.8 SNMP's Fetch-Store Paradigm    542
      31.9 The SNMP MIB And Object Names    542
      31.10 The Variety Of MIB Variables    543
      31.11 MIB Variables That Correspond To Arrays    543
      31.12 Summary    544
      Exercises    545

      Chapter 32   Trends In Networking Technologies And Uses    547

      32.1 Introduction    547
      32.2 The Need For Scalable Internet Services    547
      32.3 Content Caching (Akamai)    548
      32.4 Web Load Balancers    548
      32.5 Server Virtualization    549
      32.6 Peer-To-Peer Communication    549
      32.7 Distributed Data Centers And Replication    550
      32.8 Universal Representation (XML)    550
      32.9 Social Networking    551
      32.10 Mobility And Wireless Networking    551
      32.11 Digital Video    551
      32.12 Multicast Delivery    552
      32.13 Higher-Speed Access And Switching    552
      32.14 Optical Switching    552
      32.15 Use Of Networking In Business    553
      32.16 Sensors At Large And In The Home    553
      32.17 Ad Hoc Networks    553
      32.18 Multi-Core CPUs And Network Processors    554
      32.19 IPv6    554
      32.20 Summary    554
      Exercises    555

      Appendix 1   A Simplified Application Programming Interface    55

      Index   585