Hello Attila
The requirement that port speeds have to match for EtherChannel is more a matter of design rather than a matter of “what would happen if…” Engineers that designed this feature required that the speeds of all interfaces be the same. Otherwise, the feature will not bundle the interfaces and simply will not work.
So what is the reason for this design? Because we can’t actually experiment to determine what effect a fully functioning EtherChannel bundle with different interface speeds would behave like, we can only speculate.
I don’t believe the reordering of the packets is the issue. That, as you mention, is taken care of by upper-layer protocols such as TCP. Even with UDP, there are mechanisms higher up that will deal with out-of-order packets.
The issue I believe has more to do with things like:
- Consistent throughput: When port speeds are consistent across all member links, the aggregated link can deliver a predictable and consistent level of throughput. If there were different port speeds, it would lead to uneven performance across the EtherChannel, causing congestion on slower links and underutilization of faster links.
- Load balancing: The various algorithms that can be used for this depend upon the speeds being the same across all physical links, otherwise they will be less effective, leading to a less balanced traffic distribution, potentially causing bottlenecks.
There may be other reasons as well, but these are the most important that I believe led engineers to design EtherChannel in this way.
I hope this has been helpful!
Laz