Full duplex vs Half duplex

We have a fibre backbone on our network, and between our switches and backbone we have media converters.
i've noticed that these only run at half duplex.
i was wonderering what the difference between full and half duplex was, and if we changed these for full duplex devices would this improve our network speed?

Who is Participating?
Pete LongTechnical ConsultantCommented:
half duplex info goes one way only (at a time) - like CB radio
full duplex info can go both ways at once (like telephone)

so full duplex is faster yes jusy make sure the switches support it (some dont)
In theory your bandwidth to the backbone could more than double. One of the basic principals of ethernet is collision avoidance and detection. Devices listen before speaking, then send, etc. Sometimes there are collisions. It's a fact of life. Realisitically, you can only get up to around 40mb/sec on a 100mb half duplex connection before you have so many collisions that the pipe is filled with retransmissions, runt packets, etc.

On a full duplex connection you can fill the pipe all the way up because both ends can send and receive at the same time. There is no such thing as a collision on a full duplex link. BUT- if one side is half duplex and the other is full, the half duplex side will report tons of collisions because the full duplex side isn't doing avoidance/detection.

So yes, the change to full duplex is probably well worth it.
Network Scalability - Handle Complex Environments

Monitor your entire network from a single platform. Free 30 Day Trial Now!

collisions have nothing to do with the transmission mode; they occur on full duplex as well. Ethernet is a shared medium, and if two stations try to send at the same time, the signal will be garbled, full duplex or not.
You don't have collisions on Token Ring, though, were the token determines which station is allowed to send.

Carrier sense multiple access with collision detection


Token ring
Show me a single case of a collision on a full duplex link and I'll believe you. You will never see a full duplex port register a collision. You can only have 2 stations on a full duplex link. Each sends on one pair of wires (or one strand of fiber) and listens on the other (and vice versa). That's why you can only have full duplex on a switch and not on a hub.

The only time collisions can occur is if one of the 2 devices is misconfigured as half duplex. In that case you will see the collisions (and a lot of them) on the half duplex device. But not on the full duplex device because it isn't listening.
I'm pretty sure Mike is right.  Since it's a switch, every port is a bridge and there are no collisions with any trafifc from other ports.  The only collisions possible is between the PC and the switch port that it's connected to (and that can happen only in half-duplex mode).

However with 500k expert ports, I'm inclined to believe there must be some truth to what you're saying oBda.  Could you enlighten us?
Pete LongTechnical ConsultantCommented:

  Both of you are correct.
What is a full duplex Ethernet?

Full duplex means you can send and receive at the same time. This was impossible on coax, the original Ethernet media since it had only 1 conductor and Ethernet uses baseband signaling. However, 10BaseT and 100BaseT use a cable with 4 conductors.  (Actually, there are typically 8 conductors but only 4 are used.) 1 pair of conductors is used to send data and the other to receive data. Each pair are also twisted around each other to help eliminate noise, hence the name unshielded twisted pair. With the right hardware you can theoretically double the speed of your network by sending and receiving simultaneously. Of course it’s a rare environment that has so much data to send in both directions but full duplex will give you a performance boost because you no longer have to wait for 1 host to finish sending before you start to send your data, i.e. a deferral

Exactly how does it work?
The original 10BaseT did not include full duplex but it did require something called a hub. The hub was simply a multiport repeater. Anything received on 1 port was sent out all the other ports. If two hosts (S and H) sent simultaneously there was a packet collision and this collision was sent out all the other ports. Collisions are normal events on an Ethernet – don’t get me started. At some point someone figured out that it really wasn’t necessary for the hub to resend the packet out all its other ports, after all the destination was only connected to 1 port. The Ethernet switch is a multiport learning bridge. As packets come in on various ports it reads the packet header and determines the address of the sender. It then enters into a table the sender’s address and port number. An incoming packet is only sent out the port that the destination is connected to. Now when S and H send packets as long as they are going to R and G the switch can send both simultaneously. Of course if both S and H are sending to X one of the packets will have to wait in a buffer somewhere in the switch. Also, it’s still possible to get a collision or a deferral. If S sends to R and R simultaneously sends to H both R and the switch port connected to R will see a collision. If S starts sending early enough R will have to wait (defer) until S is done sending.

Full duplex is a way of eliminating collisions and deferrals. Simply put it turns off the collision detection hardware so that the network interface can transmit and send simultaneously, there can be no collisions or deferrals. So how can using full duplex reduce thruput and cause connections to fail?

Unless both sides of the connection, i.e. the network interface card and the switch port are configured for full duplex there will be a huge increase in the number of errors seen by the full duplex interface. In addition, packets that the full duplex interface thought that it sent will be dropped by the other side. They will need to be retransmitted when the TCP or application level fails to get an acknowledgment. What actually happens is this:
1)half duplex interface starts to send
2)full duplex interface starts to send
3)half duplex interface detects a collisions and basically stops sending since it stopped in the middle the packet is not valid
4)half duplex interface may also stop receiving the full duplex interface’s packet
5)full duplex interface sees the partial packet from the half duplex interface and flags an error
6)full duplex interface never gets an ACK for the packet that it sent and eventually retransmits it.

Move on to ISDN and GSM - or basic telephony networks.
Here you have full duplex - two "channels" allocated both ways without any collision. However, with SS7 you can re-allocate channels - where we speak about single duplex links - and allocate "channels" as you need it - dynamically adjusting "upstream" and "downstream" links.

I raise this - because in the new mobile networks (3G) you will be able to do this.
It requires basic undestanding of ISDN transmission - inherited for transmission control - or "signalling".

If SIGTRAN decides to use SS7 for IP network signalling - these networks will also inherit this capability - and enable you to allocate bandwidth as you require it, and set up directional links where you avoid collision all toghether.

Usage on a network with collisions is constrained - because you cannot warrant a maximum latancy for response. So if you use a cable to manage a process - like a cracker in a refinery, you have some serious trouble with Ethernet kind of links - because you have microseconds to respond. You also have to anticipate that all instruments report in at once, producing a cascade of signals, and if these are to be resent on collision you have a problem with an expotential residue function. The only sollution is to introduce timeslots and logical "channels". In wireless it leaves CDMA useless, and you have to rely on TDMA. Everything has a reason...
Full Duplex VS Half Dublex is really Switch VS Hub.

Hub vs. Switch - What's the difference?
  A hub works like a telephone party line.  Only one computer can talk at a time.  The first computer prints to the printer, but the message is broadcast to all of the computers on the network.
  A switch works more like our modern phone system.  Computers can talk with each other on private connections so multiple conversations can be carried on at the same time.  The first computer and printer make a private connection during printing, while the fourth computer transfers a file to the fifth computer over another connection.

Shared Ethernet Hub      Switched Ethernet Hub

  Total network bandwidth is limited to the speed of the hub, i.e. a 10Base-T hub provides 10Mb bandwidth max, no matter how many ports it has.      

  Total network bandwidth is determined by the number of ports on the switch. i.e. an 8 port 100Mb switch can support up to 800Mb/s bandwidth.

  A Hub supports half duplex communications limiting the connection speed to that of the port, i.e. 10Mb port provides a 10Mb link.      

  A Switch supports full duplex communications. This allows devices to both transmit and receive data at the same time, thereby doubling traffic capacity and avoiding packet collisions.

Hop count rules limit the number of hubs that can be interconnected between two computers.

  Switch allows users to greatly expand networks; there are no limits to the number of switches that can be interconnected between two computers.

Shared hub is less expensive per port.      

Switch hub's increased performance is worth the slightly higher price.

Hope this helps

Because you have misunderstood the notion of a "hub".
A Hub is merely a "knot" where multiple lines meet and merged into one. there is no "intelligence" in the Hub - however there will usually be some important side effect.
In old days - you would pull an Ethernet coax to all "n" PC in the net - and then the packets would collide, causing retransmission. Well, when only two parties talk - collision will occur only when both start transmitting at the same time. Otherwise, the receiver will wait intil the transmission is finnished - and then send. That reduces collisions dramatically. A Hub is a small memory - that enables this to hold on to a packet - say 4K. If the PC that the packet is to be sent to is sending - the Hub will hold on to it, and send it when the PC has completed.
Further, the Hub will hold on to a packet that has been received, until the receiver no longer transmits, and then start with first buffer, then next until all input has been transmitted. So off goes say 20 packets as if one large packet to the server, and this will not interrupt the stream until it has been completed.
There is no "simultaneous" processing in the HUB - switched or not.
The network speed will be constrained by the speed of the Hub - but this aspect is minute. The real gain by the Hub is that the line from the PC to the server appears collision wise, as if "silent" because of the minute buffering for milliseconds. The Hub server as "traffic lights", and more, lines up the queue and make very efficient use of the network.
Thus full bandwidth may be applied all the way - but some Hubs can deal with 10Mbps in - and 100Mbps out. The critical issue is the time t in nanoseconds to transmit - to reduce the possibility of having to retransmit.
Duplex is NOT handled by a Hub.
Hop Counts is used by router - and is NOT affected by a Hub. The Hub will only use IP address in the tcp/ip header - match that with its registers of underlying IP addresses that it has received connection from - and switch messages to this port.
Routing is somethig else - like mailing in an envelope, and a "Hop" is the number of times the envelope is opened and inspected - how many servers it is routed past. Hop count will not affect how many Hubs between a PC and a server.

A Switched Hub - is more intelligence and higher capacity to buffer. The "unswitched" HUB (what is a non-shared Hub??) has e.g. 4K*2 buffer per port, while a switched will have say a 1M shared buffer for 20 ports. It is thus better equipped to handle burts, and will less seldom request a retransmit from server or upstream Hub. It can cope with receiving at one end and sending at the same time - and need not wait until all PC on the downlink are ready to receive to trensmit. It will transmit to the ports that is silent, and take those busy on the next try. Since the buffer is shared - the ports are served on a round-robin basis - apparently at the same time, but really on port at a time.  
A Hub will not affect the tcp/ip packets in any way - just receive and forward. By arranging the queue you gain not only lower probability of retransmission, but as the "gap" when the network cannot be used between packets are removed - the network "listen" before send, the bandwidth that is acheived is significantly improved.

A telephony switch is very, very different. Here circuits are connected in an arbitrary matrix - and the "talk" - what goes on is of no concern to the switch - except measuring that the connection is still there, and the time the connection is made. A digital telephony switch receives instructions on the signalling band - which is a special line - and connects and disconnects as instructed here. It may hold routing information, and opposed to IP routing, the telephony routes may be consistently change - as e.g. the party moves (mobile telephony) - or a cheaper transmission line is made available. The switch will manage all this - and quite a few other things.

Please, respond out of knowledge - not on belief!
If you run the two fibres as two single duplex lines you may gain a lot.

You may also acheive a similar gain with one fibre - but separating on SDH.

You need an ATM Switch to the server - and best - make each fibre only run traffic one way. Similarly routing and ATM switches will all have both fibres connected, but routing tables will determine which to use.

The more servers on the backbone - the higher is the probability of a collision - even if you use 2. It may then be advantageous to split on applications that mutually exclude one another.

You should also try to avoid traffic local between servers on the backbone - e.g. NFS access to cross-mounted file systems. Route these on special networks between the servers - using a switching Hub because of the length of the packets.

All IP trafic is single duplex - and sequential in nature: you pose a question and wait for the answer. On a fibre, there may only be one packet at any given time - at two - there may be two packets. If that is that the question is delivered on one fibre and the response on the other - you will not experience any gain.
A gain by running "full duplex" is difficult to predict.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.