A different implementation of two-way TCP has been ported into ns from Kathy Nicholes/Van Jacobson's group. It is called BayFullTcp. The basic difference between BayFullTcp and FullTcp (the two-way tcp version already present in ns) are as follows:
There might be other finer differences between the two as well.
One of our future plans is to redefine the APIs to allow fulltcp to use
baytcp's client-server model.
- BayTcp supports a client-server application model while FullTcp makes no assumption about its application layer.
- The tcp-application interface is different for both;
- FullTcp supports partial ack (BayTcp doesn't).
- FullTcp supports different flavors of tcp (tahoe, reno etc) which is not the case for baytcp.
- Both implementations have different set of API's .