
Problém: různá podpora různým službám - Layer 4 Switching
Dění v prostředí lokálních počítačových sítí se samozřejmě nezastavilo u eliminace tradičního pravidla 80:20 a podstatného zvýšení provozu směřujícího za hranice dané sítě. S postupem času došlo i na používání poněkud méně tradičních služeb, které mohou mít poněkud specifické nároky na to, jak jsou jejich data přenášena přenosovou sítí. Nejmarkantnější je to u přenosu multimediálních datových formátů, například při přenosu hlasu či obrazu po datových sítích, kdy velmi záleží jak na rychlosti doručování, tak i na pravidelnosti s jakou se tak děje. Své specifické nároky však má například i tolik oblíbené brouzdání světem WWW, neboť uživatelé nejsou ochotni čekat dlouhé minuty na to, až se jim konečně načte stránka kterou si vyžádali.
Problém je ale v tom, že tradiční datové sítě, fungující na principu přepojování paketů, nerozlišují mezi tím, jaká data přenáší a "všem měří stejně" - všechna data jsou přenášena se stejnou prioritou. Pokud se někde nedostává nějakých zdrojů, například přenosové kapacity, jsou všechny požadavky kráceny rovnoměrně, bez ohledu na to, o jaká data se vlastně jedná. Z pohledu koncových aplikací takovéto rovnostářství nemusí být optimální. Jsou aplikace, kterým příliš nevadí když se jejich data po cestě nějakou dobu zdrží (je to například elektronická pošta či přenos souborů). Jiným aplikacím vadí celkové zpoždění, které by mělo překročit určitou maximální hranici, ale jinak jim nezáleží na pravidelnosti, s jakou jednotlivé části dat přichází. Příkladem může být služba WWW, pro kterou je podstatné kdy se načte poslední část příslušné stránky (a příliš nezáleží na tom, jak pravidelně se načítají její jednotlivé části - důležitý je okamžik načtení posledního prvku). Jiné služby, například přenos živého obrazu či dokonce telefonování po Internetu, pak jsou citlivé jak na celkové zpoždění (například u telefonování by nemělo překročit 150 msec.), tak i pravidelnost.
Proč tedy datové sítě nevyhoví odlišným požadavkům různých aplikací? Proč třeba směrovač na vytížené lince nedá přednost přenosu živého obrazu před emailem, který může klidně počkat? Odpověď je jednoduchá: směrovač to nepozná!
Směrovač funguje na síťové vrstvě, a na té má k dispozici pouze síťové adresy a základní informaci o typu nákladu (např. že na úrovni transportní vrstvy je přenášen protokolem TCP, nebo UDP). Z nich ale ještě nepozná, o jaká data se jedná a které aplikaci patří. Proto s nimi ani nemůže nakládat různé, podle toho co jsou zač.
Řešením ale je to, že se směrovači, standardně fungujícímu na úrovni síťové vrstvy, přidá schopnost analyzovat přenášený paket poněkud hlouběji - tak hluboko, aby se dostal do té jeho části, která odpovídá hlavičce (obálce, viz výše) transportní vrstvy, a v ní rozpoznal čísla portů odesilatele a příjemce. Z těchto čísel portů pak může usuzovat na typ přenášených dat (protože číslo portu v zásadě identifikuje aplikaci, která data generovala resp. která má být jejich příjemcem na koncovém uzlu).
Pokud je takovýto směrovač, zkoumající přenášené pakety až do úrovně transportní vrstvy, optimalizován na rychlost podobně jako přepínač, bývá označován jako "přepínač na 4. vrstvě" (Layer 4 Switch).
Jaké ale jsou konkrétní možnosti využití "přepínače na 4. vrstvě"? K čemu přesně využít to, že rozpozná o jaká data se jedná? Pojďme si jednotlivé možnosti naznačit poněkud podrobněji.