IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

aka trunking o link bundling o bonding o NIC teaming o Bonding

are computer networking umbrella terms to describe various methods of combining (aggregating) multiple network connections in parallel to increase 
throughput beyond what a single connection could sustain, and to provide redundancy in case one of the links fails.

Introducció

Estandarització

Per meitat dels anys 90 la majoria de fabricants de commutadors incloïen característiques propietaries per a suportar Link Aggregation. Com que cada fabricant feia el seu propi métode sorien incompatibilitats entre commutadors de diferents fabricants.

El grup IEEE 802.3 es va posar a treballar per estandarditzar Link Aggregation al novembre de 1997. El grup va decidir ràpidament en incloure un mecanisme de configuració automàtica i va sorgir el protocol Link Aggregation Control Protocol.

Per al 2000 la majoria de dispositius ja seguien el nou estàndard anomenat IEEE 802.3ad

Al 2008 es va decidir moure 802.3ad a 802.1aX i d'aquí que per a fer referencia a l'estàndard de Link Aggregation s'utilitzi també 802.1aX

Ethercannel vs 802.3ad

Requeriments

El Link Aggregation de capa 2 s'ha de fer entre dispositius que suportin Link Aggregation i a més cal que estiguin configurats correctament. No és quelcom que es pugui aplicar a qualsevol dispositiu (per exemple commutadors tontos) de forma transparent.

Link Aggregation Control Protocol

NOTA: Cal tenir en compte que l'estàndard IEEE 802.3ad no obliga a utilitzar configuració dinàmica amb LACP. Es pot utilitzar perfectament una configuració estàtica

Dins de l'especificació estàndard del IEEE (IEEE 802.3ad) es defineix Link Aggregation Control Protocol (LACP) un protocol que proporciona un mètode per controlar la forma d'agrupar una sèrie de ports físics per tal de formar un canal lògic.

LACP permet a un dispositiu de xarxa negociar un bundling d'enllaços ( bundling of links ) enviant paquets LACP a un peer (un dispositiu connectat directament que també suporta LACP)

Configuració estàtica vs configuració dinàmica

Quan un enllaç falla entre dos commutadors LACP (Peers) i hi ha un convertidor de medis (Media Converter, per exemple un conversos de fibra a cable UTP) això pot provocar que el peer no vegi que l'enllaç a caigut. Amb una configuració estàtica el peer continuarà enviant trànsit per l'enllaç caigut i aquest transit es perd.

Amb LACP cada peer pot comprovar el funcionament del peer remot.

Amb configuracions estàtiques un error en la configuració o en un cable pot povocat efectes indesitjats.

LACP works by sending frames (LACPDUs) down all links that have the protocol enabled. If it finds a device on the other end of the link that also has LACP enabled, it will also independently send frames along the same links enabling the two units to detect multiple links between themselves and then combine them into a single logical link.

LACP es pot configurar en dos modes:

  • active: In active mode it will always send frames along the configured links.
  • passive: In passive mode however, it acts as "speak when spoken to", and therefore can be used as a way of controlling accidental loops (as long as the other device is in active mode).[3]

Conceptes i glossari de termes

  • Canal lògic: Concepte que serveis per diferenciar un canal físic real (un sol cable) per un canal virtual que no exiteis realment però és un conjunt de canals físics treballant de forma conjunta per simular un canal físic.
  • Ports físics: Terme que s'utilitza per fer referència als ports físics reals de un commutador. Es diferència del concepte de port lògic, que pot ser l'agrupació de diversos ports físics simulant un "nou" port físics agregació dels anteriors.
  • transmit-hash-policy: A RouterOS les opcions són layer2, layer2 and 3 i layer 3 and 4.
  • L2 hash: les decisions d'enviar el transit per un enllaç físic o un altre es prenen tenint en consideració algun valor de capa 2 (sovint les adreces MAC)
  • L3 hash: les decisions d'enviar el transit per un enllaç físic o un altre es prenen tenint en consideració algun valor de capa 3 (sovint les adreces IP)
  • L4 hash: les decisions d'enviar el transit per un enllaç físic o un altre es prenen tenint en consideració algun valor de capa 4 (sovint els números de port TCP/UDP)
  • Load Balancing: fa referència a la capacitat de compartir la càrrega de trànsit total en un conjunt d'enllaços físics. També s'utilitzen les inicials lb
  • Fault Tolerance: El link aggregation no només s'utilitza per "sumar" amples de banda si no per tenir més tolerància a errors, per exemple el fet de tenir dos enllaços físics permet que si un cau l'altre continuí treballant.
  • Order of frames: Quan es balanceja transit els administradors sovint desitgen evitar haver de reordenar frames Ethernet. Per exemple, el protocol TCP sofreix una certa sobrecàrrega si ha de lidiar amb paquets desordenats. Aquest objectiu se sol assolir enviant tots els frames associats a una sessió particular a través del mateix link físic (el mateix port i cable). La implementació més comuna és utilitzar hashes de nivell 3 (L3 hashes), per exemple basats en la adreça IP, de forma que s'assegura que el mateix fluxe de dades és sempre enviat sencer pel mateix enllaç físic. El principal problema és però que depenent del transit, això pot resultar que no hi haguí distribució de la càrrega real entre els enllaços físics ja que de fet l'ampla de banda no es suma, sinó que per a un mateix client i sessió el màxim de velocitat que es pot obtenir està limitat a la velocitat màxima de l'únic l'enllaç físic que acaba utilitzant aquell client i aquella sessió. Aquesta és la raó principal per la que normalment una distribució de la carrega 50/50 no s'assoleix gaire bé mai si no més aviat un 70/30 és més habitual. Alguns switchos avançats poden utilitzar un L4 hash (p.ex. els números de port TCP/UDP) que permet millorar l'experiència de balanceigi apropar-la al 50/50.
  • Configuració estàtica i LACP:
  • MC Lag

Limitacions

Single switch

Amb els modes balance-rr, balance-xor, broadcast i 802.3ad tots els ports físics que formen part d'una agregació han d'estar al mateix commutador físic el que provoca que realment la tolerància a errors sigui molt relativa, ja que si deixa d'estar disponible un commutador físic aleshores tots els ports que formen part de l'aggregació també deixen de funcionar.

Els modes active-backup, balance-tlb i balance-alb es poden configurar en un o més dispositius.

Cal tenir en compte que en tots els modes, després d'un error? (failover) en alguns casos les sessions actives poden fallar degut a problemes amb el protocol ARP i cal reiniciar els commutadors.

Tot i això, la majoria de venedors tenen extensions propietaries per resoldre aquests problemes. Sovint el que es fa és agregar múltiples commutadors físics en un sol commutador lògic. Actualment (--acacha 17:07, 23 feb 2012 (UTC)? )encara el IEEE no ha indicat cap forma estàndard de fer això.

El protocol Split multi-link trunking (SMLT) permet separar múltiples enllaços Ethernet protocol en múltiples commutadors d'una mateixa pila.

Eficiència de l'equipament

L'agregació pot esdevenir en ineficient a partir de cert ampla de banda depenent del nombre de ports total del commutador. Un commutador de 24 ports Gigabit amb dos troncals de 8 gigabit està utilitzant 16 dels seus ports

-port gigabit switch with two 8-gigabit trunks is using sixteen of its available ports just for the two interswitch connections, and leaves only eight of its 1-gigabit ports for other devices. This same configuration on a 48-port gigabit switch leaves 32 1-gigabit ports available, and so it is much more efficient (assuming of course that those ports are actually needed at the switch location).

Quan un commutador utilitza el 40-50% dels seus ports per a un backbone trunking, actualitzar a un commutador amb més ports o més capacitat de commutació pot ser molt millor que simplement afegir més commutadors especialment si el commutador àntic es pot reutilitzar en un part de la xarxa on el rendiment de la xarxa no sigui tant important.


Same link speed

In most implementations, all the ports used in an aggregation consist of the same physical type, such as all copper ports (10/100/1000BASE‑T), all multi-mode fiber ports, or all single-mode fiber ports. However, all the IEEE standard requires is that each link be full duplex and all of them have an identical speed (10, 100, 1,000 or 10,000 Mbit/s).

Molts commutadors són PHY independent, és a dir que poden tenir un mixte de tipus de enllaços físics (coure, fibra, diferents tipus de connectors de fibra com SX, LX, LX10...) While maintaining the same PHY is the usual approach, it is possible to aggregate a 1000BASE-SX fiber for one link and a 1000BASE-LX (longer, diverse path) for the second link, but the important thing is that the speed will be 1 Gbit/s full duplex for both links. One path may have a slightly longer transit time but the standard has been engineered so this will not cause an issue.

Ethernet aggregation mismatch

El terme Aggregation mismatch fa referència al cas en que els dos costats d'un enllaç físic no utilitzen el mateix mode de bonding.

Alguns commutadors no implementen l'estàndard IEE 802.1AX però suporten la configuració estàtica de link aggregation. Així link aggregation funcionarà amb dispositius configurats de forma similar i estàtica, però pot fallar entre un switrch configurat de forma estàtica i un amb LACP.

Bonding modes

The Linux bonding driver provides a method for aggregating multiple network interfaces into a single logical bonded interface. The behavior of the bonded interfaces depends upon the mode; generally speaking, modes provide either hot standby or load balancing services.

Els modes de bonding que es pot trobar en un sistema poden variar.

  • Round-robin policy: Es transmeten els paquets en mode seqüencial des del primer esclau (port) disponible fins a l'últim i es torna començar (Round Robin). Aquest mode proveïx tant de balanceig de càrrega (Load balancing) com de tolerància a errors (fault tolerance)
  • Active-backup policy: Només un slave del bonding és actiu. Un esclau diferent al actiu es torna també en actiu sí i només si el canal actiu falla. The bond's MAC address is externally visible on only one port (network adapter) to avoid confusing the switch. Aquest mode proporciona tolerància a errors. The primary option affects the behavior of this mode.
  • XOR policy: La transmissió es fa en base a una operació XOR entre la source MAC address i la adreça MAC de destinació aplicant el mòdul de la quantitat de slaves. Amb aquest mètode s'escull sempre el mateix port esclau per cada adreça MAC de destinació. Aquest mode proveïx de tolerància a error i de balanceig de càrrega.
  • Broadcast policy: S'envia tot per totes les interfícies esclaves. Aquest mode proveïx de tolerància a errors
  • IEEE 802.3ad Dynamic link aggregation: Crea grups d'agregació que comparteixen la mateixa velocitat i el mateix mode duplex. Utilitza tots els esclaus TODO slaves in the active aggregator according to the 802.3ad specification.
  • Adaptive transmit load balancing: Si s'activa en una màquina Linux, al commutador connectat al servidor no és requereix de cap mena de suport especial per a Bonding. The outgoing traffic is distributed according to the current load (computed relative to the speed) on each slave. Incoming traffic is received by the current slave. If the receiving slave fails, another slave takes over the MAC address of the failed receiving slave.
  • Adaptive load balancing: inclou balance-tlb més receive load balancing (rlb) for IPV4 traffic, and does not require any special switch support. The receive load balancing is achieved by ARP negotiation. The bonding driver intercepts the ARP Replies sent by the local system on their way out and overwrites the source hardware address with the unique hardware address of one of the slaves in the bond such that different peers use different hardware addresses for the server.

Per exemple a Linux trobem ():

Sistemes

Linux

Vegeu:

Linux Bonding
Linux Link Aggregation

DLINK

TODO

RouterOS

Cal escollir dos targetes de xarxa físiques, per exemple ether1 i ether2 en dos routers (Router1 i Router2) i fem agregació de ports amb:

/interface bonding add slaves=ether1,ether2

NOTA: Cal posar aquesta comanda a dos dispositius. Cal esperar un parell de segons per a tenir connectivitat amb el peer

Modes:

  • balance-rr
  • 802.3ad: 802.3ad mode és un estàndard del IEEE (IEEE 802.3ad) també anomenat LACP (Link Aggregation Control Protocol). Inclou la configuració automàtica dels aggregates i per tant es requereix una mínima configuració del commutador. Aquest estandard també demana que esl frames siguin entregats en ordre i les connexions no poden trobar-se paquets desordenats. L'estàndard també reclama que tots els dispositius a l'aggregate han d'operar a la mateixa velocitat i mode duplex i funcionar només amb MII link monitoring. LACP balanceja el trànsit de sortida a través dels ports segons la informació hashed de la capçalera del protocol i accepta trànsit d'entrada de qualsevol port actiu. El hash inclou el Ethernet source i la adreça de destinació, i, si està disponible el tag VLAN i les adreces d'origen i destinació IPv4/IPv6. Com es calculen depèn del paràmetre transmit-hash-policy.
  • Active backup
  • balance-alb
  • balance-tlb
  • balance-xor
  • boadcast

Link Monitoring:

HI ha dos esquemes permesos de monitorització de l'enllaç:


No és possible utilitzar els dos mètodes al mateix temps per restriccions en el driver de bonding.

ARP Monitoring:

ARP monitoring sends ARP queries and uses the response as an indication that the link is operational. This also gives assurance that traffic is actually flowing over the links. If balance-rr and balance-xor modes are set, then the switch should be configured to evenly distribute packets across all links. Otherwise all replies from the ARP targets will be received on the same link which could cause other links to fail.

ARP monitoring is enabled by setting three properties

It is possible to specify multiple ARP targets that can be useful in a High Availability setups. If only one target is set, the target itself may go down.

Having an additional targets increases the reliability of the ARP monitoring.

MII Monitoring: MII monitoring monitors only the state of the local interface. In RouterOS it is possible to configure MII monitoring in two ways:

MII Type 1: device driver determines whether link is up or down. If device driver does not support this option then link will appear as always up. MII Type 2: deprecated calling sequences within the kernel are used to determine if link is up. This method is less efficient but can be used on all devices. This mode should be set only if MII type 1 is not supported.

Main disadvantage is that MII monitoring can’t tell if the link actually can pass the packets or not even if the link is detected as up.

MII monitoring is configured setting desired link-monitoring mode and mii-interval.


LACP

Exemple de configuració entre Router amb RouterOS amb 802.3ad (LACP) i switch Cisco Catalyst GigabitEthernet Connection

TODO: Gràfica. Explicació

/interface bonding add slaves=ether1,ether2 \

  mode=802.3ad lacp-rate=30secs \
  link-monitoring=mii-type1 \
  transmit-hash-policy=layer-2-and-3

Other part configuration (assuming the aggregation switch is a Cisco device, usable in EtherChannel / L3 environment):

! interface range GigabitEthernet 0/1-2

  channel-protocol lacp
  channel-group 1 mode active

! interface PortChannel 1

  no switchport
  ip address XXX.XXX.XXX.XXX XXX.XXX.XXX.XXX

!

Or for EtherChannel / L2 environment:

! interface range GigabitEthernet 0/1-2

  channel-protocol lacp
  channel-group 1 mode active

! interface PortChannel 1

  switchport
  switchport mode access
  swichport access vlan XX

!

Bonding, WIFI i EOIP

Cisco IOS

Exemples

Bonding + VRRP + VLANs + VLANsQinQ en Bridge

Consulteu Bonding + VRRP + VLANs + VLANsQinQ en Bridge

Monitorització

Cacti

Vegeu Cacti i LACP

Resol·lució de problemes

Targetes de xarxa "barates"

La detecció d'errors de link i el failover funciona millor en targetes de xarxa de qualitat com Intel. A les intel si el link cau tardarà menys de 1 segon en detectar l'error. En altres targetes pot tardar mçes de 20 segons.

A més el mode Active load balancing (mode=balance-alb) no funciona en algunes targetes de xarxa barates.

Vegeu també

Enllaços externs