Link de agregação - Link aggregation

Agregação de link entre um switch e um servidor

Em redes de computadores , agregação de link é a combinação ( agregação ) de várias conexões de rede em paralelo por qualquer um dos vários métodos, a fim de aumentar a taxa de transferência além do que uma única conexão poderia sustentar, para fornecer redundância no caso de um dos links falhar, ou Ambas. Um grupo de agregação de link ( LAG ) é a coleção combinada de portas físicas.

Outros termos gerais usados ​​para descrever o conceito incluem entroncamento , agrupamento , vinculação , canalização ou agrupamento .

A implementação pode seguir padrões independentes do fornecedor, como Link Aggregation Control Protocol (LACP) para Ethernet , definido no IEEE 802.1AX ou no IEEE 802.3ad anterior , mas também protocolos proprietários .

Motivação

A agregação de link aumenta a largura de banda e a resiliência das conexões Ethernet .

Os requisitos de largura de banda não são escalonados linearmente. As larguras de banda Ethernet historicamente aumentaram dez vezes a cada geração: 10 megabit / s, 100 Mbit / s, 1000 Mbit / s, 10.000 Mbit / s. Se alguém começasse a esbarrar em limites máximos de largura de banda, a única opção seria passar para a próxima geração, o que poderia ter um custo proibitivo. Uma solução alternativa, introduzida por muitos dos fabricantes de rede no início dos anos 1990, é usar agregação de link para combinar dois links Ethernet físicos em um link lógico. A maioria dessas soluções iniciais exigia configuração manual e equipamentos idênticos em ambos os lados da conexão.

Existem três pontos únicos de falha inerentes a uma conexão porta-cabo-porta típica, em uma configuração de computador para switch ou switch para switch: o próprio cabo ou qualquer uma das portas em que o cabo está conectado pode falhar . Múltiplas conexões lógicas podem ser feitas, mas muitos dos protocolos de nível superior não foram projetados para realizar failover de forma totalmente contínua. Combinar várias conexões físicas em uma conexão lógica usando agregação de link fornece comunicações mais resilientes.

Arquitetura

Os arquitetos de rede podem implementar agregação em qualquer uma das três camadas mais baixas do modelo OSI . Exemplos de agregação na camada 1 ( camada física ) incluem linha de energia (por exemplo, IEEE 1901 ) e dispositivos de rede sem fio (por exemplo, IEEE 802.11) que combinam várias bandas de frequência. A agregação da camada 2 do OSI ( camada de link de dados , por exemplo, quadro Ethernet em LANs ou PPP multi-link em WANs, endereço MAC Ethernet ) ocorre nas portas do switch, que podem ser portas físicas ou virtuais gerenciadas por um sistema operacional. A agregação na camada 3 ( camada de rede ) no modelo OSI pode usar programação round-robin , valores de hash calculados a partir de campos no cabeçalho do pacote ou uma combinação desses dois métodos.

Independentemente da camada em que ocorre a agregação, é possível equilibrar a carga da rede em todos os links. No entanto, para evitar entregas fora de ordem , nem todas as implementações tiram proveito disso. A maioria dos métodos também fornece failover .

A combinação pode ocorrer de forma que várias interfaces compartilhem um endereço lógico (ou seja, IP) ou um endereço físico (ou seja, endereço MAC), ou permite que cada interface tenha seu próprio endereço. O primeiro requer que ambas as extremidades de um link usem o mesmo método de agregação, mas tem vantagens de desempenho em relação ao último.

A ligação de canal é diferenciada do balanceamento de carga em que o balanceamento de carga divide o tráfego entre as interfaces de rede por soquete de rede (camada 4), enquanto a ligação de canal implica uma divisão de tráfego entre interfaces físicas em um nível inferior, por pacote (camada 3) ou uma base de enlace de dados (camada 2).

Agregação de link IEEE

Processo de padronização

Em meados da década de 1990, a maioria dos fabricantes de switch de rede incluiu a capacidade de agregação como uma extensão proprietária para aumentar a largura de banda entre seus switches. Cada fabricante desenvolveu seu próprio método, o que gerou problemas de compatibilidade. O grupo de trabalho IEEE 802.3 reuniu um grupo de estudo para criar um padrão de camada de link interoperável (ou seja, abrangendo as camadas física e de link de dados) em uma reunião de novembro de 1997. O grupo concordou rapidamente em incluir um recurso de configuração automática que também adicionaria redundância. Isso ficou conhecido como Link Aggregation Control Protocol (LACP).

802.3ad

A partir de 2000, a maioria dos esquemas de ligação de canal de gigabit usam o padrão IEEE de Link Aggregation que era anteriormente a cláusula 43 do padrão IEEE 802.3 adicionado em março de 2000 pela força-tarefa IEEE 802.3ad. Quase todos os fabricantes de equipamentos de rede adotaram rapidamente esse padrão conjunto em vez de seus padrões proprietários.

802.1AX

O relatório da força-tarefa de manutenção 802.3 para o projeto de 9ª revisão em novembro de 2006 observou que certas camadas 802.1 (como segurança 802.1X ) foram posicionadas na pilha de protocolo abaixo da Agregação de Link, que foi definida como uma subcamada 802.3 . Para resolver essa discrepância, a força-tarefa 802.3ax (802.1AX) foi formada, resultando na transferência formal do protocolo para o grupo 802.1 com a publicação do IEEE 802.1AX-2008 em 3 de novembro de 2008.

Protocolo de controle de agregação de link

Dentro dos padrões IEEE Ethernet, o Link Aggregation Control Protocol (LACP) fornece um método para controlar o agrupamento de vários links físicos para formar um único link lógico. O LACP permite que um dispositivo de rede negocie um agrupamento automático de links enviando pacotes LACP para seu par, um dispositivo conectado diretamente que também implementa o LACP.

Recursos e exemplos práticos do LACP

  1. Número máximo de portas agrupadas permitidas no canal de portas: Os valores válidos são geralmente de 1 a 8.
  2. Os pacotes LACP são enviados com o endereço MAC do grupo multicast 01: 80: C2: 00: 00: 02
  3. Durante o período de detecção LACP
    • Os pacotes LACP são transmitidos a cada segundo
    • Mecanismo de manutenção de atividade para membro do link: (padrão: lento = 30s, rápido = 1s)
  4. O modo de balanceamento de carga selecionável está disponível em algumas implementações
  5. Modo LACP:
    • Ativo: Habilita LACP incondicionalmente.
    • Passivo: Habilita LACP apenas quando um dispositivo LACP é detectado. (Este é o estado padrão)

Vantagens sobre a configuração estática

  • O failover ocorre automaticamente: quando um link tem uma falha intermediária, por exemplo, em um conversor de mídia entre os dispositivos, um sistema de mesmo nível pode não perceber nenhum problema de conectividade. Com a agregação de link estático, o par continuaria enviando tráfego pelo link, causando falha na conexão.
  • Configuração dinâmica: O dispositivo pode confirmar que a configuração na outra extremidade pode lidar com a agregação de link. Com a agregação de link estático, um erro de cabeamento ou configuração pode não ser detectado e causar comportamento indesejável na rede.

Notas práticas

O LACP funciona enviando quadros (LACPDUs) por todos os links que têm o protocolo habilitado. Se encontrar um dispositivo na outra extremidade de um link que também tenha o LACP habilitado, esse dispositivo enviará quadros independentemente ao longo dos mesmos links na direção oposta, permitindo que as duas unidades detectem vários links entre si e, em seguida, combinem-nos em um único sistema lógico ligação. O LACP pode ser configurado em um de dois modos: ativo ou passivo. No modo ativo, os LACPDUs são enviados 1 por segundo ao longo dos links configurados. No modo passivo, os LACPDUs não são enviados até que um seja recebido do outro lado, um protocolo fale quando falado.

Agregação de link proprietário

Além dos substandards IEEE agregação de link, há uma série de esquemas de agregação de propriedade, incluindo da Cisco EtherChannel e Agregação de portas Protocolo , agregado Ethernet da Juniper, da Avaya multi-Link Trunking , smlt , roteado smlt e distribuído Dividir Multi-Link Trunking , Smartgroup da ZTE, Eth-Trunk da Huawei e Speedify da Connectify . A maioria dos dispositivos de rede de ponta oferece suporte a alguma forma de agregação de link. Implementações baseadas em software - como o pacote * BSD lagg , driver de ligação Linux , Solaris dladm aggr , etc. - existem para muitos sistemas operacionais.

Driver de ligação Linux

O driver de ligação Linux fornece um método para agregar vários controladores de interface de rede (NICs) em uma única interface lógica ligada de dois ou mais escravos (NIC) . A maioria das distribuições Linux modernas vem com um kernel Linux que possui o driver de ligação Linux integrado como um módulo de kernel carregável e o programa de controle de nível de usuário ifenslave (if = [rede]) pré-instalado. Donald Becker programou o driver de ligação Linux original. Ele entrou em uso com os patches de cluster Beowulf para o kernel Linux 2.0.

Modos de motorista

Os modos para o driver de vinculação do Linux (modos de agregação de interface de rede) são fornecidos como parâmetros para o módulo de vinculação do kernel no momento do carregamento. Eles podem ser fornecidos como argumentos de linha de comando para o comando insmod ou modprobe, mas geralmente são especificados em um arquivo de configuração específico da distribuição do Linux. O comportamento da interface de ligação lógica única depende de seu modo de driver de ligação especificado. O parâmetro padrão é balance-rr.

Round-robin (balance-rr)
Transmita pacotes de rede em ordem sequencial do primeiro escravo da interface de rede (NIC) disponível até o último. Este modo oferece balanceamento de carga e tolerância a falhas . Às vezes, pode causar contenção porque os pacotes podem ser reordenados no caminho para o destino, embora existam soluções.
Backup ativo (backup ativo)
Apenas um escravo NIC no vínculo está ativo. Um escravo diferente se torna ativo se, e somente se, o escravo ativo falhar. O endereço MAC da interface de ligação lógica única é externamente visível em apenas uma NIC (porta) para evitar distorção no switch de rede . Este modo oferece tolerância a falhas.
XOR (balance-xor)
Transmita pacotes de rede com base em um hash da origem e do destino do pacote. O algoritmo padrão considera apenas os endereços MAC ( camada 2 ). As versões mais recentes permitem a seleção de políticas adicionais com base em endereços IP ( camada 2 + 3 ) e números de porta TCP / UDP ( camada 3 + 4 ). Isso seleciona o mesmo NIC escravo para cada endereço MAC de destino, endereço IP ou endereço IP e combinação de porta, respectivamente. Conexões únicas terão entrega de pacotes "em ordem" garantida e serão transmitidas na velocidade de um único NIC. Este modo oferece balanceamento de carga e tolerância a falhas.
Transmitir (transmitir)
Transmita pacotes de rede em todas as interfaces de rede escravas. Este modo oferece tolerância a falhas.
Agregação de link dinâmico IEEE 802.3ad (802.3ad, LACP)
Cria grupos de agregação que compartilham as mesmas configurações de velocidade e duplex. Utiliza todas as interfaces de rede escravas no grupo agregador ativo de acordo com a especificação 802.3ad. Este modo é semelhante ao modo XOR acima e suporta as mesmas políticas de balanceamento. O link é configurado dinamicamente entre dois pares de suporte do LACP.
Balanceamento de carga de transmissão adaptável (balance-tlb)
Modo de driver de ligação Linux que não requer nenhum suporte especial de switch de rede. O tráfego de pacotes de rede de saída é distribuído de acordo com a carga atual (calculada em relação à velocidade) em cada escravo da interface de rede. O tráfego de entrada é recebido por uma interface de rede escrava atualmente designada. Se este escravo receptor falhar, outro escravo assume o endereço MAC do escravo receptor com falha.
Balanceamento de carga adaptável (balance-alb)
inclui balance-tlb plus receive load balancing (rlb) para tráfego IPV4 e não requer nenhum suporte especial de switch de rede. O balanceamento de carga de recebimento é obtido pela negociação ARP . O driver de ligação intercepta as respostas ARP enviadas pelo sistema local em seu caminho e sobrescreve o endereço de hardware de origem com o endereço de hardware exclusivo de um dos escravos NIC na interface ligada lógica única de modo que diferentes pares de rede usem endereços MAC diferentes para seu tráfego de pacotes de rede.

Linux Team driver

O driver Linux Team oferece uma alternativa ao driver de ligação. A principal diferença é que a parte do kernel do driver da equipe contém apenas o código essencial e o resto do código (validação do link, implementação do LACP, tomada de decisão, etc.) é executado no espaço do usuário como parte do daemon teamd .

Uso

Backbone de rede

A agregação de link oferece uma maneira econômica de configurar uma rede de backbone de alta velocidade que transfere muito mais dados do que qualquer porta ou dispositivo único pode fornecer. A agregação de link também permite que a velocidade do backbone da rede cresça incrementalmente conforme a demanda na rede aumenta, sem ter que substituir tudo e implantar novo hardware.

A maioria das instalações de backbone instala mais cabos ou pares de fibra ótica do que o inicialmente necessário, mesmo que não haja necessidade imediata de cabeamento adicional. Isso é feito porque os custos de mão de obra são maiores do que o custo do cabo e o uso de cabos extras reduz os custos de mão de obra futuros se a rede precisar mudar. A agregação de link pode permitir o uso desses cabos extras para aumentar as velocidades de backbone por pouco ou nenhum custo extra se as portas estiverem disponíveis.

Ordem dos quadros

Ao equilibrar o tráfego, os administradores de rede geralmente desejam evitar o reordenamento de quadros Ethernet. Por exemplo, o TCP sofre sobrecarga adicional ao lidar com pacotes fora de ordem. Esse objetivo é aproximado ao enviar todos os quadros associados a uma sessão específica pelo mesmo link. Implementações comuns usam hashes L2 ou L3 (ou seja, com base no MAC ou nos endereços IP), garantindo que o mesmo fluxo seja sempre enviado pelo mesmo link físico.

No entanto, isso pode não fornecer uma distribuição uniforme entre os links no tronco quando apenas um único ou muito poucos pares de hosts se comunicam entre si, ou seja, quando os hashes fornecem muito pouca variação. Limita efetivamente a largura de banda do cliente em conjunto com a largura de banda máxima de seu único membro por parceiro de comunicação. Em casos extremos, um link está totalmente carregado enquanto os outros estão completamente ociosos. Por esse motivo, um balanceamento de carga uniforme e a utilização total de todos os links troncalizados quase nunca são alcançados em implementações da vida real. Switches mais avançados podem empregar um hash L4 (ou seja, usando números de porta TCP / UDP), o que pode aumentar a variação de tráfego entre os links - dependendo se as portas variam - e aproximar o equilíbrio de uma distribuição uniforme.

Capacidade máxima

Vários switches podem ser utilizados para otimizar o rendimento máximo em uma topologia de switch de rede múltipla , quando os switches são configurados em paralelo como parte de uma rede isolada entre dois ou mais sistemas. Nessa configuração, os switches são isolados um do outro. Um motivo para empregar uma topologia como essa é para uma rede isolada com muitos hosts (um cluster configurado para alto desempenho, por exemplo), o uso de vários switches menores pode ser mais econômico do que um único switch maior. Se o acesso além da rede for necessário, um host individual pode ser equipado com um dispositivo de rede adicional conectado a uma rede externa; este host atua adicionalmente como um gateway. As interfaces de rede 1 a 3 do nó A do cluster de computador , por exemplo, são conectadas por meio de comutadores de rede separados 1 a 3 com interfaces de rede 1 a 3 do nó B do cluster de computador ; não há interconexões entre os switches de rede 1 a 3. O modo de driver de ligação Linux normalmente empregado em configurações desse tipo é balance-rr; o modo balance-rr permite que conexões individuais entre dois hosts utilizem efetivamente mais do que a largura de banda de uma interface.

Use em placas de interface de rede

Os NICs entroncados também podem fornecer links de rede além da taxa de transferência de qualquer um único NIC. Por exemplo, isso permite que um servidor de arquivos central estabeleça uma conexão agregada de 2 gigabits usando duas NICs de 1 gigabit agrupadas. Observe que a taxa de sinalização de dados ainda será de 1 Gbit / s, o que pode ser enganoso, dependendo das metodologias usadas para testar a taxa de transferência após o emprego da agregação de link.

Microsoft Windows

O Microsoft Windows Server 2012 oferece suporte nativo à agregação de links. As versões anteriores do Windows Server dependiam do suporte do fabricante do recurso em seu software de driver de dispositivo . A Intel , por exemplo, lançou Advanced Networking Services (ANS) para unir placas Intel Fast Ethernet e Gigabit.
A Nvidia também oferece suporte a "formação de equipes" com sua ferramenta Nvidia Network Access Manager / Firewall. A HP também tem uma ferramenta de agrupamento para NICs da marca HP que permitirá agrupamento de NICs não EtherChanneled ou que oferecerá suporte a vários modos de EtherChannel (agregação de porta), incluindo 802.3ad com LACP. Além disso, há uma agregação básica de camada 3 (disponível pelo menos no Windows XP SP3), que permite que servidores com várias interfaces IP na mesma rede executem balanceamento de carga e usuários domésticos com mais de uma conexão à Internet para aumentar a conexão velocidade compartilhando a carga em todas as interfaces.
A Broadcom oferece funções avançadas por meio do Broadcom Advanced Control Suite (BACS), por meio do qual a funcionalidade de agrupamento do BASP ("Broadcom Advanced Server Program") está disponível, oferecendo 802.3ad estáticos LAGs, LACP e "agrupamento inteligente" que não requer nenhum configuração nos switches para funcionar. É possível configurar o agrupamento com BACS com uma combinação de NICs de diferentes fornecedores, desde que pelo menos um deles seja Broadcom e os outros NICs tenham os recursos necessários para criar agrupamento.

Linux e UNIX

Linux , FreeBSD , NetBSD , OpenBSD , macOS , OpenSolaris e distribuições Unix comerciais como AIX implementam ligação Ethernet (trunking) em um nível superior e podem, portanto, lidar com NICs de diferentes fabricantes ou drivers, desde que a NIC seja suportada pelo núcleo.

Plataformas de virtualização

Citrix XenServer e VMware ESX têm suporte nativo para link-aggregation. O XenServer oferece LAGs estáticos e LACP. O vSphere 5.1 (ESXi) oferece suporte a LAGs estáticos e LACP nativamente com seu switch distribuído virtual.
Para o Hyper-V da Microsoft , a vinculação ou formação de equipes não é oferecida no hyper-visor ou no nível do sistema operacional, mas os métodos mencionados acima para formação de equipes no Windows também se aplicam ao Hyper-V.

Limitações

Interruptor único

Com os modos balance-rr , balance-xor , broadcast e 802.3ad , todas as portas físicas no grupo de agregação de link devem residir no mesmo switch lógico, o que, na maioria dos cenários comuns, deixará um único ponto de falha quando o switch físico ao qual todos os links estão conectados fica offline. Os modos active-backup , balance-tlb e balance-alb também podem ser configurados com duas ou mais opções. Porém, após o failover (como todos os outros modos), em alguns casos, as sessões ativas podem falhar (devido a problemas de ARP) e precisam ser reiniciadas.

No entanto, quase todos os fornecedores têm extensões proprietárias que resolvem alguns desses problemas: eles agregam vários switches físicos em um switch lógico. O protocolo Split multi-link trunking (SMLT) permite que vários links Ethernet sejam divididos em vários switches em uma pilha, evitando qualquer ponto único de falha e, adicionalmente, permitindo que todos os switches tenham balanceamento de carga em vários switches de agregação a partir de uma única pilha de acesso. Esses dispositivos sincronizam o estado em um Inter-Switch Trunk (IST) de forma que pareçam ao dispositivo de conexão (acesso) ser um único dispositivo (bloco de switch) e evitam a duplicação de pacotes. O SMLT oferece resiliência aprimorada com failover e recuperação em sub-segundos para todos os troncos de velocidade (10 Mbit / s, 100 Mbit / s, 1.000 Mbit / s e 10 Gbit / s) enquanto opera de forma transparente para dispositivos finais.

Mesma velocidade do link

Na maioria das implementações, todas as portas usadas em uma agregação consistem no mesmo tipo físico, como todas as portas de cobre (10/100 / 1000BASE-T), todas as portas de fibra multimodo ou todas as portas de fibra monomodo. Porém, tudo o que o padrão IEEE exige é que cada link seja full duplex e todos tenham velocidade idêntica (10, 100, 1.000 ou 10.000 Mbit / s).

Muitos switches são independentes de PHY, o que significa que um switch pode ter uma mistura de cobre, SX, LX, LX10 ou outros GBICs. Embora manter o mesmo PHY seja a abordagem usual, é possível agregar uma fibra 1000BASE-SX para um link e uma 1000BASE-LX (caminho mais longo e diverso) para o segundo link, mas o importante é que a velocidade será 1 Gbit / s full duplex para ambos os links. Um caminho pode ter um tempo de propagação um pouco mais longo, mas o padrão foi projetado para que isso não cause problemas.

Incompatibilidade de agregação Ethernet

A incompatibilidade de agregação refere-se à não correspondência do tipo de agregação em ambas as extremidades do link. Alguns switches não implementam o padrão 802.1AX, mas oferecem suporte à configuração estática de agregação de link. Portanto, a agregação de link entre switches configurados estaticamente de forma semelhante funcionará, mas falhará entre um switch configurado estaticamente e um dispositivo configurado para LACP.

Exemplos

Ethernet

Em interfaces Ethernet , a ligação de canal requer assistência do switch Ethernet e do sistema operacional do computador host , que deve "distribuir" a entrega de quadros nas interfaces de rede da mesma maneira que E / S é distribuída nos discos em uma matriz RAID 0 . Por esse motivo, algumas discussões sobre vinculação de canais também se referem a Redundant Array of Inexpensive Nodes (RAIN) ou a "redundante array de interfaces de rede independentes".

Modems

Em modems analógicos, vários links dial-up sobre POTS podem ser vinculados. A taxa de transferência sobre essas conexões vinculadas pode chegar mais perto da largura de banda agregada dos links vinculados do que a taxa de transferência em esquemas de roteamento que simplesmente equilibram a carga das conexões de rede de saída pelos links.

DSL

Da mesma forma, várias linhas DSL podem ser ligadas para fornecer maior largura de banda; no Reino Unido , o ADSL às vezes é vinculado para fornecer, por exemplo, largura de banda de upload de 512 kbit / s e largura de banda de download de 4 megabit / s, em áreas que só têm acesso a largura de banda de 2 megabit / s.

DOCSIS

De acordo com as especificações DOCSIS 3.0 e 3.1 para sistemas de dados sobre TV a cabo (CATV), vários canais podem ser vinculados. No DOCSIS 3.0, até 32 canais downstream e 8 canais upstream podem ser ligados. Normalmente, eles têm 6 ou 8 MHz de largura. O DOCSIS 3.1 define arranjos mais complicados envolvendo agregação nas subportadoras de nível e canais nocionais maiores.

Banda Larga Sem Fio

A ligação de banda larga é um tipo de ligação de canal que se refere à agregação de vários canais em camadas OSI no nível quatro ou acima. Os canais ligados podem ser links com fio, como uma linha T-1 ou DSL . Além disso, é possível vincular vários links celulares para um link agregado sem fio agregado.

As metodologias de ligação anteriores residiam em camadas OSI inferiores, exigindo coordenação com empresas de telecomunicações para implementação. A ligação de banda larga, por ser implementada em camadas superiores, pode ser feita sem essa coordenação.

As implementações comerciais de Broadband Channel Bonding incluem:

  • Tecnologia U-Bonding da Wistron AiEdge Corporation
  • Serviço de ligação de banda larga da Mushroom Networks
  • VPN de ligação rápida Speedify da Connectify - aplicativo de software para várias plataformas: PC, Mac, iOS e Android
  • Tecnologia de colagem SpeedFusion da Peplink
  • Tecnologia de ligação VPN multicanal da Viprinet
  • Link de dados seguro multicanal da Elsight
  • Natiply Internet Bonding Technology da Synopi

Wi-fi

  • Em 802.11 (Wi-Fi), a vinculação de canais é usada na tecnologia Super G , conhecida como 108Mbit / s. Ele une dois canais do padrão 802.11g , que possui uma taxa de sinalização de dados de 54Mbit / s .
  • No IEEE 802.11n , um modo com uma largura de canal de 40 MHz é especificado. Isso não é ligação de canal, mas um canal único com o dobro da largura do canal de 20 MHz mais antigo, usando, portanto, duas bandas de 20 MHz adjacentes. Isso permite a duplicação direta da taxa de dados PHY de um único canal de 20 MHz, mas o MAC e a taxa de transferência no nível do usuário também dependem de outros fatores, portanto, não podem dobrar.

Veja também

Referências

Em geral

links externos