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.

Click here for Picture

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.

Click here for Picture

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.

Click here for Picture

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.

Click here for Picture

Ä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