TCP/IP Detailed Explanation, Volume 3: TCP Transaction Protocol, etc. (pdf e-book): The content details of Volume 3 cover four basic aspects that today\'s TCP/IP programmers and network administrators must master: T/TCP (TCP Transaction Protocol) HTTP (Hypertext Transfer Protocol) NNTP (Network News Transfer Protocol UNIX Domain Protocol) Like the previous two volumes, this book has rich examples and implementation details. They are all network codes in 4.4BSD-Lite for reference and study. Part I TCP Transaction Protocol Chapter 1 Overview of T/TCP 11.1 Overview 11.2 Client-Server on UDP 11.3 Client-Server on TCP 6 1.4 Client-Server on T/TCP 12 1.5 Test Network 15 1.6 Time Measurement Program 15 1.7 Applications 17 1.8 History 19 1.9 Implementation 20 1.10 Summary 21 Chapter 2 T/TCP Protocol 23 2.1 Overview 23 2.2 New TCP Options in T/TCP 23 2.3 Variables Required for T/TCP Implementation 252.4 State Transition Diagram 272.5 Extended States of T/TCP 282.6 Summary 30Chapter 3 Examples of T/TCP Usage 313.1 Overview 313.2 Client Restart 313.3 Regular T/TCP Transactions 333.4 Server Receives Outdated Duplicate SYN 343.5 Server Restart 353.6 Request or Response Exceeds Maximum Segment Size MSS 363.7 Backward Compatibility 393.8 Summary 41Chapter 4 T/TCP Protocol (Continued) 434.1 Overview 434.2 Client Port Number and TIME_WAIT State 434.3 The Purpose of Setting the TIME_WAIT State 454.4 Truncation of the TIME_WAIT State 484.5 Using TAO to Skip the Three-Way Handshake 514.6 Summary 55Chapter 5 Implementation of T/TCP Protocol: Socket Layer 565.1 Overview 565.2 Constants 565.3 sosend Function 565.4 Summary 58Chapter 6 T/TCP Implementation: Routing Table 596.1 Overview 596.2 Code Introduction 596.3 radix_node_head Structure 606.4 rtentry Structure 616.5 rt_metrics Structure 616.6 in_inithead Function 616.7 in_addroute Function 626.8 in_matroute Function 636.9 in_clsroute Function 636.10 in_rtqtimo Function 646.11 in_rtqkill Function 666.12 Summary 69Chapter 7 T/TCP Implementation: Protocol Control Block 707.1 Overview 707.2 in_pcbladdr Function 717.3 in_pcbconnect Function 717.4 Summary 72Chapter 8 T/TCP Implementation: TCP Overview 738.1 Overview 738.2 Code Introduction 738.3 TCP\'s protosw Structure 748.4 TCP Control Block 748.5 tcp_init Function 758.6 tcp_slowtimo Function 758.7 Summary 76Chapter 9 T/TCP Implementation: TCP Output 779.1 Overview 779.2 tcp_output Function 779.2.1 New Automatic Variables 779.2.2 Adding Hidden State Flags 779.2.3 Do Not Retransmit SYN in SYN_SENT State 789.2.4 Confused Window Avoidance Mechanism for the Sender 789.2.5 Forcing a Segment to Be Sent When the RST or SYN Flag Is Present 799.2.6 Sending the MSS Option 809.2.7 Whether to Send the Timestamp Option 809.2.8 Sending the CC Option for T/TCP 809.2.9 Adjusting Data Length Based on TCP Options 839.3 Summary 83Chapter 10 T/TCP Implementation: TCP Functions 8410.1 Overview 8410.2 tcp_newtcpcb Function 8410.3 tcp_rtlookup Function 8510.4 tcp_gettaocache Function 8610.5 Calculation of Retransmission Timeout Interval 8610.6 tcp_close Function 8910.7 tcp_msssend Function 9010.8 tcp_mssrcvd Function 9110.9 tcp_dooptions Function 9610.10 tcp_reass Function 9810.11 Summary 99Chapter 11 T/TCP Implementation: TCP Input 10111.1 Overview 10111.2 Preprocessing 10311.3 Header Prediction 10411.4 Initiation of Passive Open 10511.5 Initiation of Active Open 10811.6 PAWS: Preventing Duplicate Sequence Numbers 11411.7 ACK Processing 11511.8 Completing Passive Open and Simultaneous Open 11511.9 ACK Processing (Continued) 11611.10 FIN Processing 11811.11 Summary 119Chapter 12 T/TCP Implementation: TCP User Requests 12012.1 Overview 12012.2 PRU_CONNECT Request 12012.3 tcp_connect Function 12012.4 PRU_SEND and PRU_SEND_EOF Requests 12412.5 tcp_usrclosed Function 12512.6 tcp_sysctl Function 12612.7 The Future of T/TCP 12612.8 Summary 127Part II Other Applications of TCPChapter 13 HTTP: Hypertext Transfer Protocol 129 13.1 Overview 129 13.2 Overview of HTTP and HTML 130 13.3 HTTP 132 13.3.1 Message Types: Requests and Responses 132 13.3.2 Header Fields 133 13.3.3 Response Codes 133 13.3.4 Examples of Various Headers 134 13.3.5 Example: Client Cache 135 13.3.6 Example: Server Redirection 136 13.4 An Example 136 13.5 HTTP Statistics 138 13.6 Performance Issues 139 13.7 Summary 141 Chapter 14 Packets Found on an HTTP Server 142 14.1 Overview 142 14.2 Multiple HTTP Servers 144 14.3 Client SYN Inter-Arrival Time 145 14.4 RTT Measurement 149 14.5 15.6 Overview 15.7 NNTP 15.7 A Simple News Client 15.8 A Complex News Client 15.9 NNTP Statistics 15.10 Summary 15.11 Chapter 15: Unix Domain Protocols 15.12 Overview 15.12 NNTP 15.3 A Simple News Client 15.4 A Complex News Client 15.5 NNTP Statistics 15.6 Summary 15.7 Chapter 15: Unix Domain Protocols 15.12 Overview 15.2 NNTP 15.3 A Simple News Client 15.4 A Complex News Client 15.5 NNTP Statistics 15.6 Summary 15.7 Chapter 15: Unix Domain Protocols 15.12 Overview 15.2 Uses 17616.3 Performance 17716.4 Coding Examples 17716.5 Summary 179Chapter 17 Unix Domain Protocol: Implementation 18017.1 Overview 18017.2 Code Introduction 18017.3 Unix domain and protosw structures 18117.4 Unix domain socket address structure 18217.5 Unix domain protocol control block 18317.6 uipc_usrreq function 18517.7 PRU_ATTACH request and unp_attach function 18617.8 PRU_DETACH request and unp_detach function 18717.9 PRU_BIND request and unp_bind function 18917.10 PRU_CONNECT request and unp_connect function 19117.11 PRU_CONNECT2 request and unp_connect2 function 19517.12 socketpair system call 19817.13 pipe system call 20217.14 PRU_ACCEPT request 20317.15 PRU_DISCONNECT request and unp_disconnect function 20417.16 PRU_SHUTDOWN request and unp_shutdown function 20517.17 PRU_ABORT request and unp_drop function 20617.18 Various other requests 20717.19 Summary 209Chapter 18 Unix Domain Protocol: I/O and Descriptor Transfer 21018.1 Overview 21018.2 PRU_SEND and PRU_RCVD requests 21018.3 Descriptor transfer 21418.4 unp_internalize function 21818.5 unp_externalize function 22018.6 unp_discard function 22118.7 unp_dispose Function 22218.8 unp_scan Function 22218.9 unp_gc Function 22318.10 unp_mark Function 23018.11 Performance (Revisited) 23118.12 Summary 231 Appendix A Measuring Network Time 232 Appendix B Writing T/TCP Applications 242
You Might Like
Recommended ContentMore
Open source project More
Popular Components
Searched by Users
Just Take a LookMore
Trending Downloads
Trending ArticlesMore