Essee kurssiin 81138A Internet ja tietoverkot
JOHDATUS AKTIIVIVERKKOIHIN

Mikko Majanen
Oulun yliopisto
Teoreettinen fysiikka

28.2.2002

Tässä työssä käydään läpi lyhyesti erilaiset aktiiviverkkoarkkitehtuurien lähestymistavat sekä mahdolliset aktiiviverkkojen sovellusalueet. Johdantona palautetaan mieleen verkon eri kerrokset ja niiden tehtävät.

Verkon kerrokset

Kaksi ehkäpä tärkeintä verkkoarkkitehtuuria ovat OSI-malli ja TCP/IP-malli. Verkkoarkkitehtuurilla tarkoitetaan joukkoa verkon kerroksia ja protokollia. Jokaisella kerroksella on jokin tietty palvelunsa, jota se tarjoaa ylempänä oleville kerroksille. Ylempänä olevien kerroksien ei tarvitse tietää, kuinka ko. palvelu on tarkalleen ottaen toteutettu. Tietokoneiden välinen kommunikointi tapahtuu s.e. koneen A kerros n kommunikoi koneen B vastaavan kerroksen n kanssa. Protokolla on se sääntö, jolla tämä kerroksien n välinen kommunikointi tapahtuu. Edelleen protokollapino on tietyssä systeemissä käytettyjen protokollien lista, yksi protokolla yhtä kerrosta kohden.

OSI-malli ei itseasiassa ole verkkoarkkitehtuuri, koska se ei määrittele tarkkoja palveluita ja protokollia eri kerroksille, se vain kertoo, mitä kunkin kerroksen tulisi tehdä. ISO-malli on kuitenkin tuottanut standardeja kaikille kerroksille ja ne on julkaistu itsenäisinä standardeinaan.

Fyysisen kerroksen tehtävänä on siirtää bitit kommunikaatiokanavan kautta koneelta toiselle. Data-linkki-kerros huolehtii datan jakamisesta tietyn suuruisiin kokonaisuuksiin (frames) ja näiden kokonaisuuksien lähettämisestä sekä vastaanottavan koneen kuittauksien (acknowledgement frames) vastaanotosta. Verkkokerros huolehtii pakettien reitityksestä lähtöpisteestä määränpäähän. Siirtokerros vastaanottaa dataa ylemmältä kerrokselta (yhteyskerros) ja pilkkoo sen pienempiin osiin (jos tarvetta), lähettää pilkotun datan edelleen alemmalle kerrokselle (verkkokerros) ja huolehtii toisessa päässä, että data tulee perille oikeassa järjestyksessä. Yhteyskerros mahdollistaa käyttäjien muodostaa yhteyksiä keskenään. Tämä mahdollistaa tavallisen datan siirron kuten siirtokerroskin, mutta myös joitakin kehittyneempiä palveluita kuten esim. tiedoston siirron koneiden välillä. Esityskerros huolehtii tiettyjen datarakenteiden, kuten esim. merkit sekä kokonais- ja liukuluvut, oikeasta esitystavasta. Esitystapa voi vaihdella eri valmistajien koneiden välillä. Sovelluskerros sisältää kaikki ylemmän tason protokollat. Tällaisia ovat monet käyttäjälle suoraan näkyvät ohjelmat kuten esimerkiksi sähköpostiohjelma.

TCP/IP-arkkitehtuuri on saanut nimensä kahden tärkeimmän protokollansa mukaan. Se sai alkunsa ARPANETissä, Internetin edeltäjässä.

Internet-kerros määrittelee virallisen paketin muodon ja protokollan: IP (Internet Protocol). Kerroksen tehtävänä on jakaa IP-paketit oikeisiin paikkoihin.

Kuljetuskerroksen tehtävä on sama kuin OSI-mallissakin. TCP ja UDP ovat tämän kerroksen protokollat. TCP yhteyksellinen protokolla, joka takaa virheettömän datavirran mihin tahansa toiseen koneeseen. UDP on yhteydetön ja siksi ei niin luotettava, mutta toisaalta nopeampi.

Sovelluskerros sisältää kaikki ylemmän tason protokollat, esim. TELNET (virtuaalinen terminaali), FTP (tiedoston siirto) ja SMTP (sähköposti).

TCP/IP-mallissa ei ole yhteys- eikä esityskerroksia, koska niille ei ole käyttöä useimpien sovelluksien tapauksessa. TCP/IP-malli ei myöskään määritä protokollia internet-kerroksen alapuolelle.

Aktiiviverkot

Perinteisesti verkon tehtävänä on ollut jakaa paketteja paikasta toiseen. Verkon sisäinen prosessointi reitittimissä rajoittuu verkkokerrokseen, periaatteessa reititykseen, ruuhkan hallintaan sekä joihinkin palvelun laatutekijöihin (QoS, Quality of Service). Tällaista verkkoa voidaan kutsua passiiviseksi.

Passiivisen verkon heikkouksia ovat mm.

Lisäksi viime aikoina käyttäjälähtöisten, verkon sisäisten solmujen suorittamien toimenpiteiden merkitys on kasvanut mm. turvallisuuden, verkonhallinnan sekä liikkuvuuden vaatimuksista. Nämä puutteet nousivat esille DARPAn (Defense Advanced Reserch Projects Agency) keskusteluissa verkkojen tulevaisuuden suuntauksista vuosina 1994 ja 1995. Näiden keskustelujen pohjalta syntyi uusi lähestymistapa verkkoarkkitehtuuriin: aktiiviverkko.

Aktiiviset verkot ovat aktiivisia kahdessa mielessä: Ensinnäkin, passiiviset reitittimet korvataan aktiivisilla reitittimillä, jotka kykenevät suorittamaan toimenpiteitä aina sovellustasolle asti; toiseksi, käyttäjät voivat ohjelmoida verkkoa lähettämällä näille aktiivisille reitittimille omaa koodiaan, jonka perusteella sitten voidaan suorittaa em. toimenpiteitä reitittimien kautta kulkeville paketeille. Näin ollen käyttäjät voivat siis muuttaa verkon käyttäytymistä dynaamisesti lähettämällä koodia reitittimille.

Aktiiviverkon käsite on hyvin lähellä mobiilien ohjelmistoagenttien käsitettä. Mobiili ohjelmistoagentti on ohjelma, joka toimii käyttäjän tai toisen ohjelman puolesta ja kykenee liikkumaan verkossa omin voimin. Agentti päättää itse missä ja milloin suorittaa toimenpiteitään, ja tarpeen tullen voi keskeyttää toimintansa ja jatkaa sitä toisaalla verkossa. Aktiiviverkko liikkuu kuitenkin paljon yleisemmällä tasolla. Mobiilia agenttia voidaan pitää ehkä erityistapauksena aktiivisesta paketista ja mobiilin agentin kanssa yhteensopivaa verkon solmua erityistapauksena aktiivisesta solmusta. Fundamentaalisempana erona voidaan pitää sitä, että aktiiviverkot käyttävät verkkokerroksen prosessointia hyväkseen, kun taas mobiilit agenttisysteemit toimivat puhtaasti sovellustasolla.

Aktiiviverkkoarkkitehtuurit

Aktiiviverkkojen arkkitehtuureissa on käytössä kolme eri peruslähestymistapaa: aktiiviset paketit, aktiiviset solmut sekä aktiiviset paketit ja solmut. Neljäs lähestymistapa on sovellustason aktiiviverkot

Useimmat aikaisimmista aktiiviverkkoarkkitehtuureista käyttivät aktiivisten pakettien lähestymistapaa. Tässä arkkitehtuurimallissa koodi kulkee pakettien mukana. Myös verkon solmut ovat aktiivisia siinä mielessä, että ne tarjoavat pakettien koodille suoritusympäristön. Aktiivisen paketin koodin suorituksella voidaan muuttaa joko itse paketissa olevaa dataa tai sitten suorittavan solmun tilaa.

Aktiivisten solmujen mallissa paketit eivät kanna koodia. Kaikki koodi sijaitsee aktiivisissa solmuissa, ja paketit kuljettavat ainoastaan jonkinlaisen tiedon siitä, mitä funktioita solmuista halutaan suorittaa, ja tarvittaessa lisäksi parametrit ko. funktiolle. Aktiivisten pakettien mallin ongelmat liittyvät joko suorituskykyyn tai osaamiskykyyn. Suorituskykyongelmien taustalla on valtavat turvallisuusvaatimukset. Osaamiskykyä rajoittavat myös turvallisuusseikat, koska ainoa keino vähentää turvallisuusvaatimuksia on rajoittaa niitä ohjelmia, joita paketit voivat käyttää. Nämä ongelmat ovat toimineet motiiveina aktiivisten solmujen arkkitehtuureille. Aktiivisten solmujen arkkitehtuurit ovat siten suorituskyvyltään parempia, mutta toisaalta joustamattomampia.

Kolmannessa lähestymistavassa yhdistetään kaksi edellistä mallia. Aktiiviset paketit voivat kantaa yksinkertaista koodia mukanaan, mutta kompleksisempi koodi sijaitsee aktiivisissa solmuissa. Yleensä tässä arkkitehtuurimallissa käyttäjät voivat itse valita käyttävätkö aktiivisia paketteja vai solmuissa olevaa koodia sovellustensa luonteen mukaan.

Sovellustason aktiiviverkoissa verkon sisäisiin reitittimiin ei lisätä aktiivisuutta vaan sen sijaan sopiviin kohtiin verkkoa lisätään erityisiä dynaamisia proxy-palvelimia (DPS, Dynamic Proxy Server), jotka kykenevät suorittamaan esim. käyttäjältä lähtöisin olevaa koodia. Tämä tarjoaa käyttäjille aktiiviverkkomaisen tunteen (käyttäjän koodia suoritetaan verkossa), vaikka tarkalleen ottaen kyseessä ei aktiiviverkko olekaan (reitittimet passiivisia).

Aktiiviverkkojen sovellusalueet

Tärkein aktiiviverkkojen sovellus juontaa juurensa käyttäjien mahdollisuudesta ohjelmoida verkkoa. Tämä mahdollistaa mm. uusien protokollien nopean käyttöönoton ilman hidasta standardoimisprosessia. Tämän lisäksi aktiiviverkoista voi olla hyötyä mm. verkonhallinnassa, ruuhkanhallinnassa, reitityksessä, multikastauksessa sekä välimuistin toteuttamisessa. Tarkastellaan esimerkiksi verkonhallintaa hieman tarkemmin.

Nykyään verkonhallinta perustuu hallinta-asemiin, jotka pollaavat jatkuvasti hallinnoitavia laitteita etsien niistä anomalioita. Tämä on toiminut ihan hyvin, mutta Internetin hurjan kasvun myötä hallinta-asemiin suorastaan tulvii viestejä, joista suurin osa vain kertoo kaiken olevan kunnossa. Toisaalta, virhetilanteesta kertovan viestin saapumiseen on voinut kulua niin pitkä aika, että hallinta-asemalta lähetetty korjaustoiminto ei olekaan enää ajan tasalla.

Aktiiviverkoissa hallinta-asemat voitaisiin siirtää suoraan verkon sisälle lisäämällä verkon sisäisten solmujen aktiivisuutta. Verkkoon voitaisiin lähettää ns. ensiapupaketteja sekä tarkkailupaketteja. Ensiapupakettien sisältämällä koodilla voitaisiin muuttaa vioittuneen solmun tilaa välittömästi kun taas tarkkailupaketit voisivat kierrellä verkossa etsien anomalioita ja sellaisen löytäessään selvittää ongelman tarkemman syyn. Tämän jälkeen hallinta-asemalta voitaisiin lähettää tarkemmin räätälöityjä korjaustoimenpiteitä vioittuneelle solmulle.

Lähdeluettelo

About this document ...

Essee kurssiin 81138A Internet ja tietoverkot
JOHDATUS AKTIIVIVERKKOIHIN

This document was generated using the LaTeX2HTML translator Version 96.1 (Feb 5, 1996) Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.

The command line arguments were:
latex2html -split 0 itv.tex.

The translation was initiated by Mikko Majanen on Thu Feb 28 16:55:22 EET 2002


Mikko Majanen
Thu Feb 28 16:55:22 EET 2002