Douglas E.Comer是Purdue大學計算機系的教授,是ACM的會員。他著有《TCP/IP網(wǎng)絡互連》(三卷本)、《計算機網(wǎng)絡和互連網(wǎng)(第二版)》和《因特網(wǎng)手冊》等很多最為暢銷的作品。Comer還是DARPA分布體系結構委員會、CSNET技術委員會的主席,也曾是互連網(wǎng)體系結構委員會(IAB)成員。
圖書目錄
Chapter 1 Introduction And Overview 1.1 The Motivation For Internetworking 1.2 The TCP/IP Internet 1.3 Internet Services 1.4 History And Scope Of The Internet 1.5 The Internet Architecture Board 1.6 The IAB Reorganization 1.7 The Internet Society 1.8 Internet Request For Comments 1.9 Internet Protocols And Standardization 1.10 Future Growth And Technology 1.11 Organization Of The Text 1.12 Summary Chapter2 Review Of Underlying Network Technologies 2.1 Introduction 2.2 Two Approaches To Network Communication 2.3 Wide Area And Local Area Networks 2.4 Ethernet Technology 2.5 Fiber Distributed Data Interconnect(FDDI) 2.6 Asynchronous Transfer Mode 2.7 WAN Technologies:ARPANET 2.8 National Science Foundation Networking 2.9 ANSNET 2.10 A Very High Speed Backbone(vBNS) 2.11 Other Technologies Over Which TCP/IP Has Been Used 2.12 Summary And Conclusion Chapter 3 Internetworking Concept And Architectural Model 3.1 Introduction 3.2 Application-Level Interconnection 3.3 Network-Level Interconnection 3.4 Properties Of The Internet 3.5 Internet Architecture 3.6 Interconnection Through IP Routers 3.7 The User’s View 3.9 The Unanswered Questions 3.10 Summary Chapter 4 Classful Internet Addresses 4.1 Introduction 4.2 Universal Identifiers 4.3 The Original Classful Addressing Scheme 4.4 Addresses Specify Network Connections 4.5 Network And Directed Broadcast Addresses 4.6 Limited Broadcast 4.7 Interpreting Zero To Mean “This” 4.8 Subnet And Supernet Extensions 4.9 IP Multicast Addresses 4.10 Weaknesses In Internet Addressing 4.11 Dotted Decimal Notation 4.12 Loopback Address 4.13 Summary Of Special Address Conventions 4.14 Internet Addressing Authority 4.15 Reserved Address Prefixes 4.16 An Example 4.17 Network Bye Order 4.18 Summary Chapter 5 Mapping Internet Addresses To Physical Addresses(ARP) 5.1 Introduction 5.2 The Address Resolution Problem 5.3 Two Types Of Physical Addresses 5.4 Resolution Through Direct Mapping 5.5 The Address Resolution Cache 5.6 The Address Resolution Cache 5.7 ARP Cache Timeout 5.8 ARP Refinements 5.9 Relationship Of ARP To Other Protocols 5.10 ARP Encapsulation And Identification 5.12 ARP Protocol Format 5.13 Summary Chapter 6 Determining An Internet Address At Startup(RARP) 6.1 Introduction 6.2 Reverse Address Resolution Protocol(RARP) 6.3 Timing RARP Transactions 6.4 Primary And Backup RARP Servers 6.5 Summary Chapter 7 Internet Protocol:Connectionless Datagram Delivery 7.1 Introduction 7.2 A Virtual Network 7.3 Internet Architecture And Philosophy 7.4 The Conceptual Service Organization 7.5 Connectionless Delivery System 7.6 Purpose Of The Internet Protocol 7.7 The Internet Datagram 7.8 Internet Datagram Options 7.9 Summary Chapter 8 Internet Protocol:Routing IP Datagrams 8.1 Introduction 8.2 Routing In An Internet 8.3 Direct And Indirect Delivery 8.4 Table-Driven IP Routing 8.5 Next-Hop Routing 8.6 Default Routes 8.7 Host-Specific Routes 8.8 The IP Routing Algorithm 8.9 Routing With IP Addresses 8.10 Handling Incoming Datagrams 8.11 Establishing Routing Tables 8.12 Summary Chapter 9 Internet Protocol:Error And Control Messages(ICMP) 9.1 Introduction 9.2 The Internet Control Message Protocol 9.3 Error Reporting vs. Error Correction 9.4 ICMP Message Delivery 9.5 ICMP Message Format 9.6 Testing Destination Reachability And Status(Ping) 9.7 Echo Request And Reply Message Format 9.8 Reports Of Unreachable Destinations 9.9 Congestion And Datagram Flow Control 9.10 Source Quench Format 9.11 Route Change Requests From Routers 9.12 Detecting Circular Or Excessively Long Routes 9.13 Reporting Other Problems 9.14 Clock Synchronization And Transit Time Estimation 9.15 Information Request And Reply Messages 9.16 Obtaining A Subnet Mask 9.17 Router Discovery 9.18 Router Solicitation 9.19 Summary Chapter 10 Classless And Subnet Address Extensions(CIDR) 10.1 Introduction 10.2 Review Of Relevant Facts 10.3 Minimizing Network Numbers 10.4 Transparent Routers 10.5 Proxy ARP 10.6 Subnet Addressing 10.7 Flexibility In Subnet Address Assignment 10.8 Variable-Length Subnets 10.9 Implementation Of Subnets With Masks 10.10 Subnet Mask Representation 10.11 Routing In The Presence Of Subnets 10.12 The Subnet Routing Algorithm 10.13 A Unified Routing Algorithm 10.14 Maintenance Of Subnet Masks 10.15 Broadcasting To Subnets 10.16 Anonymous Point-To-Point Networks 10.17 Classless Addressing(Supernetting) 10.18 The Effect Of Supernetting On Routing 10.19 CIDR Address Blocks And Bit Masks 10.20 Address Blocks And CIDR Notation 10.21 A Classless Addressing Example 10.22 Data Structures And Algorithms For Classless Lookup 10.23 Longest-Match Routing And Mixtures Of Route Types 10.24 CIDR Blocks Reserved For Private Networks 10.25 Summary Chapter 11 Protocol Layering 11.1 Introduction 11.2 The Need For Multiple Protocols 11.3 The Conceptual Layers Of Protocol Software 11.4 Functionality Of The Layers 11.5 X.25 And Its Relation To The ISO Model 11.6 Differences Between ISO And Internet Layering 11.7 The Protocol Layering Principle 11.8 Layering In The Presence Of Network Substructure 11.9 Two Important Boundaries In The TCP/IP Model 11.10 The Disadvantage Of Layering 11.11 The Basic Idea Behind Multiplexing And Demultiplexing 11.12 Summary Chapter 12 User Datagram Protocol(UDP) 12.1 Introduction 12.2 Identifying The Ultimate Destination 12.3 The User Datagram Protocol 12.4 Format Of UDP Messages 12.5 UDP Pseudo-Header 12.6 UDP Encapsulation And Protocol Layering 12.7 Layering And The UDP Checksum Computation 12.8 UDP Multiplexing,Demultiplexing,And Ports 12.9 Reserved And Available UDP Port Numbers 12.10 Summary Chapter 13 Reliable Stream Transport Service(TCP) 13.1 Introduction 13.2 The Need For Stream Delivery 13.3 Properties Of The Reliable Delivery Service 13.4 Providing Reliability 13.5 The Idea Behind Sliding Windows 13.6 The Transmission Control Protocol 13.7 Ports,Connections,And Endpoints 13.8 Passive And Active Opens 13.9 Segments,Streams,And Sequence Numbers 13.10 Variable Window Size And Flow Control 13.11 TCP Segment Format 13.12 Out Of Band Data 13.13 Maximum Segment Size Option 13.14 TCP Checksum Computation 13.15 Acknowledgements And Retransmission 13.16 Timeout And Retransmission 13.17 Accurate Measurement Of Round Trip Samples 13.18 Karn’s Algorithm And Timer Backoff 13.19 Responding To High Variance In Delay 13.20 Response To Congestion 13.21 Congestion,Tail Drop,And TCP 13.22 Random Early Discard(RED) 13.23 Establishing A TCP Connection 13.24 Initial Sequence Numbers 13.25 Closing a TCP Connection 13.26 TCP Connection Reset 13.27 TCP State Machine 13.28 Forcing Data Delivery 13.29 Reserved TCP Port Numbers 13.30 TCP Performance 13.31 Silly Window Syndrome And Small Packets 13.32 Avoiding Silly Window Syndrome 13.33 Summary Chapter 14 Routing:Cores,Peers,And Algorithms 14.1 Introduction 14.2 The Origin Of Routing Tables 14.3 Routing With Partial Information 14.4 Original Internet Architecture And Cores 14.5 Core Routers 14.6 Beyond The Core Architecture To Peer Backbones 14.7 Automatic Route Propagation 14.8 Distance Vector (Bellman-Ford)Routing 14.9 Gateway-To-Gateway Protocol(GGP) 14.10 Distance Factoring 14.11 Reliability And Routing Protocols 14.12 Link-State(SPE)Routing 14.13 Summary Chapter 15 Routing:Exterior Gateway Protocols And Autonomous Systems(BGP) 15.1 Introduction 15.2 Adding Complexity To The Architectural Model 15.3 Determining A Practical Limit On Group Size 15.4 A Fundamental Idea:Extra Hops 15.5 Hidden Networks 15.6 Autonomous System Concept 15.7 From A Core To Independent Autonomous Systems 15.8 An Exterior Gateway Protocol 15.9 BGP Characteristics 15.10 BGP Functionality And Message Types 15.11 BGP Message Header 15.12 BGP OPEN Message 15.13 BGP UPDATE Message 15.14 Compressed Mask-Address Pairs 15.15 BGP Path Attributes 15.16 BGP KEEPALIVE Message 15.17 Information From The Receiver’s Perspective 15.18 The Key Restriction Of Exterior Gateway Protocols 15.19 The Internet Routing Arbiter System 15.20 BGP NOTIFICATION Message 15.21 Decentralization Of Internet Architecture 15.22 Summary Chapter 16 Routing:In An Autonomous System(RIP,OSPF,HELLO) 16.1 Introduction 16.2 Static Vs. Dynamic Interior Routes 16.3 Routing Information Protocol(RIP) 16.4 The Hello Protocol 16.5 Delay Metrics And Oscillation 16.6 Combining RIP,Hello,And BGP 16.7 Inter-Autonomous System Routing 16.8 Gated:Inter-Autonomous System Communication 16.9 The Open SPF Protocol(OSPF) 16.10 Routing With Partial Information 16.11 Summary Chapter 17 Internet Multicasting 17.1 Introduction 17.2 Hardware Broadcast 17.3 Hardware Origins Of Multicast 17.4 Ethernet Multicast 17.5 IP Multicast 17.6 The Conceptual Pieces 17.7 IP Multicast Addresses 17.8 Multicast Address Semantics 17.9 Mapping IP Multicast To Ethernet Multicast 17.10 Hosts And Multicast Delivery 17.11 Multicast Scope 17.12 Extending Host Software To Handle Multicasting 17.13 Internet Group Management Protocol 17.14 IGMP Implementation 17.15 Group Membership State Transitions 17.16 IGMP Message Format 17.17 Multicast Forwarding And Routing Information 17.18 Basic Multicast Routing Paradigms 17.19 Consequences Of TRPF 17.20 Multicast Trees 17.21 The Essence Of Multicast Routing 17.22 Reverse Path Multicasting 17.23 Distance Vector Multicast Routing Protocol 17.24 The Mrouted Program 17.25 Alternative Protocols 17.26 Core Based Trees(CBT) 17.27 Protocol Independent Multicast(PIM) 17.28 Multicast Extensions To OSPF(MOSPF) 17.29 Reliable Multicast And ACK Implosions 17.30 Summary Chapter 18 TCP/IP Over ATM Networks 18.1 Introduction 18.2 ATM Hardware 18.3 Large ATM Networks 18.4 The Logical View Of An ATM Network 18.5 The Two Connection Paradigms 18.6 Paths,Circuits,And Identifiers 18.7 ATM Cell Transport 18.8 ATM Adaptaion Layers 18.9 ATM Adaptation Layer 5 18.10 AAL5 Convergence,Segmentation,And Reassembly 18.11 Datagram Encapsulation And IP MTU Size 18.12 Packet Type And Multiplexing 18.13 IP Address Binding In An ATM Network 18.14 Logical IP Subnet Concept 18.15 Connection Management 18.16 Address Binding Within An LIS 18.17 ATMARP Packet Format 18.18 Using ATMARP packets To Determine An Address 18.19 Obtaining Entries For A Server Database 18.20 Timing Out ATMARP Information In A Server 18.21 Timing Out ATMARP Information In A Host Or Router 18.22 IP Switching Technologies 18.23 Switch Operation 18.24 Optimized IP Forwarding 18.25 Classification,F(xiàn)lows,And Higher Layer Switching 18.26 Applicability Of Switching Technology 18.27 Summary Chapter 19 Mobile IP 19.1 Introduction 19.2 Mobility,Routing,and Addressing 19.3 Mobile IP Characteristics 19.4 Overview Of Mobile IP Operation 19.5 Mobile Addressing Details 19.6 Foreign Agent Discovery 19.7 Agent Registration 19.8 Registration Message Format 19.9 Communication With A Foreign Agent 19.10 Datagram Transmission And Reception 19.11 The Two-Crossing Problem 19.12 Communication With Computers On the Home Network 19.13 Summary Chapter 20 Private Network Interconnection(NAT,VPA) 20.1 Introduction 20.2 Private And Hybrid Networks 20.3 A Virtual Private Network(VPN) 20.4 VPN Addressing And Routing 20.5 AVPN With Private Addresses 20.6 Network Address Translation(NAT) 20.7 NAT Translation Table Creation 20.8 Multi-Address NAT 20.9 Port-Mapped NAT 20.10 Interaction Between NAT And ICMP 20.11 Interaction Between NAT And Applications 20.12 Conceptual Address Domains 20.13 Slirp And Masquerade 20.14 Summary Chapter 21 Client-Server Model Of Interaction 21.1 Introduction 21.2 The Client-Server Model 21.3 A Simple Example:UDP Echo Server 21.4 Time And Date Service 21.5 The Complexity of Servers 21.6 RARP Server 21.7 Alternatives To The Client-Server Model 21.8 Summary Chapter 22 The Socket Interface 22.1 Introduction 22.2 The UNIX I/O Paradigm And Network I/O 22.3 Adding Network I/O to UNIX 22.4 The Socket Abstraction 22.5 Creating A Socket 22.6 Socket Inheritance And Termination 22.7 Specifying A Local Address 22.8 Connecting Sockets To Destination Addresses 22.9 Sending Data Through A Socket 22.10 Receiving Data Through A Socket Addresses 22.11 Obtaining Local And Remote Socket Addresses 22.12 Obtaining And Setting Socket Options 22.13 Specifying A Queue Length For A Server 22.14 How A Server Accepts Connections 22.15 Servers That Handle Multiple Services 22.16 Obtaining And Setting Host Names 22.17 Obtaining And Setting The Internal Host Domain 22.18 Socket Library Calls 22.19 Network Byte Order Conversion Routines 22.20 IP Address Manipulation Routines 22.21 Accessing The Domain Name System 22.22 Obtaining Information About Hosts 22.23 Obtaining Information About Networks 22.24 Obtaining Information About Protocols 22.25 Obtaining Information About Network Services 22.26 An Example Client 22.27 An Example Server 22.28 Summary Chapter 23 Bootstrap And Autoconfiguration(NOOTP,DHCP) 23.1 Introduction 23.2 The Need An Alternative To RARP 23.3 Using IP To Determine An IP Address 23.4 The BOOTP Retransmission Policy 23.5 The BOOTP Message Format 23.6 The Two-Step Bootstrap Procedure 23.7 Vendor-Specific Field 23.8 The Need For Dynamic Configuration 23.9 Dynamic Host Configuration 23.10 Dynamic IP Address Assignment 23.11 Obtaining Multiple Addresses 23.12 Address Acquisition States 23.14 Lease Renewal States 23.15 DHCP Message Format 23.16 DHCP Options And Message Type 23.17 Option Overload 23.18 DHCP And Domain Names 23.19 Summary Chapter 24 The Domain Name System(DNS) 24.1 Introduction 24.2 Names For Machines 24.4 Hierarchical Names 24.5 Delegation Of Authority For Names 24.6 Subset Authority 24.7 Internet Domain Names 24.8 Official And Unofficial Internet Domain Names 24.9 Named Items And Syntax Of Names 24.10 Mapping Domain Names To Addresses 24.11 Domain Name Resolution 24.12 Efficient Translation 24.13 Caching:The Key To Efficiency 24.14 Domain Server Message Format 24.15 Compressed Name Format 24.16 Abbreviation Of Domain Names 24.17 Inverse Mappings 24.18 Pointer Queries 24.19 Object Types And Resource Record Contents 24.20 Obtaining Authority For A Subdomain 24.21 Summary Chapter 25 Applications:Remote Login(TELNET,Rlogin) 25.1 Introduction 25.2 Remote Interactive Computing 25.3 TELNET Protocol 25.4 Accommodating Heterogeneity 25.5 Passing Commands That Control The Remote Side 25.6 Forcing The Server To Read A Control Function 25.7 TELNET Options 25.8 TELNET Option Negotiation 25.9 Rlogin(BSD UNIX) 25.10 Summary Chapter 26 Applications:File Transfer And Access(FTP,TFTP,NFS) 26.1 Introduction 26.2 File Access And Transfer 26.3 On-line Shared Access 26.4 Sharing By File Transfer 26.5 FTP:The Major TCP/IP File Transfer Protocol 26.6 FTP Features 26.7 FTP Process Model 26.8 TCP Port Number Assignment 26.9 The User’s View Of FTP 26.10 An Example Anonymous FTP Session 26.11 TFTP 26.12 NFS 26.13 NFS Implementation 26.14 Remote Procedure Call(RPC) 26.15 Summary Chapter 27 Applications:Electronic Mail(SMTP,POP,IMAP,MIME) 27.1 Introduction 27.2 Electronic Mail 27.3 Mailbox Names And Aliases 27.4 Alias Expansion And Mail Forwarding 27.5 The Relationship Of Internetworking And Mail 27.6 TCP?IP Standards For Electronic Mail Service 27.7 Electronic Mail Addresses 27.8 Pseudo Domain Addresses 27.9 Simple Mail Transfer Protocol(SMTP) 27.10 Mail Retrieval And Mailbox Manipulation Protocols 27.11 The MIME Extension for Non-ASCII Data 27.12 MIME Multipart Messages 27.13 Summary Chapter 28 Applications :World Wide Web(HTTP) 28.1 Introduction 28.2 Importance Of The Web 28.3 Architectural Components 28.4 Uniform Resource Locators 28.5 An Example Document 28.6 Hypertext Transfer Protocol 28.7 HTTP GET Request 28.8 Error Messages 28.9 Persistent Connections And Lengths 28.10 Data Length And Program Output 28.11 Length Encoding And Headers 28.12 Negotiation 28.13 Conditional Requests 28.14 Support For Proxy Servers 28.15 Caching 28.16 Summary Chapter 29 Applications :Voice And Video Over IP(RTP) 29.1 Introduction 29.2 Audio Clips And Encoding Standards 29.3 Audio And Video Transmission And Reproduction 29.4 Jitter And Playback Delay 29.5 Real-Time Transport Protocol(RTP) 29.6 Streams,Mixing,And Multicasting 29.7 RTP Encapsulation 29.8 RTP Control Protocol(RTCP) 29.9 RTCP Operation 29.10 IP Telephony And Signaling 29.11 Resource Reservation And Quality Of Service 29.12 QoS,Utilization,And Capacity 29.13 RSVP 29.14 COPS 29.15 Summary Chapter 30 Applications :Internet Management(SNMP) 30.1 Introduction 30.2 The Level Of Management Protocols 30.3 Architectural Model 30.4 Protocol Framework 30.5 Examples of MIB Variables 30.6 The Structure Of Management Information 30.7 Formal Definitions Using ASN.1 30.8 Structure And Representation Of MIB Object Names 30.9 Simple Network Management Protocol 30.10 SNMP Message Format 30.11 Example Encoded SNMP Message 30.12 New Features In SNMPv3 30.13 Summary Chapter 31 Summary Of Protocol Dependencies 31.1 Introduction 31.2 Protocol Dependencies 31.3 The Hourglass Model 31.4 Application Program Access 31.5 Summary Chapter 32 Internet Security And Firewall Design(Ipsec) 32.1 Introduction 32.2 Protecting Resources 32.3 Information Policy 32.4 Internet Security 32.5 IP Security(IPsec) 32.6 IPsec Authentication Header 32.7 Security Association 32.8 IPsec Encapsulating Security Payload 32.9 Authentication And Mutable Header Fields 32.10 IPsec Tunneling 32.11 Required Security Algorithms 32.12 Secure Sockets 32.13 Firewalls And Internet Access 32.14 Multiple Connections And Weakest Links 32.15 Firewall Implementation 32.16 Packet-Level Filters 32.17 Security And Packet Filter Specification 32.18 The Consequence Of Restricted Access For Clients 32.19 Proxy Access Through A Firewall 32.20 The Details Of Firewall Architecture 32.21 Stub Network 32.22 An Alternative Firewall Implementation 32.23 Monitoring And Logging 32.24 Summary Chapter 33 The Future Of TCP/IP(Ipv6) 33.1 Introduction 33.2 Why Change? 33.3 New Policies 33.4 Motivation For Changing Ipv4 33.5 The Road To A New Version Of IP 33.6 The Name Of The Next IP 33.7 Features Of Ipv6 33.8 General Form Of An Ipv6 Datagram 33.9 Ipv6 Base Header Format 33.10 Ipv6 Extension Headers 33.11 Parsing An Ipv6 Datagram 33.12 Ipv6 Fragmentation And Reassembly 33.13 The Consequence Of End-To-End Fragmentation 33.14 Ipv6 Source Routing 33.15 Ipv6 Options 33.16 Size Of The Ipv6 Address Space 33.17 Ipv6 Colon Hexadecimal Notation 33.18 Three Basic IPv6 Address Types 33.19 The Duality Of Broadcast And Multicast 33.20 An Engineering Choice And Simulated Broadcast 33.21 Proposed Ipv6 Address Space Assignment 33.22 Embedded Ipv4 Addresses And Transition 33.23 Unspecified And Loopback Addresses 33.24 Unicast Address Hierarchy 33.25 Aggregatable Global Unicast Address Structure 33.26 Interface Identifiers 33.27 Additional Hierarchy 33.28 Local Addresses 33.29 Autoconfiguration And Renumbering 33.30 Summary Appendix 1 A Guide To RFCs Appendix 2 Glossary Of Internetworking Terms And Abbreviations Bibliography Index