Ethernet – How is TCP duplex if Ethernet is half-duplex

duplexethernettcp

If I understand correctly, TCP is a full-duplex birectional protocol. However, Ethernet is half-duplex.

Does this mean that eventhough TCP supports full-duplex, it only operates in half-duplex mode when on Ethernet?

Thanks!

Best Answer

Actually, TCP and Ethernet are examples of different layers of the OSI model. TCP works in layer 4 (transport layer), which is used for making connections between nodes on a network. TCP is indeed bidirectional, and it's sometimes referred to as connection-oriented.

Ethernet is a layer 2 (data link layer) protocol, which dictates how signals are to be interpreted in the physical layer (layer 1). There are many sublayers to layer 2, but in general, Ethernet is the most popular.

If Ethernet is run in half-duplex, then the node cannot transmit and receive at the same time. But this doesn't mean that the node cannot use TCP. TCP still runs on top of Ethernet, and additionally, on top of IP (Layer 3) to create the bidirectional connection that TCP needs to communicate. So when talking about Ethernet and TCP, they operate as different layers.

TCP still makes the bidirectional connection even though the Ethernet NIC cannot receive and send at the same time.

A good reference to how this works is the classic Stevens book: http://books.google.com/books/about/TCP_IP_Illustrated_Volume_1.html?id=a23OAn5i8R0C