Teknillinen korkeakoulu
Teletekniikan laboratorio
S-38.116 Teletietotekniikka
Mika Lehtinen, 39396T


LAN Emulaatio

Sisällysluettelo


1. Johdanto

ATM-tekniikan kaupalliselle hyödyntämiselle on tärkeää pystyä tarjoamaan nopeiden ja joustavien yhteyksien lisäksi menetelmä, joka mahdollistaa perinteisiin lähiverkkoihin ja suoraan ATM-verkkoon liitettyjen työasemien saumattoman yhteistoiminnan. Tarvitaan tapa siirtyä ATM tekniikkaan helposti, kohtuullisin investoinnein, ja siten, ettei menetetä olemessaolevia palveluja. Samalla aukeaa selkeä polku ATM-tekniikan käytön lisäämiseen.

Tyypillisiä sovelluksia, joissa ATM-tarjoaa merkittäviä etuja ovat suurta nopeutta ja hallittavaa palvelun laatua vaativat lähiverkot ja maantieteellisesti hajautettujen verkkojen yhdistäminen.

LAN emulaatio, eli LANE määrittelee tavan perinteisten lähiverkkojen (Ethernet, Token Ring) integroimiseksi ATM-verkkoon. Se perustuu ATM-forumin standardiin LAN emulation over ATM - Version 1.0 joskus käytetään myös nimitystä Phase 1 LAN Emulation specification. Standardi julkaistiin vuonna 1995. LAN emulaatio mahdollistaa nykyisten verkkokerroksen lähiverkkoprotokollien, kuten IP:n , IPX:n , Net BIOS:in, jne. käytön ATM:n yli ilman muutoksia olemassaoleviin ohjelmistoihin.

Vaihtoehto LAN-emulaatiolle on ns. Native Mode operation, jonka toiminta pohjautuu verkko-osoitteiden ja ATM-osoitteiden suoraan muunnokseen. Kun LANE sijoittuu verkon kerrosrakenteessa MAC-kerrokseen, Native Mode puolestaan liittää verkkokerroksen suoraan ATM-kerrokseen, eikä ole sellaisenaan yhteensopiva nykyisten verkko-ohjelmistojen kanssa. Native Mode soveltuu parhaiten uusiin sovelluksiin ja palveluihin jotka vaativat ATM:n erityispiirteistä, kuten QoS:tä. LAN emulaatio ei pysty tarjoamaan QoS:tä.

Kuva 1.1 LAN emulaatio vs. Native mode

Tässä dokumentissa käsitellään LAN emutaatiota, paneutumatta Native Mode:en. Käsittelyn laajuuden rajaamiseksi painopiste on MAC-kerroksen loogisessa toiminnassa. LAN emulaation tietovirtojen kapselointia ei käsitellä lainkaan. MAC-kerroksen roolin selkeyttämiseksi kuvassa 1.2 on esitetty LAN emulaatioon liittyvät protokollakerrokset sekä ATM:n, että perinteisten lähiverkkojen osalta.

Kuva 1.2 LAN emulaation protokollapinot

2. Emuloitavat ominaisuudet

2.1 Yhteydetön palvelu

Perinteisten lähiverkkojen asemat lähettävät ja vastaanottavat datapaketteja ilman yhteyden muodostamista. Tiedonsiirto ATM-verkossa on aina yhteydellistä, eikä tietoa voida siis siirtää ilman, että sen vastaanottaja, tai vastaanottajat ovat yksikäsitteisesti tiedossa. LAN emulaatio luo yhteydettömältä vaikuttavan siirtopalvelun yhteydellisen ATM:n yli.

2.2 Monipisteyhteydet

Perinteiset lähiverkot perustuvat jaettuun siirtotiehen, jonka ansiosta multicast ja broadcast -liikenne kyetään toteuttamaan helposti. ATM ei käytä jaettua siirtoyhteyttä lähiverkoissa käytetyllä tavalla. Lisäksi, koska ATM on yhteydellinen, ei voida ajatella, että jokainen asema ottaisi yhteyden kaikkiin muihin asemiin pystyäkseen lähettämään broadcast-paketin.

Broadcast-liikenteen emulointi ei välttämättä edellytä sitä, että kaikki liikenne välitetään kaikkiin asemiin. Voitaisiin esimerkiksi ohjata kaikki Broadcast-liikenne kulkemaan palvelimen, joka puolestaan ohjaisi paketit oikealle vastaanottajalle. Toteutuksesta tulisi kuitenkin helposti monimutkainen. Yksinkertaisempi, mutta myös tehottomampi tapa on, että palvelin lähettää paketit kaikille asemille, ja vasta asemat suodattavat liikennettä. LAN emulaatio käyttää jälkimmäistä tapaa.

2.3 MAC rajapinta ATM-asemissa

LAN emulaation tärkein tavoite on mahdollistaa nykyisten ohjelmistojen ja lähiverkkoprotokollien toiminta ATM-verkossa ilman muutoksia. Koska nykyiset protokollapinot, kuten NetBIOS, IPX, IP ja AppleTalk kommunikoivat verkon kanssa MAC-ajurin välityksellä, LAN emulaation tulee tarjota samat palelut, ja rajapinta kuin MAC-ajurit.

MAC "standardit", kuten NDIS (Network Driver Interface Specification), ODI (Open Data-Link Interface) ja DLPI (Data Link Provider Interface) määrittelevät, rajapinnan ominaisuudet. Jokaisella määrittelyllä on omat primitiivinsä ja parametrinsä, mutta tärkeimmät funktiot ovat samalaiset. LAN emulaatio tarjoaa nämä rajapinnat ylemmille kerroksille.

2.4 Emuloidut verkkotyypit

Nykyinen LANE spesifikaatio määrittelee kaksi emuloitavaa verkkotyyppiä: Ethernetin ja Token Ringin. Vaikka LANE on siltauspalvelu se ei salli yhteyksiä lähiverkkotyypistä toiseen, eikä siis ole ratkaisu pyrittäessä liittämään yhteen Token Ring, Ethernet, tai FDDI lähiverkkoja. Tähän tarkoitukseen voidaan käyttää esimerkiksi LAN kytkintä, jonka edustaa haluttua verkkotyyppiä emuloidun verkon asiakkaana.

3. LAN emulaation rakenne

3.1 Yhteyslajit

Läytettäessä LAN emulaatiota, perinteisessä lähiverkkoympäristössä pitää pystyä muodostamaan kolmenlaisia yhteyksiä:

  1. ATM-ATM yhteys, jolloin molemmat tai kaikki osapuolet ovat liittyneet suoraan ATM-verkkoon, ts ne on varustettu ATM NIC:lla, jotka on liitetty ATM-verkkoon.
  2. Perinteisen lähiverkon ja ATM-verkon välinen yhteys. Tässä tapauksessa toinen osapuoli on ATM-verkossa, kuten edellä, ja toinen osapuoli perinteisessä lähiverkossa.
  3. Tilanne, jossa käytetään LAN emulaatiota, mutta liikennöivät osapuolet ovat perinteisessä lähiverkossa, muodostuu esim. silloin kun käytetään ATM:ää runkoverkkona yhdistämään kahta perinteistä lähiverkkoa.

3.2 LAN emulaation komponentit

LAN emulaatio -palvelu ATM-forum:in LAN emulation over ATM - Version 1.0 -määrittelyn mukaan sisältää seuraavat komponentit.

LEC (LAN Emulation Client) on olio verkon komponentissa, jonka läpi datavirta verkon ja päätelaitten välillä kulkee. LEC:n suorittaa myös osoitteiden ratkaisua ja joitakin muita ohjaustoimintoja. Emuloidun lähiverkon (Emulated LAN, ELAN) päätelaitteet, kuten työasemat, palvelimet ja LAN emulaatio-palvelun tarjoavat ATM-reitittimet sisältävät LEC:n. Jokaista verkkokomponenttiin liitettyä emuloitua verkkoa kohden tarvitaan oma LEC. Esimerkiksi yhdistettäessä kaksi verkkoa ATM:n yli tarvitaan LAN kytkimessä kaksi LEC -oliota. Jokaisella LEC:lla on yksikäsitteinen ATM osoite, muta jokaisen ATM-osoitteen "takana" voi olla yksi tai useampia MAC-osoitteita: Jos esimerkiksi kyseessä on ATM työaseman LEC, liittyy siihen tyypillisessä tilanteessa vain yksi MAC-osoite, mutta LAN kytkimen tapauksessa kaikki sen läpi saavutettavissa olevien laitteiden MAC-osoitteet liittyvät yhteen ATM-osoitteeseen.

LES (LAN Emulation Server) toteuttaa emuloidun lähiverkon ohjaustoiminnon. Jokaista ELAN:ia kohden on järjestelmässä täsmälleen yksi looginen LES. Johonkin emuloituun lähiverkkoon kuuluminen määrittyy sen mukaan mihin LES:iin verkon komponentti on rekisteröity tai rekisteröitynyt. LES ylläpitää tietokantaa siihen rekisteröityneistä LEC:sta, ja osallistuu ATM-osoitteiden ratkaisuun.

Kuva 3.1 LES:n osoitetietokanta

BUS (Broadcast and Unknown Server) on ns. multicast -palvelin. BUS huolehtii emuloidusta lähiverkosta ulkopuolisiin, tuntemattomiin verkko-osoitteisiin kohdistuvan liikenteen välittämisestä, ja toisaalta emuloituun verkkoon saapuvien broadcast kehyksien jakelusta kaikille palveluun rekisteröityneille asemille. Jokainen LEC (esim. työasema) on yhteydessä yhteen BUS:iin, ts. LEC:n kannalta BUS on määritelty yksikäsitteisellä ATM osoitteella. LES:ssä tämä osoite on assosioitu vastaamaan MAC broadcast osoitetta, jolloin LES:n vastaanottamat broadcast kehykset ohjataan BUS:lle, joka puolestaan jakaa ne kaikille asiakkailleen (LEC). Yksi ELAN voi periaatteessa sisältää useita multicast -palvelimia, mutta niiden keskinäinen kommunikaatio ja työnjako ei sisälly LAN emulation over ATM - Version 1.0 -määrittelyyn

LECS (LAN Emulation Configuration Server) on hallintoaluekohtainen palvelin, jonka tehtävänä on osoittaa jokaiselle LANE asiakkaalle sille määritelty ELAN ja muu tarvittava konfiguraatioinformaatio, ts. kun LEC haluaa liittyä verkkoon esim. käynnistyessään, se pyytää LECS:ltä LES:n osoitteen.

Kuva 3.2 Lan emulaation komponentit

LANE määrittely ei ota kantaa siihen, missä verkon komponenteissa yllä mainitut palvelinoliot sijaitsevat. LANE palvelu voi sijaita erillisessä keskitetyssä palvelimessa, tai se voi olla hajautettu useaan verkkoelementtiin. Käytännössä monet laitevalmistajat ovat toteuttaneet LANemulaation ATM-solmuihin ja/tai muihin tarvittaviin verkkoelementteihin, koska näin saavutetaan kohtalaisin kustannuksin hyvä luotettavuus ja suorituskyky.

LAN emullaation versio 1.0 määrittelee ainoastaan palvelun käyttäjärajapinnan LUNI:n. On siis määritelty rajapinta LEC:n ja muiden LAN emulaation komponenttien välille. Verkkorajapinta LNNI, jonka läpi LANE palvelinkomponentit kommunikoivat keskenään on jätetty täysin avoimeksi, jolloin sen toteutus ja ominaisuudet jäävät laitevalmistajien ratkaistavaksi. Koska verkkorajapintaa ei ole määritelty, ei LANE suoraan tue usean LES:n tai BUS:n ratkaisuja, mistä voi aiheutua suorituskyky- ja luotettavuusongelmia suurilla asiakasmäärillä. Valmistajilla on kuitenkin vapaat kädet kehittää em. ominaisuudet käyttäen omia protokolliaan.

3.3 LANE-komponettien väliset yhteydet

LAN emulaation komponentit kommunikoivat keskenään käyttäen siihen varattuja VCC-yhteyksiä. LEC:lla on erilliset yhteydet datan siirtoa ja yhteyden hallintaa varten. Jokaisella LEC:lla on seuraavat yhteydet:

Hallintayhteydet:

Datasiirtoyhteydet:

Kuvassa 3. näkyvät LAN emulaation eri komponenttien väliset yhteydet. Palvelinkomponenttien ja LEC:n väliset yhteydet on esitetty selkeyden vuoksi vain yhden LEC:n osalta, mutta kaikilla LANE-palveluun rekisteröityneillä asiakkailla on muodostettuina vastaavat yhteydet.

Kuva 3.3 LAN emulaation eri komponettien väliset yhteydet.

4. LAN emulaation toiminta

LAN emulaation toiminta poikkeaa merkittävästi perinteisten lähiverkkojen toiminnasta. Esimerkiksi Ethernetin tapauksessa aseman ei tarvitse suorittaa juuri mitään alustustoimenpiteitä, vaan se voi heti alkaa siirtämään tietoa muiden asemien kanssa.

Kuten edellä on selvitetty, LAN emulaatio sisältää neljä komponenttia, LEC, LES, BUS ja LECS, joiden pitää olla määrätyllä tavalla "tietoisia toisistaan". Mm. tästä sikasta johtuen LANE:lla on verrattaen monivaiheinen alustusprosessi. Toiminnan kompleksisuus vähenee jonkin verran siirryttäessä alustusprosessista tiedonsiirtotilaan, mutta ylittää silloinkin perinteisen lähiverkon tason.

4.1 Kytkeytyminen LAN emulaatioon

Kuva 4.1 LAN emulaation alustusvaiheet

4.2 Tiedon siirto

LEC voi saada tietoa siirrettäväkseen kahdesta lähteestä: Verkkokerrokselta ja MAC-kerrokselta. Esim. työasemassa LEC käsittelee tyypillisesti ylemmältä protokollaoliolta vastaanottamiaan verkkokerroksen paketteja. LAN kytkimen LEC sensijaan käsittelee MAC-paketteja. Kun LEC vastaanottaa sille tuntemattomaan osoitteeseen soitetun paketin se lähettää LE_ARP -pyynön.

Koska LE_ARP -vastauksen saaminen voi kestää suhteellisen kauan, ei sitä voida jäädä odottamaan. LEC voi odottaessaan joutua hylkäämään osoitepyyntöön liittyvän datapaketin muun liikenteen takia. Suurin osa lähiverkkoprotokollista ei siedä yhteyden muodostuspakettien katoamista, tai pitkähköjä vasteaikoja.

Samaan aikaan kun LE_ARP -pyyntöä prosessoidaan verkossa pyynnön tehnyt LEC ei jää odottamaan vastausta, vaan aloittaa tiedon siirron lähettämällä paketin myös BUS:lle, joka välittää sen edelleen kattavan puun -algoritmin mukaisesti. Menettely on välttämätön, koska emuloituun lähiverkkoon liitetyissä toisissa lähiverkoissa voi olla laitteita, jotka eivät ole koskaan liikennöineet verkkoon, jossa lähettävä LEC sijaitsee, eivätkä niiden MAC-osoitteet ole siksi kirjautuneet yhteenkään LES:n tuntemaan LEC:n osoitetietokantaan.

Tietovuo kulkee siis aluksi BUS:n kautta kohdeasemalle. Mikäli LEC joskus saa vastauksen tekemäänsä LE_ARP -pyyntöön, se muodostaa vastaanottajaan suoran Data Direct -yhteyden, ja käyttää tätä yhteyttä tiedon siirtoon BUS:n sijaan. Kuitenkin ennenkuin suora yhteys voidaan ottaa käyttöön, tulee varmistua siitä, että kaikki BUS:n kautta lähetetyt paketit ovat poistuneet verkosta. Tähän käytetään LANE Flush -menettelyä. Jos muodostettu suora yhteys on käyttämättä se puretaan määriteltävissä olevan ajan kuluttua (tyypillinen arvo on ~20 min), jotta sen varaama VCC voidaan vapauttaa muuhun käyttöön.

Jos vastausta LE_ARP -pyyntöön ei saada, LEC voi käyttää vain BUS:n kautta muodostettua yhteyttä. Tämä ei ole tavoiteltavaa, koska broadcast -liikenne kuormittaa tarpeettomasti verkkoa ja itse BUS voi muodostua pullonkaulaksi jos se joutuu toimimaan useiden LEC:n pääasiallisena reittinä. Tämän vuoksi LEC jatkaa LE_ARP -pyyntöjen lähetystä määräajoin, ja jos vastaus saadaan, menetellään kuten yllä.

BUS toimii nimensä mukaisesti broadcast-palvelimena. Kun LEC lähettää dataa BUS:n kautta ja BUS puolestaan lähettää dataa kaikille ELAN:in LEC:lle, ollaan tilanteessa, jossa LEC vastaanottaa myös omaa broadcast -liikennettään. Kaikki lähiverkkoprotokollat eivät kuitekaan selviydy tästä tilanteesta. Ongelma on ratkaistu siten, että kaikki lähetettävät MAC-kehykset varustetaan lähettäjän LECID:lla, jolloin jokainen LEC kykenee suodattamaan omat pakettinsa pois ennen niiden pääsyä verkkokerrokselle.

4.2.1 LAN Emulation ARP

LAN Emulation ARP:n (LE_ARP) avulla ratkaistaan MAC-osoitetta vastaava ATM-osoite. LES vastaanottaa LEC:lta LE_ARP -pyyntöjä Control Direct -yhteydellä. LES pystyy itse vastaamaan kyselyyn, mikäli joku toinen LEC on rekisteröinyt pyydetyn osoitteen LES:n tietokantaan, jolloin se vastaa suoraan Control Direct -yhteydellä. Mikäli LES ei tunne pyynnön osoitetta, se edelleenlähettää pyynnön Control Distribute -yhteydellä kaikille rekisteröityneille LEC:lle.

Jotta jokaiselle datapaketille ja yhteydelle ei tarvitse erikseen selvittää ATM-osoitetta, LEC pitää yllä paikallista tietokantaa MAC - ATM osoitepareista, jotka se on saanut tietoonsa. Kun LEC vastaanottaa uuden paketin, se yrittää ratkaista osoitteen ensin paikallisesti, ja vasta sen jälkeen kysyy sitä LE_ARP:n avulla. LEC:n tietokannan osoitetietueet vanhenevat muutamassa minuutissa ja ne poistetaan, jolloin järjestelmän dynaamisuus säilyy.

4.2.2 LANE Flush

LANE Flush on totettu siten, että kun halutaan siirtää BUS:n kautta kulkeva tietovuo kulkemaan suoraan kohteeseen, lopetetaan solujen lähetys väliaikaisesti, ja lähetään hallintasolu alkuperäistä reittiä pitkin. Vastaanottaja kuittaa hallintasolun lähettäjälle. Kun kuittaus vastaanotetaan, voidaan olla varmoja siitä, ettei alkuperäisellä reitillä ole enää tämän yhteyden soluja, ja siirrytään käyttämään suoraa reittiä.

5. Virtuaaliset lähiverkot

LAN emulaatiota voidaan käyttää muodostettaessa virtuaalisia lähiverkkoja ATM infrastruktuurin päälle. Virtuaaliverkkojen rakenneosina käytetään perinteisiä lähiverkkokomponentteja , kuten reitittimiä ja kytkimiäja sekä niitä vastaavia ATM-komponentteja jotka kaikki on yhdistettu LAN emulaatio -palveluun.

LECS:n avulla voidaan muodostaa samaa ATM-runkoverkkoa käyttäen useita virtuaaliverkkoja. Virtuaaliverkkojen asemien ei tarvitse sijaita maantieteellisesti pienellä alueella kuten tavallisesn lähiverkon tapauksessa, vaan ne voivat olla hajautettuna ympäri ATM-verkkoa. Verkkoa ylläpitävä organisaatio voi muodostaa ja muokata virtuaaliverkkoja tarpeen mukaan, ilman uudelleenkaapelointia tms. verkon fyysistä rakentamista. Konserniverkoissa voidaan esimerkiksi muodostaa organisaatioyksikön rajat ylittäville projektiryhmille omia virtuaaliverkkoja tai ylipäänsä vastata organisaatiomuutoksiin nopeasti ja alhaisin kustannuksin.

Kuva 5.1 Virtuaalinen lähiverkko

Toisaalta, koska LAN emulaatio on itse asiassa tapa sillata verkkoja toisiinsa, se on yhtä herkkä konfiguraatiovirheistä aiheutuville broadcast myrskyille, kun mikä tahansa silloitettu lähiverkko. Tämä ongelma rajoittaa usein LANE:n käyttökelpoisuutta suurissa verkoissa. Ongelma voidaan ratkaista käyttämällä ATM-reitittimiä samaan tapaan kuin perinteisiä reitittimiä. Tässä ratkaisussakin on omat ongelmansa, kuten reitittimien suorituskyky ja lisäkustannukset. LANE sopii hyvin virtuaaliverkkojen rakennusalustaksi, kun huomioidaan sen rajoitukset.

6. Yhteeveto

LAN emulaatio tarjoaa tavan ottaa ATM käyttöön heti. Se käyttäytyy kuten perinteiset lähiverkot, mutta on niitä nopeampi. Toteutukseltaan LANE on verrattaen monimutkainen, koska on sovitettu yhteen kaksi luonteeltaan hyvin erilaista maailmaa. Kayttäjälle tämä monimutkaisuus ei kuitenkaan näy, vaan verkon käyttöönotto on suoraviivaista.

LAN emulaatio tuo selkeästi lisäarvoa perinteisiin lähiverkkoihin nähden kahdella osa-alueella: nopeudessa ja virtuaaliverkoissa. Näkyvin puute LAN emulaatiossa on se, ettei se hyödynnä mitenkään ATM:n tarjoamaa QoS:a. Toisaalta, QoS:n toteutus on hyvin vaikeaa, ellei mahdotonta, koska eräs LANE:n lähtökohdista ja myös vahvuuksista on toiminta pelkästään MAC-kerroksessa.


Viitteet

  1. The ATM Forum, LAN Emulation over ATM Version 1.0, 1995 The ATM Forum

  2. Alles Anthony, ATM Internetworking, 1995 Cisco Systems Inc.

  3. LAN Emulation, http://www.cisco.com/warp/public/729/c5000/c5000_tc.htm

  4. Fore Systems, LAN Emulation White Paper, 1995 Fore Systems

  5. Halsall Fred, Data Communications, Computer Networks and Open Systems, 1996 Addison-Wesley


Liite 1, Lyhenneluettelo

AAL - ATM Adaptation Layer

ARP - Address Resolution Protocol

ATM - Asynchronous Transfer Mode

BUS - Broadcast and Unknown Server

DLPI - Data Link Provider Interface

ELAN - Emulated Local Area Network

FDDI - Fiber Distributed Data Interface

ILMI - Interim Local Management Interface

IP - Internet Protocol

LAN - Local Area Network

LANE - Local Area Network Emulation

LE - LAN Emulation

LE_ARP - LAN Emulation Address Resolution Protocol

LEC - LAN Emulation Client

LECID - LAN Emulation Client Identifier

LECS - LAN Emulation Configuration Server

LES - LAN Emulation Server

LNNI - LAN Emulation Network-Network Interface

LUNI - LAN Emulation User-Network Interface

MAC - Medium Access Control

NDIS - Network Driver Interface Specification

NIC - Network Interface Card

NNI - Network to Network Interface

ODI - Open Data-Link Interface

PHY - Physical Layer

QoS - Quality of Service

TCP/IP - Transmission Control Program/Internet Protocol

UNI - User Network Interface

VC - Virtual Channel ( Virtual Circuit)

VCC - Virtual Channel Connections

VCI - Virtual Connection Identifier

VLAN - Virtual Local Area Network

VP - Virtual Path

VPC - Virtual Path Connection

VPI - Virtual Path Identifier