《TCP/IP网络互连技术 卷1 原理,协议和体系结构 英文版·第3版》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:(美)(D.E.科默)Douglas E.Comer著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:1998
  • ISBN:7302029466
  • 页数:613 页
图书介绍:

Chapter 1 Introduction And Overview 1

1.1 The Motivation For Internetworking 1

1.2 The TCP/IP Internet 2

1.3 Internet Services 3

1.4 History And Scope Of The Internet 6

1.5 The Internet Architecture Board 8

1.6 The IAB Reorganization 9

1.7 The Internet Society 11

1.8 Internet Request For Comments 11

1.9 Internet Protocols And Standardization 12

1.10 Future Growth And Technology 12

1.11 Organization Of The Text 13

1.12 Summary 14

Chapter 2 Review Of Underlying Network Technologies 17

2.1 Introduction 17

2.2 Two Approaches To Network Communication 18

2.3 Wide Area And Local Area Networks 19

2.4 Ethernet Technology 20

2.5 Fiber Distributed Data Interconnect(FDDI) 32

2.6 Asynchronous Transfer Mode 36

2.7 ARPANET Technology 37

2.8 National Science Foundation Networking 39

2.9 ANSNET 44

2.10 A Planned Wide Area Backbone 44

2.11 Other Technologies Over Which TCP/IP Has Been Used 44

2.12 Summary And Conclusion 47

Chapter 3 Internetworking Concept And Architectural Model 49

3.1 Introduction 49

3.2 Application-Level Interconnection 49

3.3 Network-Level Interconnection 50

3.4 Properties Of The Internet 51

3.5 Internet Architecture 52

3.6 Interconnection Through IP Routers 52

3.7 The User s View 54

3.8 All Networks Are Equal 54

3.9 The Unanswered Questions 55

3.10 Summary 56

Chapter 4 Internet Addresses 59

4.1 Introduction 59

4.2 Universal Identifiers 59

4.3 Three Primary Classes Of IP Addresses 60

4.4 Addresses Specify Network Connections 61

4.5 Network And Broadcast Addresses 61

4.6 Limited Broadcast 62

4.7 Interpreting Zero To Mean This 62

4.8 Weaknesses In Internet Addressing 63

4.9 Dotted Decimal Notation 65

4.10 Loopback Address 65

4.11 Summary Of Special Address Conventions 66

4.12 Internet Addressing Authority 66

4.13 An Example 67

4.14 Network Byte Order 69

4.15 Summary 70

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

5.1 Introduction 73

5.2 The Address Resolution Problem 73

5.3 Two Types Of Physical Addresses 74

5.4 Resolution Through Direct Mapping 74

5.5 Resolution Through Dynamic Binding 75

5.6 The Address Resolution Cache 76

5.7 ARP Refinements 77

5.8 Relationship Of ARP To Other Protocols 77

5.9 ARP Implementation 77

5.10 ARP Encapsulation And Identification 79

5.11 ARP Protocol Format 79

5.12 Summary 81

Chapter 6 Determining An Internet Address At Startup(RARP) 83

6.1 Introduction 83

6.2 Reverse Address Resolution Protocol(RARP) 84

6.3 Timing RARP Transactions 86

6.4 Primary And Backup RARP Servers 86

6.5 Summary 87

Chapter 7 Internet Protocol:Connectionless Datagram Delivery 89

7.1 Introduction 89

7.2 A Virtual Network 89

7.3 Internet Architecture And Philosophy 90

7.4 The Concept Of Unreliable Delivery 90

7.5 Connectionless Delivery System 91

7.6 Purpose Of The Internet Protocol 91

7.7 The Internet Datagram 91

7.8 Internet Datagram Options 100

7.9 Summary 106

Chapter 8 Internet Protocol:Routing IP Datagrams 109

8.1 Introduction 109

8.2 Routing In An Internet 109

8.3 Direct And Indirect Delivery 111

8.4 Table-Driven IP Routing 113

8.5 Next-Hop Routing 113

8.6 Default Routes 115

8.7 Host-Specific Routes 115

8.8 The IP Routing Algorithm 116

8.9 Routing With IP Addresses 116

8.10 Handling Incoming Datagrams 118

8.11 Establishing Routing Tables 119

8.12 Summary 119

Chapter 9 Internet Protocol:Error And Control Messages(ICMP) 123

9.1 Introduction 123

9.2 The Internet Control Message Protocol 123

9.3 Error Reporting vs.Error Correction 124

9.4 ICMP Message Delivery 125

9.5 ICMP Message Format 126

9.6 Testing Destination Reachability And Status(Ping) 127

9.7 Echo Request And Reply Message Format 128

9.8 Reports Of Unreachable Destinations 128

9.9 Congestion And Datagram Flow Control 130

9.10 Source Quench Format 130

9.11 Route Change Requests From Routers 131

9.12 Detecting Circular Or Excessively Long Routes 133

9.13 Reporting Other Problems 134

9.14 Clock Synchronization And Transit Time Estimation 134

9.15 Information Request And Reply Messages 136

9.16 Obtaining A Subnet Mask 136

9.17 Summary 137

Chapter 10 Subnet And Supernet Address Extensions 139

10.1 Introduction 139

10.2 Review Of Relevant Facts 139

10.3 Minimizing Network Numbers 140

10.4 Transparent Routers 141

10.5 Proxy ARP 142

10.6 Subnet Addressing 143

10.7 Flexibility In Subnet Address Assignment 146

10.8 Implementation Of Subnets With Masks 147

10.9 Subnet Mask Representation 148

10.10 Routing In The Presence Of Subnets 149

10.11 The Subnet Routing Algorithm 150

10.12 A Unified Routing Algorithm 151

10.13 Maintenance Of Subnet Masks 152

10.14 Broadcasting To Subnets 152

10.15 Supernet Addressing 153

10.16 The Effect Of Supernetting On Routing 154

10.17 Summary 155

Chapter 11 Protocol Layering 159

11.1 Introduction 159

11.2 The Need For Multiple Protocols 159

11.3 The Conceptual Layers Of Protocol Software 160

11.4 Functionality Of The Layers 163

11.5 X.25 And Its Relation To The ISO Model 164

11.6 Differences Between X.25 And Internet Layering 167

11.7 The Protocol Layering Principle 169

11.8 Layering In The Presence Of Network Substructure 171

11.9 Two Important Boundaries In The TCP/IP Model 173

11.10 The Disadvantage Of Layering 174

11.11 The Basic Idea Behind Multiplexing And Demultiplexing 174

11.12 Summary 176

Chapter 12 User Datagram Protocol(UDP) 179

12.1 Introduction 179

12.2 Identifying The Ultimate Destination 179

12.3 The User Datagram Protocol 180

12.4 Format Of UDP Messages 181

12.5 UDP Pseudo-Header 182

12.6 UDP Encapsulation And Protocol Layering 183

12.7 Layering And The UDP Checksum Computation 185

12.8 UDP Multiplexing,Demultiplexing,And Ports 185

12.9 Reserved And Available UDP Port Numbers 186

12.10 Summary 188

Chapter 13 Reliable Stream Transport Service(TCP) 191

13.1 Introduction 191

13.2 The Need For Stream Delivery 191

13.3 Properties Of The Reliable Delivery Service 192

13.4 Providing Reliability 193

13.5 The Idea Behind Sliding Windows 195

13.6 The Transmission Control Protocol 198

13.7 Ports,Connections,And Endpoints 199

13.8 Passive And Active Opens 201

13.9 Segments,Streams,And Sequence Numbers 201

13.10 Variable Window Size And Flow Control 202

13.11 TCP Segment Format 203

13.12 Out Of Band Data 205

13.13 Maximum Segment Size Option 206

13.14 TCP Checksum Computation 207

13.15 Acknowledgements And Retransmission 208

13.16 Timeout And Retransmission 209

13.17 Accurate Measurement Of Round Trip Samples 211

13.18 Karn s Algorithm And Timer Backoff 212

13.19 Responding To High Variance In Delay 213

13.20 Response To Congestion 214

13.21 Establishing A TCP Connection 216

13.22 Initial Sequence Numbers 217

13.23 Closing a TCP Connection 217

13.24 TCP Connection Reset 219

13.25 TCP State Machine 219

13.26 Forcing Data Delivery 221

13.27 Reserved TCP Port Numbers 221

13.28 TCP Performance 221

13.29 Silly Window Syndrome And Small Packets 223

13.30 Avoiding Silly Window Syndrome 224

13.31 Summary 227

Chapter 14 Routing:Cores,Peers,And Algorithms(GGP) 231

14.1 Introduction 231

14.2 The Origin Of Routing Tables 232

14.3 Routing With Partial Information 233

14.4 Original Internet Architecture And Cores 234

14.5 Core Routers 235

14.6 Beyond The Core Architecture To Peer Backbones 238

14.7 Automatic Route Propagation 240

14.8 Vector Distance(Bellman-Ford)Routing 240

14.9 Gateway-To-Gateway Protocol(GGP) 242

14.10 GGP Message Formats 243

14.11 Link-State(SPF)Routing 245

14.12 SPF Protocols 246

14.13 Summary 246

Chapter 15 Routing:Autonomous Systems(EGP) 249

15.1 Introduction 249

15.2 Adding Complexity To The Architectural Model 249

15.3 A Fundamental Idea:Extra Hops 250

15.4 Autonomous System Concept 252

15.5 Exterior Gateway Protocol(EGP) 254

15.6 EGP Message Header 255

15.7 EGP Neighbor Acquisition Messages 256

15.8 EGP Neighbor Reachability Messages 257

15.9 EGP Poll Request Messages 258

15.10 EGP Routing Update Messages 259

15.11 Measuring From The Receiver s Perspective 261

15.12 The Key Restriction Of EGP 262

15.13 Technical Problems 264

15.14 Decentralization Of Internet Architecture 264

15.15 Beyond Autonomous Systems 264

15.16 Summary 265

Chapter 16 Routing:In An Autonomous System(RIP,OSPF,HELLO) 267

16.1 Introduction 267

16.2 Static Vs.Dynamic Interior Routes 267

16.3 Routing Information Protocol(RIP) 270

16.4 The Hello Protocol 276

16.5 Combining RIP,Hello,And EGP 278

16.6 The Open SPF Protocol(OSPF) 279

16.7 Routing With Partial Information 286

16.8 Summary 286

Chapter 17 Internet Multicasting(IGMP) 289

17.1 Introduction 289

17.2 Hardware Broadcast 289

17.3 Hardware Multicast 290

17.4 IP Multicast 291

17.5 IP Multicast Addresses 291

17.6 Mapping IP Multicast To Ethernet Multicast 292

17.7 Extending IP To Handle Multicasting 293

17.8 Internet Group Management Protocol 294

17.9 IGMP Implementation 294

17.10 Group Membership State Transitions 295

17.11 IGMP Message Format 296

17.12 Multicast Address Assignment 297

17.13 Propagating Routing Information 297

17.14 The Mrouted Program 298

17.15 Summary 300

Chapter 18 TCP/IP Over ATM Networks 303

18.1 Introduction 303

18.2 ATM Hardware 304

18.3 Large ATM Networks 304

18.4 The Logical View Of An ATM Network 305

18.5 The Two ATM Connection Paradigms 306

18.6 Paths,Circuits,And Identifiers 307

18.7 ATM Cell Transport 308

18.8 ATM Adaptation Layers 308

18.9 AAL5 Convergence,Segmentation,And Reassembly 311

18.10 Datagram Encapsulation And IP MTU Size 311

18.11 Packer Type And Multiplexing 312

18.12 IP Address Binding In An ATM Network 313

18.13 Logical IP Subnet Concept 314

18.14 Connection Management 315

18.15 Address Binding Within An LIS 316

18.16 ATMARP Packet Format 316

18.17 Using ATMARP Packets To Determine An Address 318

18.18 Obtaining Entries For A Server Database 320

18.19 Timing Out ATMARP Information In A Server 320

18.20 Timing Out ATMARP Information In A Host Or Router 320

18.21 Summary 321

Chapter 19 Client-Server Model Of Interaction 325

19.1 Introduction 325

19.2 The Client-Server Model 325

19.3 A Simple Example:UDP Echo Server 326

19.4 Time And Date Service 328

19.5 The Complexity Of Servers 329

19.6 RARP Server 330

19.7 Alternatives To The Client-Server Model 331

19.8 Summary 332

Chapter 20 The Socket Interface 335

20.1 Introduction 335

20.2 The UNIX I/O Paradigm And Network I/O 336

20.3 Adding Network I/O to UNIX 336

20.4 The Socket Abstraction 337

20.5 Creating A Socket 337

20.6 Socket Inheritance And Termination 338

20.7 Specifying A Local Address 339

20.8 Connecting Sockets To Destination Addresses 340

20.9 Sending Data Through A Socket 341

20.10 Receiving Data Through A Socket 343

20.11 Obtaining Local And Remote Socket Addresses 344

20.12 Obtaining And Setting Socket Options 345

20.13 Specifying A Queue Length For A Server 346

20.14 How A Server Accepts Connections 346

20.15 Servers That Handle Multiple Services 347

20.16 Obtaining And Setting Host Names 348

20.17 Obtaining And Setting The Internal Host Domain 349

20.18 BSD UNIX Network Library Calls 349

20.19 Network Byte Order Conversion Routines 350

20.20 IP Address Manipulation Routines 351

20.21 Accessing The Domain Name System 352

20.22 Obtaining Information About Hosts 354

20.23 Obtaining Information About Networks 355

20.24 Obtaining Information About Protocols 355

20.25 Obtaining Information About Network Services 356

20.26 An Example Client 357

20.27 An Example Server 359

20.28 Summary 362

Chapter 21 Bootstrap And Autoconfiguration(BOOTP,DHCP) 365

21.1 Introduction 365

21.2 The Need For An Alternative To RARP 366

21.3 Using IP To Determine An IP Address 366

21.4 The BOOTP Retransmission Policy 367

21.5 The BOOTP Message Format 368

21.6 The Two-Step Bootstrap Procedure 369

21.7 Vendor-Specific Field 370

21.8 The Need For Dynamic Configuration 370

21.9 Dynamic Host Configuration 372

21.10 Dynamic IP Address Assignment 372

21.11 Obtaining Multiple Addresses 373

21.12 Address Acquisition States 374

21.13 Early Lease Termination 374

21.14 Lease Renewal States 376

21.15 DHCP Message Format 377

21.16 DHCP Options And Message Type 378

21.17 Option Overload 379

21.18 DHCP And Domain Names 379

21.19 Summary 380

Chapter 22 The Domain Name System(DNS) 383

22.1 Introduction 383

22.2 Names For Machines 384

22.3 Flat Namespace 384

22.4 Hierarchical Names 385

22.5 Delegation Of Authority For Names 386

22.6 Subset Authority 386

22.7 TCP/IP Internet Domain Names 387

22.8 Official And Unofficial Internet Domain Names 388

22.9 Items Named And Syntax Of Names 390

22.10 Mapping Domain Names To Addresses 391

22.11 Domain Name Resolution 393

22.12 Efficient Translation 394

22.13 Caching:The Key To Efficiency 395

22.14 Domain Server Message Format 396

22.15 Compressed Name Format 399

22.16 Abbreviation Of Domain Names 399

22.17 Inverse Mappings 400

22.18 Pointer Queries 401

22.19 Object Types And Resource Record Contents 401

22.20 Obtaining Authority For A Subdomain 402

22.21 Summary 403

Chapter 23 Applications:Remote Login(TELNET,Rlogin) 407

23.1 Introduction 407

23.2 Remote Interactive Computing 407

23.3 TELNET Protocol 408

23.4 Accommodating Heterogeneity 410

23.5 Passing Commands That Control The Remote Side 412

23.6 Forcing The Server To Read A Control Function 414

23.7 TELNET Options 414

23.8 TELNET Option Negotiation 415

23.9 Rlogin(BSD UNIX) 416

23.10 Summary 417

Chapter 24 Applications:File Transfer And Access(FTP,TFTP,NFS) 419

24.1 Introduction 419

24.2 File Access And Transfer 419

24.3 On-line Shared Access 420

24.4 Sharing By File Transfer 421

24.5 FTP:The Major TCP/IP File Transfer Protocol 421

24.6 FTP Features 422

24.7 FTP Process Model 422

24.8 TCP Port Number Assignment 424

24.9 The User s View Of FTP 424

24.10 An Example Anonymous FTP Session 426

24.11 TFTP 427

24.12 NFS 429

24.13 NFS Implementation 429

24.14 Remote Procedure Call(RPC) 430

24.15 Summary 431

Chapter 25 Applications:Electronic Mail(822,SMTP,MIME) 433

25.1 Introduction 433

25.2 Electronic Mail 433

25.3 Mailbox Names And Aliases 435

25.4 Alias Expansion And Mail Forwarding 435

25.5 The Relationship Of Internetworking And Mail 436

25.6 TCP/IP Standards For Electronic Mail Service 438

25.7 Electronic Mail Addresses 438

25.8 Pseudo Domain Addresses 440

25.9 Simple Mail Transfer Protocol(SMTP) 440

25.10 The MIME Extension For Non-ASCII Data 443

25.11 MIME Multipart Messages 444

25.12 Summary 445

Chapter 26 Applications:Internet Management(SNMP,SNMPv2) 447

26.1 Introduction 447

26.2 The Level Of Management Protocols 447

26.3 Architectural Model 448

26.4 Protocol Architecture 450

26.5 Examples of MIB Variables 451

26.6 The Structure Of Management Information 452

26.7 Formal Definitions Using ASN.I 453

26.8 Structure And Representation Of MIB Object Names 453

26.9 Simple Network Management Protocol 458

26.10 SNMP Message Format 460

26.11 Example Encoded SNMP Message 462

26.12 Summary 463

Chapter 27 Summary Of Protocol Dependencies 465

27.1 Introduction 465

27.2 Protocol Dependencies 465

27.3 Application Program Access 467

27.4 Summary 468

Chapter 28 Internet Security And Firewall Design 471

28.1 Introduction 471

28.2 Protecting Resources 472

28.3 The Need For An Information Policy 472

28.4 Communication,Cooperation,And Mutual Mistrust 474

28.5 Mechanisms For Internet Security 475

28.6 Firewalls And Internet Access 476

28.7 Multiple Connections And Weakest Links 477

28.8 Firewall Implementation And High-Speed Hardware 478

28.9 Packet-Level Filters 479

28.10 Security And Packet Filter Specification 480

28.11 The Consequence Of Restricted Access For Clients 481

28.12 Accessing Services Through A Firewall 481

28.13 The Details Of Firewall Architecture 483

28.14 Stub Network 484

28.15 An Alternative Firewall Implementation 484

28.16 Monitoring And Logging 485

28.17 Summary 486

Chapter 29 The Future Of TCP/IP(IPng,IPv6) 489

29.1 Introduction 489

29.2 Why Change TCP/IP And The Internet? 490

29.3 Motivation For Changing IPv4 491

29.4 The Road To A New Version Of IP 492

29.5 The Name Of The Next IP 492

29.6 Features Of IPv6 493

29.7 General Form Of An IPv6 Datagram 494

29.8 IPv6 Base Header Format 494

29.9 IPv6 Extension Headers 496

29.10 Parsing An IPv6 Datagram 497

29.11 IPv6 Fragmentation And Reassembly 498

29.12 The Consequence Of End-To-End Fragmentation 498

29.13 IPv6 Source Routing 500

29.14 IPv6 Options 500

29.15 Size Of The IPv6 Address Space 502

29.16 IPv6 Colon Hexadecimal Notation 502

29.17 Three Basic IPv6 Address Types 503

29.18 The Duality Of Broadcast And Multicast 504

29.19 An Engineering Choice And Simulated Broadcast 504

29.20 Proposed IPv6 Address Space Assignment 504

29.21 Ipv6 Address Encoding And Transition 506

29.22 Providers,Subscribers,And Address Hierarchy 506

29.23 Additional Hierarchy 507

29.24 Summary 508

Appendix 1 A Guide To RFCs 511

Appendix 2 Glossary Of Internetworking Terms And Abbreviations 557

Bibliography 591

Index 599