meta data for this page
  •  

Mikkolaisen OPPIMISPÄIVÄKIRJA

Ennakkotunnelmat aiheesta:

Viimeisen kymmenen vuoden aikana olen eri työtehtävieni kautta päässyt, toisinaan joutunut, tekemisiin niin mikro- kuin makrotasoisten tietoliikenneasioiden kanssa, mutta valitettavasti itse tietoliikennetekniikan tarkempaan tutkiskeluun peruskäsitteiden lisäksi en ole koskaan syventynyt niin töiden kuin omaehtoisen opiskelunkaan kautta; työtehtävät ovat perustuneet pitkälti ongelmatilanteiden selvitykseen ja korjaamiseen olemassa olevien ohjeistuksien perusteella, muttei koskaan tietoliikenneratkaisujen arkkitehtuurisen tai teknisen toteutuksen tutkiskeluun tai analysointiin. Ymmärrys on riittänyt ainoastaan siihen, että jokseenkin tajuaa mitä tietoliikenneongelmien vianselvitysraporteissa on sanottu, mutta verkkokuvia katsoessa mitään tietoliikenneratkaisuja tai toteutuksia ei nykyosaamisella pysty kyseenalaistamaan. Tähän pitäisi saada kurssilta vähän lisää substanssia –tai oikeastaan rajusti!

Tällä kyseisellä hetkellä päällimmäisenä on kysymys mitä tarkoittaa käytännössä ”mac-osoitteiden törmäily”, kun puhutaan virtuaalialustan verkkoliikenteessä havaituista ongelmista? Mitä tarkoittaa HostFlapping? Miksi asiantuntijaa kiinnostaa kuituyhteyden päällä tai poispäältä olo, jos konesalissa vaihdetaan (runko)kytkimiä –eivätkö kaikki yhteydet välttämättä katkeakaan, jos etenkin runkokytkimiä rumpataan? Mitä tarkoittaa, jos palvelimen bootin jälkeen yhteys muuttuu full duplex → half duplex?

1. luentopäivä: Pääsin osallistumaan myöhässä, sillä aamupäivä meni töissä ihmetellessä miksi minulle, ei missään määrin verkkoasiantuntijalle, puhutaan mac-osoitteiden törmäilystä ja HostFlappingistä, kun yritän kysyä suomeksi suomenkielistä syytä tiettyihin virtuaaliympäristöissä havaittuihin vasteaika- ja suorituskykykysymyksiin.

Ensimmäisellä luennolla käsiteltiin kerrosmallit, OSI ja TCP/IP. Kerrosarkkitehtuurin eri kerrosten ja vaiheiden + kerroksiin liittyvien protokollien läpikäynti oli äärimmäisen hyvää vanhan, tutun asian kertausta ja muistin vetreyttämistä. Perusteiden perusteita.

2. luentopäivä: Taas reilu tunti myöhässä työkiireiden takia, ja missasin ensimmäisen pistokokeen, johon omaksikin ihmetykseksi olin jopa valmistautunut kertaamalla luentomatskut kerrosmalleista. Valitettavasti en ehtinyt kuulemaan kysymyksiä ja vastauksia.

Toisella luennolla käytiin läpi mm. standardointeja, erityyppisiä signaaleja ja taajuuksia, tiedonsiirtoa, siirtoteitä ja myös virheiden käsittelyä ja korjausta. Tunnetuimmat ja käytetyimmät tietoliikenteeseen liittyvät standardit ja syyt standardointeihin olivat ennestään tuttuja, mutta signaaleihin ja taajuuksiin en ole sekaantunut sitten lukion fyysiikan kurssien. Eri aaltopituuksien ja taajuuksien läpikäynti oli erittäin mielenkiintoista erityisesti kahdesta syystä:

  • Selvitys analogisen signaalin muuntamisesta digitaaliseksi, mitä signaalille tapahtuu
  • Viime vuosina on mediassa ollut varsin laajalti esillä milloin matkapuhelimista aiheutuva säteily, milloin moninkertaistuvien WLAN-verkkojen terveysvaikutukset, ja etenkin viime vuosien ykköshämmästys: voiko ihminen olla oikeasti allerginen sähkölle, ja miten matkapuhelin- ynnä muut langattomat verkot voivat aiheuttaa oireilua, vai voivatko? Altistuuko ihmisten terveys oikeasti alati lisääntyvässä ja tihenevässä langattomien verkkojen näkymättömässä säteilyverkossa?

Tietoliikenteen kannalta tärkein signaaleihin ja taajuuksiin liittyvä oppi oli se, että mitä nopeammin halutaan tiedon liikkuvan, sitä nopeammin bittien pitää liikkua. Keinot tiedonsiirron nopeuttamiselle:

  • bittien koon pienennys
  • taajuuden nosto/signaalien leveys (mitä lyhyempi signaali, sitä nopeampi tiedonsiirto)
  • tasoja lisäämällä.

Luennolla käytiin läpi eri siirtoteitä, niiden ominaisuuksia ja eroja. Hyödyllisenä pidin kuvaa tietoliikenteen sähkömagneettisesta spektristä, koska sen avulla oli helppo hahmottaa johtimellisten ja johtimettomien siirtotapojen eroja. Parikaapelista jäi mieleen seikka, jota en ollut koskaan ajatellut: mitä tiuhempaan kierretty (tiukempi) kierre, sitä parempi suorituskyky eli siirtonopeus. Selvisipä sekin!

Tietoliikennetekniikan terminologiaa läpikäytäessä käsittelimme myös nuo ”ennakkotunnelmissa” mainitut half duplex ja full duplex (myös simplex) nopeasti, mutta riittävän selvällä tasolla. Opin, mitä käsitteet käytännössä merkitsevät.

Kokonaisuudessaan toinen luentopäivä sisälsi aika tiukkaa tavaraa, niin määrällisesti kuin laadullisestikin.

3. luentopäivä: taas työkiireiden johdosta myöhästyin pari tuntia luennon alusta –ja kuulemma missasin pistokokeet. Olin siis ryssinyt molemmat mahdollisuudet bonuspisteisiin! Purnasinkin mielessäni, että hyvän eli pätevän poissaolosyyn takia pitäisi saada jonkinlaista kompensaatiota, jos tämä pätevä syy liippaisi edes jollain tapaa tietoliikennetekniikkaa. [No, tällä erää ”pätevä tekosyy” myöhästymiseeni koski i/o:ta ja sitä, että rinnakkaisella i/o:n ajolla saavutetaan huomattavia suorituskykypetrauksia etenkin, jos kannat on hajautettu useaksi eri LUN:ksi, ja että kantaa ja tietoliikenneyhteyksiä on aina niin helppo syyttää, jos asetta suurempi sovellusympäristö hidastuu, vaikka root cause löytyisikin huonosti koodatusta sovelluksesta ja sen tavasta käyttää indeksejä… Niin no, onhan tällä kyllä varsin huterat liittymäpinnat suoraan tietoliikennetekniikan perusteihin, joten hyvästellään bonarit.]

Mutta pistari- ja läsnäolobonusten sijaan olen poissaolojeni aikana oppinut ainakin jollakin tasolla sen, mitä HostFlapping ja mac-osoitteiden törmäily tarkoittaa, ja tämän kolmannen luentopäivän jälkeen tiedän myös miten kanavointi voi siihen liittyä!

Kolmannella luennolla käsiteltiin mm. siis eri kanavointimenetelmiä. Kanavointi itsessään on ajatuksena varsin yksinkertainen ja järkeenkäypä, mutta itselleni eri kanavointimenetelmät, niiden ominaisuudet, suorituskyky ja tiedon erilainen viipalointi ja siirto ovat jokseenkin hankalia sisäistää ja jäsennellä. Vaatii lisätyötä ja ekstra-materiaalia auetakseen.

Lisäksi kolmannen luennon aiheita olivat piiri- ja pakettikytkentäiset verkot, mitkä sinällään ovat varsin selkeitä asioita ja helpohkosti luentomateriaalista ymmärrettävissä. Myös reititys ja lähiverkko (Local Area Network) käsiteltiin luennolla ja jotain nopeaa ja yleistä internetistä ja sen arkkitehtuurista.

Ennakkotunnelmissa esille tuomani kysymys koskien runkokytkinten vaihtamista ja kuituyhteyden päällä oloa aukesi kolmannen luennon aikana ja myös sen jälkeen töissä asiasta keskusteltaessa. Reititys on vain liikenteen reitittämistä eteenpäin ja vaikka kyseessä olisikin esim. runkokytkimen vaihtaminen, boottaaminen tai muu katkon aiheuttava huoltotoimenpide, on sen vaikutukset esim. johonkin palveliympäristöön aivan eri luokkaa (aivan eri asia) kuin esim. kuituyhteyden katkeaminen: isoissa ympäristöissä liikennettä voidaan tarvittaessa ohjata kulkemaan toisten kytkinten kautta eli uudelleenreitittää (rerouting) tai sitten yksinkertaisesti stopata reititys huoltotoimenpiteen ajaksi. Tällöin jokin tietty palvelinympäristö voi vain vastata hieman hitaammin (ei-optimaalinen reitti) tai maksimissaan liikenne palvelimelle/palvelimelta on määrätyn ajan poikki –ei yleensä esim. kaada palvelimia. Sitä vastoin jos kuituyhteydet katkeavat tai pätkivät samalla kun kytkinremontteja tehdään, voi sillä olla katastrofaaliset vaikutukset: isoissa ympäristöissä palvelimia on kytketty kuiduilla esim. levyjärjetestelmiin, ja jos nämä yhteydet pätkivät voivat eri kantaklusterit hävittää levyt näkyvistä → crash.

Äärimmäisen hyvä ja tärkeä kurssi, jonka aikana sain kerrata vanhaa aiemmin opittua, mutta opin myös paljon uutta. Itselleni suurin ja tärkein anti kurssista on se, että ymmärrän jatkossa paremmin mitä töissä puhutaan tietoliikenteeseen liittyen :)

Valitettavasti töiden takia on kaikki pään sisäiset kaistat olleet täysin tukkeessa ja kaikki varsinaiset kotitehtävät ovat jääneet tekemättä. Myöskään ensimmäiseen aikuisten TIMO-tenttiinkään 5.11. ei ollut mitään asiaa, joten siinä mielessä “kotitehtäviä” tulee tehtyä vielä rutkasti tammikuun puolella. Pikatoimituksiin näissä kotitehtävissä en nyt siis taivu, vaikka tiedänkin vahingoittavani sillä vain itseäni. Ehkä tammikuun tenttiin valmistautuessa osaan myös piirtää full duplexin, half duplexin, HostFlappingin, kytkimet ja kuidut samaan loogiseen kuvaan…

Kotitehtävä 1 Onnettomasti ennakkotunnelmissa tulin maininneeksi aivan liian vaikeita tietoliikenteen asioita, joihin olin tuolloin työssäni törmännyt. Käsitteet eivät olleet selviä silloin, eikä kyllä sen jälkeenkään kun ne minulle ensimmäisen kerran kuvattiin, eikä kokonaisuudessaan -ikävä kyllä- vielä tämän peruskurssin jälkeenkään.

Sanahirviövalintoja olivat siis: mac-osoitteet, virtuaalialusta (esim. ESX), host flapping, kuituyhteys, kytkimet ja full/half duplex.

Oheisessa kuvassa raakile aloituskokonaisuus lähtökohdasta, jossa todellakin on vielä aukkoja. kotitehtaevae_1_0352777.pdf

Kotitehtävä 2

Alla kuvatusten jatkojalostusta. Kuvassa 2a on yritetty kertoa, että tietoliikenne palvelimelta tai tässä tapauksessa virtuaalialustalta (esim. ESX) voi lähteä usealle kytkimelle -tässä esimerkissä kahdelle. Ensimmäisessä kuvassa näitä kahta kytkintä ei ole klusteroitu, vaan niillä molemmilla on omat forwarding taulunsa, joiden perusteella ne ohjaavat liikennettä eteenpäin. Jos toinen kytkimistä vikaantuu, failover -määritys kääntää liikenteen kulkemaan toimivan kytkimen kautta, jonka forward taulutietojen mukaan liikenne ohjautuu eteenpäin. kotitehtaevae_2a_0352777.pdf

Kuvassa 2b kytkimet on klusteroitu, jolloin molemmat kytkimet käyttävät samaa FDW taulua. Klusteroinnissa voidaan hyödyntää kuormanjakoa (load balancing), jonka tehtävänä nimensä mukaan on jakaa kuormaa vähemmän kuormittuneelle laitteelle. kotitehtaevae_2b_0352777.pdf

Kuvassa 2c on yritetty jollain tavalla ymmärtää (siis HUOM! ymmärtää!) ja esittää, mitä host flapping eli mac-osoitteiden törmäily voi tarkoittaa. kotitehtaevae_2c_host_flapping_0352777.pdf

Jostain olin ymmärtävinäni, että myös klusteroimattomissa reitittimissä voidaan käyttää kuormanjakoa, jolloin kytkin “näkee” kahden eri interfacen kautta samat access control osoitteet, mutta käytännössä minulla ei ole hajuakaan miten se toteutetaan, saatika piirretään kuvaksi tai kerrotaan sanallisesti. Ehkä se onkin sitten jo jatkokurssin asioita…

Harmillisesti host flappingistä ei ollut tällä kurssilla puhetta, joten kurssimateriaalien perusteella en osaa tätä tietoliikennekuviota piirtää tai edes ymmärtää tämän paremmin. Nettilähteistä löytyy toki runsaasti aiheesta tietoa ja keskustelua, mutta jossain määrin senkin seuraaminen ja ymmärtäminen vaatisi karvan verran syvempää tietoliikenneosaamista. Esim. http://www.techrepublic.com/forum/questions/101-341438 http://www.cisco.com/en/US/tech/tk870/tk877/tk880/technologies_tech_note09186a008011b481.shtml

Kotitehtävä 3

Kevyttä mietintää, miten protokollat TCP/UDP, IP, ICMP ja ARP sijoittuvat aiemmin mainittuu aihepiiriin.

TCP (transmission control protokol) on kuljetuskerroksen protokolla, joka tarjoaa luotettavan yhteyden end-to-end tiedonsiirrossa, ja jonka tehtävänä on luoda yhteyksiä eri verkkoasemien välille. TCP huolehtii liikenteen ohjauksesta (vuonvalvonta ja ruuhkanhallinta) sekä siitä, että paketit saapuvat perille oikeassa järjestyksessä. Lähettävässä päässä se pilkkoo sovellussanomat segmentteihin ja ohjaa ne verkkokerrokselle, ja vastaanottavassa päässä se kasaa vastaanotetut segmentit sanomaksi ja ohjaa ne sovelluskerookselle. Kuljetuspalveluiden tehtävänä on myös tarjota looginen yhteys eri verkkoasemilla pyörivien sovellusprosessien välille.

UDP (user datagram protocol) on myös kuljetuskerroksen protokolla, mutta se on sitä vastoin epäluotettava, yhteydetön protokolla, joka ei vaadi yhteyttä laitteiden välille, mutta mahdollistaa tiedostojen siirron. Epäluotettavuus tulee siitä, että UDP ei varmista pakettien perillemenoa päästä päähän, eikä siinä suoriteta alkukättelyä, pakettien kuittailua eikä kolmivaiheista yhteyden lopettamista (http://fi.wikipedia.org/wiki/UDP).

Internet-protokolla (IP) toimii verkko- eli internet-kerroksella ja se mahdollistaa verkkojen välisen pakettien reitityksen IP-osoitteiden avulla. Tällä hetkellä suurin osa käytössä olevista IP-osoitteista on 32-bittisiä IPv4-osoitteita, mutta IPv4-osoitteet ovat käytännössä tällä hetkellä jo loppuneet eli kaikki mahdolliset osoitteet ovat jo käytössä tai varattuja. Tulevaisuudessa ollaan siirtymässä IPv6- eli 128-bittisiin osoitteisiin.

ICMP (Internet control message protocol) on TCP/IP mallin kontrolliprotokolla, jolla lähetetään nopeasti viestejä koneesta toiseen. Arkkitehtuurisesti ICMP-protokolla toimiin IP:n päällä ja esim. ping (ping reply) on yksi ICMP-tyypeistä. Ping on TCP/IP-protokollan työkalu, jolla voidaan kokeilla jonkun tietyn laitteen saatavuutta (sen “vastaamista”). Pingillä saadaan tulosteena yleensä vastaus lähetettyjen ja vastaanotettujen pakettien määrästä ja vasteajasta eli ajasta, joka paketilta kuluu matkaan lähettäjältä vastaanottajalle ja takaisin. Ping lähettää emokoneelta pingattavalle vastalaitteelle ICMP echo request -paketin, johon vastalaite vastaa omalla echo reply -paketilla. (http://fi.wikipedia.org/wiki/Ping) Yleensä normaalitilanteessa lähiverkon sisällä vastaaika eli latenssi on alle millisekunnin luokkaa, hitaammissa yhteyksissä (esim. kaapelimodeemi) hieman pidempi. Ping-palvelu ei prosessoi saapuvaa pakettia mitenkään, vaan palauttaa lähettäjälle vastauksen heti paketin saavuttua. Pingauksen ensisijainen ja alkuperäinen tarkoitus on selvittää mahdollisia verkko-ongelmia.

ARP (address resolution protocol) on protokolla, jolla Ethernet-verkoissa selvitetään IP-protokollaa käytettäessä IP-osoitetta vastaava Ethernet- eli MAC-osoite. Jotta laite voisi liikennöidä toisen laitteen kanssa Ethernet-verkossa, sen täytyy tietää toisen laitteen MAC-osoite. Ennen liikennöintiä kone lähettää verkkoon ARP-kyselyn, johon se liittää haluamansa IP-osoitteen. Kaikki koneet kuulevat viestin ja se, jolla on kyseinen IP-osoite, lähettää ARP-vastausviestissä oman MAC-osoitteensa. Liikennöivä kone tallentaa tuon vastauksen myös välimuistiin (ARP cache), joten ARP-kyselyä ei tarvitse tehdä ennen jokaista liikennöintiä. (http://fi.wikipedia.org/wiki/ARP)

kotitehtaevae_3_0352777.pdf

Kotitehtävä 4

Langaton LAN eli WLAN (Wireless Local Area Network)

Lähiverkkokonsepti kehitettiin 1970-luvulla korvaamaan point-to-point -linkit, jotta verkkoja voitiin jakaa useamman käyttäjän kesken. Viime vuosina ihmisten liikkuvuus ja mobiililaitteiden kehitys on nostanut yhä enenevässä määrin tarpeita langattomien verkkojen saatavuudelle. Langattomissa lähiverkoissa hyödynnetään ilmatietä, jolloin päästään eroon mm. monimutkaisista johdotuksista ja voidaan pystyttää hyvinkin helposti tilaipäisiä verkkoja. Yleisimpiä langattomien LAN:ien käyttökohteita ovat perinteisten paikallisverkkojen laajentaminen, rakennusten ja toimitilojen yhdistäminen ja kannettavien työasemien ja mobiililaitteiden käytön lisääminen.

Langattomille LAN:eille voidaan määrittää muutamia vaatimuksia kuten esim. dynaaminen konfigurointi, luotettavuus ja turvallisuus, liikkuvuus ja laaja palvelualue, suuri asemien määrä, yhteys runko-LANiin ja kapasiteetin maksimointi.

Teknologiana WLANeissa käytetään mm. infrapunaa (IR), joka toimii varsin suppealla alueella, ja hajaspektristä laajakaista-LANia. Langattoman lähiverkon fyysinen osa on toteutettu yleensä kuitenkin radioteitse ja ainoastaan tukiasema on kytketty johdolla verkkolaitteeseen (esim. kytkin, reititin). Suurissa sokkeloisissa tiloissa WLAN voi olla ongelmallinen, koska kuuluvuusalue on rajallinen ja fyysiset paksut esteet voivat häiritä langattoman signaalin vahvuutta.

Langattomien verkkojen nopeudet vaihtelevat 0,8 - 32 Mbps välillä, mutta teoreettinen nopeus voi olla 1-54 Mbps. Luonnollisesti suurin kapasiteetti toteutuu hyvällä radiokuuluvuudella, mutta teoreettiseen maksimikuuluvuuteen päästään vain harvoin. Välimatkat langattomassa verkossa voivat olla jopa 5-10 kilometriä, mutta suuret etäisyydet laskevat verkon nopeutta ellei lähiverkkoon ole sijoitettu useita tukiasemia.

Langattoman lähiverkon standardina on IEEE802.11, mutta standardointi jatkuu yhä edelleen, sillä langattomien verkkojen nopeus kasvaa koko ajan. Uusimmat standardit ovatkin jo IEEE802.11b ja 802.11g.

Langattomien verkkojen käytössä on kolme taajuusaluetta: 915 MHz 2,4 GHz 5 GHz

Taajuuden kasvaessa myös kaistan leveys ja nopeus kasvavat, mutta vastaavasti kuuluvuus alue pienenee. Nopeusluokkia ovat esim. 802.11 5,5 Mbps 802.11b 11 Mbps 802.11g jopa 54 Mbps

Langaton työasema voi liikkua eri langattomien työasemien alueella ja liikkuvuus on mahdollistettu IAPP (Inter-Access Point Protocol Specification) protokollalla.

Kotitehtävä 5

Persoonattomin, mutta helpoin, valinta tietoverkkojen käyttöskenaarion osoittamiseksi on kuvata tietoliikenneyhteyksiä kotoa verkkoon. Kuvasta puuttuu VPN-tunneli esim. työmaan LAN:iin, koska en saanut sitä piirrettyä järkevästi näkyviin. Mielenkiintoista on kuitenkin se, että kotona WLAN:ssa VPN:n yli tulostus työmaan LAN:ssa olevalle tulostimelle toimii yllättävän moitteetta. kotitehtaevae_5_0352777.pdf