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

Arvutivõrkude eksami konspekt (0)

5 VÄGA HEA
Punktid

Esitatud küsimused

  • Mis juhtub andmetega?
  • Mis lisatakse kaadrile?
  • Mis saadet GET paneb andmed URL-i wwwblahcom?
  • Mitu küsimust ju?
  • Millal uuesti saadetakse?
  • Kui kaua võtab aega kviitungi tulek?
  • Kui B puhver on täis RcvWindow 0 ja A-le pakette vastu ei saada mis siis juhtub?
  • Kui RcvWindow on 0 või vähem saadab A B - le segmente ühe databytega?
  • Mis neil siis vahet on?
  • Mis on token bus?
  • Mitmetähestikuline krüpteerimine polyalphabetic encryption - ?

1. Üldine kommunikatsiooni mudel
Rr
Kommunikatsioonisüsteem ei tee vahet sellel mida me täpselt edastame (video, heli, pilt jne kõik tõlgitakse ikkagi 1 ja 0 jadaks)
Simplex - ühesuunaline
Pool- Duplex - mõlemat pidi, aga korda mööda, walkie-talkied, ainult üks saab korraga andmeid edastada
Täis-Duplex - mõlemat pidi ja samal ajal, telefonid
Süsteemi rrRrrrrr on infovahetus, seega meil on:
Allikas - Saatja - Edastaja - Vastuvõtja - Sihtpunkt
Allikas - genereerib edastamiseks vajaliku infoex
Saatja - kodeerib allika poolt genereeritud info signaaliks (ADC nt kui edastame heli)
Edastaja - vastutab signaali transportimise eest punktist A punkti B
Vastuvõtja - dekodeerib saadud signaali sihtpunkti jaoks arusaadavasse vormi
Sihtpunk - self-explanatory, aga okei , see kes kasutab saadetud infot
2. Kommunikatsioonisüsteemi ülesanded
  • Signaali genereerimine - ja ka edastamine , signaali ühest r teise üle viimine
  • Sünkrroniseerimine - andmevahetus peab samas taktis, muidu tekivad vead sRisse, so peab vastutama, et saatja R vastuvõtja töötaks samas taktis
  • Andmervahetuse manageerimine - ülekandesüsteemi mõistlik kasutamine-koormamine
  • Vookontroll - et ei tekiks nö r, liikluse suunamine, ressursi kasutamine, sest vastuvõtja saab ainult mingis kindla kiirusega pakette vastu võtta. Kui puhver on täis, siis andmed lähevad kaotsi.
  • Veaparandus/tuvastus - nt kontrollsummade/bittide abil, vajadusel palub uuesti saata paketti, vajalik mürarikkas keskkonnas
  • rr
  • Marsruutimine - Pakett õigesse sihtkohta toimetada võimalikult lühikest teed pidi
  • Taastumine - kui tekib veaolukord, siis oskab händelida, mitte ei viska susse püsti, süsteem peab aru saama, kus parasjagu tööga pooleli oldi (rr tehtud, mis tegemata)
  • Sõnumite formattimine - Saatja ja vastuvõtja omavaheline suhtlemine , seega peab olema sama kodeering
  • Turvalisus - krüpteerimine, privaatkanalid
  • Võrgu manageerimine
  • Liidestus - kokku ühendamine, nt arvuti+võrk, võrk+võrk
    RVõrgutopoloogiad
    Täielikult ühendatud - ressursikulukas, aga pole marsruutimistr vaja teha seega peaks aega kokku horrr.
    Tähtvõrk - üks keskjaam, millega on kõik teised ühendatud, suht dodgy variant kuna kogu süsteem sõltub sellest keskmisest
    Siinivõrk (ülemine) ja Ringvõrk
    Võrgu tüübid:
    • LAN - privaatselt omatud, ühendab seadeid suletud kohas (kool, kodu, kontor etc), skoop on küll väike, aga enamasti on andmeedastus parem kui WAN puhul
    • MAN - üle linna ühendatud võrk (metropolitan area)
    • WAN - kaugühendused, suured alad, think eri linnad, riigid ( wide area)

    3. Mitmekihiline arhitektuur postisüsteemi näite baasil
    Story time - Kirja edastamine koosneb etappidest. Esiteks meil on saatja ja vastuvõtja, teiseks sel ajal kui kiri on teel, siis ei teata selle sisust midagi.
    Saatja peab kirja adresseerima, et see oleks kohale toimetatav.
    Saatja - Postkontor - Transpordivahendid - Postkontor (võib korduda mitu korda, sest kiri võib läbida ka mitu postkontorit) - Saaja. Vahepealsetes etappides ehk transpordil ja postkontories ei teata midagi kirja sisust.
    Allikas on andmete genereerija, Saatja teisendab andmed transpordiks sobivale kujule (bittideks), Edastaja - transpordib signaali ühest kohast teise, Vastuvõtja - võtab signaali vastu ja teisendab arusaadavale kujule, Adressaat kasutab saadetud andmeid.
    Kiri peab olema koostatud kindlate reeglite järgi: übriku sees, aadress. Meie ei näe postisüsteemi (nagu teised kihid ei näe mis neist väljaspool toimub). Kiri on nagu rakenduskihi protokoll - reeglid, kuidas sõnum kirja panna, mis keeles jne. Postisüsteemi huvitab ainult mis on kirja peal, mitte sisu.
    2 kihti omavahel seotud liidesepunktide abil. Kirja kirjutajat ei huvita kuidas kirju sorteeritakse (pole vajalik info) ja sorteerijal on ükskõik mis seal kirja sees on seega teineteisest sõltumatud. Postkontoritel on ka oma protokoll kuidas neid kirju peab pakkima nt nööriga, kotti etc.
    Juures on ka legit teenuse edastamise süsteem. Ülemine kiht pakub teenust alumisele. Igal kihil on omad protokollid (reeglid) ja teenused.
    4. Kihid, teenused, protokollid ja andmete liikumine läbi kihtide
    Kihilist arhitektuuri kasutatakse, sest nii on võimalik eraldada arvutivõrk ja riistvara konkreetsest rakendusest, kõik komponendid on iseseisvad ja neid saab asendada. Kihtidel ei ole vaja teada kuidas mingi teine kiht töötab, aga oluline on mis teenuseid pakub üks kiht teisele (alumine pakub teenuseid ülemisele [kui nilbe saab olla?])
    Kihte on kokku kolm, kõige alumine on võrgukiht
    Failiedastus arhitektuur (lihtsustatud ver)
    3 kihi mudel
    Failiedastus rakendus
    Rakenduskiht
    -failid & failiedastuskäsud
    Aplikat. protokoll (Pm reeglid kuidas pakette teha)
    Kommunikatsiooni moodul
    Transpordikiht
    Kommun . seotud sõnumid
    Transpordi protokoll
    Network Access Module
    Võrgukiht
    Kommun. võrk
    Võrgukihi protokoll
    1. Tase: Failiga seotud tasemel toimingud
    2. Tase: Kommunikatsiooniga seotud tegevused - faili tükeldamine, saatmiseks ettevalmistamine. Räägime pakettidest, sisu pole oluline (ei tee vahet kas edastame pilti või videot), kommunikatsiooni korraldamine.
    3. Tase: Füüsiline andmeedastus - konkreetne võrgutehnoloogia, mis tegeleb andmeedastusega.
    Protokoll (so scary, such koll) - süntaks , reeglistik mille järgi moodustatakse pakette, vajalik kontrolli teostamiseks, sisaldab infot kuidas veaolukordi lahendada, mida andmetega peale hakata ja mida mingid väljad üldse tähendavad, info mis taktis toimub andmeedastus. Pm kui seda järgida, siis on kaks osapool võimelised omavahel suhtlema. EHK Süntaks, semantika , ajastus.
    Neid soovitatakse standardiseerida, kui on eeldada, et kasutajaskond on lai, lisab paindlikkust. Nõrkuseks see, et “külmutab” tehnoloogia ja sama asja jaoks luuakse mitu standardit.
    Saatja ja vastuvõtja samad kihid suhtlevad omavahel tinglikult , e alumise kihi poolt temale osutatud teenuseid ja eelnevalt kokkulepitud protokolli kasutades. Iga kiht lisab saadud andmetele päise ja edastab tulemuse madalamale kihile , vastuvõtmisel võtab iga kiht talle määratud päise maha ehk sort of nagu ümbrikud (digging dem postal refrences)
    Aadressid on liidesepunktides - võrgukihi aadress on IP aadress.
    Päised -
    Transpordikihi päis : Sihtkoha SAP, järjekorra nr
    Võrgukihi päis: Sihtarvuti aadress
    IP aadress et leida üles arvuti, SAP et teada kus pordis asub rakendus.
    Mis juhtub andmetega? Pannakse iga kihi poolt justkui ümbrikusse, ehk lisatakse iga kihi poolt oma päis juurde, mis sihtkohas kenasti maha kraabitakse (kapseldamine). Alt üles liikumisel viskab iga kiht oma päise minema.
    Kiht N osutab teenust kihile N+1 ja saab mingit teenust kihilt N-1. Kihil N on ühine protokoll mõne teise N kihiga .
    5. OSI mudel (hahaha ok hammustage patja , see tuleb romaan)
    http://i.imgur.com/sA5hK3K.png
    Kui olid veel pimedad ajad (loe: 1970ndad) oli igal suuremal arvutitootjal oma protokoll, mis on dumb as fuck , sest need ei olnud ühilduvad ja võrgus said olla ainult ühe tootja arvutid . Seetõttu loodi ISO poolt see fancy mudel mille abil saavad Mac ja HP ka tänapäeval läbi.
    Selle kohaselt jagatakse sõnumi edastamiseks vajalikud funktsioonid 7 kihi vahel. Iga kiht suhtleb otseselt vaid naaberkihiga ja madalamate kihtide kaudu ühenduspartneri sama kihiga.
    PS. Tabelis on kõrgemalt kihilt madalama poole
    Rakenduskiht
    Tegeleb võrgu läbipaistvuse, ressursijaotuse ja probleemide lahendamisega, kasutajate viis OSI keskkonnaga suhelda (võrguteenuste esitamine lõppkasutajale mugaval kujul)
    Esituskiht
    Võrgust saabuvate andmete teisendamine üldkujult konkreetse rakenduse jaoks sobivale kujule ja vice versa. Siin tegeletakse veel failide ligipääsuõigustega ja lukustamise kontrollimisega, andmete (de)krüpteerimine, põhimõtteliselt tõlgib andmeid rakenduse ja võrgu vahel
    Seansikiht
    Reguleerib kes-kellega ühenduses on, katkestab ühendusi rakenduste vahel, autentimine. Tagab andmevahetuse turvalisuse
    Transpordikiht
    Vastutab kahe punkti vahelise andmeedastuse eest, veakontroll ja vookontroll teostatakse samuti siin. Tegeleb lõppjaamade vahelise andmesidega. Rakenduselt saadud andmed segmenteeritakse ja määratakse ning kontrollitakse nende järjekorda . Määrab kas kasutatakse TCP või UDP protokolli. Alates sellest kihist võib lugeda ühendust punkt-punkt ühenduseks.
    Võrgukiht
    IP aadresside tasemel tegutsemine, vastutab ühenduste alustamise, pidamise ja lõpetamise eest. Andmeühikuks datagram. Pakettide marsruutimine, vookontroll. Datagrammide tükeldamine, adresseerimine, veatöötlus. IP aadressidega tegutsemine.
    Kanalikiht
    Jagab saadud paketid kaadriteks, enne kui nad füüsilisse kihti saadab (fragmentation). Võtab füüsilisest kihist vastu kinnituskaadreid (pm ACK kaadrid et jou, miski ei põle kõik ok), teostab veakontrolli ja kui on mingi kala, siis saadab kaadri uuesti. PS. Töötab biti tasemel, lisab mingi kontrollbitte lõppu a la kas summa peaks tulema 1 või 0 jne. PPS. Kui saadetakse pakett mille MAC adres on kõik ühed, siis see on mõeldud kõigile, kes võrku on ühendatud, kontrollib ka MAC aadresse (kas pakett on mõeldud antud seadmele või ei). MAC aadressidega tegutsemine
    Füüsiline kiht
    Bittide ülekandmine. See on kõik füüsiline, käegakatsutav kraam nagu juhtmed, töösagedus, pinged, topograafia, mis kaablid on kasutusel jne.
    Trololo kiht
    Andmeedastus kõige algelisemal viisil. Üldnimetus on “Tra ma ei viitsi” ja selle alakihid on (nh trummipõrin) “ema” ja “padrunid”. Info edastatakse diileri kaudu (aga ta peab nunnu olema ja sierraga sõitma sest mdea midagi muud vist ei eksisteeri, ahja kasse võiks ka olla), kes suhtleb füüsilisest kihist (konspekti lugesid w? gg) kõrgematega. Ja nhh ta üldse selline kiht, millega tegelikult pole väga muud teha, kui Pirso lotr.txt jagada. Väga äge! (Katsu vaid Arrak kustutada midagi)
    Pakett liigub kihtidest 7 - 1, jõuab ruuterini, kus ta harutatakse lahti võrgukihi tasameni ( marsruuterid töötavad IP aadressidega) ja tehakse marsruutimisotsus ja saadetakse edasi järgmisesse arvutisse . Seejärel liiguvad andmed jälle alt üles e 1 - 7.
    Iga kiht on omaette moodul ja saame ehitada vastavalt vajadusele.
    6. TCP/IP mudel
    Erinevaid esitusi 3-5 kihti, aga kuna Reinu on Reinu siis saame kõik 5 ära õppida.
    Rakenduskiht
    Kasutajatele teenuse osutamine. Sisaldab OSI rakendus-, esitlus- ja seansikihti. Käsitletakse iga protsessi, mis toimub transpordikihist kõrgemal, kõik kasutajaga seotud toimingud. Log-in, WWW access, FTP, SMTP , HTTP (web). Sõnum
    Transpordikiht
    Juhib programmide omavahelist suhtlemist võrgus, kasutades TCP või UDP protokolli. Process -process data transfer . Segment . Suhtlus protsesside vahel
    Internetikiht
    Selle abil saavad suhelda kaks masinat, mis asuvad erinevates alamvõrkudes. Seega seda kihti kasutavad lõppjaamad ja marsruuterid.Toimub adresseerimine erinevate võrkude vahel. Kasutusel IP ja ICMP protokollid. Source to destination marsruutimine. Datagramm. Suhtlus hostide vahel.
    Võrguliidesekiht
    Füüsiline adresseerimine ja parameetrite määramine. Seob endas OSI kanalikihi ja mingil määral ka füüsilise kihi. Vastutab lõplike kaadrite moodustamise eest, mida füüsilisse kihti edasi saata. MAC aadressi tasemel adresseerimine. Tegeleb ka mingil määral vigade tuvastusega - CRC. Cycling Redundancy Check - ehk mingi algoritmi järgi arvutatakse kontrollsumma, mis lisatakse kaadrile(?) juurde ja vastuvõtjas kontrollitakse.
    Füüsiline kiht
    Sellel tasemel toimub füüsiline andmeedastus. Bittide edastamine, data rate , sünkroniseerimine, defineerib elektrilised vm füüsilised parameetrid seadmetele ja keskkonnale. Määratakse andmete kodeerimisviis signaaliga, veakontroll ja kaadrite liikumine võrgu seadmete vahel määratud alal. See standardiseerib kõik võrgu aktiivseadmed (võrgukaardid, modemid).
    7. Ühendusele -orienteeritud ja ühenduseta andmeedastus
    Ühendusele orienteeritud (TCP protokoll):
    • Eesmärk on andmete transportimine lõppsüsteemide vahel
    • “Handshaking” - valmistuda andmeedastuseks ette ehk saadetakse nö tervituspakette
    • TCP - usaldusväärdne, andmed kantakse edasi järjekorras, kui midagi läheb kaotsi, siis seda teadvustatakse ja saadetakse uuesti
    • Vookontroll - saatja ei koorma vastuvõtjat üle (Saatja ja vastuvõtja vaheline)
    • Ummistuskontroll - kui on overload, siis saatja võtab tempot maha (Saatja ja võrgu vaheline) - Viimase kahega saame tegeleda, sest on loodud ühendus.
    • Alati tuleb oodata kinnituskaadreid, kui kinnitus tuleb kauem siis võrk on koormatud, kui seda üldse ei tule siis võrk on ülekoormatud.

    Ühenduseta andmeedastus (UDP protokoll):
    • Sama eesmärk: andmete transportimine lõppsüsteemide vahel
    • UDP - ebausaldusväärne andmete transportimine
    • Voo- ega ummistuskontrolli pole
    • Kasutavad nt: HTTP (web), FTP (file transfer), Telnet (remote login ), SMTP ( email )

    8. Kanalikommutatsioon ja pakettkommutatsioon, paketi pikkus
    Kanalikommunikatsioon ( circuit switching) - sidetehnoloogia, kus kahe seadme vahel moodustatakse kahe otspunkti vahel ühendus vajalikuks ajaks (traattelefonid). Sobib andmeedastuseks, kui on vaja edastada andmeid kiiresti ja reaalajas .
    Kanal reserveeritakse täielikult ühenduse ajaks. Vajalik on eelnev ühenduse loomine, see tagab kindla edastuskiiruse. Ühendusele orienteeritud andmeedastus (TCP). Suure kanali korral saab kasutada aja (erinevatel hetkedel kasutavad kanalit eri kliendid) või sageduse ( erineval sagedusel edastatakse eri infot) järgi tihendamist. Ei sobi arvutitevaheliseks suhtluseks , sest ressurssi läheb raisku.
    Pakettkommunikatsioon (packet switching) - Kasutatakse jagatud ressurssi. Iga pakett võib liikuda erinevat marsruuti pidi - e võib esineda võrgusõlmedes viivitusi. Efektiivsem, kui on lubatud teatav hilinemine. See ei ole ühendusele orienteeritud, seega saab muuta, kasutades kõrgemate kihtide protokolle.
    Sõnumid jagatakse pakettideks, iga pakett edastatakse eraldi ja eri paketid võivad minna sihtpunkti eri teed mööda seega jõuavad suht suvalises järjekorras kohale. Esialgne sõnum koostatakse neist, kui kõik sõnumi paketid on kohal. Ruuter peab ootama kuni terve pakett on ära laadinud, enne kui midagi edasi saadab (store and forward ).
    Kasutajad jagavad võrguressursi, iga pakett kasutab kanalit täies mahus. Nõudlus võib olla suurem kui ressurss, “pudelikael” võib tekkida, kus paketid kujuvad järjekorda ja ootavad kanali vabanemist.
    Vastuvõtmine - analüüsimine - edasi saatmine = 3 sammu
    Miks see on winning side - Lubab mitmel kasutajal korraga kasutada, nt 1 Mb/s kanal, igal kasutajal 100 kb/s kui “aktiivsed”, aga tõenäosus, et kõik on kogu aeg aktiivsed on piisavalt väike. Sidekanaleid ei ole mõtet projekteerida max olukordade jaoks, sest siis on võrk 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.
    Sõnumikommunikatsioon - andmed pannakse pakettidena teele ja igal pakil on küljes aadress kuhu saata. Saadetakse edasi kõik ühe sõnumi paketid korraga. Võrgusõlmed peavad saama kätte kõik sõnumi paketid, enne kui võivad midagi edasi saata, seega viivitus võib suurem olla.
    Paketi pikkus - Kiirema andmeedastuse tagamiseks on mõistlik andmeid tükeldada e teha pakette. Okei kujuta ette, et sa saadad filmi, aga ei tükelda seda pakettideks. Ruuter peaks ootama kuni terve see jama on ära laadinud, enne kui ta saab hakata järgmisesse kohta edasi saatma infot. Pakettidega saab saata esimese paketi teele ja samal ajal hakata järgmist edastama . Pm kujuta ette inimesteliini, kes annavad veeämbrit edasi. Pole vaja oodata, et see ämber jõuaks viimase inimeseni, pm võib jätta ainult 1-2 inimest vahet ja järgmise teele saata.
    Lisaks sellele, kui pakett on suur ja läheb kaduma, siis tuleb see uuesti saata + vigade esinemise tõenäosus on suurem - ehk viskame veel rohkem pakette ära.
    Liiga lühikese paketti puhul on kasulikke andmeid vähe (päis on ka, andmeid võiks olla rohkem kui päise pikkus).
    Paketi optimaalse pikkuse leidmine on fun shit . Liiga lühikese korral raiskad aega, liiga pika korral samuti (nt midagi läheb kaotsi, uuesti saatmine võtab ropult aega), arvestada tuleb ka üleminekuga ühelt seadmelt teisele.
    1. Pilt - Paketiedastus kahe otspunkti vahel, nt ruuterist-ruuterisse. Pakett läbib 3 kanalit. 99 ajaühikut kulub paketi edastuseks.
    2. Pilt - Teeme selle sama paketti lühemaks, tükeldame. 3*13=65 ajaühikut
    9. Multipleksimine sageduse, aja ja koodi järgi
    FDM e sagedusmultipleksimine - Mitmele sõltumatule signaalile ühises edastusmeedias eraldi sagedusriba eraldamine. Sagedusmux võtab vastu sisendsignaale individuaalsetelt lõppkasutajatelt ja genereerib kõigile oma sageduse. Tulemuseks on laia ribalaiusega liitsignaal, mis sisaldab kõigi lõppkasutajate andmeid. Kaabli teises otsas eraldatakse signaalid demux-iga ja marsruuditakse lõppkasutajale.
    TDM e aegmultipleksimine - Andmejadasid kombineeritakse nii, et eraldatakse igale andmejadale erinev ajaintervall. Selle puhul edastatakse fikseeritud ajaintervallide järjestust mitu korda üle üheainsa side kanali. Kui on arvuti kord “rääkida”, kellel pole enam midagi edastada, siis ta ongi enda ajavahemikus vait. Andmeid saab edastada vaid sellel kindlal ajaintervallil, nii on tagatud et ei hakata teineteisest “üle rääkima”.
    CDMA e koodijaotusega hulgipöördus - Kasutajal on kogu kanalile juurdepääs, igale signaalile määratakse kood ja sellega tehakse eri signaalidelt vahet. Signaal “venitatakse” üle ribalaiuse. Saatja kodeerib oma signaali sama mustriga, mida kasutab vastuvõtja dekodeerimiseks. Kasutab 64 ?laiust seega hästi turvaline infoedastusviis.
    https://www.reddit.com/r/askscience/comments/2gpmga/how_does_cdma_work/ - üli dope seletus
    10. Ajalised viited võrkudes
    Processing delay e Paketi töötlemise peale kuluv aeg - Vigade kontroll, aadressi otsimine, päise lugemine, ehk iga pakett võetakse vastu, päisest tuleb välja lugeda info kuhu see edasi saata ja see võtab aega.
    Queuing delay e järjekorra peale minev aeg - Pakett ootab, et see edasi saadetakse. Ooteaja pikkus sõltub varem saabunud pakettidest, mis samuti ootavad. Tavaliselt mikro kuni millisekundid. Igatahes, on vaja oodata, kuni protsessor vabaneb, et üldse paketti töödelda, määrav on ka võrgu koormus. Juhtub kui pakette tuleb kiiremini, kui kanal neid händelida jõuab. Kui “järjekorras” vaba ruumi pole läheb pakett kaotsi - ära visatud pakett = suurem võrgukoormus.
    Transmission delay e paketi võrku saatmiseks kuluv aeg - Sõltub kanali enda kiirusest. Kui pakett on X bitti pikk ja edastuskiirus Y bit/s, siis kulub aega X/Y sekundit.
    Propagation delay e andmete liikumise aeg - Signaali leviku aeg edastuskeskkonnast järgmise ruuterini. Kiirus sõltub edasutusmeediast. Kui L on kahe ruuteri vaheline kaugus ja M on edastuskiirus, siis viide on L/M (millisekundites). Ehk meediumi viide, aeg, mis kulub pakettidel sidekanalis liikumiseks.
    Seega üldine delay on summa neist neljast.
    11. Arvutivõrkude ja Interneti ajalugu
    Kirjutan teile ilusa inglise keelse teksti sest...okei kui ma mõtlen välja mis-mis on, siis tõlgin ära ka. Iga kümnendit peab oskama iseloomustada!
    1961-72
    The importance of computers began to rise in the 60s, so only now did people start to wonder how to connect several computers. Traffic was going to be bursty, meaning that there will be intervals of activity followed by a period of inactivity ie sending a message and then waiting for a response or contemplating the received response.
    Thus three groups of researchers, unaware of each others’ research, began inventing packet switching as an alternative to circuit switching. This pretty much laid down groundwork for nowadays Internet .
    In 67(I think?) the overall plan for ARPAnet was published, the first packet-switched computer network and the ancestor of today’s Internet. By 72 ARPAnet had grown from four to fifteen nodes and the first host -to-host protocol was completed. Since the latter was created, it was possible to begin developing applications.
    1972-80
    The initial ARPAnet was a solitary, closed network. To communicate with a host one had to be physically connected to another ARPAnet IMP. In the mid-seventies, other packet switching networks were created - ALOHAnet, DARPA, Telenet etc.
    The number of networks was growing , but they still weren’t connected. Internetting is the fancy-pansy term used to describe forming a network of networks. These principles were embodied in TCP (differs greatly from the one used nowadays). The early versions of TCP combined a reliable, sequenced data delivery (still part of TCP now) and forwarding functions (now performed by IP). IP was seperated when it was realised that passing data around while trying to find the real host was unreasonable. This was all researched by DARPA.
    Meanwhile ALOHAnet was being developed in Hawaii. It was a packet-based radio network that allowed multiple remote sites communicate with one another (islands and all that). ALOHA protocol was the first multiple-access protocol to allow users to share a single broadcast communication medium while being in random locations (radio freq). The research was later used while developing the Ethernet protocol. Ethernet protocol was supposed to connect multiple PCs, printers etc, meaning they were pretty much trying to develop LAN.
    1980-90
    The number of hosts connected to ARPAnet was around 200. The 80s was a period of rapid growth , much of that a direct result of several efforts to connect several universities . BITNET provided e-mail and file transfers between several universities while CSNET was formed to link uni researchers who had no access to ARPAnet.
    In 83 the official TCP/IP was deployed as the standard ARPAnet protocol, replacing NCP. DNS was also developed (a map between human-readable web adresses and IP adresses).
    In come the French who launched the Minitel project, a plan to bring data networking into everyone’s home. It consisted of a public packet-switched network, Minitel servers and inexpensive terminals with built-in modems (that were slow af). It proved to be tremendously successful, as the French government gave away a free Minitel terminal to each French household that desired one (people love free stuff).
    1990s
    Coming soon - the commercialisation of the Internet. ARPAnet ceased to exist. In 91 NSFNET lifted its restrictions and was made available for commercial purposes. It was decomissioned in 95 as Internet backbone traffic was handed over to ISPs.
    The main grand (actually important) event was the emergence of WWW application , which became the gateway to make the Internet accessible to nearly everyone (previously used by the military or universities to exchange research). It made it possible to deploy several application without which, us university students , would be long dead like search engines, online stores and social networks (what else do you need?).
    The Web was invented at CERN (that place is bae) - they developed an initial version of HTML, HTTP, a Web server and a browser (the most basic key components). Around the end of 93 there were about 200 Web servers in operation.
    By 95 university students were using Netscape to access the Web daily , companies began to operate on Web servers and moved commerce to the Web. In 96 Microsoft started to make browsers, initialising war between Netscape and Microsoft. The latter obviously won since you most likely haven’t heard of the former before.
    From that point on it was a grand influx of major corporations and startups creating Internet products, services . By the end of the 90s, the Internet supported a shitton of applications, but the four most prominent ones worth mentioning are: e-mail (including attachments), the Web (browsing, commerce), IM (with contact lists), P2P file sharing of MP3s.
    2000s
    Pretty much everything is in rapid development - transmission speed , deployments, faster routing etc.
    Agressive deployment of Internet access to homes, not just cable modems, but also fibre. Since high-speed Internet access is so widespread, it has created a stage and demand of video applications, streaming and video confrences (Youtube, Netflix, Skype).
    As high-speed public Wi-Fi, 3G and 4G is practically ubiquitous it makes it possible to remain connected constantly, but also allows location-based applications. Online social networks - most people practically live there.
    Online service providers like Google and Microsoft have deployed their own networks, which do primarily two things: firstly they connect their own global data centers to one ridiculous amount of information, but secondly they also use it to bypass the Internet.
    Cloud computing becoming common and widespread, most companies and universities have migrated their Internet applications to the cloud.
    12. Mida erinevad rakendused nõuavad võrkudelt
    Kui kaks rakendust asuvad samas arvutis: kasutavad suhtluseks ICP-d (operatsioonisüsteemi poolt defineeritud). See lubab kahel rakendusel vahetada omavahel andmeid. Rakendused klassifitseeritakse kliendiks ja serveriks, üks roll ei välista teist.
    Kui asuvad eri arvutites, siis on vaja rakenduskihi protokolle. Rakendused nõuavad kahetasemelist adresseerimist: esiteks tuleb leida IP-aadress ja seejärel pordi nr (ehk kus asub rakendus, SAP). Rakenduskihid kasutavad transpordikihi TCP (töökindel, ühendatud) ja UDP protokolle.
    Rakenduskihi protokollid defineerivad: mis tüüpi sõnumeid vahetatakse (request, response), sõnumi süntaksi (mis väljad sõnumis on), semantika (väljades oleva info tähendus), reeglistik kuidas ja millal rakendused saadavad ja vastavad sõnumitele.
    Rakenduste arhitektuurid
    Klient - Server : Server on alati host rollis, püsiva IP aadressiga . Kliendid suhtlevad serveriga, nad võivad olla kuidagi kaudselt omavahel ühendatud ja muutuvate IP aadressidega, aga kaks klienti otse omavahel ei suhtle . On olemas ka nimeteenus - kõigepealt käime läbi nimeteenuse, saame vastava IP aadressi ja siis pääseme serverisse.
    Iteratiivne server: Üks ühendus korraga (UDP), server istub mingi pordi taga
    Concurrent server: Rohkem kui üks klient korraga. Pm kui mingi klient võtab serveriga ühendust, siis server teeb iseendast nö koopia ning laseb kliendil sellega suhelda ja kuulab samal ajal edasi, kas keegi teine üritab veel ühendust saada või ei. (TCP). Reinu seletus - Server on oma pordi küljes, kui oleme ühenduse loonud, siis vabastab server oma pordi tesie kliendi jaoks. Luuakse püsikontakt serveriga.
    P2P: Arvutisüsteemid, mis on omavahel ühenduses interneti kaudu ehk failide edastamiseks ei ole vaja suhelda serveriga. Pm need kaks arvutit funktsioneerivad kui teineteise serverid . Ehk...piraatlus põhimõtteliselt. Mõlemal poolel on piiratud ligipääs, tavaliselt teistel kasutajatel on ligipääs ainult ühele kaustale, mis “serveri pool” ise ära defineerib.
    Eelmise kahe armulaps/hübriid/chimera/sodomy tulemus/P2PWeb: Kasutab P2P suhtlust, et jagada ligipääsu netilehekülgedele. Pm on võimalik kanda web cache ’id üle (content delivery networks) ja kui on kiirem aeg, siis saab kasutajatele saata veebilehed . Suht kasutu kui on tegemist dünaamilise lehega , mis eeldab, et kasutaja on pidevalt ühendatud, aga hea viis kuidas ülekoormust vältida, kui soovitakse lehte mis ei muutu eriti aja jooksul.
    Rakenduse jaoks võrku iseloomustavad parameetrid:
    Andmete kadu - Sõltuvalt rakendusest võib andmete kadu isegi suht okei olla. Otseülekande puhul on no-no, failide edastamise korral on suht suva, saab alati vigase paketti uuesti saata.
    Ajalised viited - Jällegi, kui tegemist on faili/e-kirja jms üle kandmisega, siis sa ei sure ära kui midagi on vaja uuesti saata. Meanwhile kõik reaalajas andmeedastused, kus see omab ka tähtsust, et kõik ühe korraga ja ASAP üle tuleks, siis sellel on tähtsust ka (nt online mängud).
    Edastuskiirus - Osad rakendused vajavad mingit minimaalset edastuskiirust, et olla efektiivsed.
    Turvalisus - Krüpteerimine, data integrity
    Vastavalt vajadusele kasutatakse kas TCP või UDP protokolli. TCP on veakindel, paketid pannakse alati õigesse järjekorda (ajakulu). UDP-s ei ole veakontrolli, paketid tulevad suvalises järjekorras kohale ja pole ka garantiid , et kõik kohale jõuab.
    13. HTTP
    HyperText Transfer Protocol - veebi rakenduskihi protokoll, kasutatakse kliendi ja serveri programmides ehk klient ja server suhtlevad omavahel saates HTTP sõnumeid. HTTP, since ta on protokoll siiski, defineerib jällegi sõnumite struktuuri ja kuidas sõnumivahetus toimub. HTTP kasutab TCP protokolli. Ei kontrolli seda kuidas kliendi browser HTMList aru saab ja mida reaalselt näidatakse.
    Defineerib kuidas browserid küsivad veebilehti veebi serveritelt ja kuidas server need kliendile edastab. Pm kui klient klikib mingile URLile, siis saadetakse serverisse HTTP request, server seejärel fetchib kõik objektid ja saadab need HTTP response sõnumiga tagasi (veebilehed koosnevad objektidest , nt HTML leht 5 pildiga, sisukas eks, on kokku 6 objekti). URL koosneb host name + path name ww. something .com/mingikaust/pilt.jpg
    HTTP ei jäta meelde (olekut mittesäilitav), mis juba tehtud on. Kui klient küsib serverilt mõne sekundilise vahega sama veebilehte, siis server ei vasta et “Hei, sa just said selle ju?” vaid kaevab uuesti sama lehe välja ja saadab kliendile. Seega kui X on saadetud ei saa ka öelda “Saada X+1”
    HTTP (mittepüsiv ühendus)
    Okei kuidas see veebilehe küsimine käib - HTTP klient alustab serveriga TCP ühendust (handshaking), klient saadab serverile request sõnumi kus on ka path name mis lehte ta otsib, HTTP server otsib küsitud objekti üles ja koostab HTTP response sõnumi, server ütleb TCP’le, et sulge ühendus. TCP teeb sellele seen at ja ei lõpeta ühendust, enne kui on kindel, et klient sai andmed kätte. HTTP klient saab vastuse kätte, TCP lõpetab ühenduse. Klient kraabib HTTP sõnumist HTML faili välja ja leiab viited piltidele. Eelnevalt mainitud stuffi korratakse kõigi piltide jaoks ka.
    Iga kord sulgetakse TCP ühendus, ehk korraga edastatakse ainult üks request-response sõnum ja kõik objektid saadetakse ükshaaval. Aga kuna me ei ela enam dark age’is, siis enamik browsereid teevad tänapäeval korraga 5-10 TCP ühendust, millest igaüks händelib ühte response-request transaktsiooni.
    Püsiv HTTP
    So...tavaline mittepüsiv HTTP on arusaadavatel põhjustel natuke dodgy. Iga objekti jaoks on vaja uut requesti ja enamasti veebilehel on kõvasti rohkem infi kui mõned pildid ja mõnikümmend rida html koodi. See kõik oleks fine and dandy, kui veebiserver ei peaks tegelema sadade kuni tuhandete eri klientidega korraga, round trip time veniks väga pikaks (TCP ühenduse loomise RTT ja objekti saatmise RTT).
    Püsiva ühenduse puhul jäetakse TCP ühendus avatuks, klient ja server saavad üle selle sama TCP ühenduse suhelda ehk html + kõik need pildid saab ühe ühenduse kaudu saata. Mis veel on tore, et kui klient küsib serverilt mingit muud lehte ja see on seal juhuslikult olemas, siis saab ikka sedasama TCP ühendust kasutada. EHK RTT on palju lühem (ainult üks handshaking nt). Ühenduse loomise RTT + iga objekti saatmise RTT
    Mittepüsivat ühendust on lihtsam teha. Luuakse sama palju paralleelühendusi kui on objekte vaja üle tuua, ehk töö tehakse paralleelseks.
    HTTP sõnumeid on kaht tüüpi - Response ja Request.
    Request sõnum koosneb - request reast (GET, POST, HEAD käsud nt GET /somedir/leht.html), headerid (host, user -agent, connection , keel), tühi rida mis väljendab sõnumi lõppu (?)
    POST vs GET - Post saadab serverisse nt jsoni või ajaxiga kasutaja andmed (ei ole ns näha mis saadet), GET paneb andmed URL-i (www.blah.com/?user=hallabanana). Get on väga retarded kui saadad nt sisselogimisandmeid + GET’il on piirang kui palju andmeid saad saata.
    HEAD - Palub serveril jätta küsitud objekti response sõnumist välja e kui sa for some reason tahad ainult HTTP response sõnumit näha
    PUT - Saame faile üles laadida , URLis on path kirjas kuhu see fail panna
    DELETE - Saame kustutada faili, asukoht on URLis kirjas.
    Response SÕNUM MMM SPARTA koosneb - status rida (kohe räägin neist), headerid (kuupäev, server, viimati muudetud, sisu pikkus, content-Type nt text/html), andmed mida requestiti
    Kliendi autentimine - Kuna HTTP on olekuvaba, siis läheb iga päringuga parool kaasa koos kasutajanimega. Kui serverile sobib, siis saame ligipääsu.
    HTTP response status koodid
    200 - OK, request õnnestus, objektid sõnumis allpool
    301 - Objekti hoitakse püsivalt mujal, uus aadress allpool
    400 - Bad request, server ei saa request sõnumist aru
    404 - :D seda teate ikka, e nõutud dokumenti ei ole serveris
    505 - HTTP version not supported
    Küpsised (suhkruvabad, Diablo omad)
    Veebilehtede viis info salvestamiseks (muudab serveri põhimõtet, et oleks olekuvaba), mida järgnevatel päringutel võib vaja minna. HTTP response ja request on cookie header täitsa olemas. Cookie fail hoitakse kliendi juures, browser manageerib sellega ise. Pm funktsioneerib ID’dega, mis on serveri poolt genereeritud ja salvestatud. Uue päringu alustades esitab klient serverile enda ID, serveril on Cookie enda andmebaasis olemas.
    Kui uuesti läheme sinna lehele, siis server juba selle ID vm identifikaatori järgi tunneb ära kasutaja. Kõik külastatud leheküljed jäävad vahemällu, et hiljem vaadates saaks neid arvuti enda mälust korjata - vähendab ajakulu. Tänage neid küpsiseid - nüüd on teil olemas online shopping cart. Cookie jätab jälje selle kohta, kus oled käinud. Enda arvutist saab selle eemaldada kui cookie ära kustutad .
    Cookied on nõrk autoriseerimine - pole sama hea kui parool ja see pole kaitstud, nende eesmärk on pigem töökorraldus (eelnevalt mainitud nt ostukärud ei kao ära).
    Mitte HTTP’ga seotud, aga vb hea teada - Web caches
    E proxy server. Pole vaja minna alati originaalserverile. Kõigepealt vaadatakse enda vahemälust, kas seda lehte on külastatud. Kui vahemälus pole pöördud proxy serveri poolde ja kui seal ka pole, alles siis päärdud originaalserveri poole. Eesmärk on vähendada võrgukoormust. Tavaliselt cache on teenusepakkuja (ISP) juures.
    Kui vahemälu saab täis, siis mingi reeglistiku järgi kustutatakse andmeid nt lehed mida pole ammu külastatud, lehed millel on kõige vähem külastajaid jne.
    Conditional GET Kui seda lehte on muudetud X ajal, siis saada või ära saada. EHK Eesmärk on mitte saata objekti, kui cache versioon on up-to- date . Selle jaoks paned HTTP requesti if-modified-since: somedate. Kui pole muudetud somedate’st, siis server saadab tagasi vastuse, et lehte pole muufetud e cached veebilehte ei ole vaja uuesti saata.
    14. FTP
    Failiedastusprotokoll (FTP - File Transfer Prototcol) on standardne arvutivõrgu protokoll, mida kasutatakse failide vahetamiseks ja muutmiseks TCP/IP-põhises võrgus, mõeldud failide transportimiseks serveri ja kliendi vahel. FTP-d saab kasutada paroolautentimisega või anonüümse kasutajaga. FTP määratleti 1985. Aastal. Alguses töötasind kõik FTP-rakendused käsureal, kuid siis loodi kõigile op süsteemidele FTP graafiline kasutajaliides .
    • Failiülekanne kaughostist kohalikku hosti või vastupidi.
    • Kliendi/serveri mudel:
      • Klient: see, kes algatab ülekannet (kas kaughostist või kaughosti)
      • Server: kaughost
    • FTP: RFC 959
    • FTP server: port 21

    Tavalisi FTP-ühendusi ei peeta tänapäeval turvaliseks, sest kogu info (ka paroolid) liiguvad võrgus krüpteerimata kujul. Turvalisuse huvides on soocitatav kasutada FTPS (FTP over Implicit TLS/SSL) või FTPES (FTP over Explicit TLS/SSL) laiendatud protokolle.
    Tüüpiline scenario näeb välja nii, et meil on kasutaja, kes tahab local hostist kuhugi kaug hosti oma faile laadida. Selleks, et oma kaugkontole ligi pääseda, peab kasutaja end autentima. Pärast seda saab kasutaja hakata laadima faile kaughosti ja vastupidi.
    Kasutaja (kes suhtleb läbi FTP UI) edastab kõigepealt kaughosti nime, FTP klient loob TCP ühenduse FTP serveriga. Seejärel edastab kasutaja oma nime ja passi, mis edastatakse üle TCP ühenduse. Kui autentimisega on kõik OK, saab kasutaja hakata faile üles/alla laadima.
    Seega, suht HTTP sarnane (mõlemad jooksevad TCP peal), aga suurim erinevus on, et FTP avab kaks TCP ühendust paraleelselt, et faile edastada: control connection ja data connection. Control connection on isikliku info saatmiseks nt paroolid, identifikaatorid, kaughosti muutmise käsud, failide “Put” ja “Get” käsud edastatakse ka selle ühenduse kaudu.
    Data connection on selleks, et fail päriselt ka saata.
    Because FTP uses a seperate control connection, FTP is said to send its control information out-of- band (Kuidas tõlkida seda???). HTTP ja SMTP samas on in-band.
    Terve ühenduse jooksul peab FTP server “meeles hoidma” kasutajat ( maintain state). Kui täpsem olla, siis server peab konkreetset kontrollühendust oskama siduda konkreetse kasutaja kontoga ja jälgima mida ta teeb. Kuna FTP server peab nii palju infot meeles pidama, siis see piirab sessioonide arvu, mida server suudab korraga pidada. Samas HTTP on olekuta ja ei pea jälgima kasutajat.
    Käsud saadetakse 7-bit ASCII formaadis , seega nii nagu HTTP käsud, on ka FTP käsud meile loetavad. Iga käsk koosneb neljast ASCII tähest, mõnel võivad veel mingid argumendid juures olla.
    Tüüpilised käsud:
    USER username:
    PASS password:
    LIST: Küsid kõikide failide nimistut
    RETR filename: Küsid konkreetset faili
    STOR filename: Failide üleslaadimise käsk
    Tavaliselt saab igale FTP käsule vastuse. Server vastab kolmekohalise numbriga, iga numbriga võib olla seotud veel mingi sõnum (kinda nagu HTTP status koodid)
    Nt 331 Username OK, password required
    125 Data connection already open ; transfer starting
    452 Error writing file
    15. Elektronpost, SMTP ja MIME
    Nagu tavaline post on ka elektronpost asünkroone kommunikatsiooniviis - inimesed saadavad ja loevad kirju, siis kui see neile mugav on (Khm Tammet võiks oma meili lugeda). E-kirjad on odavad, neid on lihtsam laiali saata ja sinna saab pikkida igast jama külge nagu pildid, videod, lingid, HTML-formattitud teksti (kuigi sa võid käsitsi tavakirja ka HTML lehena kirjutada).
    Meilisüsteem koosneb kolmest põhi osast: kasutajaliidesed (?user agents), meili serverid ja SMTP (Simple mail transfer protocol).
    Kasutajaliidesed - lasevad meil lugeda, vastata, edasi saata, salvestada ja koostada sõnumeid nt Microsoft Outlook, Apple Mail. Kui Alice on kasutajaliideses oma kirja ilusti valmis kirjutanud, saadab kasutajaliides tema kirja meiliserverisse.
    Meiliserverid - kus on edastamiseks mõeldud kirjad. Kui Alice vajutab ‘Saada’, siis kiri edastatakse tema väljaminevate sõnumite järjekorda. Kui Bob tahab seda sõnumit lugeda, siis tema mailbox korjab Bobi meiliserveri inobxist selle. Igal vastuvõtjal on meiliserveris ka mailbox. Mailbox vastutab ja säilitab talle saadetud sõnumid.
    Seega üldine teekond on:
    Saatja kasutajaliides - Saatja meiliserver - Saaja meiliserver - Saaja mailbox.
    Kui Bob tahab oma mailboxi kirjadele ligi pääseda, siis tema meili server teeb kõigepealt Bobi autentimise (kasutajanime ja parooliga).
    Alice server peab ka tegelema Bobi serveri fuckupidega. Nt - Kui ei õnnestu kirja edastada, siis Alice server hoiab sõnumit järjekorras ja proovib uuesti. Uued katsed toimuvad nt iga 30 minuti tagant ja kui mingi ajaühiku järel (paar päeva) ei ole õnnestunud kiri edastada, siis meiliserver kustutab selle ja annab Alice’le teada e- maili teel, et kiri ei läinud kohale.
    SMTP
    On rakenduskihi protokoll. Kasutab TCP ühendust kirjade edastamiseks serverite vahel. Nagu enamike rakenduskihi protokollidega. On ka SMTP’l kliendi ja serveri pool. Igal meiliserveril jookseb nii kliendi kui serveri SMTP, sest täidetakse mõlemat rolli.
    Palju vanem kui HTTP ja ajale jalgu jäänud, nt: piirab et mitte ainult päis vaid ka body on 7-bit ASCII koodidega väljendatud. See oli 1980ndatel okei, aga tänapäeval edastatakse multimeedia faile + need on ka suurema mahuga ehk binaarsed andmed tuleb tõlkida ASCIIsse ja pärast vastuvõtja peab need ka dekodeerima.
    PS. SMTP ei kasuta vaheservereid meilide saatmiseks, vahet pole kui kaugel Alice ja Bob teineteisest on. TCP ühendus on otse saatja ja saaja serverite vahel. Kui nt Bobi server on maas , siis sõnum püsib Alice meiliserveris (3 on järjekord ) ja ootab kuni saab uuesti proovida, kirja ei saadeta kuhugi vaheserverisse ootama.
    Kuidas lege andmeedastus toimub:
    Luuakse TCP ühendus (kui Bob on koomas, siis Alice ootab kuni saab ikkagi luua selle) ja tehakse rakenduskihi tasemel handshakeimist (SMTP kliendid ja serverid tutvustavad iseennast enne kui andmeid edastavad). Selle teretamise ajal ütleb SMTP klient saatja e-maili ja saaja e-maili. Kui see viisakusejama on tehtud, siis saadab klient sõnumi.
    Kuna kasutame TCP ühendust, siis on kindel, et kõik andmed jõuavad ka kohale. Kui meil on juhuslikult sellele serverile veel midagi saata, siis hoitakse TCP ühendust lahti seni, kuni oleme kõik edastanud. S - server (hostname hamburger.edu), C - klient (hostname crepes.fr), pärast koolonit olev jama on see mis TCP kaudu edastatakse.
    Kui midagi algusest meelde jäi, siis 4 tähelised asjad on ASCII formaadis käsud ja need numbrid on status sõnumid. Selle üksiku punkti saatmine ütleb serverile siin, et nüüd on meie e-kiri lõpule jõudnud ja rohkem ei tule midagi.
    MIME
    Ehk Multipurpose Internet Mail Extensions - Interneti standard, mis laiendab emailide formaati. Jällegi kui veidi mälurakke venitate, ss meenub, et emailid said olla ainult ASCII formaadis, mis oli piltide jms multimeedia edastuse puhul jama, sest peab binaarse info tõlkima ASCII formaati ja saaja poolel vastupidi.
    Pm kõik meilid edastatakse MIME formaadis SMTP kaudu. Kuigi see disainiti SMTP jaoks, siis seda kasutatakse ka HTTP ja WWWs.
    MIME lubab saata texti, mis ei ole ASCII character setis, lisasid mis pole tekst (heli, video, pildid jne), päise infot mis sisaldaab ka mitte-ASCII tähti + kiri võib olla mitmeosaline.
    16. DNS
    Inimesed kasutavad veebilehtede “verbaalset” nime, ehk midagi, mida suudame ise ka meelde jätta. Ruuterid jne kasutavad IP aadressi (32 bit aadress), et datagramme saata-vastuvõtta. DNS on seega kogum IP aadressidest ja neile vastavatest domeeninimedest. Kõik nimed ei ole ühes serveris, aga on mitu DNSi. Domeeninimedest ei saa esiteks ruuterid suht midagi aru ja teiseks ei ütle domeeninimi eriti midagi asukoha kohta. Okei kui seal on .jp lõpus, siis teame et server asub ilmselt Jaapanis, aga see ei ole ka piisavalt täpne.
    IP on 4 bitine ja hierarhiline . Iga biti väärtus 0-255. Hierarhiline, sest iga bit annab meile aina detailsemat informatsiooni
    DNS on - jaotatud andmebaaside võrgustik, hierarhiline ja rakenduskihi protokoll, mis lubab hostil teha päringuid nendesse andmebaasidesse. Seda kasutavad teised rakenduskihi protokollid nt HTTP, SMTP, FTP.
    Que halb tõlge, aga igatahes oletame, et teeme HTTP requesti royalpug.edu/smth.html jaoks. Et oleks võimalik HTTP requesti üldse saata on meil vaja leida royalpug.edu IP aadress:
    1. Meie arvuti käivitab DNS rakenduse kliendi poole.
    2. Browser võtab host nime (royalpug.edu) URList ja annab selle DNS rakendusele.
    3. DNS klient saadab host nimega päringu DNS serverisse.
    4. DNS klient saab mingi hetk vastuse, milles sisaldub host nime IP aadress.
    5. Kui browser saab IP aadressi kätte saab ta alustada TCP ühendust.
    Sealt tuleb üks võimalik ajaline viivitus juurde, mida me kas ei märka üldse või märkame väga. Enamasti on soovitud IP aadress mõne lähedal asuva DNSi vahemälus olemas, mis esiteks vähendab DNSide koormust ja võrgukasutust.
    DNS teeb veel mõnda lahedat asja:
    Host aliasing - ehk kui on mõni host, kellel on suht keeruline nimi, siis tal võib olla nt veel 2 nime. See pikka ja keeruline nimi on siis kanooniline host nimi. Aliased on tavaliselt lühemad/lihtsamad.
    Meiliserveri aliasing - kasutajad tahavad lihtsaid emaile. Kui Bobil on hotmail konto siis ta email meie jaoks on nt [email protected], aga meiliserveri jaoks on see nimi palju keerulisem (nt tegelt võib seal olla veel Bobi piirkond kirjas a la relay.east-europe.hotmail.com). DNSi saab kasutada, et leida see keerulisem email üles.
    Koormuse jaotamine (?) - Load distribution, Kopeeritud veebiserverite vaheline liikluse jaotamine. Suuremad saidid nagu cnn, facebook jne omavad mitut serverit, mis kõik jooksevad omaette süsteemina ja neil kõigil on oma IP aadress. Kui klient teeb DNS päringu nt cnn.com jaoks, siis DNS tagastab talle kõigi nende serverite IP aadressid, aga vahetab iga vastuse puhul nende järjekorda, sest tavaliselt HTTP request läheb sinna IP aadressile , mis on kõige esimene.
    Miks on üldse mitu DNSi, mitte üks eriti suur server:
    1. Kui sellega läheb midagi ****, siis põhimõtteliselt internet kukub kokku
    2. Liiga suur koormus
    3. Kaugus - üks andmebaas ei saa olla kõigile lähedal, massive delayd kui keegi kauge host peab läbi umbes liini oma päringut ootama
    4. Ülalpidamine - peaks omama nimistut kõikidest hostidest, liiga palju infot + pidev uuendamine
    Name space, ehk nimede väli võib olla ühetasemeline (flat) või hierarhiline. Ühelgi DNSil pole kogu internet ära kaardistatud.
    Ühetasemeline - unikaalsust on raske saada, kui domeeninimi on juba kasutusel, siis tuleb uus teha, tehakse palju päringuid.
    Hierarhiline - Nimi peab olema unikaalne ainult teatud piirkonnas, mitte üle kogu maa. Nt ttu.edu.ee oleks hierarhiline domeeni nimi, punktid vahel.
    Serverite hierarhia on laias laastus:
    root - Neid on ca 247 tk üle maailma? Nüüdseks ilms rohkem
    TLD - vastutavad domeenide nagu com, org, net jne eest
    Authorative - Iga organisatsioon , millel on avalikusele mõeldud veebiserverid ja/või meiliserverid peab omama avalikke DNSi.
    FQDN (Täisnimi) -
    PQDN (Osaline nimi) - Suffiks pannakse juurde, et tagada nimede unikaalsus.
    DNS pakub teenust, et saame nimele vastava IP aadressi või vastupidi. DNS on hajutatud üle maailma.
    Nt Root DNS Serverid jagunevad kolmeks - com DNS serverid, org DNS serverid ja edu DNS serverid (TLD). Need jagunevad veel omaette DNS-ideks (Authorative). Igal teenusepakkujal nt amazon , yahoo on oma nimeserver. Pm kui sa tahad näiteks amazon.com IP aadressi saada, siis klient kõigepealt küsib root serverilt com DNS serveri asukohta , kontakteerub TLD serveriga mis annab authorative serveri IP aadressi ja lõpuks saab amazon.com serveri käest küsida domeeni IPd.
    Domeen ehk see veebisait ise on DNSi mingi alampuu (# graafi teooria)
    NS’ide hierarhia - Root server jaguneb nt arpa ja edu serveriks. Edu server jaguneb blabla.edu, puglife.edu jne
    Com - commercial organisations
    Edu - Educational institutions
    Org - nonprofit organisations
    Lisaks on veel domeenid riikide järgi, ehk kas lõppu tuleb .jp, .ee, .fi jne. Üle maailma on mitu suuremat DNSi, kui meie piirkonna oma ei leia mingit päringut, siis ta küsib endast kõrgemal asuva NSi käest ja tagastab sealt saadud vastuse.
    TLD ja Authorative Serverid
    Top-level domain - vastutab com, net, edu ja kõigi riikide ee, fi, fr jne domeenide eest.
    Authorative - Ah..tra mdea ma googeldan
    Local NS
    Ei kuulu otseselt ühegi hierarhia alla, iga ISP’l (firma, ülikool) on üks. Kui host teeb DNS päringu, siis see edastatace LNS’i, mis käitub nagu proxy/vahemälu ja vajadusel edastab päringu. Päringu vastus salvestatakse host arvutisse ja ka proxisse + lisatakse TTL. LNS asub enamasti lähedal, ülikooli vms puhul asub ilmselt samas võrgus, LANi puhul asub a la mõne ruuteri kaugusel.
    Iteratiivne nime päring - ehk pöördun DNSi, kui tema ei tea, siis suunab mu edasi kuhugi mujale.
    Rekursiivne nime päring - Minu päring hakkab üle maailma ringi jooksma, vastus tuleb mööda sama teed tagasi. Tülikas lahendus.
    Kui mingi NS kaardistab midagi ära, siis ta salvestab selle vahemälusse. Iga mingi aja tagant vahemälu tühjendatakse. TLD serverid on tavaliselt LNSide vahemäludes, tänu sellele ei käida eriti palju root NS’ ides . See teeb ka päringute aja lühemaks, iga kord kui facebooki lähed (või ükskõik kes selles samas võrgus) siis ei ole vaja kuskilt kaugelt hakata seda IP-d otsima vaid see on LNSis juba olemas.
    DNS RR ehk resource records - koosneb hostname-to-IP aadressist ja mappingust. Iga DNS vastus edastab ühe neist RRidest. Koosneb (name, value , type, ttl)
    Type A - nimi on hostname ja value on IP - Kasutatakse kui see DNS on mingi hostname jaoks authorative DNS (isegi kui pole, siis tal võib see päring ikkagi vahemälus olla)
    Type NS - nimi on domeen, value on authorative DNSi host-nimi kelle käest IPd küsida (kui antud NS ei ole authorative, ta sisaldab sel juhul ka Type A sõnumit(? record ) mis pannakse NS tüübi Value väärtuses)
    Type CNAME - nimi on alias host nime kanooniline nimi. e (royalpug.com, relay1.caliphate.royalpug.com, CNAME)
    Type MX - Value on meiliserveri kanooniline nimi, millel on alias host nimi Name.
    17. Töökindel andmeedastus
    Ehk..TCP? Aga selle kohta on all mitu küsimust ju? Või ta mõtleb p2p andmeedastust?
    3.4 Principles of Reliable Data Transfer
    Lk 28 Merikese 230 lk konspektist
    Eksamil vaja teada - millised on töökindla andmevahetuse tagamisega seotud probleemid ja kuidas neid lahendada
    18. Go- back -n:
    PIPELINED PROTOCOLS:
    • Pipelining: Sender allows multiple, “in- flight ”, yet-to-be-ack-d packets
      • Range of sequence numbers must be increased
      • Buffering at sender and/or receiver
    • Pipelined protocols:

    • Go-Back-N
      • Sender can have up to N unacked packets in pipeline
      • Receiver only sends
      • Sender has timer for oldest unacked packet
        • When timer expires, retransmit all unacked packets
    • Go-Back-N: Sender

      • K-bit # in packet header
      • Window ” if up to N, consecutive unacked packets allowed
      • ACK(n): ACKs all packets up to, including seq # n - “cumulative ACK”
        • May receive duplicate ACKs
      • Timer for oldest in-flight packet
      • timeout(n): retransmit packet n and all higher seq # pkts in window

    PS. Seda läheb eksamil vaja! Miks akna suurus peab olema väiksem kui pakettide järjekorranumbrid.
    ***Vastuvõtja liigutab enda akent autom . Edasi, kui saab õige paketi kätte
    Go-Back-N ehk saatja võib saata mitu paketti ja ei pea ACK sõnumeid ära ootama, aga on aknaga piiratud ehk mitu ackimata paketti tohib olla saatmises.
    Saatja saadab järjest pakette, kui #0 on ära saadetud hakkab kohe #1 saatma. Vastuvõtja võtab #0 vastu, saadab ACK0 ära ja samal ajal võtab juba #1 vastu jne. Kuni asi hakkab uuesti 0 lugema.
    Saadad ACK viimase terviklikult kättesaadud paketti numbriga, saadad nii kaua kuni saad õige järjekorra# paketi.
    19. Selective-repeat(teine pipelined protokoll)
    • Receiver individually acks all correctly received pkts
      • Buffers pkts, as needed, for eventual in-order delivery to upper layer
    • Sender only resends pkts for which ACK is not received
      • Sender timer for each unACKed pkt
    • Sender window
      • N consecutive seq #’s
      • Limits seq #s of send, unACKed pkts
    Erinevalt GBN ei ole vaja saata kõike uuesti, vaid ainult need pakettid mille puhul vastuvõtja arvab , et võivad olla vead sees. Oletame, et meil jääb keskelt 1-2 paketti puudu. Vastuvõtja hoiab juba olemasolevaid pakette puhvris ja ootab ära kuni ta saab madalama järjekorra numbriga puuduolevad pakettid kätte ja alles siis edastab need ülemisele kihile. Igal paketil on oma enda timer.
    20. TCP ühenduse loomine ja sulgemine
    • FTP klient loob ühenduse FTP serveriga üle TCP-pordi 21
    • Klient autoriseeritakse kontrollühenduse teel
    • Klient sirvib kaugfailisüsteemi (remote) kataloogi (directory :D) ja ta saadab käske kontrollühenduse teel
    • Kui server saab käsu failiedastuseks, luuakse TCP-port 20 kaudu teine ühendus, mida kasutataksegi failide edastamiseks
    • Pärast ühe faili ülekannet sulgeb server andmeühenduse (TCP-port 20) ja avab selle uuesti, et järgmist faili saata.
    • Kontrollühendus: out of band
    • FTP server peab sessiooni ajal säilitama kasutaja oleku. Täpsemalt, server peab seostama kontrollühenduse konkreetse kasutaja kontoga ja server peab jälgima kasutaja hetke directory tree’d. Selle info (kasutaja oleku) jälgimine iga sessioonis kasutaja kohta tunduvalt tõkestab sessioonis olevate kasutajate koguarvu, mida FTP suudab samaaegselt säilitada. (seepärast on HTTP parem, ei pea jälgima kasutaja olekut)

    Out-of-band - on võrgu protokolli omadus, millega teostatakse andmekontrolli. Out-of-band kontroll suunab kontrollinfo põhiandmetest eraldi ühenduse peale. Näiteks FTP kasutab seda kontrolli, sest FTP saadab oma kontrollinfo (sisaldab kasutaja tunnust, salasõna, put/get käske) ühe ühendusena ja saadab faile teise paralleelse ühendusega.
    Throughout a session, the FTP server must maintain state about the user. In particular, the server must associate the control connection with a specific user account , and the server must keep track of the user's current directory as the user wanders about the remote directory tree. Keeping track of this state information for each ongoing user session significantly impedes the total number of sessions that FTP can maintain simultaneously. HTTP, on the other hand , is stateless -- it does not have to keep track of any user state.
    TCP ühenduse loomine algab käesurumisega ehk saatja ja vastuvõtja peavad tegema veidi eeltööd enne kui algab päris andmeedastus (nt edastama parameetreid). (Kudos to Intsu) Ei ole otseselt ühendus, kuna saatja ja vastuvõtja arvutis jookseb TCP protokoll omaette ja teised kihid ei tea mädagi sellest. Ruuterid näevad ainult datagramme, mitte ühendusi.
    TCP ühendus on täis-duplex ehk andmed võivad liikuda mõlemat pidi ja samal ajal, ühe kasutaja andmeedastus ei pane kogu kanalit kinni. Aga ta on alati kahe “otspunkti” vahel ehk ühe saatja ja ühe vastuvõtja vahel. Multicasting ei ole TCP’ga võimalik.
    Okei - ühenduse enda loomine. Oletame et kliendi protsess tahab alustada ühendust serveri protsessiga. Kliendi app annab kõige pealt enda transpordi kihile teada, et tahab serveri protsessiga ühendust saada. Selleks on vaja serveri nime ja porti .
    Muidu Syn ja Ack saadetakse eraldi, aga kuna see on waste of space, siis enamasti need kaks ühendatakse ja saadetakse kliendile korraga.
    1. Saada päring ühenduse loomiseks
    2. Server saadab vastuseks paketi connection granted ja algab ühendus
    3. Kliendi kinnitus ja klient võib sinna juba panna andmed.
    Ühenduse sulgemine
    Tavaliselt juhul lõpetavad mõlemad pooled ühenduse saates välja FIN sõnumi. See on pm request teisele poolele ühendus lõpetada. Ühendus pole enne lõpetatud kui mõlemad pooled pole saatnud välja FIN sõnumit ja saanud vastu ACK sõnumit.
    Ehk ühenduse sulgemine ei ole kolme sammuga? What... FIN sõnumi vastuvõtja peab enne rakendusele teada andma, et selline sõnum on ja siis ootama rakenduselt vastust et kõik on ok ja võib ühenduse lõpetada.
    21. TCP töökindel andmeedastus
    Segmendid võivad tulla suvalises järjekorras kohale, aga kõik on nummerdatud. TCP nummedab baite.
    Millal uuesti saadetakse?
    • Segment sai transpordi käigus viga
    • Segment ei jõua üldse kohale
    • Saatja ei tea, et midagi valesti läks
    • Igale paketile ei pea kviitungeid saatma, puhvrisse jäävad augud sisse
    • Kui tuleb timeout ACKe oodates, siis saadetakse uuesti

    Baitide nummerdamise loogika - Andmete saatmisel on esimese baidi nr (sequence)
    Kviitungil on nr, mida me järgmisena ootame (ACK)
    Ehitab IP mitte eriti töökindla protokolli peale töökindla andmevahetuse, kasutab kumulatiivseid kviitungeid. Kordussaatmise käivitab timeout/duplikaat ACK.
    Saatja poolt vaadatuna - Loo segment seq #, saada ära ja pane taimer käima. Kui tuleb timeout saada segment uuesti ja pane taimer uuesti käima. Kui saad ACK kätte nt mingi varasemalt unACK segmendi kohta - uuenda mis on ACK ja mis NACK .
    Saadetakse uuesti kui - ACK läheb kaduma või Timeout on liiga lühikeseks määratud. Kui tuleb 3 ühesugust kviitungit, siis saadetakse kohe uuesti see pakett, mis on kõige varem saadetud, isegi kui pole veel timeout.
    22. TCP taimerid
    RTT on miinimum aeg mis kulub andmete saatmiseks ja kviitungi kätte saamiseks. Peab olema väikese varuga, et me ei hakkaks mitu korda saatma samu pakette. Samas, kui see aeg on liiga pikk, siis ei jõua vastu võtta ( segmenti kaotsi minekule reageeritakse liiga aeglaselt).
    Seda saab kaudselt hinnata - kui kaua võtab aega kviitungi tulek? Sellest lähtudes suurenda/vähenda timeout aega.
    1. Kordussaatmise taimer
    2. Püsivuse taimer - Tegeleb andmete saatmise püsivusega. Okei oletame, et saatja saadab ühe paketi ära, saab ACKi, saadab nüüd järgmise, aga see läheb kaotsi. Saatja ei tea, et võiks andmed uuesti saata. Pannakse püsivuse taimer käima. Kui tuleb time out, siis saatja saadab 1 baidise segmendi mis on sorta nagu proovipakett.
    3. Keep-alive taimer - Et olla kindlat, et teine osapool on “elus”, küsitakse iga mingi aja tagant kinnitust.
    4. Time-waited taimer - Seotud ühenduse sulgemisega, kui ühendus lõpetatakse, siis tegelikult on see veel mingi määratud aja lahti, et korjata paketid, mis veel ülekandmisel.
    23. TCP voo juhtimine
    Saatja ei koorma vastuvõtjad üle, saates liiga palju liiga kiiresti (Nt kallad bensiini ühest kanistrist teise ja paned lehtri vahele. Kallad sellise kiirusega, et lehter üle ei hakkaks ajama , muidu puhver umbes ja paketid lähevad kaduma). Selle jaoks on nt speed-matching, mis tagab selle, et saatja saadab andmeid sellise kiirusega, millise kiirusega vastuvõtja suudab neid lugeda. Et tagada flow control, sunnib TCP hoidma saatjal muutujat nimega “receive window,” mille abil on tal aimu sellest, kui palju on vastuvõtjas puhvriruumi. Kuna TCP on full -duplex, säilitavad mõlemal pool ühendust olevad saatjad selge vastuvõtuakna (receive window-i).
    Ütleme, et saatja A saadab midagi vastuvõtjale B (ehk A->B)
    LastByteRead - viimane baidinumber andmejadast, mis loeti puhvrist B-rakenduse poolt.
    LastByteRcvd - viimane baidinumber andmejadast, mis tuli võrgust ja istub nüüd puhvris B juures.
    RcvWindow muutub aja jooksul ehk siis on dünaamiline (valem on pildil v kui aru ei saa, siis:
    RcvWindow = RcvBuffer - [LastByteRcvd - LastByteRead]).
    Iga kord, kui B saadab A-le midagi vastu, võib ta RcvWindow-i väärtust muuta vastavalt vajadusele.
    Kui B puhver on täis (RcvWindow = 0) ja A-le pakette vastu ei saada, mis siis juhtub? A ei saa ju kunagi teada, et ta võiks uuesti saatma hakata. Siinkohal on kavalus mängus, TCP ei ole loll (sama ei saa öelda eksami tegijate kohta)! Nimelt kui RcvWindow on 0 või vähem, saadab A B-le segmente ühe databytega(?). Vastuvõtja tajub neid segmente, lõpuks puhver tühjeneb ja RcvWindow väärtus kasvab suuremaks kui null.
    24. TCP koormuse juhtimine
    Võiks ju arvata, et voog ja koormus pmts sama asi, aga vot, siinkohal eksid! Ikka ei ole sama asi!
    Sarnaselt voo “receive windowle” on koormuses “congestion window”, mis on eraldi muutuja, mille üle saatja arvet peab.
    Slow start: Kui ühendus algab, saadetakse segmente eksponentsiaalselt: kõigepealt 1, siis 2, siis 4 jne, kuni tekib loss.
    Additive increase : Pakettide saatmisel akent suurendatakse koguaeg ühe MSS (Maximum segment size) võrra iga RTT ( ajavahemik mis kulub info saatmise ja ack paketti kättesaamiseks) niikaua , kuni tekib kaotsiminek (loss)
    Multiplicative decrease: Pärast kaotsiminekut (loss) tehakse aken poole väiksemaks ja algab Additive Increase. Ehk siis saadetakse vähem segmente.
    ACK peaks kinnitus olema (acknowledgement). Mingid valemid olid vist ka sarnaselt voole, aga las ta praegu jääda.
    25. UDP (User Datagram Protocol)
    Transpordikihi protokoll. Lubatud andmete kaotsiminek ning vales järjekorras kohale jõudmine.
    UDP teeb pmts nii vähe, kui üks transpordiprotokoll üldse teha saab (pmts nagu mina, et teha nii vähe kui võimalik), Peale multipleximise/demultipleximise ei lisa ta IP-le midagi. Kui rakenduse autor otsustab TCP asemel UDP-d kasutada, siis rakendus pm räägibki otse IP-ga.
    UDP võtab rakendusest sõnumi, topib talle allika ja sihtkoha portid, lisab veel kaks väikest välja ja annab selle võrgukihile edasi. // UDP segment natuke allpool. Need 2 lisavälja peaks pikkus ja checksum olema.
    Ebakindel & sorteerimata kohaletoimetus
    • Pole “tarbetuid dekoratsioone”, “bare bones” Interneti transpordi protokoll.
    • Best effort” teenus: UDP segmendid võivad kaotsi minna või jõuda rakenduseni vales järjekorras
    Connectionless ehk siis ühendusevaba:
    • Käepigistust (handshaking) saatja ja vastuvõtja vahel ei toimu ehk lslt hakkab tulistama andmeid.
    • Iga UDP segmenti koheldakse üksteisest sõltumatult.
    UDP-d kasutatakse:
    • Striimimisel multimeedia appides (youtube, twitch, erinevad tubed-hubid) - tolereerivad andmete kaotsiminekut (loss-i), kiirustundlik (rate sensitive)
    • DNS
    • SNMP
    Usaldusväärne ülekanne üle UDP:
    • Selle lisab rakenduskiht
    • Rakenduste spetsiifiline errorite leidmine

    UDP päis suht ez pz: koht kust tuli, koht kuhu läheb, pikkus (vt pilti), checksum, appdata.
    UDP Checksum (kontrollsumma) eesmärk: leida erroreid segmendis ära pööranud bittide näol. Teeb seda, sest paljud ...lülid?....allika ja sihtkoha vahel ei pruugi üldse mingit kontrolli teostada.
    Saatja:
    • Kohtleb segmenti kui 16 bitist täisarvude jada
    • Liidab segmendi sisu (paneb bitid paika)
    • Pistab checksumi sinna UDP kastikese sisse
    Vastuvõtja:
    • Arvutab kättesaadud segmendi checksumi
    • Saatja checksum ja vastuvõtja checksum peavad kokku andma 1 jada, ehk checksum on summa inversioon.

    26. Datagrammvõrgud ja virtuaalahelatega võrgud
    Lilla kasukaga Pugile pühendatud küsimus.
    Datagrammvõrgud pakuvad võrgukihil ühendusevaba(UDP - connectionless) teenust.
    Virtuaalahelatega võrgud pakuvad võrgukihil ühendusega(TCP - connection, handhsaking) teenust.
    (vt küsimus 7, saad targemaks). Sm, see on võrgukihi analoog sellele. TCP ja UDP on ikkagi transpordikihi protokollid. Võrgukihis on meil host-to-host ühendamine, teenus mida pakutakse transpordikihile. Transpordikihis on process-to-process ühendusteenus, mida pakutakse rakenduskihile.
    Võrgud on kas datagramm- või virtuaalahelatega võrgud, aga ei saa olla mõlemat korraga.
    Virtuaalahel:
    • Ühenduse ülesseadmine ja mahavõtmine (?? teardown) iga ühenduse kohta enne, kui data voolama hakkab
    • Iga pakett kannab VC (virtuaalahela) identifikaatorit (mitte sihtkoha aadressi)
    • Iga ruuter, mis tee peale jääb, säilitab iga mööduva ühenduse “oleku”. Ehk lisab enda edastustabelisse rea ja kui ühendus lõpetatakse, siis peab selle ka tabelist eemaldama.
    Koosneb kolmest faasist:
    • VC setup - Saadab transpordikihi kontaktid võrgukihti, täpsustab sihtkoha aadressi ja ootab et võrk looks virtuaalahela. Võrk teeb kindlaks tee saatja ja vastuvõtja vahel (määrab ära mis ruutereite ja linkide kaudu sinna jõuda) ja ka määrab iga lingi VC numbri. Viimasena lisab iga ruuteri edastustabelisse uue rea.
    • Andmeedastus - Kui ühendus on loodud, siis hakkavad pakettid tõka-tõka sõitma mööda ahelat
    • VC teardown - Alustatakse kui saatja (või vastuvõtja) annavad võrgule teada, et soovivad ahela lõpetada. Võrgukiht annab end systemile (...otspunkti süsteemi?) teada, et oli soov lõpetada ja võtab ruuterite marsruutimistabelist vastavad read ära

    Virtuaalahel koosneb:
    • Tee (path) algusest lõpuni (from source to destination), sari ühendustest ja ruuteritest
    • VC numbrid - üks number iga lingi jaoks, mis tee peale jääb (need on need, mida pakett kannab dest. aadressi asemel, loe paar rida ülevalt). Iga “tee” mis viib ruuterist välja on link ja need on nummerdatud.
    • Edastustabel, kus peab tee peale jäävaid VC numbrid. Kuna numbrid on eri ruuterites erinevad, siis iga ruuter peab ise asendama source VC numbri enda tabeli järgi
    VC numbreid saab iga lingi peal muuta, need tulevad edastustabelist.
    VC ühendus (A -> B). Iga punkt on üks nn ühendus vms, mis liigub ühte- v teistpidi piki jubinaid.
    • A helistab B. B näeb kõne.
    • B võtab kõne vastu. A-l on kõne ühendatud
    • A alustab datavoogu. B võtab data vastu.

    Kasutatakse nt ATM(asynchronous time- division multiplexing), kaadriedastustes(?? Wut. frame-relay).
    ATM frame relaydes. Misiganes see tähendab.
    Ei kasutata tänapäevases internetis.
    Datagrammvõrgud:
    • “Kõne” üles ei seata (nagu on VC-l)
    • Ruuterid: otspunktide vahelist olekut ei ole, nad ei säilita ka VC numbreid
    • Pakette saadetakse edasi kasutades sihtkoha hosti aadress

    Datagrammid jooksevad lihtsalt niimodi ringi, otspunktidevahelised ühendused puuduvad. Ei ole mingit teed ette täpsustatud, marsruutimine toimub kohapeal.
    Seda tabelit ma ei oska ümber jutustada. Pilt räägib rohkem kui 1000 sõna! (datagrammi edastustabel). Kuna aadresse on idiootselt palju, siis ruuteritel on öeldud et kui IP aadressi prefiks on X kuni Y vahemikus, siis minge linki 0, kui M-N vahemikus, siis linki 1 jne. Ehk ruuter ei vaata kust pakett tuli vms, vaid vaatab sihtkoha IPd ja vaatab oma marsruutimistabeli vahemike. On ka üks link mis on mõeldud kui IP prefix ei sobi ühegagi ruuteri omadest .
    Mis neil siis vahet on? (kes inglise keelt ei oska, siis võin oma võimetekohaselt tõlkida).
    27. Marsuutimine
    Musta kasukaga Pugile pühendatud küsimus
    Pmts, kui loengus mäletate, olid mingid sõõrikud (need on ruuterid), mis olid omavahel ühendatud ning nende vahel olid numbrid. Üldjuhul minnakse läbi sõõrikute, mille vahel on kõige väiksem number. Võtta neid numbreid kui ressursikulu.
    Nende numbrite summa, mis tee peale jäävad on pmts “tee hind” (cost of path). Marsruutimisalgoritmid leiavad ise, mis kõige “odavam” tee on. Maksumus (cost) võib alati olla 1, olla pöördvõrdeliselt seotud ribalaiusega (bandwidth) või pöördvõrdeliselt koormusega (congestion).
    Klassifitseerimine:
    Global:
    • Kõikidel ruuteritel on topoloogia , linkide “maksumuse” (cost) info
    • Link state” algoritmid !
    Decentralized:
    • Ruuter teab füüsiliselt ühendatud naabreid ning nende “maksumust”
    • Iteratiivne arvutamisprotsess, naabritega info vahetamine, hakkad järjest naabritelt küsima nende tee “maksumust” jne kuni leiad kõige odavama tee
    • Distance vector ” algoritmid!
    Static:
    • Marsruudid muutuvad aeglaselt ajapikku
    Dynamic:
    • Marsruudid muutuvad kiiremini. Perioodiline uuendus tulenevalt linkide maksumuse muutumusega.

    28. Link state marsruutimisalgoritm
    Sinise kasukaga Pugile pühendatud küsimus
    Dijkstra algoritm :
    • Võrgu topoloogia, linkide maksumus teada kõikidele sõlmedele ( node ). See saavutatakse “link state broadcastiga” (? ehk siis vist “räägivad” omavahel). Kõikidel sõlmedel on sama info.
    • Arvutab väikseima võimaliku maksumuse ühest sõlmest (“source node”) kõikidesse teistesse sõlmedesse. -annab edastustabeli (forwarding table) sellele sõlmele.
    • Iteratiivne: Pärast k iteratsiooni teab vähimat maksumust k-destinatsioonidele

    Dijsktra algoritmi notatsioon.
    Algoritmi valem/kood, kuidas asi toimib.
    Paar näidist (piltiega lihtsam aru saada):
    Jälgi nooli ja neid numbreid
    Näide 2:
    See tabel vist on suht tähtis, et proovige aru saada, kuidas see toimib
    Jubinad arvutavad kõige lühema marsruudi igasse sõlme, kus algussõlmeks on “u”.
    Tulemus on järgmisel pildil koos edastustabeliga. Pm lisad iga kord ühe marsruuteri juurde, a la meil on vaja jõuda u - w. Otse tee oleks X ühikut, aga kui meil oleks uv ruuterid, siis oleks tee Y ühikut.
    Edastustabel, kus on optimaalsed marsruudid.
    29. Distance vector marsruutimisalgoritm
    Kuldse kasukaga Pugile pühendatud küsimus
    Bellman-Fordi võrrand (dünaamiline programmeerimine ):
    Aeg-ajalt saadab iga sõlm oma kaugusvektori (distance vector) hinnangu (estimate) oma naabritele.
    Ehk - kaugus u-z leidmiseks leia u kaugus kõigist tema naabersõlmedest, leia naabersõlmede kaugus sihtpunktist (kõige optimaalsem), liida vastavad väärtused ja leia neist kõige väiksem.
    Distantsvektori algoritm:
    Iteratiivne, kus iga kohalik (local) iteratsioon toimub, kui:
    • Kohaliku lingi maksumus muutub
    • Naabrilt sõnum DV uuendamiseks
    Distributeeritud:
    • Iga sõlm teavitab naabreid ainult siis, kui nende DV muutub (naabrid siis teavitavad oma naabreid, kui vaja (ehk kui nende tabel veelkord optimeerub)).

    Iga sõlm ootab naabersõlmelt sõnumit, arvutab oma tabeli ning kui midagi on muutunud, teavitab naabreid.
    Marsruutimistabel. Pilt võib tunduda esialgu kirju, aga põhimõtteliselt iga sõlm täidab tabelis enda rea ning edastab selle oma naabritele. Kokku kombineeritakse optimaalne edastustabel.
    30. Hierarhiline marsruutimine
    Punase kasukaga Pugile pühendatud küsimus
    Suurus: 600 miljonit ruuterit. Kui kõik ruuterid teaksid kõiki marsruute, siis tekiks selline ajuvähk, et universum vajuks kokku. Seepärast on ruuterid jaotatud autonoomseteks süsteemideks (autonomous systems) [AS].
    Iga autonoomne süsteem on tavaliselt hunnik ruutereid, mis kuuluvad ühe administratiivse üksuse alla, näiteks ISP (Internet Service Provider, a-la Telia v Starman) või mingi firmasisene võrk. Ruuterid, mis kuuluvad samasse AS-i kasutavad sama marsruutimisprotokolli (kas LS v DV) ning omavad infot üksteise kohta. Algoritm, mis jookseb AS-isiseselt, nimetatakse ingl k “intra autonomous system routing protocol”-ks.
    Muidugi tuleb ka AS-e omavahel ühendada. Seetõttu antakse vähemalt ühele ruuterile (AS siseselt) lisavastutus, kui pakette tuleb AS-ist välja saata. Selliseid ruutereid kutsutakse ingl k “gateway router”-ks. (pm ühendatud teise AS gateway ruuteriga).
    Inter -AS ühendab siis AS-e omavahel.
    Pakett tahab minna 1d ruuterist x AS-i. inter-AS protokolliga propageeritakse infot kõikidele AS sisestele ruuteritele. Seejärel otsustab intra-AS protokoll, kuidas kõige paremini 1c-sse saada (kuna ta on gateway ruuter x-i jõudmiseks).
    Kui on olukord, kus saab liikuda mitut moodi (läbi AS3 või AS2), siis otsustab inter-AS protokoll, kuidas paremini toimida on. Tavaliselt kasutatakse kuuma kartuli marsruutimist (hot potato routing) ehk valitakse kõige lähem gateway ruuter (v madalama maksumusega siis, ma eeldan, sest 1c ja 1b on mõlemad ühe hüppe kaugusel).
    31. IP aadress ja MAC aadress, ARP
    Vasakul heledama punase kasukaga Pugile pühendatud küsimus.
    Wtf ma siin teen?!
    IP aadress: võrgukihi jubin vist? // IP-aadress ehk internetiaadress (inglise keeles Internet protocol address) on internetiprotokolli kohane arvutite ja muude arvutivõrgus toimivate seadmete omavaheliseks suhtlemiseks avalikus arvutivõrgus vajalik ülemaailmselt või kohtvõrgus unikaalne aadress, sarnaselt maja- või telefoninumbriga või posti sihtnumbriga. Lühend IP tähistab interneti protokolli standardit. Võrgukiht.
    MAC aadress: igale võrguseadmele määratud unikaalne aadress, mida kasutatakse kanalikihis kommunikatsiooniks // MAC-aadress ehk meediumipöörduse juhtimise aadress (inglise keeles Media Access Control address) on füüsilise võrguliidese unikaalne identifitseerija. Näiteks on MAC-aadress arvuti võrgukaardil ja ruuteri võrgupesadel. Kanalikiht.
    Kui ühel võrgusõlmel on mitu võrguliidest, siis on neil eraldi MAC-aadressid. Enamasti määratakse MAC-aadress võrguseadmele tootmise käigus ja seda muuta ei saa.
    IP muutub sellele vastavalt kuhu võrku oled parasjagu ühendatud, MAC on nagu see sitt tatokas millest lahti ei saa mille purjuspäi tegid ja mis on (loodetavasti) unikaalne sulle ja mida muuta enam ei saa.
    Subnet mask - Näeb välja selline, et ühel pool 0 ja teisel pool 1 (11111000000 jne). Võrgu bitid määratakse 1ks ja hosti bittid 0ks (e kui marsruudime, siis kus lõppeb võrgu aadress mida otsime ja kust algab konkreetse seadme aadress). Pm turvaeesmärgil tehakse (mitte ainult, aga nagu boonus vms).
    ARP: Aadressiedastuse protokoll (Address resolution protocol). Vastendab IP aadressi riistvara ehk MAC aadressiga. IP-aadressi ja alamvõrgumaski (subnet mask) abil tehakse kindlaks, kas andmepakett on suunatud sisevõrku või välisvõrku. Kui on tegemist sisevõrku adresseeritud andmepaketiga, siis saadakse riistvara aadress (MAC-aadress) ARP-tabelist (tabelist, kuhu on puhverdatud varasemad ARP-päringud). Kui ARP-tabelis vastav sissekanne puudub, siis saadab arvuti kõigile sisevõrgus olijatele (broadcast message) välja ARP-päringu IP-aadressile vastava riistvaraaadressi väljaselgitamiseks. Vastava IP-aadressiga arvuti vastab nimetatud päringule. Seejärel uuendab päringut väljasaatnud arvuti oma ARP-tabelit. Järgnevas infovahetuses on andmepaketid varustatud lisaks IP-aadressile ka riistvara aadressiga. Seejärel on võimalik infovahetus sisevõrgus ka kohtvõrgu protokollidega, mille IP-aadress puudub.
    http://dijkstra.cs.ttu.ee/~kekalb/side5/ - See prax oli nende erinevate protokollide kohta ja kuidas töötavad.
    Elagu wikipedia.
    32. DHCP
    DHCP ehk Dynamic Host Configuration Protocol on võrgukihi (Network Layer) protokoll, mille alusel ruuter jagab IP aadresseid temaga ühendatud seadmetele automaatselt.
    Võrguadministraator võib seadistada DHCP-d kahte moodi:
    • 1. Seade, mis end ruuteriga ühendab saab iga kord sama IP
    • 2. Seadmele antakse iga kord, kui ta ruuteriga ühendab, ajutine IP (võib olla erinev iga kord).
    DHCP-d kutsutakse ka plug-and-play protokolliks. DHCP on väga mugav ja laialt kasutatud võrkudes, kus uued seadmed tihti ühinevad ja vanad lahkuvad .
    DHCP on klient-server protokoll selles mõttes, et uut ühinevat seadet võib käsitleda kui klienti ning igal alamvõrgul on tüüpiliselt üks aktiivne DHCP server, mis jagab IP aadresse.
    DHCP protokolliga IP jagamine käib neljas etapis:
  • DHCP serveri otsimine (pm ruuter). Uus seade, mis tahab võrku ühendada, saadab UDP paketi pordil 67, mis on pakitut IP datagrammi. Kuna uus seade ei tea ühegi ruuteri aadressit, siis saadab ta selle paketi sihtaadressiga 255.255.255.255 ning lähteaadressiga 0.0.0.0, selle saavad kätte kõik võrku ühendatud seadmed.
  • DHCP serveri pakkumine. DHCP server, milleni jõudis eelmine pakett, saadab paketi sihtaadressiga 255.255.255.255, mis sisaldab eelmise paketi ID-d, pakutud IP aadressi, võrgumaski ja pakutud IP aadressi kehtivusaega.
  • DHCP päring. Kui eelmine pakett jõuab seadmeni, mis endale IP-d otsib, vastab ta sellele DHCP päringuga, korrates eelmise paketi sisus olevaid parameetreid.
  • DHCP ACK. Kui eelmine pakett jõuab DHCP serverini, vastab server ACK-iga kinnitades, et nüüd kuulub pakutud IP uuele seadmele.
    33. NAT
    NAT ehk Network Address Translation on võrgukihi protokoll, mida kasutavad ruuterid, et edastada õigeid pakette õigetele seadmetele oma võrgus. Kui näiteks võrgus on seade, mille kohalik IP (saadud ruuterilt näiteks DHCP abil) on 10.0.0.1 ning ta tahab saata vahetada andmeid välise veebiserveriga aadressil 128.119.40.186 pordil 80, siis protsess näeks välja selline:
  • Seade saadab oma paketi LAN-i koos (suvalise) lähtepordiga 3345.
  • Ruuter saab kätte paketi ning enne, kui ta edastab paketi, vahetab ta paketis lähteaddressi 10.0.0.1:3345 uue aadressiga 138.76.29.7:5001, kus 138.76.29.7 on ruuteri IP-aadress nähtav ülejäänud maailmale ning 5001 on suvaline port, mille abil ruuter tuvastab, millise kohaliku seadmega see pakett seotud on.
  • Kui veebiserver saab paketi kätte, saadab ta oma vastuse sihtaadressiga 138.76.29.7:5001, sest see on see, mida ta kätte saadud paketis näeb lähteaadressina.
  • Ruuter saab paketi kätte, vaatab oma tabelisse ja näeb, et port 5001 tähendab, et pakett tuleb saata seadmele IP-ga 10.0.0.1 pordil 3345 ning teeb seda, kõigepealt vahetades paketis sihtaadressi 138.76.29.7:5001 välja uue sihtaadressi 10.0.0.1:3345 vastu.
    See on see, kuidas NAT-enabled ruuter edastab pakette välisseadmete ja kohalike seadmete vahel.
    Also see on ka põhjus miks mingi “determine your IP” saidid näitavad erinevat IPd kui see, mida ise näed oma arvutist - sest arvuti otse ei suhtle tegelikult kellegagi, edastab ruuterile soovi etc.
    34. Marsruutimisprotokollid (RIP, OSPF ja BGP)
    Marsruutimisprotokollid (Routing Protocols / Routing Algorithms) on protokollid, mille abil valitakse parim tee paketi saatmiseks ühelt ruuterilt teisele vahepealsete võrguseadmete kaudu.
    RIP ehk Routing Information Protocol on DV (Distance Vector) protokoll, mis kasutab ruuterite vahelise kauguse ühikuna hop- count ’i, see tähendab, et iga kahe ruuteri vaheline ühendus on kaaluga 1 ühik. Ruuteris hoitakse RIP tabeleid, milles on kirjas iga kahe võrgusõlme kohta nende kaal. Ruuterid, mis on omavahel otseühenduses, jagavad oma tabeleid iga 30 sekundi tagant, parandades kaale. Kui mõne ruuteriga pole tabelivahetust toimunud üle 180 sekundi, loetakse too ruuter kättesaamatuks ning kaal seatakse lõpmatuks.
    OSPF ehk Open Shortest Path First loob tabeli kõikidest võrgusõlmedest, määrates iga otseühendatud kahe ruuteri vahele kaalu 1 ning ülejäänutele lõpmatuse. Seejärel jooksutab Djikstra algoritmi kogu tabeli (graafi) peal, saavutades iga kahe võrgusõlme vahele vähima kaalu. Kaalud on samuti hop-count’ides.
    BGP ehk Border Gateway Protocol on protokoll, mis võimaldab optimaalsete teede leidmist suurtes võrkudes (üle mitmete AS-de, AS ehk Autonomous System on nagu ISP mingi alamvõrk, guugelda). RIP ja OSPF on AS-sisesed marsruutimisprotokollid. BGP arvestab AS-ide kättesaadavust ja ka eeskirju, mis lubavad või keelavad kindlaid marsruute. KUI BGP-d ei eksisteeriks, oleks iga AS eraldi võrk ning üksteise võrgusõlmede kaudu ei saaks pakette saata, st AS-id ei saaks üksteise seadmetega suhelda. Eri AS-idesse kuuluvad ruuterid vahetavad üksteisega infot selle kohta, missugusesse AS-i saab ühendada missuguse AS-i kaudu.
    35. Marsruuterid
    Marsruuterid on võrgukihi seadmed, mis tegelevad datagrammide (ehk võrgukihipakettide) edastamisega. Marsruuter loeb datagrammide päistest sihtmarsruuteri aadressi ning valib selle järgi järgmise marsruuteri, millele pakett edastada. See, mis andmed on datagrammi sisus (payload), ei mõjuta marsruuterite tööd, sest ruuterid ei jooksuta rakenduse- ega transpordikihi protokolle.
    Igal ruuteril on marsruutimistabel. Ruuter loeb temasse saabuva datagrammi päist ning otsib tabelist päises asuva sihtaadressi järgi, millise ühenduse kaudu datagramm edasi saata.
    Tähtsamad elemendid:
    • Sisendpordid (input ports ) - siia tulevad datagrammid
    • Switching fabric - väike võrk ruuteris, mis ühendab sisend - ja väljundpordid
    • Väljundpordid (output ports) - siia lähevad datagrammid
    • Marsruutimisprotsessor (routing processor) - väike arvuti ruuteris, mis jooksutab algoritme ja protokollide järgi edastab datagramme; see loeb datagrammide sisu

    36. Ipv4 ja Ipv6
    IPv4 on IP (Internet Protocol) versioon, kus siht- ja lähteaadressitena kasutatakse 32-bitiseid (4-baidiseid) aadresse. Pildil on IPv4 datagrammi formaat .
    IPv4 aadresse kirjutatakse kui 1-baidised arvud eraldatud punktidega. Näiteks 193.32.216.9, mis kahendkoodina oleks 11000001.00100000.11011000.00001001, kus iga arv on üks bait ehk 8 bitti ehk võib omada erinevat väärtust. IP-aaddressis on need väärtused vahemikus
    kuni
    ehk 0-255. See tähendab, et ei eksisteeri näiteks aadressit 256.0.0.1 või 192.168.999.3.
    Kui mingisuguse alamvõrgu aadress on kujul 223.1.1.0/24, siis “/24” ehk alamvõrgumask näitab, et aadressi esimesed 24 bitti viitavad sellele võrgule. See tähendab, et kui keegi tahab saata paketti sihtaadressiga 223.1.1.X, siis olenemata X-i väärtusest (0-255) suunatakse see pakett sellesse võrku aadressiga 223.1.1.0/24, sest esimesed 24 bitti (3 baiti ) 223.1.1 seal IP ees viitavad sellele võrgule. Millisele seadmele täpsemalt pakett edasi saata selles alamvõrgus, otsustab see seade alamvõrgus, kellele pakett suunati. Pildi peal on näha kolm alamvõrku: 223.1.1.0/23, 223.1.2.0/23, 223.1.3.0/23. Kuna alamvõrgu aadressi määravad esimesed 23 bitti (/23), siis viimased 32-23=9 bitti määravad täpsemalt, millise seadmega alamvõrgus on tegemist. See tähendab, et alamvõrku 223.1.1.0/23 kuuluvatel seadmetel võivad olla sellised aadressid, kus esimesed 23 bitti on samad, mis võrgumaskil, kuid viimased 9 bitti mistahes väärtusega (11011111.00000001.0000000-.--------).
    Seega antud näite puhul vahemikus
    223.1.0.0 (11011111.00000001.00000000.00000000)
    kuni
    223.1.1.255 (11011111.00000001.00000001.11111111).
    IPv6 on IP versioon, kus siht- ja lähteaadressitena kasutatakse 128-bitiseid (16-baidiseid) aadresse, mille eesmärk on sama, mis IPv4 aadressitel. See loodi sellepärast, et 32- bitise IPv4 võimalikke erinevaid aadresseid on ainult ~4 miljardit. Kuidas IPv6 aadressit kirja panna: 2001:0db8:0000:0000:0000:ff00:0042:8329, kus kooloniga on eraldatud 16-bitised 16nd-koodid, st iga 4-st märgist koosnev arv on 2 baiti vahemikus 0000 kuni ffff.
    IPv6 on backwards-compatible, st IPv6 datagrammi saab teisendada IPv4 datagrammiks (mõned baidid peab lihtsalt ära kustutama). IPv4 datagrammist aga IPv6 datagrammi üks-üheselt ei saa moodustada. Seega, eksisteerivad seadmed, mis ei oska IPv4 datagrammidega midagi peale hakata.
    37. Vigade avastamine ja parandamine, CRC
    Vigade avastamisega võivad tegeleda erinevad kihid. Rakenduskihis võib olla mingisugune kontroll, transpordikihis checksum’i abil (TCP ja UDP), võrgukihis (IPv4) ja ka kanalikihis.
    Checksum’i abil (TCP, UDP, IPv4) toimub vigade avastamine selliselt :
    11000111 (1. bait)
    +00010101 (2. bait)
    11011100 (1. ja 2. baidi summa)
    +10000101 (3. bait)
    01100010 (2. ja 3. baidi “summa”)
    Viimasel liitmisel mõlema baidi suurimad järgud olid 1, seega toimus ülekanne väikseimasse järku (parempoolne bitt ). Iga normaalne inimene, kes kirjalikult liita oskab, saaks viimasel liitmisel vastuseks:
    11011100 (1. ja 2. baidi summa)
    +10000101 (3. bait)
    101100001 (9-bitine summa)
    Aga kuna meil on baidis 8 bitti, siis vastus muutub nii, et ülekanne liidetakse 8-bitisele summale:
    01100001 (8-bitine summa; 9-bitisest summast jäta 8 bitti alles)
    +00000001 (ülekanne väikseimasse järku)
    01100010
    Kui kõik baidid on kokku liidetud, siis inverteeritakse vastus. Kui meil oli kogu paketi sisu ainult 3 baiti, siis praegusel juhul checksum tuleks viimase summa inversioon ehk
    01100010 -> 10011101.
    Vastuvõtja poolel kontrollitakse, kas pakett on vigane nii, et liidetakse kõik baidid (jällegi rekursiivse ülekandega) ja checksum. Vastuses ei tohi olla ühtki 0-i.
    11000111 (1. bait)
    +00010101 (2. bait)
    +10000101 (3. bait)
    +10011101 (checksum)
    11111111 (kui siin on mõni 0, siis pakett jõudis vigasena kohale)
    Kanalikihis on mitmeid meetodeid kasutusel vigade avastamiseks.
  • Paarsuskontroll (Parity Check) - loetakse üle, kas kaadris (kanalikihi paketis) on paaris- või paaritu arv bitte ning vastavalt sellele seatakse paarsusbitt (Parity Bit) üheks või nulliks. Vastuvõtja poole peal peab kogu kaadris olevate ühtede arv olema alati (kui paarsuskontroll on Even ) paaris (kui arvestada ka paarsusbitti).Kui paarsuskontroll on Odd, siis on paarsus bit 1 ainult siis, kui ühtesid on paaritu arv.
    Selle meetodi probleem on aga see, et kui kohale jõudvas kaadris on paarisarv bitte ära flippinud (1 -> 0 või 0 -> 1), siis vastuvõtja poole peal viga ei tuvastata.
  • Kahedimensiooniline paarsuskontroll - paarsusbitt eksisteerib andmebittide iga rea ja iga veeru jaoks ( biti puhul on paarsusbitti; pildi peal ).
  • CRC ehk Cyclic Redundancy Check.
    Saatja tahab vastuvõtjale saata sõnumit , kus on bitti.
    Näiteks: , .
    Alguses lepivad saatja ja vastuvõtja kokku -bitises sõnes ehk generaatoris , kus esimene bitt on alati 1.
    Näiteks: , .
    Saatja lisab sõnumi lõppu -bitise sõne nii, et -bitine tulemus jaguks täpselt -ga moodul-2 aritmeetikas.
    Näiteks: , ,
    Moodul-2 aritmeetika tähendab siin seda, et liitmisel ja lahutamisel ei ole ülekannet, vaid iga kahe kohakuti asetseva biti peal kasutatakse lihtsalt XOR-i. Ehk liitmine ja lahutamine annavad täpselt sama tulemuse.
    Näiteks: 10010 Näiteks: 10101001
    +10111 -11001010
    00101 01100011
    -i arvutamiseks leitakse moodul-2 aritmeetikas jääk jagamisel -ga.
    Näiteks: , , , jagamine (R/G):
    101110000 : 1001
    -1001 | (-G)
    1010 |
    -1001 | (-G)
    1100 |
    -1001 | (-G)
    1010|
    -1001| (-G)
    011| (jääk R, rohkem bitte pole ülevalt võtta)
    Seega kontrollimiseks vastuvõtja lihtsalt jagab generaatoriga moodul-2 aritmeetikas ning kui on jääk, siis järelikult on pakett vigane, vastasel juhul mitte.
    Näiteks: , , jagamine:
    101110011 : 1001
    -1001
    1010
    -1001
    1101
    -1001
    1001
    -1001
    0 (jääk peab tulema 0, kui pakett õige)
    38. Multipöördusprotokollid
    Võrgukihis:
    Need on protokollid, mis võimaldavad andmete (või andmevoogude) edastamist ehk täpselt samade andmete samaaegset edastamist mitmetele vastuvõtjatele. Ebaeffektiivne oleks luua serveril korraga ühendus kõigi (nt sadade tuhandete) klientidega ning ükshaaval neile kõigile saata järjest samu pakette. Selle probleemi lahendamiseks on multipöördusprotokollid.
    IGMP (Internet Group Management Protocol) on multipöördusprotokollide baas, mille alusel suhtleb seade endaga otseühendatud ruuteriga, andes talle teada, et mingi rakendus sellel seadmel soovib ühineda teatud multipöördusgrupiga (multicast group). Kuna IGMP alusel toimub ainult seadme ja tema otseühenduses oleva ruuteri vaheline suhtlus, siis eraldi protokolle on vaja, et toimuks andmete edastamine kõikidele kindlasse multipöördusgruppi kuuluvatele seadmetele - multipöördusprotokolle.
    Multipöördusprotokolli sisu on umbes selline, et saatja saadab endaga otseühendatud ruuterile datagrammi; seesama ruuter edastab kõikidele hierarhiliselt kõrgema taseme ruuteritele (peab teadma, millistesse võrkudesse üldse kuulub vastuvõtjaid antud multipöördusgrupist) selle sama datagrammi; kõik kõrgema taseme ruuterid edastavad selle datagrammi oma võrku kuuluvatele alamvõrkude ruuteritele (jällegi ainult nendele, kuhu kuulub vastuvõtjaid), jne.
    Kokkuvõtvalt: paljud paljud ruuterid dubleerivad (sest seadmed suhtlevad ruuteriga) datagramme oma alamvõrkudesse, et need kõikidesse sihtkohtadesse jõuaks, selle asemel et saatja saadab igale vastuvõtjale eraldi.
    Kanalikihis:
    Multipöördusprotokollid (Multiple Access Protocols) koordineerivad seda, kuidas ühel kanalikihiühendusel (näiteks siini peal), millega on ühenduses mitmed seadmed korraga, saadavad andmeid, ilma et üksteist liiga palju segaks (nagu klassiruumis otsustab õppejõud, kes võib rääkida, muidu kõik mölisevad samal ajal). Multipöördusprotokollid jagunevad üldiselt kolme klassi:
  • Channel Partitioning Protocols - kanalit (kas sagedust või aega) jaotatakse osadeks
    FDM (Frequency Division Multiplexing) - jagab sageduse erinevatele seadmetele
    TDM (Time Division Multiplexing) - annab iteratiivselt igale seadmele väikse ajalõigu
    Vaata 9. teemat FDM ja TDM seletusteks.
    CDMA (Code Division Multiple Access) - igale seadmele antakse erinev kood, mille abil kodeeritakse saadetavad bitid selliselt ära, et kõik seadmed saavad samal ajahetkel andmeid saata, ilma et kokkupõrked andmeid kanali peal rikuks.
  • Random Access Protocols - iga seade üritab oma andmeid saata, kui tekib kokkupõrge kellegi teisega , siis enne uuesti saatmist seade ootab suvalise ajahetke.
    Siia alla kuuluvad ALOHA ja CSMA , vaata 39. (järgmist) teemat.
  • Taking-Turns Protocols - kõik seadmed iteratiivselt edastavad oma andmeid kordamööda nii, et kui üks on lõpetanud, siis järgmine võib alustada. Sellised protokollid jaotuvad omakorda kahte klassi:
    Polling Protocol - üks seade on nn master seade, mis reguleerib, kes oma andmeid võib mingil ajahetkel saata (nagu õppejõud klassis reguleerib, kes räägib). Master seade ütleb iteratiivselt igale seadmele, mitu kaadrit ta võib nüüd edastada. Kui ta on lõpetanud, ütleb Master järgmisele, mitu kaadrit ta võib edastada, jne.
    Token -Passing Protocol - puudub master seade, mis reguleeriks kõike, vaid selle asemel eksisteerib nö luba (token), mis kuulub igal ajahetkel ainult ühele seadmele. Mingil hetkel see seade edastab loa järgmisele.
    39. ALOHA ja CSMA/CD
    ALOHA ja CSMA on multipöördusprotokollid (täpsemalt Random Access Protocols), vaata 38. (eelmist) teemat.
    Slotted ALOHA.
    • Aeg on jaotatud kindla pikkusega vahemikeks.
    • Kõik seadmed antud kanali peal on sünkroniseeritud nii, et teavad täpselt, millal järgmine ajavahemik algab ning kaua see kestab.
    • Kui mingil seadmel on vaja saata kaadrit (kanalikihi paketti), siis ta ootab järgmist ajavahemikku ning üritab selle alguses saata.
    • Kui saatmisel ei tekkinud kokkupõrget, siis jõuab kaader ilusti sihtseadmeni.
    • Kui saatmisel tekkis kokkupõrge, siis iga järgmise ajavahemiku alguses on tõenäosus , et ta üritab seda kaadrit uuesti saata.
    Kuna tegemist on tõenäosusega, et kaader uuesti saadetakse, siis kokkupõrked tekivad tüüpiliselt sellest, kui juhuslikult mitu seadet üritavad korraga uuesti oma kaadrit saata. Lõpuks peaks kõik seadmed oma andmed edastatud saama, kuna juhuslikult otsustades, kas uuesti saata või mitte, tekib lõpuks olukord, kus pole kokkupõrget.
    ALOHA (aka Pure ALOHA).
    • Erinevalt Slotted ALOHA-st ei ole seadmed sünkroniseeritud.
    • Kui seadmel on vaja kaadrit kanalile saata, saadab ta selle KOHE.
    • Kui tekkis kokkupõrge mingite muude andmetega, siis saadab ta selle KOHE uuesti tõenäosusega . Kui tõenäosus ütles, et ta ei saadaks seda kohe uuesti, siis ootab ta kindla ajavahemiku ja saadab selle kohe uuesti tõenäosusega Rinse and repeat.
    CSMA ehk Carrier Sense Multiple Access.
    Erinevalt ALOHA-dest, kuulatakse CSMA puhul ka seda, mis toimub ümberringi.
    ALOHA analoog päris elus on see, et mingi vant hakkab (mingi tõenäosusega) lihtsalt lobisema, segades kõikidele teistele vahele, kes parasjagu oma juttu räägivad. Kui midagi pole aru saada (kokkupõrge, sest kõik räägivad korraga), siis jääb ta vait, aga mingi tõenäosusega hakkab jälle varsti lobisema.
    CSMA/CD on “viisakas” protokoll, mis tegutseb järgnevalt:
    • Carrier Sensing (CS) - kui keegi teine hetkel oma andmeid edastab, siis seade ootab, kuni ta on lõpetanud ning kanal on vaba (päris elus inimene kuulab teise lõpuni, enne kui rääkima hakkab)
    • Collision Detection (CD) - kui keegi teine avastas ka, et kanal on nüüd vaba ning hakkas ka oma andmeid edastama juhuslikult täpselt samal ajal, kui esimene, siis mõlemad seadmed lõpetavad koheselt andmeedastuse ja ootavad suvalise ajahetke, enne kui uuesti proovivad. Kui selle suvalise ajahetke jooksul keegi teine hakkas oma andmeid edastama, siis oodatakse jällegi viisakalt, kuni kanal vaba on.
    Nende kahe reegli (CS ja CD) järgimisel on protokolliks CSMA/CD ehk Carrier Sense Multiple Access with Collision Detection. Kui järgitakse ainult CS-i ning CD-d mitte, siis on protokolliks lihtsalt CSMA.
    40. Token ring
    Token ring on multipöördusprotokolli (täpsemalt Taking-Turns Protocols, veel täpsemalt Token-Passing Protocols) üks võimalus, kus seadmed moodustavad füüsilise ringi, kus luba liigub ringis . Iga seade teab, millisele seadmele ta peab loa edasi andma, kui ta on oma andmete edastuse lõpetanud. Näiteks nr 1 annab nr 3-le, nr 3 annab nr 2-le ja nr 2 annab nr 1-le, seadmed moodustavad ringi.
    Kui luba jõuab seadmele nr 2, siis ta edastab teatud arvu kaadreid (kui tal on neid palju, siis ta edastab mõned neist) ning seejärel edastab loa spetsiaalse kaadriga seadmele nr 1. Kui näiteks seadmel nr 1 ei ole kaadreid edastamiseks, siis ta ei jää ootama, vaid edastab koheselt loa edasi seadmele nr 3.
    On olemas mitmeid viise välja töötatud sellistest vigadest taastumiseks, nagu mis juhtub siis, kui loaga seade plahvatab ning ei edastagi oma luba kellelegi. Või mis juhtub siis, kui üks nendest seadmetest otsustab, et ta ei annagi kunagi luba edasi, vaid lihtsalt edastab tuimalt ainult oma andmeid.
    41. Token bus
    • Mis on token bus?
    Token bus on loaedastusega siinvõrk.
    Erinevus token ringiga - füüsiliselt ei moodusta võrk ringi, vaid token liigub mööda ühte siini.
    Seda kasutatakse näiteks tööstusautomaatika võrkudes.
    Token bus ülesehitus:
    FC on juhtbait, mis määrab paketi tüübi. FCS on kontrollsumma.
    Token Busi paketid:

  • Claim token (CT)-
  • Solicit successor (SolS)- kas keegi on nende kahe numbri vahel (võrgusõlmede). Ehk siis kas keegi soovib nende vahele liituda
  • Who follows me (WF)- kes temale järgneb, ehk otsitakse, kes on peale seda kellele ta alguses pidi loa saatma.
  • Resolve contention (TS)
  • Set successor (SetS)- annab teada, mis järgnes temale, siis ei kao järjekord ära
  • Token (T)- tokeni saatmine
    Igale võrgusõlmele on määratud ajapiirang, kui kaua token tema käes saab olla.
    Iga võrgusõlm peab teadma oma naabri aadressi- Who Follows Me?.
    • Kuidas andmed liiguvad (üldiselt):
    Luba (token) jääb ajutiselt saatjale ning andmed liiguvad saajale. Saaja saadab kviitungi vastu ning kui saatja saab selle kätte, antakse token edasi järgmisele.

    Oletame, et nr 2 soovib ringist lahkuda. Ta saab loa nr 1, peale seda saadab välja paketi SetS 1-->3, ehk ühele järgneb kolm. See pakett jõuab nii 1 ja 3, panevad selle tulemuse kirja, et teaksid kellele siis luba saata/vastu võtta. Nüüd saadab 1 uuesti loa välja, aga hoopis nr 3le.
    • Ringist ebaviisakalt lahkumine:
    Load kaovad ära- korratakse saatmist, kui see ei õnnestu, siis saadetakse pakett WF (who follows me ehk kellele see, kes ringist ära kadus , loa oleks pidanud saatma). Kui saadakse teada, kes kadunukesele järgneb, siis see, kes järgneb saadab välja SetS.
    • Ringiga liitumine:
    Aeg-ajalt küsitakse, kas keegi on minu ja minu saadetava võrgu vahel- kes soovib liituda SolS. Kui soovijaid on rohkem kui üks, siis tekib põrge- see aga lahendatakse nii, et RC saadetakse mõlemale soovijale tagasi ning tehakse ajaaken saatmiseks- kui nad aga uuesti kokku sõidavad, siis tehakse uuesti RC ja võetakse järgmised 2 bitti ning vaadatakse aja saatmise tabelit. Jne.
    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 mõeldud ja kes saatis) 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 (gateway), 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. Ethernet on juhupöördusvõrk, ehk pole garantiid, kui nt kaks tahavad korraga rääkida- tekivad põrked . Seetõttu on ethernet tõenäosuslik- mida suurem on kiirus, seda väiksem on põrgete tõenäosus.
    Ethernet on ühenduseta andmeedastus. Käepigistust ei toimu ning on unreliable.
    Etthernet on ühinduv- paketti ei pea ringi formateerima- lihtsalt kiirus on erinev.
    Etherneti ajalugu:
    Ethernet sai alguse siinivõrguna. Alguses kasutati bus topoloogiat, etherneti arenedes, hakati kasutama kommuteerituid, ehk tähtetherneti, mille keskel on switch ning igas otsas on erinev etherneti võrk, mis tagas, et põrkeid ei ole.
    Kasutab CSMA/CD edastusmeetodit:
    Ethernet töötab CSMA/CD meetodi peal- kõigepealt kuulatakse kanalit, kui kanal on vaba, siis saadetakse andmed, kui ei ole vaba, siis oodatakse. Ehk põrkeid väga vältida ei saa, kuid akna kuulamine annab teada, et me kellegi toimivale saatmisele vahele ei segaks.
    Kuidas põrke korral tegutsetakse:
    Kui NIC tuvastab võrgus veel mingi andmeedastuse- ehk keegi segab vahele- siis saatmised jäetakse pooleli ning saadetakse jam signaal (NIC poolt), mis annab kõigile teada olukorrast võrgus- on tekkinud põrge. Siis hakatakse ekspodentsiaalselt kokkupõrganud võrgusõlmi omavahel hajutama- need kes ei osalenud põrkes, hoiavad korraks eemale. Nende käes on ajutiselt kanal, kes põrkes osalesid. Hakatakse tegema täringuviskamist, kes nendest siis oma andmed enne saab ära saata.
    NIC on füüsiline jubin arvuti küljes (emaplaati ehitatud), mis töötab füüsilise- ja kanalikihi tasemel. Ilma selleta ei saaks suhelda suht kellegagi.
    Etherneti kaader:
    • Preamble- kindel bitijada, mis näitab, et algab uus kaader. Sünkroniseerib saatja ja saaja kellad.
    • Addresses- saatja ja saaja MAC aadressid
    • Type- näitab millist kõrgema taseme protokolli kasutatakse
    • Data
    • CRC- nelja baidine kontrollkood, ehk veakontrolliks

    Etherneti standardid /tehnoloogiad:
  • 10Base2. Esimene etherneti versioon. Oli 10Mbps, kaadripikkus oli max 200m, töötas hoax kaablil, mille otstes olid terminaatorid. Kogu kanal oli ühe saatja käes.Pikendamiseks kasutati reptiitereid (kordajaid- füüsilise kihi seade), mis võtab vastu bitijada, võimendab need ning väljastab teise otsa.
  • 10BaseT.T - tähendab, et kasutatakse Twisted Pair (keerupaar kaablid) kaabeldust. Hubist Switch'ni on võrk ülesehitatud täht-topoloogiaga. Maksimaalne distants kahe võrguseadme (nt. huub ja arvuti võrgukaart) on 100m.
    Hub jagab võrku ja võib ka koguda statistilist informatsiooni võrguliikluse kohta. Hub jaotur on seade, mis on pmst mitmepordine repiiter ehk signaali võimendi. Ta võtab vastu ühe biti ja saadab kõigile. Kui kuskil tekib põrge, siis on kõik osalisteks.
    Võeti kasutusele Manchester encoding, selleks et vältida pikki nullide ja ühtede jadasid- iga biti keskel toimub signaali nivoo muutus, selleks et hoida saatja sünkroonis vastuvõtjaga.
    44. Jaoturid, sillad ja kommutaatorid
    Jaotureid, sildu ja kommutaatoreid kasutatakse võrkude kokkuühendamisel.
    Switch on kanalikihi seade. (ruuter on võrgukihi seade)
    HUB ehk jaotur.
    Hub on füüsilise kihi seade. Tal on palju porte, mistõttu on võimalik temaga ühendada palju seadmeid. Hubiga ei saa erinevaid ethernette kokku panna, kuna kiirused on erinevad. Hub ei võta andmeid vastu pakettide kaupa, vaid bittide haaval. Hubiga saame teha distantsi pikemaks, kuna on ka signaali võimendajaks.
    Kui tekib põrge, siis see levib kõigini- pmst nagu siini küge oleks ühendatud. Hub sobib väikestes võrkudes.
    SILLAD.
    Sillad on kanalikihi seadmed. Neil on vähe porte. Võtavad vastu etherneti kaadreid, salvestavad ja saadavad edasi valikuliselt MAC aadresside abil. Sild on võimeline erineva kiirusega ethernee kokku ühendama.
    Sillal ei ole aadressi- ta on nähtamatu arvutite jaoks. Sild järgib, kas kanal on vaba, tegeleb põrgetega (ehk CSMA/CD protokolli järgimine ). Sillad on iseõppivad seadmed- õpivad kes kuskil asuvad, ehk teada, kuhu pakette edastada.
    Sild jagab võrgu segmentideks kanalikihi mõttes, IP võrgu mõttes mitte, kuna IP aadress on sama. Sildadega võrgueffektiivsus suureneb. Põrge ei levi üle silla, kuna pakett võetakse vastu tervikuna ja alles siis saadetakse ta edasi, kui sild on veendunud, et ta tuleb saata teise segmenti.
    Sillal on edastamistabel. Kui neid andmeid sealt tabelist ei ole vaja olnud mingi x aja jooksul, siis see teadmine kustutakse.
    Sillad ei suuda valida mõislikke marsruute nagu ruuterid näiteks suudavad. Tekivad seetõttu ka erinevad probleemid- nt tabeleid kirjutatakse korduvalt üle. See on lahendatav- on tehtud algortim, mis muudab graafi puukujuliseks struktuuriks, ehk mingid teed pannakse kinni.
    Kuidas sild töötab:
    Kui silda jõuab pakett: kui tal on info olemas- kes kuskil asub ning teab, et sihtpunkt on samas segmendis, kus pakett tuli, siis seda teise segmenti ei saadeta, kuna hubiga jõuab info kõigini.
    Kui sihtpunkt on teises segmendis, sild saadab paketi sihtkohta- kui teab sihtkoha aadressi. Kui ei, siis saadab kõigile, v.a sellele, kellelt pakett tuli.
    Sillad vs ruuterid:
    Sillad töötavad II kihi peal, ruuterid III. Ruuterid harutavad paketi III tasemel lahti. Sillad tegelevad MAC aadressiga, ruuterid IP.
    Sillad- väikestes võrkudes, ruuterid- suurtes võrkudes.
    SWITCHES.
    SWITCH on pmst sama, mis mitmepordiline sild. Switch on võimeline mitut paralleelset andmevahetust läbi laskama- on täistupleks ja põrkeid ei ole.
    Switch on sildadega väga sarnane- MAC aadressi järgi toimub valikuline saatmine, switchid on iseõppivad seadmed. On läbipaistvad arvutitele- neil ei ole aadressi. Neil on marsruutimistabel.
    Switchi töötamise algoritm on sama, mis sillal- Kui switchi jõuab pakett: kui tal on info olemas- kes kuskil asub ning teab, et sihtpunkt on samas segmendis, kus pakett tuli, siis seda teise segmenti ei saadeta, kuna hubiga jõuab info kõigini.
    Kui sihtpunkt on teises segmendis, sild saadab paketi sihtkohta- kui teab sihtkoha aadressi. Kui ei, siis saadab kõigile ( flood ), v.a sellele, kellelt pakett tuli.
    Switchiga saame kaablit pikendada, ehk suurema võrgu luua. Põrkedomeenid on isoleeritud.
    Switches vs routers
    Sama, mis sildadel.
    Hub on ainuke, kes ei tegele liikluse isoleerimisega.
    Kõik saavad hakkama ilma konfigureerimiseta, v.a ruuterid.
    Optimaalne marsruutimine toimub ainult ruuterites.
    Hubid ja switchid on võimelised paketti täiesti vastuvõtmata edasi saatma (nt ainult päis on käes, teine pool on veel tulemata).
    45. CSMA/CA
    CSMA/CA (Carrier Sense Multiple Access / Collision Avoidance) - Kuulatakse igasugust signaali, sõltumata, kas tegemist takistava või andmesignaaliga. Kui midagi kuuldakse, kõik jaamad peatuvad ja ootavad. Spetsiaalset mürasignaali ei saadeta.
    Võimalik kasutada nn. pollingut, st. on jagatud, millal keegi räägib. Võimalik küsida õigust rääkimiseks.
    Token passing - luba rääkida liigub osapoolte vahel ringiratast.
    Kasutatakse juhtmeta võrkudes Wireless LAN näiteks. Selle puhul ongi märgitud CA ehk üritatakse kokkupõrkeid vältida. Kuna juhtmeta võrgu puhul pole võimalik saatmise ajal kanalit kuulata. Enne saatma minekut aga kuulab kas kanal on vaba.
    Kui tekivad samaaegselt soovivad saatjad siis käsitakse neil kõigil oodata mingi random aeg ning kelle random aeg on lühem ongi „võitja“ ja hakkab oma andmeid koheselt edastama.
    Samamoodi nagu Slotted Aloha puhul võib saatele minna ainult ajapilu alguses (vähendab kokkupõrkeid).
    46. ATM
    ATM (Asynchronous Transfer Mode) võrk on pakettedastus tehnika mida kasutavad telekommi võrgud, mis kasutavad async TDM (aeg muximine) et andmed kodeerida väikestesse, määratud pikkuseda pakettidesse. Ta põhineb pakettedastusel, virtuaalahelatel ning suudab tagada ajalised nõuded heli, video jms edastamisel. ATM võimaldab vaid kindla pikkusega pakette(5+48 baiti), kusjuures need paketid on suhteliselt lühikesed võrreldes varasemate edastusviisidega.
    ATM on ühendusele orienteeritud. ATM loob fikseeritud kanali või ruudi (rout) kahe punkti vahel kus andmeid edastatakse, mis on erinev TCP/IP-st kus iga pakett võib valida erineva tee saatjast saajani.
    Lühikesed paketid võimaldavad edastada audiot, videot ning andmeid üle sama võrgu nii, et üks andmetüüp ei tõmbaks kogu liini umbe. See kitsendus teeb ATM puhul lihtsamaks saadetiste jälgimise ning arveldamise kuid muudab võrgu vähem kohanevaks võrguliikluse ootamatutele muutustele.
    ATM ülekandmisel on 4 võimalust kiiruse ja andmemahtude suhte garanteerimiseks ajas:
    Constant Bit Rate (CBR) - ülekandekiirus on fikseeritud, andmed saadetaks püsiva voona. Analoogiline punkt-punkt ühenduse fikseeritud liinile
    Variable Bit Rate (VBR) - Garanteeritakse teatud kanalimaht, kuid andmeid ei saadeta võrdselt. Kasutatakse üldiselt kõne ja videokonverentside tarbeks.
    Unspecified Bit Rate (UBR) - läbilaskemahud pole garanteeritud. St. kiirus võib oluliselt muutuda. Kasutatakse selliste rakenduste nagu failiülekanded puhul, kus ajaline viide on lubatav.
    Available Bit Rate (ABR) - garanteerib mingi mininmaalse läbilaske, kuid lubab suuremat läbilaset, kuid võrk seda võimaldab.
    Luuakse virtuaalahel, erinevalt datagrammiedastusest, kus paketiga kaasas olev aadress on vastuvõtja aadress, virtuaalahela puhul on kaasas virtuaalahela identifikaator , mis muutub pidevalt. Kõikides kommutaatorites võetakse pakett lahti, vahetatakse virtuaalahela identifikaatori number ära, arvutatakse kontrollsumma, pakitakse uuesti kokku ja saadetakse edasi. Vigaseid pakette edasi ei saadeta.
    IP üle ATM-i
    IP puhul on Mac ja IP aadressid
    IP üle ATM-i puhul on IP ja ATM aadressid.
    47. Võrkude turvalisus ja ohud
    Turvalisus võrgus tähendab seda, et ainult saatja ja identifitseeritud saatja peaksid "mõistma" teate sisu. Selleks saatja krüpteerib ja vastuvõtja dekrüpteerib teate.
    Autentimise eesmärk on saatja ja vastuvõtja omavaheline kinnitus, et tegemist on õigete inimestega (masinatega). Nii saatja kui vastuvõtja soovivad kindlustada, et teadet ei ole modifitseeritud saatmise ajal ega selle järel.
    Interneti turvalisuse ohud:
    Pakettide pealtkuulamiseks on kaks võimalust: pealtkuulaja istub liini peal või pealtkuulaja asub võrgusõlmes. Kui keegi saab kätte võrgust võõrad paketid, on tal võimalik sealt kõike lugeda, ka paroole (ntx pop3 ja telneti puhul liiguvad paketid üle võrgu krüpteerimata kujul).
    Võimalik on ka pakettide saatmine nii, et paketi päises on teine IP aadress kui saatjal tegelikult, sel juhul vastuvõtja määrab saatjaks vale arvuti, mis võimaldab ühel arvutil teeselda, et ta on teine.
    Liigse paketi tulvaga blokeerida sõlmpunktid või vastuvõtja nii, et soovitud paketid ei tule läbi(Denial of service (DOS)).
    Kui rünnatakse pakettide tulvaga mitmest kohast, on tegemist "Distributed DOS'ga".
    Kokkuvõtlikult:
    Kasutatakse krüptograafiat (avaliku võtme ja sümmeetrilise võtme krüptograafia ), autentimist, meetodeid, mis näitavad, kas sõnum on muudetud või mitte, turvalist elektronposti, turvalist andmeülekandmist, Ipsec-i. Lisaks kasutatakse veel täiendavaid turvavahendeid nagu tulemüürid.
    48. Krüptograafia, algoritmid ja võtmed
    Krüptograafia tähendab tõlkes „salajane kirjutamine“.
    Protsessi kulg näeb välja selline:
    1) Algtekst – Info, mida soovitakse saata, ilma et see oleks kaitstud.
    2) Krüpeerimisalgoritm – Sisaldab kõike seda, mida avatekstiga 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 oma 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õik võ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
    Sümmeetrilise võtme puhul on krüpteerimiseks ja dekrüpteerimiseks sama võti. Sümmeetrilise võtme puhul on probleemiks turvaline võtmeedastus. (kaks meest saavad kõrtsus kokku ja vahetavad võtmeid)
    DES (Data Encryption Standard) on tänapäeval praktiliselt asendudnud 3DES'ga, mis kasutab 3 võtit. DES'i korral jagatakse andmed 64 bitisteks blokkideks ja kasutatakse 56 bitist võtit. Mida pikem võti, seda keerukam on lahtimurdmine. DES'i puhul ei ole teada ühtegi tagaust. DES'i puhul kasutatakse nihutamisi ja loogikatehteid. DES'i on võimalik realiseerida ka riistvaraliselt, olles 1000 - 10000 korda kiirem kui RSA, programmiliselt on DES 100 korda kiirem kui RSA. DES'i on võimalik murda ainult "brute force" meetodiga, st proovides kõiki võtmevariante kuna märkide esinemissageduse analüüs vms meetod ei anna tulemusi.
    50. Avaliku võtme krüptograafia, RSA
    SLAID 44!!! Kaheksas pt!- oluline slaid.
    Okei, pm (kui ma õigesti aru saan) on Alice’l kaks võtit, Kaa(Avalik) ja Kas(Secret), sama lugu on ka Bobiga. Et Bobile saadetav kiri ära krüpteerida võtame Bobi avaliku võtme, rakendame seda kirjale ja seda dekrüpteerida saab ainult Bobi salajase võtmega.
    Ühest võtmest teist tuletada ei saa
    VALEM PEAB OLEMA PEAS- slaid 49 pt8!!
    Hea oleks kui teaks slaid 46 RSA algoritmi.
    Avaliku võtme kinnitamine- slaid 94 pt8. Kolmas usaldatav osapool.- põhimõte.
    51. Autentimine
    Toiming, kus saatja ja vastuvõtja kinnitavad üksteise identiteeti.
    Olemi väidetava identsuse verifitseerimise toiming. Kasutatakse sageli kasutajanime ja parooli küsimist.
    52. Digitaalallkiri
    Võtame oma andmepaketi, arvutame räsifuniga krüptolühendi, mille krüpteerime OMA PRIVAAVÕTMEGA. See, kes tahab allkirja kontrollida, võtab selle sama sõnumi, arvutab selle sama krüptolühendi ja minu krüptolühendi ja dekodeerib selle MINU AVALIKU VÕTMEGA. Ja võrdleb minu arvutatud tema arvutatuga -kui need on samad, siis kiri on muutumatul kujul kohale jõundun.

    53. Sertifitseerimine
    Protseduur , millega kolmas osapool annab tagatise, et andmetöötlussüsteem või selle osa vastab turvanõuetele.
    Sertifitseerimine on vajalik riskide vähendamiseks kahe teineteist mitteusaldava osapoole vahelises suhtluses. Sisuliselt notarid digitaalsel kujul. On kaks kohta, kus neid kasutatakse - üks osapool soovib kinnitust, kas talle esitatud avalik võti kuulub teisele osapoolele ning teine olukord, kus kahel teineteist mitte usaldaval osapoolel on vaja leida ühine võti, et pidada turvalist sidet.
    Certification Autority (CA), seob avalikud võtmed eraldiseisvate üksustega. Iga üksus(inimene, ruuter) saab seal registreerida oma avaliku võtme, kõigepealt tuleb end CA-le identifitseerida ja seejärel luuakse sulle sertifikaat, mis seob sinu identiteedi avaliku võtmega. CA allkirjastab sertifikaadi digitaalselt. Nt kui Mari tahab Bobi avalikku võtit, siis ta saab Bobi sertifikaadi(Bobi käest või mujalt), kasutab CA avalikku võtit Bobi sertifikaadil, ja saab Bobi avaliku võtme.
    54. Võtmete jaotussüsteemid ja protokollid
    Slaid 87 peab teadma. Kaheksas pt. - see põhimõte on oluline.
    Wtf is this
    55. Tulemüürid
    Tulemüür on süsteem, mis enamasti takistab autentiseerimata kasutajatel mingisse kindlasse arvutisse või väiksemasse võrku saamast, mis omakorda on internetiga ühendatud. Kõik sõnumid, mis väljuvad või sisenevad intranetti/arvutisse lähevad läbi tulemüüri. Need sõnumid, mis ei vasta teatud nõuetele blokeeritakse. On erinevaid tulemüüri tehnikaid: Paketi filter , rakenduse gateway, circuit-level gateway, proxy server. Ta isoleerib näiteks mingi organisatsiooni sisevõrgu ülejäänud internetist, lubades osasid pakette läbi ja teisi mitte. Rakenduskihi väravaga saab ära määrata millise rakenduse kõik ühendused lähevad läbi mingi kindla gateway. Tulemüürid aga ei ole 100% kindlad.
    56. Transpordikihi turvalisus, SSL, E-kaubandus, SET
    57. Võrgukihi turvalisus, IPsec

    58. Võrguhaldus, SNMP
    Hahahaha GG :D OKEI Fakku disu shitto ma ei viitsi igale küsimusele eraldi vastata, teen lslt kogu security peatükist tldr versiooni
    Sümmeetriliste võtmete korral
    Nii! Meil on plaintext m. Krüpteerimisalgoritm võtab sisendisse Ka ja sõnumi m. Ka(m) = ciphertext ja see saadetakse Bobile. Bobi dekrüptoalgoritm võtab sisendina ciphertexti ja enda võtme Kb ehk Dekrüpt = Kb(Ka(m))=m. Antud juhul on Alicel ja Bobil sama võti ja see võti on salajane.
    Üks kõige lihtsamaid algoritme on nt nihe paremale 3 võrra, Caesar Cipher ehk a = d, b = e jne.
    Kuidas seda lahti murda:
    • Ciphertext-only attack - Ehk meil on ainult krüpteeritud tekst ja mitte midagi muud. Saab kasutada loogikat ja statistikat, et aidata seda lahti murda. Nt inglise keeles 1 tähelised “sõnad” oleks I või partikkel a. 3 tähelisi sõnu pole ka palju, nii saab juba mingid tähed paika ja on vähem vaja “brute force” meetodil läbi proovida.
    • Known-plaintext attack - Kui pealtkuulaja for some reason teaks täpselt et sõnumis esineb “alice” ja “bob”, siis tal on tähepaarid olemas 7 tähe jaoks. Või on õnnestunud saada ligipääs hunnikule ciphertextile ja vähemalt ühele dekrüpteeritud versioonile.
    • Chosen-plaintext attack - Trudy saab valida plaintext sõnumi ja saab kuidagi ka selle ciphertext vormi. Kui Trudy saaks panna Alice saatma mingi sõnumi, mis sisaldab iga tähestiku tähte, siis olekski algoritm murtud.

    Mitmetähestikuline krüpteerimine (polyalphabetic encryption) - ??? tra ma ei tea kas keegi mõikab seda?
    Block ciphers
    Sümmeetrilise võtme üks tehnikatest (üks on veel, see tuleb hiljem). Siin sõnum krüpteeritakse k biti pikkuste blokkidena. Nt kui k=64, siis sõnum tehakse 64-biti pikkusteks blokkideks ja iga blokk krüpteeritakse eraldi.
    Võimalike variante on 2^^k!
    Kui k=3, siis see on vähe variante (8!), aga k=64 tuleb ridiculously suur hulk variante, mida läbi proovida.
    Ainuke kala on, et Alice ja Bob peaksid omama tabelit kus on 2^^64 väärtust, et seda dekrüpteerida.
    Avaliku võtme krüpteerimine
    Sümmeetrilise võtme üks kitsaskohti on see, et kuidagi peab leppima kokku, mis see võti on. Kuidas seda teha nii, et keegi ei kuulaks pealt ja et see võti ka jõuaks õigesse kohta ja ainult sinna? Well magic juhtus 67 aastal ja leiutati avaliku võtme krüpteerimine. Seda kasutatakse nii autentimiseks kui ka digiallkirjastamiseks.
    Algoritmid on tuntud ja avalikud võtmed on...noh...avalikud. Anyways. Alice võtab sõnumi m, lükkab selle algoritmi sisendiks koos Bobi avaliku krüpteerimise võtmega - K+b(m). See saadetakse Bobile, kes paneb selle sisendiks oma dekrüpt algoritmi ja rakendab sellele enda privaatvõtit. m=K-b(K+b(m)). So nad saavad sõnumeid vahetada ilma et peaks oma privaatvõtmeid kuidagi edastama või jagama .
    Võimalik kala - kuna võti on avalik, siis on võimalik Bobile saata tema avaliku võtmega krüpteeritud sõnumeid ja teeselda, et ise oled Alice.
    RSA algoritm
    Avaliku võtme krüptograafia. Kasutab moodularitmeetikat e jäägiga jagamine. 19 mod 5 = 4 ehk 19= 15 + 4.
    Message integrity/autentimine
    Oletame, et saame mingi sõnumi. Meil on vaja kuidagi kindlaks teha, et sõnum tuli ka Alice käest ja et see on muutmata kujul jõudnud Bobini. Nt kui kasutatakse kanali...somethingsomething link state algoritmi siis on võimalik fakkida marsruutimisega seega pole kindel kas A tegelt ka lõi selle sõnumi.
    Räsifunktsioonid
    H(m). On võimatu leida kahte sõnumit x ja y mille puhul H(x)=H(y).
    Nope.avi ma ei jaksa rohkem.
    MÄRKMED KONSULTATSIOONIST (22.03):
    • Dijkstra algoritm (slaid 108): - EKSAMIL!
    Joonistame pildi ja näitame pildi, mis kuidas sammhaaval see töötab Seletada algoritmi põhimõte ja tee näide- kuidas tabel muutub paremaks kui naabritelt saadakse uus teave.
    Joonista graaf - ja näita sammhaaval, kuidas teadmine tekib.
    Kõikide
    • teete tr teete t kirjutada lahti
    • Tee t t tere R teretere tere teretere
  • Vasakule Paremale
    Arvutivõrkude eksami konspekt #1 Arvutivõrkude eksami konspekt #2 Arvutivõrkude eksami konspekt #3 Arvutivõrkude eksami konspekt #4 Arvutivõrkude eksami konspekt #5 Arvutivõrkude eksami konspekt #6 Arvutivõrkude eksami konspekt #7 Arvutivõrkude eksami konspekt #8 Arvutivõrkude eksami konspekt #9 Arvutivõrkude eksami konspekt #10 Arvutivõrkude eksami konspekt #11 Arvutivõrkude eksami konspekt #12 Arvutivõrkude eksami konspekt #13 Arvutivõrkude eksami konspekt #14 Arvutivõrkude eksami konspekt #15 Arvutivõrkude eksami konspekt #16 Arvutivõrkude eksami konspekt #17 Arvutivõrkude eksami konspekt #18 Arvutivõrkude eksami konspekt #19 Arvutivõrkude eksami konspekt #20 Arvutivõrkude eksami konspekt #21 Arvutivõrkude eksami konspekt #22 Arvutivõrkude eksami konspekt #23 Arvutivõrkude eksami konspekt #24 Arvutivõrkude eksami konspekt #25 Arvutivõrkude eksami konspekt #26 Arvutivõrkude eksami konspekt #27 Arvutivõrkude eksami konspekt #28 Arvutivõrkude eksami konspekt #29 Arvutivõrkude eksami konspekt #30 Arvutivõrkude eksami konspekt #31 Arvutivõrkude eksami konspekt #32 Arvutivõrkude eksami konspekt #33 Arvutivõrkude eksami konspekt #34 Arvutivõrkude eksami konspekt #35 Arvutivõrkude eksami konspekt #36 Arvutivõrkude eksami konspekt #37 Arvutivõrkude eksami konspekt #38 Arvutivõrkude eksami konspekt #39 Arvutivõrkude eksami konspekt #40 Arvutivõrkude eksami konspekt #41 Arvutivõrkude eksami konspekt #42 Arvutivõrkude eksami konspekt #43 Arvutivõrkude eksami konspekt #44 Arvutivõrkude eksami konspekt #45 Arvutivõrkude eksami konspekt #46 Arvutivõrkude eksami konspekt #47 Arvutivõrkude eksami konspekt #48 Arvutivõrkude eksami konspekt #49 Arvutivõrkude eksami konspekt #50 Arvutivõrkude eksami konspekt #51 Arvutivõrkude eksami konspekt #52 Arvutivõrkude eksami konspekt #53 Arvutivõrkude eksami konspekt #54 Arvutivõrkude eksami konspekt #55 Arvutivõrkude eksami konspekt #56 Arvutivõrkude eksami konspekt #57 Arvutivõrkude eksami konspekt #58 Arvutivõrkude eksami konspekt #59 Arvutivõrkude eksami konspekt #60 Arvutivõrkude eksami konspekt #61 Arvutivõrkude eksami konspekt #62 Arvutivõrkude eksami konspekt #63 Arvutivõrkude eksami konspekt #64 Arvutivõrkude eksami konspekt #65 Arvutivõrkude eksami konspekt #66 Arvutivõrkude eksami konspekt #67 Arvutivõrkude eksami konspekt #68 Arvutivõrkude eksami konspekt #69 Arvutivõrkude eksami konspekt #70 Arvutivõrkude eksami konspekt #71 Arvutivõrkude eksami konspekt #72
    Punktid 100 punkti Autor soovib selle materjali allalaadimise eest saada 100 punkti.
    Leheküljed ~ 72 lehte Lehekülgede arv dokumendis
    Aeg2017-03-30 Kuupäev, millal dokument üles laeti
    Allalaadimisi 41 laadimist Kokku alla laetud
    Kommentaarid 0 arvamust Teiste kasutajate poolt lisatud kommentaarid
    Autor AnnaAbi Õppematerjali autor
    TTÜ Arvutivõrkude edukaks läbimiseks koostatud konspekt, slaide eriti ei kasutanud, peaaegu kõik materjal on õpiku enda põhjal koostatud.

    Sarnased õppematerjalid

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

    Arvutivõrgud. Väga põhjalik eksamimaterjal

    buffritesse. Kui liiklus on väike, siis järjekordi buffrites eriti pole ja järjekordade viide on minimaalne ning vastupidi. Paketiedastamine järgmisesse võrgusõlme - aeg, mis kulub paketi lükkamiseks kanalisse, mis viib järgmisesse võrgusõlme. Kusjuures paketti ei lükata enne kanalisse kui terve pakett on võrgusõlme kohale jõudnud. Liikumine võrgusõlmede vahel ­ aeg, mis kulub liikumiseks ühest võrgusõlmest teise. 11. Arvutivõrkude ja Interneti ajalugu 1961 ­ Kleinrock tuli välja järjekorra teooriaga (queueing theory), mis oli pakettedastuse üks põhialuseid 1964 ­ Barani pakettvahetuse teooria 1967 ­ ARPAneti arendamise algus (ARPAnet on esimene pakettedastusvõrk ja interneti eelkäija) 1969 ­ Esimene APRAneti võrgusõlm 1970 ­ ALOHAnet satelliitvõrk Havail 1972 ­ ARPAneti avalik demonstratsioon; NCP (esimene otspunktide vaheline protokoll); Esimene e-maili programm; ARPAnetis on 15 võrgusõlme

    Arvutivõrgud
    Arvutivõrkude konspekt 2014 eksamiks
    41
    pdf

    Arvutivõrkude konspekt 2014 eksamiks

    kanalisse, mis viib järgmisesse võrgusõlme. Kusjuures paketti ei lükata enne kanalisse kui terve pakett on võrgusõlme kohale jõudnud. Liikumine võrgusõlmede vahel ­ aeg, mis kulub liikumiseks ühest võrgusõlmest teise. Igas võrgus on puhver, kuhu salvestatakse kõik töötlemist ootavad paketid. Kui puhver on täis, hakatakse sissetulevaid pakette ignoreerima. 7 11. Arvutivõrkude ja Interneti ajalugu Tänase Interneti kujundamist alustati 1960. aastatel USA kaitseministeeriumi katselisest arvutivõrgust ARPANET. 1969. aastal toimusid esimesed õnnestunud katsed pakettedastusprotokolliga - Esimene ARPAneti võrgusõlm. 1970 - ALOHAnet satelliitvõrk Hawaiil. 1972 - Esimene e-maili programm. 1974. töötasid Vint Cerf ja Robert Kahn välja esialgse interneti arhitektuuri. Aastal 1983 käivitati esimene TCP/IP arvutivõrk 200 hostarvutiga ja DNS.

    Arvutivõrgud
    Arvutivõrgud eksamimaterjalid
    46
    pdf

    Arvutivõrgud eksamimaterjalid

    teine. Teisendame andmed ühelt kujult teisele (krüpteerimine). 12) Võrgu haldamine – on vajalik võrgusüsteemi administreerimiseks, sest ükski süsteem ei jookse iseenesest. Vajalik on süsteemi vaadelda ja reageerida ülekoormustele, tõrgetele jms. Kuidas katkestustest ja vigadest/häiretest üle saada? 3. Mitmekihiline arhitektuur postisüsteemi näite baasil saadame kaardi sõbrale on analoogne sellega kuidas on üles ehitatud arvutivõrkude üldine arhitektuur. Kiri ümbrikusse – kiri vormistatakse kindlal moel, aadressil kindel formaat. Kirja panen postkasti – liidese punkt mille kaudu pääsen ligi postisüsteemi teenusele (arvutis näiteks SEND vajutamine). Teisel pool on ka postkast – postkastist leian oma nimega kirja. Postkastid on liidesepunktid. Aadressi kirjutamine korrektselt - KINDLAD REEGLID et liidesele ligi pääseda. Pean leidma keele, millest vastuvõtja ka aru saab

    Arvutivõrgud
    Arvutivõrgud eksamiks
    2
    doc

    Arvutivõrgud eksamiks

    1.Üldine kommunikatsiooni mudel 12.Mida erinevad rakendused nõuavad võrkudelt timeouti määramisel aluseks eeldatav RTT:=(1-X)eeld. RTT+X*eelmine RTT, X=0,1,. Igaks juhuks lisatakse timeoudile ka "igaks Source (see, kes saadab) > transmitter (saatev seade) > transmissioon system (ülekande süsteem) > receiver (vastuvõttev seade) > Kui kaks rakendust asuvad ühes arvutis kasutatakse omavaheliseks suhtlemiseks operatsioonisüsteemi. Kui aga andmevahetus toimub üle juhuks" aeg. Selles võetakse arvesse eeldatava RTT ja eelmise RTT vahe ning hälvet. destination (see, kes vastu võtab). Nt tööjaam, arvuti > modem > telefoni tavavõrk > modem > vastuvõtja, server võrgu, siis vajatakse rakenduskihi protokolle. Rakendused

    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
    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
    Arvutivõrgud eksamiks
    28
    docx

    Arvutivõrgud eksamiks

    Edastusviide: aeg, mis kulub paketi liinile toimetamiseks. Meediumi viide: aeg, mis kulub paketi liikumiseks mööda sidekanalit. t = R/l t ­ aeg, mis kulub bittide saatmiseks liini, R ­ ribalaius, l ­ liini pikkus i = l*a/R i ­ liikluse intensiivsus, a ­ keskmine pakettide saabumise aeg Igas võrguseadmes on puhver (stack), kuhu salvestatakse kõik töötlemist ootavad paketid. Kui puhver on täis, hakatakse sissetulevaid pakette ignoreerima, s.t. i < 1. 11. Arvutivõrkude ja Interneti ajalugu 12. Mida erinevad rakendused nõuavad võrkudelt + Kui kaks rakendust asuvad ühes arvutis, kasutatakse omavaheliseks suhtlemiseks operatsioonisüsteemi. Kui andmevahetus toimub üle võrgu, siis vajatakse rakenduskihi protokolle. Rakendused nõuavad kahetasemelist adresseerimist: IP-aadressi ja pordi kaudu. Rakenduse jaoks võrku iseloomustavad parameetrid: Andmete kadu ­ sõltuvalt rakendusest võib andmete kadu olla suurem või väiksem, häirimata

    Arvutivõrgud
    Kommunikatsioonimudel
    102
    pdf

    Kommunikatsioonimudel

    * Transmission delay – paketi võrku saatmiseks kuluv aeg – sõltub kanali kiirusest. Kui paketi suurus L bitti, edastuskiirus R bit/sek, aega kulub L/R sekundit (tavaliselt mikrosekunditest millisekunditeni). * Propagation delay – andmete liikumise aeg – signaali leviku aeg edastuskeskkonnast järgmise ruuterini. Kiirus sõltub edastusmeediast ja jääb vahemikku 2*10^8 – 3*10^8 m/s. Kui d on kahe ruuteri vaheline kaugus ja s edastuskiirus, siis viide on d/s. Millisekundites. 14. Arvutivõrkude ja interneti ajalugu * 1961 – 1972 – the development of packet switching. 1961 – Kleinrock – queuing theory shows effectiveness of packet-switching 1964 – Baran – packet-switching in military nets 1967 – ARPAnet conceived by Advanced Research Projects Agency 1969 – first ARPAnet node operational 1972 – ARPAnet demonstrated publicly, first e-mail program * 1972 – 1980 – Internetworking, new and proprietary nets 1970 – ALOHAnet satellite network in Hawaii

    Tehnoloogia




    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