Next:
List of Figures
Up:
No Title
Previous:
Thanks to my supervisors
Contents
Thanks to the members of the Linux mailing list for helping me with the implementation of T/TCP when I had problems.
Thanks to Alan Cox, Albert Cahalan and David Miller for pointing out some of the pros and cons of T/TCP.
Thanks to Ivan for pointing me in the right direction a number of times.
Thanks to the residents of the TRL lab for letting me bounce ideas off them and setting up computers for me.
Thanks to Mary for her impatience and lack of understanding and for reading my report.
Thanks to my class mates for putting up with me.
Thanks to my supervisors, John Nelson and Ivan Griffin for guiding me through the year.
List of Figures
Introduction
The TCP/IP Reference Model
The Application Layer
The Transport Layer
The Network Layer
The Host-to-Network Layer
Summary
Transport Layer Protocols
User Datagram Protocol
Transmission Control Protocol
Establishing the Connection
Data Transmission
Termination of Connection
Summary
Transaction Transmission Control Protocol
What is a Transaction
Background to T/TCP
Basic Operation
TCP Accelerated Open
Truncation of TIME-WAIT
Examples
HTTP and RPC
DNS
Summary
Linux Operating System
Introduction to Linux
Kernel Network Interface
Important Structures in the Linux Kernel [
2
]
Linux Protocol Stack
Design and Implementation
Design Approach
State Processing
TCP Control Block
CC Options
Handling the CC Variable
tcp_calc_cc_options()
tcp_build_cc_options()
Recognising CC Options
Packet Validation
Routing Table
TAO Test
TCP Output
tcp_sendmsg
do_tcp_sendmsg
TCP Input
tcp_conn_request()
tcp_ack()
tcp_rcv()
Multi-Segment Processing
CCecho Processing
Simultaneous Open
tcp_accept()
TIME-WAIT Truncation
Dealing with Linux SYNACK's
TCP Statistics
Kernel Configuration Options
Summary
Testing and Analysis
Operation Verification
Client Reboot
Normal T/TCP Transaction
Server Reboot
Request or Reply Exceeds MSS
Backward Compatibility
Performance Analysis
Number of Packets per Transaction
Time Comparisons
Memory Issues
Protocol Analysis
Summary
Case Study: T/TCP Performance Over Suggested HTTP Improvements
Web Document Characteristics
Suggested Performance Improvements for HTTP
Compression
Delta Encoding
Persistent HTTP
Summary
Socket Programming Under T/TCP
Lynx Web Browser
Conclusion
References
Code
New Functions
tcp_calc_cc_options()
tcp_build_cc_options()
ttcp_connect()
Code Modifications
do_tcp_sendmsg()
tcp_accept()
tcp_options()
tcp_conn_request()
tcp_ack()
tcp_data()
tcp_rcv()
tcp_rcv() - multisegment processing
tcp_rcv() - ccecho processing
tcp_rcv - simultaneous open
TIME-WAIT Truncation
tcp_send_synack()
Test Code
T/TCP Test Client
TCP Test Client
T/TCP Test Server
read_stream.c
cliserv.h
Test Script
Statistics Generation Script
About this document ...
Mark Stacey
Thu Apr 30 12:26:11 IST 1998