Sedmé pokračování propojování sítí
V minulém čísle jsme se ponořili do problematiky propojování sítí. Ozřejmili
jsme si, že kromě nejtypičtějšího zařízení pro propojování sítí směrovače
existují ještě další aktivní síťové prvky, které se hodí pro určité formy
propojování síťových segmentů (např. pro prodloužení délky fyzického segmentu
sítě, pro jednoduché oddělení kolizních domén u Ethernetu). Zastavili jsme se
proto u méně "inteligentních" propojovacích prvků, jimiž jsou opakovače
(koncentrátory, rozbočovače) a mosty. V dnešní části se podíváme na
"spoluhráče" mostu na spojové vrstvě přepínače v LAN, a poté konečně na
nejtypičtější propojovací zařízení směrovače na síťové vrstvě (úkoly směrovače,
typy směrování).
Přepínače v LAN
Přepínače mají vlastnosti velmi podobné s komunikačními mosty, neboť pracují na
stejné, tj. spojové vrstvě. Mnohdy se také přepínače v LAN definují jako
mnohoportové mosty. Přesto mezi těmito dvěma typy zařízení existují určité
podstatné rozdíly v souvislosti s použitím v síti.
Základní charakteristiky přepínačů jsou následující:
- průběžně se učí znát adresy MAC stanic připojených za jednotlivými porty,
- propojují podobné lokální sítě,nemění rámce při zpracování,
- vytvářejí jednu doménu z hlediska rámců posílaných na všeobecnou adresu,
- filtrují na základě informací v rámci MAC.
Rozdíly mezi komunikačními mosty a přepínači LAN:
- obvykle nabízejí výběr režimu práce (ulož-pošli, průběžný),
- pracují rychleji, neboť se vnitřní rozhodování a přepínání odehrává v
hardwaru, nikoli v softwaru jako u mostů,
- segmentují LAN,
- podporují virtuální lokální sítě,
- pracují v lokálních sítích nepřipojují se k rozlehlým sítím a uplatňují se v
prostředí stejných lokálních sítí odlišujících se maximálně rychlostmi na
jednotlivých portech (např. Ethernet, Fast Ethernet).
Základní režimy přepínání:
- ulož a pošli (store and forward) rámce se při příchodu na port přepínače celé
načtou a uloží, jednak pro zjištění výstupního portu (na základě cílové adresy
MAC v rámci a interní tabulky adres), a jednak i pro kontrolu rámců na
zachycení a zničení chybných rámců. Tato metoda zajišťuje, že chybné rámce se
nebudou šířit do jiných segmentů, za cenu nižšího výkonu vnitřního přepínání,
jež činí tuto metodu nejpomalejší ze všech. Vhodná je v sítích, které "trpí"
vysokou chybovostí;
- průběžné zpracování (cut-through, nebo on the fly) příchozí rámec se ihned po
načtení prvních polí, včetně cílové adresy MAC a po zjištění výstupního portu
podle tabulky adres, průběžně přepíná na výstupní port, aniž by již skončil
jeho příjem. Tento způsob je velmi efektivní, neboť výsledný výkon přepínání je
maximální a zpoždění způsobené "zpracováním" rámce v přepínači je zanedbatelné.
Proto se o přepínačích používajících tuto metodu hovoří jako o tzv. wirespeed,
tj. pracujících rychlostí připojených LAN. Tento režim je vhodný ale pouze ve
spolehlivých sítích s minimálním počtem chybných rámců, neboť při tomto typu
přepínání nedochází k žádné kontrole přepínaných rámců.
Přepínané versus sdílené lokální sítě
Důležitou vlastností, obecnou pro propojování na spojové vrstvě architektury,
je vytváření ploché sítě, bez jakékoli adresové hierarchie (adresy MAC nemají
žádný logický význam z hlediska topologie sítě). To také znamená, že rámce na
všeobecnou adresu pronikají celou sítí s přepínači, podobně jako s mosty.
Přepínače se neuplatňují v síti ze stejných důvodů jako mosty. Základním
motivem jejich nasazení je zlepšení propustnosti sítě formou přepínaného
přístupu k médiu namísto sdíleného, klasického přístupu v lokálních sítích.
Současně umožňují přepínače segmentovat síť, i když pouze do kolizních domén (v
případě Ethernetu).
Přepínaný Ethernet vznikl v souvislosti s malým využitím sdílené sítě v
důsledku exponenciálního nárůstu kolizí při zvyšujícím se počtu aktivních
stanic v síti. Přepínače pro Ethernet dnes nabízejí značné možnosti kombinované
podpory portů pro různé typy IEEE 802.3. Výhodně nahrazují rozbočovače ve
sdílených sítích, neboť nejen cenově jsou stále příznivější, ale především řeší
problém zahlcení sítě způsobený nerovnoměrným rozložením provozu (klienti
oslovující stejné servery na tomtéž segmentu). Umožňují vhodně seskupovat
stanice na svých portech (segmentovaná lokální síť), nebo dokonce připojit na
port jedinou stanici (server, pracovní stanici apod.), a tak vytvořit jakousi
soukromou lokální síť.
Klasický případ vhodného použití přepínače je řešení zahlcení sdílené sítě
serverů a klientů. Přepínaný přístup pracovních skupin na jednotlivé servery
maximálně zprůchodní síť a umožní hladkou komunikaci s jednotlivými servery,
zvláště s využitím vyhrazeného spoje s vyšší kapacitou (např. kombinace Fast
Ethernetu s běžným Ethernetem). Přepínač však nevyřeší situaci, kdy se jedná o
jediný exponovaný server, s nímž všechny stanice nejčastěji komunikují.
Zahlcení v tomto případě není způsobeno sítí, ale nedostatečným paměťovým a
procesním zdrojem ve formě jediného serveru. Zde pomůže jen přidání dalšího
nebo dalších serverů do sítě a současně přechod od sdílené k přepínané síti,
podobně jako ve výše uvedeném případě.
Z hlediska návrhu intersítě je efektivní dodržovat pravidlo fyzické a logické
blízkosti:
- nejčastěji používaný server by měl být fyzicky i logicky nejblíže uživateli
nebo pracovní skupině, tzn. na stejném segmentu sdílené nebo přepínané sítě, ne
za mostem nebo směrovačem,
- síťové prostředky jako např. tiskárny by měly být rovněž v blízkosti
pracovních skupin, v případě velkého objemu dat pro tisk dokonce na vyhrazeném
segmentu připojeném prostřednictvím přepínače.
Virtuální lokální síť
Přepínače jsou základním kamenem pro budování virtuálních sítí. Virtuální
lokální síť (Virtual Local Area Network, VLAN) je, jak název napovídá,
zdánlivou sítí ve smyslu dnešního (fyzického) pojetí sítí lokálních. Dovoluje
totiž seskupit stanice do jediné VLAN bez ohledu na jejich fyzické umístění v
intersíti. Stanice tvořící skupinu, a tedy jednu virtuální síť, mohou být
umístěné na různých fyzických segmentech sítě a mohou v rámci skupiny
komunikovat stejně, jako by byly na jediném fyzickém segmentu sítě. Virtuální
lokální síť (stejně jako "fyzická" LAN) tvoří jedinou doménu pro šíření rámců
na všeobecnou adresu. Některé typy virtuálních LAN dovolují, aby jedna stanice
patřila současně do více než jedné VLAN.
Podle způsobu definice členství ve virtuální síti můžeme rozdělit řešení VLAN
na následující typy (viz Tabulka 1 Porovnání typů virtuálních lokálních sítí
podle jejich definice):
- VLAN definované podle portů na jednom i více přepínačích lze definovat
konkrétní porty (tedy stanice připojené za porty, přímo nebo prostřednictvím
připojených rozbočovačů), které budou VLAN tvořit. Toto je nejpoužívanější
metoda definice virtuálních sítí, neboť jejich uspořádání je snadno
pochopitelné, ale neumožňuje použít stejný fyzický segment nebo port přepínače
pro různé virtuální sítě. Dalším omezením je nutnost manuálně rekonfigurovat
definice virtuálních sítí vždy, když se uživatel přemístí z jednoho portu na
jiný;
- členství definované podle fyzických adres úvodní konfigurace vyžaduje
přiřazení adres MAC do konkrétní virtuální sítě, nadále se již automaticky
sleduje případný pohyb příslušníků virtuálních sítí a změny jejich fyzického
umístění. U těchto VLAN, které jsou instalovány do sdílených segmentů sítě, se
může výrazně snížit výkon, protože připojená zařízení mohou být členy odlišných
virtuálních sítí, sdílejících jeden port přepínače. Navíc předávání informací o
členství v jednotlivých virtuálních sítích mezi přepínači probíhá po stejných
médiích a se vzrůstající velikostí sítě vede k dalšímu snížení propustnosti
sítě;
- VLAN založené na síťové vrstvě virtuální sítě tohoto typu sdružují stanice na
základě síťového protokolu, a tak se mohou virtuálně oddělit stanice s IP,
Novell IPX, DECnet či AppleTalk, ačkoli stanice mohou být připojeny ke stejnému
fyzickému segmentu sítě. Tento typ VLAN není použitelný pro stanice používající
nesměrovatelné protokoly (např. NetBIOS);
- virtuální lokální sítě na základě protokolové politiky podobně jako u VLAN
založených na síťové vrstvě, i tento typ využívá informace o síťovém protokolu
v rámci. Podle definice politiky však v jedné VLAN je možné sdružit uživatele
několika různých protokolů;
- členství podle skupinového adresy (multicast) stanice, které tvoří skupinu a
sdílejí skupinovou adresu, jsou považovány za členy stejné virtuální sítě. Na
rozdíl od jiných typů virtuálních sítí jsou však všechny rámce šířené v této
skupině zasílány všem členům skupiny, nikoli jednotlivým stanicím;
- VLAN definované politikou nejvyšší stupeň z hlediska pružnosti přiřazování
uživatelů k jednotlivým virtuálním LAN, neboť umožňuje definovat potřebnou
politiku na základě kombinace kritérií. Politika znamená, že rámce se musí
průběžně v přepínané síti sledovat a členství v síti VLAN se může měnit na
základě typu rámců, které jednotlivé stanice generují.
Norma IEEE 802.1Q pro přenos informace identifikující různé virtuální LAN
využívá tzv. značení rámců (frame tagging), kdy do každého záhlaví (za pole s
cílovou a zdrojovou adresou) rámce přenášeného mezi přepínači je vkládána
hlavička jednoznačně určující, do které virtuální sítě tento rámec patří.
Výhody virtuálních lokálních sítí
Virtuální sítě představují nový přístup k síťování, které tak přestává být plně
svázáno s fyzickým členěním sítě, a naopak více odpovídá momentálním nárokům
uživatelů a celého podnikového záměru. Mezi základní výhody VLAN patří:
- snížení nákladů na změny v síti (přesun uživatelů, fyzicky blízké uspořádání)
není nutná rekonfigurace stanice;
- podpora virtuálních skupin vytváření lokálních sítí pro aktuální skupiny
uživatelů (pracující společně na projektu apod.);
- fyzické soustředění serverů s výsledným snížením nákladů na instalaci a
údržbu;
- omezení provozu způsobeného rámci na všeobecnou adresu pouze v rámci zdrojové
VLAN.
Směrování
Cílem směrování jako základní funkce síťové vrstvy je nalezení cesty k cílové
stanici (nejčastěji k síti, v níž stanice podle své adresy sídlí), a to cesty
nejlepší podle kritéria daného volbou typu směrování, případně směrovacího
protokolu. Výběr cest z možností daných topologií sítí vede k zaznamenání
nejlepší cesty nebo cest do směrovací tabulky směrovače, propojovacího zařízení
oddělujícího dvě různé (pod)sítě. Cesta je definovaná rozhraním směrovače,
které se pro datagram s danou cílovou adresou má použít, hodnotou metriky cesty
(kritéria kvality) a dalšími parametry.
Směrovač, který pracuje o vrstvu výše v referenčním modelu než most nebo
přepínač, ve vrstvě síťové, má mnohem větší možnost uplatnit svou vestavěnou
inteligenci, co se týká rozhodnutí "směrovat či nesměrovat", tedy propustit či
zablokovat daný paket. V první řadě už nepracuje s plochými fyzickými adresami,
ale s adresami, které odrážejí topologii intersítě. Např. u IP směrovač zajímá
vlastně jen část cílové adresy paketu, označující umístění zařízení (jeho
rozhraní) v konkrétní síti (nebo podsíti). Proto směrovací tabulka obsahuje
záznamy jen o dostupných sítích (podsítích) intersítě (nikoli o všech
připojených stanicích) a odpovídajících portech směrovače, které se použijí pro
předání paketu (datagramu) dále, resp. o dalším směrovači na cestě k cíli, a
metriku (konkrétní hodnotu kritéria pro vhodnost) dané cesty. Směrovací tabulka
je tedy založena na logickém uspořádání intersítě.
Základní funkce směrovače jsou dvě:
- zjištění (a výběr "nejlepší") cesty v intersíti,
- vnitřní přepínání paketů ze vstupního portu na výstupní.
Směrovač implicitně blokuje všechny pakety, u nichž rozezná cílovou adresu typu
všeobecné adresy (broadcast, například IP adresa 255.255.255.255), neboť ty by
zahltily celou intersíť. Tuto výbornou vlastnost směrovače je však nutno v
některých případech obejít, např. v případech sítí klient-server, kde se v
segmentu nacházejí pouze klienti, jež by neměli možnost komunikovat se
serverem. Rovněž paket, jehož cílová síťová adresa nemá odpovídající záznam ve
směrovací tabulce, není přesměrován na všechny porty, ale je buď zničen (a
vygenerováno chybové hlášení), nebo je poslán na port směrem k tzv. implicitní
síti, která slouží jako sběrná síť pro adresy přímo neidentifikované ve
směrovací tabulce.
Směrovač při příjmu paketu nezkoumá pouze cílovou síťovou adresu, ale zabývá se
jinými informacemi v dalších polích. Jednou z funkcí směrovače je sledovat a
měnit dobu životnosti (u IP Time to Live, TTL), měřeno počtem směrovačů na
cestě. Aby v případě nesprávného směrování pakety nebloudily intersítí
nekonečně dlouho, každý směrovač sníží hodnotu TTL o jedna (tzn. "spotřeboval"
se jeden skok v intersíti). Pokud je hodnota nulová při obdržení paketu, může
paket směrovat jen v případě, kdy je přímo připojen k síti, v níž je zařízení
dané cílové adresy. V opačném případě paket zničí a vygeneruje chybovou zprávu.
Kromě toho musí být směrovač schopen provádět fragmentaci paketů všude tam, kde
přijatý paket má větší délku než je povolené maximum délky datové jednotky
(spojové vrstvy) na výstupním portu.
Směrovatelné a směrovací protokoly
Je namístě poukázat na rozdíl mezi protokoly, jejichž pakety nebo datagramy lze
směrovat, a protokoly směrovacími, které napomáhají zjištění cesty pro
příslušné pakety. Mezi protokoly, které lze směrovat, tedy směrovatelné
protokoly, patří většina komunikačních protokolů: OSI, TCP/IP, DECnet,
AppleTalk, XNS, Novell, Banyan Vines. Konkrétní protokoly síťové vrstvy výše
uvedených architektur využívají logického adresování a umožňují přepojování a
směrování paketů směrovačům na jejich základě. Pro vlastní směrování se
využívají další, tedy směrovací protokoly, jejichž úkolem je podle určitého
algoritmu zjišťovat nejlepší cestu ke konkrétní cílové logické adrese.
Nesměrovatelných protokolů, jež lze podporovat pouze mosty a nikoli směrovači,
je dnes naštěstí pouze několik (připomeňme NetBIOS, NetBEUI, LAT).
Směrovače jsou dnes budovány tak, aby dokázaly podporovat co nejvíce různých
protokolových struktur, a tak co nejlépe uspokojit své zákazníky přicházející z
různých prostředí (multiprotokolové směrovače), i když je v současnosti zřejmá
obecná konvergence k IP. Každému směrovatelnému protokolu, který je podporován
ve směrovači, patří právě jedna směrovací tabulka obsahující záznamy o cestách:
cílová síťová adresa s údajem o výstupním portu, sousedním směrovači a hodnotě
(metrice) cesty. Tvorba a údržba směrovacích tabulek pro různé protokoly je
zcela nezávislá (v anglické terminologii se používá výstižný výraz "ships in
the night").
Spojová vrstva směrovače
Směrovač ke své práci potřebuje nejen síťovou vrstvu, ale i vrstvu spojovou.
Musí na svých rozhraních podporovat příslušný spojový protokol (LAN nebo WAN),
tedy kromě dalších mechanismů protokolu také fyzickou adresaci a zapouzdření
rámce. Jakmile určí cestu pro daný paket, potřebuje zjistit typ výstupního
portu pro přípravu rámce a mapování mezi cílovou logickou (síťovou) adresou
paketu a adresou fyzickou, na niž paket po zapouzdření do rámce vyšle. Zatímco
cílová logická adresa se nemění po celou dobu průchodu paketu intersítí, adresy
fyzické se mění podle příštího skoku, tj. směrovače nebo konkrétní cílové
stanice (viz Obrázek 1 Cílové fyzické a síťové adresy při průchodu paketů
intersítí se směrovači).
Typy směrování
Dnes se používají dva zásadně odlišné typy směrování v intersítích (viz tabulka
Porovnání statického a dynamického směrování), které lze kombinovat:
- statické cestu k cíli specifikuje a manuálně konfiguruje správce intersítě; v
případě výpadku některého ze spojů nebo směrovačů na dané cestě nemůže směrovač
sám zjistit (a použít) alternativní cestu. V takovém případě paket nemůže být
úspěšně doručen k cíli (je doručen až k poslednímu směrovači před
problematickou částí sítě), dokud nedojde k odstranění poruchy v síti, nebo
správce ručně nezmění konfiguraci směrovače pro jinou statickou cestu (pokud
vůbec existuje alternativní možnost obchozí cesty); statická cesta se volí v
případech, kdy správce sítě z důvodů především bezpečnostních chce zajistit
volbu konkrétní, předem známé cesty sítí, nebo tam, kde je možná pouze jedna
jediná cesta do sítě cílové;
- dynamické používá k výběru nejlepší cesty do cílové sítě algoritmus, založený
na aktuálních směrovacích informacích, které směrovač obdrží od ostatních
směrovačů v intersíti. Výměna těchto informací se řídí směrovacím protokolem.
Aktuální směrovací informace se zasílají podle typu protokolu buď v
pravidelných intervalech, nebo v případě detekce změny síťové topologie (nebo v
obou případech), a obsahují výčet dostupných sítí (jejich adresy) a hodnotu
cesty, kterou je jich možné dosáhnout.
Každý směrovací protokol se snaží vybírat optimální cestu k cíli. Pohled na
optimalitu je však u každého protokolu subjektivní. Pro stanovení "optimality"
používá jednoho nebo více kombinovaných kritérií, podle nichž hodnotí kvalitu
všech alternativních cest k cíli a vybere tu, jež dané kritérium nebo kritéria
nejlépe splní. Kritérium (nebo kombinace kritérií), které protokol používá, se
nazývá metrika. Mezi nejčastější kritéria patří:
- počet směrovačů na cestě, počet skoků (souvisí s polem TTL), podle tohoto
kritéria nejlepší cesta je cesta s nejnižším počtem směrovačů, které je třeba
"přeskočit",
- propustnost přenosového prostředku (v Kb/s, Mb/s), podle tohoto kritéria
nejlepší cesta je cesta s největší propustností "nejpomalejšího" segmentu na
cestě,
- zpoždění (v ms), podle tohoto kritéria nejlepší cesta je cesta s nejnižším
složeným zpožděním při průchodu všemi spoji na dané cestě,
- cena (volitelná hodnota, obvykle přirozené číslo, označující cenu použití
daného přenosového prostředku, resp. rozhraní směrovače), podle tohoto kritéria
nejlepší cestou je cesta s nejnižší složenou cenou všech použitých prostředků
na cestě (cena obvykle bere v úvahu jedno nebo více výše uvedených kritérií).
Kromě metriky je základním měřítkem vhodnosti směrovacího protokolu pro danou
síť také doba konvergence. Konvergence je doba, po kterou se směrovače po změně
v síti o této změně vzájemně informují a přepočítají svoje směrovací tabulky,
než se ve svém rozhodnutí všichni ustálí.
Směrovací algoritmy
Ve směrování se používají dva základní směrovací algoritmy (pro porovnání
základních odlišností viz Tabulka 3 Porovnání algoritmů vektorů vzdáleností a
stavu spojů):
- vektorů vzdáleností (distance vector) každý směrovač si vypočítává vzdálenost
ke každému dostupnému cíli, typicky měřenou počtem směrovačů (skoků) na cestě,
na základě informace, kterou obdrží pouze od svých sousedů (jejich směrovací
tabulky); délka každé cesty zjištěné z přijaté tabulky je zvětšena o 1 (jeden
skok k sousedovi) a zařazena do směrovací tabulky; celé směrovací tabulky
pravidelně (nejčastěji každých 30 až 90 s) vyměňují výhradně mezi sousedy a
následně je každý směrovač aktualizuje podle nových informací (viz Obrázek 2
Algoritmus vektoru vzdálenosti). Směrovače neznají celou strukturu intersítě,
ale zajímá je jen ta odbočka, která vede k cíli a je nejkratší. Nevědí nic o
dalších směrovačích na cestě (kromě nejbližšího souseda) a nic o sítích, jimiž
cesta k cíli vede. Protokoly založené na vektorech vzdálenosti patří ke starším
a jednodušším, a vzhledem k jejich nedostatečnosti v rozsáhlých sítích se
nahrazují protokoly s algoritmem stavu spojů.
- algoritmus stavu spojů (link state) každý zúčastněný směrovač má k dispozici
úplnou informaci o topologii celé sítě (topologickou databázi), kterou buduje
na základě momentálně platných směrovacích informací (paketech o stavu spojů,
LSP) od svých sousedů (databáze sousedů); LSP se vysílají okamžitě při změně
topologie, nikoli periodicky; metrika je obvykle cena, která se načítá na
každém rozhraní směrovače na dané cestě. Z topologické databáze se algoritmicky
buduje strom nejkratších cest k sítím, a teprve výsledek algoritmu optimální
cesty tvoří směrovací tabulku (viz Obrázek 3 Fáze směrovacího algoritmu stavu
spojů).
Autorkou seriálu o sítích je Ing. Rita Pužmanová, CSc., specialista na
propojování komunikačních sítí, (rita@ieee.org).
Výhody a nevýhody přepínačů v současných sítích
Výhody
vyšší výkon a snížení zpoždění v síti
jednodušší správa a management sítě
nižší náklady (ve srovnání se směrovači)
segmentace sítě až do přidělení šířky pásma jedné stanici
podpora virtuálních sítí
Nevýhody
podpora jediné domény pro rámce určené na všeobecnou adresu
plochá síť
Seznam pouzitých zkratek
BGP - Border Gateway Protocol
CIDR - Classless InterDomain Routing
EGP - Exterior Gateway Protocol
IETF - Internet Engineering Task Force
IGRP - Interior Gateway Routing Protocol
IS-IS - Intermediate System to Intermediate System
LSP - Link State Packet
NLSP - NetWare Link Services Protocol
OSPF - Open Shortest Path First
RFC - Request For Comments
RIP - Routing Information Protocol
RTMP - Routing Table Maintenance Protocol
RTP - Routing Table Protocol
TTL - Time to Live
VLAN - Virtual Local Area Network
VLSM - Variable Length Subnet Mask