Marsruutimine
Sisukord
Sissejuhatus
Internet
on laivõrk, mis koosneb paljudest omavahel ühendatud kohtvõrkudest.
Kohtvõrk
on selline arvutivõrk, kus kõik sinna kuuluvad arvutid saavad omavahel otse, ilma täiendavate võrguseadmeteta, näiteks ruuteriteta, suhelda. Skeemil on kujutatud kolm masinat A, B ja C, mis asuvad ühes võrgus.
A B C ___ ___ ___ | | | | | | |___| |___| |___| | | | |-----|-----------|-----------|------|
Kui kaks erinevates võrkudes asuvat arvutit soovivad andmeid vahetada, peab kõige lihtsamal juhul leiduma üks masin, mis asub korraga mõlemas võrgus ja mille kaudu andmed liiguvad.
Erilisi, mitme võrguseadmega samaaegselt mitmesse võrku ühendatud aparaate, mis jälgivad ning suunavad andmevooge sobivalt edasi, nimetatakse ruuteriteks.
Näide: skeemil on kujutatud kolm võrku v1, v2 ja v3 ning igas neist kolm arvutit. Need võrgud on üksteisega ühendatud ruuteri R vahendusel.
v1-A v1-B v1-C ___ ___ ___ | | | | | | |___| |___| |___| | | | |-----|-----|-----|-----------|------| | | v2-A v2-B v2-B | ___ ___ ___ | | | | | | | __|__ |___| |___| |___| | | | | | | R |-----------|-----------|-----------|-----| |_____| | | | |-----|-----------|-----------|-----------|------| _|_ _|_ _|_ | | | | | | |___| |___| |___| v3-A v3-B v3-C
Kui näiteks arvuti v3-B soovib suhelda arvutiga v1-C, liiguvad andmed läbi ruuteri R. Samasse võrku ühendatud suvalised arvutid saavad ilma ruuteri abita andmeid omavahel vahetada.
Arvutite võrkudesse grupeerimise üks põhjusi on andmeliikluse lokaliseerimine.
Mõnel puhul käsitletakse kohtvõrguna füüsiliselt ühe asutuse sisse jäävat võrku, kusjuures see võib koosneda mitmes väiksemast võrguseadmete abil ühendatud võrgust.
IP-aadressid
Kuivõrd Internetis ja suures osas Linuxi, FreeBSD, Solarise ja Windowsi operatsioonisüsteeme kasutavate tööjaamadega kohtvõrkudes tarvitatakse TCP/IP võrguprotokolle, käsitletakse käesolevas palas vaid seda, mis puutub TCP/IPsse.
Iga TCP/IP võrgus olevat võrguseadet identifitseerib unikaalne arv - seadme IP-aadress (ehk IP-number). Kuna enamasti on arvutil vaid üks võrguseade (näiteks võrgukaart), siis kõneldakse ka arvuti IP-aadressist. Samal ajal on näiteks ruuteril mitu võrguseadet ja igal neist oma IP-aadress.
Tänapäeval (aasta 2000 lõpp) kehtiva IPv4 standardi kohaselt märgitakse IP-aadresse neljaelemendiliste arvukombinatsioonidena, kusjuures iga elemendi väärtus võib olla 0 ... 255 ning neid eraldatakse üksteisest punktiga. Näiteks on korrektne IP-aadress 193.40.10.130.
Järgneva paremaks mõistmiseks tuleb arvestada, et arvutites väljendatakse elementidele vastavaid arve kahendsüsteemis. Nii vastab näites toodud IP-numbrile kahendsüsteemis arv
193 . 40 . 10 . 13 1100 0001 0010 1000 0000 1010 0000 1101
IP-aadressi esitamiseks on vaja nelja baiti ehk 32 bitti. Niisiis, IPv4 standard näeb ette 2^32 erineva aadressi kasutamise.
IP-aadresside klassid
Ruutingu efektiivsemaks korraldamiseks on IP-aadressid grupeeritud klassidesse. See teeb ruuterite konfigureerimise mugavamaks, kuna seadistamisel kirjeldatud reeglid toimivad kõigi vastavasse klassi kuuluvate IP-aadresside jaoks.
Tavaliselt kuulub klassi kahe astme jagu IP-aadresse (4, 8, 16, 32 ...) ning nad on järjestikulised (193.40.80.160, 193.40.80.161, 193.40.80.162 ...). Klasse märgitakse kaldkriipsu abil selliselt: võrguaadress/võrgumask
näiteks
193.40.80.0/24
Võrguaadress (ingl. k. network address) on klassi kõige väiksem IP-aadress, antud näites 193.40.80.0.
Võrku kuuluvate IP-aadresside koguarvu saab leida sellise valemi abil
aadresside arv = 2^(32 - mask)
antud juhul
aadresside arv = 2^(32 - 24) = 2^8 = 256
Võrgu kõige suuremat IP-aadressi nimetakse leviaadressiks (ingl. k. broadcast address) ning ta arvutatakse sellise valemi järgi
leviaadress = võrguaadress + aadresside koguarv alamklassis - 1
näites antud alamklassi 193.40.80.0/24 leviaadressiks saame
leviaadress = 0 + 256 - 1 = 255
Tulemuseks on 193.40.80.255.
Kõik klassi võrguaadressi ja leviaadressi vahele jäävad IP-aadressid, ka võrgu- ja leviaadress ise, kuuluvad kõnealusesse klassi.
Alamklassile vastavasse võrku kuuluvate arvutite IP-aadressidena võib kasutada kõiki klassi kuuluvaid aadresse peale võrgu- ja leviaadressi. Niisiis, igast klassist läheb tehnilistel põhjustel kaotsi 2 IP-aadressi.
Kuna klassi kuuluvaid IP-aadresse kasutatakse ühte võrku kuuluvate arvutite jaoks, siis tihti öeldakse ka 193.40.80.0/24-suguse asja kohta võrk, mõeldes sellele võrgule vastavate IP-aadresside komplekti, so klassi.
Lisaks /24 notatsioonile on kombeks võrgumaski üles märkida ka nö pikal kujul. Teisendus viiakse läbi kasutades kahendarve ja arvestades, et võrgumaski (ingl. k. netmask) pikkus on nagu IP-aadressi pikkuski 32 bitti. /24 näitab, et vasakpoolsed 24 bitti on seatud
1111 1111 1111 1111 1111 1111 0000 0000
Väljendades kaheksaseid bittide gruppe kümnendsüsteemis ning eraldades neid punktiga nagu pala alguses IP-aadressi puhul, saame kirjutada samaväärselt võrgumaski /24 selliselt
255.255.255.0
Oluline on märkida, et teades võrgumaski ja IP-aadressi, saab üheselt kindlaks teha selle võrgunumbri, kuhu see IP-aadress kuulub.
Näiteks võrgumaski 255.255.255.0 (ehk /24) ja IP-aadressi 193.40.10.13 järgi saab kindlaks teha, et kõnealune IP-aadress kuulub võrku 193.40.10.0/24. Selleks kirjutame mõlemad arvud välja kahendkujul ning korrutame bittipidi (ingl. k. bitwise)
193.40.10.13 -- 1100 0001 0010 1000 0000 1010 0000 1101 && 255.255.255.0 -- 1111 1111 1111 1111 1111 1111 0000 0000 = 193.40.10.0 -- 1100 0001 0010 1000 0000 1010 0000 0000
Bittipidi korrutamisel on tulemus üks, kui mõlemad tegurid on ühed, kõigil muudel juhtudel on korrutise väärtus null. IP-aadressi võrgu- ja masinaosa
IP-aadressi saab vaadelda koosnevana võrgu- ning masinaosast, kusjuures võrgumask näitab, kus üks lõpeb ja teine algab. Kirjutades IP-aadressi ja võrgumaski kahendkujul üksteise kohale välja, moodustab võrgunumbri see osa IP-aadressist, mis jääb maski ühtede kohale, ülejäänud on masinaosa.
Näiteks IP-aadressi 193.40.10.13 ja võrgumaski 255.255.255.0 puhul
| <------ võrguosa --------> | masinaosa 255.255.255.0 -- 1111 1111 1111 1111 1111 1111 0000 0000 193.40.10.13 -- 1100 0001 0010 1000 0000 1010 0000 1101
IP-numbrite täisklassid ja alamklassid
Täisklassid
Vanarahvas räägib, et esialgu ei osatud nii globaalset arvutite võrgutamist ette näha, nagu seda on tänapäeval Internet. Seepärast jaotati IP-numbrid kolme täisklassi A, B ja C vahel. IP-aadresside täisklassid:
klass võrgumask IP aadresruum võrke IP aadresse võrgus klassi aadresse kokku A 255.0.0.0 0.0.0.0 - 127.255.255.255 128 256^3 = 16 777 216 128 x 256^3 = 2 147 483 648 B 255.255.0.0 128.0.0.0 - 191.255.255.255 64 x 256 = 16 384 256^2 = 65 536 64 x 256^3 = 1 073 741 824 C 255.255.255.0 192.0.0.0 - 223.255.255.255 32 x 256^2 = 2 097 152 256 32 x 256^3 = 536 870 912 muud - 224.0.0.0 - 255.255.255.255 - - 32 x 256^3 = 536 870 912
Kokku on IPv4 aadressruumi suuruseks 256^4 = 4 294 967 296 aadresse, kusjuures 75 % neist kuulub klassidesse A ja B.
Rida 'muud' vastab ülejäänud numbritele ja need on reserveeritud spetsiaalseks kasutuseks.
Näiteks IP-aadress 130.15.40.1 kuulub B klassi võrku.
Üldlevinud kokkuleppe kohaselt ei kasutata avalikult järgmisi IP-aadresse: need on privaataadressid ja mõeldud kasutamiseks ainult kohalikes võrkudes, näiteks ilma internetiühenduseta võrkudes, või maskeraaditud võrkudes. Privaatvõrguaadressid
klass võrgumask IP-aadresruum võrke IP-aadresse võrgus A 255.0.0.0 10.0.0.0 - 10.255.255.255 1 16 777 216 B 255.255.0.0 172.16.0.0 - 172.31.255.255 16 65 536 C 255.255.255.0 192.168.0.0 - 192.168.255.255 256 256
Alamklassid
Kuna praktiliselt on tihti piisav omada näiteks ka 16 IP-aadressilist võrku, siis lubab standard moodustada ka sellised võrke, mille võrguosa ulatub võrgumaskis viimase, neljanda baidi sisse. Näiteks alamklassi 193.40.10.128/28 puhul on võrgumaskis seatud 28 vasakpoolset bitti
193.40.10.128 -- 1100 0001 0010 1000 0000 1010 1000 0000 /28 -- 1111 1111 1111 1111 1111 1111 1111 0000
Kirjutades võrgumaskile vastavad nelikud kümnendsüsteemis saame
255.255.255.240
Näeme, et võrgumaskiga /28 võrku jääb 16 IP-aadressi, kuna masinaosale vastab 4 bitti ja see võimaldab moodustada 2 ^ 4 = 16 erinevat IP-aadressi.
Võrgu leviaadress on alamvõrgu suurim aadress. 128 + 16 = 144 on järgmise võrgu algus, seega on võrgu 193.40.10.128/28 leviaadress 143. Ehk teisipidi, seades masinaosas kõik neli bitti ühtedeks, saame viimasele baidile kahendväärtuse 1000 1111, mis on kümnendsüsteemis 143.
Võrgumaskiga on võimalik ka klasse ühendada. Näiteks võrku 192.168.16.0/20 kuuluvad aadressid vahemikus 192.168.16.0 kuni 192.168.31.255. Selles võrgus on 2^12 = 4 096 IP-aadressi.
Ruuting
Ruuterid tegutsevad IP-tasemel - ruuditakse IP-pakette. Millisesse võrguseadmesse pakett edasi saadetakse, otsustatakse iga paketi jaoks eraldi paketi IP-päise järgi. Ruutingu seisukohalt on IP-päises oluliseks informatsiooniks vaid sihtpunkti IP-aadress.
Skeemil on kujututud kaheksat võrku (V1, V2 ... V8), mida ühendavad kolm ruuterit (R1, R2, R3). Tumesinised kastikesed kujutavad üksikuid arvuteid: tööjaamu või servereid; helesinised ristkülikud tähistavad alamvõrgu piire, kusjuures on toodud ka alamvõrgu võrgunumber. Ruuterite võrguseadmeid tähistatakse i1, i2, i3 jne ning neist nelja juurde on kirjutatud vastava IP-aadressi viimane osa.
Vaikelüüs
Igas tööjaamas on vaja ära näidata tema alamvõrgu ruuteri ehk vaikelüüsi IP-aadress.
Enne IP-paketi arvutist väljumist tehakse esmalt kindlaks, kas ta on suunatud samasse võrku või mujale. Selleks korrutatakse bittipidi väljuva paketi sihtpunkti IP-aadress kohaliku võrgu võrgumaskiga.
Kui tulemuseks saadakse kohalik võrgunumber, siis järelikult soovitakse pakett saata mõnele kohaliku võrgu arvutile ning pakett toimetatakse otse kohale.
Kui tulemuseks ei ole kohaliku võrgunumber, tuleb pakett saata kohalikust võrgust välja. Selleks saadetakse pakett esmalt kohaliku võrgu ruuterile. Ruuter "otsustab", kuhu pakett edasi saata.
Ruutingutabel
Ruuteri ülesandeks on suunata ükskõik millise seadme kaudu saabunud paketid sobivalt edasi. Ruuter võrdleb IP-paketi päises olevat sihtpunkti aadressi ruutingutabeli reeglitega ning otsustab, millise võrguseadme kaudu see pakett välja saata. Kui paketi sihtpunkti aadress kuulub sellesse võrku, kus asub väljasaatmiseks valitud võrguseade, saab paketti saata otse sihtpunkti kohale. Vastasel juhul saadetakse pakett töötlemiseks edasi järgmisele ruuterile.
Korrektse ruutingu puhul ei saa tavaliselt nii olla, et ruutingu tulemusena otsustatakse pakett saata välja sama seadme kaudu, kust ta ruuterisse sisenes.
Selgituseks kirjutame välja mõned ruuterite ruutingutabelid ning kommenteerime
R3 Destination Gateway Iface 193.40.223.0/27 * i1 193.40.223.32/27 * i2 223.19.4.0/24 * i3 193.40.223.96/28 * i4 default 193.40.223.97 i4
Esimesel real on toodud tulpade tähendused: sihtvõrk (Destination) - rida toimib näidatud võrku suunatud IP-pakettidega vaikelüüs (Gateway) - millisele ruuteriga samas võrgus olevale aadressile pakett suunatakse edasi; * märgib, et paketi saab ruuterist otse kohale toimetada võrguseade (Iface) - millise võrguseadme kaudu pakett väljastada
Näiteks teine rida tähendab, et 193.40.223.0/27 võrku suunduv pakett tuleb saata välja läbi seadme i1. Kuna seade i1 asub selle võrgu masinatega samas võrgus, saadetakse pakett otse sihtpunkti kohale.
Sarnaselt toimub pakettide edasisuunamine võrkudesse 193.40.223.32/27, 223.19.4.0/24 ja 193.40.223.96/28. Kõikidesse muudesse võrkudesse (default) suunatud paketid saadetakse välja läbi seadme i4 selle seadmega samas võrgus olevale aadressile 193.40.224.97, seega ruuterile R2.
Kirjutame näiteks välja ka ülejäänud kahe ruuteri ruutingutabelid.
R2 Destination Gateway Iface 193.40.25.128/30 * i1 193.40.223.96/28 * i2 193.40.23.0/27 * i3 193.41.25.0/28 193.40.25.129 i1 193.13.20.128/27 193.49.25.129 i1 default 193.40.223.98 i2 R1 Destination Gateway Iface 193.41.25.0/28 * i1 193.13.20.128/27 * i2 193.40.25.128/30 * i3 default 193.40.25.130 i3 Alamvõrkude arvutamise näide
Vajadus alamvõrkude arvutamise järgi tekib näiteks siis, kui asutusele eraldatakse IP-aadressruum, võrk 193.40.10.0/24 ning administratiivsetel ja tehnilistel põhjustel on vaja kohtvõrk jagada neljaks võrdseks alamvõrguks.
256-aadressilise klassi jagamisel võrdseteks alamklassideks kuulub igasse alamklassi 64 aadressi. Kuna 64 on võrdne 2^6, st antud juhul on võrgumaski masinaosa 6 biti pikkune, ülejäänud 26 bitti on võrguosa.
| <------ võrguosa -------------> | masinaosa 1111 1111 1111 1111 1111 1111 11 00 0000
Võrgumask esitatuna kümendsüsteemis on 255.255.255.192.
Esimesse alamklassi kuuluvad 64 järjestikust aadressi alates esimesest võrgunumbrist 193.40.10.0 kuni 193.40.10.63. Tabelis on toodud kokkuvõtvalt kõikide võrkude andmed. võrgunumber
network võrgumask netmask leviaadress broadcast arvutite IP-aadressid arvuteid võrgus 193.40.10.0 255.255.255.192 193.40.10.63 193.40.10.1 - 193.40.10.62 62 193.40.10.64 255.255.255.192 193.40.10.127 193.40.10.65 - 193.40.10.126 62 193.40.10.128 255.255.255.192 193.40.10.191 193.40.10.129 - 193.40.10.190 62 193.40.10.192 255.255.255.192 193.40.10.255 193.40.10.193 - 193.40.10.254 62
Tavaliselt jääb majasisene ruuting asutuse enda korraldada, kusjuures see peab olema kooskõlas teenusepakkuja ruuteri ruutingutabeliga.
___ | | teenusepakkuja ruuter |___| ___ ___ | 1 | | ... | | | |___| |___| | | | |----|-----------|----- 193.40.10.0/26 --|---------|-----| | | i1 _|_ ___ ___ |R1 | | | .. | | |___| |___| |___| i2 | | | | | | |----|--|----- 193.40.10.64/26 -----------|--|--------|---| | | i1 _|_ _|_ i1 |R2 | |R3 | |___| |___| i2 | | i2 | | |--|----|---|-- -193.40.10.128/26 --| |--|---|--------|-- 193.40.10.192/26 --| | | | | _|_ _|_ _|_ _|_ | | .. | | | | .. | | |___| |___| |___| |___|
Skeemil on tähistatud asutusesisesed võrke ühendavad ruuterid nimedega R1, R2 ja R3.
Pange tähele, et igast võrgust kulub osa aadresse ka ruuterite võrguseadmete tähistamiseks.