Tik-109.300/110.300 Tietoliikennearkkitehtuurit, harjoitustehtävä 7:

Fibre Channel

Heikki Tauriainen, 45382M

Fibre Channel eli kuitukanava on kokoelma ANSI:n (American National Standards Institute) ja ISO:n (International Standards Organization) standardeja, jotka määrittelevät yhtenäisen tavan siirtää tietoa niin tietokoneiden kuin myös niihin liitettyjen oheislaitteiden (esimerkiksi keskitettyjen levy- tai nauhapalvelinten, kirjoitinten tai näyttöjen) välillä. [1, 2]

Laitteistotasolla toimivan kanavan tehtävänä on siirtää tietoa virheettömästi mahdollisimman nopeasti paikasta toiseen ilman pitkiä viiveitä ja toisaalta ilman taukoja. Ohjelmistotasolla toimivat verkot taas mahdollistavat usean pisteen välisen 'satunnaisen' tiedonsiirron. Fibre Channel on kanavan ja verkon välimuoto ja tekee mahdolliseksi usean pisteen väliset laitteistotasolla toteutetut nopeat yhteydet. [3]

Erilaiset topologiat

Fibre Channelissa tietoa siirretään laitteissa olevien loogisten porttien välillä, ja kullakin laitteen portilla on oma tunnus. Portit ovat toiminnoiltaan samanlaisia, mutta niitä kutsutaan eri topologioiden perusteella eri nimillä. Erilaiset topologiatyypit ovat kahden pisteen välinen (point-to-point-) yhteys, rengas ja 'kudos' (Fabric), joka on toisiinsa liitettyjen Fibre Channel -kytkinten muodostama verkko. Kaikissa topologioissa tietokehyksiä ohjataan niiden sisältämien porttiosoitteiden perusteella. Portit siis toimivat tietokehysten reitittiminä. [2, 4]

Eri topologiatyypit eivät aseta kaapelointien ja siirtonopeuksien lisäksi mitään erityisiä toimintavaatimuksia kanavaan kytketyille laitteille, vaan kuitukanavan rakenne on yhdentekevä siihen kytkettyjen laitteiden kannalta, koska tietoa siirretään vain portista toiseen. Myös eri topologioita käyttävät kuitukanavaverkot ovat yhdistettävissä toisiinsa. [5]

Kahden pisteen välinen yhteys (point-to-point) on yksinkertaisesti liitäntä kahden laitteen välillä. Tiedonsiirtonopeuden on oltava sama molempiin suuntiin, ja molempien laitteiden on ilmeisestikin käytettävä myös samanlaisia kaapelointeja. [6]

Rengastopologiassa, jolla on kuitukanavan tapauksessa nimi FC-AL (Fibre Channel - Arbitrated Loop) laitteet on liitetty rengasmaisesti toisiinsa. Renkaaseen voidaan liittää enintään 126 laitetta. Siirtokanavaa saa käyttää yksi laite kerrallaan. Laitteet ratkaisevat lähetysvuoron laitteiden porttien osoitteiden suurusjärjestyksen mukaan. Mikään laite ei kuitenkaan saa lähettää tietoa uudelleen ennen, kuin renkaan kaikki muut laitteet ovat välillä saaneet lähetysvuoron. Tässäkin topologiassa kaikkien laitteiden on toimittava samalla siirtonopeudella, ja kaapelointien on oltava samanlaiset. [6, 7]

Rengastopologian ongelmana on, että yksi epäkuntoinen laite voi tehdä koko renkaan toimintakyvyttömäksi, koska tietokehykset reititetään aina laitteiden porttien kautta. Tämä ongelma voidaan kiertää käyttämällä portinohituspiirejä (PBC, Port Bypass Circuit), jotka ohjaavat kehykset eteenpäin silloinkin, kun piiriin kytketty laite ei ole toiminnassa. Tähän tarkoitukseen voidaan verkoissa käyttää myös erillisiä keskittimiä. [4]

Kolmantena mahdollisuutena on käyttää kytkentäistä kudosta (Switched Fabric), jossa jokainen laite on liitetty kytkimiin, jotka on puolestaan edelleen yhdistetty toisiinsa. Kahden kytkimen välillä täytyy olla useita rinnakkaisia tiedonsiirtokanavia, jotta niiden kautta voitaisiin muodostaa useita erillisiä yhteyksiä samanaikaisesti. Kytkintopologiassa voidaan liittää 2^24 (16 miljoonaa) laitetta toisiinsa. Itse asiassa myös edellä esitettyyn renkaaseen voidaan liittää 127:ntenä laitteena kytkin, joka yhdistää renkaan osaksi kudosta. Kytkintopologiassa eri laitteet voivat siirtää tietoa eri nopeuksilla ja käyttää myös erilaisia kaapelointeja. [6]

Palveluluokat [5, 8]

Fibre Channel-standardi määrittelee neljä erilaista palveluluokkaa. Luokan 1 palvelu tarjoaa piirikytkentäisen yhteyden kahden pisteen välillä. Siirtokanavan koko kaistanleveys varataan siis pysyvästi yhteyden ajaksi vain kahden laitteen käyttöön. Yhteydettömässä luokan 2 palvelussa siirretään tietoa varaamatta kanavaa kokonaan, jolloin eri laitteet voivat jakaa saman tiedonsiirtokanavan keskenään. Luokan 1 ja 2 palvelutasoilla kehysten virheetön vastaanotto kuitataan, ja virhetilanteessa kehys lähetetään uudelleen. Toisin kuin luokassa 1, 2. luokassa kehykset eivät välttämättä saavu perille samassa järjestyksessä, kuin ne on lähetetty. Luokan 3 palvelu on luokan 2 tavoin yhteydetön, mutta kehysten vastaanottoa ei kuitata. Tätä palvelua voidaan käyttää esimerkiksi haluttaessa lähettää tietoa samalla kertaa useille vastaanottajille. Luokan 4 palvelu on yhteydellinen palvelu, jossa siirtokanavan kaistanleveydestä varataan fyysisellä tasolla osa kahden pisteen väliseen tiedonsiirtoon. Tämä palvelumuoto takaa yhteydelle vakiosiirtonopeuden ja -siirtoviiveet.

Fibre Channel -standardin kerrokset

Fibre Channelin ominaisuudet on määritelty OSI-mallin tavoin kerroksittain. Fibre Channel koostuu viidestä eri kerroksesta, joiden toiminnot on fyysisesti täysin eristetty toisistaan. Kolme alinta kerrosta (FC-0 - FC-2) määrittelevät fyysisen tason FC-PH -standardin. [5]

Fyysisen tason kerros FC-0 määrittelee käytettävät tiedonsiirtovälineet (kaapelit, littimet, lähetin- ja vastaanotinkomponentit) ja -nopeudet. Tiedonsiirto on sarjamuotoista, ja se tapahtuu molempiin suuntiin samanaikaisesti kahden yksisuuntaisen kaapelin avulla. Nimestään huolimatta Fibre Channel -standardin mukaan tietoa voidaan siirtää optisten kuitujen lisäksi myös joko kuparisten koaksiaalikaapeleiden tai suojattujen kierrettyjen parikaapelien (STP, Shielded Twisted Pair) avulla. Suojaamattomia kierrettyjä parikaapeleita ei kuitenkaan voi käyttää. Optiset kuidut voivat olla joko yksi- tai monimuotokuituja, halkaisijaltaan 8,3 (yksimuotokuitu), 50 tai 62,5 (monimuotokuitu) mikrometriä. [5, 6, 9]

Optisissa kuiduissa käytetään joko pitkä- tai lyhytaaltolaseria. Lyhytaaltolaser voi suuren tehonsa vuoksi aiheuttaa silmävaurioita, ja tämän vuoksi standardi määrittelee lyhytaaltolaseria käytettäessä laitteiden välisen kättelymekanismin (OFC, Optical Fibre Control), jonka perusteella signaalin lähettäminen lopetetaan, jos yhteyskaapeli on toisesta päästään irti. Pienitehoisempaa laseria käytettäessä suojamekanismia ei tarvita, joten laitteisiin ei silloin ole toteutettu kättelymekanismia. Tästä kuitenkin seuraa, että eri laserit eivät ole keskenään yhteensopivia. [4]

Mahdolliset signalointinopeudet ovat 131,8125, 265,625, 531,5 ja 1062,5 megabaudia. Koska lähetettävään informaatioon joudutaan lisäämään ylimääräistä dataa, niin edellä mainittuja signalointinopeuksia vastaavat todelliset tiedonsiirtonopeudet ovat vastaavasti 100, 200, 400 ja 800 Mbps. Myös 2125 ja 4250 megabaudin signalointinopeudet on määritelty. Suurimmat mahdolliset siirtomatkat kuparikaapeleilla ovat kymmenien metrien luokkaa, mutta käyttämällä optista yksimuotokuitua ja pitkäaaltoista laseria voidaan tietoa siirtää suurimmalla mahdollisella nopeudella 10 km. Siirrossa tapahtuvien bittivirheiden todennäköisyys on alle 10^-12. [4, 7, 8]

FC-1 -kerros määrittelee siirrettävän tiedon koodaustavat ja merkkikohtaisen virheenvalvonnan ja synkronoinnin. Siirrettävät 8-bittiset bittijonot muunnetaan IBM:n kehittämällä 8B/10B-koodausmenetelmällä 10 bitin pituisiksi jonoiksi, ns. lähetysmerkeiksi (Transmission Character). Osa jonoista on erikoismerkkejä, joilla ohjataan itse tiedonsiirtoa. Koodausmenetelmän avulla signaalista pystytään poistamaan tasavirtakomponentti, ja menetelmän avulla signaaliin saadaan myös riittävästi vaihtelua kellosynkronismin säilyttämiseksi. [4, 8]

FC-2 -kerros toimii Fibre Channelin kuljetuskerroksena ja huolehtii siis porttien välisestä tiedonsiirrosta. Kerros määrittelee myös standardin eri palvelumuodot sekä luokittelee siirrossa käytettävät datakokonaisuudet. Järjestetyt joukot (Ordered Sets) ovat erityisiä nelitavuisia bittijonoja, joita käytetään mm. kehysten aloitus- ja lopetusmerkkeinä. Siirrettävä tieto jaetaan korkeintaan kahden kilotavun kokoisiksi kehyksiksi (Frames), joihin liitetään lähde- ja kohdeporttien osoitteet, mahdollisesti myös (käytettäessä palvelua, jossa vastaanotetut kehykset kuitataan) kehyksen järjestysluku sekä 32-bittinen CRC-tarkistuskoodi. Myös erityisiä tiedonsiirtoa ohjaavia kehyksiä (esim. kuittauskehykset) käytetään. Toisiinsa loogisesti liittyviä tiettyyn suuntaan siirrettyjä kehyksiä kutsutaan jonoksi (Sequence), ja saman yhteysjakson aikana siirrettyjä jonoja vaihdoksi (Exchange). Standardissa määritellään FC-2 -tasolle myös muutamia tiedonsiirtoa ohjaavia protokollia, kuten yhteyden muodostamis- ja purkamisprotokollat. FC-2 -kerros huolehtii myös vuonvalvonnasta, joka perustuu liukuvan siirtoikkunan käyttöön. Vuonvalvonta voi olla käytettävästä palvelutasosta riippuen vain päätepisteiden välistä, mutta sitä voidaan myös tehdä erikseen jokaisella päätepisteiden osavälillä. [8, 10]

FC-3 -kerros toteuttaa palveluja, jotka liittyvät pääasiassa tiedon lähettämistä useisiin portteihin samalla kertaa. Esimerkiksi siirtoyhteyden kaistanleveyttä voidaan kasvattaa varaamalla samaa yhteyttä varten useita portteja (Striping). Eri laitteiden porteille (joilla siis on eri osoitteet) voidaan määritellä kaikkia portteja yhteisesti tarkoittava osoite (Hunt Grouping -menetelmä). Toisaalta voidaan myös lähettää sama tieto useille eri porteille samaan aikaan (Multicasting). Myös esimerkiksi tiedon kompressointi voidaan toteuttaa tässä kerroksessa. [7, 8]

FC-4 -kerros määrittelee rajapinnan Fibre Channelin ja sitä siirtotienä käyttävien sovellusten välille. Tätä kerrosta varten on myös laadittu joukko standardeja, joiden avulla periaatteessa jopa Fibre Channelia vastaavien tiedonsiirtoprotokollien toiminnot voidaan kuvata vastaaviksi Fibre Channelin toiminnoiksi ja siten käyttäjän kannalta huomaamattomasti mahdollistaa täysin erilaisten tiedonsiirtoprotokollien käyttö rinnakkain samassa siirtokanavassa. Tällöin samassa siirtokanavassa voi siis esimerkiksi liikkua samaan aikaan palvelinten välisiä IP-paketteja ja jollekin oheislaitteelle tarkoitettua SCSI-dataa. Tämä on mahdollista, koska kuitukanavassa merkitystä on ainoastaan kehysten osoitteilla, ei niinkään kehysten sisältämällä informaatiolla. [8, 11]

Kuitukanavan tukemat muut tiedonsiirtostandardit ovat SCSI-3 (Small Computer System Interface), IPI-3 (Intelligent Peripheral Interface), HIPPI (High-performance Parallel Interface), IP (Internet Protocol), ATM/AAL5 (Asynchronous Transfer Mode Adaptation Layer Five), FC-LE (Link Encapsulation, paikallisverkkojen LLC-protokolla), FDDI (Fiber Distributed Data Interface), Token Ring ja SBCCS (Single Byte Command Code Set) [7, 10]. Näiden protokollien kaikki tiedonsiirto voidaan siis toteuttaa kuitukanavan toimintojen avulla.

Kuitukanavan suorituskyky ja soveltuvuus eri tarkoituksiin

Kuitukanava on tietokoneen ja oheislaitteiden välisessä tiedonsiirrossa kaksi kertaa niin nopea kuin esimerkiksi SCSI-, IPI- tai HIPPI-kanavat, koska tietoa voidaan kuitukanavaa pitkin siirtää kaksisuuntaisesti. Tietokoneiden keskinäinen tiedonsiirto voidaan toteuttaa usean rinnakkaisen kuitukanavan avulla, jolloin siirtoa varten käytettävissä oleva kaistanleveys on suoraan verrannollinen kanavien määrään. Laitteistotasolla toteutettujen ominaisuuksiensa ansiosta kuitukanavan viiveet (kymmeniä mikrosekunteja) ovat lyhyempiä kuin ohjelmistopainotteisemmissa verkoissa, kuten ATM:ssä. [10]

Kuitukanava ei kuitenkaan korvaa muuta verkkoteknologiaa, vaikka jotkin valmistajat kuitukanavan ylivoimaisuuteen uskovatkin. Kuitukanavan verkkokäyttösovellukset rajoittuvat lähinnä LAN- ja MAN-verkkoihin [4].

Koska kuitukanava mahdollistaa useiden erilaisten tiedonsiirtoprotokollien käytön, sitä voidaan kuitenkin käyttää muiden verkkotekniikoiden ohella ja parantaa joissakin tapauksissa niiden suorituskykyä. Parhaiten kuitukanava soveltuu suuria tietomääriä, kuten grafiikkaa ja liikkuvaa kuvaa käyttäviin sovelluksiin. [1]


Kuitukanavaan liittyviä linkkejä

Seuraavassa on joitakin kuitukanavaan liittyviä linkkejä, jotka on arvosteltu tähtiasteikolla (1-5 tähteä).

CERN Fibre Channel Homepage *****
Laaja kokoelma kuitukanavaan liittyvää tietoa.

Fibre Channel Glossary *****
Kuitukanavatekniikkaan liittyvien termien ja lyhenteiden selityksiä.

Fibre Channel Frequently Asked Questions ****
Melko laaja kokoelma kuitukanavaa koskevia kysymyksiä ja vastauksia.

Fibre Channel Overview ****
Kuvaus kuitukanavastandardin eri kerroksista ja palveluista.

IBM Research Report: Fibre Channel ****
Kuvaus kuitukanavasta ja sen ominaisuuksista (postscript-muodossa).

FCS (Fibre Channel Standard) Resources ****
Fibre Channel -tekniikkaan liittyvä linkkikokoelma.

Fibre Channel ***
Yleinen kuvaus Fibre Channel -tekniikasta.

K. Martens: Introduction to Fibre Channel ***
Lyhyt kuvaus kuitukanavasta.

Selecting Fibre Channel Topologies ***
Dokumentti kuitukanavan erilaisista topologioista, niiden ominaisuuksista ja rajoituksista.

OSS: Research - Fibre Channel ***
Teknisiä Fibre Channel -dokumentteja ja -standardeja.

Fibre Channel: Fast and Flexible ***
Artikkeli kuitukanavan soveltuvuudesta verkkokäyttöön.

Fibre Channel - Arbitrated Loop: The Preferred Path to Performance **
Tiivistelmä FC-AL -teknologiasta.

Fibre Channel Standards and Organizations **
Lyhyt luettelo kuitukanavaa kehittävistä järjestöistä.

Fibre Channel FAQ **
Toinen kuitukanavaan liittyvien kysymysten ja vastausten luettelo.

Fibre Channel Fast Facts *
Lista kuitukanavan ominaisuuksista.

ATM vs. Fibre Channel *
Lyhyt artikkeli ATM:n ja kuitukanavan suorituskyvystä.


Lähdeluettelo

[1] About Interconnects and Fibre Channel Technology - 15. 9. 1997
< http://www.vixel.com/faqs/index.html >

[2] Fibre Channel General Introduction - 31. 1. 1995
< http://www.fibrechannel.com/FCintro.html >

[3] Channel Networking, The High Bandwidth Low Latency Solution - 30. 10. 1997
< http://www.ancor.com/chnlnet.htm >

[4] Fibre Channel Frequently Asked Questions - 1. 5. 1996
< http://www.symbios.com/fclc/frame_fclc-faqr1.html >

[5] Fibre Channel Fusion: Low Latency, High Speed - February 1995
< http://www.data.com/Tutorials/Fibre_Channel_Fusion.html >

[6] Selecting Fibre Channel Topologies - 4. 5. 1997
< http://www.emulex.com/topologies.htm >

[7] IBM Research Report: Fibre Channel - 17. 11. 1995
< http://www.watson.ibm.com:8080/PS/7861.ps.gz >

[8] Zoltán Meggyesi: Fibre Channel Overview - 11. 5. 1997
< http://www.cern.ch/HSI/fcs/spec/overview.htm >

[9] Fibre Channel - 28. 11. 1995
< http://rd13doc.cern.ch/public/doc/Thesis-Spiwoks/Thesis_37.html >

[10] Inside Fibre Channel - 30. 10. 1997
< http://www.ancor.com/inside.htm >

[11] Fibre Channel - 12. 12. 1995
< http://www.cs.bsu.edu/homepages/vreddy/cs637/FC.html >