- Interactive Transmission Control Protocol
(iTCP) makes TCP
- iTCP itself does not
improve the functionality (such as congestion response, error control,
flow control) of TCP, but allows various ingenious solutions to all of
the above to be implemented at application layers by making available
TCP events to application layer modules (called Transientware). It’s a meta-engineering of TCP.
- iTCP is based on the
following basic design philosophy: Instead of augmenting network layers
with costly, hard-to-realize solutions, it adds interactivity and lifts
this burden off the network and move it up to the application layer.
- iTCP has been implemented
using FreeBSD-4.3 source code. A public distribution of the modified
sub-kernel is available here
for interested researchers.
- In this implementation,
iTCP achieved interactivity by introducing the following elements:
- Event subscription
- Event tracking and
- A mechanism to invoke
appropriate application-layer handlers for outstanding events.
- An EFSM
state-model based formal, clean and secured access to TCP.
- To demonstrate the
efficacy of interactivity principle, iTCP has been field-tested on
several scenarios. In a video transcoding experiment iTCP passed
congestion control related events to the application layer, which
application itself (the transcoder) to reduce its production bit
rate. It has demonstrated that a new class of
TCP-friendly applications called symbiotic
applications are possible when TCP is also friendly by
interacting with applications (it becomes very difficult for
an application to be friendly if the TCP itself in not interacting vis.
not so friendly).
- iTCP has been shown to
provide implement path for many proposed extensions/enhancements of TCP
including SNOOP, WTCP and Fast TCP.
- It has been used to
create efficient symbiotic solutions to
handle end-to-end IP mobility with blazingly fast hand-off. The
solution is inherently faster due to its ability to react based on
- At the cost of little
signaling overhead, it dramatically improves the TCPs extensibility in
a principled way-without sacrificing the layering concept.
- The idea has been
extended to seek protocol interactivity in other layers based on Extended Finite State Machine
(EFSM). Cross-layer optimizations for wireless transports have also
been shown, when layers have the interactivity.
- The interactive scheme of
iTCP can be characterized by the following advantages:
- The scheme is 100%
backward compatible with legacy TCP versions.
- All legacy applications remains 100% forward
compatible with iTCP.
- Provides means to solve
deeper network layers' problems at the application layer.
- Pays a small overhead
(signaling/system calls) for a substantial gain in performance.
- Can be integrated with
other well-known network layer solutions.
- Protocol researchers
working on ideas that enhance a protocol, are welcome to use iTCP to
get a fast and clean implementation of their techniques.