TCP/IP网络互连技术(卷Ⅱ 设计与实现 英文版·第2版)

TCP/IP网络互连技术(卷Ⅱ 设计与实现 英文版·第2版)
作 者: 科默Douglas Comer 史蒂文斯David Stevens
出版社: 清华大学出版社
丛编项: 大学计算机教育丛书 影印版 网络互连技术系列
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: TCP/IP
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  作者:DouglasE.ComerDouglasE.Comer博士从20世纪70年代开始从事互联网的研究和开发工作,他曾是互联网体系结构委员会的成员,该委员会是确定互联网发展标准的权威机构;他也曾任美国计算机网CSTNET技术委员会的主席,该网络是美国早期互联网建设中最重要的网络之一。他现在是美国普渡大学计算机科学系的教授,从事计算机网络和操作系统方面的教学和科研工作。Internet技术基础>>更多作品

内容简介

本书是TCP/IP网络互连技术系列的第II卷,作者对第I卷“TCP/IP的原理、协议和体系结构”中许多专题展开了深入讨论,分析了TCP/IP软件,扩展了TCP/IP的基本概念并讨论了如何实现TCP/IP协议。本书引用了大量的工作系统中的源代码,阐述如何完整地实现TCP/IP和如何利用操作系统提供的服务来实现TCP/IP协议族。

图书目录

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