TCP Interactive Schematics

Overview of TCP Interactive (iTCP)


  • Interactive Transmission Control Protocol (iTCP) makes TCP extensible.
  • 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 mechanism.
    • Event tracking and notification mechanism.
    • 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 enabled 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 events- (IPMN).
  • 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.