¡Hola Eduardo!
Fuera de lo ya mencionado en la clase, el que conmutes información a nivel de software siempre será menos eficiente que lo hagas a nivel de hardware. ¿Por qué?, porque la conmutación en hardware se utilizan componentes especializados enfocados SOLAMENTE en conmutar tráfico con información ya obtenida previamente (tablas FIB y Adjacency). Mientras si lo haces a nivel de software, esto significa que cada paquete/fragmento es enviado utilizando el CPU general del dispositivo y analizado de manera independiente; hablamos de ello en las primeras clases respecto a «Process switching» y «CEF» (Básicamente es eso). Al hacer fragmentación los paquetes son conmutados a nivel «Process Switching», y no de CEF. Otro aspecto es que a cada fragmento le estas añadiendo 20 bytes de información del header IP (https://netwgeeks.com/fragmentacion-ipv4/), reduciendo así la cantidad de información real que transportas. Además, el «armado» de los paquetes, se hace a nivel de software utilizando nuevamente el CPU general, lo que conlleva que se reduce el rendimiento general de la plataforma, ya que dicho CPU no está enfocado solamente en «re ensamblar» paquetes, sino en todas sus otras tareas genéricas.
No hay mucha información al respecto, pero según vi en ciertas páginas (no oficiales), hoy en día los IOS actuales permiten que los fragmentos sean enviados con CEF. De todas formas si esto fuera cierto, todos los otros inconvenientes son razones suficientes para evitar fragmentación en tu red.
Quedo atento a cualquier comentario.
Saludos! =)