¿Qué es realmente una agregación de enlaces con LACP?

En los blogs y podcast que me encuentro acerca del funcionamiento del LACP acabo quedándome con la idea de que este protocolo permite aumentar la tasa de transferencia de cualquier conexión de red. Dicho así, desde mi punto de vista, se está incurriendo en un error conceptual que me gustaría aclarar en esta entrada.

LACP 101

Como explicación simple, el protocolo LACP permite que dos dispositivos conectados entre ellos por dos o más enlaces ethernet, negocien un enlace virtual cuyo ancho de banda agregado sea la suma de las capacidades de cada enlace físico. Por ejemplo, dos switches conectados a través de cuatro enlaces gigabit ethernet, el agregado tendría una ancho de banda de hasta 8Gbps (4Gbps para cada sentido de la transmisión).

Perfecto hasta aquí pero, ¿esto quiere decir que puedo transmitir un fichero a 8Gbps si tengo todo el ancho de banda para mi?

Y es aquí cuando llegamos al meollo del asunto dado que LACP balancea la carga en función del algoritmo que se implemente y que listo a continuación:

  • MAC origen: Las tramas con la misma dirección MAC origen se enviarán por el mismo interfaz de red.
  • MAC destino: Las tramas con la misma dirección MAC destino se enviarán por el mismo interfaz de red.
  • MAC origen y destino: Las tramas con la misma dirección MAC origen y destino se enviarán por el mismo interfaz de red.
  • IP origen: Las tramas que transportan dentro del paquete de red la misma dirección IP origen, se enviarán por el mismo interfaz de red.
  • IP destino: Las tramas que transportan dentro del paquete de red la misma dirección IP destino, se enviarán por el mismo interfaz de red.
  • IP origen y destino: Las tramas que transportan dentro del paquete de red la misma dirección IP origen y destino, se enviarán por el mismo interfaz de red.
  • Puerto origen: Las tramas que transportan dentro del segmento de transporte el mismo puerto TCP/UDP origen, se enviarán por el mismo interfaz de red.
  • Puerto destino: Las tramas que transportan dentro del segmento de transporte el mismo puerto TCP/UDP destino, se enviarán por el mismo interfaz de red.
  • Puerto origen y destino: Las tramas que transportan dentro del segmento de transporte el mismo puerto TCP/UDP origen y destino, se enviarán por el mismo interfaz de red.

Viendo los algoritmos de balanceo existentes, es relativamente sencillo de constatar que si transmitimos un fichero por FTP por ejemplo, dado que es tráfico desde un mismo origen a un mismo destino y con un puerto origen y destino invariables, independientemente del algoritmo de balanceo y del número de enlaces en el agregado, la tasa de transferencia nunca superará el de un único enlace físico ya que todas las tramas que contengan el tráfico del FTP se enviarán por este.

Adicionalmente, los «switches más sencillos» que solo trabajan a nivel 2 y que son los que tenemos en nuestras casas, en el mejor de los casos implementan balanceo por dirección MAC. Para hacer uso del balanceo a nivel de IP, esos equipos son de tipo empresarial y su coste ya puede llegar a las tres cifras. Ni que decir tiene que los equipos implementando balanceo a nivel de transporte (balanceo por puerto TCP/UDP) son equipos que pueden rondar las cuatro o más cifras.

Conclusiones

El protocolo LACP permite a dos dispositivos negociar dinámicamente el agregado de varios enlaces físicos y tratarlos como un único enlace virtual permitiendo balancear la carga entre ellos y obtener un ancho de banda agregado igual a la suma de los anchos de banda de cada enlace físico que constituye el agregado.  No obstante los algoritmos de balanceo existentes no distribuyen trama a trama por los enlaces sino que tramas que contengan datos de un origen a un destino o qu empleen una aplicación concreta con bastante seguridad harán uso del mismo interfaz físico dentro del agregado y por tanto su tasa de transferencia será como máximo la de un único enlace.

igazmi

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Publicar un comentario