图书简介:
Contents
PART I Introduction And Internet Applications
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 Remainder Of The Text 14
1.11 Summary 14
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 From Individual Computers To Cloud Computing 23
2.8 Summary 24
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 Connect 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 A Service Name 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 II Data Communication Basics
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 Communications 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 Nonlinear Encoding 109
6.21 Encoding And Data Compression 109
6.22 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 Geostationary Earth Orbit (GEO) 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 168
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 Capacity Circuits (STS Standards) 212
12.21 Optical Carrier Standards 213
12.22 The C Suffix 213
12.23 Synchronous Optical Network (SONET) 214
12.24 Summary 215
PART III Packet Switching And Network Technologies
Chapter 13 Local Area Networks: Packets, Frames, And Topologies 219
13.1 Introduction 219
13.2 Circuit Switching And Analog Communication 220
13.3 Packet Switching 221
13.4 Local And Wide Area Packet Networks 222
13.5 Standards For Packet Format And Identification 223
13.6 IEEE 802 Model And Standards 224
13.7 Point-To-Point And Multi-Access Networks 225
13.8 LAN Topologies 227
13.9 Packet Identification, Demultiplexing, MAC Addresses 229
13.10 Unicast, Broadcast, And Multicast Addresses 230
13.11 Broadcast, Multicast, And Efficient Multi-Point Delivery 231
13.12 Frames And Framing 232
13.13 Byte And Bit Stuffing 233
13.14 Summary 234
Chapter 14 The IEEE MAC Sublayer 239
14.1 Introduction 239
14.2 A Taxonomy Of Mechanisms For Shared Access 239
14.3 Static And Dynamic Channel Allocation 240
14.4 Channelization Protocols 241
14.5 Controlled Access Protocols 242
14.6 Random Access Protocols 244
14.7 Summary 250
Chapter 15 Wired LAN Technology (Ethernet And 802.3) 253
15.1 Introduction 253
15.2 The Venerable Ethernet 253
15.3 Ethernet Frame Format 254
15.4 Ethernet Frame Type Field And Demultiplexing 254
15.5 IEEE?ˉs Version Of Ethernet (802.3) 255
15.6 LAN Connections And Network Interface Cards 256
15.7 Ethernet Evolution And Thicknet Wiring 256
15.8 Thinnet Ethernet Wiring 257
15.9 Twisted Pair Ethernet Wiring And Hubs 258
15.10 Physical And Logical Ethernet Topology 259
15.11 Wiring In An Office Building 259
15.12 Ethernet Data Rates And Cable Types 261
15.13 Twisted Pair Connectors And Cables 261
15.14 Summary 262
Chapter 16 Wireless Networking Technologies 265
16.1 Introduction 265
16.2 A Taxonomy Of Wireless Networks 265
16.3 Personal Area Networks (PANs) 266
16.4 ISM Wireless Bands Used By LANs And PANs 267
16.5 Wireless LAN Technologies And Wi-Fi 267
16.6 Spread Spectrum Techniques 268
16.7 Other Wireless LAN Standards 269
16.8 Wireless LAN Architecture 270
16.9 Overlap, Association, And 802.11 Frame Format 271
16.10 Coordination Among Access Points 272
16.11 Contention And Contention-Free Access 272
16.12 Wireless MAN Technology And WiMax 274
16.13 PAN Technologies And Standards 276
16.14 Other Short-Distance Communication Technologies 277
16.15 Wireless WAN Technologies 278
16.16 Micro Cells 280
16.17 Cell Clusters And Frequency Reuse 280
16.18 Generations Of Cellular Technologies 282
16.19 VSAT Satellite Technology 284
16.20 GPS Satellites 285
16.21 Software Defined Radio And The Future Of Wireless 286
16.22 Summary 287
Chapter 17 Repeaters, Bridges, And Switches 291
17.1 Introduction 291
17.2 Distance Limitation And LAN Design 291
17.3 Fiber Modem Extensions 292
17.4 Repeaters 293
17.5 Bridges And Bridging 293
17.6 Learning Bridges And Frame Filtering 294
17.7 Why Bridging Works Well 295
17.8 Distributed Spanning Tree 296
17.9 Switching And Layer 2 Switches 297
17.10 VLAN Switches 299
17.11 Multiple Switches And Shared VLANs 300
17.12 The Importance Of Bridging 301
17.13 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 Paths And Weights 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 332
PART IV Internetworking
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 Intranets And Internets 339
20.9 Achieving Universal Service 339
20.10 A Virtual Network 339
20.11 Protocols For Internetworking 341
20.12 Review Of TCP/IP Layering 341
20.13 Host Computers, Routers, And Protocol Layers 342
20.14 Summary 342
Chapter 21 IP: Internet Addressing 345
21.1 Introduction 345
21.2 The Move To IPv6 345
21.3 The Hourglass Model And Difficulty Of Change 346
21.4 Addresses For The Virtual Internet 346
21.5 The IP Addressing Scheme 348
21.6 The IP Address Hierarchy 348
21.7 Original Classes Of IPv4 Addresses 349
21.8 IPv4 Dotted Decimal Notation 350
21.9 Authority For Addresses 351
21.10 IPv4 Subnet And Classless Addressing 351
21.11 Address Masks 353
21.12 CIDR Notation Used With IPv4 354
21.13 A CIDR Example 354
21.14 CIDR Host Addresses 356
21.15 Special IPv4 Addresses 357
21.16 Summary Of Special IPv4 Addresses 359
21.17 IPv4 Berkeley Broadcast Address Form 359
21.18 Routers And The IPv4 Addressing Principle 360
21.19 Multihomed Hosts 361
21.20 IPv6 Multihoming And Network Renumbering 361
21.21 IPv6 Addressing 362
21.22 IPv6 Colon Hexadecimal Notation 363
21.23 Summary 364
Chapter 22 Datagram Forwarding 369
22.1 Introduction 369
22.2 Connectionless Service 369
22.3 Virtual Packets 370
22.4 The IP Datagram 370
22.5 The IPv4 Datagram Header Format 371
22.6 The IPv6 Datagram Header Format 373
22.7 IPv6 Base Header Format 373
22.8 Forwarding An IP Datagram 375
22.9 Network Prefix Extraction And Datagram Forwarding 376
22.10 Longest Prefix Match 377
22.11 Destination Address And Next-Hop Address 378
22.12 Best-Effort Delivery 378
22.13 IP Encapsulation 379
22.14 Transmission Across An Internet 380
22.15 MTU And Datagram Fragmentation 381
22.16 Fragmentation Of An IPv6 Datagram 383
22.17 Reassembly Of An IP Datagram From Fragments 384
22.18 Collecting The Fragments Of A Datagram 385
22.19 The Consequence Of Fragment Loss 386
22.20 Fragmenting An IPv4 Fragment 386
22.21 Summary 387
Chapter 23 Support Protocols And Technologies 391
23.1 Introduction 391
23.2 Address Resolution 391
23.3 An Example Of IPv4 Addresses 393
23.4 The IPv4 Address Resolution Protocol (ARP) 393
23.5 ARP Message Format 394
23.6 ARP Encapsulation 395
23.7 ARP Caching And Message Processing 396
23.8 The Conceptual Address Boundary 398
23.9 Internet Control Message Protocol (ICMP) 399
23.10 ICMP Message Format And Encapsulation 400
23.11 IPv6 Address Binding With Neighbor Discovery 401
23.12 Protocol Software, Parameters, And Configuration 401
23.13 Dynamic Host Configuration Protocol (DHCP) 402
23.14 DHCP Protocol Operation And Optimizations 403
23.15 DHCP Message Format 404
23.16 Indirect DHCP Server Access Through A Relay 405
23.17 IPv6 Autoconfiguration 405
23.18 Network Address Translation (NAT) 406
23.19 NAT Operation And IPv4 Private Addresses 407
23.20 Transport-Layer NAT (NAPT) 409
23.21 NAT And Servers 410
23.22 NAT Software And Systems For Use At Home 410
23.23 Summary 411
Chapter 24 UDP: Datagram Transport Service 415
24.1 Introduction 415
24.2 Transport Protocols And End-To-End Communication 415
24.3 The User Datagram Protocol 416
24.4 The Connectionless Paradigm 417
24.5 Message-Oriented Interface 417
24.6 UDP Communication Semantics 418
24.7 Modes Of Interaction And Multicast Delivery 419
24.8 Endpoint Identification With Protocol Port Numbers 419
24.9 UDP Datagram Format 420
24.10 The UDP Checksum And The Pseudo Header 421
24.11 UDP Encapsulation 421
24.12 Summary 422
Chapter 25 TCP: Reliable Transport Service 425
25.1 Introduction 425
25.2 The Transmission Control Protocol 425
25.3 The Service TCP Provides To Applications 426
25.4 End-To-End Service And Virtual Connections 427
25.5 Techniques That Transport Protocols Use 428
25.6 Techniques To Avoid Congestion 432
25.7 The Art Of Protocol Design 433
25.8 Techniques Used In TCP To Handle Packet Loss 434
25.9 Adaptive Retransmission 435
25.10 Comparison Of Retransmission Times 436
25.11 Buffers, Flow Control, And Windows 437
25.12 TCP?ˉs Three-Way Handshake 438
25.13 TCP Congestion Control 440
25.14 Versions Of TCP Congestion Control 441
25.15 Other Variations: SACK And ECN 441
25.16 TCP Segment Format 442
25.17 Summary 443
Chapter 26 Internet Routing And Routing Protocols 447
26.1 Introduction 447
26.2 Static Vs. Dynamic Routing 447
26.3 Static Routing In Hosts And A Default Route 448
26.4 Dynamic Routing And Routers 449
26.5 Routing In The Global Internet 450
26.6 Autonomous System Concept 451
26.7 The Two Types Of Internet Routing Protocols 451
26.8 Routes And Data Traffic 454
26.9 The Border Gateway Protocol (BGP) 454
26.10 The Routing Information Protocol (RIP) 456
26.11 RIP Packet Format 457
26.12 The Open Shortest Path First Protocol (OSPF) 458
26.13 An Example OSPF Graph 459
26.14 OSPF Areas 459
26.15 Intermediate System - Intermediate System (IS-IS) 460
26.16 Multicast Routing 461
26.17 Summary 465
PART V Other Networking Concepts & Technologies
Chapter 27 Network Performance (QoS And DiffServ) 469
27.1 Introduction 469
27.2 Measures Of Performance 469
27.3 Latency Or Delay 470
27.4 Capacity, Throughput, And Goodput 472
27.5 Understanding Throughput And Delay 473
27.6 Jitter 474
27.7 The Relationship Between Delay And Throughput 475
27.8 Measuring Delay, Throughput, And Jitter 476
27.9 Passive Measurement, Small Packets, And NetFlow 478
27.10 Quality Of Service (QoS) 479
27.11 Fine-Grain And Coarse-Grain QoS 480
27.12 Implementation Of QoS 482
27.13 Internet QoS Technologies 484
27.14 Summary 485
Chapter 28 Multimedia And IP Telephony (VoIP) 489
28.1 Introduction 489
28.2 Real-Time Data Transmission And Best-Effort Delivery 489
28.3 Delayed Playback And Jitter Buffers 490
28.4 Real-Time Transport Protocol (RTP) 491
28.5 RTP Encapsulation 492
28.6 IP Telephony 493
28.7 Signaling And VoIP Signaling Standards 494
28.8 Components Of An IP Telephone System 495
28.9 Summary Of Protocols And Layering 498
28.10 H.323 Characteristics 499
28.11 H.323 Layering 499
28.12 SIP Characteristics And Methods 500
28.13 An Example SIP Session 501
28.14 Telephone Number Mapping And Routing 502
28.15 Summary 503
Chapter 29 Network Security 507
29.1 Introduction 507
29.2 Criminal Exploits And Attacks 507
29.3 Security Policy 511
29.4 Responsibility And Control 512
29.5 Security Technologies 513
29.6 Hashing: An Integrity And Authentication Mechanism 513
29.7 Access Control And Passwords 514
29.8 Encryption: A Fundamental Security Technique 514
29.9 Private Key Encryption 515
29.10 Public Key Encryption 515
29.11 Authentication With Digital Signatures 516
29.12 Key Authorities And Digital Certificates 517
29.13 Firewalls 519
29.14 Firewall Implementation With A Packet Filter 520
29.15 Intrusion Detection Systems 522
29.16 Content Scanning And Deep Packet Inspection 522
29.17 Virtual Private Networks (VPNs) 523
29.18 The Use of VPN Technology For Telecommuting 525
29.19 Packet Encryption Vs. Tunneling 526
29.20 Security Technologies 528
29.21 Summary 529
Chapter 30 Network Management (SNMP) 533
30.1 Introduction 533
30.2 Managing An Intranet 533
30.3 FCAPS: The Industry Standard Model 534
30.4 Example Network Elements 536
30.5 Network Management Tools 536
30.6 Network Management Applications 538
30.7 Simple Network Management Protocol 539
30.8 SNMP?ˉs Fetch-Store Paradigm 539
30.9 The SNMP MIB And Object Names 540
30.10 The Variety Of MIB Variables 541
30.11 MIB Variables That Correspond To Arrays 541
30.12 Summary 542
Chapter 31 Software Defined Networking (SDN) 545
31.1 Introduction 545
31.2 Marketing Hype And Reality 545
31.3 Motivation For A New Approach 546
31.4 Conceptual Organization Of A Network Element 548
31.5 Control Plane Modules And The Hardware Interface 549
31.6 A New Paradigm: Software Defined Networking 550
31.7 Unanswered Questions 551
31.8 Shared Controllers And Network Connections 552
31.9 SDN Communication 553
31.10 OpenFlow: A Controller-To-Element Protocol 554
31.11 Classification Engines In Switches 555
31.12 TCAM And High-Speed Classification 556
31.13 Classification Across Multiple Protocol Layers 557
31.14 TCAM Size And The Need For Multiple Patterns 557
31.15 Items OpenFlow Can Specify 558
31.16 Traditional And Extended IP Forwarding 559
31.17 End-To-End Path With MPLS Using Layer 2 560
31.18 Dynamic Rule Creation And Control Of Flows 561
31.19 A Pipeline Model For Flow Tables 562
31.20 SDN?ˉs Potential Effect On Network Vendors 563
31.21 Summary 564
Chapter 32 The Internet Of Things 567
32.1 Introduction 567
32.2 Embedded Systems 567
32.3 Choosing A Network Technology 569
32.4 Energy Harvesting 570
32.5 Low Power Wireless Communication 570
32.6 Mesh Topology 571
32.7 The ZigBee Alliance 571
32.8 802.15.4 Radios And Wireless Mesh Networks 572
32.9 Internet Connectivity And Mesh Routing 573
32.10 IPv6 In A ZigBee Mesh Network 574
32.11 The ZigBee Forwarding Paradigm 575
32.12 Other Protocols In the ZigBee Stack 576
32.13 Summary 577
Chapter 33 Trends In Networking Technologies And Uses 579
33.1 Introduction 579
33.2 The Need For Scalable Internet Services 579
33.3 Content Caching (Akamai) 580
33.4 Web Load Balancers 580
33.5 Server Virtualization 581
33.6 Peer-To-Peer Communication 581
33.7 Distributed Data Centers And Replication 582
33.8 Universal Representation (XML) 582
33.9 Social Networking 583
33.10 Mobility And Wireless Networking 583
33.11 Digital Video 583
33.12 Higher-Speed Access And Switching 584
33.13 Cloud Computing 584
33.14 Overlay Networks 584
33.15 Middleware 586
33.16 Widespread Deployment Of IPv6 586
33.17 Summary 587
Appendix 1 A Simplified Application Programming Interface 589
Index 617
展开
前 言
《计算机网络与因特网》的前一个版本意外地收到了很积极的评价, 我特别要感谢花时间给我个人写信的那些读者。令人惊奇的是读者的面非常广, 除了采用本书作为教材的学生外, 还有专业人士也写信称赞本书叙述透彻明了, 并讲述了本书如何帮助他们通过了资质考试。另外也收到了许多关于对本书的外文翻译版的热情评价。本书能够在当前网络书籍供过于求的市场中获得如此成功, 是件特别令人欣慰、 满足的事情。本书的杰出所在, 在于内容涵盖广泛, 组织结构逻辑性强, 概念解释清晰透彻, 重点讲述因特网, 以及非常适合教师和学生的需要。
新版本中增加了什么
为回应读者的建议, 并鉴于目前网络领域的发展和变化, 已经全面完成了对本书新版本的重新修订和更新, 减少或删去了对较旧技术的阐述。显著的变化包括: ● 贯穿每个章节的更新
● 为更好地解释补充了一批插图
● 所有章节中整合了IPv4和IPv6
● 改进了MPLS覆盖和隧道建立
● 新章节: 软件定义网络SDN和OpenFlow
● 新章节: 物联网和ZigBee
采用的方法
网络课程应该采用“自顶向下”的方法还是“自下而上”的方法呢?在“自下而上”的方法中, 学生先学习底层单一线路上的比特传输, 然后学习相邻高层协议如何利用较低层提供扩展的功能。而在自顶向下的方法中, 从高层应用开始学习, 对较低层知识只需理解应用是如何工作的, 然后才学习底层协议的工作细节。
本书组合了这两种方法各自的优点, 以讨论网络应用以及因特网提供的通信规范开始, 在学习网络设施的底层技术实现之前, 让学生先理解因特网给应用所提供的网络设施。在讨论了应用之后介绍联网知识, 以一种逻辑连贯的方法, 使读者去理解在较低层技术基础之上如何构筑每一种新技术。
目标读者
本书回答了一个基本的问题: 计算机网络和互联网是如何工作的?通过阐述底层细节(如数据传输和布线)、 网络技术(如局域网和广域网)、 网络互联协议和应用软件等全面的联网知识, 奉献给读者以综合性的、 独特的知识大观, 还阐明了协议如何利用底层硬件, 以及应用程序如何使用协议栈为用户提供各种应用服务功能。
本书的读者对象是高年级本科生和低年级研究生, 他们或许只有少许或没有联网方面的背景知识。本书既没有使用复杂的数学知识, 也没有介绍太多的操作系统知识, 而旨在清晰地阐述概念, 采用实例和大量示意图, 说明网络技术工作原理并分析结论, 但不提供数学证明。
内容的组织
本书分为五大部分, 第一部分(第1章至第4章)集中介绍因特网的应用和网络应用的开发, 阐述协议分层、 客户服务器交互模式、 套接字API, 并列举了因特网中应用层协议的例子。
第二部分(第5章至第12章)阐述数据通信技术, 给出贯穿网络的底层硬件背景知识、 基本术语和基础概念(如带宽、 调制和复用)。这部分的最后一章介绍因特网中使用的接入和互连技术, 并阐述如何利用前面章节所述的概念来解释每一种技术。
第三部分(第13章至第19章)重点讲述分组交换和分组交换网技术。这部分先解释采用分组传输数据的动机和起因, 介绍IEEE模型的第2层协议, 然后再考虑有线和无线联网技术, 如以太网和WiFi。第三部分还介绍了网络的4个基本分类: 局域网LAN、 城域网MAN、 个人域网PAN和广域网WAN, 并讨论广域网的路由技术。这部分的最后一章介绍已在因特网中采用的网络技术示例。
第四部分(第20章至第26章)重点讨论因特网协议。在讨论了网络互联的动机和起因之后, 本部分描述因特网结构、 路由器、 因特网编址、 地址绑定和TCP/IP协议组, 对协议IPv4、 IPv6、 TCP、 UDP、 ICMP、 ICMPv6和ARP, 进行了详细的讲解, 使学生更深入地理解这些概念是如何联系实际的。由于IPv6已经(最终)开始部署, 所以IPv6的内容加入到了这些章节中。这部分章节都介绍一般概念, 并阐释它在IPv4和IPv6中是如何实现的。第25章TCP涉及了一个重要课题: 传输协议中的可靠性。
本书的最后一部分(第27章至第33章)内容涉及协议栈中多层次交叉的一些课题, 包括: 网络性能、 网络安全、 网络管理、 网络软件自举、 多媒体支持和物联网等。第31章介绍了联网中最让人激动的新发展: 软件定义网络。这些课题也都是从前面的各个部分内容中抽取出来的, 将它们安排到本书的最后部分, 在使用前再对其概念进行定义, 并不表示这些课题不重要。
课程的使用
本书理论上适合作为网络导论性的课程教材, 可供初级或高年级学生的一学期教学使用。本书按综合性课程来设计, 涵盖了从布线到应用的全部知识点。尽管很多教师选择跳过数据通信的内容, 但我支持选择一些核心概念和术语来讲, 这对后面章节的教学尤为重要。不管课程是怎样组织的, 我鼓励教师给学生布置一些实际动手的作业。 例如, 在美国普度大学的本科课程中, 学生每周都有覆盖广泛内容的实验室作业: 网络测量、 分组分析以及网络编程等。完成了课程之后, 期望每个学生能够达到以下程度: 知道IP路由器如何利用路由表转发IP数据报; 能描述数据报如何通过因特网传输; 能解释以太网集线器与以太网交换机的区别; 知道TCP如何标识连接以及为什么一个并发Web服务器能在80号端口处理多个连接; 能识别和解释以太网帧中的各字段含义; 能计算以光速在导线上传输的单个比特的长度; 能解释为什么TCP被归类为端到端协议; 知道为什么机器对机器的通信对于物联网非常重要; 理解SDN的动机。
一门课程的主要目标是广度而不是深度——要涵盖所有主题, 不能只集中在几种技术或几个概念上, 因此, 授课成功的关键取决于能否快速地讲好课。为了能使学生在一个学期内学到基本内容, 可以把第二部分较低层次的内容进行压缩; 把有关网络和网络互联的部分各安排4周学习; 余下2周留给应用和一些如网络管理与安全等介绍性内容。至于套接字编程的细节问题, 可作为编程练习留在实验室或者作业中。
教师应该给学生强调概念和原理的重要性: 有些技术可能在几年后就会过时, 但原理却是永恒的。另外, 教师也应该激发学生投身网络技术的热情, 由于网络一直在变化, 因此更希望能保持这种热情, 如软件定义网络的新时代已出现。
虽然本书中没有哪个知识点是高难度的, 但学生们仍可发现本书所含内容的数量还是有点让人望而生畏的。特别是学生们要面对过量的新术语, 网络缩略语和行业术语也特别容易混淆, 学生必须花费大量时间养成使用正确术语的习惯。在普度大学的课程教学中, 鼓励学生记住一个术语列表(我们发现一个学期课程中每周的词汇测验有助于学生对术语的学习, 而不是等到考试)。
因为程序设计和实验是帮助学生掌握网络知识的重要环节, 所以实践环节是任何网络课程的重要组成部分 独立实验室手册(联网实践)很有帮助, 它描述了在各种硬件环境中(一台计算机或LAN中的一组计算机)运行的实验和作业。。普度大学的课程比较强调分组分析和套接字编程。在学期的开始, 先让学生构建客户软件去访问Web并提取数据(如编写一个程序访问一个网站, 然后打印出当前的温度)。作为起步, 附录A非常有帮助: 这个附录阐述了一个简化的API, 可用在Web网站上, 允许学生在学习协议、 地址和(乏味的)套接字API之前就能编写可执行的代码。当然, 到了学期的后期, 学生就学会了套接字编程。最后, 他们还要编写一个并发Web服务器程序, 支持服务器端可选脚本, 大多数学生能够完成。除了应用编程外, 还可以利用实验室设施从正在运行的网络上捕获数据分组, 并编写程序对分组(如以太网帧、 IP数据报、 TCP段)的头部进行解码, 并观察TCP连接的情况。假如不具备先进的实验室设施, 可以让学生使用开源的包分析软件(如Wireshark)来做实验。
除了附录简化的API代码外, 本书的网站包含了给学生和教师的额外资料: http://www.netbook.cs.purdue.edu我要感谢所有为第六版书做出贡献的人们。许多普度大学的研究生提出了建议和批评。Baijian(Justin) Yang 和Bo Sang 分别建议添加了许多文字和插图, 让学生更加容易理解内容。Cisco公司的Fred Baker, Ralph Droms和Dave Oran提供了早期的版本。Lami Kaya提出了如何组织数据通信章节, 以及其他极有价值的建议。我还要特别感谢我的妻子和合作者Christine, 她细心的编辑和有益的建议使全书增色不少。
Douglas E. Comer
对本书的热情评价
“本书是我读过的最好的书之一。谢谢。”
Gokhan Mutlu
土耳其Ege大学
“拿到本书后我几乎是手不释卷地读完的。这本书真是太出色了!”
Lalit Y.Raju
印度Regional Engineering College
“对初学者和专业人士来说, 本书都是一本极好的书——写得好, 综合面宽, 易于理解。”
John Lin
贝尔实验室
“本书涵盖的内容真是广阔惊人。”
George Varghese
美国加州大学圣迭戈分校
“真的是我看见过的同类书中最好的。万分感谢!”
Chez Ciechanowicz
英国伦敦大学信息安全组
“附录A的小型Web服务器太绝妙了——读者都会激动不已。”
Dennis Brylow
美国马凯特大学
“哇!真是一本极好的教科书啊!”
Jaffet A.Cordoba
技术作家
“这本书太棒了!”
Peter Parry
英国南伯明翰学院
“一流的覆盖广度, 简练化的阐述是它的标志。为进一步学习打下广泛和坚实基础的理想选择, 是初学者和网络领域工作者的必读书籍, 这本书也是我们培训方案的重要组成部分。”
Vishwanathan Thyagu
印度 班加罗尔, TETCOS公司
“哇!在我准备CCNA考试的时候, 本书的明晰解释解答了我的所有问题, 使我终于搞懂了OSI模型和TCP/IP传输。它打开了使我通向迷人的网络和TCP/IP世界的记忆之门。”
Solomon Tang
香港电信公司
“一个非常宝贵的工具, 特别是对于渴求清楚而广泛地理解计算机网络的那些程序员和计算机科学工作者来说。”
Peter Chuks Obiefuna
美国东卡罗来纳大学
“本书涵盖了大量的内容, 而且作者把内容写得易读易懂, 这就是我喜欢这本书的最大理由。它非常适合于作为3学分课程的教科书。学生的正面反馈意见表明, 他们确实太喜欢使用这本教科书了。”
Jie Hu
美国圣克劳德州立大学
“尽管网络技术中充斥了太多的缩写词以至于混淆视听, 但本书却使人心明眼亮。Comer是一位出色的作者, 他扩展并解释了很多术语。本书涵盖了从布线到Web整个网络范围的大量内容。我觉得这本书的确很出色。”
Jennifer Seitzer
美国代顿大学
展开