Geek Diary

nätverksgränssnittsbindning kallas av många namn: Port Trunking, Channel Bonding, Link Aggregation, NIC teaming och andra. Den kombinerar eller aggregerar flera nätverksanslutningar till ett enda kanalbindningsgränssnitt. Detta gör att två eller flera nätverksgränssnitt kan fungera som en, öka genomströmningen och ge redundans eller failover.

Linuxkärnan levereras med bindningsdrivrutinen för att aggregera flera fysiska nätverksgränssnitt till ett enda logiskt gränssnitt (till exempel att aggregera eth0 och eth1 till bond0). För varje bunden gränssnitt kan du definiera läget och länkövervakningsalternativen. Det finns sju olika lägesalternativ, var och en ger specifika lastbalansering och feltoleransegenskaper.

Nätverksbindningslägen

följande bindningspolicylägen är tillgängliga:

  • round-robin: detta är standardläget. Nätverksöverföringar är i sekventiell ordning som börjar med den första tillgängliga slaven. Detta läge ger lastbalansering och feltolerans.
  • aktiv backup: endast en slav i bindningen är aktiv. Ett annat slavgränssnitt blir aktivt om det aktiva slavgränssnittet misslyckas. Bondens MAC-adress är externt synlig på endast en nätverksadapter för att undvika att förvirra en nätverksswitch. Detta läge ger feltolerans.
  • XOR (exklusiv-eller): nätverksöverföringar är baserade på en sändnings hash policy. Standardpolicyn härleder hash med hjälp av MAC-adresser. I det här läget skickas nätverksöverföring som är avsedd för specifika kamrater alltid över samma slavgränssnitt. Det här läget fungerar bäst för trafik till kamrater på samma länk eller lokalt nätverk. Detta läge ger lastbalansering och feltolerans.
  • sändning: alla nätverksöverföringar skickas på alla slavgränssnitt. Detta läge ger feltolerans.
  • 802.3 ad: använder en IEEE 802.3 ad dynamisk länkaggregeringspolicy. Aggregeringsgrupper delar samma hastighet och duplexinställningar. Detta läge sänder och tar emot nätverkstrafik på alla slavar i den aktiva aggregatorn. Detta läge kräver en 802.3 ad-kompatibel nätverksswitch.
  • Adaptive transmit load balancing (TLB): utgående nätverkstrafik fördelas enligt den aktuella belastningen på varje slavgränssnitt. Inkommande trafik mottas av den nuvarande slaven. Om den mottagande slaven misslyckas tar en annan slav över MAC-adressen till den misslyckade slaven. Detta läge kräver inget speciellt switch-stöd.
  • adaptiv lastbalansering (ALB): detta läge inkluderar transmit load balancing (tlb) och receive load balancing (rlb) för IPv4-trafik och kräver inget speciellt switch-stöd. Ta emot lastbalansering uppnås genom ARP förhandling.
  • se /usr/dela/doc/iputils-* / README.bindningsfil för fullständiga beskrivningar av tillgängliga bindningspolicylägen. Tbale nedan ger sammanfattningen och jämförelsen av Nätverksbindningslägena.

    läge Policy hur det fungerar feltolerans lastbalansering
    0 Round Robin paket överförs/mottas sekventiellt genom varje gränssnitt en efter en. Nej Ja
    1 aktiv Backup en NIC aktiv medan en annan Nic sover. Om den aktiva NIC går ner blir en annan NIC aktiv. stöds endast i x86-miljöer. Ja Nej
    2 XOR i detta läge matchas MAC-adressen för slav-NIC mot den inkommande förfrågans MAC och när denna anslutning har upprättats används samma NIC för att sända/ta emot för destinations-MAC. Ja Ja
    3 sändning alla sändningar skickas på alla slavar Ja Nej
    4 Dynamic Link Aggregation aggregerade Nic fungerar som ett NIC vilket resulterar i en högre genomströmning, men ger också failover om ett NIC misslyckas. Dynamic Link Aggregation kräver en switch som stöder IEEE 802.3 ad. Ja Ja
    5 Transmit Load Balancing (TLB) den utgående trafiken fördelas beroende på den aktuella belastningen på varje slavgränssnitt. Inkommande trafik mottas av den nuvarande slaven. Om den mottagande slaven misslyckas tar en annan slav över MAC-adressen till den misslyckade slaven. Ja Ja
    6 adaptiv lastbalansering (ALB) till skillnad från dynamisk länkaggregering kräver adaptiv lastbalansering ingen speciell omkopplarkonfiguration. Adaptiv lastbalansering stöds endast i x86-miljöer. Mottagningspaketen belastas genom ARP-förhandlingar. Ja Ja

    Nätverksbindningslänkövervakning

    bindningsdrivrutinen stöder två metoder för att övervaka en slavs länktillstånd:

    MII (Media Independent Interface) Monitor

    detta är standardlänkövervakningsalternativet. Denna metod övervakar endast bärartillståndet för det lokala nätverksgränssnittet. Den förlitar sig på enhetsdrivrutinen för information om operatörsstatus, eller frågar MII-registren direkt, eller använder ethtool för att försöka få operatörsstatus. Du kan ange följande information för MII-övervakning:

    • övervakningsfrekvens: tiden i millisekunder mellan frågande bärartillstånd
    • Länkfördröjning: tiden i millisekunder att vänta innan du använder en länk som är upp
    • Länkfördröjning: Tiden i millisekunder att vänta innan du byter till en annan länk när den aktiva länken rapporteras som down

    ARP Monitor

    denna metod för länkövervakning skickar APR-frågor till peer-system i nätverket och använder svaret som en indikation på att länken är uppe. ARP-monitorn är beroende av enhetsdrivrutinen för att hålla den senaste mottagningstiden och sändningens starttid uppdaterad. Om drivrutinen inte uppdaterar dessa tider misslyckas Arp-monitorn med slavar som använder drivrutinen. Du kan ange följande information för APR övervakning:

    • övervakningsfrekvens: tiden i millisekunder som ARP-frågor skickas
    • ARP-mål: en kommaseparerad lista över IP-adresser som ARP-frågor skickas till