Windows Server 2012 - Wprowadzenie do mechanizmu grupowania kart sieciowych  Udostępnij na: Facebook

Autor: Andrzej Zankiewicz

Opublikowano: 2012-11-19

Wstęp

Jednym z nowych elementów wprowadzonych w systemie Windows Server 2012 jest zgrupowanie kart sieciowych (NIC Teaming). W niniejszym artykule przedstawiona została ogólna koncepcja mechanizmu grupowania kart sieciowych oraz jego warianty dostępne w systemie Windows Server 2012.

Techniczne podstawy grupowania kart sieciowych

Grupowanie kart sieciowych jest to mechanizm, która pozwala na utworzenie w systemie wirtualnego interfejsu sieciowego (interfejsu grupowego – Team Interface) i powiązanie go z określonymi interfejsami fizycznymi lub portami switcha Hyper-V. Interfejsy tworzące grupę określane są jako członkowie grupy. Systemowy mechanizm grupowania realizuje łączenie ruchu przychodzącego z poszczególnych członków grupy i wysyła go poprzez interfejs grupowy do systemowego stosu sieciowego. Analogicznie, ruch wysyłany przez aplikacje, poprzez interfejs grupowy, jest dzielony w mechanizmie grupowania na strumienie wysyłane przez poszczególnych członków grupy. Na Rys. 1. Struktura systemu grupowania kart sieciowychprzedstawiona została ogólna architektura sytemu grupowania kart sieciowych.

Struktura systemu grupowania kart sieciowych

Rys. 1. Struktura systemu grupowania kart sieciowych.

Stosowanie grupowania kart sieciowych ma na celu:

  • zachowanie ciągłości pracy systemu w przypadku awarii fizycznego interfejsu sieciowego (failover),
  • zwiększenie całkowitej przepustowości ruchu sieciowego poprzez rozkład tego ruchu na kilka osobnych interfejsów sieciowych (load balancing).

Oprócz wymienionych powyżej korzyści, mechanizm grupowania kart sieciowych może być używany także jako rozwiązanie pozwalające na powiązanie systemowego interfejsu sieciowego z ruchem należącym do określonej zewnętrznej sieci VLAN. W literaturze anglojęzycznej usługa grupowania kart sieciowych określana jest terminami, takimi jak: NIC Teaming, NIB Bonding lub Load Balancing Failover. W systemie Windows Server 2012 wykorzystywana jest nazwa NIC Teaming.

Grupowanie kart sieciowych było dotychczas dostępne jako rozwiązanie dostarczane przez producentów kart sieciowych w postaci pakietu oprogramowania przeznaczonego dla określonych typów adapterów sieciowych (zazwyczaj modeli dedykowanych do zastosowań serwerowych) oraz dla ograniczonej liczby systemów operacyjnych. Zaimplementowanie tego mechanizmu bezpośrednio w systemie operacyjnym charakteryzuje się wieloma zaletami, wśród których można wymienić:

  • możliwość wykorzystania dowolnych kart sieciowych Ethernet, dla których dostępne są sterowniki WHQL, w tym kart pochodzących od różnych producentów (technologie inne niż Ethernet, np. Wi-Fi nie są wspierane),
  • pełną integrację z innymi usługami systemowymi (np. Hyper-V),
  • zarządzanie grupami kart poprzez ujednolicone rozwiązania zawarte w systemie operacyjnym.

Algorytmy podziału ruchu na poszczególnych interfejsach wchodzących w skład grupy

Usługa grupowania kart sieciowych w systemie Windows Server 2012 udostępnia dwa algorytmy dystrybucji ruchu wychodzącego przez interfejsy członkowskie grupy:

·     Address hashing – tworzony jest skrót (hash) identyfikujący strumień ruchu wychodzącego na podstawie numerów portów TCP, adresów IP oraz adresów MAC (przy konfiguracji grupy możliwy jest wybór, które z wymienionych elementów będą wykorzystywane), a następnie skrót ten kojarzony jest z jednym z dostępnych członków grupy,

·     Hyper-V switch port – strumień ruchu wychodzącego kojarzony jest z wybranym członkiem grupy kart na podstawie identyfikatora portu wirtualnego switcha Hyper-V, z którego pochodzi dany ruch.

Ogólną zasadą stosowaną w obu algorytmach jest dążenie do kojarzenia wychodzącego ruchu danego połączenia TCP tylko z jednym członkiem grupy. Ma to na celu uniknięcie spadku wydajności spowodowanego odtwarzaniem strumienia danych z segmentów TCP, dostarczonych w zakłóconej kolejności.

Tryby konfiguracji interfejsów wchodzących w skład grupy

System Windows Server 2012 pozwala na tworzenie grup interfejsów sieciowych w dwóch trybach konfiguracyjnych:

  • konfiguracja niezależna od przełącznika (Switch Independent configuration),
  • konfiguracja zależna od przełącznika (Switch Dependent configuration).

W przypadku konfiguracji niezależnej od przełącznika, przełącznik, do którego dołączone są karty należące do grupy, nie bierze aktywnego udziału w procesie dystrybucji ruchu pomiędzy poszczególnymi członkami grupy. Dzięki temu możliwe jest wykorzystanie w praktyce dowolnego przełącznika Ethernet, a członkowie grupy mogą zostać przyłączeni nawet do osobnych przełączników. Ograniczeniem konfiguracji niezależnej od przełącznika jest to, że ruch wysyłany przez przełącznik do grupy kart może być odbierany tylko przez jeden interfejs, należący do danej grupy. Wynika to z tego, że w urządzeniu wysyłającym dane w kierunku grupy kart, adres IP interfejsu grupowego będzie kojarzony tylko z pojedynczym adresem MAC (należącym do głównego członka grupy). W rezultacie, system z konfiguracją niezależną od przełącznika nie zapewni zwiększenia przepustowości dla ruchu odbieranego przez grupę kart.

W przypadku konfiguracji zależnej od przełącznika, porty przełącznika, do którego dołączone są interfejsy członkowskie grupy, muszą zostać zgrupowane także po stronie przełącznika. Wówczas przełącznik może aktywnie rozdzielać ruch wysyłany do grupy kart na podstawie parametrów wybranych w konfiguracji przełącznika (np. adresy IP i/lub porty TCP). Pozwala to na agregację przepustowości dla ruchu wysyłanego przez przełącznik do grupy kart. Konfiguracja taka wymaga zastosowania przełącznika pozwalającego na grupowanie portów. W wielu przełącznikach (np. Cisco) funkcja ta określana jest jako EtherChannel. Funkcjonalność grupowania portów przełącznika została początkowo zdefiniowana w standardzie IEEE 802.3ad, a w roku 2008 została, ze względów formalnych (konflikt w kolejności operacji realizowanych w poszczególnych podwarstwach), przeniesiona do standardu IEEE 802.1ax.

W trybie konfiguracji zależnej od przełącznika dostępne są dwa warianty konfiguracji portów przełącznika:

  • konfiguracja statyczna,
  • konfiguracja dynamiczna poprzez protokół LACP.

W konfiguracji statycznej, wybrane porty przełącznika łączone są w grupę w sposób statyczny na etapie konfiguracji przełącznika. W przypadku konfiguracji dynamicznej przełącznik automatycznie tworzy grupy portów na podstawie negocjacji z urządzeniami dołączonymi do portów skonfigurowanych do pracy w trybie dynamicznym. Negocjacja ta odbywa się poprzez protokół LACP (Link Aggregation Control Protocol), stanowiący element standardu IEEE 802.1ax.

Podsumowanie

W artykule został scharakteryzowany mechanizm grupowania kart sieciowych, stanowiący jeden z nowych elementów wprowadzonych w systemie Windows Server 2012. Mechanizm ten pozwala na uzyskanie odporności na uszkodzenia systemu fizycznego interfejsu sieciowego, a w określonych sytuacjach może też zapewnić agregację przepustowości wielu interfejsów sieciowych i związaną z tym większą szybkość transmisji. Opisane zostały techniczne podstawy grupowania kart sieciowych oraz opcje tej usługi, dostępne w systemie Windows Server 2012.