What is full-duplex?

Full-duplex data transmission means that data can be transmitted in both directions on a signal carrier at the same time. For example, on a local area network with a technology that has full-duplex transmission, one workstation can be sending data on the line while another workstation is receiving data. Full-duplex transmission implies a bidirectional line that can move data in both directions simultaneously.

The transmission mode of a communication channel determines the direction or directions that data can be sent. The three transmission modes are the following:

  1. Full-duplex. Simultaneous transmission of data is enabled between connected systems. The most familiar example of a full-duplex communication channel is telephony, where both participants in a call can send and receive audio simultaneously.
  2. Half-duplex. These channels enable bidirectional communications, but systems at either end of the connection must take turns sending over the communication medium. The most familiar example of a half-duplex communication channel is a walkie-talkie-type push-to-talk radio connection where communicating parties take turns transmitting and signal their transmissions are complete before the other can transmit.
  3. Simplex mode. These channels only transmit one way. Examples of simplex channels include cabled keyboards, which transmit keystrokes but do not accept input from the computer to which they are attached.

Enabling channels to be full-duplex in networking helps avoid performance issues related to contention over bandwidth between senders and increased transmission collisions.

Simplex, half-duplex and full-duplex explained
Simplex connections transmit in only one direction; half-duplex transmissions are bidirectional but can go in only one direction at a time. Full-duplex transmissions can be sent and received simultaneously.

How does full-duplex work?

Modern full-duplex channels often use two separate channels between communicating systems. For example, full-duplex Ethernet and modern telecommunications networks both depend on pairs of channels that can be used for simultaneous transmission. This approach to full-duplex functionality is sometimes called dual-simplex. It combines pairs of simplex channels, with each pair functioning like a full-duplex channel for bidirectional communication.

Other approaches to enabling full-duplex functionality that don't use pairs of simplex channels include the following:

  • Time-division multiplexing (TDM) combines multiple data streams in a single communication channel. TDM divides the individual streams into small segments that are scheduled for transmission across the channel at different times.
  • Frequency-division duplexing (FDM) combines multiple signals on a single communication channel. FDM does this by assigning each signal to a different frequency, or subchannel, within the main channel.

Full-duplex vs. half-duplex

To understand the difference between full-duplex and half-duplex, consider the difference between legacy Ethernet and switched Ethernet.

Legacy Ethernet connects nodes to a coaxial cable in a bus topology, with a transmission mode of half-duplex. Only one node can transmit at a time, and all nodes monitor transmissions for data addressed to themselves. Collision rates increase as the amount of traffic on each Ethernet segment increases, and retransmissions further increase the volume of network traffic.

In full-duplex Ethernet, each node is cabled to a switch with a pair of circuits: one for transmissions to the switch and the other for transmissions from the switch. In full-duplex Ethernet, simultaneous transmission is the default -- but only between the Ethernet switch and each node.

The main differences between full-duplex and half-duplex include the following:

  • Full-duplex links support bidirectional transmissions, while half-duplex links can handle only one direction at a time.
  • Shared media, such as coaxial Ethernet, can't be used for full-duplex transmission.

While full-duplex Ethernet eliminates network collisions, it also eliminates direct connections between nodes on the network: Each node is connected only to the switch, and communication between nodes is always mediated by the switch.

High-performance switches minimize the performance impact of having to resend data sent between nodes. However, it also means that network broadcasts must be retransmitted individually to each node.

What is simplex mode?

Simplex mode is another transmission mode in which data is sent only in one direction, from sender to recipient. There is no way for the recipient to respond to transmissions.

Examples of simplex mode transmission include the following:

  • Keyboard connections to a computer enable communication in only one direction, from the keyboard to the interface port on the connected computer. Data travels from the keyboard to the computer but never in the other direction.
  • Broadcast media, like television and radio, rely on simplex communication. Broadcasters send transmissions, and anyone with a television or radio receives them. But there is no channel available for recipients to respond to signals sent over the air.

Full-duplex examples

Full-duplex is an attribute of the oldest form of bidirectional communications: person-to-person conversation. In that case, both parties can transmit at the same time -- though, reception is not guaranteed when both parties talk (transmit) at the same time.

Other examples of full-duplex communication channels include the following:

  • Full-duplex Ethernet is available in switched Ethernet networks, where all nodes on the network are connected directly to a switch.
  • Telecommunication technologies, such as plain old telephone service, wireless and cellular, provide full-duplex transmission.
  • Recommended Standard 232 relates to low-speed serial data communication, such as is used for connecting a modem to a computer.

Some communication channels can be configured for full-duplex or half-duplex operation, depending on the application, for example:

  • The Bluetooth standard specifies the option to communicate using the wireless device protocol either as full-duplex (for example, in telephone handsets) or as half-duplex (for example, to connect to a printer).
  • Universal Asynchronous Receiver/Transmitter (UART) is the component that controls a computer's interface to its attached serial devices. UARTs can be configured to use full-duplex, half-duplex or simplex channels.
  • The USB 3.0 standard -- also known as SuperSpeed USB -- offers a full-duplex transfer mode, while earlier versions of USB offered only the half-duplex transfer mode.
  • Ethernet was originally a half-duplex channel. Ethernet networks linked connected nodes via a single cable, with a node listening to all transmissions and responding only to those addressed to the node.

History of full-duplex communication

Technically, full-duplex communication dates to the origins of human communication. In-person conversational duplexing lets two parties transmit at the same time. Other types of communication, such as postal mail and semaphore, can also support full channels of simultaneous bidirectional transmissions.

Full-duplex transmission became more important in the first half of the 19th century when telegraphy came into common use. Early solutions to speeding up transmissions over telegraph wire involved the use of one or more pairs of telegraph cables to enable simultaneous transmission.

Acoustic, or harmonic, telegraphy, developed in the 1870s, brought a new method for multiplexing transmissions over a single telegraph wire using different audio frequencies for duplexing. These methods led to the invention of the telephone.

Full-duplex helped Ethernet local area network technology improve bandwidth and performance. Learn more about how Ethernet has evolved over the years to stay relevant in a world with ever-increasing bandwidth demands.

This was last updated in October 2021

Continue Reading About full-duplex

Dig Deeper on Network Infrastructure