《用TCP/IP进行网际互连 第1卷 原理、协议与结构 英文版》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:道格拉斯E·科默著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121091612
  • 页数:651 页
图书介绍:本书是关于计算机网络的最著名的经典教材。它是目前美国大多数大学所开设的计算机网络课程的主要参考书。目前国内外能见到的各种关于TCP/IP的书籍,其主要内容都参考了本书。本书的特点是:强调原理、概念准确、深入浅出、内容丰富新颖。各章后附有很好的习题。这一卷是2006年出版的第五版,分为四个部分。第一部分为概述,第二部分从单个主要来看TCP/IP互联网,第三部分则是从全局来看互联网的结构,第四部分讨论因特网提供的应用层服务。

Chapter 1 Introduction And Overview 1

1.1 The Motivation For Internetworking 1

1.2 The TCP/IP Internet 2

1.3 Internet Services 2

1.4 History And Scope Of The Internet 5

1.5 The Internet Architecture Board 7

1.6 The IAB Reorganization 7

1.7 Internet Request For Comments 8

1.8 Future Growth And Technology 9

1.9 Organization Of The Text 10

1.10 Summary 10

Chapter 2 Review Of Underlying Network Technologies 13

2.1 Introduction 13

2.2 Two Approaches To Network Communication 14

2.3 Wide Area And Local Area Networks 15

2.4 Ethernet Technology 16

2.5 Switched Ethernet 24

2.6 Asynchronous Transfer Mode 25

2.7 Summary 27

Chapter 3 Internetworking Concept And Architectural Model 31

3.1 Introduction 31

3.2 Application-Level Interconnection 31

3.3 Network-Level Interconnection 32

3.4 Properties Of The Intrenet 33

3.5 Internet Architecture 34

3.6 Interconnection Through IP Routers 35

3.7 The User's View 36

3.8 All Networks Are Equal 37

3.9 The Unanswered Questions 38

3.10 Summary 38

Chapter 4 Classful Internet Addresses 41

4.1 Introduction 41

4.2 Universal Identifiers 41

4.3 The Original Classful Addressing Scheme 42

4.4 Addresses Specify Network Connections 43

4.5 Network And Directed Broadcast Addresses 43

4.6 Limited Broadcast 44

4.7 The All-Os Address 45

4.8 Subnet And Classless Extensions 45

4.9 IP Multicast Addresses 45

4.10 Weaknesses In Internet Addressing 46

4.11 Dotted Decimal Notation 47

4.12 Loopback Address 48

4.13 Summary Of Special Address Conventions 48

4.14 Internet Addressing Authority 48

4.15 Reserved Address Prefixes 50

4.16 An Example 50

4.17 Network Byte Order 52

4.18 Summary 52

Chapter 5 Mapping Internet Addresses To Physical Addresses (ARP) 57

5.1 Introduction 57

5.2 The Address Resolution Problem 57

5.3 Two Types Of Physical Addresses 58

5.4 Resolution Through Direct Mapping 58

5.5 Resolution Through Dynamic Binding 59

5.6 The Address Resolution Cache 60

5.7 ARP Cache Timeout 61

5.8 ARP Refinements 62

5.9 Relationship Of ARP To Other Protocols 62

5.10 ARP Implementation 62

5.11 ARP Encapsulation And Identification 64

5.12 ARP Protocol Format 64

5.13 Automatic ARP Cache Revalidation 66

5.14 Reverse Address Resolution (RARP) 66

5.15 Summary 67

Chapter 6 Internet Protocol: Connectionless Datagram Delivery (IPv4) 71

6.1 Introduction 71

6.2 A Virtual Network 71

6.3 Internet Architecture And Philosophy 72

6.4 The Conceptual Service Organization 72

6.5 Connectionless Delivery System 73

6.6 Purpose Of The Internet Protocol 73

6.7 The IPv4 Datagram 74

6.8 Internet Datagram Options 83

6.9 Summary 89

Chapter 7 Internet Protocol: Forwarding IP Datagrams 93

7.1 Introduction 93

7.2 Forwarding In An Internet 93

7.3 Direct And Indirect Delivery 95

7.4 Table-Driven IP Forwarding 97

7.5 Next-Hop Forwarding 97

7.6 Default Routes 100

7.7 Host-Specific Routes 100

7.8 The IP Forwarding Algorithm 100

7.9 Forwarding With IP Addresses 101

7.10 Handling Incoming Datagrams 103

7.11 Establishing Routing Tables 104

7.12 Summary 104

Chapter 8 Internet Protocol: Error And Control Messages (ICMP) 109

8.1 Introduction 109

8.2 The Internet Control Message Protocol 109

8.3 Error Reporting Vs.Error Correction 110

8.4 ICMP Message Delivery 111

8.5 ICMP Message Format 112

8.6 Testing Destination Reachability And Status (Ping) 113

8.7 Echo Request And Reply Message Format 114

8.8 Reports Of Unreachable Destinations 115

8.9 Congestion And Datagram Flow Control 116

8.10 Source Quench Format 117

8.11 Route Change Requests From Routers 118

8.12 Detecting Circular Or Excessively Long Routes 119

8.13 Reporting Other Problems 120

8.14 Clock Synchronization And Transit Time Estimation 121

8.15 Older ICMP Messages No Longer Needed 122

8.16 Summary 123

Chapter 9 Classless And Subnet Address Extensions (CIDR) 127

9.1 Introduction 127

9.2 Review Of Relevant Facts 127

9.3 Minimizing Network Numbers 128

9.4 Proxy ARP 128

9.5 Subnet Addressing 130

9.6 Flexibility In Subnet Address Assignment 132

9.7 Variable-Length Subnets 134

9.8 Implementation Of Subnets With Masks 135

9.9 Subnet Mask Representation 136

9.10 Forwarding In The Presence Of Subnets 137

9.11 The Subnet Forwarding Algorithm 138

9.12 A Unified Forwarding Algorithm 139

9.13 Maintenance Of Subnet Masks 140

9.14 Broadcasting To Subnets 140

9.15 Anonymous Point-To-Point Networks 141

9.16 Classless Addressing And Supernetting 142

9.17 CIDR Address Blocks And Bit Masks 143

9.18 Address Blocks And CIDR Notation 144

9.19 A Classless Addressing Example 145

9.20 Data Structures And Algorithms For Classless Lookup 145

9.21 Longest-Match And Mixtures Of Route Types 148

9.22 CIDR Blocks Reserved For Private Networks 149

9.23 Summary 150

Chapter 10 Protocol Layering 155

10.1 Introduction 155

10.2 The Need For Multiple Protocols 155

10.3 The Conceptual Layers Of Protocol Software 156

10.4 Functionality Of The Layers 159

10.5 X&25 And Its Relation To The ISO Model 160

10.6 Locus Of Intelligence 163

10.7 The Protocol Layering Principle 163

10.8 Layering In The Presence Of Network Substructure 166

10.9 Two Important Boundaries In The TCP/IP Model 168

10.10 The Disadvantage Of Layering 169

10.11 The Basic Idea Behind Multiplexing And Demultiplexing 170

10.12 Summary 171

Chapter 11 User Datagram Protocol (UDP) 175

11.1 Introduction 175

11.2 Identifying The Ultimate Destination 175

11.3 The User Datagram Protocol 176

11.4 Format Of UDP Messages 177

11.5 UDP Pseudo-Header 178

11.6 UDP Encapsulation And Protocol Layering 179

11.7 Layering And The UDP Checksum Computation 181

11.8 UDP Multiplexing, Demultiplexing, And Ports 181

11.9 Reserved And Available UDP Port Numbers 182

11.10 Summary 184

Chapter 12 Reliable Stream Transport Service (TCP) 187

12.1 Introduction 187

12.2 The Need For Stream Delivery 187

12.3 Properties Of The Reliable Delivery Service 188

12.4 Providing Reliability 189

12.5 The Idea Behind Sliding Windows 191

12.6 The Transmission Control Protocol 193

12.7 Ports, Connections, And Endpoints 194

12.8 Passive And Active Opens 196

12.9 Segments, Streams, And Sequence Numbers 197

12.10 Variable Window Size And Flow Control 198

12.11 TCP Segment Format 199

12.12 Out Of Band Data 200

12.13 TCP Options 201

12.14 TCP Checksum Computation 203

12.15 Acknowledgements, Retransmission, And Timeouts 204

12.16 Accurate Measurement Of Round Trip Samples 207

12.17 Karn's Algorithm And Timer Backoff 208

12.18 Responding To High Variance In Delay 209

12.19 Response To Congestion 211

12.20 Fast Recovery And Other Modifications 213

12.21 Explicit Feedback Mechanisms (SACK and ECN) 215

12.22 Congestion, Tail Drop, And TCP 216

12.23 Random Early Detection (RED) 217

12.24 Establishing A TCP Connection 219

12.25 Initial Sequence Numbers 220

12.26 Closing a TCP Connection 221

12.27 TCP Connection Reset 222

12.28 TCP State Machine 222

12.29 Forcing Data Delivery 224

12.30 Reserved TCP Port Numbers 224

12.31 TCP Performance 225

12.32 Silly Window Syndrome And Small Packets 226

12.33 Avoiding Silly Window Syndrome 227

12.34 Summary 230

Chapter 13 Routing Architecture: Cores, Peers, And Algorithms 235

13.1 Introduction 235

13.2 The Origin Of Routing Tables 236

13.3 Forwarding With Partial Information 237

13.4 Original Internet Architecture And Cores 238

13.5 Beyond The Core Architecture To Peer Backbones 240

13.6 Automatic Route Propagation 241

13.7 Distance Vector (Bellman-Ford) Routing 241

13.8 Reliability And Routing Protocols 243

13.9 Link-State (SPF) Routing 243

13.10 Summary 244

Chapter 14 Routing Between Peers (BGP) 249

14.1 Introduction 249

14.2 Routing Update Protocol Scope 249

14.3 Determining A Practical Limit On Group Size 250

14.4 A Fundamental Idea: Extra Hops 251

14.5 Autonomous System Concept 253

14.6 Exterior Gateway Protocols And Reachability 254

14.7 BGP Characteristics 255

14.8 BGP Functionality And Message Types 256

14.9 BGP Message Header 256

14.10 BGP OPEN Message 257

14.11 BGP UPDATE Message 259

14.12 Compressed Mask-Address Pairs 259

14.13 BGP Path Attributes 260

14.14 BGP KEEPALIVE Message 262

14.15 Information From The Receiver's Perspective 262

14.16 The Key Restriction Of Exterior Gateway Protocols 263

14.17 The Internet Routing Architecture 265

14.18 BGP NOTIFICATION Message 266

14.19 Summary 267

Chapter 15 Routing Within An Autonomous System (RIP, OSPF) 271

15.1 Introduction 271

15.2 Static Vs.Dynamic Interior Routes 271

15.3 Routing Information Protocol (RIP) 274

15.4 Slow Convergence Problem 276

15.5 Solving The Slow Convergence Problem 277

15.6 RIP1 Message Format 278

15.7 RIP2 Address Conventions 280

15.8 RIP Route Interpretation And Aggregation 280

15.9 RIP2 Extensions And Message Format 281

15.10 The Disadvantage Of RIP Hop Counts 282

15.11 Delay Metric (HELLO) 283

15.12 Delay Metrics And Oscillation 283

15.13 Combining RIP, Hello, And BGP 285

15.14 Gated: Inter-Autoncnous System Communication 286

15.15 The Open SPF Protocol (OSPF) 286

15.16 Routing With Partial Information 293

15.17 Summary 293

Chapter 16 Internet Multicasting 297

16.1 Introduction 297

16.2 Hardware Broadcast 297

16.3 Hardware Origins Of Multicast 298

16.4 Ethernet Multicast 299

16.5 IP Multicast 299

16.6 The Conceptual Pieces 300

16.7 IP Multicast Addresses 301

16.8 Multicast Address Semantics 302

16.9 Mapping IP Multicast To Ethernet Multicast 303

16.10 Hosts And Multicast Delivery 303

16.11 Multicast Scope 304

16.12 Extending Host Software To Handle Multicasting 305

16.13 Internet Group Management Protocol 305

16.14 IGMP Implementation 306

16.15 Group Membership State Transitions 308

16.16 IGMP Membership Query Message Format 309

16.17 IGMP Membership Report Message Format 310

16.18 Multicast Forwarding And Routing Information 312

16.19 Basic Multicast Forwarding Paradigms 313

16.20 Consequences Of TRPF 315

16.21 Multicast Trees 317

16.22 The Essence Of Multicast Route Propagation 318

16.23 Reverse Path Multicasting 318

16.24 Multicast Routing Protocols 319

16.25 Reliable Multicast And ACK Implosions 322

16.26 Summary 323

Chapter 17 IP Switching And MPLS 327

17.1 Introduction 327

17.2 Switching Technology 327

17.3 Large Networks, Label Swapping, And Paths 328

17.4 Using Switching With IP 329

17.5 IP Switching Technologies And MPLS 330

17.6 Classification, Flows, And Higher Layer Switching 331

17.7 Hierarchical Use Of MPLS 331

17.8 MPLS Encapsulation 332

17.9 Label Switching Router 333

17.10 Control Processing And Label Distribution 334

17.11 MPLS And Fragmentation 334

17.12 Mesh Topology And Traffic Engineering 335

17.13 Summary 336

Chapter 18 Mobile IP 339

18.1 Introduction 339

18.2 Mobility, Routing, and Addressing 339

18.3 Mobile IP Characteristics 340

18.4 Overview Of Mobile IP Operation 340

18.5 Mobile Addressing Details 341

18.6 Foreign Agent Discovery 341

18.7 Agent Registration 342

18.8 Registration Message Format 343

18.9 Communication With A Foreign Agent 344

18.10 Datagram Transmission And Reception 344

18.11 The Two-Crossing Problem 345

18.12 Communication With Computers On the Home Network 346

18.13 Summary 346

Chapter 19 Private Network Interconnection (NAT, VPN) 349

19.1 Introduction 349

19.2 Private And Hybrid Networks 349

19.3 VPN Addressing And Routing 351

19.4 Extending VPN Technology To Individual Hosts 352

19.5 A VPN With Private Addresses 352

19.6 Network Address Translation (NAT) 353

19.7 NAT Translation Table Creation 354

19.8 Multi-Address NAT 355

19.9 Port-Mapped NAT 356

19.10 Interaction Between NAT And ICMP 357

19.11 Interaction Between NAT And Applications 358

19.12 NAT In The Presence Of Fragmentation 358

19.13 Conceptual Address Domains 359

19.14 Slirp And Iptables 359

19.15 Summary 360

Chapter 20 Client-Server Model Of Interaction 363

20.1 Introduction 363

20.2 The Client-Server Model 363

20.3 A Simple Example: UDP Echo Server 364

20.4 Time And Date Service 366

20.5 The Complexity of Servers 366

20.6 Broadcasting A Request 368

20.7 Alternatives To The Client-Server Model 368

20.8 Summary 369

Chapter 21 The Socket Interface 373

21.1 Introduction 373

21.2 The UNIX I/O Paradigm And Network I/O 373

21.3 Adding Network I/O to UNIX 374

21.4 The Socket Abstraction 375

21.5 Creating A Socket 375

21.6 Socket Inheritance And Termination 375

21.7 Specifying A Local Address 376

21.8 Connecting Sockets To Destination Addresses 377

21.9 Sending Data Through A Socket 378

21.10 Receiving Data Through A Socket 380

21.11 Obtaining Local And Remote Socket Addresses 381

21.12 Obtaining And Setting Socket Options 382

21.13 Specifying A Queue Length For A Server 383

21.14 How A Server Accepts Connections 383

21.15 Servers That Handle Multiple Services 384

21.16 Obtaining And Setting Host Names 385

21.17 Obtaining And Setting The Internal Host Domain 386

21.18 Socket Library Calls 386

21.19 Network Byte Order Conversion Routines 387

21.20 IP Address Manipulation Routines 389

21.21 Accessing The Domain Name System 390

21.22 Obtaining Information About Hosts 391

21.23 Obtaining Information About Networks 392

21.24 Obtaining Information About Protocols 393

21.25 Obtaining Information About Network Services 393

21.26 An Example Client 394

21.27 An Example Server 396

21.28 Summary 399

Chapter 22 Bootstrap And Autoconfiguration (DHCP) 403

22.1 Introduction 403

22.2 History Of Bootstrapping 403

22.3 Using IP To Determine An IP Address 404

22.4 The DHCP Retransmission Policy 405

22.5 The DHCP Message Format 405

22.6 The Need For Dynamic Configuration 408

22.7 DHCP Lease Concept 409

22.8 Multiple Addresses And Relays 409

22.9 Address Acquisition States 410

22.10 Early Lease Termination 411

22.11 Lease Renewal States 412

22.12 DHCP Options And Message Type 413

22.13 Option Overload 414

22.14 DHCP And Domain Names 414

22.15 Summary 414

Chapter 23 The Domain Name System (DNS) 419

23.1 Introduction 419

23.2 Names For Machines 420

23.3 Flat Namespace 420

23.4 Hierarchical Names 421

23.5 Delegation Of Authority For Names 422

23.6 Subset Authority 422

23.7 Internet Domain Names 423

23.8 Top-Level Domains 424

23.9 Name Syntax And Type 426

23.10 Mapping Domain Names To Addresses 427

23.11 Domain Name Resolution 429

23.12 Efficient Translation 430

23.13 Caching: The Key To Efficiency 431

23.14 Domain Name System Message Format 431

23.15 Compressed Name Format 435

23.16 Abbreviation Of Domain Names 435

23.17 Inverse Mappings 436

23.18 Pointer Queries 437

23.19 Object Types And Resource Record Contents 437

23.20 Obtaining Authority For A Subdomain 439

23.21 Dynamic DNS Update And Notification 439

23.22 DNS Security Extensions (DNSSEC) 440

23.23 Summary 441

Chapter 24 Remote Login And Desktop (TELNET, SSH) 445

24.1 Introduction 445

24.2 Remote Interactive Computing 445

24.3 TELNET Protocol 446

24.4 Accommodating Heterogeneity 448

24.5 Passing Commands That Control The Remote Side 449

24.6 Forcing The Server To Read A Control Function 450

24.7 TELNET Options 452

24.8 TELNET Option Negotiation 452

24.9 Secure Shell (SSH) 453

24.10 Other Remote Access Technologies 455

24.11 Summary 455

Chapter 25 File Transfer And Access (FTP, TFTP, NFS) 459

25.1 Introduction 459

25.2 Remote File Access, Transfer, And Storage Networks 459

25.3 On-line Shared Access 460

25.4 Sharing By File Transfer 461

25.5 FTP: The Major TCP/IP File Transfer Protocol 461

25.6 FTP Features 461

25.7 FTP Process Model 462

25.8 TCP Port Numbers And Data Connections 463

25.9 The User's View Of FTP 464

25.10 Anonymous FTP 464

25.11 Secure File Transfer (SSL-FTP, Scp, Sftp) 464

25.12 TFTP 465

25.13 NFS 467

25.14 Implementation Of NFS (RPC And XDR) 468

25.15 Summary 469

Chapter 26 Electronic Mail (SMTP, POP, IMAP, MIME) 473

26.1 Introduction 473

26.2 Electronic Mail 473

26.3 Mailbox Names And Aliases 474

26.4 Alias Expansion And Mail Forwarding 475

26.5 TCP/IP Standards For Electronic Mail Service 476

26.6 Simple Mail Transfer Protocol (SMTP) 477

26.7 Mail Retrieval And Mailbox Manipulation Protocols 479

26.8 The MIME Extensions For Non-ASCII Data 480

26.9 MIME Multipart Messages 482

26.10 Summary 483

Chapter 27 World Wide Web (HTTP) 487

27.1 Introduction 487

27.2 Importance Of The Web 487

27.3 Architectural Components 488

27.4 Uniform Resource Locators 488

27.5 An Example Document 489

27.6 Hypertext Transfer Protocol 490

27.7 HTTP GET Request 490

27.8 Error Messages 491

27.9 Persistent Connections And Lengths 492

27.10 Data Length And Program Output 492

27.11 Length Encoding And Headers 493

27.12 Negotiation 494

27.13 Conditional Requests 495

27.14 Proxy Servers And Caching 495

27.15 Caching 496

27.16 Other HTTP Functionality 497

27.17 HTTP, Security, And E-Commerce 497

27.18 Summary 498

Chapter 28 Voice And Video Over IP (RTP, RSVP, QoS) 501

28.1 Introduction 501

28.2 Digitizing And Encoding 501

28.3 Audio And Video Transmission And Reproduction 502

28.4 Jitter And Playback Delay 503

28.5 Real-time Transport Protocol (RTP) 504

28.6 Streams, Mixing, And Multicasting 505

28.7 RTP Encapsulation 506

28.8 RTP Control Protocol (RTCP) 506

28.9 RTCP Operation 506

28.10 IP Telephony And Signaling 508

28.11 Quality Of Service Controversy 510

28.12 QoS, Utilization, And Capacity 511

28.13 IntServ Resource Reservation (RSVP) 511

28.14 IntServ Enforcement (COPS) 512

28.15 DiffServ And Per-Hop Behavior 513

28.16 Traffic Scheduling 513

28.17 Traffic Policing 515

28.18 Summary 515

Chapter 29 Network Management (SNMP) 519

29.1 Introduction 519

29.2 The Level Of Management Protocols 519

29.3 Architectural Model 520

29.4 Protocol Framework 522

29.5 Examples of MIB Variables 523

29.6 The Structure Of Management Information 524

29.7 Formal Definitions Using ASN.1 525

29.8 Structure And Representation Of MIB Object Names 525

29.9 Simple Network Management Protocol 530

29.10 SNMP Message Format 532

29.11 An Example Encoded SNMP Message 535

29.12 New Features In SNMPv3 538

29.13 Summary 538

Chapter 30 Internet Security And Firewall Design (IPsec, SSL) 543

30.1 Introduction 543

30.2 Protecting Resources 544

30.3 Information Policy 545

30.4 Internet Security 545

30.5 IP Security (IPsec) 546

30.6 IPsec Authentication Header 546

30.7 Security Association 547

30.8 IPsec Encapsulating Security Payload 548

30.9 Authentication And Mutable Header Fields 549

30.10 IPsec Tunneling 550

30.11 Required Security Algorithms 550

30.12 Secure Sockets (SSL and TLS) 551

30.13 Firewalls And Internet Access 551

30.14 Multiple Connections And Weakest Links 552

30.15 Firewall Implementation And Packet Filters 552

30.16 Security And Packet Filter Specification 553

30.17 The Consequence Of Restricted Access For Clients 554

30.18 Stateful Firewalls 554

30.19 Content Protection And Proxies 555

30.20 Monitoring And Logging 556

30.21 Summary 556

Chapter 31 A Next Generation IP (IPv6) 561

31.1 Introduction 561

31.2 Why Change? 561

31.3 Beyond IPv4 562

31.4 The Road To A New Version Of IP 562

31.5 The Name Of The Next IP 562

31.6 Features Of IPv6 563

31.7 General Form Of An IPv6 Datagram 564

31.8 IPv6 Base Header Format 564

31.9 IPv6 Extension Headers 566

31.10 Parsing An IPv6 Datagram 566

31.11 IPv6 Fragmentation And Reassembly 567

31.12 The Consequence Of End-To-End Fragmentation 568

31.13 IPv6 Source Routing 569

31.14 IPv6 Options 569

31.15 Size Of The IPv6 Address Space 571

31.16 IPv6 Colon Hexadecimal Notation 571

31.17 Three Basic IPv6 Address Types 572

31.18 The Duality Of Broadcast And Multicast 573

31.19 An Engineering Choice And Simulated Broadcast 573

31.20 Proposed IPv6 Address Space Assignment 574

31.21 Embedded IPv4 Addresses And Transition 574

31.22 Unspecified And Loopback Addresses 576

31.23 Unicast Address Structure 577

31.24 Interface Identifiers 577

31.25 Local Addresses 578

31.26 Autoconfiguration And Renumbering 578

31.27 Summary 579

Appendix 1 A Look At RFCs 582

Appendix 2 Glossary Of Internetworking Terms And Abbreviations 586

Bibliography 626

Index 634