Two half duplex connection in TCP

1.5k Views Asked by At

TCP supports Full duplex connection by maintaining two half duplex connection in each direction. If it is using one at a time the why not it is using two simplex connection in each direction instead of two half duplex?

2

There are 2 best solutions below

0
On

TCP supports Full duplex connection by maintaining two half duplex connection in each direction.

No it doesn't. A half-duplex connection is one that has to be turned over to the other party explicitly. There is no such feature in TCP.

If it is using one at a time

It isn't.

the[n] why not it is using two simplex connection in each direction instead of two half duplex?

Your entire question being founded on fantasy, this question is unanswerable. Its premise is false, like the old 'when did you stop beating your wife?'

1
On

TCP by definition is NEVER a simplex connection. TCP guarantees delivery. To guarantee delivery the receiver must acknowledge their receipt of the data. To make this guarantee, TCP is at the least half-duplex.

Simplex is simply one way connection - UDP would fit your bill. UDP is, at some level, two simplex connections. Either person may shout at the other. Who knows if the data gets there though? UDP makes no such promise.

Your question may be semantic - I'm not sure. Yes, only one party is communicating at a time. The sender sends a window's worth of data and then waits for acknowledgments of that data. I can understand why two simplex connections would make sense.

The key point is that both parties are using the same channel (i.e. copper wire, wireless frequency, coconut shells, whatever). A simplex connection, to my understanding is more of a broadcast deal, like television. If the television tried to communicate back to a TV station it would screw up everyone's TV. In a duplex connection, the two parties can communicate back and forth and everything keeps working.

That's my mental model for what it's worth.