TCP for Transactions, HTTP, NNTP, and the UNIX Domain Protocols
We are deeply saddened to learn of the death of noted author W. Richard Stevens. His passing is obviously a tremendous loss for the technical community, but it is a personal one for us as well. Rich was both a gifted colleague and a valued friend who will be greatly missed. We extend our sympathies to his family. Obituary from the Arizona Daily Star STEVENS, W. Richard, noted author of computer books died on September 1. He is best known for his "UNIX Network Programming" series (1990, 1998, 1999), "Advanced Programming in the UNIX Environment" (1992), and "TCP/IP Illustrated" series (1994, 1995, 1996). Richard was born in 1951 in Luanshya, Northern Rhodesia (now Zambia), where his father worked for the copper industry. The family moved to Salt Lake City, Hurley, New Mexico, Washington, DC and Phalaborwa, South Africa. Richard attended Fishburne Military School in Waynesboro, Virginia. He received a B.SC. in Aerospace Engineering from the University of Michigan in 1973, and an M.S. (1978) and Ph.D. (1982) in Systems Engineering from the University of Arizona. He moved to Tucson in 1975 and from then until 1982 he was employed at Kitt Peak National Observatory as a computer programmer. From 1982 until 1990 he was Vice President of Computing Services at Health Systems International in New Haven, CT, moving back to Tucson in 1990. Here he pursued his career as an author and consultant. He was also an avid pilot and a part-time flight instructor during the 1970's. He is survived by his loving wife of 20 years, Sally Hodges Stevens; three wonderful children, Bill, Ellen and David; sister, Claire Stevens of Las Vegas, NV; brother, Bob and wife Linda Stevens of Dallas, TX; nieces, Laura, Sarah, Collette, Christy; and nephew, Brad. He is predeceased by his parents, Royale J. Stevens (1915-1984); and Helen Patterson Stevens (1916-1997). Helen lived in Tucson from 1991-1997, and Royale lived here in the early 1930's attending Tucson High School while his father was treated for TB at the Desert Sanitorium (now TMC). The family asks that in lieu of flowers, donations be made in Richard's name to Habitat for Humanity, 2950 E. 22nd Street, Tucson, AZ 85713. A memorial service for Richard will be held at St. Phillip's in the Hills Episcopal Church on Tuesday, September 7th at 12:00 noon. Following the service there will be a reception in the Murphy Gallery of the Church. Please wear colorful clothing to the service; Richard loved colors. W. Richard Stevens was an acknowledged UNIX and networking expert and the highly-respected author of several books. He was also a sought-after instructor and consultant. 0201634953AB04062001
( Most chapters open with "Introduction" and conclude with "Summary".) Preface. I. TCP FOR TRANSACTIONS. 1. T/TCP Introduction. Introduction. UDP Client-Server. TCP Client-Server. T/TCP Client-Server. Test Network. Timing Example. Applications. History. Implementations. Summary. 2. T/TCP Protocol. Introduction. New TCP Options for T/TCP. T/TCP Implementation Variables. State Transition Diagram. T/TCP Extended States. Summary. 3. T/TCP Examples. Introduction. Client Reboot. Normal T/TCP Transaction. Server Receives Old Duplicate SYN. Server Reboot. Request or Reply Exceeds MSS. Backward Compatibility. Summary. 4. T/TCP Protocol (Continued). Introduction. Client Port Numbers and TIME_WAIT State. Purpose of the TIME_WAIT State. TIME_WAIT State Truncation. Avoiding the Three-Way Handshake with TAO. Summary. 5. T/TCP Implementation: Socket Layer. Introduction. Constants. sosend Function. Summary. 6. T/TCP Implementation: Routing Table. Introduction. Code Introduction. radix_node_head Structure. rtentry Structure. rt_metrics Structure. in_inithead Function. in_addroute Function. in_matroute Function. in_clsroute Function. in_rtqtimo Function. in_rtqkill Function. Summary. 7. T/TCP Implementation: Protocol Control Blocks Introduction. in_pcbladdr Function. in_pcbconnect Function. Summary. 8. T/TCP Implementation: TCP Overview Introduction. Code Introduction. TCP protosw Structure. TCP Control Block. tcp_init Function. tcp_slowtimo Function. Summary. 9. T/TCP Implementation: TCP Output Introduction. tcp_output Function. Summary. 10. T/TCP Implementation: TCP Functions Introduction. tcp_newtcpcb Function. tcp_rtlookup Function. tcp_gettaocache Function. Retransmission Timeout Calculations. tcp_close Function. tcp_msssend Function. tcp_mssrcvd Function. tcp_dooptions Function. tcp_reass Function. Summary. 11. T/TCP Implementation: TCP Input Introduction. Preliminary Processing. Header Prediction. Initiation of Passive Open. Initiation of Active Open. PAWS: Protection Against Wrapped Sequence Numbers. ACK Processing. Completion of Passive Opens and Simultaneous Opens. ACK Processing (Continued). FIN Processing. Summary. 12. T/TCP Implementation: TCP User Requests. Introduction. PRU_CONNECT Request. tcp_connect Function. PRU_SEND and PRU_SEND_EOF Requests. tcp_usrclosed Function. tcp_sysctl Function. T/TCP Futures. Summary. II. ADDITIONAL TCP APPLICATIONS. 13. HTTP: Hypertext Transfer Protocol. Introduction. Introduction to HTTP and HTML. HTTP Protocol. An Example. HTTP Statistics. Performance Problems. Summary. 14. Packets Found on an HTTP Server. Introduction. Multiple HTTP Servers. Client SYN Interarrival Time. RTT Measurements. listen Backlog Queue. Client SYN Options. Client SYN Retransmissions. Domain Names. Timing Out Persist Probes. Simulation of T/TCP Routing Table Size. M