socketstcpduplex

Is TCP bidirectional or full-duplex?


Bidirectional and full-duplex are different concepts. For example the Ethernet is only half-duplex because at a specific time, only one host can send data over the wire, and it cannot send and receive data simultaneously.

So when we use TCP over an Ethernet, I think TCP is only bidirectional or half-duplex.

But here it says TCP is full-duplex. Why?

Update 1 - 10:25 AM 5/14/2024

The above link is broken. Check this one.


Solution

  • It is both. It is bidirectional because it can send data in both directions, and it is full-duplex because it can do that simultaneously, without requiring line turnarounds, at the API level.

    Of course at a lower level it may be restricted by the available physical layer.