FDDI (FIBER DISTRIBUTED DATA INTERFACE) Az FDDI-t a jövő Etherneténet tekintették. Az FDDI-nak létezik egy továbbfejlesztése, az FDDI-II technológia. Háromfajta átvitel van: szinkron, aszinkron, izokron. Aszinkron átvitelnél periodikusan elküldött adatelemek jóval tűrésen kívüli intervallumban érkeznek meg. Szinkron átvitel esetén a késleltetés-változás egy tűréshatáron belül van, biztosan tudja a vevő, hogy biztosan be fog hozzá érkezni a következő jel x + ∆ időn belül. Az izokron átvitelnél ez a ∆ nagyon kicsi, szinte 0, amennyivel hamarabb érkezik a jel. A rendszer két darab zsetonalapú gyűrűre épül, amely lehetővé teszi, hogy maximum 500 végfelhasználói csomópont 100 km-es hosszú gyűrűre kapcsolva forgalmazzon. Az adatátviteli sebesség 100 Mbps. Normális működés közben csak a két gyűrű közül csak az egyik gyűrű aktív, ez biztosítja az adatátvitelt, míg a másik gyűrű standby üzemmódban van. Abban az esetben, ha a gyűrű mentén szakadás lép fel, a másodlagos gyűrű is aktívvá válik, ezáltal izolálódik a hiba. Az FDDI választott médiuma az üvegszál. Ez nagy sávszélességet, nagy megbízhatóságot és alacsony BER (Bit Error Rate) értéket biztosít. Ez nem más, mint a hibás bitek száma osztva az összes bitek számával. Az FDDI hálózatban az adat keretekben, szekvenciálisan továbbítódik a forrás és a célállomás között (TTP = Timed Token Protocol lehetővé teszi a szinkron ill. az aszinkron forgalmak egymás mellett történő kezelését is. Az aszinkron sávszélesség a gyűrűben létező szinkron forgalmak összege feletti maradék rész. Amikor a csomópont a felső szomszédtól zsetont kap, magánál tartja, és először a szinkron forgalomhoz tartozó kereteit küldi el. Ha ezeket mindet megtette, és marad ideje, akkor hozzákezd az aszinkron forgalmához tartozó keretek továbbításához is. Az az időtartam, amíg a csomópont aszinkron forgalmat küldhet, korlátos, azért, mert a csomópont a zsetont szinkront vagy aszinkron küldés miatt csak korlátos ideig tarthatja magánál. Ennek lejártakor köteles továbbadni a zsetont alsó szomszédjának. Token Ringnél egy zseton egy keret küldését, addig FDDI-nál egy zseton több keret küldését teszi lehetővé. LLC: nem más, mint a kártya meghajtóprogramja. Az alsó közeghozzáférési algoritmus és a fizikai szint együtt képezi a fizikai kártyát. Az FDDI szabvány az alábbi négy dokumentumban van leírva: MAC = Medium Access Control
SMT
PLP (PHY) = Physical Layer Protocol
Station Management
PMD = Physical Medium Dependent
A legalsó réteg, a PMD, ez biztosítja az összes olyan szolgálatot, amely a digitálisan kódolt bitfolyam számára szükséges. A PHY a PMD-re épülve spcifikálja a kódolási, dekódolási, időzítési és adatkeretezési szabályokat. A MAC (közeghozzáférési) algoritmus a zsetontovábbítási mechanizmusra épül, és definiálja a zseton kezelésének folyamatát, valamint a keretküldés és a keretfogadás szabályait. Az SMT a három alréteg működőképességét folyamatosan figyeli, monitorozza. Az FDDI-t eredetileg többmódusú üvegszálra később kifejlesztették az egymódusú interfészt is. Ezután kialakították a sodrott érpáras változatot
Az FDDI topológiája A gyűrűnként maximálisan 500 csomópont egymás után helyezkedik el, a gyűrű hossza maximum 100 km, mivel az FDDI két gyűrűt használ, összesen 1000 csomópont kapcsolódhat az összesen 200 km hosszú optikai szálra. A legkisebb keret a speciális jelentéssel rendelkező zseton, melynek adatszinten jelentése van. Az aktív gyűrűt elsődleges gyűrűnek (primary ring), a normál működés során standby üzemmódú gyűrűt pedig másodlagos gyűrűnek (secondary ring) nevezzük. A BER értéke nagyon nagy adatátviteli sebességnél nem egy túl jó érték. A szimbólum PHY-szinten 4B/5B kódolással átalakul, azaz minden hexa számjegy 5 biten kerül ábrázolásra. QUIET
00000 = csend, nincs fényimpluzus; kábelszakadás vagy kikapcsolt állomások esetén
IDLE
11111 = üres; működik a csomópont, de nem küld adatot
HALT 00100 = megállás; folyamatosan ismétlődő periodikus szinkronizáló jel, frekvenciája 25 MHz, a jelváltási sebesség (125 Mbaud) egyötöde. A gyűrűben nincs kitüntetett szerepű csomópont, ebből következően nincs a gyűrűben órajelgeneráló csomópont sem, azaz a gyűrűben az órajelet a résztvevő csomópontok határozzák meg Minden egyes csomópont rendelkezik saját órajelgenerátorral, amelyet csak a küldő oldalon használ. Az FDDI keret maximális méretét, amely 9000 szimbólum, azaz 4500 bájt. Az FDDI fizikai szinten az NRZI (Non-Return to Zero Inverse) impulzuskódolást használja. Az FDDI közeghozzáférési (MAC) algoritmusa Az FDDI az adatot változó méretű keretekben küldi. Az az időtartam, amíg a csomópont az zsetont magánál tartja, zsetontartási időnek (THT=Token Holding Time) nevezzük. A T_opr (Operative target token Rotation time) egy olyan globális paraméter, amely meghatározza a gyűrű működését. Ezt az értéket minden egyes csomópont ismeri. Egyenletes eloszlást feltételezünk a zseton visszakapásánál. max = 2 ⋅ T_opr . Ez azt jelenti, hogy bármely FDDI-csomópont maximum 2T_opr idő múlva vissza kell, hogy kapja a zsetont. Ha ez nem történik meg, a gyűrűben speciális esemény következik be. Az ED mező jelentése: a keret befejezésének helye. A keretállapot mező legalább 3 speciális jelzőbitből (flag-ből) áll:
error flag (E): a hiba jelzőbitet az a csomópont állítja be, amely az FCS-hibát érzékeli. copy flag (C): ez használható az FDDI-keret küldésének nyugtázására is. address flag (A): érzékeli a fizikai címek ütközését. A lassú gép a keretvezérlő bitek használatával, mégpedig az A bit bebillentésével, és a C bit törlésével jelzi a küldőnek, hogy bár felismerte, hogy a keret neki érkezett, de nem tudta „lenyelni”. Ez a keret visszakerül a forráshoz, ő érzékeli, hogy a címzett nem tudta fogadni a keretet, visszaszabályoz. TRT (Token Rotation Timer) A TRT kezdeti értéke T_opr-rel egyenlő, erről az értékről a számlálót dekrementálja. Abban az esetben, ha a zseton a TRT nullázódása előtt visszajut, azaz az átlagos T_opr idő alatt visszajutott, a zsetont korai zsetonnak nevezzük. Ha a TRT ciklikus számláló lenullázódik a T_opr értékről, akkor összességében több mint T_opr idő eltelt, akkor késői zsetonnak nevezzük. Ha a TRT számláló másodjára is lenullázódik, azaz a zseton kiküldése óta több mint 2 T_opr idő telik el, és még mindig nem érkezett meg a zseton, akkor a gyűrűben nagy hiba következett be, ilyenkor az SMT modul speciális tevékenységbe kezd. (Token Holding Timer). A THT számláló értéke akkor csökken, amikor aszinkron forgalmat küld a csomópont. A THT számlálóban lévő idő megadja a csomópont számára aszinkron forgalom küldés maximális időtartamát, azaz megmutatja, hogy mennyi ideje van még a csomópontnak aszinkron forgalom küldésére. Ha 2 T_opr időn belül nem érkezett vissza a zseton, akkor. Ring Recovery (gyűrűvisszaállítási) módba vált át a gyűrű. A gyűrűvisszaállítási folyamat első lépése, hogy a csomópont folyamatosan Claim Token keretet kezd küldeni (zsetonkövetelés). Ez a zsetonkövetelés egy speciális keret, javasol egy licitértéket a zseton-körbejárási globális paraméterre vonatkozóan. Ha a forráscímében a saját fizikai címét találja, tudja, hogy a gyűrűben senki nem bírálta
felül az adott gyűrűparaméter értéket, azaz az ő javaslata volt a legkisebb, amelyet a többiek is elfogadtak, így megnyerte a licitet. A csomópont, amelyik a licitet megnyerte, értesíti az összes többi csomópontot az így kialakult TRT számlálóban kialakult értékről, ez lesz a T_opr új értéke. A gyűrű kimaradását legelőször érzékelő csomópont Beacon fényeket (irányfényt) kezd küldeni egymás után abból a célból, hogy beazonosítsa a fizikai meghibásodás helyét. Ha a gyűrűben nincs meghibásodás, a csomópont visszakapja saját Beacon kereteit. Ekkor Claim Token kereteket kezd küldeni, követeli a keretet, megállapodnak a T_opr értékében. FDDI koncentrátor: a gyűrű csillaggá válik Ha az FDDI gyűrűben egy második meghibásodás is fellép, akkor a gyűrű két részgyűrűre esik szét, amely részgyűrűk önállóan működőképesek, de a két részgyűrű között nincs kapcsolat. Az FDDI a nagy hibatűrése miatt a mai napig is működő és viszonylag költséges technológia.
IEEE 802.6 – DQDB (DISTRIBUTED QUEUE DUAL BUS) osztott várakozási sor, és kettő darab sín. a két sín ellentétes irányú. mindkettőhöz kapcsolódik minden csomópont, egyik sínen az egyik irányba, másik sínen a másik irányba tudnak küldeni. azonos sávszélességű. Az DQDB az információt slotokban továbbítja a sínen. Amit elmondunk az egyik sínre, az érvényes a másikra is, tehát ha az egyik sín elején van slotgeneráló, akkor a másik sín elején is van. De ez még nem elég, az utolsó csomópont után is van még valami, egy lezáró. A slot nem más, mint egy időszelet. Egy csomópont adatot úgy továbbít, hogy a slotgenerálótól származó üres slotba beleírja A DQDB felépítése:
BUS_A SG G
1
2
3
BE
…
K–1
K
…
BE
N–1
N SG
BUS_B G SG = Slot Generator BE = Bus End Az IEEE 1990-ben szabványosította a DQDB-t, mint egy MAN-átviteli technikát. A szabvány 3-féle típusú forgalomszolgálatot különít el:
CL (ConnectionLess = összeköttetésmentes) szolgálat: állományátvitelt (FTP), távoli bejelentkezést (TELNET) biztosít izokron szolgálat: konstans bitrátájú (CBR = Constant BitRate) forgalom (pl. hang, CBR video). CO (Connection Oriented = összeköttetés-alapú) szolgálat: változó bitrátájú (VBR=Variable BitRate), konstans minőségű videoátvitel a legjellemzőbb, legfontosabb alkalmazási területe. CL szolgálat esetén nincs kapcsolatfelépítés (lásd: Hálózatok tantárgy). A közeghozzáférést egy osztott várakozási sor vezérli. Mivel a két sín sávszélessége megegyezik, így az összátviteli teljesítmény a sínek teljesítményének kétszerese. DQDB esetében az adatátvitelhez használt egység Slot hosszúságú, amelyben szerepelhet adat. Az ATM-mel való kompatibilitás miatt a DQDB slot mérete megegyezik az ATM cella méretével, amely 53 bájt hosszúságú. Ez egy 5 bájtos fejrészből és egy 48 bájtos adatrészből (payload = teher) áll. A DQDB slot felépítése a következő: B U S Y
S T
P S R
RES REQ
ACF
Header
Segment Payload
Payload/Segment
Az ACF (Access Control Field) a slot tartalmára vonatkozó információkat tartalmaz:
BUSY bit (1 bit): megmutatja, hogy a slotban található-e adat vagy sem ST bit (slot type; 1 bit): a slot típusát adja meg. A DQDB kétfajta slottípust különböztet meg: QA (Queue Arbitrated) várakozási sorvezérelt, egy globoális algoritmus alapján kerül továbbításra és PA (Pre-Arbitrated) előzetes kapcsolatfelépítés alapján történő forgalmat továbbít, tipikusan CO esetén. PSR (Previous Slot Read/Recieved; 1 bit): előző slot kiolvasva, fogadva A RES (Reserved; 2 bit) mező további fejlesztés céljából fenntartott, a REQ (Request) 3 bites mező pedig küldési igény jelzésére alkalmazható. Az ACF tehát összesen 1 bájtos, vezérlő információt továbbít. Adott sínen a slot továbbítása közben direkt adat, és az inverzirányú adatküldési kérelem küldése történik. Azaz a 3 bites REQ vezérlőinformáció az ellentétes sínen történő adattovábbítási kérelmet tartalmazza. Minden egyes csomópont rendelkezik adott irányban egy RC (Request Counter) számlálóval. Kis terhelés esetén az DQDB úgy viselkedik, mint egy véletlen hozzáférési átviteltechnika, nagy terhelés esetén pedig Round Robin stratégia szerint működik, azaz minden egyes csomópont azonos sávszélesség szelethez kell, hogy hozzáférjen. A csomópont RQ számlálójának aktualizálása a következőképpen történik: 0
BUS_A –1: if BUSY = 0 RC
+1: if REQ = 1
BUS_B 1 Az RC számláló – ahogyan a neve is mutatja – számlálja a direkt sín szerinti alacsonyabb helyiértékű csomópontoktól érkező kérelmeket, azaz ha kérés érkezik, növeli eggyel a számlálót, és csökkenti eggyel a direkt sín szerinti magasabb helyiérték felől érkező üres slotok esetén. A DQDB csomópontok ezen számlálójukat QA (QueueArbitrated) üzemmódban kezelik, PA esetén ez a számláló nem működik. Annak a csomópont, amely döntést hoz, hogy adatot kell küldenie adott irányba, két fontos dolgot kell tennie ahhoz, hogy a sín mentén osztott várakozási sorba bekerüljön: 1. a küldés irányával ellentétes irányú sínen elküldi a kérelmet 2. az RC értékét át kell, hogy másolja egy másik számlálóba, az ún. CD (Count Down) számlálóba. 0
BUS_A –1: if BUSY = 0 RC COPY CD
+1: if REQ = 1
BUS_B 1 A számlálók inkrementálása, ill. dekrementálása az inverz, ill. a direkt sínen érkező kérelem, ill. üres slot függvényében történik. Adott pillanatban az utolsó sikeres küldése óta a csomópont azt tapasztalja, hogy adott pillanatban tőle alacsonyabb helyiértékű csomópontok részéről l db csomópont kérelme nincs kiszolgálva, ezt az értéket az RC számlálójából tudja. Ez tartalmazza, hogy a csomóponttól kisebb helyiértékű irányban hány csomópont, amely küldeni szeretne vagy hány keretküldési igény van. Kérdés: ekvivalens-e ez utóbbi kettő? Válasz: igen, mert az előbbiekben tárgyaltak szerint egy csomópont egyszerre egy küldési kérelmet küldhet, sikeres küldés után állhat be ismét a várakozási sorba. Ha az RC számláló értéke l, az azt jelenti, hogy ennyi küldési igény létezik ebben a pillanatban, de mivel minden egyes kérést csak egy-egy csomópont fogalmazhatott meg, ezért ugyanennyi a küldésre várakozó csomópontok darabszáma is. Ezt az értéket a saját küldési szándék megfogalmazása pillanatában átmenti a CD számlálóba.
Ezzel beáll a várakozási sorba, mert tőle kisebb helyiértéke l darab csomópont szeretne küldeni, ha ezek mind megkapták a küldési jogosultságukat, és érkezik egy üres slot, akkor küldhet a vizsgált csomópont. Azaz nem kell mást tennie, mint kivárni, amíg az alatta lévő l csomópont mindegyike elküldi saját keretét, várja, hogy érkezzenek az üres slotok, mert minden egyes üres slot hatására egy-egy ki nem elégített igény kielégül, azaz egy-egy alacsonyabb helyiértékű csomópont megtalálja a számítását, és elküldi saját keretét. Igenám, de amint egy csomópont elküldi a keretét, újból küldheti igényét, ezt megint csak nyilván kell tartani, azaz az RC számlálóba folyamatosan számolni kell a várakozási sorban tartózkodás közben beérkező igényeket is. Ha az összes kisebb helyiértékű csomópont mindegyike megkapja a küldési jogosultságot, akkor ezután a legelső üres slot, akkor a vizsgált csomópont beleteheti saját keretét és elküldheti. Miután az RC értékét átmásolta a CD számlálóba, nullázza. A kérések küldésére 3 db REQ bit áll rendelkezésre, azaz prioritások határozhatók meg. A 3 bitet kétféleképpen lehet értelmezni: egy számként, ekkor 7 prioritási szintet lehet elkülöníteni, illetve bitenként, ekkor pedig 3 szintet lehet megkülönböztetni. Minden prioritási szinthez tartoznia kell irányonként egy-egy RC és egy-egy CD számlálónak. Így egy DQDB csomópont az előbbi esetben 28, utóbbiban pedig 12 számlálóval rendelkezik összesen. Kérdés: a 3- vagy a 7-szintű prioritás jobb? A valóságban a DQDB csomópontnál nincsekenek összekötve a bemenetek a kimenetekkel, hanem a csomóponton belül van egy bizonyos késleltetés: Bitenkénti prioritás esetén rögtön 1 bit beérkezése után ki lehet értékelni, hogy van-e benne kérelem, vagy nincs. Ha három bit együttesen mondja meg, hogy milyen prioritású kérelem van benne, akkor 3 bitet kell várni. De nem csak a REQ biteket kell 3 bittel késleltetni, hanem mindent. Minden csomópont 3 bit időnyit késleltet, másik esetben pedig 1 bitnyit. A 3 bit együttes alkalmazása bár 7 szintet különböztet meg, azonban a nagyobb késleltetés miatt lassabb lesz a rendszer, vagyis a legelső és legutolsó csomópont közötti küldés időtartama. Ha a csomópont azt érzékeli, hogy a küldéssel ellentétes irányú sínen beérkező – akár üres, akár foglalt –slot kérelem mezőjében nincs 1-es bit, azaz a mező bitjei csupa 0-ák, beleírhatja saját kérelmét. Meg kell várnia, hogy jöjjön egy ilyen slot. Láttuk azt, hogy az osztott várakozási sor azt jelenti, hogy adott irányban küldési szándék esetén, amikor adott csomópont eldönti, hogy a pufferében lévő első adatelem rendelkezésére áll, és azt el kell küldeni az adott irányultságú sínen, akkor be kell állnia az osztott várakozási sorba. Ez a sínre merőlegesen képzelhető el. Fontos szabály, hogy amint egy csomópontnak sikerült elküldenie egy keretét, akkor további protokoll adatelemek küldéséhez újból be kell állnia a sorba. A sikeres küldés azt jelenti, hogy joga lesz küldeni, érkezik egy üres slot, és beleírja az adatot. (Nyugtázás vagyis visszacsatolás a keret sikeres megérkezéséről nincs). Hasonlóképpen, mint CSMA/CD esetén: amikor sikerült elküldeni a keretet és küldési időben nincs ütközés, akkor sikeres volt a küldés. Ha a csomópont jogosult küldésre és hozzá egy üres slot érkezik (melynek a BUSY bitje 0), akkor beleírja saját adatát. Láttuk azt, hogy a küldő csomópont miután beállt a sorba, tudja, hogy hány üres slotot kell elengednie, és mikor kerül rá a sor. Ezt valahogy számolni kell. Amikor beáll a sorba, valahonnan tudja, hogy mennyien állnak előtte, és számolja, hogy hány üres slot halad el előtte. Sikeres küldés után ha újabb keretet akar küldeni, ismét beáll a sorba. Ahhoz, hogy tudjuk, hogy a küldési igény (= a csomópont; mivel egy csomópont egy igénnyel egy keretet küldhet) a várakozási sorban hanyadik, ismernünk kell az alatta lévő, várakozó csomópontok számát. Ekkor ha ennyi üres slot elhaladt, akkor tudjuk, hogy a tőle alacsonyabb helyiértéken lévő csomópontok mindegyikének igénye kielégítésre kerül, elküldheti saját adatát. Ezután a következő üres slotról tudja, hogy az övé és beleteheti saját keretét. Kérdés: miért nevezzük ezt osztott várakozási sornak? Válasz: mindegyik csomópont sora folyamatosan módosul, és ezek haladnak előre. Tehát adott pillanatban nem csak egy csomópont várakozik, hanem több a sínre merőleges sor van megosztva, mindegyik csomópont a saját várakozási sorrendjét pontosan nyilvántartja. Ehhez minimális információ tárolására van szükség.
Bandwidth Balancing A sávszélesség-kiegyenlítés alapkoncepciója, hogy mindegyik csomópont bizonyos számú sikeres küldés után egy küldési lehetőséget kihagy, azaz a CD számláló –1-re állása után küldi csak el a saját keretét a következő üres slotban. Minden csomópont esetén létezik egy BWB_MODi (sávszélesség-kiegyenlítési modulus) szám, ami az adott csomópont esetéban a sikeres küldések darabszámát mutatja, ami után egy darab küldési lehetőséget kihagy a csomópont. Ha ez a szám kicsi, az adott csomópontra jutó sávszélesség kicsi, ha nagy, azaz ritkán hagy ki küldési
lehetőséget, akkor nincs sávszélesség-kiegyenlítés. Tehát ilyen tulajdonságú függvényre van szükség, az is biztos, hogy a BW sávszélességet kell felosztani. Előfordulhat olyan eset, amikor mindegyik csomópont kihagyja a küldési lehetőséget és egy üres slot végigszalad a sínen, ez sávszélesség-veszteséget jelent. Ha ennek gyakorisága p, akkor a pBW az átvitel vesztesége a sávszélességkiegyenlítés miatt. a veszteség: p =
1 N
∑ BWB _ MOD + 1 i =1
i
Sávszélesség-újrafelhasználás DQDB esetén DQDB-ben az alapalgoritmus szerint a célcsomópont képtelen törölni a BUSY bitet, mivel a célfizikai cím kiértékelésekor az ACF már régen továbbhaladt a sínen, nem lehet utolérni. Viszont a célcsomópont a következő slotban a PSR (Previous Slot Read) mező segítségével jelezni tudja, hogy már kiolvasta az előző slot tartalmát. Szegmensek jönnek létre, amelyben a lokális hálózati forgalmat lokalizáljuk. A plusz funkciójú csomópontok üres slotokat továbbítanak a következő szegmensben található csomópontoknak, ha lokális forgalomról van szó. Azt a csomópontot, amely lehetővé teszi a sávszélesség térbeli újrafelhasználását törlőcsomópontnak nevezzük (erasure node) nevezzük. Javasolt, hogy a törlőcsomópontok darabszáma ne legyen túl sok, és úgy legyen elhelyezve, hogy a lokális forgalmak törlőcsomópontok között helyezkedjenek el. Ugyan sínről van szó, de a csomópontba fizikailag bemegy a jel és 1-2 bites késleltetéssel halad tovább. Viszont ha egy BUSY bitet töröl és ezzel szabaddá válik egy slot, akkor a másik sínen érkező igényt is törölnie kellene, mert ha ezt nem teszi meg, a magasabb helyiértéken lévő csomópontok félre lesznek vezetve, azt hiszik, hogy alul még rengetegen várakoznak, közben nem is, mivel már felszabadított a csomópont jópár slotot.
Törlő csomópont algoritmusok 1. No modification egyszerűen érzékeli a slot tartalmának kiolvasását, törli a slot tartalmát, ezáltal a törlőcsomópont alatt lévő csomópontok a felszabadult slotot hasznosíthatani tudják, ezáltal plusz sávszélességhez jutnak. Hátránya: a törlőcsomópont fölött a törlésről egyetlen egy csomópont sem értesül. 2. Erasure Node Counter (ENC) – törlőcsomópont számláló Minden törlő csomópont rendelkezik egy ENC számlálóval, nyilvántartja, hogy hány darab üres slotot hozott létre. Üres slot létrehozása esetén növeli ezt az ENC számlálót, és ha az ellentétes sínen igény érkezik és a számláló értéke pozitív, törli az igényt és az ENC számláló értékét csökkenti eggyel. Nyilvántartja a direkt sínen tőle alacsonyabb helyiértéken lévő csomópontok számára létrehozott üres slotok számát, és ennek megfelelően szabályozza a fölötte elhelyezkedő csomópontok számára érkező kérelmeket. 3. Negative Request (NR) – negatív kérelem Egy bit felhasználására kerül sor a keretben szereplő Reserved (fenntartott) mezőből. Minden egyes slot, amelyben BUSY bit törlés történik, azaz felszabadításra került egy törlő csomópont által, a törlőcsomópont ezt a NR bitet az ellentétes sínen beállítja abból a célból, hogy a törlőcsomópont felett elhelyezkedő csomópontok érzékeljék a felszabadítás esetét. A DQDB csomópontok érzékelve egy NR bitet az ellentétes sínen, a CD számláló értékét csökkentik eggyel, amennyiben pozitív, ellenkező esetben az RC számláló értékét csökkenti eggyel. A kérelem és negatív-kérelem bitek helyes használatáról ugyanazon csomópont felé nullázza, érvényteleníti egymást. Ugyanis, amikor a törlőcsomópont létrehoz egy újabb üres slotot, abban a pillanatban az ellentétes sínen éppen elhaladó slotban beállítja az NR bit értékét 1-re. Az igény és a negatív igény kioltják egymást, sem igény, sem negatív igény nem jelenik meg a törlőcsomópontok fölött elhelyezkedő csomópontok számára. 4. Modified Negative Request (MNR) – módosított negatív kérelem Ez az NR algoritmusnak egy továbbfejlesztett változata. Ez az algoritmus ugyancsak használja a NR bitet, abból a célból, hogy az ellentétes sínen érkező kérelemfolyamot szabályozza. Ezen túlmenően minden egyes DQDB csomópont működésében szükséges módosítás: bármely csomópont, amely 0 db küldésre várakozó csomópontot tapasztal lentebbről, azaz mind az RC, mind a CD számlálója 0, a negatív sínen beérkező összes keretben nullázza az NR bitet. Ehhez azonban természetes minden egyes csomópontnál aktív hálózati interfészre van szükség, amely nem csak a csomópont forgalmát figyeli, hanem még a várakozási sor működésébe is beleszól. 5. Empty Slot Counter (emp_ctr)
Ez az algoritmus az ENC továbbfejlesztett változata, amely felhasznál egy emp számlálót, amely növekszik egyesével az A sínen érkező minden üres slot hatására, és ha ez pozitív, minden egyes, az ellentétes (B) sínen elhaladó kérelem hatására csökken eggyel. Összehasonlítva az ENC algoritmussal, ahol az EN számláló szigorúan pozitív állapota esetén a B sínen érkező kérelembitek nullázódnak, és az EN számláló minden egyes nullázáskor csökken eggyel. Ezzel szemben az EMP algoritmusnál az ellentétes sínen haladó kérelembit akkor is törlődik, ha az EN bit nulla, de az EMP számláló pozitív. Az EMP számláló bevezetésére azért van szükség, hogy nyilvántartsák a csomópontok azokat az üres slotokat, amelyek kihasználatlanok lesznek az A sínen a törlő csomópontok fölött. Ezt az információt az EN számláló nem tartotta nyilván.
MANHATTAN STREET NETWORK (MS-NET) A lineáris topológiájú MAN technikák, mint amilyen a pl. a DQDB vagy az FDDI, egyszerűek a viszonylag triviális csomópontimplementáció miatt. A lineáris topológiájú technológiák esetében a csomópontok számának növekedésével a teljes hálózat össz. átviteli kapacitása csökken, nem lineárisan növekszik. MAN környezetben a csomópontok nagyon fontos igénye a nagyon-nagy sávszélesség és nagyon-nagy megbízhatóság. A Manhattan Street hálózat egy szabályos háló topológiájú hálózat. Ebben a háló topológiájú rendszerben a routing sokkal bonyolultabb, mint a DQDB és az FDDI esetén. Az MS-Net kétszeresen kapcsolt háló topológia, amelyben az egymás után következő tórusz gyűrűk irányítottsága ellentétes. Két szomszédos csomópont közötti kapcsolat egyirányú, és pl. egy 4×4-es MS-Net hálózat a következőképpen nézhet ki:
1,1
2,1
1,2
2,2
1,3
2,3
1,4
2,4
A rendszerben minden egyes linken szinkron módon haladnak a keretek. Ilyen topológia esetén természetesen lehet feltételezni aszinkron forgalmat is. Az MS-Net hálózat lokálisan implementálható adaptív routingot használ, melynek neve: eltérítéses (deflection) routing A csomópontok felépítése a következő:
3,1
3,2
3,3
3,4
I0
O0
D0 output buffers
4,1
4,2
4,3
4,4
Egy MS-Net csomópont rendelkezik egy 3×3-as kapcsolóval, két késleltető (delay) modullal (D0, D1), ez a szinkronizálást teszi lehetővé; valamint a HOST kapcsolathoz egy bemeneti és egy visszaállítási pufferrel és további két kimeneti pufferrel.
I1
O1
D1 input buffer
reassembly buffer
HOST
A kapcsoló feladata, hogy a bemenetre érkező kereteket a kimenetére továbbítsa. Az MS-Net hálózat alapfilozófiája, hogy a keretet a lehető legrövidebb út felé irányítsa. A kimeneti pufferek csak egy limitált kapacitással rendelkeznek. Konfliktus léphet fel akkor, ha egy időben több különböző bemenetre érkező keretnek ugyanazon a kimeneti interfészen kellene továbbhaladnia. Ennek kezelése lokális torlódásfelszabadító algoritmus segítségével történik: az egyik keret az óhajtott interfészen halad tovább, a másik keret pedig rá merőlegesen, eltérített útvonalon. Azaz a két keret közül az egy keret eltérítést szenved. Látható, hogy ez a mechanizmus lényegesen eltér a Store and Forward (tárol és továbbít) típusú hálózatoktól, a csomag nem tárolja magánál a keretet. Minden egyes host potenciális keretforrás, tehát nem csak az I0 és I1 lehet forrás, hanem még az input pufferből (a HOST-tól) is érkezhet keret. Fontos, hogy mivel három interfésztől érkezhet keret, de csak két kimenő interfész van, prioritást kell meghatározni a host forgalma és a hálózat forgalma között. Azért, hogy a hálózat forgalma a host forgalmától lehetőleg független legyen, a nagyobb prioritást a hálózat forgalma élvezi.
A csomópont az input pufferéből csak akkor küldhet keretet, ha legalább az egyik inputon üres slot érkezik. Így a legrosszabb esetben két keret érkezik és mivel két kimenet van, két keret továbbítható. Az eltérítéses routing mechanizmust a szabályos hálózati topológiáknál javasolják, azaz akkor, ha minden egyes csomópont ugyanannyi bemeneti interfésszel rendelkezik, mint ahány kimeneti interfésszel. Az eltérítéses routing mechanizmus alapötletét, a hot potato algoritmust Baran nevű kutató javasolta. (Átlósan senki sem forgalmazhat, csak sorok és oszlopok mentén.) Analógia: az ember kezébe forró krumplit dobnak, ekkor szomszédjának dobja, amilyen gyorsan csak tudja. Ez az algoritmus hibás routing döntést hoz cserébe azért, hogy a pufferkapacitást csökkentse. A hot potato algoritmusnak a következő szempontrendszere létezik:
Minden egyes slot időtartamban, a csomópont annyi keretet kell, hogy tovább tudjon küldeni, amennyit kap. Nem léphet fel puffertúlcsordulás.(pufferek túlcsordulása -> adatvesztés) Egy csomag adott csomóponthoz eljutva több azonos sikerességű kimenő interfészt is találhat, a céltől sok hopra lévő csomag iránya nem annyira fontos. De vannak olyan csomagok is, amelyek közel vannak az adott csomópontban a célhoz. A csomópontnál a célbaérés fontosságát figyelembe kell venni, ezáltal a csomag szempontjából kevésbé fontos csomópontnál az eltérítés valószínűsége kisebb lesz, mert szinte mindegy, hogy merre halad tovább. Ezek által csökkenteni lehet, az egységnyi időre jutó eltérítések darabszámát. A hálózat késleltetése kicsi legyen. Tehát minél rövidebb idő alatt a forrásból a célba a protokoll adatelem eljusson. Kisméretű pufferek létezése esetén egyszerűbb a csomópont routing algoritmusa, kisebb a hardver-kapacitás igénye, tehát olcsóbb. A lokalizált torlódás automatikus diffundál. Ha egy zóna torlódik ->eltérítések darabszáma nő -> zóna irányába érkező forgalom más irányba halad -> automatikusan megszűnik a torlódás -> forgalom diffundált a hálózat többi részén. Nem létezik egypontos meghibásodás, azaz létezik, de ez nem befolyásolja a működést. A forrás és célcsomópont közötti több lehetséges útvonal miatt. Egy csomag a hálózatban előrehaladása közben találkozhat olyan csomópontokkal, amelyek kimenő interfészei a csomag továbbítása szempontjából indifferensek, közömbös, hogy mely irányba halad tovább. Az ilyen csomópontot a csomagra vonatkozóan don’t care csomópontnak nevezzük. Három fogalmat kell bevezetnünk, melyet szabályos háló típusú hálózatok esetén használni lehet:
a hálózat átmérője (diameter) a hálózat eltérítéses indexe (deflection index) annak valószínűsége, hogy a csomagok don’t care csomópontokkal találkoznak továbbítás közben. Az átmérő az a legkisebb távolság felsőkorlát, amely bármely két csomópont között létezhet. Ha az MS-Net hálózatunk páros szélességű és hosszúságú, azaz 2N × 2M típusú,-> D = N + M + 1. Bármely más esetben: D = N + M . Fontos megjegyezni, hogy a négyzet alakú MS-Net hálózatnál a hálózat átmérője a csomópontok számának négyzetgyökével arányosan nő. Ez azt jelenti, hogy két csomópont közötti hopok számossága viszonylag kicsi. Az éltérítéses index a hopok darabszámának legkisebb felső korlátja, amelyet eltérítés okozhat a csomag haladása közben. Ha a hálózatban növekszik a don’t care csomópontokkal történő találkozás valószínűsége, csökken annak valószínűsége, hogy a csomagokat el kell téríteni. MS-Net hálózatnál a csomópontok számának növelésével a fajlagos összátviteli teljesítmény nő. Ezt a tulajdonságot szivacshatásnak nevezzük.
Az FDDI, a DQDB és az MS-Net hálózatok összehasonlítása Mindhárom rendszer esetében két küldő- és két vevőinterfész található csomópontonként: A
B
FDDI
DQDB
MS-Net
Hibatűrés Mindhárom hálózat esetében a felülről érkező jelet a csomópont újra generálja, egy csomópont meghibásodása jel elvesztéséhez vezethet. Ha egy csomópont meghibásodik és a rendszer érzékeli, lehetőség van bypass alkalmazására, ami a bemenő linket a neki megfelelő kimenő linkhez kapcsolja, ezáltal lehetővé teszi, hogy az összes többi csomópont megkaphassa a csomagokat. A DQDB hálózat rendelkezik egy olyan topólógiával is, amelyben a csomópontok gyűrűben helyezkednek el. A gyűrűben egy csomópont speciális funkciót tölt be: kimenő interfészein slotgeneráló, bemenő interfészein buszlezáró van. Így a DQDB gyűrű egy kétszeres sínként is felfogható. Ha a gyűrű két csomópontja között meghibásodás lép fel, ezt a hibát határoló két csomópont érzékeli, ezt a két funkciót ezek fogják átvenni, ezáltal a gyűrű továbbra is működőképes marad. FDDI hálózat esetében van egy elsődleges (primary) és egy másodlagos (secondary) gyűrű. Az elsődleges gyűrű mindvégig aktív, a másodlagos pedig készenléti állapotban van, szakadás esetén aktivizálódik. Ha szakadás lép fel két csomópont között, akkor a hibát határoló két csomópont érzékeli és egy egyszeresen összekapcsolt gyűrűt alakít ki a portjainak rövidre zárásával. A meghibásodásról a többi csomópont nem értesül. Az MS-Net hálózat esetén nem létezik tartalék link. Ugyanakkor két egymásra merőleges irányvonal mentén kapcsolja össze a csomópontokat. Abban az esetben ha két csomópont között egy meghibásodás lép fel, akkor a szabályos rendszerben ezt a szabálytalanságot valahogyan korrigálni kell.
1,1
1,2
1,3
2,1
2,2
2,3
3,1
3,2
3,3
Az MS-Net hálózat összes csomópontja a következő alapszabályt tartja be: ha egy adott irány szerinti bemenete inaktívvá válik, akkor az adott irányra merőleges kimenetét is inaktívvá teszi. Tehát ha egy kapcsolat meghibásodik, akkor másik három linket letiltunk, ezzel biztosítjuk a rendszer szabályosságát: mindegyik csomópontnak ugyanannyi bemenete lesz, mint ahány kimenete van. Sőt, ezzel a megoldással a hiba környékétől el is távolítják a csomópontok a beérkező csomagokat. Az egypontos meghibásodás a rendszer működésére nincs hatással, nem fog torlódást okozni. Ha egyidejűleg a hálózat több különböző pontján is meghibásodás lép fel:
FDDI
esetén
n+1
meghibásodás
n
részgyűrűre
esést
eredményez;
DQDB esetén n + 1 meghibásodás n szakaszra bomlást eredményez; MS-Net hálózat esetén több hiba egyidejű fellépésekor nem feltétlenül esik részekre a hálózat, tehát az MS-Net többpontos meghibásodás mellett jobb hibatűréssel rendelkezik, a szivacshatás miatt tömeges hiba előfordulása esetén is működőképes maradhat. Teljesítmény
a) egyenletes terhelés esetén Egyenletes hálózati forgalom esetén minden egyes csomópont bemenő interfészén azonos. A külsőcsomópont a célcsomópontokat egymástól függetlenül választja ki, és azonos valószínűséggel küld, minden más csomópont számára. A szivacshatás miatt az MS-Net hálózatban az összátviteli teljesítmény a csomópontok számával növekszik. Ennek az összátviteli teljesítménynek a maximuma akkor érhető el, ha az összes linken torlódik a forgalom. MS-Net hálózat kimeneti linken lévő pufferének méretét kis mértékben növelve az összátviteli teljesítmény lényegesen javul azáltal, hogy az eltérítések valószínűsége csökken. Az MS-Net esetében érdemes kimeneti puffert alkalmazni, de fontos, hogy ennek mérete ne legyen nagy, tipikusan 2-3 protokoll adatelem (PDU) tárolására legyen alkalmas, többre nem, ugyanis nem éri meg, nem növekszik annyival az összátviteli teljesítmény. A DQDB hálózat esetén az összátviteli teljesítmény függ attól, hogy létezik-e térbeli sávszélesség újrahasználat, azaz van-e törlőcsomópont. Ha a célcsomópont nem szabadítja fel a slotot, akkor egy adott pillanatban egyik és másik sínen is csak egyetlen, azaz összesen két adatkeret küldhető. Ha azonban a címzett felszabadítja a slotot, akkor minden egyes csomópont képes újrahasználni, így a DQDB össz-átviteli teljesítménye megnégyzereződik. Az FDDI hálózatnál az összátviteli teljesítmény függ a gyűrűben található csomópontok számától, a gyűrű késleltetési idejétől, a keretküldési időtől és a különböző számlálók értékétől. FDDI esetében a felső korlátot akkor lehet elérni, ha nagyon sok csomópontot kapcsolunk a gyűrűbe vagy a TRT (Target Rotation Time) a gyűrű késleltetési idejénél jóval nagyobb. b) egyenetlen terhelés esetén Érdekeltségi közösségek (Community Interests = CIs): olyan csomópontok halmaza, amelyek egymáshoz közel helyezkednek el, és ezek nagyrészt egymással kommunikálnak. Ha a csomópontokat érdekeltségi közösségekbe soroljuk, minimalizálni kell a közöttük fellépő forgalmat, interferenciát. Az FDDI hálózatnál nincs lehetőség az állomások ilyen jellegű csoportosításra, mivel a gyűrűben csak egyetlen zseton létezik, és az a csomópont forgalmaz, amelyiknél a zseton van. Így nincs lehetőség több csomópont részéről fogalmazásra. Az MS-Net és a DQDB törlő csomóponttal ellátott változatának esetében viszont több csomópont is küldhet ugyanabban az időpontban. Ezért ezek esetében van értelme érdekeltségi zónák kialakításának: Ezekben a zónákban egy-egy szerver és további kliensek helyezhetők el. A kliensek a forgalom nagy részét a saját zónájukban lévő szerverrel bonyolítják, a kliensek között nincs jelentős forgalom FDDI gyakorlatilag független attól, hogy lokális vagy távoli forgalomról van szó. A DQDB összátviteli teljesítménye nagy mértékben függ a forgalom lokalizáltságától. Ha lokális a forgalom, sok slotot szabadítanak fel a törlőcsomópontok. Az MS-Net hálózat összátviteli teljesítménye majdnem független a lokális vagy idegen forgalomtól. Az MS-Net szivacshatása az egész hálózatra, globálisan jellemző.
Az MS-Net hátrányai Az MS-Net hálózat egyik fontos problémája, hogy az eltérítések miatt egy csomag adott csomópontokon többször is áthaladhat, így a korábban elküldött csomagok a hurkok következtében különböző sorrendben érhetnek célba. Ezért szükség van a küldő oldalon sorszámozásra, a vevételi oldalon pedig a megérkező csomagok sorrendhelyes összeállításához újrasorszámozó pufferre.. Emiatt előfodulhat az a legkdevezőtlenebb eset, hogy a pufferméretnyi csomag közül pontosan az első hiányzik, így a teljes pufferméretnyi csomag újraküldésére van szükség. A hurkok kialakulásának megelőzésére különböző megoldásokat javasoltak: 1. A csomópont kimenő interfészén puffert helyezünk el, ezzel csökkentjük az eltérítések valószínűségét. A puffer méretének növelésével ugyan nem növekszik az összátviteli teljesítmény, de csökken az eltérítések valószínűsége, azaz a csomagok konvergenciája jobb lesz. Ha túlságosan megnövelnénk a kimenő puffer méretét, akkor túlságosan nagy lesz a hálózat késleltetése. 2. Az a csomag, amely már egyszer eltérítést szenvedett, annak magasabb prioritása legyen nem don’t care csomópont érintésekor. Azaz a döntés két irányból beérkező, egy irányba haladó csomagok esetén ne csak az alapján történjen, hogy a csomópont melyik csomag szempontjából don’t care és melyikéből nem, hanem aszerint is, hogy hányszor térítették már el. A DQDB és az FDDI első generációs MAN-technikáknál – az előzőekben ismertetettek alapján – az MS-Net hálózat jobb, megbízhatósága és forgalomiránytól való függése előnyösebb. Viszont az MS-Net hátránya továbbá az is, hogy nagy mértékben alapoz a háló szabályosságára.
METARING Alapgondolata, hogy a gyűrű típusú hálózatban sávszélesség növekedés legyen. Ahhoz, hogy az összátviteli teljesítmény növekedjen, a gyűrű különböző szakaszain a forgalomnak egyenlőnek kell lennie. Ezt térbeli sávszélesség-újrahasználatnak nevezzük (lásd: DQDB törlőcsomópont). Ezért nagyon fontos egy olyan mechanizmust kialakítani, amely a pártatlan közeghozzáférést (Fairless Medium Access) tesz lehetővé. Mivel kétirányú gyűrűnk van, és bármely két csomópont között a maximális távolság n/2, az átlagos távolság n/4. Ezáltal a MetaRing hálózatban négyszeres sávszélesség-újrahasználat lép fel. a pártatlan hozzáférés megvalósításához egyetlen jelzőbitet igényel, éppen ezért a MetaRing hálózatban lehetőség van 53 bájt hosszúságú ATM cellák továbbítására is továbbfejlesztésre fenntartott 4 bites GFC – Generic Flow Control nevű mező. Ebben van egy a pártatlan közeghozzáférési algoritmusához szükséges bit. két üzemmód létezik: pufferbeszúrásos (buffer insterting) és slotted. A két üzemmód miatt nincs a hálózat méretének kövekedéséből származó teljesítménycsökkentő hatás, a csomópontok teljes terhelés mellett használhatók. A MetaRinget az IBM kutatólaboratóriumában kísérletezték ki. A gyűrűben lévő fizikai pont-pont kapcsolatok 100 Mbps-esek voltak, így 700 Mbps-os összátviteli teljesítményt értek el a teljes hálózatban.
A MetaRing közeghozzáférési algoritmusa és térbeli sávszélesség újrahasználata A pufferbeszúrásos üzemmód változó méretű keret küldését teszi lehetővé. Slot-os üzemmód esetében rövidebb méretű kereteket, cellákat küldenek a csomópontok. Mindkét üzemmód esetén a célcsomópont a gyűrűből visszaveszi a keretet. a) pufferbeszúrásos üzemmód Ez egy véletlenszerű és elosztott hozzáférési technika. A csomópont vételi oldalán létezik egy beszúrási puffer (insertion buffer), melynek mérete akkora, hogy egy darab legnagyobb méretű keret is elférjen benne. NODE1 outB inB
T
NODE2 outB inB
R
T
IB
R IB
Itt a MetaRing gyűrűnek csak az egyik irányát ábrázoltuk, a másik irányban is ugyanez van. A csomópont (NODE) megkezdheti keretének küldését, ha a beszúrásos puffer (IB) üres. Ha a gyűrű irányából a csomópont saját keretének küldése közben újabb keret érkezik, akkor a gyűrű irányából érkező keret címézettjétől függően
vagy a bemeneti pufferbe (inB) kerül – ha a címzett a csomópont, vagy a beszúrásos pufferbe (IB) kerül ideiglenes tárolásra – ha a címzett nem a csomópont. Utóbbi esetben a csomópont újabb keretet küldeni már nem tud, mert a beszúrásos puffer nem üres, a puffer tartalma a transmit modulon (T) keresztül halad tovább a gyűrűben a következő csomópont irányába. Prioritása van a tranzit forgalomnak. Ha a beszúrásos puffer üres és a receive modul (R) azt érzi, hogy a csomópont nem küld és a beérkező keret tranzit keret, akkor egy rövidzár (cut-through) mechanizmus segítségével az R és a T modult közvetlenül összeköti --> nem késlelteti a keretküldést, minimális késleltetéssel halad tovább Sem a R, sem a T modul nem foglalkozik hibaellenőrzéssel b) slot-os üzemmód Minden egyes slot, slotidő – , melyben egy cella fér el – rögzített darabszámú bitet továbbít. A slot egy speciális egybites BUSY nevű mezővel kezdődik. Ha olyan slot érkezik, melynekben ennek értéke 0, akkor ebbe cellát helyezhet a csomópont, azaz elküdheti saját keretét, ha 1, akkor nem küldhet. Csomópont csak akkor jogosult csomag küldésére, ha bemeneti interfészét üres slotot kap. A cellát a célcsomópont visszaveszi a gyűrűből, ezáltal a továbbított slot 0-ás BUSY bittel halad tovább.
A hardvergenerált vezérlőjelek speciális jelek, melyeket időérzékeny vezérlőfunkciókhoz használják, segítségükkel pártatlan hozzáférés, adatintegráció biztosítható a gyűrűben és megakadályozzák a beszúrásos puffer túlcsordulását.
nagyon rövid kell, hogy legyen; maximum néhány (lehetőleg egy) karakter hosszúságú, támadó jellegű lefoglalást legyen képes végezni, azaz ezt a speciális jelet, akár az adatmező belsejében is továbbítani lehessen anélkül, hogy az adatmező tartalma megsérülne. Ha a keretet nem kell terhelni vezérőinformációval, akkor szerkezete: Header
…
Data
Data
EOP
Data
EOP
(No control signal)
ha pedig igen, akkor: Header
Data
…
Data
Signal
Data
…
(Control signal)
Ehhez biztosítani kell, hogy bizonyos speciális bitminta kódszinten az adatrészben jelenhessen meg. Ezt bitstuffingnak nevezzük. Pártatlan hozzáférés (Fairness Access) a MetaRing hálózatban A globális pártatlan hozzáférési algoritmus (Global Fairness Access = GFA) a gyűrű két különböző körbejárási irányát egymástól független erőforrásként tekinti. Adott irányt osztottan felhasználható erőforrásként kezeli. Cél: az összes csomópont a hálózathoz azonos valószínűséggel férhessen hozzá. A lokális pártatlan hozzáférési algoritmus (Local Fairness Access = LFA) a gyűrű pont-pont kapcsolatait egy-egy önálló hálózati erőforrásként tekinti, így egy irányban zárt gyűrű pont-pont erőforrások halmazaként fogható fel. Mivel az erőforrások száma a két algoritmus esetén jelentősen különbözik, ezért a lokális pártatlan hoz záférést biztosító algoritmus sokkal komplexebb, viszont rugalmasabban hangolható hozzáférést biztosít és lehetővé teszi, hogy nemszimmetrikus forgalmak is jelen lehessenek a gyűrűben. Globális pártatlan hozzáférés céljából a gyűrűt egy hardvergenerált vezérlőjel segítségével szabályozzuk, ez a vezérlőjel az ún. SAT (SATisfied = kielégített) jel. A SAT jel az általa szabályozott adatforgalommal ellentétes irányban halad: NODEi
NODEi-1
NODEi+1
IB
NODEi+2
IB
SAT
NODEi-2
IB IB SAT
SAT
IB
SAT Minden csomópont rendelekezik a saját beszúrásos pufferével, és ebbe a felső szomszédjától érkeznek az adatok, és a felső szomszédtól pedig kapja a SAT jelet. Az alap működési mechanizmus az, hogy a csomópont a SAT jelet késleltetés nélkül továbbítja felfelé, ha kielégített állapotban van, azaz nincs kiéheztetett állapotban. Kiéheztetett állapotban van a csomópont akkor, ha lefelé irányba nem tudta elküldeni a szükséges mennyiségű adatelemét azóta, hogy legutóbb alulról SAT jelet kapott. Egy csomópont két egymás után lentről érkező SAT jel beérkezése közötti időintervallumban kielégített állapotban van, ha legkevesebb l db adatelemet el tudott küldeni lefelé, vagy kimenő puffere üres. Ha a csomópont nincs kielégített állapotban, a SAT jelet magánál tartja mindaddig, amíg kielégített állapotba kerül, és ezután tovább adja a SAT jelet felfelé. Miután a csomópont a SAT jelet továbbadta felfelé, maximum k darab adatelemet küldhet el a SAT jel következő beérkezéséig ( k ≥ l ). A k = l esetén szimmetrikus esetről beszélünk, ekkor a csomópont mindig annyit küld el, amennyit elküldhet. Ha nem létezne felső korlát, akkor előfordulhatna, hogy egy csomópont túlságosan leterhelhetné a hálózatot abban az esetben, ha valamilyen hiba folytán nem kapná meg a SAT jelet. a) pufferbeszúrásos üzemmód esetében
A globális pártatlan hozzáférési algoritumus használ egy Count nevű számlálót, amelyben minden egyes csomópont számolja az általa elküldött adatelemek számát. Az algoritmusnak két része van:
Send Packet algoritmus-rész
A csomópont a nemüres kimeneti pufferéből keretet küldhet, ha az alábbi két feltétel egyidejűleg teljesül:
a csomópont még nem küldött maximális számú keretet, azaz Count < k , a beszúrásos puffer üres, azaz IB = ∅ . Ha a csomópont elküldte a keretet, akkor a Count értékét növeli az elküldött adatmennyiség hosszával. Forward SAT algoritmus-rész
Miután a csomópont SAT jelet kap, ezt fölfelé továbbadja, ha a következő feltételek közül legalább az egyik feltétel teljesül:
a csomópont már elküldte a küldeni kívánt számú keretet, azaz Count ≥ l , a kimeneti puffer üres, azaz outB = ∅ . A csomópont a SAT jelet magánál tartja, ha a Count kisebb, mint l és a kimeneti puffer nem üres. Mindezt addig teszi, amíg a Count értéke eléri az l-et. Ha ez idő alatt egy második SAT is beérkezik fentről, akkor a második SATot törli. Miután a SAT jelet a csomópont fölfelé továbbadta, a Count számlálóját nullázza. b) slot-os üzemmód esetében
Ebben az esetben a globális hozzáférési algoritmushoz egyetlen bit tartozik, minden egyes slot egy bitje, a SAT bit. Ha egy csomópont a fölötte elhelyezkedő csomópontnak SAT jelet kíván küldeni, akkor ezt a fenntartott mezőbitet 1re állítja, ellenkező esetben 0. A MetaRing hálózat esetén fontos a különböző típusú (szinkron és aszinkron) forgalmak integrációja. Az aszinkron forgalom nem feltétlenül rendelkezik valós idejű paraméterekkel, mivel csak a maradék sávszélességet használja fel. Ha viszont a csatorna sávszélessége lehetővé teszi, akkor valós idejű adat küldésére is van mód, de ez már kicsit bonyolultabb dolog. Újabb hardvergenerált vezérlőjelekre van szükség: ASYNC–EN (GR), ASYNC–EN (YL), ASYNC–EN (RD); (Async-Enabled green, yellow, red) A MetaRing hálózatban a szinkron és az aszinkron forgalom számára lehetőséget kell biztosítani, természetesen szinkron forgalom számára bármikor, pontosabban akkor, amikor arra jogosult. Ehhez kapcsolatfelépítésre és kapcsolat lebontására is szükség van, ha nem történik meg a kapcsolat-felépítés, az adatátvitel nem kezdődhet meg. Aszinkron forgalom esetében nincs kapcsolatfelépítés, hanem az a csomag kerül továbbításra, amelyik sikerül. Valamint a szinkron forgalmak is előzetesen be kell, hogy jelentsék az igényüket. Az aszinkron forgalmakat kell szabályozni a szinkron forgalmakkal szemben. Ez a fenti vezérlőjelekkel történik, ezek a jelek nincsenek csomaghoz kötve, a gyűrűben maximális sebességgel keringenek. Szabályok:
Szinkronforgalmat egy kapcsolatfelépítési (setup) fázis kell, hogy megelőzzön. Minden egyes csomópont két várakozási sorral rendelkezik, egyikben a szinkron, másikban az aszinkron keretek tárolódnak. Amikor egy csomópont közeghozzáférést végez, akkor a szinkron forgalom mindig elsőbbséget élvez az aszinkronhoz képest. A fel nem használt sávszélesség aszinkron küldésre használható. A csomópont szinkron várakozási sorából az aszinkron sor állapotától függetlenül küldhet, ha a beszúrásos puffer üres, vagy a R modul felől nem érkezik keret. Az a csomópont, amely magánál tartja a SAT jelet, mert nem kielégített állapotban van, először a szinkron sorának tartalmát küldi, és csak ezután küldi az aszinkron kvótának megfelelő aszinkron adatennyiséget, majd továbbadja a SAT jelet. Ha a gyűrűben a SAT jel elvész, a szinkron forgalom nem áll le, csak az aszinkron forgalom, mindaddig, amíg egy visszaállítási mechanizmus újra elő nem állítja a SAT jelet A piros jelet minden csomópont minimális késleltetéssel, ill. gyakorlatilag késleltetés nélkül továbbküldi. Ez megtiltja minden csomópont számára az aszinkron küldési lehetőséget. Az aszinkron forgalom csak akkor továbbítódhat a gyűrűben, ha a zöld jel kering a gyűrűben. Az a csomópont, amely szinkron forgalmat leghamarabb kell, hogy küldjön, átállítja a jelet zöldről sárgára, majd sárgáról pirosra, majd a szinkron forgalmának lebonyolítása
után továbbadja a piros jelet, amelynek ha szinkron küldési igénye van, elküldi, majd továbbadja. Egy teljes kör megtétele után a zöldet sárgára, a sárgát pirosra alakító csomóponthoz visszaér a piros jel, ez fogja visszaállítani zöldre.
Szinkronforgalom számára szükséges erőforrás/sávszélesség lefoglalása Ez a lefoglalási mechanizmus osztott formában működik és lehetővé teszi, hogy a gyűrű mentén elhelyezkedő csomópontok szinkronfogalmának lebonyolításához szükséges erőforrásigény lefoglalásra kerüljön. Legyen Tc az a periodikus intervallum, amely alatt a szinkron adatmennyiséget el kell küldeni, ez valahány bájt/sec (bit/sec). A fizikai csatorna sávszélessége (BW) is adott természetesen. A protokoll adatelem (PDU) mérete, hossza p bit. Ekkor a Tc idő alatt továbbítandó PDU-k száma c:
c=
Tc BW . = Tc p / BW p
ρ az az arányszám, ami megadja a szinkron PDU-k arányát, azaz 0 ≤ ρ < 1 , és ρc a szinkron protokoll adatelemek száma. Ha a ρ értéke 0, ez azt jelenti, hogy nincs szinkron forgalom, 1 viszont nem lehet, mert az azt jelenteni, hogy 100%-ig le van terhelve a rendszer. Ekkor már a vezérlőjelek sem mennek át. Két csomópont közötti szinkron forgalomhoz kapcsolatfelépítésre van szükség, ezt a kapcsolatfelépítést a forráscsomópont kezdeményezi:
A forráscsomópont a szinkronforgalom ismeretében eldönti, hogy hány PDU-t kíván küldeni. Legyen ennek a kapcsolatnak az időegységenkénti szinkron adatmennyisége u. A forráscsomópont eldönti az irányt, eldönti a célcsomópont elhelyezkedésének függvényében, hogy melyik irányba, melyik gyűrűn kell továbbítani. A kiválasztott irányba egy kapcsolatfelépítési kérelmet küld u szinkron adatmennyiségre vonatkozóan: Request(u). Ezt megkapja az összes, az adott útvonalon elhelyezkedő csomópont, beleértve a célcsomópontot. Az útvonal mentén elhelyezkedő összes csomópont elemzi, hogy képes-e ezt az adott mennyiségű szinkron adattöbbletet úgy továbbítani, hogy a már előzetesen lefoglalt egyéb szinkron csatornák ne torlódjanak. Minden egyes csomópont rendelkezik egy Reserved Counter (RC) lokális számlálóval, amely megmutatja az adott csomóponton, adott irányba áthatladó szinkron adatmennyiséget. Egy újabb igény esetén az RC megnövekszik uval. Az új RC érték összehasonlításra kerül a ρc értékkel (a gyűrűben szinkron forgalom számára fenntartott sávszélességet számláló erőforrás mennyiséggel). Ha az RC számláló u-val növelt értéke nagyobb, mint a ρc, negatív nyugtát küld a forráscsomópontnak, ha pedig kisebb vagy egyenlő, akkor pozitív nyugtát küld. Minden egyes csomópont döntést hoz és nyugtát küld u-ra: Acknowledgement(u). Ez a válasz vagy pozitív vagy negatív. Ha forrás- és a célcsomópont között s csomópont van, akkor a forráscsomóponthoz s+1 nyugta érkezik vissza. Ha az összes nyugta pozitív, akkor a forráscsomópont tudomásul veszi a kapcsolatfelépítési kérelem sikerességét, és megfelelő pillanatban küldhet a kérésnek megfelelő mennyiségű szinkron adatot. Ha legkevesebb egy negatív nyugtát kap, az útvonal mentén nem lehetséges az újabb kapcsolat igény, csak úgy, ha az előzetesen lefoglalt forgalmak torlódnának. Ha a kérés sikertelen, akkor elküld egy Request(–u) kérelmet az előbb kiválasztott irányba, erre a próbált úton az összes csomópont – beleértve a célcsomópontot is – az ideiglenesen lefoglalt (u-val növelt számláló értékét) erőforrást felszabadítja annak érdekében, hogy a valóságnak megfelelő értéket mutassák az RC számlálók. A ρ értéke adott irány szerint globális paraméter, a c értéke fix a sávszélesség függvényében, és minden egyes forráscsomópont a szinkron forgalmának mennyiségét önállóan dönti el.
A MetaRing hálózat hibatűrő tulajdonságai Ha a gyűrű egy ponton meghibásodik (mindkét gyűrű elszakad), a MetaRing egy szegmenssé alakul át; lesz egy balról-jobbra és egy jobbról-balra irány anélkül, hogy a csomópontok lokális funkciója módosulna. Az A csomópont érzékeli, hogy szakadás történt, és a szegmens valamelyik végén van, akkor a beérkező SAT jel hatására a kimenő linken generál egy hardvervezérelt jelet, legyen ez SAT´. Ha egy csomópont fentről SAT´ jelet kap, – függetlenül kielégítettségétől – továbbküldi azt. Ezáltal a SAT´ jel a zöld vagy sárga sebességével azonos módon a lehető leggyorsabban halad. Ha egy csomópont szegmens végén található és SAT´ jelet kap a bemeneti interfészén, akkor késleltetés nélkül átalakítja SAT jellé és az alapalgoritmus szerint továbbítja. Most csak az A-tól B irányába tartó szegmensről beszéltünk, hasonlóképpen működik a másik irányban is.
A gyűrű virtuális zárása az adatforgalommal megegyező irányban elküldött SAT´ jel elküldésével történik, amely a lehető leggyorsabban eljut a szegmens végére, ezáltal a gyűrű zárása mindkét irányban megtörténik, a gyűrű úgy működik tovább, mintha mi sem történt volna. Hasonló módon az ASYNC-EN (RD), ASYNC-EN (YL) és ASYNC-EN (GR) jeleket is ASYNC-EN (RD)´, ASYNC-EN (YL)´ és ASYNC-EN (GR)´ jelekként továbbítjuk. Ahhoz, hogy a szegmens mentén véletlenül se következhessen be a ´-s jelek elszaporodása, ezzel jelentős sávszélességveszteség, minden egyes csomópont figyeli a SAT és a SAT´ jeleket. Ha két egyforma jel érkezik egymás után, a másodikat törölni kell.
A MetaRing egyesíti a LAN átviteltechnikák alapvető funkcionalitását: alacsony terhelésnél véletlen hozzáférési algoritmust használ (mint az Ethernet és a DQDB) egyetlen csomópont maximális mértékben képes terhelni a gyűrűt (mint Token Ring és DQDB esetén) pártatlan közeghozzáférést biztosít, és lehetőség van aszinkron forgalmak prioritási szintjeinek kialakítására (mint a Token Ring esetén) lehetővé teszi a szinkron és az aszinkron forgalmak integrációját (mint az FDDI2, de itt a pártatlan hozzáférési algoritmust használjuk) lehetővé teszi a változó méretű keretek küldését is a pufferbeszúrásos üzemmód segítségével implementációja nem igényel újabb hardvert az FDDI-hoz képest, ugyanakkor mivel a másodlagos gyűrű is folyamatosan működik, jobb és megbízhatóbb teljesítményt mutat négyszeres összátviteli teljesítményt biztosít, mint a kétzsetonos gyűrűk METANET LAN/MAN architektúra, melynek topológiája tetszőleges. Bármely csomópont aszinkron módon küldhet burst-ös jelleggel anélkül, hogy erőforrást foglalna le. A hálózatelérés és az adatfolyam-vezérlés a következő tulajdonságokkal rendelkezik: nincs cella-, csomagvesztés torlódás miatt; pártatlan hozzáférés a hálózathoz; nem alakul ki holtpont; dinamikus önrouting érvényesül; az üzenetszórás (broadcast) visszacsatolásos. Minden csomópont linkenként egy-egy pufferrel rendelkezik (mint a pufferbeszúrásos gyűrűben). A dinamikus önrouting az eltérítéses routing egy speciális változata: a csomópont a lokális forgalom függvényében, online módon hoz útvonalválasztási döntéseket. A MetaNet routing egy globális körbejárási irányt definiál → az elküldött protokoll adatelem garantáltan célbajut. A MetaNet architektúra két alrendszert különböztet meg: aszinkron alrendszer: burst-ös forgalmat továbbít; szinkron alrendszer: periodikus, valós idejű forgalmat továbbít.
Aszinkron alrendszer Hagyományosan a LAN technológiák tervezése egyszerű lineáris topológiákra épül (sín, busz), és elsősorban osztott terjedési közeget feltételez, amelyben broadcast protokollok rendelkezésre állnak, azaz minden egyes csomópont képes érzékelni más csomópontok forgalmát, ezek ismeretében a közeghozzáférés és a routing és az adatfolyamvezérlés viszonylag egyszerű funkciók. A LAN technikák hatékonyságnövelésének első lehetséges módja a broadcast küldés jelleget térbeli sávszélesség újrafelhasználat jellegűre cserélése. Ezálzal a célcsomópont a közegből visszaveheti a neki címzett keretet, hogy ugyanabban a pillanatban több forrás is küldhessen. A MetaNet-et egy általános topológiájú pufferbeszúrásos architektúrának lehet tekinteni. Jelölje D a hálózat átmérőjét (diameter) és n a csomópontok számát (number of nodes). Ekkor az összátviteli teljesítmény a különböző LAN technológiák esetén a következőképpen alakul: Token Ring
Meta Ring
MetaNet
Throughput n (frame/slot) D A TokenRing technológiánál minden csomópontnak minden slotidőben egyetlen keret küldésére van lehetősége. A MetaRing egyenletes terhelés esetén négy keret küldésére jogosult. A MetaNet összátviteli teljesítménye egészen az n/D értékig nőhet. Egy hálózat átmérője a csomópontok számának logaritmusával arányos, azaz D = O(log n) , így az 1
4
n/D növekvő függvény. Tehát MetaNet hálózat esetén a csomópontok számának növekedésével a teljes hálózat összátviteli teljesítménye nő, azaz minél több csomópontot kapcsolunk a hálózatba, annál nagyobb lesz az összátviteli teljesítmény, a szivacshatás annál jobban érvényesül. Egy másik kérdés a lineáris topológiák esetén a szabályos többdimenziós lineáris topológiák kialakítási lehetősége. A meghibásodás szempontjából, elmondható, hogy mivel az adattovábbítás közeghozzáférési mechanizmusa nagyon nagy mértékben szabályosságra épít, ezért a meghibásodás környezetében potenciális torlódási pont alakulhat ki. Ez a hálózat adott régiójában az átviteli teljesítmény csökkenéséhez vezethet. Következésképpen a szabályos topológiák érzékenyek a meghibásodásra. A gyakorlatban viszont olyan hálózati megoldásokra van szükség, amelyeknek egy vagy több egyidejű hibaforrás megjelenése nem, vagy csak nagyon kis mértékben befolyásolja a működést. MetaNet esetén a routing az eltérítéses routing egy változata, dinamikusan online útválasztási döntéseket hoz az adott csomóponton áthaladó forgalom mértékétől függően. Az eltérítéses routing tipikusan minimalizálja a köztes pufferkapacitást, ugyanakkor a torlódást jobban elviseli, nem történik adatvesztés torlódás miatt. A MetaNet hálózatok topológiája tetszőleges, és minden link full-duplex. Minden egyes csomópont rendelkezik egy I/O adapterrel, melynek több full-duplex linkje van. Minden egyes link fogadó oldalán található egy link buffer (LB), host interface melynek mérete akkora, hogy legkevesebb egy maximális méretű keret elférjen benne. A hálózati interfész tartalmaz egy switchet (SW), amely képes a k+1 input output db linken adatfogadásra, ill. buffer buffer adatküldésre, ahol k a külső kapcsolatok darabszáma, a +1 kapcsolat pedig a host irányába. A switch lehetséges tevékenységei: LB egy bemenő link tartalmát egy kimenő linken továbbítja, SW egy bemenő link tartalmát a HOST irányába küldi, LB a HOST tartalmát egy kimenő link irányába küldi.
I/O adapter Amikor a HOST küldeni akar, a kimeneti pufferébe helyezi el az (network adapter) adott adatelemet és döntést hoz arra vonatkozóan, hogy a kimenő linkek közül melyiken kell továbbítani. Ha a kiválasztott link szabad, akkor a kimeneti puffer tartalma a switchen keresztül távozik. A switch aszinkron működésének szabályai: A csomagtovábbítás a switchen keresztül csak üres linken keresztül történhet. Egy adott időpontban egy kimenő linken csak egy darab csomag továbbítható. Ez származhat egy bemenő linkről vagy a HOST kimenő pufferéből. Egy üres kimeneti linken távozó csomag továbbítódhat a switchen keresztül már akkor is, mielőtt a csomag teljes tartalma az LB pufferbe megérkezett volna, azaz lehetőség van a bemeneti és kimeneti linkek gyors összekapcsolására. Lehetőség van egy időpillanatban a switchen keresztül több csomag küldésére is: a) több bemenő link irányából a HOST-hoz b) a HOST-tól több kimenő link irányába c) egy bemenő linktől több üres kimenő link irányába: multicast (többesküldés), broadcast (üzenetszórás) Az a switch, amely ezen funkciók elvégzésére képes, lehet pl. crossbar. LB
Gyűrű beágyazása tetszőleges topológiába A MetaNet hálózat fizikai kapcsolatai két kategóriába sorolhatók: gyűrűkapcsolat (ring link), fonállink (thread link). A gyűrűkapcsolatok a beágyazott gyűrű részét képezik, míg a fonállinkek nem vesznek részt, és az összes többi, a hálózatban lévő linket képviseli. Egy vagy több virtuális beágyazott gyűrű építhető a hálózatban a következő szabályok betartása mellett: Legkevesebb 1 db virtuális beágyazott gyűrű globális kell, hogy legyen, azaz minden csomópontot legalább egyszer kell, hogy érintsen, hogy ezen globális gyűrű mentén történő adattovábbítás bármely forrásból bármely célba sikeres legyen. Egy adott full-duplex link mindkét irányban vagy gyűrűlink vagy fonállink. (Hogy holtpont ne alakulhasson ki) Egy linknek adott irányú kapcsolata csak egyetlen egyszer vehet részt a gyűrűben, hogy a beágyazott gyűrű hurokmentes legyen. (A hurkok torlódáshoz és adatvesztéshez vezethetnének.) Ezen három szabály betartása mellett bármely topológia esetén létezik legalább egy globális beágyazott gyűrű, mégpedig a hálózathoz készített feszítőfa köré rajzolt zárt görbe.
A beágyazott gyűrű kapcsolatait virtuális azonosítokkal jelöljük. A virtuális kapcsolatok azonosítója UNi. Ezek növekvő index szerint a gyűrű körbejárási iránya mentén UN0-ától UNn–1-ig haladnak, ahol n a csomópontok száma. (Esetünkben n értéke 16.) A hálózatban kétfajta címet definiálunk: fizikai címet és virtuális címet. Minden csomópont rendelkezik – jelen esetben az ábécé nagybetűivel jelzett – fizikai azonosítóval és létezik egy vagy több virtuális azonosítóval is. A fonállink a következőképpen értelmezhető: két fizikai csomópontot köt össze akkor, ha a beágyazott gyűrű mentén történő haladás szerint ezen két csomópont közötti útvonal hosszabb, mint a gyűrűben. (Ha ugyanakkora lenne, akkor már gyűrűlinknek neveznénk.)
Konvergenciarouting és közvetlen körbejárási irány Fontos kritériuma a MetaNet hálózatnak, hogy létezzen egy globális körbejárási irány, amely lehetővé teszi, hogy a MetaNet hálózatban az eltérítéses routing működhessen. Ennek segítségével bármely csomag célba jut, ugyanakkor bármely csomag bármely fizikai link adott irányú összeköttetésén maximum egyszer haladhat át. Ebből következően a gyűrű mentén való haladás közben a csomag felülről korlátos hopszám után és késleltetés mellett garantáltan célbajut. Tehát a hálózat késleltetése tervezhető. MetaNet csomópontnál a routing döntést a virtuális csomópontok közötti távolságok határozzák meg. Az u és a v virtuális csomópontok közötti távolság: DIST (u , v) =& v − u (mod m) , ahol m a virtuális csomópontok darabszáma. Megfigyelhető, hogy a logikai csomópontok távolsága nem szimmetrikus, azaz DIST (u , v) ≠ DIST (v, u ) Két fizikai csomópont közötti távolság az adott fizikai csomópontokon lévő logikai csomópontok közötti távolságok minimuma: DIST (U ,V ) =& min {v − u (mod m)} . v∈V , u ∈U
Bármely csomag a beágyazott gyűrű mentén továbbítható úgy, hogy garantáltan célba jusson. A hopok számának csökkentésére két megoldás létezik:
rövidzár (short-cut): logikai csomóponthoz tartozó fizikai csomópont másik logikai csomópontjára kapcsol át. Ehhez nincs szükség külső linkre, csomóponton belül történik az átkapcsolás. ugrás (jump): ugrik a célcsomóponthoz közelebb eső csomóponton át felhasználva egy fonállinket. Broadcast protokoll működése MetaNet hálózatban Broadcastra azért van szükség, mert ezáltal a hálózatban lévő összes csomópont szinkronizál egy broadcastot küldő csomópont eseményére. Mivel ez nem osztott közeg, külön algoritmusra van szükség, hogy bármely csomópont tudjon az összes többi csomópontnak üzenetet küldeni. A broadcast protokoll algoritmusa 1 forrás küldi az üzenetet, amely duplikálható vagy short-cut vagy jump megoldásokkal, ezáltal a hálózatban gyorsabban terjed. Egy broadcastnak a következő feltételeket kell teljesítenie: Minden egyes csomópont a beágyazott gyűrű mentén legkevesebb egyszer meg kell, hogy kapja a broadcastot, Broadcast üzenetet minden egyes csomópontnál le kell másolni, be kell másolni a HOST-ba, függetlenül attól, hogy hányszor érkezik meg A beágyazott gyűrű virtuális csomópontjai csak egyetlen egyszer kapják meg a broadcastot, így minden fizikai csomópont maximálisan k-szor. Amikor a hálózat belülről nincs túlterhelve, a broadcast minden csomóponthoz való eljutásának késleltetési ideje a hálózat átmérőjével, azaz log n-nel arányos, azaz alacsony terhelés esetén a broadcast késleltetési ideje tervezhető. A broadcast ellenőrző csomópont egy PBRD csomagot állít elő, melybe beleírja a forrás és a cél virtuális címét. A forrás virtuális cím megadja azt a pontot, ahol a csomag felkerül a virtuális gyűrűre, a cél virtuális cím pedig azt a pontot, ahol a hálózatban vissza kell venni, meg kell szüntetni. Köztes csomópontokon a broadcast csomag címinformációja módosul. A broadcast üzenet minden csomópontnál a lehető legtöbb példányban duplikálódik. A duplikációt két módszer teszi lehetővé: másik logikai csomóponthoz fizikai csomóponton belül (short-cut) vagy fonállinken keresztüli ugrás (jump) ahhoz a csomóponthoz, amely közelebb van a cél logikai csomóponthoz. Mindkét esetben egy csomag folytatja útját, mintha mi sem történt volna, a másik csomag pedig rövidített útvonalon halad tovább.
A broadcast algoritmus három funkciót tesz szükségessé: Annak meghatározása, hogy adott csomópont mikor veheti vissza a broadcast üzenetet. Minden egyes broadcast üzenet egyszer érkezik meg a csomóponthoz, és pedig akkor, amikor a virtuális gyűrű mentén a lehető legközelebb helyezkedik el a virtuális forráshoz. A broadcast csomag fejrészének módosítása jól meghatározott szabály szerint történik, duplikáció után a beágyazott gyűrű mentén haladó példány címmezője módosul, míg az a csomag, amely duplikáció során jött létre, módosulás nélkül halad tovább. Annak meghatározása, hogy mikor és hogyan kell duplikálni a csomagot. A csomag először egy olyan üres virtuális csomópontnál duplikálódik, amely a célhoz közelebb van. Ilyenkor a célcím megváltozik a duplikált csomagnál, az eredetinél módosulatlanul marad.
Pártatlan hozzáférési algoritmus A pártatlan hozzáférési algoritmus a feszítőfában dolgozik, és lehetővé teszi a csomópontok számára az egyenrangú közeghozzáférést. Ennek eredménye ekvivalens a MetaRing hálózat pártatlan hozzáférési algoritmusának eredményével abban a megközelítésben, hogy a globális ciklus minden egyes fordulója alkalmával, minden egyes csomópont az előre definiált mennyiségű adatának küldéséhez szerez jogot. MetaRing esetében ezt a szabályozást SAT jel végezte. A MetaNet hálózat pártatlan hozzáférési algoritmusának két része van. Minden egyes csomópont két állapot valamelyikében lehet: P (parent=szülő) vagy C (child=gyerek). Az algoritmus két fázisa alternáló módon követi egymást: broadcast fázis és a merge fázis. A broadcast fázis A broadcast fázis egy kitüntetett szerepű link két végén elhelyezkedő csomópontból indul, amely kitüntetett szerepű linket Root Edge-nek nevezzük. A Root Edge adott pillanatban a hálózat középpontja. Ezen link két végén lévő csomópont a linknél nem résztvevő egyéb interfészein egy SAT_BRD üzenetet küld az ellentétes irányba. Ezt a jelet a feszítőfa mentén a többi csomópont is továbbadja, mindaddig, amíg a broadcast csomag el nem éri a feszítőfa egy levelét. A csomópont P állapotba kerül abban a pillanatban, ahogy az összes többi linkje irányába elküldte a SAT_BRD jelet. Ezen P csomópontok számára az alattuk lévő csomópontok gyerekcsomópontok (C). Ugyanígy a (C) gyerekcsomópontok is megkapják a jelet, továbbítják az összes többi interfészükön, és átváltanak P üzemmódba. A merge fázis Merge fázisban a levélcsomópontok miután megkapták a SAT_BRD jelet, az ellentétes irányban SAT_MERGE jelet küldenek, ezek a jelek feltétel nélkül továbbítódnak a szülők irányába. A szülő csomópontnak azt választja, amelytől még nem kapott merge jelet. A merge jel konvergál a fa gyökere felé. A fa gyökerénél két csomópont egymásnak merge jelet küld, amelyet megerősítenek egy speciális jellel is, ez alapján döntik el, hogy köztük van a Root Edge. Visszaváltanak szülő állapotba és kezdődik a broadcast fázis. A broadcast és merge fázisok dinamikusan beazonosítják a leginkább torlódott hálózati régiót, ahol a legkorábban nyílik lehetőség újbóli küldésre, ezáltal a hálózat diffundál, szétterjed a teljes hálózatban.
FULL OPTICAL NETWORKS (QUADRO) Optikai jel (fényimpulzus) továbbítása: input
~ ~
L E D
λ1 λ2 output
λ1 λ2 input
…
…
λk
λk
output
F D
~ ~
A LED-nek (fénykibocsátó diódának) és a FD (fotodetektornak) van egy tehetetlensége, késletetési ideje. Ez technológiafüggő érték. Emiatt a jel hosszát nem lehet akármilyen kicsire csökkenteni. Ha egy bit hossza kisebb, mint a késleletési idő, akkor nem működik a dolog. 10 Gbps esetén egy bitidő 10–10 mp, egy bit hossza továbbítás közben 3 cm. input1
input2
SW 2×2
output1
output2
Egy 2×2-es switch esetén ha a két bemeneten egyidőben érkező jeleket ugyanazon a kimeneten kellene továbbítani, akkor gond van. Erre megoldás lehet, hogy különböző színű, azaz különböző hullámhosszú diódákat használunk egyidejűleg (WDM = Wavelength Division Multiplexing). Ezzel az a probléma, hogy tudniuk kellene a switcheknek, hogy
milyen hullámhosszon érkezik a jel, gyors szinkronizálásra lenne szükség, ez fejlett technológiát igényel, amely költséges. Nagyon nagy sebességű (VHS) hálózatokban az optikai tartományban továbbított jeleket nem szabad átalakítani elektromos jelekké, mert az optikai-elektromos (OE) és elektromos-optikai (EO) átalakítás ilyen sávszélességek esetén arányaiban sok időt vesz igénybe. Elektromos pufferek nem használhatók optikai környezetben. Optikai hálózatokban javasolt megoldás: QUeuing Arrivals for Delayed Reception/Routing Operation. Az első generációs hálózatok esetében huzalos és vezeték nélküli technológiák segítségével történik a jelek továbbítása, elektromos impulzusok segítségével. A második generációs hálózatok optikai közeget használnak, viszont hagyomásnyosan elektromos kapcsolással működnek a berendezések. Ez tipikusan nagy sávszélességek esetében torlódási pont kialakulásához vezethet. A harmadik generációs hálózatok nagyon fejlett technológiákra épülnek, és a teljes hálózati szolgáltatási palettát magukban foglalják (hang, kép, mozgókép, video). A teljesen optikai hálózatok (Full Optical Networks = FON) a jelenlegi első és második generációs hálózatoknál 3-4 nagyságrenddel gyorsabb átvitelt biztosítanak (nagyságrendileg Terrabit/sec). Az optikai tartományban történő információtovábbítás központjában a WDM (Wavelength Division Multiplexing), a TDM (Time Division Multiplexing) és a CDM (Code Division Multiplexing) áll. A WDM egy nagy sávszélességet biztosít egy több hullámhosszú csatorna segítségével, minden hullámhosszú csatorna azonos sávszélességgel rendelkezik. A TDM és a CDM rövid impulzussorozatokat, ún. chipeket használnak, amely lehetővé teszi, hogy a huzalon kis szóródás mellett ugyanaz az optikai információ továbbítódjon. Az optikai keretek kapcsolása továbbra is nagyon kritikus téma. Ha több csomag érkezik különböző hullámhosszokon ugyanazon a fizikai közegen, a küldő és a vevő előzetes információja, λ hullámhossz függvényében beazonosítható a küldött információ. Ehhez mind az adónak, mind a vevőnek ezt a hullámhosszot ismernie kell. Switched Delay Line (SDL) Megoldás az optikai keretek kapcsolására, a QUADRO-elv egy általánosítása. Ezen SDL-ek használata a gyakorlatban WDM* hálózatokban történt meg először. Ennek használata esetén a jelek végig optikai tartományban maradnak, biztosítva ezáltal a nagyon nagy átviteli sebességet. Az SDL eszköz működését párhuzamos elektronikai logika vezérli, amely lehetővé teszi a logikai áramkörök használatát, mivel a vezérlés sokkal rövidebb ideig tart, mint az optikai keret, csomag továbbítása, ezért a viszonylag lassúbb elektronika is sokkal nagyobb sebességgel képes vezérelni az optikai kapcsolatokat. Ezáltal az optikai csomagban továbbított információ fejrésze alapján hozott döntés elegendő sebességgel történik meg ahhoz, hogy az optikai hálózatban torlódásmentes átvitel valósuljon meg.
A harmadik generációs hálózatok optikai torlódási problémái Tegyük fel, hogy különböző információ érkezik különböző WDM csatornákon, λ1 , λ2 ,K, λn hullám-hosszokon. A kapcsolóközpontokba érkező csomagok torlódást okozhatnak, ha ugyanazt az erőforrást használják. Ez a közös erőforrás lehet host, amelyhez csomagot küldeni kell, egy kimenő csatorna, amin több keretet továbbítani kell, vagy kapcsolóeszköz, amelynek egy időben több elemet kellene kapcsolnia ugyanabba az irányba. Az SDL struktúrája és működése A kétlépcsős (2×2-es) SDL felépítése a következő: DL1
DL2
S1 S2 S3 Az SDL alapműködési mechanizmusa, hogy ha ugyanahhoz a csomóponthoz mindkét bemeneten torlódó csomagok érkeznek, az első késleltető vonallal (a DL1-es modullal) egy slot ideig a csomag/keret késleltetést szenved. Ha a torlódás továbbra is fennáll, azaz egy újabb torlódó csomag érkezik a csomóponthoz, ugyanezt a késleltetést megismétli a DL2-n. Érzékeltetésképpen vizsgáljuk meg a következő esetet: egy kétlépéses SDL-hez 6 db csomag érkezik három egymás utáni slotidőben, 2 db w jelzésű fehér (white) és 4 db b jelzésű fekete (black) csomag. Az S1, S2, S3 kapcsolók vagy bar state-ben vagy cross state-ben vannak. Cross state esetén a bemeneteit felcserélve továbbítja a kimenetein, bar state esetén változatlan irányban továbbítja a csomagokat. Az első slotidőben az alsó bemeneten érkezik a w1 csomag, a cross state-ben lévő S2-n keresztül a DL2-be, a felső bemeneten érkező w1 pedig az S1 bar state állapotának segítségével DL1-be kerül:
b2
DL1
DL2
w2
w1
b1
white black
S1 S2 S3 Így a fehér csomagok a fehér irányba kerültek. A cross state, illetve bar state állapotot úgy valósítják meg, hogy két optikai szál között elektromágneses tér hatásával felcserélhető a jel. Második slotidőben az S1, az S2, és az S3 bar state állapotán keresztül a w1 csomag távozik a white kimeneten, a b1 a black kimeneten keresztül, a b2 a DL1-be kerül: b4
DL1
DL2
b2
w2
b3 S1 S2 S3 Harmadik slotidőben az S1 és az S3 bar state és az S2 cross state állapotán keresztül a w2 csomag távozik a white kimeneten, a b2 a black kimeneten keresztül, a b3 a DL2-be, a b4 a DL1-be kerül: DL1
DL2
b4
b3
S1 S2 S3 Negyedik slotidőben az S3 bar state és az S2 cross state állapotán keresztül a b3 távozik a black kimeneten keresztül, a b4 a DL2-be kerül: DL1
DL2 b4
S2 S3 S1 Az ötödik slotidőben az S3 bar state állapotán keresztül a b4 távozik a black kimeneten. Különböző vezérlési stratégiák létezhetnek. Azt, hogy mit tekintünk fontosnak, arra általános szabályokat kell megfogalmazni, ezeknek olyanoknak kell lenniük, hogy lehető leghatékonyabban kezelje a beérkező kereteket. Nyilvánvaló, hogy a késleltetővonalak nélkül nem lehet fékezni a beérkező optikai kereteket. Cserébe viszont az egyidejűleg beérkező csomagok késleltetést szenvednek, később fognak célbajutni. Ami a hibatűrést illeti: egy switch alapértelmezett állapota a bar state, meghibásodás esetén nem vesznek el a keretek, csak eltérítődhetnek a kívánt útvonaltól. A DL (Delay Line) optikai módon késlelteti a keretet, k darab hurokból álló optikai szálat csavarunk fel. Ebben fénysebességgel terjed a jel, olyan hosszúnak kell lennie, hogy egy keret elférjen benne, ezután elektromágneses tér hatására két optikai szálban futó jelet megcseréljük.
Az SDL hardverfelépítése Az SDL 2-fajta optikai komponensből épül fel; d db késleltető vonalból és d+1 db switchből áll. Minden egyes késleltető vonal képes optikai úton minden egyes fényhullámhosszon egy-egy keretet tárolni időslotonként. Minden egyes switch hullámhosszonként két állapotban lehet: egyenes (bar state), kereszt (cross state). Az optikai keretek kapcsolása optikai-elektromos (OE), elektromos-optikai (EO) átalakítás nélkül történik. Ha a switchek 2×2-es hullámhosszérzékeny típusúak, az SDL minden egyes slotidőben egy-egy keretet képes kapcsolni. Az SDL hibatűrő tulajdonsággal is rendelkezik: ha egy 2×2-es switch vezérlés nélkül marad, akkor alapértelmezésben egyenes állapotban van, azaz iránymódosítás nélkül továbbküldi a kereteket.
Az SDL vezérlése Az SDL vezérlési stratégia célja, hogy a keretfolyamot torlódásmentesen továbbítsa a rendszeren. Egyik SDL stratégia kiválasztja a csomagot úgy, hogy minden egyes kimenő linken és hullámhosszon továbbítja azt, és kiválasztja azokat a késleltető vonalakat, amelyek tárolni fogják az aktuális slotidőben nem továbbítható csomagokat. A d = 2 változat esetén d = 2 darab csomag késleltethető az SDL-en belül, és minden egyes hullámhosszon egy-egy optikai keret küldhető tovább. Az SDL hardver és az SDL vezérlési stratégia együttes segítségével a következő előnyök származnak: Az SDL vezérléséhez szükséges döntéshozatali idő viszonylag kicsi, mivel a döntés helyben történik, ezáltal nincs szükség egyéb memóriára, amely az SDL előzetes állapotait tárolná. A kapcsolásról hozott döntés a beérkező csomagban lévő információ alapján történik. Az SDL stratégia a késleltető vonalak számával, azaz d-vel lineárisan változó, d-től lineárisan függő algoritmust használnak. Mivel komplexitása lineáris és a döntés lokálisan történik, a döntés mechanizmusa egyszerű, slotonként történik a döntés. A viszonylag lassú elektronika képes több Gbps sávszélességet igénylő adatforgalmat is kezelni. A GIGABIT ÉS A 10GIGABIT ETHERNET Az Ethernet fejlődése: IEEE 802.3
IEEE 802.3u
IEEE 802.3z
IEEE 802.3ab
10 Mbps
100 Mbps
1000 Mbps = 1 Gbps
10 000 Mbps = 10 Gbps
1986 1993-94 1998-99 2002 Az IEEE 802.3-ról IEEE 802.3u-ra az áttérés azért volt sikeres, mert a visszafelé való kompatibilitást garantálták. Mondhatnánk, hogy ha ez egészen a 10 Gbps-ig bevált, lépjünk tovább egy nagyságrenddel. Azonban ennek technikai akadálya van. Az Ethernet keret maximális métere 1500 bájt, minimális mérete pedig 64 bájt: 8 LM = 1500 B = 12000 bit l = c = 3 ⋅ 10 m/s = 0,3 m b BW 109 bit/s bit Lm = 64 B = 512 bit lM = lb ⋅ LM = 0,3 ⋅ 12000 m = 3600 m c = 3 ⋅ 108 m/s lm = lb ⋅ Lm = 0,3 ⋅ 512 m = 153,6 m BW = 109 bps Ekkor egy bit, egy minimális méretű és egy maximális méretű keret hossza továbbítás közben: A legkisebb méretű keret elküldésekor a középső bit továbbítása pillanatában a legelső bitnek már a célállomásnál kell lennie ahhoz, hogy automatikus nyugtázás megtörténhessen a sikeres küldésről. Ha az ütközésérzékelési jel nem érkezik meg a keret utolsó bitjének elküldéséig sem, az azt jelenti, hogy hibamentesen történt a továbbítás. Jó megközelítéssel a koaxiális közegben a küldési sebesség a névlegesnek 80%-a, sodrott érpár esetén pedig 70%. Látható, hogy az Ethernet fejlődési üteme igen gyors, 10 Gbps-os Ethernetről 100 Gbps-ra nem történt technológiaváltás, ugyanis itt már akkora mennyiségekről van szó, hogy nem teszi lehetővé, hogy pl. webes környezetben használható legyen. Az impulzus szélessége annyira kicsi, hogy az Egy elektronikai berendezések kapcsolási ideje összemérhető. LLC IEEE 802.3z egy stabil impulzus a valóságban 3 részből áll: van egy felfutási idő, CSMA/CD Gigabit Eth. állapot, és a lefutási idő. Ez még akkor elfogadható, ha a felfutási és lefutási idő a teljes impumlzus 10-10%-a. A kapcsolási idő, azaz PL LLC a tranzisztorok kapcsolási ideje technológiafüggő. Adatkapcsolati rétegből tekintve a Gigabit és a 10Gigabit Ethernet CSMA/CD IEEE 802.3 ugyanolyan, mint a 10, ill. 100 megabites Ethernet. A GbEnél a 8B/10B E/D Ethernet FastEthernet gyorsítását és a FiberChannel ANSI X3T11 FC–4 szabványát ötvözték: S/D FC–3 E/D: encoder/decoder C S/D: serializer/deserializer FC–2 C: connector FC–1 FC–4: upper layer mapping FC–0 FC–3: common services FC–2: signalling ANSI X3T11 FibreChannel
FC–1: E/D FC–0: interface and media
10 Gigabit Ethernet 10 Gigabit Ethernet esetében különböző hálózatok számára építettek ki interfészeket lokális, városi és nagykiterjedésű hálózatokra. Felépítése a következő: MDI: Medium Dependent Interface
Logical Link Control
XGMII: 10G Media Independent Interface
MAC Control
PCS: Physical Coding Sublayer
MAC
PMA: Physical Med Attachment
Reconciliation Sublayer XGMII
XGMII
PCS 64B/66B
WIS: WAN Interface Sublayer
XGMII
PCS 64B/66B
PCS 64B/66B
PMA
WIS
PMA
PMD
PMA
PMD
PMD MDI
MDI
MDI
M
M
M
10GBase-R
10GBase-W
10GBase-X
Használt közegek A Gigabit Ethernet által használt médium: SM (Single Mode): egymódusú optikai szál; MM (Multi Mode): többmódusú optikai szál; STP (Shielded Twisted Pair): árnyékolt sodrott érpár; UTP (Unshielded Twisted Pair): árnyékolatlan sodrott érpár. A 10 Gigabit Ethernet átviteli közegként csak optikai szálat használ 850, 1310, ill. 1550 nm hullámhosszú jelekkel. A 850 nm-es jel még látható, a másik kettő már nem. Duplexitás A Gigabit Ethernet képes működni HD (Half-Duplex) és FD (Full-Duplex) üzemmódban. Ezzel ellentétben a 10 Gigabit Ethernet csak a FD üzemmódot ismeri. Áthidalható távolságok A Gigabit Ethernet réz érpárral max. 150 méteres, koax kábellel max. 25 méteres távolságot képes áthidalni. Multimódusú szál esetén 850 nm hullámhosszú jellel 220–550 méteres, 1310, ill. 1550 nm esetén 550 méteres távolságra működik, egymódusú szállal 1310 nm esetén 5 km a hatósugár. A 10 Gigabit Ethernet multimódusú optikai szállal 850 nm-es jel esetén 65, 1310 nm-es jel esetén 300 métert képes áthidalni, egymódusú szállal pedig interfésztől függően 10–40 km-t. Kódolás 4B/5B kódolás nem jó, mert az LED 20%-kal több ideig világít, mint amennyi ideig nem Az egyenáramú komponen nem ugyanannyi ideig működik, mint pihen, ez a fizikai interfészek meghibásodásához vezet. 8B/10B kódolás esetén a rekord zxx.y alakú, ahol z egy transzformáció, két értéket vehet fel: D (data), K (key). Az xx mező bináris szám decimális értéke, az y pedig kiegészítő mező. 256-féle adat lehetséges (amennyiben z = D), és további 12 db kulcskód (z = K esetén). Gigabit Ethernetnek a Short Range (SX), a Long Haul (LX), Copper Physical Interface (CX) típusai léteznek. Az LX interfész 10 km-es távolságot képes áthidalni. Multimódusú optikai üvegszálak esetében a 62,5/125 µm-es és a 50/125 µm-es változat működik. A Gigabit Ethernet szabványosítása 1998 végén éppen versenyzett az akkor nagyon népszerűnek mondható ATM/STM-4 technológiával, amely 622 Mbps-os szinkron összeköttetést biztosított. Felvetődött a kérdés, hogy
vajon a 622 Mbps-os ATM vagy az 1000 Mbps-os Ethernet technológia a jobb. Ez kérdés nagyon megosztotta a szakmai köröket. Az ár döntött, mivel az ATM interfészek annyira költségesek, továbbá ATM esetében már két csomópont összekötéséhez is mindenképpen szükséges központi switch. A Gigabit Ethernet kompatibilis visszafelé, de a keret mérete miniálisan 512 B.
ATM-HÁLÓZATOK (ASYNCHRONOUS TRANSFER MODE) Az ATM az ITU-T (International Telecommunication Union – Telecommunication Standardization Sector) szabványa, amely a B-ISDN-re, mint technológiára tett javaslatot fogalmazta meg. Az ATM átviteltechnológiát 1990-ben kezdték el fejleszteni, szabványosítani, 2002-2003 között a szabványosítás nagy része befejeződött. Tervezéskor 25 évig kielégítő minőségű átviteli technikaként képzelték el. A valóságban túlságosan bonyolult rendszer, szabvány készült, amely emiatt nagyon költséges, de kétségkívül nagyon hatékony megoldást jelent. Az ISDN nagyobb felbontású mozgókép átvitelére nem volt elegendő, ezen célból kapcsolatorientált átviteli technikában kezdtek el gondolkodni. Erre egy megoldásként kezdték kidolgozni az ATM-et: Video on Demand, videokonferencia, adatátvitel, huzalos SMS-küldés ugyanazon platformon, egyidőben. A burst-ös jellegű adatforgalom több kapcsolat esetén nehezen kezelhető. ATM esetén a fizikai csatornák logikai csatornák léteznek. Ezeknek úgy kell létezniük egymás mellett, hogy egymás működését ne befolyásolják, vagyis csak bizonyos mértékig. Alapfilozófia: van egy felhő, arra, hogy ennek milyen a belseje, majd az ATM ad választ. A felhőhöz kapcsolódnak User-ek, a különböző szolgáltatások minősége újabb kapcsolat felépítésének hatására nem módosul. Ha új erőforrásfoglalás történik, akkor a felhőn belüli összes meglévő kapcsolat minőségét ez nem rontja. A felhőn belül pedig kölönböző csomópontok, dedikált kapcsolók továbbítják a csomagokat. Ezeket hálózati csomópontoknak (Network Node) nevezzük. Ha a többi szolgáltatás minősége romlana, a kapcsolatfelépítés nem sikerül, ilyenkor később kell próbálkozni, vagy csökkenteni kell a sávszélesség-igényt. Kiderül, hogy semmiképpen sem üzenetszórásos rendszer, hanem kapcsolatorientált, hiszen kapcsolatfelépítéskor erőforrási lefoglalára próbálkozás történik, ha ez sikeres, akkor felépül a kapcsolat. Tehát a kommunikáló felek között pont-pont kapcsolat épül ki szinkron switchek segítségével. A technológia mégis aszinkron, mivel a végfelhasználói csomópontok közötti kapcsolat során a protokoll adatelemek a továbbítás során bizonyos mértékben a szinkronitástól eltérhetnek. A statisztikai alapú multiplexelés biztosítja, hogy kicsi eltérés lehessen. Lehetne teljesen szinkron is az átvitel, de ekkor bizonyos erőforrások nem kerülnek lefoglalásra. Ha egy fizikai linken kiépített két logikai link sávszélességigényét vizsgáljuk, bár átlagos sávszélességigényük összege kisebb, mint a link sávszélessége, lehet olyan pillanat vagy időtartam, hogy a logikai linkek sávszélességigénye összesen nagyobb mint a teljes fizikai link sávszélessége. Ez a gyakorlatban lehetetlen, egy fizikai linket nem lehet túlterhelni, az egyik csatornán bizonyos mértékig késleltetni kell a forgalmat. Ezért a kapcsolatok felépítésekor nem csak az átlagos sávszélességigényt kell megadni, hanem a teljes maximumot ill. minimumot, és azt, hogy milyen eloszlást követ ez a burst-össég, az esetek hány százalékában lépi túl az átlagot, és éri el a maximumot ill. minimumot. Kapcsolatfelépítés során az összes eszköz megpróbálja az útvonalakon a rendelkezésre álló erőforrásból a fenti jellemzők ismeretében felépíteni a kapcsolatot, ha sikeres, akkor kap majd visszajelzést. A határon lesz egy kitüntetett csomópont, egy Network Node, ehhez kapcsolódik a User Node. Lesznek olyan hálózati csomópontok is, amelyekhez nem kapcsolódnak felhasználói csomópontok. Ez a kitüntetett csomópont fogja figyelni, hogy a User Node-jai által küldött adatmennyiség megfelel-e a kapcsolat-felépítéskor bejelentett igénynek. A User Node csak a kitüntetett csomóponttal kommunikál, csak rajta keresztül „látja” a hálózatot, ez a Network Node továbbítja az igényt a hálózatban. Bizonyos esetben még a bejelentett igénynél pár százalékkal több adatot is enged a hálózati csomópont. Ez azért hasznos, mert ezekkel a pluszokkal lehet majd esetenként kihasználni a maradék sávszélességet. Az ATM protokoll adatelem felépítése: hossza: 53 bájt Header (5 bájt)
Segment Payload (48 bájt)
Az adattovábbítás hatékonysága elég gyenge, mivel kb. 9%-a a fejrész. A Payload 48 bájtos méretének kialakulása szabványosító szervezetek két csoportjának huza-vonájából alakult ki. Egyik csoport Amerikai Egyesült Államok + Japán (hangkommunikáció), a másik csoport Európa (adatkommunikáció). Az ISDN-típusú szolgáltatások biztosítása hangtovábbítást és adattovábbítást is igényel. Adattovábbítás esetén az a jó, ha minél nagyobb az adatrész a fejrészhez képest, mert akkor hatékonyabb az átvitel. Ezzel ellentétben hangtovábbításnál nagyon erőteljesnek kell lennie a jelzésrendszernek, a PCM (Pulse Code Modulation) segítségével másodpercenként 8000-szer mintavételezik a jelet a 300–3400 Hz frekvenciatartományban. Ezt a mintavételezést minden 125 µs-ban jelent egy bájtot, azaz viszonylag ritkán kell küldeni egy-egy bájtot. Tehát
az egyik csapat azt mondta, hogy legyen a payload 64 bájt, a másik azt, hogy 32 bájt. Kompromisszumos megoldás született: számtani átlagot vontak... Az ATM hálózat belsejében dedikált eszközök, ATM switchek továbbítják a rögzített méretű kereteket, az ún. ATM cellákat. Az ATM egy olyan cellakapcsolási és multiplexelési technika, amely egyesíti az áramkörkapcsolás és a csomagkapcsolás előnyeit. Az áramkörkapcsolást a konstans késleltetésű és garantált kapacitású alkalmazások használják, a csomagkapcsolást pedig a hirtelen generálódó forgalmak igénylik. A technológia fejlődése a következő volt: 1. X25: csomagkapcsolás 2. ISDN: áramkörkapcsolás 3. FrameRelay: csomag- és áramkörkapcsolás 4. ATM: a FrameRelay továbbfejlesztése. A végfelhasználói csomópontokat User Node-nak nevezzük, az ATM felhőn belüli switcheket Network Node-nak. Beszélhetünk U–N (User–Network) és N–N (Network–Network) kapcsolatról, emiatt a fizikai interfészek is kétfajtájúak: U–N és N–N interfész. Egy Network Node rendelkezik mindenképpen N–N interfésszel, és rendelkezhet U–N interfésszel. Előbbi esetben a hálózat belsejében helyezkedik el, utóbbi esetben a felhő szélén. Éppen ezért kétféle cellaformátum létezik. Az ATM cella fejrésze Az UNI (User–Network Interface), a User és a Network közötti kapcsolat során továbbított cellák fejrészének felépítése a következő: GFC – Generic Flow Control (4 bit) GFC VPI VPI/VCI – Virtual Path/Channel Identifier CLP – Cell Lost Priority (1 bit) VPI VCI PT – Payload Type (3 bit) HEC – Header Error Control VCI VCI
PT
C L P
HEC Az ATM olyan fizikai szintű kapcsolatokat feltételez, amelyekben a bitmeghibásodás (BER) értéke nagyon alacsony. Ezért a hasznos teher mező végén nem található hibaellenőrző kód, mint pl. az Ethernet keret esetén, de mivel nagyon nagy átviteli sebességekről van szó (giga, terra bit), a nagyon alacsony BER jellemzőjű fizikai közeg esetében fellépő meghibásodások sem szabad, hogy az ATM működését befolyásolják. Abban az esetben, ha nagyon ritkán is, de mégis csak 0-ától különböző valószínűséggel a vonalszintű meghibásodások rossz irányba terelnék a cellákat, akkor az mindenképpen torlódáshoz vezetne bizonyos hálózatrészeken. Hogy a cellák mindig jó irányba kapcsolódjanak, ezért a fejrészre van egy hibajavító kód, amely lehetetlenné teszi, hogy az ötbájtos fejrész bármelyik bitjének meghibásodása esetén rossz irányba kapcsolódjon a cella. A GFC generikus folyamvezérlést szabályozó 4 bit. Ez a 90-es években még fejlesztésre fenntartott mező volt, később a mobil, kapcsolatorientált hálózatok kialakításánál vették ide be. A VPI egy 8 bites virtuális útvonalazonosító mező, amelyet egy 16 bites virtuális csatornaazonosító mező követ. A virtuális útvonal lehetővé teszi egy fizikai kapcsolat esetleges meghibásodása esetén az összes rajta áthaladó logikai kapcsolat egyidejű átkapcsolását másik útvonalra azáltal, hogy a fejrész 8 bites részét módosítja. Maximálisan egy User és egy Network csomópont között 256 virtuális útvonal lehet, vagyis a U–N switchnek összesen 256 fizikai interfésze lehet. Tekintetbe véve, hogy a mai LAN switcheknek általában 32, 48, 64 portja van, ez sok. Ezen kívül van egy 16 bites virtuális csatornaazonosító, amely megadja, hogy User Node-onként egyidejűleg hány logikai kapcsolat lehet, vagyis egy ilyen csomópont egyidejűleg 65536 kapcsolatot építhet fel. Ez is sok. És ilyenből van 256 darab. A Payload Type (PT) mező azt mutatja meg, hogy a cellában milyen típusú forgalomhoz tartozó hasznos teher található: burst-ös, konstans bitrátájú, maradék sávszélességet felhasználó. Mivel 3 bites a mező, 8 féle érték lehetséges, 8 kategóriába sorolhatjuk a különböző alkalmazásokat, ez bőven elegendő. Az egybites CLP bit azt mutatja meg, hogy eldobható-e a cella vagy sem, a szerződés szerint bejelentett forgalommennyiséget meghaladta-e. Az U–N switch nem dobja el a többletforgalmat, ha a felhasználói csomópont túllépte az adott adatmennyiséget, hanem bebillenti ezt a bitet, és torlódás esetén a switch azokat a cellákat dobja el, amelynek ez a bitje be van állítva. A küldő ennek tudatában van, magasabb kapcsolati szinten ezt korrigálja, megtörténik az újraküldés. Az NNI (Network–Network Interface), a Network csomópontok közötti kapcsolat során továbbított cellák fejrészének felépítése a következő: A virtuális útvonalazonosító itt már 12 bites, 4096 virtuális útvonalat tudunk megkülönböztetni. Ez is sok. A virtuális csatornák száma maximálisan itt is 65536. Annak ellenére, hogy U–N interfész esetében is 65536 volt a virtuális csatornák maximális száma, ez nem kevés, mivel az ATM kapcsolók a VC1 csatornát nem VC1-en, hanem VCj-n küldi ki, csatornát kapcsol csatornához.
Három azonosítóval ellátott (egy fizikai port azonosító, egy virtuális útvonal- és egy virtuális csatornaazonosító) cellát a megadott irányba küldi. Ha csak pl. a port különbözik, a cella már teljesen más irányba megy, mert teljesen más logikai kapcsolathoz tartozik; lásd. az 1. és a 4. sort. Ezek alapján a 65536 virtuális csatornaazonosító bőségesen elegendő. Minden kapcsoló a beérkező interfész és a cella fejrészében található azonosítók (VPI és VCI) alapján hozza meg döntését, hogy melyik másik fizikai interfészen és milyen VPI és VCI értékkel küldje tovább. Az ATM switch kapcsoláskor vagy változtatja a VPI mezőt, vagy változtatja a VCI mezőt, vagy változtatja mind a VPI, mind a VCI mezőt. Tehát ez alapján három kapcsolási lehetőség van. Ezek rendre: útvonal-, csatorna- és teljes kapcsolás. Minden esetben újra kell számolni a fejrész ellenőrző összeget (HEC), következésképpen minden egyes cellára a switchnek döntéshozatali és feldolgozási feladata van. A switch kapcsolási teljesítménye nem csak abból áll, hogy az asszociatív memóriában keres, és átküldi a másik interfészére a cellát, hanem módosítja az azonosító mezőket, és 4 bájt alapján újraszámolja és ezután teszi át a kimenő interfészre. Azért jó, hogy a VPI és a VCI külön van bontva, mert így ha csak az egyik változik, könnyebb a HEC számítása, gyorsabban megy.
Az ATM referenciamodellje Ha
Plane Management Layer Management
az FDDI-nál 2 dimenziós volt, akkor itt 3 dimenziós referenciamodellről kell beszélni. A fizikai réteg a bit továbbítását/fogadását végzik. A fizikai rétegben az ATM User Plane Ctrl Plane cellahatárok felismerése is megtörténik. Higher Higher Az ATM réteg az ATM hálózatban felépülő kapcsolatokért, ill. a cellák ATM Layer Layer hálózatban történő routolásáért felelős. Ehhez az ATM cella fejrészében található azonosítókat használja. ATM adaptation Az adaptációs réteg a szolgálat adatelemek (videojelfolyam, adatcsomag) és az ATM Layer ATM cellák közötti kapcsolatot biztosítja, összerendeli ezeket. Különböző adaptációs réteg algoritmusok léteznek: Physical Layer AAL1: szinkron mintavételezett adatok továbbítása ATM cellákban AAL3/4: kapcsolt hálózatok közötti összeköttetés biztosítása AAL5: változó méretű protokoll adatelemek továbbítása
Címzés Az ATM-ben háromféle címzés létezik: DCC, ICD és E164. Az ATM fizikai cím 20 bájtos, 160 bites. IPv6 esetén 128 bites címek vannak, ez 16 bájt. Már az IPv6 esetén is a Föld felszínének teljes területén négyzetméterenként több ezer csomópont is azonosítható. Ez még több... Az ATM címzés – a telefonos hálózathoz hasonlóan – országkódokra, területekre, régiókra, intézmények-re, cégekre tagolódik, bőségesen elég. Éppen ezért a különböző címformátumok különböző jelentést rendelnek az egyes címrészekhez: címzési típus (2 bit), országkód, további címzési filozófia számára fenntartott mező, régiómező, routing domain tartományazonosító. Az ATM hálózat kapcsolatorientált, nagyon sarkalatos probléma a broadcast típusú LAN-technológiák-hoz való illesztés, hiszen egy kapcsolatorientált hálózatban egy broadcast szétküldése nagyon körülményes probléma. Ezért létre kellett hozni kapcsolatorientált hálózat fölötti összeköttetésmentes hálózati emulációt, azaz az IEEE 802.x LANtechnológiák által megvalósított broadcast megvalósításához egy virtuális LAN-t kellett létrehozni, amelynek biztosításához szerver funkciójú csomópontokra van szükség az ATM hálózatban: LES (LAN Emulation Server), BUS (Broadcast Unknown?? Server); és szükséges a csomópontokon LAN-emulációs kliensnek futnia: LEC (LAN Emulation Client), amely folyamatosan tartja a kapcsolatot a két szerverrel abból a célból, hogy csak a logikai szempontból saját LAN-ba tartozó csomópontok számára küldjön broadcast üzenetet. ATM interfészek 25 Mbps, 100 Mbps; STM–1: 155,5 Mbps; STM–4: 622 Mbps; STM–16: 2,44 Gbps; STM–64: 10 Gbps.