A lagg(4) felület lehetővé teszi, hogy több hálózati felületet egyetlen virtuális felületként fűzzünk össze, és ezzel egy hibatűrő és nagysebességű összeköttetést alakítsunk ki.
Csak az elsődlegesként kijelölt porton keresztül fogad és küld adatokat. Amikor ez az elsődleges port elérhetetlenné válik, a következő aktív portot fogja használni. Az elsőként felvett felület válik automatikusan az elsődleges porttá, és az utána felvett összes többit pedig csak hiba esetén használjuk.
A Cisco Fast EtherChannel (FEC) technológia támogatása. Ez egy statikus beállítás, és nem egyezteti az összefűzést a többiekkel vagy a linkek felügyeletéhez nem vált kereteket. Ha a switch támogatja az LACP használatát, akkor inkább azt válasszuk.
A FEC a kimenő forgalmat a fejlécekben szereplő protokollok alapján számolt hasítókóddal próbálja szétosztani az aktív portok között, és tetszőleges aktív porton fogad beérkező adatokat. Az említett hasítókódban egy Ethernetes forrás- és célcím szerepel, valamint ha elérhető, akkor egy VLAN címke, illetve az IPv4/IPv6 forrás- és célcím.
Az IEEE® 802.3ad Link Aggregation Control Protocol (LACP) és a Marker Protcol támogatása. Az LACP megpróbálja egyeztetni a többi géppel az összefűzhető linkeket egy vagy több csoportban (Link Aggregated Group, LAG). Mindegyik ilyen csoportban ugyanolyan sebességű portokat találunk, full-duplex működési módban. A forgalmat így a legnagyobb összsebességgel rendelkező csoportban megtalálható portok között osztja el, ami a legtöbb esetben az összes portot magában foglaló csoport. A fizikai konnektivitás megváltozása esetén a linkek összefűződése igen gyorsan alkalmazkodik az új konfigurációhoz.
Az LACP a kimenő forgalmat az aktív portok között osztja szét fejlécekben szereplő protokollok alapján számolt hasítókóddal, és bármelyik aktív portról fogad bejövő forgalmat. A hasítókódban megtalálható az Ethernetes forrás- és célcím, valamint ha elérhető, akkor a VLAN címke, illetve az IPv4/IPv6 forrás- és célcímek.
Ez a FEC mód másik neve.
A kimenő forgalmat egy körkörös (Round-Robin) elvű ütemezővel osztja szét az aktív portok között és tetszőleges aktív portról fogad bejövő forgalmat. Ez a működési mód megsérti az Ethernet keretek rendezését és csak nagy körültekintés mellett alkalmazzuk.
Példa 31-1. LACP alapú összefűzés egy Cisco® switch-csel
Ebben a példában egy FreeBSD-s gép két felületét kapcsoljuk össze switch-csel egy egyszerű terhelés-kiegyenlítéssel és hibatűréssel beállított linken keresztül. Mivel az Ethernet keretek sorrendje döntő fontosságú, ezért a két állomás között egyazon fizikai linken zajló forgalom maximális sebességét az adott felület kapacitása korlátozza. A küldési algoritmus a lehető legtöbb információ alapján próbálja egymástól megkülönböztetni a forgalmakat és elosztani ezeket a rendelkezésre álló felületek között.
A Cisco switch-en vegyünk fel a FastEthernet0/1 és FastEthernet0/2 interfészeket az 1 csoportba (channel group):
interface FastEthernet0/1 channel-group 1 mode active channel-protocol lacp ! interface FastEthernet0/2 channel-group 1 mode active channel-protocol lacp
A FreeBSD-s gépen pedig a fxp0 és fxp1 használatával hozzunk létre a lagg(4) interfészt:
# ifconfig lagg0 create # ifconfig lagg0 up laggproto lacp laggport fxp0 laggport fxp1
Ellenőrizzük a felület állapotát:
# ifconfig lagg0
A ACTIVE jelzésű, vagyis aktív állapotú portok az összefűzéshez kialakított csoport azon tagjai, amelyeknél felépült a kapcsolat a távoli switch felé és készen állnak a küldésre és fogadásra. Ha az ifconfig(8) programtól részletesebb kimenetet kérünk, akkor láthatjuk a csoportok azonosítóit is:
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=8<VLAN_MTU> ether 00:05:5d:71:8d:b8 media: Ethernet autoselect status: active laggproto lacp laggport: fxp1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING> laggport: fxp0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
A show lacp neighbor paranccsal kérdezhetjük le a portok állapotát:
switch# show lacp neighbor Flags: S - Device is requesting Slow LACPDUs F - Device is requesting Fast LACPDUs A - Device is in Active mode P - Device is in Passive mode Channel group 1 neighbors Partner's information: LACP port Oper Port Port Port Flags Priority Dev ID Age Key Number State Fa0/1 SA 32768 0005.5d71.8db8 29s 0x146 0x3 0x3D Fa0/2 SA 32768 0005.5d71.8db8 29s 0x146 0x4 0x3D
Részletesebb kijelzést a show lacp neighbor detail paranccsal kaphatunk.
Példa 31-2. A hibatűrés beállítása
A hibatűrési mód arra alkalmas, hogy amikor az elsődleges porton elvesztjük a kapcsolatot, helyette egy másodlagos interfész használatára tudunk áttérni. Hozzuk létre és állítsuk be a lagg0 interfészt, ahol az fxp0 legyen a főinterfész, az fxp1 pedig a tartalék interfész:
# ifconfig lagg0 create # ifconfig lagg0 up laggproto failover laggport fxp0 laggport fxp1
Az így létrejövő interfész nagyjából az alábbi lesz, ahol eltérés a MAC-cím és az eszköz neve:
# ifconfig lagg0 lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=8<VLAN_MTU> ether 00:05:5d:71:8d:b8 media: Ethernet autoselect status: active laggproto failover laggport: fxp1 flags=0<> laggport: fxp0 flags=5<MASTER,ACTIVE>
A forgalom kezdetben az fxp0 felületen keresztül érkezik és távozik. Ha az fxp0 felületen valamiért megszakadna a kapcsolat, helyette az fxp1 lesz az aktív link. Ha később helyreáll a kapcsolat az elsődleges felületen, akkor újra az lesz aktív link.
Példa 31-3. Hibatűrés beállítása vezetékes és vezeték nélküli hálózatok között
Hordozható számítógépek használata esetén általában érdemesebb a vezeték nélküli kapcsolatot másodlagos interfészként beállítani, így csak akkor használja a rendszer, ha vezetékes hálózat nem érhető el. A lagg(4) segítségével egyetlen IP-címmel tudjuk használni mind a két interfészt: a teljesítmény és biztonságosság miatt elsősorban a vezetékes hálózatot használjuk, miközben megmarad a lehetőség az adatok továbbítására a vezeték nélküli kapcsolaton keresztül is.
A beállítás során a vezeték nélküli interfész MAC-címét úgy kell módosítanunk, hogy megegyezzen a lagg(4) címével. A lagg(4) interfész a saját MAC-címét az elsődleges interfésztől örökli, amely jelen esetünkben a vezetékes interfész lesz.
A most következő példában a vezetékes hálózatunk lesz az elsődleges interfész (bge0), míg a vezeték nélküli (wlan0) a másodlagos. A wlan0 interfészt az iwn0 interfészből hoztuk létre, és a vezetékes kapcsolat MAC-címét állítjuk be neki. Első lépésként tehát le kell kérdeznünk a vezetékes interfész MAC-címét:
# ifconfig bge0 bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=19b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4> ether 00:21:70:da:ae:37 inet6 fe80::221:70ff:feda:ae37%bge0 prefixlen 64 scopeid 0x2 nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> media: Ethernet autoselect (1000baseT <full-duplex>) status: active
A bge0 helyett természetesen a saját vezetékes hálózati interfészünket kell megadni, és az ether kezdetű sorban is saját kártyánk MAC-címe fog megjelenni. Ezután már meg is tudjuk változtatni az iwn0 címét:
# ifconfig iwn0 ether 00:21:70:da:ae:37
Aktiváljuk a vezeték nélküli interfészt, de ne állítsunk be neki semmilyen IP-címet:
# ifconfig wlan0 create wlandev iwn0 ssid wlan_hálózat up
Hozzuk létre a lagg(4) interfészt a bge0 mint elsődleges interfész megadásával, valamint a wlan0 legyen a szükség esetén használható tartalék:
# ifconfig lagg0 create # ifconfig lagg0 up laggproto failover laggport bge0 laggport wlan0
Az így létrehozott interfész nagyjából így fog megjelenni, egyedüli fontosabb eltérések a MAC-címek és az eszközök nevei:
# ifconfig lagg0 lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=8<VLAN_MTU> ether 00:21:70:da:ae:37 media: Ethernet autoselect status: active laggproto failover laggport: wlan0 flags=0<> laggport: bge0 flags=5<MASTER,ACTIVE>
Hogy ne kelljen a rendszer minden egyes indítása után ezt a műveletet megismételni, vegyük fel a következő sorokat az /etc/rc.conf állományba:
ifconfig_bge0="up" ifconfig_iwn0="ether 00:21:70:da:ae:37" wlans_iwn0="wlan0" ifconfig_wlan0="WPA" cloned_interfaces="lagg0" ifconfig_lagg0="laggproto failover laggport bge0 laggport wlan0 DHCP"
Ha kérdése van a FreeBSD-vel kapcsolatban, a következő
címre írhat (angolul): <freebsd-questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése,
kérjük erre a címre írjon: <gabor@FreeBSD.org>.