Accelerating
Ethernet Connection Startup on Cisco Switches
4 features enabled by
default on Cisco switches that cause delay when connecting port to a
host:
1. Spanning
Tree Protocol (STP)
2.
EtherChannel negotiation
3. Trunking
negotiation
4. Link
speed/duplex negotiation between the switch and the host
1. Spanning Tree Protocol
(STP)
A port running STP can
have 1 of 5 states: blocking, listening, learning, forwarding, and disabled.
STP dictates that the port starts out blocking, then immediately moves through
the listening
and learning phases. By default, it will spend
approximately 15 seconds listening and 15 seconds learning. During the listening state, the switch is trying to
determine where the port fits in the Spanning Tree topology. The switch
especially wants to know whether this port is part of a physical loop.
If it is part of a loop, this port may be chosen to go into blocking mode. If the port is not part of a
loop, it will proceed to the learning state, which involves learning
which MAC addresses live off of this port. This entire STP
initialization process takes about 30 seconds.
Fix:
Configure ports
connected to the host to portfast.
Configuring edge ports
as port fast not only waaaay speed up startup connection negotiation,
but also speed up the RSTP convergence. Always set edge ports to
portfast!!!
Switch(config)#interface fa0/2
Switch (config-if)#spanning-tree portfast
2. EtherChannel
Negotiation
EtherChannel allow
multiple links between the same two devices to work as if they were one
fast link, with traffic load balanced among the links. A switch can
form these bundles automatically with a neighbor using Port Aggregation
Protocol (PagP).
By default all
interfaces have PagP in auto mode. Which means The interface is in a
passive negotiating state; it responds to PAgP packets it receives but
does not start PAgP packet negotiation. PAgP is enabled only if a PAgP
device is detected.
Running the protocol in auto mode can cause a port to delay for
up to 15 seconds before passing control to the Spanning Tree Algorithm
(STA) (PAgP runs on a port before STP does).
There is no reason to
have PAgP running on a port connected to a host. Setting the switch
port PAgP mode to off will eliminate this delay (if
your switch allow you to turn PAgP off…)
Fix:
Fortunately some
switches have EtherChannel disabled by default.
3. Trunking
Negotiation
From Cisco school of thought: A
trunk is configured between two devices when they need to carry traffic
from multiple VLANs... meaning = VLAN tagging.
Usually, a port
connected to a workstation belongs to only one VLAN, and therefore does
not need to trunk. If a port has the ability to negotiate the formation
of a trunk, it will usually default to the auto mode. If the port is changed to a
trunking mode of off, it will further reduce the delay
of a switch port becoming active.
Fix:
Turning of the damn
trunking when not needed!
Switch(config)#interface fa0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport nonegotiate (optional)
Switch#sh int fa0/2 trunk
Port
Mode
Encapsulation Status
Native vlan
Fa0/2
off
negotiate not-trunking 1
switchport
nonegotiate : Prevents
the interface from generating Dynamic Trunking Protocol (DTP) frames.
You can use this command only when the interface switchport mode is
access or trunk. You must manually configure the neighboring interface
as a trunk interface to establish a trunk link.
4. Speed and Duplex
Negotiation
Turning on PortFast, turning off
PAgP (if present), and disabling trunking is usually enough to solve an
initial connectivity delay. If you need to eliminate every possible
micro-second, you could also set the port speed and duplex manually on
the switch.
Fix:
SwitchB(config)#interface
fa0/2
SwitchB(config-if)#
speed 100
SwitchB(config-if)#
duplex full
If you set the speed and
duplex on one side, you must set the speed and duplex on the connecting
device as well to avoid these problems.
|