Optimizing TCP forwarder performance
- 1 April 2000
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE/ACM Transactions on Networking
- Vol. 8 (2) , 146-157
- https://doi.org/10.1109/90.842138
Abstract
A TCP forwarder is a network node that establishes and forwards data between a pair of TCP connections. For example, a firewall that places a proxy between a TCP connection to an external host and a TCP con- nection to an internal host—for the purpose of implementing access control to a resource on the internal host—is an example of a TCP forwarder. Once the proxy approves the access, it simply forwards data from one connection to the other. We use the term TCP forwarding to describe indirect TCP communica- tion via a proxy in general. This paper characterizes the behavior of TCP forwarding, and illustrates the role TCP forwarding plays in common network services like firewalls and HTTP proxies. We introduce an optimization technique, called connection splicing, that can applied to a TCP forwarder, and reports the results of a performance study designed to evaluate its impact. Connection splicing has the effect of improving the performance of TCP forwarding by a factor of two to four, making it competitive with the performance of an IP router running on the same hardware.Keywords
This publication has 6 references indexed in Scilit:
- MSOCKS: an architecture for transport layer mobilityPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Dynamic adaptation of network connections in mobile environmentsIEEE Internet Computing, 1998
- Implementation and performance evaluation of Indirect TCPIEEE Transactions on Computers, 1997
- Making paths explicit in the Scout operating systemPublished by Association for Computing Machinery (ACM) ,1996
- DPFPublished by Association for Computing Machinery (ACM) ,1996
- SOCKS Protocol Version 5Published by RFC Editor ,1996