Osnovi racunarskih mreza, Slavko Gajin, 2023.pdf
Document Details
Uploaded by Deleted User
2023
Tags
Related
- Week_4_9_Computer_Networks.pdf
- APznzaa8W__0kdgdB7Aso0wPLtBTg8Bm-DmapgeMWnrmB8BI1iod1FNW9ro8iBJ1HH6FzohwRpHvwocaL3CWBTSLMSKWxo6zOPS3rqaQk_pf-R6w6FsMWfMC9S0v-4Dr1NsW8x1VT5cfwYtsbfc0o1-j8twrxjGh6uOkEIiEMn18EqDHRJSah25Ci6oM7jjtdOpG6nRhzCHy.pdf
- Unit-3 Application Layer.pdf
- Module-III(3).pdf
- ComputerNetworks notes .pdf
- Chapter 7: Network Technologies PDF
Full Transcript
Osnovi raĀunarskih mreža Slavko Gajin Univerzitet u Beogradu – Elektrotehniþki fakultet Akademska misao Beograd, 2023. Dr Slavko Gajin OSNOVI RAýUNARSKIH MREŽA...
Osnovi raĀunarskih mreža Slavko Gajin Univerzitet u Beogradu – Elektrotehniþki fakultet Akademska misao Beograd, 2023. Dr Slavko Gajin OSNOVI RAýUNARSKIH MREŽA Recenzenti Dr Pavle Vuletiü Dr Dražen Draškoviü Izdavaþi Univerzitet u Beogradu – Elektrotehniþki fakultet Akademska misao, Beograd Štampa Grafoprint, Gornji Milanovac Tiraž 300 primeraka ISBN 978-86-7466-974-7 /LFHQFD: CC BY 4.0 NAPOMENA: Fotokopiranje ili umnožavanje na bilo koji naþin ili ponovno objavljivanje ove knjige u celini ili u delovima - nije dozvoljeno bez saglasnosti i pismenog odobrenja izdavaþa. Sadržaj SADRŽAJ.......................................................................................................................................................... 1 UVOD................................................................................................................................................................. 3 1. RAZVOJ RAČUNARSKIH MREŽA.................................................................................................................. 5 1.1 Paketski prenos podataka............................................................................................................. 5 1.2 Standardizacija.............................................................................................................................. 6 1.3 Predmet udžbenika...................................................................................................................... 11 PRVI DEO: NIŽI SLOJEVI........................................................................................................................... 12 2. KONTROLA PRISTUPA MEDIJUMU............................................................................................................. 13 2.1 Podela na kanale......................................................................................................................... 14 2.2 Pristup sa dodelom dozvole......................................................................................................... 14 2.3 Slučajni pristup............................................................................................................................. 15 2.4 CSMA/CD.................................................................................................................................... 19 2.5 Eternet – realizacija CSMA/CD.................................................................................................... 24 3. ETERNET............................................................................................................................................... 26 3.1 Kolizija i njeni hirovi..................................................................................................................... 26 3.2 Do poslednjeg bajta..................................................................................................................... 29 3.3 MAC adrese................................................................................................................................. 30 3.4 Format Eternet paketa................................................................................................................. 30 3.5 Zbogom ripiteri............................................................................................................................. 32 3.6 Zbogom koaksijalci...................................................................................................................... 35 3.7 Zbogom kolizijo............................................................................................................................ 37 3.8 Need for speed............................................................................................................................ 37 4. DANAŠNJE ETERNET MREŽE................................................................................................................... 39 4.1 Spanning tree protocol................................................................................................................. 39 4.2 STP iz pozicije svičeva................................................................................................................ 43 4.3 STP u stacionarnom stanju.......................................................................................................... 48 4.4 Rapid Spanning Tree Protocol – RSTP....................................................................................... 55 4.5 Virtualne lokalne računarske mreže - VLAN............................................................................... 58 DRUGI DEO: MREŽNI SLOJ...................................................................................................................... 63 5. INTERNET PROTOKOL............................................................................................................................. 64 5.1 Princip komunikacije preko IP protokola...................................................................................... 65 5.2 Karakteristike IP protokola........................................................................................................... 66 5.3 Format IP paketa......................................................................................................................... 67 Fragmentacija IP paketa.......................................................................................................................... 69 5.4 IP adrese...................................................................................................................................... 70 6. PRINCIPI RUTIRANJA............................................................................................................................... 77 7. DISTANCE-VECTOR PROTOKOLI RUTIRANJA............................................................................................. 87 7.1 Princip rada.................................................................................................................................. 87 7.2 Tehnike zaštite od neregularnosti................................................................................................ 90 7.3 RIP ruting protokol....................................................................................................................... 92 8. LINK-STATE PROTOKOLI RUTIRANJA........................................................................................................ 94 8.1 Princip rada.................................................................................................................................. 94 8.2 OSPF ruting protokol................................................................................................................... 97 8.3 Redistribucija ruta između ruting domena................................................................................. 104 9. ARP PROTOKOL................................................................................................................................... 107 9.1 Uparivanje IP adresa i MAC adresa.......................................................................................... 107 9.2 Primer IP komunikacije.............................................................................................................. 109 10. ICMP PROTOKOL............................................................................................................................. 113 10.1 Vrste ICMP poruka.................................................................................................................... 113 10.2 Primena ICMP protokola............................................................................................................ 115 TREĆI DEO: VIŠI SLOJEVI....................................................................................................................... 118 11. TRANSPORTNI SLOJ.......................................................................................................................... 119 11.1 Opšte funkcije transportnog sloja.............................................................................................. 119 11.2 UDP protokol.............................................................................................................................. 123 11.3 TCP protokol.............................................................................................................................. 125 11.4 QUIC protokol............................................................................................................................ 139 11.5 Praćenje stanja na transportnom nivou..................................................................................... 140 12. APLIKATIVNI SLOJ............................................................................................................................. 143 12.1 Veb servis.................................................................................................................................. 143 12.2 Proksi servis............................................................................................................................... 144 12.3 FTP – Protokol za razmenu datoteka........................................................................................ 145 12.4 Servis elektronske pošte............................................................................................................ 146 12.5 Udaljeni pristup uređajima......................................................................................................... 147 13. DNS – SISTEM IMENOVANJA............................................................................................................. 149 13.1 Organizacija i definicija domena................................................................................................ 149 13.2 Razrešavanje naziva................................................................................................................. 152 13.3 Zapisi u DNS zonama................................................................................................................ 155 REFERENCE................................................................................................................................................. 163 Strana 2 Uvod Strana 3 Potreba za računarskim komunikacijama nastala je neposredno nakon pojave prvih računara. U to doba računari su bili znatno drugačiji od današnjih, ne samo po primenjenoj tehnologiji i performansama, već i po svom fizičkom izgledu i veličini. Tadašnji računari su bili izuzetno glomazni, podeljeni u više fizičkih celina (tehničkih ormana) za procesor, memoriju, diskove, spoljne jedinice i njihove kontrolere. Ovi računari su se nazivali mejnfrejm računari (eng. mainframe) i zahtevali su instalaciju u posebnim prostorijama sa obezbeđenom klimatizacijom i drugim specifičnim uslovima. Tada izuzetno skupi, njihovo korišćenje je bilo deljeno od strane više korisnika, pristupajući im preko monitora i tastature, koji su mogli da budu u susednoj sobi ili na većim rastojanjima, udaljenim zgradama ili gradovima. Pritisak na tastaturi se binarno kodirao i direktnom fizičkom vezom prenosio do računara, tačnije kontrolera periferije, a odgovor se vraćao po istoj vezi za prikaz na monitoru. Za ovakvu komunikaciju su se koristile direktne veze (kablovi), a na većim rastojanjima postojeće i stalno uspostavljene telefonske veze. Za prenos informacija koristili su se uređaji koji se zovu modemi (eng. modem), a koji su binarne podatke pretvarali u zvuk, koji se prenosio preko telefonske veze, a na prijemnoj strani ponovo pretvarao u binarne podatke. Iako je navedena tehnologija služila za prenos binarnih podataka, to ipak nisu bile računarske mreže, za koje je potrebno da postoji više računara koji međusobno komuniciraju. Računarske mreže se sastoje od fizičke infrastrukture koja povezuje računare i funkcionalne logike koja omogućava ispravnu razmenu podataka. Fizičku infrastrukturu čine fizičke veze (linkovi) i komunikacioni uređaji, dok je funkcionalna logika definisana skupom komunikacionih protokola koji uređuju mašinski prenos podataka. Materijal u ovom udžbeniku se u najvećoj meri odnosi na komunikacione protokole, budući da oni opisuju logiku funkcionisanja računarskih mreža. Strana 4 1. Razvoj računarskih mreža Prvobitni mejnfrejm računari su se povezivali tada raspoloživom tehnologijom, koja je podrazumevala modeme povezane preko telefonskih linija, što se nazivalo „komutacija kola“ nastalo iz prevoda engleskog termina Circuit Switching. Telefonske veze su mogle da se uspostavljaju po potrebi, ali je češći bio slučaj njihovog permanentnog zakupa samo za povezivanje krajnjih tačaka (eng. leased line). Podaci su se prenosili u manjim celinama, tzv. porukama, koje su bile posebno formatirane kako bi ih obe strane u komunikaciji mogle ispravno prepoznati. Prednost ovakvog načina povezivana se ogledala u dostupnosti i povezanosti telefonskih linija na globalnom nivou. Iako je tada predstavljao uobičajeni pristup, ekskluzivno korišćenje veze na celom putu između povezanih uređaja bilo je neekonomično i neskalabilno. 1.1 Paketski prenos podataka Radikalno novi pristup se javio 1965. godine, koji su nezavisno predložili istraživači Donald Davies i Paul Baran. Umesto direktnog povezivanja krajnjih tačaka, novi pristup je omogućavao ravnopravno povezivanje većeg broja učesnika u zajedničku komunikacionu infrastrukturu, po kojoj se podaci šalju u manjim celinama, tzv. paketima. Komunikaciona infrastruktura je time dobila novu logiku rada, koja je omogućavala da se paketi nezavisno prosleđuju do krajnjih odredišta. Ovu logiku je sprovodila mreža međusobno povezanih komunikacionih uređaja, što je nazvano svičovanje paketa (eng. packet switching). Prednost se ogledala u tome što je veći broj komunikacionih tokova mogao istovremeno da deli pojedinačne linkove, tako što su se njihovi paketi naizmenično prenosili u kratkim vremenskim intervalima (Slika 1.1). To je za posledicu imalo veliku fleksibilnost povezivanja i skalabilnost broja učesnika. Za veći intenzitet saobraćaja nije bilo potrebe uvoditi nove fizičke linkove, već samo povećavati kapacitet postojećim linkovima. Time je nastao koncept računarskih mreža u modernom smislu. Slika 1.1. Mreža sa svičovanjem paketa Dugačak je put od idejnog koncepta do tehničke realizacije, posebno kod ovako radikalnih promena. I sam koncept je naišao na otpor klasičnog telekomunikacionog sektora i postojeće industrije, pa je prva realizacija sprovedena kao istraživačko-eksperimentalni projekat finansiran od Agencije za napredna istraživanja pri Ministarstvu odbrane Sjedinjenih Američkih Država (eng. Advanced Research Projects Agency, Department of Defence – ARPA). Mreža Strana 5 pod nazivom ARPANET je zaživela 1969. godine, povezujući četiri računara univerzitetskih centara u SAD. Pokretačku logiku rada mreže je činio mrežni protokol pod nazivom Network Control Protocol (NCP), koji predstavlja prvi protokol koji realizuje princip svičovanja paketa. Narednih godina mreža je unapređivana, uz priključivanje sve većeg broja univerzitetskih i istraživačkih organizacija. Razvoj mreže je ubrzo prevazišao istraživačke i eksperimentalne okvire, što je zahtevalo koordinirani rad, koji je organizovan u formi radne grupe (Network Working Group). Osim upravljačke uloge u mreži, radna grupa je usvajala i tehničku specifikaciju u vidu dokumenta pod nazivom Request for Comments (RFC). Inicijalno korišćeni kao neformalni dokumenti preporuka i tehničkih principa, što ukazuje i sam naziv, ubrzo su prerasli u formalne tehničke specifikacije protokola i servisa. Tako je nastala serija referentnih tehničkih dokumenata, koji su numerisani rednim brojevima, i danas aktuelni pod nazivom RFC dokumenti, u žargonu poznato kao „Internet standardi“. Koncept računarske mreže na bazi svičovanja paketa je bio potvrđen i primenjen u praksi, ali i dalje samo u akademskoj i istraživačkoj zajednici. Slične inicijative su praćene i u drugim zemljama, takođe kao istraživački projekti, poput Cyclades mreže u Francuskoj. Pojedini proizvođači računara su takođe realizovali svoje mrežne protokole na bazi svičovanja paketa, poput korporacije IBM koja je razvila SNA protokol (System Network Architecture), Digital Equipment Corporation (DEC) sa mrežnim protokolom DECnet i slično. Problem je bio što su svi ovi protokoli bili različiti, međusobno nekompatibilni i podržani samo od računara ovih proizvođača. Javila se potreba za standardizacijom koja bi uredila različita tehnološka rešenja i omogućila interoperabilnost opreme različitih proizvođača. 1.2 Standardizacija Radna grupa ARPANET mreže je prerasla u Međunarodnu radnu grupu (eng. International Network Working Group – INWG), koja se zalagala za promociju nove mrežne tehnologije na bazi svičovanja paketa. Oni su 1975. godine podneli predlog za standardizaciju novog protokola međunarodnoj organizaciji za standarde u telekomunikacijama – CCITT (eng. International Telegraph and Telephone Consultative Committee), danas pod nazivom International Telecommunication Unit – Telecommunication Standardization Sector, skraćeno ITU-T. Predlog je bio odbijen, pod formalnim obrazloženjem da je netestiran i riskantan, ali suštinski pod uticajem telekomunikacione industrije, koja se trudila da zadrži konzervativni monopolistički pristup na tržištu. Proces standardizacije je 1977. godine prihvatila Međunarodna organizacija za standarde (eng. International Organization for Standardization – ISO), pod nazivom Open System Interconnection (OSI). Većina članova Međunarodne radne grupe INWG se pridružila ovom procesu, kao i veliki broj proizvođača opreme. Osnovni principi za donošenje novih standardizovanih protokola bili su: ♦ otvorenost, što podrazumeva da je komunikacija nezavisna od proizvođača uređaja i ♦ modularnost, što podrazumeva da je kompleksan problem podeljen u manje celine. Na ovim principima uspostavljana je nova komunikaciona arhitektura koju uređaji treba da zadovolje, poznata kao OSI referentni model. Ovaj model nastao je iz činjenice da postoji dosta velika razlika između interpretacije aplikativnih podataka na visokom logičkom nivou u odnosu na fizički prenos podataka kroz mrežu koji se odvija putem elektromagnetnih signala. U skladu sa principom modularnosti, proces transformacije aplikativnih podataka u prenosne Strana 6 signale podeljen je u više nezavisnih celina, tzv. slojeva ili nivoa (eng. layer). Svaki sloj ima strogo definisanu ulogu i način komunikacije sa višim i nižim slojem, posredstvom interfejsa koji se naziva Service Access Point (SAP). Tom prilikom naziv „servis“ ukazuje da jedan sloj pruža usluge drugom sloju. Podaci se pri slanju između slojeva prenose naniže, dok se na prijemu sprovodi obrnuti proces rekonstrukcije podataka, od nižih slojeva do odredišne aplikacije, što ilustruje Slika 1.2. Aplikacije Fizički signali...0110 101...0110 101 Slika 1.2. Modularna arhitektura podeljena na slojeve Konkretno, OSI referentni model uvodi sedam slojeva (nivoa), i to: ♦ L7, Aplikativni sloj (eng. Layer 7, Application Layer) ♦ L6, Prezentacioni sloj (eng. Layer 6, Presentation Layer) ♦ L5, Sloj sesije (eng. Layer 5, Session Layer) ♦ L4, Transportni sloj (eng. Layer 4, Transport Layer) ♦ L3, Mrežni sloj (eng. Layer 3, Network Layer) ♦ L2, Sloj veze podataka (eng. Layer 2, Data-link Layer) ♦ L1, Fizički sloj (eng. Layer 1, Physical Layer). Na aplikativnom sloju uparene aplikacije međusobno logički komuniciraju razmenom struktuiranih podataka u vidu posebno formatiranih poruka. Spuštajući se naniže pri slanju, naredni niži sloj u celini preuzima ove poruke i posmatra ih kao monolitne podatke, bez poznavanja njihove strukture. Od ovih podataka kreira se nova poruka, postavljajući podatke sa višeg sloja u deo koji se naziva telo poruke (eng. body), dok se na početku poruke dodaje kontrolni podaci iz tekućeg sloja, u delu koji se naziva zaglavlje (eng. header). Ovako kreiranu poruku tekući sloj predaje nižem sloju, koji na svom nivou sprovodi isti postupak – preuzima poruku i postavlja je u telo svoje poruke, tzv. enkapsulacija (eng. encapsulation). Poruka isporučena fizičkom sloju se serijalizuje u niz bita, koji se kodiraju i transformišu u prenosne signale. Na prijemu se u svakom sloju sprovodi inverzan proces postepenog raspakivanja podataka, tzv. dekapsulacije (eng. decapsulation). Svaki sloj dobija poruku u formatu koji je kreirao i poslao njemu upareni sloj na istom nivou. Iz zaglavlja se tumače poslati kontrolni podaci, i ako Strana 7 je sve ispravno, telo poruke se u celini predaje višem sloju. Ovaj postupak se sprovodi sve do aplikativnog sloja, gde se rekonstruišu originalno poslati aplikativni podaci (Slika 1.3). Enkapsulacija Dekapsulacija Layer n Header (n) Data (n) Layer n Header (n) Data (n) Layer n-1 Header (n-1) Data (n-1) Layer n-1 Header (n-1) Data (n-1) Slika 1.3. Proces enakapsulacije pri slanju i dekapsulacije pri prijemu podataka Kao što postoji više aplikacija koje nezavisno funkcionišu na aplikativnom sloju, tako i na svakom nižem sloju mogu istovremeno funkcionisati više različitih i nezavisnih entiteta, odnosno implementacija različitih protokola. Poruke svih ovih protokola se na isti način preuzimaju i tretiraju od strane nižeg sloja, ali se one moraju posebno označiti kako bi se na prijemnoj strani adekvatno prepoznali i isporučili uparenom protokolu ili aplikaciji. Ovaj proces prenosa podataka iz različitih izvora na višem sloju kroz zajednički komunikacioni kanal koji obezbeđuje niži sloj, naziva se mulitipleksiranje (eng. multiplexing), dok se obrnuti proces na prijemnoj strani naziva demultipleksiranje (eng. demultiplexing), što ilustruje Slika 1.4. Multipleksiranje Demultipleksiranje X Y Z X Y Z Z Data Z Data X Data X Data Y Data Y Data...... Slika 1.4. Proces multipleksiranja pri slanju i demultipleksiranja pri prijemu podataka Imajući ovo u vidu, može se smatrati da se na logičkom nivou sprovodi komunikacija putem poruka između slojeva istog nivoa na udaljenim uređajima. Podaci se na krajnjim uređajima fizički prenose između slojeva „po vertikali“, dok se na logičkom nivou komunikacija odvija između slojeva istog nivoa. Na ovom mestu treba istaći da se na putu između učesnika u mreži može javiti više međutačaka, odnosno komunikacioni uređaji koji implementiraju slojeve na nižim nivoima, prihvataju poruke i prosleđuju ih dalje prema odredištu, što ilustruje Slika 1.5. Strana 8 Application Application H Data Transport Transport H Data Network Network Network H Data Data Link Data Link Data Link Data Link Data Link H Data T Physical Physical Physical Physical Physical Physical 101100010101000110….. 1011000101010001101110111011….. 001101110110100100101010001…. Slika 1.5. Fizički prenos podataka i logička komunikacija između uparenih slojeva Nakon usvajanja OSI referentnog modela, proces standardizacije se fokusirao na pojedinačne protokole, pre svega na slojevima nižih nivoa, koji implementiraju mrežne funkcionalnosti i na krajnjim uređajima i na komunikacionim uređajima. Ovaj proces je ipak bio dosta spor, opterećen birokratskim procedurama, velikim brojem učesnika, često sa suprotstavljenim stavovima, ali i preambicioznim zahtevima. Protokoli koji su se razvili i usvojili bili su dosta robusni, komplikovani, skupi za realizaciju. Nasuprot tome, razvoj u okviru ARPANET mreže je bio manje formalan, mnogo agilniji i fleksibilniji, uz efikasno testiranje i demonstraciju koncepta u praksi. To je dovelo do arhitekture koja je takođe bila bazirana na OSI referentnom modulu, ali u pojednostavljenoj varijanti, sa posebnim fokusom samo na mrežni sloj (L3) i transportni sloj (L4). Zbog velike implementacione zavisnosti dva najniža sloja, fizičkog i sloja veze podataka, oni se obično tretiraju objedinjeno, a u to vreme su bili nezavisno razvijani od strane različitih proizvođača, a standardizovani od strane organizacije Institute of Electrical and Electronics Engineers, daleko popularnije po skraćenici IEEE (izgovara se „aj-tripl-i“, eng. „I-triple-E“). Sa druge strane, tri najviša sloja suštinski su bliži softverskim implementacijama nego mrežnim tehnologijama, pa su objedinjeni sa aplikativnim slojem. Rezultat ovakvog pristupa je bio jedan jednostavan protokol na mrežnom nivou, pod nazivom Internet Protocol (IP), dva protokola na transportnom nivou, i to Transmission Control Protocol (TCP) i znatno jednostavnija varijanta pod nazivom User Datagram Protocol (UDP), sa još nekoliko pratećih pomoćnih protokola koji su upotpunjavali pojedine nedostajuće funkcije. Celokupni skup ovih protokola poznat je pod nazivom TCP/IP. Strana 9 OSI L7 Application Aplikativni sloj L6 Presentation Prezentacioni sloj L5 Session Sloj sesije L4 Transport Transportni sloj L3 Network Mrežni sloj L2 Data Link Sloj veze podataka L1 Physical Fizički sloj Slika 1.6. OSI i TCP/IP arhitektura podele na slojeve TCP/IP familija protokola je predstavljala ono što se danas u razvoju softvera po agilnim metodologijama zove „minimalno održivo rešenje“ (Minimum Viable Product – MVP). Rešenje doneto i realizovano u minimalnom, ali funkcionalnom obliku, i primenjeno u praksi, ali samo u okviru istraživačke i univerzitetske zajednice, gde je ostvarila veliku popularnost. Za to vreme, telekomunikaciona i računarska industrija na strani proizvođača i ostali sektori na strani korisnika, sledili su konvencionalni pristup vođen ISO standardizacijom. Bilo je jasno da je tehnologija na prekretnici, što je označeno kao rat između OSI i TCP/IP tehnologija. Ovaj „tehnološki rat“ je bio nepravedan 1 – OSI pristup imao podršku svih relevantnih faktora (vlada, kapitala, industrije, komercijalnih korisnika), ali je TCP/IP model, iako podržan samo od akademske zajednice, imao ključnu prednost – bio je jednostavan, a uz to je i radio. Bitni datumi koji ilustruju razvoj događaja su sledeći: ♦ 1.1.1983: Ministarstvo odbrane SAD (eng. U.S. Department of Defence), donosi odluku o prelasku sa Network Control Protocol na TCP/IP protokol u okviru ARPANET mreže. ♦ Maj 1983: ISO OSI referentni model je zvanično objavljen kao standard. ♦ 1985: Nacionalni istraživački komitet SAD (eng. U.S. National Research Council) preporučuje da ARPANET postepeno pređe sa TCP/IP na OSI standard. ♦ 1988: Ministarstvo trgovine SAD (eng. U.S. Department of Commerce) naložio je vladinim ustanovama prelazak na OSI standard do avgusta 1990. godine. ♦ Kraj 80-tih: Naznake neostvarenih očekivanja u OSI redovima Brian Carpenter, “Is OSI Too Late?” Louis Pouzin, „Ten Years of OSI — Maturity or Infancy?” ♦ 1990: ARPANET projekat je zvanično završen, ali je mreža nastavila da funkcioniše i dalje se razvija finansirana od strane Nacionalne naučne fondacije SAD (eng. U.S. National 1 A koji rat nije nepravedan? Strana 10 Science Foundation – NSF) kroz program pod nazivom National Science Foundation Network (NSFNET). Mreža je prihvaćena pod novim neformalnim imenom – Internet. ♦ 1991: Nastanak veb servisa, World Wide Web - WWW, Tim Berners-Lee. ♦ 1992: NSF dozvoljava povezivanje komercijalnih korisnika, što je dovelo do formiranja Interneta u modernom smislu. Time je ISO OSI definitivno izgubio rat od strane TCP/IP protokola, ali se i u narednim godinama smatralo da je TCP/IP suviše jednostavan za tada narastajuće multimedijalne potrebe. Bilo je pokušaja razvoja novih naprednih protokola, a upečatljiv je primer dugo razvijanog, ali brzo zaboravljenog, ATM protokola (eng. Asynchronous Transfer Mode). TCP/IP se nije mnogo menjao, a nedostajuće funkcije su upotpunjene dodatnim protokolima, kao što je sigurnost i podrška za video saobraćaj u realnom vremenu. Internet mreža se eksplozivno razvijala i u novi milenijum je ušla sasvim zrela, čak punoletna, budući da je za „rođenje“ Interneta (eng. „the birth of the Internet”) izabran 1.1.1983. godine kao datum zvaničnog uvođenja TCP/IP protokola u tadašnju ARPANET mrežu. 1.3 Predmet udžbenika Predmet ovog udžbenika se odnosi na opis tehnologija i protokola, prateći slojeve od nižih ka višim, podeljeno u tri celine. Prvi deo je posvećen sloju podataka veze (eng. Data link layer), koji je vezan za fizički sloj kroz funkciju pristupa medijumu. Detaljno se opisuje danas dominantna tehnologija ove vrste koja se primarno koristi za lokalno povezivanje manjeg broja korisnika, tzv. Eternet mreže (eng. Ethernet). Materija prati postepeni razvoj tehnologije, od ranih potreba i praktičnih realizacija, opisom postepenih unapređenja i naknadno razvijanih protokola i tehničkih poboljšanja do oblika u kome se koristi danas. Drugi deo udžbenika u potpunosti je posvećen Internet protokolu (IP) koji realizuje funkcije mrežnog sloja (L3), zajedno sa pratećim protokolima koji predstavljaju jezgro rada savremenih računarskih mreža, uključujući i globalnu Internet mrežu. Treći i poslednji deo je posvećen višim slojevima, odnosno transportnom sloju i aplikativnom sloju. Detaljno su opisani TCP i UDP transportni protokoli, koji realizuju mrežne komunikacije između krajnjih uređaja. Na aplikativnom nivou se prikazuje princip rada aplikacija u klijent- server režimu, sa primerima najčešćih aplikativnih servisa. Zbog svoje važnosti za funkcionisanje Interneta, posebno je izdvojen servis obezbeđivanja imenovanja (eng. Domain Name System, skr. DNS), čiji se princip rada detaljno opisuje. Strana 11 Prvi deo: Niži slojevi Strana 12 2. Kontrola pristupa medijumu Podaci koji se prenose u računarskim mrežama predstavljaju niz bajtova određene veličine, tzv. paket, koji ima svoju definisanu strukturu kako bi se na prijemu podaci mogli ispravno rekonstruisati. Paket se zatim serijalizuje u nestruktuirani niz bitova, što i dalje predstavlja logičku interpretaciju podataka u obliku diskretnih vrednosti. Da bi se ove apstraktne informacije (nule i jedinice) prenele između učesnika u komunikaciji, one se moraju transformisati u određeni fizički signal koji se prenosi kroz njemu odgovarajući fizički medijum. To mogu biti nivoi električnog napona u bakarnim provodnicima, radio talasi u određenom opsegu frekvencija u bežičnim komunikacijama, svetlost u optičkim kablovima i slično. Shodno tome, način interpretacije jedinica i nula je različit. U optičkim komunikacijama se bitovi predstavljaju prisustvom i odsustvo svetlosti (fotona) u određenom (jako kratkom) vremenskom intervalu. U slučaju elektromagnetnih signala, što predstavljaju i radio-talasi u bežičnim komunikacijama i električni signali u bakarnim provodnicima, radi efikasnosti i prenosa veće količine informacija, više bitova se koduje u određenu vrednost, koja se pretvara u jačinu (amplitudu) signala. Tom prilikom, medijum se zauzima na određeni vremenski interval, ne samo da se svi bitovi iz paketa pretvore u vremenski promenljive signale, već i da ovi signali stignu i do najudaljenijih učesnika. Iako se signali prenose jako velikim brzinama, one su ipak konačne: elektromagnetni talasi radio komunikacija se kreću brzinom svetlosti, fotoni u optičkim kablovima nešto sporije (jer se ne prenose kroz vakuum), dok se elektro-magnetni talasi u bakarnim provodnicima prenose brzinom koja iznosi oko 2/3 brzine svetlosti. Naravno, svaki ovakav signal mora da se na prijemnoj strani jednoznačno transformiše u originalni izvorni niz bitova, da se prepozna struktura bajtova, i na osnovu toga da se ispravno izdvoje podaci koji se prenose. Komunikacija u računarskim mrežama se sprovodi između većeg broja učesnika i svi oni pristupaju komunikacionom medijumu radi slanja i prijema paketa. Ako je medijum na ovaj način deljen od strane više učesnika, problem nastaje ako više njih šalju svoje paketa u istom ili bliskom vremenskom trenutku. Tada će paketi na medijumu da se „preklope“ u vremenu, odnosno njihovi signali će da se pomešaju (interferiraju) i međusobno unište tako da se informacije iz originalnih paketa ne mogu više rekonstruisati. Ova pojava se naziva kolizija. Komunikacione tehnologije moraju da definišu sve detalje transformacije podataka u signale, njihov fizički prenos po medijumu i rekonstrukciju u originalne podatke. U opštem slučaju medijum se deli između više učesnika, a način njihovog dogovora oko pristupa i deljanja medijuma, uključujući i način tretiranja kolizije, naziva se kontrola pristupa medijumu (eng. Media Access Control, skr. MAC). Svaki medijum i tehnologije prenosa podataka, ima svoj maksimalni kapacitet, odnosno propusni opseg (eng. bandwidth) izraženo u jedinici „biti u sekundi“ (eng. bits per second, skr. bps). Prilikom osmišljavanja određene komunikacione tehnologije postavlja se sledeće pitanje: kako na optimalan način N učesnika mogu da dele medijum kapaciteta B bps? U idealnom slučaju, ako samo jedan učesnik ima potrebu da šalje podatke, onda on treba da iskoristi maksimalni kapacitet od B bps, dok u slučaju više (N) učesnika kapacitet treba da se ravnomerno podeli da svaki učesnik ostvari protok od B/N bps. Takođe, potrebno je odrediti i način kako više učesnika deli medijum. Ipak, kao što ćemo u kasnijim primerima videti, možda i najbitniji zahtev je da tehnološko rešenje bude što jednostavnije za realizaciju, kako bi bilo ekonomski prihvatljivo za masovno korišćenje i dugoročni opstanak tehnologije. Strana 13 Osnovne tehnike kontrole pristupa medijumu su sledeće: ♦ Podela na kanale (eng. Channel Partitioning) ♦ Pristup sa dodelom dozvole (eng. Taking Turns) ♦ Slučajni pristup (eng. Random Access) 2.1 Podela na kanale Najjednostavnije rešenje kontrole pristupa je podela medijuma na više nezavisnih delova, tzv. kanala (eng. Channel Partitioning), i njihova dodela pojedinačnim učesnicima na ekskluzivno korišćenje. Frekvencijski domen za prenos radio signala se može podeliti na više frekvencijskih opsega koji nezavisno i istovremeno prenose signale (eng. FDMA - Frequency Division Multiple Access). Ovaj princip se već decenijama koristi pri emitovanju klasičnih radio i TV signala. U slučaju jedinstvenog fizičkog medijuma (npr. bakarnih provodnika), korišćenje medijuma se može podeliti u vremenu (eng. TDMA - Time Division Multiple Access). Tom prilikom svaki učesnik dobija fiksni vremenski interval (tzv. slot) za privremeno korišćenje medijuma po unapred utvrđenom redosledu. Dva nedostatka su zajednička za obe tehnike. Prvo, broj učesnika je ograničen na maksimalni broj kanala koji je unapred fiksiran. Drugo, svaki učesnik može da iskoristi protok koji odgovara jednom kanalu (B/N bps), a ne i celom prenosnom medijumu (B bps). Ovo za posledicu ima da se medijum optimalno koristi jedino ako svi učesnici sprovode prenos podataka. U suprotnom i češćem slučaju, ako neko od učesnika nema podatke za slanje, njegov kanal tada ostaje neiskorišćen, što efektivno smanjuje iskorišćenost celog medijuma. 2.2 Pristup sa dodelom dozvole Pristup medijumu sa dodelom dozvole podrazumeva dinamičko određivanje ko od učesnika i kada može da koristi medijum. Ovi se sprovodi kroz međusobnu komunikaciju učesnika, što može da bude centralno ili distribuirano. U slučaju centralizovane kontrole, jedan učesnik, tzv. master, ima centralu ulogu tako što „proziva“ (eng. polling) ostale učesnike (eng. slaves) i daje im dozvolu korišćenja medijuma za slanje paketa. Ovaj mehanizam prozivanja zahteva posebnu kontrolnu komunikaciju između master i slave učesnika, koja je daleko od jednostavnog. Prvo, master mora da zna za sve ostale učesnike u mreži, koji zbog toga na neki način moraju da se prijave master uređaju. Dalje, master ne zna unapred da li pojedinačni učesnici imaju podatke za slanje, ali im naizmenično dodeljuje medijum na korišćenje. Ako uređaj poseduje spremne podatke za slanje, on ima na raspolaganju određeni vremenski interval za korišćenje medijuma, nakon čega ga oslobađa. U suprotnom slučaju, ako uređaj kome je dodeljen medijum u tom trenutku nema spremne podatke za slanje, on obaveštava master uređaj da odustaje od korišćenja medijuma. Medijum se tada oslobađa i po istom principu dodeljuje drugom učesniku, ali je određeni vremenski period ipak izgubljen, što smanjuje ukupnu efikasnost prenosa podataka. Osim ovog problema, kao i komplikovane realizacije i neravnomernog opterećenja master uređaja u odnosnu na ostale uređaje, možda i najveći praktičan problem je što će prestanak rada master uređaja da izazove prekid svih komunikacija u mreži. To ga čini tzv. jedinstvenom tačkom otkaza (eng. single point of failure). Ovo se može rešiti mehanizmom izbora novog master uređaja, što dodatno usložnjava logiku rada i njenu implementaciju na uređajima, što konsekventno dovodi do povećanja krajnje cene primene tehnologije. Strana 14 Kod distribuirane dodele medijuma svi učesnici su ravnopravni i međusobno komuniciraju radi dogovora po pitanju korišćenja medijuma. Najpoznatija tehnologija ove vrste se bazira na mehanizmu kruženja posebnog kontrolnog paketa, tzv. žetona (eng. Token Passing). Ovaj paket sa kontrolnim podacima se prenosi u kružnom redosledu između svih učesnika, i preko njega se razmenjuju određene kontrolne informacije o korišćenju medijuma. Kružna komunikacija se obično rešava fizičkim povezivanjem učesnika u prstenastu topologiju (eng. ring). Uprošćeno govoreći, svaki učesnik kada dobije žeton, može da šalje podatke ako ih ima, nakon čega predaje žeton narednom učesniku čime mu se prepušta mogućnost korišćenja medijuma. Kao i žeton, paketi sa podacima se takođe prenose u kružnom redosledu do uređaja kome su namenjeni. Najpoznatija tehnologija ove vrste je bio tzv. TokenRing, realizovana od strane proizvođača IBM. Ova tehnologija se dosta koristila krajem osamdesetih i početkom devedesetih godina dvadesetog veka, ali daleko od toga da je bila jednostavna i jeftina 2. Budući da je mreža bazirana na prstenastoj topologiji, prekid rada jednog uređaja potencijalno može da prekine rad cele mreže. Zato su se računari na TokenRing mrežu povezivali preko posebnih pristupnih uređaja, tzv. Media Access Unit (skr. MAU). Prestankom rada povezanog računara, MAU uređaj je u bio u stanju da „prespoji“ prekinutu prstenastu vezu i omogući kontinuitet rada ostalih uređaja. Iako je TokenRing mreža omogućavala povezivanje i bakarnim i optičkim kablovima, brzine prenosa podataka su bile fiksne, ograničene na svega 4 Mbps, sa mogućnošću povećanja na 16 Mbps. Tehnologija se pokazala neskalabilna po pitanju povećanja brzine prenosa, što je uskoro postalo i najveće ograničenje. U to vreme novija generacija tehnologije na bazi mehanizma kruženja žetona je bila tzv. FDDI (eng. Fiber Distributed Data Interface). Kao što ime ukazuje, prvenstveno je bila namenjena za prenos po optičkim vlaknima (eng. fiber optics), takođe po prstenastoj topologiji, ali kruženjem podataka u oba smera brzinama od 100 Mpbs. Jedna od specifičnosti je bila mogućnost otpornosti na fizički prekid prstena, tako što se ostatak dvosmernog prstena rekonfiguriše u jednosmerni prsten. Iako se od FDDI tehnologije dosta očekivalo, njen životni vek je bio još kraći. Osim ove, u to vreme egzotične osobine rekonfiguracije, malo šta je od FDDI tehnologije ostalo vredno za pamćenje. 2.3 Slučajni pristup Metod slučajnog pristupa medijumu (eng. Random Access) je nastao upravo iz potrebe da se na što jednostavniji način omogući komunikacija većeg broja učesnika, bez složenog mehanizma dogovora oko korišćenja medijuma. Da bi sagledali kontekst u kome je nastala ova metoda, kao i njene specifičnosti, vratimo se još ranije u prošlost. Krajem šezdesetih godina prošlog veka Univerzitet na Havajima je imao potrebu da poveže svoje objekte koji su se nalazili na različitim ostrvima u radijusu od oko 300 km. Tačnije, postojao je samo jedan centralni računar, a bila je potreba da se sa njime omogući komunikacija velikog broja udaljenih pasivnih terminala (monitor i tastatura). Za komunikacioni medijum su izabrane radio veze i to sa dve frekvencije: jedna za komunikaciju u smeru od centralnog računara prema terminalima (eng. downstream), a druga u obrnutom smeru, od terminala do centralnog računara (eng. upstream). U oba slučaja se radi o deljenom medijumu (izabrani opseg frekvencija radio talasa), ali u smeru od centra ka periferiji samo jedan učesnik (centralni računar) može da šalje podatke, pa nema potrebe za posebnim mehanizmom dodele medijuma. Za razliku od toga, u 2 IBM je u to vreme bio poznat po izuzetno kvalitetnim, ali skupim rešenjima. Strana 15 suprotnom smeru više terminala može da šalje podatke ne deljeni medijum, pa je bilo potrebno rešiti problem pristupa medijumu. Podela na kanale po frekvenciji ili vremenu je odbačena, jer se predviđao porast broja učesnika, kao i potreba za prenosom sve veće količine podataka. Upravo zbog očekivanog velikog broja krajnjih terminala i tada skupih hardverskih resursa 3, posebno bitan uslov je bila jednostavnost same tehnologije i niska cena njene implementacije. Uz ova ograničenja, nametnulo se rešenje koje je bilo neuobičajeno, ali ipak inventivno, što će se kasnije pokazati i kao revolucionarno – svakome se dozvoljava pristup medijumu u bilo kom trenutku kada postoje raspoloživi podaci za slanje, kao da nema drugih terminala koji takođe mogu da šalju svoje podatke. Budući da na ovaj način može nastati kolizija, za svaki paket koji se šalje od terminala očekivala se potvrda o njegovom uspešnom prijemu od strane centralnog računara. U slučaju da ovaj paket potvrde izostane, smatra se da je došlo do kolizije i paket će ponovo da se pošalje. Činjenica da je došlo do kolizije ukazuje na to da je i paket nekog drugog učesnika takođe uništen i da i on mora ponovo da se pošalje. Da bi se u ovakvim slučajevima izbegla ponovna kolizija neposredno nakon oslobađanja medijuma, pre ponovnog slanja istog paketa potrebno je sačekati i dodatni vremenski interval promenljivog trajanja, a koji se određuje na slučajan način, tako što se generiše pseudo-slučajan broj koji se množi fiksnim jediničnim intervalom. Na taj način se ipak ne garantuje uspešan prenos paketa, ali se značajno smanjuje verovatnoća ponovnog nastanka kolizije. Štaviše, prilikom svakog slanja se može proceniti verovatnoća nastanka kolizije u zavisnosti od opterećenja medijuma, ali se kroz određeni broj pokušaja očekuje da se paket ipak uspešno pošalje. Slika 2.1 ilustruje primer slanja paketa od strane tri uređaja prema ovom principu. Čak iako su paketi manjim delom preklopljeni u vremenu nastaće kolizija i svi paketi će da budu u celini uništeni. Ukupno vreme od početka slanja prvog paketa do kraja slanja trećeg paketa će da bude izgubljeno, kao i vreme dodatnog čekanja na retransmisiju, što sve zajedno smanjuje rezultujuću efektivnost prenosa podataka. Redosled slanja paketa takođe nije određen, pa može da se desi da uređaji koji su inicijalno kasnije započeli slanje podataka, u narednim pokušajima posle kolizije to mogu uspešno da završe i pre drugih uređaja. 3 Cena memorijskog bafera od 88 bajta za prijem i slanje paketa je tada koštala oko 300 dolara. Strana 16 A A A t B B B t C C C t Slika 2.1. Primer kolizije i retransmisije pri slanju paketa od strane tri različita uređaja Implementacija navedenog protokola podrazumevala je izradu novih uređaja preko kojih su se terminale povezivali na radio mrežu, a koji su nazvani Terminal Control Unit (skr. TCU). U junu mesecu 1971. godine prvi terminal je povezan na centralni računar brzinom od 9.600 kbps (Slika 2.2). Povezivanjem većeg broja terminala koje je usledilo nakon toga, koncept je u praksi uspešno verifikovan, a cela mreža je nazvana ALOHAnet. Potrebno je imati u vidu da su tada terminali prenosili samo kratke tekstualne poruke zapakovane u male pakete, pa i pored, za današnja merila, skromnih brzina prenosa i mogućnosti nastanka kolizije, ovaj vid komunikacije je uspešno funkcionisao i za veći broj povezanih uređaja. Novi princip pristupa medijumu nazvan je slučajni pristup (Random Access), a ovaj konkretan metod je nazvan Pure ALOHA. Slika 2.2. ALOHAnet, korisnički terminal povezan na TCU (eng. Terminal Control Unit), Havaji, 1971. godine. Ipak, intuicija nam govori da povećanjem opterećenja mreže, kroz veći broj učesnika i njihovu intenzivniju komunikaciju, raste verovatnoća nastanka kolizije i retransmisije paketa. Time se smanjuje efikasnost prenosa, mereno kao količina uspešno prenetih bita u odnosu na raspoloživi kapacitet. To potvrđuje i matematički proračun, koji predviđa da sa povećavanjem opterećenja raste iskorišćenje mreže, ali samo do određenog nivoa, kada se ulazi u zasićenje, a koje iznosi svega 18.4% ukupnog kapaciteta. Daljim povećavanjem opterećenja, javljaju se Strana 17 učestalije kolizije, čime se iskorišćenost naglo smanjuje. Drugim rečima, ako veći broj korisnika koristi ukupni kapacitet od 9.600 kbps, može se očekivati da se postiže ukupno iskorišćenje od svega 1.766 kbps. Budući da je broj povezanih terminala u ALOHAnet mreži bio sve veći, ovo se ubrzo pokazalo kao ozbiljno ograničenje. Posebno nepovoljna okolnost kod Pure ALOHA metode se odnosila na mogućnost „nadovezivanja“ kolizije od strane naknadno poslatih paketa, kao što ilustruje Slika 2.1. Da bi se trajanje kolizije kontrolisalo i ograničilo na fiksni interval, predloženo je da paketi budu ograničene veličine i da se mogu slati samo u određenim vremenskim periodima, tzv. vremenskim slotovima (eng. time slot). Tokom trajanja jednog slota, ako postoji samo jedan paket spreman za slanje, on će se uspešno preneti. U suprotnom slučaju, ako postoji više paketa, doći će do kolizije, ali će ona trajati najduže jedan slot vremena, bez obzira koliko paketa u tome učestvuje. Ovaj metod je nazvan Slotted ALOHA (Slika 2.3), a matematički proračun pokazuje da se time duplira maksimalni protok u odnosu na Pure ALOHA prenos, čime se postiže maksimalno iskorišćenje od 36.6% ukupnog kapaciteta (Slika 2.4). Udvostručavanje protoka je predstavljalo značajno unapređenje, ali ipak po cenu nešto komplikovanijeg dizajna – bilo je potrebno da svi uređaji budu vremenski sinhronizovani, kako bi znali tačne trenutke početka slotova. Nakon implementacije ovog rešenja, Slotted ALOHA je uspešno puštena u rad 1973. godine. A A A A t B B B B t C C C C t Slika 2.3. Princip slanja paketa kod Slotted ALOHA mreže Osim što je u ALOHAnet mreži prvi put primenjen metod slučajnog pristupa medijumu, ona će ostati upamćena i kao prva bežična mreža paketskog prenosa podataka, kao preteča današnjih bežičnih mreža (eng. wireless). Još značajnije, ALOHAnet je inspirisala razvoj nove tehnologije prenosa u lokalnim računarskim mrežama, tako što je princip slučajnog pristupa medijumu primenjen na bakarnim provodnicima koji su omogućili daleko veće brzine prenosa. Strana 18 0,40 0,35 Pure ALOHA 0,30 Slotted ALOHA 0,25 0,20 0,15 0,10 0,05 0,00 0,0 0,5 1,0 1,5 2,0 2,5 3,0 3,5 4,0 4,5 5,0 Slika 2.4. Iskorišćenost propusnog opsega za Pure ALOHA i Slotted ALOHA metod slučajnog pristupa medijumu 2.4 CSMA/CD U tehnologijama koje se primenjuju u računarskim mrežama, pa tako i u ovoj knjizi, dosta se koriste različite skraćenice i akronimi. Neki od njih su zvučni i jednostavni za izgovaranja, poput do sada spominjanih „LAN“ i „MAC“ pojmova, dok su mnoge skraćenice čak i nezgrapne. Ipak, učestalim korišćenjem u tehničkoj literaturi i inženjerskoj praksi, ovi pojmovi se vremenom odomaće čak i u neengleskom govornom području. To je slučaj i sa pojmom CSMA/CD, koji se u ovom obliku ipak lakše piše i izgovara nego puni naziv tehnologije – „Carrier Sense Multiple Access with Collision Detection“. CSMA/CD metod pristupa medijumu je nastao adaptacijom Pure ALOHA i Slotted ALOHA metoda primenjenih na električnom provodniku (inicijalno na koaksijalnom kablu). Pojam „Multiple Access” odnosi se na pristup većeg broja učesnika uz mogućnost nastanka kolizije, što smo imali i kod ALOHAnet mreže, ali se uvode i dva nova koncepta: „Carrier Sense” i „Collision Detection”. Prenosni medijum („Carrier”) se najpre osluškuje da li ga neko trenutno koristi („Sense”), tako da se paketi mogu poslati jedino ako je medijum slobodan. Drugi koncept se odnosi na eksplicitni način detekcije kolizije (eng. Collision Detection), koji se umesto obavezne potvrde prijema za svaki uspešno preneti paket sada bazira na aktivnom praćenju saobraćaja na medijumu (Slika 2.5). Strana 19 Carrier Sense Multiple Access Collision Detection JAM JAM Slika 2.5. CSMA/CD kontrola pristupa medijumu Slično principu Pure ALOHA, i kod CSMA/CD metode paketi se mogu poslati u bilo kom trenutku, bez vremenske sinhronizacije, ali samo ako je medijum slobodan. Ako je medijum zauzet od strane drugog učesnika koji šalje podatke, posmatrani uređaji će najpre da sačeka da se medijum oslobodi pre nego što pošalje svoj paket. Ali čak i kada je medijum slobodan u nekom trenutku, zbog međusobne udaljenosti računara u mreži i ograničene brzine propagacije signala, dva ili više uređaja mogu gotovo istovremeno da pošalju svoje pakete, što će dovesti do kolizije. Ovaj slučaj ilustruje Slika 2.6, gde su računari prostorno raspoređeni po X osi, dok je vreme prikazano po Y osi. U trenutku t1 računar B konstatuje da je medijum slobodan i šalje svoj paket, koji nastavlja da propagira po mreži. Neposredno nakon toga, u trenutku t2, ovaj paket još nije stigao do računara D, koji konstatuje da je medijum i dalje slobodan, pa stoga i on šalje svoj paket. Čak iako računari B i D završe slanje paketa, oni će po koaksijalnom kablu i dalje da propagiraju i u nekom delu mreže će ubrzo da se sretnu i izazovu koliziju (trenutak t3). Neki uređaji će da prime ispravne pakete, poput računara A koji prima ispravan paket od računara B, i računar E koji prima ispravan paket od računara D. Ipak, nakon nastanka kolizije, oba paketa su uništena, a rezultujući signal će da nastavi da propagira kroz mrežu. Primetimo da i ovaj interferirani signal ima određeni oblik i intenzitet, koji se takođe može interpretirati kao niz nula i jedinica, ali su ovi podaci ipak nevalidni. Strana 20 A B C D E t1 t2 t3 t Slika 2.6. Ilustracija nastanka kolizije u mreži CSMA/CD metod rešava problem kolizije tako što svaki učesniku u mreži detektuje koliziju, a uništeni paketi su odbacuju i ponovo šalju. Tom prilikom, javljaju se dva osnovna problema: ♦ Kako uređaj koji šalje paket prepoznaje da je njegovi paket uništen u koliziji, a da bi mogao da ga ponovo pošalje? ♦ Kako ostali uređaji koji primaju pakete prepoznaju da je paket nevalidan, jer je uništen u koliziji? Rešenje prvog problema omogućavaju električne karakteristike prenosnog provodnika (kabla) kao i mrežnih interfejsa koji uređaje povezuje na kabl. Uređaj dok šalje paket na mrežu, istovremeno osluškuje i prima sa mreže trenutno prisutne signale. Ako nema kolizije, binarni podaci koji se šalju na mrežu u potpunosti će odgovarati podacima koji se istovremeno i primaju sa mreže. U slučaju da se ovi podaci ipak razlikuju, čak i za jedan bit, smatra se da je došlo do kolizije, kao što Slika 2.7 ilustruje za računar D. Potrebno je posebno istaći da uređaj na ovaj način može da detektuje koliziju jedino tokom slanja svog paketa i to na mestu u mreži gde je on povezan. U navedenom primeru, računar B na ovaj način ipak neće detektovati koliziju svog paketa, budući da je slanje završio pre nego što je do njega stigao paket od računara D, koji takođe učestvuje u koliziji. Strana 21 A B C D E t Detekcija kolizije Slika 2.7. Detekcija kolizije od strane računara D Stoga i računar B mora da paket šalje dovoljno dugo da omogući drugom paketu da dođe do njega i time detektuje da paket koji on šalje izaziva koliziju (Slika 2.8). A B C D E t Detekcija Detekcija kolizije kolizije Slika 2.8. Detekcija kolizije od strane oba računara čiji paketi učestvuju u koliziji (B i D) Da bi se omogućila detekcija kolizije u svim slučajevima, potrebno je obezbediti da vreme slanja jednog paketa bude dovoljno veliko da se omogući da drugi paket sa kojim nastaje kolizija u udaljenom delu mreže dođe do posmatranog uređaja, dok se prvi paket i dalje šalje. Strana 22 Ovo dalje zavisi do dva parametra: vremena izlaska celog paketa na mrežu i vremena propagacija paketa u mreži. Dalje, vreme za koje će paket da izađe na mrežu zavisi od veličine paketa i brzine kojom se paket šalje. Brzina slanja paketa je fiksna za određenu tehnologiju i odgovara propusnom opsegu mreže, izraženu u bitima u sekundi – što je veća brzina slanja, ceo paket će brže da izađe na mrežu. Vreme propagacija paketa zavisi od brzine prenosa signala, koja je takođe fiksna i iznosi oko 2/3 brzine svetlosti, i rastojanja u mreži. Veličina paketa i rastojanje u mreži su u opštem slučaju varijabilni parametri, pa moraju da se usaglase i ograniče na vrednosti koje će garantovati detekciju kolizije i u najnepovoljnijem slučaju. tp 2 tp tp Slika 2.9. Detekcija kolizije od strane oba računara čiji paketi učestvuju u koliziji (B i D) Najnepovoljniji slučaj nastaje kada se posmatraju dva najudaljenija uređaja u mreži (računari A i B, Slika 2.9), između kojih je vreme propagacije paketa i najveće (tp). Ako je računar A poslao svoj paket, najkasniji trenutak nastanka kolizije u delu mreže kod računara B je kada on pokuša slanje paketa neposredno pred dolazak paketa od računara A, dakle posle vremena tp. Da bi informacija o koliziji stigla i do računara A, potrebno je da paket od uređaja B pređe isti put, ali u suprotnom smeru, za šta je potrebno dodatno vreme propagacije tp. Da bi računar A mogao da detektuje da je njegov paket u koliziji, on mora da i dalje šalje paket na mrežu. Imajući u vidu fiksnu brzinu izlaska paketa na mrežu, kao i fiksnu brzinu propagacije elektromagnetnih signala po bakarnim provodnicima, uvodi se minimalna veličina paketa i maksimalno dozvoljeno rastojanje u mreži, kako bi slanje paketa na mrežu trajalo duže od dvostrukog najvećeg vremena propagacije paketa (2tp). Drugi problem se odnosi na to kako ostali uređaji koji ne šalju pakete detektuju koliziju, odnosno kako prepoznaju da je paket koji primaju zapravo uništen u koliziji. Da bi se to obezbedilo, uređaji koji neposredno detektuju koliziju tokom slanja svojih paketa, prekidaju slanje i šalju poseban signal na mrežu koji služi kao informacija za ostale uređaje da je nastupila kolizija i da je prethodno primljene podatke potrebno odbaciti. Ovaj signal se naziva JAM (izgovara se „džem“), i predstavlja niz od 32 bita naizmeničnih nula i jedinica. Iako će u početku i JAM signal da bude u koliziji sa zaostalim delovima paketa koji su izazvali koliziju, ubrzo će ovi signali samostalno da propagiraju u svim delovima mreže, kao što ilustruje Slika 2.10. Strana 23 A B C D E t JAM JAM Slika 2.10. Obaveštavanje ostalih uređaja da je došlo do kolizije – JAM signal I konačno, kada uređaj detektuje da je njegov paket izazvao koliziju, zaključuje se da slanje nije uspelo i da se paket mora ponovo poslati. Budući da je moguće da i drugi učesnici čekaju na oslobađanje medijuma za slanje svojih paketa, da bi se izbegla kolizija neposredno nakon oslobađanja medijuma, svaki uređaj će da sačeka i dodatni vremenski interval promenljivog trajanja. Ovaj vremenski interval se određuje na slučajan način, tako što se generiše pseudo- slučajan broj koji se množi sa fiksnim jediničnim intervalom. Ovaj proces zadržavanja paketa nakon detekcije kolizije se naziva back-off algoritam. Slično kao kod Slotted ALHOA principa, ovim se ne garantuje potpuno izbegavanje kolizije, ali je verovatnoća njenog nastanka znatno manja. 2.5 Eternet – realizacija CSMA/CD Inspirisano ALOHAnet mrežom, realizacija CSMA/CD principa korišćenjem koaksijalnog kabla kao prenosnog medijuma je omogućila daleko veće brzine prenosa podataka. Prva mreža ove vrste je omogućavala povezivanje do 256 računara brzinom od čak 2.94 Mbps, korišćenjem koaksijalnog kabla maksimalnog rastojanje od jedne milje (1.6 km). Tačnije, CSMA/CD princip je nastao pri razvoju i praktičnoj realizaciji ove mrežne tehnologije, koja je po analogiji sa etrom (eng. ether), hipotetičkim medijumom za prenos elektromagnetnih talasa u prostoru, nazvana Eternet (eng. Ethernet). Eternet mreža je nastala u istraživačkom centru kompanije Xerox u Palo Altu, što je brzo privuklo pažnju ostalih tehnoloških kompanija. U konzorcijumu sa kompanijama Digital Equipment i Intel, Eternet se unapređuje do brzine prenosa od 10 Mpbs, što se 1980. godine objavljuje kao otvoreni standard koji su počeli da primenjuju i mnogi drugi proizvođači komunikacione opreme. Ova varijanta je nazvana Ethernet II, takođe poznato i kao DIX Ethernet, što je izvedeno kao akronim iz naziva prethodno navedenih kompanija (Digital Equipment, Intel i Xerox). Strana 24 Dalja standardizacija Eterneta se sprovodi od strane komiteta za standarde pri organizaciji IEEE. Inače, serija IEEE sandarda pod brojem 802 se odnosi sloj veze podataka (Data-Link Layer) u okviru koga se definišu LAN tehnologije. IEEE 802.2 standard definiše viši podsloj sloja veze, tzv. Logical Link Control, zajednički za sve izvedene mrežne tehnologije MAC podsloja. Primera radi, Token Ring tehnologija, razvijena od strane kompanije IBM, definisana je u oznaci 802.5, dok su kasnije razvijene bežične mreže (eng. wireless) definisane u seriji standarda u oznaci 802.11. Tako je i Eternet tehnologija 1985. godine zauzela svoje mesto u 802 seriji standarda i to u oznaci IEEE 802.3 (Slika 2.11). Nažalost, ova varijanta je bila delimično izmenjena i nekompatibilna u odnosu na DIX varijantu, pa su proizvođači opreme morali da implementiraju oba standarda. Eternet je dalje nastavio da se razvija u pogledu brzina prenosa. Godine 1995. standardizovan je Eternet na brzinama od 100 Mbps, a već 1998. godine i na brzinama od 1 Gbps. Navedeni standardi u najvećoj meri definišu fizičke, elektromagnetne i optičke karakteristike prenosnih medijuma (bakarnih i optičkih kablova) i prateće opreme koja obezbeđuje ovako velike brzine prenosa, dok se logički koncept Eterneta malo menjao. To je za posledicu imalo kompatibilnost svih varijanti Eterneta i interoperabilnost uređaja koji su radili na različitim brzinama. Uz jednostavan dizajn, koji nije limitirao brzinu prenosa podataka, sve ovo je omogućilo ne samo da Eternet tehnološki evoluira i opstane do današnjih dana, već je vrlo brzo postala dominantna LAN tehnologija, dok su mnoge druge tehnologije praktično izumrle. Transport Application Transport Network 802.2 LLC Data Link 802.3 802.4 802.5 802.11 MAC 802.1... Ethernet TokenBus TokenRing Wireless Physical Physical Slika 2.11. IEEE 802 serija standarda sloja veze podataka Strana 25 3. Eternet U prethodnom poglavlju je opisan konceptualni princip rada CSMA/CD metode pristupa medijumu, na kojoj se bazira Eternet tehnologija. Tehnička realizacija Eternet tehnologije obuhvata i mnoge druge elemente i implementacione detalje, koji ćemo u ovom poglavlju ispratiti takođe kroz razvoj i unapređenje tehnologije tokom vremena. 3.1 Kolizija i njeni hirovi Eternet je nastao iz potrebe povezivanja uređaja u poslovnom okruženju, što tipično čine prostorije (kancelarije) u poslovnoj zgradi ili čak više susednih zgrada u kampusu. Stoga Eternet spada u kategoriju lokalnih računarskih mreža (eng. Local Area Network, skr. LAN). Neminovno prisutna kolizija i uslovi za njenu detekciju nameću ograničenje u pogledu veličine mreže. Drugo ograničenje je uzrokovano fizičkim karakteristikama prenosnog medijuma, u ovom slučaju koaksijalnih kablova, budući da elektromagnetni signali slabi i deformiše se tokom prostiranja kroz kabl. Uslov za ispravan rad je da i najudaljeni uređaj može da rekonstruiše primljeni signal u ispravnu sekvencu nula i jedinca (Slika 3.1). PC 1 PC 2 Slika 3.1. Slabljenje signala na segmentu koaksijalnog kabla Prvobitni koaksijalni kablovi koji su se koristili u Eternet mrežama su bili dosta robusni i omogućavali su prenos signala do 500 metara. Iako se to, na prvi pogled, može učiniti značajnim rastojanjem, to ipak nije dovoljno da se u iole većim u poslovnim zgradama povežu sve kancelarije na više spratova. Da bi se prevazišlo ovo ograničenje, potrebno je povezati više ovakvih segmenata koaksijalnog kabla u niz i tom prilikom obezbediti prijem signala na kraju jednog segmenta, njihovo „osvežavanje“ i prosleđivanje na drugi segment. Za ovo su zaduženi posebni uređaji koji se nazivaju ripiteri (eng. repeater). Drugim rečima, ripiteri spajaju dva koaksijalna segmenta, primaju signale sa njih, koje rekonstruišu u originalni niz nula i jedinica (kao i svaki drugi uređaji), a zatim generišu nove fizičke signale koje prosleđuju na drugi segment. Na ovaj način ripiteri imaju ulogu pojačavača signala, čime se omogućava veće fizičko rastojanje u Eternet mreži (Slika 3.2) Strana 26 PC 1 PC 2...0110101 PC 3...0110101 PC 4 Slika 3.2. Povezivanje više segmenta koaksijalnog kabla preko ripitera Za razliku od drugih uređaja, ripiteri ne učestvuju u detekciji kolizije, već samo prenose sve signale, uključujući i JAM signale. Efektivnim povećavanjem ukupnog prenosnog medijuma, odnosno rastojanja u mreži, povećava se i sam kolizioni domen, što utiče na uslove koji se moraju zadovoljiti radi detekcije kolizije. Uslov za detekciju kolizije je da vreme izlaska paketa minimalne veličine na mrežu bude veće od dvostrukog najvećeg vremena propagacije signala u mreži. Brzina izlaska paketa na mrežu zavisi od brzine protoka podataka (eng. bandwidth), označeno sa Bw, što je za prvoditni Eternet po koaksijalnim kablovima iznosilo 10 Mbps. Sa ovim brzinama prenosa 10 miliona bita će da izađe na mrežu za 1 sekundu, što znači da će 1 bit da izađe na mrežu za desetomilioniti deo sekunde, odnosno za 0.1µs (mikrosekunda). Ovo vreme izlaska jednog bita na mrežu naziva se bit-time (Tb) i u opštem slučaju iznosi: ♦ Tb = 1 / Bw Budući da se ograničava minimalna veličina paketa, koja izraženo u bitima iznosi Lmin, uvodi se najmanje vreme izlaska paketa, tzv. slot-time (Ts), koje će da iznosi: ♦ Ts = Lmin Tb = Lmin /Bw Brzinu protoka podataka ne treba mešati sa brzinom prenosa signala (koji prenosi podatke), a koja po bakarnom medijumi iznosi oko 200.000 km/s. Vreme propagacije signala po jednom segmentu (Tp) maksimalne veličine od 500m će stoga iznositi 2.5µs. Za više spojenih segmenata ovo vreme se množi sa brojem segmenata, ali se mora dodati i vreme osvežavanja signala u samim ripiterima. U vreme kada se standardizovao Eternet na brzinama od 10 Mbps (početak 80-ih godina prošlog veka) za maksimalno vreme osvežavanja, odnosno propagacije signala kroz ripiter (Tr) ustanovljeno je 3µs, dok je u praksi, u zavisnosti od elektronike samog ripitera, ovo vreme često bilo i dosta manje. I konačno, sa navedenim konkretnim vremenskim ograničenjima, standardom je utvrđeno ograničenje od maksimalno 5 segmenata koaksijalnih kablova dužine do najviše 500m, a koji su međusobno spojeni sa 4 ripitera. Maksimalno dvostruko vreme propagacije signala u ovom najekstremnijem slučaju iznosi: ♦ Td (max) = 10 Tp + 8 Tr = 49µs Strana 27 Iz uslova za detekciju kolizije, ovo ujedno predstavlja i minimalno vreme slot-time, iz čega se dobija da paket ne sme biti manji od 490 bita, odnosno: ♦ L’min = T’s Bw = 49ms 10Mbps = 490 b Budući da se veličina paketa izražava u bajtovima, vrednost koja se lepo uklapa u gore navedeno ograničenja iznosi 512 bita, odnosno 64 bajta, što je standardnom postavljeno za minimalnu veličinu Eternet paketa. Ovo ograničenje se implementira u elektronici mrežnih kartica, odnosno interfejsa uređaja, pa važi i u mrežama manjih dijametara, npr. mreža od samo jednog segmenta. 500m 500m 500m 500m 500m tp tr tp tr tp tr tp tr tp 2 (5 tp + 4 tr) tr tp tr tp tr tp tr tp tp Slika 3.3. Maksimalno vreme propagacije paketa u najnepovoljnijem slučaju Nakon uspešnog slanja jednog paketa, a pre slanja drugog (od strane istog ili različitog uređaja), mora da se obezbedi da medijum bude slobodan određeni kratak vremenski interval. Ovo je bitno iz dva razloga. Prvo, paketi moraju da budu razdvojeni, kako bi mogli uspešno da se razlikuju i uspešno prime. Drugi razlog je što nakon slanja svog paketa elektronika mrežne kartice treba da pređe u režim prijema, što zahteva određeno vreme. Ovaj vremenski interval se naziva Inte Frame Gap i postavljen je na period od 96 bit-time, što za Eternet na 10 Mbps iznosi 9.6 µs. U slučaju da je slanje paketa neuspešno usled nastanka kolizije, potrebno je sačekati slučajan vremenski interval koji se određuje tzv. eksponencijalnim back-off algoritmom. Ovaj algoritam uzima u obzir i trenutni broj neuspelih pokušaja slanja paketa (N), tako što se bira pseudo- slučajan ceo broj u intervalu od 0 do 2N-1, a vreme čekanja se dobija kada se ovaj broj pomnoži sa fiksnim slot-time intervalom. Na taj način se eksponencijalno povećava opseg vremena koji se čeka, a time i eksponencijalno smanjuje verovatnoća nastanka naredne kolizije. Primetimo Strana 28 da nakon nastanka prve kolizije (N=1) najmanje dva uređaja sprovode ovaj algoritam biranjem vrednosti 0 ili 1, pa je verovatnoća nastanka nove kolizije čak 50%, ali se svakim narednim pokušajem verovatnoća nastanka kolizije se smanjuje za polovinu. Uzimajući gore navedeno u obzir, proces slanja Eternet paketa na mrežnu može se predstaviti algoritmom koji prikazuje Slika 3.4, gde je bitno istaći sledeće: ♦ Pre slanja paketa prenosni medijum se osluškuje i u slučaju zauzeća, čeka se da se oslobodi. ♦ Kada medijum postane slobodan, sačeka će se još i dodatni kratak vremenski period (Inter Frame Gap) da bi se počelo sa slanjem paketa. ♦ Paket se šalje sekvencijalno, bit-po-bit, uz stalnu proveru da li je došlo do kolizije. ♦ Ako se detektuje kolizija, prekida se dalje slanje paketa i šalje se JAM signal. ♦ Inkrementira se brojač pokušaja slanja paketa, koji je ograničen na 16. ♦ Čeka se dodatno vreme prema back-off algoritmu, nakon čega počinje novi pokušaj slanja paketa. Početak Pripremi okvir Medijum slobodan? NE DA Pošalji 1 bit Kolizija? DA Pošalji JAM NE Kraj slanja? N=N+1 NE DA N = 16? DA NE N K = slučajan broj od 0 do 2 -1 Čekaj K ts Backoff Slanje Slanje uspešno Neuspešno Slika 3.4. Proces slanja Eternet paket na mrežu 3.2 Do poslednjeg bajta Eternet funkcioniše na drugom nivou i osnovni zadatak mu je da podatke trećeg nivoa prenese učesnicima u lokalnoj računarskoj mreži. Tom prilikom učesnici u komunikaciju moraju da se prepoznaju, odnosno da budu jedinstveno identifikovani korišćenjem tzv. adresa. Dalje, paketi se prenose nezavisno jedni od drugih, tako da oni osim podataka koje prenose, moraju da sadrže i dodatne kontrolne informacije u zaglavlja paketa. Sve ove informacije se prenose kao binarne nule i jedinice, koje su struktuirane u striktan poredak bajtova, tzv. format paketa. Strana 29 Preamble SFD Dst Src T/L Data FCS 7B 1B 6B 6B 2B 46B-1500B 4B Slika 3.5. Format Eternet paketa 3.3 MAC adrese Učesnici u komunikaciji se identifikuju preko adresa, koje se u ovom slučaju nazivaju MAC adrese, budući da Eternet radi na sloju pristupa medijumu - MAC nivo (eng. Media Access Control). MAC adrese se sastoje od 6 bajtova, koji zapravo identifikuju mrežne priključke i to tako što su fabrički upisane u njihovu elektroniku, tzv. Burned-in Address. Ove adrese moraju da budu jedinstvene i nazivaju se unikast (eng. Unicast). Jedinstvenost adresa se fabrički garantuje, tako što proizvođač opreme zakupi blok adrese, koje imaju prva tri bajta fiksna koja identifikuju proizvođača (eng. Organizational Unique Identifier, skr. OUI), dok u okviru tog bloka poslednja tri bajta (24 bita) mogu proizvoljno da variraju, dajući ukupno 224 mogućih adresa. Kada se jedan blok istroši, zakupi se novi, a ima ih sasvim dovoljno da se praktično garantuje da će svi mrežni adapteri ikada proizvedeni biti jedinstveni. MAC adrese se korisnicima prikazuju i interpretiraju u heksa-dekadnom obliku. Tom prilikom ne postoji jedinstvena konvencija kako se cifre grupišu i razdvajaju, kao ni to da li se koriste velika ili mala slova abecede. Primeri zapisa iste MAC adrese su sledeći: ♦ 82-A3-E1-CA-38-1B ♦ 82.A3.E1.CA.38.1B ♦ 82a3.e1cA.381b ♦ 82A3.E1CA.381B. 3.4 Format Eternet paketa Najava paketa Budući da se paketi prenose asinhrono, odnosno mogu da se pojave u bilo kom trenutku, elektronika mrežnih kartica na prijemu mora najpre da ih prepozna. Zato Eternet paketima najpre prethodi 8 bajtova fiksne strukture, naizmeničkog niza jedinica i nula, koje služe za sinhronizaciju bitskog poretka u vremenu. Prvih 7 bajtova se naziva preambula (eng. preamble), dok se osmi bajt završava sa dve jedinice („10101011“), a naziva se Start Frame Delimiter, budući da se njime najavljuje početak pravog Eternet okvira. Stoga se ovi podaci ne smatraju sastavnim delom Eternet okvira. Zaglavlje Eternet paketa Eternet paket počinje zaglavljem koje sadrži informacije „ko“, „kome“ i „šta“ prenosi, podeljeno u sledeća polja: ♦ Odredišna MAC adresa ♦ Izvorišna MAC adresa ♦ Tip/Dužina Strana 30 Tipična razmena paketa u mreži se sprovodi između dva učesnika, tzv. izvorišta i odredišta, a koji su identifikovani izvorišnom i odredišnom MAC adresom. Ovaj vid komunikacije se naziva unikast. Izvorišni uređaj šalje paket na mrežu, a ako nema kolizije paket, će po CSMA/CD principu da pristigne do svakog učesnika u mreži. Svaki uređaj će da primi paket, izdvoji iz zaglavlja prvih 6 bajta koji čine odredišnu MAC adresu i tu vrednost da uporedi sa svojom fabrički upisanom MAC adresom. Budući da je MAC adresa jedinstvena, samo jedan uređaj može da prepozna svoju MAC adresu kao odredišnu, u kom slučaju se paket prihvata, dok svi ostali uređaju odbacuju paket, jer se ove vrednosti razlikuju. U pojedinim slučajevima je korisno da se paket isporuči svim učesnicima i taj vid komunikacije se naziva brodkast (eng. broadcast). Kasnije ćemo imati primere sistemskih protokola koji na ovaj način oglašavaju pojedine informacije koje su korisne svim učesnicima u mreži. Za ovu namenu se koristi posebna tzv. brodkast MAC adresa, koja se sastoji od svih jedinica, što u heksadekadnom zapisu iznosi FFFF.FFFF.FFFF. Implicitno se smatra da brodkast MAC adresa identifikuje sve uređaje, pa će svi mrežni adapteri da prihvate paket sa ovom adresom u polju odredišne MAC adrese. Izvorišna MAC adresa naravno identifikuje pošiljaoca paketa. Iako se čini da je ova informacija neophodna kako bi se poslao odgovor, budući da su unikast komunikacije obično dvosmerna, to ipak nije slučaj. Protokoli viših nivoa zapravo održavaju komunikaciju u oba smera, dok Eternet služi da prenese podatke viših nivoa (zaključno sa aplikativnim nivoom), ali nezavisno u jednom i drugom smeru. Drugim rečima, Eternet ne pamti izvorišnu MAC adresu iz zaglavlja inicijalnog paketa, već pri vraćanju odgovora u suprotnom smeru, kao uostalom i za svaku komunikaciju, koristi poseban mehanizam za otkrivanje odgovarajuće MAC adrese. Na ovom mestu napomenimo da se tom prilikom koristi tzv. ARP protokol, koji je kasnije detaljno opisan u posebnom poglavlju. Takođe ćemo u nastavku videti i neke od primena izvorišne MAC adrese iz zaglavlja paketa. Osnovna uloga Eterneta je da prenese podatke višeg nivoa, na kome mogu istovremeno da funkcionišu različiti protokoli. Svaki protokol ima standardizovanu brojčanu identifikaciju, a prvobitna varijanta Eterneta (Ethernet DIX) je za označavanje protokola višeg nivoa kome treba predati podatke uvela polja dužine dva bajta, pod nazivom „Tip“ (eng. Type). Naredna varijanta Eterneta standardizovana od strane IEEE organizacije je koristila dodatna polja, koja su zapravo bila enkapsulirana kao zaglavlje međusloja do je navedeno polje od dva bajta koristila za označavanje dužine podataka koji se prenose u paketu (eng. Length). Ove dve varijante nisu bile kompatibilne, pa su proizvođači mrežnih uređaja bili prinuđeni da implementiraju oba standarda. To je ipak prevaziđeno u narednoj reviziji Eternet standarda, od kada se ovo polje od dva bajta koristi dvojako: za vrednosti do 1500 se tretira kao dužina, budući da je to i najveća moguća dužina Eternet paketa, dok se veće vrednosti tretiraju kao identifikacije protokola. Potpis Osim podataka u zaglavlju paketa, Eternet koristi i posebno kontrolno polje dužine 4 bajta koje se nalazi na kraju paketa. Ovo polje se naziva FCS (eng. Frame Check Sequence) i služi za kontrolu eventualno nastale greške. Prilikom formiranja paketa na izvorištu, svi bajtovi zaglavlja i podataka sekvencijalno učestvuju u računanju funkcije CRC (eng. Cyclic Redundancy Check), koja se sastoji od bajtovskih operacija koje se jednostavno i brzo Strana 31 hardverski sprovode (sabiranje, računanje ostatka pri binarnom deljenju, pomeraj itd). Dobijena vrednost od 4 bajta se postavlja na kraj poruke u polje FCS i tretira kao „potpis“ čija vrednost zavisi od svakog bita prethodnih polja u poruci. Prilikom prijema paketa sprovodi se isti postupak računanja CRC funkcije, a ako izračunata vrednost odgovara sadržaju ovog polja, smatra se da je poruka preneta bez grešaka. U slučaju greške samo na jednom bitu ove vrednosti će da se razlikuju, u kom slučaju se smatra da je paket oštećen i on se odbacuje. Štaviše, CRC funkcija je takva da promena jednog ili više bita daje potpuno različite vrednosti, tako da je praktično nemoguće da se dve greške međusobno anuliraju, što je slučaj kod provere bitske parnosti. Napomenimo i to da za odbačene pakete Eternet nema nikakav mehanizam da obavesti pošiljaoca o tome i zahteva ponovno slanje paketa, kao što imaju neki drugi protokoli ove vrste. Na prvi pogled ove se može učiniti kao nedostatak, ali je krajnji efekat sasvim suprotan – to ga čini jednostavnim za implementaciju, a time i jeftinijim i široko prihvaćenim na tržištu. Dodatno, jednostavnost je, kao što ćemo ubrzo videti, omogućila fleksibilnost za prilagođavanja i migraciju na veće brzine i druge principe prenosa. Podaci I zaglavlje i prateće FCS polje služe da bi se preneli stvarni podaci, koji su sadržani u središnjem polju podataka (eng. Data) koje je po svojoj prirodi varijabilne dužine. Maksimalna dužina ovog polja je ograničena na 1500 bajtova, ali zbog uvedene minimalne veličine celog Eternet paketa radi detekcije kolizije, ovo polje ima i minimalnu veličinu. Kada se od minimalne veličine paketa od 64 bajta (ne računajući preambulu i SFD polje od ukupno 8 bajta) oduzme veličina zaglavlja od ukupno 14 bajta, kao 4 bajta pratećeg FCS polja, dobija se minimalna veličina polja podataka od 48 bajtova. Primetimo i to da je maksimalna veličina Eternet paketa 1518 bajtova. Postavlja se pitanje kako ispoštovati minimalnu veličinu ovog polja, ako nemamo dovoljno podataka za prenos? U tom slučaju se na kraj stvarnih podataka „veštački“ umeću dodatni bajtovi do minimalne veličine, a koji se zapravo neće ni koristiti (eng. padding). Istina, i podaci viših nivoa sadrže kontrolne podatke u svojim zaglavljima, ali je njihova ukupna dužina ipak manja od 48 bajtova, pa je potrebno voditi računa o ovom ograničenju. Pažljivi čitalac može da postavi i dodatno pitanje: kako se zna gde je granica između stvarnih podataka i ovih dodatno umetnutih bajtova koje na prijemu treba ignorisati? Ovi dodatni podaci u umetnuti na Eternet nivou, dok se stvarna dužina „korisnih“ podataka prenosi u posebnom polju zaglavlja višeg nivoa. Na taj način će viši nivo na prijemu znati koliko tačno podataka treba da uzme, dok će ostale bajtove da ignoriše. 3.5 Zbogom ripiteri Za korisnike je nastanak kolizije i ponovno slanje paketa gotovo neprimetna i prihvatljiva pojava, ali samo do određenog nivoa intenziteta saobraćaja. Sa druge strane intenzitet saobraćaja u mreži zavisi od broja učesnika, količine podataka i učestanosti kojom se oni šalju, što zavisi od načina korišćenja od strane korisnika. Takođe, verovatnoća nastanka kolizije zavisi i od same tehnologije, odnosno propusnog kapaciteta mreže – pri većim brzinama prenosa deljeni medijum će kraće vreme da bude zauzet, što smanjuje verovatnoću nastanka kolizije. Strana 32 Povezivanjem segmenata koaksijalnih kablova uz pomoć ripitera omogućeno je da se dosegnu uređaji na većim rastojanjima, ali i da se pokrije više prostorija, što potencijalno donosi veći broj uređaja. Veći broj učesnika u mreži doprinosi intenzivnijem saobraćaju i učestalijoj koliziji, koja propagira kroz ripitere do svih uređaja. Takođe, i komunikacione potrebe korisnika su vremenom porasle, što je dodatno opteretilo mrežu koja ima svoj ograničen limit. Iako je Eternet nakon svoje pojave odlično prihvaćen na tržištu, kolizija je počela da predstavlja sve veći problem i dalja sudbina ove tehnologije ozbiljno je dovedena u pitanje. Da bi se smanjila kolizija, bilo je potrebno rešiti dva suprotstavljena zahteva: zadržati veliku mrežu sa dosta učesnika, a ipak lokalizovati koliziju. Rešenje je bilo da se deljeni medijum lokalizuje na nivo pojedinačnih segmenta, tako što se paketi u komunikaciji između uređaja na jednom segmentu ne propuštaju na drugi segment. Ipak, da bi se zadržala mogućnost komunikacije na nivou cele mreže, pri komunikaciji uređaja sa različitih segmenata neophodno je propustiti pakete. Da bi se to sprovelo, ripiteri moraju da rade dodatni posao - da odluče da li da propuste ili blokiraju pakete. Ali oni tada više nisu ripiteri, već nova vrsta uređaja, koja je nazvana bridž (eng. bridge, u pojedinoj literaturi na srpskom jeziku i pod terminom: mrežni most). Da bi bridž mogao da odluči da li da propusti ili blokira paket, neophodno je da utvrdi sledeće: ♦ Kome je paket namenjen, odnosno ko je odredišni uređaj? ♦ Gde se nalazi odredišni uređaj u mreži? Prvi problem se jednostavno rešava, budući da svaki paket u svom zaglavlju nosi informaciju o odredišnoj MAC adresi, koje identifikuje odredišni uređaj. Za razliku od ripitera, koji prepoznaje paket samo na nivou bita, bridž mora da prepozna i strukturu Eternet paketa i iz njegovog zaglavlja da izdvoji odredišnu MAC adresu. Upravo ova osobina je razlog da se smatra da ripiteri rade na prvom (fizičkom) nivou, dok bridževi rade na drugom (data-link) nivou. Drugi problem je daleko izazovniji. Ipak, nije potrebno da se zna tačna pozicija uređaja u mreži, već je dovoljno da se zna na kojoj strani bridža se nalazi koji uređaj. „Strane bridža“ u ovom slučaju su samo dve i odnosne se na dva mrežna porta koji omogućavaju da bridž spaja („premošćuje“) dva koaksijalna segmenta. Drugim rečima, za svaki uređaj u mreži bridž treba da zna koji od njegova dva porta vodi do tog uređaja. Uređaji su identifikovani preko svojih MAC adresa, dok portovi bridža imaju svoje interne identifikacije. Bridž stoga ima internu tabelu koja uparuje MAC adrese uređaja sa internim oznakama portova koji vode do tog uređaja, a koja se naziva bridžing tabela. Postupak rada bridža sada se može predstaviti na sledeći način: ♦ Za svaki pristigli paket gleda se zaglavlje, iz koga se izdvaja odredišna MAC adresa. ♦ Odredišna MAC adresa se traži u bridžing tabeli, za koju se uzima njoj upareni port. ♦ Ako je nađeni port različit od porta na koji je pristigao paket, paket se propušta na taj port (eng. forwarding), jer on vodi do odredišnog uređaja. ♦ U suprotnom slučaju, ako port iz tabele odgovara portu na koji je paket pristigao, paket se ne propušta, odnosno uništava, budući da se odredište nalazi na istoj strani bridža i da je paket svakako došao do odredišta putem deljenog medijuma. Strana 33 Jasno je da bridž ima dodatni i ne tako mali posao da mora da procesira svaki paket na gore opisani način, ali se otvara novo pitanje – kako se uspostavlja bridžing tabela? Možda bi bilo i moguće da se kroz posebno podešavanje bridža ručno unosi sadržaj bridžing tabele, ali bi to bilo daleko od praktično izvodljivog i prihvatljivog rešenja. Korisnici ne moraju da poznaju tehnologiju rada bridža, kao i svoje MAC adrese, tako da bridževi moraju svoj rad da sprovode autonomno. To se postiže kroz proces učenja (eng. learning), kojim se prepoznaju MAC adrese i njihove pozicije u mreži i na taj način uspostavlja bridžing tabela. Nije teško pogoditi da se ovo „učenje“ sprovodi tako što se za svaki pristigli paket, osim odredišne MAC adrese, prepoznaje i izvorišna MAC adrese, a informacija na koji port je pristigao paket ukazuje na kojoj strani se nalazi ta MAC adresa, što se upisuje u bridžing tabelu. Ova informacija nije potrebna za odluku šta raditi sa trenutnim paketom, ali će se svakako iskoristiti za buduće pakete koji su namenjeni za tu MAC adresu. Poslednji detalj se odnosi na to šta uraditi sa pristiglim paketom ako njegova odredišna MAC adresa još nije naučena, odnosno ne postoji u bridžing tabeli – da li paket odbaciti ili ga propustiti? Rešenje je da se paket ipak propušta, jer je mnogo manja šteta nego da se on uništi – ako se odredište nalazi na „drugoj strani“ bridža to je neophodno, dok se u suprotnom slučaju ispostavlja kao nepotrebno. Ipak, budući da su uređaji u mreži dosta aktivni, vrlo brzo će bridž da nauči gde se nalazi koja MAC adresa u mreži, pa će već sledeće pakete da se uspešno prosleđuje ili blokira. Budući da dolazi do propagacije paketa čak i kada je ona nepotrebna, ovaj proces se naziva Flooding (u prevodu „poplava”, ali izraz „flading“ ustalio u domaćoj stručnoj terminologiji). Bridžing tabela je dinamička struktura u memoriji bridža. Ona je inicijalno prazna po uključivanju bridža i vremenom, kako pristižu paketi, se popunjava kroz Learning proces. Takođe, veličina bridžing tabele je ograničena na određenu vrednost, koja je dovoljno velika za normalnu upotrebu, ali ipak fiksna (npr. nekoliko hiljada redova). Bridž stoga mora da vodi računa i o neaktivnim MAC adresama, što je slučaj kada je uređaj ugašen ili uklonjen sa mreže. Stoga se ulazima u bridžing tabeli pridružuju tajmeri koji ukazuju na neaktivnost MAC adresa u mreži. Prilikom Learning procesa odgovarajući tajmer se resetuje, a u slučaju da se MAC adrese ne javlja određeni fiksni vremenski interval (eng. time-out), smatra se da je taj podatak zastareo i on se briše iz bridžing tabele. Ovaj proces se naziva zastarivanje, odnosno Ageing. Da sumiramo, bridževi u svom osnovnom radu sprovode 5 procesa: ♦ Forwarding – prosleđivanje paketa sa jednog na drugi port bridža prema odredišnom uređaju, a na osnovu odredišne MAC adrese iz pristiglog paketa i sadržaja bridžing tabele. ♦ Filtering (Blocking) – nepropuštanje, odnosno blokiranje paketa, uz njegovo uništavanje u bridžu, a na osnovu odredišne MAC adresa pristiglog paketa i sadržaja bridžing tabele. ♦ Learning – popunjavanje bridžing tabele sa infomacijama o MAC adresi uređaja na mreži i portu koji vode do nje, uz resetovanje internog tajmera, a na osnovu izvorišne MAC adresa pristiglog paketa. ♦ Flooding – prosleđivanje paketa sa jednog na drugi port bridža kada MAC adresa odredišta ne postoji u bridžing tabeli. ♦ Aging – Brisanja redova iz bridžing tabele za MAC adrese koje su neaktivne određeni vremenski period. Navedeni način rada bridževa prouzrokuje sledeće korisne osobine: Strana 34 ♦ Bridževi za osnovni rad ne zahtevaju nikakvo podešavanje, odnosno konfigurisanje – dovoljno ih je samo pravilno povezati na mrežu i uključiti. ♦ Po uključenju u mrežu, briževi će svaki paket proslediti do svog odredišta, odnosno neće prouzrokovati gubitak ni jednog paketa. ♦ Postavka i rad bridževa u mreži ne zahteva nikakvo dodatno podešavanje ostalih uređaja u mreži. Štaviše, za ostale uređaje u mreži bridževi su nevidljivi, pa je princip njihovog rada originalno nazvan Transparent Bridging. Ipak, ovakav način rada bridža može i da se zloupotrebi, što je pojava koja konstantno prati razvoj tehnologije. Moguće je softverski generisati Eternet pakete koji imaju lažne, odnosno nepostojeće MAC adrese u polju izvorišta (tzv. spoofing). Ovakvi pakete će da dođu do bridža, koje će kroz Learning proces da upiše ove nepostojeće MAC adrese u svoju bridžing tabelu. Naravno da niko neće slati pakete na te MAC adrese, ali će one da zauzmu koristan prostor u bridžing tabeli. Zapravo i cilj ove maliciozne aktivnost je da se sa velikim brojem lažnih MAC adresa bridžing tabela prepuni nepotrebnim podacima i time onemogući normalan rad bridža. Tom p