modified on 1 lip 2010 at 11:10 ••• 2 783 views

Łączenie (Bonding) w MT 3.0

Z MikroTik Wiki

Spis treści

Opis ogólny

Wprowadzenie

Łączenie jest technologią umożliwiającą sumującą wiele ethernetopodobnych interfejsów w jedno wirtualne łącze, w celu osiągnięcia większych przepływności danych i zapewnić ochronę przed awariami.

Przewodnik Szybkiej Konfiguracji

Załóżmy, że mamy dwa NIC na każdym routerze (Router1 i Router2) i chcemy uzyskać maksymalną przepływność pomiędzy 2 routerami. Postępujmy według poniższych kroków:

1. Upewnijmy się, że nie mamy adresu IP przydzielonego interfejsowi, który zostanie przydzielony interfejsowi łączonemu!

2. Dodaj interfejs łączony (bonding) na routerze Router1:

[admin@Router1] interface bonding> add slaves=ether1,ether2

A dla routera Router2:

[admin@Router2] interface bonding> add slaves=ether1,ether2

3. Dodaj adresy interfejsów łączonych:

* [admin@Router1] ip address> add address=172.16.0.1/24 interface=bonding1
* [admin@Router2] ip address> add address=172.16.0.2/24 interface=bonding1

4. Przetestuj łączę z Router1:

[admin@Router1] interface bonding> /pi 172.16.0.2
172.16.0.2 ping timeout
172.16.0.2 ping timeout
172.16.0.2 ping timeout
172.16.0.2 64 byte ping: ttl=64 time=2 ms
172.16.0.2 64 byte ping: ttl=64 time=2 ms

Zauważ, że interfejs łączony potrzebuje kilka sekund aby uzyskać połączenie z drugim końcem łącza.

Specyfikacja

Wymagany pakiet: system

Wymagana licencja: Level1

Poziom menu: /interface bonding

Standardy i technologie: brak

Wykorzystanie sprzętu: brak

Podobne artykuły

Linux Ethernet Bonding Driver mini-howto

Opis

Aby zapewnić odpowiednią ochronę przed awariami, powinieneś określić parametr link-monitoring. Może on być:

  • MII (Media Independent Interface) type1 lub type2 - Media Independent Interface jest warstwą abstrakcyjną pomiędzy systemem operacyjnym a NIC, który wykrywa, że łącze jest działające (posiada także inne funkcje, ale w tym przypadku ta jest najważniejsza).
  • ARP - Address Resolution Protocol okresowo (według czasu arp-interval) sprawdza status łącza.

link-monitoring używany jest do sprawdzania, czy łącze jest włączone czy nie.

Opis własności

arp (disabled | enabled | proxy-arp | reply-only; default: enabled) - Address Resolution Protocol dla danego interfejsu

  • disabled - interfejs nie wykorzystuje ARP
  • enabled - interfejs wykorzystuje ARP
  • mproxy-arp -interfejs wykorzystuje usługę ARP proxy
  • reply-only - interfejs wyłącznie odpowiada na żądania mające źródło w swoim własnym adresie IP. Adresy MAC sąsiadów będą rozpatrywane wyłącznie przy użyciu statycznie ustawionej tablicy /ip arp.

arp-interval (time; default: 00:00:00.100) - czas w milisekundach, określający jak często monitorowane są żądania ARP

arp-ip-targets (IP address; default: "") - Docelowy adres IP, który ma być monitorowany, jeżeli włączona jest w arp usługa link monitoring. Możesz określić wiele adresów IP, oddzielonych od siebie przecinkiem.

down-delay (time; default: 00:00:00) - jeżeli zostanie wykryte uszkodzenie łącza, interfejs łączony zostanie wyłączony na czas down-delay. Wartość powinna być wielokrotnością mii-interval.

lacp-rate (1sec | 30secs; default: 30secs) - częstotliwość Aggregation Control Protocol określa jak często wymieniane będzie LACPDU pomiędzy obiema łączonymi interfejsami. Używane do określenie czy łącze jest włączone lub czy wystąpiły inne zmiany w sieci. LACP próbuje się zaadaptować do tych zmian zapewniając ochronę przez awariami.

link-monitoring(arp | mii-type1 | mii-type2 | none; default: none) - Metoda używana do monitoringu łącza (czy jest włączone).

  • arp - Wykorzystuje ARP do określenia czy zdalny interfejs jest osiągalny.
  • mii-type1 - Używa Media Independent Interfejs type1 do określenia statusu łącza. Status łącza oparty jest o sterownik urządzenia. Jeżeli łączenie pokazuje, że łącze jest włączone, gdy nie powinno, oznacza to, że ta karta sieciowa nie obsługuje tej opcji.
  • mii-type2 - Używa MII type2 dookreślenia statusu łącza (używane, gdy mii-type1 nie jest obsługiwane przez NIC)

MII type2 to determine link status (used if mii-type1 is not supported by the NIC)

  • none - brak zdefiniowanej metody monitoringu łącza. Jeżeli nastąpi awaria łącza, nie jest traktowane jako wyłączone (ale żaden ruch nie będzie przez nie przenoszony).

mac-address (read-only: MAC address) - adres MAC interfejsu łączonego.

mii-interval (time; default: 00:00:00.100) - jak często łącze będzie monitowane pod względem awarii (parametr używany wyłączniew wtedy, kiedy monitorowanie łącza jest mii-type1 lub mii-type2).

mode (802.3ad | active-backup | balance-alb | balance-rr | balance-tlb | balance-xor | broadcast; default: balance-rr) - tryb interfejsu łączonego. Tryby:

  • 802.3ad - łączenie dynamicznego łącza typu IEEE 802.3ad. W tym trybie interfejsy są łączone w grupę, w której każdy interfejs podrzędny dzieli tą samą przepływność. Jeżeli wykorzystujesz switch pomiędzy dwoma łączonych routerami, upewnij się, że ten switch obsługuje standard IEEE 802.3ad. Zapewnia tolerancje na uszkodzenia i równoważenie obciążenia.
  • active-backup - zapewnia rezerwę łącza. Tylko jeden interfejs podrzędny może być aktywny na raz. Inny interfejs przechodzi w stan aktywności, tylko w wypadku awarii poprzedniego.
  • balance-alb - adaptacyjne równoważenie obciążenia. Zawiera balance-tlb jak i równoważenie przychodzącego ruchu. Sterownik urządzenia powinien mieć obsługę ustawiania adresu mac, gdy tryb ten jest aktywny. W przeciwnym wypadku balance-alb nie będzie działać. Nie jest wymagany specjalny switch.
  • balance-rr - równoważenie obciążenia typu round-robin. Podrzędne interfejsy w interfejsie łączonym powinny wysyłać jak i odbierać dane w odpowienim porządku. Zapewnia równoważenie obciążenia i odporność na awarie.
  • balance-tlb - Ruch wychodzący jest rozdzielany według obciążenia na każdym interfejsie podrzędnym. Ruch przychodzący odbierany jest przez aktywny interfejs podrzędny. Jeżeli odbierający interfejs ulegnie awarii, wtedy inny interfejs przejmuje adres MAC uszkodzonego interfejsu. Nie wymaga żadnej specjalnej usługi sitch'a.
  • balance-xor - Używa polityki XOR do transmisji. Zapewnia wyłącznie ochronę przed awarią (z bardzo dobrą jakością usługi), ale nie równoważenia obciążenia.
  • broadcast - Rozsyła na raz te same dane przez wszystkie interfejsy. Zapewnia ochronę przed awarią, ale spowalnia ruch przechodzący na niektórych powolnych maszynach.

mtu (integer: 68..1500; default: 1500) - Maksymalny rozmiar ramki (Maximum Transmit Unit) w bajtach.

name (name) - Opisowa nazwa interfejsu łączonego.

primary (name; default: none) - Interfejs jest używany jako podstawowy interfejs wyjściowy dla mediów. Jeżeli podstawowy interfejs ulegnie awarii, tylko inne interfejsy podrzędne będą wykorzystywane. Wartość ta działa jedynie z mode=active-backup.

slaves (name) - Przynajmniej dwa interfejsy ethernetowe oddzielone przecinkiem, wykorzystywane w łączeniu interfejsów.

up-delay (time; default: 00:00:00) - Jeżeli łącze zostało włączone, interfejs łączony zostaje wyłączony przez pewien czas (up-delay) po którym zostaje włączony. Wartość powinna być wielokrotnością mii-interval.

Uwagi

Wykrywanie awarii łącza i ochrona przed awarią działają zdecydowanie lepiej z drogimi kartami sieciowymi, np. zrobionymi przez Intela, niż z tymi tanimi. Dla przykładu, w kartach Intela mechanizm ochrony przed awarią działa w czasie mniejszym niż sekundę po awarii łącza, gdy na innych kartach ten czas może trwać nawet do 20 sekund. Ponadto aktywne równoważenie łącza (mode=balance-alb) nie działa na niektórych tańszych kartach.

Przykłady aplikacji

Załóżmy, że chcesz skonfigurować router MikroTik dla poniższego układu sieci, w którym są dwa biura po dwa ISP w każdym. Chcesz połączyć łącza w celu uzyskania podwójnej przepływności i zapewnić ochronę przed awarią:

Grafika:network bonding.jpg

Zakładamy, że połączenia z internetem przez dwa ISP są skonfigurowane w obu routerach.

  • Konfiguracja na routerach:

- W Office1:

[admin@office1] > /interface print
Flags: X - disabled, D - dynamic, R - running
 #    NAME                                              TYPE             MTU 
 0  R isp1                                              ether            1500
 1  R isp2                                              ether            1500

[admin@office1] > /ip address print
Flags: X - disabled, I - invalid, D - dynamic
 #   ADDRESS            NETWORK         BROADCAST       INTERFACE
 0   1.1.1.1/24         1.1.1.0         1.1.1.255       isp2
 1   10.1.0.111/24      10.1.0.0        10.1.0.255      isp1    

- W Office2

[admin@office2] interface> print
Flags: X - disabled, D - dynamic, R - running
 #    NAME                                              TYPE             MTU 
 0  R isp2                                              ether            1500
 1  R isp1                                              ether            1500
[admin@office2] interface> /ip add print
Flags: X - disabled, I - invalid, D - dynamic
 #   ADDRESS            NETWORK         BROADCAST       INTERFACE
 0   2.2.2.1/24         2.2.2.0         2.2.2.255       isp2
 1   10.1.0.112/24      10.1.0.0        10.1.0.255      isp1  
  • Konfiguracja tunelu EoIP

- dla Office1 przez ISP1

[admin@office1] > interface eoip add remote-address=10.1.0.112 tunnel-id=2 
\... mac-address=FE:FD:00:00:00:04
[admin@office1] > interface eoip print
Flags: X - disabled, R - running
0  R name="eoip-tunnel2" mtu=1500 mac-address==FE:FD:00:00:00:04 arp=enabled 
\... remote-address=10.1.0.112 tunnel-id=2

- dla Office2 przez ISP1

[admin@office2] > interface eoip add remote-address=10.1.0.111 tunnel-id=2 
\... mac-address=FE:FD:00:00:00:02
[admin@office2] > interface eoip print
Flags: X - disabled, R - running
0  R name="eoip-tunnel2" mtu=1500 mac-address=FE:FD:00:00:00:02 arp=enabled 
\... remote-address=10.1.0.111 tunnel-id=2

- dla Office1 przez ISP2

[admin@office1] > interface eoip add remote-address=2.2.2.1 tunnel-id=1 
\... mac-address=FE:FD:00:00:00:03
[admin@office1] interface eoip> print
Flags: X - disabled, R - running
 0  R name="eoip-tunnel1" mtu=1500 mac-address=FE:FD:00:00:00:03 arp=enabled
      remote-address=2.2.2.1 tunnel-id=1

 1  R name="eoip-tunnel2" mtu=1500 mac-address=FE:FD:00:00:00:04 arp=enabled
      remote-address=10.1.0.112 tunnel-id=2 	

- dla Office2 przez ISP2

[admin@office2] > interface eoip add remote-address=1.1.1.1 tunnel-id=1 
\... mac-address=FE:FD:00:00:00:01
[admin@office2] interface eoip> print
Flags: X - disabled, R - running
 0  R name="eoip-tunnel1" mtu=1500 mac-address=FE:FD:00:00:00:01 arp=enabled
      remote-address=1.1.1.1 tunnel-id=1

 1  R name="eoip-tunnel2" mtu=1500 mac-address=FE:FD:00:00:00:02 arp=enabled
      remote-address=10.1.0.111 tunnel-id=2 
  • Konfiguracja łączenia

- dla Office1

[admin@office1] interface bonding> add slaves=eoip-tunnel1,eoip-tunnel2
[admin@office1] interface bonding> print
Flags: X - disabled, R - running
 0  R name="bonding1" mtu=1500 mac-address=00:0C:42:03:20:E7 arp=enabled
      slaves=eoip-tunnel1,eoip-tunnel2 mode=balance-rr primary=none
      link-monitoring=none arp-interval=00:00:00.100 arp-ip-targets=""
      mii-interval=00:00:00.100 down-delay=00:00:00 up-delay=00:00:00
      lacp-rate=30secs
[admin@office1] ip address> add address=3.3.3.1/24 interface=bonding1
[admin@office1] ip address> print
Flags: X - disabled, I - invalid, D - dynamic
 #   ADDRESS            NETWORK         BROADCAST       INTERFACE
 0   1.1.1.1/24         1.1.1.0         1.1.1.255       isp2
 1   10.1.0.111/24      10.1.0.0        10.1.0.255      isp1
 2   3.3.3.1/24         3.3.3.0         3.3.3.255       bonding1

- dla Office2

[admin@office2] interface bonding> add slaves=eoip-tunnel1,eoip-tunnel2
[admin@office2] interface bonding> print
Flags: X - disabled, R - running
 0  R name="bonding1" mtu=1500 mac-address=00:0C:42:03:20:E7 arp=enabled
      slaves=eoip-tunnel1,eoip-tunnel2 mode=balance-rr primary=none
      link-monitoring=none arp-interval=00:00:00.100 arp-ip-targets=""
      mii-interval=00:00:00.100 down-delay=00:00:00 up-delay=00:00:00
      lacp-rate=30secs
[admin@office2] ip address> add address=3.3.3.2/24 interface=bonding1
[admin@office2] ip address> print
Flags: X - disabled, I - invalid, D - dynamic
 #   ADDRESS            NETWORK         BROADCAST       INTERFACE
 0   2.2.2.1/24         2.2.2.0         2.2.2.255       isp2
 1   10.1.0.112/24      10.1.0.0        10.1.0.255      isp1
 2   3.3.3.2/24         3.3.3.0         3.3.3.255       bonding1
[admin@office2] ip address> /ping 3.3.3.1
3.3.3.1 64 byte ping: ttl=64 time=2 ms
3.3.3.1 64 byte ping: ttl=64 time=2 ms
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 2/2.0/2 ms