LAN switching
LAN switching je v informatice forma přepojování paketů používaná v lokálních sítích (LAN). Zvolená technologie přepojování je rozhodujícím faktorem při návrhu počítačových sítí, protože zajišťuje, že síťový provoz bude přeposílán jen na potřebná místa a že to bude provedeno velmi rychle díky hardwarovému zpracování síťových rámců. O přepojování paketů je rozhodováno různými metodami. Nejjednodušší je „layer 2“ přepojování, které používá běžný switch a řídí se MAC adresami (tj. funkce mostu). Pokročilejší metody rozhodování o tom, kam bude přijatý rámec přeposlán, jsou nazývány „layer 3“ a „layer 4“. Obě metody vyžadují nákladnější hardware a zařízení jsou při prodeji těmito přídomky označeny.
Latence (tj. zpoždění) způsobené počítačovou sítí (resp. jejími prvky) výrazným způsobem ovlivňuje celkový výkon počítačové sítě zejména u synchronní komunikace, kdy následující operace je zahájena až po dokončení předchozí. Například čtení ze souboru probíhá tak, že program požádá operační systém o načtení části souboru a další část je možné načíst až teprve tehdy, když je předchozí požadavek vyřízen.
Aktivní prvky v síti způsobují zpracováním přenášených dat jistou latenci. Čím je latence vyšší, tím synchronní komunikace probíhá pomaleji. Pokud jsou systémové prostředky mezi počítači sdíleny pomocí počítačové sítě a datová komunikace je synchronní, je snaha vytvořit počítačovou síť tak, aby byla latence co nejnižší. O různých způsobech snížení latence při LAN switchingu pojednávají jednotlivé další části článku. Snížení latence má význam pro specifické synchronní činnosti v počítačové síti, například sdílení úložného zařízení pomocí iSCSI protokolu nebo přístupy do paměti mezi sousedními uzly výpočetního clusteru, kde se latence pohybuje pod hranicí jedné milisekundy.
Latence naopak nemá vliv na asynchronní komunikaci, která se uplatňuje při nárazovém přenosu většího množství dat (například obrázek, video) pomocí asynchronně pracujícího protokolu (například HTTP, FTP a podobně). Proto jsou tyto protokoly používány při komunikaci v Internetu, kde jsou latence poměrně vysoké (desítky až stovky milisekund).
Nižší latenci než switch má hub, kde je fixní zpoždění pouze jeden bit. Hub však přijatý rámec automaticky rozesílá na všechny ostatní porty a nedělí kolizní doménu. Huby byly prodávány pro Fast Ethernet (rychlost 100 Mbit/s), avšak pro Gigabit Ethernet již prodávány nejsou.
Přepínání na druhé vrstvě (layer 2) znamená, že rozhodování o dalším odeslání přijatého rámce je založeno na informacích z linkové vrstvy. Cílem je posílat rámce jen tam, kde jsou potřeba (switch je vlastně bridge). Pracují takto například všechny klasické switche v ethernetových sítích, kde je rozhodnutí o směru odeslání právě přijatého ethernetového rámce provedeno na základě cílové MAC adresy, která je uvedena na začátku hlavičky ethernetového rámce. Switch obsahuje MAC tabulku, kde jsou uloženy informace o tom, za jakými porty switche se nacházejí počítače s danou ethernetovou adresou (resp. jejich cílová síťová rozhraní). Switch nalezne v tabulce shodu a tím získá číslo portu, kterým bude rámec odeslán.
Nalezení správného záznamu v MAC tabulce je vzhledem k rychlosti počítačových sítí časově velmi kritická operace. Pokud by byla MAC tabulka umístěna v operační paměti (tzv. RAM), musel by procesor řídící chod switche provést velmi mnoho operací a vznikla by tím příliš velká latence. Proto switch obsahuje pro přepojování rámců specializovaný zákaznický obvod (ASIC), který udržuje MAC tabulku v obsahem adresovatelné paměti (tzv. CAM paměť) a nalezení kterékoliv položky trvá jeden takt.[1]
Většina současných switchů je sestavena z ASIC obvodů které CAM paměť používají. Limitujícím faktorem je u nich spíše skutečnost, že levnější výrobky jsou interně sestaveny z více ASIC obvodů (např. 4+4 porty), přičemž předávání rámců mezi jednotlivými ASIC zvyšuje latenci.
Pomalejší způsob nalezení cíle pro právě přijímaný rámec je metoda store and forward, kdy je nejprve přijat celý rámec a teprve potom je přečtena cílová MAC adresa a nalezena položka v MAC tabulce, která určuje směr odeslání. Tuto metodu používají nejlevnější switche.
Pro snížení latence je používána metoda cut-through switching, kde je nalezení cíle v MAC tabulce provedeno již v okamžiku, kdy je přijato prvních šest bajtů ethernetového rámce s cílovou MAC adresou. Odesílání rámce je tak zahájeno ještě ve chvíli, kdy ani není celý rámec přijat. Protože má ethernetový rámec délku 64 až 1518 oktetů (plus 7+1 oktetů preambule), sníží tato metoda teoretickou latenci na 1/5 až 1/100 původní hodnoty metody store and forward (výpočet: (8+64)/(8+6)≈5 až (8+1518)/(8+6)≈109), což na 1 Gbit/s síti znamená z původních maximálně (8+1518)/109≈1.5μs na asi 8+6/109≈0.014μs.
Informaci o tom, který switch podporuje cut-through switching, je potřeba hledat v dokumentaci výrobku. Obecně se jedná o switche ve vyšší cenové kategorii.
Přepínání na třetí vrstvě (layer 3) znamená, že rozhodování o dalším odeslání přijatého rámce je založeno na informacích ze síťové vrstvy. V sítích pracujících s rodinou protokolů TCP/IP je rozhodnutí založeno na (cílové) IP adrese uvedené v hlavičce IP datagramu. Switch se pak chová jako tradiční router s tím rozdílem, že díky využití ASIC obvodů a CAM paměti způsobuje při průchodu paketu nižší latenci. Na rozdíl od layer 2 switching je snížení latence nižší, protože kvůli přečtení cílové IP adresy je potřeba načíst alespoň 42 oktetů, takže snížení teoretické latence proti metodě store and forward je jen o asi 1/3 až na 1/30 původní hodnoty.
Pro nalezení záznamu ve směrovací tabulce nelze použít paměť CAM, jako v případě layer 2 switchingu, protože směrovací tabulka obsahuje i masku sítě, která určuje zda se má daný bit brát v úvahu či nikoliv. Řešením je TCAM paměť (Ternary Content Addressable Memory), která je zobecněním CAM paměti.
Některé současné ASIC obvody používané u layer 3 switche používají, jiné nikoliv. Informace by měla být uvedena v dokumentaci výrobku.
Pro snížení latence může být kromě TCAM paměti použita též metoda cut-through switching. Informace by měla být uvedena v dokumentaci výrobku.
Přepínání na čtvrté vrstvě (layer 4) znamená, že rozhodování o dalším odeslání přijatého rámce je založeno na informacích z transportní vrstvy, tj. čísla síťových portů. Díky tomu je možné rozlišit například protokol HTTP od provozu mobilní telefonie (VoIP) a zajistit tak například prioritní přenos některých dat (QoS). Kvůli nutnosti načíst i čísla portů je nutné načíst prvních 50 oktetů přijatého rámce, takže snížení teoretické latence proti metodě store and forward je ještě o něco menší, než v layer 3 switching (maximálně 1/26 původní hodnoty).
Pro snížení latence je možné použít TCAM paměť a metodu cut-through switching. Informace by měla být uvedena v dokumentaci výrobku.