Protokol ATM má velké ambice. Jeho cílem je být univerzálním linkovým a síťovým protokolem. Jako síťový protokol umožňuje síťovým rozhraním používat celosvětově jednoznačné (globální) síťové adresy. Jeho přívrženci sní o tom, že by mohla globální celosvětová síť založená na ATM nahradit Internet.
ATM se orientuje na virtuální okruhy. Umožňuje spojení na dvoubodových spojích (point-to-point) a na spojích, kdy jeden odesilatel adresuje více adresátů (point-to-multipoint).
ATM přenáší: zvuk, video, rámce datových sítí tvořících virtuální okruhy (Frame Relay, X.25) i datových sítí netvořících virtuální okruhy jako je např. IP-protokol.
Jednou za aplikací protokolu ATM je emulace lokálních sítí (tzv. LAN emulace), kdy ATM nahrazuje klasické protokoly pro LAN jako je Ethernet či FDDI. LAN emulace plně nahrazuje protokoly LAN a to i včetně jejich nedostatků. Emulace LAN přináší ale i výhody – např. mohou se využít vysoké rychlosti ATM či emulovaná LAN může být tvořena geograficky vzdálenými stanicemi.
ATM využívá asynchronní přenos (viz kap. 1.3.3), veškerá přenášená data se na vstupu krouhají do poměrně krátkých buněk, které jsou dlouhé 53 bajtů, jak je znázorněno na obr. 4.26. Každá buňka přenáší 48 bajtů dat. Veškerá vstupní data (zvuk, video, privátní sítě, spojované i nespojované sítě) se namelou do buněk (viz obr. 4.26). Síť ATM pak přenáší buňky směrem k příjemci. Příjemce pak z dopravených buněk skládá původní informaci.
Obr. 4.26 ATM mele
pakety různých protokolů do jedné standardní ATM buňky
o velkosti 53 bajtů
ATM používá k přenosu dat fyzické linky (např. E1, E3 atp.). Logicky je fyzická linka rozdělena na virtuální cesty (Virtual Path – VP). Jak je znázorněno na obr. 4.27, tak každá virtuální cesta je dále rozdělena na virtuální kanálky (Virtual Channel – VC).
Obr. 4.27 Virtuální cesty a virtuální kanálky
Každá ATM buňka ve svém záhlaví nese identifikaci virtuální cesty (Virtual Path Identifier –VPI) a virtuálního kanálku (Virtual Channel Identifier –VCI). Virtuální cesty i virtuální kanálky jsou jednostranné cesty, tj. pro oboustrannou komunikaci musí být pro každý směr komunikace zřízena samostatná cesta.
Jádrem ATM sítě jsou tzv. ATM přepínače, které přepínají
virtuální cesty mezi sebou. Na obraze 4.28 je schématicky znázorněn ATM
přepínač přepínající virtuální cesty.
Takovýto ATM přepínač přepisuje identifikaci VPI v záhlaví
buňky. Na obr. 4.28 přepisuje např. VPI=1 na VPI=6.
Identifikace virtuálních kanálků zůstávají zachovány.
Obr. 4.28 ATM přepínač přepínající virtuální cesty
ATM přepínače mohou přepínat nejenom virtuální cesty, ale i virtuální kanálky jak je znázorněno na obr. 4.29. Takový přepínač se skládá ze dvou vrstev. Spodní vrstva přepíná virtuální cesty, horní pak přepíná i virtuální kanálky.
Obr. 4.29 Přepínání virtuálních kanálků
Příchozí (resp. odcházející) ATM buňka je v ATM přepínači identifikována třemi údaji: VPI, VCI a síťovým rozhraním (interface) ATM přepínače.
Pro přepínání ATM buněk udržuje ATM přepínač přepínací tabulku, která říká jaké buňky na vstupu se mají přepnout na jaké buňky na výstup. Např. na obr. 4.30 počítač A chce odesílat buňky jak počítači B, tak i počítači C. Počítač A používá pro odesílání buněk na počítač B identifikaci VPI=3/VCI=31; buňky jsou na počítač B doručovány s identifikací VPI=6/VCI=31, tj. dochází pouze k přepínání cesty z VPI=3 na VPI=6.
Obr. 4.30 Přepínání buněk
Přepínací tabulka pak pro náš případ musí mj. obsahovat následující údaje (je třeba si uvědomit, že ATM spoj je jednostrannou komunikací, takže tabulka musí mít minimálně další řádky pro komunikaci v opačném směru).
Vstup |
Výstup |
||
Rozhraní |
VPI/VCI |
Rozhraní |
VPI/VCI |
1 |
3/31 |
2 |
6/31 |
1 |
4/34 |
4 |
5/35 |
Některé kombinace VPI/VCI jsou vyhrazeny pro služební účely.
Rozlišujeme dva typy rozhraní (viz obr. 4.31):
§ Rozhraní uživatel – síť (User to Network Interface - UNI), které je mezi uživatelovým počítačem a přilehlým ATM přepínačem.
§ Rozhraní síť – síť (Network to Network Interface – NNI) mezi jednotlivými ATM přepínači téže ATM sítě.
Obr. 4.31 Rozhraní UNI a NNI
Struktura hlavičky ATM buňky závisí na skutečnosti, zda-li se jedná o buňku na rozhraní UNI nebo NNI. Jak je vidět z obr. 4.32 Rozdíl mezi těmito dvěma typy spočívá pouze v tom, že buňka UNI má na úkor pole VPI navíc pole GFC.
Obr. 4.32 Záhlaví ATM buněk
Význam jednotlivých polí záhlaví:
§ GFC (Generic Flow Control) je určeno pro lokální komunikaci (např. řízení toku dat), v praxi se většinou nevyužívá – bývá nastaveno na hodnotu 00002.
§ VPI a VCI obsahuje identifikace virtuální cesty a virtuálního kanálku ke kterému buňka náleží. Pro buňky NNI je pole VPI o 4 bity delší, což umožňuje v komunikaci mezi ATM přepínači používat větší množství virtuálních cest.
§ HEC (Header Error Control) obsahuje kontrolní součet. Existují dva druhy HEC“
§ Detekční mód, kdy je buňka při chybě odmítnuta.
§ Korekční mód, kdy je hlavička buňky opravena (předpokládá se chyba v jednom bitu hlavičky).
§ CLP (Cell Loss Priority) umožňuje první stupeň správy. Buňky s CLP=1 jsou kandidáty na odmítnutí v případě přetížení spoje.
§ PT (Payload Type) obsahuje informace o přenášených datech. Pole PT je dlouhé 3 bity, označme je xyz.
§ Bit z je informace o paketu vyšší vrstvy (vrstvy AAL), který je do buňky nakrouhán. Paket AAL byl nakrouhán do několika buněk. z=1 signalizuje, že se jedná o poslední fragment AAL paketu. První a prostřední fragmenty mají hodnotu z=0.
§ Bit y signalizuje přetížení spoje.
§ Bit x je určen pro další rozlišení buněk
ATM buňka se vkládá do super-rámce fyzické vrstvy. Na obr. 4.33 je znázorněna jedna z možností vkládání buňky do super-rámce linky E1 (sloty 0 a 16 slouží pro služební účely).
Obr. 4.33 Vkládání buněk ATM do super-rámce E1 (doporučení ITU
G.804)
Obr. 4.34 Jednotlivé vrstvy ATM
Z hlediska síťového modelu se problematika ATM skládá ze tří vrstev:
1. Fyzické vrstvy, která se skládá z vlastní fyzické vrstvy PM a vrstvy TC. Vrstva TC má na starosti vkládání buněk do super-rámců, vkládání prázdných buněk na nečinné linky, vytváření a ověřování kontrolního součtu záhlaví buňky (HEC) atd.
2. Vrstvy ATM, která je zodpovědná za konstrukci buněk, přepínání buněk, definuje rozhraní UNI a NNI atd.
3. Vrstvy AAL, která adaptuje (přizpůsobuje) služby vyšší úrovně pro vrstvu ATM.
Vrstva AAL balí pakety protokolů vyšších vrstev (např. IP-pakety) do AAL paketu. Paket AAL je posléze segmentován (rozemlet) do jednotlivých ATM buněk. Celý proces se děje ve dvou krocích. Nejprve vrstva CS zabalí paket vyšší vrstvy do AAL paketu jehož délka je dělitelná 48 a posléze vrstva SAR tento AAL paket rozemele na ATM buňky.
Pokud by délka AAL paketu nebyla dělitelná 48, pak je AAL paket doplněn o výplň – důvodem je skutečnost, že ATM buňka má právě 48 bajtů dlouhou datovou část.
Jelikož vrstva AAL musí zpracovávat nejrůznější typy dat (zvuk, video, datové pakety atd.), tak je vytvořeno několik typů vrstvy AAL:
1. AAL typu 1 pro služby s požadavkem na přenos toku bitů s konstantní šíří přenášeného pásma (např. telefonní hovory).
2. AAL typu 2 pro služby s požadavkem na přenos toku bitů s proměnnou šířkou přenášeného pásma (např. animace, video).
3. AAL typu 3 pro přenos datových paketů síťových služeb vytvářejících virtuální okruhy.
4. AAL typu 4 pro přenos datových paketů síťových služeb nevytvářejících virtuální okruhy.
5. AAL typu 5, které vzniklo zjednodušením AAL 3 a 4. Dále se budeme zabývat pouze AAL 5.
Obr. 4.35 Formát paketu AAL 5
Na obr. 4.35 je znázorněn formát paketu vrstvy AAL typu 5. Výplň slouží k dosažení délky paketu tak, aby byla násobkem 48. Pole UU (User to User indication) je určeno pro přenos uživatelské informace. Pole CPI (Common Part Indicator) je určeno pro řízení výkonu a monitorování (tč. se nevyužívá). Pole délka obsahuje délku AAL paketu a pole CRC obsahuje kontrolní součet.
Na obr. 4.36 je pak znázorněna segmentace (mletí) AAL paketu do ATM buněk. V záhlaví ATM buněk se využívá pole PT. Pole PT je nastaveno na nulu kromě poslední buňky, která jej má nastaveno na jedničku. Vrstva AAL typu 5 předpokládá, že ATM buňky nesoucí konkrétní AAL paket jsou ATM sítí přenášeny za sebou, tj. nedochází k záměně pořadí buněk. Pomocí pole PT lze tak i buňku na druhém konci sestavit – datové části přicházejících buněk se skládají za sebe dokud nedorazí buňka s PT=1, tak se přidá jako poslední a vznikne tak sestavený AAL paket.
Obr. 4.36 Segmentace AAL paketu do ATM buněk
Na obr. 4.36 je v AAL paketu uvedeno, že se jedná o datovou část vrstvy CP. Pokud se protokolem ATM mají přenášet datové pakety protokolů využívajících virtuální okruhy, pak je nutné navíc ještě použít vrstvu SS (viz obr. 4.34). Vrstva SS balí pakety protokolů vyšších vrstev do svých paketů majících SS záhlaví a SS zápatí. Až výsledný SS paket je pak balen do paketu CP jak je znázorněno na obr. 4.36.
Dosud jsme se zabývali virtuálními okruhy (tj. virtuálními cestami a virtuálními kanálky), které už byly sestaveny a bez jakýchkoliv potíží pracovaly. Jakoby se jednalo o pevné okruhy. ATM však umožňuje virtuální okruhy i dynamicky vytvářet.
K vytváření okruhů slouží signalizace. Signalizace neslouží jen k vytváření okruhů, ale i k signalizaci chybových stavů, k monitorování sítě atd.
Se signalizací pro vytvoření virtuálního okruhu se denně setkáváme při telefonování. Při telefonování nejprve zvolíme na číselníku telefonní číslo a telefonní síť nám na základě volby čísla vytvoří telefonní okruh. Při volbě telefonního čísla sdělujeme číslo telefonní síti, aby nám okruh vytvořila. Tj. při vytváření telefonního okruhu je jedním účastníkem komunikace uživatel a druhým telefonní síť.
Při signalizaci ATM je tomu obdobně. Opět zůstaneme pouze u případu vytvoření virtuálního okruhu, což je jen jednou ze základních funkcí signalizace.
Uživatel pro vytvoření okruhu musí signalizací požádat síť o tuto službu (službu vytvoření virtuálního okruhu). Uživatel je na rozhraní uživatel – siť (UNI). Copak má uživatel se samotnou sít spojení? To je opravdu problém, jak navázat spojení se sítí, aby uživatel mohl síti signalizovat své požadavky, či aby mu síť předávala nějaké informace.
Signalizace probíhá ve dvou krocích.
1.
V prvním kroku se použije tzv. metasignalizace. Vzpomeňme
si, že při popisování virtuálních cest a virtuálních kanálků
jsme řekli, že cesty a kanálky o některých identifikacích slouží
pro služební účely. Metasignalizace je právě takovým služebním
účelem. Zpravidla virtuální kanálek VPI=0/VCI=1 se využívá pro
metasignalizaci. Metasignalizací pošle uživatel jednu ATM buňku (její
formát je určen doporučením Q.2120), kterou žádá síť o navázání
komunikace na vrstvě AAL (např. pro nás AAL typu 5). Síť
pak opět jednou buňkou odpoví. Výsledkem je dohoda o spojení na nějakém
virtuálním kanálku.
(Existují i jiné varianty signalizace, kdy se informace síti předají
jen metasignalizací, pak se zpravidla využívá kanálek VPI=0/VCI=5.)
2. V druhém kroku již existuje komunikace na AAL vrstvě. Do paketu vrstvy AAL se vkládají pakety signalizace (např. dle doporučení Q.2931). Pakety signalizace obsahují jednotlivé zprávy, jako je např. zpráva SETUP nebo CONNECT. Jedná se o zcela analogickou situaci, kterou jsme popsali v kapitole 3.3.1 u signalizace ISDN (ISDN používá doporučení Q.931, jehož pakety jsou velice podobné paketům Q.2931).
Signalizaci můžeme také rozdělovat z pohledu rozhraní, tj. na signalizaci na rozhraní UNI a NNI.
I když se v sítích ATM signalizací ani směrováním
dále již nebudeme podrobně zabývat, tak si uveďme alespoň
tvar ATM adres.
Obr. 4.37
Na obr. 4.37 jsou nejčastěji používané ATM adresy (nejedná se o standarty ITU, ale ATM fóra). ATM adresy jsou odvozeny od NSAP – adresy používané protokoly OSI. Adresy jsou dvacetibajtové a skládají se z polí:
Ř AFI (první bajt) specifikuje typ adresy.
Ř IDI (Initial Domain Identifier) obsahuje
§ pro adresu DCC pole DCC, což je identifikace zemně podle normy ISO 3166.
§ Pro adresu ICD pole ICD, což je mezinárodní kód podle normy ISO 6523.
§ Pro adresu E.164 pole E.164 obsahující ISDN číslo podle normy E.146.
Ř DSP (Domain Specific Part), které jednoznačně specifikuje adresu v rámci konkrétního IDI. Adresa síťového rozhraní je určena bez pole SEL. Pole SEL (Selector) je určeno pro bližší specifikaci protokolu vyšší vrstvy, které se mají data předávat. Např. mají-li se předávat LAN emulaci či přímo IP-vrstvě. Obecně se pole DSP dělí na
§ HO-DSP (High-Order DSP), což je adresa domény („adresa sítě“)
§ ESI (End Systém Identifier), což je adresa síťového rozhraní, která je šestibajtová, takže se skutečně do ní např. vejde fyzická adresa protokolu Ethernet („adresa počítače“).
Pole HO-DSP se obecně dělí na pole DFI (Domain Specific Part Identifier), AA (Administrative Authority) RD (Routing Domain) a Area. Toto dělení se však v ATM sítích příliš už nevyužívá.
Otázkou je jak využít siť ATM. V praxi se setkáváme se dvěma typy použití:
1. Základní (native) módem, kdy pakety protokolů vyšších vrstev (na obr. 4.38 IP-protokolu) jsou vkládány přímo do ATM, tj. do paketů AAL typu 5 (resp. paketů podvrstvy CP).
2. Druhou možností je emulovat protokoly LAN (např. Ethernet, Token Ring apod.) nad sítí ATM. Pak se IP-datagramy vkládají např. do rámců protokolu Ethernet, který se vkládá do paketů AAL typ 5 (resp. do paketů podvrstvy SS, které se vkládají do paketů podvrstvy CP).
Emulace lokálních sítí má jistou nevýhodu ve zvýšení režie, protože do dat se vkládají další hlavičky, ale má i své nesporné výhody. Výhodou je, že lze integrovat stávající LAN se sítěmi ATM. Vznikají tak virtuální lokální sítě, které se mohou skládat z počítačů ležících na segmentu klasické LAN plus počítačů připojených v síti ATM kdekoliv na Zemi. Navíc přenosové rychlosti v sítích ATM bývají někdy vyšší než v klasických LAN.
Obr. 4.38 Základní mód a emulace LAN
Architektura LAN emulace je znázorněna na obr. 4.39. Architektura se skládá z následujícího software:
§
Klineta (LAN Emulation
Clinet – LEC), který zajišťuje veškerou funkčnost přenosu
dat přes ATM. Musí být v každé koncové stanici emulované LAN přes
ATM. Pakliže je stanice na klasickém segmentu LAN, pak LEC je součástí
aktivního prvku (HUB). LEC má jednu nebo více jednoznačných ATM adres.
LEC může být realizován i na síťových kartách.
§ Serveru (LAN Emulation Server – LES), který řídí konkrétní emulovanou LAN (každá emulovaná LAN musí mít svůj LES). Má jednoznačnou ATM adresu. LES bývá součástí software ATM přečpínače.
§ Konfiguračního serveru (LAN Emulation Configuration Server – LECS), který umožňuje konfiguraci a správu emulované LAN. Zde se udržuje databáze klientů, kteří patří konkrétní emulované LAN.
§ Serveru pro oběžníky a neznámý provoz (Broadcast and Unknown Server – BUS), který zajišťuje oběžníky na LAN a ošetřuje provoz neznámých stanic.
Obr. 4.39 Architektura emulace LAN
ATM je určeno pro sítě, kde je nutno přenášet různé datové protokoly, video, audio atp. Univerzálnost přináší zvyšování režie. Uvědomme si, že Ethernetový rámec je vložen do paketu emulace LAN, ten je vložen do paketu AAL, který je nakrouhán do ATM buňky. Všechny tyto pakety mají jisté záhlaví či zápatí, které zvyšuje režii.
Pokud bychom chtěli např. využít ATM pro dvoubodový spoj o kterém víme, že skrze něj budeme přenášet pouze IP, pak režie může stoupnout až na 30%, kdežto režie u protokolu HDLC bývá okolo 4%. A kromě toho pro digitální linky se jeví do budoucna rozumné u takovýchto dvoubodových spojů vkládat IP-datagramy přímo do fyzické vrstvy.
Emulovat LAN na dvoubodovém spoji je extrémní případ, ale je dobré si uvědomit, že tento extrémní případ zvýší režii na 30%. A 30% na lince 1 Gb/s je opravdu velké číslo.
Naopak v komplikovaných sítích, kde se současně s daty přenáší i audio či video oceníme robustnost ATM.