PS 9 KRUHOVÁ A SBĚRNICOVÁ SÍ´Ť ŘÍZENÁ TOKENEM Obsah 2.2 Kruhová síť řízená tokenem Rozhraní kruhové sítě Formáty rámce Přenos rámce Příjem rámce Provoz s prioritami Příklad 1 Řízení kruhové sítě Inicializace Záložní monitor Aktivní monitor Hlídání poruch
2.3 Sběrnicová kruhová síť řízená tokenem Základní provoz Předávání tokenu Čekání na odezvu Inicializace Provoz s prioritami
1
2.2 Kruhová síť řízená tokenem Kruhové sítě řízené tokenem se používají především v technickém a kancelářském prostředí. Princip jejich činnosti znázorňuje obr.12.
Obr.12 Kruhová síť řízená tokenem:Princip činnosti 2
Vždycky když DTE chce odeslat rámec, tak musí nejprve získat token. Po získání tokenu zahájí DTE inicializaci přenosu rámce s adresou zamýšleného příjemce v záhlaví. Rámec je opakován (to znamená že každý bit je přijat a potom znova opakovaně odeslán) každým DTE kruhové sítě, až se nakonec po celém oběhu dostane k DTE, které inicializaci provedlo a tam je odstraněn. Kromě opakování rámce zamýšlený příjemce si uschová kopii rámce a tuto svoji aktivitu oznámí tím, že na konci rámce aktivuje bity odpovědi (response bits). DTE uvolní token jedním ze dvou způsobů, které závisí na přenosové rychlosti kruhové sítě. U pomalejích kruhových sítí (4 Mbps) je token uvolněn teprve po přijetí bitů odpovědi. U kruhových sítí s vyšší rychlostí přenosu (16 Mbps) je token uvolněn až po odeslání posledního bitu rámce. V tomto případě je tato činnost označována jako časné uvolnění tokenu. (early token release). Typickou kruhovou síť řízenou tokenem znázorňuje obr.13(a) a různé prvky umožňující připojení DTE ke kabelovému médiu ilustrují části (b) a (c) obr.13. Kabelové médium vytvářející kruhovou síť ze segmentů běžně realizovaných stíněným krouceným párem může přenášet data různými rychlostmi v rozmezí 4 a 16 Mbps. DTE může být ke kruhové síti připojeno buď přímo, nebo přes koncentrátor (viz obr.13(a)). Toto zařízení může k hlavnímu spojovacímu kabelu připojit krátkými odbočkami několik DTEs. Koncentrátor často zjednoduší vnitřní kabeláž budovy. Umísťuje se obvykle do místa, kde spojovací kabel vstupuje (nebo vystupuje) do místnosti. Každé DTE instalované v místnosti se ke koncentrátoru připojuje krátkými přípojkami.
3
Obr.13 Stavební prvky kruhové sítě řízené tokenem: (a) konfigurace kruhové sítě; (b) rozhraní DTE; (c)schéma vazební jednotky 4
Rozhraní kruhové sítě Fyzický kontakt s médiem zprostředkovává kabelová vazební jednotka TCU (trunk coupling unit). Tato jednotka obsahuje řadu relé a přídavnou elektroniku vytvářející vazbu pro vstup a výstup kabelových signálů. Relé jsou zapojena takovým způsobem, aby při odpojeném DTE jednotka TCU vytvořila nepřerušenou přenosovou cestu (přemostění). Vložení DTE do kruhové sítě řídí jednotka řízení přístupu k médiu MAC (medium access control unit) na kartě komunikačního řadiče v DTE. MAC jednotka inicializuje připojení DTE aktivací obou dvojic reléových párů TCU. Z obr.13(c) je zřejmé, že zapojení umožňuje směrování přijímaných signálů přes MAC jednotku. Přijímací/vysílací elektronika MAC jednotky buď pouze čte a opakuje přijatý signál ve vysílacím směru, pokud toto DTE není zdrojem rámce, nebo vyjme přijatý signál z kruhové sítě pokud DTE inicializuje přenos. Zapojení obou párů reléových kontaktů umožňuje MAC jednotce detekovat závady způsobené přerušením nebo zkratem vysílacích nebo přijímacích párů signálních vodičů. Ve stavu přemostění (bypass) může MAC jednotka testovat sama sebe, protože jakýkoliv datový výstup vysílacího páru je veden zpět do přijímacího páru. DTE je připojeno k TCU dvěma páry kroucených vodičů stíněného kabelu: jeden pár pro přenos a druhým pro příjem. MAC jednotka je zodpovědná za takové funkce, jako vkládání a odstraňování rámce, generování FCS a detekci chyb a za implementaci MAC algoritmu. Pokud DTE je aktivním monitorem kruhové sítě, tak její MAC jednotka plní funkci hlavních hodin při kódování a dekódování.
5
Každá obíhající bitová posloupnost je aktivním monitorem kruhové sítě diferenciálně kódována metodou Manchester a všechna ostatní DTEs sítě potom udržují synchronizmus a fázi s obíhající bitovou posloupností digitálním fázovým závěsem se zpětnou vazbou DPLL (digital phase-locked loop). Kromě toho DTE ve funkci aktivního monitoru kruhové sítě zajišťuje minimální čekací dobu (minimum latency time) Tato doba měřená délkou bitových intervalů při dané rychlosti přenosu odpovídá době jednoho oběhu signálu kruhovou sítí. Čekací doba kruhové sítě zahrnuje dobu šíření signálu přenosovým médiem a všemi MAC jednotkami. Má-li řídící token obíhat kruhovou sítí plynule i za situace, kdy žádné DTE nechce síť využít k přenosu svých rámců (tedy kdy všechna DTE pouze pracují v opakovacím režimu), tak minimální čekací doba kruhové sítě se musí alespoň odpovídat počtu bitů posloupnosti nenarušeného tokenu. Token je 24 bitů dlouhý, takže aktivní monitor kruhové sítě DTE s jednotkou MAC ve funkci pevné 24bitové vyrovnávací paměti může za všech okolností zajistit spolehlivý provoz. I když střední hodnota přenosové rychlosti kruhové sítě je řízena jedinými hodinami aktivního monitoru, tak použití samostatného DPLL obvodu v každé jednotce MAC znamená, že skutečná přenosová rychlost se může mírně měnit. Nejhorší odchylka vznikne tehdy, když maximální počet aktivních DTEs bude 250; v takovém případě půjde o plus minus tři bity. Nebude-li čekací doba kruhové sítě konstantní, tak pokles čekací doby způsobí narušení bitů a nárůst čekací doby přidání bitů.. Aby čekací doba kruhové sítě zůstala zachována, tak se k pevné24-bitové vyrovnávací paměti přidává pružná (elastic) resp. proměnná 6-bitová vyrovnávací paměť. 6
Výsledná 30-bitová vyrovnávací paměť je zpočátku nastavena na 27 bitů. Bude-li přijat „rychlejší“ signál než taktovací hodiny jednotky MAC, tak vyrovnávací paměť se rozšíří o jeden bit. Bude-li přijat „pomalejší“ signál, tak se vyrovnávací paměť zmenší o jeden bit. Při takovém způsobu řízení bude kruhová síť vždycky obsahovat dostatek bitů, aby sítí ve stavu naprázdno mohl token obíhat nepřetržitě.
Formáty rámce V kruhové síti řízené tokenem se používají dva základní formáty: jeden pro řídicí token a druhý pro normální rámce. Řídící token je prostředek, kterým (na rozdíl od normálního procesu opakování) jedno DTE předává druhému DTE právo vysílat, zatím co normální rámec používá DTE pro vyslání dat nebo informací z jednotky MAC. Formát obou typů rámců je uveden v obr.14 zároveň s bitovou posloupností každého pole. Pro zajištění bitové transparence slouží speciální bitové posloupnost s názvy omezovač začátku pole SD (start delimiter) a omezovač konce pole ED (end delimiter) Kódování symbolů těchto posloupností se provádí způsobem vhodným pro přenos kabelovým médiem: všechny informační bity přenášené médiem jsou kódovány metodou Manchester s výjimkou vybraných bitů v polích SD a ED. Naproti tomu symboly J a K se odchylují od normálních kódovacích pravidel tím, že jsou reprezentovány konstantní úrovní v celé periody bitu. Symbol J má stejnou polaritu jako předchozí symbol, zatím co K symbol má opačnou polaritu než předchozí symbol. Tímto způsobem může tedy přijímač spolehlivě detekovat začátek a konec každého přeneseného tokenu nebo rámce bez ohledu na jejich obsah nebo délku.
7
Obr.14 Formáty rámců a popisy pole kruhové sítě: (a)formát tokenu;(b)formát rámce;(c)popisy pole Všimněme si ale, že pouze prvých šest symbolů (JK1JK1) v obr.14(c) slouží k indikaci platného konce rámce. Ostatní dva bity, I a E mají jinou funkci: • V tokenu jsou oba bity I a E nulové (0) • V normálním rámci I bit označuje prvý (nebo mezilehlý) rámec posloupnosti (I=1), nebo poslední rámec (I=0) • E bit slouží pro detekci chyby. Zdrojové DTE jej uvádí do stavu 0, ale jestli-že kterékoliv DTE při příjmu nebo opakování rámce (např. chyba FCS) detekuje chybu, tak E bit uvede do stavu 1, a tím oznámí zdrojovému DTE detekci chyby. 8
Pole řízení přístupu AC (access control field) obsahuje prioritní bity, bity tokenu a monitoru a rezervační bity. Z názvu vyplývá, že AC pole slouží k řízení přístupu do sítě. Pokud je toto pole součástí tokenu, tak prioritní bity (P) udávají prioritu tokenu a tedy které rámce po přijetí tokenu může DTE odeslat. Bit tokenu (T) odlišuje token od běžného rámce (0 indikuje token a 1 rámec). Monitorovací bit (M) slouží aktivnímu monitoru k blokaci nepřetržitého oběhu rámce. Nakonec rezervační bity (R) umožňují DTEs, které vlastní rámce s vysokou prioritou, žádat (buď při opakovaných rámcích nebo tokenech) o to, aby následující vygenerovaný token měl požadovanou prioritu. Kontrolní pole (FC) rámce definuje typ rámce (MAC nebo informaci) a některé řídící funkce. Jestliže bity (F) rámce indikují MAC rámec, tak všechna DTEs kruhové sítě interpretují a v případě potřeby ovlivňují kontrolní bity (Z). Pokud půjde o I rámec tak kontrolní bity budou interpretovány pouze těmi DTEs, které jsou identifikovány polem cílové adresy. Pole zdrojové adresy (SA) a cílové adresy (DA) mohou mít délku 16 bitů nebo 48 bitů, ale v každé specifické LAN musí mít adresy všech DTEs stejnou délku. DA pole identifikuje DTEs, kterým je rámec určen. Prvý bit pole indikuje, zda adresa je adresou individuální (0), nebo adresou skupinovou (1); individuální adresy identifikují specifickou DTE kruhové sítě, zatím co skupinové adresy slouží k odeslání rámce mnoha cílovým DTEs. SA vždycky představuje individuální adresu a identifikuje DTE, které vytvořilo rámec. DA s obsahem samých jedniček (1) představuje oběžníkovou adresu určenou pro přenos rámce všem DTEs kruhové sítě.
9
Informační pole (INF()) slouží k přenosu uživatelských dat, nebo je-li součástí MAC rámce, k přenosu řídící informace. I když informační pole nemá specifikovanou maximální délku, tak z praktického hlediska je jeho dálka omezena maximální dobou, po kterou může DTE, v případě že vlastní token, vysílat rámec. Typická maximální délka je 5000 oktetů. Kontrolní pole (FCS) rámce je reprezentováno 32bitovým CRC. Poslední pole které udává status rámce (FS) obsahuje dvě části: bity pro rozpoznání adresy (A) a bity pro kopírování rámce (C). DTE, které vytváří rámec, uvede bity A a C do stavu 0. Jestliže rámec je rozpoznán jednou nebo několika DTEs kruhové sítě, tak DTE(s) uvede A bit do stavu 1. Také při kopírování rámce uvede DTE bit C do stavu 1. Tak může zdrojová DTE určit, zda cílová DTEs neexistují, nebo jsou odpojena, nebo jsou aktivní ale nekopírují rámec, nebo jsou aktivní a kopírují rámec.
Přenos rámce Po přijetí žádosti o přenos datové zprávy (která zahrnovala jako parametr datovou prioritu) jsou data jednotkou MAC nejprve vložena do rámce podle obr.14. Jednotka MAC potom čeká na příjem tokenu s nižší, nebo stejnou prioritou, jako je priorita vytvořeného rámce. Je jasné, že v systému s různými prioritami musí být respektována procedura, která umožní všem DTEs přenášet rámce ve správném pořadí. Tato procedura pracuje následujícím způsobem. Po zformátování rámce a před přijetím příslušného tokenu (takového, jehož priorita je menší nebo stejná jako priorita čekajícího rámce), je rámec nebo token s vyšší prioritou zopakován rozhraním kruhové sítě a jednotka MAC čte hodnotu rezervačních bitů AC pole. 10
Jestliže půjde o stejnou nebo vyšší prioritu, než je priorita čekajícího rámce, pak se rezervační bity zopakují v nezměněném stavu. Bude-li ale zjištěná priorita nižší, pak jednotka MAC zamění hodnotu zjištěné priority hodnotou priority čekajícího rámce. Za předpokladu, že v kruhové síti nečekají na odeslání žádné rámce s vyšší prioritou, je token opakovaně přenesen s touto prioritou stávajícím vlastníkem (uživatelem). Po přijetí tokenu čekající jednotka MAC zjistí, že priorita tokenu je stejná jako priorita rámce, který čeká na přenos. Proto akceptuje token tím, že změní bit AC pole tokenu na 1 a tím změní token v posloupnost začátku normálního rámce. MAC jednotka potom zastaví opakování příchozího signálu a sleduje konvertovanou posloupnost startu rámce s přeformátovaným obsahem. V průběhu odesílání obsahu rámce spočítá FCS a následně jej připojí na konec odesílané posloupnosti. Jakmile přenos rámce(ů) již jednou začal, tak MAC jednotka zastaví opakování a odstraní dříve odeslaný rámec(e) po jeho oběhu kruhovou sítí. Kromě toho MAC jednotka zaregistruje stav A a C bitů pole FS na konci rámce(ů) a tím pozná, zda rámec(e) byl zkopírován nebo ignorován. Potom vygeneruje nový token, který odešle a tím umožní jinému čekajícímu DTE získat přístup do kruhové sítě. Dá se odeslat několik rámců, ale za předpokladu, zaprvé, že priorita dalšího čekajícího rámce(ů) je větší nebo stejná jako priorita tokenu a zadruhé, že celková doba potřebná k přenosu dalšího rámce(ů) nepřekročí definovaný limitu známý jako doba držení tokenu (token holding time). Standardní hodnota této doby je 10 ms. Vývojový diagram znázorňující operace spojené s odesíláním a příjmem rámců představuje obr.15. 11
Obr.15 Operace v podvrstvě MAC kruhové sítě s tokenem: (a) vysílání; (b) příjem 12
Příjem rámce Kromě opakování příchozí bitové posloupnosti signálu jednotka MAC každého aktivního DTE kruhové sítě detekuje start každého rámce rozpoznáním speciální bitové posloupnosti začátku rámce. Tato jednotka potom určí, zda má rámec zopakovat nebo zkopírovat. Jestliže bity F oznámí, že se jedná o rámec příslušející MAC jednotce, pak je rámec zkopírován, C bity interpretovány a v případě nutnosti rámec zpracován. Jestli-že ale půjde o normální ráme přenášející data a DA odpovídá buď individuální adrese DTE nebo relevantní skupinové adrese, tak se obsah rámce zkopíruje do vyrovnávací rámcové paměti a předá k dalšímu zpracování. Dříve ale než dojde k opakování jsou bity AC stavu pole rámce na konci rámce vhodným způsobem nastaveny. Vývojový diagram operací pro příjem rámce je uveden v obr.15(b).
Provoz s prioritami Priorita přiřazená tokenu jednotkou MAC je po dokončení přenosu jakéhokoliv čekajícího rámce(ů) determinována mechanizmem usilujícím o následující: (1) Rámce s vyšší prioritou než je současná priorita obsluhovaná kruhovou sítí se vždycky odešlou jako první. (2) Všechna DTEs s rámci o stejné prioritě mají stejná přístupová práva do kruhové sítě. K tomu slouží bity P a R pole AC každého rámce a mechanizmus který zaručí, že DTE které zvýší úroveň priority kruhové sítě vrátí úroveň priority sítě po odeslání rámců s vyšší prioritou na její původní hodnotu. Pro implementaci tohoto způsobu řízení priorit má každá jednotka MAC k dispozici dvě množiny hodnot. Prvá množina zahrnuje tři proměnné Pm, Pr a Rr. Pm specifikuje nejvyšší prioritní hodnotu každého rámce v současné době čekajícího v DTE na přenos. 13
Pr a Rr jsou registry priorit, z nichž každý obsahuje prioritní a rezervační hodnotu AC pole naposledy opakovaného tokenu nebo rámce. Druhá množina hodnot představuje dvě zásobníkové paměti Sr a Sx, které se používají následujícím způsobem. Všechny rámce odeslané DTE po přijetí použitelného tokenu jsou označeny v AC poli stejnou hodnotou priority, jako je současná hodnota priority Pr poskytovaná kruhovou sítí, a dále rezervační hodnotou nula. Po odeslání všech čekajících rámců se stejnou nebo vyšší prioritou, než je současně priorita kruhové sítě, nebo pokud přenos jiného rámce nemůže být ukončen před vyčerpáním doby pro držení tokenu, jednotka MAC vygeneruje nový token s následujícími vlastnostmi: (1) P = Pr a R = větší než Rr a Pm jestliže DTE nemá více čekajících rámců s prioritou (která je uložena v registru Pm) stejnou nebo větší, než je současná priorita služby, kterou poskytuje síť (která je uložena v registru Pr), nebo jestli-že DTE nemá žádost o registraci (která je uložena v registru Rr) větší, než je současná priorita. (2) P = větší než Rr a Pm a R = 0 jestliže DTE má další čekající rámec(e) s prioritou (která je uložena v Pm) větší než současná priorita Pr, nebo když je současný obsah Rr je větší, než současná priorita. Protože v posledním případě DTE efektivně zvyšuje úroveň prioritní služby kruhové sítě, tak se stane odkládací stanicí (stacking station). V této funkci bude v zásobníkové paměti Sr skladovat staré hodnoty prioritní služby kruhové sítě (Pr) a v zásobníkové paměti Sx nové hodnoty prioritní služby kruhové sítě (P). Tyto hodnoty DTE skladuje proto, že zodpovídá za snížení úrovně prioritní služby. 14
Zodpovědnost platí v případě, kdy v žádném bodě kruhové sítě neexistují žádné rámce k odeslání s prioritou rovnou nebo větší než P zásobníkové paměti Sx. Zásobníková paměť je místo jediného registru použita proto, že zásobníková stanice může potřebovat zvýšit prioritní službu kruhové sítě více než jednou ještě před tím, než ji vrátí na nižší úroveň. Přidělování různých hodnot bitům P a R tokenu a zásahy provedené ve dvou zásobníkových pamětech popisuje obr.16(a).
Obr.16 Generování tokenu a modifikace zásobníku: (a) generování tokenu [Sx=0 při prázdném zásobníku]]; (b) modifikace zásobníku 15
Jakmile se jednotka MAC stane částí zásobníkové stanice, tak uplatní na každém přijatém tokenu prioritu zapsanou v zásobníku Sx. Jednotka MAC ověří hodnotu R bitů pole AC, aby mohla rozhodnout, co s úrovní prioritní služby sítě provést: zvýšit, snížit nebo ponechat beze změny. Nový token je potom vyslán s: (1) P = Rp a R = 0 když hodnota R bitů (stávající obsah registru Rr) je větší než Sr. Nová priorita služby kruhové sítě (P) se uloží (PUSH) do Sx a DTE dále plní úkoly odkládací stanice. (2) P = Sr a R = Rr (nezměněno) když hodnota R bitů je menší nebo stejná jako Sr. Obě nejvyšší stávající hodnoty priorit Sx a Sr jsou ze zásobníků vyjmuty (POP) a v případě, že dojde k vyprázdnění obou zásobníků, DTE přestane plnit funkci odkládací stanice. Obě operace popisuje obr.16(b).
Příklad 1 Kruhová síť řízená tokenem byla konfigurována pro provoz se čtyřmi třídami priorit: 0, 2, 4 a 8, kde 8 označuje nejvyšší prioritu. Po skončení období klidu, kdy se během rotace tokenu nerealizoval žádný přenos, ohlásí čtyři stanice následující rámce k odeslání: Stanice 1. 1 rámec s prioritou 2 Stanice 7. 1 rámec s prioritou 2 Stanice 15. 1 rámec s prioritou 4 Stanice 17. 1 rámec s prioritou 4 Za předpokladu, že pořadí stanic v kruhové síti odpovídá jejich číselnému označení, a že Stanice 1 obdrží jako první token s nulovou hodnotou priority a rezervačního pole, odvoďte a v tabulce vyznačte způsoby přenosů každé stanice pro dalších osm rotací tokenu. 16
Zahrňte do tabulky hodnoty priorit a rezervačních polí při generování každého nového tokenu a způsob rotace každého rámce kruhovou sítí. Také zaznamenejte aktivity odkládací stanice. Přenosy každé stanice během 8 rotací tokenu uvádí Tab.1.
Tab.1 Přiklad tvorby priorit v kruhové síti s tokenem 17
Při prvé rotaci tokenu Stanice 1 tento token obsadí a zahájí přenos svého čekajícího rámce. Při této rotaci je rezervační pole rámce zvýšeno nejprve stanicí 7 na hodnotu 2 a potom stanicí 15 na hodnotu 4. Při druhé rotaci Stanice 1 přečte z rámce rezervační pole a rozhodne, že musí uvolnit token s prioritou 4. Protože tato aktivita zvýší prioritu kruhové sítě, tak se tato stanice stane odkládací stanicí. Token potom rotuje a je zachycen stanicí 15. Při této rotaci Stanice 17 také zvýší rezervační pole z 0 na 4. Při třetí rotaci Stanice 15 propustí token s prioritou a rezervačním polem 4. Stanice 17 proto zajistí token a zahájí přenos čekajícího rámce. Při čtvrté rotaci Stanice 7 aktualizuje rezervační pole z 0 na 2 a to způsobí, že token bude uvolněn Stanicí 17 se stejnou prioritou ale s rezervační hodnotou 2. Při páté rotaci, Stanice 1 jako odkládací stanice zjistí, že Rr je větší než Sr a proto sníží prioritu tokenu/kruhové sítě ze 4 na 2 a nižší prioritu uloží do zásobníku. Stanice 7 proto smí odeslat svůj čekající rámec. Při šesté rotaci Stanice 7 odešle token se stejnou prioritou, protože nebyla vyžádána žádná rezervace. Při sedmé rezervaci Stanice 1 zjistí, že rezervační pole tokenu je nižší, než priorita pole a tak zredukuje prioritu na 0 a tím přestane plnit funkci odkládací stanice. Token se tak navrátí do svého počátečního stavu a pokračuje v rotaci do doby, než se vygenerují další rámce.
Řízení kruhové sítě Nejprve jsme se zabývali přenosem rámců a tokenů během normálního provozu kruhové sítě. Ale před zahájením normálního provozu se musí kruhová síť nejdříve sestavit.
18
Jestliže se DTE bude chtít připojit k provozované síti, pak musí nejdříve projít inicializačním procesem, který zajistí, aby nedošlo k narušení normálního provozu. Během normálního provozu musí každé aktivní DTE kruhové sítě trvale monitorovat korektnost provozu a při vzniku chyby znovu zajistit správnou funkci. Souhrnně je taková činnost označována jako řízení sítě. Seznam různých typů rámců spjatých s činností MAC je uveden v obr.17.
Obr.17 Kruhová síť s tokem řízená rámci spjatými s MAC
Inicializace Jestliže se DTE po svém odpojení nebo resetování hodlá připojit ke kruhové síti, tak musí odeslat inicializační posloupnost, aby se ujistila, že žádná další DTEs nepoužívají stejnou adresu a aby informovala následujícího souseda, že se stát (novým) účastníkem sítě. 19
Inicializační procedura začíná přenosem rámce s duplicitní testovací adresou (DAT) MAC rámce DTE a A bity FS pole ve stavu 0. Při příjmu DAT rámce každé aktivní DTE kruhové sítě prověří DA pole a jestliže zjistí že DA pole je shodné s vlastní adresou, tak uvede A bity do stavu 1. Jestli-že se DAT rámec vrátí zpět ke svému původci s A bity ve stavu 1, tak informuje podvrstvu řízení sítě a vrátí se do stavu přemostění (bypass state). Podvrsta řízení sítě potom rozhodne, zda se má stanice znovu pokusit o vstup do sítě. Jestli-že ale A bity zůstanou stále ve stavu 0 při návratu DAT rámce ke svému původci, pak DTE pokračuje v inicializační posloupnosti vysíláním SMP (Standy monitor prezent) MAC rámce. Jestli-že DTE příjme SMP rámec s A a C bity ve stavu 0, tak se bude domnívat, že jej vygeneroval předchozí soused a proto SA (source adres) zaregistruje jako adresu (UNA-upstream neighbors´ address) předchozího souseda. UNA adresa je potřebná pro detekci poruchy a monitorující funkce. Inicializační fáze je potom kompletní.
Záložní monitor (Standby monitor) Po dokončení inicializační posloupnost začne DTE vysílat a přijímat normální rámce a tokeny. Kromě toho DTE uvede stav záložního monitoru do stavu trvalé kontroly správné činnosti kruhové sítě. To se realizuje sledováním průchodu tokenů a speciálního aktivního monitoru (AMP-active monitor prezent) MAC rámců, které jsou periodicky vysílány současným aktivním monitorem při opakování rozhraním kruhové sítě. Jestliže tokeny nebo AMP rámce nelze periodicky detekovat, tak se záložní monitor na čas odpojí (tato funkce se plní dvakrát) a zavede stav s žádostí o token.
20
V tomto stavu DTE trvale vysílá MAC rámce s žádostí o token CT (claim token) a sleduje SA každého CT rámce který obdrží. Každý vyslaný CT rámec kromě SA zdrojové DTE obsahuje poslední uloženou adresu UNA. Bude-li CT rámec přijat s SA, která souhlasí s vlastní adresou DTE a UNA bude souhlasit s uloženou adresou UNA, pak to bude znamenat, že CT rámec úspěšně prošel celou kruhovou sítí. Tím se DTE stane novým aktivním monitorem kruhové sítě. Nebo jestliže CT rámec bude přijat s adresou SA větší, než je vlastní adresa DTE, pak to znamená, že jiná DTE zvítězila v soutěži o získání možnosti stát se novým monitorem. V takovém případě DTE odstoupí ze soutěže a vrátí se do stavu záložního monitoru. Aktivní monitor. Jestli-že DTE v soutěži o získání možnosti stát se novým aktivním monitorem, tak nejprve připojí svoji čekající (latency) vyrovnávací paměť do kruhové sítě a uvolní vlastní hodiny. (Poznamenejme, že v kruhové síti v každé době existuje pouze jeden aktivní monitor). Potom DTE inicializuje přenos uvolněného (purge PRG) MAC rámce, aby se ujistilo, že před inicializací přenosu nového tokenu žádné další tokeny v sítí nekolují. Jakmile DTE obdrží uvolněný rámec (PRG) se stejnou adresu SA, jako je jeho vlastní, tak pozná, že kruhová síť byla úspěšně uvolněna. DTE inicializuje sousední ohlašovací proces oběžníkovým vysláním AMP (active monitor present) MAC rámce. Po malém zpoždění dojde za tímto procesem k přenosu nového řídícího rámce. DTE bezprostředně po zavedení aktivního monitoru ve směru toku dat zjistí, že A bity v rámci AMP jsou ve stavu 0 a tak si přečte UNA (upstream neighborś address) z vnitřku rámce a aktualizuje stávající UNA proměnnou uvedením A a C bity do stavu 1 a rámec se zopakuje. 21
Následující DTEs kruhové sítě zjistí, že A bity nejsou nulové a hned zaznamenají průchod AMP rámce resetováním AMP časovací jednotky. Kromě toho DTE začne postupně po zopakování AMP rámce z aktivního monitoru pokračovat v sousedním ohlašovacím procesu oběžníkovým vysíláním podobného SMP rámce. V pořadí následující DTE ve směru přenosu zjistí, že A bity tohoto rámce jsou ve stavu 0, aktualizuje UNA proměnnou, uvede A a C bity do stavu 1 a zopakuje rámec. Toto DTE pokračuje v procesu oběžníkového vysílaní nového SMP rámce s A bity uvedenými opět do stavu 0. Tato procedura je postupně realizována všemi DTE kruhové sítě a je následně znovu inicializována aktivním monitorem, který vyšle nový AMP rámec ve správném okamžiku. Tímto způsobem každé aktivní DTE kruhové sítě může detekovat takové chyby, jako je chaotické vysílání (jabbering) účastníků sítě (například nepřetržité vysílání tokenu). Absence AMP rámců kolujících kruhovou sítí znamená, že AMP hodiny všech ostatních DTE přestaly fungovat a to vyvolá následnou inicializaci přenosu CT rámců. Bude-li porucha stále trvat, pak všechna DTE spustí poruchovou diagnostickou proceduru známou jako vysílání výstrahy (beaconing).
Vysílání výstrahy. Jestliže dojde k vážné poruše k jaké patří přerušení kabelu kruhové sítě, tak procedura známá jako vysílání výstrahy informuje každé DTE kruhové sítě, že protokol pro předávání tokenu byl dočasně přerušen (do doby, než se místo poruchy lokalizuje a opraví). Oblast poruchy zahrnuje: • DTE nahlašující poruchu představuje zdroj výstrahy • Datový tok k DTE od stanice vysílající výstrahu • Médium kruhové sítě mezi těmito stanicemi 22
Jako příklad může sloužit obr.18(a), který znázorňuje poruchovou oblast přerušení média kruhové sítě mezi DTEs F a G.
Obr.18 Detekce a stanovení příčiny poruchy kruhové sítě (a) zjištění poruchy;(b) rezervní kruhová síť; (c)izolace vadného segmentu;(d)izolace DTE stanice V tomto příkladu stanici ohlašující poruchu představuje G a nejbližšího souseda proti směru přenosu dat F. Normálně se stanice ohlašující poruchu uvede do provozu tehdy, když zdroje hodinových impulzů vázané na procedury AMP nebo přenosu tokenů přestanou fungovat.
23
V takovém stavu se začnou signalizační (BCN - beaconing) dohlížecí rámce trvale vysílat do té doby, než je signalizační rámec přijat, nebo zdroj hodinových impulzů zastaven. V posledním případě je podvrstva řízení sítě informována a přenos se zastaví. Nebo v případě přijmu signalizačního rámce stanicí DTE s adresou SA shodnou s vlastní adresou je porucha objasněna a DTE vyhlásí stav žádosti o token, nebo když je signalizační rámec přijat s odlišnou adresou SA od adresy DTE, tak DTE vyhlásí pohotovostní stav monitoru. Jestliže síť obsahuje pouze jednu kruhovou topologii, pak při poruše jednoho segmentu musí být porucha před obnovou přenosu odstraněna. Kruhová síť, která má ještě druhou rezervní topologii, může použít přenos v opačném směru. Takovou síťovou konfiguraci znázorňuje obr.18(b). V těchto sítích kabelová vazební jednotka TCU (trunk coupling unit) nejen podporuje funkce popsané dříve, ale také může umožnit překlenutí vadného segmentu kruhové sítě. Obr.18(c) znázorňuje způsob překlenutí vadného segmentu kruhové sítě (oblasti poruchy) z obr.18(a). Jestliže se poruchová oblast jednou lokalizuje a nahlásí, pak releové obvody TCU stanic F a G se zaktivují a spolehlivě obnoví kontinuitu kruhové sítě. Jestliže izolace podezřelého segmentu neodstraní poruchu, pak další krok spočívá v kompletní izolaci G stanice podle obr.18(d). Z těchto obrázků plyne, že rezervní kruhová síť nevytvoří přímý spoj k jednotce MAC, ale pouze přemostí sekci kruhové sítě. Pořadí DTEs v obnovené síti zůstane zachováno jako v síti původní. Z popisu vyplývá, že MAC procedury kruhové sítě jsou v porovnání s CSMA/CD komplikované. Nicméně musíme poznamenat, že většinu procedur realizují speciální integrované obvody řadiče jednotky MAC. 24
Jejich provoz je vůči uživateli transparentní. Kromě toho mnoho z řídících procedur kruhové sítě se uplatňuje pouze při výskytu poruchy, takže přetížení (overhead) spojené s jejich implementací je celkem přijatelné.
2.3 Sběrnicová kruhová síť řízená tokenem Třetí typ sítě LAN, který je podporovám normativními dokumenty je sběrnicová topologie řízená tokenem. Deterministický charakter metody řízení přístupu k mediu (MAC) pomocí tokenu a schopnost prioritního přenosu rámců předurčuje tyto sítě pro aplikace ve výrobním průmyslu (pro automatizaci továrních provozů) a v jiných příbuzných oblastech. Za normálních (bezchybných) provozních podmínek se tato síť podobá kruhové síti řízené tokenem. Nicméně metody přístupu k oběma topologiím se liší (sběrnicové vysílání u sběrnice a sekvenční u kruhu), stejně tak se liší i procedury pro řízení logického kruhu při inicializaci a ztrátě tokenu. Abychom se vyhnuli opakování, tak se budeme hlavně věnovat procedurám řízení vázaných na předávání tokenu ve sběrnicových sítích. Různé aspekty provozu a různé typy stavebních bloků zachycuje obr.19. Sběrnicová síť řízená tokenem běžně využívá jako přenosové médium koaxiální kabel buď v širokopásmovém režimu nebo v modifikovaném základním režimu označovaném termínem nosné pásmo (carrierband). Modulace a řídící obvody rozhraní znázorněné v obr.19(a) plní následující funkce: • Kódují vysílaná data (modulují) • Dekódují přijímaná data (demodulují) • Generují hodinové impulzy
25
Obr.19 Principy sběrnicové sítě řízené tokenem: (a)schéma rozhraní DTE;(b)kódování v nosném pásmu; (c)formát rámce Připojení DTE ke koaxiálnímu kabelu je realizováno modulem fyzického rozhraní (PIM). V některých případech je PIM integrován do komunikační desky DTE. Princip přenosu v nosném pásmu uvádí obr.19(b). I když přenos v nosném pásmu (carrierband) je z hlediska využití přenosového pásma kabelu stejný, jako přenos v základním pásmu, tak při přenosu v nosném pásmu jsou data před přenosem modulována koherentním fázovým klíčováním FSK. Z obrázku je patrné, že binární 1 se vyšle jako jedna perioda harmonického signálu s kmitočtem přenosové rychlosti (běžně mezi 1 a 5 Mbps), zatím co binární 0 ve dvou periodách harmonického signálu s kmitočtem dvojnásobku přenosové rychlosti. 26
Je třeba poznamenat, že mezi hranicemi bitových intervalů se neobjevují žádné skokové změny fáze. Proto je modulace označována jako „fázově koherentní“. Ve druhé a třetí přednášce bylo vysvětleno, že veškerý šum pronikající z vnějšku do přenosového média má neomezený počet harmonických složek. Typický signál základního pásma má rovněž neomezený počet harmonických složek, ale naproti tomu signálový průběh nosného pásma (carrierband) má pouze dvě kmitočtové složky. Proto se v přijímači používají filtry propouštějící pouze tyto dva kmitočty, které zároveň efektivně potlačují většinu kmitočtových složek šumu a tím zároveň zvyšují odolnost systému proti rušivému působení šumu. Toto opatření se nedá aplikovat u klasického přenosu v základním pásmu, protože jinak by došlo i k narušení přenášených datových signálů. Formát rámce sběrnicové sítě řízené tokenem je uveden v obr.19(c). Nicméně nedatové bity J a K , které v poli spouštěcího SD omezovače (start delimiter) a závěrného omezovače ED (end delimiter) zajišťují datovou transparenci kruhové sítě, jsou v režimu nosného pásma realizovány párem speciálních nedatových signálů. Základní provoz sběrnicové sítě řízené tokenem znázorňuje obr.20. V této síti existuje jen jediný token a pouze vlastník (possessor) tokenu může vyslat rámec. Všechna DTEs, která mohou inicializovat přenos rámce jsou připojena k logickému kruhu (logical link). Token se fyzicky šíří sběrnicí, ale fakticky po logickém kruhu. Teprve po získání tokenu od vlastníka (nadřezeného souseda logického kruhu) smí toto DTE odeslat jakékoliv čekající rámce až do definovaného maxima. Toto DTE potom předá token sousedu (successor), který následuje ve směru přenosu po logickém kruhu. 27
Obr.20 Princip činnosti sběrnicové sítě řízené tokenem Dříve než popíšeme různé procedury kruhového řízení, tak připomeneme dvě základní vlastnosti sběrnicových sítí. Zaprvé všechna DTE sběrnicové sítě jsou přímo připojena k přenosovému médiu. Takže rámec předaný do média aktivní stanicí DTE je přijat (nebo „slyšen“) ostatními aktivními DTEs sítě. Zadruhé v této síti existuje maximální časový interval, po který DTE musí čekat na odezvu k vyslanému rámci, a mohlo tak rozhodnout, zda byl rámec narušen, nebo zda byla cílové DTE mimo provoz. Tento časový interval je označován jako mezerový (slot) interval (odlišný od časového intervalu sběrnice CSMA/CD) a může být definován následovně: Časový interval = 2 × (doba šíření) + doba zpracování kde doba šíření představuje nejhorší případ šíření signálu mezi všemi vysílači a přijímači sítě a doba zpracování maximální dobu zpracování přijatého rámce a vygenerování odpovědi MAC jednotkou příslušné DTE. 28
K tomuto intervalu vyjádřenému v bitech se přidává časová rezerva a výsledek se zaokrouhluje na celistvý násobek oktetů. Za normálního provozu se token předává od jednoho DTE ke druhému DTE v logickém kruhu formou krátkých (tokenových) rámců. K tomu potřebuje DTE pouze znát adresu nejbližšího souseda v pořadí logického kruhu. Jestli-že příjem tokenu cílovým DTE selže, tak zdrojové DTE použije řadu obnovovacích procedur pro nalezení dalšího následovníka; tyto procedury se velmi komplikují, jestliže zdrojové DTE nedostane žádnou odpověď od nejbližšího souseda. Jiné procedury se týkají inicializace logického kruhu a udržení korektního provozu logického kruhu při zapojování nových nebo odpojování starých DTEs. I když je možné v tokenu vyznačit prioritu jako u kruhové sítě, tak je vhodné nejprve uvažovat logický kruh s jedinou prioritou. Typy MAC rámců používané v různých procedurách řízení logického kruhu s krátkým popisem jejich účelu jsou uvedeny v obr.21.
Obr.21 Používání různých MAC rámců sběrnicové sítě 29
Předávání tokenu DTE smí vyslat jakékoliv čekající rámce až po získání platného (rámce) tokenu. Potom DTE předá token svému známému nástupci. Po odeslání tokenu DTE monitoruje jakoukoliv následnou aktivitu sběrnice, aby se ujistilo, že nástupce je aktivní a že přijal token. Při kladném potvrzení je všechno v pořádku. Ale když DTE nedostane po uplynutí časového intervalu žádnou odpověď, tak musí zahájit nápravu. Jestliže po odeslání tokenu DTE uslyší jenom šum nebo rámec se špatnou FCS posloupností, tak musí ještě čekat alespoň po dobu čtyř časových intervalů. Když ale ani po této době nepřijde žádná odpověď, tak DTE usoudí, že token byl přenosem narušen a proto zopakuje jeho přenos. Jestliže ale během čtyřnásobného čekacího intervalu DTE uslyší správný rámec, tak naopak usoudí, že jeho následník má token. Jestliže ale během tohoto intervalu bude podruhé slyšet šum, tak to DTE vyhodnotí jako odeslání platného rámce svým následníkem a bude přepokládat, že token byl předán. Jestliže ale po zopakování operace s předáváním tokenu následník neodpoví na druhý rámec tokenu, tak DTE bude předpokládat, že následník selhal a proto začne vyhledávat nového následníka. Vysílající stanice nejprve vyšle oběžníkovou zprávu s adresou současného následníka v datovém poli rámce „who-follows-me frame“. Po přijetí rámce tohoto typu každé DTE porovná adresu v datovém poli rámce s adresou svého předchůdce, tedy s adresou DTE, které normálně vyslalo token. DTE, jehož předchůdce bude shodný s následníkem v přijatém rámci, odpoví odesláním vlastní adresy v rámci „set-successor frame“. DTE vlastnící token tak získává nového následníka a přemosťuje tedy vadné DTE. 30
Jestliže vysílající DTE neobdrží odpověď na zprávu „who-follows-me frame“, tak zopakuje rámec podruhé. Jestli-že ani v tomto případě nedostane žádnou odpověď, tak příjme drastičtější opatření odesláním zprávy „solicitsuccessor frame“ s vlastní adresou v DA poli. Tím požádá o odpověď kterékoliv DTE sítě. Jestli-že kterékoliv provozuschopné DTE uslyší tuto výzvu a odpoví, tak se touto procedurou, označenou jako čekání na odezvu „response window“, logický kruh znovu vytvoří. Když ani v tomto případě nepřijde žádná odpověď, jako v případě, kdy všechna ostatní DTEs selžou, nebo když se přeruší přenosové médium, nebo když selže přijímací sekce vlastního DTE (a tedy nebude moci slyšet odpověď(i) ostatních DTEs na vlastní žádosti), tak nastane katastrofální situace. Za těchto okolností DTE bude mlčet, nicméně bude se snažit podle možnosti dále naslouchat.
Okno pro odezvu Tato procedura se opakuje v náhodných časových intervalech a slouží k tomu, aby umožnila novým DTEs účast ve fungujícím logickém kruhu. Okno pro odezvu je časový interval, ve kterém DTE musí čekat na odezvu po přenosu rámce a má tedy stejný význam, jako volný časový úsek sítě (slot time). Každý solicit-succesor frame vyslaný DTE specifikuje zdrojovou adresu SA a cílovou adresu DA; rámec je určen pro odeslání odpovědi tím DTE, které chce být začleněno do logické sítě a má svoji adresu mezi specifikovanými adresami SA a DA. Každé DTE vyšle solicit-succesor frame v náhodných časových intervalech pokaždé, když vlastní token. Jakmile DTE odešle solicit-succesor frame, tak tím vlastně oznámí, že má od tohoto okamžiku otevřené okno pro příjem odezvy.
31
Jestli-že DTE s adresou specifikovanou v solicitsuccesor frame čeká na zařazení do logického kruhu, tak v periodě otevřeného okna odpoví odesilateli solicitsuccesor frame, že se chce stát novým následníkem logického kruhu. Jestliže odesilatel uslyší odezvu, které se říká „set-successor frame“, tak zařadí nové DTE do logického kruhu tím, že mu předá token. Specifikace SA a DA adres se může týkat mnoha DTEs, která chtějí vstoupit do logického kruhu, takže v takovém případě dojde při odesílání odpovědí set-successor frame každým DTE k narušení. Jestliže k tomu dojde, pak vyzývající DTE se musí pokusit o identifikaci jednotlivých respondentů zahájením procedury, která funguje následovně. Při zjištění skutečnosti, že několik DTEs s adresami SA a DA ve specifikované oblasti čeká na zařazení do logického kruhu, odešle žádající DTE konkurenční rozlišovací rámec (resolve-contention frame). Tato procedura pokračuje do té doby, než DTE dostane pozitivní odpověď. Všechna DTEs, která odpověděla na potom dřívější solicit-succesor frame , ale která neobdržela token, si zvolí v rozsahu 0 až 3 šířku okna a v tomto rozsahu začnou naslouchat každé aktivitě na sběrnici. Jestliže DTE uslyší ve zvoleném časovém intervalu na sběrnici přenos, tak odloží svoji žádost a počká na další příležitost začlenit se do logického kruhu (tedy na další otevření okna pro odezvu). Jestli-že tato DTE neuslyší ve zvoleném intervalu žádný přenos, tak musí čekat na možný příjem konkurenčního rozlišovacího rámce (resolve-contention frame). Takže v nejhorším případě bude muset tato stanice čekat na odbavení všech dalších konkurentů.
32
Inicializace Inicializační procedura navazuje na proceduru okna pro odezvu. Každé DTE sítě monitoruje všechny přenosy na sběrnici a kdykoliv zaslechne probíhající přenos, vynuluje neaktivní hodiny (inactivity timer) a předběžně je nastaví. Jestliže DTE ztratí token během normálního provozu, pak se neaktivní hodiny odpojí a DTE zahájí inicializační fázi tím, že odešle rámec s nárokem na token. Několik DTE se může stejně jako dříve současně pokusit odeslat rámec s nárokem na token, nicméně vhodná procedura zajistí, aby se vygeneroval jenom jeden token. Nicméně další popis inicializace vynecháme.
Provoz s prioritami Prioritní mechanizmus se používá nejen v kruhových sítích řízených tokenem, ale i v sítích sběrnicových. V závěru se proto spokojíme jen s příkladem aplikace priorit v logickém kruhu sběrnicové sítě z obr.22.
33