Bonding von 802.3ad- und HPE-Switches: Eingehender und ausgehender Datenverkehr nicht in derselben Schnittstelle

Bonding von 802.3ad- und HPE-Switches: Eingehender und ausgehender Datenverkehr nicht in derselben Schnittstelle

Ich habe LACP zwischen meinem Server (802.3ad, Layer 2, also basierend auf Quell-MAC und Ziel-MAC) und meinem Switch konfiguriert.

Kürzlich habe ich gesehen, dass eingehender Datenverkehr für einen Netzwerk-Peer eine Schnittstelle (eth3) verwendet, während ausgehender Datenverkehr für denselben Netzwerk-Peer die andere Schnittstelle (eth1) verwendet!?

Ist das das normale Verhalten?

Ein Blick in die Kernel-Dokumentation (https://www.kernel.org/doc/Documentation/networking/bonding.txt, Abschnitt xmit_hash_policy): Das glaube ich nicht. Aber ich muss zugeben, dass ich verloren bin, wirklich verloren ...

Hier ist mein Setup:

Bond-Konfiguration auf meinem Server

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

Switch-Konfiguration (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}

Ich habe versucht, den Lastausgleichsmodus auf meinem Switch zu ändern, aber nichts hat sich geändert.

Danke!

Antwort1

Bei LACP oder statischer Bindung entscheidet jede Seite selbst, wie der Datenverkehr weitergeleitet wird.

Switches verwenden normalerweise ein SA/DA-Schema - sie hashen die unteren drei oder vier Bits der Quell- und Zieladressen und verwenden diese als LAG-Portindex. Einfachere Switches verwenden nur die MAC-Adressen, anspruchsvollere Switches IP-Adressen (falls vorhanden) oder sogar in Verbindung mit TCP/UDP-Ports.

Die Absicht besteht darin, dass ein einzelner Flow immer dieselben Port-Kombinationen verwendet, sodass die Reihenfolge der Frames nicht verändert werden kann.

Die ausschließliche Verwendung von MAC-Adressen führt dazu, dass der gesamte Datenverkehr zwischen zwei Hosts (oder Routern) immer dieselbe Portkombination verwendet.

Durch die Verwendung von IP-Adressen können Datenflüsse zwischen Routern verteilt werden oder Sie können (sekundäre) IP-Adressen auswählen, um die Datenflüsse zu optimieren. Darüber hinaus sorgen IP-/Port-Kombinationen für einen automatischen (wenn auch nicht unbedingt optimalen) Lastenausgleich verschiedener Verbindungen.

Der eingehende Datenverkehr zum Host wird also vom Switch gesteuert, der ausgehende Datenverkehr vom Host. Dies kann sehr leicht dazu führen, dass in beide Richtungen unterschiedliche Ports verwendet werden. Es schadet jedoch nicht.

verwandte Informationen