书籍详情
TCP/IP网络互连技术(卷Ⅱ 设计与实现 英文版·第2版)
作者:(美)D.E.科默Douglas E.Comer,(美)D.L.史蒂文斯David L.Stevens著
出版社:清华大学出版社
出版时间:1998-01-01
ISBN:9787302029472
定价:¥30.00
购买这本书可以去
内容简介
本书是TCP/IP网络互连技术系列的第II卷,作者对第I卷“TCP/IP的原理、协议和体系结构”中许多专题展开了深入讨论,分析了TCP/IP软件,扩展了TCP/IP的基本概念并讨论了如何实现TCP/IP协议。本书引用了大量的工作系统中的源代码,阐述如何完整地实现TCP/IP和如何利用操作系统提供的服务来实现TCP/IP协议族。
作者简介
作者:DouglasE.ComerDouglasE.Comer博士从20世纪70年代开始从事互联网的研究和开发工作,他曾是互联网体系结构委员会的成员,该委员会是确定互联网发展标准的权威机构;他也曾任美国计算机网CSTNET技术委员会的主席,该网络是美国早期互联网建设中最重要的网络之一。他现在是美国普渡大学计算机科学系的教授,从事计算机网络和操作系统方面的教学和科研工作。Internet技术基础>>更多作品
目录
Foreword
Preface
Chapter1 Introduction And Overview
1.1 TCP/IP Protocols
1.2 The Need To Understand Details
1.3 Complexity Of Interactions Smong Protocols
1.4 The Approach In This Text
1.5 The Importahnce Of Studying Code
1.6 The Xinu Operating System
1.7 Organization Of The Rmainder Of The Book
1.8 Summary
Chapter2 The Structure Of TCP/IP Sotfware In An Operatin System
2.1 Introduction
2.2 The Process Concept
2.3 Process Priority
2.4 Communication Processes
2.5 Interprocess Communication
2.6 Device Drive,Input,And Output
2.7 Network Input and Interrupts
2.8 Pakking Packets To Higher Level Protocols
2.9 Passing Datagrams From IP R o Transport Protocols
2.10 Deliver To Application Pograms
2.11 Information Flow On Output
2.12 From TCP Through IP To Network Ouput
2.13 UDP Output
2.14 Summary
Chapter3 Network Interface Layer
3.1 Introduction
3.2 The NetWork Interface Abstraction
3.3 Logical State Of An Interface
3.4 Local Host Interface
3.5 Buffer Management
3.6 Demultiplexing Incoming Packets
3.7 Summary
Chapter4 Address Discovery And Binding
4.1 Introduction
4.2 Conceptual Organization Of ARP Software
4.3 Example ARP Design
4.4 Data Stuctures For The ARP Cache
4.5 ARP Output Processing
4.6 ARP Input Processing
4.7 ARP Cache Management
4.8 ARP Initialization
4.9 ARP Configuration Parameters
4.10 Summary
Chapter5 IP:global Software Organizatiion
5.1 Introduction
5.2 The CentralSwitch
5.3 IP Software Design
5.4 IP Software Organization And Datagram Flow
5.5 Byte-Ordering In The IP Header
5.6 Sending A Datagram To IP
5.7 Table Maitenace
5.8 Summary
Chapter6 IP:Routing Table And Routing Algorithm
6.1 Introduction
6.2 Route Maintenance And Lookup
6.3 Routing Table Organization
6.4 Routin Table Data Structres
6.5 Origin Of Routes And Persistenc
6.6 Routing A Datagram
6.7 Periodic Route Table Maintenace
6.8 IP Options Processing
6.9 Summary
Chapter7 IP:Fragmentaion And Reassembly
7.1 Introduction
7.2 Fragmenting Datagrams
7.3 Implementaion Of Fragmentaion
7.4 Datagram Reassembly
7.5 Maintenace Of Fragment Lists
7.6 Initialization
7.7 Summary
Chapter8 IP:Error Processing
8.1 Introduction
8.2 ICMP Message Formats
8.3 Implementation Of ICMP Messages
8.4 Handling Incoming ICMP Message
8.5 Hnddling An ICMP Redirect Message
8.6 Setting ASubnet Mask
8.7 Choosing A Source Address For An ICMP Packet
8.8 Generation ICMP Error Message
8.9 Avoiding Errors About Errors
8.10 Allocating A Buffer For ICMP
8.11 The Data Portion Of An ICMP Message
8.12 Generating An ICMP Redirect Message
8.13 Summary
Chapter9 IP:Multicast Processing
9.1 Introduction
9.2 Maintaining Multicast Group Membbership Information
9.3 A Host Group Table
9.4 Searching For AHost Group
9.5 Adding A Host Group Entry To The Table
9.6 Configuring The Network Interface For A Multicast Address
9.7 Translatrion Between IP and Hardware Multicast Addresser
9.8 Remving A Multicast Address FromThe HostGroup Table
9.9 Joining AHost Group
9.10 Maintaining Contact With A Multicast Router
9.11 Implementing IGMP Membership Reports
9.12 Computing A RandomDelay
9.13 A P rocess To Send IGMP Reports
9.14 Handing Incoming IGMP Messages
9.15 Leaving A Host Group
9.16 Initialization Of IGMP Data Structures
9.17 Summary
Chapter10 UDP:User Datagrams
10.1 Introduction
10.2 UDP Ports And Demultiplexing
10.3 UDP
10.4 UDP Output Processing
10.5 Summary
Chapter11 TCP:Data Structures And Input Processing
11.1 Introduction
11.2 Overview Of TCP Software
11.3 Transmission Control Blocks
11.4 TCP Segment Format
11.5 Sequence Space Comparison
11.6 TCP Finite State Machine
11.7 ExampleState Transition
11.8 Declaraion Of The Finite State Machine
11.9 TCB Allocation And Initialization
11.10 Implementaion Of The Finite State Machine
11.11 Handing An Input Segment
11.12 Summary
Chapter12 TCP:Finite StateMachie Implementation
12.1 Introduction
12.2 CLOSED State Processing
12.3 Graceful Shudown
12.4 Timed Delay After Closing
12.5 TIME-WAIT State Processing
12.6 CLOSING State Processing
12.7 FIN-WAIT-2 State Processing
12.8 FIN-WAIT-1 State Processing
12.9 CLOSE-WAIT State Processing
12.10 LAST-ACK State Processing
12.11 ESTABLISHEP State Processing
12.12 Processing Urgent Data In A Segment
12.13 Processing Other Data In A Segment
12.14 Keeping Track Of Received Octest
12.15 Abortin A TCP Connection
12.16 Establishing A TCP Connection
12.17 Initializing ATCB
12.18 SYN-SENT State Processing
12.19 SYN-RECEIVED State Processing
12.20 LISTEN StateProcessing
12.21 Initalizing Window Variables For A New TCB
12.22 Summary
Chapter13 TCP:Output Processing
13.1 Introduction
13.2 Controlling TCP Output Complexity
13.3 The Four TCP Output Staes
13.4 TCP Output As AProcess
13.5 TCP Output Messages
13.6 Encoding Output States And TCB Numbers
13.7 Implmentation Of The TCP Output Process
13.8 Mutual Exclusion
13.9 Implementation Of The IDLE State
13.10 Implementation Of The PERSIST State
13.11 Implementation Of The TRANSMIT State
13.12 Implementation Of The RETRANSMIT State
13.13 Sending A Segment
13.14 Computing The TCP Data Length
13.15 Comuting Sequence Counts
13.16 Other TCP Procedures
13.17 Summary
Chapter14 TCP:Timer Management
14.1 Introduction
14.2 A Genral Data Structure For Timed Events
14.3 A Data Structure For TCP Events
14.4 Timers,Events,And Messages
14.5 The TCP timer Process
14.6 Deleting A TCP Timer Event
14.7 Deleing AllEvents For A TCB
14.8 Determining The Time Remaining For An Event
14.9 Inserting A TCP Timer Event
14.10 Strting TCP Output Without Delay
14.11 Summary
Chapter15 TCP:Flow Control And Adaptive Retransmission
15.1 Introduction
15.2 The Difficulties With Adaptive Retransmission
15.3 Tuning Adaptive Retransmission
15.4 Retransmission Timer And Backoff
15.5 Window-Based Flow Control
15.6 Maximum Segment Size Computation
15.7 Congestion Avoidancd And Control
15.8 Slow -Start And Congestion Avoidance
15.9 Round Trip Estimation And Timeout
15.10 Miscellaneus Notes And Techniques
15.11 Summary
Chapter16 TCP:Urgent Data Processing And The Push Function
16.1 Introduction
16.2 Out-Of _Band Singnaling
16.3 Urgent Data
16.4 InterPreting The Standard
16.5 Configuration For Berkeley Urgent Pointer Interpretation
16.6 Informing AnApplication
16.7 Reading Data From TCP
16.8 Sending Urgent Data
16.9 TCP Push Function
16.10 Interpreting Push With Out-Off_Order Dlivery
16.11 Implementation Of Push On Input
16.12 Summary
Chapter17 Socket-Level Interface
17.1 Introduction
17.2 Interfacing Through A Device
17.3 TCP Connections AsDevices
17.4 An Example TCPClient Program
17.5 An Example TCP Server Program
17.6 Implementaion Of The TCP Master Device
17.7 Implementaionn Of A TCP Slave Device
17.8 Initialization Of A Slave Device
17.9 Summary
Chapter18 RIP:Active Route Pragation And Passive Acuisition
18.1 Introduction
18.2 Active And Passive Mode Participants
18.3 Basic RIP Algorithm An d Cost Metic
18.4 Instabiulities And Solutions
18.5 Message Types
18.6 Protocol Chatracterization
18.7 Implmentation Of Rip
18.8 The Principle RIP Process
18.9 Responding To An Incoming Request
18.10 Generationg Updata Messages
18.11 Initializing Copies Of An Update Message
18.12 Generationg Periodic RIP Output
18.13 Limitaions oOf RIP
18.14 Summary
Chapter19 OSPF:Foute Propagation With An SPF Algorithm
19.1 Introduction
19.2 OSPF Configuration And Options
19.3 OSPF's Graph-Theoretic Model
19.4 OSPF Declarations
19.5 Adjcency And Link State Propagation
19.6 Discoverign Neighboring Gateways With Hello
19.7 Sendign Hello Packets
19.8 Designated Router Concept
19.9 Electijng A Designated Router
19.10 Reforming Adjacencies After A Change
19.11 Handling Arriving Hello Packets
19.12 Adding A Gateway To The Neighbor List
19.13 Neighbor State Transitions
19.14 OSPF Timer Events And Retransmissons
19.15 Determing Whether Adjacency Is Permitted
19.16 Handling OSPF input
19.17 Declarations And Procedures For Link State Processing
19.18 Generation Datagase Description Packets
19.19 Creating A Template
19.20 Transmiting A Dataase Description Packet
19.21 Handlingt An Arriving Database Description Packet
19.22 Handling Link State Request Packets
19.23 Buelding A Link Stae Summary
19.24 OSPF Utility Procedures
19.25 Summary
Chapter20 SNMP:MIB Variables ,Representations,mAnd Bindings
20.1 Introduction
20.2 Server OrganizationAnd NameMapping
20.3 MIB Variables
20.4 MIB Variable Names
20.5 Lexicographic Orderingf Among Names
20.6 PrefixRemoval
20.7 Operations Applied To MIB Variables
20.8 Names For Tables
20.9 Conceptual Threading Of The Name Hierarchy
20.10 Data Structure For IB Variables
20.11 A Data Strctrue For Fa\ast Lookup
20.12 Implementatin Of The Hash Table
20.13 Spcification Of MIB Bindings
20.14 Internal Variables Used In Bindings
20.15 Hash Table Lookup
20.16 SNMP S tructrres And Constants
20.17 ASN.1 Representation Manipulation
20.18 Summary
Chapter21 SNMP:Client And Server
21.1 Introduction
21.2 Data Representation In The Server
21.3 Server Implementation
21.4 Parsing An SNMP Message
21.5 ConvertingASN.1 Names In The Bindig List
21.6 Resolving AQuery
21.7 Interpreting The Get-Next Operation
21.8 Indirect Application Of Operations
21.9 Indirection For Tables
21.10 Generating A Reply Message Backward
21.11 Converting From Internal Form to ASN.1
21.12 Utility Functons Used By The Server
21.13 Implementation Of An SNMP Client
21.14 Initialization Of Variables
21.15 Summary
Chapter22 SNMP:Table Access Functions
22.1 Introduction
22.2 Table Access
22.3 Object Identifiers For Tables
22.4 Address Entry Table Functions
22.5 Address Translation Table Functions
22.6 Network Interface Table Functions
22.7 Routing Table Funcitons
22.8 TCP Connection Table Functions
22.9 Summary
Chapter13 Implementation In Retrospect
23.1 Introduction
23.2 Statistical Analysis Of The Code
23.3 Lines Of Code For Ech Protocol
23.4 Functios And Procedures For Each Protocol
23.5 Summary
Appendix 1 Cross Reference Of Procedure Calls
Appendix 2 Xinu Functions And Constans Used InThe Code
Bibliography
Index
Preface
Chapter1 Introduction And Overview
1.1 TCP/IP Protocols
1.2 The Need To Understand Details
1.3 Complexity Of Interactions Smong Protocols
1.4 The Approach In This Text
1.5 The Importahnce Of Studying Code
1.6 The Xinu Operating System
1.7 Organization Of The Rmainder Of The Book
1.8 Summary
Chapter2 The Structure Of TCP/IP Sotfware In An Operatin System
2.1 Introduction
2.2 The Process Concept
2.3 Process Priority
2.4 Communication Processes
2.5 Interprocess Communication
2.6 Device Drive,Input,And Output
2.7 Network Input and Interrupts
2.8 Pakking Packets To Higher Level Protocols
2.9 Passing Datagrams From IP R o Transport Protocols
2.10 Deliver To Application Pograms
2.11 Information Flow On Output
2.12 From TCP Through IP To Network Ouput
2.13 UDP Output
2.14 Summary
Chapter3 Network Interface Layer
3.1 Introduction
3.2 The NetWork Interface Abstraction
3.3 Logical State Of An Interface
3.4 Local Host Interface
3.5 Buffer Management
3.6 Demultiplexing Incoming Packets
3.7 Summary
Chapter4 Address Discovery And Binding
4.1 Introduction
4.2 Conceptual Organization Of ARP Software
4.3 Example ARP Design
4.4 Data Stuctures For The ARP Cache
4.5 ARP Output Processing
4.6 ARP Input Processing
4.7 ARP Cache Management
4.8 ARP Initialization
4.9 ARP Configuration Parameters
4.10 Summary
Chapter5 IP:global Software Organizatiion
5.1 Introduction
5.2 The CentralSwitch
5.3 IP Software Design
5.4 IP Software Organization And Datagram Flow
5.5 Byte-Ordering In The IP Header
5.6 Sending A Datagram To IP
5.7 Table Maitenace
5.8 Summary
Chapter6 IP:Routing Table And Routing Algorithm
6.1 Introduction
6.2 Route Maintenance And Lookup
6.3 Routing Table Organization
6.4 Routin Table Data Structres
6.5 Origin Of Routes And Persistenc
6.6 Routing A Datagram
6.7 Periodic Route Table Maintenace
6.8 IP Options Processing
6.9 Summary
Chapter7 IP:Fragmentaion And Reassembly
7.1 Introduction
7.2 Fragmenting Datagrams
7.3 Implementaion Of Fragmentaion
7.4 Datagram Reassembly
7.5 Maintenace Of Fragment Lists
7.6 Initialization
7.7 Summary
Chapter8 IP:Error Processing
8.1 Introduction
8.2 ICMP Message Formats
8.3 Implementation Of ICMP Messages
8.4 Handling Incoming ICMP Message
8.5 Hnddling An ICMP Redirect Message
8.6 Setting ASubnet Mask
8.7 Choosing A Source Address For An ICMP Packet
8.8 Generation ICMP Error Message
8.9 Avoiding Errors About Errors
8.10 Allocating A Buffer For ICMP
8.11 The Data Portion Of An ICMP Message
8.12 Generating An ICMP Redirect Message
8.13 Summary
Chapter9 IP:Multicast Processing
9.1 Introduction
9.2 Maintaining Multicast Group Membbership Information
9.3 A Host Group Table
9.4 Searching For AHost Group
9.5 Adding A Host Group Entry To The Table
9.6 Configuring The Network Interface For A Multicast Address
9.7 Translatrion Between IP and Hardware Multicast Addresser
9.8 Remving A Multicast Address FromThe HostGroup Table
9.9 Joining AHost Group
9.10 Maintaining Contact With A Multicast Router
9.11 Implementing IGMP Membership Reports
9.12 Computing A RandomDelay
9.13 A P rocess To Send IGMP Reports
9.14 Handing Incoming IGMP Messages
9.15 Leaving A Host Group
9.16 Initialization Of IGMP Data Structures
9.17 Summary
Chapter10 UDP:User Datagrams
10.1 Introduction
10.2 UDP Ports And Demultiplexing
10.3 UDP
10.4 UDP Output Processing
10.5 Summary
Chapter11 TCP:Data Structures And Input Processing
11.1 Introduction
11.2 Overview Of TCP Software
11.3 Transmission Control Blocks
11.4 TCP Segment Format
11.5 Sequence Space Comparison
11.6 TCP Finite State Machine
11.7 ExampleState Transition
11.8 Declaraion Of The Finite State Machine
11.9 TCB Allocation And Initialization
11.10 Implementaion Of The Finite State Machine
11.11 Handing An Input Segment
11.12 Summary
Chapter12 TCP:Finite StateMachie Implementation
12.1 Introduction
12.2 CLOSED State Processing
12.3 Graceful Shudown
12.4 Timed Delay After Closing
12.5 TIME-WAIT State Processing
12.6 CLOSING State Processing
12.7 FIN-WAIT-2 State Processing
12.8 FIN-WAIT-1 State Processing
12.9 CLOSE-WAIT State Processing
12.10 LAST-ACK State Processing
12.11 ESTABLISHEP State Processing
12.12 Processing Urgent Data In A Segment
12.13 Processing Other Data In A Segment
12.14 Keeping Track Of Received Octest
12.15 Abortin A TCP Connection
12.16 Establishing A TCP Connection
12.17 Initializing ATCB
12.18 SYN-SENT State Processing
12.19 SYN-RECEIVED State Processing
12.20 LISTEN StateProcessing
12.21 Initalizing Window Variables For A New TCB
12.22 Summary
Chapter13 TCP:Output Processing
13.1 Introduction
13.2 Controlling TCP Output Complexity
13.3 The Four TCP Output Staes
13.4 TCP Output As AProcess
13.5 TCP Output Messages
13.6 Encoding Output States And TCB Numbers
13.7 Implmentation Of The TCP Output Process
13.8 Mutual Exclusion
13.9 Implementation Of The IDLE State
13.10 Implementation Of The PERSIST State
13.11 Implementation Of The TRANSMIT State
13.12 Implementation Of The RETRANSMIT State
13.13 Sending A Segment
13.14 Computing The TCP Data Length
13.15 Comuting Sequence Counts
13.16 Other TCP Procedures
13.17 Summary
Chapter14 TCP:Timer Management
14.1 Introduction
14.2 A Genral Data Structure For Timed Events
14.3 A Data Structure For TCP Events
14.4 Timers,Events,And Messages
14.5 The TCP timer Process
14.6 Deleting A TCP Timer Event
14.7 Deleing AllEvents For A TCB
14.8 Determining The Time Remaining For An Event
14.9 Inserting A TCP Timer Event
14.10 Strting TCP Output Without Delay
14.11 Summary
Chapter15 TCP:Flow Control And Adaptive Retransmission
15.1 Introduction
15.2 The Difficulties With Adaptive Retransmission
15.3 Tuning Adaptive Retransmission
15.4 Retransmission Timer And Backoff
15.5 Window-Based Flow Control
15.6 Maximum Segment Size Computation
15.7 Congestion Avoidancd And Control
15.8 Slow -Start And Congestion Avoidance
15.9 Round Trip Estimation And Timeout
15.10 Miscellaneus Notes And Techniques
15.11 Summary
Chapter16 TCP:Urgent Data Processing And The Push Function
16.1 Introduction
16.2 Out-Of _Band Singnaling
16.3 Urgent Data
16.4 InterPreting The Standard
16.5 Configuration For Berkeley Urgent Pointer Interpretation
16.6 Informing AnApplication
16.7 Reading Data From TCP
16.8 Sending Urgent Data
16.9 TCP Push Function
16.10 Interpreting Push With Out-Off_Order Dlivery
16.11 Implementation Of Push On Input
16.12 Summary
Chapter17 Socket-Level Interface
17.1 Introduction
17.2 Interfacing Through A Device
17.3 TCP Connections AsDevices
17.4 An Example TCPClient Program
17.5 An Example TCP Server Program
17.6 Implementaion Of The TCP Master Device
17.7 Implementaionn Of A TCP Slave Device
17.8 Initialization Of A Slave Device
17.9 Summary
Chapter18 RIP:Active Route Pragation And Passive Acuisition
18.1 Introduction
18.2 Active And Passive Mode Participants
18.3 Basic RIP Algorithm An d Cost Metic
18.4 Instabiulities And Solutions
18.5 Message Types
18.6 Protocol Chatracterization
18.7 Implmentation Of Rip
18.8 The Principle RIP Process
18.9 Responding To An Incoming Request
18.10 Generationg Updata Messages
18.11 Initializing Copies Of An Update Message
18.12 Generationg Periodic RIP Output
18.13 Limitaions oOf RIP
18.14 Summary
Chapter19 OSPF:Foute Propagation With An SPF Algorithm
19.1 Introduction
19.2 OSPF Configuration And Options
19.3 OSPF's Graph-Theoretic Model
19.4 OSPF Declarations
19.5 Adjcency And Link State Propagation
19.6 Discoverign Neighboring Gateways With Hello
19.7 Sendign Hello Packets
19.8 Designated Router Concept
19.9 Electijng A Designated Router
19.10 Reforming Adjacencies After A Change
19.11 Handling Arriving Hello Packets
19.12 Adding A Gateway To The Neighbor List
19.13 Neighbor State Transitions
19.14 OSPF Timer Events And Retransmissons
19.15 Determing Whether Adjacency Is Permitted
19.16 Handling OSPF input
19.17 Declarations And Procedures For Link State Processing
19.18 Generation Datagase Description Packets
19.19 Creating A Template
19.20 Transmiting A Dataase Description Packet
19.21 Handlingt An Arriving Database Description Packet
19.22 Handling Link State Request Packets
19.23 Buelding A Link Stae Summary
19.24 OSPF Utility Procedures
19.25 Summary
Chapter20 SNMP:MIB Variables ,Representations,mAnd Bindings
20.1 Introduction
20.2 Server OrganizationAnd NameMapping
20.3 MIB Variables
20.4 MIB Variable Names
20.5 Lexicographic Orderingf Among Names
20.6 PrefixRemoval
20.7 Operations Applied To MIB Variables
20.8 Names For Tables
20.9 Conceptual Threading Of The Name Hierarchy
20.10 Data Structure For IB Variables
20.11 A Data Strctrue For Fa\ast Lookup
20.12 Implementatin Of The Hash Table
20.13 Spcification Of MIB Bindings
20.14 Internal Variables Used In Bindings
20.15 Hash Table Lookup
20.16 SNMP S tructrres And Constants
20.17 ASN.1 Representation Manipulation
20.18 Summary
Chapter21 SNMP:Client And Server
21.1 Introduction
21.2 Data Representation In The Server
21.3 Server Implementation
21.4 Parsing An SNMP Message
21.5 ConvertingASN.1 Names In The Bindig List
21.6 Resolving AQuery
21.7 Interpreting The Get-Next Operation
21.8 Indirect Application Of Operations
21.9 Indirection For Tables
21.10 Generating A Reply Message Backward
21.11 Converting From Internal Form to ASN.1
21.12 Utility Functons Used By The Server
21.13 Implementation Of An SNMP Client
21.14 Initialization Of Variables
21.15 Summary
Chapter22 SNMP:Table Access Functions
22.1 Introduction
22.2 Table Access
22.3 Object Identifiers For Tables
22.4 Address Entry Table Functions
22.5 Address Translation Table Functions
22.6 Network Interface Table Functions
22.7 Routing Table Funcitons
22.8 TCP Connection Table Functions
22.9 Summary
Chapter13 Implementation In Retrospect
23.1 Introduction
23.2 Statistical Analysis Of The Code
23.3 Lines Of Code For Ech Protocol
23.4 Functios And Procedures For Each Protocol
23.5 Summary
Appendix 1 Cross Reference Of Procedure Calls
Appendix 2 Xinu Functions And Constans Used InThe Code
Bibliography
Index
猜您喜欢