PART Ⅰ: Overview 1
Chapter 1 Introduction 3
1.1 DATA COMMUNICATIONS 4
1.1.1 Components 4
1.1.2 Data Representation 5
1.1.3 Data Flow 6
1.2 NETWORKS 7
1.2.1 Network Criteria 7
1.2.2 Physical Structures 8
1.3 NETWORK TYPES 13
1.3.1 Local Area Network 13
1.3.2 Wide Area Network 14
1.3.3 Switching 15
1.3.4 The Internet 17
1.3.5 Accessing the Internet 18
1.4 INTERNET HISTORY 19
1.4.1 Early History 19
1.4.2 Birth of the Internet 20
1.4.3 Internet Today 22
1.5 STANDARDS AND ADMINISTRATION 22
1.5.1 Internet Standards 22
1.5.2 Internet Administration 24
1.6 END-CHAPTER MATERIALS 25
1.6.1 Recommended Reading 25
1.6.2 Key Terms 25
1.6.3 Summary 26
1.7 PRACTICE SET 27
1.7.1 Quizzes 27
1.7.2 Questions 27
1.7.3 Problems 28
1.8 SIMULATION EXPERIMENTS 28
1.8.1 Applets 28
1.8.2 Lab Assignments 28
Chapter 2 Network Models 31
2.1 PROTOCOL LAYERING 32
2.1.1 Scenarios 32
2.1.2 Principles of Protocol Layering 34
2.1.3 Logical Connections 35
2.2 TCP/IP PROTOCOL SUITE 35
2.2.1 Layered Architecture 35
2.2.2 Layers in the TCP/IP Protocol Suite 37
2.2.3 Description of Each Layer 38
2.2.4 Encapsulation and Decapsulation 41
2.2.5 Addressing 42
2.2.6 Multiplexing and Demultiplexing 43
2.3 THE OSI MODEL 44
2.3.1 OSI versus TCP/IP 45
2.3.2 Lack of OSI Model's Success 45
2.4 END-CHAPTER MATERIALS 46
2.4.1 Recommended Reading 46
2.4.2 Key Terms 46
2.4.3 Summary 46
2.5 PRACTICE SET 47
2.5.1 Quizzes 47
2.5.2 Questions 47
2.5.3 Problems 48
PART Ⅱ: Physical Layer 51
Chapter 3 Introduction to Physical Layer 53
3.1 DATA AND SIGNALS 54
3.1.1 Analog and Digital Data 55
3.1.2 Analog and Digital Signals 55
3.1.3 Periodic and Nonperiodic 56
3.2 PERIODIC ANALOG SIGNALS 56
3.2.1 Sine Wave 56
3.2.2 Phase 59
3.2.3 Wavelength 61
3.2.4 Time and Frequency Domains 61
3.2.5 Composite Signals 63
3.2.6 Bandwidth 65
3.3 DIGITAL SIGNALS 68
3.3.1 Bit Rate 69
3.3.2 Bit Length 69
3.3.3 Digital Signal as a Composite Analog Signal 70
3.3.4 Transmission of Digital Signals 70
3.4 TRANSMISSION IMPAIRMENT 76
3.4.1 Attenuation 77
3.4.2 Distortion 79
3.4.3 Noise 79
3.5 DATA RATE LIMITS 81
3.5.1 Noiseless Channel: Nyquist Bit Rate 81
3.5.2 Noisy Channel: Shannon Capacity 82
3.5.3 Using Both Limits 83
3.6 PERFORMANCE 84
3.6.1 Bandwidth 84
3.6.2 Throughput 85
3.6.3 Latency(Delay) 85
3.6.4 Bandwidth-Delay Product 87
3.6.5 Jitter 88
3.7 END-CHAPTER MATERIALS 89
3.7.1 Recommended Reading 89
3.7.2 Key Terms 89
3.7.3 Summary 89
3.8 PRACTICE SET 90
3.8.1 Quizzes 90
3.8.2 Questions 90
3.8.3 Problems 91
3.9 SIMULATION EXPERIMENTS 94
3.9.1 Applets 94
Chapter 4 Digital Transmission 95
4.1 DIGITAL-TO-DIGITAL CONVERSION 96
4.1.1 Line Coding 96
4.1.2 Line Coding Schemes 100
4.1.3 Block Coding 109
4.1.4 Scrambling 113
4.2 ANALOG-TO-DIGITAL CONVERSION 115
4.2.1 Pulse Code Modulation(PCM) 115
4.2.2 Delta Modulation(DM) 123
4.3 TRANSMISSION MODES 125
4.3.1 Parallel Transmission 125
4.3.2 Serial Transmission 126
4.4 END-CHAPTER MATERIALS 129
4.4.1 Recommended Reading 129
4.4.2 Key Terms 130
4.4.3 Summary 130
4.5 PRACTICE SET 131
4.5.1 Quizzes 131
4.5.2 Questions 131
4.5.3 Problems 131
4.6 SIMULATION EXPERIMENTS 134
4.6.1 Applets 134
Chapter 5 Analog Transmission 135
5.1 DIGITAL-TO-ANALOG CONVERSION 136
5.1.1 Aspects of Digital-to-Analog Conversion 137
5.1.2 Amplitude Shift Keying 138
5.1.3 Frequency Shift Keying 140
5.1.4 Phase Shift Keying 142
5.1.5 Quadrature Amplitude Modulation 146
5.2 ANALOG-TO-ANALOG CONVERSION 147
5.2.1 Amplitude Modulation(AM) 147
5.2.2 Frequency Modulation(FM) 148
5.2.3 Phase Modulation(PM) 149
5.3 END-CHAPTER MATERIALS 151
5.3.1 Recommended Reading 151
5.3.2 Key Terms 151
5.3.3 Summary 151
5.4 PRACTICE SET 152
5.4.1 Quizzes 152
5.4.2 Questions 152
5.4.3 Problems 153
5.5 SIMULATION EXPERIMENTS 154
5.5.1 Applets 154
Chapter 6 Bandwidth Utilization: Multiplexing and Spectrum Spreading 155
6.1 MULTIPLEXING 156
6.1.1 Frequency-Division Multiplexing 157
6.1.2 Wavelength-Division Multiplexing 162
6.1.3 Time-Division Multiplexing 163
6.2 SPREAD SPECTRUM 175
6.2.1 Frequency Hopping Spread Spectrum 176
6.2.2 Direct Sequence Spread Spectrum 178
6.3 END-CHAPTER MATERIALS 180
6.3.1 Recommended Reading 180
6.3.2 Key Terms 180
6.3.3 Summary 180
6.4 PRACTICE SET 181
6.4.1 Quizzes 181
6.4.2 Questions 181
6.4.3 Problems 182
6.5 SIMULATION EXPERIMENTS 184
6.5.1 Applets 184
Chapter 7 Transmission Media 185
7.1 INTRODUCTION 186
7.2 GUIDED MEDIA 187
7.2.1 Twisted-Pair Cable 187
7.2.2 Coaxial Cable 190
7.2.3 Fiber-Optic Cable 192
7.3 UNGUIDED MEDIA: WIRELESS 197
7.3.1 Radio Waves 199
7.3.2 Microwaves 200
7.3.3 Infrared 201
7.4 END-CHAPTER MATERIALS 202
7.4.1 Recommended Reading 202
7.4.2 Key Terms 202
7.4.3 Summary 203
7.5 PRACTICE SET 203
7.5.1 Quizzes 203
7.5.2 Questions 203
7.5.3 Problems 204
Chapter 8 Switching 207
8.1 INTRODUCTION 208
8.1.1 Three Methods of Switching 208
8.1.2 Switching and TCP/IP Layers 209
8.2 CIRCUIT-SWITCHED NETWORKS 209
8.2.1 Three Phases 211
8.2.2 Efficiency 212
8.2.3 Delay 213
8.3 PACKET SWITCHING 213
8.3.1 Datagram Networks 214
8.3.2 Virtual-Circuit Networks 216
8.4 STRUCTURE OF A SWITCH 222
8.4.1 Structure of Circuit Switches 222
8.4.2 Structure of Packet Switches 226
8.5 END-CHAPTER MATERIALS 230
8.5.1 Recommended Reading 230
8.5.2 Key terms 230
8.5.3 Summary 230
8.6 PRACTICE SET 231
8.6.1 Quizzes 231
8.6.2 Questions 231
8.6.3 Problems 231
8.7 SIMULATION EXPERIMENTS 234
8.7.1 Applets 234
PART Ⅲ: Data-Link Layer 235
Chapter 9 Introduction to Data-Link Layer 237
9.1 INTRODUCTION 238
9.1.1 Nodes and Links 239
9.1.2 Services 239
9.1.3 Two Categories of Links 241
9.1.4 Two Sublayers 242
9.2 LINK-LAYER ADDRESSING 242
9.2.1 Three Types of addresses 244
9.2.2 Address Resolution Protocol(ARP) 245
9.2.3 An Example of Communication 248
9.3 END-CHAPTER MATERIALS 252
9.3.1 Recommended Reading 252
9.3.2 Key Terms 252
9.3.3 Summary 252
9.4 PRACTICE SET 253
9.4.1 Quizzes 253
9.4.2 Questions 253
9.4.3 Problems 254
Chapter 10 Error Detection and Correction 257
10.1 INTRODUCTION 258
10.1.1 Types of Errors 258
10.1.2 Redundancy 258
10.1.3 Detection versus Correction 258
10.1.4 Coding 259
10.2 BLOCK CODING 259
10.2.1 Error Detection 259
10.3 CYCLIC CODES 264
10.3.1 Cyclic Redundancy Check 264
10.3.2 Polynomials 267
10.3.3 Cyclic Code Encoder Using Polynomials 269
10.3.4 Cyclic Code Analysis 270
10.3.5 Advantages of Cyclic Codes 274
10.3.6 Other Cyclic Codes 274
10.3.7 Hardware Implementation 274
10.4 CHECKSUM 277
10.4.1 Concept 278
10.4.2 Other Approaches to the Checksum 281
10.5 FORWARD ERROR CORRECTION 282
10.5.1 Using Hamming Distance 283
10.5.2 UsingXOR 283
10.5.3 Chunk Interleaving 283
10.5.4 Combining Hamming Distance and Interleaving 284
10.5.5 Compounding High- and Low-Resolution Packets 284
10.6 END-CHAPTER MATERIALS 285
10.6.1 Recommended Reading 285
10.6.2 Key Terms 286
10.6.3 Summary 286
10.7 PRACTICE SET 287
10.7.1 Quizzes 287
10.7.2 Questions 287
10.7.3 Problems 288
10.8 SIMULATION EXPERIMENTS 292
10.8.1 Applets 292
10.9 PROGRAMMING ASSIGNMENTS 292
Chapter 11 Data Link Control(DLC) 293
11.1 DLC SERVICES 294
11.1.1 Framing 294
11.1.2 Flow and Error Control 297
11.1.3 Connectionless and Connection-Oriented 298
11.2 DATA-LINK LAYER PROTOCOLS 299
11.2.1 Simple Protocol 300
11.2.2 Stop-and-Wait Protocol 301
11.2.3 Piggybacking 304
11.3 HDLC 304
11.3.1 Configurations and Transfer Modes 305
11.3.2 Framing 305
11.4 POINT-TO-POINT PROTOCOL(PPP) 309
11.4.1 Services 309
11.4.2 Framing 310
11.4.3 Transition Phases 311
11.4.4 Multiplexing 312
11.5 END-CHAPTER MATERIALS 319
11.5.1 Recommended Reading 319
11.5.2 Key Terms 319
11.5.3 Summary 319
11.6 PRACTICE SET 320
11.6.1 Quizzes 320
11.6.2 Questions 320
11.6.3 Problems 321
11.7 SIMULATION EXPERIMENTS 323
11.7.1 Applets 323
11.8 PROGRAMMING ASSIGNMENTS 323
Chapter 12 Media Access Control(MAC) 325
12.1 RANDOM ACCESS 326
12.1.1 ALOHA 326
12.1.2 CSMA 331
12.1.3 CSMA/CD 334
12.1.4 CSMA/CA 338
12.2 CONTROLLED ACCESS 341
12.2.1 Reservation 341
12.2.2 Polling 342
12.2.3 Token Passing 343
12.3 CHANNELIZATION 344
12.3.1 FDMA 344
12.3.2 TDMA 346
12.3.3 CDMA 347
12.4 END-CHAPTER MATERIALS 352
12.4.1 Recommended Reading 352
12.4.2 Key Terms 353
12.4.3 Summary 353
12.5 PRACTICE SET 354
12.5.1 Quizzes 354
12.5.2 Questions 354
12.5.3 Problems 356
12.6 SIMULATION EXPERIMENTS 360
12.6.1 Applets 360
12.7 PROGRAMMING ASSIGNMENTS 360
Chapter 13 Wired LANs: Ethernet 361
13.1 ETHERNET PROTOCOL 362
13.1.1 IEEEProject 802 362
13.1.2 Ethernet Evolution 363
13.2 STANDARD ETHERNET 364
13.2.1 Characteristics 364
13.2.2 Addressing 366
13.2.3 Access Method 368
13.2.4 Efficiency of Standard Ethernet 370
13.2.5 Implementation 370
13.2.6 Changes in the Standard 373
13.3 FAST ETHERNET(100 MBPS) 376
13.3.1 Access Method 377
13.3.2 Physical Layer 377
13.4 GIGABIT ETHERNET 379
13.4.1 MAC Sublayer 380
13.4.2 Physical Layer 381
13.5 10 GIGABIT ETHERNET 382
13.5.1 Implementation 382
13.6 END-CHAPTER MATERIALS 383
13.6.1 Recommended Reading 383
13.6.2 Key Terms 383
13.6.3 Summary 383
13.7 PRACTICE SET 384
13.7.1 Quizzes 384
13.7.2 Questions 384
13.7.3 Problems 385
13.8 SIMULATION EXPERIMENTS 385
13.8.1 Applets 385
13.8.2 Lab Assignments 386
Chapter 14 Other Wired Networks 387
14.1 TELEPHONE NETWORKS 388
14.1.1 Major Components 388
14.1.2 LATAs 388
14.1.3 Signaling 390
14.1.4 Services Provided by Telephone Networks 393
14.1.5 Dial-Up Service 394
14.1.6 Digital Subscriber Line(DSL) 396
14.2 CABLE NETWORKS 397
14.2.1 Traditional Cable Networks 397
14.2.2 Hybrid Fiber-Coaxial(HFC)Network 398
14.2.3 Cable TV for Data Transfer 399
14.3 SONET 400
14.3.1 Architecture 401
14.3.2 SONET Layers 403
14.3.3 SONET Frames 404
14.3.4 STS Multiplexing 412
14.3.5 SONET Networks 415
14.3.6 Virtual Tributaries 420
14.4 ATM 421
14.4.1 Design Goals 422
14.4.2 Problems 422
14.4.3 Architecture 425
14.5 END-CHAPTER MATERIALS 429
14.5.1 Recommended Reading 429
14.5.2 Key Terms 430
14.5.3 Summary 431
14.6 PRACTICE SET 432
14.6.1 Quizzes 432
14.6.2 Questions 432
14.6.3 Problems 433
Chapter15 Wireless LANs 435
15.1 INTRODUCTION 436
15.1.1 Architectural Comparison 436
15.1.2 Characteristics 438
15.1.3 Access Control 438
15.2 IEEE 802.11 PROJECT 439
15.2.1 Architecture 440
15.2.2 MAC Sublayer 441
15.2.3 Addressing Mechanism 446
15.2.4 Physical Layer 448
15.3 BLUETOOTH 451
15.3.1 Architecture 451
15.3.2 Bluetooth Layers 452
15.4 END-CHAPTER MATERIALS 458
15.4.1 Further Reading 458
15.4.2 Key Terms 458
15.4.3 Summary 458
15.5 PRACTICE SET 459
15.5.1 Quizzes 459
15.5.2 Questions 459
15.5.3 Problems 460
15.6 SIMULATION EXPERIMENTS 463
15.6.1 Applets 463
15.6.2 Lab Assignments 463
Chapter 16 Other Wireless Networks 465
16.1 WiMAX 466
16.1.1 Services 466
16.1.2 IEEEProject 802.16 467
16.1.3 Layers in Project 802.16 467
16.2 CELLULAR TELEPHONY 470
16.2.1 Operation 471
16.2.2 First Generation(1G) 473
16.2.3 Second Generation(2G) 474
16.2.4 Third Generation(3G) 480
16.2.5 Fourth Generation(4G) 482
16.3 SATELLITE NETWORKS 483
16.3.1 Operation 483
16.3.2 GEO Satellites 485
16.3.3 MEO Satellites 485
16.3.4 LEO Satellites 488
16.4 END-CHAPTER MATERIALS 489
16.4.1 Recommended Reading 489
16.4.2 Key Terms 490
16.4.3 Summary 490
16.5 PRACTICE SET 491
16.5.1 Quizzes 491
16.5.2 Questions 491
16.5.3 Problems 491
Chapter 17 Connecting Devices and Virtual LANs 493
17.1 CONNECTING DEVICES 494
17.1.1 Hubs 494
17.1.2 Link-Layer Switches 495
17.1.3 Routers 501
17.2 VIRTUAL LANS 502
17.2.1 Membership 504
17.2.2 Configuration 504
17.2.3 Communication between Switches 505
17.2.4 Advantages 506
17.3 END-CHAPTER MATERIALS 506
17.3.1 Recommended Reading 506
17.3.2 Key Terms 506
17.3.3 Summary 506
17.4 PRACTICE SET 507
17.4.1 Quizzes 507
17.4.2 Questions 507
17.4.3 Problems 507
PART Ⅳ: Network Layer 509
Chapter 18 Introduction to Network Layer 511
18.1 NETWORK-LAYER SERVICES 512
18.1.1 Packetizing 513
18.1.2 Routing and Forwarding 513
18.1.3 Other Services 514
18.2 PACKET SWITCHING 516
18.2.1 Datagram Approach: Connectionless Service 516
18.2.2 Virtual-Circuit Approach: Connection-Oriented Service 517
18.3 NETWORK-LAYER PERFORMANCE 522
18.3.1 Delay 522
18.3.2 Throughput 523
18.3.3 Packet Loss 525
18.3.4 Congestion Control 525
18.4 IPV4 ADDRESSES 528
18.4.1 Address Space 529
18.4.2 Classful Addressing 530
18.4.3 Classless Addressing 532
18.4.4 Dynamic Host Configuration Protocol(DHCP) 539
18.4.5 Network Address Resolution(NAT) 543
18.5 FORWARDING OF IP PACKETS 546
18.5.1 Forwarding Based on Destination Address 547
18.5.2 Forwarding Based on Label 553
18.5.3 Routers as Packet Switches 555
18.6 END-CHAPTER MATERIALS 556
18.6.1 Recommended Reading 556
18.6.2 Key Terms 556
18.6.3 Summary 556
18.7 PRACTICE SET 557
18.7.1 Quizzes 557
18.7.2 Questions 557
18.7.3 Problems 558
18.8 SIMULATION EXPERIMENTS 560
18.8.1 Applets 560
18.9 PROGRAMMING ASSIGNMENT 560
Chapter 19 Network-Layer Protocols 561
19.1 INTERNET PROTOCOL(IP) 562
19.1.1 Datagram Format 563
19.1.2 Fragmentation 567
19.1.3 Options 572
19.1.4 Security of IPv4 Datagrams 573
19.2 ICMPv4 574
19.2.1 MESSAGES 575
19.2.2 Debugging Tools 578
19.2.3 ICMP Checksum 580
19.3 MOBILEIP 581
19.3.1 Addressing 581
19.3.2 Agents 583
19.3.3 Three Phases 584
19.3.4 Inefficiency in Mobile IP 589
19.4 END-CHAPTER MATERIALS 591
19.4.1 Recommended Reading 591
19.4.2 Key Terms 591
19.4.3 Summary 591
19.5 PRACTICE SET 592
19.5.1 Quizzes 592
19.5.2 Questions 592
19.5.3 Problems 593
19.6 SIMULATION EXPERIMENTS 594
19.6.1 Applets 594
19.6.2 Lab Assignments 594
Chapter 20 Unicast Routing 595
20.1 INTRODUCTION 596
20.1.1 General Idea 596
20.1.2 Least-Cost Routing 596
20.2 ROUTING ALGORITHMS 598
20.2.1 Distance-Vector Routing 598
20.2.2 Link-State Routing 604
20.2.3 Path-Vector Routing 606
20.3 UNICAST ROUTING PROTOCOLS 611
20.3.1 Internet Structure 611
20.3.2 Routing Information Protocol(RIP) 613
20.3.3 Open Shortest Path First(OSPF) 618
20.3.4 Border Gateway Protocol Version 4(BGP4) 623
20.4 END-CHAPTER MATERIALS 631
20.4.1 Recommended Reading 631
20.4.2 Key Terms 631
20.4.3 Summary 632
20.5 PRACTICE SET 632
20.5.1 Quizzes 632
20.5.2 Questions 632
20.5.3 Problems 634
20.6 SIMULATION EXPERIMENTS 637
20.6.1 Applets 637
20.7 PROGRAMMING ASSIGNMENT 637
Chapter 21 Multicast Routing 639
21.1 INTRODUCTION 640
21.1.1 Unicasting 640
21.1.2 Multicasting 640
21.1.3 Broadcasting 643
21.2 MULTICASTING BASICS 643
21.2.1 Multicast Addresses 643
21.2.2 Delivery at Data-Link Layer 645
21.2.3 Collecting Information about Groups 647
21.2.4 Multicast Forwarding 648
21.2.5 Two Approaches to Multicasting 649
21.3 INTRADOMAIN MULTICAST PROTOCOLS 650
21.3.1 Multicast Distance Vector(DVMRP) 651
21.3.2 Multicast Link State(MOSPF) 653
21.3.3 Protocol Independent Multicast(PIM) 654
21.4 INTERDOMAIN MULTICAST PROTOCOLS 657
21.5 IGMP 658
21.5.1 Messages 658
21.5.2 Propagation of Membership Information 659
21.5.3 Encapsulation 660
21.6 END-CHAPTER MATERIALS 660
21.6.1 Recommended Reading 660
21.6.2 Key Terms 660
21.6.3 Summary 660
21.7 PRACTICE SET 661
21.7.1 Quizzes 661
21.7.2 Questions 661
21.7.3 Problems 662
21.8 SIMULATION EXPERIMENTS 663
21.8.1 Applets 663
Chapter 22 Next Generation IP 665
22.1 IPv6 ADDRESSING 666
22.1.1 Representation 666
22.1.2 Address Space 667
22.1.3 Address Space Allocation 668
22.1.4 Autoconfiguration 672
22.1.5 Renumbering 673
22.2 THE IPv6 PROTOCOL 674
22.2.1 Packet Format 674
22.2.2 Extension Header 677
22.3 THE ICMPv6 PROTOCOL 679
22.3.1 Error-Reporting Messages 679
22.3.2 Informational Messages 680
22.3.3 Neighbor-Discovery Messages 681
22.3.4 Group Membership Messages 682
22.4 TRANSITION FROM IPv4 TO IPv6 682
22.4.1 Strategies 683
22.4.2 Use of IP Addresses 684
22.5 END-CHAPTER MATERIALS 684
22.5.1 Recommended Reading 684
22.5.2 Key Terms 685
22.5.3 Summary 685
22.6 PRACTICE SET 685
22.6.1 Quizzes 685
22.6.2 Questions 685
22.6.3 Problems 686
22.7 SIMULATION EXPERIMENTS 688
22.7.1 Applets 688
PART Ⅴ: Transport Layer 689
Chapter 23 Introduction to Transport Layer 691
23.1 INTRODUCTION 692
23.1.1 Transport-Layer Services 693
23.1.2 Connectionless and Connection-Oriented Protocols 703
23.2 TRANSPORT-LAYER PROTOCOLS 707
23.2.1 Simple Protocol 707
23.2.2 Stop-and-Wait Protocol 708
23.2.3 Go-Back-N Protocol(GBN) 713
23.2.4 Selective-Repeat Protocol 720
23.2.5 Bidirectional Protocols: Piggybacking 726
23.3 END-CHAPTER MATERIALS 727
23.3.1 Recommended Reading 727
23.3.2 Key Terms 727
23.3.3 Summary 728
23.4 PRACTICE SET 728
23.4.1 Quizzes 728
23.4.2 Questions 728
23.4.3 Problems 729
23.5 SIMULATION EXPERIMENTS 733
23.5.1 Applets 733
23.6 PROGRAMMING ASSIGNMENT 733
Chapter 24 Transport-Layer Protocols 735
24.1 INTRODUCTION 736
24.1.1 Services 736
24.1.2 Port Numbers 736
24.2 USER DATAGRAM PROTOCOL 737
24.2.1 User Datagram 737
24.2.2 UDP Services 738
24.2.3 UDP Applications 741
24.3 TRANSMISSION CONTROL PROTOCOL 743
24.3.1 TCP Services 743
24.3.2 TCP Features 746
24.3.3 Segment 748
24.3.4 A TCP Connection 750
24.3.5 State Transition Diagram 756
24.3.6 Windows in TCP 760
24.3.7 Flow Control 762
24.3.8 Error Control 768
24.3.9 TCP Congestion Control 777
24.3.10 TCPTimers 786
24.3.11 Options 790
24.4 SCTP 791
24.4.1 SCTP Services 791
24.4.2 SCTP Features 792
24.4.3 Packet Format 794
24.4.4 An SCTP Association 796
24.4.5 Flow Control 799
24.4.6 Error Control 801
24.5 END-CHAPTER MATERIALS 805
24.5.1 Recommended Reading 805
24.5.2 Key Terms 805
24.5.3 Summary 805
24.6 PRACTICE SET 806
24.6.1 Quizzes 806
24.6.2 Questions 806
24.6.3 Problems 809
PART Ⅵ: Application Layer 815
Chapter 25 Introduction to Application Layer 817
25.1 INTRODUCTION 818
25.1.1 Providing Services 819
25.1.2 Application-Layer Paradigms 820
25.2 CLIENT-SERVER PROGRAMMING 823
25.2.1 Application Programming Interface 823
25.2.2 Using Services of the Transport Layer 827
25.2.3 Iterative Communication Using UDP 828
25.2.4 Iterative Communication Using TCP 830
25.2.5 Concurrent Communication 832
25.3 ITERATIVE PROGRAMMING IN C 833
25.3.1 General Issues 833
25.3.2 Iterative Programming Using UDP 834
25.3.3 Iterative Programming Using TCP 837
25.4 ITERATIVE PROGRAMMING IN JAVA 842
25.4.1 Addresses and Ports 843
25.4.2 Iterative Programming Using UDP 846
25.4.3 Iterative Programming Using TCP 857
25.5 END-CHAPTER MATERIALS 865
25.5.1 Recommended Reading 865
25.5.2 Key Terms 866
25.5.3 Summary 866
25.6 PRACTICE SET 866
25.6.1 Quizzes 866
25.6.2 Questions 866
25.6.3 Problems 869
25.7 SIMULATION EXPERIMENTS 869
25.7.1 Applets 869
25.8 PROGRAMMING ASSIGNMENT 870
Chapter 26 Standard Client-Server Protocols 871
26.1 WORLD WIDE WEB AND HTTP 872
26.1.1 World Wide Web 872
26.1.2 HyperText Transfer Protocol(HTTP) 876
26.2 FTP 887
26.2.1 Two Connections 888
26.2.2 Control Connection 888
26.2.3 Data Connection 889
26.2.4 Security for FTP 891
26.3 ELECTRONIC MAIL 891
26.3.1 Architecture 892
26.3.2 Web-Based Mail 903
26.3.3 E-Mail Security 904
26.4 TELNET 904
26.4.1 Local versus Remote Logging 905
26.5 SECURE SHELL(SSH) 907
26.5.1 Components 907
26.5.2 Applications 908
26.6 DOMAIN NAME SYSTEM(DNS) 910
26.6.1 NameSpace 911
26.6.2 DNS in the Internet 915
26.6.3 Resolution 916
26.6.4 Caching 918
26.6.5 Resource Records 918
26.6.6 DNS Messages 919
26.6.7 Registrars 920
26.6.8 DDNS 920
26.6.9 Security of DNS 921
26.7 END-CHAPTER MATERIALS 921
26.7.1 Recommended Reading 921
26.7.2 Key Terms 922
26.7.3 Summary 922
26.8 PRACTICE SET 923
26.8.1 Quizzes 923
26.8.2 Questions 923
26.8.3 Problems 924
26.9 SIMULATION EXPERIMENTS 927
26.9.1 Applets 927
26.9.2 Lab Assignments 927
Chapter 27 Network Management 929
27.1 INTRODUCTION 930
27.1.1 Configuration Management 930
27.1.2 Fault Management 932
27.1.3 Performance Management 933
27.1.4 Security Management 933
27.1.5 Accounting Management 934
27.2 SNMP 934
27.2.1 Managers and Agents 935
27.2.2 Management Components 935
27.2.3 An Overview 937
27.2.4 SMI 938
27.2.5 MIB 942
27.2.6 SNMP 944
27.3 ASN.1 951
27.3.1 Language Basics 951
27.3.2 Data Types 952
27.3.3 Encoding 955
27.4 END-CHAPTER MATERIALS 955
27.4.1 Recommended Reading 955
27.4.2 Key Terms 956
27.4.3 Summary 956
27.5 PRACTICE SET 956
27.5.1 Quizzes 956
27.5.2 Questions 956
27.5.3 Problems 958
Chapter 28 Multimedia 961
28.1 COMPRESSION 962
28.1.1 Lossless Compression 962
28.1.2 Lossy Compression 972
28.2 MULTIMEDIA DATA 978
28.2.1 Text 978
28.2.2 Image 978
28.2.3 Video 982
28.2.4 Audio 984
28.3 MULTIMEDIA IN THE INTERNET 986
28.3.1 Streaming Stored Audio/Video 986
28.3.2 Streaming Live Audio/Video 989
28.3.3 Real-Time Interactive Audio/Video 990
28.4 REAL-TIME INTERACTIVE PROTOCOLS 995
28.4.1 Rationale for New Protocols 996
28.4.2 RTP 999
28.4.3 RTCP 1001
28.4.4 Session Initialization Protocol(SIP) 1005
28.4.5 H.323 1012
28.5 END-CHAPTER MATERIALS 1014
28.5.1 Recommended Reading 1014
28.5.2 Key Terms 1015
28.5.3 Summary 1015
28.6 PRACTICE SET 1016
28.6.1 Quizzes 1016
28.6.2 Questions 1016
28.6.3 Problems 1018
28.7 SIMULATION EXPERIMENTS 1021
28.7.1 Applets 1021
28.7.2 Lab Assignments 1021
28.8 PROGRAMMING ASSIGNMENTS 1022
Chapter 29 Peer-to-Peer Paradigm 1023
29.1 INTRODUCTION 1024
29.1.1 P2P Networks 1024
29.1.2 Distributed Hash Table(DHT) 1026
29.2 CHORD 1029
29.2.1 Identifier Space 1029
29.2.2 Finger Table 1029
29.2.3 Interface 1030
29.2.4 Applications 1036
29.3 PASTRY 1036
29.3.1 Identifier Space 1036
29.3.2 Routing 1037
29.3.3 Application 1041
29.4 KADEMLIA 1041
29.4.1 Identifier Space 1041
29.4.2 Routing Table 1041
29.4.3 K-Buckets 1044
29.5 BITTORRENT 1045
29.5.1 BitTorrent with a Tracker 1045
29.5.2 Trackerless BitTorrent 1046
29.6 END-CHAPTER MATERIALS 1047
29.6.1 Recommended Reading 1047
29.6.2 Key Terms 1047
29.6.3 Summary 1047
29.7 PRACTICE SET 1048
29.7.1 Quizzes 1048
29.7.2 Questions 1048
29.7.3 Problems 1048
PART Ⅶ: Topics Related to All Layers 1051
Chapter 30 Quality of Service 1053
30.1 DATA-FLOW CHARACTERISTICS 1054
30.1.1 Definitions 1054
30.1.2 Sensitivity of Applications 1054
30.1.3 Flow Classes 1055
30.2 FLOW CONTROL TO IMPROVE QOS 1055
30.2.1 Scheduling 1056
30.2.2 Traffic Shaping or Policing 1058
30.2.3 Resource Reservation 1061
30.2.4 Admission Control 1062
30.3 INTEGRATED SERVICES(INTSERV) 1062
30.3.1 Flow Specification 1062
30.3.2 Admission 1063
30.3.3 Service Classes 1063
30.3.4 Resource Reservation Protocol(RSVP) 1063
30.3.5 Problems with Integrated Services 1065
30.4 DIFFERENTIATED SERVICES(DFFSERV) 1066
30.4.1 DS Field 1066
30.4.2 Per-Hop Behavior 1067
30.4.3 Traffic Conditioners 1067
30.5 END-CHAPTER MATERIALS 1068
30.5.1 Recommended Reading 1068
30.5.2 Key Terms 1068
30.5.3 Summary 1068
30.6 PRACTICE SET 1069
30.6.1 Quizzes 1069
30.6.2 Questions 1069
30.6.3 Problems 1070
30.7 SIMULATION EXPERIMENTS 1075
30.7.1 Applets 1075
30.8 PROGRAMMING ASSIGNMENTS 1075
Chapter 31 Cryptography and Network Security 1077
31.1 INTRODUCTION 1078
31.1.1 Security Goals 1078
31.1.2 Attacks 1079
31.1.3 Services and Techniques 1081
31.2 CONFIDENTIALITY 1081
31.2.1 Symmetric-Key Ciphers 1081
31.2.2 Asymmetric-Key Ciphers 1092
31.3 OTHER ASPECTS OF SECURITY 1097
31.3.1 Message Integrity 1097
31.3.2 Message Authentication 1099
31.3.3 Digital Signature 1100
31.3.4 Entity Authentication 1105
31.3.5 Key Management 1108
31.4 END-CHAPTER MATERIALS 1114
31.4.1 Recommended Reading 1114
31.4.2 Key Terms 1114
31.4.3 Summary 1114
31.5 PRACTICE SET 1115
31.5.1 Quizzes 1115
31.5.2 Questions 1115
31.5.3 Problems 1117
31.6 SIMULATION EXPERIMENTS 1121
31.6.1 Applets 1121
31.7 PROGRAMMING ASSIGNMENTS 1122
Chapter 32 Internet Security 1123
32.1 NETWORK-LAYER SECURITY 1124
32.1.1 TwoModes 1124
32.1.2 Two Security Protocols 1126
32.1.3 Services Provided by IPSec 1129
32.1.4 Security Association 1130
32.1.5 Internet Key Exchange(IKE) 1132
32.1.6 Virtual Private Network(VPN) 1133
32.2 TRANSPORT-LAYER SECURITY 1134
32.2.1 SSL Architecture 1135
32.2.2 Four Protocols 1138
32.3 APPLICATION-LAYER SECURITY 1140
32.3.1 E-mail Security 1141
32.3.2 Pretty Good Privacy(PGP) 1142
32.3.3 S/MIME 1147
32.4 FIREWALLS 1151
32.4.1 Packet-Filter Firewall 1152
32.4.2 Proxy Firewall 1152
32.5 END-CHAPTER MATERIALS 1153
32.5.1 Recommended Reading 1153
32.5.2 Key Terms 1154
32.5.3 Summary 1154
32.6 PRACTICE SET 1154
32.6.1 Quizzes 1154
32.6.2 Questions 1155
32.6.3 Problems 1155
32.7 SIMULATION EXPERIMENTS 1156
32.7.1 Applets 1156
32.7.2 Lab Assignments 1156
References 1157
Index 1163