S-38.116 TELETIETOTEKNIIKKA
Seminaari 17.4.1996
ATM-liikenneteoria
Péter Nádasi
nadapet@cc.hut.fi
72493k, Ti
SISÄLLYSLUETTELO
1. Lyhenneluettelo
2. Johdanto
3. ATM palvelusopimus
4. Vuotava ämpäri / Leaky Bucket
5. Yhteenveto
6. Lähdeluettelo
1. LYHENNELUETTELO
AAL - ATM Adaptation Layer
ABR - Available Bit Rate
API - Application Programming Interface
ATM - Asynchronous Transfer Mode
BECN - Backward Explicit Congestion Notification
BER - Bit Error Rate
BPS - Bits per second
BT - Burst Tolerance
CAC - Connection Admission Control
CBR - Constant Bit Rate
CCITT - Consultative Committee on International Telephone & Telegraph
CDT - Cell Delay Tolerance
CDV - Cell Delay Variation
CDVT - Cell Delay Variation Tolerance
CER - Cell Error Ratio
CES - Circuit Emulation Service
CLNS - Connectionless Network Service
CLP - Cell Loss Priority
CLR - Cell Loss Ratio
CMR - Cell Misinsertion Rate
CO - Connection Oriented
COS - Class of Service
CPCS - Common Part Convergence Sublayer
CPE - Customer Premises Equipment
CRC - Cyclic Redundance Check
CS - Convergence Sublayer
CSR - Cell Missequenced Ratio
CSU - Channel Service Unit
CTD - Cell Transfer Delay
CTV - Cell Tolerance Variation
DLC - Data Link Control
DES - Destination End System
DLCI - Data Link Connection Identifier
DQDB - Distributed Queue Dual Bus
DSU - Data Service Unit
DTE - Data Terminal Equipment
EFCI - Explicit Forward Congestion Indication
ELAN - Emulated Local Area Network
FC - Feedback Control
FCS - Frame Check Sequence
FDDI - Fiber Distributed Data Interface
FEC - Forward Error Correction
FRS - Frame Relay Service
GFC - Generic Flow Control
HDLC - High Level Data Link Control
HEC - Header Error Check
IC - Initial Cell Rate
IEEE - Institute of Electrical and Electronics Engineers
IETF - Internet Engineering Task Force
ISO - International Organization for Standardization
ITU - International Telecommunications Union
IWF - Interworking Function
LAN - Local Area Network
LANE - Local Area Network Emulation
LAPD - Link Access Procedure D
LB - Leaky Bucket
LE - LAN Emulation
LEC - LAN Emulation Client
LECS - LAN Emulation Configuration Server
LES - LAN Emulation Server
LLC - Logical Link Control
LOF - Loss of Frame
MAN - Metropolitan Area Network
MBS - Maximum Burst Size
MCR - Minimum Cell Rate
N-ISDN - Narrowband Integrated Services Digital Network
NNI - Network to Network Interface
NP - Network Performance
NPC - Network Parameter Control
NRM - Network Resource Management
NT - Network Termination
OAM - Operations, Administration and Maintenance
OSI - Open systems Interconnection
P-NNI - Private Network to Network Interface
PC - Priority Control
PCR - Peak Cell Rate
PDH - Plesiochronous Digital Hierarchy
PDU - Protocol Data Unit
PHY - Physical Layer of the OSI model
PM - Physical Medium
PMD - Physical Layer Dependent sub-layer
POH - Path Overhead
PT - Payload Type
PVC - Permanent Virtual Circuit
PVCC - Permanent Virtual Channel Connection
PVPC - Permanent Virtual Path Connection
QD - Queuing Delay
QOS/QoS - Quality of Service
RC - Routing Control
RFC - Request For Comment (Document Series)
RM - Resource Management
SAP - Service Access Point
SAR - Segmentation and Reassembly
SCR - Sustainable Cell Rate
SDH - Synchronous Digital Hierarchy
SDU - Service Data Unit
SEAL - Simple and Efficient Adaptation Layer
SIR - Sustained Information Rate
SMDS - Switched Multi-megabit Data Services
SNA - Systems Network Architecture
SNAP - Sub Network Access Protocol
SNMP - Simple Network Management Protocol
SOH - Section Overhead
SONET - Synchronous Optical Network
STM - Synchronous Transfer Mode
STM1 - Synchronous Transport Mode 1 -- 155mbits/sec
STS-3c - Synchronous Transport System-Level 3 concatenated
SVC - Switched Virtual Circuit
SVP - Switched Virtual Path
TCP/IP - Transmission Control Program/Internet Protocol
TCS - Transmission Convergence Sublayer
TDM - Time Division Multiplexing
TE - Terminal Equipment
TS - Traffic Shaping
TS - Time Slot
TSAP - Transport Service Access Point
UBR - Unspecified Bit Rate
UDP - User Datagram Protocol
UNI - User Network Interface
UPC - Usage Parameter Control
VBR - Variable Bit Rate
VC - Virtual Channel ( Virtual Circuit)
VCC - Virtual Channel Connections
VCI - Virtual Circuit Identifier
VCI - Virtual Connection Identifier
VCI - Virtual Channel Identifier
VLAN - Virtual Local Area Network
VP - Virtual Path
VP/VC - Virtual Path, Virtual Circuit
VPC - Virtual Path Connection
VPCI/VCI - Virtual Path Connection Identifier/Virtual Channel Identifier
VPI - Virtual Path Identifier
WAN - Wide Area Network
2. JOHDANTO
ATM-liikenneteoriaa tarkastellaan siten, että määritellään ATM-liikenteen ohjaukseen liittyviä
tärkeimpiä käsitteitä, menetelmiä ja keinoja. Keskeisimmen algoritmin "vuotavan ämpärin" toiminta esitellään esimerkkien avullla. Esimerkkien tarkoitus on valaista ATM-liikenneteoriassa käytettävissä olevia keinoja ja toimintaperiaatteita.
Seuraavat kysymykset määrittelevät aihepiirin:
Mikä on ATM palvelusopimus ?
Mikä on käyttäjälle luvattu palvelutaso ?
Miten ATM verkko pyrkii luvatut palvelutasot toteuttamaan ?
Miten toimii vuotavien ämpärien malli ?
Tekstissä käytetyt liikenneteoriaan liittyvät käsitteet pyritään myös määrittelemään tekstissä. Oletetaan kuitenkin, että jotkut tiedonsiirron, tietoliikenteen ja ATM:n peruskäsitteet ovat lukijalle tuttuja. Lyhenneluettelossa on ATM aihepiirin sekä yleisen tietoliikennealan termejä.
3. ATM palvelusopimus
Mikä on ATM palvelusopimus ?
ATM palvelusopimuksen muodollinen määrittely löytyy sekä ITU-T suosituksesta I.371 että
ATM Forumin UNI spesifikaatiosta V3.0. Liikenneparametri, sopimusvalvonta ja palvelutaso(QoS) ovat peruskäsitteet, näiden avulla määritellään palvelusopimus.
Käytännössä palvelusopimus on verkon toimittajan ja käyttäjän välinen sopimus, se koskee
UNI liitäntäkohdassa havaittavaa liikennettä ja se voidaan tehdä VCC tai VPC kohtaiseksi. Sopimuksen mukaan solujen liikenne havaintokohdassa noudattaa tiettyjä rajoituksia.
Palvelusopimuksen osatekijät ovat seuraavat:
a/ palvelutaso (QoS) mikä verkon pitää toteuttaa
b/ liikenneparametrit määrittelevät sopivan soluliikenteen profiilin
c/ sopimusvalvonta (conformanced checking) on joukko sääntöjä siitä, tulkinta siitä mitä liikenneparametrit tarkoittavat ja miten niitä toteutetaan
d/ verkon jousto (copmpliance) on verkon määrittelemä toleranssi, minkä verran liikenneparametrien valvonnassa verkko suostuu joustamaan
Osatekijät a/-c/ selitetään erikseen, esimerkin avulla.
Verkon jousto d/ tarkoittaa että verkko hyväksyy soluvirran - tietyn toleranssin - vaikka se ei olekaan 100% sopimusvalvonnan mukaista. Tästä seuraa käyttäjälle helpotus: ei ole pakko toteuttaa täysin tiukkaa liikenneparametrien valvontaa, vaan yksinkertaisempi, "suunnilleen oikea", kelpaa.
Sijaispäätemallin käyttö tekee tarkastelun yksinkertaisemmaksi. Esimerkiksi käyttäjän useamman lähteen ja useamman soluvirran sijaan tarkastellaan vain sijaispäätteestä lähtevää soluvirtaa (kuva 1).
Useamman VPC tai VCC yhteyden soluvirrat yhdistävä multipleksointi voi tapahtua paikallisessa ATM kytkimessä, hubissa, reitittimessä. Sijaispääte ei ole vältämättä oikea laite vaan saattaa edustaa
laitteiden yhdistelmää.
Multipleksoinnin yhteydessä toimii liikenteen muokkaaja (traffic shaper). Muokkaajan tavoite on muuttaa soluvirta liikenneparametrien mukaiseksi, sellaiseksi että sopimusvalvonnan säännöt hyväksyisivät sen. Koska päätelaitteen fyysisen tason toiminnot (PHY-SAP:in ja Public-UNI välillä) ja muut toiminnot (Private- ja Public UNI:n välillä) saattavat vaikuttaa soluvirtaan, verkkoon lähtevä
soluvirta saattaa kärsiä tietyn vääristymän verrattuna muokkaajan tulokseen. Tarkoitus on kuitenkin,
että Public-UNI rajapinnalla käyttäjältä verkkoon lähtevä soluvirta olisi liikenneparametrien mukainen. Rajapinnan toisella puolella sijaitseva UPC (käyttäjän liikenneparametrin valvonta) valvoo parametriarvojen noudattamista verkon puolesta. Jos käyttäjän soluvirran profiili ei ole sopiva, verkko voi hylätä soluja virrasta taikka koko virran.
Mikä on käyttäjälle luvattu palvelutaso ?
Palvelutasossa (QoS) määritellään verkon toimittajan velvollisuudet.
Palvelutason referenssi-mallissa puhutaan päästä-päähän palvelutasosta. Periaatteessa käyttäjän ei tarvitse olla huolissaan siitä, kuinka monta verkkoa tai verkkosolmua on yhteyden matkan varrella, koska palvelusopimus takaa yhteyden palvelutason päästä-päähän. Yhteyden pää tarkoittaa tässä
verkon rajapintaa Public-UNI tai Private-UNI.
Palvelutaso spesifioidaan parametriarvojen joukkona. Palvelutason parametrit ovat mitattavissa tai laskettavissa muutamasta perusmitasta. Käyttäjän lähettämät solut voidaan luokitella sen mukaan, miten ja missä aikataulussa ne ovat päässeet perille.
Puhutaan seuraavista solumääristä, tietyllä aikavälillä T laskettuna:
L - lähetetyt solut
S - saapuneet solut
K - kadonneet solut (solu ei ole saapunut määraajassa perille)
V - vialliset solut (solu on saapunut, mutta sen kantama kuorma ei ole ehjä)
E - eksyneet solut (solu on tullut paikalle B mutta sen päämäärä oli muu kuin B)
Edellisten perusteella määritellään:
CLR = kadonneiden solujen osuus = K / L
CER = vioittuneiden solujen osuus = V / (L + V)
CMR= eksyneiden solujen osuus = E / T
Lisäksi määritellään solun lähetysaika ja siitä statistisesti johdettavat suureet:
CTD= solun lähetysaika =
koodausaika(lähde) + dekoodausaika(kohde)
+ segmentointi(lähde) + uudelleenkokoaminen(kohde)
+ transmission aika (ATM solmujen välisillä linkeillä)
+ ATM prosessoinnin aika (polunvalinta, kytkentä ja jonotus jokaisessa välisolmussa)
MCVD = keskimääräinen lähetysaika, keskiarvo solun viiveestä
CDV = soluviiveen vaihtelu, mittaa paljonko liikenteen tahti eroaa tasaisesta nominaaliarvostaan
ATM:ssä solun häviäminen verkossa on mahdollista ja tietyissä rajoissa sallittuakin. Verkko voi ylikuormitustilanteessa yksinkertaisesti jättää välittämättä tietyntyyppiset solut ja pyrkiä takaamaan muiden perille pääsyä. Solun otsikon CLP bitti ilmoittaa solun säilyttämisen/hävittämisen suhteellisen prioriteetin. Yllä määriteltyjä suureita voidaan laskea erikseen CLP=0 ja CLP=1 luokan liikenteen tapauksessa.
ATM palvelutaso QoS sisältää - ITU-T I.350 määritelmän mukaan - VPC tai VCC kohtaisesti seuraavat liikenneparametrit:
- keskimääräinen lähetysaika (MCTD)
- soluviiveen vaihtelu (CDV)
- kadonneiden CLP=0 solujen osuus
- kadonneiden CLP=1 solujen osuus
- viallisesti saapuneiden solujen osuus
Palvelutason spesifiointia helpoittaa se, että käyttäjä voi yksinkertaisesti ilmoittaa palveluluokan, ennalta määrättyjen parametrien joukon. ATM Forum on ehdottanut viiden luokan käyttöä vastaavasti kuten on tapa digitaalisessa tiedonsiirrossa. Luokka 0 tarkoittaa, että käyttäjä ei ole ilmoittanut mitään erikoisempaa palveluvaatimusta. ATM Forumin luokat 1,2,3,4 vastaavat aika hyvin ITU-T suosituksessa I.362 mainittuja luokkia A,B,C,D.
Kuvassa 2 on esimerkki luokkien käyttötarkoituksesta, luokkien määrittelystä CLR ja CDV arvoilla.
Liikenteen ohjauksen kannalta hyvät liikennettä kuvaavat parametrit ovat helposti ymmärrettäviä
sekä sellaisia että annetun arvon tai tason valvonta on verkossa mahdollista.
ATM Forumin UNI spesifikaatiossa tällaisina hyvinä liikennekuvaajina seuraavia parametrejä:
PCR = huippu solunopeus [solu / sekunti], sama kuin 1 / T, missä T on solujen aikavälin minimiarvo
CDV = soluviiveen vaihtelun toleranssiarvo [sekunti], hitaimman ja nopeimman solun vaihe-ero,
viivevaihtelun arvo on verkosta riippuva ja käyttäjä ei yleensä voi spesifikoida sitä
SCR = saavutettava solunopeus [solu / sekuntti] on käytännössä saavutettava pidemmän
ajanjakson maksimi keskiverto kun purskeiden kesto MBS sekä niiden aikaväli Ti on annettu
MBS = huippu solunopeuksisen purskeen maksimi kesto[solu/purkse], sama kesto sekunteina on Tb
Määritelmistä suoraan seuraava: SCR = MBS / Ti
sekä Tb = (MBS -1) * T <= Ti - T
CDV:n arvosta puolestaan voidaan helposti nähdä, että se rajoittaaa kohteeseen perä-perään saapuneiden solujen ketjun pituutta seuraavasti:
ketjun pituus <= t / T + 1
Ti ja Tb eivät kuuluu muodollisiin määrittelyihin, mutta auttavat mekanismien ymmärtämistä.
4. Vuotava ämpäri / Leaky Bucket
Pyrkiessään saavuttamaan käyttäjille luvatun palvelutason verkko on oikeutettu valvomaan, että
käyttäjäkin noudattaa palvelusopimusta. Sopimusvalvonta on jatkuva algoritmi, mikä vertaa käyttäjän soluvirran ominaisuuksia palvelusopimukseen kuuluvien parametrien kanssa. Tällainen algoritmi kuuluu sekä ITU-T I.371 että ATM Forum UNI V3.0 suosituksiin.
Menetelmä tunnetaan lempinimellä "vuotava ämpäri" (leacky bucket) koska algoritmin toiminta voidaan havainnollista käyttämällä vuotavan ämpärin vertauskuvaa:
- Kun solu saapuu valvonta-algoritmille, mallissa kaadetaan lasillinen vettä ämpäriin.
- Soluliikenteen nopeuteen vastaa vuotaminen ämpärin pohjassa olevan reiän kautta.
- Toleranssiparametriä vastaava arvo on ämpärin syvyys tai tilavuus
- ATM solun CLP bitti ohjaa algoritmissa solun hyväksymistä koskevaa päätöstä ja vastaavasti
mallissa se määrää sen, mihin kaadetaan lasillinen vettä, ämpäriin, toiseen ämpäriin tai vain pois
- vesitason korkeus ämpärissä ja tulevien vesipulausten kanavointi kuvaa algoritmin päätösprosessia
Helppouden vuoksi aloitetaan yhden ämpärin tapauksella.
Olkoon ämpärimme kuuden mitan (solun) kokoinen ja solunopeus 1/4, soluja saa siis lähettää joka neljännellä soluajalla. Tätä vastaa mallissa se, että lasi on 4 yksikön mittainen ja tuleva solu on "sopiva", jos sen tuloa vastaava 4 mitan lasillinen vettä mahtuu ämpäriin, ilman ylivuotoa.
Muuten saapuva solu on "epäsopiva" ja vesi kaadetan lasista kylmästi lattialle. Ämpäristä vuotaa pohjareriän kautta vettä täsmälleen sen verran, että soluajan kuluttua vesi on vähentynyt ämpäristä yhden mitan (ei lasillisen!) verran. Seuraavissa kuvissa nähdään, miten vesi valuu tai "lotraantuu", kun saapuva soluvirta on liikennesopimuksen mukainen tai kun se on epäsopiva.
Ennen solun tuloa (esim. ajankohta 2) ämpärin taso on 3. Siirryttäessä ajanjakson verran eteenpäin ämpäristä vuotaa 1 mitta vielä pois ja näin solun tulohetkellä (esim. kohta 3) ämpärintaso on 2. Tähän tasoon lisätään tulevaa solua vastaava lasillinen, 4 mittaa, ja ämpäri täyttyy tasolle 6 asti.
Ämpäri vuotaa (esim. kohdat 4,5,6) kunnes taas uusi solu saapuu (kohta 7) ja kuvio toistuu...
Epäsopivan soluvirran esimerkin tapauksessa ajankohdassa 6 ja 17 saapuvia soluja ei hyväksytä, koska ämpärin taso on näinä ajankohtina 3 ja näin myös ämpärissä olevan vapaan tilan määrä on 3, mikä on puolestaan vaadittua tasoa (4) pienempi.
Edellisessä esimerkissä huippu solunopeuden PCR on mallina on ämpärin vuotamisen tahti ja toleranssia CVD edustaa ämpärin kokoa. Kun tarkastellaan lisäksi CLP=0 ja CLP=1 liikennettä
erikseen tai CLP=0+1 liikennettä yhdessä ja lisäksi otetaan huomioon muitakin liikenneparametrejä, kuten SCR ja MBR ja BT, saadan joukko uusia sääntöä. Monimutkaisempien sääntöjen mallittamiseen tarvitaan kahdesta kaskaadiin kytketystä vuotavasta ämpäristä muodostettu
systeemi.
Purskeisuuden toleranssi BT kuvaa PCR, SCR ja MBR parametrien yhteisvaikutusta ja sen rooli muistuttaa viivetoleranssin, CVD:n, roolia . BT on kohteeseen perä-perään saapuneiden solujen muodostaman ketjun maksimipituus silloin, kun lähetetään huippusolunopeudella.
Purskeisuuden toleranssi on : BT = (MBS -1 ) * ( 1 / SCR - 1 / BCR).
Seuraavassa taulukossa luetellaan muutama mahdollinen uusi sääntö. Kuvassa 3 ja 4 vuotavat ämpärit havainnollistavat sääntöjen toimintaperiaatteita. Käyttötapa "ilman CLP merkintä" tarkoittaa sitä, että ylimääräinen CLP=0 solu suoraan hylätään. Merkinnän käyttö (tagging) puolestaan on sitä, että ylimääräistä CLP=0 solua ei hylätä suoraan, vaan sensijaan solun poistettavuuden prioriteetti muutetaan arvoksi CLP=1. Toinen ämpäri arvio mahtuuko solu CLP=1 virtaan.
Sääntö Soluvirta CLP Soluvirta CLP CLP 0-->1 numero 1 parametri 2 parametri merkintä 1 PCR 0+1 - - ei 2 PCR 0+1 PCR 0 ei 3 PCR 0+1 PCR 0 käytössä 4 PCR 0+1 SCR+MBS 0+1 ei 5 PCR 0+1 SCR+MBS 0 ei 6 PCR 0+1 SCR+MBS 0 käytössäTaulukossa esiintyvää sääntönumeroa on käytetty seuraavissa kuvissa sääntöjen viitenumerona.
Ämpärin syvyys tai koko asetetaan eri arvoihin huippunopeuden, PCR, mallissa ja saavutettavan solunopeuden, SCR, mallissa. PCR tapauksessa muutaman solun kokoinen ämpäri on sopiva, muuten vastaanottaja joutuisi vastaanottamaan liian pitkiä solusarjoja ja pufferi täyttyisi. Saavutettavan solunopeuden, SCR, tapauksessa ämpärin koon pitäisi olla moninkertainen verrattuna pisimmän purskeen pituuteen, siksi useampia korkeamman tason PDU:ta mahtuisi ämpäriin. Siirtotason protokollat, kuten TCP, generoivat usein hyvin pitkiä purskesarjoja ja niiden lähettämät pisimmät PDU:t saattavat olla useammankin purskeen pituisia. Pienen viivevaihtelun vaativan sovelluksen tapauksessa mallina käytetään pienikokoisia ämpäreitä. Tällöin puskuroinnista aiheutuva viive on
pienempi, pienempiä puskureita tarvitaan, mutta ämpärin ylivuodon mahdollisuus - solujen hylkäämisen todennäköisyys - vastaavasti kasvaa. Kahden ämpärin malli ja CLP merkintä sopii sellaisen sovelluksen tapauksessa, missä käyttäjän sovellusprosessi itse pystyy ilmoittamaan verkolle, mitkä solut ovat sovelluksen kannalta enemmän/vähemmän tärkeitä. Esimerkiksi hierarkisesti koodattua videokuvaa vastaavassa soluvirrassa sovellus voi ilmoittaa peruskehyksiä vastaavat solut tärkeämmiksi muita kehyksiä vastaaviin soluihin verrattuna.
5. Yhteenveto
ATM-liikenneteorian alueelta tarkasteltiin liikenteen ohjaukseen liittyviä peruskäsitteitä, menetelmiä ja malleja. ATM palvelusopimuksen tärkeimmät tekijät ja käyttäjälle luvatun palvelutason sisältö on määritelty. Esimerkkien avulla on näytetty, miten liikenneparametrejä käytetään liikenteenohjauksessa luvatun palvelutason saavuttamiseksi.
Vuotavan ämpärin malli esiteltiin useamman esimerkin avullla. Tarkoitus oli ATM-liikenneteorian peruskeinojen, toimintaperiaatteiden tarkkailu loogisella tasolla hyvin yksinkertaisin keinoin. Tarkkojen numeeristen tulosten aikaansaaminen vaatisi monimutkaisempien mallien analyysiä, simulointia, mittauksia tai kaikkien näiden keinojen käyttöä.
Kaistanleveyden dynaaminen varaaminen (bandwidth on demond) on ATM toiminnan erikoisuus, muiden verkkotekniikkojen yhteydessä vastaava joustavuutta ei luvata. ATM tekniikan ominaispiirre on, että verkon käyttäjälle varataan laajakaistainen verkkoyhteys, tarvittava palveluluokka yhteyden luonnin aikana ja varausta muutetaan tarvittaessa yhteyden aikanakin, dynaamisesti, merkinannon keinoin. Toistaiseksi dynaamisuus on tosin ATM palvelussakin vain lupaus. Vaikka olemassa olevat julkiset ATM palvelut tarjoavatkin jossain määrin VBR liikenteen tukea, pääpaino on vielä CBR liikenteessä. ATM tekniikan menestys riippunee vahvasti siitä, miten ja millä aikataululla teoriassa kaavailtu dynaaminen kaistanleveysvaraus käytännössä toteutuu.
6. Lähdeluettelo
1. Kalevi Kilkki, Traffic Characterisation and Connection Admission Control in ATM Networks,
Espoo 1994
2. Reijo Juvonen, Laajakaistainen välitystekniikka, S-38.164 kurssin moniste, 1995
3. Joseph Y. Hui, Switching and Traffic Theory for Integrated Broadband Networks, 1990
4. David E. McDysan, Darren L. Spohn, ATM Theory and Application, 1994
5. Fang Lu, ATM Congestion Control
6. Fred Halsall, Data Communications, Computer Networks and Open Systems, 1994
7. William Stallings, Data and Computer Communications, 1994
8. Risto Hämeen-Anttila, Pertti Hölttä, Seppo Niininoja, Tietoliikennejärjestelmät, 1993