In a network with a dual-redundant link between two switches, will any data be lost during the switchover from an active link to the blocked link when the active link fails?
It is possible, even likely, that at least one (probably more) frames will be lost on any failover.
The speed of the failover is highly dependent on what type of redundancy you are using. Spanning Tree is the slowest, routing is an order of magnitude faster, and etherchannels are yet and order of magnitude faster than that.
When frames are lost, there is nothing in layer-2 to request that they be resent. If the data in the frames is TCP, the upper layer will request that the packet containing the TCP segment be resent. UDP does not do that, so it would be up to the application to request a resend if it is built that way.
If i remember, default spanning tree (802.1d) takes about 50 secs to reconverge. That is the duration for which you will be losing frames.
- A link is detected down by the loss of 10 hello pkts. These are usually 2 secs apart. So total=20 secs. This is called the max-age timer
- Next it has to transition another blocked port through listening and learning states into a forwarding state. This transitioning takes 15 secs for listening state, and 15 for learning. So total=30 secs. These are called the forward-delay timers.
Sure, you can modify these timers to make is quicker. Or use RSTP(Rapid Spanning tree), which is more like the defacto now. RSTP is much quicker, as takes just a few secs to reconverge.