編輯推薦
適讀人群 :本書是一本導論性的網絡課程教材,可作為高等院校計算機、電子通信等專業高年級本科生和研究生的網絡課程雙語教材或參考書,也可供相關領域的科研和技術開發人員參考。 **作者經典專著,導論性的網絡課程教材,在世界各國的多所高校被選為教材使用。
本書內容上注重廣度而不是深度,組閤瞭“自底嚮上”和“自頂嚮下”這兩種教學方法各自的優點。
內容簡介
本書在前幾版的基礎上進行瞭全麵的修訂與更新,係統介紹瞭計算機網絡各方麵的知識,全麵翔實地講解網絡底層細節,並增加瞭*新的網絡應用與技術。全書共分為五大部分,講解瞭網絡基礎知識與因特網應用,數據傳輸技術,分組交換及網絡技術,網際互連協議,以及其他網絡概念與技術;並提供瞭可深入閱讀的相關資料。本書內容涵蓋廣泛,例題豐富,注重實踐,並提供瞭大量的練習題和豐富的網絡資源,兼顧到教師和學生的雙重需求。
作者簡介
Douglas E. Comer博士,是TCP/IP協議和因特網的國際公認專傢。自20世紀70年代末、80年代初形成因特網以來,他就一直緻力於因特網的研究工作,他也是負責指導因特網開發的因特網結構委員會(IAB)的成員,還是CSNET技術委員會的主席和CSNET執行委員會的成員。 Comer博士是普度大學計算機科學係的教授,他主要教授計算機網絡、因特網和操作係統的課程,並進行相關的研究。除瞭撰寫一係列暢銷的技術書籍之外,他還是Software-Practice and Experience雜誌的北美地區編輯。
目錄
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層協議, 然後再考慮有綫和無綫聯網技術, 如以太網和Wi�睩i。第三部分還介紹瞭網絡的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公司
“哇