Vajad kellegagi rääkida?
Küsi julgelt abi LasteAbi
Logi sisse

Arvutivõrgud eksami vastused (0)

1 Hindamata
Punktid
1. Üldine kommunikatsiooni mudel
Üldises kommunikatsiooni mudelis on alati kaks poolt – saatja ja vastuvõtja . Terves süsteemis on meil sisuliselt viis osa:
1)andmeallikas, mis genereerib andmeid (arvuti)
2)saatja, seade, mis edastab informatsiooni ( modem , võrgukaart)
3)edastuskeskkond, süsteem, mille kaudu andmeid transporditakse (telefonisüsteem)
4)vastuvõtja, mis võtab signaali ja teisendab selle jälle adressaadi jaoks sobivale kujule (võrgukaart, modem)
5)adressaat, kellele need allika poolt saadetud andmed on mõeldud kasutamiseks ( server )
Alguses tehakse tekst nullide ja ühtede jadaks. Siis võidakse teha see analoogsignaaliks, et informatsiooni võrku saata. Siis signaal liigub mööda võrku edasi ja vastuvõtja võtab selle signaali vastu ja analoogsignaalist tehakse jälle ühtede ja nullide jada ja arvuti teeb siis sellest uuesti teksti. See tekst, mille kohale saatsime, ei pruugi olla täpselt see sama tekst, mille teele saatsime, sest andmeliiklust mõjutavad igasugused välistegurid.
2. Kommunikatsioonisüsteemi ülesanded
Kommunikatsioonisüsteemi ülesanded on:
1)Võrguressursi optimaalne kasutamine - Võrguressurssi ei ole kunagi üleliia. Alati võib tahta rohkem ja kiiremini infot kätte saada.
2)Liidestamine - Erinevad võrgud – läbi optiliste kaablite, läbi traadita võrkude jne. See tähendab, et kogu aeg on vaja liidestuda erinevate süsteemidega. Sellest tulenevalt on vaja erinevaid standardeid, kokkuleppeid kuidas ühte tüüpi keskkonnast teise tüüpi keskkonda andmeid edasi kanda.
3)Signaali genereerimine – Kommunikatsiooni tagamiseks peavad signaalide omadused olema sellised, et neid oleks võimalik edastada ja et need oleks vastuvõtjale tõlgendatavad. 4)Sünkroniseerimine – Sünkroniseerida on vaja saatja ja vastuvõtja tööd. Saatja ja vastuvõtja peavad töötama samas taktis. Näiteks kui andmeedastuskiirus on 1 bit/s, siis biti signaali pikkus on 1 sekund, kui edastuskiirus on 10bit/s, siis 0,1 sekundit. Selle aja jooksul peab ka vastuvõtja suutma selle biti ära lugeda. Vastuvõtja peaks töötada samas taktis nagu saatja ehk ta loeb sama kiirusega. Kui vastuvõtja loeb kiiremini, siis võib juhtuda, et loetakse mõnda bitti kaks korda või jäetakse hoopis mõni bit lugemata. Kui ühes otsas on 10Mbit/s saatja, siis teises otsas peaks ka olema 10Mb/s vastuvõtja.
5) Andmevahetuse haldamine – Kui hakata teise arvutisse mingit faili saatma , siis teine arvuti peab olema valmis ja seal peab olema vastav tarkvara , mis suudab seda faili vastu võtta ja siis on võimalik ka andmevahetus .
6) Vigade avastamine ja parandamine – Peame kindlaks tegema, kas need andmed, mis vastu võeti on õiged või ei ole. Sellest tulenevalt peame suutma vigu avastada ja parandada.
7)Voo kontroll – Kui saata teise arvutisse andmeid, siis teine arvuti peab olema suuteline neid sama kiirusega vastu võtma. Siin räägitakse rohkem andmevahetuse tasemel, sest sünkroniseerimine on rohkem biti tasemel. Vastuvõtjat ei tohi ülekoormata saates andmeid kiiremini kui need ära töödeldakse.
8)Adresseerimine – Peame tegema kindlaks, milline on see arvuti, millega suhelda tahame ja sellest tingituna igal arvutil peab olema oma aadress.
9)Marsruutimine – Andmed on vaja saata läbi erinevate võrkude õigesse kohta. Kui kommunikatsioonimudelis on saatjaid ja vastuvõtjaid rohkem kui üks, siis on vaja leida parim tee ühest hostist teise.
10)Andmete taastamine – Andmeid on vaja taastada kui näiteks informatsioon pakettides muutub halbade signaalide tõttu valeks.
11)Sõnumite formaatimine – Selleks, et otspunktid saaksid üksteisest aru, on vaja ära määrata „keel“ ehk sõnumite formaat.
12)Turvalisus – See on väga vajalik, sest saatja soovib üldiselt, et tema andmed saaks kätte just see, kellele ta need saadab , mitte keegi teine.
13)Võrgu juhtimine – See on vajalik võrgusüsteemi administreerimiseks, sest ükski süsteem ei toimi iseenesest. Vajalik on süsteemi vaadelda ja reageerida ülekoormustele, tõrgetele jms.
3. Mitmekihiline arhitektuur postisüsteemi näite baasil
Meil on kaks osapoolt: üks, kes kirjutab kirja ja teine, kes loeb kirja. Nad on omavahel kokku leppinud, kuidas nad kirjutavad ja mis keeles nad kirjutavad ehk saatja ja vastuvõtja vahel on paika pandud teatud kokkulepete hulk, mida võib vaadelda kui protokolli. Selleks, et seda kirja saaks edasi toimetada, on vaja postisüsteemi teenust ehk oleks vaja kedagi või midagi, kes kirja kohale toimetab. Selleks, et kirja oleks võimalik kuhugi toimetada, on see vaja panna teatud reeglite järgi ümbrikusse. Ümbrikule tuleb teatud reeglite järgi peale kirjutada aadress, siis on võimalik postiteenust pakkuval süsteemil kiri kohale toimetada. See, mismoodi kirju edasi toimetatakse pole tähtis. Tähtis on see, et kiri jõuaks kohale ja postisüsteem näiteks ütleb, et kiri on kahe päeva jooksul kohal. See tähendab, et postisüsteem on sõltumatu sellest mismoodi kirja kirjutatakse . Järgmine tase selles süsteemis on postkontorite süsteem. Postkontorit ei huvita, mis selle ümbriku sees on, välja arvatud siis kui on kahtlus , et seal on keelatud asju sees. Postkontoris võtakse kirjad, kus on aadressid peal ja seal sorteeritakse erinevatesse sihtpunktidesse minevad kirjad. See kuidas neid kirju sorteeritakse ei ole tähtis. Sisendiks on kiri ja väljundiks on postikott kirjadega. Postkontorid on omavahel kokkuleppinud, et kirjad pannakse kottidesse ja kottide peale on kirjutatud kindla postkontori aadress. Selle järgi on kirjad võimalik väiksemasse postkontorisse edasi saata. Kui teiste kirjade hulka sattub mõni kiri, mis tegelikult oli suunatud teise kohta, siis tuleb see edasi saata õigesse kohta. Postkontorite eesmärk ei ole need kotid kohale toimetada ning neid ei huvita, kuidas need kirjad edasi viiakse. Kolmandaks kihiks on füüsiline transport. Meil on mitmekihiline arhitektuur ja igal kihil on oma tegevused, mida nad teevad. Iga kiht pakub teenust altpoolt ülespoole. Postkontorid pakuvad inimestele postiedastusteenust. Selleks, et postiedastusteenust saaks postkontor pakkuda, selleks kasutatakse füüsilist transporditeenust. Igal kihil on protokoll , kuidas ühe kihi piires otspunktid omavahel suhtlevad. Postkontorid on omavahel kokku leppinud, et kirjad sorteeritakse erinevatesse kottidesse ja transpordikihis toimub füüsiline transport ja kindlate reeglite järgi viiakse kirjad kohale. Iga kihi vahel on liidesepunktid ja need määravad ära reeglid. Selleks, et postiteenust kasutada, peab kiri olema ümbrikus ja ümbriku peal peab olema aadress. Iga kiht teeb oma tööd sõltumata teistest ja samuti iga kiht jälgib reegleid, kuidas saab ühe kihi käest andmeid ja kuidas teisele kihile andmeid edasi anda. Protokollid on kahe kirja kirjutaja vahel, kahe postkontori vahel ning need ei ole füüsilised mõisted, vaid need on loogilised kokkulepped.
4. Kihid , teenused, protokollid ja andmete liikumine läbi kihtide
Meil võib olla erinevate failide edastuse tarkvara, aga meil oleks vaja ühtset kommunikatsiooniteenust, mis võtaks standardsel kujul ühtede-nullide jada ette ja toimetaks selle teise punkti. Teenuse jaoks on aga ükskõik, mis sorti failidega on tegemist.
Erinevad kihid jaotuvad:
1) failide edastuskiht (rakenduskiht) – rakenduskihi protokoll, kus saatja ja vastuvõtja süsteemid saavad üksteisest aru, millega on tegemist.
2) kommunikatsiooniteenuse kiht (transpordikiht) – transpordikihi protokoll, kus saatja transpordisüsteem ja vastuvõtja transpordisüsteem omavahel suhtlevad ja saavad aru, kas ainevahetus toimus ning kas see toimus korrektselt.
3) võrguteenuse kiht (füüsiline andmeedastus ) – tegeletakse marsruutimisega läbi erinevate võrkude ja läbi erinevate võrguseadmete ning tegeletakse tegelike pakettide edastusega. Siin on ka protokoll, mis garanteerib marsruudi toimimise ja tegeliku edastuse. IP abil edastatakse paketid soovitud kohta edasi ning toimivad ka erinevad marsruutimise protokollid. Marsruuterid töötavad võrgukihi peal.
See on kolmekihiline mudel. Igal kihil on protokoll, kuidas ühe kihi piires otspunktid omavahel suhtlevad. Iga kihi vahel on liidesepunktid ja need määravad ära reeglid. Iga kiht teeb oma tööd sõltumata teistest ja samuti iga kiht jälgib reegleid, kuidas saab ühe kihi käest andmeid ja kuidas teisele kihile andmeid edasi anda.
Protokoll – See mõiste koosneb kolmest komponendist :
1) süntaksireegel – näitab, kuidas andmed on formateeritud. Protokoll on reeglistiku kogum, mis korraldab kogu andmevahetust.
2) semantika – kõik lisainformatioon, kuidas andmeid interpreteerida, mida nende andmetega ette võtta, kuidas tööd korraldada, kuidas käituda vigade korral
3) ajastusega seotud reeglid – millise kiirusega ja kuidas saata, mis järjekorras ja kogu ajaline käitumine
Andmete liikumine läbi kihtide - Iga kiht lisab andmete ülevalt alla liikumisel saatja poole peal oma päise paketile juurde. Vastuvõtja poolel iga kiht võtab päise ja kasutab selles olevat informatsiooni ja viskab selle minema. Saatja poole pealt: rakenduse käest tulevad puhtad andmed ning kui on vaja fail edastada, siis antakse see transpordikihi kätte. Transpordikiht teab, kust see fail tuli (näiteks veebribrauseri käest) ja paneb päisesse juurde, et need on näiteks veebiserverisse mõeldud asjad ehk lisab veebiserveri pordi numbri. Transpordikiht teeb rakenduse failist hulga transpordikihi segmente ja paneb igale päise juurde, kus on sees vähemalt saatja aadress ja vastuvõtja aadress (pordi number, kust see tuli ja pordi number, kuhu see tuleb saata). Kõik, mis transpordikiht annab võrgukihi kätte, see läheb võrgukihi paketi andmeosasse ja võrgukiht paneb päisesse juurde omakorda 2 aadressi (saatja arvuti IP aadress ja vastuvõtja arvuti IP aadress). Vastuvõtja IP aadressi järgi marsruuditakse ja leitakse üles teine arvuti. Kõik see omakorda läheb kanalikihi kätte ning see lisatakse kanalikihi andmeosasse ning ühe konkreetse kanali piires pannakse ka siia päis juurde. Lokaalvõrgu puhul võib olla tegemist teise otspunkti aadressiga ning kui ei ole lokaalvõrk, siis pannakse näiteks kontrollsumma või muu juhtinformatsioon. Iga kiht võib ülevalt poolt saadud paketi omakorda tükeldada, sest erinevatel kihtides on erinevad pakettide pikkuse piirangud. Hiljem saab päisest saadava info abil paketid uuesti kokku panna. Nendest kokku saadakse signaalid , mis liiguvad mööda füüsilist kihti edasi. Kui need on pärale jõudnud, siis kanalikiht saab aru, et see on temale mõeldud. Kui kõik on korras, siis päis visatake ära ja see läheb võrgukihi kätte. Võrgukiht saab omakorda järgmisest päisest kätte võrguaadressi ning saab aru, et see on mõldud talle ning teeb marsruutimise otsuse. Kui lõpuks jõuab pakett lõpp-punkti, siis arvuti saab aru, et see pakett on temale mõeldud ja viskab järgmise päise eest ära ja annab sisu transpordikihi kätte. Transpordikiht omakorda saab aru, kellele see pakett on mõldud. Kuna saatja pani juurde pordi numbri, siis on teada, et see pakett tuleb edasi anda näiteks veebiserverile. Transpordikiht pakib ka lõplikult paketi taas kokku ja ei anna rakendusele tükkhaaval, vaid sellisel kujul nagu rakenduse käest kätte saadi. Kui midagi on puudu, siis transpordikihi ülesanne on see kindlaks teha ja siis saadetakse need paketid uuesti.
Selleks, et kindel arvuti üles leida, on vaja aadresse. Vaja on kindlat võrguaadressi, mis on üle kõikide võrkude unikaalne . Sisuliselt igal kihil on oma aadressid.
IP-aadress – see on unikaalne üle kõikide võrkude ja selle järgi leitakse üles arvuti, kuhu kindlad andmed on mõeldud saata.
Lühidalt öeldes iga kihi peal pannakse eelnevale n-ö ümbrik ümber ja uued aadressid peale. Nii toimub igal kihil. Teises otsas võetakse järjest igal kihil ümbrikuid ära ning tänu olemasolevatele aadressitele saab soovitud kohta paketid edasi saata.
5. OSI mudel
See on avatud süsteemide kokkuühendamise reeglistik. See on rohkem teoreetiline raammudel, mis on enamasti võrdlemiseks mõeldud ja sinna sisse on kirjutatud, mida kõike üldse on võimalik võrkude maailmas teha. See on de jure standard.
OSI mudel koosneb 7-st kihist :
1)Rakenduskiht – see pakub rakendusega seotud teenust (e- maili edastus , internetis surfamine jne)
2)Esitluskiht – Kui erinevad arvutid räägivad erinevat keelt, siis esitluskiht on see, mis tegleb nende omavahelise andmevahetuse tõlkimisega.
3)Sessioonikiht – Selle ülesanne on suhelda teise arvutiga.
4)Transpordikiht – See tegeleb otspunktide vahelise andmevahetuse korraldusega ehk protsesside vahelise andmevahetusega. Ta ei tea millised võrgud all on ja kuidas läbi võrkude andmeid liigutada. Tema hoopis suhtleb teise otspunktiga. Selle ülesanne on tagada töökindel ja veakindel andmevoog. Selle kihi ülesanne on hakata faili tükkhaaval saatma. Transpordikiht tegeleb sellega loogilisel tasemel.
5)Võrgukiht – Transpordib andmeid läbi erinevate võrkude. Ülesandeks on see, et ta loob transpordikihi jaoks sellise teenuse, et transpordikiht ei peaks muret tundma, kuidas tegelikult see andmete liikumine käib. Võrgukihi ülesandeks on ka tegeleda marsruutimisega. Võrgukiht teab seda, läbi milliste võrkude tuleb andmed toimetada, et need kohale jõuaksid, teise osapoole transpordikihti. IP-aadress on võrgukihi protokolli päises ning selle järgi marsruuditakse pakette ehk võrgukiht valib välja marsruudi järgmise võrgusõlmeni. Tegeleb hostide ehk arvutitevahelise andmevahetusega. Transpordikiht annab oma segmendi võrgukihi kätte ja võrgukiht teeb sellest datagrammi. Ta võib enne saadud segmenti tükeldada vajadusel ehk tavaliselt tehaksegi segmendid väiksemateks datagrammideks.
Võrgukihi funktsioonid:
1. Peavad ära määrama tee, kuhu pakett edasi saata ning iga ruuter teab, millised on tema kõrvalolevad ruuterid ja millist teed valida. Viimane ruuter teab, kuidas hostini jõuda.
2. Paketi edastamine - kui marsruutimise otsus on tehtud, siis see pakett tuleb teele saata läbi selle väljundkanali, mis läheb kindla ruuteri suunas. Võrgukihi tasemel on ka võrguarhitektuure, kus luuakse virtuaalkanal. Seal pannakse paika marsruut , mida mööda andmed liiguvad.
3. Marsruutimine ja paketi edastamine – kui pakett jõuab ruuterisse, siis ruuter vaatab paketi sihtpunkti ja juhatab paketi järgmise ruuterini (see on nagu risttee). Ruuteris on olemas tabel ehk kui tuleb sisse mingi väärtusega pakett ning siis vaadatakse tabelit, mis on tehtud mingist marsruutimisalgoritmist lähtudes, vaadeldakse mingi väljaväärtuse järgi, näiteks IP aadressi järgi, millisesse väljundisse pakett tuleb edasi saata.
Võrgukihil on kolme sorti protokolle:
1) IP-protokoll
2) ICMP protokoll – selleks, et hostid ja ruuterid saaksid omavahel suhelda ja infot jagada. Edastatakse igasugused veateateid, kui sihtvõrku ei leita üles, sihtvõrku ei jõuta, hosti ei leita või TTL sai otsa
3)marsruutimisprotokollid
6) Kanalikiht – Kanalikiht tegeleb sellega, et pääseks ühest võrgusõlmest teise. Mööda konkreetset kanalit liiguvad andmed kanalikihi abil. Kanalikiht tegeleb võrgusõlmede vahelise andmevahetusega. See tegeleb konkreetsete kanalitega, mis võivad olla erinevat tüüpi. Läbi erinevate kanalite jõavad andmed lõpuks sihtpunkti. Siin on tegemist pakettide ehk kaadritega.
7) Füüsiline kiht – Seal liiguvad elektrilised signaalid, valgusimpulsid jne.
a) Rakenduskihi ja transpordikihi erinevus võrreldes võrgukihi ja allpool olevate kihtidega:
Erinevus on näiteks see, et rakendus ja transpordikiht on ainult otspunktides, aga võrgukiht ja allpool olevad kihid on ka ruuterites.
b) Vahe transpordikihi ühenduse ja võrgukihi tasemel virtuaalkanali vahel:
Transpordikihi ühendus on kahe otspunkti vaheline kokkulepe ja nemad ei tea, mis vahepeal toimub ja teised kihid vahepeal ei tea, et kaks otspunkti on transpordikihi tasemel oma ühenduse loonud. Võrgukihi tasemel virtuaalkanali puhul ei ole tegemist kahe otspunkti vahelise kokkulepega selles mõttes, et vahepeal keegi ei tea mis toimub, vaid see on kahe otspunkti vaheline ja võrgusõlmede vaheline kokkulepe, kus marsruut on paika pandud. Virtuaalkanali puhul iga võrgusõlm teab, et temast läheb läbi kindel kanal ja kindel pakett ja see tuleb edasi kindlasse kohta saata. Transpordikihi tasemel ühenduse puhul võrgusõlmed ei tea sellest kokkuleppest mitte midagi ja see neid ei huvita, vaid öeldakse paketi IP aadressi ja et see läheb kindlasse ruuterisse. Järgmine sama IP aadressiga pakett võidakse saata hoopis teise ruuterisse. Transpordikihi ühendus ja allpool olevad virtuaalkanalid on täiesti erinevad asjad põhimõtteliselt.
6. TCP/IP mudel
See on mudel, mida igapäevaselt kasutatakse ning sellel baseerub kogu Interneti maailm. See sai alguse Ameerika kaitseministeeriumi projektidest ja on ka de facto standard.
TCP/IP mudel koosneb 5-st kihist:
1) Rakenduskiht – See sisaldab OSI mudelit aluseks võttes nii rakendust, kui ka tõlkijat ning ka osa sessioonikihti. See pakub rakendusi kasutajale nagu näiteks e-maili kirjavahetus , internetivõrku sisenemine , failide edastamine jne. Rakenduskihi puhul räägime pakettidest kui sõnumitest.
2) Transpordikiht – See sisaldab OSI mudelit aluseks võttes transpordikihi ja sessiooni loomise osa sessioonikihist. See tegeleb otspunktide vahelise andmevahetuse korraldusega. Transpordikiht asub rakenduskihi ja võrgukihi vahel TCP/IP mudelis. Ta kasutab ära seda, mida võrgukiht pakub ning ise pakub transporditeenust rakenduskihile. Kaks transpordikihti lepivad omavahel kokku, kas nad on valmis üksteisele andmeid saatma. Transpordikihi ülesanne on erinevatest rakendustest võtta kokku andmeid, neid transportida teise otspunkti ja teises otspunktis laiali jagada teiste rakenduste vahel. Samuti on ülesandeks töökindel andmeedastus. Transpordikiht tegeleb ka voojuhtimisega, et saatja ei koormaks vastuvõtjat üle. Saatja ja vastuvõtja suhtlevad omavahel ja vastuvõtja alati annab teada palju tal on vaba ruumi puhvrites, et kas ta suudaks veel vastu võtta ning vastavalt sellele infole saatja reguleerib koormust. Toimub ka koormuse reguleerimine, mis on saatja ja võrgu vaheline asi ehk et saatja ei saadaks võrku pakette rohkem kui sealt läbi läheb. Transpordikihi protokollid on UDP - ei suhelda teisega ja saadetakse pakette lihtsalt teele ehk ei tehta midagi erilist lisaks. See mis võrgust läbi läheb, sellega ta tegeleb. Samuti ei kulutata aega ühenduste loomiste peale ja pakettide saatmise kordamisele. Iga UDP pakett on omaette nähtus võrgus ja iga pakett liigub omaette ja nad võivad kohale jõuda suvalises järjekorras ja teepeal kaduma minna. Kõik sõltub teepeal olevate kanalite kvaliteedist. Samuti ei kulutata aega ühenduste loomisele ning ei ole vaja ühenduse olekut meeles pidada. Saatja ja vastuvõtja ei eralda eraldi puhvreid ja ei tegeleta pakettide meelespidamise ja järjestamisega. Paketi päis on väiksem (2 aadressi, saatja rakenduse pordi number, vastuvõtja rakenduse pordi number, paketi pikkus ja kontrollsumma) ja saatmiseks kulub vähem aega. UDP ei tegele ka koormuse reguleerimisega – see mis võrku saadetakse, see ka teele läheb. UDP sobib selliste rakenduste jaoks, mis taluvad teatud osa pakettide kaotsiminekut ja on kiiruse suhtes tundlikumad. UDP-d kasutab DNS ja SNMP (võrguhaldus protokoll). TCP - ühendusele orienteeritud andmevahetuse teenus, kus suheldakse teise osapoolega ja lepitakse kokku kuidas, kui palju ja mismoodi saadetakse. See on just selline transporditeenus, mis tagab ka töökindla andmevahetuse ja andmete korrektse kohalejõudmise õiges järjekorras. Kui andmed korralikult kohale ei jõua, siis saadetakse need uuesti ehk korratakse saatmist. Protokoll tegeleb ka voojuhtimisega ja ülekoormuse kontrollimisega. Tegelikult kaks osapoolt saavad kokku leppida ka selle, kui palju andmeid korraga saata. Kui me saadame liiga palju andmeid võrku, siis hakkavad tekkima ummikud ja järjekorrad. Voo juhtimine tähendab saatja ja vastuvõtja vahelist voogu. Voo juhtimine tegeleb iga andmevooga eraldi. Võrgu koormuse reguleerimine tegeleb kõikide andmevoogudega korraga. Eesmärk on, et arvutist ei läheks võrku rohkem andmeid, kui see võrk suudab vastu võtta. Rakendused , mis nõuavad andmete 100%-list kohaleminekut, need kasutavad TCP protokolli. UDP ja TCP ei taga ajalisi garantiisid ega võrgu läbilaskevõimet.
Transpordikiht tegeleb paketi formeerimisega, adresseerimisega (pordi numberid) ning töökindluse tagamisega (jälgib andmevoogu ja tegeleb vigade avastamise ja parandamisega). Transpordikihis adresseeritakse rakendusi pordinumbrite järgi. Transpordikihi puhul räägime pakettidest, kui segmentidest. Multipleksimine rakenduskihi ja transpordikihi mõttes - erinevate rakenduste käest tulevad andmed transpordikihi kätte ja transpordikiht toimetab need andmed teise otspunkti ning teises otspunktis jagab need laiali.
3) Kanalikiht – Pakub teenust võrgukihi tasemele , formeerib kanalikihi paketi, tegeleb kanalikihi adreseerimisega, tegeleb vigade avastamisega, voo juhtimisega, kanali poole pöördumise korraldamisega. Selle ülesanne on läbi konkreetse kanali hostist ruuterisse, ruuterist ruuterisse, ruuterist ruuterisse jne kuni lõpuks ruuterist hosti infot liigutada. See tegeleb füüsiliselt signaalide edastusega alates sellest, kui signaal formeeritakse ja signaal võrgukaardi pealt välja läheb kas kaablisse või õhku. Kanalikiht on selleks, et transportida andmeid läbi konkreetse kanali. Kanalikihi standardid : 1) IEEE – kanalikiht jagatakse kaheks a) LLC (loogiline kiht) 802.2 b) MAC (meediapöördus kiht) 2)Interneti mudel – kaks kihti nii LLC kui MAC kokku pandud. Kanalikihi paketti nimetatakse kaadriteks. Kanalikiht on realiseeritud võrgukaardi peal.
4) Võrgupöörduskiht – See on seotud sellega, kuidas me pöördume konkreetse kanali või võrgu poole. Vaja on jälgida seda reeglistikku, kuidas me saame võrgus andmeid liigutada. See on loogiline osa, mis tegleb sellega, kuidas võrgukaardi poole pöördutakse ja kuidas üks võrgukaart suhtleb teise võrgukaardiga.
5) Füüsiline kiht – Selle funktsioon on see, et kuidas edastada bitte füüsilises edastuskeskkonnas (elektrilised signaalid, valgusimpulsid).
Füüsiline kiht pakub füüsilist bitiedastusteenust kanalikihile, et kanalikihi kaks otspunkti saaksid omavahel suhelda. Kanalikiht pakub kanaliedastusteenust võrgukihile. Võrgukiht peab korraldama andmete marsruutimise läbi erinevate kanalite ja võrkude. Võrgukiht pakub andmete läbi võrkude transportimise teenust transpordikihile, kes korraldab kahe otspunkti vahelist andmeedastusteenust. Transpordikiht pakub erinevatele rakendustele transporditeenust, et nad saaksid oma andmeid vahetada ja nad ei peaks muret tundma selle üle, kuidas need andmed liiguvad. Iga kiht lisab andmete ülevalt alla liikumisel saatja poole peal oma päise paketile juurde. Vastuvõtja poolel iga kiht võtab päise ja kasutab selles olevat informatsiooni ja viskab selle minema.
7. Ühendusele-orienteeritud ja ühenduseta andmeedastus
Mõlema andmeedastuse puhul on eesmärgiks edastada andmeid ühest punktist teise. Ühendusele orinteeritud andmeedastuse puhul on vajalik eelnev ühenduse loomine teise osapoolega (handshaking). See tähendab, et meie veebribrauseri kaudu transpordikiht loob serveriga ühenduse. Peame enne olema veendunud, et teine arvuti on olemas. See toimub meie jaoks nähtamatult. Tegelikult kõigepealt arvuti suhtleb veebiserveri arvutiga ning üritab kindlaks teha kas veebiserver on töökorras. Alles siis, kui me oleme ühenduse saanud veebriserveriga, algab tegelik pärimine veebiserverist. TCP protokoll realiseerib ühendusele orienteeritud andmevahetuse. See on just selline transporditeenus, mis tagab ka töökindla andmevahetuse ja andmete korrektse kohalejõudmine õiges järjekorras. Kui andmed korralikult kohale ei jõua, siis saadetakse need uuesti ehk korratakse saatmist. Protokoll tegeleb ka voojuhtimisega ja ülekoormuse kontrolliga . Tegelikult kaks osapoolt saavad kokku leppida ka selle, kui palju andmeid korraga saata. Kui me saadame liiga palju andmeid võrku, siis hakkavad tekkima ummikud ja järjekorrad. Voojuhtimine tähendab saatja ja vastuvõtja vahelist voogu, koormuse reguleerimine tähendab, aga kõikide andmete saatmist võrku. Voo juhtimine tegeleb iga andmevooga eraldi. Võrgu koormuse reguleerimine tegeleb kõikide andmevoogudega korraga. Eesmärk on see, et arvutist ei läheks võrku rohkem andmeid, kui see võrk suudab vastu võtta. Rakendused, mis nõuavad andmete 100%-list kohaleminekut, need kasutavad TCP protokolli. Ühenduseta andmeedastuse puhul teise osapoole käest ei küsita kas ta on valmis, vaid kohe hakatakse saatma. Selleks on olemas protokoll UDP. Andmevoog on pidev ning ei tagata 100% töökindlat andmeedastust ning ei teostata voo ega ülekoormuse kontrolli. Rakendused, mis ei nõua andmete 100%-list kohaleminekut, need kasutavad UDP protokolli. Näiteks, kui räägime telefoniga, mis on realiseeritud läbi interneti, siis telefonisides põhimõtteliselt võivad osa andmeid kaduma minna. See tähendab telefonikõnes vaid väikseid katkestusi, aga tervikuna kõne toimib ja saab rääkida. Telefonikõnes ei ole mõistlik kasutada TCP protokolli, sest muidu toimuks katkestuste kohas pidev kordamine, mis on kuulajale ebameeldiv.
8. Kanalikommutatsioon ja pakettkommutatsioon, paketi pikkus Kanalikommutatioon on pärit traditsioonilisest telefonisidest. Analoogtelefoni side on selline, et füüsiliselt traatidega ühendatakse kaks otspunkti omavahel kokku. Kanalikommutatsiooni puhul ressurss on füüsiliselt ära jagatud ja mingi osa füüsilisest kanalist saab kasutaja endale. Kui kõik osad kanalis on välja jagatud, siis on ressurss ammendatud ja keegi teine juurde ei pääse. Vastavalt sellele, kui hea on kanal, nii hea on ka andmeside . Kanalit saab jagada tükkideks kahte moodi: sageduse või aja järgi. Sageduse järgi jagades kogu kanali sagedusriba on jagatud väiksemateks sagedusribadeks ja iga kommunikatsioon liigub oma sagedusriba peal. Nad on üksteisest piisavalt kaugel, et mitte üksteist häirida. Aja järgi jaotatakse kogu sagedusriba teistpidi lõikudeks aja järgi. Iga kommunikatsioon saab mingi osa ajast enda kätte. Kanalikommutatiooni kasutatakse näiteks telefoni andmeedastuse puhul, kuid mitte interneti puhul, sest siis oleks suur osa ajast kanal vaba, mis oleks väga ebaefektiivne. Kanalkommutatsiooni puhul, kus on tegemist füüsilise kanali reserveerimisega, tuleb kõigepealt kanal paika panna: otsitakse läbi kommutatsioonisõlmede marsruut ja kulub aeg sõlmede vahel liikumiseks ning lõpuks jõutakse sihtpunkti. Pärast seda läheb kanal paika ja see jääb kindla saatja ning vastuvõtja käsutusse ja enam mingeid ajalisi viiteid ei ole võrgusõlmedes. Pakettkommutatsiooni puhul kanal ei ole kogu aeg ühe isiku käes, vaid kasutaja saab näiteks veebiserverisse pöördudes korraks kanali ja pärast seda on see jälle vaba. See toob kaasa selle, et mingil hetkel võib kasutajaid olla kanalis rohkem, kui sealt andmeid tegelikult korraga läbi läheb. See tähendab, et mingitel hetkedel on kanal hõivatud ja mingitel hetkedel on see vaba. Sellest tulenevalt nendel hetkedel, kui kanal on hõivatud, võivad tekkida ülekoormused ja järjekorrad, kuna võrgus on lõplik hulk ressursse. Järjekorras olevad paketid tuleb mällu panna ja samuti mälu võib täis saada ning pakette tuleb hakata ära viskama. Mingi aja pärast saab kasutaja teada, et ta päring pole kohale jõudnud ning tuleb hakata korraldama selle võrgu tööd. Ühest küljest saab kasutada võrke ratsionaalsemalt, teisest küljest toob pakettedastus kaasa ka probleeme. Pakettedastusel pakett saadetakse ruuterisse ja ruuter ei tea, mis selle paketiga edasi teha, enne kui see on täielikult kohal ja alles siis saab paketi päisest vaadata aadressi. Kui ruuter leiab aadressi, siis ta hakkab saatma paketti näiteks järgmisesse ruuterisse, mis omakorda teeb läbi sama protsessi, mis eelmine ruuter. Pakettedastus on sobilik arvutite vahelise suhtlemise jaoks, kuna arvutid suhtlevad „andmeportsude“ kaupa ja vahepeal on tükk tühja maad. See toob kaasa aga asjaolu, et vaja on ressurssi jagada ja hallata ning tegeleda ka järjekordadega. Kui paketid kaduma lähevad, siis tekivad ka ajalised viited. Pakettedastusel on ka head omadused. Kui jagada kogu andmehulk tükkideks, siis saab saatmist teha paralleelsemaks. Näiteks ei saadeta suurt tükki korraga ruuterisse, vaid saadetakse väikeste tükkide kaupa. Pakette on mõistlik tükkidena teha väikseks, aga ka mitte liiga väikseks, muidu läheb kasuliku info hulk liiga väikseks (päis tuleb alati lisada). Paketi pikkuse valikul on mõistlik arvesse võtta kasuliku info protsent. Kui saata pikk pakett ja saatmine ebaõnnestub, siis tuleb see uuesti saata ning aega kulub palju rohkem. Mida pikem on pakett, seda suurem on ka tõenäosus, et see rikneb. See tähendab, et ei ole mõislik liiga pikki pakette saata. Samuti pika paketiga hõivab kasutaja kanali pikaks ajaks ning see häirib teisi kasutajaid, kes soovivad võib-olla ainult korra kanalit kasutada. Lühikeste pakettide puhul peab alati olema nende saatmise vahel ka mingi ajaline vahe ning ka selleks kulub teatud aeg. Pakettedastusel on kahte sorti edastusviise: 1) puhas pakettedastus – (datagramm võrgud) iga pakett liigub omaette ehk pakett on sõltumatu üksus. Kui pakett jõuab ruuterisse kohale, vaadatakse paketi päist ja seal on kirjas, kuhu sihtpunkti ta jõudma peab. See tähendab seda, et marsruut on paika panemata ja igal ristteel võetakse vastu otsus ehk iga pakett marsruuditakse igas võrgusõlmes eraldi. Kui fail koosneb kolmest paketist, siis iga pakett võib eri teid mööda lõpp-punkti kohale jõuda. Siin IP aadress määrab ära sihtpunkti aadressi. 2) virtuaalkanali puhul toimub alguses marsruudi otsimine ehk pakett tuleb ruuterisse kohale, siis vaadatakse, kuidas seda edasi saata ja kui tuleb järgmine pakett, siis toimub sama asi. Virtuaalkanal pannakse paika ja selle kohta saadetakse informatsioon ruuteritesse. Virtuaalkanalite puhul on igas võrgusõlmes informatsioon, kuhu pakett edasi saata ning mingil määral jääb töötlusaeg sisse, mis on aga väiksem aeg, kui kulub marsruudi otsimiseks. See tähendab seda, et marsruut on paika pandud ja paketid liiguvad kindlat marsruuti mööda ning ei pea igas võrgusõlmes eraldi marsruuti küsima , aga konkureeritakse kõigi teiste pakettidega selle tee peal ehk ei hõivata kogu resurssi endale. Näiteks ATM võrkudes kommutatsioonisõlmed ei tea sihtpunkti aadressi, vaid teavad kust tuleb pakett ja kuhu see tuleb edasi saata. Selle võrra on aadress väiksem ja marsruutimisotsust lihtsam ja kiirem teha.
9. Multipleksimine sageduse, aja ja koodi järgi
Kanalit saab multipleksida sageduse, aja ja koodi järgi: Sageduse järgi kanali multipleksimine ehk FDM tähendab seda, et erinevad võrguseadmed kasutavad suhtlemiseks erinevaid kanali sagedusi. Sagedusriba jagatakse erinevateks väiksemateks sagedusribadeks. Kaablisse minnes pakime kõik sagedused kokku. Sagedusribad on piisavalt laiad ning ülekostvust ei ole. Hea omadus on see, et igaüks saab oma osa enda kätte ja kasutab seda nii palju kui tahab, aga kui ta seda parajasti ei kasuta, siis see ressurss on raisus ja seda kellelegi teisele lihtsalt anda pole võimalik.
Aja järgi kanali multipleksimine ehk TDM tähendab seda, et igal võrguseadmel on õigus edastada infot mingil kindlal ajahetkel. Iga kasutaja saab enda kätte ajalõigu, millal kanal on tema käsutuses. Seejärel läheb kasutusõigus üle järgmisele. Pole väga efektiivne, kuna saatjad saavad oma osa kanalist ka siis, kui neil midagi saata ei ole ning kasutamata aeg läheb raisku. Üks kasutaja ei saa saata rohkem, kui tema lõik ette näeb. Vahel kasutatakse ka statistilist multipleksimist. Siis tuleb andmetele juurde panna ka aadress, et teada kellele see kuulub. Koodi järgi kanali multipleksimine CDMA tähendab seda, et võrguseadmetele antakse kood, millega saab kanalit hõivata. Ainult need, kes teavad seda koodi saavad üksteisega suhelda. Kõik andmevahetus läheb korraga kanalisse sisse, aga igaüks kodeerib oma süsteemi järgi. Igaüks kasutab oma koodi, mis on unikaalne ning vastavalt sellele andmed kodeeritakse ära, pakitakse kokku ja teises otsas võetakse lahti.
10. Ajalised viited võrkudes
Kui pakett jõuab ruuterisse, siis ruuteris seda töödeldakse ja saadetakse edasi. Aega kulub ka selleks, et ruuter paketi vastu võtaks. Pärast seda toimub paketi töötlus ning siis paketti analüüsitakse, et oleks võimalik teha marsruutimise otsus, kuhu seda edasi saata. Kui on otsus tehtud ja väljund valitud, võib pakett veel järjekorras seista ja oodata, kui eelmist paketti saadetakse. Alles pärast seda liigub pakett kanalisse ning järgmisesse ruuterisse.
Eristada saab nelja sorti ajalisi viiteid:
1) Töötluseks minev aeg – Analüüsitakse, kas pakett on vigane ja kui on, siis pole mõtet seda edasi transportida ja see visatakse minema. Samuti analüüsitakse, kuhu pakett peab minema ja tehakse marsruutimise otsus.
2) Järjekorras ootamise aeg – Pakett on ooteseisundis, et saaks kanalisse edasi liikuma hakata.
3) Paketi kanalisse saatmise aeg – Kui meil on kümne megabitine kanal, siis sinna kanalisse läheb taktiga 10Mb/s sisse ja mitte rohkem. Kui meil oleks 20Mbit pakett ja kiirus oleks 10Mbit/s, se tähendab, et siis kuluks 2 sekundit, et pakett kanalisse saata.
4) Aeg, mis kulub võrgusõlmede vahel paketi liikumisele – Lokaalvõrgu puhul võib selle enam-vähem nulliga võrdseks lugeda, aga satelliitside või kaudsidega puhul tuleb seda kindlasti arvestada.
11. Arvutivõrkude ja Interneti ajalugu
1961 – Kleinrock tuli välja järjekorra teooriaga, mis oli pakettedastuse üks põhialuseid 1964 – Barani pakettvahetuse teooria 1967 – ARPAneti arendamise algus ( ARPAnet on esimene pakettedastusvõrk ja interneti eelkäija) Ühendati Ameerika 4 suuremat ülikooli ning suured arvutid pandi omavahel suhtlema . 1969 – Esimene APRAneti võrgusõlm hakkas tööle 1970 – Esimene lokaalvõrgu katsetus – ALOHAnet: raadiovõrk Havai saarte vahel
1972 – ARPAneti avalik demonstratsioon; Esimene transpordikihi protokoll: NCP (TCP eelkäija); Esimene e-maili programm; ARPAnetis oli siis juba 15 võrgusõlme, mis omavahel suhtlesid.
Seitsmekümnendatel aastatel hakkasid tekkima mikroprotsessorid ja selle tulemusena ka lokaalvõrgud. Arvutid muutusid väiksemateks ja enam nad ei olnud need nii palju ühe koha peal kinni, vaid neid sai ka mujale viia. Selle tulemusena tehti arvuteid rohkem ja neid sai ka omavahel võrku ühendada. 1974 Vint Cerf ja Robert E. Kahn töötasid välja arhitektuuri võrkude ühendamiseks .
Nad töötasid välja võrkude põhiprintsiibid:
1) Minimalism ja autonoomia – Ei ole vaja midagi spetsiaalset teha või muuta oma süsteemis, et ennast võrku ühendada.
2) Teenuse mudel – See mida võrk tagab, selle me saame, aga midagi spetsiaalset me selle jaoks ette ei võta.
3) Olekuvabad ruuterid – Ruuter ei tea kuhu eelmine pakett kuulub ja mida järgmise paketiga tehakse ehk iga paketiga võetakse ette uus marsruutimise otsus ja siis unustatakse see pakett ära.
1976 – Etherneti (kõige tuntum lokaalvõrk) loomine Xerox PARCis 70-ndate lõpp – Tekkis ATM, mis oli Ethernetile suureks konkurendiks. Ta oli algselt Ethernetist isegi veidi kiirem.
1979 – ARPAnetis jõuti 200 võrgusõlmeni 1982 SMTP – e-maili edastusprotokoll 1983 – TCP/IP hakkas tekkima; DNS nimeteenuse tekkimine 1985 – FTP (failiedastusprotokoll) 1988 – Voo kontroll TCP-s, võrk hakkas muutuma ülekoormatuks ja tuli hakata probleemi lahendama 1980-1990 – ARPAneti võis avalikult kasutama hakata, 100 000 kasutajat, luuakse võrgud nagu Csnet, BITnet, NSFnet, Minitel 90-ndate algus – HTML, HTTP, URL, brauseritest luuakse Mosaic ja Netscape. 90-ndate lõpp – P2P, uued ja võimsad rakendused interneti maailmas; mängud; interneti turvalisusele pööratakse rohkem tähelepanu; 50 miljonit kasutajat 2007 – 500 miljonit kasutajat, videokõned, mängud, P2P rakendused: BitTorrent (File sharing), Skype (VoIP), rakendused nagu YouTube; traadita ühenduse kiire areng.
12. Mida erinevad rakendused nõuavad võrkudelt
Laias laastus nõuavad rakendused võrkudelt kolme asja:
1)Usaldusväärne andmeedastus – On olemas rakendused, mis tahavad, et andmed kõik 100% kohale jõuaks, aga on olemas ka rakendusi, mis taluvad osade andmete kaotsiminekut. Kui saadame faili siis tahame, et see oleks tervikuna kohal. Kui teeme telefonikõne läbi interneti ja mõni pakett läheb kaduma, siis kuuleme võib-olla mingit krõpsu, aga kõne jätkub ja kõik toimib. Nende erinevus on veel see, et kui faili saatmisel pakett läheb kaduma, siis me kordame saatmist niikaua , kuni kõik tükid kohale on jõudnud, kui kanal on ka piisava töökindlusega. Kui kõne juures hakkaksime mingit paketti kordama , siis tekiks olukord, kus hakatakse kõnet igakord kordama, kui pakett kaduma läheb ja see segaks kõnest arusaamist .
2)Andmeedastuskiirus – Meil on vaja teatud läbilaskevõimet, et teatud edastuskiirusel bit/s oleks võimalik teatud kvaliteediga näiteks telefonikõnet või videopilti edastada. Teksti edastamisel võtab see veidi kauem aega ja see pole väga suur probleem. Kui meil on aga aeglane võrk, siis telefonikõne sealt lihtsalt läbi ei lähe.
3)Ajastus – Kui tegemist on reaalajas liikuva infoga (telefonikõne, videoreportaaž) siis on oluline see, et pakettide vahelised ajalised viited peavad olema teatud miinimumide piires. Tähtis on ka see, et pakettide edastus oleks pidev. Kui saadame faili, siis üks pakett võib tulla kohe, teine aga minuti pärast, kolmas hoopis kolme minuti pärast. Me saame faili ikkagi kätte ja lõpuks on see meil tervikuna olemas, kuigi see võtab piisavalt aega. Kui reaalajas liikuva telefonikõne juures aga tekivad pikad ajalised viited, siis läheb see kõne ajas käest ära ja me jääme paljudest asjadest ilma.
4) Turvalisus
Vastavalt sellele, millised on rakenduse vajadused, valitakse ka protokoll.
TCP – Ühendusele orienteeritud protokoll ehk teise osapoolega luuakse kontakt ja on võimalik saada tagasisidet selle kohta, kas paketid on kätte saadud või tuleb need uuesti saata. Saab ka reguleerida andmevoogu kahe osapoole vahel. Samuti saab hinnata võrgukoormust. TCP ei paku ajastust, sidekiiruse garantiid ega turvalisuse garantiid.
UDP – Teeb seda, mida võrk võimaldab, aga mitte midagi lisaks. Ta ei suhtle teise osapoolega, vaid saadab lihtsalt paketi võrku. Pakettide kohalejõudmine sõltub teenuse kvaliteedist. UDP ei kuluta aega ühenduse loomisele ega pakettide kordussaatmisele. Samuti UDP ei reguleeri otseselt andmevoogu ega raiska aega lisategevuste peale.
13. HTTP
HyperText Transfer Protocol on rakenduskihi protokoll. HTTP protokoll on selleks, et saaksime internetis surfata. Veebis on olemas terve rida objekte ja igal objektil on oma aadress. Aadress koosneb hosti osast ja objekti osast. „www.ttu.ee“ on näiteks Tehnikaülikooli veebiserveri aadress. Kliendi arvuti saadab päringu kasutades HTTP protokolli serverisse ja serveri arvuti oskab selle päringu järgi otsida üles objekti ja vastab selle objekti saatmisega kliendile. HTTP kasutab TCP protokolli, sest on vaja garanteerida kõikide andmete kohaletulek. Kui kasutatakse TCP protokolli, siis TCP protokoll loob ühenduse serveri TCP protokolli osaga. Serveripoolne TCP protokolli osa võtab selle ühenduse vastu ja aktsepteerib seda, kui tal on vabu ressursse ja siis saadetakse edaspidi päringud serverisse. Server ei pea midagi meeles ehk HTTP on olekut mitte säilitav protokoll. Kui kasutaja vajutab mingile lingile, siis brauser saadab serverisse pordi 80 kaudu HTTP päringu objekti, mille peale server saadab kasutajale vastu HTTP vastuse objekti, mis sisaldab neid objekte, millest antud veebileht koosneb. HTTP protokoll võib olla kahte tüüpi: 1) iga objekti kohta luuakse TCP ühendus 2) ühe ühenduse kaudu saadetakse mitu objekti korraga. HTTP seanssi kirjeldus: Meil on vaja kätte saada veebilehelt kindel objekt. Kõigepealt pöördutakse nimeserverisse ja saadakse kätte IP aadress. Pärast seda luuakse TCP ühendus kindla serveriga läbi pordi 80. Kui teisel osapoolel on vabu resursse olemas, siis teine osapool aktsepteerib selle ühenduse. Kui ühendus on loodud, siis saadetakse päring, et saada kindel soovitud objekt. Kui serveril on see olemas, siis ta paneb selle objekti vastusesse sisse ja saadab selle minema. Kui saadetakse üks objekt korraga, siis pärast saatmist paneb server ühenduse kinni ja uue objekti saatmisel tuleb jällegi luua alguses ühendus. Siis jällegi saadetakse objekt ja pannakse jälle ühendus kinni jne. Teistsugune server võib suhelda aga selliselt , et ühendus jääb lahti ja objektid tulevad mööda sama ühendust ning iga objekt tuleb eraldi kohale kuni kõik objektid on olemas ja alles siis pannakse ühendus kinni. Aega kulub selle peale, et alguses läheb ühendusees loomise päring serverisse ja siis tuleb kinnitus , et server on olemas. Esimene RTT – aeg, mis kulub päringu saatmiseks ja sellele ka vastuse saamiseks. Teine RTT – aeg, mis kulub selleks, et objekti kätte saada ja ka objekti transportida. Kui me faili küsime, siis selleks kulub aega kaks edasi-tagasi saatmist ja lisaks veel objekti saatmise aeg. Päringu formaat näeb välja selline, et HTTP-s on kahte tüüpi sõnumeid: päring ja vastus. Päring võib olla GET, POST või HEAD. GET – küsida mingeid andmeid serverist, POST – lisaks küsimisele ka saadetakse mingeid andmeid serverisse ( veebilehed , mis küsivad kliendi käest nime vms) , HEAD - vajalik selleks, et kontrollida suhet serveriga ehk siis saadetakse serverisse päring ja server saadab vastuse, aga seda objekti vastusesse ei panda. Mõnikord võib ka käsurea kaudu edastada parameetreid serverisse. Vastuses kõigepealt tuleb kood: kas vastuse leidmine õnnestus; kas see ühendus pannakse kinni või mitte; millal see vastus tuli; mis serveriga on tegemist; millal seda objekti on viimati modifitseeritud ; mis tüüpi objektiga; mis on objekti pikkus. Kui objekti ei ole, siis vastuseks on „Not found “ ehk server alati vastab mingi tunnuskoodiga. Samuti on olemas veebilehti, mis nõuavad kliendilt nime ja parooli ehk need lehed ei ole avalikult ning vabalt kasutatavad, vaid nende kättesaamiseks tuleb mingit lisainformatsiooni anda. Kui me pöördume sellise serveri poole, siis server vastab, et „Authorization required “ ning peame sisestama brauserisse oma isikliku kasutajanime ja parooli, mis pannakse iga päise sisse. Parool unustatakse iga kord ära (olekut mitte säilitav HTTP) ja kui uuesti kasutaja tahab serveriga ühendust saada, peab ta taas lisama oma kasutajanime ja parooli. HTTP ei ole aga päris olekut mitte säilitav, sest on olemas ka küpsis ehk cookie . Tänu sellele server saab säilitada kasutaja kohta mingit olekuinformatsiooni. Cookie on selline identifikaator , mille server annab kasutajale, kui kasutaja esitab päringu ning sellest tulenevalt server fikseerib kasutaja oma andmebaasis . Kasutaja mingis veebikataloogis või failis hoitakse seda cookiet. Küpsiste faili kaudu on võimalik vaadata, milliseid veebilehti on kasutaja külastanud . Neid on võimalik ka soovi korral ära kustutada või seadete alt keelata. Küpsised on väga palju kasutuses e-kaubanduses. Kui klient pöördub serverisse, siis mõni teine klient samast piirkonnast võib pöörduda samasse serverisse või siis üks klient võib pöörduda ka mitu korda serveri poole. See tähenbab, et mingi aja pärast koormatakse see server lihtsalt üle. Selleks on olemas vahemäluserverid ja kõik kasutajate päringud lähevad sellesse proxy -sse kõigepealt. Kui mingi fail on kasutaja poolt serverist juba ära küsitud, siis vahemäluserveris hoitakse seda alles ja kui sama kasutaja uuesti või mõni teine kasutaja samast piirkonnast küsib sama faili, siis on see juba vahemäluserveris olemas ja ei pea pöörduma originaalserverisse. Kasutaja veebibrauseri juures on samuti vahemälu olemas ja viimati küsitud asjad on ka kasutaja arvutis olemas. Kui kasutaja teeb brauserist mingi päringu, siis kõigepealt vaadatakse, kas kasutaja brauseri mälus on soovitud fail olemas. Kui seal ei ole, siis pöördutakse proxy serverisse ning kui seal ka seda ei ole, siis pöördutakse originaalserveri poole. See kõik on selleks, et vähendada võrgukoormust ja originaalserveri koormust. Veebis surfamise info jääb ka vahemäludesse üldiselt alles. Aja möödudes alles kustub vahemäluserveritest kasutaja veebikülastuste info ära. Vahemäludes päringuid sageli ka analüüsitakse. Kui kasutaja tellib mingi faili ja on teada, et tüüpiliselt ta tellib ka teise faili, siis selle asemel, et neid kahte faili eraldi küsida, küsitakse need kaks faili kohe ära igaks juhuks. See tähendab, et mõnikord vahemällu salvestatakse rohkem informatsiooni, kui tegelikult küsitakse. Kui vahemälu hakkab täis saama, siis visatakse välja kõigepealt see objekt, mille kasutamisest on kõige rohkem aega möödas või siis see, mida on kõige vähem vaadatud. Samuti on olemas prioriteetide süsteem. Veebis on olemas objektid, mis muutuvad, aga ka objektid, mis on kaua aega püsivad. Kui objekt on selline, et seda tihti ei muudeta , siis ei ole mõtet seda vahemällu alati uuesti laadida . Sellepärast on võimalik saata tingimuslikud päringud, mis määravad ära, kas vahemälus olev objekt on vahepeal muudetud või mitte. Kui ei ole muudetud, siis ka originaalserverist ei pea seda uuesti saatma, aga kui on muudetud, siis saadetakse see originaalserverist uuesti vahemälusse.
14. FTP
See on failiedastus protokoll, mis on rakenduskihi protokoll. See on selleks, et saada failiserverist faili kätte. FTP serveri pordi number on 21. Kui kasutaja pöördub IP aadressiga sellesse arvutisse, siis pordi 21 taga on failiserver. Failiserver töötab selliselt, et ta kasutab kahte ühendust, millest esimene on juhtinformatsiooni edastamiseks ja teine on andmeedastuseks. Kui kasutaja küsib serverist faili, siis kasutatakse juhtühendust ja kui kui kasutaja tahab faili saada, siis luuakse uus ühendus selle faili lugemiseks või kirjutamiseks. Kui see fail on ära transporditud, siis andmeühendus pannakse kinni ja juhtinfoedastus jääb lahti. FTP erineb HTTP-st selle poolest, et luuakse kaks erinevat ühendust, mitte kogu info ei lähe läbi ühe ühenduse. Näited käskudest: kõigepealt tuleb ennast identifitseerida (sisestada kasutaja ja parool), LIST käsuga saab vaadata, mis failid on olemas, RETR käsuga saab faile küsida ja STOR käsuga saab faile saata. Serveri poolt vastatakse mingite koodidega, kas näiteks selline kasutaja ja parool on olemas jne.
15. Elektronpost, SMTP, MIME
Elektronpost on selline süsteem, kus kasutajad saavad elektroonseid kirju saata. E-posti süsteem koosneb kolmest komponendist: kasutajaagendid (meiliprogramm), e-maili serverid , SMTP (protokoll). Kasutajaagent on meiliprogramm, kus saab kirju koostada, lugeda, vastata ja kogu kirjakasti hallata. Meiliserverid on need, kus hoitakse kasutajale saadetud kirju ja neid kirju, mida kasutaja tahab teele saata. Kui kasutaja kirjutab kirja oma meiliprogrammis ja saadab kirja teele, siis kasutaja arvuti suhtleb kohaliku meiliserveriga ja kohalikus meiliserveris pannakse kiri väljuvate kirjade järjekorda . Järgnevalt kohalik meiliserver loob ühenduse teise meiliserveriga ja saadab selle kirja minema. Seejärel jõuab kiri teise kasutaja kohalikku serverisse ootama. Kui teine kasutaja oma meiliprogrammi tööle paneb, siis selle kasutaja meiliserver pöördub kohalikku meiliserverisse ning siis loetakse kõik teisele kasutajale mõeldud kirjad ja saadetakse teise kasutaja arvutisse. Meiliaadressil on olemas subjekti nimi ja domeeni nimi. E-post kasutab TCP protokolli, et tagada töökindel andmeedastus. Kõigepealt luuakse serveriga ühendus, siis saadetakse kirjad ära ja lõpuks pannakse ühendus kinni. Kuna meilindus on üks esimesi protokolle, siis originaalis kasutatakse suhtlemisel 7-bitist ASCII koodi ja mingit krüpteerimist vaikimisi ei kasutata. Krüpteerimine tuleb eraldi juurde teha. SMTP kasutab püsivat ühendust ehk luuakse ühendus ja saadetakse kõik kirjad minema. Kui kirjad jõuavad serverisse, siis pannakse see ühendus kinni. Kui võrrelda HTTP-d SMTP-ga, siis SMTP on mõeldud selleks, et saata kirju ja faile, HTTP on aga selleks, et küsida faile. Kirjal on olemas päis (kellele, kelle käest, kirja teema) ja sisu (sõnad 7-bitilises ASCII koodis ). Kui me tahame saada midagi muud peale teksti, siis 8- bitine kood tuleb teisendada 7-bitiliseks ASCII koodiks. Selleks on olemas täiendus MIME, mis võimaldab läbi meili saata ka muud informatsiooni kui tekst. Alguses toimub 8- bitise mitte ASCII koodi teisendamine 7-bitiseks ASCII koodiks ja pärast teisendatakse see tagasi 8-bitiliseks mitte ASCII koodiks. Tänu MIME-le saab saata läbi meili muusikat, pilte, videosid ja ka faile. Kui võrdleme HTTP-d ja meilindust, siis HTTP-s iga objekt saadetakse eraldi, meili juures pakitakse kirja sisse kõik asjad kokku ehk e-kiri võib koosneda mitmest osast. SMTP protokoll on selleks, et saata kirju. Kui saatja saadab kirja, siis SMTP protokolli kasutades pöördutakse serverisse ning server saadab kirja teise serverisse, kus kasutatakse seda sama SMTP protokolli. Selleks, et kirja serverist küsida, ei sobi enam SMTP protokoll. Selleks on olemas POP3, IMAP4. Samuti võib selleks olla ka HTTP protokoll, kui kasutatakse veebil põhinevat meilisüsteemi.
16. DNS
See on domeeninimede süsteem ehk nimeserverite süsteem. Serveritel on olemas nimed. Tallinna Tehnikaülikooli veebiserveri nimi on „www.ttu.ee“, mis inimestel hästi meeles seisab. TTÜ veebiserveril on olemas ka IP aadress, mida ilmselt peast ei tea keegi, kuna neid arve on üpris keeruline meelde jätta. On olemas sellised andmekogud , kus on kirjas kindlatele nimedele vastavad IP aadressid. See on üle maailma hajutatud andmebaas ja DNS on tegelikult ka rakenduskihi puhul DNS kui protokoll. Nimede süsteem võib olla ühel tasemel või hierarhiline . Ühel tasemel tähendab seda, et nime on ainult üks ainuke komponent ja see peaks tagama unikaalsuse. Sellist on väga keeruline leida. Hierarhia luuakse selleks, et oleks lihtsam unikaalseid nimesid tekitada. Domeeninimedes on ka kasutusel hierarhiline süsteem. Nimi võib olla täielik või osaline. Selliseid nimesid ei suuda töödelda ruuterid, sest neil on vaja IP aadresse, et URL- idega midagi peale hakata. DNS kasutab UDP-d pordil 53. DNS-i kasutavad rakenduskihi protokollid nagu näiteks HTTP, SMTP, FTP. DNS pakub lisaks hostinimede IP- deks muutmisele ka muid teenuseid:
1) Host aliasing – Keerulisematel hostinimedel võib olla ka mitu aliast, mis on lihtsamad kui õige nimi ning ka paremini meeldejäävamad.
2) Mail server aliasing – Keerulisematel meiliaadressidel võib olla ka mitu aliast, mis paremini meelde jäävad.
3) Load distribution – Suure külastatavusega lehtedel on mitu serverit, millel nad eksisteerivad ning igal serveril on oma IP. DNS viib suurema külastatavusega saidi vastavusse mitme IP-aadressiga ning jaotab nende aadresside vahel koormuse ära.
Üks keskne DNS server poleks mõeldav ja jätkusuutlik, sest kui see kokku jookseks, siis ei toimiks kogu internet . Samuti oleks probleemiks liiga suur päringute arv sellesse serverisse, mis tooks kaasa ülekoormuse. Lisks server ei saa olla kõigi hostide lähedal, sest see tooks kaasa suured viiteajad ning severit peaks ka kogu aeg uuendama, sest hoste tuleb pidevalt juurde. Sellepärast ongi DNS jagunenud mitmeteks serveriteks üle maailma. Ühelgi DNS serveril pole kõikide maailma hostide nimesid, vaid need on jaotatud erinevate serverite vahel. Olemas on kolme tüüpi DNS servereid: juurserverid, nimeserverid ja autoratiivsed serverid. Igal ISP-l on oma kohalik DNS server. Kui kasutaja kasutab teenusepakkuja poolt antud lahendust , siis ISP pakub enda poolt hostile ligipääsu ühele või rohkematele oma kohalikele DNS serveritele. Kui host soovib teada mõne teise hosti IP-aadressi, siis kõigepealt küsitakse vastust lokaalse DNS serveri käest ja kui see vastust ei tea, siis kohalik server küsib vastust juurserveri käest, mis tagastab nimeserverite IP aadressid. Peale seda valib lokaalne server välja ühe nimeserveri aadressi ja küsib sealt, mille peale nimeserver tagastab autoratiivse serveri IP, kes teab selle hosti aadressi. Lõpuks küsib lokaalne server autoratiivse serveri käest ja saab vastuseks IP, mis edastatakse hostile, kes pöördus lokaalse DNS serveri poole. Rekursiivse päringu puhul toimub vastuse saamine nii, et host loob päringu lokaalsesse DNS serverisse ja lokaalne server edastab päringu juurserverisse ning juurserver nimeserverisse ja see omakorda autoratiivsesse serverisse ja siis liigub vastus sama teed mööda tagasi päringu sooritajani. Vastuste kiiremaks kättesaamiseks ja serverite koormuste vähendamiseks kasutatakse vahemälude süsteemi. Vahemälu puhul jätab DNS server vastused meelde ja kustutab need kui TTL aegub. DNS-i andmebaasis hoitakse igasuguseid kirjed ning need talletatakse RR formaadis.
17. Töökindel andmeedastus
Võrk peab garanteerima niipalju kui võimalik, et kõik asjad mis saadetakse jõuaksid ka kohale. Kui kanal on katki, siis ei suuda võrk midagi garanteerida. Kui transpordikiht tahab tagada töökindlat andmeedastust, siis saab ta seda teha kasutades võimalusi, mida võrgukiht talle pakub. Kui võrgukiht midagi ei garanteeri, siis see tähendab, et transpordikihi tasemel tuleb luua töökindel kanal ja kasutada seda, mida võimalik on kasutada.
1) rdt_send - Kui rakendus annab ülevalt andmed transpordikihi kätte, siis ta kasutab sellist operatsiooni. Selle abil saab transpordikiht andmed kätte. See on töökindel andmeedastus. 2) udt_send – Kuna võrgukiht midagi ei paku, siis pöördutakse sellega võrgukihi poole. See on mittetöökindel andmeedastus.
Kirjeldan TCP/IP taolise protokolli ülesehitust sammhaaval, minnes lihtsamast raskemaks ja lisades juurde omadusi. Töökindlust vaadeldakse sellise modelleerimise abil, mida nimetatakse lõplikeks automaatideks. See tähendab, et süsteem võib olla lõplikes arvus olekutes ja alati on olemas üks tingimus, mis põhjustab olekumuutuse ja sellega on seotud erinevad tegevused. Kui tingimus saabub, siis süsteem läheb ühest olekust teise ja sellega seoses tehakse midagi. (valgusfoori näide)
Rdt 1.0 : Oletame, et meil on tegemist väge hea andmeedastuskanaliga, kus mingeid häireid ega vigu ei teki. Saatja saadab andmeid ja vastuvõtja võtab vastu ja mingeid probleeme ei teki. Lõplike automaatide mudeli peal kui vaadata olukorda, kus bitid ei moodu ega paketid ei lähe kaduma: kui ülevalt rakenduskihilt tulles käivitatakse rdt_send koos andmetega, siis transpordikiht formeerib paketi (paneb andmed paketi sisse, paketipäise paneb juurde) ja saadab udt_send-iga minema. Vastuvõtja pool saab kätte andmed ja käivitatakse protsetuur rdt_rcv, mis peab tagama töökindla andmeedastuse. Kuna meil on tegemist ideaalse kanaliga, siis vigu ei ole ja midagi kontrollida ei ole vaja. Eraldatakse paketist andmeosa ja deliver data-ga anname need rakendusele kätte.
Reaalne elu on aga teistsugune, sest reaalses elus võivad pakettides olla vead. Kanalites on häireid ja bitid võivad moodududa. Saatja saadab paketi teele ja vastuvõtja arvutab kontrollsumma ja leiab, et see pakett on vigane. Selleks, et tagada töökindlust, et kõik paketid kohale tuleks peaks saatja paketi uuesti saatma. Selleks peab vastuvõtja saatjale selle kohta midagi ütlema, muidu saatja ei tea kas andmeid jõudsid kohale või mitte. Selleks on kahte sorti vastuseid: 1) NAK - negatiivne kviitung – ütleb, et pakett oli vigane 2) ACK - positiivne kviitung – ütleb, et pakett jõudis kohale ja kontrollsumma klappis. Kui vastuvõtja käest tuleb NAK, siis selle peale saadab saatja paketi uuesti ja kui kõik on korras, siis selle peale tuleb ACK. Teise osapoole käest saadakse vastav tulemus, kas pakett saadi kätte või mitte. See, et pakett tuleb kohale ja kontrollsumma klapib ei garanteeri seda, et pakett ei oleks vigane. Seda ei ole võimalik garanteerida, sest esineb väga väike tõenäosus, et pakett võib rikneda nii, et kontrollsumma jääb klappima. Võimalus on, et pakett rikneb ja kontrollsumma rikneb ja mõlemad klapivad ikkagi. See tähendab, et alati ei saa väita, et kui kontrollsumma klapib, et pakett oleks terve.
Selleks, et avastada vigu on vaja kindlaid mehhanisme ja anda tagasisidet.
Rdt 2.0 : Andmed tulevad rakendusele ja formeeritakse pakett. Nüüd pannakse paketile ka kontrollsumma juurde, sest tegemist ei ole nüüd ideaalse kanaliga. Siis saadetakse pakett teele ja nüüd läheb saatja teise olekusse ehk nüüd on saatjal kaks olekut: 1) ta on võimeline rakenduse käest võtma andmeid 2) ta ootab vastuvõtja käest kinnitust. Kui tuli vastuvõtja käest pakett ja tegemist on NAK-iga, siis tuleb pakett uuesti teele panna ehk toimib taas udt_sent ja pakett läheb uuesti teele ja oodatakse ACK-i. Kui tuleb pakett ja see on ACK, siis ta läheb teise olekusse ja on uuesti rakenduse käest võimeline järgmiseid andmeid vastu võtma. Vastuvõtja pool ootab andmeid ja kui tuli pakett ja ta ei ole korras, saadetakse NAK ja jäädakse uuesti ootama andmeid, sest need tuleb kätte saada. Kui nüüd tulevad andmed ja need on korras, siis osast paketist eraldatakse andmed, need saadetakse üles rakenduse kätte ja nüüd tuleb saata kviitung ACK. Kui aga kviitungipakett rikneb ehk ACK või NAK on moondunud, siis saatja ei tea kumbaga on tegemist. Sellest tulenevalt võidakse pakette saata kahekordselt. Selleks, et duplikaatide probleemi lahendada, paneme paketi sisse järjekorranumbri.
Probleemiks on vigane kviitung ning kuidas seda probleemi lahendada.
Rdt 2.1:
Saadetakse teele pakett_0 ja vastu tuleb kviitung ACK. Saadetakse pakett_1 ja vastu tuleb kviitung ACK, mis on vigane. Kuna kättesaadud pakett oli vigane, saadetakse pakett_1 uuesti. Kui see omakorda on vigane, siis tuleb teele NAK. Tegelikult saadetakse pakett_1-te mitu korda ja kui vastuvõtja ei teaks , et see on pakett_1 võtaks ta seda kui järgmist paketti. Kui aga paneme järjekorranumbri juurde, siis vastuvõtja teab, et see on tal juba olemas. Tuleb välja, et saatjal ja vastuvõtjal on erinev nägemus, mis seisus andmevahetus on.
Saatja saab rakenduse käest andmed, formeerib paketi_0 ja nüüd tuleb paketi sisse lisaks järjekorranumber panna, samuti andmeosa ja kontrollkood. Nüüd kui pakett läheb teele, siis saatja jääb sellisesse olekusse, et ta ootab kviitung_0-i. Nüüd kui tuleb vastus ja see on vigane või on NAKiga tegemist, tuleb pakett uuesti saata. Kui tuli vastuseks nüüd ACK koos kviitung_0iga, siis võib edasi minna. Järgmine pakett, mis tuleb rakenduse käest, kannab nime pakett_1. Jälle saatja formeerib paketi, paneb järjekorranumbri, andmeosa ja kontrollkoodi ning siis paneb selle teele. Nüüd saatja ootab kviitungit pakett_1-le. Kui saadud kviitung on NAK, tuleb saatmist korrata ja jääda samasse olekusse ja kui on ACK, siis läheb järgmisesse olekusse ja võtab rakenduselt järgmise paketi. Kuna korraga saadetakse ainult üks pakett, 0 või 1, siis need järjekorranumbrid sassi ei lähe. Kui aga saadetakse rohkem pakette korraga, siis on vaja ka rohkem järjekorranumbreid. Vastuvõtja pool ootab alguses pakett_0-i ja kui on mitteriknenud paketiga tegemist ja järjekorranumber on 0, siis ta eraldab andmeosa ja annab andmed rakenduse kätte edasi. Siis formeerib paketi ACK koos kontrollsummaga ja saadab selle teele ning läheb olekusse, et ta ootab pakett_1-te.
Kui on tegemist sellise sündmusega, et vastuvõtja ootab pakett_1-te ja kohale tuli mittevigane pakett ja järjekorranumber on 1, siis eraldatakse paketist andmeosa ja antakse see rakenduse kätte, saadetakse ACK ja nüüd läheb ta olekusse, et saab vastu võtta pakett_0-i.
Saatja poolt paneme juurde järjekorranumbrid. Samuti peab saatja vaatama kas kviitungid tulid korralikult kohale.
Vastuvõtja peab vaatama, kas tegemist on duplikaadiga ja kui on tegemist duplikaadiga, siis tuleb ikkagi kviitung saata. Vastuvõtja ei tea, kas tema kviitungid jõudsid korralikult kohale või mitte ehk see tähendab seda, et ta peab olema valmis korduskviitungeid saatma.
Nüüd kirjeldan seda, kuidas saaks loobuda negatiivsest kviitungist.
Rdt 2.2 : Saadame pakett_0-i ja paneme vastuvõtjalt tagasi tulevale kviitungile järjekorranumbri sisse ehk ACK_0. Nüüd saab saatja kätte ACK_0 ja see teatab talle, et pakett_0 on käes. Edasi saadetakse pakett_1, mis on vigane, kuid enam ei saadeta NAK-i, vaid saadetakse korduskviitung ACK_0, et teavitada, et pakett_0 on käes, aga sellele järgnevat paketti ei ole.
Rakenduse käest tulevad andmed, formeeritakse pakett_0 koos andmeosa ja kontrollkoodiga ning pannakse pakett teele ning hakatakse ootama kviitung_0-i. Kui pakett on vigane, siis saadetakse saatjale tagasi ACK_1 ehk antakse teada, et pakett_0-iga midagi juhtus ja see tuleb uuesti saata. Kui saadetakse pakett_0 ja see on korras, siis tuleb saata tagasi kviitung ACK_0 ning siis saab saatja juba saata uue paketi teele.
Vastuvõtja ootab pakett_0-i ja kui tuli pakett_0, siis saadab kviitungi ACK_0 ja kui tuli pakett_1 või vigane pakett, siis saadab kviitungi ACK_0, et paketti korrata.
Paketid võivad ka teepeal kaduma minna, sest teepeal olev ruuter võib olla ülekoormatud ja ruuterisse mällu pakette rohkem ei mahu ning ruuter lihtsalt ignoreerib sissetulevaid pakette ja need lähevad lihtsalt kaduma.
Saatja saadab paketi teele, pakett läheb kaduma ja saatja ootab vastust. Kuna vastuvõtja midagi kätte ei saa, siis ongi küsimus kaua ta ootab. Et ta ei ootaks lõputult, selleks pannakse iga paketi saatmise järel kell tiksuma ehk kui mingi aeg saab täis ja selle aja jooksul vastust ei tule, siis saadetakse see pakett lihtsalt uuesti eeldusel , et ta on teepeal kaduma läinud.
Rdt 3.0:
Saadetakse pakett_0 ja vastu tuleb ACK_0. Saadetakse pakett_1 ja kui see jõudis kohale vigaselt, siis saadetakse ACK_0, ehk vastuvõtja tahab, et paketti korratakse saatja poolt. Saatja saadab paketi uuesti ja kui see läheb teepeal kaduma, siis saatja ootab mingi aja ja kui selle aja jooksul kviitungit ei saada, siis saadab ta selle paketi uuesti niikaua, kui ta saab tagasi kviitungi ACK_1. Võimalus on veel, et mitte pakett ei lähe kaduma, vaid kviitung läheb kaduma. Näiteks saadetakse pakett_0 ja saadetakse vastu ACK_0. Kui ACK_0 oli vigane, aga ta tuli kohale, siis saadetake pakett_0 uuesti, kuna see oli vigane kviitung ja saatja ei teadnud kas see on ACK_0 või ACK_1. Vastuvõtja nüüd saab aru, et tegemist on duplikaadiga ja ta peab ACK_0-i uuesti saatma. Kui nüüd see läheb kaduma, siis saatja jaoks pole vahet kas läheb pakett kaduma või kviitung kaduma. Vastuvõtja puhul on aga vahe, kuna ühel juhul ta saab paketi kätte, teisel aga mitte. Saatja puhul lihtsalt kui aeg saab täis, tuleb paketti korrata.
Nüüd on olemas kontrollsummad, järjekorranumbrid, kviitungid ja uuesti saatmised. See kõik on selleks, et paketid jõuaksid ilusti kohale ja saaks tagada seda, et andmevahetus oleks töökindel. Saatja saab andmed rakenduse käest, formeerib pakett_0-i, paneb andmeosa ja kontrollsumma sisse. Saadab paketi teele ja paneb kella käima ning ootab kviitung_0-i. Kui tuleb kviitung, mis on vigane või vale numbriga (võib olla mingi vana kviitung olla, mis on ripakile jäänud), siis ta lihtsalt ootab ja midagi sellega seoses ei tee, sest ta ootab õiget kviitungit ja kell käib ning ei pea hakkama kohe kordama. Kui enne aja ära ootamist kordame, siis võime asjatult saata paketti uuesti võrku, sest vastus võib tegelikult veel teel olla. Kui aeg saab täis, siis saadetakse pakett_0 uuesti ja pannakse uuesti kell käima. Kui nüüd saadetakse mitte vigane pakett ja tuleb kviitung_0 nagu me ootame, siis pannakse kell seisma ja minnakse järgmisesse olekusse, kus võib saata järgmise paketi. Kui nüüd peaks tulema võrgust veel mingi ripakile jäänud pakett, siis seda lihtsalt ignoreeritakse. Vastuvõtja saab aru järjekorranumbri järgi, kui tegemist on duplikaadiga.
Probleem võib tekkida veel siis, kui time-out on liiga lühike ja pakett on teel kauem ning saatja ei saa kätte kviitungit.
Selle protokolli häda on see, et me saadame ainult ühe paketi korraga.
Kui me saadame mitu paketti, siis me saame kanalit palju paremini koormata. See tähendab, et saame kanali kasutegurit suurendada. Selleks on vaja protokolli, et saata mitu paketti korraga. Lõputult korraga saata pole mõtet, sest vastuvõtja peab nende pakettiga suutma midagi teha ja tal peab olema teatud hulk puhvrimälu, kuhu need paketid panna. Selleks on kasutusel nihutatava aknaga protokoll. Pakettide jada peal liigub aken ja need paketid, mis on aknal , neid saame saata ja need mis on vasakul pool akent , need on juba ära saadetud ning nende käest on kviitungid käes. Need, mis on paremal, neid me saame siis saata, kui nihkutame akent edasi. Paketid on järjekorranumbritega ja kuna me ei saada enam ühte paketti, vaid mitu paketti korraga, siis on järjekorranumbrite hulk suurem ja enam ei piisa nullist ja ühest. See tähendab, et identifikaatoreid peab olema rohkem ja tüüpiliselt tehakse ringikäiv identifikaatorite hulk. Aken ei tohi olla pikem, kui on kokku identifikaatoreid. Kui on näiteks 2 paketti, mis on teele saadetud, aga mille kohta kviitungeid veel ei ole, siis need peab veel meeles hoidma, sest ilmselt need tuleb uuesti saata. Need mis on veel akna all, neid tohib veel saata, ilma et kviitungit tuleks. Kui aken on tühjaks saadetud, siis peame ootama jääma , sest see on see hulk, mida vastuvõtja suudab korraga vastu võtta. Kui nüüd hakkavad järjest tulema kviitungid, siis saab vasaku piiri edasi nihutada ja saab öelda, et need on ära saadetud ja kviitungid on edukalt käes. Vastuvõtja poolt, kui pakette saadakse kätte, siis saadetakse järjest kviitungid ning on võimalik akent edasi nihutada.
//lisainfo//
Tuntud pordinumbrid:
80 – HTTP – veebiserver alati selle pordinumbri taga
53 – DNS – nimeserver
20 – FTP (data)
21 – FTP ( control )
25 – SMTP - emaili edastusprotokoll
18. Go- back -n
Saatja saadab mingi hulga pakette järjest ja vastuvõtja saadab kviitungeid mitme peale ühe. Kui vastuvõtja saab kätte kõik paketid järjest ja need on korras, siis üks kviitung kinnitab ära kõikide eelmiste kättesaamise. Kui tuleb time-out, siis saatja saadab kõik kinnitamata paketid uuesti. Paketi päisesse pannakse järjekorranumbrite hulk ja meil on aken pikkusega N. Need paketid, mis on vasakul aknast , on ära saadetud ja nende kohta on kviitung olemas. Akna alguses on need paketid, mis on ära saadetud, aga nende kohta kviitungit veel ei ole ja saatja peab olema valmis neid vajadusel uuesti saatma. Järgmised paketid akna sees on need, mida võib järjest saata niikaua, kuni aken on täis ja ära saadetud. Aknast paremal on need paketid, mida ei tohi puutuda, sest vastuvõtja puhver on määratud akna suurusega. Go-back-n kasutab kumulatiivset kviitungit. Go-back-n omapära on veel selles, et vastuvõtja poole pealt võtab ta pakette vastu ainult õiges järjekorras ja kui tulevad paketid vales järjekorras, siis neid ignoreeritakse. Kui pakett tuleb selline nagu ta ootab, siis ta paneb selle puhvrisse ja kui tuleb see mida ta ei oota, siis ta viskab selle paketi ära. See teeb vastuvõtja funktsiooni lihtsamaks, sest vastuvõtjal on vaja teada ainult ühte järjekorranumbrit ehk seda numbrit, mida ta ootab.
Saatja poolel – Rakenduse käest tulevad andmed ja kui järjekorranumber mahub aknasse , siis ta formeerib paketi, paneb andmeosa sisse, kontrollkoodi sisse ja saadab selle paketi teele. Ta paneb kella käima siis, kui saadab kõige esimese paketi. Kui aken on täis pakette ja uued andmed, mis rakenduse käest tulevad ei mahu aknasse, siis ta seda vastu ei võta ja paneb selle kõrvale ning ei tegele sellega. Kui tuleb time-out, siis ta saadab kõik paketid uuesti. Kui vastuvõtja saab kätte paketid näiteks 1, 3, 4, 5, 6 ja 2 on puudu, siis 1 järel ta 3., 4., 5., 6. paketti vastu ei võta, kuigi need võivad korras olla. Kui saatja saab kviitungi kätte, siis ta nihutab akna vasakut piiri edasi ehk (kviitungi number + 1) muutub uueks akna vasakpoolseks piiriks . Kui tuli kviitung ja kinnitati kõikide pakettide kättesaamine, siis pannakse taimer seisma.
Vastuvõtja poolel – Võetakse pakette vastu ainult õiges järjekorras. Kui tuleb täpselt see järjekorranumber, mida ta ootab, siis eraldatakse andmeosa ja saadetakse rakenduse kätte ära ja saadetakse uus kviitung teele. Nüüd järgmisena ta ootab sellist paketti, mille järjekorranumber on eelmisega võrreldes +1. Vastuvõtjas eraldi üleliigset puhverdamist ei ole ning vales järjekorras pakett visatakse ära.
Selle protokolli hea omadus on see, et vastuvõtja pool on lihtne ehk peab meeles pidama ainult ühte järjekorranumbrit, aga halb omadus on see, et need paketid, mis tulid vales järjekorras ja võisid olla korralikult kohale tulnud, visatase ära ja korratakse, kuigi nad võisid korralikud olla ka varem.
Oletame, et aken on 3 paketti pikk. Kui näiteks pakett_1 saadetakse ära ja see jõuab kohale ning tuleb tagasi ka ACK_1. Siis saadetakse pakett_2, mis läheb kaduma. Siis saadetakse pakett_3 ja kuna see tuli vales järjekorras, siis seda ignoreeritakse ja saadetakse teele viimane kviitung uuesti. ACK_3-me ei tohi saata, sest see kinnitaks ka 1, 2, 3-me kättesaamist, aga kuna 2 on puudu, siis tuleb saata hoopis ACK_1, mis ütleb, et pakett_1 on kohal, aga pärast seda oleva paketiga on midagi korrast ära. Kui saadakse ACK_1 kätte, siis on võimalik saata juba pakett_4 ehk akent edasi nihutada. Kui pakett_2-le tuleb time-out, siis saadetakse uuesti kõik alates pakett_2-st, kõik mis aknas on. 8 erineva järjekorranumbri puhul on maksimaalne Go-back-n-i akna pikkus 2K-1 (identifikaatorite_arv – 1) ehk siis kui meil on 3-bitine identifikaator ja 8 erinevat identifikaatorit, siis maksimaalne akna pikkus võib olla 7. 2-bitise puhul on maksimaalne akna pikkus 3.
MAXwin = 2K-1
Põhjus: Kirjeldan olukorda, kus järjekorranumbreid on 4 (0, 1, 2, 3) ja akna suuruseks võtta ka 4. Saadetakse neli esimest paketti (0, 1, 2, 3) ära ning jäädakse ootama ACKi. Kui ACK aga läheb teepeal kaduma ning saatjani ei jõua, siis oodatakse ära TTL ning hakatakse pakette (0, 1, 2, 3) kordama. Nüüd tekibki probleem, et vastuvõtja ootab, et talle saadetaks uus pakett_0, aga tegelikult saadetakse vanad paketid uuesti ning vastuvõtja seda ei tea ning võtabki juba korra kätte saadud paketid uuesti vastu. Sellepärast peabki akna pikkus olema 3, et vastuvõtja ootaks järgmisena pakette (3, 0, 1, 2). Siis saaks vastuvõtja aru, et kui tuleb vana pakett_0, siis tuleb see minema visata , kuna oodatakse järgmisena pakett_3-me. Siis kui TTL läbi saab, saadetakse uus ACK ning saatja alustab pakett_3 saatmist ning probleem on lahendatud.
19. Selective-repeat
Valikulise kordamise juures saadetakse ka mitu paketti järjest, aga siin tulevad kviitungid igale paketile eraldi ja igaühel on eraldi time-out. Kui vahepealt on midagi puudu, siis oodatakse, et see auk saaks ära täidetud. Üks kviitung ei kinnita eelmiste kättesaamist ehk see on individuaalne ja kinnitab ühe konkreetse paketi kättesaamise. Vastuvõtja puhvrites võivad augud sees olla. Saatja saadab uuesti ainult selle paketi, mille kohta time-out tuleb. Vastuvõtja mehhanism on nüüd keerulisem ja ta peab meeles pidama, mis paketid on olemas ja mis ei ole ning millisele on saadetud kviitungid ning millisele ei ole.
Saatja pool – Akna all on need paketid, mis on saadetud ja need, millel on kviitung tulnud. Siin on pilt kirjum. Paremal pool akna all on need, mida võib veel saata. Need paketid, mis on aknast väljas, neid ei tohi saata. Akent ei saa nihutada enne, kui esimesele akna all olemale saadetud paketile kviitung kohale jõuab. Protsess: Aknas on olemas vaba järjekorranumber ja pakett ning see saadetakse teele. Kui on time-out, siis saadetakse pakett uuesti ja pannakse kell käima. Kui tuleb kviitung, mis mahub aknasse, siis märgitakse ära, et see pakett on käes ja kui on tegemist akna algusega, siis saab akent edasi nihutada. Kui kviitung tuleb kuhugile mujale, siis jääb aken paika ja oodatakse ikkagi esimese paketi kviitungit, et akent edasi nihutada. Kui tuleb time-out, siis saadetakse puuduolev pakett uuesti.
Vastuvõtja pool – Akna all on osa kohti, kuhu oodatakse pakette, aga mida veel ei ole. Veel on akna all paketid, mis on kohal ja nende kohta on kviitungid saadetud,. Kui auk on enne sees, siis tuleb akent kinni hoida. Osad kohad akna all on need, kuhu võib veel pakette vastu võtta ja mis mahuvad aknasse. Kui pakett on aknas, siis saadetakse kviitung. Kui on vales järjekorras ehk vahepealt on midagi puudu, siis puhverdatakse ja kui tuleb õiges järjekorras, siis saab rakendusele üles kätte anda ja akent edasi nihutada. Vastuvõtja peab olema valmis ka neid pakette vastu võtma, mis jäävad aknast vasakule ja akna pikkuse võrra valmis kviitugeid saatma. Seetõttu ongi kaks akent omavahel nihkes.
Siin on saatja ja vastuvõtja aknad erinevate kohtade peal. Kui kviitung on ära saadetud, siis vastuvõtja lükkab selle akna edasi, aga saatja ei saa enne nihutada akent, kui saatjasse kviitung tuleb. Saatjal ja vastuvõtjal on hoopis erinev nägemus sellest, mis kommunikatsioonis toimub. Kui me teeme akna liiga pika, siis tekib probleem.
Saatja ja vastuvõtja aknad peavad olema ühesuurused ja maksimaalne akna pikkus on: MAXwin = 2K / 2
Põhjus: Kirjeldan olukorda, kus järjekorranumbreid on 4 (0, 1, 2, 3) ja akna suuruseks võtta 3. Saadetakse kolm esimest paketti (0, 1, 2) ära ning jäädakse ootama ACKi. Kui ACK aga läheb teepeal kaduma ning saatjani ei jõua, siis oodatakse ära TTL ning hakatakse pakette (0, 1, 2) kordama, kuigi vastuvõtja ootab pakette (3, 0, 1). Vastuvõtja saab aru, et tuli teise järjekorranumbriga pakett (pakett 0), mida ta tegelikult ei oodanud ja võtab selle vastu. Siis tuleb ka pakett 1 ning ka see võetakse vastu. Kolmandana tuleb pakett 2, aga see jääb juba aknast välja ning visatakse minema. Õige oleks, kui akna suurus oleks 2. Sel juhul kui toimub uuesti saatmine, siis vastuvõtja saab aru, et saadetakse duplikaat pakette ning need visatakse minema ning saadetakse uus ACK. Pärast seda saab saatja aru, et tuleb saata uuesti alates paketist 2.
20. TCP ühenduse loomine ja sulgemine
Ühenduse loomisega seotud bitid on: RST (ühenduse uuesti loomine), SYN (ühenduse alustamine) ja FIN (ühenduse sulgemine). Täisdupleksi tõttu toimub loomine ja sulgemine mõlemas suunas. Näiteks A saadab B-le, et ta soovib suhtlema hakata. Siis B formeerib sellele kviitungi ja kinnitab, et soovib ka A-ga suhtlema hakata. Enne kui ühendus luuakse liigub 3 paketti: kliendi poolt saadetakse päring ühendus algatada ja SYN bit pannakse püsti ja genereeritakse baidi number, mitmendast baidist hakatakse andmeid saatma. Saadetakse andmete algusest ning see on ka järjekorranumber, mida hakatakse kasutama. See tähendab seda, et alati ei alustata pakettide saatmist baidist järjekorranumbriga 0. Kui kõik alati alustaks nullist, siis mõni võrgus ringlev pakett võib hoopis vastuvõtjale ka sobida, mida tegelikult ei soovita. Kuna aga alustatakse erinevatest kohtadest (numbritest), mis genereeritakse juhuslikult, siis see vähendab tõenäosust, et suvaline võrgus ringlev pakett võiks vastuvõtjasse jõuda. Serveri pool vastab sellega, et tema tahab ka ühendust alustada ja ta paneb selle info paketi päisesse. Kuna tegemist on nüüd kviitungiga, siis ta kliendipoolsele järjekorranumbrile liidab ühe otsa (SYN - tingilikult 1 bait ), sest järgmisena ta ootab sellise järjekorranumbriga paketti. Server genereerib ka oma esimese baidi numbri, mida tema hakkab saatma. Klient saab kätt kviitungi oma ühenduse loomisele, siis ta võtab SYN biti maha. Nüüd saab klient hakata andmeid saatma ja ta peab arvestama serveri poolt saadetud kviitungit. Serveri poolt saadetud järjekorranumbrile paneb ta kviitungi kombel +1 otsa. Nüüd, kui server midagi vastaks talle, siis esimene bait, mille server kliendile saadab olekski selle järjekorranumbriga.
Ühenduse sulgemine on ka kahepoolne protsess. Kõigepealt üks ütleb, et tema soovib ühendust sulgeda ja selle peale teine saadab kinnituse . Kui teisel on veel andmeid saata, siis võib ta seda jätkata. Kui üks osapooltest soovib lõpetada, siis tema saadab ühenduse sulgemise soovi ja siis teine pool ka kinnitab, et panna ühendus kinni. Kui üks paneb ühenduse enda poolt kinni ja kviitungit ei tule, siis ta ei jäta seda ühendust lõputult ripakile. See tähendab, et kui mingi aja pärast ei ole mingit aktiivset tegevust teise osapoole poolt tulnud, siis lihtsalt pannakse see ühendus kinni. Muidu jääks ühendus ripakile ja see tähendaks, et ühel poolel jäävad puhvrid reserveerituks ja ressursid on laiali jagatud ning ei suudetagi enam midagi teha. Selliste toimingutega aetakse näiteks ka serverid umbe, kui algatatakse järjest ühendusi ja jäetakse need ripakile.
Taimerit kasutatakse veel ka selleks, et kui peaks veel pakette liikuma ja teine ei ole veel ühendust sulgenud, siis on võimalik lisaks kviitungeid saata.
21. TCP töökindel andmeedastus
TCP tagab töökindla andmevahetuse kasutades kumulatiivset kviitungit ja Time-Out taimerit. Paketi saatmist korratakse siis, kui tuleb Time-Out või tulevad topeltkviitungid. Kui TCP hakkab saatma ja loob paketi, paneb ta sinna järjekorranumbri sisse, milleks on esimese baidi number selles baitide jadas, mida pakett sisaldab. Siis paneb kella käima ja kui tuleb Time-Out, siis kordab selle segmendi saatmist ja paneb uuesti kella käima. Kui tuleb kviitung, siis see kinnitab kõikide eelnevate kättesaamist ja pannakse uus kell käima.
Andmed tulevad rakenduse käest, siis luuakse TCP segment ja pannakse taimer käima, mis hakkab sõltuma esimesest baidist. Siis saadetakse segment võrgukihi kätte ja järjekorranumbriks pannakse (järjekorranumber + paketi pikkus) ehk järgmisesse paketti mineva esimese baidi järjekorranumber. Kui on Time-Out, siis saadetakse uuesti need paketid, mille kohta kviitungit veel ei ole ehk siin ta käitub nagu Go-Back-N.
Kui tuleb vastuvõtjale pakett õiges järjekorras, siis ta kohe kviitungit saatma ei hakka, kui seda vaja ei ole. Kui tuleb veel üks pakett, mis on õiges järjekorras ja üks kviitung on saatmata, siis ta saadab kumulatiivse kviitungi. Kui on teada, et tuleb pakettide jada, siis ei ole mõtet igaühele kviitungit saata ja ta paneb selle kviitungi ootama ja kui midagi ei tule, siis saadetakse kviitung ära. Kui on vales järjekorras pakett, siis saadetakse duplikaatkviitung, et informeerida saatjat mingite andmete kättesaamisest, aga need on vales järjekorras. Saatja saab vigaste olukordade kohta kahte moodi teada: kas ta saab duplikaatkviitungi (midagi tuli kohale aga vales järjekorras või midagi on vahepealt puudu) või saab Time-Outi (midagi ei ole kohale tulnud). Dopeltkviitung annab teada, et midagi on vahelt puudu ning seda Go-Back-N-is ega Selective-Repeatis ei ole, aga TCP-s on olemas.
22. TCP taimerid
TCP taimerid on kordamise taimer, püstihoidmise taimer, hoia-elus taimer ja ajaootus taimer.
Kordamise taimer (Retransmission timer ):
TCP time-out: RTT ( Round -Trip-Time) – aeg, mis kulub paketi minekuks ühest kohast teise ja vastuse tagasitulekuks. Time-Out-i aeg peaks olema pikem kui RTT ja mõistlikult väikse varuga, et me ei ootaks liiga kaua ja samas väldiks ka asjatult kordussaatmisi liiga lühikese aja tõttu. Võrgus paketid liiguvad erinevaid teid mööda ehk pakettide liikumise ajad võivad olla väga erinevad. Time-out-i arvutus toimub nii, et võtame senise time-outi aja mingi koefitsendiga ja paneme talle juurde konkreetse vastuse tuleku aja. See tähendab, et saadame paketi teele ja vaatame kui kiiresti tuleb kviitung ning saadame jälle paketi teele ja vaatame, kui kiiresti tuleb kviitung ning hindame vastavalt sellele aega ning määrame time-out-i aja.
Kaalutud_keskmine_RTT = (1 – 0,125) * kaalutud_keskmine_RTT + 0,125*konkreetne_RTT
See tähendab, et me ühe pika erandootamise peale ei tee RTT aega liiga pikaks ehk teeme Time-Outi määramise veidi sujuvamaks. Lisaks sellele pannakse juurde väike varu. Pannakse juurde erinevus: RTT_erinevus = 0,25* (konkreetne_RTT – kaalutud_keskmine_RTT)
Üldine Time-Out-i aeg arvutatakse nii:
Time-Out_intervall = kaalutud_keskmine_RTT + 4*RTT_erinevus
Püstihoidmise taimer (Persistence timer) - Kui saatja saadab paketi ja saab vastu teadmise, et vastuvõtja puhvrid on täis, siis mingi aja pärast ta proovib saata ühte baiti . Kui tuleb jälle vastus, et puhvrid on täis, siis ta proovib mingi aja pärast uuesti. See tähendab seda, et ühe baidi saatmine annab vastuvõtjale põhjuse saata kviitungit ja kui tal on vahepeal puhvitesse ruumi tekkinud, siis uuel kviitungil võib vastuvõtja puhvrite pikkus olla nullist erinev ja see tähendab, et saatmine läheb jälle uuesti käima.
Hoia-elus taimer ( Keep - alive timer) – Seda kasutatakse süsteemides, kus peab olema selge, et teine osapool on elus. See tähendab, et aeg-ajalt osapooled vahetavad omavahel lühikesi pakette ja selle järgi on teada, et teine on olemas. Need paketid ei pea midagi sisaldama, vaid tahetakse teada kas teine on elus.
23. TCP voo juhtimine
Voojuhtimine on selline, kus vastuvõtjal on puhver ja sinna ta saab pakette panna andmevahetusest. Kui paketid tulevad, siis järjest seda puhvrit täidetakse ja teisest otsast neid antakse järjest rakendusele kätte ning puhvris mingi osa on täis ja mingi osa on tühi. See, mis on tühi saadetakse TCP paketi päise kaudu saatjale, et ta teaks palju tohib saata, sest saatja ei tohi saata rohkem, kui vaba ruumi vastuvõtja puhvris on.
24. TCP koormuse juhtimine
Kaudselt hinnatakse võrgukoormust selle järgi, et ooteajad lähevad pikemaks ja kviitungid jäävad lõpuks tulemata. Kui ühendus on loodud, siis alustatakse aeglaselt ja suurendatakse pidevalt koormust. Kui tuleb hinnanguline informatsioon võrgust ülekoormuse kohta, siis lastakse koormus järsult alla. TCP alguses suurendab koormust ja kui tuleb Time-Out siis vähendab koormust ja jälle uuesti suurendab. Toimub selline „saehamba“ moodi kõikumine.
Näide: Alustab alguses ühe segmendiga ja tuleb kviitung, et kõik on korras, siis saadab 2 segmenti. Tulevad mõlemad kviitungid, siis saadab 4 segmenti. Kui nüüd tulevad ka kõigile kviitungid, siis saadab 8 segmenti. Ta suurendab eksponentsiaalselt saadetavate segmentide hulka. Kindlast piirist alates suurendab ta edasi ühe kaupa. Ehk saadab järgmisena 9 ja kviitungid tulid ja saadab 10 ning kviitungid tulid. Kui nüüd saadab 11 ja jõuab selle tasemeni, et tuleb otsus vastu võtta ülekoormuse suhtes.
Kui tulevad paketid vales järjekorras, siis saadetakse topeltkviitung viimasele õiges järjekorras tulnud paketile. Kui on kolm topeltkviitungit, siis saadetakse see pakett uuesti, mille kohta see kolm topemtkviitungit tuli. Teine asi, mis sunnib TCP-d kordama on see, kui tuleb Time-Out. Sellest olukorrast tulenevalt saabki TCP teha 2 võimalikku otsust. Kui tuleb kolm topeltkviitungit, siis ta tõmbab poole peale koormuse ja jälle ükshaaval hakkab suurendama koormust. Kui tuli Time-Out, siis ta tõmbab alla nulli peale seisma ja hakkab jälle 1, 2, 4, 8 kuni selle väärtuseni, kust ta enne alla tuli. Piiri ta paneb ülevalt alla tulekul poole peale. Kaks erinevat stsenaariumid on sellepärast, et kolm kviitungit tuli topelt ja Time-Outi veel ei ole, siis see tähendab, et sellest võrgust midagi veel läbi läheb ehk võrk ei ole veel täiesti umbes. Kui tõmbame natuke koormust alla, saame paketi ära saata. Siis saab tasapisi jälle suurendada. Kui tuli Time-Out, siis sellest võib järeldada, et võrk on täiesti umbes. Ei ole mõtet poole peale tõmmata, vaid tuleks korraks asi seisma jätta ja alustada tuleks jälle 1, 2, 4, 8 kuni hinnanguliselt pooleni ja siis tasapisi ülespoole. Alguses suurendatakse esponentsiaalselt ja hiljem sammhaava ehk lineaarselt, kuni tuleb see hinnang, et kas tuli kolm topeltkviitungit või Time-Out.
25. UDP
Pikalt välja kirjutatuna on see User Datagram Protocol. See on transpordikihi protokoll. UDP puhul on tegemist ühenduseta andmevahetusteenusega ehk ei suhelda teisega ja saadetakse pakette lihtsalt teele ehk ei tehta midagi erilist lisaks ( best effort). See, mis võrgust läbi läheb, sellega ta tegeleb, samuti ei kulutata aega ühenduste loomiste peale ja pakettide saatmise kordamisele. Iga UDP pakett on omaette nähtus võrgus ja iga pakett liigub omaette ning nad võivad kohale jõuda suvalises järjekorras ja ka teepeal kaduma minna. Kõik sõltub teepeal olevate kanalite kvaliteedist. Samuti ei kulutata aega ühenduse loomisele ning ei ole vaja ühenduse olekut meeles pidada ning saatja ja vastuvõtja ei eralda eraldi puhvreid. Samuti ei tegeleta pakettide meelespidamise ja järjestamisega. Paketi päis on väiksem (2 aadressi, saatja rakenduse pordi number, vastuvõtja rakenduse pordi number, paketi pikkus ja kontrollsumma) ja saatmiseks kulub vähem aega. UDP ei tegele ka koormuse reguleerimisega ehk see mis võrku saadetakse, see ka teele läheb. UDP sobib selliste rakenduste jaoks, mis taluvad teatud osa pakettide kaotsiminekut ning on ka kiiruse suhtes tundlikum. UDP-d kasutab DNS ja SNMP (võrguhaldus protokoll). UDP ei taga ajalisi garantiisid ja kanali läbilaskevõimet. See, mis on võimalik võrgust läbi saata, see ka läheb ning ei tegeleta aja raiskamisega nagu TCP korral. UDP kontrollkoodi arvutamine käib nii, et võetakse paketti, kui 16 bitiseid kahendarve, bitid liidetakse kokku ja lõpus nullid tehakse ühtedeks ja ühed nullideks ning see inverteeritud summa ongi kontrollkoodiks. See saadetakse vastuvõtjale ning vastuvõtja liidab reeglite järgi kokku ja saab inverteeritud kontrollsumma ja kui klapib, siis tulemuseks peavad olema kõik ühed. See tähendab , et kontrollkood klappis.
26. Datagrammvõrgud ja virtuaalahelatega võrgud
Pakettedastusel on kahte sorti edastusviise: 1) Puhas pakettedastus – (datagramm võrgud) Iga pakett liigub omaette ehk pakett on sõltumatu üksus. Kui pakett jõuab ruuterisse kohale, vaadatakse paketi päist ja seal on kirjas, kuhu sihtpunkti ta jõudma peab. See tähendab seda, et marsruut on paika panemata ja igal ristteel võetakse vastu otsus ehk iga pakett marsruuditakse igas võrgusõlmes eraldi. Kui fail koosneb kolmest paketist, siis iga pakett võib eri teid mööda lõpp-punkti kohale jõuda. Siin IP aadress määrab ära sihtpunkti aadressi. 2) Virtuaalkanali puhul toimub alguses marsruudi otsimine ehk pakett tuleb ruuterisse kohale, siis vaadatakse, kuidas seda edasi saata ja kui tuleb järgmine pakett, siis toimub sama asi. Virtuaalkanal pannakse paika ja selle kohta saadetakse informatsioon ruuteritesse. Virtuaalkanalite puhul on igas võrgusõlmes informatsioon, kuhu pakett edasi saata ning mingil määral jääb töötlusaeg sisse, mis on aga väiksem aeg, kui kulub marsruudi otsimiseks. See tähendab seda, et marsruut on paika pandud ja paketid liiguvad kindlat marsruuti mööda ning ei pea igas võrgusõlmes eraldi marsruuti küsima, aga konkureeritakse kõigi teiste pakettidega selle tee peal ehk ei hõivata kogu resurssi endale. Näiteks ATM võrkudes kommutatsioonisõlmed ei tea sihtpunkti aadressi, vaid teavad kust tuleb pakett ja kuhu see tuleb edasi saata. Selle võrra on aadress väiksem ja marsruutimisotsust lihtsam ja kiirem teha.
27. Marsuutimine
Meil peab olema mingi algoritmi järgi tabel ja tabelis on väljad, mille järgi tehakse otsus, kuhu pakett edasi saata. Marsruutimisprotokollide informatsiooni järgi tehakse valmis tabel. Algoritmi ei täideta iga paketi jaoks. Iga paketi jaoks võetakse informatsiooni tabelist ja kui tekib vajadus siis see tabel arvutatakse uuesti ümber ja siis edasine marsruutimine toimub läbi tabeli. Kui pakett saabub, siis vaadatakse aadressi välja või siis virtuaalkanali identifikaatori välja. Marsruutimisotsus tähendab seda, et vaadatakse marsruutimistabelist, mida paketiga edasi teha. See otsus tehakse tavaliselt üpris kiiresti, aga neid tabeleid tuleb teatud aja järel uuendada , kui need ei vasta enam võrgu tingimustele. Kui on adaptiivse marsruutimisega tegemist, siis marsruutimine üritab ennast kohandada võrgu olukordadele. Kui kusagil võrgus on ülekoormus, siis see tabel arvutatakse uuesti ja üritatakse seda ülekoormatud kohta vältida ja suunata liiklust kuskagilt mujalt kaudu.
Võime kujutada ette võrku, kui ühte suurt graafi . Graafi tippudeks on võrgusõlmed (hostid, ruuterid) ja graafi kaarteks on kanalid, mis on nende võrgusõlmede vahel. Igal kanalil võib olla väärtus. Igal kanalil on oma hind ning see võib sõltuda erinevatest asjadest: näiteks rahaliselt tingitud, kiirusest tingitud, ülekoormusest tingutud. Vastavalt sellele on kanalitel ka mingisugune väärtus. Me otsime kõige odavamat teed läbi erinevate võrgusõlmede ühest punktist teise. Marsruutimise algoritmi idee eesmärk ongi teades informatsiooni võrgu kohta, me üritame leida iga võrgusõlme jaoks kõikidesse punktidesse kõige odavama tee. Tee maksumus on see, mis on selle tee hind.
Marsruutimine peab tagama:
1) Korrektse marsruudi – Kui me otsime teed punktist A punkti B, siis sellesse punkti B on meil võimalik ka jõuda, kui vähemalt üks kanal eksisteerib punkti A ja punkti B vahel.
2) Marsruutimise algoritm peab olema võimalikult lihtne – Me ei saa kulutada palju aega marsruutimise algoritmi tööks, sest marsruutimise algoritm töötab ruuteri peal ja ruuteril on üks protsessor , mis peab tegelema marsruutimisega ja see on tema põhitöö. Seega, kui me kulutame marsruutimise algoritmi täitmiseks liiga palju ruuteri aega, siis seda vähem jääb aega tegeliku marsruutimise jaoks.
3) Marsruutimise algoritm peab olema vea ja igasuguse eriolukordade kindel – Kui üks kanal on katki, siis peab algoritm suutma tööd ümber korraldada selliselt, et otsitakse alternatiivseid teid.
4) Marsruutimisalgoritm peab töötama stabiilselt – Ei tohi tekkida igasugu tõmbluseid ehk kui üks kanal on ülekoormatud, siis suunatakse kogu liiklus teise. Kui on teine ülekoormatud, siis suunatakse tagasi esimesse ja nüüd kui see jälle on ülekoormatud siis teise jne. Pigem peaks liiklust hajutama, mitte täie auruga ühte ja teise vahel pendeldama.
5) Marsruutimise algoritm peab olema õiglane – Kõigile peab olema võimalus liigutada pakette läbi võrgu.
6) Marsruutimisalgorim peab andma optimaalse tulemuse – Ei ole olemas ideaalset, õiget ja parimat tulemust. Marsruutimise otsused võetakse alati vastu teatud mõttes hilinenud informatsiooni põhjal. See tähendab, et kusagilt saadakse info, et võrgus on ülekoormus. See info liigub läbi võrgu sellesse punkti, kus hakatakse marsruutimisotsuseid tegema ja tabeleid arvutama . Sel ajal kui info liigub, võib ülekoormus hakata juba kaduma.
7) Marsruutimise algoritmi täitmine võtab mingi aja – Selle aja jooksul võib võrgus juba midagi muutuma hakata. See tähendab, et marsruutimise otsused võetakse alati vastu vananenud info põhjal. See tähendab, et ei ole mõtet üritada selle vananenud info põhjal välja arvutada väga head ja täpset otsust. See on niikuinii teatud mõttes vigane.
Marsruutimisotsuste vastu võtmine kriteeriumid:
1) Mitu sammu on ehk läbi mitme ruuteri peame liikuma – Võrkudes me teepikkust ei hinda mitte meetrites, kliomeetrites, vaid selle järgi mitu ruuterit teepeal on. Kui üks tee on 10 meetrit ja seal on 5 ruuterit ja teine tee on kilomeeter ja seal on üks ruuter, siis see kilomeetrine tee võrgu mõttes on lühem, sest üks ruuter kulutab oluliselt vähem paketitöötluseks aega, kui viis ruuterit.
2) Reaalne maksumus – Võrkudes võetakse raha selle eest, et me seal andmeid liigutame.
3) Ajalised viited – Iseloomustab seda, kui koormatud on võrk.
4) Kui palju võrgust läbi läheb – Iseloomustab seda, kui kiired ja kvaliteetsed kanalid seal on.
Marsruutimise otsuseid võib teha paketi kohta või sessiooni kohta. Kui tegemist on datagramm võrkudega, siis iga paketi kohta tehakse see otsus edaldi. Kui tegemist on sessiooniga ehk virtuaalkanaliga, siis virtuaalkanal pannakse paika ja edasi andmed liiguvad juba läbi selle virtuaalkanali.
Otsuseid võib vastu võtta: 1) Igas võrgusõlmes – Igaüks saab teada info kogu võrgu kohta ja igaüks arvutab endale marsruutimistabeli. 2) Keskses võrgusõlmes – See arvutab tabeli valmis ja saadab kõigile laiali 3) See kes saadab paketi paneb paketi päisesse ka marsruudi kirja ja sedamööda see pakett ka liigub (mõnedes tööstusautomaatika võrkudes kasutatakse)
Informatsiooni kogutakse: 1) Mitte mingist informatsioonist, mis võrgus on 2) Lokaalset informatsiooni – Vaatame, milline väljund on vähem koormatud ja läbi selle saadame paketi teele ja las siis edasi marsruuditakse teda kuhugi 3) Naabrite käest 4) Marsruudi ehk tee pealt 5) Kõigi käest – Kõik saadavad kõigile informatsiooni.
Infot uuendatakse ja kogutakse pidevalt, mingi perioodi tagant, siis kui toimub võrgus suurem koormuse muutus või siis kui toimub mingi võrgu topoloogia muutus.
Fikseeritud marsruutimine – Marsruutimistabel on fikseeritud ja paika pandud ja kogu edaspidine marsruutimine toimub tabeli järgi ja seda tabelit ei uuendata enne, kui tekib vajadus kogu marsruutimist ümber korraldada. Seda kasutatakse tööstusvõrkudes, sest seal on seadmete asukohad kindlalt paigas, kuni süsteem töötab. Kontorivõrkudes aga pidevalt võib midagi muutuda, kui keegi tuleb oma sülearvutiga ja paneb selle võrku või pannakse näiteks üks ruuter juurde ja 5 arvutit juurde ja tekitatakse uus alamvõrk ning siis ongi kõik asjad paigast ära. Fikseeritud marsruutimine sobib siis, kui võrgu konfiguratioon on suhteliselt stabiilne ja on teada kustkaudu seda liiklust on võimalik suunata.
Flooding – Võrgus korraldatakse üleujutus. Üks ruuter saadab paketi teele kõikidesse väljundkanalitesse. Järgmised saadavad kõikidesse edasi välja arvatud sinna kus see pakett tuli. Sellel on teatud head omadused. Paketid läbivad kõikvõimalikud teed ja kui punktist A punkti B on vähemalt üks kanal olemas, siis see leitakse üles. Esimene pakett, mis jõuab sihtpunkti on läinud mööda parimat teed ja see võetakse marsruudiks. See tähendab, et meil ei ole vaja mingit infot võrgu kohta küsida. Korraks ujutatakse võrk üle ja siis ülejäävad paketid visatakse lihtsalt minema.
Juhuslik marsruutimine – Kui pakett jõuab võrgusõlme, siis visatakse täringut ja vaadatakse, kuhu ta edasi saata. Head lõpptulemus pole päris kindel, aga kui meil on võrdväärsed alternatiivid, siis tasub neid juhuslikult valida, sest see lihtsalt hajutab nende vahel selle koormuse ära.
Adaptiivne marsruutimine –Seda kasutatakse kõige rohkem. Üritatakse lähtuda sellest, kas võrgus on häireid ja ülekoormust ning vastavalt sellele üritatakse võrgus koormust hajutada. Sellel on ka halvad omadused. Meil on vaja palju informatsiooni võrgu kohta. Informatsioon saadakse ühest kohast ja kasutatakse teises kohas ehk infot on vaja transportida. Selleks peab kasutama sama võrku, mis andmete liigutamiseks ning see tähendab, et võtame osa võrguressursist ära. Samuti otsuse tegemine on keeruline ehk meil peab olema marsruutimise algoritm, mille põhjal kogutud infost lähtudes otsuseid teeme. See võib tähendada, et reageerime väikestele ülekoormustele liiga kiiresti ja hakkame liiklust mujale suunama, kuigi see koormus mingil hetkel ka ise laheneks. Adaptiivne marsruutimine parandab võrgu jõudlust ja võrgu läbilaskevõimet. See tähendab, et me reguleerime koormust ja me saame ka võrgukoormust hajutada.
Marsruutimise tehnikad , mida kasutatakse: 1) Teada host, kuhu tahame jõuda ja meil on teada võrgusõlm läbi mille me pääseme sinna. 2) Võrguspetsiifiline marsruutimine – marsruutimistabelis võib olla kirjas võrk 3) Hosti-spetsiifiline marsruutimine 4) Vaikimisi marsruutimine – ei saa kõiki võimalikke võrke ja hoste kirja panna, sest marsruutimistabel läheks meeletult suureks.
Marsruutimine võib olla staatiline ja dünaamiline. Staatiline on see, kus paneme kanali pikaks ajaks paika ja ta jääb paika. Dünaamiline on see, et me muudame marsruutimistabelit, kui võrgus midagi juhtub. Ruutimisalgoritme võib jagada selliste kriteeriumite järgi: 1) Arvutavad välja ühe tee või mitu alternatiivset varianti 2) Tasapinnalised või hierarhilised – see tähendab, et kas kõik ruuterid on võrdsed või on ka ruuter, mis oskab marsruutida piirkonna sees ja piirkodade vahel. 3) Host või ruuter oskab teha marsruutimisotsuseid 4) Piirkonnasisene või piirkondadevaheline marsruutimine.
28. Link state marsruutimisalgoritm
See on kanalioleku algoritm. Kõigil võrgusõlmedel on olemas info kogu võrgu kohta. See info saadetakse kõigile laiali. Kõik teavad kõike, mis võrgus on ehk kõik teavad täisgraafi ja igaüks teeb vastavalt sellele enda jaoks marsruutimistabeli valmis.
C(x,y) – kanali väärtus võrgusõlmest x võrgusõlme y. Kui x-i ja y-i vahel on veel keegi, siis me paneme algul kanali väärtuseks, et ta on lõpmatult suur. See ei ole kanal, mida saaksime kohe kasutama hakata. Algoritmi väärtus muutub töö käigus.
D(v) – D väärtus sihtpunktist läbi erinevate võrgusõlmede kuni tipuni v välja.
P(v) – teepeal olev eelviimane tipp enne viimast v-d.
N’- võrgusõlmede hulk, mida oleme algoritmiga läbi vaadanud.
Algoritm töötab selliselt: Alguses paneme ühe tipu tippude hulka N ja otsime üles tipu u naabertipud v need mille vahel ei ole rohkem võrgusõlmi ehk lihtsalt kanal. Nende kohta me teame seda kanali väärtust. Kui tippude vahel on rohkem sõlmi kui üks siis nende jaoks me ütleme, et te väärtus on lõpmatult suur.
Algoritm töötab sellise põhimõtte järgi, et meil on teada tipp v ja nüüd kui panime juurde sellesse hulka tipu w. Kui leiame, et uuest tipust w on olemas tee tippu v, mille kohta me juba teame teepikkust, siis me võrdleme, kas seni olev teadmine D(v) või uus teadmine D(w) +c(w,v), et kumb nendest teedest on lühem ja annab parema tulemuse. Tuleb võrrelda kahte teed ning nende võrdluse tulemusena me saame odavama tee ja nii tuleb kogu graaf läbi käia.
Näide: Otsime tipust u kõikvõimalike teid kõikidesse tippudese. u naabrid on uv väärtusega 2 ja ux väärtusega 1 ja uw väärtusega 5. U-st y- isse ühe sammuga ei saa ehk selle tee hind on praegu lõpmatult kallis. U-st z-i ka ühe sammuga ei saa ehk selle tee väärtus on ka lõpmatult kallis. Tuleb otsida välja kõige odavam tee ja see on ux väärtusega 1. Esimese sammuna tuleb kirjutada x tabelisse. Nüüd tuleb arvutada kõik teepikkused välja lähtudes sellest, mida me saime tänu selle x-i. U-st v-ni on 2, aga läbi x-i on 2+1=3 ehk siin teepikkus ei paranenud ja 2 jääb alles. U-st w-sse on 5, aga läbi x-i on 1+3=4 ehk läbi uue tipu saame parema tulemuse ehk see tähendab, et u-st w-sse ei ole mõtet otse minna, vaid läbi x-i. U-st pääseme ka x-i kaudu y-isse, mille väärtus on 1+1=2. Kui tahame jõuda u-st w-ni, siis uw väärtus on 5, uxw väärtus on 4, aga uxyw väärtus on 3 ehk see on hoopis parim tulemus. Nüüd pääseme ka z-ini ja uxyz puhul on tee väärtus 1+1+2=4. Kõikide muude tippude kaudu minnes oleks väärtus suurem ehk kõige minimaalsem tee tipust u tippu z on uxyz. Nii ühe võimalusena marsruuterid töötavad. Neil on olemas kogu täisinfo võrgu kohta ja sellest lähtuvad kasutades Dijkstra algoritmi, siis saadaksegi valmis graaf ja tekib marsruutimistabel.
29. Distance vector marsruutimisalgoritm
Info on olemas naabrite käes, paneme juurde hinna naabriteni ja vastavalt sellele tekitame tabeli. Kui tabelis mingi asi muutub, siis saadame selle info omakorda naabritele tagasi. See tähenda seda, et selle algoritmi puhul tuleb panna juurde hind endast naabrini ja selle järgi leida parim tee.
dx(y) – Tee x-ist y-ni on tee c (x-ist v-ni) ehk vahetu naabriga ja sellele lisaks dd(y) (v-st y-ni). See tähendab, et naabrid annavad informatsiooni, kuidas nendest kuhugi pääseb ja mina panen juurde selle, kuidas naabrini pääseb ja selle põhjal tehakse marsruutimisotsus.
dv(z)= 2+1+2=5; dx(z)=1+2=3; ddz=1+2=3
du(z) < = 4
Näeme, et parim tee on uxyz, mille väärtus on 4.
Bellman- Fordi näide: Teeme marsruutimistabeli tipu u kohta. Me otsime tipu u naabertipu v, mille vahel ei ole rohkem võrgusõlmi, vaid on ainult kanal. Nende kohta me teadme kanali väärtust. Kui tippude vahel on rohkem sõlmi kui üks, siis nende jaoks me ütleme, et see tee väärtus on lõpmatult suur. Tuleb otsida välja minimaalne tee. Naabrid annav oma informatsiooni, mina panen juurde teepikkuse naabriteni ja leian minimaalse.
Algoritm töötab nii, et kui toimub lokaalse kanali väärtuse muutus või tuleb naabri käest informatsioon, et midagi on muutunud teede väärtuses, siis arvutatakse tabelit uuesti ümber. Kui mingis teeosas tekib muudatus, siis sellest informeeritakse omakorda naabreid. Nii see info mööda võrku läbi naabrite laiali levib, kuni kõik on saanud oma tabelid ära uuendatud.
Näide: Tegemist on väikse võrguga.
x->x=0 ja x->y=2 ja x->z=7 (x rohkem ei tea midagi ja see on lähtepunkt)
y->y=0 ja y->x=2 ja y->z=1
z->z= 0 ja z->x=7 ja z->y=1
See info saadetakse naabritele.
Dx(y) = 2
Dx(z) = 3
Info on olemas naabrite käes, paneme hinna juurde naabriteni ja sõltuvalt sellest tekitame tabeli. Kui tabelis mingi asi muutub, siis saadame selle kohta info vastvalt naabritele tagasi. Algul vaatame oma teepikkused ära, siis saame naabrite käest lisainfot ja vastavalt sellele korrigeerime tabeleid. Nii tabelid muutuvad. Kui tabelis toimus muutus, siis need saadetakse veel naabritele laiali ja kui nüüd muudatust ei olnud, siis algoritmi töö jääb seisma.
Kui kanali väärtus muutub, et y-st x-i väärtus läks üheks, siis ta saadab selle info z-ile ja z saab teada, et läbi y-i pääseb x-i ühega ja tema paneb selle ühe juurde ja saab kahe. Kuna tabeli sisu muutus, siis ta saadab selle tabeli y-ile ja y vaatab, et otse x-i on 1, läbi z-i x on 3. See tähendab, et z transpordib x-i 1+1=2, y paneb z-ile ühe juurde, saab kolm. Miinimul on 1 ehk see tähendab, et y sõidab x-ini otse ehk ühega. Nii tabeli väärtus muutub.
Kui väärtus läheb halvemaks. Kui enne oli y-st x-i 4 ja see asendus 60-ga. Z enne ütles, et tema kaudu on 5 ja y pani ühe otsa ja sai 6. Y teab, et läbi z-i x-i on 6. Z teab, et läbi y-i on 6, paneb sellele ühe otsa, saab 7. Z ütleb, et läbi tema on 7, y paneb ühe otsa saab 8. Saadetakse tabel ja z paneb ühe otsa ja läbi y-i saab 9. Halvad uudised levivad aeglaselt ja see on selle algoritmi nõrk koht. Lõpuks tabel loksub paika, et y-st x-i ei ole mõtet transportida otse väärtusega 60, vaid läbi z-i väärtusega 51. Selleks, et pendeldamist vältida, tehakse tabelisse täiendus. Kui z transpordib pakette y kaudu x-i, siis valetab y-le, et tee z->x on lõpmatult suur. Nii saab tabeli kiiremini korda, kui on tegemist halbade uudistega.
30. Hierarhiline marsruutimine
Internet jagatakse administratiivseteks piirkondadeks (ülikooli võrk, ettevõtte võrk jne). Toimub kahel tasemel marsruutimine ehk ülikooli võrgu servas olevasse ruuterisse ja siis sisemine ruutimine. Kõik maailma ruuterid ei pea teadma, kuidas ülikooli võrgu sees ruutimine toimub, vaid on teada üks ruuter, mille kaudu pääseb sisevõrku ligi.
Intra-AS – piirkonnasisene marsruutimine
Inter -AS – piirkonnaväline marsruutimine
Marsruutimine toimub selliselt, et kõigepealt host-ist läbi ruuterite servaruuterisse. Sealt läbi ruuteritevahelise marsruutimise teise piirkonna servaruuterisse. Seal piirkonna sees Intra-AS ruutimise abil kindla hostini.
/// Näited
Kui meil on tegemist võrguga x ja me oleme võrgupiirkonnas AS1, siis meil on vaja informatsiooni, kuidas x-i pääsetakse läbi 1c ja 3a ja siit ka x-i jõuame.
Kui x saab olema kahe piirkonnaga seotud, siis on olemas informatsioon ruuteritel 3a ja 2a ja need omakorda informeerivad järgmisi ruutereid.
31. IP aadress ja MAC aadress, ARP
Võrgukihi aadress on mõeldud selleks, et ühest otspunktist teise saaks liikuda IP-aadressi järgi marsruutides lõpp-punktini välja läbi erinevate võrkude. IP-aadress muutub seoses sellega, kui me viime arvuti teise kohta. Kirjeldan protsessi Ipv4 baasil, kuna see on praegusel hetkel veel suuresti kasutuses.
Füüsilise aadressi mõte on see, et me liigume ühe kanali piires ühest punktist teise ning siis jälle järgmise kanali piires ühest punktist teise kuni me jõuame lõpp-punktini välja. Need on 48 bitised aadressid ja need on võrgukaardi sees olemas ning üldiselt seda ei muudeta. MAC aadress käib arvutiga kaasas ja igas võrgus, kus see arvuti viibib on tema MAC aadress alati sama.
IP-aadressi protokolli päis: 1) versiooni number (4 või 6) 2) päise pikkus 3) kogu paketi täispikkus 4) fragmenteerimise väljad 5) TTL – arv mitu sammu läbi mitme ruuteri pakett võib teha (see on selleks, et pakett ei jääks rändama ehk iga ruuter lahtuab sellest -1 ja kui see arv saab võrdseks nulliga, siis visatakse see pakett ära, kuna ta on läinud rändama) 6) millise protokolli kätte tuleb tuleb paketi sisu anda 7) päise kontrollsumma 8) kaks IP-aadressi, mis on 32-bitised 9) lisaväljade osa 10) andmeosa
Fragmenteerimine – Erinevatest kanalist ei pruugi minna läbi nii pikad paketid, kui need on teele pandud. Igal võrgutehnoloogial on oma maksimaalne paketi pikkus (MTS – maximum transfer size - see on baidi jada, mis korraga ühest võrgukanalist läbi lastakse). Kui see piirang on olemas, siis tuleb suurem pakett ära tükeldada mitmeks väiksemaks ja lisada ka vastav päis. Kokkupakkimine toimub sihtpunktis ehk ei ole mõtet vahepealsetes ruuterites neid uuesti kokku pakkida, sest võib veel tulla ette selline kanal, kust muidu läbi ei lähe. Võrgutasemel toimub samuti pakettide tükeldamine ja kokkupakkimine transpordikihi jaoks. Paketi päises on identifikaator.
IP-aadress – See on üks olulisemaid aadresse võrkude maailmas ja selle järgi leitakse üles kindel arvuti suures Internetis. See koosneb neljast baidist ja 32 bitist ning see kirjutatakse kümnendarvudena, kus on punktid vahel. Maksimaalne aadress on 255.255.255.255, sest baidi sisse mahub maksimaalselt 0-255 ehk suuremaid arve ei saa olla. Igal ruuteril sisend ja väljund IP-aadressid on ka erinevad. Täpne olekski öelda, et IP-aadress on sisend-väljund liidese aadress, mitte arvuti ega ruuteri aadress.
Alamvõrgud – Ühise aadressiosaga võrgusõlmed, kusjuures nende vahel ei ole ühtegi IP-aadressiga adresseeritavat võrgusõlme.
IP-aadress jaguneb kaheks: Kui kogu aadress on näiteks 223.1.1.1 või 223.1.1.2 või 223.1.1.3, siis alamvõrgu aadressi osa on 223.1.1 ja arvuti aadressiosa 1, 2, 3 lõpus.
Alamvõrgu mask (Subnet mask) – see ütleb ära, kui suur osa täisaadressist on võrguaadress ja kui suur osa on hosti aadress. Kaldkriipsu järel olev arv ütleb ära, mitu bitti aadressist on võrguaadress ja ülejäänud jääb hostide aadressiteks. IP-aadressi on võimalik saada nii, et see on võimalik konfigureerida arvutile ning see on fikseeritud IP-aadress, mis arvutil on ja ka jääb niikaua kuni võrguadministraator leiab, et see tuleb ära muuta. On ka teine võimalus IP-aadressi konfigureerida ja see on dünaamiline hosti konfigureerimise protokoll ehk DHCP .
Aadressite jagamine toimub nii, et iga teenusepakkuja saab oma aadressiruumi, näiteks 20 bitine osa on aadresse ja võib selle jagada erinevate organisatsioonide vahel. IP-aadressiruumi jagab selline organisatioon nagu ICANN. Ta jagab aadressiruume, haldab nimeteenuseid ja domeeninimesid.
Kui me paneme arvuti võrku siis meil on vaja:
1) IP-aadressi arvutile määrata
2) Võrgumaski määrata
3) Vaja teada lähima ruuteri IP-aadress, et teada kuhu meie arvutist paketid lähevad, et see edasi saaks marsruuditud
4) Nimeserveri IP-aadress, kust me saame nimele vastavat IP-aadressit küsida
Ühest arvutist teise paketi saatmine:
Me ise olema arvuti A ja soovime saata infot arvutile B. Kui meil on teada arvuti B IP-aadress ja selle järgi meil on vaja teada arvuti B MAC aadress. IP aadressi järgi saame teada, kas arvuti B on samas võrgus või tuleb pakett marsruutida läbi mingi marsruuteri. Kui ta on samas võrgus, siis saadetud datagramm pakitakse kanalikihi kaadrisse ja kanalikihi kaadri päisesse pannakse kaks MAC aadressi (kellele ja kes) ning siis liigub see kaader kanalikihi piires A-st B-ni.
Selleks on olemas ARP (address resolution protocol) tabel, et saada teada arvuti B MAC aadressi, kui me teame IP aadressi. Sellega saame küsida IP aadressile vastavat MAC aadressi. ARP tabelis on kirjas IP aadress, MAC aadress ja TTL. Kui info salvestatakse tabelisse, siis sinna pannakse mingi aja näit juurde ning sellest lahutatakse iga sekundiga üks maha ning kui taimer jõuab nulli, siis need teadmised unustatakse ära. Tabelisse ei jää infot, mida pole kaua aega vaja olnud ning mida tõenäoliselt ei lähe ka niipea vaja. See tähendab, et tabelit ei ole vaja tühjendada, vaid see tühjeneb iseenesest. ARP ongi mõeldud selleks, et me saaksime lokaalvõrgu piires küsida, et kui keegi tunneb ära oma IP aadressi, siis olgu nii kena ja vastaku oma MAC aadressiga.
ARP tööpõhimõte:
Alguses saadetakse lokaalvõrgu piires kõigile ARP päring ning küsitakse, kellele kuulub selline IP aadress ning see saatku vastu oma MAC aadress. Kõik, kes lokaalvõrgus on, vaatavad üle enda IP-aadressid ning võrdlevad, kas nende oma oli see millele tehti päring. Kui keegi tunneb ära oma IP-aadressi, siis ta saadab ainult küsijale oma MAC aadressi vastu. See info pakkaksegi ARP tabelisse koos TTL-iga ning see info seisab seal nii kaua kuni taimer on saanud nulliks ning pärast seda informatsioon unustatakse.
Andmete saatmine läbi ruuteri teise lokaalvõrku:
Kui arvuti A tahab saata arvutile B paketti. Esimene asi, mida ta teeb on see, et ta vaatab oma marsruutimistabelist IP aadressi järgi, kus arvuti B asub. See tähedab, et tal on vaja teada, kas B asub temaga samas võrgus või mitte ning selle saab ta teada võrgumaski järgi. Kui võrgumaskid on samad, siis tähendab, et nad on samas võrgus. Kui A ja B ei ole samas võrgus, siis A vaatab oma marsruutimistabelist, et milline on see ruuter, mille kaudu ta pääseks B-ni saatma. Siis ta saab teada marsruutimistabelist, et selleks ruuteriks on R. Marsruutimistabelid on nii marsruuteritel kui ka hostidel. Selleks, et ruuterile R saata on vaja tema MAC aadressi. Me ei saada mitte IP aadressiga R-ile ehk IP tasemel see pakett jääb samaks. IP tasemel on kaks aadressi ( arvuti A IP aadress ja arvuti B IP aadress). Selleks et R-ile saata on vaja teha kanalikihi pakett, mille sees on kaks MAC aadressi. Kui pakett jõuab ruuterini, siis harutatakse lahti jälle IP osa (kus on arvuti A IP aadress ja arvuti B IP aadress). Nüüd ruuter vaatab marsruutimistabeli järgi ning leiab, et ta on arvutiga B samas võrgus. See tähendab aga seda, et nüüd on vaja teada arvuti B MAC aadressi. Kui seda ARP tabelis ei ole, käivitatakse jälle ARP ning saadetakse päring kõigile küsimusega, et kellele kuulub selline IP aadress ning oodatakse vastu selle arvuti MAC aadressi. Kui B on töövalmis, siis ta vastab oma MAC aadressiga. Selleks, et ruuter R saaks arvutile B info saata, peab ta formeerima uuesti kanalikihi paketi, mis sisaldab kahte kahte MAC aadressi (ruuteri MAC ja arvuti B MAC aadressid). IP tasemel aadressid jäävad samaks ning pakett jääb samas nii nagu ta on, aga kanalikihi tasemel iga kord vastavalt sammule aadressid muutuvad.
32. DHCP
DHCP ( Dynamic Host Configuration Protocol). See võimaldab arvutil võrguga liitudes küsida vaba IP-aadress. See tähendab, et võrgus on olemas DHCP server (selleks võib olla mingi ruuter või server või arvuti), kelle käes on vabade aadressite nimekiri ja kui arvuti liitub võrguga, siis ta küsib sellelt serverilt aadressi. DHCP variant on hea ja vajalik siis, kui võrgus olevate arvutite hulk on muutuv, näiteks WIFI võrkudes. See tähendab, et aadressid ei ole fikseeritud ja igakord, kui keegi võrguga liitub, saab ta mingi kindla aadressi. Kui arvuti pöördub DHCP võrku, siis algselt ta pöördub sellise aadressiga kus on kõik ühed. See on „ broadcast “ aadress ehk leviaadress ja selle võtavad vastu kõik, kes võrgus on. Pordi number 67 tähendab seda, et see on mõldud kõigile, kes võrgus on ja kui selles võrgus on DHCP server, siis see võtab vastu. Tal endal aadressi ei ole ja seega ta paneb saatja aadressiks nulli ja pordi numbriks 68, et ta on DHCP klient. Sellele transaktsioonile pannakse identifikaator, et kui vastus tuleb, on see sellega seotud. DHCP server saab selle kätte ja teised saavad ka kätte, kuna neil ei ole serverit, siis nad ei vasta. Serveri aadress on teada ja pordi number on 67. Kui ta nüüd kliendile vastab, siis kliendil aadressi veel ei ole, see tähendab seda, et vastus läheb kõigile ja kliendi pordinumber on 68. Server pakub välja kindla aadressi kindlaks ajaks. Klient võib saada mitu pakkumist või ka ühe pakkumise. Siis klient vastab taas aadressiga kõigile, et tema teeb nüüd selle aadressi peale päringu, mida talle pakuti. See on selleks, et server saaks aru, et see klient on endale nüüd aadressi saanud. DHCP aadressid antakse mingiks ajaperioodiks ja kui see aeg saab läbi, siis on võimalik seda pikendada. Kuna kliendil endal veel aadressi ei ole, siis ta paneb saatja aadressiks ikka veel nullid, sest see ei ole veel talle antud aadress, vaid pakutud aadress. Nüüd tuleb kviitung, et aadress on kinnitatud kiendile. Server nüüd taaskord teavitab, et see kindel aadress on kindlal kliendil olemas.
33. NAT
NAT ( Network Address Translation ) on sisuliselt võrguaadressi teisendamine/ümbernimetamine. See võeti kasutusele sellepärast, et IP-aadresse palju ei ole ja need saavad otsa. Tavaliselt antakse võrguomanikule üks IP-aadress ja sisevõrgu aadressid võib panna täiesti standardi järgi vabalt. Sisevõrkude jaoks on olemas sellised kokkuleppelised aadressid: 1) 10.0.0.0 kuni 10.255.255.255 2) 172.16.0.0 kuni 172.16.255.255 3) 192.168.0.0 kuni 192.168.255.255. Neid sisevõrgust välja ei marsruudita. Kui sisevõrgus olev arvuti saadab võrku paketi teele ja tahab, et see jõuaks sisevõrgust välja kindlale IP-aadressile, siis sisevõrgus oleva arvuti IP-aadress asendatakse ruuteri aadressiga ning leitakse mälust vaba pordinumber, sest muidu ei osata vastust tagasi marsruutida. Ruuterisse tehakse ka vastavuse kirje, et hiljem tunda ära sisevõrgus olev arvuti.Pakett läheb teele marsruuteri aadressiga. Kui tuleb vastus näiteks veebiserverist, siis sihtpunkti aadressiks on ruuteri aadress. NAT teeb nüüd omakorda asenduse ehk nüüd sihtpunkti aadress, mis oli ruuteri oma asendab ära tegeliku sihtpunkti aadressiga ja see info saadakse NATi tabelist. Ruuter töötab võrgukihi tasemel ja see tegeleb IP-aadressitega, aga NATi ruuter peab tegelema ka pordi numbritega. See tähendab, et saatja aadress ei ole ainult võrgukihi asi, vaid ka transpordikihi asi. Võrgukihi tasemel tuleb ära asendada IP-aadress ja transpordikihi tasemel pordi number. See tähendab, et ruuter peaks ronima ka transpordikihi paketi sisse ja tegelema ka pordi numbritega. See ei ole ruuteri ülesanne, sest tema peab marsruutima IP-aadressite järgi. Niikaua, kui on kasutusel Ipv4, on vaja meil kasutada NATi ruuterit, et sisevõrgust pääseda välisvõrku.
Kui server on sisevõrgus ja klient on välisvõrgus ehk avalikus Internetis, siis sellesse serverisse pääsemiseks on vaja NAT staatiliselt ära konfigureerida, et oleks võimalik serverile ligi saada. Teine variant on kasutada UPnP protokolli, tänu millele on võimalik NAT ruuterit konfigureerida. Kolmas variant on see, et sisearvuti registreerib ennast kusagil lüüsiarvutis ja teine arvuti pöördub ka selle lüüsiarvuti poole ning selle ülesandeks on need kaks pöördumist kokku ühendada.
34. Marsruutimisprotokollid (RIP, OSPF ja BGP)
RIP – Routing Information Protocol – kasutab Distance Vector algoritmi. Informatsioon on naabrite kohta olemas. Informatsiooni saadetakse kuni 25 sihtvõrguni iga 30 sekundi tagant ja kui 180 sekundi järel ei ole naaber midagi vastanud, siis see tähendab, et naaber on mängust väljas ja tabelid tuleb ringi arvutada. Sel juhul (marsruutimistabel muutus) saadetakse kohe ka kõigile naabritele uus info ja naabrid saadavad need omakorda edasi ning teade mõne sõlme ülesütlemisest levib kiiresti üle kogu võrgu. Et vältida edasi-tagasi hüppamist, siis maksimaalsete sammude hulk mida pakett teeb mööda võrku on 16, mis on määratud. RIP on rakenduskihi protokoll ja ta kasutab UDP pakette oma pakettide edastamiseks. RIPi kasutakse põhiliselt väiksemates võrkudes.
OSPF Open Shortest Path First – kasutab Link State marsruutimisalgoritmi. Iga võrgusõlm teab kogu võrgutopoloogiat ning lühim tee punktide vahel leitakse Dijkstra algoritmiga. Kõigepealt toimub vastastikune audentimine ehk ei suhelda suvaliste ruuteritega, vaid suheldakse nende ruuteritega, kellega on teada, et nad on legaalsed selles võrgus. Erinevad RIP-ist, mis suudab välja arvutada ainult ühe ainsa marsruudi, siis OSPF arvutab kohe välja ka alternatiivseid võimalusi. OSPF on üles ehitatud suuremate võrkude jaoks, kus omakorda võib teha kahetasemelist marsruutimist. On olemas magistraalpiirkond ja alampiirkonnad. OSPF eelised RIPiga võrreldes: kõik OSPF teated on autentitud, kasutatakse TCP protokolli (RIPis kasutati UDP-d), lubatud on mitu samaväärset (võrdselt lühikest) teed kahe punkti vahel (RIPis sai olla ainult üks lühim tee), toetab suuremaid võrke.
BGP (Border Gateway Protocol) - Kui RIP ja OSPF on nn Intra-AS (piirkondade sisesed) marsruutimisprotokollid, siis BGP on mõeldud piirkondade vaheliseks marsruutimiseks. Suhtlemisel kasutatakse TCP protokolli ja toimub vastastikune audentimine ehk luuakse ühendus ja vahetatakse andmeid. Aeg-ajalt küsitakse teiselt , kas ta on „elus“, kui mingit uut informatsiooni ei ole saata. Erinevalt piirkonna sisesest marsruutimisest, piirkonnavahelises marsruutimises ei ole eesmärgiks niivõrd ratsionaalne ja optimaalne marsruutimine, kuivõrd siin tulevad mängu juba poliitilised otsused. See tähendab seda, et kas ma lasen liikluse läbi oma võrgu või mitte. Erinevalt piirkonnasisestest marsruutimistest, kus eesmärgiks on võimalikult ratsionaalselt marsruutida, siis piirkondade vahelise marsruutimise puhul teid kas avalikustatakse või ei avalikustata ehk vastavalt sellele kas liiklust lastakse läbi või mitte. Liikluse läbilaskmise üks kaalutlus võib olla koormus ja teine näiteks turvalisus.
Piirkonna sisese ja piirkonna välise marsruutimise erinevus on see, et piirkonna sisemises tehakse otsuseid ratsionaalsusest lähtudes, piirkondade vahel on otsused pigem poliitilised.
35. Marsruuterid
Marsruuterid on seadmed , mis tegelevad marsruutimisega. Nad täidavad marsruutimise algoritme ja protokollide abil suhtlevad teiste omasugustega. Vastavalt algoritmide tabelitest lähtudes teevad otsuse, millisest sisendist millisesse väljundisse tuleb pakett edasi saata. Ruuteril on sisendpordid ja väljundpordid ja keskel on kommutatsioonisõlm, mis suudab ühest sisendist pakette saata vastavasse väljundisse, mis tabeli järgi on ette nähtud. Marsruuteri protsessor korraldab algoritmi täitmist.
Ruuteri sisendi pool – Kuna ruuter töötab võrgukihil, siis ta teeb marsruutimisotsuseid lähtudes IP-aadressidest ja ruuteris on realiseeritud ka kanalikiht ja füüsiline kiht. Alguses saadakse pakett kätte kui signaalide jada. Kanalikihi tasemel vaadeldakse paketti ja võetakse ta vastu, et ta on vastava ruuteri sisendile mõeldud ja harutatakse sealt lahti võrgukihi paketi päise osa. See läheb võrgukihi tasemele ja jõuab ruuterini ja ruuter saab kätte paketi päises IP-aadressi ja selle järgi hakkab tegutsema. Vastavalt IP-aadressile vaadatakse marsruutimistabelist järgi, mis selle paketiga teha ja toimetatakse läbi kommutatioonisõlme vastavasse väljundisse. Kui pakette tuleb sisse rohkem, kui kommutatsioonisõlmest läbi läheb, hakkavad tekkima järjekorrad. Järjekorrad võivad tekkida puhvrites.
Ruuterid on ehitatud ajalooliselt kolme moodi:
1) Mälu põhimõttel ruuterid – See tähendab seda, et protsessor kirjutas sissetulevad paketid mällu ja edasi tehti veel otsus ja kirjutati veel mällu ja siis läksid paketid teele. Mäluoperatsioonid on protsessorite ühed aeglasemad käsud ja need on programmeeritud. Tegelikult igasuguseid mäluopratioone tuleks võimalikult palju vältida.
2) Siini peale ehitatud ruuterid –Paketid liiguvad sisendpordi mälust väljundpordi mällu läbi ühiskasutatava siini.
3) Maatriks ülesehitus – Iga protsessor pidi pääsema mingile mäluplokile ligi ja seda oli vaja teha paralleelselt, muidu poleks mitme protsessori kasutamisel erilist mõtet. Siin oli võimalik luua paralleelühendusi, tänu millele sai kiirust veelgi tõsta.
Ruuteri väljuni pool – Siin on võrgukihi tasemel ruuteri puhvrid ehk kui kommutatsioonisõlmest jõuab pakett väljundisse, siis mööda seda väljundit peab pakett teele minema. Kõigepealt pannakse ta puhvrisse ja kui kanalikihi tasemel on kanal vaba, siis pakett läheb kohe minema, aga kui samal ajal saadetakse mingit paketti, siis tuleb oodata. Kui puhvrid saavad täis, siis tuleb neid pakette hakata ära viskama, sest rohkem ruumi mälus pole.
Aeg, mis kulub paketi saatmisel jaguneb neljaks : 1) paketi töötlus 2) järjekorras ootamine 3) paketi teelepaneku aeg 4) kanalis liikumise aeg.
36. Ipv4 ja Ipv6
Kirjeldan esialgu protsessi Ipv4 baasil. IP-aadressi protokolli päis: 1) versiooni number (4 või 6) 2) päise pikkus 3) kogu paketi täispikkus 4) fragmenteerimise väljad 5) TTL – arv mitu sammu läbi mitme ruuteri pakett võib teha (see on selleks, et pakett ei jääks rändama ehk iga ruuter lahtuab sellest -1 ja kui see arv saab võrdseks nulliga, siis visatakse see pakett ära, kuna ta on läinud rändama) 6) millise protokolli kätte tuleb tuleb paketi sisu anda 7) päise kontrollsumma 8) kaks IP-aadressi, mis on 32-bitised 9) lisaväljade osa 10) andmeosa
Ipv4 puhul on aadresse kokku 232 ning aadresse jagatakse ka klassidesse: A-klass – mõeldud väga suurte võrkude jaoks ning mille puhul IP aadresse võrgus saab olla 224; B-klass, mis on mõeldud keskmise suurusega võrkude jaoks ja mille puhul IP aadresse võrgus saab olla 216; C-klass on mõeldud väikestele võrkudele ja mille puhul IP aadresse võrgus saab olla 28; D-klassi aadressid on multiedastusaadressid. Tänapäeval on kasutusel aga suuresti CIDR ja VLSM tehnikad.
Fragmenteerimine – Erinevatest kanalist ei pruugi minna läbi nii pikad paketid, kui need on teele pandud. Igal võrgutehnoloogial on oma maksimaalne paketi pikkus (MTS – maximum transfer size - see on baidi jada, mis korraga ühest võrgukanalist läbi lastakse). Kui see piirang on olemas, siis tuleb suurem pakett ära tükeldada mitmeks väiksemaks ja lisada ka vastav päis. Kokkupakkimine toimub sihtpunktis ehk ei ole mõtet vahepealsetes ruuterites neid uuesti kokku pakkida, sest võib veel tulla ette selline kanal, kust muidu läbi ei lähe. Võrgutasemel toimub samuti pakettide tükeldamine ja kokkupakkimine transpordikihi jaoks. Paketi päises on identifikaator.
IP-aadress – See on üks olulisemaid aadresse võrkude maailmas ja selle järgi leitakse üles kindel arvuti suures Internetis. See koosneb neljast baidist ja 32 bitist ning see kirjutatakse kümnendarvudena, kus on punktid vahel. Maksimaalne aadress on 255.255.255.255, sest baidi sisse mahub maksimaalselt 0-255 ehk suuremaid arve ei saa olla. Igal ruuteril sisend ja väljund IP-aadressid on ka erinevad. Täpne olekski öelda, et IP-aadress on sisend-väljund liidese aadress, mitte arvuti ega ruuteri aadress.
Alamvõrgud – Ühise aadressiosaga võrgusõlmed, kusjuures nende vahel ei ole ühtegi IP-aadressiga adresseeritavat võrgusõlme.
IP-aadress jaguneb kaheks: Kui kogu aadress on näiteks 223.1.1.1 või 223.1.1.2 või 223.1.1.3, siis alamvõrgu aadressi osa on 223.1.1 ja arvuti aadressiosa 1, 2, 3 lõpus.
Alamvõrgu mask (Subnet mask) – see ütleb ära, kui suur osa täisaadressist on võrguaadress ja kui suur osa on hosti aadress. Kaldkriipsu järel olev arv ütleb ära, mitu bitti aadressist on võrguaadress ja ülejäänud jääb hostide aadressiteks.
IP-aadressi on võimalik saada nii, et see on võimalik konfigureerida arvutile ning see on fikseeritud IP-aadress, mis arvutil on ja ka jääb niikaua kuni võrguadministraator leiab, et see tuleb ära muuta. On ka teine võimalus IP-aadressi konfigureerida ja see on dünaamiline hosti konfigureerimise protokoll ehk DHCP.
Ipv6 väljatöötamise algne põhjus oli see, et 32 bitiste aadressite ruum saab otsa. Teine põhjus oli see, et päises oleks vaja midagi ette võtta, et paketi päise töötlust teha kiiremaks ja tagada mingeid võimalusi ka teenusekvaliteedi jaoks. Ipv6 päis on 40 baidine ning see ei sisalda fragmenteerimist. Kui pakett on liiga pikk ja kanalist läbi ei lähe, siis pakett visatakse lihtsalt minema ja teatatakse saatjale, et see pakett on liiga pikk ja see tuleb ise lühemaks teha. Selle eesmärk on siis võrgusõlmed teha võimalikult kiireks ja kõik ülejäänud töö otspunktidesse rakendada.
Ipv6 on teistmoodi võrreldes Ipv4-ga: 1) Versiooni number on 6. 2) Paketile on võimalik anda prioriteeti 3) Paketi jaoks on võimalik välja mõelda andmevoog ja seda voogu on võimalik identifitseerida. Siia tuleb sisse virtuaalkanali idee ehk kui marsruut sai paika, siis on võimalik näiteks selle kanali peal sidekiirust ja läbilaskevõimet tagada. Tänu sellele saame hakata tagama ka reaalaja andmeedastust läbi TCP/IP võrkude. 4) Kontrollsumma on välja visatud, et paketitöötlust kiirendada 5) Igasugused lisaväljad on välja visatud 6) On olemas ICMPv6 protokoll, mis ütleb, et kui pakett on liiga pikk ja see visatakse minema, sest Ipv6 puhul ei toimu fragmenteerimist ning selle kohta saadetakse veateada saatjale.
Üleminek Ipv4-lt Ipv6-le : Ehitatakse vahele tunnel ehk kui Ipv6-nda servas edasi läheb Ipv4, siis pannakse Ipv6 paketile väline ümbrik juurde ja edasi ta liigub kui neljanda versiooni pakett ja teises otsas võetakse väline ümbrik ümbert ära ning edasi liigub ikka nagu kuuenda versiooni pakett.
37. Vigade avastamine ja parandamine, CRC
Vead võivad olla mitmeid bitte või üksikuid bitte ära rikkuvad. Vigu avastatakse nii, et me paneme andmeosale lisainformatsiooni lisaks. Tehakse erinevaid aritmeetika- loogika tehteid. Kui andmed liiguvad läbi häirete rikka kanali, siis vastuvõtja arvutab oma kontrollkoodi ja võrdleb, kas tema kontrollkood klapib sellega, mis on kaasa antud. Kui ei klapi, siis on viga ja kui klapib, siis võib väga suure tõenäosusega öelda, et asi on korras. Vigade avastamine ei saa kunagi olla 100% töökindel, sest alati eksisteerib tõenäosus, et ikkagi mingi pakett on riknenud. Kui kanalid on piisavalt töökindlad, siis vigade avastamise peale ei ole mõtet suurt ressurssi kulutada. Vigade avastamise põhimõte on see, et paneme liiasusega informatsiooni juurde, arvutades selle lähtudes andmetest ning siis on võimalik hinnata, kas pakett tuli korralikult kohale või mitte.
Vigade avastamise võimalused:
1) Paarsuskontroll – See saab olla kas ühesuunaline või kahesuunaline. Ühesuunalise puhul bitijadale pannakse üks bitt otsa, mis ütleb kas ühtede arv on paaris või paaritu. Juurde lisatav bitt on 0, kui ühtede arv on paaritu ja bitt on 1, kui ühtede arv on paaris. Kui üks bitt moondub, siis me avastame vea, kui kaks bitti moonduvad, siis me ei avasta viga. Samuti 3, 6 ja 8 biti moondumise korral ei avasta. Kahesuunalise puhul võetakse arvesse nii vertikaalsed , kui ka horisontaalsed bitid.
2) Kontrollsumma – Võetakse kogu paketti, kui 16 bitist kahendarvude jada, mis liidetakse kokku, pööratakse ühed nullideks ja nullid ühtedeks ning tekib konrollsumma. Vastuvõtja teeb samasuguse liitmise ja kui tulemuseks on kõik ühed, siis ta ütleb, et see pakett on korras. Liidetakse kokku, saadakse summa, mis inverteeritakse ära ja mis omakorda läheb paketiga kaasa. Vastuvõtja teeb sama liitmise ning peab saama sama tulemuse. Kui summa ja inverteeritud summa kokku annavad kõik ühed, siis tähendab, et pakett on korras suure tõenäosusega.
3) Kontrollkoodid – Tüüpiliselt tehakse kahendjagamist. Võtame andmeosa kui D bitti ning kui kahendarvu. Valime polünoomi pikkusega r+1, milleks on polünoom G. Valime r CRC bitti, R, selliselt, et saame ning selle omakorda jagame G-ga, siis me saame, et ta jagub täpselt. R on jagamise jääk. D * 2r jagame läbi G-ga, saame jagamise jäägi ja nüüd D pluss jagamise jääk jagame G-ga läbi ning kui jagub täpselt, siis see ongi kontrollsumma arvutamise viis, mida tüüpilistes kontrollkoodides kasutatakse.
Saatmise poolel paneme andmetele r bitti otsa, jagame r+1 bitise jagatavaga läbi ja saame r-bitise jagamise jäägi. Paneme jagamise jäägi r-bittidele otsa ning jagame sama polünoomiga läbi ja saame jagamise jäägi nulli. Kui see on nii, siis me võime öelda, et see pakett on korras. Jagamise asemel me tegelikult teeme XOR tehte .
Vigu saab parandada kordusaatmisega ehk pakett saadetakse uuesti, kui see on vigane. Teine variant on koodid, mis võimaldavad vigu parandada. Vigu parandavad koodid võimaldavad parandada avastatud vigu. Sellised koodid on keerulisemad ja pikemad ning neid kasutatakse üpris harva. Pigem on eesmärk viga teada saada ja pakett ära visata ning parandamine jääb ikkagi ülemiste kihtide ülesandeks, sest igat paketti ei ole mõtet parandada. Kui on tegemist sellise andmeedastusega, kus paketid võivad kaduma minna, siis võib vigase paketi rahulikult ära visata.
38. Multipöördusprotokollid
Multipöörduprotokollid ehk Multiple Access Protocols. Kanalid, mida mööda andmed transporditakse võivad olla punkt-punkt ühendusega, kus kahe võrgusõlme vahel on üks ainuke kanal ja keegi teine võrgusõlmedes seal kanali peal ees ei ole. Teine variant on ühise kasutusega ehk jagatud kanal ehk leviedastusega kanal, kus ühe kanali peal on palju võrgusõlmi (rohkem, kui kaks). Kui on tegemist kahe võrgusõlmega, siis tüüpiliselt on nende vahel pooldupleks või täisdupleks nii, et üks oma saatmisega teise saatmist ei sega. Leviedastusega kanal oli algselt Etherneti kanal. Ethernet algselt ehitati üles siini tehnoloogia peale ja võrgusõlmed olid siini peal. Kui üks siini peal saatis, siis see tähendas seda, et kui keegi teine vahele segas, siis ta rikkus selle saatmise ära ja saatmisest midagi välja ei tulnud. See tähendas, et mõlemad pidid vait jääma ja kokku leppima, kes saadab. Ühisedastus keskkonna peal andmevahetus on sarnane nagu inimeste vahelises kommunikatsioonis. Kui on tegemist koosolekuga ning üks hakkab rääkima ja teine tahab ka midagi öelda ja hakkab esimesest üle rääkima, siis hoopis kolmas tõuseb püsti ja tahab ka midagi rääkida ning kõik räägivad korraga ning kommunikatsioonist midagi välja ei tule. Ühine edastuskeskkond on traadita võrgus ehk WIFI-is. Kui üks saadab ja teine segab vahele, siis sellest midagi head ei tule. Ühine edastuskeskkond on ka satelliitsides. Multipöördusprotokollid on sellised, kus on tegemist ühise jagatud edastuskanaliga ning kui kaks või enam üritab korraga andmeid saata, siis toimub andmete „ segunemine “, mida nimetatakse kollisiooniks ehk põrkeks. Selleks on vaja põrketuvastus ja lahendus mehhanismi, et kuidas lahendada probleemi, kui kaks või enam saatmist on omavahel kokku jooksnud. Selleks on vaja hajutatud algoritmi, mis määrab ära, kuidas kanalit omavahel jagada ning selle algoritmi töö tuleb korraldada läbi selle sama ühise edastuskeskkonna. Mingit muud kanalit ei ole, vaid see sama kanal, mis neil on, läbi selle kanali peavad nad kuidagi kokkuleppe saavutama . Ideaalne multipöördusprotokoll on selline, et on ühine edastuskanal , mille läbilaskevõime on R bitti sekundis. Ideaalselt, kui on üks saatja, siis ta saab enda kätte kõik selle R bitti, aga kui on n-saatjat, siis igaüks saab osa R-ist. See protokoll peab olema täistsentraliseeritud ehk ei ole ühtegi võrgusõlme, mis seda tööd korraldaks ning ei ole mingeid sünkroniseerimisvahendeid ja see peab olema lihtne.
Multipöördusprotokolle jagatakse kolme klassi:
1) Kanali tükeldamise protokoll – Igaühele antakse tükk kanalist. ( FDMA – sageduse järgi, TDMA – aja järgi, CDMA – koodi järgi)
FDMA – Sageduspõhine multipöördus. Sagedusriba jagatakse erinevateks väiksemateks sagedusribadeks. Kaablisse minnes pakime kõik sagedused kokku. Sagedusribad on piisavalt laiad ning ülekostvust ei ole. Hea omadus on see, et igaüks saab oma osa enda kätte ja kasutab seda nii palju kui tahab. Kui ta seda parajasti ei kasuta, siis see ressurss on raisus ja seda kellelegi teisele niisama lihtsalt anda pole võimalik.
TDMA – Ajapõhine multipöördus. Iga kasutaja saab enda kätte ajalõigu, millal kanal on tema käsutuses. Seejärel läheb kasutusõigus üle järgmisele. Pole väga efektiivne, kuna saatjad saavad oma osa kanalist ka siis, kui neil midagi saata ei ole ning kasutamata aeg läheb raisku. Üks kasutaja ei saa saata rohkem, kui tema lõik ette näeb. Vahel kasutatakse ka statistilist multipleksimist. Siis tuleb andmetele juurde panna ka aadress, et teada kellele see kuulub.
CDMA – Koodipõhine multipöördus. Kõik andmevahetus läheb korraga kanalisse sisse, aga igaüks kodeerib oma süsteemi järgi. Igaüks kasutab oma koodi, mis on unikaalne ning vastavalt sellele andmed kodeeritakse ära, pakitakse kokku ja teises otsas võetakse lahti.
2) Juhupöördusprotokoll – Kui keegi tahab midagi rääkida, tõuseb püsti ja hakkab rääkima ning kui tekib olukord, et kaks räägivad korraga, siis need kaks peavad kõigepealt aru saama, et tekkis põrge ning siis nad peavad seda kuidagi lahendama. (MA, CDMA, CDMA/CD, CDMA/CA)
Enne ei toimu osalejate vahel mingit koordineerimist. Kui kellelgi on midagi öelda, siis ta ütleb ja kui seda teevad korraga kaks, siis tekib põrge ehk kollisioon . Juhupöördusprotokollide probleem on see, et kuidas avastada põrkeid ja kuidas nendest jagu saada. Siin me ei saa öelda, et me pääseme võrku mingi aja jooksul kindlasti, sest me ei tea kui palju põrkeid tekib ning põrgete lahendamine on ka tõenäosuslik.
Juhupöördusprotokollide plussid ja miinused:
Ajaloolislt kõige vanem on MA (multiple access), siis tuli CSMA ( carrier sense multiple access) kus enne kuulati kanalit kui saatma hakati ning see omakorda jagunes CSMA/CD (põrgete tuvastamine ) ja CSMA/CA (põrgete vältimine ).
ALOHA võrk – Hawaii saarte vahel raadiovõrk ajaloos. Saadeti ühel sagedusel ja kätte saadi info teisel sagedusel. Igaüks, kes tahtis saata, see saatis ning kviitung oli see, mis ütles kas see saatmine õnnestus või mitte.
Ajalõikudega ALOHA – Kanal jagati ajalõikudeks ning kõik, kes tahtsid saatma hakata, saatsid alguses ajalõigu. Kui kaks või enam saatsid korraga, siis tekkis põrge ning kui põrget ei olnud, siis võis saata järgmisel ajalõigul jälle. Kui tekkis põrge, siis hakati seda lahendama nii, et enne järgmise ajalõigu algust visati „täringut“, et kas saata või mitte.
Head omadused: a) Kui on ainult üks ainuke saatja, siis ta saab kogu kanali täies mahu enda kätte b) Tegemist on detsentraliseeritud süsteemiga ning tähtis on ainult lõikude algused ära sünkroniseerida Negatiivsed omadused: a) Tekkivad põrked ning osa ajalõike läheb kaduma b) Võivad tekkida tühjad ajalõigud c) Kellasid on vaja sünkroniseerida
Üldiselt, kui kõik tahavad saata, siis on kindlaks tehtud, et 37% läheb kasulikuks tööks, ülejäänud läheb kollisioonide lahendamiseks.
Ilma ajalõikudeda ALOHA – Kui oli vaja saata, siis lihtsalt saadeti. Selle puhul võis üks saatmine rikkude ära eelmise lõpu ja järgmise alguse. Selle puhul saab kaks korda halvema tulemuse, kui ajalõikudega ALOHA puhul.
CSMA – Kanali kuulamine ehk kõigepealt kuulatakse kanalit ja kui kanal on vaba, siis saadetakse ning kui kanal on hõivatud, siis oodatakse niikaua kuni kanal vabaneb. Ka kanali kuulamisel on omad probleemid, kui vaadelda traadiga ja traadita võrke. Traadiga võrkudes kanali kuulamine on lihtsam. Kanali kuulamine aitab selle vastu, et me juba toimuvat saatmist ära ei riku, aga kaks alustajat võivad ikkagi kokku põrgata.
CSMA/CD – Kui me saatmise ajal jätkaks kanali jälgimist ning tekib põrge, siis signaal levib kõigini ning me saame jätkata kuulamist. Kui me ei jätkaks kuulamist, siis see tähendaks seda, et me saadaks lõpuni ja me raiskaks kogu aja ära, kui need riknenud paketid on võrgus. Kui tekib põrge siis jälgitakse signaalitugevust või võrreldakse seda, mis saadeti ja mis tagasi tuli ning sellest saab järelduse teha, et signaal on riknenud. Mõistlik on põrke tuvastamisel saatmine ära lõpetada ja siis teistega kokku leppida ja uuesti saata. Kui kanal on hõivatud, siis oodatakse mingi juhuslik aeg, aga siis võib juhtuda olukord, et ei kasutata kogu ressurssi ära. Teine variant on kogu aeg kontrollida, kas kanal on vaba ning kui see vabaneb, siis kohe saata. Selle variandi miinus on see, et kui proovijaid on mitu, siis nad väga suure tõenäosusega tekitavad kollisiooni.
CSMA/CA – Üritatakse vältida põrkeid. Kui kanal on vaba, siis kuulatakse kanalit ning oodatakse ära see aeg, mis peab olema kahe paketi vahel, et see kanal läheks tühjaks. Juhuslik kohtumise aeg pannakse vahele selleks, et neid saaks hajutada, kes tahavad võrguga liituda.
3) Kordamööda saatmise protokoll – Ära on jagatud, kes millal tohib rääkida (1. reserveeritakse, kes millal tohib võrku kasutada 2. Võrgus võib olla master, kes annab järjest sõnaõigust 3. Loa edastus, mille puhul võrgus liigub üks luba ning kelle käes on luba võib andmeid saata ning kui on oma saatmise ära teinud, annab loa järgmisele). Siin kasutatakse ära nii häid pooli, kui üritatakse ka vältida halbu pooli.
Polling – Süsteemis on üks master, kes võrgu tööd korraldab ning tema annab järjest sõna. Kanalit jagatakse kordamööda ning põrkeid ei teki, aga kulub aega selleks, et kõiki järjest küsitleda. Igaühele on öeldud, palju ta tohib masteri käest saadud loa järel saata. Siin on võimalik välja arvutada juhtum, millal on jälle garanteeritud võrku pääs, mida juhupöördusvõrkudes garanteerida ei saanud. Siin võib probleemiks osutuda master, kui tema ei tööta päris õigesti või lakkab töötamast. Selles võrgus pidevalt toimub midagi ehk master pidevalt küsib teistelt, kuid juhupöördusvõrkudes ei toimu pidevalt tegevus ehk kui kellelgi saata midagi pole, siis kanal on tühi. Kui masteriga võrgus algab vaikus, siis see tähendab, et masterit enam ei ole ning tuleb uus master valida.
Loa edastuse puhul võrku iseloomustab see, et selles liigub üks luba. Seda luba antakse aina edasi ning see liigub mööda ringi. Siin ei ole otseselt mingi juhti, vaid luba. Koosolekuga võiks seda nii võrrelda, et kelle käes on mikrofon see ka räägib. Loa saatmine läheb alati ühes suunas järgmisele. Luba on ka see, mis võrgus tööd korraldab. Loa edastus võtab aega ning et üks kindel klient saaks taas loa enda kätte, peab ta ootama terve ringi ära. Selles võrgus saab arvutada välja pikima aja, millal üks klient saab taas hakata saatma. Kui ühel midagi saata pole, siis ta annab loa edasi ning nii see protsess jätkub.
Teine variant on veel see, et mööda võrku liigub „ rong “. „Veduri“ peal on reserveerimise sahtlid ja kui kellelgi on midagi saata, siis ta reserveerib omale koha ning paneb oma „ vaguni “ vedurile sappa. Selline „rong“ liigub mööda võrku ja see kellele on pakett mõldud korjab „vaguni“ ära.
39. ALOHA ja CSMA/CD
ALOHA võrk – Hawaii saarte vahel raadiovõrk ajaloos. Saadeti ühel sagedusel ja kätte saadi info teisel sagedusel. Igaüks, kes tahtis saata, see saatis ning kviitung oli see, mis ütles kas see saatmine õnnestus või mitte.
Ajalõikudega ALOHA – kanal jagati ajalõikudeks ning kõik, kes tahtsid saatma hakata, saatsid ajalõigu alguses. Kui kaks või enam saatsid korraga, siis tekkis põrge ning kui põrget ei olnud, siis võis saata järgmisel ajalõigul jälle. Kui tekkis põrge, siis hakati seda lahendama nii, et enne järgmise ajalõigu algust visati „täringut“, et kas saata või mitte.
Head omadused: a) kui on ainult üks ainuke saatja, siis ta saab kogu kanali täies mahu enda kätte b) tegemist on detsentraliseeritud süsteemiga ning tähtis on ainult lõikude algused ära sünkroniseerida
Negatiivsed omadused: a) tekkivad põrked ning osa ajalõige läheb kaduma b) võivad tekkida tühjad ajalõigud c) kellasid on vaja sünkroniseerida
Üldiselt, kui kõik tahavad saata, siis on kindlaks tehtud, et 37% läheb kasulikuks tööks, ülejäänud läheb kollisioonide lahendamiseks.
Ilma ajalõikudeda ALOHA – kui oli vaja saata, siis lihtsalt saadeti. Siis võis üks saatmine rikkude ära eelmise lõpu ja järgmise alguse. Siis saab kaks korda halvema tulemuse, kui Ajalõikudega ALOHA puhul.
CSMA – Kanali kuulamine ehk kõigepealt kuulatakse kanalit, kui kanal on vaba, siis saadetakse ning kui kanal on hõivatud, siis oodatakse niikaua kuni kanal vabaneb. Ka kanali kuulamisel on omad probleemid, kui vaadelda traadiga ja traadita võrke. Traadiga võrkudes kanali kuulamine on lihtsam. Kanali kuulamine aitab selle vastu, et me juba toimuvat saatmist ära ei riku, aga kaks alustajat võivad ikkagi kokku põrgata.
CSMA/CD – kui me saatmise ajal jätkaks kanali jälgimist ning tekib põrge, siis signaal levib kõigini ning me saame jätkata kuulamist. Kui me ei jätkaks kuulamist, siis see tähendab seda, et me saadaks lõpuni ja me raiskaks kogu aja ära, kui need riknenud paketid võrgus on. Kui tekib põrge siis jälgitakse signaali tugevust või võrreldakse seda, mis saadeti ja mis tagasi tuli ning sellest saab järelduse teha, et signaal on riknenud. Mõistlik on põrke tuvastamisel saatmine ära lõpetada ja siis teistega kokku leppida ja uuesti saata. Kui kanal on hõivatud, siis oodatakse mingi juhuslik aeg, siis võib juhtuda nii, et ei kasutata kogu ressurssi ära. Teine variant on kogu aeg kontrollida kas kanal on vaba ning kui see vabaneb, siis kohe saadame. Selle variandi miinus on see, et kui proovijaid on mitu, siis nad väga suure tõenäosusega tekitavad kollisiooni.
40. Token ring
See on selline protokoll, kus on tegemist ringvõrguga. Võrku iseloomustab see, et selles liigub üks luba. Seda luba antakse aina edasi ning see liigub mööda ringi. Siin ei ole otseselt mingi juhti, vaid luba. Koosolekuga võiks seda nii võrrelda, et kelle käes on mikrofon see ka räägib. Loa saatmine läheb alati ühes suunas järgmisele. Luba on ka see, mis võrgus tööd korraldab. Loa edastus võtab aega ning et üks kindel klient saaks taas loa enda kätte, peab ta ootama terve ringi ära. Selles võrgus saab arvutada välja pikima aja, millal üks klient saab taas hakata saatma. Kui ühel midagi saata pole, siis ta annab loa edasi ning nii see protsess jätkub.
Kaader koosneb: 1) Start Delimiter (Alguse tunnus) – 1 bait. Selle järgi saab sünkroniseerida ja saab teada, et tegemist on algusega. Siin ei ole nullid ja ühed, vaid JK jne. See erikujuline signaal, mida andmeosas ei ole ütleb, et nüüd hakkab pihta kaader. 2) Access Control – Siin on sees prioriteedid . Tegemist on kas loapaketiga või andmepaketiga ja siin saab reserveerida prioriteeti. Andmepakettidel ja lubadel on prioriteedid. Kui on tegemist prioriteetse loaga, siis tohib ainult see loa endale võtta kes on sama prioriteediga või kõrgema prioriteediga.
R on neeb bitid, millega me saame reserveerida endale teatud prioriteediga luba. Token on luba ja monitori bitt on vajalik selleks, et kui andmepakett liigub mööda ringi, siis see kes saatis, selle ülesanne on see pakett sealt võrgust ära korjata. Kui pakett saadetakse teele, siis selles on kindlasti olemas sihtpunkti aadress ning see kes selle paketi ära tunneb korjad selle ära. See pakett tuleb saata aga lõpuni, sest tema käes ei ole luba ning tema ei saa seda luba võrku panna. Kui see kes saadab vahepeal võrgust ära kaob, siis andmepakett võib võrku ringlema jääda, sest andmepaketi ära korjamise kohustus on sellel, kes selle teele pani. Selleks on võrgus üks monitor , kes paneb monitori biti püsti, kui ühe korra tema juurest mööda ringi see bitt mööda läheb. Kui see pakett teeb juba teist ringi, siis see sama monitor teeb järelduse ja see, kes selle ära pidi korjama, võrgus enam ei ole ning tema ülesandeks on see pakett võrgust ära korjata ja luba edasi anda.
Frame Control – On võimalik kaadri tüüpe ära määrata.
Destination Aadress – Vastuvõtja aadress
Source Aadress – Saatja aadress
Data unit – Sisaldab LLC kaadri andmeid
Frame Check – Kaadri staatus, mis tähendab seda, et kui see kaadre on kelleltki mööda läinud, siis siia pannakse tunnus, et kas keegi tundis enda aadressi ära ja kas keegi kopeeris selle kaadri endale.
End Delimiter – Määrab ära kaadri lõpu
41. Token bus
LAN tehnoloogia ja analoogne Token Ringiga . Põhiline erinevus on see, et füüsiliselt ei moodusta võrk ringi vaid Token liigub mööda ühte siini. Siini peal liigub kaader nimega Token ning igale võrgusõlmele on määratud ajapiirang , kaua see Token tema käes võib olla. Iga võrgusõlm peab teadma on naabri aadressi (Who Follows Me). See, kellel on luba teab, kes on pärast seda ja küsib, kas keegi tahab ringiga ühineda ja saadab tal SolS sõnumi. See, kes tahab ühineda peab vaatama mingisugust kindlat võrgupunkti ja kui ta näeb, et on saadetud SolS sõnum, siis ta saabki ta ühineda. Saadetakse sõnum SetS ja ring seatakse ümber. Kui keegi lahkub ringist , siis saadab ta jälle SetS sõnumi ja nõnda teavad naabrid, et üks sõlm on ringist lahkunud ja korrigeeritakse oma tabeleid. Kui niimoodi lahkumine ei toimu, siis saadab sõlm, kes on enne lahkunud sõlme mingi kindla arvu sõnumeid. Kui vastust ei tule, siis saadab WF sõnumi, millele vastab lahkujast järgmine sõlm SetS sõnumiga. Mõlemad korrigeerivad jälle oma tabeleid ja ring toimib edasi.
42. Datagrammide edastus läbi võrkude (võrgukihi ja kanalikihi tasemel)
Datagramm, mis tuleb võrgukihi käest, pakitakse kanalikihi kaadrisse ja saadetakse mööda kanalit teele. See jõuab ruuterisse, seal harutatakse jälle lahti kuni võrgukihini. Sealt võetakse marsruutimise jaoks aadress, mille järgi tehakse marsruutimise otsus, saadakse jälle kaader ja jälle läbi kanalikihi läheb kaader uude sihtpunkti.
Ühest arvutist teise paketi saatmine:
Me ise olema arvuti A ja soovime saata infot arvutile B. Kui meil on teada arvuti B IP-aadress ja selle järgi meil on vaja teada arvuti B MAC aadress. IP aadressi järgi saame teada, kas arvuti B on samas võrgus või tuleb pakett marsruutida läbi mingi marsruuteri. Kui ta on samas võrgus, siis saadetud datagramm pakitakse kanalikihi kaadrisse ja kanalikihi kaadri päisesse pannakse kaks MAC aadressi (kellele ja kes) ning siis liigub see kaader kanalikihi piires A-st B-ni.
Selleks on olemas ARP (address resolution protocol) tabel, et saada teada arvuti B MAC aadressi, kui me teame IP aadressi. Sellega saame küsida IP aadressile vastavat MAC aadressi. ARP tabelis on kirjas IP aadress, MAC aadress ja TTL. Kui info salvestatakse tabelisse, siis sinna pannakse mingi aja näit juurde ning sellest lahutatakse iga sekundiga üks maha ning kui taimer jõuab nulli, siis need teadmised unustatakse ära. Tabelisse ei jää infot, mida pole kaua aega vaja olnud ning mida tõenäoliselt ei lähe ka niipea vaja. See tähendab, et tabelit ei ole vaja tühjendada, vaid see tühjeneb iseenesest. ARP ongi mõeldud selleks, et me saaksime lokaalvõrgu piires küsida, et kui keegi tunneb ära oma IP aadressi, siis olgu nii kena ja vastaku oma MAC aadressiga.
ARP tööpõhimõte:
Alguses saadetakse lokaalvõrgu piires kõigile ARP päring ning küsitakse, kellele kuulub selline IP aadress ning see saatku vastu oma MAC aadress. Kõik, kes lokaalvõrgus on, vaatavad üle enda IP-aadressid ning võrdlevad, kas nende oma oli see millele tehti päring. Kui keegi tunneb ära oma IP-aadressi, siis ta saadab ainult küsijale oma MAC aadressi vastu. See info pakkaksegi ARP tabelisse koos TTL-iga ning see info seisab seal nii kaua kuni taimer on saanud nulliks ning pärast seda informatsioon unustatakse.
Andmete saatmine läbi ruuteri teise lokaalvõrku:
Kui arvuti A tahab saata arvutile B paketti. Esimene asi, mida ta teeb on see, et ta vaatab oma marsruutimistabelist IP aadressi järgi, kus arvuti B asub. See tähedab, et tal on vaja teada, kas B asub temaga samas võrgus või mitte ning selle saab ta teada võrgumaski järgi. Kui võrgumaskid on samad, siis tähendab, et nad on samas võrgus. Kui A ja B ei ole samas võrgus, siis A vaatab oma marsruutimistabelist, et milline on see ruuter, mille kaudu ta pääseks B-ni saatma. Siis ta saab teada marsruutimistabelist, et selleks ruuteriks on R. Marsruutimistabelid on nii marsruuteritel kui ka hostidel. Selleks, et ruuterile R saata on vaja tema MAC aadressi. Me ei saada mitte IP aadressiga R-ile ehk IP tasemel see pakett jääb samaks. IP tasemel on kaks aadressi ( arvuti A IP aadress ja arvuti B IP aadress). Selleks et R-ile saata on vaja teha kanalikihi pakett, mille sees on kaks MAC aadressi. Kui pakett jõuab ruuterini, siis harutatakse lahti jälle IP osa (kus on arvuti A IP aadress ja arvuti B IP aadress). Nüüd ruuter vaatab marsruutimistabeli järgi ning leiab, et ta on arvutiga B samas võrgus. See tähendab aga seda, et nüüd on vaja teada arvuti B MAC aadressi. Kui seda ARP tabelis ei ole, käivitatakse jälle ARP ning saadetakse päring kõigile küsimusega, et kellele kuulub selline IP aadress ning oodatakse vastu selle arvuti MAC aadressi. Kui B on töövalmis, siis ta vastab oma MAC aadressiga. Selleks, et ruuter R saaks arvutile B info saata, peab ta formeerima uuesti kanalikihi paketi, mis sisaldab kahte kahte MAC aadressi (ruuteri MAC ja arvuti B MAC aadressid). IP tasemel aadressid jäävad samaks ning pakett jääb samas nii nagu ta on, aga kanalikihi tasemel iga kord vastavalt sammule aadressid muutuvad.
43. Ethernet
Ethernet on domineeriv võrgutehnoloogia traadiga võrkudes. See on populaarseim LAN tehnoloogia. Algselt oli Ethernet siini topoloogiaga ning kõik olid ühises põrkedomeenis ehk kui tekkis põrge, siis see levis kõikide vahel. Edasi arenes Ethernet nii, et tekkis tähttopoloogia ning keskele pandi kommutatsioonisõlm. Kui ühe switchi küljes on ainult üks arvuti, siis tulemuseks saadi see, et kahe võrgusõlme vahel on Ethernet, aga mitte ühtegi põrget.
Etherneti kaadri struktuur: 1) Preambula (7 baiti ühtede-nullide jada ning seitsmes ja kaheksas bitt on ühed) See on vajalik saatja ja vastuvõtja töö sünkroniseerimiseks 2) Kaks kuue baidist aadressi (saatja ja vastuvõtja MAC aadressid) 3) Tüüp, mis ütleb, ära mis protokolliga on tegemist 4) Kontrollkood, mille järgi on võimalik kindlaks teha, kas pakett tuli korralikult kohale.
Ethernet on ühenduseta andmevahetus ning mingit handshake’i ei toimu saatja ja vastuvõtja vahel. Ethernet on mitte usaldusväärne ehk mingeid kviitungeid ei saadeta ning kui kanal töötab ja põrkeid ei teki, siis suure tõenäosusega läks pakett kohale. Kui sellega on probleeme, siis need on jäetud lahendamiseks TCP-le. Kui TCP leiab, et midagi on puudu või korrast ära, siis TCP korraldab pakettide uuesti saatmise.
Etherneti puhul kasutatakse CSMA/CD-d. Ethernet tegeleb ise ka pakettide kordussaatmisega, kuna siin on tegemist põrketuvastusega protokolliga. Siis kui tekib põrge, siis põrgete lahendamisel kordusaatmisega Ethernet ikkagi tegeleb. Ethernet töötab selliselt, et kõigepealt kuulatakse kanalit. Kui kanal on vaba, siis tohib saatma hakata ning kui tekib põrge, siis hakatakse põrget lahendama ja tekib ootamine ning vastvalt sellele toimub uuesti saatmine.
Paketi pikkuse, kaabli pikkuse ja edastuskiiruse vaheline seos:
Etherneti kaader näeb välja selline, et selle andmeosa on 46-1500 baiti. Kui saadetakse üks bait, siis pannakse 45 baiti mingit täidet juurde. Etherneti paketil on miinimumpikkus olemas, sest kui me teeme selle liiga lühikeseks ning kui tekib põrge ja põrge tuleb tagasi saatjateni, siis saatja ei pruugi aru saada, et tekkis põrge. Kui pakett on aga õige pikkusega, siis rikenenud signaal jõuab tagasi enne, kui saatja saatmist lõpetab ning siis avastataksegi põrge. Ethernet on üles ehitatud just selliselt, et tänu paketi miinimumpikkusele ja piiratud maksimaalsele kaabli pikkusele ta avastab põrked. Kui saatmise lõppedes on kaablis kõik korras, siis öeldakse, et saatmise õnnestus ning kui ei ole kõik korras, siis öeldakse, et tekkis põrge. Kui teeme kaabli lubatust pikemaks või teeme paketi lubatust lühemaks, siis põrketuvastus ehk CD mehhanism ei tööta. See on ka Etherneti idee. Kui Ethernet läks 10 korda kiiremaks, siis tuleb kaabel teha 10 korda lühemaks. Kui 10 Mbit/s pealt mindi 100Mbit/s peale, siis kilomeetrine kaabel läks saja meetri peale aga kui minna üle 1 Gbit/s, siis saab kasutada 10 meetrit kaablit. Siis muudeti aga paketi maksimaalset lubatud pikkust. Kaadri formaat jäeti samaks, aga paketi miinimumpikkus tehti pikemaks ehk kui pakett oli lühike, siis pandi lõppu midagi juurde.
Etherneti töö idee on see, et kaabli pikkus ja paketi pikkus peavad tagama selle, et pakett saadetakse ühest otsast teise ja see riknenud signaal jõuab tagasi enne, kui paketi saatmine lõpeb. Selle järgi saatja ütleb, et paketi saatmine õnnestus. Kui me ei täida neid reegleid siis Ethernet ei tööta ning kaugemate võrgusõlmede vahel põrgete tuvastamine ei pruugi toimida.
Ethernet kasutab erinevaid tehnoloogiaid : koaksiaalkaablit, keerupaari, optilist kaablit. Vastavalt sellele on füüsiline kiht ka erinevate standarditega kaetud.
Esimene tuntud Etherneti oli 10 Mbit/s Ethernet, kus oli kasutuses jäme koaksiaalkaabel. 10Base2 – 10 Mbit/s ning 200m maksimaalne kaabli pikkus ühel segmendil. Etherneti puhul kehtis selline reegel 543 ehk 5 segmenti võis repiiteritega olla ühendatud ehk 5 segmenti, 4 repiiterit ja kolmes segmendis võisid olla arvutid.
Repiiter – Füüsilise kihi seade, mis võtab sumbuma hakkava signaali vastu ja teeb sellest taas korraliku signaali. Sellel on üks sisend ja üks väljund. Tänu sellele on võimalik kaablit pikendada. 543 reegel ütles, aga et 5 segmenti ehk maksimaalselt 5 x 200 = 1000m oli maksimaalne kaabli pikkus 10Mbit/s Etherneti puhul.
Teisena hakati kasutama tähttopoloogiat, kus oli kasutusel hub ehk jaotur . Jaotur on füüsilise kihi seade ehk sisuliselt mitmepordiline repiiter. See on nähtamatu seade ning tal ei ole aadressi. Tänu jaoturitele oli võimalik üles ehitada keerulisemaid struktuure. Siin võis iga kanal olla 10 Mbit/s või 100Mbit/s. Siin oli kasutusel keerupaar kaabel, mille maksimaalne pikkus tohtis olla 100 meetrit arvutist jaoturini. 10Mbit/s Etherneti puhul kasutati sünkroniseerimiseks sellist kodeerimise viisi nagu Machesteri kodeerimine. Kui saatja saadab vastuvõtjale, siis ta peab lugema samas taktis bitte. Manchesteri kodeerimise puhul iga biti keskel on nivoo muutus. Pideva nivoo muutuse põhjal vastuvõtja hoiab ennast taktis ja suudab bitid ilusti ära lugeda.
44. Jaoturid, sillad ja kommutaatorid
HUB – jaotur. See on füüsilise kihi seade. See on seade, mis töötab kui signaali võimendi. Kui võtab biti vastu ja saadab korrektseks tehtud signaalina selle biti edasi. Ajaline viide , mis HUB-is tekib on ühe biti piires. HUB-i roll on see, et ta võimaldab pikendada vahemaad , mida me saame kasutada ühest arvutist teise saatmisel ehk saame võrgu suuremale territooriumile laiali jaotada. HUB on sisuliselt nähtamatu seade. Kui meil on näiteks kolm võrgusõlme HUB-i küljes, siis meil on ikkagi siini võrguga tegemist, aga see siin on pakitud ühe karbi sisse. Kuna tegemist on füüsilise kihi seadmega , siis me ei saa HUB-iga kokku ühendada erinevaid tüüpi võrke. See tähendab, et 10 Mbit/s ja 100Mbit/s võrke me ei saa HUBiga kokku ühendada.
BRIDGE sild . See on kanalikihi seade. Sillad võtavad vastu ja edastavad Etherneti kaadreid ning analüüsivad kaadri päist ja otsivad sealt üles MAC aadressi ja vastavalt sellele valikuliselt edastavad pakette. Tehakse otsus, kas pakett läheb üle silla või mitte. Kui pakett peab minema üle silla, siis tegelikult see sild on otsapidi Etherneti võrgus ja sild käitub nagu iga teine Etherneti võrgu seade, ainult et tal ei ole aadressi. Kui kahe arvuti vahel on sild, siis ei adresseerita sillale, vaid teisele arvutile. Sild on samuti nähtamatu seade hostide jaoks. Sillad ei vaja häälestamist ja seadistamist ning nad õpivad ise, mida nad peavad tegema. Sillad on liiklusisolaatorid ehk nad filtreerivad pakette, mida üle silla saata. Selles mõttes on sillad isolaatorid , et kui ühe LAN segmendi sees hostid suhtlevad, siis see liiklus üle silla teise segmenti ei lähe. Sillad ja jaoturid lahendavad erinevaid põrkeid. Sillad on iseõppivad seadmed ehk kui silda tuleb pakett sisse ning saatja on A ja vastuvõtja on X, siis sild algselt ei tea midagi, et kes kus asub. Kui pakett tuleb silda, siis selle järgi saab ta teada kumbal pool asub saatja A. Kui nüüd peaks silda jõudma pakett, mille saatjaks on X ja vastuvõtjaks on A, siis nüüd saab sild õppida selle järgi, et X asub teiselpool . Saatja aadressi järgi sild õpib ja vastavalt sellele ta oma tabelit ka täiendab ning määrab ära pordi, kust ta mingi paketi kätte sai.
Sild töötab selliselt, et kui tuleb pakett, siis ta võtab selle täielikult vastu ja siis vaatab MAC aadressi, et kuhu saata. Kui tal on informatsioon olemas, siis ta saadab paketti sinna võrku, kui see just ei ole sama võrk, kust see pakett tuli. Kui sild ei tea, kuhu ta peab paketi edasi saatma, siis ta saadab selle edasi kõikidesse võrkudesse, välja arvatud sinna, kust see pakett tuli.
Sildadega ei panda kokku suuri võrke, sest tekivad marsruutimisprobleemid. Sillad toimivad hästi siis, kui kahe otspunkti vahel on üksainus tee. Kui me teeme sellise võrgu, kus on mitu teed, et pääseda ühest kohast teise, siis sildadel hakkavad tekkima probleemid. Marsruuterite juures kasutatakse mitut teed, sest see annab võimaluse valida parimat marsruuti, kui näiteks üks on hõivatud ja teine ei ole. Sillad mis toetavad puu algoritmi on võimalised tsüklilistest graafidest jagu saama. Graaf käiakse läbi ja visatakse teatud teed välja, et saada puukujuline struktuur. Lõppkokkuvõttes see ei ole ikkagi tulemuslik.
Sild on võimeline kokku ühendama erinevat tüüpi Etherneti võrke ehk nii 10 Mbit/s kui ka 100 Mbit/s võrke omavahel. Sillad ei vaja eelnevat konfigureerimist ning nad on nähtamatud.
Sildade ja ruuterite erinevused: Mõlemad on seadmed, mis võtavad paketi vastu, harutavad lahti ja saadavad edasi. Ruuterid teevad seda võrgukihi tasemel, aga sillad teevad seda kanalikihi tasemel. Ruuteritel on marsruutimistabelid ja sildadel on sildade edastustabelid. Kui hostis on kokku 5 kihti, siis ruuteris on 3 kihti ja sillas on 2 kihti realiseeritud.
Sildade plussid: 1) need on lihtsamad ja peavad paketi lahti harutama ainult kanalikihi tasemeni. 2) sillad õpivad ise
Sildade miinused: 1) kui meil on tegemist tsükliliste graafidega, siis on vajalik nendest kõigepealt puu teha, et edasi tegutseda 2) kui on võrgukihi tasemel leviedastusega saadetud pakettidega tegemist, siis sillad seda ei filtreeri välja
SWITCH kommutaator . See on kanalikihi seade. See ei vaja häälestamist. Tänapäeval on kasutusel ka hübriidkommutaatorid, kus on ühte karpi pandud nii teise, kui ka kolmanda kihi seade ehk kommutaator ja ruuter. Kommutaatori omapära on see, et ta suudab üleval hoida erinevaid ühendusi paralleelselt. Selle sisse on pandud kommutatsioonimaatriks. Kui ühe pordi taga on üksainus host, siis tegemist on Etherneti võrguga, kus põrkeid ei toimu. Kommutaator on nähtamatu seade, kuna tal ei ole aadressi ehk kui me paneme kommutaatori võrku, siis hostide töös otseselt midagi ei muutu. Edastamine toimub MAC aadresside järgi. Kommutaatorid õpivad sarnase põhimõtte järgi nagu sillad. Kui üks host tahab saata teisele hostile paketi läbi kommutaatori, siis kõigepealt jõuab see pakett kommutaatorisse. Seejärel kommutaator paneb saatja aadressi oma tabelisse kirja, kui seal teda juba ei olnud ning paneb ajamärgeni juurde. Kui see teadmine muutub vananenuks, siis visatakse see teadmine ära. Kui algselt teise hosti kohta midagi teada ei olnud, siis saadetakse pakett kõigile hostidele, välja arvatud saatjale. Kui paketi kätte saanud host vastab, siis läheb info ka tema kohta tabelisse ja kuna nüüd on esimese hosti kohta info tabelis olemas, siis saadetaksegi vastus ainult konkreetselt talle.
Switchidega saab ka kokku ühendada suurema hulga võrke ning kui üks switch on ühendatud teisega, siis toimub pidev õppimine.
Kommutaatorid ja ruuterid mõlemad on seadmed, mis võtavad vastu pakette ja edastavad neid. Ruuteritel on marsruutimistabelid ja kommutaatoritel on kommutatsioonitabelid.
Kokkuvõtteks:
Liiklust isoleerivad kõik seadmed (bridge, switch, marsruuter), välja arvatud HUBi ehk jaoturi. Ainuke, mis vajab konfigureerimist on ruuter. Teiseb õpivad ise ning HUB ei vaja mingit õppimist, sest ta võtab biti vastu ja saadab selle edasi.
Optimaalse marsruutimisega tegeleb ainult ruuter, kus valitakse marsruuti.
Cut through – Ilma täit paketti vastuvõtmata on võimalik alustada edasi saatmist ainult HUBide ja switchide puhul. Sillad ja ruuterid võtavad paketid täielikult vastu, analüüsivad ja alles siis teevad edasi saatmise otsuse.
45. CSMA/CA
Traadita võrkudes me ei saa kasutada CSMA/CD protokolli, sest sissetulev signaal on nõrgem kui väljasaadetav signaal ja see summutab sissetuleva signaali ära. Meil on raske seda analüüsida, kas see on korralik signaal või mitte. Teine probleem on see, et traadita võrkudes me ei pruugi kuulata seda võrgusõlme, kes meid segab ehk oma saatmise pealtkuulamisega ei saa kindlaks teha, kas keegi segab vahele või ei sega. Üks probleemidest on näiteks peidetud terminali probleem. Siin tuleb kausutusele võtta CSMA/CA protokoll, kus üritatakse põrkeid vältida. Traadita võrkudes kasutatakse ka väga palju kanali jagamiseks koodi järgi kanali jagamist (CDMA). Kõik saavad korraga saata, aga kasutatakse erinevaid koode. IEEE 802.11 kasutab CSMA/CA protokolli, kus tegeletakse põrgete vältimisega. Kui kanal on vaba, siis oodatakse ära see aeg, mis peab olema kahe saatmise vahel. Kui see aeg on kanal ikka veel vaba, siis oodatakse veel juhuslik aeg ja kui ikka on kanal vaba, siis saadetakse pakett ära ja oodatakse kviitungit. Kui kviitung tuli, siis see tähendab, et paketi saatmise õnnestus. See ei pruugi vältida veel põrkeid ning selleks kasutatakse siin sellist viisi, et kõigepealt kanal endale reserveerida. Selleks, et põrkeid vältida, kasutatakse sellist viisi, et kõigepealt saadetakse võrku pakett RTS (request to send ). Kui kaks osapoolt teineteist ei kuule , aga nad mõlemad on tugijaama levi ulatuses, siis kõigepealt saadetakse RTS pakett teele ja reserveeritakse endale see kanal. Kui kaks osapoolt korraga üritavad seda teha, siis tekib põrge ning siis mõlemad ootavad selle peale juhusliku aja ja üritavad uuesti. Kui tekib selline olukord, et üks pääseb saatma RTS-i ja teine võtab vastu ja aktsepteerib selle, siis teine osapool saadab välja paketi CTS ( clear to send), mis jõuab teiste osapoolteni. Tänu sellele saavad kaks osapoolt omavahel hakata andmeid vahetama ilma, et teised neile vahele segaksid. Pakettides on ka kirjas, kui kauaks kanal hõivatuks jääb. Kui saatmine õnnestus, siis saadetakse kviitung kõigile osapooltele ning nüüd võib RTS-iga uuesti konkureerida eetrile.
46. ATM
ATM võrk oli algselt üpris kiire ning seal kasutati virtuaalkanaleid ning oli võimalik garanteerida teatud ajalisi omadusi. Tegemist on pakettedastus võrguga. Seal kasutatakse pakette ja need paketid liiguvad kõik mööda paika pandud marsruuti. ATM tuli algselt välja sellise ideega, et ta on uus võrgutehnoloogia, mis pidi Etherneti ära asendama, aga tegelikult seda ikkagi ei juhtunud, sest Ethernet arenes edasi. Ethernet on lihtsam ja odavam võrgutehnoloogia, kui ATM ning sellest tingituna ta jäi peamiselt kasutusse ja püsima. ATM-i kasutatakse tuumvõrkude või magistraalvõrkude kokku ühendamiseks, kuhu pannakse suur ja kiire võrgusõlm.
ATM koormuse juhtimine – Andmepakettidega liiguvad võrgus ka halduspaketid, kus on info selle kohta, et võrgus hakkab tekkima ülekoormus ja tuleb tõmmata hoogu maha. Seal on olemas töörežiim „ available bit rate “ ehk niipalju kui on võrgus vaba ressurssi, nii palju sinna ka andmeid sisse pumbatakse ja mingil hetkel võib see võrguressurss otsa saada. Seal on olemas bitid NI, mis siis annavab märku, et ei ole mõtet koormust tõsta, kuna praegune tase on hea ja CI, mis teavitab, et võrgus on tegemist ülekoormusega ja tuleb midagi võrgus ette võtta. Kui saatja saadab andmepakette vastuvõtjale, siis nende vahel liiguvad ka halduspaketid. Halduspakettidesse teepeal olevad võrgusõlmed panevad informatsiooni ning selle saavad kätte nii saatja kui ka vastuvõtja. See on selline võrk, kust võrgust tuleb informatsioon olukordade kohta. TCP/IPs sellist asja ei toimu.
ATM-il on kolm kihti:
1) AAL (adaption layer ) – See liidestab ATM-i kõrgemal olevate kihtidega, tüüpiliselt IP-ga (ATM on IP võrkudes kanalikihis töötavaks protokolliks). Algselt AAL liidestus otse rakendustega ehk kui arvuti oleks otse ATM võrgus, siis kohe AALi peal töötaks rakendus. Kui paralleeli tõmmata TCP/IP mudeliga , siis AAL on nagu transpordikihiks, sest ta kahes otspunktis liidestub rakendustega. See on mõeldud selleks, et kahe otspunkti vahelist andmevahetust korraldada. See teeb ka IP paketid ATM pakettideks ehk võetakse rakenduse andmed, neile pannakse päis ning saba juurde ja nendest tehakse ATMi tasemel paketid. ATMi tasemel pakette nimetatakse rakkudeks. On olemas konstantse edastuskiirusegaega AAL kiht, muutuva edastuskiirusega AAL kiht ning ka IP datagrammide jaoks spetsiaalne AAL kiht. IP pakett pakitakse ATMi paketi sisse ning pannakse täiend juurde, et paketi pikkus oleks 48 baidi kordne.
2) ATM – See oleks TCP/IP mudeliga paralleeli tõmmates nagu võrgukiht. ATM kiht tegeleb pakettide kommuteerimisega läbi erinevate võrgusõlmede sihtpunktini välja. ATM pakub erinevadi teenuseklasse:
a) CBR ehk konstantne bitiedastuskiirus - Antakse saatjale ja vastuvõtjale kanal, kus on konstantne andmeedastuskiirus. See tähendab, et andmed kaduma ei lähe ja kõik andmed lähevad õiges järjekorras ja ajalised omadused on garanteeritud ning ülekoormust ka ei teki. (video- ja telefoniside ) b) VBR ehk varieeritud bitiedastuskiirus – Garantii on teatud vahemikus ja ta võib kõikuda, aga miinimum ja maksimum on garanteeritud. Andmed ei lähe kaduma ja liiguvad sama marsruuti mööda. Samuti ajalised omadused on garanteeritud ja ülekoormust tekkida ei saa, kuna maksimumil on piir ees. (video- ja telefoniside)
c) ABR ehk Olemasolev bitikiirus – Saatjale ja vastuvõtjale antakse miinimumgarantii. See on garanteeritud, aga kui võrgus on vabu ressursse, siis saab kiirust tõsta. Andmete kadumaminekut ei garanteerita, kuna võrgus võib tekkida ülekoormus ja osa pakette võidakse ära visata. Paketid liiguvad mööda ühte marsruuti, siis nad järjekorda omavahel ei muuda, aga midagi võib kaduma minna. Ajalisi omadusi ei garanteerida.
d) UBR ehk määramata edastuskiirus – See meenutab kõige rohkem TCP/IP võrke. Siin mitte midagi ei garanteerita. Kui võrk on täis, siis ei lähe mitte midagi läbi ja kui võrk on tühi, siis läheb sealt palju läbi. Siin võib ülekoormus tekkida, aga mingit tagasisidet selle kohta ei anta . Paketid võivad kaduma minna. Kuna kõik paketid liiguvad sama marsruuti mööda, siis garanteeritakse ainult see, et pakettidevaheline järjekord ei muutu. See meenutab kõige rohkem seda, mida pakub Internet.
ATMi rakk on selline, et tal on 5 baiti päis ja 48 baiti sisu. Paketi päises on kanali identifikaator, kanali tüüp, CLP ning kontrollkood. ATMi kiht on selleks, et paketis oleva identifikaatori järgi see pakett liigub läbi erinevate kommutatsioonisõlmede.
3) Füüsiline kiht – See tagab füüsilise bittide liikumise läbi erinevate keskkondade. Füüsiline kiht kooseb kahest kihist:
1) TCS – Kohandab ATMi paketi vastavalt füüsilisest kihist sõltuvale tehnoloogiale.
2) PMD – Tegeleb konkreetse füüsilise edastuskeskkonna järgi andmeedastusega.
ATM on selline võrk, kus kasutatakse virtuaalkanaleid. TCP/IP võrgukihi tasemel ei ole mingeid paikapandud marsruute, aga ATM võrkudes on paika pandud marsruut. ATM paketi päises on ka virtuaalakanali identifikaator, mitte sihtpunkti aadress. ATM kasutab kahte sorti kanaleid ehk siis püsikanaleid ja kommuteeritud kanaleid. Püsikanal tähendab seda, et kui on tegemist tuumvõrguga, siis on marsruudid paika pandud erinevate ruuterite vahel. Siis ei ole vaja kanalite loomise peale hakata aega kulutama. See teeb ka ATM võrgu kiireks. Kommuteeritud ATM võrkude puhul pannakse igakord marsruut paika.
Üldiselt marsruut otsitakse üles, siis teine osapoole aktsepteerib selle marsruudi ja kogu andmevahetus liigub mööda seda etteantud marsruuti. Füüsilisi ressursse ei reserveerita ja marsruut on paigas ning igas võrgusõlmes kulutatakse marsruudi leidmisele vähem aega ehk ei ole vaja igale paketile otsida eraldi teed. Iga pakett liigub kui omaette nähtus ja iga paketi päises on sihtpunkti aadress ehk igas paketipäises on virtuaalkanali identifikaator mille järgi pakett võrgus liigub. Paketi päis muutub igas võrgusõlmes. Pakettedastusega võrkudes paketi päis jääb samaks ja aadress jääb paketipäisesse ning igas võrgusõlmes toimub paketi marsruudi valik. Ruuterites on olemas informatsioon marsruutimistabelites, mille kaudu toimub pakettide edastus.
47. Võrkude turvalisus ja ohud
Võrkude turvalisuse põhilised aspektid on: 1) Konfidentsiaalsus – Ainult saatja ja vastuvõtja peaksid aru saama sõnumi sisust. See on võimalik saavutada kui saatja krüpteerib sõnumi ja vastuvõtja dekrüpteerib sõnumi. 2) Autentimine – Saatja ja vastuvõtja saavad olla kindlad, et see kellega nad suhtlevad on täpselt need õiged inimesed kellena nad väidavad ennast olevat ehk keegi teine ei saa võõra nime all esineda. 3) Sõnumi terviklikkus – See, mis teele saadetakse peab ka tervikuna samal kujul kohale jõudma, et keegi ei pääse teepeal seda sõnumit muutma ilma, et seda ei avastataks. Selleks pannakse sõnumile juurde kontrollkood. Kui sõnumi sisu muuta, siis kontrollkood enam sõnumi sisuga kokku ei lähe ja saame kindlaks teha, et keegi on seda sõnumit vahepeal muutnud. See sobib veakindluse tagamiseks, aga turvalisuse mõttes jääb veidi nõrgaks. Kasutatakse räsifunktsioone, mis annavad sõnumist fikseeritud pikkusega tulemuse. Nad on piisavalt head, sest on raske leida kahte erinevat sõnumit X ja Y, et mõlema räsifunktsioon oleks sama. Võetakse ette sõnum ning lastakse läbi räsifunktsiooni ning saadakse räsi ehk sõnumi signatuur ehk allkiri .
4) Saadavus ja juurepääsu kontroll – Võrgus olevad teenused peavad olema kõigile, kellele need on mõeldud, kättesaadavad.
Sõnumile „näpujälje külge panemine “ – Võtame sõnumi ja meil on olemas salajane võti, mille sõnumile juurde paneme ja laseme läbi räsifunktsiooni. Selle paneme sõnumile sappa ja teises otsas tehakse sama tegevus. Arvutatakse sõnumist räsifunktsioon ja võetakse see räsifunktsioon, mis sõnumiga kaasas käis. Siis võrreldakse neid ja kui see annab sama tulemuse, siis võib öelda, et see sõnum on olnud muutumatu. Räsifunktsioonide arvutamiseks on erinevad algoritme ning ühed tuntumad on MD5 ja SHA-1.
Teod, millega sissetungija saab ebameeldivusi tekitada on: 1) Pakettide pealtkuulamine ja salvestamine kanalis - Kuna paketid liiguvad avalikus võrgus, siis neid on võimalik pealt kuulata ja kätte saada. 2) Saatja aadressi ära muutmine Kuna alates võrgukihist on kõik osa operatsioonisüsteemist, siis järelikult operatsioonisüsteemi sees on võimalik ära muuta saatja aadressi ehk kellegi teise nime all saata. 3) Võrgu loomine – Võimalik on luua arvutitest selline võrk, kas tahtlikult või mittetahtlikult arvuteid viirustega nakatades ja nad korraga panna esitama päringuid serverile ja sisuliselt server umbe ajada. 4) Andmete muutmine, sisestamine, eemaldamine pakettides 5) Teenuste kasutamise keelamine – Võimalik on keelata teises arvutis teatud teenuseid kasutada, kui ligi pääseda teise arvutisse.
48. Krüptograafia, algoritmid ja võtmed
Krüptograafia tähendab tõlkes „salajane kirjutamine“.
Protsessi kulg näeb välja selline:
1) Avatekst – Info, mida soovitakse saata, ilma et see oleks kaitstud.
2) Krüpeerimisalgoritm – Sisaldab kõike seda, mida avatekstida tehakse ehk selles määratakse ära tegevused ja operatsioonid.
3) Võti – Selle abil krüpteerimisalgoritmi kasutades rakendame seda avatekstile ja saame krüpteeritud teksti. See annab võimaluse varieerimiseks. Võtme pikkus määrab ära võtmete hulga, kui palju tuleb neid läbi proovida.
4) Krüpeeritud tekst – Saadetakse mööda kanalit minema.
5) Dekrüpteerimisalgoritm – Vastuvõtja rakendab seda algoritmi, et avatekst kätte saada.
6) Võti – Seda rakendades dekrüpeerimisalgoritmile on võimalik avatekst kätte saada
Krüpeerimisalgoritme on kahte tüüpi:
1) Sümmeertilise võtme algoritmid ehk salajase võtme algoritmid – Üks ja sama võti nii saatjal kui ka vastuvõtjal ja seda rakendades krüpeerimise/dekrüpteerimise algoritmile saame šifreerida või dešifreerida. Kui saatja või vastuvõtja selle võtme avalikustab, siis andmete vahetamine ei ole enam salajane.
2) Asümmeeriline võtme algoritm ehk avaliku võtme algoritm – Siin on kaks erinevat võtit ehk ühe võtmega krüpeeritakse ja teise võtmega dekrüpeeritakse. Ühest võtmest teist tuletada ei ole võimalik. Siin on üks võti avalik ja teine on salajane. Kui tahetakse saata näiteks kirja ühele kindlale kasutajale, siis kasutatakse selle kasutaja avalikku võtit. Kõik saavad seda avalikku võtit kasutades sellele kindlale kasutajale kirjutada, aga seda saab dekrüpeerida ainult siis, kui see on avaliku võtmega kinni pandud, sest lahti saab ainult salajase võtmega. See salajane võti on ainult kindla kasutaja käes.
Tüüpiliselt tänapäeval on krüpeerimisalgoritmid avalikud ja võtmed on salajased. Võti on see, mis tagab salastatuse. Kõik algoritmid ei ole päris avalikud, sest näiteks pangad on algoritme ei avalikusta. Samas algoritmide salastamine ei ole alati võimalik, sest need inimesed, kes neid algoritme välja mõtlevad, liiguvad ka ühelt töökohalt teisele ja sellest tulenevalt need tulevad ikkagi mingi aja möödudes avalikuks. Samuti kui on teada krüpeerimisalgoritm, siis see ei pruugi aidata alati dekrüpeerida, sest tegelikult võtme pikkus on see, mis tagab salastatuse. Kui on tegemist väga hea algoritmiga, siis selle teadmine meid ei aita, sest peame ikkagi kõikvõimalikud võtmed läbi proovima. Kui uus algoritm välja mõeldakse, siis lastakse üldiselt suur hulk inimesi selle algoritmi kallale ja tüüpiliselt pannakse välja ka auhindu, kui keegi suudab selle lahti muukida. Hea algoritm on see, kus ei anna mingeid variante välja mõelda, et proovitavate võtmete hulka saaks vähendada. Kui võtmete hulk on väga suur, siis võtmete läbiproovimine võtab palju aega ja ressursse ning see ei tasu üldiselt ära. Teine aspekt on see, et võrgus liigub väga palju igasuguseid pakette ja kuidas leida nende hulgast üles just täpselt ainult need, mida tasub hakata lahti muukima.
49. Sümmeetrilise võtme krüptograafia, DES
Meil on kaks osalist – saatja ja vastuvõtja. Neil on omavahel kokku lepitud salajane võti. Kui kumbki hoiab oma võtit saladuses, siis see sõnum krüpeeritakse ära algoritmi ja võtme abil. Siis saadake selle võtme abil šifreeritud sõnum ja see dekrüpeeritakse jälle sama võtme ja algoritmi abil ja teist korda seda võtit rakendades sellele krüpeeringule saame selle sõnumi tagasi.
Krüpeerimise näited, mida on maailmas kasutatud:
Asendusšiffer – Üks tähestik asendatakse lihtsalt teise tähestikuga. Kui on tegemist ühe tähestikuga, siis on monoalfabeetilise šifriga tegemist. Siin võib olla tegemist kas lihtsa nihkega või täiesti segamini pööratud variantidega. Seda on üpris kerge lahti murda, sest inglise keeles on tähestikus 26 tähte ja probleemiks on ka keele omapära. Igas keeles on oma tähtede esinemise sagedus ning see on igas keeles üpris omapärane. Selliseid viise tänapäeval arvutustehnika olemasolul enam ei kasutata, sest neid on lihtne lahti murda. Ajaloost on tuntud Caesari šiffer. Iga tähel on tähestikus oma järjekorranumber ja sellele liidetakse +3 otsa ehk siis vastavat tähestikku nihutatakse kolme võrra. Dešifreerimine toimub vastupidi ehk järjekorranubrist lahtutakse -3 ja saadakase vastavad tähed. Polüalfabeetilise šifri korral on kasutusel mitut tähestikku. Üks ja sama täht võib erinevates kohtades saada erineva vaste. See suurendab variantede hulka, aga ikkagi, kui on piisavalt pika tekstiga tegemist, siis on võimalik keele statistilisi omadusi arvestades välja visata neid variante, mida ei tasu läbi proovida. Polüalfabeetilise šifri korral võib võtmeks olla näiteks see, kui palju tähte nihutatakse. Üldiselt vanemal ajal krüpeeriti tekste , tänapäeval aga kahendinformatsiooni ehk bitijada.
Võimalused lahti murdmiseks:
1) Proovida kõikide võtmete läbiproovimist
2) Üritada analüüsida, eriti kui algoritm on käes
3) Tuntud avateksti rünnak - Kui on olemas osa avateksti ja sellele vastavat krüpeeritud teksti
4) Valitud avateksti rünnak – Kui on võimalik valida teksti ja saada sellele tekstile vastavat krüpeeringut
DES (Data Encryption Standard) – Kasutati 56 bitist võtit ja 64 bitiste blokkide kaupa krüpeeriti. DES-i turvaliseks tegemiseks kasutati kolmekordset DES-i ehk 3-DES-i. Sel juhul kasutatakse kahte võtit kolm korda erinevalt kombineerides või kolme erinevat võtit. See teeb võtme olulisemalt pikemaks ja ka turvalisemaks. Teise asjana seotakse plokid omavahel sõltuvusse ja kui hakatakse dekrüpeerima plokke vales järjekorras, siis sealt midagi mõistlikku välja ei tule. Kui näiteks 64-bitine plokk tuleb sisse ja rakendatakse 54-bitist võtit ja saadakse uus 64-bitine plokk. Kõigepealt see 64 bitti keeratakse omavahel segamini. Vasak pool ja parem pool pakitakse kokku omavahel koos võtmest võetud 48 bitiga ja sellest tekib uus selle ploki parem pool. Parem pool läheb vasakuks pooleks ja uus see, mis oli eelmise ploki parem pool, läheb vasakuks pooleks ning sellega tehakse jälle uus tegevus. See parempool omakorda läheb järgmise tsükli vasakuks pooleks. Nii tehakse 16 ringi ja siis veel keeratakse need bitid omvahel segamini. Sellega DES tegeleb. DES-i edasiarendus on AES. Seal kasutatakse 128-bitiseid blokke ja erinevate pikkustega võtmeid. Seda peetakse olulisemalt turvalisemaks. Kui DES-i puhul kõikide võtmete läbiproovimine võtaks aega võimsal arvutil 1 sekund, siis AES-i puhul umbes 149 triljonit aastat. Plokk krüpeeritakse kas voošifri või plokkšifriga. Voošiffer tähendab seda, et sisse tuleb üks bitt ja selle biti peal rakendatakse võtit ja vastavalt sellele võtmele ja bitile, need kaks pannakse omavahel välistava VÕI-ga kokku ja tekib uus bit. Kasutatakse ka plokkšifreid ehk lastakse sisendplokk läbi mingi krüpeerimiseploki ja tulemuseks on samasugune plokk.
Tüüpiliselt sümmeetrilise võtme algoritmid on sadu tuhandeid kordi kiiremad, kui asümmeerilised ehk avaliku võtme algoritmid.
50. Avaliku võtme krüptograafia, RSA
Kaks matemaatikut Diffie ja Hellman tulid välja mõttega, et on olemas matemaatilisi opratsioone, mida ühtepidi on võimalik lihtsalt teha, aga mida tagurpidi teha on suhteliselt tülikas või võimatu. Selle abil on võimalik tuletada võtmeid. Kaks võtit ja ühe tuletamine teisest ei ole võimalik.
Avaliku võtme krüptograafia skeem:
Kaks võimalust: 1) Salastamiseks 2) Audentimiseks ehk sõnumi allkirjastamiseks
Salastust saab tagada selliselt:
Kui meil on kaks kasutajat. Meil on esimese kasutaja avalik võti ja salajane võti. Meil on teise kasutaja avalik võti ja saljane võti. Kummalgi on oma komplekt võtmeid ja kahe peale kaks komplekti võtmeid. Salajast võtit ei anta mitte kellelegi, aga avaliku võtme võib teha nähtavaks kõigile. Kui esimene kasutaja tahab teisele kirjutada nii, et ainult teine kasutaja saaks seda lugeda, siis ta kasutab teise kasutaja avalikku võtit, mis on kõigile teada. Krüpeerib selle kirja ära ning ainuke, kes selle lahti saab võtta on teine kasutaja oma salajase võtmega. Avaliku võtmega pannakse kinni ja avaliku võtmega seda uuesti lahti võtta ei saa ning lahti saab võtta ainult selle kasutaja salajase võtmega, kelle avalikku võtit me oleme kasutanud. Esimese kasutaja avalik võti ja teise kasutaja salajane võti ei ole omavahel seotud. Selleks, et kirjutada kirja nii, et ainult teine kasutaja saaks seda lugeda on meil vaja tema avalikku võtit ja pärast seda loeb teine osapoole selle oma salajast võtit kasutades.
Audentimine – Kui esimene kasutaja tahab kirja kirjutada nii, et see oleks kindlaks tehtud, et see on tema kirjutatud, siis esimene kasutaja paneb selle kokku oma salajase võtmega. Seda saab lugeda esimese kasutaja võtmega. Selle mõte on see, et kui see kiri on lahti võetav esimese kasutaja avaliku võtmega, siis see garanteerib selle, et see on krüpeeritud esimese kasutaja salajase võtmega. Veel garanteerib se selle, et esimene kasutaja, kes selle krüpteeris oma salajase võtmega, siis sai ainult tema seda teha. See on digiallkiri ehk see garanteerib selle, et keegi teine seda allkirjastada ei saanud, peale esimese kasutaja.
Avaliku võtme krüptograafiat saab kasutada kahtepidi, kas salastamiseks ja allkirjastamiseks. Kui me tahame teha mõlemat, siis tuleb mõlemat skeemi kasutada korraga.
Avaliku võtme krüptograafia puhul meil on algoritm, sõnum ja teise kasutaja avalik võti. Sellega krüpeeritud tekst läheb teele ja teine kasutaja dekrüpteerib selle oma salajase võtmega. Kui me rakendame sõnumile avalikku võtit, siis veel korra tulemusele salajast võtit, siis me saame lähteteksti tagasi ja ka vastupidi. Üks tuntumaid ja veel ka kasutusel olevaid on RSA.
RSA seisneb selles, et me oskame korrutada, aga me ei oska suuri arve teguriteks lahutada, sest see on keeruline. Kui on kahe algarvu korrutamisega tegemist, siis on keerulisem teguriteks jagamine. Siiani ei ole keegi leiutanud sellist algoritmi, kuidas seda teha. Meil on kaks suurt algarvu p ja q ning me korrutame need omavahel läbi, siis saame n-i (n=p*q). See on üks võtme komponent. Kui me oskame selle n-i uuesti p-ks ja q-ks tagasi teha, siis on pool lahtimurdmist tehtud. Järgmisena tuleb arvutada välja z, mille saame nii: z = (p-1)(q-1). Järgmisena valime e (e
Vasakule Paremale
Arvutivõrgud eksami vastused #1 Arvutivõrgud eksami vastused #2 Arvutivõrgud eksami vastused #3 Arvutivõrgud eksami vastused #4 Arvutivõrgud eksami vastused #5 Arvutivõrgud eksami vastused #6 Arvutivõrgud eksami vastused #7 Arvutivõrgud eksami vastused #8 Arvutivõrgud eksami vastused #9 Arvutivõrgud eksami vastused #10 Arvutivõrgud eksami vastused #11 Arvutivõrgud eksami vastused #12 Arvutivõrgud eksami vastused #13 Arvutivõrgud eksami vastused #14 Arvutivõrgud eksami vastused #15 Arvutivõrgud eksami vastused #16 Arvutivõrgud eksami vastused #17 Arvutivõrgud eksami vastused #18 Arvutivõrgud eksami vastused #19 Arvutivõrgud eksami vastused #20 Arvutivõrgud eksami vastused #21 Arvutivõrgud eksami vastused #22 Arvutivõrgud eksami vastused #23 Arvutivõrgud eksami vastused #24 Arvutivõrgud eksami vastused #25 Arvutivõrgud eksami vastused #26 Arvutivõrgud eksami vastused #27 Arvutivõrgud eksami vastused #28 Arvutivõrgud eksami vastused #29 Arvutivõrgud eksami vastused #30 Arvutivõrgud eksami vastused #31 Arvutivõrgud eksami vastused #32 Arvutivõrgud eksami vastused #33 Arvutivõrgud eksami vastused #34 Arvutivõrgud eksami vastused #35 Arvutivõrgud eksami vastused #36 Arvutivõrgud eksami vastused #37 Arvutivõrgud eksami vastused #38 Arvutivõrgud eksami vastused #39 Arvutivõrgud eksami vastused #40 Arvutivõrgud eksami vastused #41 Arvutivõrgud eksami vastused #42 Arvutivõrgud eksami vastused #43 Arvutivõrgud eksami vastused #44 Arvutivõrgud eksami vastused #45 Arvutivõrgud eksami vastused #46 Arvutivõrgud eksami vastused #47 Arvutivõrgud eksami vastused #48 Arvutivõrgud eksami vastused #49 Arvutivõrgud eksami vastused #50 Arvutivõrgud eksami vastused #51 Arvutivõrgud eksami vastused #52 Arvutivõrgud eksami vastused #53 Arvutivõrgud eksami vastused #54 Arvutivõrgud eksami vastused #55 Arvutivõrgud eksami vastused #56 Arvutivõrgud eksami vastused #57 Arvutivõrgud eksami vastused #58 Arvutivõrgud eksami vastused #59 Arvutivõrgud eksami vastused #60 Arvutivõrgud eksami vastused #61 Arvutivõrgud eksami vastused #62 Arvutivõrgud eksami vastused #63 Arvutivõrgud eksami vastused #64
Punktid 100 punkti Autor soovib selle materjali allalaadimise eest saada 100 punkti.
Leheküljed ~ 64 lehte Lehekülgede arv dokumendis
Aeg2017-06-12 Kuupäev, millal dokument üles laeti
Allalaadimisi 36 laadimist Kokku alla laetud
Kommentaarid 0 arvamust Teiste kasutajate poolt lisatud kommentaarid
Autor jaskajaska13 Õppematerjali autor

Kasutatud allikad

Sarnased õppematerjalid

Arvutivõrgud eksamimaterjalid
46
pdf

Arvutivõrgud eksamimaterjalid

sama teed mööda tagasi. (koormab serverit ja võtab aega). o Iteratiivne - kui nimeserver ei tea antud domeeni IP-aadressi, siis saadetakse kliendile selle nimeserveri IP, kust edasi küsida.  Vastuste kiiremaks kättesaamiseks ja serverite koormuse vähendamiseks kasutatakse Cache’t (vahemälu) – Suvaline DNS server jätab vastused meelde ja kustutab need kui TTL (time to live) aegub.  DNS records-is hoitakse [Nimi, Väärtus, Kirje tüüp, TTL].  Kui tipite veebiaadressi veebibrauserisse ja vajutate sisestusklahvi (ENTER), saadate päringu DNS-serverile. Kui päring on edukas, avaneb soovitud veebileht, kui mitte, näete tõrketeadet. Need edukad ja edutud päringud talletatakse arvuti ajutises talletuskohas ehk DNS-i vahemälus. DNS kontrollib alati enne DNS-serverisse päringu saatmist

Arvutivõrgud
Arvutivõrkude konspekt 2014 eksamiks
41
pdf

Arvutivõrkude konspekt 2014 eksamiks

kes pöördus lokaalse DNS serveri poole. Rekursiivse päringu puhul toimub vastuse saamine järgmiselt: host loob päringu lokaalsesse DNS serverisse->lokaalne server edastab päringu juurserverisse->juurserver nimeserverisse->nimeserver autoratiivsesse->ja siis liigub vastus sama teed mööda tagasi päringu koostajani. Vastuste kiiremaks kättesaamiseks ja serverite koormuste vähendamiseks kasutatakse cahce'mist. Cache'mise puhul jätab lihtsalt (ükskõik milline) DNS server vastused meelde ja kustutab need kui TTL (time to live) aegub. Näiteks lokaalsed DNS serverid cahce'vad pidevalt nimeservereid ja sellepärast juurserveritele päringuid tihtipeale ei edastatagi. 17. Töökindel andmeedastus Süsteem peab olema võimeline töötama ka siis, kui osa pakette läheb kaotsi või andmete ülskandmisel tekivad bitivead. Mitteusaldatava kanali karakteristikud määravad usaldusväärsuse protokolli (rdt) keerukuse.

Arvutivõrgud
Arvutivõrgud eksamiks
28
docx

Arvutivõrgud eksamiks

järjekorras. Connectionless ­ ühendust ei looda. ,,Best effort" ­ püüab antud tingimustel anda oma parimat. UDP on lihtsaim ja kiireim. Lühem segmendi päis. (8-baidine) Võrgus ei toimu koormuse reguleerimist! Seega võib võrgu umbe ajada. Kasutatakse DNS-is ja SNMP-s. UDP tegeleb vigade avastamisega (UDP checksum), aga mitte vigade parandusega, seda peaks tegema rakenduskiht. UDP-d kasutatakse lühikeste andmete edastamiseks. 26. Datagrammvõrgud ja virtuaalahelatega võrgud Mõlemad on pakettkommutatsiooni alaliigid. VC puhul kasutatakse kanali identifikaatoreid. Datagrammvõrkudes peab iga pakett päises kandma sihtkoha- aadressi. 27. Marsuutimine + Optimaalse tee valimine. Peab olema korrektne, õiglane, lihtne, stabiilne (üritab jagada ressursse nii, et ei tekiks ummikuid), veakindel, optimaalne ja efektiivne. Jõudluse kriteeriumid: lõikude arv( mitu võrgusõlme on teekonnas, number of hops), hind(maksuvus), viide(ajalisedviited), läbilaskevõime.

Arvutivõrgud
Arvutivõrgud-Väga põhjalik eksamimaterjal
35
doc

Arvutivõrgud. Väga põhjalik eksamimaterjal

protokoll); Esimene e-maili programm; ARPAnetis on 15 võrgusõlme 1974 ­ Vint Cerf ja Robert E. Kahn töötavad välja arhitektuuri võrkude ühendamiseks (teisisõnu interneti arhitektuur) 1976 ­ Etherneti loomine Xerox PARCis (uurimis- ja arendusfirma IT valdkonnas) 70-ndate lõpp ­ luuakse arhitektuurid nagu DECnet, SNA, XNA 1979 ­ ARPAnetis on 200 võrgusõlme 1982 ­ SMTP 1983 ­ TCP/IP 1983 ­ DNS 1985 ­ FTP 1988 ­ Voo kontroll TCPs 1980-1990 ­ 100 000 hosti, luuakse võrgud nagu Csnet, BITnet, NSFnet, Minitel 90-ndate algus ­ HTML, HTTP, URL, brauseritest Mosaic ja Netscape. 90-ndate lõpp ­ P2P, uued ja võimsad rakendused internetimaailmas, interneti turvalisus seatakse esimeseks, 50 miljonit hosti 2007 ­ 500 miljonit hosti, videokõned jms, P2P rakendused: BitTorrent (File sharing), Skype (VoIP), rakendused nagu YouTube jms, traadita ühenduse kiire areng 12. Mida erinevad rakendused nõuavad võrkudelt Laias laastus nõuavad rakendused võrkudelt kolme:

Arvutivõrgud
Kommunikatsiooni kokkuvõte
6
doc

Kommunikatsiooni kokkuvõte

Selle kõrval postkontoriprotokoll – klient/server protokoll, kus elektronposti sihtpunkti aadresse suudavad vahesõlmed leida tee, et nad kasutatakse ka TDM’i ja FDM’i. sõnumeid võetakse vastu ja hoitakse ISP meiliserveris. MIME omavahel ühendada. Ülekandesüsteemi kasutamine. 10. Datagrammvõrgud, virtuaalahelatega võrgud. e universaalsed internetiposti laiendused – kasutatakse selliste Liidestamine. Signaali genereerimine. Andmevahetuse haldus. Datagrammvõrk e. Tavaline pakettvõrk. Sõnum (pakett) liigub sõnumite vormindamiseks, mis pole ASCII tekstis, nii et neid Taastumine. Sõnumi vormindamine. Turvalisus. Võrgustiku saatjast vastuvõtjani läbi erinevate võrgusõlmede „parimat oleks võimalik edastada üle Interneti. Suudab vastu võtta ka

Tehnoloogia
Eksami küsimuste põhjalikud vastused
25
docx

Eksami küsimuste põhjalikud vastused

1. ÜLDINE KOMMUNIKATSIOONI MUDEL Kommunikatsioonisüsteemi eesmärgiks on infovahetus kahe olemi vahel. Allikas ­ saatja ­ edastaja ­ vastuvõtja ­ sihtpunkt. Allikaks on olema, mis genereerib info, et see kuskile edastada. Saatja on seade, mis kodeerib allika poolt genereeritud signaali. Edastaja on meedia, mis võimaldab signaali transporti ühest punktist teise. Vastuvõtja on seade, mis dekodeerib saadud signaali sihtpunkti jaoks arusaadavaks. Sihtpunkt on olem, mis lõplikult kasutab infot. /////////// EHK Source (see, kes saadab) > transmitter (saatev seade) > transmissioon system (ülekande süsteem) > receiver (vastuvõttev seade) > destination (see, kes vastu võtab). // Nt: tööjaam, arvuti > modem > telefoni tavavõrk > modem > vastuvõtja, server. 2. KOMMUNIKATSIOONISÜSTEEMI ÜLESANDED ·· Ülekandesüsteemi mõistlik kasutamine/koormamine; ·· liidestus (kokku ühendamine. Ntx: võrk+võrk, arvuti+võrk); ·· Signaalide genereerimine(edastamine) (signaalide ühe

Arvutivõrgud
Kommunikatsiooni eksami küsimuste põhjalikud vastused
52
docx

Kommunikatsiooni eksami küsimuste põhjalikud vastused

1. ÜLDINE KOMMUNIKATSIOONI MUDEL Kommunikatsioonisüsteemi eesmärgiks on infovahetus kahe olemi vahel. Allikas – saatja – edastaja – vastuvõtja – sihtpunkt. Allikaks on olema, mis genereerib info, et see kuskile edastada. Saatja on seade, mis kodeerib allika poolt genereeritud signaali. Edastaja on meedia, mis võimaldab signaali transporti ühest punktist teise. Vastuvõtja on seade, mis dekodeerib saadud signaali sihtpunkti jaoks arusaadavaks. Sihtpunkt on olem, mis lõplikult kasutab infot. /////////// EHK Source (see, kes saadab) > transmitter (saatev seade) > transmissioon system (ülekande süsteem) > receiver (vastuvõttev seade) > destination (see, kes vastu võtab). // Nt: tööjaam, arvuti > modem > telefoni tavavõrk > modem > vastuvõtja, server. 2. KOMMUNIKATSIOONISÜSTEEMI ÜLESANDED •• Ülekandesüsteemi mõistlik kasutamine/koormamine; •• liidestus (kokku ühendamine. Ntx: võrk+võrk, arvuti+võrk); •• Signaalide genereerimine(edastamine) (signa

Tehnoloogia
Arvutivõrkude eksami konspekt
144
docx

Arvutivõrkude eksami konspekt

alakoormatud (nii nagu pole mõtet teha Pirita teed 5 realiseks, lihtsalt sellepärast et 2x päevas on seal tipptund). Pros - Sobib andmeedastuseks, kus me vahepeal kasutame kanalit, vahepeal vaikus. Lihtsam, ei ole handshakingut. Cons - Viivitused, andmekadu, pole protokolle, mis tagaksid kindla andmevahetuse ja vookontrolli. Endiselt avatud probleem e kuidas imiteerida kanalikommutatsiooni pakettkommunikatsioonis. Datagram network - nt DCP-IP võrgud, sihtkoha aadress paketis määrab kuhu ruuterisse edasi hüppame, marsruut võib muutuda sessiooni jooksul, suht nagu sõidaksid sõbrale kuhugi X kohta külla ja mingi kohalik soovitab sul hoopis Y teed kasutada. See ei ole ei ühenduseta ega ühendusega võrk. VÕI Virtuaalahel - Rakendatud pakettedastusvõrkudes. Ressurss on kõikidele kasutatav. Marsruut on ette ära otsustatud, ehk igas sõlmes ei tehta enam otsust et kuhu peaks minema ja kust kaudu oleks parem.

Arvutivõrgud




Meedia

Kommentaarid (0)

Kommentaarid sellele materjalile puuduvad. Ole esimene ja kommenteeri



Sellel veebilehel kasutatakse küpsiseid. Kasutamist jätkates nõustute küpsiste ja veebilehe üldtingimustega Nõustun