Vinculando switches 802.3ad e HPE: tráfego de entrada e saída não na mesma interface

Vinculando switches 802.3ad e HPE: tráfego de entrada e saída não na mesma interface

Eu tenho o LACP configurado entre meu servidor (802.3ad, camada 2, baseado no MAC de origem e no MAC de destino) e meu switch.

Recentemente vi que o tráfego de entrada para um ponto de rede está usando uma interface (eth3) enquanto a saída, para o mesmo ponto de rede, está usando a outra interface (eth1)!?

É o comportamento normal?

Olhando a documentação do kernel (https://www.kernel.org/doc/Documentation/networking/bonding.txt, seção xmit_hash_policy): Acho que não. Mas devo admitir que estou perdido, realmente perdido...

Aqui está minha configuração:

configuração de bond no meu servidor

root@server:~# cat /proc/net/bonding/bond1
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 200
Down Delay (ms): 200

802.3ad info
LACP rate: fast
Min links: 0
Aggregator selection policy (ad_select): stable
Active Aggregator Info:
    Aggregator ID: 2
    Number of ports: 2
    Actor Key: 17
    Partner Key: 8
    Partner Mac Address: 2c:23:3a:6a:c5:fe

Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 6
Permanent HW addr: b0:83:fe:d9:93:a0
Aggregator ID: 2
Slave queue ID: 0

Slave Interface: eth3
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 6
Permanent HW addr: b0:83:fe:d9:93:a2
Aggregator ID: 2
Slave queue ID: 0

Configuração do switch (HPE 5130):

<switch> display link-aggregation load-sharing mode interface Bridge-Aggregation 8
Bridge-Aggregation8 load-sharing mode: 
Layer 2 traffic: packet type-based sharing
Layer 3 traffic: packet type-based sharing


<switch>display link-aggregation verbose Bridge-Aggregation 8 
Loadsharing Type: Shar -- Loadsharing, NonS -- Non-Loadsharing 
Port Status: S -- Selected, U -- Unselected,  
             I -- Individual, * -- Management port 
Flags:  A -- LACP_Activity, B -- LACP_Timeout, C -- Aggregation, 
        D -- Synchronization, E -- Collecting, F -- Distributing, 
        G -- Defaulted, H -- Expired 

Aggregate Interface: Bridge-Aggregation8
Aggregation Mode: Dynamic
Loadsharing Type: Shar
Management VLAN : None
System ID: 0x8000, 2c23-3a6a-c5fe
Local: 
  Port             Status  Priority Oper-Key  Flag
--------------------------------------------------------------------------------
  GE1/0/8          S       32768    8         {ABCDEF}
  GE2/0/8          S       32768    8         {ABCDEF}
Remote: 
  Actor            Partner Priority Oper-Key  SystemID               Flag   
--------------------------------------------------------------------------------
  GE1/0/8          2       255      17        0xffff, b083-fed9-93a0 {ABCDEF}
  GE2/0/8          1       255      17        0xffff, b083-fed9-93a0 {ABCDEF}

Tentei alterar o modo de balanceamento de carga no meu switch, mas nada mudou.

Obrigado!

Responder1

Com LACP ou ligação estática, cada lado decide por conta própria como rotear o tráfego.

Os switches geralmente aplicam um esquema SA/DA - eles fazem hash dos três ou quatro bits inferiores dos endereços de origem e destino e os usam como índice de porta LAG. Switches mais simples utilizam apenas os endereços MAC, os mais sofisticados endereços IP (quando presentes) ou mesmo em conjunto com portas TCP/UDP.

A intenção é que um único fluxo use sempre as mesmas combinações de portas, para que os quadros não saiam da sequência.

Usar apenas endereços MAC faz com que todo o tráfego entre dois hosts (ou roteadores) use sempre a mesma combinação de portas.

O uso de endereços IP permite que os fluxos entre roteadores sejam distribuídos ou permite que você selecione endereços IP (secundários) para otimizar os fluxos e as combinações de IP/porta equilibram a carga de conexões diferentes automaticamente (embora não necessariamente de maneira ideal).

Portanto, o tráfego de entrada para o host é controlado pelo switch, o tráfego de saída é controlado pelo host. Isso pode facilmente levar ao uso de portas diferentes em ambas as direções. Mas não dói.

informação relacionada