PART Ⅰ Introduction And Internet Applications 1
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.4 Public And Private Parts of The Internet 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
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
Chapter 3 Internet Applications And Network Programming 27
3.1 Introduction 27
3.2 Two Basic Internet Communication Paradigms 28
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.18 The Connection Function Used Only By A Client 40
3.19 Socket Functions Used Only By A Server 40
3.20 Socket Functions Used With The Message Paradigm 43
3.21 Other Socket Functions 44
3.22 Sockets,Threads,And Inheritance 45
3.23 Summary 45
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
PART Ⅱ 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
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
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
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
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
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
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
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.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 Capacitv 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
PART Ⅲ 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.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
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.5 Controlled Access Protocols 244
14.6 Random Access Protocols 246
14.7 Summary 252
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
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.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
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.1O VLAN Switches 301
17.11 Bridging Used With Other Devices 302
17.12 Summary 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.13 Shortest Path Computation In A Graph 320
18.14 Routing Problems 321
18.15 Summary 322
Chapter 19 Networking Technologies Past And Present 325
19.1 Introduction 325
19.2 Connection And Access Technologies 325
19.3 LAN Technologies 327
19.4 WAN Technologies 328
19.5 Summary 331
PART Ⅳ 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
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.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
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
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 Conceptuat 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
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
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
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.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 Forrnat 444
26.15 Summary 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.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.17 Summary 467
PART Ⅴ 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.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.12 Implementation Of QoS 484
28.13 Internet QoS Technologies 486
28.14 Summary 487
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.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
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 Autorities 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
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
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
Appendix 1 A Simplified Application Programming Interface 557
Index 585