1. Üldine kommunikatsioonimudel Sõnumi allikas->
saatja (allikast info)->edastussüsteem->
vastuvõtja ->sihtjaam [üheks
näiteks võiks olla: Arvuti->modem->ÜKTV->modem->arvuti]
sisendinfoAllikas(sisendandmed g(t))->edastaja e. transmitter(edasi
saadetud signaal s(t))->edastussüsteem(saadud
signaal r(t))->vastuvõtja(väljund andmed g'(t))-
>lõppunkti saaväljund informatsioon m'
2. Kommunikatsioonisüsteemi ülesanne • mõistlik kasutamine/koormamine
• liidestus(kokku ühendamine. Ntx: võrk+võrk, arvuti+võrk)
• Signaalide genereerimine(
edastamine )(signaalide ühest
süsteemist teise
üleviimine)
• Sünkroniseerimine [andmeedastuse algust(saatja) ja lõppu(vastuvõtjat)]
• Andmeside haldamine
•
Vigade avastamine ja parandamine(näiteks side mürarikkas keskkonnas)
• Voojuhtimine (vastuvõtja saab pakette vastu võtta kindla kiirusega->on vaja
kontrollida andmeedastuse voogu)
• Adresseerimine
• Marsruutimine (vaja leida tee võrguserverini,
pakettide suunamine)
•
Taastumine (vigastest olukordadest). Süsteem peab aru saama, kust algas
vigane olukord, et sealt tööd uuesti jätkata(peab aru saama, mis on tehtd, mis
tegemata)
• Sõnumi
formaadid (arvutite omavaheline
suhtlemine ->samad kodeerimise
viisid)
• Turvalisus
• Võrgunduse haldamine
3. Mitmekihiline arhitektuur failiedastussüsteemi näite baasil faili
edastus rakendus (failid ja faili edastuse
käsud )->suhtlemise teenuse
moodul (suhtlemisega seotud
sõnumid ,
paketid )->võrgu juurdepääsu
moodul(suhtlemise võrk)
Igal osal on omad ülesanded, osa mingist suuremast protsessist.
Näiteks kolmekihiline arhitektuur:
Rakenduse kiht->transpordi kiht->võrgu
juurdepääsu kiht; erinevad ühenduse pooled suhtlevad sama taseme kihtide tasemel
protokollide alusel.Saadetava info sisust ei teata vahepealsetes
etappide midagi.
4. Mitmekihiline arhitektuur postisüsteemi näite baasil Posti edastamisel on mitmed etapid. Kui keegi
saadab kirja, siis vahepealsetel
etappidel ei teata midagi selle sisust. Saatja peab saadetise teataval
kombel adresseerima, et see oleks kohale toimetatav sihtpunkti. Näide: saatja->
postkontor -
>transporivahendid->postkontor(võib mitmeid
kordi korduda, kuna kiri võib mitmest
postkontorist läbi käia)->saaja; vahepealsetes etappides ei teata kirja sisust midagi ja
kirja saab kätte see, kellele see adresseeritud on.
1
5. Andmete liikumine läbi kihtide, protokoll
Võrgud on väga keerulised, sest võrgul palju osi: hostid, ruuterid, erinevad
meedialülid,
rakendused ,
protokollid ,
tarkvara ,
riistvara . Erinevaid võrgukihte vaja, et võrgu
struktuuri organiseerida ja tegeleda
keeruliste süsteemidega: * üksikasjalik struktuur
võimaldab, identifitseerimist, keeruliste süsteemiosade vahelised suhted *mooduliteks
eraldamine kergendab hooldamist, süsteemi uuendamist (kihi teenuse muutmine pole nähtav
ülejäänud süsteemile).
Interneti protokolli puhul:
Rakenduse kiht: toetab võrgu rakendusi(ftp,
smtp , http); Transpordi kiht:
host -host andmete
edastamine(tcp, udp); võrk: marsruudib datagramme allikast sihtpunkti(ip, marsruutimise
protokollid);
kanal : andmete üle kandmine võrgu naaberelementide vahel(ppp,
ethernet );
füüsiline: bitid “traadil”.
Iga kiht
teostab kindlaid tegevusi, suhtleb samasuguste kihtidega.
Näiteks transport: *Rakenduselt võetakse andmed * lisatakse adresseerimine; usaldatavuse
kontroll; info vormile; saadakse datagramm *
saadetakse datagramm teisele suhtluspoolele *
oodatakse ack kviitungit
Võrgu
kiht(
network )
Protokollid
defineerivad
andmeformaadid, sõnumite
Rakendus(applicatio
järjekorra(nii saatmisel
kui vastuvõtmisel), tegevused
n)
vastuvõtmisel.
Transport
Juhib kommunikatsiooni:1)
süntaks – formaat,
keelereeglistik;
2)
semantika - loob tähenduse andmetele; 3) ajastusreeglid –
kiiruse sobitamine, järjestus jne
Protokolli vaja selleks, et lähtepunkt saaks kuidagi
aktiverida ühenduse või
informeerima ühendust
Kanal(
link )
sihtpunktist.
Liskas peab olema kindel, et
sihtpunkt on
valmis andmeid vastu võtma. Kui faili formaat on ühele
osapoolele
vastuvõetamatu, siis peab üks
osapooltest selle muutma arusaadavaks
Füüsiline
(
physical )
vastuvõtjale.
Protokolli andmeühikud: rakenduse andmed-
>transpordi
päis +transpordi
protokolli
andemete
ühikud (Transport
Protocol Data
Units )->võrgu päis(sihtarvuti aadress+erinõuded)+võrgu PDU(Protocol Data
Units); Iga järgmisele
kihile minnes liidetakse eraldi päis juurde eelmisel
kihil tekkinud
andmeühikule.
6. OSI mudel, kihid , teenused, protokoll ideaalne raammudel, mis pole
kasutust leidnud, kuna TCP/IP
mudel oli juba kasutusel.
Rakendus
(
application )
Määrab tagasisidega või tagasisideta teenuseid
* Rakenduse kiht tagab kasutajatele juurdepääsu OSI
Esitlus
(presentation)
keskkonda, tagabjagatud informatsiooni teenuseid
* Esitluse kiht tagab sõltumatuse rakenduse kihile
sessioon
erinevustest informatsiooni esitlusest(süntaks)
* Sessiooni kiht taga kontrolli rakenduste suhtlemisel.
Loob, kontrollib, lõpetab sessioonid(
ühendused )
* transpordi kiht tagab
Võrk (network)
usaldusväärse, “läbipaistva” andmetevahetuse
Kanal (data link)
2
füüsiline
rakenduste vahel. Tagab ka vigade avastamist ja voo kontrolli
* võrgu kiht tagab ülemistele kihtidele sõltumatuse info
edastuse j a lülituste tehnoloogiate erinevustest. Vastutab ka
ühenduste loomise, hoidmise ja lõpetamise eest
* Kanali kiht tagab usaldusväärse informatsiooni
edastamise füüsilisel kanalil. Saadab
frame vajaliku sünkronisatsiooniga, vigade kontroll ja voo kontroll.
* Füüsiline kiht – struktureerimata bitijada edastamine üle füüsilise ühenduse. Tegeleb
mehhaanilisete, elektrilisete, funktsionaalsete ja protseduuriliste karakteristikutega, et
pääseda ligi
füüsilisele kanalile.
Kuna iga kihi funktsioonid on kindlalt defineeritud, saab standardeid arendada erinevate
kihtide jaoks iseseisvalt. See kiirendab standardite loomist. Kuna piirid kihtide vahel o
selged, siis ühe kihi piires tehtud standardite muutused ei pea mõju avaldama teiste kihtide
standarditele (tarkvarale). Kaks osapoolt samal kihil suhtlevad protokollide abil. Kuid
standardeid on vaja ülemistele kihtidele ostatavate teenuste tarvis(alumiselt kihilt tuleb
ülemisele teenus).
7. TCP/IP mudel Pakett erinevates kihtides: sõnum rakenduskihis,
segment transpordikihis, datagramm
võrgu kihis,
kaader (frame) kanalikihis
ISO OSI mudeli ja TCP/IP mudeli vaheline võrdlus:
8. Internet ja hajusrakendused Võrgus võib olla miljoneid ühendatud seadmeid: *hostid,
lõppsüsteemid(PC,
serverid , PDA, aga ntks ka rösterid)
* kommunikatsiooni ühendused(
fiiber , raadiovõrgud,
satelliit )
*ruuterid(
edastada andmepakette läbi võrgu)
Protokollid on selleks, et kontrolida võrgus sõnumite saatmist
ja vastuvõtmist(TCP, IP, HTTP, FTP, PPP). Internet on
tegelikult võrk võrkudest(nõrgalt
hierarhiline ; õldine Internet
vs. privaatne intranet). Rakendused on levitatud
infrastrutuuris.
3
9. Kanalikommunikatsioon, pakettkommutatsioon ja sõnumi kommutatsioon
* kanalikommutatsioon – lõppunktide ressurdsid on reserveeritud ühenduse
tarvis(iseloomustavad: kanali
ribalaius , lülituse jõudlus, pole ressursside jagamist,
garanteeritud esitus, ühenduse setup vajalik;)Kanali ribalaius jagatakse tükkideks(kas
sageduse või aja järgi). Ühele kliendile antakse kindel
tükk ja kui ta endale määratud
ajal seda ei kasuta, siis seda ei jagata teistele kasutajatele(kellele, seda vaja võib
minna)- sel hetkel on kanal jõudeolekus.
* pakettkommutatsioon – andmevood jagatud pakettideks. Erinevate kasutajate
paketid jagavad ühist ressurssi. Iga pakett kasutab
tervet kanali ribalaiust. Ressursse
kasutatakse vastavalt vajadusele. Võitlus ressursi üle: samaaegne ressursi
nõudlus võib
ületada “pakkumise”. Võib tekkida pakettide
järjekord , peavad ootama, et kanalit
kasutada saaks(protokollid!). Paketid liiguvad ühe hüppe kaupa(iga järgmise lüli
juures tuleb oodata oma korda). Iga järgmine lülitus ootab kogu andmete kogumi ära,
enne kui edasi marsruutima hakkab. Pakettkommutatsioon võimaldab rohkem
kasutajaid võrku kasutada.
* sõnumi kommutatsioon – aluseks
eelmine , kuid tervet sõnumit korraga saata
10. Multipleksimine sageduse, aja ja koodi järgi Multipleksimine- ühenduse tarbeks ressursi jagamine.
*
FDMA - sageduspõhine(sagedust jagav ühispöördus)(kõik kasutajad samal ajal kasutavad
kanalit, igale kasutajale oma
sagedusala )
*
TDMA - sagedusala ühine, ajapõhine ühispöördus(igale kasutajale antakse kindel aeg, mille
jooksul tema tegeleb info jagamisega/vastuvõtmisega)
*
CDMA - koodipõhine, info varustatakse
koodiga . Vastu võetakse info, mille kood klapib.
11. Datagrammvõrgud, virtuaalahelatega võrgud Pakettkommutatsiooni puhul marsruutimine(eesmärgiks on pakettide liigutamine
ruuterite vahel algpunktist sihtpunkti):
* datagrammvõrgud – kogu aeg otsustatakse, mis teed valida. Teise
osapoole hinnang(TCP/IP). Sihtpunkti aadress määrab järgmise sammu(hop). Teekond võib
muutuda ka ühe sessiooni vältel(analoogiks on autoga sõitmisel tee küsimine)
* virtuaalahelagea võrgud – alguses
seatakse marsruut paika, mis püsib kogu ühenduse
ajal(ruuterid säilitavad kõneaegse seisundi). Ei reserveeri seda teed küll füüiliselt.
Kasutatakse enamasti, kui vähe infot tarvis saata(ATM). Igal paketil “
silt ”(virtuaalse
ahela ID), mis määrab järgmise hüppe(hop).
12. Edastusmeedia
Edastusvahendid ei pea iga saatja/vastuvõtja paari jaoks täpselt samasugused olema.
Edastusmeediat kahte tüüpi – guided ja unguided (juhitav ja juhitamatu siis):
* Guided media – lained liiguvad kindlat teed pidi (fiiberoptiline, koaksiaal- ja twisted-
pair kaabel )
4
* Unguided media – signaal levib vabalt (
wireless LAN,
digital satellite
channel ),
raadiolained.
Erinevad edastusvõimalused:
* Twisted-pair
copper wire , TP (
keerdpaar vaskkaabel) – kaks isoleeritud vasktraati.
Unshielded twisted pair (UTP)
cable – peamiselt kasutatakse LAN’ide jaoks.
Category 3 –
traditsiooniline telefonikaabel, 10 Mbps Ethernet. Category 5 – 100 Mbps Ethernet.
*
Koaksiaalkaabel – koosneb samuti kahest vaskkonstruktsioonist, aga need pole mitte
paralleelsed, vaid kontsentrilised. Kahesuunaline infoedastus, kasutatakse enamasti 10 Mbps
Etherneti puhul. Kahte tüüpi: baseband coaxial cable ja broadband coaxial cable. Baseband –
kasutatakse LAN’ide jaoks, ühe kanaliga. Broadband – mitme kanaliga, mitu lõppsüsteemi
võivad olla otse kaabli külge ühendatud, kasutatakse televisioonisüsteemides.
* Fiiberoptiline kaabel – klaasfiiber, mis kannab valgusimpulsse. Võimaldab suurt kiirust
(sadu gigabitte sekundis), immuunsed elektromagnetilisele mõjule, väike sumbuvus.
* Raadiolained – signaali kantakse elektromagnetilises
spektris . Ei vaja kaableid, võimaldab
ületada seinu, kahesuunaline, signaali saab kanda pikemate vahemaade taha, mugav
mobiilsele kasutajale.
Karakteristikud sõltuvad vahemaast ja levimise keskkonnast
(võimalikud igasugsed peegeldumised, signaali nõrgenemised takistuste tõttu, teiste
raadiolainete vahelesegamine).
Laineid kahte tüüpi – need, mis levivad ~100 meetrit ja teised,
mis võivad
levida kümneid kilomeetreid. Mikrolained – kuni 45 Mbps kanal. LAN – 2 ja 11
Mbps. Wide-area (mobiil näiteks) – 10 kbps. Satelliit – kuni 50 Mbps kanal või mitu väikema
kiirusega kanalit, 250 millisekundiline hilinemine suure vahemaa tõttu.
13. Ajalised viited võrkudes
Pakettidel tekivad alguspunktist lõpp-punkti jõudmisega nelja erinevat tüüpi viiteid.
* Processing
delay –
paketi töötlemise peale kuluv aeg – vigade kontroll, aadressi otsimine,
päise lugemine.
* Queuing delay – järjekorra peale minev aeg – pakett ootab, et teda edasi saadetakse. Ooteaja
pikkus sõltub varem saabunud pakettidest, mis samuti ootavad. Tavaliselt mikrosekunditest
millisekunditeni.
* 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
1973 – Metcalfe’s PhD thesis proposes Ethernet
1974 – Cerf and Kahn – architecture for interconnecting
networks * 1980 – 1990 – new protocols, a poliferation of networks
5
1982 – SMTP e-mail protocol
1983 – deployment of TCP/IP, DNS defined for name-to-IP-address
translation 1985 – FTP protocol defined
1988 – TCP congestion
control * 1990’s – commercialization, the WWW
Early 1990’s – ARPAnet decommissioned
1991 – NSF lifts restrictions on commercial use of NSFnet
Early 1990’s – WWW (hypertext, HTML, HTTP, 1994 – Mosaic,
later Netscape ,
late 1990’s
– commercialization of the WWW).
15. Mida erinevad rakendused nõuavad võrkudelt
* Andmekadu – mõned rakendused võivad kaotada natuke andmeid (
audio , video, interactive
games), mõned jällegi nõuavad 100% edastust (failiedastus, e-mail, veebidokumendid,
instant messages).
* Ribalaius – mõned rakendused vajavad kindlat minimaalset ribalaiust, et efektiivselt
andmeid edastada (internetitelefon,
multimeedia , mängud). Elastsed rakendused (e-mail,
failiedastus, veebidokumendid, instant messages) kasutavad võimalikku
olemasolevat ribalaiust, ükskõik kui väike see ka poleks.
* Aeg – osad rakendused nõuavad väikest ajaviidet (~100 millisekundit), et toimida
efektiivselt (internetitelefon, multimeedia, mängud, osalt ka instant messaging).
16. HTTP
Hypertext
transfer protocol.
Klient ja
server saavad rääkida üksteisega HTTP sõnumeid
edastades. HTTP
defineerib sõnumite struktuuri ja selle, kuidas neid
vahetatakse , sisuliselt
siis selle, kuidas veebiklient vastab veebilehekülgedele, mis internetist tulevad ning kuvab
neid, ja kuidas
veebiserver neid lehekülgi klientidele edastab. Nii HTTP 1.0 kui ka HTTP 1.1
kasutavad transportimiseks TCP-d alusprotokollina.
Kõigepealt HTTP klient loob TCP
ühenduse serveriga (loob socketi), port 80. Server aktsepteerib kliendilt tuleva TCP ühenduse.
Sõnumisaatmine käibki läbi socketite: kui klient saadab sõnumi oma socketi liidesesse, on see
tema ulatusest väljas ja TCP tegeleb sellega edasi. HTTP ei säilita informatsiooni klientide
kohta, st kui näiteks klient küsib sama objekti paarisekundilise perioodi jooksul kaks korda,
siis server saadabki talle kaks korda, mitte ei jäta meelde, mida ta kellele juba saatnud on.
Seetõttu on HTTP stateless (seisundita, kodakondsuseta?) protokoll.
HTTP üldiselt võib kasutada nii püsivat (persistent) kui mittepüsivat (nonpersistent) ühendust.
HTTP 1.0 kasutab mittepüsivat ühendust ainult. Mittepüsiva ühenduse korral saadetakse TCP
kaudu vaid üks objekt, järgmise saatmiseks tuleb luua uus ühendus (järelikult
luuakse mitu
paralleelset ühendust). Iga TCP ühendus transpordib vaid ühte nõudmise sõnumit ja ühte
vastuse sõnumit. Püsiva ühenduse korral luuakse mitme objekti saatmiseks ühendus vaid üks
kord, st et server jätab ühenduse pärast vastuse saatmist mõneks ajaks lahti, et järgnevad
toimingud sama kliendiga saaks toimuda läbi sama ühenduse (pole mitut aeglast ühenduse
loomist).
6
HTTP võimaldab kahte viisi, kuidas server saab kasutajat identifitseerida –
autoriseerimine ja
cookie ’d. Autoriseerimise korral saadab klient kõigepealt tühja sõnumi ilma erilise
pealkirjata, server vastab talle sõnumiga: authorization
required ja lisab WWW-
Authenticate: päise, mis näitab, kuidas autoriseerimine toimub (tavaliselt kasutajanime
ja parooliga). Seejärel saadab klient sõnumi kasutajanime ja parooliga, lisades päisesse rea
Authorization: , kus on ka kasutajanimi ja
parool . Klient jätkab kasutajanime ja
parooli saatmist kuniks
brauser suletakse (ilma autoriseerimispäiseta keeldub server vastamast, kui
autoriseerimist siiski veel vaja oleks). Cookie’de tehnoloogial on neli komponenti: cookie
päis HTTP response sõnumis, cookie päis HTTP request sõnumis, cookie fail kasutaja
süsteemis, mida haldab kasutaja brauser, ja andmebaas veebilehel. Kui serverisse tuleb
request sõnum, siis luuakse
unikaalne idendifitseerimisnumber ja andmebaasi tehakse
sissepääs, mis on selle numbriga indekseeritud. Server vastab kliendile, lisades HTTP
päisesse Set-cookie: päise, kus on ka see unikaalne number. Brauser loob selle peale
spetsiaalse cookie faili, kust iga päringu puhul võtab HTTP päisesse unikaalse numbri, mille
lisab päisesse pandud Cookie: järgi. Edaspidi jätkab klient sõnumite saatmist Cookie:
päisega, server vastab aga tavalise HTTP sõnumiga. Iga veebilehe jaoks luuakse vaid üks
cookie ning hiljem seda lehte külastades kasutatakse ikka sedasama numbrit.
HTTP võimaldab ka web cahcingut, mille korral ei pea sama objekti poole pöördudes seda
uuesti kliendile
saatma hakkama, vaid see säilitatakse kliendi serveris. Meetodiga conditional
GET lisatakse HTTP päisesse rida If-Modified_since: . Server saadab küll sellise
päisega request sõnumile vastuse, kuid ei lisa sellele objekti, kui objekti pole muudetud pärast
kuupäeva, mis on If-Modified_since: järel. Objekti asemel saadetakse vastus
staatusega 304 Not
Modified .
7
17. FTP
Tüüpilise FTP sessiooni ajal kasutaja istub ühe hosti (
local host) ees ja tahab saata või
tõmmata faile teisest hostist (remote host). Kasutaja peab andma kasutajanime ja parooli
(saadetakse üle FTP) ning seejärel saab ta
laadida faile oma failisüsteemist remote
failisüsteemi või vastupidi. FTP loob kaks paralleelset TCP ühendust, kontrollühenduse ja
andmeühenduse. Kontrollühenduse kaudu saadetakse kasutajanimi, parool, käsud jne.
Andmeühenduse kaudu liigub fail. Kahe eraldi ühenduse tõttu on FTP-l out-of-
band kontroll,
st et kontroll faili ühe käib teise ühenduse kaudu. FTP sessiooni korral luuakse kõigepealt
kontroll TCP ühendus pordiga 21, mille käigus saadetakse ka kasutajanimi ja parool.
Andmeedastus käib üle pordi 20. Ühe andmeühenduse saadetakse vaid üks fail. Kui klient
soovib veel teist faili saata või vastu võtta, luuakse uus TCP ühendus. Kontrollühendus jäb
avatuks terve sessiooni vältel. FTP säilitab kliendi oleku – autentimise ja hetkelise directory.
18. Elektronpost, SMTP, MIME , POP3
Mailisüsteemil on kolm peamist komponenti:
user agents, mailiserver ja
Simple Mail Transfer
Protocol (SMTP). User
agent võimaldab kasutajatel lugeda vastata, edasi saata, salvestada või
koostada sõnumit, näiteks Outlook, Eudora, Netscape Messenger jne. Tulevad ja väljuvad
sõnumid säilitatakse serveris. Mailserverid moodustavad e-
maili infrastruktuuri tuuma. Igal
vastuvõtjal (isikul) on mailbox mingis serveris, mis sisaldab sissetulevaid kirju. Kui server ei
suuda kohe väljuvaid kirju edastada, lähevad need serveris
järjekorda (
message queue) ja
server proovib neid hiljem saata. Kui juba mitme päeva jooksul pole õnnestunud kirja ära
saata, teavitatakse sellest kasutajat. Mailiserverid kasutavad omavahel sõnumite saatmiseks
SMTP protokolli. Igas mailiserveris on nii SMTP kliendi kui serveri pool, saatja server käitub
lihtsalt SMTP kliendina, vastuvõtja SMTP serverina. SMTP kasutab TCP protokolli, et
edastada e-maile kliendilt serverile, kasutatakse
porti 25. Toimub otseühendus klientserveri ja
vastuvõtjaserveri vahel (kui vastuvõtjaserver on maas, jääb sõnum klientserverisse, mitte ei
liigu
kuhugi „lähemale” serverisse). SMTP piirab nii sõnumite päise kui
body 7-bitisesse
ASCII koodi (sellega kaasneb palju kodeerimist/dekodeerimist, eriti multimeedia osas).
Saatmise ajaks luuakse TCP ühendus.
Saatmine koosneb kolmest faasist: handshaking
(klientserver edastab saatja ja vastuvõtja mailiaadressi), sõnumiedastus (kui on mitu sõnumit,
siis need saadetakse kõik üle ühe TCP ühenduse seda
vahepeal sulgemata) ja
sulgemine .
Sõnumi täielikku lõppu tähistab rida CRLF.CRLF .
SMTP võrdlus HTTP-ga: mõlemad protokollid transpordivad faile ühest hostist teise,
kasutades püsivat ühendust. HTTP on peamiselt
pull protocol (keegi laeb informatsiooni
veebiserverisse ja kasutajad kasutavad HTTP-d, et tõmmata informatsioon serverist endale),
SMTP aga enamasti
push protocol (saatja mailiserver lükkab faili vastuvõtjaserverisse).
SMTP nõuab, et iga sõnum oleks 7-bitises ASCII
formaadis , HTTP-l sellist piirangut pole.
8
Kui dokument sisaldab näiteks teksti ja pilte, siis HTTP transpordib iga objekti eraldi
sõnumis, SMTP paneb aga kõik ühe sõnumi objektid ühte sõnumisse.
Sõnum, mida saadetakse, koosneb päisest ja bodyst, mis on eraldatud tühja reaga. Igas päises
on From: , To: ja võib olla ka
Subject : rida (see päis on kirja enda päis, mitte see,
mida SMTP saadab). Body’s on tekst ASCII formaadis. Kuna aga ASCII koodis pole
võimalik saata teatud sümboleid ja näiteks multimeediat, siis lisatakse kirjale lisapäised. Üks
võimalus oleks MIME (Multipurpose Internet Mail Extension) kasutuselevõtt, millega
kaasnevad kolm rida päises (vt. joonist). Content-Transfer-Encoding: on oluline,
kuna kõik sõnumid tuleb kodeerida ASCII formaati siiski, et SMTP neid saata saaks. See
lihtsalt annab user agent’ile teada, millist viisi tuleb lahtikodeerimiseks kasutada.
Content-Type: osa päises näeb
tüüpiliselt välja selline:
Content-Type: type/subtype; parameters . Parameters on subtype’i
piiritlevad väärtused. Erinevad tüübid:
Veel üheks tüübiks on multipart, mis tähendab seda, et e-mail sisaldab mitut erinevat tüüpi
objekte (tekst, pildid, audio jne). Seejärel lisatakse iga objekti ette veel read Content-
Type: ja Content-Transfer-Encoding: , mis täpsustavad iga objekti veel eraldi.
Näide:
9
Kuna user agent pole enamasti mailiserveri küljes, sest vastasel juhul peaks kasutaja arvuti
kogu aeg sees olema, et kontrollida, kas uusi kirju on saabunud, siis kasutab kirja saatmisel
arvuti mailiserveriga suhtlemiseks samuti SMTP protokolli. Kui aga vastuvõtja arvuti tahab
vastuvõtjaserverilt kirju kätte saada, siis ei saa kasutada SMTP protokolli, kuna see on push
protocol. Vaja läheb aga pull protocol’i (HTTP, POP3,
IMAP ).
POP3 (Post Office Protocol –
Version 3) jaoks tuleb samuti luua TCP ühendus. POP3-l on
kolm faasi: autoriseerimine, tegutsemine (
transaction ) ja uuendamine (update).
Autoriseerimise koral saadetakse kasutajanimi ja parool. Kaks
põhilist käsku: user ja
pass . Tegutsemise ajal otsitakse sõnumeid, märgitakse neid
kustutamiseks jne. Server vastab kliendi käskudele kas +OK (
käsk korralik) või –ERR (midagi
on käsus valesti). Kliendi poolt edastatavad käsud: list, retr, dele ja quit.
Uuendamise faas läheb
käiku siis, kui klient on otsustanud lõpetada POP3 sessiooni. Sellel
korral mailiserver
kustutab märgitud sõnumid. Näide:
10
19. DNS
Hostide identifitseerimiseks on kas hostinimed (www.yahoo.com, www.
neti .ee) või IP-
aadressid . Ruuteritele on lihtsam toimetada IP-aadressidega, kuna need annavad paremat
informatsiooni hosti asukohast, inimestele jäävad nimed parenimi meelde, kui
numbrite jadad.
DNS-i (
Domain Name System) ülesandeks ongi muuta hostinimed IP-aadressideks. DNS on
1) nimeserverite hierarhiline
hajutatud andmebaas, 2) rakenduskihi protokoll, mille abil
arvutid suhtlevad nimeserveritega. DNS kasutab UDP’d pordil 53. DNS-i kasutavad teised
rakenduskihi protokollid (HTTP, SMTP, FTP jne), et muuta hostinimed IP-aadressideks.
DNS pakub mitut teenust, et hostinimed IP-aadressideks muuta:
* Host aliasing – keerukamatel hostinimedel võib olla mitu aliast, mis on lihtsamad kui õige
nimi. Näiteks hostinimel relay1.west-coast.enterprise.com on aliasteks enterprise.com ja
www. enterprise.com.
* Mail server aliasing – ka mailiaadressid võivad olla keerukamad.
*
Load distribution (koormuse jagamine) – suurema külastatavusega saitide koormus
jagatakse mitme serveri vahel, st, et ühele hostinimele võib vastavusse seada mitu IP-aadressi.
DNS-i puhul pole ühte serverit, kus kõik seosed kirjas oleks, vaid andmebaas on hajutatud üle
maailma. Hajutamise põhjused:
* Kui nimeserver maas oleks, siis oleks seda ka terve internet
* Tihe
liiklus * Kaugus teisel pool maakera olevatest kasutajatest näiteks, st et üks server ei saa olla kõigile
kasutajatele lähedal.
* Üks server peaks hoidma kogu infot, lisaks tuleb teda pidevalt
uuendada , samuti ka
autentimise ja autoriseerimise probleemid.
Hajutamise korral on kolme tüüpi nimeservereid, mis omavad teatud osa andmebaasist:
kohalikud nimeserverid, juurserverid ja autoritatiivsed nimeserverid. Igal ISP-l
(internetiteenuse pakkujal) on oma nimeserver. Päringu tegemisel küsitaksegi kõigepealt
kohaliku nimeserveri käest. Kui see vastust ei tea, edastatakse
päring juurserverile, mis
omakorda küsib autoritatiivse nimeserveri käest (teab autoritatiivse nimeserveri aadressi) ja
siis edastab selle kohalikule nimeserverile. Autoritatiivne nimeserver säilitab hosti jaoks
hostinime ja IP-aadressi ning käitub enamasti ka kohaliku nimeserverina.
Rekursiivse päringu korral küsib nimeserver juurserveri käest, see omakorda teise nimeserveri
käest ning info kättesaamisel liigub see täpselt sama teed pidi tagasi. Iteratiivse päringu korral
edastab juurserver nimeserverile vaid serveri, kes antud aadressi teab. Selline päring koormab
juurserverit vähem.
11
Serverite koormuse vähendamiseks ja päringute kiiremaks tegemiseks kasutatakse ka
cahce’mist, st et nimeserver jätab kord juba küsitud aadressi mõneks ajaks meelde ja järgmine
klient saab vastuse kiiremini kätte.
DNS
andmebaasis hoitakse erinevat tüüpi kirjeid, mida edastatakse. Kirje
osadeks on nimi
(mille kohta andmeid edastatakse), kirje tüüp, väärtus ja TTL (kaua hoitakse kirjet cache’is).
Kirjete tüübid:
* A-kirje – nimeks hostinimi (saruman.ttu.ee) ja väärtuseks IP-aadress
* NS-kirje – nimeks
domeen (ttu.ee) ja väärtuseks selle nimeserveri nimi, mis omab infot
sellesse domeeni kuuluvate hostide kohta.
* CNAME-kirje – nimeks hostinime lihtsalt meeles peetav
alias ja väärtuseks tegelik
hostinimi.
* MX-kirje – nimeks hostinimi ja väärtuseks sellele hostinimele vastav mailiserver.
DNS-i päringu ja vastuse sõnumid on samas formaadis (vt. joonist), neid eristatakse ühebitise
flagi abil – päringu puhul 0 ja vastuse puhul 1. Esimesed 12
baiti on mitme väljaga päis, siis
16-
bitine päring, mis jäetakse ka päringu vastusesse, vastus, info autoritatiivsete serverite
kohta ja
lisainfo . Flagidega eristatakse ka soovi teha päring rekursiivselt, rekursiooni
võimalikkust ning autoritatiivset päringut.
20. Töökindel andmeedastus
Töökindel andmeedastus on oluline transpordi-, rakendus- ja kanalikihi jaoks. On üks
olulisemaid probleeme võrgunduses üldse. Töökindel kanal tagab selle, et ükski bitt ei
muunduks või ei läheks kaduma ning bittide järjekord
jääks samaks. Töökindel
andmeedastusprotokoll (reliable data transfer protocol) peab läbi viima andmeedastuse
kanalisse ja andmed kanalist vastu võtma. Probleeme võib tekitada see, et töökindla
andmeedastusprotokolli all olev kiht (kanal) ei pruugi olla töökindel.
12
rdt – reliable data transfer.
udt – unreliable data
transfer.
Edaspidi arendame rdt saatja ja vastuvõtja poolt ning keskendume ainult phesuunalisele
andmeedastusele (info liigub siiski kahtepidi). Kasutaja ka vastuvõtja kindlaksmääramiseks
kasutame FMS’i (finite-state machine).
Rdt1.0 – töökindel andmeedastus üle töökindla kanali. Aluskanal on täiesti köökindel, st et ei
ole mingeid bittide erroreid ega pakettide kadumaminekut. Kasutaja ja vastuvõtja jaoks
kasutatakse eraldi FMS-e – kasutaja saadab andmed aluskanalisse ning vastuvõtja loeb
andmeid aluskanalist. FSM saatja ja vastuvõtja jaoks:
Saatja pool võtab andmed ülemisest
kihist vastu rdt_send(data) kaudu, loob paketi, mis
sisaldab andmeid ja saadab paketi kanalisse. Vastuvõtja pool võtab paketi aluskanalist
rdt_rcv(packet) kaudu, eemaldab andmed paketist ja saadab andmed ülemisse kihti
deliver_data() kaudu.
Rdt2.0 – töökindel andmeedastus üle bitierroritega kanali. Kasutatakse ACK-e (positive
acknowledgments) ja NAK-e (
negative acknowledgments). ACK-iga öeldakse, et sõnumist
saadi aru, NAK palub saatmist
korrata , kuna arvatavasti olid tekkinud mingid häired. See
aitab
saatjal teada, mis võeti korralikult vastu ja mis mitte. Rdt2.0 puhul on uuendusteks vea
tuvastamine (bitierrorite tuvastamise jaoks kasutatakse UDP-d, millel olemas bittide
kontrollsumma), vastuvõtja tagasiside (ACK, NAK) ja saatmise kordamine. Saatjal on kaks
olekut – leftmost state, mille korral oodatakse ülemiselt kihilt andmeid (seejärel luuakse
pakett koos UDP kontrollsummaga ja edastatakse see kanalisse), ja rightmost state, mille
korral oodatakse kanalilt ACK’i või NAK’i (NAK’i puhul saadetakse pakett uuesti). Pärast
ACK’i saamist pöördutakse uuesti tagasi olekusse leftmost state. Vastuvõtjal on vaid üks olek
13
ning tema peab saatma ACK’i või NAK’i. Rdt2.0 puhul on aga suur viga see, et pole
arvestatud seda, kui ACK või NAK saab rikutud. Saatja ei tea enam, kas pakett saadi kätte või
mitte ning uuesti saata ta ka ei tohi, kuna juba eelmise paketi kättesaamise korral tekiks
duplikatsioon. Lahenduseks oleks see, et arusaamatu vastuse korral saadab saatja NAK’i ehk
palub uuesti vastata. Aga kui saatja NAK ka vahepeal
rikutakse , saadab vastuvõtja uuesti
NAK’i. Teine lahendus: lisada piisavalt kontrollsumma
bitte , et saatja saaks ka taastada
bitierrorid.
Rdt2.1 puhul on paketile lisatud järjekorranumber, millega vastuvõtja teeb kindlaks, kas
saadetakse sama paketti uuesti või juba uut paketti (vea korral). Järjekorranumbriteks vaid 0
ja 1, kuna enne uut paketti ei saadeta, kui vastus on tulnud. Saatjal ja vastuvõtjal nüüd poole
rohkem olekuid võrreldes rdt2.0-ga, kuna peab meelde jätma ka paketi järjekorranumbri.
Vastuvõtja ei tea siiski, kas tema viimane ACK või NAK jõudis ilusti saatjale kohale.
Rdt2.2 korral ei saadeta enam NAK’i vastu ning ACK’ile lisatalse samuti järjekorranumber,
et teada, millisele paketile positiivselt vastati. Kaks korda sama järjekorranumbriga ACK’i
järjest
saades teab saatja, et pakett tuleb uuesti saata, kuna vastati ikka eelmisele paketile
alles.
Rdt3.0 – töökindel andmeedastus üle bitierroritega ja paketikaotamise võimalustega kanali.
Kanal võib kaotada ka ACK’id. Selle versiooni korral saatja ootab teatud aja (mõistlik aeg, et
ACK vastu tuleks) ja ittetuleku korral saadab paketi uuesti. Kui ACK hilineb, saadetakse ikka
14
pakett uuesti. Järjekorranumbrid on kasutusel ning seetõttu duplikatsioonist jamasid ei teki.
Vaja on ainult taimerit, et aega arvestada.
Rdt puhul ainult paha see, et see on
wait -and-stop protokoll, st et enne uue paketi saatmist
oodatakse vastus ära. Enamik aega kulubki ootamisele ja see pole otstarbekas. Selle vastu
aitavad Go-
Back -N ja Selective
Repeat .
21. Go-back-n
Go-Back-N (GBN) protokolli puhul saab saatja saata N paketti järjest, ootamata mingit
kinnitust (ACK-i).
Base – kõige vanem kinnitamata pakett. Nextseqnum –järgmise saadetava paketi
järjekorranumber.
Window size – see arv, mitu paketti on võimalik kinnitust saamata saata.
GBN protokoll oleks nagu lükatava akna (sliding window) protokoll, kuna järjekorranumbrid
on kuni N-ni. Kui saadetud pakett saab
kinnituse , lükkub aken edasi ning võimaldab saata uue
paketi. Taimerit kasutatakse enamasti vaid
aknas oleva
vanima paketi jaoks, mille kohta pole
veel ACK’i tulnud. Timeout’i puhul saadetakse uuesti kõik paketid, millele pole veel kinnitust
tulnud. Saatja võtab ülemiselt kihilt vaid siis andmeid saatmiseks vastu, kui aken ei ole täis.
Vastasel juhul saadab ta ülemisele kihile andmed tagasi ja ülemine kiht proovib mingi aja
pärast uuesti. Vastuvõtja saadab korralikult kättesaadud paketile vastu paketi
järjekorranumbriga ACK-i. Kui pakett pole korralikult kätte saadud, saadetakse uuesti vastu
15
eelmise paketi järjekorranumbriga ACK.
Vales järjekorras olevad paketid heidetakse kõrvale
ja need saadetakse uuesti, kuna vastuvõtja peab saama paketid õiges järjekorras, et need üle
misele kihile edasi saata. Sedasi toimides pole vaja mingeid pakette meelde jätta ning
vastuvõtja peab meelde jätma vaid järjekorranumbri.
22. Selective-Repeat
Selective-Repeat (SR) protokolli puhul saadetakse erinevalt GBN-st vaid need paketid, mille
kohaletoimetamine ei õnnestunud (sliding window süsteem on muidu sama). ACK saadetakse
vastu kõikidele korralikult saabunud pakettidele. Vastuvõtja puhverdab osa pakette, et
vahepealse paketi saabudes õiges järjekorras ülemisele kihile need edasi saata. Vahepealse
paketi saabudes saadetakse ACK uuesti ka juba saadud pakettide kohta.
Igal paketil on nüüd oma
taimer nii et timeout’i puhul saadetakse vaid üks pakett uuesti.
16
Akna suurus peab olema poole väiksem (või veel väiksem) suurimast järjekorranumbrist,
kuna muidu võib tekida probleem, et kas saadetakse juba uus pakett või see on sama paketi
kordussaatmine (kui tekib pakettide kadumaminek):
23. TCP
TCP – Transmission Control Protocol. Asub ISO OSI mudeli transpordikihis,
ühendusele orienteeritud. Tagab usaldusväärse (
reliable) andmete edastuse, andmete jõudmise kliendini
õiges järjekorras. Aitab juhtida andmevoogu (
flow control), s.t. vältida ülekoormust ja
ummikuid, andmete saajat ei koormata üle. Punktist-punkti ühendus (üks ühenduse
algataja ,
üks vastuvõtja). Andmete edastus võib toimuda „konveiermeetodil“ (
pipelined) - korraga
võidakse edastada mitu kinnitust vajavat andmeühikut (
segmenti ). Sellest tulenevalt saatmine
ja vastuvõtt puhverdatud. Täisdupleksühendus (andmed võivad ühes ühenduses
liikuda mõlemas suunas).
TCP segment: päis 20 baiti (lähte- ja sihtpordid, pakettide ja kinnituse loendurid, lipud,
vastuvõtu akna suurus, kontrollsumma,
viit kiireloomuliste andmetega segmentidele) +
lisainfo (4 baidi kordne kogus) + rakenduse andmed.
24. TCP ühenduse loomine
Ühendust alustatakse kolmepoolse käepigistusega (
three-way handshake):
17
* Klient alustab, saates SYN teate klient->server suuna esimese segmendi järjenumbriga
(
sequence nr)
* Server saadab vastu SYN teate server->klient suunalise esimese segmendi järjenumbri ning
ACK teate kliendi SYN sõnumi vastuvõtu kohta
* Klient saadab serverile ACK teate SYN vastuvõtmise kohta
Luuakse ühenduse
puhvrid , algväärtustatakse voo juhtimise info.
25. TCP timeout
Aeg, mille möödudes segmendi saatja üritab saadet korrata.
Kui liiga lühike – tekivad mittevajalikud andmete uuestisaatmised.
Liiga pikk –
reaktsioon segmendikadudele liiga madal.
Üldjuhul leitakse
Round Trip Time’i (aeg segmendi saatmisest ACK sõnumi vastuvõtmiseni),
mis on usaldatavuse huvides leitud mitme mõõtmisega, põhjal (
eeldatav RTT).
Timeout = EeldatavRTT + Hälve
Hälve = (1-x) * Hälve + x * | HetkeRTT-EeldatavRTT |
x = 0,1 (harilikult)
26. TCP voo juhtimine
Saatja ei ülekoorma (-täida) vastuvõtja puhvreid.
Vastuvõtja teavitab saatjat pidevalt hetkel vabana oleva puhvriosa
suurusest (
RcvWindow väli
päises, vastuvõtu akna suurus)
Saatja hoiab meeles saadetud kinnitamata (
unACKed) segmentide andmemahtu, mis on
väiksem viimati vastuvõetud
RcvWindow väärtusest (et suudaks otsustada, millal võivad
vastuvõtja puhvrid täituda).
27. TCP koormuse juhtimine
Lõpp-punktidevaheline koormuse juhtimine (
võrguseadmed ei paku infot hetkekoormuse
kohta, koormusinfo tuletatakse klient-server suhtluses jälgitavatest kadudest, viidetest).
Ülekandekiirust reguleeritakse
congestion window (saateakna) suurusega (kontrollib korraga
maksimaalselt saadetavate kinnitamata segmentide hulka).
Läbilase = w*MSS / RTT [B/s]
w – ühe RTT jooksul saadetud segmentide arv
MSS – maksimaalne segmendi suurus
RTT –
Round Trip Time Üldine strateegia: suurendada w väärtust, kuni esinevad kaod, seejärel vähendada väärtust
tagasi 1-ni ja hakata vaikselt jälle
suurendama , pidevalt kadusid kontrollides.
Saadet alustatakse
SlowStart algoritmi kasutades: alguses
CongWin = 1, iga kinnitatud
segmendi kohta
CongWin++, kuni tekib kadu või
CongWin jõuab üleminekuläveni. Jõudes
üleminekuläveni, toimub
CongWin++ iga w vastuvõetud kinnituse kohta, kuni tekib kadu.
Seejärel vähendatakse üleminekuläve
CongWin/2 –ni,
CongWin = 1 ning alustatakse
SlowStart’iga uuesti.
28. UDP
UDP – User Datagram Protocol
18
Best Effort teenus, UDP segmendid võivad kaduma minna või jõuda vastuvõtjani vales
järjekorras, usaldusväärsus tuleb lisada rakenduse tasemel. Ühenduseta protokoll,
„käesurumist“ ei toimu, iga UDP segmenti käsitletakse eraldiseisvana teistest.
Eelised: väiksemad viited, väiksem päis, saatja ning vastuvõtja juures ei pea säilitama olekut,
koormuse juhtimine puudub (maksimaalne võimalik kiirus).
Kasutatakse multimeediavoogude, DNS,
SNMP puhul.
Pakett: päis 8 baiti (lähteport, sihtport, pikkus koos päisega, kontrollsumma) + rakenduse
andmed
Kontrollsumma: segmendi sisu liidetakse saatjas 16 biti kaupa kokku ning inverteeritakse.
Saadud tulemus salvestatakse kontrollsumma väljas. Kui vastuvõtja liidab segmendi sisu
kokku, peab ta saama tulemuseks 2 baiti, kus kõik bitid on „1“.
29. Võrgukihi teenusemudelid Võrgu
Teenusmude
Garantiid Ummikuinf
arhitektuu
l
Ribalaius Kadude Järjestatu
Täpne
o võrgust
r
puudumin
s
ajastatu
e
s
Internet Parim
Ei garanteeri
Ei
Ei
Ei
Ei
võimalik
(tuletatakse
kadudest)
ATM CBR
Konstantne Jah Jah Jah
Ummikuid
kiirus
pole
ATM VBR
Garanteeritu
Jah Jah Jah
Ummikuid
d kiirus
pole
ATM ABR
Garanteeritu
Ei Jah
Ei
Jah
d miinimum
ATM UBR
Ei
garanteeri
Ei
Jah Ei Ei
Internet:
* Andmevahetus arvutite vahel, „elastne“ teenus, puuduvad
ranged andmete levikuaeja
nõuded
* „Targad“ lõppkasutajad, suudavad kontrollida, vigadest taastuda
* Võrk lihtne, komplekssus võrgu servades
* Mitmed ühendusviisid erinevate omadustega
ATM:
* Arenenud telefonindusest (kindlad ajalised nõudmised, vajalik garanteeritud teenus)
* Keerukus võrgu sees, otspunktid „rumalad“ (telefoniaparaadid)
30. Marsuutimine, marsruutimisstrateegiad
Eesmärk – leida andmete jaoks „hea“ tee lähtepunktist sihtpunkti läbi marsruuterite.
Kasutatakse graafiteoreetilist abstraktsiooni: sõlmed – ruuterid, kaared – füüsilised ühendused
Tee „headus“ tähendab reeglina madalat ühenduskulu (rahalist, ajalist, väheste ummikutega).
Strateegiad:
Kas globaalse või hajutatud
infoga :
Globaalne – kõik ruuterid omavad infot
topoloogia , ühenduskulude kohta (
Link state algoritmid ).
19
Hajutatud –
ruuter teab oma naabreid, ühenduskulu naabriteni; kogu tee maksumuse
arvutamine
iteratiivne , vahetatakse infot naabrite vahel (
Distance vector algoritmid).
Kas staatilised või
dünaamilised :
Staatilised – võimalikud teed muutuvad harva.
Dünaamilised – võimalikud marsruudid muutuvad sageli, toimub perioodiline uuendamine.
31. Link state marsruutimisalgoritm
Baseerub Djikstra algoritmil, eeldusena on kõigile võrguseadmetele teada võrgu topoloogia,
kõik
seadmed omavad sama infot.
Arvutatakse vähima
kuluga tee ühest võrgusõlmest kõigisse teistesse, saadakse ruutimistabel
selle võrgusõlme jaoks. Iteratiivne – pärast k iteratsiooni
teatakse vähima kuluga teed k
sihtkohta .
32. Distance vector marsruutimisalgoritm
Igal sõlmel on oma kauguste tabel (
Distance Table). Tabelis on nii palju ridu, kui on
võimalikke sihtpunkte antud sõlmest ning tulpasid sama palju, kui naabersõlmi antud sõlmel
on (hoitakse kõikvõimalikke kaugusi (ruutimiskulusid) DX(Y,Z) = kaugus X-st Y-sse, kui Z
on järgmine samm). Iga iteratsiooni käigus leitakse minimaalne tee ruuterist X ruuterisse Y
läbi ruuteri Z (ruuterist Z saabub info ruuterusse X tee Z->Y maksumusest).
Iteratsioon toimub uuesti iga kord, kui muutub ruuteriga seotud tee ruutimiskulu või naabersõlm teavitab
temaga seotud kulumuutusest. Ruuter teavitab oma naabreid vaid esimesel juhul.
Iteratsioon jätkub, kuni ükski võrgusõlm enam infot ei vaheta, iga võrgusõlm suhtleb ainult
oma vahetute
naabritega .
Ruutimistabel saadakse eeltoodud minimeerimise käigus, seal hoitakse infot parima
vahendajasõlme kohta ning tee maksumust läbi selle sõlme.
33. Hierarhiline marsruutimine
Ruutimisinfot ca 50 miljoni võimaliku sihtpunkti kohta ei saa hoida ruutimistabelites, internet
on võrk võrkudest, iga võrguadmin tahaks kontrollida ruutimist oma võrgus.
Hierarhiline ruutimise puhul:
* Ruuterid jagatakse regioonideks („autonoomseteks süsteemideks“, AS)
* Ruuterid samas AS’is toimivad sama ruutimisprotokolli alusel.
* Igas AS’is on oma lüüsruuter (
Gateway ), suhtleb AS ruuteritega
intra -AS protokollide ning
teiste lüüsruuteritega
inter -AS protokolli alusel. Samuti on see
lüüs vastutav ruutimise eest
väljapoole AS’i.
Intra-AS ruutimine – tuntud ka
Interior Gateway Protocols (IGP) protokolliperel põhineva
ruutimisena. Tuntumad IGP’dest – RIP,
OSPF , IGRP. Sisuliselt on protokollivalik jäetud
konkreetse võrgu administraatorile.
34. Ipv4
IP on võrgukihi (OSI mudeli kolmanda kihi) protokoll, mis tegeleb loogilise adresseerimisega
ning paketihaldusega. IP aadress on võrguinterfeisside tuvastamiseks ja unikaalseks
identifitseerimiseks võrgus. Ühel hostil või ruuteril võib olla mitu interfeissi ja seetõttu ka
mitu IP-aadressi. Näiteks ruuteritel on tüüpiliselt 2 aadressi, üks nn „sisevõrgu” ja üks
„välisvõrgu” jaoks. Internet on jagatud isoleeritud alamvõrkudeks, mis on omavahel
20
ühendatud ruuteritega. Ipv4 puhul on IP-aadress 32-bitine. IP-aadress koosneb kahest osast:
vanemat järku (
vasakpoolsed ) bitid määravad
võrguosa ning
nooremad hostiosa.
IP aadressid on jagatud nelja klassi:
- A-klass – võrguosa 8 bitti (kuni 256 võrku), hostiosa 24 bitti (igas võrgus kuni 16
miljonit hosti). Aadressid 1.0.0.0 kuni 127.255.255.255.
- B-klass – võrguosa 16 bitti (kuni 65k võrku), hostiosa 16 bitti (kuni 65k arvutit igas
võrgus). Aadressid 128.0.0.0 kuni 191.255.255.255
- C-klass – võrguosa 24 bitti (kuni 16 miljonit võrku), hostiosa 8 bitti (kuni 256 arvutit
igas võrgus). Aadressid 192.0.0.0 – 223.255.255.255.
- D-klass – multicast aadressid (võrguosa ja hostiosa ei ole üheselt määratud). Aadressid
224.0.0.0 – 239.255.255.255.
On olemas ka
spetsiaalsed IP-
aadresside vahemikud (näiteks 10.*.*.* või 192.168.*.*), mis
on reserveeritud kohtvõrkude jaoks.
IP-paketi pikkuse määrab MTU (
max. transfer unit ) – maksimaalne lülikihis (OSI muteli
teises kihis) edastatav kaader (IP pakett peab mahtuma alumise kihi paketi sisse). MTU on
erinevates võrkudes erinev. Seepärast kui mõni pakett satub võrku, kus MTU on väiksem kui
see oli võrgus, kust pakett pärit oli, fragmenteeritakse see IP-datagramm väiksemateks
juppideks ning pannakse sihtpunktis taas kokku (aga alles sihtpunktis, mitte vahepealsetes
võrgusõlmedes).
IP-datagrammi päises on kirjas IP-protokolli
versioon , päise pikkus, datagrammi pikkus,
lähte- ja sihtkoha ip-aadressid (source ja destination), time-to-
live ehk datagrammi eluiga
(maksimaalne läbitavate võrgusõlmede arv), fragmenteerimisinfo ja kontrollsumma. Päises
võib olla veel ka muud lisainfot (näiteks saatmise aeg (
timestamp) või natuke lisainfot
marsruutimise jaoks), aga see pole kohustuslik.
35. Datagrammide edastus läbi võrkude (võrgukihi tasemel)
Nagu teada, koosneb IP-aadress võrguosast ja hostiosast. Kui mingi võrgus olev seade tahab
saata teisele
arvutile teadet, mille aadressi võrguosa on sama kui saatjal, siis järelikult asub
vastuvõtja samas võrgus ja datagramm saadetakse temani otse. Kui vastuvõtja asub teises
võrgus, otsib saatja oma marsruutimistabelist välja temaga samas võrgus asuva ruuteri
aadressi, mis on võimeline datagrammi toimetama vastuvõtjani (on ühendatud kas otse või
läbi teiste ruuterite vastuvõtja võrguga). Ruuter võtab datagrammi vastu ja kui ta on otse
ühendatud vastuvõtjaga, toimetab ta selle otse kohale. Kui ei ole, võtab ta enda
marsruutimistabelist järgmise ruuteri aadressi ning saadab datagrammi sinna edasi, kuni
datagramm jõuab lõpuks ruuterini, mis asub vastuvõtjaga samas lokaalvõrgus.
36. DHCP , NAT
DHCP (Dynamic Host Configuration Protocol) on protokoll kohtvõrku ühendatud hostidele
automaatseks (dünaamiliste) IP-aadresside
määramiseks . Aadresside jagamisega tegeleb
DHCP server. Kui võrku tuleb uus host, saadab ta võrku teate sooviga leida DHCP server
(DHCP discover). Server vastab teatega DHCP offer. Seejärel soovib host saada IP-aadressi
(DHCP request). DHCP server püüab requesti kinni ning eraldab hostile aadressi (tavaliselt
mingiks kindlaks ajaks. DHCP ack). Koos aadressiga antakse vajadusel hostile ka subnet
mask, default gateway, DNS serverid jne.
NAT (Network Address Translation) – võrguaadressi ümbenimetamine – on
tehnoloogia , kus
IP paketi lähte- või sihtpunkti aadress muudetakse ümber, kui paketid läbivad marsruuterit või
tulemüüri. Põhiliselt kasutatakse NATi selleks, et privaatse sisevõrgu hostid saaksid ligipääsu
internetile kasutades ühist avalikku IP-aadressi. Kui sisevõrgust saadetakse pakett internetti,
21
muudab ruuter enne selle välja saatmist saatja IP-aadressi enda välisvõrgu aadressiks ja
vastuvõtjale jääb mulje, nagu oleks pakett tulnud otse ruuterist. Kui vastuvõtja saadab
ruuterile paketi vastu, muudab ruuter sihtkoha IP aadressi jällegi selle sisevõrgus oleva hosti
IP aadressiks ning edastab paketi sinna. NATi eelis on see, et selle abil on võimalik sisevõrgu
topoloogiat peita (Internetist ei saa tuvastada, kui palju ja milliseid hoste võrk sisaldab) ning
sellega saab leevendada IP-aadresside otsalõppemise probleemi.
37. Marsruutimisprotokollid RIP, OSPF ja BGP
RIP – Routing Information Protocol – kasutab Distance Vector algoritmi. Marsruuterid
vahetavad distantsvektoreid iga 30 sekundi tagant (saadetavaid teateid nim
advertisementideks, neid saadetakse UDP pakettidena). Iga
advertisementiga antakse edasi
marsruut kuni 25 sihtvõrguni. Kui naabri käest 180 sekundi jooksul
advertisementi ei saada,
kuulutatakse naaber „
surnuks ” ning kõik marsruudid, mis käisid antud naabri kaudu,
kehtetuks. Sel juhul (marsruutimistabel muutus) saadetakse kohe ka kõigile naabritele uued
advertisementid ja naabrid
saadavad need omakorda edasi ning teade mõne sõlme
ülesütlemisest levib kiiresti üle kogu võrgu. RIP marsruutimistabeleid haldab rakenduskihi
(OSI 7. kihi) protsess route-d (deemon-protsess). RIPi kasutakse põhiliselt väiksemates
võrkudes.
OSPF – Open Shortest
Path First – kasutab Link State marsruutimisalgoritmi. Iga võrgusõlm
teab kogu võrgutopoloogiat ning lühim tee punktide vahel leitakse Dijkstra
algoritmiga .
Suuremates võrkudes kasutatakse hierarhilist OSPFi, kus võrk on jagatud piirkondadeks
(area), nii et Link State
algoritm toimib ainult piirkondade piires ning iga piirkond on
ühendatud võrgu
tuumaga ehk „selgrooga” ehk magistraaliga (
backbone area),
kusjuures marsruutimine piirkondade vahel toimib ainult läbi magistraali. OSPF eelised RIPiga
võrreldes: kõik OSPF
teated on autentitud (kasutatakse TCP protokolli, RIPis kasutati UDP-
d), lubatud on mitu samaväärset (võrdselt lühikest) teed kahe punkti vahel (RIPis sai olla
ainult üks lühim tee), toetab
suuremaid võrke.
Kui RIP ja OSPF on nn Intra-AS (autonoomsüsteemi sisesed) marsruutimisprotokollid
(autonoomsüsteem on näiteks mingi
organisatsioon või ISP), siis järgmine - BGP (
Border
Gateway Protocol) on mõeldud autonoomsüsteemide vaheliseks marsruutimiseks
(marsruutimine toimub ASide välislüüside (
border gateway) kaudu. BGP on peamine
ruutimisprotokoll Internetis. Igale ASile on antud unikaalne number, mille järgi see Internetis
identifitseeritakse. BGP kasutab
Path Vector marsruutimisprotokolli (sarnane
Distance Vector protokolliga). Iga ASi välislüüs saadab naabritele informatsiooni kogu tee kohta sihtpunkti.
Naaber saab siis otsustada, kas kasutab seda teed või mitte. BGP protokollis ei arvestata
marsruudi leidmisel ainult lühimat teed, vaid määravaks võivad saada ka poliitilised ja
majanduslikud põhjused (näiteks ei soovita teha marsruuti läbi konkurendi ASi). BGP teated
liiguvad üle TCP protokolli.
38. Marsruuterid
Marsruuterite kaks põhiülesannet on marsruutimisalgoritmide jooksutamine (RIP, OSPF,
BGP) ning sissetuleva ja väljamineva lüli vahel datagrammide kommuteerimine (switching).
Sisendpordi eesmärk on kõik sissetulevad datagrammid kinni püüda, leida datagrammi
sihtaadressi järgi mälus
olevast marsruutimistabelist sobiv väljundport ning saada pakett sinna
edasi. Kui paketid saabuvad sisendisse kiiremini kui nende töötlemine aega võtab, siis
jäetakse paketid mällu ootele (
queueing). See tekitab viiteid ning kui mälu (
puhver ) täis saab,
lähevad datagrammid kaduma. Ideaalsel juhul toimub pakettide töölemine võrgu kiirusel
(ühtki paketti ei jäeta ootele).
22
Kommuteerimisel on kasutusel kolm meetodit:
1) Läbi mälu (kasutati vanades esimese põlvkonna ruuterites). Sisendpordi
protsessor vaatab paketi üle ja kopeerib selle marsruuteri mällu. Sealt saadetakse pakett edasi
väljundporti. Paketi liikumise kiiruse määrab mälu kiirus.
2) Mööda siini. Datagramm kantakse sisendpordilt väljundporti üle jagatud siini.
Tunduvalt kiirem kui eelmine variant. Kiiruse määrab siinikiirus (näiteks mõnes Cisco
ruuteris kasutatakse 1Gb/s siini).
3) läbi
interconnection networki (eestikeelset vastet ei tea; mõeldud on selliseid võrke,
nagu näiteks mitme protsessoriga süsteemides protsessorite omavaheliseks
ühendamiseks kasutatakse). Kõige kiirem variant.
Väljundpordis kasutatakse samamoodi pakettide ootelejätmist (queueing), kui väljundi liini
kiirusest ei piisa. Probleemid samad mis sisendi puhul (viide, andmekaod).
39. Ipv6
Ipv6 on IP-protokolli edasiarendus, välja töötatud selleks, et ära hoida IP-aadresside
otsalõppemise probleemi. Väidetavalt peaks Ipv4 aadresside puudus jõudma kätte 2008.
aastaks. Ipv6 aadressi pikkus on 128 bitti (aadress on 4 korda pikem kui Ipv4 puhul). Ipv6
datagramm kasutab fikseeritud pikkusega päist (40 baiti) ning datagrammide
fragmenteerimine ei ole lubatud (erinevalt Ipv4-st). Võrreldes Ipv4-ga on päisest
kaotatud kontrollsumma (et kiirendada pakettide liikumist läbi võrgusõlmede) ning pakettidele on
võimalik määrata prioriteete.
Kuna Ipv4-lt v6-le üleminek ei saa toimuda ühe hetkega, kasutatakse nende standardite
ühendamiseks kahte meetodit:
1)
dual stack – osad ruuterid (Ipv6 ja Ipv4 võrgu vahelülid) saavad aru nii v4 kui v6
pakettidest ning oskavad ühte teiseks ümber teisendada.
Niimoodi liigub pakett osa
teekonnast Ipv6 paketina ja osa Ipv4 paketina.
2) tunneling – kui Ipv6 pakett jõuab võrguossa, kus kasutatakse Ipv4 protokolli, siis
spetsiaalne ruuter Ipv6 võrgu „serval” paneb Ipv6 paketi Ipv4 võrgus edastamiseks Ipv4
paketi sisse ja edastatakse nagu tavalist Ipv4 paketti. See tähendab, et Ipv4 võrgus käiakse
Ipv6 paketiga ümber nagu suvaliste andmetega Ipv4 paketis. Teisel pool pannakse Ipv6 pakett
taas kokku. Seda võib vaadelda kui Ipv6 tunnelit läbi Ipv4 võrgu.
40. Kanalikihi teenused
Kanalikiht (või lülikiht, Data Link
Layer ) on OSI mudeli teine kiht, mis
jagab andmepaketid
enne füüsilisse kihti saatmist kaadriteks ning võtab füüsilisest kihist vastu kinnituskaadreid.
Kanalikihi ülesanne on tagada võrgukihile (kolmas kiht) veavaba
virtuaalne kanal.
-
framing (kadreerimine?) – jagab datagrammi kaadriteks ja lisab neile päised. Päisesse
pannakse kirja lähte- ja sihtkoha füüsilised (MAC-) aadressid. Kaadrite edastamiseks luuakse
virtuaalne kanal.
-
usaldusväärne andmeedastus kahe füüsiliselt ühendatud seadme vahel (eriti oluline on see
wireless võrkudes, kus vigade hulk on suur). Kasutatakse ACKe ja uuestisaatmisi.
- voo juhtimine – kanalikihis juhitakse andmevoogu, nii et saatjal ei oleks võimalik saata
korraga liiga palju andmeid, millega vastuvõtja puhver üle laadida (sel juhul läheks andmed
kaduma).
- veakontroll – toimub vigade tuvastamine (näit. kontrollsumma abil) ja vastavalt olukorrale
kas edastatakse signaali saatjale teade, et ta saatmist kordaks, või heidetakse pakett lihtsalt
kõrvale.
23
- veaparandus – vastuvõtja tuvastab ja parandab bitivead ilma andmete uuesti saatmiseta, kui
see on võimalik. Mõnedes protokollides (näiteks ATM) kasutatakse kanalikihis veaparandust
ainult paketi päise, mitte aga terve paketi jaoks.
41. Vigade avastamine ja parandamine, CRC
Vigade avastamiseks ja parandamiseks lisatakse edastatavale koodile mingi lisainformatsioon.
Kõige lihtsam veaavastus toimub paarusbiti abil (näitab, kas andmetes olev ühtede arv on
paaris või paaritu). Paarsusbiti abil on võimalik tuvastada ühekordseid vigu (kui kaks bitti on
valed, siis paarsusbitt viga ei näita) ning vigade parandamiseks paarsusbitt piisavalt
informatsiooni ei anna.
Kasutatakse ka kahemõõtmelisi paarsusbitte, nende abil on võimalik ühekordseid vigu ka
parandada.
Keerulisemad veaavastuskoodid on nn kontrollsummad. Nende põhimõte seisneb selles, et
andmebittide alusel arvutatakse mingi kindla algoritmi abil välja üks kontrollkood, mis
pannakse paketiga kaasa; seejärel arvutab paketi vastuvõtja uuesti sama koodi välja ja kui see
erineb saadud kontrollsummast, on pakett vigane. Kontrollsumma eelis on see, et korraliku
algoritmi ja piisavalt pika kontrollsuma puhul on väga raske (peaaegu võimatu) teha kahte
erinevat paketti, millel oleks sama kontrollsumma. Seega võib üsna kindlalt väita, et kui
kontrollsummad klapivad, on pakett korrektne.
Kõige levinum veaavastustehnoloogia on CRC – Cyclic Redundancy
Check . CRC
arvutamisel kasutatakse 16- või 32-bitist polünoomi (generaator), mida teavad nii saatja kui
vastuvõtja (see
polünoom on standardiga määratud). Saatja poolel tekitatakse selline CRC
kood, et kui vastuvõtja jagab andmebitid koos neile järgnevate CRC bittidega (CRC bitid
lisatakse andmebittide järele noorimateks bittideks. Näiteks kui andmed on 110011 ja crc on
101, siis jagatavaks tuleb 11001110110. Tegelikkuses on nii andmed kui CRC muidugi
pikemad .) läbi generaatoriga, peab jagamisel (mooduliga 2 jagamine)
tekkima jääk 0. Kui
tekib nullist erinev jääk, peab andmetes olema viga. CRC koodi arvutamine käib nii, et
teostatakse
samasugune jagamine, aga CRC koodi asemele (mida veel ei teata) pannakse
andmete lõppu nii palju null, kui pikk CRC kood on. Sel juhul tuleb
jagamise jäägiks CRC
kood ise.
42. Lokaalvõrgud, topoloogiad
Lokaalvõrke (LAN – local arean network) on kolme liiki:
1)
point-to-point võrgud, kus ühenduse ühes otsas on ainult üks saatja ja teises otsas üks
vastuvõtja. Liini ei jagata teiste saatjatega. (sellist ühendust kasutab näiteks PPP - point to
point protocol). Ei kasutata multipöördusprotokolle.
2)
broadcast võrgud, kus on mitu saatjat ja vastuvõtjat kõik ühendatud ühe liini külge.
(näiteks Ethernet). Kasutatakse multipöördusprotokolle. Kõik saadetavad paketid jõuavad
kõigi vastuvõtjateni; vastuvõtja otsustab (aadressi järgi), milline pakett talle kuulub, ülejäänud
viskab kõrvale.
3) kommuteeritavad (
switched ) võrgud. Nendes võrkudes kasutatakse switche, mis suudavad
paketi päise järgi määrata, kellele see mõeldud on ja saata pakett edasi ainult sinna võrguossa,
kus vastuvõtja asub. Sellist ühendust kasutavad näiteks switched Ethernet ja ATM.
Topoloogiad:
- Tähtühendus – kõik võrguseadmed on ühendatud üksteisega läbi keskse seadme
(tähekujuliselt). Ühe seadme rivist
väljaminek või kaabli riknemine ei halva kogu võrgu tööd.
Näiteks Ethernet.
24
- Siinühendus – kõik võrguseadmed on ühendatus ühe siini külge. Siini otsad on termineeritud
(ühendatud kaabli lainetakistusega võrdse takistiga maanduse külge). Kui kaabel kasvõi ühest
kohast puruneb, lööb see rivist välja kogu võrgu. Näiteks (vana) 10 Base 2 koaksiaalkaabliga
Ethernet.
- Ringühendus – põhimõtteliselt nagu siinühendus, aga võrgu otsad on omavahel kokku
ühendatud, moodustades ringi. Andmed liiguvad mööda ringi ainult ühes suunas (päripäeva
või vastupäeva). Mõnikord kasutatakse kahte ringi, kus ühes toimub andmete edastus
päripäeva ja teistes vastupäeva. Sel juhul töötab võrk edasi ka siis, kui üks ühendus ei toimi.
Keerulisemad topoloogiad on võimalik kokku panna
nendest kolmest lihtsamast topoloogiast.
Näiteks puuühendus, mis on põhimõtteliselt mitu kokkuühendatud tähtühendust.
43. Multipöördusprotokollid
Multipöördusprotokolle kasutatakse selleks, et ühel füüsilisel andmekanalil saaks erinevad
saatjad edastada korraga erinevaid andmeid. Kolm võimalust multipöörduseks:
1) kanali jaotamine (
channel partitioning, näiteks aja või sageduse järgi).
2) Juhupöördus (lubatakse kokkupõrkeid (
collisioneid), on olemas reeglid, mida teha põrke
korral).
3) Kordamööda kasutamine (kanali jagamine on
rangelt kontrollitud, et kokkupõrkeid
vältida).
Kanali jaotamise (
channel partitioning) protokollid:
TDMA (time
division multiple
access ) – ajapõhine multipöördus. Iga saatja saab kindlaks
ajavahemikuks kanali enda käsutusse, seejärel läheb kasutusõigus üle järgmisele. Pole väga
efektiivne, kuna saatjad saavad oma osa kanalist ka siis, kui neil midagi saata ei ole, ning
kasutamata aeg läheb raisku.
FDMA (frequency division multiple access) – sageduspõhine multipöördus. Kanal jaotatakse
erinevateks sagedusvahemikeks, iga saatja edastab andmeid oma sagedusel teisi segamata.
Samuti väheefektiivne, kuna sagedusvahemikud on alati saatjate käes, kuigi neil võibolla alati
ei ole midagi saata.
CDMA (code division multiple access) – koodipõhine multipöördus. Igale kasutajale antakse
unikaalne kood. Kõik kasutavad sama sagedust, kuid kõik kodeerivad saadetavad andmed
oma koodiga. Koodid on ortogonaalsed ja sellepärast ei sega erinevad saatjad üksteist.
Vastuvõtjas teatakse saatja koodi ja selle järgi on võimalik andmed dekodeerida. CDMA-d
kasutatakse enamasti juhtmeta seadmetes (mobiiltelefonid, sateliitside jne).
44. ALOHA , CSMA /CD
Aloha ja CSMA/CD on juhupöördusprotokollid.
Aloha protokolli on kaks liiki. Slotted Aloha puhul on kanal jaotatud võrdseteks
ajavahemikeks (slottideks) ning iga saatja võib oma suva järgi kasutada mingit ajavahemikku
andmete saatmiseks (saatmine algab ja lõppeb
sloti vahetumisel). Kõik saadetavad kaadrid on
võrdse pikkusega ja iga kaader on võimalik ära saata ühe sloti jooksul. Kui kaks saatjat
saadavad samal ajavahemikul korraga andmeid, tekib kokkupõrge (collision), mille saatjad
tuvastavad ja saadavad paketi mingi aja pärast uuesti. Selleks, et ei tekiks uut kokkupõrget
samade pakettide vahel, ei saadeta neid uuesti kohe järgmisel ajavahemikul, vaid jäetakse
vahele juhuslik hulk ajavahemikke. Seejärel proovitakse uuesti saata, nii kaua kuni lõpuks
õnnestub. Unslotted Aloha puhul ei oodata sloti algust, vaid saatjad võivad andmeid edastada
suvalisel ajahetkel. Unslotted Aloha on lihtsam ja võeti kasutusele ajalooliselt enne Slotted
Aloha „leiutamist”. Ilma kindlate ajavahemike määramiseta ei ole saatjad omavahel
sünkroniseeritud ja seetõttu võib kokkupõrge tekkida mitte ainult pakettide saatmise alguses
25
vaid põhimõtteliselt suvalisel hetkel, kui üks saatja ei ole veel saatmist ära lõpetanud, aga
teine üritab juba alustada. Põrke tõenäosus Unslotted Aloha puhul on täpselt 2 korda suurem
kui Slotted aloha puhul.
CSMA/CD (
Carrier Sense Multiple Access with Collision Detection) – kandja- ja
põrketuvastusega multipöördus. Töötab sarnaselt (Unslotted) Alohale, aga on tunduvalt
arenenum protokoll. Selleks, et vältida Unslotted Aloha põhilist puudust, kontrollib iga saatja
enne saatma asumist, kas kanal on vaba. Kui kanal ei ole vaba, siis saadetakse pakett hiljem.
See vähendab kokkupõrke tõenäosust, kuid põrked võivad siiski toimuda, kui mitu saatjat
samal ajal saatmist alustavad või ühe saatja pakett ei jõua veel üle võrgu teise saatjani levida.
Kui kokkupõrge tekib, siis see tuvastatakse kiiresti ja saatmine katkestatakse koheselt (ei
saadeta tervet paketti, sellega hoitakse aega kokku) ja proovitakse juhusliku ajavahemiku
pärast uuesti. CSMA/CD kaks põhireeglit (inimkommunikatsiooni näite varal ☺): ära alusta
rääkimist, kui teised räägivad (Carrier Sense); kui keegi teine alustab rääkimist sinuga samal
ajal, lõpeta
rääkimine (Collision Detection).
45. Token ring
vallaste.ee definitsioon: lubaringvõrk Loahaldusprotokolli kasutav
ringvõrk ; milles
arvutid on
omavahel
kaabliga ringitaoliselt ühendatud. Loaks (token) nimetatav lühike bitijada ringleb võrgus
pidevalt ühes suunas
ühelt tööjaamalt teisele. Võrku sõnumi saatmiseks püüab tööjaam kõigepealt
kinni võrgus ringleva loa, liidab selle külge sõnumi ja saadab siis võrku. Kuna võrgus ringleb ainult üks
luba, siis ei teki olukorda, kus mitu tööjaama saaks üheaegselt võrku sõnumeid saata.
Pilt Stallingsi raamatust: 26
Pika ja keerulise seletuse leiab usin tudeng Stallingsi raamatust lk 413-427. Kokkuvõte Wikipedia
jutust:
Stations on a Token-Ring LAN are logically organized in a ring topology with data being transmitted
sequentially from one ring
station to the next with a control token circulating
around the ring
controlling access. Physically, a Token-Ring network is wired as a
star , with 'hubs' and arms out to each station
and the
loop going out-and-back
through each. More technically, Token-Ring is a local area network
protocol which resides at the data link layer (DLL) of the OSI model. It uses a
special three-byte frame
called a token that travels around the ring. Token ring
frames travel completely around the loop. Each
station passes or
repeats the special token frame around the ring to its nearest downstream
neighbour . This token-
passing process is used to arbitrate access to the shared ring media. Stations
that have data frames to transmit must first acquire the token
before they can transmit
them .
Token-Ring local area network (LAN) technology was developed and promoted by IBM in the early
1980s and standardised as IEEE 802.5. Token ring networks had significantly superior
performance and
reliability compared to early shared-media implementations of Ethernet (IEEE 802.3), and were
widely adopted as a
higher -performance
alternative to shared-media Ethernet.
However , with the
development of switched Ethernet, token ring architectures lagged badly behind Ethernet in
both performance and reliability. Token ring networks have
since declined in usage and the standards
activity has since
come to a standstill as switched Ethernet has dominated the LAN/layer 2 networking
market.
46. Token bus
On tööpõhimõttelt sarnane eelmisega, põhiliseks erinevuseks fakt, et tegu on bus (ehk siini-)
topoloogiaga, st. kõnealune siin ei moodusta füüsilist ringi. Stallingsi sõnul kasutatakse seda vähe.
Wikipedia ütleb järgmist: 27
Token bus is token ring over a
virtual ring on a coaxial cable. A token is
passed around the network
nodes and only the node possessing the token may transmit. If a node doesn't have anything to
send ,
the token is passed on to the next node on the virtual ring. Each node must
know the address of its
neighbour in the ring, so a special protocol is needed to notify the
other nodes of connections to, and
disconnections from, the ring.
47. ARP
vallaste.ee definitsioon: aadressiteisenduse protokoll Protokoll IP aadressi vastendamiseks arvuti
füüsilisele ehk MAC-
aadressile Etherneti kohtvõrgus (Etherneti-aadressile). Näiteks IP praegu kõige
levinuma versiooni IP version 4 (IPv4) puhul on IP aadressi pikkus 32 bitti, aga Ethernet’i võrgus on
seadmete aadresside pikkuseks 48 bitti . Seepärast peetakse ARP-puhvri nime all tuntud tabelit, mis
seab omavahel vastavusse IP-aadressid ja MAC-aadressid. ARP annab ette protokollireeglid, mille
alusel toimub selle vastavuse tekitamine ja aadresside teisendamine.
Pakettide struktuuri leiab usin tudeng Wikipediast. Värviliste piltide ja näidetega täiesti arusaadav jutt
on Kurose raamatus lk 397-403. Seda juttu siin aga eriti lühidalt kokku võtta ei anna, seega soovitan
selle iseseisvalt läbi lugeda. 48. Datagrammide edastus läbi võrkude (võrgukihi ja kanalikihi tasemel)
Üsna adekvaatne kihtide lühitutvustus on Kurose raamatus lk 68-69 - usin tudeng võib seda
iseseisvalt lugeda, arvestades et võrgukiht=network layer ja kanalikiht=data link või link layer. Üldiselt
on kihtide ja nendevaheliste seoste kirjeldusi terve internet täis, ühte asjalikumat allikat refereerin siin
pikemalt, kuna tegu on meie kursuse põhiteemaga:
The Data-Link Layer The protocol at the data-link layer is the conduit
between the computer's networking hardware and its
networking software. Network layer protocols pass their
outgoing data down to the data-link layer
protocol, which packages it for transmission over the network. When the other systems on the network
receive the transmitted data, their data-link layer protocols process it and pass it up to the network
layer.
By far the most
popular data-link layer LAN protocol in use
today (and
throughout the history of the
LAN) is Ethernet. Token Ring is a distant second, followed by other protocols
such as the
Fiber Distributed Data
Interface (FDDI). Data-link layer protocol specifications
typically include the
following three
basic elements:
* A
format for the frame (that is, the header and
footer applied to the network layer data before
transmission)
* A mechanism for controlling access to the network
medium * One or more physical layer specifications for use with the protocol
Frame Format - The data-link layer protocol encapsulates the data it receives from the network layer
protocol by
adding a header and footer to it, forming what is called a. Using the mail analogy
given earlier, the header and footer are the equivalent of the envelope that you use to mail a letter. They
contain the address of the system sending the packet and the address of its destination system. For
LAN protocols like Ethernet and Token Ring,
these addresses are 6-byte hexadecimal strings
assigned to network interface adapters by their manufacturers. The addresses are
referred to as
hardware addresses or media access control (MAC) addresses, to distinguish them from addresses
used at other layers of the OSI model.
NOTE : Protocols
operating at
different layers of the OSI model have different names for the data
structures they create by adding a header to the data they receive from the layer
above . What the
data-link layer protocol calls a frame, for example, the network layer protocol calls a datagram. Packet
is a more generic
term for the unit of data created at any layer. It is
important to
understand that data-
link layer protocols are limited to communications with
computers on the
same LAN. The hardware
address in the header always refers to a computer on the same local network,
even if the data's
ultimate destination is a system on
another network.
28
The other primary
functions of the data-link layer frame are to identify the network layer protocol that
generated the data in the packet and to
provide error detection information. The error detection
information
takes the form of a cyclical redundancy check (CRC) computation performed on the
payload data by the transmitting system, the
results of which are
included in the frame's footer. On
receiving the packet, the receiving system performs the same computation and compares its results to
those in the footer. If the results match, the data has been transmitted successfully. If they do not, the
receiving system assumes that the packet is corrupted and discards it.
Media Access Control - The computers on a LAN
usually share a common half-
duplex network
medium, which
means that it is possible for two computers to transmit data at the same time. When
this happens, a packet collision is said to
occur , and the data in both packets is
lost . One of the main
functions of the data-link layer protocol on this type of network is to provide a mechanism that
regulates access to the network medium. This mechanism, called a media access control (MAC)
mechanism, provides each computer with an equal opportunity to transmit its data
while minimizing
the occurrence of packet
collisions . Ethernet uses a MAC mechanism called Carrier Sense Multiple
Access with Collision Detection (CSMA/CD).
Several other protocols,
including Token Ring, use token
passing.
Physical Layer Specifications - The data-link layer protocols used on LANs often support more
than one network medium, and the protocol standard includes one or more physical layer specifications.
The data-link layer and physical layer are closely related, because the characteristics of the network
medium have a profound
effect on the functionality of the protocol's MAC mechanism. For this
reason ,
you can say that the data-link layer protocols used on a LAN also encompass the functions of the
physical layer.
There are other data-link layer protocols used for WAN
links , however, such as SLIP
and PPP, which do not include physical layer information.
The Network Layer
Network layer protocols are
responsible for end-to-end communications, while data-link layer protocols
function only on the local LAN. The network layer protocol is responsible for a packet's
complete journey from the system that created it to its
final destination. Depending on the
nature of the network,
the source and destination systems can be on the same LAN or on different LANs. The data-link layer
protocol may
change many
times to accommodate perhaps dozens of networks, but the network layer
protocol remains intact throughout the trip.
The Internet Protocol (IP) is the the most
commonly used network layer protocol.
Novell NetWare has
its own network layer protocol, IPX, and the NetBIOS Extended User Interface (NetBEUI) protocol is
often used on small
Microsoft Windows networks. Most of the functions attributed to the network layer
are
based on the capabilities of IP. Like the data-link layer protocol, the network layer protocol applies
a header to the data it receives from the layer above it. The unit of data created by the network layer
protocol, which
consists of the transport layer data
plus the network header, is called a datagram.The
functions associated with the network layer are discussed in the following sections.
Addressing - The network layer protocol header contains source address and destination address
fields, just as the data-link layer protocol does. However, in this
case , the destination address is the
packet's final destination, which may be different from the data-link layer protocol header's destination
address. For example, when you type the address of a Web site in your browser, the packet your
system generates contains the address of the Web server as its network layer destination, but the
data-link layer destination is the address of the
router on your LAN that provides you with Internet
access. IP has its own addressing system that is completely separate from the data-link layer
addresses. Each computer on an IP network is assigned a 32-bit IP address by an administrator or an
automated
service . This address identifies both the network on which the computer is located and the
computer itself, so that one address can uniquely identify any computer. IPX, on the other
hand , uses
a separate address to identify the network on which a computer is located and uses the hardware
address to identify a computer on the network. NetBEUI identifies computers using a NetBIOS name
assigned to each system
during its installation.
Fragmenting - Network layer datagrams may have to pass through many different networks on the
way to their destinations, and the data-link layer protocols that the datagrams encounter can have
different properties and limitations. One of these limitations is the
maximum packet size permitted by
the protocol. For example, Token Ring frames can be as large as 4,500
bytes , but Ethernet frames are
limited to 1,500 bytes. When a large datagram that originated on a Token Ring network is routed to an
29
Ethernet network, the network layer protocol must
split it into pieces no larger than 1,500 bytes each.
This process is called fragmentation. During the fragmentation process, the network layer protocol
splits the datagram into as many pieces as
necessary to make them small enough for transmission
using the data-link layer protocol. Each
fragment becomes a datagram in itself that continues the
journey to the network layer destination. The fragments are not reassembled
until all of the datagrams
that make up the transmission reach the destination system.
Routing - Routing is the process of directing a datagram from its source, through an inter-network, and
to its ultimate destination using the most efficient path possible. On complex internetworks such as the
Internet or a large corporate network, there are often many possible routes to a given destination. The
designers of the network deliberately create
redundant links so that in the event of a failure of one of
the computers on the network,
traffic can
still find its way to its destination. The
individual LANs that
make up an internetwork are connected by routers. The function of a router is to receive incoming
traffic from one network and transmit it to a
particular destination on another network. There are two
types of systems involved in internetwork communications, end systems and
intermediate systems.
End systems are the source of individual packets and also their ultimate destination. Routers are the
intermediate systems.
In
order to properly
direct a packet to its destination, routers maintain information about the network in
tables that they store in
memory . A
typical routing table
entry specifies the address of another network
and the router that packets should use to get to that network. Routing table entries also contain a
metric that indicates the comparative efficiency of that particular route. If there are two or more routes
to a particular destination, the router selects the more efficient one and passes the datagram down to
the data-link layer for transmission to the router specified in the table entry. On large networks, routing
can be an extraordinarily complicated process, but most of it is automated.
TCP/IP ja Etherneti näitel - kuidas aetakse vaene pakett kotti , see kott järgmisse kotti jne: Etherneti kaader ehk frame - seda edastataksegi kanalikihis
Frame header
IP datagramm (antakse kanalikihile võrgukihist)
Frame foote
Preamble
Dest. MAC
Src. MAC Type
IP päis
TCP pakett oma päisega (transpordikihist) sisaldab CRC
49. Ethernet
vallaste.ee definitsioon: Kohtvõrgu standard IEEE 802.3, mida esmakordselt kirjeldati 1976. a. ja mis
on
praeguseks saanud üldkehtivaks. Andmed jagatakse pakettideks, mille ülekanne toimub CSMA/CD
algoritmi kasutades ilma pakettide omavaheliste põrgeteta, kuni nad saabuvad sihtkohta. Igal
ajamomendil iga sõlm kas saadab andmeid või võtab neid vastu. Ethernet’i ribalaius on ligikaudu 10
Mbps. Ethernetivõrgu kaablite tähistus on "XBaseY", näit. 10Base5 tähendab, et andmekiirus on 10
Mbps ja 5 on kaablivõrgu kategooria (5 - normaalne koaksiaalkaabel, 2 - peen koaksiaalkaabel, T -
keerdpaarjuhe). Kuigi nimetus Ethernet
viitab "eetrile" ehk raadioühendusele, on kõik praktikas
esinevad Ethernet-võrgud juhtmetega võrgud.
Abiks on mõistagi Wikipedia ja Kurose raamat lk 405-416, mida siia konspektiivselt kleebin:
All of the Ethernet technologies -- whether they use coaxial cable or copper wire, whether they run at
10 Mbps, 100 Mbps or 1 Gbps -- use the same frame structure (vt.
ilusat sinist pilti). The sending
adapter encapsulates the IP datagram
within an Ethernet frame and passes the frame to the physical
layer. The receiving adapter receives the frame from the physical layer, extracts the IP datagram, and
passes the IP datagram to the network layer. In this
context , let us now examine the six fields of the
Ethernet frame:
Data Field (46 to 1500 bytes): This field carries the IP datagram. The Maximum Transfer Unit (MTU)
of Ethernet is 1500 bytes. This means that if the IP datagram exceeds 1500 bytes, then the host has
to fragment the datagram. The minimum size of the data field is 46 bytes. This means that if the IP
datagram is less than 46 bytes, the data field has to be "stuffed" to fill it out to 46 bytes.
Destination Address (6 bytes): Contains the LAN (physical) address of the destination adapter.
When adapter B receives an Ethernet frame with destination address other than its own physical
address or the LAN broadcast
address, it discards the frame. Otherwise, it passes the contents of the data field to the network layer.
Source Address (6 bytes): This field contains the LAN address of the adapter that transmits the
frame onto the LAN.
30
Type Field (two bytes): The type field permits Ethernet to "
multiplex " network-layer protocols. Hosts
can use other network-layer protocols besides IP. IP and other data-link layer protocols (e.g., Novell
IPX or AppleTalk) each have there own, standardized type number. Furthermore, the ARP protocol
has its own type number.
Cyclic Redundancy Check (CRC) (4 bytes): The
purpose of the CRC field is to
allow the receiving
adapter to detect whether any errors have been introduced into the frame, i.e., if
bits in the frame have
been toggled.
Preamble: (8 bytes) The Ethernet frame
begins with an
eight -byte preamble field. Each of the first
seven bytes of the preamble is 10101010; the last byte is 10101011. The first seven bytes of the
preamble serve to "wake up" the receiving adapters and to synchronize their
clocks to that of the
sender's
clock . The last two bits of the eighth byte of the preamble (the first two consecutive 1s) alert
adapter B that the "important stuff" is about to come.
All of the Ethernet technologies provide connectionless service to the network layer. When adapter A
wants to send a datagram to adapter B, adapter A encapsulates the datagram in an Ethernet frame
and
sends the frame into the LAN,
without first "handshaking" with adapter B. All the Ethernet
technologies provide an unreliable service to the network layer. When adapter B receives a frame from
A, adapter B does not send an acknowledgment when a frame passes the CRC check (nor does it
send a negative ACK when a frame fails the CRC check). When a frame fails the CRC check, adapter
B simply discards the frame. This helps make Ethernet simple and cheap. But it also means that the
stream of datagrams passed to the network layer can have gaps. Does the application-layer protocol
at host B see gaps as well? If the application is using UDP, then the application-layer protocol in host
B will indeed suffer from gaps in the data. If the application is using TCP, then TCP in host B will not
acknowledge the discarded data, causing TCP in host A to retransmit. Note that when TCP
retransmits data, Ethernet retransmits the data as well,
although Ethernet doesn't know that it is
retransmitting. Ethernet thinks it is receiving a
brand new datagram with brand new data.
Baseband Transmission and Manchester Encoding
Ethernet uses baseband transmission, that is, the adapter sends a digital
signal directly into the
broadcast channel. The interface card does not shift the signal into another frequency band, as do
ADSL and cable modem systems. Ethernet also uses Manchester encoding, as shown in Figure 5.5-3.
With Manchester encoding each bit contains a transition; a 1 has a transition from up to down,
whereas a
zero has a transition from down to up. The reason for Manchester encoding is that the
clocks in the sending and receiving adapters are not perfectly synchronized. By including a transition
in the
middle of each bit, the receiving host can synchronize its clock to that of the sending host.
Ethernetis on multiple access protocolina kasutusel CSMA/CD, millest räägitakse punktis 44.
Before discussing specific Ethernet technologies, we need to
discuss repeaters. A
repeater is a
physical-layer
device that
acts on individual bits
rather than on packets. It has two or more interfaces.
When a bit, representing a zero or a one,
arrives from one interface, the repeater simply recreates the
bit, boosts its energy
strength , and transmits the bit onto all the other interfaces. Repeaters are
commonly used in LANs in order to
extend their geographical range. When used with Ethernet, it is
31
important to
keep in mind that repeaters do not
implement carrier sensing or any other
part of
CSMA/CD; a repeater repeats an incoming bit on all outgoing interfaces.
Ethernet Technologies
10Base2 uses
thin coaxial cable in a bus topology and has a transmission
rate of 10 Mbps:
Without a repeater, the maximum
length of a 10Base2 bus is 185 meters. If the bus becomes any
longer, then signal attenuation can
cause the system to malfunction. Also, without a repeater, the
maximum number of nodes is 30, as each node contributes to signal attenuation. Repeaters can be
used to connect 10Base2 segments in a
linear fashion, with each segment
having up to 30 nodes and
having a length up to 185 meters. Up to
four repeaters can be included in a 10Base2 Ethernet, which
creates up to
five "segments". Note that the CSMA/CD access protocol is completely oblivious to the
repeaters; if any two of 150 nodes transmit at the same time, there will be a collision.
10BaseT uses twisted-pair
cooper wire in a star topology and has a transmission rate of 10 Mbps and
100BaseT, which typically uses twisted-pair copper wire in a star topology and has a transmission rate
of 100 Mbps:
In the star topology there is a
central device called a hub (also
sometimes called a concentrator.)
Each adapter on each node has a
direct, point-to-point
connection to
the hub. This connection consists
of two pairs of twisted-pair copper
wire, one for transmitting and the
other for receiving. At each end of
the connection there is a
connector that resembles the RJ-
45 connector used for ordinary
telephones. The maximum length
of the connection between an
adapter and the hub is 100 meters;
the maximum length between any
two nodes is 200 meters. This
maximum distance can be
increased by using tiers of hubs,
bridges, switches and fiber links.
In
essence , a hub is a repeater: when it receives a bit from an adapter, it sends the bit to all the other
adapters. In this manner, each adapter can (1) sense the channel to determine if it is idle, and (2)
detect a collision while it is transmitting. But hubs are popular because they also provide network
management features . For example, if an adapter malfunctions and continually sends Ethernet frames
32
(a so-called "jabbering adapter"), then in a 10Base2 Ethernet will become totally dysfunctional. But a
10BaseT network will continue to function, because the hub will detect the problem and internally
disconnect the malfunctioning adapter. Also, most hubs can gather information and report the
information to a host that connects directly to the hub. This monitoring host provides a graphical
interface that displays statistics and graphs.
Many Ethernet adapters today are 10/100 Mbps adapters. 100BaseT, which typically uses category-5
twisted pair (a highquality twisted pair with a lot of twists). Unlike the 10Base2 and 10BaseT,
100BaseT does not use Manchester encoding, but instead a more efficient encoding called 4B5B:
every group of five clock periods is used to send 4 bits in order to provide enough transitions to allow
clock synchronization.
Gigabit Ethernet
Uses both fiber and twisted-pair cooper wire and transmits at a rate of 1 Gbps.
• Uses the standard Ethernet frame format, and is backward compatible with 10BaseT and 100BaseT
technologies. This allows for
easy integration of Gigabit Ethernet with the existing installed base of
Ethernet equipment.
• Allows for point-to-point links as well as shared broadcast
channels . Point-to-point links use
switches whereas broadcast channels use hubs. In Gigabit Ethernet jargon, hubs are called "buffered
distributors".
• Uses CSMA/CD for shared broadcast channels. In order to have acceptable efficiency, the
maximum distance between nodes must be severely restricted. Allows for
full -duplex
operation at
1000 Mbps in both directions for point-to-point channels.
• Like 10BaseT and 100BaseT, Gigabit Ethernet has a star topology with a hub or
switch at its
center .
Gigabit Ethernet often serves as a backbone for interconnecting multiple 10 Mbps and 100 Mbps
Ethernet LANs. Initially operating over optical fiber, Gigabit Ethernet will be
able to use Category 5
UTP cabling.
50. Sillad, jaoturid, kommutaatorid
Esmalt tõlgin haiged terminid inimkeelde: sild = bridge , jaotur=hub, kommutaator =switch.
Ilusate värviliste piltidega jutt on Kurose raamatus lk 418-428, kust eriti usin tudeng leiab ka bridge
self-learningu, spanning tree ja cut-through switchingu põhjalikumad tutvustused ning bridgede ja
ruuterite võrdluse. Olulisemad asjad kleebin konspektiivselt ka siia: The simplest way to interconnect LANs
is to use a
hub. The design shown
here is a multi-
tier hub design because the
hubs are arranged in a hierarchy. Each
connected LAN is called a LAN segment.
All the segments here belong to the
same collision domain (no increase in
max thoroughput). Also, it is not possible
to connect different Ethernet types
without frame buffering (and hubs do not
buffer frames).
In contrast to hubs, which are physical-level
devices ,
bridges operate on Ethernet frames and thus
are layer-2 devices. In
fact , bridges are full-fledged packet switches that
forward and
filter frames
using the LAN destination addresses. When a frame
comes into a bridge interface, the bridge
examines the destination address of the frame and attempts to forward the frame on the interface that
leads to the destination.
33
Each LAN segement is now an isolated
collision domain! Second, bridges can
interconnect different LAN
technologies, including 10 Mbps and
100 Mbps Ethernets. Third, there is no
limit to how big a LAN can be when
bridges are used to interconnect LAN
segments.
Bridge filtering and forwarding are
done with a bridge table. For each node on the LAN, the bridge
table contains (1) the LAN address of the node, (2) the bridge interface that leads towards the node,
(3) and the time at which the entry for the node was placed in the table.
if (destination is on LAN on which the frame was received )
drop the frame;
else A bridge has the very cool property of building its table automatically, dynamically and autonomously --
without any
intervention from a network administrator or from a configuration protocol. In other words, bridges are
self-learning.
For increased reliability, redundant alternate paths from source to dest are created. To
prevent frames
cycling,
spanning trees are used. In the spanning tree protocol, bridges communicate with each other
over the LANs in order to determine a spanning tree, that is, a subset of the
original topology that has
no loops.
Ethernet switches are in essence high-performance multi-interface bridges. As do bridges, they
forward and filter frames using LAN destination addresses, and they automatically
build routing tables
using the source addresses in the traversing frames. The most important difference between a bridge
and switch is that bridges usually have a small number of interfaces (i.e., 2-4), whereas switches may
have dozens of interfaces. Many switches also operate in a full-duplex mode; that is, they can send
and receive frames at the same time over the same interface. With a full duplex switch (and
corresponding full duplex Ethernet adapters in the hosts), host A can send a file to host B while that
host B simultaneously sends to host A.
51. CSMA/CA
Stations in an IEEE 802.11 wireless LAN must coordinate their access and use of the shared
communication media (in this case the
radio frequency). The IEEE 802.11 MAC protocol is a carrier
sense multiple access protocol with collision avoidance (CSMA/CA). In the 802.11 specification, the
physical layer monitors the energy level on the radio frequency to determine whether or not another
station is transmitting and provides this carrier sensing information to the MAC protocol. If the channel
is sensed idle for an
amount of time equal to or
greater than the Distributed Inter Frame
Space (DIFS),
a station is then allowed to transmit. As with any
random access protocol, this frame will be
successfully received at the destination station if no other station's transmission has interfered with the
frame's transmission.
When a receiving station has correctly received a frame for which it was the addressed recipient, it
waits a short
period of time (the Short Inter Frame Spacing - SIFS) and sends an acknowledgment
frame back to the sender. We will see shortly that this explicit acknowledgment is needed because,
unlike the case of wired Ethernet, a wireless sender can not itself determine whether or not its frame
transmission was successfully received at the destination.
This is the case when the sender senses the channel to be idle. If the sender senses the channel
busy, the station performs a backoff procedure. The sender will
defer its access until the channel is
34
later sensed idle.
Once the channel is sensed idle for an amount of time equal to DIFS, the station
then computes an additional random backoff time and counts down this time. When the random
backoff
timer reaches zero, the station transmits its frame. The random backoff timer serves to
avoid having multiple stations immediately begin transmission (and thus collide) after a DIFS idle period.
Unlike the 802.3 Ethernet protocol, the wireless 802.11 MAC protocol does not implement collision
detection. There are a couple of
reasons for this:
The
ability to detect collisions requires the ability to both send (one's own signal) and receive (to
determine if another station's transmissions is interfering with one's own transmission) at the same
time. This can be costly. More importantly, even if one had collision detection, a collision
could still
occur at the receiver.
Suppose that station A is transmitting to station B. Suppose also that station C is
transmitting to station B. With the so-called hidden terminal problem, physical obstructions in the may
prevent A and C from hearing each others transmissions. A second scenario that results in
undetectable collisions at the receiver results from the fading of a signal's strength as propagates
through the wireless medium. A and C are placed such that their signal strengths are not
strong enough for them to detect each others' transmissions, and yet are strong enough to interfere with each
other at station B.
The IEEE 802.11 frame contains a duration field in
which the sending station explicit indicates the length
of time that its frame will be transmitting on the
channel. This value allows other stations to determine
the minimum amount of time (the so-called network
allocation vector, NAV) for which they should defer
their access. The IEEE 802.11 protocol can also use a
short Request To Send (RTS) control frame and a
short
Clear To Send (CTS) frame to reserve access to
the channel. When a sender wants to send a frame, it
can first send a RTS frame to the receiver, indicating
the duration of the data packet and the ACK packet. A
receiver that receives an RTS frame responds with a
CTS frame,
giving the sender explicit permission to
send. All other stations hearing the RTS or CTS then
know about the
pending data transmission and can
avoid interfering with those transmissions.
35
52. PPP
Lühikokkuvõte on wikipedias. Kaadri formaadist, byte stuffingust ja LCP’st võib usin tudeng lugeda
Kurose raamatust lk 436-441, toon ära PPP üldise kirjelduse:
As its name implies, the Point-to-Point Protocol (PPP) is a data link layer protocol that operates over a
point-to-point link - a link
connecting two communicating link-level peers, one on each end of the link
The point-to-point link over which PPP operates might be a
serial dialup
telephone line, a
SONET/SDH link, an X.25 connection, or over an ISDN
circuit . PPP has become the protocol of
choice for connecting home
users to their ISP's over a dialup connection. It is instructive to examine
the original
requirements that the IETF placed on the design of PPP:
• Packet framing. The PPP protocol data link layer sender must be able to take a network-level
packet and frame (a.k.a encapsulate) it within the PPP data link layer frame such that the receiver
will be able to identify the start and end of both the data link frame, and the network layer packet
within the frame.
• Transparency. The PPP protocol must not
place any constraints on data appearing on the network
layer packet (headers or data). Thus, for example, the PPP protocol can not forbid the use of
certain bit patterns in the network layer packet.
• Multiple network layer protocols. The PPP protocol must be able to support multiple network layer
protocols (e.g., IP and DECnet) running over the same physical link at the same time. Just as the
IP protocol is required to multiplex different transport level protocols (e.g., TCP and UDP) over a
single end-to-end connection, so too must PPP be able to multiplex different network layer
protocols over a single point-to-point connection. This requirement means that at a minimum, PPP
will likely
require a "protocol type" field or some similar mechanism so the receiving side PPP can
demultiplex a received frame up to the appropriate network layer protocol.
• Multiple types of links. In
addition to being able to
carry multiple higher level protocols, PPP must
also be able to operate over a wide variety of link types, including links that are either serial
(transmitting a bit at a time in a given direction) or
parallel (transmitting bits in parallel),
synchronous (transmitting a clock signal along with the data bits) or asynchronous, low
speed or
high speed, electrical or optical.
• Error detection. A PPP receiver must be able to detect bit errors in the received frame.
• Connection liveness. PPP must be able to detect a failure at the link level (e.g., the inability to
transfer data from the sending side of the link to the receiving side of this link) and signal this error
condition to the network layer.
• Network Layer Address Negotiation. PPP must provide a mechanism for the communicating
network layers (e.g., IP) to learn or configure each other's network layer address.
• Simplicity. PPP was required to meet a number of additional requirements beyond the seven listed
above. On top of all of these requirements, first and foremost
among all of the PPP requirements
is that of "simplicity."
53. ATM
vallaste.ee definitsioon: asünkroonülekanne Võrgutehnoloogia, kus andmeid edastatakse väikeste
fikseeritud suurusega (53 baiti) rakkudena (pakettidena). See võimaldab ühes ja samas võrgus
edastada nii video-, audio- kui arvutiandmeid, ilma et ükski neist liini umbe ajaks.
Andmeedastuskiirus ATM võrgus on 25 Mbps kuni 10 Gbps, samas kui
tavalises Etherneti kohtvõrgus on see
maksimaalselt 100 Mbps. Erinevalt TCP/IP võrgust, kus ühele sõnumile kuuluvad paketid võivad
lähtepunktist sihtpunkti liikuda erinevaid teid mööda, luuakse ATM võrgu puhul iga sõnumi tarvis kahe
võrgupunkti vahele fikseeritud kanal, mistõttu ATM võrgu kasutamist on lihtsam tasustada.
Abi leiab ka wikipediast, Stallingsi raamatust lk 327-359 ja Kurose raamatust lk 443-451: 36
IP over ATM
Most ATM backbones have
a
permanent virtual channel
(VC) between each pair of
entry/
exit points . By using
permanent VCs, ATM cells
are routed from entry point
to exit point without having
to dynamiccally establish
and tear-down VCs.
Permanent VCs, however,
are only feasible when the
number of entry/exit points is
relatively small. For n entry
points, n(n-1) permanent
VCs are necessary.
Consider now an IP datagram that is to be moved across the backbone. The entry router does the
following:
1. Examines the destination address of the datagram.
2. Indexes its routing table and determines the IP address of the exit router.
3. To get the datagram to the exit router, the entry router views ATM as just another link-layer protocol.
In particular, the entry router indexes an ATM ARP table with the IP address of the exit router and
determines the ATM address of the exit router.
4. IP in the entry router then passes to the link layer the datagram along with the ATM address of the
exit router.
ATM must now
move the datagram to the ATM destination address obtained in Step 3. This has two
sub-tasks:
1. Determine the VCI (virtual channel identifier) for the VC that leads to the ATM destination address.
2. Segment the datagram into cells at the sending side of the VC (i.e., at the entry router), and
reassemble the cells into the original datagram at the receiving side of the VC (i.e., at the exit router).
ATM has three layers: the physical layer, the ATM layer, and the ATM adaptation layer.
ATM Physical Layer
The physical layer is concerned with sending an ATM cell over a single physical link. T physical layer
has two sublayers: the Physical Medium
Dependent (PMD) Sublayer and the Transmission
Convergence (TC) Sublayer.
The PMD sublayer is at the very bottom of ATM protocol stack. As the name implies, the PMD
sublayer depends on the physical medium of the link; in particularly, the sublayer is specified
differently for different physical media (fiber, copper, etc.). It is also responsible for generating and
delineating bits.
The ATM layer is specified independently of the physical layer. A sublayer is therefore needed at the
sending side of the link to accept ATM cells from the ATM layer and put the cells' bits on the physical
medium, and at the receiving side of the link to group bits arriving from the physcial medium into cells
and pass the cells to the ATM layer. These are the
jobs of the TC sublayer, which
sits on top of the
PMD sublayer and just below the ATM layer. The TC sublayer is also physical medium dependent -- if
we change the physical medium or the underlying frame structure, then we must also change the TC
sublayer. On the transmit side, the TC sublayer places ATM cells into the bit and transmission frame
structure of the PMD sublayer. On the receive side, it extracts ATM cells from the bit and transmission
frame structure of the PMD sublayer. It also peforms header error correction (HEC).
ATM Layer
When IP runs over ATM, the ATM cell plays the
role of the link-layer frame. The ATM layer defines the
structure of the ATM cell and the
meaning of the fields within this structure. The first 5 five bytes of the
cell constitute the ATM header; the remaining 48 bytes constitute the ATM payload. ATM header
37
structure: VCI (Virtual Channel Identifier); PT (Payload Type); CLP (Cell Loss Priority) bit; Header
Error Checksum HEC byte.
ATM adaption layer (AAL)
The purpose of the AAL is to allow existing protocols (e.g., IP) and applications (e.g.,
constant -bit-rate
video) to run on top of ATM. AAL is implemented in the ATM end systems (entry end exit routers in an
Internet backbone), not in the intermediate ATM switches - the AAL layer is analogous in this
respect to the transport layer in the Internet protocol stack. The AAL sublayer has its own header fields, which
occupy a small portion of the payload in the ATM cell.
The ITU and the ATM Forum have standardized several AALs. Some of the most important AALs
include:
AAL 1: For Constant Bit Rate (CBR)
services and circuit emulation.
AAL 2: For Variable Bit Rate (VBR) services.
AAL 5: For data (e.g., IP datagrams)
AAL has two sublayers: the Segmentation And Reassembly (SAR) sublayer and the Convergence
Sublayer (CS). The SAR sits just above the ATM layer; the CS sublayer sits between the user
application and the SAR sublayer.
54. Võrkude turvalisus
Kuna tegu on hea konkreetse küsimusega, millest näiteks Kurosel on terve peatükk, ja siinkirjutaja ei
tea, millest Rein loengus rääkis, kleebin siia mõned mõtted Kurose raamatu 7. peatüki sissejuhatusest
lk 549-552:
Let us introduce
Alice and Bob, two people who want to communicate "securely." This being a
networking text, we should remark that Alice and Bob may be two routers that want to securely
exchange routing tables, etc. We can identify the following desirable properties of secure
communication:
•
Secrecy. Only the sender and intended receiver should be able to understand the contents of the
transmitted message. Because eavesdroppers may intercept the message, this necessarily
requires that the message be somehow encrypted (disguise data) so that an intercepted message
can not be decrypted (understood) by an interceptor. This aspect of secrecy is probably the most
commonly
perceived meaning of the term "secure communication." Note, however, that this is not
only a restricted
definition of secure communication, but a rather restricted definition of secrecy as
well. For example, Alice might also want the mere fact that she is communicating with Bob (or the
timing or frequency of her communications) to be a
secret !
•
Authentication. Both the sender and receiver need to confirm the
identity of other
party involved
in the communication - to confirm that the other party is indeed who or what they
claim to be.
Face -to-face human communication solves this problem easily by visual recognition. When
communicating entities exchange messages over a medium where they can not "see" the other
party, authentication is not so simple. Why, for
instance , should you believe that a received
email containing a text
string saying that the email
came from a
friend of
yours indeed came from that
friend?
•
Message Integrity . Even if the sender and receiver are able to authenticate each other, they also
want to insure that the content of their communication is not altered, either malicously or by
accident, in transmission.
Let us next consider exactly what is meant by an “insecure channel." In order to securely exchange
data, while
meeting the requirements of secrecy, authentication, and message integrity, Alice and Bob
38
will exchange both control message and data messages (in much the same way that TCP senders
and receivers exchange both control segments and data segments). All, or some of these message
will typically be encrypted. A
passive intruder can
listen to and
record the control and data messages
on the channel; an active intruder can
remove messages from the channel and/or itself add messages
into the channel.
Network Security Considerations in the Internet
Can a "
real world" network intruder
really listen to and record network messages? Is it easy to do so?
Can an intruder actively inject or remove messages from the network? The
answer to all of these
questions is an emphatic "YES." A packet sniffer is a program running in a network attached device
that passively receives all data-link-layer frames passing by the device's network interface. In a
broadcast environment such as an Ethernet LAN, this means that the packet sniffer receives all
frames being transmitted from or to all hosts on the local area network.
Any Internet-connected device (e.g., a host) necessarily sends IP datagrams into the network. These
datagrams carry the sender's IP address, as well as application-layer data. A user with complete
control over that device's software (in particular its operating system) can easily
modify the device's
protocols to place an arbitrary IP address into a datagram's source address field. This is
known as IP
spoofing . A user can thus craft an IP packet containing any payload (application-level) data it desires
and make it appear as if that data was
sent from an arbitrary IP host. Packet sniffing and IP spoofing
are just two of the more common
forms of security "
attacks " on the Internet.
55. Krüptograafia
Kleebin siia veel natuke udujuttu Kurose raamatust, usin tudeng võib konkreetseid näiteid uurida lk
553-563.
Cryptographic techniques allow a sender to disguise data so that an intruder can
gain no information
from the intercepted data. The receiver, of course must be able to recover the original data from the
disguised data. Suppose now that Alice wants to send a message to Bob. Alice's message in its
original form is known as plaintext, or cleartext. Alice encrypts her plaintext message using an
encryption algorithm so that the encrypted message, known as ciphertext,
looks unintelligible to any
intruder. Interestingly, in many modern cryptographic systems, including those used in the Internet, the
encryption technique itself is known - published, standardized, and
available to everyone.
Clearly , if
everyone knows the
method for encoding data, then there must be some bit of secret information that
prevents an intruder from decrypting the transmitted data. This is where keys come in. Alice provides a
key - a string of numbers or
characters , as input to the encryption algorithm. The encryption algorithm
takes the key and the plaintext as input and produces ciphertext as output. Similarly, Bob will provide a
key to the decryption algorithm, that takes the ciphertext and Bob's key as input and produces the
original plaintext as output. In so-called
symmetric key systems, Alice and Bob's keys are identical and
are secret. In public key systems (RSA, for example), the key that Alice uses is known to all (!), while
Bob's key is secret.
56. Sümmeetrilise võtme krüptograafia, DES
Sümmeetrilise võtme krüptograafia:
Saatja ja vastuvõtja võtmed on ühesugused. 1)Caesari
šiffer - täht asendatakse krüptitud kirjas
tähestikus k võrra edasi oleva tähega (nt: k=5: a -> f, b -> g jne.). k väärtus on võtmeks. 25 eri
võtmevarianti. 2) monoalpabetic
cipher (ühetäheline šiffer). Täht asendatakse suvalise teise
tähega tähestikus, asendus ei pea olema mingi kindla süsteemi järgi. Iga täht võib krüptimisel
asendada ainult ühte tähte. 26! eri võtmevarianti (10
astmes 26 võimalikku tähepaari). 3)
polyaphabetic cipher (mitmetäheline šiffer). Kasutatakse mitut ühetähelist šifrit. Kindlas
kohas tekstis kasutatakse ühte neist šifritest, teises kohas teist. Šifrid erinevad üksteisest
võtme väärtuse poolest.
DES - Data Encryption Standard.
39
kodeerib plaintext-i 64-bitistes tekstijuppides, kasutades 64bitist võtit. 64-st bitist 8 on odd
parity bit-id (igal kaheksal baidil on oma odd parity bit), seega efektiivselt on võti 56 märki
pikk. Eesmärk - täielikult ajada segamini andmed ja võti
selliselt , et iga bit krüpteeritud
tekstist oleneb igast bitist algtestis ja igast võtme bitist. DES koosneb kahest järjestuse
muutmise (permutatsiooni) sammust - esimesest ja viimasest sammust algoritmis, kus kõigi
64 biti järjekorda muudetakse, tehes vahepeal 16 identset operatsiooniringi. Igal ringil
võetakse 32 parempoolset bitti sisendist ja viiakse need üle 32-ks vasakpoolseks bitiks
väljundis. The entire 64-bit input to the i-th round and the 48-bit key for the i-th round are
taken as input to a function that involves expansion of four-bit input chunks into six-bit
chunks, exclusive OR-ing (XOR) with the expanded six-bit chunks of the 48 bit key Ki, a
substitution operation, and
further XOR-ing with the leftmost
32 bits of the input. The resulting 32-bit output of the
function is then used as the rightmost 32 bits of the round's
64-bit input.
For longer messages to be encrypted, DES is used with
cipher-block chaining (the encrypted version of j-th 64-bit
quantity of data is XOR-ed with the (j+1)-st unit of data
before the (j+1)-st unit of data is encrypted).
Kui ühekordne DES-i kasutamine tundub liiga ebakindel, siis
võib DES-i meetodit kasutada mitu korda järjest (siis on
eelneva DES-i väljund järgmise DES-i sisendiks), kasutades
iga kord erinevat võtit. Triple-DES (3DES) (kolme võtmega
ja kolme DES-i ringiga krüpteering) on USA valitsuse
standard, mis asendab standardDES-i .
[AES - Advanced Encryption Standard, ka Rijndaeli
algoritm. Sümmeetrilise võtme algoritm, mis töötleb andmeid
128-bitistes plokkides ja suudab opereerida 128-, 192-, 256-
bitiste võtmetega].
57. Avaliku võtme krüptograafia, RSA
Public Key System - avaliku võtme krüptograafia. Krüpteerimiseks / dekrüpteerimiseks
kasutatakse kahte erinevat võtit. Krüpteerimise võti on teada nii saatjale kui
saajale (tegelikult
- tervele maailmale). Dekrüpteerimise võti on teada ainult saajale.
[Edaspidi eb(m) - krüptimise võti; db(m) - dekrüptimise võti]. Saatja saab saaja public
encryption key (PEK). Saatja krüpteerib sõnumi m PEK-iga ja teadaoleva
40
krüpteerimisalgoritmiga (nt Caesari krüpteering) (saadakse eb(m) ). Saaja saab saatjalt
krüpteeritud sõnumi eb(m) ning kasutab oma privaatset dekrüpteerimise võtit (PDK) ning
sama krüpteerimise algoritmi, et dekrüpteerida sõnumit (s.t. db(eb(m)) = m). Leidub selliseid
krüpteerimise /dekrüpteerimise algoritme, et kui rakendada krüpteerimiseks PEK-i sõnumile
ning hiljem PDK dekrüpteerimiseks, siis algne sõnum on enne krüptimist ja pärast
dekrüptimist identne: m = db(eb(m)). Kui rakendada alguses sõnumile PDK krüptimiseks ja
dekrüptimiseks PEK, siis saadakse sama tulemus: eb(db(m)) = m.
RSA algoritm (Rivest, Shamir, Adleman algoritm) - on saanud avaliku võtme krüptograafia
sünonüümiks. Kaks omavahel seotud komponenti RSA-l: * avaliku ja privaatse võtme valik; *
krüptimise ja dekrüptimise algoritmi valik. Võtmete valikuks peab saaja:
1)
valima kaks suurt algarvu p ja q (mida suurem arv, seda raskem koodi murda).
Soovituslikult: p * q = 1024 (väga tähtsa info jaoks) või 768 (vähem tähtsa info jaoks).
2) arvutama n = p*q ja z = (p-1)*(q-1)
3) valima arvu e 4) Valima arvu d nii, et e*d -1
jagub täpselt (jäägita) arvuga z. (ehk: e*d mod z = 1)
5) avalik võti on eb(n,e), privaatvõti on db(n,d).
Saatjapoolne krüptimine ja saajapoolne dekrüptimine:
1) Oletame, et saatja tahab saata numbrit m 2) Saajapoolne dekrüptimine: m = cd mod n
RSA tõestus: m = (me mod n)d mod n. Kui p, q on algarvud ja n=p*q, siis
xy mod n = x y mod (p-1)*(q-1) mod n
(me mod n)d mod n = med mod n = m ed mod (p-1)*(q-1) mod n = m1 mod n = m. m.o.t.t.
RSA on kümneid kordi
aeglasem , kui DES.
58. Autentimine
Authentication is the process of proving one's identity to
someone else. Authentication
protocol is run before the two communicating parties run some other protocol (for example an
e-mail protocol). Autentimisprotokoll (ap) kõigepealt identifitseerib suhtlejad teineteisele ja
alles peale identifitseerimist algab tegelik suhtlus.
1) Autentimisprotokoll ap1.0 - lihtsaim autentimisprotokoll. Saatja (Alice) saadab saajale
(Bob) sõnumi, et tema on saatja. Probleem - saaja ei saa kindel olla, et saatja on tegelikult
Alice, vaid võib olla keegi muu, kes väidab end olevat Alice.
2) Autentimisprotokoll ap2.0 - Saaja (Bob) võib kontrollida IP-datagrammist, kas Saatja
aadress on tegeliku Saatja (Alice) IP-aadress. IP-datagramm on võltsitav, seega pole see info
usaldusväärne.
3) Autentimisprotokoll ap3.0 - Saatja (Alice) edastab Saajale (Bob) identifitseerimiseks oma
salasõna. Salasõnade edastamist saab "pealt kuulata", seega võib keegi teine saada teada
Saatja salasõna, ning hiljem esineda ise õige Saatjana.
4) Autentimisprotokoll ap3.1 - salasõna krüptitakse. Saatjal ja saajal on ühine sümmeetriline
võti. Pole turvaline - keegi võib saada teada salasõna krüptitud kujul, ning saata seda hiljem
saajale, esinedes ise õige saatjana (playback attack). Alati kasutatakse ühte ja sama salasõna.
5) Autentimisprotokoll ap4.0 - iga kord kasutatakse erinevat salasõna. Kasutab sümmeetrilise
võtme krüptograafiat. Lepitakse kokku salasõnade jada või algoritm, mille alusel salasõna
leitakse. nonce - number, mida ap kasutab ainult üks kord "eluaja" jooksul.
• Saatja(Alice) saadab sõnumi "hi, I am Alice" saajale (Bob).
41
• Saaja valib nonce-i R ja saadab R-i saatjale.
• Saatja krüptib R-i, kasutades ühist sümmeetrilist krüptimisvõtit ning saadab krüptitud R-i
tagasi saajale.
• Saaja dekrüptib saadud krüptitud R-i: kui see vastab
algsele R-ile, siis on saatja
autenditud.
6) Autentimisprotokoll ap5.0 - kasutab avatud võtme krüptograafiat sarnaselt ap4.0-ga.
• Saatja saadab saajale sõnumi "hi, I am Alice".
• Saaja valib nonce-i R ja saadab selle saatjale.
• Saatja kasutab oma privaatvõtit, et krüptida nonce Rja saadab krüptitud R-i tagasi saajale.
• Saaja kasutab saatja avalikku võtit, dekrüpteerimaks saatja saadetud R-i. Kui dekrüptitud
R vastab algsele, on saatja autenditud.
Selle ap töökindlus sõltub avalike võtmete jagamisest. Probleem - Saatja ja saaja suhtlevad
omavahel, kuid neid kuulab vahepeal
salaja pealt keegi kolmas (kui saaja hakkab saatma
krüptitud andmeid saatjale, kasutades pealtkuulajalt saadud krüptimisvõtit, siis pealtkuulaja
saab sõnumi kätte plaintextina ning saadab selle siis plaintextina edasi tegelikule adressaadile
- saatjale). Saatja ja saaja vahetavad omavahel andmeid, teadmata, et neid kuulatakse pealt.
(man-in-the-middle attack, bucket-brigade attack).
59. Digitaalallkiri
A digital signature is a cryptographic technique to indicate the owner or creator of a
document , or to signify one's agreement with a document's content.
1) Saatja krüptib sõnumi m oma privaatvõtmega db, saades tulemuseks sõnumi m ja
digitaalallkirja db(m). Saatja saadab sõnumi m ja digitaalallkirja db(m) saajale.
2) Saaja kasutab saatja avalikku võtit, et arvutada välja eb(db(m)) = m, mis on võrdne algse
sõnumiga m.
Kes iganes digiallkirjastas sõnumi, kasutas saatja privaatvõtit. Seda saab kasutada ainult saatja
isiklikult. Seega antud sõnumi saatis saatja ja mitte keegi kolmas.
Andmete allkirjastamine, kasutades täielikku krüptimist/dekrüptimist, on seotud suure aja- ja
ressursikuluga. Kasulikum on kasutada sõnumikokkuvõtteid (message digest).
Sõnumikokkuvõtte algoritm võtab sõnumist juhusliku pikkusega osa, ja arvutab (kasutades
hash -funktsiooni H) kindla pikkusega "sõrmejälje", mida nim. sõnumikokkuvõtteks H(m).
Kui mingil
põhjusel sõnum m muutub sõnumiks m', siis H(m) ei võrdu H(m')-ga. Nüüd saab
terve sõnumi asemel digiallkirjastada sõnumikokkuvõtte
tavalisel digiallkirjastamise moel.
[Hash-funktsioon võtab sisendiks sõnumi m ning arvutab fikseeritud pikkusega stringi hash].
Pole olemas sõnumit y, mille korral oleks H(m) = H(y). Sõnumikokkuvõtte kasutamisest:
• Saatja
laseb oma originaalsõnumi m läbi hash-funktsiooni, et koostada sõnumikokkuvõte
H(m). Siis digiallkirjastab ta sõnumikokkuvõtte H(m) oma privaatvõtmega.
• Originaalsõnum koos digiallkirjastatud sõnumikokkuvõttega saadetakse saajale.
• Saaja töötleb digiallkirjastatud sõnumikokkuvõtet saatja avaliku võtmega. Saaja laseb
originaalsõnumi m läbi hash-funktsiooni, et saada teist sõnumikokkuvõtet. Kui need kaks
sõnumikokkuvõtet langevad kokku, siis võib kindel olla, et saatja on sõnumi autor.
Sõnumikokkuvõtte algoritmina kasutatakse tavaliselt MD5. See arvutab 128-
bitise sõnumikokkuvõtte nelja sammuga. Teine kasutatav sõnumikokkuvõtte algoritm on SHA-1
42
60. Sertifitseerimine
Sümmeetrilise võtme krüptograafia võtme ning avaliku võtme krüptograafia avaliku võtme
saamiseks kasutatakse usaldusväärset vahendajat (trusted intermediary). Sümmeetrilise võtme
krüptograafia puhul nim. vahendajat key distribution center (KDC; single, trusted network
entity with
whom one has established a shared secret key). Avaliku võtme krüptograafia
puhul nim. vahendajat certification
authority (CA; certifies that a public key belongs to a
particular entity - a
person or a network identity). Once a public key is certified, then it can
be distributed from just about everywhere, incl. a public key server, a personal web page, or a
diskette.
KDC - a server that shares a different secret symmetric key with each registered user.
• Saatja ja saaja teavad ainult oma enda salavõtit.
• Saatja saadab KDC-le oma salavõtmega krüptitud teate, et ta tahab suhelda sõnumi
saajaga.
• KDC, teades saatja salavõtit, krüptib saadud teate ning genereerib suvalise numbri R1 -
one-time session key (ühine salavõti, mida saatja ja saaja kasutavad omavahelises
suhtluses). Antud R1-e kasutatakse ainult antud sessiooni ajal.
• KDC saadab saatjale saatja salavõtmega krüptitud teate, mis sisaldab: R1 (saatja ja saaja
vahelise suhtluse salavõti); väärtuste paar (A, R1), mis on krüptitud saaja salavõtmega (A
- saatja nimi).
• Saatja saab KDC-lt sõnumi, dekrüptib selle oma salavõtmega, saab teada R1 väärtuse
ning saadab (A, R1) krüptitud paari saajale.
• Saaja dekrüptib oma võtmega paari (A, R1) ning saab teada R1 väärtuse.
Public Key Certification - In order for public key cryptography to be useful, entities (users,
browsers, routers, and so on) need to know for
sure that they have the public key of the entity
with whom they are communicating. Binding public key to a particular entity is typically done
by a certification authority (CA),
whose job is to validate identities and issue certificates.
• CA verifitseerib, et entity (user, browser, router, and so on) on, kes ta väidab end olevat.
• Kui CA verifitseerib entity identiteedi, loob CA sertifikaadi, mis seob entity avaliku
võtme just identifitseerituga.
Sertifikaat koosned avalikust võtmest ja globaalselt
unikaalsest avaliku võtme omaniku identifitseerimisinformatsioonist (nt inimese nimi või
masina IP-aadress). CA seejärel digiallkirjastab sertifikaadi.
Saaja saab saatjalt tema sertifikaadi (veebilehelt, meilist või sertifikaadiserverist). Saaja
kasutab CA poolt antud avalikku võtit
kontrollimaks saatja saadetud, CA-poolt
allkirjastatud sertifikaati.
61. Võtmete jaotussüsteemid ja protokollid
vt punkt 60.
62. Kerberos
Kerberos on MIT poolt välja töötatud autentimisteenus, mis kasutab sümmeetrilise võtme
krüptimise tehnoloogiat ja võtme jaotussüsteemi (KDC). Kerberos is framed in the language
of users who want to access network services (servers) using application-level network
programs such as
Telnet (for remote login) and NFS (for access to remote files). The
43
Kerberos Authentication Server (AS) is the KDC. AS-is on salvestatud mitte üksnes kõikide
kasutajate salavõtmed (et iga kasutaja saaks AS-iga suhelda ohutult), kuid ka info erinevate
kasutajate erinevate juurdepääsuprivileegide kohta serverites. Kui saatja (Alice) tahab saada
ligi teenusele saajaserveris (Bob), siis:
1) Alice kontakteerub Kerberose AS-iga, näidates, et ta tahab asutada Bobi. Kogu suhtlus
Alice-i ja AS-i vahel on krüptitud AS-i ja Alice vahel jagatud võtmega. Kerberoses sisestab
Alice kõigepealt oma hosti kasutajanime ja salasõna. Alice'i host ja Kerberose AS määravad
ühekordse sessioonivõtme Alice'i ja AS-i vaheliseks krüptitud
suhtluseks .
2) AS autendib Alice-i, kontrollib, kas tal on Bob-is (serveris) õigusi ning genereerib
ühekordse sümmeetrilise sessioonivõtme R1 Alice-i ja Bob-i vaheliseks suhtluseks.
Autentimisserver (edaspidi pileti andev server - ticket granting service) saadab Alice-le R1-e
väärtuse ja ka pileti Bob-i teenuste jaoks. Pilet koosneb Alice-i nimest, Alice-i ja Bob-i
vahelise sessiooni võtmest, R1-st, sessiooni kehtivusaja lõpuajast, mis on kõik krüptitud Bob-i
võtmega (mida teavad ainult Bob ja AS). Alice-i pilet kehtib ainult kehtivusaja lõpuni, ning
lükatakse Bobi poolt tagasi peale antud aja saabumist. Kerberos V4 puhul on maksimaalne
kehtivusaeg 21 tundi; Kerberos V5 puhul peab lõpuaeg
saabuma enne aasta 9999 lõppu
(Y10K problem :) ).
3) Alice saadab Bobile oma pileti ja R1-ga krüptitud timestampi, mida kasutatase kui nonce-i.
Bob dekrüptib pileti, kasutades enda salavõtit, saab kätte sessioonivõtme ning dekrüptib
timestampi, kasutades just leitud sessioonivõtit. Bob saadab nonce-i tagasi Alice-le, kasutades
krüptimiseks R1, näitamaks, et Bob teab R1.
63. Tulemüürid
In a computer network, when traffic entering/leaving a network is security-checked, logged,
dropped , and/or forwarded, it is done at a device called
firewall .
Tulemüür on kombinatsioon riist- ja tarkvarast, mis isoleerib organisatsiooni sisevõrku
Internetist, lubades mõned paketid läbi (internetist - võrku ja vastupidi) ning blokeerides kõik
teised. Tulemüür laseb võrgu administraatoril kontrollida andmeliiklust sise- ja välisvõrgu
vahel. Ühes organisatsioonis võib olla ka mitu tulemüüri erinevatel tasanditel, tavaliselt on
üks tulemüür alati välisvõrgu ühenduse juures, et oleks kergem tervet
liiklust korraga hallata.
Kaks tüüpi tulemüüre:
1) Packet-filtering firewall - pakettfiltriga tulemüür (opereerib võrgu layeril e. tasandil).
Tavaliselt toimub pakettfiltreerimine välise ISP-i ja firma võrgu vahel
olevas ruuteris.
Kõigepealt vaatab pakettfilter läbi datagrammi päise (header) ning siis kasutab võrgu
admini poolt seatud reegleid paketile - kas lasta datagramm läbi tulemüüri või mitte. Tavalisemad
filtreerimise alused - a) Sihtkoha või saatja IP aadress (
Filtrina võib kasutada ka
kombinatsiooni aadressist ja pordi numbrist (nt tulemüür võib läbi lasta kõik Telneti
datagrammid (port 23), välja arvatud need, mis lähevad admini poolt määratud IP-
aadressidele.) ; b) TCP või UDP saatja- või sihtport (Nd: blokeerida kõik UDP ja Telneti
ühendused (väliskasutajad ei saa logida sisse organisatsiooni võrku, sisekasutajad ei saa
logida välistesse võrkudesse); c)
ICMP sõnumitüüp; d) Ühenduse initsialiseerimise
datagrammid, mis kasutavad TCP SYN või ACK bitte (filter - kas TCP ACK bit on seatud või
mitte. võimaldab sisekasutajatel luua ühendust välisvõrguga, kuid mitte väliskasutajatel
sisevõrguga).
Filtrite järjekord on oluline - esimestena tuleks täita pakette mitteläbilaskvad
filtrid (filtriks nt
häkkerite arvutite IP-aadressid).
2) Application Gateway (edaspidi AG). In order to have a finer-level security, firewalls must
combine packet filters with AG-s. AG-s look beyound the IP / TCP / UDP headers and make
policy decisions based on application data. AG is an application-specific server through which
44
all application data (inbound and outbound) must pass. Nd: tulemüür, mis lubab mõnedel
sisekasutajatel kasutada Telneti ühendse võtmiseks välisvõrguga, kuid keelab kõikide teiste
sisekasutajate välisvõrgu kasutust ning välisvõrgu kasutajatel sisevõrgu kasutust. Kasutatakse
kombineeritult pakettfiltrit (ruuteris) ja Telneti AG-d. Ruuteri filter blokeerib kõik Telneti
ühendused, v.a. need, mille algatajaks on lubatud aadressid AG-s. See filter suunab kõik
väljastpoolt tuleva Telneti
liikluse läbi AG. Kasutaja tahab algatada Telneti seanssi. AG-s
jooksev application laseb kasutajal sisestada kasutajatunnuse ja parooli ning peale sisestamist
kontrollib, kas antud kasutajal on õigus algatada telneti sessiooni. kui ei ole õigust, siis
sisekasutaja telneti ühendus katkestatakse AG poolt. Kui on õigus, siis 1) AG küsib kasutajalt
sihtkoha nime, 2) AG seab üles telneti sessiooni sihtkoha ja gateway vahel, 3) vahendab
sisekasutaja ja sihtkoha vahelist liiklust. Seega on AG ka Telneti server ja Telneti klient.
Igale applicationile on vaja oma AG-d (Telnet, HTTP, FTP, e-mail jne).
64. Turvaline elektronpost, PGP
Alice (Saatja) tahab saata e-maili Bob-ile (Saajale), Trudy (pealtkuulaja). Olulised-
1)
konfidentsiaalsus (saatja ega saaja ei taha, et e-maili sisu satuks pealtkuulaja kätte).
Konfidentsiaalsus - sõnum krüptitakse sümmeetrilise võtmega krüptimise teel (kasutades DES
või AES), avaliku võtmega krüptides (RSA) või sessiooni võtmega krüptides (Nd A) a) Alice
valib suvalise sessioonivõtme, b) Alice krüptib oma sõnumi sessioonivõtmega; c) Alice
krüptib sessioonivõtme Bob-i avaliku võtmega, d) Alice paneb paketiks kokku krüptitud
sõnumi ja krüptitud sessioonivõtme; e) Alice saadab paketi Bob-i meiliaadressile. Bob: a)
kasutab oma võtit sessioonivõtme dekrüptimiseks, b) kasutab sessioonivõtiti sõnumi
dekrüptimiseks.).
2) saatja autentimine (saatjaks on ikka saatja, mitte pealtkuulaja);
3) sõnumi rikkumatus (
terviklikkus ) - keegi pole sõnumit vahepeal muutnud (Nd. B) Saatja
autentimine ja sõnumi terviklikkus - a) Alice kasutab oma sõnumil hash-funktsiooni, nt MD5,
et saada sõnumikokkuvõtet, b) töötleb sõnumikokkuvõtet oma privaatvõtmega
digiallkirjastamiseks, c) liidab krüptimata originaalsõnumi digiallkirjaga, moodustades uue
paketi, d) saadab paketi Bobi meiliaadressile. Bob: a) kasutab Alice-i avalikku võtit
sõnumikokkuvõtte dekrüptimiseks, b) võrdleb omatehtud sõnumikokkuvõtet Alice-i saadetud
sõnumikokkuvõttega - kui tulemused samad, siis on saatjaks Alice, mitte keegi teine. Nd C)
konfidentisaalsus + sõnumi saatja autentimine + sõnumi rikkumatus : a) Alice koostab
esialgse paketi oma originaalsõnumist ja digiallkirjastatud sõnumikokkuvõttest; b) antud
pakett krüptitakse nagu Nd A-s; c) pakett saadetakse Bob-ile. Bob: a) dekrüptib paketi nagu
Nd A-s, b) dekrüptib sõnumi.);
4)saaja autentimine (saajaks on saaja, mitte pealtkuulaja).
PGP (
Pretty Good Privacy ) - de
facto e-maili krüpteerimisstandard. PGP
tarkvara kasutab
MD5 või SHA-1 sõnumikokkuvõtte arvutamiseks,
CAST -i, 3DES-i või
IDEA -t sümmeetrilise
võtmega krüptimiseks; RSA-d avaliku võtmega dekrüptimiseks; lisaks pakub PGP andmete
kokkupakkimise võimalust. PGP installeerimisel koostatakse kasutajale avaliku võtme paar,
mille või panna kasutaja veebilehele või avaliku võtme serverisse. Avalik võti on kaitstud
parooliga, mis tuleb sisestada alati võtme poole pöördumisel. PGP annab kasutajale võimaluse
digiallkirjastada sõnum, krüptida sõnum või teha mõlemat korraga.
PGP toimib ka avaliku võtme jagajana; PGP avalikke võtmeid jagatakse ka PGP avaliku
võtme serveri kaudu Internetis.
45
65. Transpordikihi turvalisus (TLS), SSL
SSL - Secure Sockets Layer - protocol
designed to provide data encryption and authentication
between a Web
client and a Web server. The protocol begins with a handshake phase that
negotiates an encryption algorithm (DES, IDEA jne) and keys, and authenticates the server to
the client. The client can also be authenticated to the server. When the transmission of data
begins, all data is encrypted using session keys negotiated during the handshake phase. SSL is
the basis of Transport Layer Securitt (TLS). SSL ja TLS on enim kasutatud e-kommertsi
juures.
SSL ja TLS pole siiski limiteeritud ainult veebirakendustega - neid võib kasutada ka IMAP
meili puhul andmete krüptimiseks. SSL-i võib vaadata kui kihti application layeri ja transport
layeri vahel. Saatja poolel saab SSL andmed (nt HTTP või IMAP sõnumi applicationilt),
krüptib andmed ja saadab krüptitud andmed TCP socketisse. Saaja poolel loeb SSL andmed
TCP socketist, dekrüptib andmed ja saadab andmed applicationile. SSL-i võimalused:
1) SSL server authentication. võimaldab kasutajal veenduda serveri identiteedis. SSL-i
valmidusega brauseril on nimekiri usaldusväärsetest sertifitseerimisinstitutsioonidest (CA-
dest) koos nende CA-de avalike võtmetega. Kui brauser tahab suhelda SSL-i
toega veebiserveriga, siis saab brauser sertifikaadi serveri avaliku võtmega. Sertifikaadi annab välja
(allkirjastab digitaalselt) CA, mis on brauseri nimekirjas. See võimalus laseb brauseril
identifitseerida serveri enne, kui kasutaja sisestab oma krediitkaardi andmed.
2) SSL client authentication. Laseb
serveril veenduda kasutaja identiteedis.
Analoogne serveri identiteedi autentimisega. Vajalik nt juhul, kui serveriks on panga server, mis saadab
konfidentsiaalset informatsiooni kliendile ja tahab olla kindel kliendi
isikus .
3) An Encrypted SSL session - kogu info, mida vahetatakse serveri ja brauseri vahel, on
krüptitud saatva tarkvara poolt ja dekrüptitud saava tarkvara poolt.
SSL-toega serveri protokoll URL-is on https tavalise http asemel. Brauser ja server läbivad
handshake-faasi ( a) Bob satub Alice-i SSL-toega lehele; b) Alice saadab Bob-ile oma
sertifikaadi, c) Bob saab kätte Alice-i avaliku võtme, d) Bob genereerib suvalise
sümmeetrilise võtme ja krüptib selle, kasutades Alice-i avalikku võtit, saadab Alice-le; e)
Alice dekrüptib sümmeetrilise võtme) ning suhtlus võib alata, kasutades edaspidi alguses
genereeritud sümmeetrilise võtmega krüptitud andmeid.
66. E- kommerts , SET
The SSL-enabled servers and browsers provide a
platform for
payment card transactions. SSL
was not designed for payment card transactions, but for secure communication between a
client and a server. So SSL lakcs many features that the payment card industry would like to
see on an Internet commerce protocol.
SSL does not indicate whether the web site's company is authorized to accept payment card
purchases nor if the company is a reliable
merchant . Similar problem with client authorisation
- the client certificate does not tie a person to a specific authorized payment card; thus the
company has no assurance that the person is authorized to make a payment card purchase.
Secure Electronic Transactions (SET)
Designed for payment card transactions over the Internet. Provides security services among 3
players: customer, mercahnt, merchant's
bank . All must have certificates. SET specifies legal
meanings of certificates - appointment on liabilities for transactions. Customer's card number
passed to merchant's bank without merchant ever seeing number in
plain text - prevent
mercahnts from stealing, leaking payment card numbers. Three software
components -
browser wallet, merchant server, acquirer gateway.
46
67. Võrgukihi turvalisus, IPsec
IP pakettidele saab lisada kaht liiki lisapäiseid, AH ehk Authentication Header ja ESP ehk
Encapsulating Security Payload päised, mis tulevad peale IP päist. Esimene neist, AH, on
autentimiseks ja teine, ESP on andmete privaatsuse tagamiseks.
IPv4-s on ta valikuline, st. IPv4 kasutavad tooted ei pea oskama IPseci, IPv6 jaoks on ta
kohustuslik
“A key
concept for ... (mõlemad need kaks, AH ja ESP ) is the security association” - tõlkige
kuidas tahate, ma ütlen “ühendus” edaspidi. Slaididel nimetatakse seda associationit “Service
Agreement”.
Ühendus on ühesuunaline
relationship kahe osapoole vahel, kui on vaja kahesuunalist liiklust,
siis tuleb luua kaks ühendust.
Ühenduse
parameetrid on: autentimise(AH) algoritm, kasutatud võtmed, ESP algoritm,
võtmed ESP jaoks, ja nii edasi, kole pikk nimekiri on raamatus, neid pole mõtet hakata siis
ümber kirjutama, kui huvitab, siis lk 666 raamatust.
Kasutatakse neid kaht VPN jaoks, ehk luuakse tunnel kahe hosti vahel, või siis kahe võrgu
vahel, kui on loodud tunnel nende võrkude ruuterite vahele näiteks. VPN - läbi interneti läheb
ühendus kahe masina vahel, ühendus on turvatud igat pidi – mõlemad osapooled võivad olla
kindlad, et teine osapool on just see kes ta peab olema, ehk on autenditud. Samuti takistab
IPsec kasutamine ühenduse pealtkuulamise ja pakettide võltsimise.
ESP – pakub andmete krüpteerimist ehk privaatsust, “data integrity” ehk andmete muutmise
vastu kaitset. Võib kasutada kas selleks, et krüpteerida transpordikihi andmeid( TCP, UDP,
ICMP jne) või kogu paketti, viimast nimetatakse tunneldamiseks. ESP päises on 32 bitine SPI
ehk security parameters index, seal on kirjas ühenduse parameetrid, mis identifitseerivad
ühendust( security association). Kui leidub mingeid asju veel headeris siis on nad juba
krüpteeritud.
Transpordikihi krüpteerimise korral pannakse ESP päis enne transpordikihi päist(TCP jne),
IPv4-s on nii.
Tunneli tekitamise puhul krüpteeritakse kogu IP pakett, nagu
eelpool öeldud . Selle puhul
pannakse kõige esimeseks ESP päis, IP päise ette. Kuna IP päis sisaldab ruutimiseks vajalikku
infi siis lisatakse kõige ette veel üks IP päis, et pakett õigesse kohta kohale jõuaks. Tunneli
puhul saab lasta tegeleda krüpteerimisega ainult kahe võrgu tulemüüridel – need krüpteerivad
omavahelise ühenduse ära ning nende kahe võrgu sisemistel arvutitel ei ole vaja teada midagi
IPsec-ist ega muust kõigest taolisest, nende jaoks on teise võrgu arvutid nagu samas
kohtvõrgus, mis muudab töö tegemise väga mugavaks kui on vaja näiteks teises linnas asuvas
kontoris
oleval serveril
asuvaid faile näha või teenuseid kasutada. Nimetatakse seda VPN.
AH – IP pakettide autentimine ja andmete usaldatavust(integrity), et keegi pole neid tee peal
olles muutnud. Selleks kasutatakse MD5-t. MD5 arvutatakse IP paketist millele on liidetud
salajane võti, MD5 lisatakse paketile, ühenduse teine pool arvutab MD5 hashi sama moodi ja
võrdleb paketiga kaasas olevat ja enda poolt arvutatut.
Kui kasutada koos ESP-d ja AH-d siis saab teha ühenduse mis on nii krüpteeritud kui ka
autenditud. Kaks viisi on selle tegemiseks, autentimine enne krüpteerimist ja
krüpteerimineenne autentimist ehk siis AH on enne ESP-d ja vastupidi.
47
68. VPN
VPN-ist on
juttu juba eelmise küsimuse all tunneli tekitamise juures.
Juurde vaata
http://en.wikipedia.org/wiki/VPN – siin on kokkuvõte sealt kuna
ninja raamatus
midagi VPN kohta pole, mis ta toppis siia sellest eraldi punktina üldse.
Peale IPseci saab kasutada VPN tunneli tekitamiseks ka SSLi, PPTP-d ja VipNeti protokolle.
Tunneli loomisest. Tunneli loomine tähendab
turvalise ühenduse loomist kahe masina või
võrgu vahel läbi ebaturvalise võrgu. Ebaturvaliseks võrguks on siis internet.
VPN peab tegelema osapoolte autentimisega( võrgule ligipääsu kontroll), ühenduse
krüpteerimisega ja sellega, et kumbki osapool ei saaks pärast väita nagu ei oleks mingi
transaktsioon aset leidnud, tähtis on see veel näiteks elektroonilise äri puhul.
69. Võrguhaldus, SNMP
Kuna võrgud kasvavad pidevalt siis ei saa nende hooldusega inimesed üksi enam hakkama –
appi tõttab SNMP! See võimaldab jälgida mis seisus võrguseadmed on ja annab ülevaate
võrgu üldolukorrast – kus on mõni võrgusõlm ülekoormatud või lihtsalt ei tööta jne. SNMP
on võrguhalduse standard, hetkel on kasutusel SNMPv2.
Võrguhaldussüsteemi osad on
agendid ehk hallatavad seadmed,
haldaja , haldusprotokoll ja
MIB. Hallatavad seadmed sisaldavad hallatavaid objekte, mille andmed kogutakse kokku
MIB-i ehk management information database-sse.
Kui hallatavate seadmete andmeid hoitaks ühes kohas, ehk oleks mingi tsentraliseeritud server
selle jaoks siis võrgu kasvades ei töötaks asi enam üldse – see üks server oleks ülekoormatud
ja ülekoormatud oleks ka võrk kuna kõikide hallatavate seadmete andmed peavad jõudma
sinna ühte masinasse kokku. Seetõttu on ka SNMP detsentraliseeritud protokoll. Ehk ta on
nagu DNS – üks haldaja(masin) delegeerib mingi osa seadmetest teisele haldusserverile, mis
valvab siis oma hoolealuste masinate järgi ning samas on alluvuses sellele, kes talle neeed
masinad “üle andis”, st. saadab ise andmeid sellele serverile.
Agendid koguvad infi ja vajadusel edastavad seda vajadusel, kui
neilt midagi küsitakse.
Enamus võrguseadmetest on võimelised SNMP-ga
suhtlema , see on de facto standardiks
muutunud.
SNMP võimaldab vahetada ja liigutada haldusinfi(management information), ise ta millegagi
ei tegele, vaid selle peale saab ehitada igasuguseid kasulikke asju.
SNMP osad: SMI ehk structure of management information – keel andmete defineerimiseks.
SNMP-ga on “kaasa pandud” ASN.1 nimeline keel andmete ja andmetüüpide
defineerimiseks. Vajadusel võib luua veel uusi ja teistsuguseid keeli.
MIB – haldusinfo baas, hajusandmebaas, puu kujuline. Jällegi – nagu DNS.
Andmetele pääseb ligi hierarhilise nime abil.
Kuidas liiguvad andmed SNMP-ga?
On kaks võimalust – 1.
manager küsib ise seadme(agendi tegelikult, seadmed sisaldavad
agente) käest, agent vastab talle soovitud infoga.
2 - “trap” ehk kui juhtub midagi erakorralist siis saadab seade(agent) sellest teate managerile.
48
SNMPv3 ehk uusim versioon sest protokollist lisab juurde veel autentimise, krüpteerimise ja
ligipääsu kontrolli( ehk kes saab milliseid atribuute MIB-is lugeda ja kirjutada). Varasemate
versioonide puhul puudusid need võimalused ja seega olid täiesti ebaturvalised.
70. Analoog - ja digitaalandmed ja analoog ja digitaalsignaalid.
Analoog ehk
pide ja
digitaal ehk diskreetsed
signaalid .
Kuna selle punkti kohta pole slaide ega midagi siis leiutan ma ise siia mingit juttu, lugemisel
olge ettevaatlikud. Juttu mõtlen välja raamatu abiga, “data and computer communications”.
Sõnu analoog ja digitaal kasutatakse
kolmes kontekstis: andmed(data), signaalid(signals) ja
ülekanne( transmission).
Analoogandmed on näiteks heli ja video, samuti igasugustest sensoritest tulevad andmed,
näiteks temperatuur.
Digitaalsete andmete näiteks on tekst, mida ei saa hoida arvutis ilusti, selleks on välja
mõeldud ascii kood, igale tähele vastab mingi number. Samuti ka reavahed, tabid ja
kirjavahemärgid on oma koodiga.
Signaalid: andmed levivad elektriliste signaalidena mööda õhku, vaskjuhet või muud juhti.
Digitaalsignaalid on pinge “pulsid” ehk muutused( tõlkige ise, “voltage pulses”)
Ülekanne(transmission): analoogsignaalide puhul ei huvita nende sisu kedagi, tähtis on
signaali end ülekanne. Pika maa läbimisel väheneb signaali tugevus ja seda on vaja
võimendada, kuna võimendid võimendavad ka
müra siis liiga suure võimendusega võib
signaal muutuda arusaamatuks. Digitaalsignaalide ülekandel on vaja ülekanda andmeid, kui
on kasutusel võimendi siis see võtab signaali vastu, loeb sealt seest välja üle kantavad nullid
ja ühed ehk andmed ja tekitab uue signaali ning saadab selle uuesti teele, seetõttu ei teki ka
häireid ega moonutusi – müra ei akumuleeru.
71. Perioodilised signaalid, amplituud , sagedus, periood ja faas.
Kõige lihtsam perioodiline signaal on siinus. Seda iseloomustavad amplituud, sagedus ja faas.
Sagedus näitab kui kiiresti signaal kordub. Amplituud on signaali max. väärtus, seda
mõõdetakse enamasti volties või vattides.
Sagedus iseloomustab signaali mitmeti. Enamasti koosnevad signaalid mitmetest liidetud
signaalidest mil on erinev sagedus. Signaalide uurimiseks kasutatakse Fourier' teisendust,
selle abil saab signaale lahutada erinevateks osadeks ja võib näidata, et iga signaal koosneb
tegelikult erineva sagedusega siinustest.
72. Signaalide edastamist mõjutavad häired ja mürad.
Analoogisignaalide edastamist mõjutab signaali nõrgenemine, samuti igasugune müra mis tee
peal signaalile lisandub. Selle vastu aitab signaali võimendamine, mis on ka halb lahendus
kuna muudab koos kasuliku infoga ka müra tugevamaks. Kuna võimendus ja ka signaali
nõrgenemine sõltuvad signaali sagedusest siis muutub signaali sageduskarakteristik, ehk
mõned sagedused on tugevamad ja mõned nõrgemad.
Viitest tulenevad häired – signaali leviku kiirus sõltub sagedusest seega jõuab osa varem ja
osa hiljem kohale = häired.
Müra – soojuslik – põhjustatud elektronide
liikumisest juhis ja seadmetes – mida suurem
temperatuur seda kiiremini liiguvad elektronid ja müra ka suurem. N = kTW – N = müra, k =
Boltzmanni konstant, T = temperatuur kelvinites ja W = ribalaius hertzides.
49
, “intermodulation noise” - kui saatjas või vastuvõtjas on mingeid mittelineaarseid osi. Muidu
on sidesüsteemi väljund võrdne
sisend * mingi konstant aga mittelineaarsuse puhul nii ei ole,
põhjustavad vigased seadmed või liiga suur signaali tugevus.
Ülekostvus – Crosstalk – näiteks telefoniga rääkides kui kuuled kellegi teise kõnet pealt.
Põhjustab sideliini(vaskjuhtme) ligiduses asuv teine juhe mis indutseerib voolu kasutatavas
liinis. Samuti tekib see koaksiaalkaablis mis kannab mitut signaali korraga, või siis
mikrolaineantennide puhul, kui võetakse vastu soovimatuid signaale. Kuna eelmised
häireliigid on suhteliselt ennestatava
iseloomuga ja püsiva suurusega siis on nende vastu
võimalik võidelda.
Impulssmüra – telefoni puhul suvaline krõbin ja muu taoline. Analoogsignaali puhul ei ole
väga häiriv kuna signaal sellest ei muutu, edasi tulev on ikka arusaadav ega muutu kuidagi
teistsuguseks. Digitaalsignaalide puhul nii ei ole kuna kasvõi ühe biti muutus võib muuta
edastatavate andmete sisu ja mõtet.
73. Nyquisti ja Shannoni valemid
Nyquisti valem – C = 2*Wlog2 M
kus C on andmeedastuskiirus, kanali
mahtuvus ( ehk data rate, ühik bitti sekundis, bps ), W on
ribalaius ja M on erinevate signaali tasemete ehk bittide arv.
Samast valemist oli ka juttu Side
nimelises aines, selle konspektis peaks lisaks olema veel. Et saada suuremat
andmeedastusmahtu tuleks suurendada ribalaiust. Kui suurendada C-d siis muutuvad bitid
“lühemaks”, ehk nende edastamine võtab vähem aega, kui bitid on suuremad siis sama mingi
müra või häire rikub ära rohkem bitte kui väiksema andmeedastuskiiruse korral.
Ribalaiuse ja kanali mahtuvuse vahelise seose paneb paika Shannoni valem:
C = W*log2(1 + S/N) – ka tuttav valem Side-st.
See valem määrab ära mis on suurim andmeedastuskiirus antud ribalaiuse ja signaali/müra
suhte korral. Tegelikult saavutatav ühenduse kiirus on muidugi palju väiksem kuna Shannoni
valem eeldab, et müra on “white noise”(valge müra Müra, mille sagedusspekter on antud
sagedusribas pidev ja ühtlane. Valge müra võimsus hertsi kohta on selles sagedusribas
konstantne suurus)
74. Digitaalsed andmed ja digitaalsed signaalid.
Kaks võimalust: andmeid edastatakse kahe pinge taseme abil, üks neist on loogiline 0 ja teine
1, või digitaalsed andmed
kodeeritakse ära ja tulemuseks on
digitaalne signaal mil on
soovitud omadused.
Andmeid võib edastada mitut moodi kodeeritult. Võib kasutada igasuguseid koode, et tagada
veakindlus. Samuti võib andmeid edastada sünkroniseeritult või asünkroonselt. Või siis
paralleeel või järjestikühenduse kaudu. Paralleelühendus on kiirem, mitu bitti samal ajal, või
terve “sõna”, märk korraga. See on keerulisem ja
kulukam kuna on vaja iga biti jaoks oma
juhet . Aeglasem ja odavam on järjestikühendus, kus bitid tulevad kõik järjest.
75. Digitaalsed andmed ja analoogsignaalid
Digitaalsed andmed kodeeritakse modemiga, et saada analoogsignaali. Kodeerimisel
muundatakse digitaalsed signaalid analoogsignaaliks, tekitatakse siinuselistest signaalidest
liitsignaal, mis on vajaliku kujuga( saehammas, kolmnurk, jne ). Samuti kasutatakse erinevaid
modulatsioonitehnoloogiaid, et ühes ajaühikus võimalikult palju andmeid edastada, Side-st
50
meeldetuletuseks
QAM64 näiteks,
faasmodulatsioon , igas ajaühikus 8 bitti.On veel teisi
modulatsioonimeetodeid muidugi, amplituudmodulatsioon – see on kehva,
sagedusmodulastioon, mis on parem, nt. FM raadio kasutab seda.
76. Analoogandmed ja digitaalsed signaalid.
Andmed kodeeritakse kasutades mingit koodekit, et saada digitaalne signaal. Näiteks kõne
edastus – kõne on muidu analoogsignaal aga telefonivõrgus edastatakse seda digitaalsena.
Analoogandmed tuleb teisendada digitaalseks ehk need tuleb teisendada pidevast
diskreetseks. Diskreetimissagedus määrab millise ajavahemiku tagant loetakse
analoogsignaali. Digitaalheli ehk cd plaatide puhul on selleks
sageduseks näiteks 44100kHz.
See number pole täitsa suvaliselt valitud vaid seda tehti Nyquisti reegli järgi. Nyquisti reegel
ütleb, et diskreetimissagedus peab olema suurem kui kahekordne diskreeditava signaali
sagedus, seega kui inimese kuulmise ribalaius on 20kHz siis on vaja seda diskreetida
sagedusega 2*20khz + midagi.
77. Sünkroon- ja asünkroonedastus
Sünkroonedastus tähendab seda, et keegi küsib andmeid ja siis ootab vastust.
asünkroonülekanne Andmete edastusviis, kus edastatakse üks märk korraga ja
ajavahemik kahe märgi edastamise vahel on
ebaühtlane . Algus bitt ja lõpubitt annavad arvutile teada,
millal märgi edastus algab ja millal lõpeb.
Sünkroonedastuse korral edastatakse mitte üksikuid märke, vaid terveid stringe. See on
kiirem, aga ka kallim tehnoloogia. Lisaks tuleb tegeleda ka signaalide sünkroniseerimisega, et
edastus toimuks samal ajal, kui kasutatakse sünkroonset ühendust. St. mõlemad osapooled
peavad käima samas taktis, sama kella järgi.
See jutt on suhteliselt
poolik ja puudulik, signaalide ja andmete kohta. Reinul polnud nende
küsimuste kohta slaide ja raamatutes polnud ka midagi õieti, seega ei osanud siia kirjuada ka
midagi väga. Kui keegi oskab
täiendada seda siis oleks väga tore kui ta seda
teeks .
/* Mida Harri rääkis:
*
*digiandmed ja digisignaalid = sünrkoniseerimine,
kodeerimine , näiteks
unipolaarne või
polaarne *(NRZ, RZ, Manchesteri kood) või bipolaarne (AMI)... paralleelselt või järjestikku
edastamine, *sünkroonselt või asünkroonselt
*
*analoogandmed digikujul = diskreetimine ofkoors, nyquisti reegel ja värk
*
*digiandmed analoogkujul = siinusega binaarse info edastamine (st tekitada liitsignaal eri
*sageduse/amplituudiga signaalidest), faasi/amplituudi/sagdeduse moduleerimine eksole,
sobiva *sageduse valik (nyquist jälle), edastuskiirus sõltub sagedusriba laiusest (shannoni
valem *siiakohta), edastamisel signaal muundub (osa energiat läheb keskkonna
soojendamiseks), *väliskeskkonna müra
segab ka jm probleemid
*
*/
51
Document Outline
- 1. Üldine kommunikatsioonimudel
- 2. Kommunikatsioonisüsteemi ülesanne
- 3. Mitmekihiline arhitektuur failiedastussüsteemi näite baasil
- 4. Mitmekihiline arhitektuur postisüsteemi näite baasil
- 5. Andmete liikumine läbi kihtide, protokoll
- 6. OSI mudel, kihid, teenused, protokoll
- 7. TCP/IP mudel
- 8. Internet ja hajusrakendused
- 9. Kanalikommunikatsioon, pakettkommutatsioon ja sõnumi kommutatsioon
- 10. Multipleksimine sageduse, aja ja koodi järgi
- 11. Datagrammvõrgud, virtuaalahelatega võrgud
- 12. Edastusmeedia
- 13. Ajalised viited võrkudes
- 14. Arvutivõrkude ja interneti ajalugu
- 15. Mida erinevad rakendused nõuavad võrkudelt
- 16. HTTP
- 17. FTP
- 18. Elektronpost, SMTP, MIME, POP3
- 19. DNS
- 20. Töökindel andmeedastus
- 21. Go-back-n
- 22. Selective-Repeat
- 23. TCP
- 24. TCP ühenduse loomine
- 25. TCP timeout
- 26. TCP voo juhtimine
- 27. TCP koormuse juhtimine
- 28. UDP
- 29. Võrgukihi teenusemudelid
- 30. Marsuutimine, marsruutimisstrateegiad
- 31. Link state marsruutimisalgoritm
- 32. Distance vector marsruutimisalgoritm
- 33. Hierarhiline marsruutimine
- 34. Ipv4
- 35. Datagrammide edastus läbi võrkude (võrgukihi tasemel)
- 36. DHCP, NAT
- 37. Marsruutimisprotokollid RIP, OSPF ja BGP
- 38. Marsruuterid
- 39. Ipv6
- 40. Kanalikihi teenused
- 41. Vigade avastamine ja parandamine, CRC
- 42. Lokaalvõrgud, topoloogiad
- 43. Multipöördusprotokollid
- 44. ALOHA, CSMA/CD
- 45. Token ring
- 46. Token bus
- 47. ARP
- 48. Datagrammide edastus läbi võrkude (võrgukihi ja kanalikihi tasemel)
- 49. Ethernet
- 50. Sillad, jaoturid, kommutaatorid
- 51. CSMA/CA
- 52. PPP
- 53. ATM
- 54. Võrkude turvalisus
- 55. Krüptograafia
- 56. Sümmeetrilise võtme krüptograafia, DES
- 57. Avaliku võtme krüptograafia, RSA
- 58. Autentimine
- 59. Digitaalallkiri
- 60. Sertifitseerimine
- 61. Võtmete jaotussüsteemid ja protokollid
- 62. Kerberos
- 63. Tulemüürid
- 64. Turvaline elektronpost, PGP
- 65. Transpordikihi turvalisus (TLS), SSL
- 66. E-kommerts, SET
- 67. Võrgukihi turvalisus, IPsec
- 68. VPN
- 69. Võrguhaldus, SNMP
- 70. Analoog- ja digitaalandmed ja analoog ja digitaalsignaalid.
- 71. Perioodilised signaalid, amplituud, sagedus, periood ja faas.
- 72. Signaalide edastamist mõjutavad häired ja mürad.
- 73. Nyquisti ja Shannoni valemid
- 74. Digitaalsed andmed ja digitaalsed signaalid.
- 75. Digitaalsed andmed ja analoogsignaalid
- 76. Analoogandmed ja digitaalsed signaalid.
- 77. Sünkroon- ja asünkroonedastus
Kõik kommentaarid