本书是TCP/IP网络互连技术系列的第II卷,作者对第I郑“TCP/IP的原理、协议和体系结构”中许多专题展开了深入讨论,分析了TCP/FL软件,扩展了TPC/IP的基本概念并讨论了如何实现TCP/IP协议。本书引用了大量的工作系统中的源代码,阐述如何完整地实现TPC/IP和如何利用操作系统提供的服务来实现TCP/IP协议簇。
Foreword \r\n\r\nPreface\r\n\r\nChapter1 Introduction And Overview\r\n\r\n1.1 TCP/IP Protocols\r\n1.2 The Need To Understand Details\r\n1.3 Complexity Of Interactions Smong Protocols\r\n1.4 The Approach In This Text\r\n1.5 The Importahnce Of Studying Code \r\n1.6 The Xinu Operating System\r\n1.7 Organization Of The Rmainder Of The Book \r\n1.8 Summary\r\n\r\nChapter2 The Structure Of TCP/IP Sotfware In An Operatin System\r\n\r\n2.1 Introduction \r\n2.2 The Process Concept \r\n2.3 Process Priority\r\n2.4 Communication Processes\r\n2.5 Interprocess Communication\r\n2.6 Device Drive,Input,And Output\r\n2.7 Network Input and Interrupts\r\n2.8 Pakking Packets To Higher Level Protocols\r\n2.9 Passing Datagrams From IP R o Transport Protocols\r\n2.10 Deliver To Application Pograms\r\n2.11 Information Flow On Output\r\n2.12 From TCP Through IP To Network Ouput\r\n2.13 UDP Output\r\n2.14 Summary\r\n\r\nChapter3 Network Interface Layer \r\n\r\n3.1 Introduction\r\n3.2 The NetWork Interface Abstraction\r\n3.3 Logical State Of An Interface\r\n3.4 Local Host Interface\r\n3.5 Buffer Management \r\n3.6 Demultiplexing Incoming Packets \r\n3.7 Summary\r\n\r\nChapter4 Address Discovery And Binding \r\n\r\n4.1 Introduction\r\n4.2 Conceptual Organization Of ARP Software\r\n4.3 Example ARP Design\r\n4.4 Data Stuctures For The ARP Cache\r\n4.5 ARP Output Processing\r\n4.6 ARP Input Processing \r\n4.7 ARP Cache Management\r\n4.8 ARP Initialization\r\n4.9 ARP Configuration Parameters\r\n4.10 Summary\r\n\r\nChapter5 IP:global Software Organizatiion\r\n\r\n5.1 Introduction\r\n5.2 The CentralSwitch\r\n5.3 IP Software Design \r\n5.4 IP Software Organization And Datagram Flow\r\n5.5 Byte-Ordering In The IP Header\r\n5.6 Sending A Datagram To IP\r\n5.7 Table Maitenace\r\n5.8 Summary\r\n\r\nChapter6 IP:Routing Table And Routing Algorithm\r\n\r\n6.1 Introduction\r\n6.2 Route Maintenance And Lookup\r\n6.3 Routing Table Organization\r\n6.4 Routin Table Data Structres\r\n6.5 Origin Of Routes And Persistenc\r\n6.6 Routing A Datagram\r\n6.7 Periodic Route Table Maintenace\r\n6.8 IP Options Processing \r\n6.9 Summary\r\n\r\nChapter7 IP:Fragmentaion And Reassembly\r\n\r\n7.1 Introduction\r\n7.2 Fragmenting Datagrams\r\n7.3 Implementaion Of Fragmentaion\r\n7.4 Datagram Reassembly\r\n7.5 Maintenace Of Fragment Lists\r\n7.6 Initialization\r\n7.7 Summary\r\n\r\nChapter8 IP:Error Processing\r\n\r\n8.1 Introduction\r\n8.2 ICMP Message Formats\r\n8.3 Implementation Of ICMP Messages\r\n8.4 Handling Incoming ICMP Message\r\n8.5 Hnddling An ICMP Redirect Message\r\n8.6 Setting ASubnet Mask\r\n8.7 Choosing A Source Address For An ICMP Packet\r\n8.8 Generation ICMP Error Message\r\n8.9 Avoiding Errors About Errors\r\n8.10 Allocating A Buffer For ICMP \r\n8.11 The Data Portion Of An ICMP Message\r\n8.12 Generating An ICMP Redirect Message\r\n8.13 Summary\r\n\r\nChapter9 IP:Multicast Processing\r\n\r\n9.1 Introduction \r\n9.2 Maintaining Multicast Group Membbership Information\r\n9.3 A Host Group Table\r\n9.4 Searching For AHost Group\r\n9.5 Adding A Host Group Entry To The Table\r\n9.6 Configuring The Network Interface For A Multicast Address\r\n9.7 Translatrion Between IP and Hardware Multicast Addresser\r\n9.8 Remving A Multicast Address FromThe HostGroup Table\r\n9.9 Joining AHost Group\r\n9.10 Maintaining Contact With A Multicast Router\r\n9.11 Implementing IGMP Membership Reports\r\n9.12 Computing A RandomDelay \r\n9.13 A P rocess To Send IGMP Reports\r\n9.14 Handing Incoming IGMP Messages\r\n9.15 Leaving A Host Group \r\n9.16 Initialization Of IGMP Data Structures\r\n9.17 Summary\r\n\r\nChapter10 UDP:User Datagrams\r\n\r\n10.1 Introduction\r\n10.2 UDP Ports And Demultiplexing\r\n10.3 UDP\r\n10.4 UDP Output Processing\r\n10.5 Summary\r\n\r\nChapter11 TCP:Data Structures And Input Processing\r\n\r\n11.1 Introduction \r\n11.2 Overview Of TCP Software\r\n11.3 Transmission Control Blocks\r\n11.4 TCP Segment Format\r\n11.5 Sequence Space Comparison\r\n11.6 TCP Finite State Machine\r\n11.7 ExampleState Transition\r\n11.8 Declaraion Of The Finite State Machine\r\n11.9 TCB Allocation And Initialization\r\n11.10 Implementaion Of The Finite State Machine\r\n11.11 Handing An Input Segment\r\n11.12 Summary\r\n\r\nChapter12 TCP:Finite StateMachie Implementation\r\n\r\n12.1 Introduction\r\n12.2 CLOSED State Processing\r\n12.3 Graceful Shudown\r\n12.4 Timed Delay After Closing\r\n12.5 TIME-WAIT State Processing\r\n12.6 CLOSING State Processing\r\n12.7 FIN-WAIT-2 State Processing\r\n12.8 FIN-WAIT-1 State Processing\r\n12.9 CLOSE-WAIT State Processing\r\n12.10 LAST-ACK State Processing\r\n12.11 ESTABLISHEP State Processing\r\n12.12 Processing Urgent Data In A Segment\r\n12.13 Processing Other Data In A Segment\r\n12.14 Keeping Track Of Received Octest\r\n12.15 Abortin A TCP Connection\r\n12.16 Establishing A TCP Connection\r\n12.17 Initializing ATCB \r\n12.18 SYN-SENT State Processing\r\n12.19 SYN-RECEIVED State Processing\r\n12.20 LISTEN StateProcessing\r\n12.21 Initalizing Window Variables For A New TCB\r\n12.22 Summary\r\n\r\nChapter13 TCP:Output Processing\r\n\r\n13.1 Introduction \r\n13.2 Controlling TCP Output Complexity\r\n13.3 The Four TCP Output Staes\r\n13.4 TCP Output As AProcess\r\n13.5 TCP Output Messages\r\n13.6 Encoding Output States And TCB Numbers\r\n13.7 Implmentation Of The TCP Output Process\r\n13.8 Mutual Exclusion \r\n13.9 Implementation Of The IDLE State\r\n13.10 Implementation Of The PERSIST State\r\n13.11 Implementation Of The TRANSMIT State\r\n13.12 Implementation Of The RETRANSMIT State\r\n13.13 Sending A Segment\r\n13.14 Computing The TCP Data Length\r\n13.15 Comuting Sequence Counts\r\n13.16 Other TCP Procedures\r\n13.17 Summary\r\n\r\nChapter14 TCP:Timer Management\r\n\r\n14.1 Introduction\r\n14.2 A Genral Data Structure For Timed Events\r\n14.3 A Data Structure For TCP Events\r\n14.4 Timers,Events,And Messages\r\n14.5 The TCP timer Process\r\n14.6 Deleting A TCP Timer Event\r\n14.7 Deleing AllEvents For A TCB\r\n14.8 Determining The Time Remaining For An Event\r\n14.9 Inserting A TCP Timer Event\r\n14.10 Strting TCP Output Without Delay\r\n14.11 Summary\r\n\r\nChapter15 TCP:Flow Control And Adaptive Retransmission\r\n\r\n15.1 Introduction\r\n15.2 The Difficulties With Adaptive Retransmission\r\n15.3 Tuning Adaptive Retransmission\r\n15.4 Retransmission Timer And Backoff\r\n15.5 Window-Based Flow Control\r\n15.6 Maximum Segment Size Computation\r\n15.7 Congestion Avoidancd And Control\r\n15.8 Slow -Start And Congestion Avoidance\r\n15.9 Round Trip Estimation And Timeout\r\n15.10 Miscellaneus Notes And Techniques\r\n15.11 Summary\r\n\r\nChapter16 TCP:Urgent Data Processing And The Push Function\r\n\r\n16.1 Introduction\r\n16.2 Out-Of _Band Singnaling\r\n16.3 Urgent Data\r\n16.4 InterPreting The Standard\r\n16.5 Configuration For Berkeley Urgent Pointer Interpretation\r\n16.6 Informing AnApplication\r\n16.7 Reading Data From TCP\r\n16.8 Sending Urgent Data\r\n16.9 TCP Push Function\r\n16.10 Interpreting Push With Out-Off_Order Dlivery\r\n16.11 Implementation Of Push On Input\r\n16.12 Summary\r\n\r\nChapter17 Socket-Level Interface\r\n\r\n17.1 Introduction\r\n17.2 Interfacing Through A Device\r\n17.3 TCP Connections AsDevices\r\n17.4 An Example TCPClient Program\r\n17.5 An Example TCP Server Program\r\n17.6 Implementaion Of The TCP Master Device\r\n17.7 Implementaionn Of A TCP Slave Device\r\n17.8 Initialization Of A Slave Device\r\n17.9 Summary\r\n\r\nChapter18 RIP:Active Route Pragation And Passive Acuisition\r\n\r\n18.1 Introduction\r\n18.2 Active And Passive Mode Participants\r\n18.3 Basic RIP Algorithm An d Cost Metic\r\n18.4 Instabiulities And Solutions\r\n18.5 Message Types\r\n18.6 Protocol Chatracterization\r\n18.7 Implmentation Of Rip\r\n18.8 The Principle RIP Process\r\n18.9 Responding To An Incoming Request\r\n18.10 Generationg Updata Messages\r\n18.11 Initializing Copies Of An Update Message\r\n18.12 Generationg Periodic RIP Output\r\n18.13 Limitaions oOf RIP\r\n18.14 Summary\r\n\r\nChapter19 OSPF:Foute Propagation With An SPF Algorithm\r\n\r\n19.1 Introduction\r\n19.2 OSPF Configuration And Options\r\n19.3 OSPF's Graph-Theoretic Model\r\n19.4 OSPF Declarations\r\n19.5 Adjcency And Link State Propagation\r\n19.6 Discoverign Neighboring Gateways With Hello \r\n19.7 Sendign Hello Packets\r\n19.8 Designated Router Concept\r\n19.9 Electijng A Designated Router\r\n19.10 Reforming Adjacencies After A Change\r\n19.11 Handling Arriving Hello Packets\r\n19.12 Adding A Gateway To The Neighbor List\r\n19.13 Neighbor State Transitions\r\n19.14 OSPF Timer Events And Retransmissons\r\n19.15 Determing Whether Adjacency Is Permitted\r\n19.16 Handling OSPF input\r\n19.17 Declarations And Procedures For Link State Processing\r\n19.18 Generation Datagase Description Packets\r\n19.19 Creating A Template\r\n19.20 Transmiting A Dataase Description Packet\r\n19.21 Handlingt An Arriving Database Description Packet\r\n19.22 Handling Link State Request Packets\r\n19.23 Buelding A Link Stae Summary\r\n19.24 OSPF Utility Procedures\r\n19.25 Summary\r\n\r\nChapter20 SNMP:MIB Variables ,Representations,mAnd Bindings\r\n\r\n20.1 Introduction\r\n20.2 Server OrganizationAnd NameMapping\r\n20.3 MIB Variables\r\n20.4 MIB Variable Names\r\n20.5 Lexicographic Orderingf Among Names\r\n20.6 PrefixRemoval \r\n20.7 Operations Applied To MIB Variables\r\n20.8 Names For Tables\r\n20.9 Conceptual Threading Of The Name Hierarchy\r\n20.10 Data Structure For IB Variables\r\n20.11 A Data Strctrue For Fa\ast Lookup\r\n20.12 Implementatin Of The Hash Table \r\n20.13 Spcification Of MIB Bindings\r\n20.14 Internal Variables Used In Bindings\r\n20.15 Hash Table Lookup\r\n20.16 SNMP S tructrres And Constants\r\n20.17 ASN.1 Representation Manipulation\r\n20.18 Summary\r\n\r\nChapter21 SNMP:Client And Server\r\n\r\n21.1 Introduction\r\n21.2 Data Representation In The Server\r\n21.3 Server Implementation\r\n21.4 Parsing An SNMP Message\r\n21.5 ConvertingASN.1 Names In The Bindig List\r\n21.6 Resolving AQuery\r\n21.7 Interpreting The Get-Next Operation\r\n21.8 Indirect Application Of Operations\r\n21.9 Indirection For Tables\r\n21.10 Generating A Reply Message Backward\r\n21.11 Converting From Internal Form to ASN.1\r\n21.12 Utility Functons Used By The Server\r\n21.13 Implementation Of An SNMP Client\r\n21.14 Initialization Of Variables\r\n21.15 Summary\r\n\r\nChapter22 SNMP:Table Access Functions\r\n\r\n22.1 Introduction\r\n22.2 Table Access\r\n22.3 Object Identifiers For Tables\r\n22.4 Address Entry Table Functions\r\n22.5 Address Translation Table Functions\r\n22.6 Network Interface Table Functions\r\n22.7 Routing Table Funcitons\r\n22.8 TCP Connection Table Functions\r\n22.9 Summary\r\n\r\nChapter13 Implementation In Retrospect\r\n\r\n23.1 Introduction \r\n23.2 Statistical Analysis Of The Code\r\n23.3 Lines Of Code For Ech Protocol\r\n23.4 Functios And Procedures For Each Protocol\r\n23.5 Summary\r\n\r\nAppendix 1 Cross Reference Of Procedure Calls\r\n\r\nAppendix 2 Xinu Functions And Constans Used InThe Code\r\n\r\nBibliography\r\n\r\nIndex
无封面