Računalniške komunikacije in omrežja Zapiski predavanj do 1. kolokvija Vsebina tega dokumenta je delo študentov Fakultete za računalništvo in informatiko v Ljubljani v letu 2009/2010. Contents Uvod in splošno o omrežjih ..................................................................................................................... 5 Računalniška omrežja .......................................................................................................................... 5 Zgodovina ............................................................................................................................................ 5 Osnovni pomen komunikacij ............................................................................................................... 5 Prednosti računalniških komunikacij................................................................................................... 5 Taksonomija omrežij ........................................................................................................................... 6 Medmrežja .......................................................................................................................................... 7 Omrežna programska oprema ............................................................................................................ 7 Referenčni modeli – ISO OSI .................................................................................................................. 10 Osnovni principi delovanja: ............................................................................................................... 10 Sloji / plasti ISO OSI referenčnega modela: ....................................................................................... 10 1. Fizična plast: .............................................................................................................................. 10 2. Povezavna plast: ........................................................................................................................ 11 3. Omrežna plast: .......................................................................................................................... 11 4. Prenosna plast ........................................................................................................................... 12 5. Plast seje .................................................................................................................................... 12 6. Predstavitvena plast .................................................................................................................. 12 7. Aplikacijska plast ....................................................................................................................... 12 Fizična plast ........................................................................................................................................... 14 Analiza signalov – Fourierova vrsta ................................................................................................... 14 Fourierova transformacija periodičnih funkcij .................................................................................. 14 Fourierjev transform neperiodične funkcije ..................................................................................... 14 Prenosni medij za prenašanje v realnem svetu ................................................................................. 16 Prepustnost komunikacijskega kanala .............................................................................................. 16 Zgornja meja prepustnosti kanala ..................................................................................................... 16 Motnje v kanalu................................................................................................................................. 16 Podrobnejši opis prenosnih medijev ................................................................................................. 17 1. Magnetni medij ......................................................................................................................... 17 2. Parica ......................................................................................................................................... 17 3. Koaksialni kabel ......................................................................................................................... 17 4. Optično vlakno........................................................................................................................... 18 Brezžične komunikacije ..................................................................................................................... 18 Telefonski sistem ............................................................................................................................... 19 2 Medkrajevne linije in multipleksiranje (trunks and multiplexing) .................................................... 20 SONET/SDH .................................................................................................................................... 21 ADSL povezava............................................................................................................................... 21 Brezžična lokalna zanka (Wireless Local Loop – WLL) ................................................................... 22 Preklapljanje (switching) ................................................................................................................... 22 Mobilni sistem ................................................................................................................................... 23 Kanali (channels) ........................................................................................................................... 23 GSM (Global System for Mobile communications) ....................................................................... 23 CDMA (Code Division Multiple Access) ......................................................................................... 24 Kabelska televizija (cable television) ................................................................................................. 24 Dodelitev spektra (spectrum allocation) ....................................................................................... 25 Linijska plast .......................................................................................................................................... 26 UVOD ................................................................................................................................................. 26 OSNOVNE VRSTE STORITEV LINIJSKEGA SLOJA ................................................................................. 26 FAZE POVEZAVNE STORITVE Z UPORABO POTRJEVANJ .................................................................... 26 Hammingova koda............................................................................................................................. 28 H*v=0................................................................................................................................................. 29 Kodi za obvladovanje napak .............................................................................................................. 29 CRC – ciklične redundančne kode (Cyclic Redundancy Code) ....................................................... 29 Krmiljenje pretoka (Flow control) ................................................................................................. 30 3.3 Osnovni podatkovni protokoli ..................................................................................................... 31 3.3.1 Enosmerni protokol brez omejitve ....................................................................................... 31 3.3.2 Enosmerni "stoj in počakaj" protkol ..................................................................................... 31 3.3.2 Enostavni protokol za šumni kanal ....................................................................................... 31 3.4 Protokoli z drsečimi okni ......................................................................................................... 32 3.4.1 Protokol z drsečim oknom velikosti 1................................................................................... 32 3.4.2 Protokol "vrni se n okvirov".................................................................................................. 32 3.4.3 Protokol PSP (ponovno selektivno pošiljanje) ...................................................................... 32 Linijski sloj in dostop do medija ............................................................................................................ 34 LINIJSKI SLOJ IN INTERNET................................................................................................................. 34 Podsloj za dostop do medija.......................................................................................................... 34 Statično dodeljevanje kanala ........................................................................................................ 34 Nekaj osnovnega matematičnega ozadja:..................................................................................... 34 Predpostavke – Poissonov proces: ................................................................................................ 34 3 Orodja – kako se bomo dogovorili (komunikacija) ........................................................................ 35 ALOHA............................................................................................................................................ 36 Čisti ALOHA protokol ..................................................................................................................... 36 Predalčni ALOHA protokol ............................................................................................................. 37 Carrier Sense Multiple Access (CSMA) .......................................................................................... 37 Vztrajni in nevztrajni CSMA protokol ............................................................................................ 38 CSMA/CD (CSMA with Collission Detection) ................................................................................. 39 Algoritmi za dostop do medija brez trkov (ang. Collision- Free Protocols) ................................... 39 Mrežna plast .......................................................................................................................................... 43 Storitve mrežne plasti ....................................................................................................................... 44 Nepovezavne storitve........................................................................................................................ 44 Povezavne storitve ............................................................................................................................ 44 Primerjava povezavne in nepovezavne storitve................................................................................ 44 Usmerjanje ........................................................................................................................................ 45 Usmerjevalni Algoritmi ...................................................................................................................... 46 Usmerjanje ........................................................................................................................................ 47 Algoritmi za usmerjanje..................................................................................................................... 47 4 Uvod in splošno o omrežjih Računalniška omrežja Neodvisni računalniki so med seboj povezani preko infrastrukture oz. medija. Omrežje služi kot medij preko katerega poteka komunikacija. Predstavlja decentralizirani porazdeljeni sistem, pri katerem je obstoj množice za uporabnika transparenten. Abstraktna ideja, ki stoji za omrežjem, pravi, da je moč množice med seboj povezanih elementov večja od njihovega števila, t.j. "1+1 = 3". Pred pričetkom komunikacije, med dvema neodvisnima računalnikoma, je potrebno določiti: Naslavljanje (s kom želimo prenesti sporočilo) Kdaj kdo govori (preprečevanje trkov) Zgodovina 1. Zaradi visoke cene računalniške opreme so se uporabljali osrednji računalniki na katere so bili preko omrežja priklopljeni terminali ali končne postaje 2. Ko se je cena opreme znižala, so se pojavili računalniški sistemi, sestavljenih iz več med seboj povezanih računalnikov. 3. Pojavijo se mikroprocesorsko krmiljene naprave (npr. mobilni telefoni) Osnovni pomen komunikacij Računalniki so relativno poceni. Ce jih povežemo skupaj, dobimo boljše razmerje zmogljivost/cena. Do informacij lahko dostopamo iz vecih mest. Deljenje strojne opreme zaradi njene visoke cene in boljše izkoriščenosti (npr. tiskalnik) Prednosti računalniških komunikacij Za organizacije: boljše razmerje med ceno in zmogljivostjo sistema izboljšanje dostopnosti do sredstev povečanje zanesljivosti delovanja premagovanje razdalj, hitro širjenje in pridobivanje informacij Za posameznike: dostop do informacij je hiter, poceni, v velikih količinah 5 Taksonomija omrežij Viri podatkov sodelujejo (preko medija) na dva osnovna načina: razpršeno oddajanje (broadcasting) o vsi si delijo skupen komunikacijski kanal (vsi slišijo vse) o sporočila se izmenjujejo v paketih o npr: Eduroam omrežje na FRI ali Ethernet protokol (na hitro: računalniki povezani s topologijo vodila). točka v točko (point-to-point) o množica povezav med posameznimi računalniki o med dvema komunicirajočima računalnikoma ni nujna neposredna fizična povezava o obstaja lahko več poti od med odajnikom in sprejemnikom (za prenos podatkov je potrebno, da znajo vmesni računalniki usmerjati podatke na njihovi poti) Obstaja tudi posebna oblika razpošiljanja: selektivno razpošiljanje (multicasting) pri katerem se sporočilo pošlje le tistim, katerim je namenjeno. Če je medij tak da razpošilja, želimo pa se pogovarjati iz točke v točko, moramo v protokol (ali način komuniciranja) vgraditi nadzor, da se ne motita. Pri komunikaciji iz točke v točko, pa lahko dosežemo razpošiljanje tako, da se sporočilo prenese naprej k vsem naslovnikom. Delitev glede na topologijo http://wiki.fmf.uni-lj.si/wiki/Topologija_omre%C5%BEja http://www.sc-nm.com/e-gradivo/OMR/topologija_omreij.html neposredna povezanost (npr. hrbtenica) zvezda obroč hierarhična, drevesna struktura poljubna struktura Delitev glede na deljenje komunikacijskega kanala frekvenčno: vsaki n-terica elementov, ki želi komunicirati, se dodeli del frekvenčnega spektra komunikacijskega kanala časovno multipleksiranje: npr. pogovor v vsaki lihi/sodi minuti, torej ob določenem času dinamično in statično: Porazdelitev kanala ali časovnega intervala je lahko fiksna (statična), ali pa se tekom komunikacije prilagaja potrebam uporabnikov (pari ali množice, ki med seboj prenašajo več informacij, so deležni večjega dela kanala/časovnega intervala) 6 Delitev glede na fizični obseg lokalni: npr hiša. Od nekaj metrov, do 1 km. (Ethernet, Token Ring) mestni: do 10 km. Npr kabelska TV/internet. (FDDI, DQDB) širokopodročni: 100-1000 km. Arnes, Telekom globalni: kjerkoli na svetu "vesoljski/planetarni": signali s svetlobno hitrostjo (za komunikacijo s sateliti...) Medmrežja Medmrežje (Internet) je računalniško omrežje, ki povezuje več različnih omrežij skupaj. Pri tem povezavo omogoča takoimenovan gateway oziroma pretvornik. razlika Internet (TCP/IP tehnologija) in internet (raznorodna tehnologija) Internet 1968 prvo sporočilo v 80. letih za vojaške namene danes: medij, ki naj bi omogočil poljubno dejavnost (storitev) v navideznem prostoru. Je torej ena od infrastruktur za ekonomijo. Zanimiv posnetek o zgodovini interneta: http://www.youtube.com/watch?v=9hIQjrMHTv4? Omrežna programska oprema Protokol TCP/IP TCP(Transmission Control Protocol) - nadzor nad prenosom podatkov IP(Internet Protocol) 7 Samo delovanje TCP/IP-ja ponazarja spodnja slika! Komunikacijski sloji Komunikacijski sloji so del t.i komunikacijskih skladov. Soležni sloji med seboj komunicirajo tako, da se informacija prenaša preko podrejenih oziroma nadrejenih slojev iz enega sklada na drugi sklad. Več o tem si lahko preberete na spodnjem naslovu: http://en.wikipedia.org/wiki/Internet_Protocol_Suite? Vmesniki in storitve vsak sloj nudi storitev sloju nad sabo soležni sloj (sloj na istem nivoju), ponudnik storitve (sloj na nivoju n), uporabnik storitve (sloj na nivoju n+1) storitve so dostopne na storitveni dostopni točki soležni osebki izmenjujejo protokolne podatkovne enote Povezavne in nepovezavne storitve povezavne: podatki izstopajo v enakem zaporedju, kot izstopajo (telefonsko omrežje) 8 nepovezavne: paket se preda omrežju brez vedenja prejemnika (poštno omrežje) Kakovost storitev zanesljivost: uporabimo mehanizme za povečanje zanesljivosti zakasnitev: nekatere naprave zahtevajo minimalno zakasnitev, a to privede do povečanja stroškov Primitivi storitev primitivi so operacije, ji jih izvajajo storitve, dostopni so uporabniku storitve ločimo štiri osnovne skupine: 1. zahteva 2. ali je bilo sporočilo poslano? 3. odgovor 4. potrditev primitivi imajo lahko tudi parametre(tip storitve, dolžina paketa...) Storitve in protokoli Storitev je definirana z množico primitivov in je podana s tem, kaj se stori in ne kako protokol je množica pravil in se navezuje na format in pomen sporočil prve implementacije niso ločevale storitev od protokolov in to je bil vzrok mnogih težav 9 Referenčni modeli – ISO OSI Osnovni principi delovanja: - Abstraktni opis večplastne komunikacije. - Ustvarjen z željo po standardizaciji omrežne komunikacije. - Je »de jure« standard, kar pomeni, da je model uporabljen v teoriji. V praksi se namreč uporablja poenostavljen »de jure« protokol TCP/IP. - Sestavljen iz sedmih plasti, katere predstavljajoin združuje sorodne storitve. - Posamezne plasti med seboj komunicirajo preko vmesnikov, kateri prejeto informacijo iz zgornje plasti predelajo tako, da je razumljiva nižji plasti (enkapsulacija podatkov, vertikalna komunikacija). Zaželjeno je, da je meja med slojipostavljena tako, da je čim manj pretoka podatkov prek vmesnikov. - Komunikacijo posameznih istoimenskih plasti med dvema sistemoma, ki podpirata ISO OSI model, si lahko predstavljamo kot horizontalno komunikacijo z uporabosebi razumljivih protokolov. V resnici se morajo podatki prvo posredovati nižjim plastem, katere postopoma pripravijo podatek na prenos po podatkovnem mediju. Nato se podatki pošljejo in prevzamejo v drugem sistemu, kateri ponovno vertikalno (od najnižje plasti navzgor) posreduje in postopoma raztolmači dobljene podatke, da jih bo razumela ciljna plast. Sloji / plasti ISO OSI referenčnega modela: 1. Fizična plast: 10 - Obvladuje prenos bitov preko komunikacijskega kanala tako, da se vsak bit pravilno prenese in interpretira. - Naloge tega nivoja so skrb za: – Karakteristike signala (nivoji napetosti: 0 –0V, 1 = 5V; (amplitudna, frekvenčna, fazna) modulacija : baseband ->broadband). – Način komunikacije (duplex ali full-duplex -obojesmerno). – Priklop na medij (fizične karakteristikekonektorjev – npr.: RJ45) – Upoštevanje lastnosti medija (frekvenčne karakteristike- impedanca, zakasnitve, atenuacija). - Naprave na tej plasti: Ponavljalnik (Repeater), hub,multiplekserji, Parice, ... 2. Povezavna plast: - Naloga tega sloja je nuditi omrežnemu sloju zanesljiv komunikacijski kanal brez napak pri prenosu (uporaba paritete, ...). - Podatki se razstavijo na okvire (bloke), ki štejejo od nekaj sto do nekaj tisoč oktetov. - Okvire posreduje prejemniku, ki mu pošilja potrditve prejemov (Acknowledgement) - Da loči okvire med sabo, jim dodaja na začetku in koncu ustrezne nize bitov (enkapsulacija) - Uporablja mehanizme za detekcijo napak in nadzor pretoka (različno hitra prejemnik in oddajnik). - mehanizem dostopa do prenosnega medija (npr.CSMA/CD, FCFS) - vidi omrežno topologijo - Tukaj je definiran MAC naslov - Naprave na tej plasti: stikalo (switch), bridge,... 3. Omrežna plast: - Nadzira delovanje podmrežja, kjer je slednje mišljeno v infrastrukturnem smislu. - Definira vmesnik med podmrežjem in uporabniškim računalnikom. - Uporablja podatkovne enote imenovane paketi. - Usmerja pakete od izvora do ponora (uporabastatičnega ali dinamičnega algoritma usmerjanja). - Nadzoruje pretok paketov. 11 - Tukaj je definiran IP naslov. - Beleži podatke, potrebne za upravljanje omrežja in obračunavanje storitev. - Naprave na tej plasti: usmerjevalnik (router) 4. Prenosna plast - Osnovna naloga je sprejemati podatke sejnega nivoja,te razbiti v manjše enote, jih predati omrežnemu sloju in skrbeti za njihov pravilni red vročitve (slednje je včasih izpuščeno). - Ta sloj je prvi, ki povezuje dva računalnika neposredno(angl. end-to-end). - Spremembe na nižjih nivojih naredi nevidne višjim slojem. - Omogoča, da ima lahko vsaka aplikacija svojo povezavo in jo ustrezno vodi. - Lahko vodi več transportnih povezav preko ene omrežne in več omrežnih za eno transportno. - Skrbi za nadzor pretoka, pa tudi odkrivanje in odpravljanje napak. - Uporablja podatkovne enote imenovane segmenti ali datagrami. 5. Plast seje - Omogoča vzpostavitev sej, to je za uporabnika logično zaključenih oblik komunikacije. - Lahko nadzira dialog, če je to potrebno zaradi tehnoloških omejitev (npr. da se odvija dialog nekaj časa v eni, nekaj časa v drugi smeri). - Lahko nudi nadzor z žetonom, če ni dovoljeno, da bi sočasno dva protokola izvajala isto operacijo. - Nudi sinhronizacijo sej (za npr. primer predčasno porušene povezave). 6. Predstavitvena plast - Se osredotoča na sintakso prenešenih podatkov. - Pretvarja konkretno sintakso v abstraktno (prenosno)in nazaj (primer povezovanja naprav z ASCII in Unicode kodiranjem. - Omogoča kompresijo prenešenih podatkov. - Omogoča tudi šifriranje in kodiranje podatkov. 7. Aplikacijska plast 12 - Ta nudi vrsto omrežnih aplikacij, ki jih često potrebujejo drugi uporabniki (ljudje ali aplikacije) pri delu prek omrežja. - Deluje kot vmesnik med uporabnikom inkomunikacijskim omrežjem. - Tipične skupne aplikacije so: o navidezni terminal (VT, Telnet), o prenos datotek (FTAM, FTP), o omrežni imenik (X.500, WWW), o razvrščanje opravil in njihova manipulacija(JTAM, WS), elektronska pošta (X.400, SMTP), ... 13 Fizična plast Cilj: Kako učinkovito prenašati podatke po mediju? Kakšen je ta medij? Analiza signalov – Fourierova vrsta S Fourierjevo vrsto lahko predstavimo katerokoli periodično funkcijo. Primer Znak 'B' predstavimo z ACSII kodo. S Fourierjevo analizo dobimo neke vrste periodični signal, sinusi in kosinusi se nadaljujejo v neskončnost. Več kot je členov, bolj verodostojna je slika osnovnega signala. Izraz (an2 + bn2) predstavlja moč določene harmonske komponente. Pove nam, kako močno je dolčena frekvenca prisotna. Močnejša kot je frekvenca (amplituda), bolj lahko zaznamo signal. Fourierova transformacija periodičnih funkcij Dirichletov pogoj - v prostoru, kjer transformacijo izvajamo, mora biti funkcija omejena in mora biti zvezna. Odmik od osi je dejansko količina energije, ki jo električni element oddaja v okolje. Če imamo funkcijo f(x(t)) lahko z matematičnim postopkom izračunamo koeficeinte pri posameznih členih sinusne in kosinusne vrste. Fourierjev transform neperiodične funkcije Imamo samo en kratek vzorec funkcije in predpostavljamo, da gre v neskončnost. Na tem vzorcu lahko izračunamo vse elemente sinusne in kosinusne transformacije in rezultat posplošimo na celotno vrsto. Pri pretvorbi imajo posamezni elementi določene vrednosti, ki se razlikujejo glede na frekvenco. Vsak člen je eden od harmoničnih členov vrste. Če vzamemo samo en harmonik, dobimo sinusno funkcijo. Če vzamemo dva harmonika dobimo funkcijo, ki je nekoliko bolj podobna prvotni funkciji. Če bi jih vzeli neskončno bi dobili prvotno funkcijo (kvadratke na prvi sliki). 14 (slika a: Prvotna funkcija; slike b-e: aproksimacije funkcije a; Opazimo, da je funkcija e, že zelo podobna funkciji a.) 15 Prenosni medij za prenašanje v realnem svetu Za prenos podatkov se uporablja različne medije. Vsak pa ima svoje prednosti in slabosti. Osnova medijev je elektromagnetno valovanje. Zaradi svoje fizikalne omejenosti, mediji nad določeno mejo frekvence duši (različne pasovne širine). Signali se lahko prenašajo po: magnetni medij (kaseta, trak, disk), parica, koaksialni kabel, optična vlakna, brezžični medij. Ko se odločamo kateri medij bomo izbrali, se vprašamo kako zanesljivo in koliko informacij bomo prenesli ter kakšna je cena prenosa. Pomemben dejavnik pri prenašanju informacije je tudi varnost. Prepustnost komunikacijskega kanala Kako sploh prenašamo informacijo pa mediju? Zaznavamo spremembe v kanalu. Da je primerjanje sploh mogoče, moramo imeti merljivo fizikalno količino, ki jo izmerimo v dveh trenutkih. Imamo trenutno stanje, ki ga primerjamo z novim stanjem. Na podlagi tega lahko ugotovimo spremembo stanja. Za to spremembo stoji dogovor (protokol), ki omogoča uspešno dekodiranje signalov. Dogovor namreč določa, kakšen je obseg napetosti (0 - 5V), in kakšne so meje za interpretacijo logične ničle in logične enke. Zgornja meja prepustnosti kanala Prva harmonska frekvenca nam pove čas, ki je potreben za prenos znaka. Če je H pasovna širina našega kanala (koliko harmonikov lahko računamo, beremo ali zaznamo) je 2*H število vzorčenj. Vzorčenje s fvz > 2H ne da rezultatov, ker so te komponente filtrirane (fvz pomeni št. vzorcev na sekundo). • Nyquistov teorem: – maks. pretok podatkov = 2 H log2V bit/s? (H je frekvenčna širina, V št. signalnih nivojev) • Upoštevanje šuma - Shannonovo pravilo: – maks. pretok podatkov = H log2 (1+S/N) bit/s? (S/N je razmerje signal / šum v dB=10*log10 S/N) Motnje v kanalu 16 V kanalu je prisoten šum, ki vpliva na popačenje osnovnega signala. Popačenje je definirano v decibelih (dB). Osnovna frekvenca brezšumnega signala znaša 3 kHz, na njej pa so temeljili tudi stari telefonski priključki. Vsak signal, ki ga pošljemo v medij, lahko zapišemo z neko vrsto sinusov in kosinusov. Pri rekonstruiranju moramo paziti, da lahko skozi naš medij pošiljamo le določene signale. Podrobnejši opis prenosnih medijev 1. Magnetni medij Eden prvih Cenovno ugoden Primeren za prenos velikih količin podatkov Velika zakasnitev, zato ni primeren za primere kadar del podatkov rabimo čim hitreje 2. Parica Navadna izolirana in prepletena bakrena žica (bolj kot je prepletena, manjši je prisluh) Brez ojačevanja in popravljanja signalov uporabna na razdaljah do nekaj km Ker ovijanje predrago, postavili standard UTP (unshielded twisted pair) So uporabne tako za analogen, kot tudi digitalen prenos (tolmačenje!) 3. Koaksialni kabel Soosni kabel. En vodnik oklepa drugega Zaradi zgradbe veliko manj občutljiv na motnje Tipična impedanca je 50 ohmov (za digitalen prenos). 17 4. Optično vlakno Je koaksialne strukture Po njem potuje vidna svetloba (se odbija od notranjih sten), ki jo na eni strani s laserjem pošljemo po vodniku Za pravilen prenos, mora biti odbojni kot svetlobe pravi, ta pa zavisi od gostote notranjega in zunanjega medija Optična vlakna so lahko: o enomodalna vlakna (ni odbojev, ker zaradi majhnega premera ti niso možni, jedro debeline 10 µm.) o večmodalna vlakna (več valovnih dolžin odbijajočih se pod različnimi koti, jedro debeline 50 µm.) Prednosti optičnih vlaken: ni presluhov, majhna atenuacija, visoka prepustnost oz. kapaciteta. Slabosti: krhkost, spajanje, enosmeren prenos. Na spodnji sliki lahko vidimo kako zgleda kabel z enim optičnim vlaknom in kabel s tremi optičnimi vlakni. Brezžične komunikacije So komunikacije v elektromagnetnem mediju kot vse druge komunikacije. Zanje veljajo enaka pravila kot za žice. (gostota vzorčenja, prepustnost signalov itd…) . 18 Uporablja se del elektromagnetnega spektra med 10kHz? do 100 GHz. Med območji prehajamo zato, da se naprave ne motijo med seboj in pa odvisno od naših potreb. Valovanja delimo na: - radijski valovi nizkih frekvenc dobro prodirajo v stavbe, so manj občutljivi na ovire, moč pada s tretjo potenco oddaljenosti, - radijski valovi višjih frekvenc pa potujejo v liniji a se odbijajo od ovir in se absorbirajo v dežju, - najboljše je območje nad 100MHz, saj je tu razmerje S/N (signal/šum) največje. Od višine frekvence je odvisna tudi prenosnost – višja kot je, več podatkov lahko prenesemo in večje je razmerje S/N. Radijske valove uporabljamo za brezžične povezave.: - Pri prenosu na krajše razdalje uporabljamo nizke frekvence (od oddajnika do sprejemnika na površju zemlje). - Pri prenosih v brezžičnem prenosu prihaja do uklonov. Ionosfera prestavlja stik dveh različnih medijev zaradi česar pride do uklona. S tem se da signal prenašati na večje razdalje - uporabljamo višje frekvence. - Kadar so razdalje prevelike, da bi jih lahko premagali s pomočjo ionosfere pa si pomagamo s sateliti (višje in nižje ležeči), ki omogočajo, da s komunikacijo preko satelitov lahko dosežemo katerokoli točko na zemlji, ne glede na to kje se nahaja. Slabost satelitov so velike zakasnitve (latence) in težka usmeritev signala v določeno točko. Mikrovalovne povezave se uporabljajo npr. med dvema stavbama. Ker je vidni doseg dokaj dober, je tudi prenos lahko velik, dokler ne pade megla, ki povzroči motnje v signalu (povzroči šum). Telefonski sistem PSNT - Public Switch Telephone Network. Leta 1878 je bila postavljena prva centrala. Zgrajeno je hierarhično – imamo omrežne skupine. Uporablja se analogni in digitalni signal. Ker je analogni signal težko osveževati, se ga oparblja le v lokalnih zankah. Digitalni signal je lažje osveževati, ni velikih izgub in kar je najpomembnejše, oprema je cenejša. Ker ima digitalni signal širok spekter, se uporablja t.i. sinusni nosilec. Poznamo: amplitudno spreminja se jakost signala frekvenčno spreminja se frekvenca signala 19 fazno modulacijo fazni zamiki osnovnega signala Zelo koristno je, če fazno in amplitudno skupaj uporabimo tako, da en podatek moduliramo z eno, drugega pa z drugo modulacijo. Na koncu dobimo 2 podatka v istem trenutku. Medkrajevne linije in multipleksiranje (trunks and multiplexing) Multipleksiranje lahko razdelimo v več kategorij: 1. Frekvenčno deljeno multipleksiranje (FDM – Frequency Division Multiplexing) o o Frekvenčni spekter je razdeljen na frekvenčne pasove. Vsak uporabnik ima v lasti nek pas. o Standard: 12 4000 Hz zvočnih kanalov multipleksiranih v pasove od 60 do 108 kHz. Enota se imenuje skupina (group). Pet skupin (60 kanalov) sestavlja superskupino (supergroup). 2. Časovno deljeno multipleksiranje (TDM – Time Division Multiplexing) o o Uporabniki se izmenjujejo periodično, vsak dobi za nekaj časa na voljo celotno pasovno širino. o Lahko uporabljen le za digitalne podatke (potrebujemo pretvorbo analognodigitalno). 3. Deljeno multipleksiranje glede na valovno dolžino (WDM – Wavelength Division) 20 o o o Tukaj pride 4 npr. laserjev z različnimi valovnimi dolžinami v Combiner. Ti štirje tokovi so skombinirani v 1 skupen vodnik za prenos (long-haul). Na koncu se razdelijo v prvotne tokove glede na filter, ki spusti skozi le različne valovne dolžine. To se zgodi v Splitter-ju {prevedi}. Če imamo veliko kanalov in so valovne dolžine blizu skupaj (0.1 nm), potem se sistem imenuje DWDM (Dense WDM). SONET/SDH SONET = Synchronous Optical NETwork, po CCITT je SDH (Sychronous Digital Hiearchy). Razlike med njima so majhne Je narejen kot TDM sistem z celotno posovno širino optike dano enemu kanalu, kateri pa vsebuje časovne reže za podkanale. Torej gre za sinhronizirani sistem, ki je kontroliran glede na uro (master clock) Tipičen SONET okvir je blok 810 bajtov, poslan na vsakih 125 mikrosekund. Opišemo ga lahko kot pravokotnik 90 stolpcev in 9 vrstic 6480 (8*9*90) bitov je poslanih 8000 krat na sekundo, kar da za približno 52 Mbps prenosa. To je tipičen SONET kanal, imenovan STS-1 (Synchronous Transport Signal - 1) Primeri modulacij: binarni signal amplitudna modulacija frekvenčna modulacija fazna modulacija ADSL povezava Pri uporabniku moramo namestiti NID (Network Interface Device). Blizu mora biti še razdelilnik (splitter), to je analogni filter, ki ločuje frekvence za POTS in za podatke. POTS signali so usmerjeni na telefon, podatkovni signali pa na ADSL modem. Na drugi strani (centrala) je tudi nameščen razdelilnik. Glasovni signali so filtrirani in usmerjeni na stikalo (voice switch). Signali nad 26 kHz so usmerjeni na novo napravo DSLAM (DSL Access Multiplexer). Ta pošlje digitalni signal naprej do ISP. 21 Brezžična lokalna zanka (Wireless Local Loop – WLL) Stolp ima več anten (tipično 4), vsaka kaže v drugo stran. Vsaka antena ima definiran sektor, ki je neodvisen od drugih. Pri tej frekvenci je uporabna razdalja od 2 do 5 km. Vsak sektor antene ima lahko 36 Gbps pretoka proti uporabniku (downstream) in 1 Mbps pretoka proti internetu (upstream). Teoretično lahko damo 18000 uporabnikov na sektor, a več kot 9000 ni priporočljivo pz. obvladljivo. Če imamo 4 sektorje, lahko torej pokrijemo populacijo velikosti 36000. Slabosti: 1. Anteno moramo videti 2. Listje lahko precej oslabi signal (dobro pozimi, slabo poleti) 3. Dež absorbira signale Preklapljanje (switching) Poznamo 3 vrste preklapljanja: 1. Preklapljanje povezav/vodov (circuit switching) o Sistem vzpostavi navidezno povezavo med klicateljem in naslovnikom. Velja, da ko je klic vzpostavljen ta povezava ostaja enaka do konca pogovora (rezervacija pasovne širine). Pomembno je, da se povezava vzpostavi prej, kot so poslani podatki. o Poslano zaporedje je enako sprejetemu zaporedju zaradi enotne poti. o Lahko se zgodi, da tratimo pasovno širino če ni prometa. o Klic se zaračunava na minuto. 2. Preklapljanje paketov (packet switching) o Posamezni paketki so poslani neodvisno, brez vnaprejšnje vzpostavitve povezave. Vsak paketek je sam zase zadolžen da najde pravo pot do cilja. o Imamo omejeno velikost bloka, saj pomnimo vsak paketek posebej v spominu usmerjevalnika, ne več na disku (store-and-forward). o En paketek se lahko pošlje naprej preden je drug prispel, na koncu lahko niso v istem zaporedju. o Ne tratimo pasovne širine po nepotrebnem. o Klic se zaračunava na paket. 3. Preklapljanje sporočil (message switching) o Tukaj ne vzpostavimo povezave vnaprej kot pri načinu 1. o Sporočilo se pošlje posameznem segmentu, se tam shrani in nato ob naslednjem skoku pošlje naprej (store-and-forward network). Tukaj gre za prenose celih pošiljk naenkrat (npr. mail). Shema vzpostavitve preklapljanja paketov(za sporočila je podobno) in preklapljanje povezav. 22 Mobilni sistem Mobilni telefoni so šli skozi 3 generacije: 1. Analogni signal (analog). 2. Digitalni signal (digital). 3. Digitalni signal in podatki. V Ameriki se imenujejo celični telefoni (ker imamo več celic) Vsaki celici postavimo anteno, ta je narejena tako, da lahko oddaja in sprejema signal. Signal pada s kvadratom razdalje. Ko S/N (razmerje signal/šum) pade pod 30% stvar ni več uporabna, če je razmerje S/N dovolj majhno potem signala ni več in zveza se prekine. Lahko razdelimo prostor glede na uporabnost. Tisto področje pri katerem imamo še dovolj veliko uporabnost se imenuje celica. Problemi, ki se pojavijo pri celicah so: kako najbolje organizirati prostor celic in kako močno naj sevajo, da prekrijemo kar se da veliko področje. V realnosti se celice prekrivajo, da se ob prehodu iz ene celice v drugo zgodi preklop povezave na drugo celico. Lahko se zgodi, da je ena celica preobremenjena in zveza se prekine. Celico lahko zato razdelimo na manjše celice (razbremenimo večjo celico). Problem, ki se pojavi: dodatna investicija. Celice so v mestih po obsegu bolj majhne, na podeželju pa bolj velike. Kanali (channels) Razdeljeni v 4 skupine: 1. Control channels - za nadzor sistema, smer: baza->mobitel . 2. Paging channels - za opozorilo uporabnikom na prihajajoči klic, smer: baza->mobitel . 3. Access channels - za vzpostavitev klica in dodelitev kanala, smer: baza mobitel (obojestranska). 4. Data channels – za podatke ali zvok, smer: baza mobitel (obojestranska). GSM (Global System for Mobile communications) 23 Uporablja frekvenčno in časovno multipleksiranje Vsak mobitel oddaja na eni frekvenci in sprejema na višji frekvenci (ne more pa istočasno). Uporablja 124 frekvenčnih kanalov, frekvenčni pas pa je širok 200 kHz. CDMA (Code Division Multiple Access) Namesto deljenja frekvenčnega pasu v več sto kanalov, CDMA omogoča da vsaka postaja lahko prenaša preko celotnega frekvenčnega spektra ves čas. Več sočasnih prenosov je ločenih, uporabljeno je kodiranje. Kabelska televizija (cable television) Kabelska televizija (Community Antenna Television) Leta 1940: sistem je bil sestavljen iz velike antene na vrhu hriba, ki je sprejemala signal, ta je bil ojačan (head end) in poslan prek koaksialnega kabla k uporabnikom. Internet prek kabla (Internet Over Cable) Kabli med mesti so bili zamenjani z optičnimi kabli. Pojavi se sistem HFC (Hybrid Fiber Coax), kar pomeni da imamo mešanico povezave z optičnimi kabli in koaksialnimi kabli. Potrebujemo pretvornike iz optičnega v električni signal (fiber node). 24 Telefonski sistem ima v primerjavi s HFC za vsako hišo svojo privatno lokalno zanko, pri HFC pa imamo več hiš priključenih na isti kabel. Dodelitev spektra (spectrum allocation) Gre za problem, kako imeti TV in Internet istočasno preko enega kabla. Rešitev: o upstream kanali v pasu 5 – 42 MHz , o downstream kanali v preostalem pasu (54 – 750 MHz) . 25 Linijska plast UVOD Linijski sloj nadgradi fizičnega tako, da nudi omrežnemu sloju zanesljiv komunikacijski kanal. Bite, ki se prenašajo, razstavi na bloke oz. okvirje, ti pa se nato prenašajo po fizičnem sloju. Vprašanje je, če so tisti okvirji, ki smo jih poslali na eni strani v informacijski kanal enaki tistim na drugi strani. Namen linijskega sloja je torej rešiti naslednje težave: pojav napak komunikacija med različno zmogljivimi računalniki različne zakasnitve pri prenosu Vse te tri stvari moramo znati zaznati. Pomembno je tudi, da bo naprava na drugi strani komunikacijskega kanala ta podatek, ki smo ga dali v komunikacijski kanal, pravočasno pobrala iz njega. OSNOVNE VRSTE STORITEV LINIJSKEGA SLOJA Linijska plast je povezavna plast med dvema postajama. Lahko je povezavna ali nepovezavna. Poznamo tri vrste: Nepovezavna brez potrjevanja: to pomeni, da se na drugi strani komunikacijskega kanala nič ne potrjuje in ne dobimo informacije o tem ali je prišlo do napake oziroma ali je okvir, ki smo ga poslali sploh prišel do cilja. Primerna je za zanesljive kanale (optični kabel), kjer se pojavlja malo napak. Ustrezna je za storitve, ki potrebujejo prenos v realnem času. Pri govoru preko interneta je čisto vseeno, če izgubimo katerega od paketkov, saj s tem zvok ni prekinjen. Še vseeno vemo kaj nekdo govori. Nepovezavna s potrjevanjem: okvir pošljemo po komunikacijskem kanalu, za vsak poslan okvir dobimo potrditev. Stvari so primerne takrat, ko imamo kritične podatke ali ko je medij manj zanesljiv (npr. brezžični prostori, zelo naviti žični mediji). Povezavna s potrjevanjem: ima tri faze: vzpostavljanje povezave, nato sledijo podatki in njihove potrditve. Pomembno je tudi to, da se vrstni red podatkov ohrani na eni in na drugi strani. Vsak okvir je prejet le enkrat in v določenem zaporedju. FAZE POVEZAVNE STORITVE Z UPORABO POTRJEVANJ Pri povezavnih storitvah so vedno prisotne tri faze. Nastopajo lahko časovno ločeno ali pa hkrati. Vzpostavitev povezave zahteva inicializacijo spremenljivk na obeh straneh. To pomeni, da se na obeh straneh plasti zmenita, da se bosta pogovarjali in spremljali kakšna je kakovost povezave, sprejete pakete, oddane pakete, izgubljene pakete, itd. Nato obe plasti sporočita zgornji plasti, da je vse pripravljeno. Sledi prenos podatkov, ko zgornja plast z oštevilčenjem prenese paketke linijski plasti. Zgornjo plast ne zanima ali je prišlo do napake ali ne. To zanima linijsko plast. Zgornja plast je v trenutku, ko pošlje paketke spodnji plasti(linijski sloj), prepričana, da so ti paketki prišli na drugo stran. Linijska plast poskrbi, da se podatki prenesejo po fizičnem mediju na drugo stran in da se na drugi strani podatki predajo zgornji plasti. Sledi zaključek povezave, ki pomeni sprostitev vseh resursov. DELOVANJE LINIJSKEGA PROTOKOLA 26 Bite organiziramo v okvirje. V ta okvir so zloženi podatki, ki pridejo iz zgornjega sloja. Linijsko plast nič ne zanima kaj so ti podatki. Linijska plast samo vzame te podatke, jih zloži v okvir in preda spodnji plasti. Sprejet okvir na drugi strani pa linijska plast odda zgornji plasti. UOKVIRJANJE To je postopek, ko vzamemo paket in ga predelamo v smiselne enote. Pri tvorjenju okvirov sta pomembni dve stvari: časovne razmejitve kar pomeni, da ne smemo okvirjev prehitro spravljati v informacijski kanal; štetje znakov je vstavljanje števila znakov v okvir oziroma v glavo okvirja. TVORJENJE OKVIROV (1) Vzamemo paket in ga damo v okvir. Okvir ima na začetku glavo (Header) in rep (Trailer). Ti podatki so namenjeni preverjanju pravilnosti in zagotavljanju, da se bodo podatki res prenesli iz ene strani na drugo. Na drugi strani se iz okvirja prevzame paket. V glavo je potrebno dodati take podatke, ki povedo kaj sploh je v okvirju. Linijska plast mora vedeti, kaj naj s tem paketom počne. Najbolj preprosta oblika okvirja je, da imamo v glavi okvirja številko, ki pove kako velik je okvir. Poznamo tako imenovano metodo vrinjenih znakov. Pri tej metodi dodamo ASCII znaka STX in DLE na začetek in znaka DLE in ETX na konec. DLE pomeni, da smo začeli z novim paketkom. Če se znaka pojavita med samimi podatki, tedaj pred DLE znakom dodamo DLE znak in za njim tudi (podvajanje znaka). TVORJENJE OKVIROV (2) Niz določajo začetni in končni bitni nizi, torej se vsak okvir začne in konča s posebnim nizom bitov 0111110, ki se mu reče zastavica (angl. flag byte). Kadarkoli pošiljatelj vidi 5 zaporednih enic avtomatično vrine ničlo. Ko pa prejemnik vidi ničlo in 5 zaporednih enic, ve da je od tu naprej začetek okvira. Če se še kje v besedilu pojavi ničla in več zaporednih enic, za vsakimi 5 enicami dodamo ničlo, ki jo potem sprejemnik odstrani. KRMILJENJE PRETOKA PODATKOV (angl. flow control) pošiljatelj mora sam prilagoditi hitrost pošiljanja saj mu sprejemnik ne zna sporočiti, da ni dovolj hiter pri sprejemanju podatkov NADZOR NAPAK (angl. error control) za podatke, ki smo jih prejeli moramo vedeti ali so pravilni ali napačni če so bili podatki pravilno prenešeni preverjamo z uporabo pozitivnih in negativnih potrditev, pri katerih lahko nastaneta dva problema: - problem izgubljenega okvirja (prejemnik ne pošlje potrditve) in - problem izgubljene potrditve, uporabljajo pa se tudi časovniki (angl. timers) ter preprečevanje podvajanja okvirov s pomočjo označevanja. OBVLADOVANJE NAPAK Za obvladovanje napak pri tem ko nekaj sprejmemo imamo dve možnosti: 1. tisto kar je prišlo popravimo 2. povemo pošiljatelju da ni mogoče popraviti Za katero od teh možnosti se odločimo je stvar politike. Iz matematičnega vidika imamo opravka z m biti, ki predstavljajo naš podatek, ki ga želimo spraviti skozi informacijski kanal. Tem m bitom dodamo r bitov, s katerimi opišemo m bite tako, da na drugi strani lahko skoraj vedno zaznamo napako. Na ta način dobimo kodno besedo dolžine n bitov (n=m+r). Vsak niz n bitov ni pravilen: 27 - primer: r prestavlja en bit in če je r=0 je vsota ostalih bitov 0, če je r=1 je vsota ostalih bitov 1. To imenujemo paritete in m+r bitov je pravilnih samo takrat, ko je njihova vsota vedno soda. Hammingova razdalja: - je število soležnih bitov, v katerih se kodni besedi razlikujeta (to dobimo z operacijo XOR in štetjem dobljenih enic) - določena je z minimalno razdaljo poljubnega para, da razlikujemo med besedama - če je razdalja enaka m, laho zaznamo m sprememb - da lahko odkrijemo d napak, mora biti razdalja med kodama vsaj d+1 - da lahko popravimo d napak, mora biti razdalja med kodama 2d+1 Za prenesti imamo m bitov, in če zraven dodamo še r bitov, lahko s temi dodatnimi r biti: 1. zaznamo določeno število napak v osnovnem bitu 2. jih tudi popravimo Katero od teh možnosti izberemo je odvisno od medija. Če je medij zanesljiv, potem je razdalja lahko majhna (pride do zelo malo napak), če ni zanesljiv je razdalja d večja. Ali napake popravljamo ali jih spreminjamo je spet odvisno od medija. Če je medij hiter potem napak ne popravljamo, če je počasen napake popravljamo. KODE ZA OBVLADOVANJE NAPAK osnovna koda je povečkratenje - koda z dvojnim ponavljanjem: c(x)=(x,x,x) pomeni, x je podatek, ki ga trikrat ponovimo enega za drugim primer: osnovno sporočilo je 0111 in če ga trikrat ponovimo potem je 000 111 111 111 učinkovitost kode podamo s kvocientom: dolžina x/dolžina c(x) oziroma m/n, pri čemer je n število poslanih bitov - učinkovitost kode z dvojnim ponavljanjem je 1/3 KODI IN HAMMINGOVA RAZDALJA imamo 0 in 1, če ju zapišemo s ponavljanji kot: - 00 11 potem imamo razdaljo točno 1 (odkrijemo napako) - 000 111 (imamo tri bite) je razdalja 2 (odkrijemo in popravimo enobitno napako) če je Hammingova razdalja 5 lahko korigiramo dvojne (dvo bitne) napake Hammingova koda Vzamemo 7 bitno kodno besedo, ki je sestavljena iz podatkovnih in nadzornih bitov. Število podatkovnih bitov je enako m, število nadzornih je enako r, skupno število bitov pa je n. (V našem primeru je n=7, m=4 in r=3.) matriko H množimo s kodirnim vektorjem v, rešitev enačbe 28 H*v=0 je kodna beseda. Od tod dobimo sistem linearnih enačb, s katerimi izračunamo x, y in z ter jih vstavimo v vektor v. Dobljeno kodno besedo pošljemo v komunikacijski kanal. Če rezultat pri množenju vektorja s Hammingovo matriko ni enak 0 pomeni, da je prišlo do napake. Končna vrednost nam pove, kateri bit se je dejansko spremenil. Prenašamo n bitov, nadzorni biti so na mestih 2i, veljati mora 2r≤n. m = n - log2 n Učinkovitost Hammingove kode pa je enaka (n – log n)/n Več o Hammingovem kodu si lahko prebereš na: Wikipediji. Kodi za obvladovanje napak Kodi za obvladovanje napak so nadomestek kodov za korekcijo napak. Kodi za korekcijo napak so primerni za simpleksne kanale, kjer ni možno ponovnega prenosa. Način s popravljanjem napak je nesmiseln, če ni veliko napak. Pravilen rezultat dosežemo s ponovnim prenosom. Primer: Imamo kanal z lastnostjo, da se na milijon bitov en bit narobe prenese. Bloki so veliki 1000 bitov, kar pomeni, da bi pri sporočilu velikem 1M bitov imeli 1000 blokov. Za korekcijo bi morali dati vsakemu bloku 10 dodatnih bitov. To znese 10k dodatnih bitov za to sporočilo. Za zaznavo napake pa bi morali vsakemu bloku dodati 1 bit in ob morebitni napaki blok še enkrat prenesti. Pri našem sporočilu bi to naneslo 1k bitov za varnostne bite in 1k bitov za ponovno preneseni blok. Tako v tem primeru dosežemo 5 krat boljšo učinkovitost. CRC – ciklične redundančne kode (Cyclic Redundancy Code) Bite v nizu predstavimo s polinomom. 110001 => 1*x5 + 1*x4 + 0*x3 + 0*x2 + 0*x + 1 Polinom zazna napako, ki pa jo lahko zgreši, če se napaka pojavi v vzorcu, zato ga moramo pravilno izbrati. Hočemo ujeti tiste napake, ki se najpogosteje pojavljajo. Aritmetika poteka po modulu 2 brez prenašanja carry bitov pri seštevanju ali sposojanj pri odštevanju. Sporočilu dodamo na konec tudi r ničelnih kontrolnih bitov (kontrolna vsota na koncu okvirja), pri čemer je stopnja polinoma G(x) enaka r. Prejemnik prejete bite deli z polinomom G(x). Če je rezultat deljenja enak 0, potem je bilo sporočilo v redu preneseno, drugače prejemnik sporoči napako pri prenosu. Vzamemo sporočilo M, ki je visoke stopnje. Velja enačba: M(x) / G(x) = T(x) + R(x) = 0. Če polinom G(x) ne deli polinoma T(x), zaznamo napako. Napaka se lahko pojavi 29 zaradi več zunanjih dejavnikov, kot so elektromagnetno valovanje, zvočno valovanje… Ostanek R(x) imenujemo tudi E(x) - error (napaka), ki nam grobo predstavi, koliko je bilo napak pri prenosu. Število k enic v polinomu E(x) nam pove, da je pri prenosu prišlo do k napak. Napaka se pojavi v kanalu, ki je fizično realiziran. Vsak kanal ima svoje tipične napake, ki jih lahko predvidimo. Zato si izberemo takšen polinom G(x), da deljenje pri tipičnih napakah ne bo dalo ostanka 0 (omejitev je, da mora biti bit z najvišjo in najnižjo stopnjo enak 1). Standardizirani generatorji so CRC-12, CRC-CCITT. Več o CRC na Wikipediji: CRC Krmiljenje pretoka (Flow control) Razmerje med pošiljateljem in naslovnikom se imenuje nadzorovanje pretoka. Procesi oddajanja in sprejemanja so nepovezani. Preprost enosmerni protokol brez omejitev: procesni čas je zanemarljiv, na fizičnem nivoju je idealen komunikacijski kanal ne prihaja do napake ni zaporednih števil ali potrditev, podatki tečejo le v eni smeri, neskončni medpomnilniki, mrežna sloja vselej zmožna sodelovati. Potek protokola: Oddajnik brez prestanka pošilja podatke. Sprejemnik le čaka na dogodek, ki je vedno le sprejem neoporeč nega okvirja in preda vsebino mrežnemu nivoju. Sčasoma bomo dodajali omejitve. Ne sprejemnik ne oddajnik ne moreta neskončno hitro pošiljati oziroma sprejemati podatkov (nista enako hitra). To lahko rešimo na dva načina: Upočasnjeno delovanje oddajanja. 30 Prejemnik pošlje potrditveni paket oddajniku, ko je sposoben sprejemati podatke. Uvedemo half-duplex kanal, po katerem v drugo smer prihajajo samo potrditve. Več o krmiljenju pretoka na Wikipediji: Flow control (3 ura) 3.3 Osnovni podatkovni protokoli 3.3.1 Enosmerni protokol brez omejitve Poteka le v eni smeri (simplex) to je od pošiljatelja proti sprejemniku. Drugo ime za ta protokol je "utopija" saj predpostavlja: da je sposoben ves vnos sprocesirati neskončno hitro obe mrežni in transportni plasti sta vedno v stanju pripravljenosti in komunikacijski kanal nikoli ne poškuduje prenosa (je brez šuma) 3.3.2 Enosmerni "stoj in počakaj" protkol V primerjavi s prejšnim protokolom le ta ne more sprocesirati prihajajočih podatkov neskončno hitro. Za ta problem imamo več rešitev: lahko upočasnjeno oddajamo, tako da predvidevamo maksimalen zakasnilni čas da prejemnik obdela pakete (slaba izkoriščenost) boljša rešitev je da sprejemnik po obdelavi pošlje nazaj potrditev, tako da pošiljatelj pošlje naslednji paket šele po potrditvi od sprejemnika 3.3.2 Enostavni protokol za šumni kanal Na nivoju fizične plasti prihaja do šuma zaradi katerega se paketki poškodujejo ali celo izgubijo. Zaradi tega moramo okvirje šteti (za to je dovolj 1 bit) saj, če dovolj dolgo ni odgovora od sprejemnika, pošiljatelj ponovno pošlje paket. Lahko pride do situacije, ko pošiljatelj ponovno pošlje paket potrditev pa je že na poti. to pomeni da imamo prehiter časovnik in to rešimo s preprostim protokolom PAR (Positive Acknowledgement with Retransmission): časovnik nastavi na maksimum možne zakasnitve pošiljatelj beleži številko naslednjega podatka ki ga mora poslat in 31 sprejemnik beleži številko naslednjega pričakovanega okvirja 3.4 Protokoli z drsečimi okni V prejšnjih protokolih so se okviri prenašali samo v eno stran. V večini praktičnih situacij želimo prenašati podatke v obe smeri. En način za dosego full-duplexa je, da imamo dva ločena komunikacijska kanala, kjer vsak uporablja simplex promet podatkov. To ni najbolj ekonomično pa tudi en kanal je skoraj vedno neizkoriščen. Bolje je, če z uporabo protokola dosežemo prenos v obe strani po enem kanalu. Tak primer so trije protokoli, ki pripadajo razredu imenovanemu Protokoli Drsečih oken. Ti so dvosmerni protokoli, ki se med seboj razlikujejo po efektivnosti, kompleksnosti in zahtevah po začasnem pomnilniku. Vsak izhoden okvir vsebuje zaporedno številko, ki je nekje med 0 in neko maksimalno vrednostjo. Ta maksimalna vrednost je običajno 2^n - 1, tako da zaporedna številka točno ustreza v n-bitno polje. Pomemben pojem je še “piggybacking”, pri katerem gre za začasno zamikanje izhodnih potrdil, zato da jih lahko priključimo na nasledni izhodni okvir podatkov. 3.4.1 Protokol z drsečim oknom velikosti 1 Ta protokol uporablja stoj-in-počakaj metodo, saj izvir pošlje okvir in počaka na potrditev tega okvirja, preden pošlje naslednjega. Težava je da vedno čakamo na potrditev.. Časovnik mora biti nastavljen toliko časa, kolikor je potrebno da pride paket od pošiljatelja do sprejemnika in nazaj do pošiljatelja. Pri tem protokolu velja n = 1, torej je maksimalna vrednost zaporedne številke po zgornji formuli 2^1 - 1 = 1, torej so lahko zaporedne številke 0 in 1, bolj kompleksne verzije tega protokola uporabljajo različen n. 3.4.2 Protokol "vrni se n okvirov" Do sedaj smo v teoriji predpostavili, da je čas za podatkovni in potrditveni okvir zanemarljiv, v praksi pa tovrstne zakasnitve niso zanemarljive (npr. pri satelitih). Kot smo opazili pri protokolu z drsečim oknom velikosti ena je največja slabost čakanje na potrditov. Težave se rešimo tako, da pošiljatelju dovolimo, da pošlje večje število okvirov, preden se ustavi. Ko konča s pošiljanjem pa že prejme potrditev za prvi okvir. Ta tehnika se imenuje cevovodenje (angl. pipelining). Če se med poslanimi kak okvir poškoduje ali izgubi, sprejemnik odobri le okvire do poškodovanega, vsi nadaljni pa se morajo poslati še enkrat. Metoda ni primerna za slabše medije. 3.4.3 Protokol PSP (ponovno selektivno pošiljanje) Problema poškodivanih ali izgubljenih okvirov pri cevovodenju se lahko rešimo tudi s selektivnim ponovnim pošiljanjem. Manjkajoče okvire pošljemo ponovno, prejemnik pa preostale okvire hrani v medpomnilniku. Za vsak nepotrjen okvir potrebujemo svoj časnovnik. Problem nastane pri prekirvanju oken. Interval starega okna, se lahko včasih prekrije z novim oknom. Rešitev je, da nastavimo velikost okna na največ polovico intervala za številčenje okvirov. Protokol lahko nadgradimo z negativnimi potrditivami, ki jih pošlje prejemenik in od pošiljatelja eksplicitno zahteva ponovno pošiljanje določenih okvirov. 32 33 Linijski sloj in dostop do medija LINIJSKI SLOJ IN INTERNET Podsloj za dostop do medija V omrežjih, ki uporabljajo oddajanje, računalniki tekmujejo za skupen medij. To so tipično LAN-i. Omrežja WAN pa uporabljajo povezave točka-točka, razen pri satelitskih povezavah. Dodeljevanje je lahko statično (delitev kanala na frekvenčne pasove) ali dinamično. Statično dodeljevanje kanala 1. Kako dostopamo do samega medija § Tocka-tocka: 2 žici od enega do drugega računalnika § Obstaja nek skupni medij preko katerega vsi 'govorimo' § Kako se 2 pogovarjata pri veliki količini strank? 2. Nekaj osnovnega protokola kako se spravijo podatki od ene do druge postaje Nekaj osnovnega matematičnega ozadja: M/M/1 – imamo nek strežni sistem, neko verjetnostno porazdelitev, kapaciteto, povprečno število zahtev ( λ = število okvirjev). To, da smo poslali, pomeni da je komunikacijski kanal opravil neko storitev za nas. Predpostavka je, da zahteve za uporabo komunikacijskega kanala (strežnik) modeliramo z Poissonovim procesom. Predpostavke – Poissonov proces: 1. Imamo opravka z neodvisnimi postajami 2. Vsaka postaja bi z neko gostoto λ nekaj povedala Kakšna je zakasnitev? V kolikem času bomo nekaj spravili skozi komunikacijski kanal? 34 Izkaže se, da so stvari lažje obvladljive, v kolikor strežnik razdelimo na neke podenote. Takrat deli postanejo relativno neodvisni. Kakšne so možnosti, da izkoriščamo ta kanal? Damo zahtevo. Arbiter, določa vrstni red, dodeljuje prioriteto, dodeljuje kanal. Temu rečemo dinamično dodeljevanje kanala. Dinamično dodeljevanje kanala Primer takšnega modela je brezžično omrežje – potrebno se je dogovoriti, kdaj bo kdo „govoril“. Predpostavke modela: ● Imamo n neodvisnih postaj. Verjetnost generiranje paketa v intervalu Δt je λ Δt ,kjer je λ konstanta (povprečno št. prihodov novih okvirov). ● Ko je okvir generiran, postaja miruje, dokler ni v celoti poslan. ● Predpostavka obstoja enega samega kanala – če pride do sočasnega oddajana nastopi trk. ● Čas: neprenehna možnost oddajanja (zvezen čas) ali le ob določenih intervalih (diskreten t). ● Poslušanje kanala (vsi slišijo vsa sporočila): postaje poslušajo medij, ali pa ne (zaznajo šele po trku, da medij ni prost) Obstajajo različni algoritmi za dostop do medija oz. kanala. Orodja – kako se bomo dogovorili (komunikacija) 1. Matematika 2. Matematika 3. Matematika 4. Fizikalne meritve, ki jih lahko izvedemo § Če je tišina, je kanal prost § Če ni tišina, čakamo do tišine § ALOHA protokol § Če pride do trka, nehamo govorit in se 'lotimo' matematike 35 § Poslušanje kanala: postaje poslušajo medij § Predalčna ALOHA ALOHA ● Protokol ALOHA je bil razvit leta 1970 na Univerzi na Havajih. ● Postaje pošljejo podatke, takoj ko so ti na voljo. ● Po pošiljanju medija ugotovijo, če je prišlo do trka in nato počakajo nek naključno dolg čas, preden ponovno oddajo okvir. ● Za analizo predpostavimo, da je verjetnost generiranja k okvirov v določenem časovnem intrvalu podana s Poissonovo distribucijo: P k G k ∗ e −G k ! (G = verjetnost paketa) ● Čas okvira predstavlja čas, potreben za oddajo standarnega sporočila (fiksne dolžine). ● Obstajata 2 različici: ○ čista (kontinuirana, ang. pure ALOHA) ○ predalčna (ang. slotted ALOHA) Čisti ALOHA protokol 1. Vsi oddajnik lahko sprejemajo in vsi kadarkoli oddajajo podatke (pred oddajo ni poslušanja). 2. Vsak oddajnik posluša sebe, da preveri smiselnost sporočila. Če pride do trka, je poslani okvir poškodovan in sporočilo ni smiselno. Do trka pride kadarkoli skušata dva okvirja zapolniti medij istočasno. 3. Če oddajanje ni bilo uspešno (trk), oddajnik takoj ponovi oddajo. Če pred oddajo ni poslušanja: ● Verjetnost, da v času okvira, ni poskusov oddaj okvirov je e −G . ● V intervalu dveh zaporednih časov okvira je interval dveh zaporednih časov ranljivosti, saj se bo oddan okvir „pokril“ s koncem oddanega okvira, vanj pa bo trčil nov okvir. ● Pretok je torej S=G ∗ e −2G . 36 Slabost čistega ALOHA protokola je ranljivost sivega okvira Predalčni ALOHA protokol Predalčni ALOHA je podvojil kapaciteto sistema. Čas je razdeljen v diskretne intervale in oddajnik ne oddaja več kadarkoli, ampak čaka do začetka naslednjega oddajnega intervala – čas ranljivosti je razpolovljen. Interval predala je enak času okvira. Pretok je S=G ∗ e −G , največji izkoristek je S max =e −1 . Verjetnost se spremeni na P k e −G e −G k −1 Najboljši možni izkoristek kanala pri čisti ALOHA je okoli 18 %, pri predalčni ALOHA pa okoli 36 %. Carrier Sense Multiple Access (CSMA) Ko pride do trka, je veliko možnosti kaj narediti. Eden od protokolov je CSMA, še boljši je CSMA/CD (CD = Collision Detection). CS (Carier Sense) – Predstavlja prisluškovanje mediju ter odkrivanje zasedenosti komunikacijskega kanala. MA (Multiple access) - Vsak podatek prispe vsem postajam znotraj medija CSMA zaznava nosilne frekvence. Naprave poslušajo medij in oddajajo sporočila le v primeru, če je kanal prost. Tukaj imamo 2 načina: – Vztrajna (princip: vseskozi poslušaj, sporočaj čim je kanal prost) – Nevztrajna različica (princip: poslušaj v intervalih, sporočaj čim je kanal prost). CSMA 0.1, 0.5,... (glej sliko) – te številke označujejo vztrajnost. p-vztrajna CSMA = ko pride do konca okvirja, p označuje, da bom poskušal poslati, (1-p) pa verjetnost, da bom počakal. Večji ko je p, večkrat bom poskušal poslati. Z predalčnim ALOHA najboljši izkoristek kanala, ki ga lahko dosežemo je 1/e. To ne preseneča, saj s tem da postaje odpošiljajo, brez da poslušajo kaj druge postaje počnejo, bo to povzročilo veliko trkov. V lokalnem omrežju pa je mogoče, da postaje odkrijejo kaj počnejo 37 druge postaje in v skladu s tem prilagodijo svoje obnašanje. Taka omrežja lahko dosežejo boljši izkoristek kot je 1/e. Oglejmo si protokole, ki izboljšajo performance. Primerjava učinkovitosti pri protokolih ALOHA in CSMA Vztrajni in nevztrajni CSMA protokol Prvi CSMA protokol je 1-vztrajni CSMA. Ko postaja ima podatke za poslati, prvo posluša kanal, da preveri če še kdo 'komunicira' ta trenutek. Če je kanal zaseden, postaja počaka, dokler se kanal ne sprosti. Ko ugotovi da je v kanalu tišina, pošlje okvir. Če pride do trka, postaja čaka nekaj časa in ponovno začne pošiljanje. Ta protokol se imenuje 1-vztrajni, ker postaja pošilja z verjetnostjo 1, ko je tišina v kanalu. Povečanje zakasnitev ima pomemben vpliv na delovanje protokola. Verjetnost, da, takoj ko neka postaja začne pošiljanje, bo neka druga postaja pripravljena, da pošlje informacijo v kanal, je majhna. Če signal prve postaje še ni prišel do druge postaje, slednji bo mislil da je kanal prost in bo začel odpošiljanje, kar bo povzročilo trk. Dlje ko raste zakasnitev, bolj pomemben učinek ima, in protokol ima slabše performance. Četudi je povečanje zakasnitve enako nič, se bodo trki vseeno zgodili. Če dve postaji postaneta pripravljeni, sredi odpošiljanja neke tretje postaje, obe bosta vljudno počakali da bo prenos koncan, in obe bosta začeli svoje pošiljanje istočasno, kar bo seveda povzročilo trk. Če ti dve postaji nista tako 'neučakani, bo manjše število trkov. Kljub vsemu, ta protokol je precej boljši kot čisti ALOHA, ker obe postaji sta tako 'vljudni' da prenehajo motiti okvir tretje postaje. Intuitivno, tak pristop pelje do boljših rezultatov kot čisti ALOHA. Popolnoma enako kot je predalčni ALOHA boljša od čistega ALOHA protokola. Drugi CSMA protokol je nevztrajni CSMA. Bistvo tega protokola je zavestni poskus, da bi bil manj požrešen kot prejšnji. Pred pošiljanjem, postaja preveri kanal. V kolikor nihče ne pošilja, postaja začne sama pošiljati. Če pa je kanal zaseden, postaja posluša v intervalih, čaka nekaj časa in potem ponovi algoritem. Posledično ta algoritem da boljše rezultate kot 1-vztrajni CSMA. Zadnji protokol je p-vztrajni CSMA. Ko je postaja pripravljena da pošlje, preveri kanal. Če ni aktivnosti, pošlje z verjetnostjo p. q=1-p je pa verjetnost da bo počakal. Če je tišina ko naslednjič poskusi, postaja ali pošlje ali pa spet počaka, z verjetnostima p in q. Ta proces se 38 ponavlja dokler okvir ni poslan ali pa dokler neka druga postaja začne pošiljanje. V tem drugem primeru, nesrečne postaje reagirajo kot če bi prišlo do trka (čaka nekaj časa in znova začne). Če postaja opazi da je kanal zaseden, čaka do naslednjega slota in uporabi zgornji algoritem. Slika spodaj prikazuje primerjavo prometa za različne protokole. CSMA/CD (CSMA with Collission Detection) ● Ko postaja začne oddajati, zraven posluša, če pride do trka. ● Trk oddajniki zaznajo na podlagi moči signala. ● Če pride do trka, takoj prenehajo z oddajanjem. ● V primeru trka se sami dogovorijo, kdo bo odnehal oddajati. •Standardizirana različica CSMA/CD protokola je znana pod imenom Ethernet • Tako dosežemo boljšo izkoriščenost kanala (skoraj 100%) CSMA ni smiselno uporabiti, če imamo malo 'prometa', saj izgubi na učinkovitosti. CSMA/CD je lahko v enem od treh stanj: povezovanje, prenosa ali čakanje Vztrajni in nevztrajni CSMA protokoli so jasno izboljšanje ALOHA protokla, ker zagotavljajo, da nobena postaja ne začne pošiljanje ko je kanal zaseden. Druga izboljšava je da postaje ustavijo prenos takoj ko zaznajo trk, oz. drugače povedano, če dve postaji opazitta da je kanal prost in začnejo prenašati simultano, obe postaji bosta skoraj istočasno zaznali trk. Namesto, da nadaljujeta prenos okvirjev, obe postaji morata takoj ko zaznata trk ustaviti odpošiljanje. Hitro ustavljanje poškodovanih okvirjev nam privarčuje čas in pasovno širino. Ko postaja zazna trk, ustavi pošiljanje, počaka nekaj časa in ponovno poskusi, če nobena druga postaja ni ta čas že začela pošiljati. Algoritmi za dostop do medija brez trkov (ang. Collision- Free Protocols) 1. Možnost tekmovanja za medij 2. (bit-map protocol) Protokol z bitno sliko ○ Predpostavimo, da imamo N postaj in vsaka ima N enoličnih naslovov (od 0 do N-1) ○ Na začetku cikla se vsaki postaji dodeli časovni predal, da lahko pošlje bit 1 (pridobi okvir za oddajo). ○ Ko gre mimo vseh N časovnih predalov, postaje vedo, katere bodo oddajale in v kakšnem vrstnem redu. ○ Po oddajanju se cikel ponovi. 39 Bit-map protokol o Ni najbolj 'fer' protokol do tistih, ki imajo nižji ID o Protokol je slabo skalabilen = ni razširljiv, oz. je razširljiv, ampak zaradi razširjanja pa sistem počasi deluje o 1. Limited-convention protocols § Če narašča število 'govorcev', propustnost začne padat § Da rešimo ta problem, grupiramo jih po 5 in vsako grupo obravnavamo ločeno § V vsaki sekundi tekmuje druga grupa, tako da je izkoristek boljši à skalabilna rešitev http://www.it.iitb.ac.in/research/techreport/reports/53.pdf http://www.sss-mag.com/pdf/802_11tut?.pdf http://www.ethermanage.com/ethernet/10quickref/ch1qr_7.html =IEEE 802= Je družina standardov/protokolov za LAN – local area network. So kompatibilni na linijskem sloju. ideja je v tem, da lahko dva računalnika, eden na npr. brezžičnem omrežju in drugi na ethernetu normalno komunicirata med seboj (enaki protokoli z izjemo linijske plasti, kjer je nekje medij zrak nekje pa parica). Med najbolj znanimi IEEE 802 standardi sta na primer: ethernet (802.3) in wireless LAN (802.11). IEEE 802 se nahaja na linijski ter fizični plasti modela ISO/OSI, pri čemer linijsko plast razbije na 2 podplasti: LLC (logical link control), MAC (media access control) =802.2: LLC (Logical Link Control)= Ideja LLC protokola je, da je globalna struktura enaka (osnovni okvir), nato pa temu okvirju dodajamo dodatke (spredaj/zadaj) glede na medij. V praksi to zgleda tako, da se vedno okvirju spredaj doda LLC Header, nato pa še dodatne informacije, ki so vezane na medij (npr. okvirja, ki potuje čez wireless LAN in okvir, ki potuje po ethernetu, bosta različna). Tako zagotovimo, da je povezava navidez enaka za vse, razlika pa je le v načinu poveave (mediju). =Povezovanje lokalnih omrežij= Ker je medij lahko pravzaprav karkoli (cel svet, lokalna mreža) pride do potrebe po povezovanju med različnimi mediji zelo nujno. Poznamo dva načina povezovanja: 40 na fizičnem nivoju s t.i. ponavljalniki (repeaters), ki pravzaprav zgolj popravljajo električni/optični signal na linijskem nivoju s t.i. mostovi (bridges), ki znajo filtrirati in (nekateri) usmerjati promet; pomembno je, da ti mostovi paketov samih ne pregledujejo Mostovi informacijo običajno zgolj prenesejo iz enega v drug medij, lahko pa tudi popravijo okvir, da ustreza drugemu mediju – optimizacija (pametni mostovi). S pomočjo tega lahko tvorimo tudi t.i. navidezne povezave. =Prenos 802.x -> 802.y= To je pravzaprav funkcija, ki jo opravljajo mostovi – prenos iz enega medija v drugega. Kot prvo je potrebno izpostaviti, da se sami podatkovni biti/bajti v okviru ne spreminjajo v nobenem primeru. Spreminja pa se lahko ostala informacija. Most mora tako biti sposoben prejeti paket, ga obdelati (mu odstraniti/dodati informacijo) in poslati ta okvir naprej v drug medij. Most mora nujno vedeti, kje se nahaja – torej mora poznati strukturo omrežja za njim in pred njim, samo tako lahko namreč usmerja okvirje. Eden način, da dobi informacijo o ostalih udeležencih omrežja je z t.i. broadcast signalom, ki povpraša vse, ki so na omrežju – tako informacijo lahko tudi hrani v posebni tabeli v pomnilniku. =Postopek na mostu= Ko pride okvir prvič v most, ta (načeloma) ve zgolj eno stvar: od kod je okvir prišel. Edina stvar, ki jo lahko naredi je, da pošlje okvir na drugi strani ven in upa, da bo nekdo tam vedel, kaj narediti s tem okvirjem. Ob naslednji iteraciji pa bo že vedel, kam ta okvir poslati – to je del zagotavljanja dveh storitev, ki jih mora nuditi IEEE 802 standard (association, disassociation). =Vezanje omrezij:= = V primeru, da so mostovi vezani zaporedno je vse v redu. Problem se pojavi, če zvežemo dva mostova paralelno – tako namreč na nek cilj prispeta dva okvirja namesto enega, česar seveda nočemo! Tako je pri strukturiranju omrežij nujno, da zgradimo t.i. minimalno vpeto drevo ter seveda določimo funkcije, kateri most sme pošiljati kam in kateri ne. Med večimi LAN-i lahko vzpostavimo tudi 1-1 oziroma point-to-point povezavo. Tudi to omogoča standard IEEE 802. =Naprave glede na sloj= Hub – tudi razprševalnik, nahaja se na fizičnem nivoju in je sposoben le prejeti okvir in ga poslati vsem (ne omogoča point-to-point) Bridge (most)– lahko poveže 2 različni omrežji, nahaja se na linijski plasti Switch (stikalo) – prav tako je lociran na linijski plasti, omogoča pa, da kdorkoli lahko komunicira z komerkoli, poleg tega pa v primeru, da vzpostavi point-to-point povezavo omogoča, da drugi te povezave ne motijo =Virtualni LAN (navidezni LAN)= Gre za omrežja, ki navidezno povezujejo različne naprave v eno samo omrežje kljub temu, da so te naprave fizično del različnih omrežij z različnimi mediji. Za navidezni LAN skrbi protokol 802.1Q, ki je razširitev protokola 802.3 (ethernet). Ta protokol določa, da se določeni okvirji na napravah, ki niso del navideznega omrežja, pa vendar zaradi fizične lokacije prejmejo okvir, ignorirajo (hub razpošlje okvir vsem, čeprav niso vsi del VLAN-a). V primeru uporabe stikala do tega seveda ne pride, ker samo razpošiljanje pravim pripadnikom navideznega omrežja lahko opravimo že na stikalu. Realizacija protokola 802.1Q je precej enostavna – v okvir se enostavno doda dol. število bitov, ki predstavljajo identifikator 41 lokalnega omrežja. Problem navideznih LAN-ov pa je ta, da lahko kdorkoli (v primeru huba) prejema pakete in, če se ne drži protokola, tudi bere. 42 Mrežna plast 43 Skrbi za prenos paketov po omrežju od enega računalnika do drugega. Če sta računalnika na različnih omrežjih, paketi potujejo preko večih usmerjevalnikov, zato mora mrežna plast poznati topologijo omrežja in ustrezno usmerjati pakete do ciljnega računalnika. Poskrbeti mora tudi, da ne prihaja do preobremenitev povezav in usmerjevalnikov. Storitve mrežne plasti Mrežna plast nudi storitve transportni plasti na vmesniku med plastema. Za te storitve mora veljati: - storitve morajo biti neodvisne od tehnologije usmerjevalnikov, - pred transportno plastjo mora biti skrito število, tip in topologija usmerjevalnikov, - omrežni naslovi morajo biti enolično določeni. Nepovezavne storitve Nepovezavna storitev je nezanesljiva, zato morajo računalniki opravljajo nadzor napak in obvladovanje pretoka. Mrežna plast nudi le primitiva pošlji paket in sprejmi paket. Vsak paket mora vsebovati naslov ciljnega računalnika, saj se paketi prenašajo neodvisno eden od drugega. Ko paket prispe do usmerjevalnika, ga ta s pomočjo svoje usmerjevalne tabele posreduje naslednjemu usmerjevalniku. Vsaka usmerjevalna tabela je sestavljena iz parov podatkov: ciljni usmerjevalnik in povezava po kateri pridemo posredno ali neposredno do njega. Usmerjevalne tabele se lahko s časom spreminjajo (zaradi zastojev na povezavah, odklopa usmerjevalnikov), zato lahko paketi med dvema računalnikoma potujejo po različnih poteh. Povezavne storitve Za razliko od nepovezavne storitve, je povezavna storitev zanesljiva. Mrežna plast zagotavlja nadzor napak in obvladovanja pretoka. Poleg osnovnih dveh primitivov (pošlji paket in sprejmi paket), potrebuje mrežna plast vsaj še dva primitiva: vzpostavi povezavo in podri povezavo. Predno se lahko paketi začnejo prenašati, se mora vzpostaviti povezava od začetnega usmerjevalnika do končnega usmerjevalnika. Tej povezavi pravimo navidezni vod (angl. virtual circuit). Ob vzpostavitvi povezave se izbere pot in shrani v tabele usmerjevalnikov. Paketi vsebujejo identifikacijske številke povezav kateri pripadajo. Usmerjevalnikom sedaj ni potrebno za vsak paket iskati poti do ciljnega računalnika, ampak le preverijo v svoji tabeli kateri povezavi paket pripada. Ob razdrtju povezave, se navidezni vod izbriše iz tabel usmerjevalnikov. Primerjava povezavne in nepovezavne storitve Nepovezavna storitev Povezavna storitev Vzpostavitev povezave Ni potrebno Potrebno Naslavljanje Vsak paket ima celoten naslov izvornega in ponornega računalnika Vsak paket vsebuje identifikacijsko številko navideznega voda Informacija stanja Usmerjevalniki ne hranijo podatkov Vsak navidezni vod zasede prostor 44 o povezavah v tabeli Usmerjanje Vsak paket se usmerja neodvisno Pot se določi, ko se vzpostavi povezava Posledica okvare usmerjevalnika Izguba paketov v usmerjevalniku Izguba vseh navideznih vodov, ki so potekali skozi usmerjevalnik Kvaliteta storitve Težko zagotovljiva Lahko zagotovljiva, če vnaprej rezerviramo zmogljivost Kontrola zastojev Težko izvršljiva Lahko izvršljiva, če vnaprej rezerviramo zmogljivost Primer nepovezavne storitve: UDP. Primer povezavne storitve: ATM. Usmerjanje - čimbolj optimalno izbirajo usmerjevalnike, preko katerih se pošilja pakete. - na usmerjevalnikih lahko ločimo dva procesa: - usmerjanje (forwarding) - paket pošlje naprej glede na usmerjevalno tabelo, - algoritem - izdelava in spreminjanje usmerjevalnih tabel: - pričakovana neprekinjena zanesljivost, kljub stalnim spremembam topologij, - pravičnost in optimalnost: promet med A in A', B in B', C in C' je optimalen. Če hočemo omogočiti še promet mex X in X', moramo optimalnost prejšnjih treh povezav zmanjšati in tako omogočiti promet med X in X' - pravičnost. Potrebno je doseči čim manjše število usmerjevalnikov na poteh iz naprave x v x', kar omogoči manjše časovne zamike in s tem zmanjša širino povezave, potrebne za prenos podatkov iz x v x', - algoritme delimo na dve skupini: - neprilagodljivi (nonadaptive): - usmerjalne tabele so določene ob postavitvi mreže in se ne spreminjajo (statični algoritmi), - le ročno lahko spreminjamo vsebino tabel, - prilagodljivi (adaptive): - spreminjajo usmerjevalne tabele gleda ne spremembe v topologiji in v gostoti prometa, 45 - podatke si izmenjujejo s sosednjimi usmerjevalniki s pomočjo protokolov (ARP, ...), - princip optimalnosti - če je usmerjevalnik J na optimalni poti od I do K, potem je tudi optimalna pot od J do K na tej poti, - posledica tega principa : poti z vseh izvorov tvorijo drevo s korenom v cilju (sink tree), kjer se razdalje merijo s številom usmerjanj (hop) --> cilj algoritmov je najti tako drevo za vse usmerjevalnike v omrežju. Posebnost teh dreves je to , da ne vsebujejo zank, torej se vsi paketi dostavijo v omejenem končnem času. Usmerjevalni Algoritmi 1. Algoritem najkrajša pot (Dijkstra - shortest path (1959)): o temelji na grafu, kjer vozlišča predstavljajo usmerjevalnike, povezave pa komunikacijske kanale med usmerjevalniki, o na osnovi metrike (število usmerjanj, razdalja med usmerjevalniki km? ali časovni zamik ns?) se določi cena povezave. Na ceno vpliva tudi povprečen promet, stroški, čakalne vrste in še nekaj drugih faktorjev, o ko so cene in vozlišča znani, se med poljubnima vozliščema lahko izračuna najkrajša pot. o postopek: a. označimo vozlišča, začetko z 0, ostala z ∞. Oznake so začasne ali pa trajne (pregledana vozlišča dobijo trajne oznake) b. označimo začetno vozlišče A kot trajno. Pregledamo vsa sosednja vozlišča (v katera A lahko neposredno pošilja pakete) in jih označimo s ceno (razdalja od A, oznake so začasne in se spremenijo, če algoritem najde manjšo ceno) c. izmed pregledanih vozlišč izberemo vozlišče z najmanjšo ceno (B) in ga označimo kot trajnega. d. pomaknemo se v naslednje vozlišče (B) in ponavljamo koraka 2 in 3 dokler ne pregledamo vseh vozlišč, dosegljivih iz začetnega vozlišča. ko je končno vozlišče dosegljivo, se pregledovanje grafa ustavi. e. rezultat - končna pot se prebere iz trajnih vozlišč od cilja proti začetku 46 Usmerjanje • Statično usmerjanje - neadaptivni algoritmi: – ne utemeljijo svojih odločitev za usmerjanje na podlagi meritev ali ocen trenutnega prometa in topologije; – izbira usmerjanj je določena vnaprej, ob zagonu (lahko tudi ročno). • Dinamično usmerjanje - adaptivni algoritmi: – izmenjujejo podatke o spremembah v topologiji in prometu; – dobijo podatke od sosedov ali vseh usmerjevalnikov. • Kriterije optimalnosti (metriko) predstavljajo razdalja, zakasnitev, pasovna širina, lokalne in globalne zahteve itd. • Princip pravičnosti v nasprotju z optimalnostjo Optimalnost glede na celoten model lahko privede do tega, da določeni paketi nikoli ne bi prišli do cilja. Princip pravičnosti poskrbi za to, da se eventuelno prenesejo tudi paketi, ki niso na optimalnih poteh. Algoritmi za usmerjanje • Algoritem Najkrajša pot (Dijkstra, 1959). – Graf, kjer so usmerjevalniki vozlišča in veje komunikacijski kanali (vodi). – Metrika pogosto temelji na razdalji ali ceni. – Požrešni algoritem. 47 1. Razdaljo do začetnega vozlišča označimo kot 0 in ostale z ∞. Vsa vozlišča damo v vrsto s prednostjo pq. 2. Iz pq vzamemo najmanjši element, ki predstavlja vozlišče v. 3. Preračunamo razdalje od v do vseh njegovih sosedov in jih, če so krajše kot trenutno zabeležene, popravimo (pri tem se spremeni pq). 4. Ponavljamo drugi in tretji korak, dokler ne dosežemo ponora. Usmerjanje 2: Flooding Usmerjanje 3: Vektor razdalij Je dinamičen algoritem. Deluje tako, da vsak usmerjevalnik hrani tabelo (vektor) razdalj do vse ostalih vozlišč. Te tabele vozlišče nato izračuna tako, da vpraša vse svoje sosede kolikšna je njihova razdalja do vseh ostalih vozlišč in na podlagi tega zgradi svojo tabelo, najbolj optimalna pot se nato ugotavlja s pomočjo teh tabel. Vsak usmerjevalnik mora svojo tabelo povezav tudi periodično obnavljati. Če neka povezava izgine, traja neskončno mnogo da se to ugotovi, če pa se pojavi nova povezava pa se to ugotovi zelo hitro. Usmerjanje 4: Stanje povezav Je nekoliko boljši način usmerjanja od usmerjanja na osnovi vektorja razdalj, saj lahko v bližnjem omrežju dokaj hitro ugotovi, če je kaka povezava padla Usmerjanje 5:Hierarhično Usmerjanje 6: Razpošiljanje 48
© Copyright 2024