When two devices connect, they need to agree on two key things: speed and duplex mode.
Speed determines how fast data can be transmitted. Common values are 10 Mbps, 100 Mbps, 1 Gbps, or higher.
Duplex defines how communication occurs:
Half-duplex: data can only be sent or received at one time (like a walkie-talkie).
Full-duplex: data can be sent and received simultaneously (like a phone call).
Let's look at each of these in detail.
Answer the question below
When two devices are connected, each one uses a network interface. On PC1, the interface is Eth0, and on SW1, it is G0/0. These interfaces define how fast each device can send and receive data.
PC1 (Eth0) supports 10 Mbps and 100 Mbps.
SW1 (G0/0) supports 10 Mbps, 100 Mbps, and 1000 Mbps.
Figure 1 – Speed Capabilities
The two devices need to agree on the fastest speed that they both support before they can communicate.
You can see above that the cable linking the two devices is only the medium that carries the signal. For example, a Cat5e or Cat6 cable can support up to 1 Gbps or more.But the two interfaces determine the actual link speed based on what they can agree on.
When the devices connect, they start a process called auto-negotiation. Each side advertises the speeds it supports, and then they agree on the highest speed that both have in common.
Figure 2 – Speed Agreement
In this example, the link between PC1 and SW1 operates at 100 Mbps. Even though the switch could reach 1000 Mbps, PC1 is limited to 100 Mbps, and both devices must match to communicate.
After the devices agree on the speed, they must also decide on the duplex mode.
You might be wondering: what exactly is a duplex?
Answer the question below
Duplex mode defines how data flows between two devices.
In Half-Duplex, only one side can send at a time, while the other listens.
This is like a walkie-talkie: one device speaks, the other listens, but never both at once.
Figure 3 – Half-Duplex Communication
Half-duplex was common in older networks with hubs. Now, it’s not used in modern Ethernet networks.
In Full-Duplex, both sides can send and receive at the same time.
Like a phone call, it allows simultaneous communication without collisions.
Figure 4 – Full-Duplex Communication
Full-duplex is the most efficient mode and is always preferred in modern enterprise networks. By default, switches and routers operate in full-duplex mode.
Now that you understand both speed and duplex, the next step is to see how devices negotiate these parameters automatically.
Answer the question below
Which device type used half-duplex in older networks?
Now that you understand speed and duplex, the next step is to see how devices decide these parameters automatically.
This process is called auto-negotiation (defined in IEEE 802.3u, Clause 28). You don’t need to memorize the IEEE reference, it’s just for your information, but it’s good to know where this process comes from.
In auto-negotiation, both devices advertise what they are capable of.Figure 5 – Auto-Negotiation Process
On PC1, the interface can operate at 10 or 100 Mbps and supports both half-duplex and full-duplex.
On SW1, the interface can operate at 10, 100, or 1000 Mbps and also supports both duplex modes.
Once these capabilities are exchanged, the negotiation process takes place in three simple steps:
Each device advertises its supported speeds and duplex modes.
They compare their capabilities and select the highest common speed.
Finally, they agree on the duplex mode, where full-duplex is always preferred over half-duplex.
In our example, the link runs at 100 Mbps full-duplex. This is the fastest speed PC1 can handle, and both devices choose full-duplex.
I will show you in practice how we configure Auto-negotiation in speed and duplex:
Viewing auto-negotiation in practice
Let’s now check how this looks on our devices.
On PC1, the interface is set to Auto by default for both speed and duplex.Figure 6 - Auto-Negotiation on PC1 in Packet Tracer
On Cisco switches, auto-negotiation is also enabled by default. We can confirm this with:
SW1# show interfaces g0/0 status Port Name Status Vlan Duplex Speed Type Gig0/0 connected 1 auto auto 10/100BaseTX
This confirms that the interface is configured for automatic negotiation (auto) of both speed and duplex.
Verifying the auto-negotiation
To verify the actual negotiated values, we can use the command show interfaces g0/0:
SW1# show interfaces g0/0 GigabitEthernet0/0 is up, line protocol is up (connected) Hardware is Lance, address is 00d0.d3b6.3919 (bia 00d0.d3b6.3919) BW 100000 Kbit, DLY 1000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full-duplex, 100Mb/s input flow-control is off, output flow-control is off ARP type: ARPA, ARP Timeout 04:00:00 Last input 00:00:08, output 00:00:05, output hang never Last clearing of "show interface" counters never Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue :0/40 (size/max) 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 956 packets input, 193351 bytes, 0 no buffer Received 956 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort 0 watchdog, 0 multicast, 0 pause input 0 input packets with dribble condition detected 2357 packets output, 263570 bytes, 0 underruns 0 output errors, 0 collisions, 10 interface resets 0 babbles, 0 late collision, 0 deferred 0 lost carrier, 0 no carrier 0 output buffer failures, 0 output buffers swapped out
As you can see in the highlighted line, the link has been successfully negotiated at 100 Mbps and full-duplex, exactly as expected.
Default behavior
By default, both Cisco devices and PCs use auto-negotiation.
On Cisco interfaces, if you configure nothing, the default settings are:speed auto
duplex auto
This behavior is helpful. It prevents mismatches and picks the best settings automatically.
You might need to turn off auto-negotiation in some cases. Then, you can set the speed and duplex manually.
That’s what we will cover in the next section.
Answer the question below
Which Cisco command shows negotiated speed and duplex?
So far, we've learned that auto-negotiation picks the best speed and duplex on its own. But sometimes, you may want to configure these values manually.
For instance, picture a server that runs various services, like web apps and databases. This server gets heavy traffic, so we should ensure its link is set to the right speed and duplex. We should not depend on negotiation for this.
Figure 7 - Duplex and Speed Manual Configuration
In this example, we will configure both the server and the switch to operate at 1000 Mbps full-duplex.
Configuring the switch
First, enter interface configuration mode and select the speed:
SW1# configure terminal Enter configuration commands, one per line. End with CNTL/Z. SW1(config)# interface g0/1 SW1(config-if)# speed ? 10 Force 10 Mbps operation 100 Force 100 Mbps operation 1000 Force 1000 Mbps operation auto Enable AUTO speed configuration SW1(config-if)# speed 1000
Here we chose 1000 Mbps. Notice that the option
auto
is available, which is the default setting.Next, configure the duplex:
SW1(config-if)# duplex ? auto Enable AUTO duplex configuration full Force full duplex operation half Force half-duplex operation SW1(config-if)# duplex full %LINK-3-UPDOWN: Interface GigabitEthernet0/1, changed state to down %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/1, changed state to down
We forced the duplex to full. Again, you can see that
auto
was the default.Configuring the Server
On the server, we configured the interface Eth0 for a speed of 1,000 Mbps and full-duplex operation.
Verifying the result
Since both sides are configured with the same settings, the link comes back up/up:
%LINK-5-CHANGED: Interface GigabitEthernet0/1, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/1, changed state to up
We can check the status with show interfaces g0/1 status:
SW1# show interfaces g0/0 status Port Name Status Vlan Duplex Speed Type Gig0/1 connected 1 a-full a-1000 10/100BaseTX
And confirm with show interfaces g0/1:
SW1# show interface g0/1 GigabitEthernet0/1 is up, line protocol is up (connected) Hardware is Lance, address is 00d0.d3b6.3919 (bia 00d0.d3b6.3919) BW 100000 Kbit, DLY 1000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full-duplex, 1000Mb/s input flow-control is off, output flow-control is off ARP type: ARPA, ARP Timeout 04:00:00 Last input 00:00:08, output 00:00:05, output hang never Last clearing of "show interface" counters never Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue :0/40 (size/max) 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 956 packets input, 193351 bytes, 0 no buffer Received 956 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort 0 watchdog, 0 multicast, 0 pause input 0 input packets with dribble condition detected 2357 packets output, 263570 bytes, 0 underruns 0 output errors, 0 collisions, 10 interface resets 0 babbles, 0 late collision, 0 deferred 0 lost carrier, 0 no carrier 0 output buffer failures, 0 output buffers swapped out
As you can see in the highlighted line, the link is operating at 1000 Mbps full-duplex, exactly as we configured.
Answer the question below
Which command sets duplex to full on an interface?
So far, we have seen how auto-negotiation ensures devices always agree on the same speed and duplex. But when these parameters are configured manually, mistakes can occur.
These errors usually fall into two categories: speed mismatch and duplex mismatch.Speed Mismatch
A speed mismatch occurs when the configurations at both ends of the link have different speeds.
Figure 9 – Manual Configuration Speed Mismatch
For example, if PC1 is set to 100 Mbps, while SW1 is set to 1000 Mbps.
SW1# show run | s interface interface GigabitEthernet0/0 duplex full speed 1000
The interface does not come up:
SW1# show interfaces g0/0 status Port Name Status Vlan Duplex Speed Type Gig0/0 notconnect 1 a-half a-100 10/100BaseTX
The status is notconnect, and the line protocol remains down.
The devices cannot communicate because their speeds do not match.Duplex Mismatch
A duplex mismatch occurs when the speed matches on both sides, but the duplex settings are different.
Here, the link comes up, but errors quickly appear.Figure 10 – Manual Configuration Duplex Mismatch
For example, if PC1 runs at 100 Mbps full-duplex and SW1 runs at 100 Mbps half-duplex:
SW1# show run | s interface interface GigabitEthernet0/0 duplex full speed 1000
The link is established, but errors start to appear in the interface counters:
SW1# show interfaces g0/0 GigabitEthernet0/0 is up, line protocol is up Hardware is Lance, address is 00d0.d3b6.3919 (bia 00d0.d3b6.3919) BW 100000 Kbit, DLY 1000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Half-duplex, 100Mb/s input flow-control is off, output flow-control is off ARP type: ARPA, ARP Timeout 04:00:00 Last input 00:00:08, output 00:00:05, output hang never Last clearing of "show interface" counters never Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue :0/40 (size/max) 5 minute input rate 12000 bits/sec, 15 packets/sec 5 minute output rate 18000 bits/sec, 20 packets/sec 10568 packets input, 1893511 bytes, 0 no buffer Received 250 broadcasts, 0 runts, 0 giants, 0 throttles 120 input errors, 120 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort 0 watchdog, 150 multicast, 0 pause input 0 input packets with dribble condition detected 13657 packets output, 2635700 bytes, 0 underruns 0 output errors, 95 collisions, 12 interface resets 0 babbles, 15 late collision, 5 deferred 0 lost carrier, 0 no carrier 0 output buffer failures, 0 output buffers swapped out
When there is a duplex mismatch, the link stays up, but errors appear.
On the half-duplex side, the key symptom is the CRC counter increasing.
CRC errors mean corrupted frames, a clear sign of a bad transmission.You might see collisions and sometimes late collisions. However, CRC errors are the most crucial indicators to check.
Answer the question below
Which error counter increases during a duplex mismatch?
In this lesson, we learned that speed and duplex are key parameters. Devices need to agree on these to communicate properly.
Auto-negotiation simplifies the process. It picks the highest common speed and prefers full-duplex whenever it can.
Manual configuration gives more control, but if misconfigured, it can create serious issues:
A speed mismatch prevents the link from coming up.
A duplex mismatch keeps the link active, but it causes errors like CRC errors, collisions, and late collisions. These issues lead to poor performance.
Always remember: for clear communication, both ends need matching speed and duplex settings.
Answer the question below