Upload
borislav-mihic
View
309
Download
2
Embed Size (px)
Citation preview
Predavanja
Popis tema:
1. Uvod u Računalne mreže
Korištenje računarskih mreža Komunikacijski model Mrežni hardver
2. Arhitekture protokola Slojevi Referentni modeli Mrežni standardi
3. Primjeri mreža
Internet Slijedne mreže Ethernet Bežični LAN
4. Fizički sloj
Teoretske osnove Prijenosni mediji Bežični prijenos Telefonska mreža Komunikacijski sateliti Sustavi mobilnih telefona
5. Sloj podatkovne veze
Elementi dizajna sloja Utvrđivanje i ispravljanje pogrešaka Primjeri protokola HDLC Sloj podatkovne veze na Internetu
6. MAC - Podsloj pristupa prijenosnom mediju
Problem dodjele kanala za prijenos Protokoli dodjele kanala za prijenos IEEE standard 802 za LAN Premosnici
7. Mrežni sloj
Elementi dizajna sloja
Algoritmi za usmjeravanje Algoritmi za kontrolu zakrčenja Povezivanje mreža Mrežni sloj u Internetu
8. Prijenosni sloj
Prijenosne usluge Elementi prijenosnih protokola Prijenosni sloj Interneta
9. Aplikacijski sloj
DNS E-mail WWW
10. Sigurnost mreže
Klasične kriptografske metode Osnovi principi kriptografije Algoritmi sa simetričnim ključem Algoritmi s javnim ključem Digitalni potpisi Upravljanje javnim ključevima
I. UVOD
Stoljeće Tehnologija koja dominira
18. mehanički sistemi (doba industrijske revolucije)
19. parni stroj
20. i 21. prikupljanje, obrada i distribucija informacija (telefonska mreža, radio, TV, računala, komunikacijski sateliti…)
u početku su računalni sistemi centralizirani - koncept računalnog centra gdje jedno veliko računalo opslužuje čitavu organizaciju zamijenjen je računalnom mrežom
računalna mreža (computer network)o veći brojem samostalnih računala koja su međusobno povezana tj.
mogu razmjenjivati informacijeo skupina međusobno manje ili više udaljenih računala povezanih
prijenosnim medijem najčešće 2 uređaja koji komuniciraju nisu direktno (point-to-point) povezani
(udaljeni su ili postoji skup uređaja koji se povezuju u različito vrijeme)
1. KORIŠTENJE RAČUNALNIH MREŽA
a) poduzeća
dijeljenje resursa - podaci, programi, oprema dostupni svima na mreži bez obzira na fizičku udaljenost
pouzdanost - podaci smješteni na više strojeva zbog mogućeg kvara ušteda - umjesto brzog no skupog velikog računala više PC-a komunikacija među razdvojenim radnicima skalabilnost: korisničko-poslužiteljski (client-server) model:
Slika: korisničko-poslužiteljski model (Tanenbaum, 1996)
b) osobno korištenje
dostup do udaljenih informacija - financije, kupovina, on-line novine, WWW komuniciranje - email, diskusijske skupine, chat, videokonferencije,... zabava - video na zahtjev, interaktivni video i TV, igre
c) mobilni korisnici
notebook računala, PDA (personal digital assistants) - bežične mreže
e) obrazovanje: e-learning
2. KOMUNIKACIJSKI MODEL
osnovna svrha komunikacijskog sustava: razmjena podataka među dvije strane
Primjer 1: komunikacija radne stanice i poslužitelja preko javne telefonske mreže
Slika: Pojednostavljeni komunikacijski model (Stallings, 2004)
Izvor (source) – uređaj koji generira podatke za slanje (na pr. PC, telefon) Odašiljač (transmitter) – kodira (transformira) informacije u elektromagnetske
signale za prenošenje po nekom sustavu za prijenos (na pr. modem: digitalni podaci u analogni signal)
Prijenosni sustav (transmission system) – jedna linija ili kompleksna mreža
Prijemnik (receiver) – prihvaća singnal iz prijenosnog sustava i pretvara ga u oblik koji prepoznaje uređaj na odredištu
Odredište (destination) – uređaj koji prima podatke od prijemnika
Primjer 2: slanje e-maila
Slika: Pojednostavljeni komunikacijski model na primjeru emaila (Stallings, 2004)
izvor i odredište su PC ulazna informacija m je e-mail poruka (tekst upisan preko tipkovnice koji se
sprema kao niz bitova g u memoriji)
g(t) – bitovi na pr. na kabelu; niz g(t) pretvara se u signal s(t)
zbog promjena je primljeni signal r(t)
prijemnik pokušava rekonstruirati original: rezultat g'(t)
na ekranu poruka m'
3. MREŽNI HARDVER
kriteriji za grupiranje mreža: tehnologija prijenosa (transmission technology) i opseg(scale) mreže
I. tehnologija prijenosa:
1. rasprostranjene (broadcast) mreže - jedan komunikacijski kanal kojeg dijele sva računala u mreži; kratke poruke (paketi) koje šalje jedno računalo primaju sva ostala, a po adresnom polju u paketu označeno je za koga je taj paket. Nakon primanja paketa, provjerava se adresno polje. Ako je paket za to računalo obrađuje se, a inače se ignorira => obično se koristi za manje mreže
2. point-to-point mreže - postoji više veza među pojedinim parovima računala. Da bi paket stigao od polaznog računala do odredišta, mora proći kroz računala među njima, zato su važni algoritmi za određivanje rute (routing alg.) => obično se koristi za veće mreže
II. opseg: - udaljenost među računalima u mreži
Slika: klasifikacija međusobno povezanih procesora po udaljenosti (Tanenbaum, 1996)
3.1 LAN (Local Area Network)
mreža u privatnom vlasništvu unutar jedne ili nekoliko zgrada čija udaljenost nije veća od nekoliko kilometara
neke karakteristike:
1. veličina - ograničena je, pa se unaprijed zna najduže vrijeme prijenosa, pojednostavljeno je i upravljanje mrežom
2. različite konfiguracije - najčešće switched LAN i bežične (wireless) LAN (primjer: switched (prespojni) Ethernet LAN - prespojnici povezuju segmente mreže)
3. topologije (broadcast) načini povezivanja preko komunikacijskih linkova:
a) sabirnica (bus) - u 1 trenutku je jedan kompjuter "glavni" (master) i može slati podatke dok drugi čekaju; postoje mehanizmi za rješavanje konflikata kada više njih želi slati istovremeno.
Primjer: Ethernet - broadcast mreža sa sabirnicom, 10-100 Mbps (1 megabit/sec = 1,000,000 bit/sec) , mehanizam "čekaj neko vrijeme i pokušaj ponovo" (noviji LAN do 10 Gbps)
b) prsten (ring) - podaci kruže po prstenu bez čekanja
Primjer: IBM token ring, 4-16 Mbps
Slika: primjeri topologija za LAN - sabirnica i prsten (Tanenbaum, 1996)
point-to-point LAN = "mini WAN"
3.2 MAN (Metropolitan Area Network)
veća verzija LAN koja koristi sličnu tehnologiju povezuje na pr. više poduzeća ili grad i može biti privatna ili javna može podržavati prijenos i podataka i glasa i biti povezana sa lokalnom
kabelskom TV mrežom koriste se razni pristupi, na pr. bežične mreže i MAN proširenja za Ethernet
3.3 WAN (Wide Area Network)
povezuje geografski veliko područje: državu ili kontinent
Slika: veza hostova i podmreže (Tanenbaum, 1996)
hostovi - računala u mreži namijenjeni izvršavanju korisničkih programa (aplikacijski aspekt)
podmreža (subnet) - prenosi poruke od hosta do hosta (komunikacijski aspekt), ima dvije komponente:
1. prijenosni kanali (transmission lines, channels) - prenose bitove od računala do računala
2. usmjernici (router,switching elements) - specijelizirana računala koja povezuju prijenosne kanale i odlučuju po kojoj će izlaznom kanalu poslati podatak koji stigne sa ulaza
Implementacije WAN
a) prespajanje paketa (packet-switched)
podmreža je packet-switched (store-and-forward) ako se komunikacija rutera koji nisu direktno povezani kabelom vrši tako da se paketi šalju preko nekih drugih rutera između: oni spreme paket i šalju ga dalje kad je izlazna linija slobodna
topologija povezivanja rutera - obično nepravilna, primjeri:
Slika: primjeri topologija point-to-point podmreže (Tanenbaum, 1996)
skoro svi WAN imaju point-to-point podmrežu, osim onih koji koriste satelite gdje ruteri imaju antenu pomoću koje mogi primati i slati - satelitske mreže su rasprostranjene mreže
b) prospajanje vodova (circut switching)
ostvarivenje izravne veze između čvorova mreže vezu čini niz fizičkih linkova između čvorova primjer: telefonska mreža
c) frame relay (prosljeđivanje okvira)
koristi mogućnosti modernih telekomunikacijskih sustava kod kojih je moguć prijenos većih količina podataka u jedinici vremena, a smanjene su greške pri prijenosu
brže od klasičnog prespajanja paketa
d) ATM
ATM (Asynchronious transfer mode) koristi prospajanje paketa na efikasniji način (trajni kanal, mali paketi fiksne
dužine), veće brzine prijenosa
3.4 Bežične mreže (Wireless Networks)
važne na pr. zbog notebook kompjutera i PDA, nisu isto što i prenosivo računanje (mobile computing); "prijenosni ured"
glavne kategorije:
1. povezivanje sustava (umjesto kabela za spajanje dijelova računala, b. mreža na pr. Bluetooth)
2. bežični LAN (standard IEEE 802.11) - svako računalo ima radio modem i antenu za komunikaciju s ostalima
3. bežični WAN - na pr. radio mreža za mobilne telefone
bežične mreže se česo priključuju na "obične" mreže
3.5 Internetworks (internet)
povezivanje nekompatibilnih mreža pomoću gateways - posebnih uređaja koji vrše potrebna hardverska i softverska pretvaranja
Internet = specifični svjetski internet
Primjer mrežne konfiguracije:
Slika: primjer mrežne konfiguracije (Stallings, 2004)
II. ARHITEKTURE PROTOKOLA
1. SLOJEVI
većina mreža organizirana je kao niz slojeva ili nivoa (layers, levels), svaki sloj izgrađen je nad onim ispod njega
broj nivoa, imena, sadržaji, funkcije sojeva razlikuju se od mreže do mreže u svim mrežama zadatak je svakog nivoa da ponudi neke usluge (servise) za
više nivoe koji ne moraju voditi računa o detaljima implementacije tih servisa
Slika: primjer mreže s 5 slojeva (Tanenbaum, 1996)
sloj n na jednom kompjuteru komunicira sa slojem n na drugom pomoću skupa pravila koja se nazivaju protokol (elementi koji komuniciraju su peer)
ne postoji pravi prijenos podataka među slojevima - podaci i kontrolne informacije šalju se sloju ispod sve dok se ne dođe do najnižeg sloja ispod kojeg je fizički medij kojim zaista ide komunikacija
sučelje (interface) između susjednih slojeva definira koje primitivne operacije i servise donji sloj nudi gornjem
skup slojeva i protokola čini mrežnu arhitekturu (network architecture)
lista protokola, po jedan za svaki sloj, čini stog protokola (protocol stack)
dizajn mreže razbija se na dizajn pojedinih slojeva
Primjer:
Slika: primjer komunikacije na više nivoa (Tanenbaum, 1996)
Primjer:
prenosi se poruka M: proizveo ju je neki aplikacijski proces koji se izvodi u 5. sloju
Slika: primjer komunikacije u mreži s 5 slojeva (Tanenbaum, 1996)
prava komunikacija - između slojeva n i n-1 preko n/n-1 sučelja virtulana komunikacija - slojevi n međusobno komuniciraju protokolima
1.2. Neki elementi dizajna slojeva
svaki sloj mora imati mehananizam za identificiranje pošiljaoca i primaoca; ako postoji više odredišta potrebna određena vrsta adresiranja
pravila za prijenos podataka:
- da li putuju u jednom smjeru (simplex komunikacija), u oba ali ne istovremeno (half-duplex) ili u oba istovremeno (ful-duplex)
- koliko logičkih kanala ima i koji su im prioriteti (npr. 1 za obične i 1 za hitne podatke)
kontrola pogreški: koriste se kodovi za utvrđivanje i ispravljenje pogreški u prijenosu (postoji ih više, oba sloja moraju koristiti isti)
utvrđivanje da su svi dijelovi poruke stigli, te da su složeni u pravilnom redoslijedu
kako riješiti problem zagušenja zbog brzog pošiljaoca podataka, a sporog primaoca
problem nemogućnosti nekih slojeva da prihvaćaju proizvoljno dugačke poruke: potreban mehanizam za razdvajanje, prenošenje i ponovno sastavljanje poruka
multiplexing: ista veza se koristi za više neovisnih prijenosa (zbog ekonomičnosti)
odabiranje puta (rute) od više mogućih koji postoje između izvora i odredišta
1.3. Sučelja i servisi
entitet (entity) - aktivni element u sloju, može biti softverski (npr. proces) ili hardverski (npr. čip)
peer entiteti - entiteti u istom sloju na različitim računalima
entitet n je davaoc usluga (service provider) za entitet n+1 koji je primaoc usluga (service user)
SAP (Service Access Points) - pristupne točke sloja n tj. mjesta gdje n+1 sloj može pristupiti ponuđenim servisima; svaki SAP ima jedinstvenu adresu
sloj n+1 šalje IDU (Interface Data Unit) sloju n
IDU se sastoji od:
o kontrolnih informacija (nisu dio podataka nego trebaju sloju niže razine)
o SDU (Service Data Unit) - šalju se preko mreže peer entitetu i onda gore slojun+1
sloj n može SDU podijeliti na pojedine PDU (Protocol Data Unit) od kojih svaki ima zaglavlje
Slika: Slojevi i sučelja (Tanenbaum, 1996)
slojevi nude 2 tipa usluga (servisa) za slojeve ispod njih:o slijedna (connection-oriented) - usluga usmjerena povezivanju; veza
se uspostavi, koristi i oslobađa (kao telefonski sistem)
o neslijedna (connectionless) - usluga bez spajanja (konekcije); svaka poruka ima adresu i putuje neovisno od ostalih (kao pošta)
Po kvaliteti usluga razlikuju se:o pouzdani (reliable) - nikad ne gube podatke, traži se potvrda primanja
svake poruke pa se javljaju zastoji, npr. za slanje datoteka
o nepouzdani (unreliable) - u smislu: bez potvrde primanja
Usluge se formalno opisuju skupom primitiva ili operacija dostupnih entitetima koji žele koristiti uslugu; mogu se podijeliti, na primjer, u 4 klase:
Operacija Značenje
Request (zahtjev) Entitet želi da usluga nešto napravi
Indication (obavijest) Entitet se obavještava o nekom događaju
Response (odgovor) Entitet želi odgovoriti na događaj
Confirm (potvrda) Vraća se odgovor na ranije postavljen zahtjev
Odnos usluga i protokola:
usluga – skup operacija koje sloj osigurava za sloj iznad njega; ne definira se kako su te operacije implementirane; odnosi se na sučelje među slojevima,
protokol – koriste ga entiteti za implementiranje definicija usluga; protokol se može promijeniti, ali tako da se ne promijeni usluga vidljiva za korisnike protokola
Slika: Odnos usluga i protokola (Tanenbaum, 1996)
2. REFERENTNI MODELI
2.1. OSI (Open System Interconnection) REFERENTNI MODEL
model je predložila ISO (International Standards Organization) kao prvi korak prema međunarodnoj standardizaciji protokola koji se koriste u različitim slojevima
sustavi otvoreni za komunikaciju sa drugim sustavima 7 slojeva
Slika: OSI refrentni model (Tanenbaum, 1996)
1. Fizički sloj (Phisycal)
predstavlja skup pravila koja se odnose na korištenje hardvera u prijenosu podataka: definiraju se mehanička (na pr. dimenzija priključka, raspored pinova), električka(dozvoljeni naponi), funkcionalna (značenje pojedinih signala) i proceduralna(dozvoljeni redosljed signala) svojstva medija za prijenos
osnovna funkcija: prenošenje bitova komunikacijskim kanalom
2. Sloj podatkovne veze (prijenosa podataka - Data Link)
osigurava pouzdaniji prijenos od fizičkog sloja što se postiže formiranjem paketa (okvira – frames) koji na kraju imaju posebno polje koje se provjerava na prijemnoj strani da se utvrde ev. greške
sloj treba riješiti probleme zbog oštećenih, izgubljenih ili ponovljenih okvira
osigurava prijenos paketa između 2 direktno spojena računala između kojih nema drugih dodatnih
3. Mrežni sloj (Network)
kontrolira operacije u podmreži (subnet) tj. osigurava komunikaciju između 2 računala kroz mrežu
osnovna funkcija: usmjeravanje (routing) paketa optimalnim putem
4. Prijenosni sloj (Transport)
uspostavlja vezu između programa (procesa) na udaljenim računalima pravi “end-to-end” sloj tj. program na izvornom stroju vodi konverzaciju sa
sličnim programom na odredišnom stroju (kod nižih slojeva to se vrši sa neposrednim susjedima)
neke od funkcija: prepoznavanje i ispravljanje greški, multipleksiranje, kontrola toka
5. Sloj sastanka (Session)
sastanak (sesija) - razdoblje rada implementiraju se funkcije koje proširuju funkcije prijenosnog sloja i koje ovise
o računalnom i operacijskom sustavu na kojem se nalaze
neke od funkcija: upravljanje dijalogom (da li promet može ići istovremeno u jednom ili oba smjera), sprečavanje da obje strane pokušaju izvesti istu operaciju istovremeno, postavljenje točaka provjere (sinhronizacije) potrebnih u slučaju prekida veze
6. Sloj predstavljanja (Presentation)
za razliku od donjih slojeva koji samo žele pouzdano prenijeti bitove s jedne na drugu stranu, ovaj sloj se bavi sintaksom i semantikom prenošenih informacija
na primjer, na različitim računalima se koriste različiti kodovi za predstavljanje znakova i ovaj sloj mora osigurati ispravnu razmjenu podataka među njima bez obzira na te razlike
7. Aplikacijski sloj (Application)
definiraju se usluge i protokoli po kojima komuniciraju mrežni aplikacijski programikao što je na pr. e-mail, prijenos datoteka i sl.
OSI razlikuje 3 koncepta: usluge, sučelja i protokole OSI model ne navodi točne servise i protokole za svaki sloj nego samo što
svaki sloj treba raditi
općeniti model, nastao prije protokola
2.2. TCP/IP referentni model
koristio ga je ARPANET danas Internet fleksibilna arhitehtura sa ciljem: veza između izvorišnog i odredišnog računala
mora ostati uspostavljena iako su neki uređaji ili prijenosne linije između njih prestale funkcionirati
4 sloja:
Slika: Usporedba OSI i TCP/IP refrentnih modela (Tanenbaum, 1996)
1. Internet sloj radi sa IP (Internet Protocol) paketima koje usmjerava optimalnim putem; ostvaruje komunikaciju između dva udaljena računala
2. Prijenosni sloj (Transport) – ostvaruje komunikaciju među peer procesima korištenjem protokola: TCP (Transmission Control Protocol) i UDP (User Datagram Protocol)
o TCP – omogućuje pouzdanu slijednu komunikaciju i baza je za više protokole koji zahtjevaju da se podaci prenesu bez greške (na pr. telnet, ftp)
o UDP – nepouzdana neslijedna komunikacija (na pr. za prenošenje govora, videa)
3. Aplikacijski sloj (application) sadrži sve protokole višeg nivoa (u početku virtualni terminal (TELNET), prijenos datoteka (FTP), elektronička pošta (SMTP), zatim i DNS, NNTP, HTTP…)
4. Sloj host-mreža (Host-to-Network) – nije definiran protokol kojim se host veže za mrežu, različit na različitim hostovima i mrežama
Slika: Protokoli kod TCP/IP modela (Tanenbaum, 1996)
TCP/IP model - obrnuto od OSI: prvo su nastali protokoli, a model je samo opis postojećih protokola
jedna od prvih implementacija TCP/IP je dio Berkeley UNIX-a
2.3. “Hibridni model”
model (Tanenbaum, 1996) koristi najbolje od OSI i TCP/IP: opis modela je od OSI, ali su protokoli od TCP/IP (u suštini je bliži TCP/IP)
5 slojeva:
5 Aplikacijski sloj (Application)
4 Prijenosni sloj (Transport)
3 Mrežni sloj (Network)
2 Sloj povezivanja podataka (Data Link)
1 Fizički sloj (Physical)
3. MREŽNI STANDARDI
1. de facto – dogodili su se bez formalnog plana2. de jure – formalni standardi koje je donijela neka organizacija (ili
uspostavljena od vlade ili neformalna organizacija)
neke važnije organizacije:
ITU-T (ranije CCITT) - International Telecommunication Union, sektor za telekomunikacije – donosi preporuke na području telekomunikacija (telefonije i podatkovne komunikacije)
o na primjer, međunarodni standard V.24 (ili EIA RS-232) specificira raspored i značenje pinova na konektoru
ISO (International Standards Organization) – donosi međunarodne standarde iz različitih područja
o na primjer, OSI standard IEEE (Institute of Electrical and Electronics Engineers) - standardi u području
elektrotehnike i računarstvao na primjer, IEEE 802 standardi za lokalne mreže
Internet Society – Internet standardi (manje "strogo" donošenje), faze:
1. predloženi standard (Proposed Standard) – osnovna ideja mora biti potpuno objašnjena u RFC (Request For Coments) tehničkom izvješću koji je spremljen on-line i dostupan svakom zainteresiranom
2. standard u razvoju (Draft Standard) – implementacija koja se testira na barem 2 neovisna mjesta 4 mjeseca
3. Internet standard – ako uspije 2. faza, RFC postaje standard
III. PRIMJERI MREŽA
1. Internet
ARPANET
počinje je razvijati ARPA (Advanced Research Projects Agency) sredinom 1960-ih godina za potrebe američkog DoD (Dept. of Defence)
do tada se koristi javna telefonska mreža (problem sigurnosti):
Slika: Telefonski sustav i distribuirani sustav s prospajanjem (Tanenbaum, 1996)
mreža s prospajanjem paketa (packed-switched) koja se sastojala od podmreže i hostova; podmrežu su činili mini-računala IMP (Interface Message Processors) povezani prijenosnim kanalima. Zbog pouzdanosti je svaki IMP bio povezan sa barem dva druga IMP-a. Svaki čvor u mreži sastojao se od IMPa i hosta u istoj sobi, povezanih žicom. Host je slao poruku IMPu koji ju je razbio na pakete i poslao ih neovisno jedan o drugom na odredište – prva mreža s prospajanjem paketa
softver je bio podijeljen u dva dijela: za podmrežu i hostove
Slika: Dizajn ARPANET mreže (Tanenbaum, 1996)
daljnje istraživanje se naročito bavilo protokolima što je dovelo do pronalaženja TCP/IP modela, a novi protokoli su integrirani u Berkeley UNIX
ARPANET se širi priključivanjem dodatnih mreža do 1983. kad se iz nje odvaja vojni dio; 1990 se gasi jer njezino mjesto preuzimaju novije mreže
NSFNET
krajem 1970-ih NSF (US National Science Foundation) uviđa značenje ARPANETa za istraživnja na sveučilištima
prvo se postavlja virtualna mreža CSNET (organizirana oko 1 računala), a 1984. počinje dizajn NSFNET-a, kičmu (backbone) su činila 6 superračunalna centara i na nju su se povezivale druge manje mreže na fakultetima, laboratorijima, bibliotekama
mreža je bila prvi TCP/IP WAN i bila je povezana na ARPANET 1990-ih godina mreža se komercijalizira, a 1991. nastaje NREN (National
Research and Educational Network) kao brži nasljednik NSFNET (gigabitne brzine)
KORIŠTENJE INTERNETA
sredinom 1980-ih međusobno povezane mreže počinu se nazivati Internet ono što sve te mreže povezuje je TCP/IP referentni model i TCP/IP protokoli
(službeni protokoli od 1983.) računalo je povezano na Internet ako izvodi TCP/IP protokole, ima IP adresu i
može slati IP pakete svim ostalim računalima na Internetu PC računala koja se povezuju modemom i dobivaju privremenu IP adresu isto
su privremeno dio Interneta zbog eksponencijalnog rasta javila se potreba za ev. formalnijim upravljanjem
Internetom pa je 1992. osnovano Internet Society 4 glavne primjene (tradicionalno):
1. Email – pisanje, slanje i primanje elektronske pošte2. Novinske grupe (News) – posebni forumi na kojima korisnici sa zajedničkim
interesima razmjenjuju poruke3. Udaljeno prijevljivanje (remote login) korištenjem Telnet, Rlogin ili nekog
drugog programa na bilo kjoe drugo računalo na Internetu4. Prijenos datoteka (file transfer) - korištenjem FTP programa kopiraju se
datoteke s jednog računala na drugo
do početka 1990-ih Internet je popularan među istraživačima u akademskim, vladinim i industrijskim krugovima; razvojem WWW (World Wide Weba) i grafičkog pretraživača Mosaic prihvaćaju ga i obični korisnici
tijekom 1990-ih razvoj kompanija za pružanje usluga priključivanja na Internet - ISP (Internet Service Providers)
CARNet (Croatian Academic and Reserach Network)
hrvatska akademska i istraživačka mreža - akademski je i istraživački dio svjetske računalne mreže Internet u Hrvatskoj dostupna svim znanstvenicima, profesorima i studentima hrvatskih sveučilišta i znanstvenih instituta
CARNet je bio prvi pružatelj Internet usluga u Hrvatskoj (početkom 1996. započinje rad prvoga komercijalnog pružatelja Internet usluga - Hrvatske pošte i telekomunikacija (HPT))
započeo 1991. kao projekt Ministarstva znanosti i tehnologije Republike Hrvatske
1992. nabavljena je prva oprema, izgrađena jezgra mreže i uspostavljena prva međunarodna komunikacijska linija CARNetov čvor u Zagrebu - Austrija
početkom 1996. osniva se ustanova CARNet koja nastavlja aktivnosti projekta MZT
CARNet je privatna WAN mreža (nacionalna mreža) hrvatske akademske i znanstveno-istraživačke zajednice
mrežnu infrastrukturu posjeduje CARNet ustanova, a bakrene i optičke veze zakupljene su od Hrvatskih telekomunikacija
podatkovna mreža namijenjena prije svega prijenosu podataka korištenjem protokola TCP/IP
veza na internet preko mreže GEANT (paneuropska komunikacijska infrastruktura za istraživanje i obrazovanje) s brzinom od 1,2 Gb/s
unutar Hrvatske CARNet mreža povezuje sve veće hrvatske gradove s različitim tehnologijama i pristupnih brzina
okosnica mreže povezuje veće sveučilišne centre (Dubrovnik, Osijek, Pula, Rijeka, Split, Zadar, Zagreb) vezama velikih brzina (155 Mb/s, i to ATM širokopojasnom tehnologijom)
manji centri povezani standardnim modemskim vezama preko iznajmljenih linija (najčešće se koriste brzine od 2 Mb/s)
infrastruktura u Zagrebu povezuje veće fakultete i znanstvene ustanove brzinama i do 1,2 Gb/s
Slika: Okosnica CARnet mreže (na http://www.carnet.hr/mreza)
Više o CARNet mrežnoj infrastrukturi
2. SLIJEDNE (CONNECTION-ORIENTED) MREŽE
Internet - neslijedne (connectionless) mreže telefonske kompanije koriste slijedne mreže, razlozi:
o kada se veza uspostavi, osigurati će se najbolja moguća usluga (ukoliko nema dovoljno rasursa, veza se neće niti uspostaviti - "zauzet tel. linija")
o naplaćivanje usluge na osnovu trajanja veze
X.25 MREŽE I FRAME RELAY
standard X.25 razvijen je 1970-ih godina i određuje pravila prema kojima se skupovi podataka šalju u javnu mrežu s prospajanjem paketa
slijedno orjentirana mreža s brzinama do 64 kbps za prijenos podataka ima tri sloja koja odgovaraju prvim trima slojevima OSI modela: fizički sloj, sloj
prijenosa podataka i mrežni sloj 1980-ih X.25 zamijenjen s frame relay: virtualna iznajmljena linija između
dvije točke po kojoj se šalju paketi brzinom od 1.5 Mb/s nema kontrole pogreški ni kontrole toka jeftinija od prave iznajmljne linije, ali se ne mogu cijelo vrijeme koristiti
maksimalne brzine nije u široj uporabi
ATM (Asynchronous Transfer Mode)
slijedna mreža dizajnirana 1990-ih uspostavljaju se virtualne slijedne veze (virtual circuits) među hostovima -
rezerviraju se svi potrebni resursi, iako veza nije fizička kao kod telefonskog sustava
informacije se prenose u malim paketima iste veličine – ćelijama (cells) sa zaglavljem (5 bytova; kazuje polaznom i odredišnoh hostu i ruterima između kojij vezi ćelija pripada) i podacima (48 byte) => brže jer usmjeravanje može vršiti hardverski
ćelije se uvijek dostavljaju u redosljedu kojim su poslane
ATM su organizirane kao tradicionalne WAN mreže, brzine su od 155 Mb/s do 622 Mb/s
ATM ima vlastiti referentni model različit od OSI i TCP/IP (fizički sloj, ATM sloje i ATM prilagodljivi (adaptation) sloj + podslojevi)
3. Ethernet
prvi (1970-ih) i najpopulatniji LAN u početku: koaksijalni kabel do 2,5 km s pojačavačima (repeater) svaki 500m,
sustav s do 256 računala spojenih prijemnicima, brzina 2.94 Mbps
1978. 10-Mb/s Ethernet (DIX standard), 1983. postaje IEEE 802.3
današnje verzije s 100Mb/s (brzi Ethernet) i 1000 Mb/s (Gigabitni Ethernet)
ostali LAN standardi osim Etherneta: token bus (802.4) i token ring (802.5); s IEEE nije obuhvaćena AppleTalk mrežna arhitektura za Apple Macintosh računala
4. Bežični LAN 802.11
povezivanje radio-valovima standard 802.11 može raditu u dva moda:
o sa osnovnom stanicom (base station) - sva komunikacije ide preko stanice
o bez osnovne stanice - računala mogu međusobno komunicirati izravno
802.11 kompatibilan s Ethernet preko sloja prijenosa podataka (data link layer)
brzine do 54 Mb/s
IV. FIZIČKI SLOJ
1. Teoretske osnove prijenosa podataka
analogni signal – nema prekida ni diskontinuiteta signala; intenzitet signala mijenja se u vremenu postepeno
digitalni signal – intenzitet signala odražava konstantnu razinu u nekom vremenskom periodu, a zatim se mijenja u drugu konstantnu razinu
Slika:Analogni i digitalni val (Stallings, 2004)
periodični signal (periodic signal) – isti uzorak se ponavlja nakon određenog vremenskog perioda, na primjer:
Slika: Primjeri periodičnih signala (Stallings, 2004)
f – frekvencija (broj ponavljanja signala u ciklusima po sekundi (herzima - Hz)T - period (vrijeme jednog ponavljanja), T = 1/f A – amplituda - faza
digitalni signali se prenose po prijenosnom mediju koristeći fizička svojstva kao što je napon struje čije se ponašanje može prikazati kao funkcija vremena f(t) i matematički analizirati
prilikom prijenosa dolazi do izobličenja signala
Fourierova analiza:
o periodička funkcija vremena s periodom T=1/f može se rekonstruirati iz Fourierova reda (beskonačni zbroj sin i cos); što se više elemenata zbroja uzme, vjernije se aproksimira originalni signal
na primjer, ASCII znak b kodiran kao 01100010:
Slika: a) binarni signal i Fourierove amplitude, b-e) aproksimacije originalnog signala (Tanenbaum, 1996)
kapacitet kanala (chanell capacity) - makismalna brzina prijenosa koja se, uz dane uvjete, može prenijeti po komunikacijskom kanalu
4 međusobno ovisna koncepta:
o učestalost (brzina) prijenosa (data rate) – mjeri se u bitima u sekundi (bit/s)
o širina pojasa (bandwith) – ovisna o prijenosnom mediju, mjeri se u herzima
o šum (noise) – prosječna razina šuma (smetnji) na komunikacijskom kanalu
o učestalost pogreški (error rate) – pogreška je prijem 1 ako je poslana 0 i obrnuto
prigušenje ili slabljenje signala (attenuation) - signal se kvari nakon neke maksimalne dužine kabela
Nyquistov teorem
promatra se kanal bez šumova – ograničenje brzine prijenosa je jedino širina pojasa (bandwith)
ako originalni signal prolazi kanalom bez šumova s širinom pojasa H, filtrirani signal moći će se potpuno obnoviti uzimajući 2H uzoraka po sekundi
za kanal s širinom pojasa H najveća brzina prijenosa je 2H
maksimalna brzina prijenosa CN je:
CN = 2H log2 V (bit/s)
V – broj razina signala
Na primjer, za V=2 i H=3000Hz => CN=6000 bit/s
Shannonova formula za kanale sa šumovima
ako postoji šum, što je veća brzina prijenosa, veća je i učestalost šuma promatra se odnos signal-šum (signal-to-noise ratio) SNR (decibeli dB) – omjer
snage signala i snage šuma prisutan u nekom određenom trenutku prijenosa (veći SNR, kvalitetniji signal):
SNR = 10 log (snaga signala/snaga šuma)
Shannonova formula:
kapacitet kanala C = H log2 (1 + SNR) (bit/s)
formula daje gornju granicu koju stvarni sustavi vrlo rijetko dostižu
2. PRIJENOSNI MEDIJI
neke karakteristike medija za prijenos podataka: širina pojasa (bandwidth), kašnjenje (delay, cijena, lakoća instalacije i održavanja
prijenos podataka određen je karakteristikama i signala i medija razlikuju se:
1. vodički mediji (guided)
više utječu na karakteristike prijenosa nego signal najčešći: parica, koaksijalni kabel, optička vlakna
2. nevodički mediji (unguided)
na prijenos više utječe signal nego ova vrsta medija na pr. radio valovi
MAGNETSKI MEDIJI
podaci se sa jednog računala pišu na diskete, magnetske trake i sl. i čitaju na odredišnom računalu
koristi se kad je potrebna visoka propusnost po niskoj cijeni nedostatak: kašnjenje je veliko - vrijeme prijenosa mjeri se u minutama ili
satima, ne milisekundama
a) PARICA (twisted pair)
najstariji i još jako korišten medij sastoji se od 2 izolirane bakrene žice oko 1 mm debele, a koje su povezane
isprepleteno (upredeno) kako bi se reducirala električna interferencija iz okoline
duljina 1 prepleta (twist length) obično 5-15 cm
Slika: Parica (Stallings, 2004)
najčešća primjena je telefonski sistem parica se može bez smetnji koristiti do udaljenosti od nekoliko km, za duže su
potrebna pojačala (repeaters) više parica može se grupirati zajedno unutar plastičnog zaštitnog omotača (na
pr. Category 3 - 4 parice zajedno) parica se može koristiti za analogni (pojačala 5-6 km) i digitalni prijenos
podataka (pojačala 2-3 km); propusnost ovisi o debljini žice i udaljenosti (nekoliko Mb/s)
jeftin medij lak za instalaciju; obično se instalira u zgradi za vrijeme izgradnje pogodan ako interferencija nije velika ograničenja: udaljenost, širina pojasa, brzina prijenosa podataka dvije vrste važne za računalne mreže:
1. neoklopljena parica (UTP - Unshielded Twisted Pair)2. oklopljena parica (STP - Shielded Twisted Pair)
UTP - obična telefonska žica, jeftina i laka za instalaciju, koristi se za LAN na UTP dosta utječu elektromagnetske smetnje (susjedne parice, šumovi) kod STP oklop (shield) - metalna folija za zaštitu parice 1991. standard EIA-568 (Electronic Industries Association) specificira
korištenje UTP i STP za LAN s brzinama prijenosa od 1-16 Mb/s 1995. EIA-568-A za brzine do 100 Mb/s EIA-568-A razlikuje 3 kategorije:
o kategorija 3 (Category 3) - 10 Mb/s, zadovoljava min. zahtjeva za prijenos podataka u Ethernet mrežama
o kategorija 4 - 16 Mb/s o kategorija 5 - 100 Mb/s, standard za nove LAN mreže
najviše se koriste 3 i 5: 5 je jače isprepletana parica, skuplja ali daje bolje performanse mreže
kategorija 6 - 1000 Mb/s, specifikacije u izradi
b) KOAKSIJALNI KABEL
sastoji se od bakrenog vodiča obloženog izolacijom, vanjskog vodiča (pleteni oklop) i zaštitnog plastičnog omotača
Slika: Koaksijalni kabel (Tanenbaum, 1996)
različite primjene za prijenos analognih i digitalnih podataka: televizija (kabelska TV), telefonija, LAN
manje prigušenje nego kod parice podjela:
o za prijenos u osnovnom području (baseband coaxial cable)o za širokopojasni prijenos (broadband coaxial cable)
kabel za prijenos u osnovnom području:o za prijenos digitalnih podatakao jedan kanal za prenošenje samo jedne informacije u jednom trenutkuo propusnost ovisi o dužini kabela, npr. za 1km 10 Mb/so koristi se za kabelsku televiziju i neke LAN
kabel za širokopojasni prijenoso za analogni prijenos koji je manje osjetljiv od digitalnog, pa udaljenosti
mogi biti i 100 km, ali i za prijenos digitalnih podataka (skuplja i složenija izvedba nego za kabel za prijenos u osnovnom području)
o mogu prenositi integrirane signale govora, podataka i video signaleo veći domet postiže se pojačalima - problem: mogu prenositi signale
samo u 1 smjeruo problem se rješava korištenjem 2 tipa širokopojasnih sistema:
- dvostruki kabel (dual cable) - koristi 2 paralelna kabela, jedan za prijenos podataka prema glavnom čvoru (head-end), a drugi od tog čvora u suprotnom smjeru; računala šalju podatke po jednom, a primaju po drugom kabelu
- jednostruki kabel (single cable) - koristi različite frekvencije za prijenos u različitim smjerovima po istom kabelu
Slika: Dvostruki i jednostruki koaksijalni kabel za širokopojasni prijenos (Tanenbaum, 1996)
c) OPTIČKA VLAKNA (FIBER OPTICS)
prijenos na koji ne utječe elektromagnetska interferencija i koji se može s malim greškama koristiti na udaljenosti od nekoliko kilometara
nedostatak: skuplji u odnosu na ostale prijenosne medije prednosti:
o veći kapacitet, veoma brz prijenos podataka, velika širina pojasa - stotine Gb/s
o tanji kabel i manje težineo manje prigušenje - veći razmak pojačala (repeaters): na svakih 10-ak
kmo na prijenos ne utječu vanjska elektromagnetska polja niti kabel stvara
svoje smetnje, kabel nije osjetljiv na prisluškivanje
optički sistem za prijenos podataka ima 3 komponente: medij za prijenos kojem je na jednom kraju izvor svjetla, a na drugom detektor
medij za prijenoso tanko stakleno ili plastično vlakno
izvor svjetlao svjetleća dioda (LED - light emitting diode) ili laserska diodao prihvaća električni signal i pretvara ga u impulse svjetla
o svjetlo predstavlja 1 bit, nedostatak svjetla predstavlja 0 bit) detektor
o generira el. impulse kad na njega padne svjetlo
fizički princip: zraka svjetla koja prolazi iz jednog medija u drugi (sa različitim indeksom loma svjetlosti) lomi se na granici tih medija
Slika: Primjeri loma zrake svjetlosti (Tanenbaum, 1996)
kada medij (na pr. staklo) ima veći indeks refrakcije od okoline, kut upadanja je takav da se zraka svjetla vraća u staklo i tako se može širiti kilometrima
ako takvih zraka u staklu ima više sa različitim kutevina - višemodno (multimode) vlakno
Slika: Višemodno optičko vlakano (Stallings, 2004)
jednomodno (single-mode) vlakno - promjer vlakna se reducira na nekoliko dužina vala svjetla, pa se svjetlo širi u ravnoj liniji (bez odbijanja) - skuplji način, ali može prenijeti nekoliko Gb/s na 30 km
Slika: Jednomodno optičko vlakano (Stallings, 2004)
OPTIČKI KABELI
Slika: Optički kabel (Tanenbaum, 1996)
djelovi kabela:o staklena jezgra kroz koju se širi svjetlo (debljina oko 50 mikrona kod
višemodnih vlakana, tj. 8-10 kod jednomodnih)o staklena košuljica (cladding) s nižim indeksom loma nalazi se oko
jezgreo plastični zaštitni omotačo vanjske korice
vlakna se mogu povezivati:
1. konektorima (gube 10-20% svjetla)2. mehanički (10%)3. taljenjem (skoro bez gubitaka, kao da je jedno vlakno)
2 tipa izvora svjetla:
1. LED (Light Emitting Diode) - emitiraju snop svjetla2. laser dioda (ILD - Injection Laser Diode)
na primajućem kraju vlakna je fotodioda koja generira el. impulse
OPTIČKE MREŽE
najpogodnija topologija: LAN sa prstenastom topologijom i točka-točka vezama
sučelje (interface) na svakom računalu šalje impulse svjetla do slijedeće veze i omogućuje da računalo šalje i prime poruke
2 tipa sučelja:
1. pasivno sučelje
- sastoji se od dvije cjevčice (taps) spojene na glavno vlakno, na jednoj je LED ili laserska dioda (za slanje), a na drugoj fotodioda (primanje)
- prednost: pouzdanost jer je u slučaju kvara samo jedno računalo off-line
2. aktivno pojačalo (repeater)
- dolazeće svjetlo pretvara se u el. signal, obnavlja se do pune jačine i ponovo šalje kao svjetlo
- sučelje prema računalu je obična bakrena žica koja vodi do regeneratora signala
- omogućuje dulje veze između računala, ali se u slučaju kvara prekida cijela mreža
Slika: Aktivno pojačalo (Tanenbaum, 1996)
Usporedba optičkih vlakna sa bakrenom žicom
prednosti: veća propusnost, pojačala potrebna samo na oko 30 km (5 km kod bakra), ne utječe el. interferencija ili korozija, lakša od bakra,...
nedostaci: nedovoljno poznata tehnologija, prijenos je jednosmjeran, optička sučelja skuplja od električnih
3. BEŽIČNI PRIJENOS
koristi se tamo gdje nije moguće postavljanje kabela elektroni u pokretu kreiraju elektromagnetske valove koji se u prostoru šire;
broj oscilacija 1 elektrom. vala u sekundi je frekvencija f (Hz) princip bežične (wireless) komunikacije: na električni krug se priključuje
antena koja emitira elektromagnetske valove, prijemnik ih na određenoj udaljenosti prihvaća
za prenošenje informacija koriste se radiosignali, mikro i infracrveni valovi i vidljivi dio svjetla
veće frekvencije (bolje za prijenos) imaju UV, X i Gama zrake, ali se ne koriste - ne šire se dobro kroz zgrade, opasne za zdravlje
količina informacija koju elektromagnetski val može nositi ovisi o rasponu frekvencije (frequency band)
s trenutnom tehnologijom može se kodirati nekoliko bitova po Hz za niže frekvencije, te uz neke uvjete čak 40 bitova za visoke frekvencije
nacionalni i međunarodni dogovori o dozvoljenim frekvencijama elektromagnetski spektar i njegovo korištenje za komunikacije:
Slika: elektromagnetski spektar i njegovo korištenje za komunikacije (Tanenbaum, 1996)
a) RADIO PRIJENOS
prednosti: radio valovi se lako generiraju, mogu prelaziti velike udaljenosti, prodiru kroz zgrade, mogu putovati u svim smjerovima od izvora
problem: interferencija električne opreme u okolini osobine radio valova ovise o njihovoj frekvenciji:
o niske frekvencije: prolaze dobro kroz prepreke, ali slabe sa udaljenošću od izvora; koriste se za udaljenosti od oko 1000 km i imaju dosta nisku širinu pojasa
o visoke frekvencije: putuju u ravnim linijama i odbijaju se od prepreke; dostižu jonosferu i odbijaju se natrag na zemlju; za duže udaljenosti
Slika: VLF, LF, MF - radio valovi slijede površinu zemlje; HF - odbijaju se kad dosegnu jonosferu (Tanenbaum, 1996)
b) MIKROVALOVI (microwave)
korišteni prije optičkih vlakana za telefonski sistem na većim udaljenostima mikrovalovi putuju u ravnoj liniji, a signal se povećava paraboličkom antenom;
antena koja ga šalje i ona koja ga prima moraju biti točno poravnate jedna u odnosu na drugu
između tornjeva sa antenama potrebna su pojačala, manje ih treba što su tornjevi viši
ne prolaze dobro kroz zgrade, na njih utječu i vremenske prilike prednost: jeftiniji u odnosu na optička vlakna
c) INFRACRVENI VALOVI (infrared and milimeter waves)
koriste ih npr. daljinski upravljači za TV, video... ne prolaze kroz čvrste objekte (kao ni vidljiva svjetlost) - nisu svugdje pogodni pogodni za bežične LAN unutar zgrade, npr. za povezivanje prijenosnih
računala koji imaju ugrađene mogućnosti za takvu komunikaciju, za povezivanje prijenosnih računala i printera opremljenih infracrvenim senzorima
d) Svjetlosni valovi (lightwave)
LAN-ovi u dvije zgrade povezuju se pomoću lasera na krovovima prednost: visoka propusnost i niska cijena nedostatak: laserske zrake ne prodiru kroz kišu ili maglu
BEŽIČNI LAN
bežične lokalne mreže počele su se koristiti kasnih 1980-ih godina
koristi se za proširenje LAN i olakšavanje povezivanja prijenosnih računal na mrežu bez uporabe kabela
IEEE 802.11 standard koji definira skup usluga i fizički sloj za bežični LAN (uljučuje raspon frekvencija za LAN koji koriste radio i infracrvene valove)
problem kod radio valova: signal s podacima može uhvatiti i netko kome nije namijenjen (prisluškivanje) - jedno od rješenje je skakanje frekvencija
primjeri konfiguracija:
Slika: bežični LAN s jednom ćelijom (single-cell wireless LAN) (Stallings, 2004)
CM (kontrolni modul) je sučelje prema bežičnoj LAN; svi bežični sustavi su unutar ranga jednog CM
Slika: bežični LAN s više ćelija (multiple-cell wireless LAN) (Stallings, 2004)
postoji više CU povezanih preko žičane LAN; svaki CU podržava više bežičnih sustava
IV. FIZIČKI SLOJ
4. Telefonska mreža
PSTN (Public Switched Telephone Network) - razvija se već niz godina (Bell patentirao telefon 1867.) s ciljem prenošenja ljudskog glasa
telefonske linije (dial-up line) prenose među računalima manje podataka s više grešaka od kabela
Struktura telefonske mreže
organizirana kao hijerarhija na više razina, u početku:
Slika: a) potpuno povezana mreža, b) centralizirano prospajanje, c) dvorazinska hijerarhija (Tanenbaum, 1996)
danas višerazinske hijerarhije telefon svakog pretplatnika ima 2 bakrene žice koje idu do najbliže lokalne
centrale (end office); ta dvožičana veza naziva se lokalna petlja (local loop) - medij za prijenos je parica
udaljenosti lokalne petlje tipično 1-10 km ako pretplatnik poziva drugog pretplatnika koji je priključen na istu lokalnu
centralu, uspostavlja se izravna električna veza između 2 lokalne petlje svaka je lokalna centrala povezana sa 1 ili više međugradskih centrala (toll
offices)pomoću daljinskih vodova (toll connecting trunks) - koaksijalni kabeli, optička vlakna ili mikrovalovi
primarne, sekundarne, regionalne... centrale povezane vodovima sa velikom propusnošću
Slika: Primjer povezivanja za poziv na srednjoj udaljenosti (Tanenbaum, 1996)
3 glavne komponente koje čine tel. mrežu:
a. lokalne petlje (local loops) - analogni prijenosb. daljinski vodovi (trunks) - uglavnom digitalni prijenos (optička vlakna,
mikrovalovi)c. centrale za prospajanje (switching offices)
danas tel.mreža uglavnom digitalna, osim analogne lokalne petlje
prednosti digitalnog prijenosa:o nema gubitaka informacija zbog slabljenja analognih signala.o jeftiniji način prijenosa: ne treba reproducirati analogni signal uz
pomoć skupe opremeo jednostavnije održavanje - lakše se pronalazi problem: bit je ili nije
primljen ispravnoo kombinirano prenošenje glasa, podataka, slika, muzike te veće brzine
prijenosa
a. Lokalne petlje (local loops)
Komunikacija računala preko telefonske linije (slanje digitalnih podataka):
digitalne podatke modem pretvara u analogne za prijenos po lokalnoj petlji, ti analogni signali pretvaraju se u digitalne za prijenos po daljinskim digitalnim
vodovima, zatim se opet pretvaraju u analogne za prijenos po lokalnoj petlji na strani
primaoca na kraju se pretvaraju u digitalne za pohranu na odredišno računalo
Slika: Korištenje analognog i digitalnog prijenosa pri povezivanju računala (Tanenbaum, 1996)
kod analognih signala primljeni signal nije isti kao i poslani zbog nesavršenosti medija za prijenos - takve razlike uzrokuju pogreške za digitalne podatke
osnovni problemi na prijenosnim linijama su:
1. prigušenje (attenuation) - gubitak energije do koje dolazi kako se signal širi; signal se može zamisliti kao niz Fourierovih komponenti od kojih svaka slabi za određenu količinu što dovodi do različitog signala na strani primaoca
2. izobličavanje zbog kašnjenja (delay distortion) - uzrokuje ga to što različite Fourierove komponente putuju različitim brzinama
3. smetnje (noise) - neželjena energija iz nekog izvora koji nije pošiljaoc signala
MODEMI
kod digitalnih podataka gdje je riječ o kvadratnim valovima posebno jako dolazi do slabljenja i izobličenja signala
za transformaciju digitalnih podataka u analogne signale koriste se 3 osnovne modulacijske tehnike pri čemu se uvodi sinusni nosioc (sine wave carrier) - kontinuirani ton u rasponu od 1000-2000 Hz kojem se mijenja amplituda, frekvencija ili faza
prijenos se izvodi moduliranjem sinusnog nosioca
a. amplitudna modulacija - frekvencija i faza su konstantne, amplituda prenosi informaciju; 2 različite binarne vrijednosti (0 i 1) predstavljene su sa 2 različita nivoa napona
b. frekvencijska modulacija - koriste se 2 različite frekvancijec. fazna modulacija - pomiče se val sinusnog nosioca za 45, 135, 225 ili 315
stupnjeva u jednakim intervalima
Slika: Primjeri modulacija (Tanenbaum, 1996)
modem (modulator-demodulator) prihvaća kao input niz bitova i proizvodi kao output modulirani nosioc (ili obrnuto)
postavlja se između (digitalnog) računala i (analognog) telefonskog sistema brzina modema - ovisi o načinu modulacije (nastoji se postići da se prenosi
više bitova po uzorku, tj. po baudu - baud je mjera za broj promjena vrijednosti signala po sekundi) i definirana je jednim od standarda koji definiraju brzinu prijenosa
neke standardne brzine prijenosa: 9600, 14.400, 28.800, 33.600, 56.000 b/s osim standarda koji definiraju brzinu prijenosa, važni su i standardi koji
definiraju sažimanje(compression) podataka i kontrolu greški (error correction); najviše se koriste 2 standarda za sažimanje: MNP5 (sažimanje u prosjeku 2:1) i V.42 bis (4:1)
DCE-DTE sučelje
nazivi:o DTE (Data Terminal Equipment) - računalo ili terminalo DCE (Data Circut-Terminating Equipment) - modem
sučelje između DTE i DCE (tj. računala ili terminala i modema) je primjer protokola fizičkog nivoa (mehaničko električko, funkcijsko i proceduralno sučelje)
standard V.24 (ili u USA RS-232-C te noviji RS-232-F tj. EIA-232-F) RS-232 - sučelje za povezivanje DTE s modemima na analognim
telekomunikacijskim sustavima:
mehanička specifikacija
25-pinski konektor točno propisanih dimenzija s pinovima 1-13 u gornjem i 14-25 u doljnjem redu
Slika: Raspored pinova za V.24/EIA-232 (Stallings, 2004)
električka specifikacija
napon manji od -3 volta je binarno 1, a veći od +4 je binarno 0 dozvoljena količina za prijenos 20 kb/s dužina kabela do 15 m
funkcijska specifikacija
definira koji je krug (circut) tj. signal povezan na svaki od 25 pinova i što taj krug znači
9 pinova je gotovo uvijek implementirano primjeri:
o kad se računalo uključi, postavi na logičko 1 Data Terminal Ready (pin 20)
o kad se modem upali, postavi se Carrier Detect (pin 8)o Request to Send (pin 4) označava da DTE želi slati podatkeo Clear to Send (pin 5) znači da je DCE spreman primiti podatkeo podaci se šalju po Transmit krugu (pin 2)o podaci se primaju po Receive krugu (pin 3)
Slika: Osnovni V.24/EIA-232 krugovi i pinovi (u zagradi) (Tanenbaum, 1996)
proceduralna specifikacija
protokol tj. dozvoljeni niz događaja zasniva se na parovima akcija-reakcija npr. računalo postavlja Request to Send, a modem odgovara saClear to
Send ako može prihvatiti podatke
RS-499 standard - nastao da bi se prevladali nedostaci starijeg RS-232-C standarda
dozvoljava brzine do 2 Mb/s po 60 metarskom kabelu
NUL- MODEM
često se dva DTE trebaju povezati pomoću V.24, niti jedan od njih nije modem (nema DCE)
problem sučelja: priključci na oba DTE predviđeni su za spoj na DCE i ne mogu se prospojiti izravno
zato se uključuje nul-modem - uređaj (kabel) koji vrši potrebna križanja te povezuje liniju za prijenos jednog DTE s linijom za primjer drugog
Slika: Primjer nul-modema (Stallings, 2004)
b. Daljinski vodovi (trunks) i multipleksiranje (multiplexing)
multipleksiranje - više razgovora ide po istom vodu (zbog ekonomičnosti) 2 kategorije shema:
1. FDM (Frequency Division Multiplexing)
spektar frekvencije podijeljen je na logičke kanale i svaki korisnik tako dobija dio frekventnog pojasa samo za sebe
Slika: Multipleksiranje pomoću FDM (Tanenbaum, 1996)
2. TDM (Time Division Multiplexing)
svaki korisnik periodički dobija čitavu širinu kanala na određeno vrijeme mogu ga vršiti računala - u zadnje vrijeme se sve više koristi i to za digitalne
podatke analogni podaci se moraju digitalizirati, tehnike: PCM (Pulse Code Modulation)
o čini osnovu telefonskog sustavao codec (coder-decoder) - uređaj koji digitalizira analogne signale praveći
8000 uzoraka u sekundi (125 mikrosec/uzorak) - to je dovoljno da se sačuvaju sve informacije koje se prenose 4000 Hz-nim telefonskom kanalom
o međunarodni standard, ali postoje još i druge nekompatibilne sheme u različitim zemljame svijeta npr. T1 carrier u Sj. Americi
c. Prospajanje veze (switching)
lokalne petlje i daljinski vodovi čine vanjski dio, a sklopke (switches) unutrašnji dio telefonskog sistema (nalaze se unutar centrala)
2 različite osnovne tehnike:1. prospajanje kanala (circuit switching) - koristi ga današnji tel. sistem2. prospajanje paketa (packet swiching) - koristi ga ISDN (“nova
generacija” tel. sistema)
PROSPAJANJE KANALA (komutacija kanala - circuit switching)
uspostavlja se fizički put između pošiljaoca i primaoca poziva koji postoji sve do kraja komunikacije
vrijeme između završetka biranja tel. broja i početka zvonjenja (tj. vrijeme uspostavljanja veze) može biti dugo (10 sek. i više) - nepoželjno za mnoge računarske aplikacije
karakteristika: uspostavlja se put od jednog do drugog kraja prije nego što se počnu slati podaci
posljedica: kad se veza uspostavi, jedino kašnjenje je vrijeme širenja elektromagnetskog signala, te nema opasnosti od zagušenja
Slika: Pojednostavljeni modeli prospajanja kanala i paketa (Tanenbaum, 1996)
PROSPAJANJE PORUKA (komutacija poruka - message switching)
ne uspostavlja se fizički put između primaoca i pošiljaoca blok podataka koji se šalje se cijeli sprema u centrali (ruteru), provjerava se
da li je došlo do greški i zatim se šalje dalje (store-and-forward) kako veličina blokova nije ograničena, ruteri moraju imati spremnik (disk) za
veće blokove, a takav blok duže zauzima ruter-ruter vezu
PROSPAJANJE PAKETA (komutacija paketa - packet switching)
veličina blokova je ograničena (paketi), pa se spremaju u glavnu memoriju rutera, a ne na disk
prednost: prvi paket se može proslijediti dalje prije nego što je drugi potpuno stigao (veća propusnost)
Digitalna mreža s integriranim uslugama
ISDN (Itegrated Services Digital Network) - novi, potpuno digitalni telefonski sistem sa osnovnim ciljem integracije govornih i negovornih usluga
označava skup usluga, pristupne opreme i standarda pristupanja nepokretnoj telekomunikacijskoj mreži
dva pristupa ovisno o komunikacijskim potrebama:
1. Osnovni pristup (BRA- Basic Rate Access)
2. Primarni pristup (PRA - Primary Rate Access).
1. Osnovni pristup (BRA)
o koristi 3 linije (2B + D): dvije B linije za podatke i digitalizirani govor, svaka je brzine 64 kb/s
o treća D linija je signalizacijska linija od 16 kb/s - služi za prijenos korisničkih podataka, uspostavu i raskid veze te korištenje raznih usluga
o ukupna brzina za prijenos podataka do 128 kb/s, tj. putem obje B linije
o korištenje digitalnih linija omogućuje NT uređaj (Network Terminal - zaključni mrežni uređaj)
o na dvije linije moguće priključiti do osam različitih ISDN uređaja (telefona, telefaksova, računala...) svaki sa svojim pozivnim brojem
o namijenjen manjim korisnicima - kućanstva i manje tvrtke
Slika: ISDN sistem za kućnu upotrebu (Tanenbaum, 1996)
2. Primarni pristup (PRA)
o 30B + Do nudi veliki kapacitet prijenosa podataka te brzinu prijenosa do 2 Mb/s
o može se koristiti 10, 20 ili 30 B linija
o za poslovnu primjenu
5. KOMUNIKACIJSKI SATELITI (Communication Satellites)
prvi satelit je lansiran 1962. godine ponašaju se kao velika pojačala mikrovalova na nebu; imaju nekoliko
transpondera od kojih svaki osluškuje dio spektra, pojačava dolazeći signal i ponovo ga šalje na drugoj frekvenciji kako ne bi došlo do interferencije s dolaznim signalom
poslani signali mogu biti širokopojasni (pokrivaju veći dio Zemljine površine) ili uskopojasni (pokrivaju područje od stotinjak km)
tradicionalni sateliti su geostacionarni - geosinhroni (geosynchronous)o sateliti se nalazi u orbiti 36,000 km iznad ekvatora i kruže istom
brzinom kao Zemlja, pa djeluju kao da su nepomičnio kako moraju biti na određenom razmaku (2 stupnja), može ih biti 180,
ali svaki od njih može imati nekoliko tokova podataka u oba smjera na različitim frekvencijama
o međunarodni dogovori o korištenju satelita niskoorbitni (low-orbite) sateliti
o sateliti koji brzo kruže, primjeri:
o Iridium projekt: kada se jedan satelit makne sa vidika, zamjenjuje ga drugi (satelit pokriva više ćelija (cell ) na koje je Zemlja podijeljena)
o Globalstar sustav satelitske telefonije - pruža usluge mobilne (bežične) telefonije i druge telekomunikacijske usluge po čitavom svijetu; 48 niskoorbitnih satelita; svaki korisnik pokriven istovremeno 2 ili 3 satelita; Globalstarov telefon podržava komunikaciju sa dva različita telekomunikacijska sustava (satelit i GSM); komunikacija satelita i stanice na tlu (kod Iridium međusobno komuniciraju sateliti)
prednosti satelita: zaobilazi se telefonski sistem za prijenos podataka (veća propusnost), svugdje su dostupni, pogodni su za broadcasting, pogodni i za telefonski promet u zemljama sa lošom konfiguracijom terena, tamo gdje je problem dobiti pravo za postavljenje optičkih kabela...
6. SUSTAVI MOBILNIH TELEFONA
2 oblika bežičnih telefona:o stanica s odvojenom slušalicom : osnovna stanica priključena
žicom na telefonski sistem i telefon koji s njom komunicira slabom radio vezom do udaljenosti od oko 100 - 300 m; frekvencija se obično odabire pri izradi u tvornici, nema standardizacije; kućna uporaba
o mobilni uređaji - telefoni (mobile phones)
3 različite generacije mobilnih telefona koje koriste različite tehnologije, za:
a. analogno prenošenje govora
b. digitalno prenošenje govora
c. digitalno prenošenje govora i podataka (Internet, e-mail, itd.)
a. Mobilni telefoni prve generacije (analogno prenošenje govora)
u početku se koristio jedan odašiljač na visokoj zgradi i jedan kanal za slanje i primanje poruka (push-to-talk: pritiskom na gumb isključio se odašiljač i korisnik je mogao govoriti) - 50-ih godina za taxi, policijske aute...
IMTS (Improved Mobile Telephone System)
razvoj 1960-ihh godina odašiljač ima dvije frekvencije, jednu za slanje, drugu za primanje poruke podržavao je mali broj kanala (23)- korisnici moraju dugo čekati na slobodni susjedni sistemi moraju biti jako udaljeni zbog jačine odašiljača (kako bi se
izbjegla interferencija) ograničeni kapaciteti, nepraktičan sistem
AMPS (Advanced Mobile Phone System)
koristi se u USA od 1980-ih "cell phones": zemljopisno područje dijeli se na ćelije (cells) (oko 10 - 20 km u
promjeru) od kojih svaka koristi neki skup frekvencija iste frekvencije mogu se ponovo koristiti u ćelijama koje nisu susjedne, a
potrebna je i manja snaga odašiljača te manji prijemni uređaju; što su ćelije manje, mogućih korisnika je više -> povećan kapacitet sustava
handoff - proces promjene "glavne" bazne stanice u središtu svake ćelije je osnovna stanica prema kojoj podatke odašilju svi
telefoni u ćeliji, kako se telefon pomiče iz ćelije u ćeliju, kontrolu nad njim preuzimaju osnovne stanice u njima - uvijek kontrolu ima bazna stanica u onoj ćeliji u kojoj je signal najjači
ako se obavlja poziv, vrši se prebacivanje na novi kanal frekvencije sve osnovne stanice povezane su na uređaj MTSO (Mobile Telephone
Switching Office) iliMSC (Mobile Switching Center) koji vrši dodjelu kanala za veće sustave postoji hijerarhija povezenih MTSO u Hrvatskoj se od kraja 1990. koristio sustav javne pokretne radiotelefonije na
NMT 450 (Nordic Mobile Telephony) standardu (komercijalni naziv Mobitel mreža)
nedostatak mobilnih telefona 1. generacije: nesigurni su (mogu se slušati razgovori, “ukrasti” brojevi telefona)
b. Mobilni telefoni druge generacije (digitalno prenošenje govora)
nema standardizacije, koriste se 4 standarda: D-AMPS, GSM, CDMA, PDC
D-AMPS (Digital advanced Mobile Phone System)
2. generacija AMPS, potpuno digitalni sustav građen tako da u ćeliji mogu istovremno raditi i AMPS i D-AMPS
koristi iste kanale i frekvencije kao AMPS - jedan kanal može biti analogni, a susjedni digitalni
MTSO u ćeliji određuje koji su kanali analogni, koji digitalni na osnovu broja analognih ii digitalnih telefona u ćeliji - tip kanala može se dinamički mijenjati kako se mijenja omjer anal. i dig. telefona
D-AMPS mobilni telefon prima mikrofonom glasovni signal, digitalizira ga i komprimira -> reducira se broj bitova koji se šalju zračnom vezom: brzina prijenosa 8 kb/s (nije dovoljno za podatke!)
korištenjem TDM (multipleksiranje) 3 korisnika mogu dijeliti par frekvencija (boljim algoritmima kompresije i 6 korisnika)
razlika između AMPS i D-AMPS u handoff procesu: D-AMPS sam utvrđuje kad signal slabi i javlja MTSO
GSM (Global System for Mobile Communications)
sličan D-AMPS - oba koriste ćelije, koriste FDM i TDM (multipleksirenje) za podjelu spektra na kanale i kanala na vremenske slotove, telefoni odašilju signale na jednoj frekvenciji, a primaju ih na drugoj (višoj)
osnovna razlika: GSM kanali su širi (200 kHz), pa je viša brzina prijenosa po korisniku
CDMA (Code Division Multiple Access)
osnova za mobilne sustave 3. generacije koristi se i za 2. generaciju najviše u SAD, te za Globalstar sustav satelitske
telefonije
osnovna razlika s D-AMPS i GSM: ne dijeli rang frekvencije na kanale, nego dozvoljava da svaka stanica cijelo vrijeme emitira po čitavom spektru frekvencije
višestruki istovremeni prijenosi sa odvajaju pomoću korištenja teorije kodiranja (coding theory)
c. Mobilni telefoni treće generacije (digitalno prenošenje govora i podataka)
povezivanje prijenosnih uređaja koji objedinjuju osobine telefona, e-mail terminala, CD ili DVD playera,...
1992. specificiran standard IMT-2000 koji je trebao omogućiti:
o visokokvalitetni prijenos glasa
o slanje poruka (zamjena za SMS, fax, chat, ...)
o multimediju (muzika, video, filmovi, TV,...)
o pristup Internetu (Web pristup i stranicama s zvukom i videom)
prijedlozi 3G standarda: CDMA2000, W-CDMA (u EU ime UMTS)
između 2G i 3G mobilnih sustava: "2.5G sustavi", na pr.
o GPRS (General Packet Radio Service) - omogućuje slanje i primanje informacija mobilnom mrežom tako što mobilne stanice mogu primati i slati IP pakete u ćelijama s prijenosom govora; dopunjuje postojeću mobilnu mrežu
UMTS (Universal Mobile Telecommunications System)
univerzalni mobilni telekomunikacijski sustav UMTS mreže proširit će i izgraditi današnje mogućnosti mobilne telefonije
(GSM, GPRS) povećanjem kapaciteta, većom količinom podataka i većom ponudom usluga
V. SLOJ PODATAKOVNE VEZE (Data Link)
sloj podatakovne veze ili podatkovni sloj osigurava prijenos između dva direktno spojena računala
"susjedna računala" fizički povezana pomoću komunikacijskog “wire-like” kanala
glavna osobina takvog kanala: bitovi se dostavljaju u točno istom redoslijedu u kojem su poslani
1. ELEMENTI DIZAJNA SLOJA PODATAKOVNE VEZE
funkcije:1. osiguravanje usluga za mrežni sloj (dobro definirano sučelje)2. određivanje načina grupiranja bitova fizičkog nivoa u okvire (frames)3. rješavanje pogreški pri prijenosu4. reguliranje toka okvira tako da ne dođe do zagušenja (kad je primaoc
okvira spor, a pošiljaoc brz)
1.1 Usluge za mrežni sloj
osnovna funkcija sloja podatkovne veze: prenijeti podatke (bitove) od mrežnog sloja izvora do mrežnog sloja odredišta
Slika: Modeli komunikacije između podatkovnih slojeva (Tanenbaum, 1996)
najčešći tipovi usluga (servisa):a. nepotvrđeni bespojni (unacknowledged connectionless service)
b. potvrđeni bespojni (acknowledged connectionless service)
c. potvrđeni spojni (acknowledged connection-oriented service)
a. Nepotvrđeni bespojni
šalju se neovisni okviri bez potvrde odredišnog računala o primitku ne vrši se obnavljanje okvira ako se neki izgubi servis prikladan:
o ako je broj grešaka mali, pa je obnavljanje ostavljeno višim nivoimao kada važnije da podaci brzo stignu nego točnost podataka
b. Potvrđeni bespojni
potvrda (acknowledgment) se šalje za svaki okvir posebno, pa pošiljaoc zna da li je okvir stigao ili nije
ako okvir ne stigne u nekom propisanom vremenskom intervalu, šalje se ponovo
ako se potvrda izgubi, okvir će se prenijeti više puta servis koristan za nepouzdane kanale kao na pr. bežične sisteme
c. Potvrđeni spojni
najpouzdaniji servis, uspostavlja se veza prije slanja okvira svaki poslani okvir je numeriran i sloj garantira:
o svaki okvir će biti primljeno svaki okvir će se primiti točno jednomo svi okviri će stići u pravom redosljedu
3 faze prijenosa:
1. uspostavlja se veza tako da obje strane inicijaliziraju brojače i varijable potrebne za vođenje računa o tome koji su okviri već stigli, a koji nisu
2. okviri se prenose3. oslobađa se veza, tj. varijable i ostali resursi koji su bili potrebni za prijenos
1.2 Tvorba okvira (Framing)
problem obilježavanja početka i kraja svakog okvira podatkovni sloj razbija niz bitova u diskretne okvire i izračunava zaštitu
(checksum) za svaki okvir zaštita se ponovo za svaki okvir računa na odredištu - ako se razlikuje od
polazne, došlo je do pogreške koju podatkovni sloj treba riješiti
4 metode za razbijanje toka bitova u okvire:
a. brojanje znakovab. omeđivanje početnim i završnim znakom s umetanjem (stuffing) znakac. omeđivanje početnom i završnom "zastavicom" (flag) s umetanjem bitad. narušavanje pravila kodiranja fizičkog sloja
a. Brojanje znakova
koristi posebno polje u zaglavlju s podatkom o broju znakova u okviru kada sloj prijenosa podataka na odredištu vidi taj broj, zna koliko znakova
slijedi, tj. gdje je kraj okvira
problem ako se uslijed greške u prijenosu promijeni podatak s brojem - ispada se iz sinhronizacije
dosta rijetko se koristi
Slika: Primjer za tvorbu okvira brojenjem znakova (Tanenbaum, 1996)
b. Omeđivanje početnim i završnim znakom s umetanjem (stuffing) znaka
svaki okvir započinje s ASCII znakovima DLE STX, a završava s DLE ETX (Data Link Escape, Start of TeXt, End of TeXt)
kod prijenosa binarnih podataka može se dogoditi da se znakovi za DLE STX i DLE ETX pojave unutar podataka
zato se koristi tehnika umetanja znaka (character stuffing): ispred svakog DLE niza dodaje se još jedan DLE koji se na strani primaoca miče (jedini sami DLE su na početku i kraju okvira) - znak DLE zamjenjuje se dvoznakom DLE DLE
Slika: Primjer za omeđivanje s DLE STX i DLE ETX (Tanenbaum, 1996)
nedostatak: metoda vezana uz 8-bitne znakove tj. uz ASCII kôd, potrebna je metoda i za znakove bilo koje veličine:
c. Omeđivanje početnom i završnom "zastavicom" (flag) s umetanjem bita
tehnika dozvoljava okvire, kao i znakove, s proizvoljnim brojem bitova za označavanje krajeva okvira koristi se posebni uzorak
bitova, 01111110 - flag byte
kada se u podacima pojavi 5 jedinica, umetne se 0 bit (bit stuffing)
na primjer:
0101111111111001 - niz podataka prije umetanja (poslao ga je mrežni sloj)
010111110111110001 - - niz podataka s umetnutim 0 bitom
d. Narušavanje pravila kodiranja fizičkog sloja
kod mreža gdje postoji redundancija pri kodiranju, npr. za kodiranje 1 bita podataka koriste se 2 fizička bita
koristi se pogrešni fizički kod:
o ako je 1 bit "high-low" par, a 0 bit "low-high" par, kombinacije "low-low" i "high-high" se ne koriste za podatke, pa mogu biti granice okvira
e. Kombinacija prethodnih metoda
najčešće brojanje znakova i još jedna metoda b-d. zbog dodatne sigurnosti
1.3 Kontrola pogrešaka (Error Control)
svaki okvir mora se proslijediti mrežnom sloju na odredištu točno jednom primaoc šalje pošiljaocu posebni okvir sa pozitivnom ili negativnom potvrdom
o primljenom okviru - ako je potvrda negativna, treba ponoviti slanje
problem potpunog gubitka okvira (ili potvrde)
ako se izgubi potvrda, dolazi do blokiranja (deadlock) na strani pošiljaoca koji bi zauvijek čekao potvrdu
rješenje: uvodi se sat (timer) kod pošiljoca
o pošiljaoc šalje okvir i ujedno pokreće timer
o interval sata - veći od vremena potrebnog da okvir stigne na odredište, tamo se obradi i potvrda stigne natrag pošiljaocu
o ako vrijeme istekne, a potvrda još nije stigla, pošiljaoc se upozorava na problem (šalje ponovo okvir)
problem dupliciranja okvira (okvir je stigao, ali ne i potvrda, pa je poslan ponovo) rješava se rednim brojevima koji se dodjeljuju izlaznim okvirima - tako primaoc razlikuje original od kopija
1.4 Kontrola toka (Flow Control)
pošiljaoc želi slati okvire brže nego što ih primaoc može prihvatiti što može dovesti do gubitka nekih okvira (čak i u slučaju da nema pogreški)
rješenje je uvesti mehanizme kojima se pošiljaoc usporava
protokoli sadrže dobro definirana pravila o tome kada pošiljaoc smije poslati slijedeći okvir
na pr. pošalje n okvira, a zatim čeka dok primaoc ne potvrdi da može nastaviti sa slanjem
2. UTVRĐIVANJE I ISPRAVLJANJE POGREŠAKA (Error Detection and Correction)
tipovi pogrešaka:
izolirane jednobitne pogreške (single-bit errors)o promjena jednog bita koja ne utječe na susjedne bitove
o lakše ih je naći i ispraviti
pogreške u snopovima (burst errors)
o niz B bitova u kojem je su prvi i zadnji bit promijenjeni te bilo koji broj bitova između njih (dio bitova između je nepromijenjen)
o utječu na manji broj okvira
2.1 Kodovi za utvrđivanje pogrešaka (Error-Detecting Codes)
koriste se kada je jednostavnije ponovo poslati pogrešne podatke umjesto da ih se ispravlja
princip za otkrivanje pogreški: korištenje zaštitnih bitova (check bits)
podacima koji se šalju dodaju se redundantni podaci
na strani pošiljaoca: k bitova podataka + r bitova za provjeru = okvir dužine n primatelj razdvaja dolazeći okvir na k bitova podataka i (n-k) bitova zaštitnog
kôda, izvodi određena računanja nad podacima te uspoređuje dobivenu vrijednost s pristiglim zaštitnim bitovima
pogreška je utvrđena ako se te dvije vrijednosti razlikuju
Slika: Proces utvrđivanje pogrešaka (Stallings, 2004)
a. Provjera paritetnog bita (parity check)
koristi se kôd pri kojem je podacima dodan jedan paritetni bit (parity bit) na kraj bloka podataka
bit se odabire tako da ukupni broj 1 bitova u okviru bude npr. paran:
10110101 => 101101011
10110001 => 101100010
kôdom s jednim paritetnim bitom, mogu se detektirati jednobitne greške (čim se jedan bit promijeni, poremeti se parnost)
b. Polinomni kôd CRC (Cyclic Redundancy Code)
jedna od metoda koja se često koristi naziv polinomni kôd jer se k-bitni okvir promatra kao da predstavlja
koeficijentnu listu polinoma k-1 stupnja čiji su koeficijenti 0 i 1
osnovni princip: za dani k-bitni niz podataka pri slanju se generira n-k -bitni niz tako da se
rezultirajućiokvir (frame) sastoji od n bitova i djeljiv je s nekim preddefiniranim brojem (polinomom) o kojem se dogovaraju primaoc i pošiljaoc
kod primanja poruka okvir se dijeli s istim tim polinomom i ako nema ostatka, nema pogreške
na pr. niz koji se šalje D=110011 => polinom D(x)=x5 + x4 + x + 1
polinomna aritmetika se izvodi modulo 2 (+, - kao XOR), npr. 1111+1010=0101
oznake:
D(x) - niz bitova koji se šalje (dužina k)
T(x) - okvir (n bitova)
F(x) = T(x)-D(x) - zaštitni bitovi (dužina n-k)
P(x) - unaprijed definirani polinom djelitelj stupnja n-k (znaju ga pošiljaoc i primaoc); odabran je tako da je T(x) djeljiv s P(x) bez ostatka
nakon odabira P(x) na strani pošiljaoca se vrši računanje
T(x) = xn-k D(x) R(x)
tako kreirani kodirani okvir T(x) zaista je djeljiv sa P(x):
(P(x) Q(x) R(x)) R(x) = P(x) Q(x)
ostatak R(x) je zaštitni kôd (F(x)), lako se generira:o uzme se xn-k D(x) (D(x) se nadopuni sa n-k nula desno),
o rezultat se podijeli sa P(x)
o uzme se n-k ostatak i oduzme (ili zbroji mod 2) od xn-k D(x)
o => rezultat je n-bitni okvir T(x)
kada na strani primaoca stigne T(x), podijeli se s P(x), ako nije bilo pogreški pri prijenosu, nema ostatka
ukoliko je nastala pogreška, primaocu je stiglo: T(x) E(x)
pri dijeljenju je ostatak E(x)/P(x)
pogreška se NEĆE ustanoviti ako je s E(x) djeljiv s P(x) odnosno CRC neće otkriti one pogreške-polinome E(x)koji sadrže kao faktor P(x)
na primjer, ako je pogreška jednobitna E(x) = xi (i je krivi bit), uvijek će se pronaći ako P(x)sadrži barem 2 člana
za dvobitne pogreške P(x) mora imati barem 3 člana, itd.
najčešće korišteni djelitelji su:
CRC-12 = X12 + X11 + X3 +X2 + X + 1
CRC-16 = X16 + X15 +X2 + 1
CRC-CCITT = X16 + X12 + X5 + 1
CRC-32 = X32 + X26 + X23 +X22 + X16 + X12 + X11 + X10 + X8+ X7 + X5 + X4 +X2 + X + 1
CRC-32 - za IEEE 802 LAN standarde
2.2 Kodovi za ispravljanje pogrešaka (Error-Correctong Codes)
uz svaki blok podataka uključuje se dovoljno redundantnih informacija koje će omogućiti primaocu da zaključi kakav mora biti preneseni znak
obično k-bitni blok podataka preslikava (pomoću nekog od algoritama za kodiranje) u n-bitni okvir (n > k) - naziva se n-bitna kodna riječ (codeword)
pošiljaoc provjerava kodnu riječ, moguće je:
o nije bilo pogreški
o pogreške su utvrđene i ispravljne
o pogreške su utvrđene, ali se ne mogu ispraviti
o pogreške nisu utvrđene - rezultat je neispravan k-blok podataka
Slika: Proces ispravljanja pogrešaka (Stallings, 2004)
jedan od načina: korištenje Hammingove udaljenosti (Hamming distance) za dvije kodne riječi definira se Hammingova udaljenost d kao broj različitih
bitova na odgovarajućim pozicijama, npr:
V1 = 10001000
V2 = 10110001
d=4
ako je udaljenost dviju kodnih riječi d, potrebno je d jednobitnih greški da se jedna kodna riječ pretvori u drugu
kod prijenosa podataka najveći mogući broj kodnih riječi je 2n (n je dužina riječi) ali se obično sve ne koriste; iz čitave liste legalnih kodnih riječi pronalazi se par čija je Hammingova udaljenost minimalna i to je Hammingova udaljenost cijelog koda o kojoj ovisi pronalaženje i ispravljanje greški
da se pronađe k greški, potreban je kôd sa k+1 razlikom jer tako ne može k jednobitnih greški promijeniti jednu ispravnu kodnu riječ u drugu
da se ispravi k greški, potreban je kôd sa razlikom od 2k+1 jer su tada legalne kodne riječi tako daleko jedna od druge da se i sa k promjena može
pronaći originalna ispravna kodna riječ (ispravna riječ je najbliža pogrešnoj riječi u odnosu na bilo koju drugu kodnu riječ)
Primjer:
kôd sa samo 4 ispravne kodne riječi:
0000000000, 0000011111, 1111100000, 1111111111
Hammingova udaljenost kôda je 5 mogu se ispravljati 2 bitne greške (k=2, jer je 2k +1 = 5) ako npr. stigne 0000000111, primaoc zna da original mora biti 0000011111 ako je došlo do 3-struke greške, npr. umjesto 0000000000 stiglo 0000000111,
greška neće biti korektno ispravljena
V. SLOJ PODATAKOVNE VEZE (Data Link)
3.PRIMJERI OSNOVNIH PROTOKOLA SLOJA PRIJENOSA PODATAKA
Pretpostavke:
fizički sloj, sloj prijenosa podataka i mrežni sloj imaju neovisne procese koji komuniciraju slanjem poruka
host A šalje hostu B podatke koristeći pouzdani (reliable) slijedni (connection-oriented) servis; A već ima pripremljene podatke za slanje (ne mora čekati da ih mrežni sloj pripremi)
sloj prijenosa podataka shvaća pakete koje preko sučelja prima od mrežnog sloja kao čiste podatke (sve ih mora prenijeti odredišnom mrežnom sloju); paket uključuje (enkapsulira) u okvir (frame) dodajući zaglavlje (header) i rep (trailer) -> okvir se sastoji od paketa i kontrolnih informacija
okvir se šalje drugom sloju prijenosa podataka preko fizičkog sloja (na pr. koristeći procedure to_physical_layer i from_physical_layer)
primaoc čeka da na neki događaj (event), ovisno o događaju pokreće se određena procedura
važan je odnos paketa i okvira: pakete gradi mrežni sloj uzimajući poruke transportnog sloja i dodajući mrežno zaglavlje na njih; paket se dalje šalje sloju prijenosa podataka, uključuje se u okvir i šalje na odredište gdje sloj prijenosa podataka “izvlači” paket iz okvira i šalje ga odredišnom mrežnom sloju
Kontrola toka
tehnikama kontrole toka osigurava se da pošiljatelj ne zaguši primaoca s podacima
primatelj obrađuje podatke prije nego što ih proslijedi mrežnom sloju - pohranjuje ih u spremnik (buffer) određene maksimalne veličine
kontrola toka je potrebna da se spremnik ne prepuni
Kontrola pogreški
dvije vrste pogreški: izgubljeni okviri i oštećeni okviri mehanizmi kontrola pogreški zasnivaju se na:
o utvrđivanju pogreški (obrađeno pod 2.)o pozitivnoj potvrdi - primaoc vraća pozitivnu potvrdu
(acknowledgment, ACK) o tome da je okvir stigao bez pogreškeo ponovnom slanju nakon isteka određenog vremena (timeout) -
pošiljaoc ponovno šalje okvir ako je isteklo unaprijed dogovoreno određeno vrijeme
o negativnoj potvdi i ponovnom slanju - primaoc vraća negativnu potvrdu za okvire koji su stigli oštećeni; pošiljaoc ponavlja slanje tih okvira
ovi mehanizmi zajedno nazivaju se ARQ (automatic repeat request)
Osnovne grupe protokola:
protokoli s čekanjem (stop-and-wait ARQ) protokli s prozorom (sliding window protocols) - protokol s vraćanjem (go-
back-NARQ), protokol sa selektivnim ponavljanjem (selective-repeat ARQ)
Slika: Model prijenosa okvira bez pogrešaka i s pogreškama (Stallings, 2004)
Jednosmjerni protokol bez ograničenja (unrestricted simplex protocol)
protokol omogućuje slanje podataka samo u jednom smjeru (simplex), od pošiljaoca prema primaocu
komunikacijski kanal je bez smetnji (error-free): okviri se nikada ne gube i ne oštećuju
primaoc može obraditi sve primljene podatke beskonačnom brzinom i ima beskonačni spremnik za pohranu, pa pošiljaoc šalje podatke što brže može <== “Utopia”
protokol se sastoji od 2 različite procedure (sender, receiver), jedini događaj je dolazak okvira (frame_arrival)
3.1 Protokoli s čekanjem (“stani-i-čekaj” - stop-and-wait)
protokoli kod kojih pošiljaoc šalje 1 okvir i zatim čeka na potvrdu prije nego što nastavlja slati
Jednosmjerni protokol s čekanjem (simplex stop-and-wait protocol)
nema najmanje realnog elementa prvog protokola: sposobnosti primajućeg mrežnog nivoa da obrađuje dolazeće podatke beskonačno brzo (tj. ekvivalentno tome da primajući sloj prijenosa podataka ima beskonačni prostorni spremnik u koji pohranjuje dolazeće okvire)
problem: kako spriječiti da pošiljaoc šalje primaocu podatke brže nego što ih ovaj može obraditi
rješenje: primaoc šalje pošiljaocu povratnu informaciju (feedback): nakon što je predao paket svom mrežnom nivou, primaoc šalje mali okvir sa potvrdom (ACK) natrag pošiljaocu, te mu tako daje dozvolu da pošalje slijedeći pravi okvir
iako je promet podataka jednosmjeran od pošiljaoca prema primaocu, okviri ipak putuju u oba smjera (tj. fizički kanal je half-duplex)
Jednosmjerni protokol s čekanjem za kanal sa smetnjama (simplex protocol for noisy channel)
kod kanala sa smetnjama uzimaju se u obzir pogreške: okviri mogu stizati oštećeni ili se mogu potpuno izgubiti
problem oštećenja okvira: ako se okvir ošteti za vrijeme prenošenja, hardver primaoca će to ustanoviti računajući checksum (primjenom nekog algoritma)
problem gubitka okvira: okvir nije stigao primaocu, pa se ne generira ni potvrda
moguće rješenje: dodati vremensko ograničenje (timer) - primaoc šalje potvrdu samo ako je okvir stigao u redu, ako je oštećen odbacuje ga, te ga nakon isteka timera pošiljaoc šalje ponovo; taj proces se ponavlja sve dok okvir stigne neoštećen
problem oštećenja ili gubitka potvrde: ako se u prijenosu ošteti ili potpuno izgubi potvrda, doći će do dupliciranja okvira (jer se bez potvrde nakon isteka timera okvir ponovo šalje)
rješava se dodavanjem rednog broja u zaglavlje svakog poslanog okvira, tada primaoc provjerom rednog broja može ustanoviti da li je stigao novi okvir ili duplikat kojeg treba odbaciti
nakon svakog slanja okvira pošiljaoc pokreće timer; vremenski interval mora biti odabran tako da ostavi dovoljno vremena da okvir stigne do primaoca, da ga ovaj obradi, pošalje potvrdu i da potvrda stigne natrag do pošiljaoca
pokrenuvši timer, pošiljaoc čeka na neki od 3 moguća događaja, te ovisno o njemu pokreće odgovarajuću akciju:
1. okvir sa potvrdom je stigao neoštećen - pošiljaoc uzima od mrežnog sloja slijedeći paket, stavlja ga u spremnik za slanje (prepisujući prethodni paket) i povećava redni broj
2. okvir sa potvrdom je stigao oštećen ili
3. vrijeme je isteklo - u oba slučaja ne mijenja se ni sadržaj spremnika ni redni broj
Slika: Primjer za protokol s čekanjem (stop-and-wait) (Stallings, 2004)
3.2 Protokoli s prozorom (Sliding window protocols)
kod prethodnih protokola u prijenosu je bio samo jedan okvir što je neefikasno - treba omogućiti da veći broj okvira istovremeno bude u prijenosu
okviri s podacima slali su se samo u jednom smjeru ako se želi podatke slati u oba smjera, može se ostvariti full-
duplex prijenospomoću 2 posebna komunikacijska kanala (po jedan za jednosmjerni promet u suprotnim smjerovima) ili korištenjem 1 kanala za oba smjera
u slučaju jednog kanala, okviri sa podacima od A do B miješaju se sa okvirima s potvrdom, po posebnom polju u zaglavlju određuje se tip okvira (podatak ili potvrda)
da bi se povećala propusnost kanala, može se koristiti tehnika “piggybacking”: potvrda se ne šalje kao posebni okvir, nego se pridodaje okviru s podacima koji dolazi iz suprotnog smjera => time se po kanalu šalje manje okvira
problem kod “piggybackinga”: koliko dugo da sloj prijenosa podataka čeka na paket s podacima na koji će pridodati potvrdu?
rješenje je shema kod koje se čeka određeni broj milisekundi da stigne novi paket i na njega se dodaje potvrda; ako paket ne stigne u tom određenom vremenu, šalje se posebni okvir sa potvrdom
Karakteristike protokola s ("klizećim") prozorom
osnovna ideja protokola: nekoliko okvira se šalje bez čekanja na potvrdu, kada se potvrda za neki zadnji okvir pošalje, označava da su ispravno stigli i prethodni okviri
promatraju se dvije stanice A i B povezane dvosmjernom vezom
primaoc B rezervira spremnik za W okvira - dozvoljeno je da pošiljaoc A pošalje Wokvira bez čekanja
okviri moraju biti numerirani kako bi se moglo pratiti koji su potvrđeni
B potvrđuje okvir šaljući potvrdu koja ujedno sadrži i redni broj sljedećeg okvira koji očekuje => to je potvrda da je B spreman primiti sljedećih W okvira (prvi među njima ima navedeni redni broj)
o na pr. B je primio okvire 2,3,4
o poslao je potvrdu s brojem 5 tek nakon što je 4. okvir stigao
o ta potvrda potvrđuje da su stigli svi okviri 2-4
pošiljaoc A u bilo kojem trenutku održava listu rednih brojeva okvira dozvoljenih za slanje - ti okviri čine prozor za slanje (sending window)
primaoc B održava listu rednih brojeva pripremljenih za primanje - oni čine prozor za primanje (receiving window)
svaki okvir sadrži redni broj od 0 do nekog maksimuma redni broj okvira zauzima polje u zaglavlju okvira za n-bitno polje obično su redni brojevi od 0 do 2n-1, a okviri su numerirani
modulo 2n
veličina prozora se može razlikovati, raspon je od 1 pa do 2n- 1
na pr. za 3-bitno polje redni brojevi su rasponu 0-7, a okviri su numerirani modulo 8 (nakon rednog broja 7 ponovo slijedi 0)
pošiljaoc za prozor veličine n treba n spremnika za čuvanje nepotvrđenih okvira
pošiljaoc čuva i poslane ali još nepotvrđene okvire: moraju se čuvati u spremniku za slučaj da ih treba ponovo poslati
prozor za slanje se pomiče kad stigne potvrda za neki okvir ili kad stigne novi paket od mrežnog sloja
prozor za primanje pomiče rub kad se okvir pošalje mrežnom sloju i tada generira potvrdu
Primjer:
Slika: Primjer za protokol s prozorom (Stallings, 2004)
osjenčeno - okviri koje je moguće poslati (0-4) svaki put kada se okvir pošalje, donji rub osjenčenog prozora za slanje se
pomiče (prozor se stišće)
svaki put kada se primi potvrda, osjenčeni prozor za slanje raste
između okomite crte i osjenčenog prozora su poslani, ali još nepotvrđeni okviri
Primjer:
Slika: Primjer za protokol s prozorom (Stallings, 2004)
F0, F1, F2,.... poslani okviri
RR (receive ready) - npr. RR3 => primljeni okviri F0, F1, F2 i primatelj je spreman za F3
kontrola toka pomoću protokola s prozorom efikasnija je nego kod protokola s čekanjem => uspostavlja se "cjevovod" (pipeline) po kojem klize okviri (ne idu jedan po jedan)
Kontrola pogreški kod protokola klizećeg prozora
1-bitni protokol klizećeg prozora: ako je veličina prozora 1, koristi se stop-and-wait
kod nekih verzija ovog tipa protokola pošalje se više okvira prije blokiranja, tj. prije čekanja na potvrdu (pipelining)
problem: kad oštećeni okvir stigne negdje u sredini između ispravnih okvira, što s ispravnim okvirima koji su stigli iza njega?
2 pristupa prilikom takvih greški: protokol s vraćanjem (go back n) i protokol sa selektivnim ponavljanjem (selective repeat)
1. protokol s vraćanjem (go back n - “vrati se natrag za n”)
strategija odgovara veličini prijemnog prozora 1 primaoc odbacuje sve okvire koji slijede nakon okvira s greškom, tj. ne šalje
potvrde za te okvire
potrebno je zato što sloj prijenosa podataka primaoca mora slati pakete mrežnom sloju u nizu (ne može preskočiti neispravni okvir)
ako se prozor za slanje popuni prije isteka određenog vremena, "cjevovod" se prazni (okviri se šalju, ali ih primatelj ne prihvaća)
ako istekne vrijeme (timer), ponovo će se slati okviri počevši sa zadnjim nepotvrđenim okvirom tj. okvirom koje je bio oštećen ili izgubljen
pogrešni okvir i svi nakon njega šalju se ponovo - gubi se na propusnosti, naročito ako je postotak pogreški visok
Slika: Protokol s vraćanjem (Tanenbaum, 1996)
2. Protokol sa selektivnim ponavljanjem (selective repeat)
strategija odgovara veličini prijemnog prozora > 1 primajući sloj prijenosa podataka sprema sve ispravne okvire koji slijede
nakon onog s greškom
kad pošiljaoc ustanovi da nešto nije u redu, ponovo šalje samo onaj loš okvir
nakon isteka vremenskog intervala, primaoc potvrđuje sve okvire koji su stigli nakon oštećenog
ako je drugi pokušaj uspio, niz ispravnih okvira predaje se mrežnom sloju, a potvrda se šalje za okvir s najvećim brojem
protokol omogućuje veću propusnost, ali zahtijeva znatno veći prostor
Slika: Protokol sa selektivnim ponavljanjem (Tanenbaum, 1996)
4. HDLC (High-level Data Link Control)
HDLC (High-level Data Link Control) - “protokol visoke razine upravljanja podatkovnom vezom” grupa starijih protokola, još uvijek dosta korištenih, koji su izvedeni iz IBM SDLC (Synchronous Data Link Control) protokola
SDLC => ANSI ADCCP (Advanced Data Communication Control Procedure) SDCL => ISO HDLC CCITT mijenja HDLC u LAP (Link Access Protocol) za X.25 standard mrežnog
sučelja , LAPB (Lap Balanced) i LAPD za ISDN princip ove grupe protokola: bitovni s nadopunjavanjem bitovima (bit stuffing)
i s prozorom
OSNOVNE KARAKTERISTIKE HDLC
protokol HDLC namijenjen je upravljanju razmjenom podataka između centralnog računala i sekundarnih stanica; centralno računalo nadzire komunikaciju i vrši neprekidnu provjeru (polling) stanica u određenim vremenskim trenucima kako bi otkrilo želi li neka od stanica slati podatke
HDLC definira 3 vrste stanica, 2 konfiguracije veza i 3 načina prijenosa podataka
Stanice:
o primarna stanica - odgovorna za upravljanje vezom, održava po jedanu logičku vezu za svaku sekundarnu stanicu kojom upravlja; okviri = naredbe
o sekundarna stanica - pod kontrolom je primarne stanice; okviri = odgovori
o kombinirana stanica - karakteristike i primarne i sekundarne stanice, okviri mogu biti naredbe ili odgovori
Konfiguracije veza:o "neuravnotežena" (unbalanced configuration) - postoji primarna
stanica i nekliko sekundarnih stanice; podržava full-duplex i half-duplex prijenos
o "uravnotežena" (balanced configuration) - dvije kombinirane stanice; podržavafull-duplex i half-duplex prijenos
Načini prijenosa podataka:o NRM (normal response mode) - normalni način odgovora koji se koristi
za "neuravnotežene" konfiguracije: primarna stanica može inicirati prijenos podataka prema sekundarnoj; sekundarna može slati podatke samo kao odgovor na naredbu primarne- za veći broj terminala povezanih s hostom te za point-to-point veze
o ABM (asynchronous balanced mode) - asinkroni način odgovora koji se koristi kod "uravnotežene" konfiguracije: i jedna i druga kombinirana stanica mogu inicirati prijenos podataka (ne treba im dozvola druge stanice)- najčešće se koristi, full-duplex za point-to-point veze
o ARM (asynchronous response mode) - asinkroni način odgovora koji se koristi kod "neuravnotežene" konfiguracije: sekundarna stanica može inicirati prijenos bez dozvole primarne stanice, ali je primarna i dalje odgovorna za upravljanje vezom - rijetko se koristi
STRUKTURA OKVIRA
isti format okvira odgovara podacima i kontrolnim informacijama sastoji se od 6 polja, na početku zaglavlje (header), na kraju "rep" (trailer)
Slika: Format okvira (Stallings, 2004)
"zastavica" (flag)o na početku i kraju oblika 01111110
o jedna te ista zastavica može se koristiti kao kraj jednog i početak drugog okvira
o koristi se umetanje bitova (bit stuffing): kada se u podacima pojavi 5 jedinica, umetne se 0 bit
o problem korištenja jedne zastavice za početak i kraj: jednobitna pogreška u zastavici (na početku ili kraju okvira) će spojiti 2 okvira, jednobitna pogreška u podacima (unutar okvira) može razdvojiti okvir na dva
adresno polje (address field)o važno za identifikaciju sekundarnih stanica; kod point-to-point veza nije
potrebno (uključuje se zbog jednoobraznosti)
o sadrži: adresu primaoca ako se prenosi okvir sa podacima; adresu pošiljaocaako se vraća odgovor
o dugo je obično 8 bitova, a postoji i prošireni format gdje je dužina višekratnik broja 8: prvi bit svakog okteta je 0 ili 1 i označava da li je oktet zadnji u adresi ili nije
o poseban oblik 8-bitne adrese 11111111 - označava da primarna stanica šalje okvir svima sekundarnim stanicama
Slika: Prošireni oblik adese okvira (Stallings, 2004)
upravljačko (kontrolno) polje (control field)o HDLC definira 3 tipa okvira od kojih svaki ima različiti format
kontrolnog polja:
o informacijski (I-frame, information frame) - prijenos pravih podataka i "piggybacking" potvrde
o nadzorni (S-frame, supervisory frame) - prijenos potvrda kad se "piggybacking" ne koristi
o nenumerirani (U-frame, unnumberd frame) - podaci potrebni za upravljanje vezom
o prvih 1 ili 2 bita služe za određivanje tipa okvira, a ostatak je organiziran u potpolja
o P/F (poll/final) bit - P bit se postavlja na 1 da se potakne slanje odgovora npr. od sekundarne stanice ("proziva" se sekundarna stanica), F bit se postavlja na 1 da označi okvir s odgovorom koji se šalje kao odgovor na neku naredbu
o N(S), N(R) - redni brojevi okvira potrebni za kontrolu pogreški i toka
Slika: Format 8-bitnog kontrolnog polja (Stallings, 2004)
kontrolna polja S-okvira i I-okvira mogu biti proširena na 16 polja:
Slika: Formati 16-bitnih kontrolnog polja S-okvira i I-okvira (Stallings, 2004)
podaci (information field)o polje prisutno samo kod I-okvira i nekih U-okvira
o sadrži bilo kakve informacije, proizvoljne dužine do nekog zadanog maksimuma
bitovi provjere (FCS, frame check sequence field)o koristi se polinomni kod: CRC-CCITT ili CRC-32
FUNKCIONIRANJE
HDLC operacije sastoje se od razmjene I, S i U okvira između 2 stanice popis naredbi i odgovora:
form. ime kom/odg opis
IInformation (I) C/R prijenos podataka
S Receive ready (RR) C/R pozit. potvrda do N(R)-1; spreman za primanje I-okvira
Receive not ready (RNR) C/R pozit. potvrda do N(R)-1; nije spreman za primanje
Reject (REJ) C/R negativ. potvrda; inicira vrati se za N
Selective reject (SREJ) C/Rnegativ. potvrda; zahtijeva se ponovno slanje samo jednog okvira
U Set normal response/extended mode (SNRM/SNRME)
Cpostavlja način; extended = 7-bitni redni broj
Set asynchronous response/extended mode (SARM/SARME)
Cpostavlja način; extended = 7-bitni redni broj
Set asynchronous balanced response/extended mode (SABM/SABME)
Cpostavlja način; extended = 7-bitni redni broj
Set initialization mode (SIM)
C Inicira funkcije podatkovne veze u adresiranoj stanici
Disconnect (DISC) C Prekida logičku podatkovnu vezu
Unnambered acknowledgment (UA)
R Potvrđuje prihvaćanje jedne od komandi za postavljanje načina
Disconnect mode (DM) R Javlja se status prekida logičke podatkovne veze
Request disconnect (RD) R Zahtjev za DISC komandom
Request initialization mode (RIM)
R Potrebna inicijalizacija, zahtjev za SIM komandom
Unnumberd information (UI)
C/R Koristi se za razmjenu kontrolnih informacija
Unnumberd poll (UP) C Koristi se za poticanje slanja kontrolnih informacija
Reset (RSET) C Koristi se za obnavljanje (recovery); resetira N(R), N(S)
Exchange identification(XID)
C/R Koristi se za request/report status
Test (TEST) C/R Razmjenjuju se istovjetna informacijska polja zbog testiranja
Frame reject (FRMR) CR Izvještava se o primitku neprihvatljivog okvira
operacije uključuje 3 faze:
1. jedna strana inicijalizira podatkovnu vezu; dogovaraju se opcije veze
2. razmjenjuju se podaci i kontrolne informacije (kontrola pogreški i toka)
3. jedna od dvije strane oglašava prekidanje logičke podatkovne veze
1. Inicijalizacija
bilo koja strana je zahtjeva jednom od 6 komande (osjenčeno u tablici) za postavljanje načina
komanda:
o signalizira drugoj strani da zahtjeva inicijalizaciju
o navodi koji se od 3 moda traži (NRM, ABM, ARM)
o navodi da li se koriste 3-bitni ili 7-bitni redni brojevi
ako druga strana prihvati, zahtjev - šalje se inicirajućoj strani UA (Unnambered acknowledgment) okvir,
ako se odbija zahtjev šalje se DM (Disconnect mode) okvir
2. Prijenos podataka
nakon što je inicijalitacija zatražena i prihvaćena, uspostavljena je logička podatkovna veza
obje strane šalju I-okvire s podacima počevši s rednim brojem 0
koriste se N(S) i N(R) okviri s rednim brojevima za kontrolu toka i pogreški
N(S): numeracija modulo 8 (3-bitni redni broj) ili modulo 128 (7-bitni redni broj)
N(R): potvrda da je stiglo n okvira i da se čeka na n+1
RR okvir - potvrđuje zadnje primljeni I-okvir navođenjem broja sljedećeg okvira kojeg očekuje
RNR okvir - potvrđuje zadnje primljeni I-okvir i ujedno traži da suprotna strana stane sa slanjem
3. Prekidanje veze
prekid veze inicira bilo koja strana: na vlastiti zahtjev, zbog neke pogreške ili zbog zahtjeva s višeg sloja
šalje se DISC okvir
suprotna strana ga mora prihvatiti tako što odgovara s UA okvirom te obavještava mrežni sloj da je veza završena
Primjeri HDLC operacija (Stallings, 2004)
a) Uspostavljanje i prekidanje veze:
b) Dvosmjerna razmjena podataka:
c) Stanje zauzetosti
d) Obnavljanje od pogreške uz pomoć negativne potvrde (REJ - reject)
e) Obnavljanje od pogreške uz pomoć timera
5. SLOJ PODATKOVNE VEZE NA INTERNETU
Internet se sastoji od računala (hosteva i usmjerivača - routera) i komunikacijske infrastrukture koja ih povezuje i koja je kod WAN-ova građena od point-to-pointiznajmljenih linija
obično je unutar neke organizacije jedan ili više LAN-ova povezano na usmjerivač preko kojeg iznajmljenom linijom ide veza do drugog udaljenog usmjerivača
drugi način povezivanja na Internet je korištenjem modema i obične (dial-up) telefonske linije: korisnik pomoću svog PC računala kod kuće zove davaoca Internet usluga (Internet provider), te tako privremeno postaje host na Internetu
Slika: Povezivanje PC na Internet (Tanenbaum, 1996)
i za vezu usmjerivač-usmjerivač preko iznajmljene linije i za dial-up host-usmjerivač vezu potreban je protokol sloja prijenosa podataka za pravljenje okvira, kontrolu greški i ostale funkcije
2 protokola koja se koriste na Internetu su SLIP i PPP
SLIP - Serial Line IP
stariji od PPP (nastao 1984. za povezivanje Sun radnih stanica na Internet preko dial-up linije i modema)
asinkroni prijenos IP paketa jednostavan protokol: stanica samo šalje IP pakete po vezi s posebnom
oznakom za kraj okvira, a koristi nadopunjavanje znakovima problemi kod SLIP-a:
o ne vrši nikakvo pronalaženje i ispravljanje greški (to ostavlja višim slojevim)
o podržava jedino IP (ne mogu ga koristiti mreže koje koriste druge protokole)
o svaka strana mora unaprijed znati IP adresu jer se ne može dinamički dodijeliti (najveći problem!)
o ne podržava prijavljivanje korisnika pod posebnim imenom (autentikaciju)
o nije standardan pa postoje različite (i međusobno nekompatibilne) verzije
PPP - Point-to-Point Protocol
nastao iz potrebe da se razvije standard koji neće imati nedostatke kao SLIP PPP osigurava:
1. metodu za tvorbu okvira koja sigurno određuje kraj jednog i početak drugog okvira; podržava i otkrivanje greški u prijenosu okvira
2. LCP (Link Control Protocol) - poseban podprotokol za podizanje i testiranje veze, opcije za pregovaranje i za oslobađanje veze
3. način da se “pregovara” s mrežnim slojem neovisno o protokolima koji će se u tom sloju koristiti; odabran je različiti NCP (Network Control Protocol) za svaki mrežni sloj koji se podržava (dinamička dodjela IP adresa)
Uspostavljanje privremne modemske PPP veze
korisnik od kuće zove davaoca Internet usluga kako bi njegov PC postao privremeni Internet host
PC prvo zove usmjerivač davaoca usluga preko modema nakon što modem usmjerivača odgovori i uspostavi se fizička veza, PC šalje
usmjerivaču niz LCP paketa u jednom ili više PPP okvira paketi i odgovori na njih služe da se odaberu PPP parametri koji će se koristiti nakon dogovora o parametrima, šalje se niz NCP paketa za konfiguriranje
mrežnog sloja; za PC je potrebna IP adresa jer PC želi izvršavati TCP/IP skup protokola (davaoc Internet usluga ima niz IP adresa i dinamički ih dodijeljuje svakom novo prijavljenom PC-u)
PC je sada Internet host i može slati i primati IP pakete kad je korisnik gotov sa radom, NCP oslobađa vezu sa mrežnim slojem i
pridruženu IP adresu, a LCP oslobađa vezu sloja za prijenosa podataka na kraju računalo kaže modemu da prekine telefonsku vezu i tako oslobodi
vezu fizičkog sloja
Format okvira
Slika: Format PPP okvira (Tanenbaum, 1996)
format PPP okvira sličan je HDLC formatu, glavna je razlika što je PPP znakovno orjentiran (nije bitovno)
na početku i na kraju je zastavica 01111110 adresno polje je na početku postavljeno na 11111111 što znači da sve
stanice trebaju prihvatiti okvir (nema posebnih adresa za svaku stanicu pojedinačno)
kontrolno polje na početku sadrži 00000011 što znači da je okvir nenumeriran tj. standardno se ne koristi pouzdani prijenos s potvrdom i rednim brojevima
o adresno i kontrolno polje se mogu izostaviti, pa se uštedi 2 byte po okviru
polje protokol govori kojeg je tipa paket u polju sa podacima (npr. LCP, NCP, IP, IPx, Appletalk,...)
polje sa podacima (“payload”) može biti bilo koje dužine do nekog maksimuma dogovorenog od LCP za vrijeme postavljanja veze, default je 1500 bytova
zaštita (checksum) je obično dužine 2 byte
Dijagram uspostavljanja i oslobađanja veze (i za modemsku i usmjerivač-usmjerivač vezu)
kad se linija ne koristi (MRTVO - DEAD), nije prisutan carrier fizičkog sloja niti postoji veza tog sloja
nakon uspostavljanja fizičke veze, prelazi se u stanje USPOSTAVI (ESTABLISH) - tada počinje dogovaranje LCP opcija
ako je dogovaranje bilo uspješno, vodi u fazu PROVJERI (AUTHENTICATE) - obje strane mogu provjeriti identitet jedna drugoj
ulaskom u fazu MREŽA (NETWORK) poziva se odgovarajući NCP protokol kako bi konfigurirao mrežni sloj, te se u fazi OTVORI (OPEN) prenose podaci
kada je prijenos podataka završio, veza prelazi u ZAVRŠI (TERMINATE) fazu, te ponovo u MRTVO (DEAD) nakon što se otpušta carrier
Slika: Pojednostavljeni dijagram uspostavljanja i oslobađanja veze (Tanenbaum, 1996)
LCP (Link Control Protocol)
LCP se koristi za dogovaranje opcija protokola sloja prijenosa podataka za vrijeme USPOSTAVI (ESTABLISH) faze (ne zanimaju ga same opcije nego mehanizam dogovaranja)
osigurava način da inicirajući proces predloži uspostavljanje veze, a da ga proces koji odgovara odbaci ili prihvati,
osigurava da dva procesa isprobaju kvalitetu linije i da ustanove je li dovoljno dobra za uspostavljanje veze
dozvoljava da se veza prekine kad više nije potrebna definirano je 11 vrsta LCP paketa:
Slika: Vrste LCP paketa (Tanenbaum, 1996)
I - inicirajući proces (initiator) R - proces koji odgovara (responder)
4 Configure- koda: pregovaranje o opcijama
2 Terminate- koda: raskidanje veze
-reject kodovima R javlja da nešto nije u redu
Echo- kodovima testira se kvaliteta veze
Discard-request za ispitivanje ima li prijenosa (za debugging)
NCP (Network Control Protocol)
za svaki pojedini mrežni protokol koristi se specifični NCP
VI. PODSLOJ PRISTUPA PRIJENOSNOM MEDIJU - MAC(Medium Access Sublayer)
MAC (Medium Access Sublayer) - podsloj za dohvat medija za prijenos podataka
kao podsloj sloja prijenosa podataka važan za mreže koje ne koriste point-to-pointnego rasprostranjene veze (multiaccess, random access channels)
posebno važan za LAN i MAN dok WAN uglavnom koriste point-to-point veze (osim satelitskih mreža)
glavni problem kod broadcast mreža je kako odrediti kome dodijeliti kanal za prijenos kada ga traži više stanica
1. PROBLEM DODJELE KANALA ZA PRIJENOS
1.1 Statička dodjela kanala u LAN i MAN
tradicionalni način dodjele jednog kanala (npr. telefonski vod) većem broju korisnika jeFDM (Frequency Division Multiplexing) - jednostavan i efikasan algoritam ako je riječ o malom, stalnom broju korisnika koji ostvaruju veliki promet; inače je ili dio spektra frekvencije neiskorišten, a dio korisnika mora čekati na dodjelu kanala (iako neki korisnici manje komuniciraju, ipak zauzimaju dio dodijeljene frekvencije)
općenito je podjela jednog kanala u više podkanala neefikasna; prosječni zastoj pri FDM podjeli kanala na N podkanala je N puta veći nego da se koristila cijela širina kanala za slanje svih okvira koji su poslani po podkanalima
slični problemi kako kod FDM vrijede i za TDM
1.2 Dinamička dodjela kanala u LAN i MAN
pretpostavke:
1. Model sa stanicama (station model) - model se sastoji od N neovisinih stanica (računala, telefoni,...) od kojih svaka ima program ili korisnika koji generira okvire za slanje; kada se okvir izgenerira, stanica se blokira i ne radi ništa dok se okvir uspješno ne prenese
2. Jedan kanal (single channel) - sve stanice šalju i primaju okvire po samo jednom kanalu i sve su jednake što se tiče hardvera (softver im može dodijeliti prioritete)
3. Kolizija (collision) - događaj kod kojeg se dva okvir prenose istovremeno, pa se vremenski prekrivaju i rezultat je iskrivljeni signal; sve stanice mogu ustanoviti koliziju, a tako iskrivljeni okviri moraju se prenijeti ponovo
4.a. Neprekidno vrijeme (continuous time) - prijenos okvira može započeti bilo kada, ne postoji glavni sat koji dijeli vrijeme u diskretne intervale
4.b. Vrijeme u intervalima (slotted time) - prijenos okvira počinje uvijek na početku intervala; interval može sadržavati 0 okvira (miruje), 1 okvir (uspješan prijenos) ili više okvira (kolizija)
5.a. Može se ustanoviti carrier (carrier sense) - stanica može odrediti da li se kanal već koristi i tada neće pokušavati slati nego će čekati da se oslobodi (carrier - električni signal na kabelu)
5.b. Ne može se ustanoviti carrier (no carrier sense) - stanica šalje podatke iako se kanal već koristi, a tek će kasnije odrediti da li je prijenos bio uspješan ili ne
- vrijeme potrebno za prijenos okvira između dvaju najudaljenijih stanica A i B
2 - vrijeme povrata (turnarround time): stanica A čeka 2 , ukoliko u vremenu stigne potvrda OK, ako ne pokušava poslati okvir ponovo
vrijeme povrata - potrebno kod otkrivanje kolizije, uzima se prilikom određivanje duljine vremenskog intervala kod algoritama za dodjeljivanje kanala za prijenos
2. PROTOKOLI DODJELE KANALA ZA PRIJENOS
2.1 ALOHA
ALOHA sistem razvijen je 70-ih godina na Univerzitetu Hawaii kao radio mreža, ali je osnovna ideja primjenjiva i za bilo koje druge sisteme u kojima se korisnici natječu za korištenje jednog kanala kojeg svi dijele
2 verzije koje se razlikuju po tome da li je vrijeme podijeljeno u intervale ili nije:“čista” (pure) i s vremenskim intervalima (sloted) ALOHA
a) Pure ALOHA
korisnici šalju kad god imaju podatke za slanje, tj. u potpuno proizvoljno odabranim vremenima
dolazi do kolizije (sudara), takvi okviri će biti uništeni, a pošiljaoc će to ustanoviti osluškivanjem kanala
ako je okvir uništen, pošiljaoc čeka neko vrijeme i šalje ga ponovo taj vremenski interval čekanja mora biti slučajno odabran “takmičarski” (contention) sistem - sistem s više korisnika koji dijele
zajednički kanal tako da dolazi do konflikata
Slika: Slanje okvira kod "čistog" ALOHA protokola (Tanenbaum, 1996)
kolizija se javlja uvijek kada dva okvira žele koristiti kanal u isto vrijeme, čak i ako se samo jedan bit novog okvira prekrije sa samo zadnjim bitom okvira koji je gotovo stigao
pitanje efikasnosti ALOHA kanala, tj. koliko prenesenih okvira izbjegne koliziju pod tim “kaotičnim” uvjetima? - maksimalno iskorištenje kanala je 18%, s većim prometom raste i broj sudara, a iskorištenje pada
Slika: ALOHA: iskorištenje kanala prema opterećenju kanala (Tanenbaum, 1996)
b) ALOHA s vremenskim intervalima (sloted)
metoda koja udvostručuje kapacitet ALOHA sistema vrijeme na kanalu je organizirano u jednake vremenske intervale (slots) čija je
veličina jednaka vremenu prijenosa okvira; stanice sinhronizira glavni sat (ili neka druga tehnika)
određeno je vrijeme kada se mogu slati okviri - prijenos može početi samo na početku slijedećeg intervala, pa će se okviri koji će se prekrivati, prekrivati potpuno
iskorištenost kanala je 37%
2.2 CSMA Protokoli
CSMA - Carrier Sense Multiple Access grupa protokola carrier sense protokoli - oni protokoli kod kojih stanice osluškuju medij za
prijenos tj. što rade druge stanice i ovisno o tome šalju podatke ili ne
a) Uporni (persistent) i neuporni (nonpersistent) CSMA
kod CSMA potreban je algoritam pomoću kojeg će se odrediti što da stanica učini ako je medij zauzet; razlikuju se 3 pristupa:
I. 1-persistent CSMA
stanica šalje okvir sa vjerojatnošću 1 kadgod ustanovi da je medij za slanje slobodan
pravila:
1. ako je medij slobodan, šalje
2. ako je medij zauzet, nastavlja slušati dok se kanal ne oslobodi i onda odmah šalje
3. ako dođe do kolizije, čeka slučajni vremenski interval i ponavlja 1. korak
efikasnost protokola ovisi o kašnjenju signala koji šalju stanice (jedna stanica može poslati okvir ako nije registrirala signal druge stanice o zauzetosti kanala) - dolazi do kolizije
primjer kolizije: 2 stanice čekaju da treća završi, te istovremeno počnu slati (stanice ne provjeravaju da li neka stanica već čeka)
manja kolizija nego kod ALOHA protokola
II. Nonpersistent CSMA
manje “sebičan” od 1-persistent CSMA pravila:
1. ako je medij slobodan, šalje
2. ako je medij zauzet, čeka slučajni vremenski interval i ponavlja 1. korak
reducira se kolizija, ali je medij djelomično neiskorišten (čeka se iako se medij već oslobodio)
III. p-persistent CSMA
kompromis koji želi reducirati i koliziju i neiskorištenost medija primjenjuje se na kanalima podijeljenim u vremenske intervale p = vjerojatnost slanja (p=1=100% tj. uvijek šalje) pravila:
1. ako je medij slobodan, šalje sa vjerojatnošću p (čeka tj. odgađa slanje za jedan vremenski interval (slot) sa vjerojatnošću (1-p) = q); interval je obično jednak 2
2. ako je medij zauzet, nastavlja slušati dok se kanal ne oslobodi i ponavlja 1.
koji p uzeti -> što je p manji, stanice dulje čekaju na slanje, ali se kolizija reducira
kod mreža s kolizijom efikasniji su neuporni protokoli
Slika: Usporedba iskorištenja kanala (Tanenbaum, 1996)
b) CSMA/CD (CSMA sa detekcijom kolizije - Collision Detection)
poboljšani CSMA: stanice prekidaju prijenos čim ustanove da je došlo do kolizije čime se štedi i vrijeme i propusnost
kolizija se može ustanoviti na pr. tako da se jačina primljenog signala usporedi s poslanim signalom
često se koristi za LAN (npr. jednu verziju koristi Ethernet) pravila:
1. ako je medij slobodan, A odmah šalje2. ako je medij zauzet, A nastavlja osluškivati medij i čim se oslobodi šalje3. ako se ustanovi kolizija za vrijeme prijenosa, A šalje kratki signal kako bi sve
ostale stanice saznale za koliziju4. nakon slanja signala, čeka slučajan vremenski interval (naziva se period
odustajanja - backoff) i ponavlja korak 1.
Slika: CSMA/CD stanja; borba za medij, slanje, mirovanje (Tanenbaum, 1996)
model za CSMA/CD sastoji se od izmjenjivanja perioda borbe za medij (contention) i perioda prijenosa (transmission) s periodima mirovanja stanica (idle)
osnovno pitanje je koliko dugo treba stanicama da ustanove da je došlo do kolizije (o tome ovisi dužina contention perioda, te propusnost)
primjer 1:o t0 - A šaljeo t1 - B i C su spremni za slanje, C šalje jer nije ustanovio da A šaljeo t2 - C ustanovio koliziju i prekinuo prijenoso t3 - A ustanovio koliziju kad mu je stigao signal od C
Slika: CSMA/CD (Stallings, 2004)
za jedan interval se uzima 2 primjer 2:
o u trenutku t=0 A šalje okvir za Bo u t=- (mali ) B šalje okvir (samo malo prije nego je okvir od A
stigao)o u t=B je ustanovio koliziju i prestao slatio u t=2 - A je ustanovio koliziju
Slika: utvrđivanje kolizije (Tanenbaum, 1996)
važno pravilo za CSMA/CD sisteme: okviri moraju biti dovoljno dugački (tj. definira se min. dužina svih okvira) da se dozvoli otkrivanje kolizije prije kraja prijenosa tj. treba se osigurati da je vrijeme povrata za sve okvire 2
do kolizije može doći za vrijeme perioda natjecanja (contention), to nastoji riješiti slijedeća grupa protokola: nekolizijski (Collision-Free) protokoli
2.3 Nekolizijski (Collision-Free) protokoli
rezervacijski protokol kod kojeg nakon faze prijenosa slijedi faza rezervacije, a ne borbe za medij
vremenski gubitak je veći jer svaka stanica mora čekati na svoj red da bi izvršila rezervaciju
primjeri: bit-map protokol, binary countdown
2.4 Protokoli sa ograničenim natjecanjem za medij (Limited-Contention)
2 načina mjerenja performansi: zastoj (duži periodi čekanja) kod malog prometa i iskorištenje kanala (broj ponovnih slanja okvira zbog kolizije) kod velikog prometa
natjecateljski (npr. ALOHA) su dobri kada je promet mali jer je tada manji zastoj (kraći periodi čekanja na slanje)
nekolizijski su dobri kod velikog prometa jer je tada bolja iskorištenost kanala (manje kolizija)
limited-contention protokoli su kombinacija natjecateljskih (contention) i nekolizijskih (collision-free) protokola
stanice se dijele u grupe i kada je promet velik samo ih se nekoliko (ili čak samo 1 stanica) može natjecati za slanje podataka (ostale čekaju), a kada je promet mali može se natjecati više stanica
VI. PODSLOJ PRISTUPA PRIJENOSNOM MEDIJU - MAC(Medium Access Sublayer)
3. IEEE STANDARD 802 ZA LAN
IEEE 802 je grupa standarda za LAN koji su međusobno kompatibilni u sloju podatakovne veze (data-link) gdje se koriste se protokoli LLC (Logical Link Control - logičko nadgledavanje veze)
razlikuju se u podsloju MAC (Medium Access Sublayer - nadgledavanje pristupa mediju) i u fizičkom sloju
standarde je prihvatila i ISO odnos LAN protokola (IEEE 802 referentnog modela) i OSI referentnog modela:
Slika: Usporeedba IEEE 802 protokola i OSI modela (Stallings, 2004)
fizički sloj:o kodiranje/dekodiranje signala, generiranje/uklanjanje preambule
(preamble) za sinhronizaciju, slanje/primanje bitova
o fizički sloj uključuje i specifikaciju prijenosnih medija i topologija
sloj podatkovne veze
o razdvojen je na MAC i LLC -> razlozi: standardno sloj podatkovne veze ne treba upravljati djeljivim medijem za prijenos; za isti LLC može biti više MAC
MAC - pristup prijenosnom mediju
o tvorba i upravljanje okvirima (adresiranje, polja za provjeru) - utvrđuje i uklanja okvire s pogreškom
o dodjeljivanje kanala za prijenos
LLC - logičko nadgledavanje veze
o osigurava sučelje za viši sloj te izvodi kontrolu pogreški i toka - vodi računa o tome koji su okviri uspješno stigli te o ponovnom slanju "neuspješnih" okvira
Slika: PDU kod LAN (Stallings, 2004)
neki značajni IEEE 802 standardi:
802.3 (CSMA/CD sabirnički standard) 802.4 (standard za sabirnicu sa znakom (token - token bus) 802.5 (standard za prsten sa znakom (token ring) 802.11 (bežični LAN) 802.15 (Bluetooth) 802.16 (bežični MAN)
3.1 LLC (Logical Link Control) - logičko nadgledavanje veze
LLC predstavlja gornju polovicu sloja podatkovne veze kod IEEE 802; sličan ostalim takvim slojevima
posebnosti:o mora podržavati djeljivi medij za prijenoso dio funkcija koje inače obavlja sloj podatkovne veze preuzeo je MAC
podsloj LLC protokol se nadograđuje na bilo koji od 802 LAN i MAN protokol
LLC usluge
LLC nudi 3 tipa usluga (servisa):o nepotvrđena bespojna (unacknowledged connectionless service) -
prijenos datagrama, nema kontrole toka i pogreški (ostavljeno višim slojevima)
o spojna usluga (connection-mode service) - slična kao kod HDLC: logička veza među korisnicima koji razmjenjuju podatke s kontrolom toka i pogreški
o potvrđena bespojna (acknowledged connectionless service) - između prethodne dvije usluge: datagrami s potvrdama, ali bez uspostavljanja logičke veze
LLC protokol
modeliran po HDLC, slične funkcije i formati okvira razlike:
o koristi jedino ABM (asynchronous balanced mode) - asinkroni način odgovora - naziva se operacija tipa 2 (type 2 operation)
o kod nepotvrđene bespojne usluge koriste se nenumerirani informacijski okviri - operacija tipa 1 (type 1 operation)
o kod potvrđene bespojne usluge koriste se 2 nova tipa nenumeriranih PDU - operacija tipa 3 (type 3 operation)
o LLC dozvoljava multipleksiranje sva 3 protokola imaju isti format PDU s 4 polja:
o adresa korisnika-odredišta LLCo adresa korisnika-izvora LLCo kontrolno polje (isto kao kod HDLC)o informacije
Slika: LLC (Tanenbaum, 1996)
3.2 IEEE 802.3 - Ethernet
IEEE 802.3 standard za brzine prijenosa (data rate): 10 Mb/s, 100 Mb/s (Fast Ethernet), 1 Gb/s i 10 Gb/s (gigabitni Ethernet)
standard definira tip korištenog kabela, najveću dozvoljenu udaljenost među računalima u mreži i format podataka (okvira)
za LAN (sa sabirničkom topologijom) s manjim brzinama 1-perzistentni CSMA/CD protokol na različitim medijima
za 1 Gb/s i 10 Gb/s swiched tehnike
a) 802.3 mediji za prijenos
najčešće se koriste:
10Base5 (debeli - thick - Ethernet)
koristi debeli koaksijalni kabel za realizaciju sabirnice brzina od 10 Mb/s na najvećoj dozvoljenoj udaljenost od 500 m dužina se može povećati repetitorima - max. 4 repetitora (proširenje do 2.5
km) povezivanje se vrši s "vampirskim priključcima" (vampire taps) - pinovi su
utaknuti do pola u jezgru koaksijalnog kabela
10Base2 (tanki - thin - Ethernet)
jeftiniji i lakši za instaliranje koristi tanki koaksijalni kabel brzina od 10 Mb/s na najveću dozvoljenu udaljenost od 200 m povezivanje se vrši T-spojem - kabel se reže i koriste se standardni BNC
konektori
10Base-T (Ethernet parica - twisted pair)
svaka stanica ima svoj kabel (obični parični) koji se povezuje na hub(koncentrator)
kombinacija topologije zvijezde i sabirnice dužina kabela do huba je 100-150 m
10Base-F (optički Ethernet)
koristi optičke kabele za vezu između zgrada ili udaljenih hubova (segment duži od 1km)
Usporedba:
Slika: 10Mb/s Ethernet (Stallings, 2004)
b) 802.3 MAC format okvira
Slika: 802.3 format okvira (Stallings, 2004)
preambula (preamble) za sinhronizaciju prijenosa - 7 bytova s uzorkom 10101010; sat primaoca se sinhronizira sa satom pošiljaoca
početak okvira (SFD - start of frame) - oblika 10101011 odredišna adresa (DA - destination address) - adresa jedne radne stanice,
grupe stanica ili nekoliko grupa izvorišna adresa (SA - source address) stanice koja šalje dužina (length) - koliko je bytova u polju s podacima
o za LAN s 10Mb/s ukupna dužina okvira (bez preambule i SFD) mora biti minimalno 64 byta (veća je za brže LAN)
podaci (data) - od 46 do 1500 bytova, ako je podataka manje od 46 bytova, okvir sadrži nadopunu (pad)
polje za provjeru (FCS - checksum) - CRC algoritam nad svim poljima osim preambule, SFD i FCS
c) 802.3 i CSMA/CD
promatramo 10Mb/s Ethernet: najduža staza je 2.5 km sa 4 pojačala -> interval (slot)2 je 512 bita ili 51.2 sek
koristi se 1-perzistentni CSMA/CD s algoritmom binarnog eksponencijalnog odustajanja (binary exponential backoff) za određivanje slučajnog vremena čekanja nakon kolizije
ideja: dinamički se prilagođava vremenski interval ovisno o broju kolizijao što je više kolizija, interval je duži kako bi se smanjila vjerojatnost nove
kolizijeo što je manje kolizija, interval je kraći - manje je zastoja jer je brže
dohvaćanje medija nakon 1. kolizije svaka stanica čeka 0 ili 1 vremenski interval 2 prije nego
pokuša ponovo ako ponovo dođe do kolizije, stanice mogu izabrati između 0, 1, 2 ili 3 puta 2 kod sljedeće (treće) kolizije biraju iz intervala od 0 do 23-1 općenito: nakon i-te kolizije biraju slučajan broj između 0 i 2i-1 te čekaju toliko
vremenskih intervala nakon i=10 se kao maksimum uzima 1023 nakon 16-te kolizije (i=16) - stanica odustaje
d) Fast Ethernet
standard 802.3u unatrag kompatibilan sa 802.3 poznat kao Fast Ethernet, nije novi standard nego dodatak na 802.3
osnovna ideja: zadržati format okvira, sučelja i proceduralna pravila (CSMA/CD), ali smanjiti trajanje bita (bit time) s 100ns na 10ns
koristi 10Base-T i koncentratore (hubs) kabeli: UTP3, UTP, optičko vlakno brzina 100 Mb/s na udaljenost od 100 m
100Base-T opcije i korišteni mediji:
Slika: 10BASE-T opcije (Stallings, 2004)
100Base-T - koristi IEEE 802.3 MAC protokol i format okvira 100Base-X - koristi specifikaciju medija za prijenos razvijenu za FDDi (Fiber
Distributed Data Interface) i 2 fizička linka među čvorovima (za prijenos i prijem podataka), u zgradama zahtijeva instalaciju posebnog kabela
100BASE-T4 - jeftina varijantakoja koristi UTP kategorije 3 (potrebne 4 parične linije između čvorova - podaci se prenose po 3 para i primaju po 3 para)
Usporedba:
Slika: Fast Ethernet (Stallings, 2004)
e) Gigabitni Ethernet
zadržao CSMA/CD protokol i Ethernet format kompatibilan s 10BASE-T i 100BASE-T
2 proširenje CSMA/CD sheme:
o duži okviri (zbog brzine 1Gb/s)
o više kratkih okvira mogu se slati odjednom bez traženja dozvole od CSMA/CD za svaki okvir (frame bursting)
tipična primjena:
Slika: Primjer Gigabitne Ethernet konfiguracije (Stallings, 2004)
Usporedba medija:
Slika: Gigabitni Ethernet (Stallings, 2004)
f) Prednosti i nedostaci Etherneta
prednosti:o najviše korištena LAN s najjeftinijom opremom i najviše iskustva s
instalacijomo jednostavan protokolo mogućnost dodavanja novih stanica za vrijeme rada mrežeo mala opterećenja - primjena i u sustavima za rad u realnom vremenuo dobra otpornost na smetnjeo koristi se kabel i nisu potrebni modemio mogu se koristiti postojeći telefonski kabelio može se koristiti optikao različite topologijeo različite brzine (od 10 Mb/s dalje)
nedostaci:o protokol ipak nedeterminističkio kod velikog opterećenja smanjuje se propusnost zbog mehanizma za
kolizijuo analogna detekcija kolizijeo minimalna duljina okvira 64 bytao i kod većih brzina interval je uvijek 2 iako je brzina okvira veća, pa
efikasnost opada
3.3 IEEE 802.4 - Sabirnica s dodavanjem znaka (Token Bus)
za mreže sa topologijom sabirnice koje ne koriste CSMA/CD ovaj tip mreže koristi se ako je neophodno da nema kolizije znak (token) - poseban kontrolni okvir koji kruži mrežom fizički je sabirnica s dodavanjem znaka linearni kabel na koji su priključene
stanice logički organizirane u prsten svaka stanica zna adrese stanica koje su joj “lijevo” i “desno” (sam fizički
redosljed povezivanja stanica na kabel nije važan) kad se uspostavi logički prsten, stanica s najvišim brojem može slati prvi
okvir, nakon čega predaje dopuštenje za slanje svom susjedu šaljući znak samo stanica koja ima znak može slati okvire - nema kolizije 802.4 MAC protokol dodaje i uklanja stanice iz prstena na fizičkom nivou token bus koristi širokopojasni koaksijalni kabel, a moguće
brzine su 1, 5 i 10 Mb/s
Slika: Sabirnica s dodavanjem znaka (Tanenbaum, 1996)
a) 802.4 format okvira
razlikuje se od 802.3 formata
Slika: 802.4 format okvira (Tanenbaum, 1996)
kontrolno polje (frame control) - za razlikovanje okvira s podacima od kontrolnih okvira (služe npr. za predavanje tokena, dodavanje i oslobađanje stanica iz prstena)
b) Održavanje logičkog prstena
u mreži postoji tablica adresa stanica koju održava svaka stanica; ako neka stanica mora koristiti mrežu češće od ostalih, njena adresa u tablici može biti nekoliko puta navedena
ako radna stanica ne primi odgovor od stanice kojoj je poslala znak, šalje joj drugi, ako i tada ne dobije odgovor šalje posebni okvir “tko slijedi” (who follows frame) kroz cijelu mrežu
ako i u tom slučaju ne dobije odgovor, stanica šalje glavni zahtjev kroz mrežu tj.okvir za nagovaranje nasljednika (solicit successor frame), nakon što dobije odgovor, mijenja adresu tokena u adresu radne stanice koja je poslala odgovor i zatim joj šalje i token
ako token nestane, logički prsten se mora ponovo uspostaviti ako dođe do dupliciranja tokena, stanica koja uoči prijenos od druge stanice, a
sama ima token, uništava ga
3.4 IEEE 802.5 - Prsten s dodavanjem znaka (Token Ring)
definira prstenastu mrežu s tokenom u kojoj stanice predaju znak koji kruži fizičkim i logičkim prstenom
osobina prstena: nije pravi rasprostranjeni (broadcast) medij, nego skup sučelja (interface) povezanih point-to-point vezama
svaki bit koji dolazi na sučelje kopira se u 1-bitni spremnik (buffer) i zatim ponovo na prsten; u spremniku se bit pregleda i možda izmjeni prije ponovnog pisanja na prsten
Slika: Prsten s dodavanjem znaka (Tanenbaum, 1996)
kod token prstena, token kruži po prstenu kada su sve stanice mirne; ako stanica želi slati okvir, treba maknuti token sa prstena prije slanja (kako postoji samo 1 token, samo jedna stanica u tom trenutku može slati)
sučelje ima 2 oblika rada:
1. osluškivanje (listen) - ulazni bitovi se jednostavno kopiraju na izlaz2. slanje (transmit) - nakon što se uzme token, sučelje prekida vezu između
ulaza i izlaza postavljajući vlastite podatke na prsten
problem kod prstena: ako se prekine neki od kabela, cijela mreža pada; da se to spriječi, koristi se posebni uređaj za ožičenje (wire center)
stanice su u logičkom prstenu, a fizički su povezane na uređaj kabelom koji ima 2 parice: jednu za ulazne i jednu za izlazne podatke
unutar centra za ožičenje je zaobilaznica (bypass) koja oslobađa stanicu ako dođe do prekida kabela (ne prekida se cijeli prsten)
glavna prednost prstena u odnosu na sabirnicu sa znakom je prijenos na veće udaljenosti bez gubitka snage signala (stanica koja primi signal prvo ga pojača, a zatim šalje dalje na mrežu)
4. PREMSONICI (BRIDGES)
uređaji sloja prijenosa podataka koji povezuju više LAN-ova zašto su potrebni premosnici tj. zašto se unutar 1 organizacije koristi više LAN:
o različiti odjeli organizacije imaju različite LAN koje treba povezatio organizacija može biti smještena u nekoliko udaljenih zgrada
o ako je puno računala, dijele se u nekoliko LAN od kojih svaka ima svoj poslužitelj datoteka (file-server)
o udaljenost među najudaljenijim računalima u jednom LAN bila bi prevelika
o zbog pouzdanosti - da se u slučaju kad jedan od čvorova u mreži padne, ne sruši čitav sistem
o zbog sigurnosti - mogu se izolirati dijelovi mreže i tako ograničiti dostup do njih
Slika: Povezivanje LAN premosnicima (Tanenbaum, 1996)
Princip rada premosnika:
Slika: Povezivanje premosnikom LAN 802.3 i 802.4 (Tanenbaum, 1996)
most koji povezuje k različitih LAN-ova ima k različitih MAC podslojeva i k različitih fizičkih slojeva
Problemi kod premosnika od 802.x prema 802.y:
različiti formati okvira (potrebno reformatiranje pri prenošenju između različitih LAN)
povezani LAN mogu imati različite brzine, pa će doći do zagušenja jer sporiji LAN neće moći primiti sve pakete od brzog
različita najveća dužina okvira (predugi okvir mora biti proslijeđen na LAN koji to ne može prihvatiti)
a) Transparentni premosnici
prihvaćaju svaki okvir koji šalje bilo koji LAN priključen na njega
Slika: Konfiguracija s 4 LAN i 2 premosnika (Tanenbaum, 1996)
kad mu stigne okvir, premosnik odlučuje da li će ga:
1. odbaciti (discard) - ako su polazni i odredišni LAN isti2. proslijediti (forward) - tad određuje na koji će LAN poslati okvir na osnovu
odredišne adrese okvira i hash tablice u kojoj su navedena sva moguća odredišta i LAN-ovi kojima pripadaju
3. koristiti “preplavljivanje” (flooding) - ako je odredišni LAN nepoznat, postavlja se okvir na sve LAN spojene na most, osim na polazni LAN
Premosno stablo (Spanning Tree)
za povezivanje premosnicima većeg broja LAN premosnici se dogovaraju jedan s drugim tako da u svakom od smjerova
prema LAN bude samo jedan priključak premosniku i da odabrani put bude najučinkovitiji
jedan premosnik se uzima kao korijen stabla i konstruira se stablo (spanning tree) sa najkraćim putem od korijena do bilo kojeg drugog premosnika čime se dobije točno jedna staza od svakog do svakog LAN
koristi se samo dio topologije tj. ne iskorištava se propusnost u potpunosti
Slika: premosno stablo (Tanenbaum, 1996)
VII. MREŽNI SLOJ (Network)
mrežni sloj (network layer) dostavlja pakete od izvorišne do odredišne stanice (host) kroz podmrežu (subnet) - skup računala-čvorova (routers)
Slika: Okolina mrežnog sloja (Tanenbaum, 2002)
1. ELEMENTI DIZAJNA MREŽNOG SLOJA
zadaci mrežnog sloja:o osiguravanje usluge za prijenosni sloj (transport)o poznavanje organizacije podmrežeo usmjeravanje paketao upravljanje zakrčivanjem podmreže
biranje optimalnih puteva kako neki ne bi bili preopterećeni, a drugi bez prometa
o povezivanje mreža - vođenje računa o problemima kada su stanice u različitim mrežama
Osnovne funkcije:
1. Usmjeravanje (routing)
najvažnija funkcija algoritmi za usmjeravanje su dio softvera mrežnog nivoa i odgovorni su za
donošenje odluke po kojoj će se izlaznoj liniji paketi prenositi
2. Kontrola zakrčenja (congestion control)
zakrčivanje podmreže javlje se kada je dolazeći promet veći od kapaciteta izlaznih linija, pa je u podmreži previše paketa i neki se počinju gubiti
razlikuje se od kontrole toka (sloj prijenosa podataka) gdje brzi pošiljaoc šalje podatke sporom primaocu; ovdje se gleda ukupni promet na mreži
kontrola zakrčivanja povezana je sa usmjeravanjem jer je glavni razlog zakrčivanja loše usmjeravanjem
3. Povezivanje mreža (Internetworking)
izvorišna i odredišna stanica su u različitim mrežama, pa je potrebano usmjeravanje kroz međumreže, a sve te mreže mogu koristiti različite protokole (treba vršiti pretvaranje paketa koji prelaze iz mreže u mrežu)
1.1 Usluge za prijenosni sloj
sučelje (interface) između prijenosnog i mrežnog sloja predstavlja granicu podmreže, tj. to je sučelje između korisnika i prijenosnika (carrier) i mora biti posebno dobro definirano
najčešće se usluga mreže naplaćuje ciljevi pri dizajnu usluga mrežnog sloja su:
1. usluge moraju biti neovisne o tehnologiji podmreže2. na prijenosni sloj ne smije utjecati broj, tip, i topologija podmreža3. mrežne adrese za prijenosni sloj moraju imati jedinstveni način označavanja i
kroz LAN i kroz WAN
temeljno pitanje je gdje impelmentirati složenost: u podmrežu (mrežni sloj) ili hostove (prijenosni sloj):
o pristaše hostova: ističu da sve jeftinija i jača računala mogu vršiti potrebne funkcije; brzina i primjena u stvarnom vremenu im je važnija od točnosti (na pr. za digitalni govor)
o pristaše podmreže: ističu kako korisnici ne žele da se složeni protokoli prijenosnog sloja izvršavaju na njihovim računalima; žele pouzdanu uslugu
2 pristupa organizacije podmreže, to jest 2 tipa usluga:
1. pouzdana spojna (connection-oriented) servis - mrežni sloj tj. podmreža osigurava pouzdani prijenos (ATM mreže, telefonske kompanije)
2. nepouzdana bespojna (connectionless) - provjeru greški i toka vrši prijenosni sloj tj. krajnje stanice ili hostovi (Internet - besplatna bespojna usluga)
1.2 Unutrašnja organizacija mrežnog sloja (podmreže)
2 različite filozofije za organizaciju podmreže:o virtualna veza (virtual circut): veza kod spojne organizacije
- kod uspostavljanja veze izabire se jedna ruta od pošiljaoca prema primaocu i ona se koristi za cijelo vrijeme trajanja veze
o datagramska podmreža: slanje paketa kod nespojne organizacije
- svaki paket šalje se posebno i može imati drugačiju rutu
- podmreža ima više posla, ali se lakše prilagođava ispadima i zakrčenjima
usporedba datagramske podmreže i podmreže s virtualnim vezama:
Datagramska podmreža Podmreža s virtualnim
vezama
uspostavljanje veze nije potrebno potrebno
adresiranjepotpune adrese polazišta i odredišta su sadržane u svakom paketu
paket sadrži kratki broj virtualne veze
informacije o stanjupodmreža ne čuva informacije o stanju
za svaku virtualnu vezu podaci se spremaju u tablicu u čvorovima
usmjeravanje svaki paket se usmjerava neovisno o drugima
staza se bira kod uspostavljanja virtualne veze i svi se paketi šalju po toj stazi
efekt ispada čvoranema ih osim što se izgubepaketi pohranjeni u čvoru za vrijeme ispada
sve virtualne veze koje prolaze kroz čvor koji je ispao moraju se prekinuti
kontrola zakrčivanja teško ju je realiziratilako ako se dovoljno spremnika dodijeli unaprijed svakoj virtualnoj vezi
kompromisi:
- između memorijskog prostora čvora i propusnosti mreže (kod datagrama adrese polazišta i odredišta su sadržane u paketima, a kod virtualnih veza u tablici u ruterima)
- između vremena uspostavljanja veze i provjeravanja adrese paketa (duže uspostavljanje virtualne veze, ali kraće upućivanje na odredište; obrnuto kod datagrama)
2. ALGORITMI ZA USMJERAVANJE (ROUTING ALGORITHMS)
bez obzira da li se ruta bira posebno za svaki paket ili samo jednom kod uspostavljanja veze, algoritam usmjeravanja mora biti točan, jednostavan, stabilan, robustan (da izdrži sve promjene u topologiji i prometu), nepristran (da svi imaju priliku za slanje) i optimalan (da broj skokova paketa bude što manji jer se tako smanjuje kašnjenje i isto povećava i propusnost)
algoritmi se dijele u dvije glavne grupe:
1. Neadaptivni (nonadaptive) algoritmi (statičko usmjeravanje) - ne donose svoju odluku na osnovu mjerenja ili procjene prometa i topologije, nego stazu biraju unaprijed (off-line) i šalju je svim čvorovima kod podizanja mreže
2. Adaptivni (adaptive) algoritmi (dinamičko usmjeravanje) - kod donošenja odluke prilagođavaju se promjenama u prometu i topologiji, a razlikuju se po tome:
o gdje prikupljaju informacije (od susjednih čvorova ili od svih)o kada mijenjeju stazu (svakih T sekundi, kada se mijenja promet ili
topologija)o koja mjera se uzima za optimizaciju (udaljenost, broj skokova,
procijenjeno vrijeme prijenosa,...)
Princip optimalnosti
"ako je čvor J na optimalnoj stazi od čvora I prema K, onda je i optimalna staza od J prema K na toj istoj stazi":
I ------ J ------ K
posljedica principa: skup optimalnih staza od svih izvora prema danom odredištu čini stablo sa korijenom u odredištu - sink tree (ne mora biti jedinstveno)
cilj svih algoritama za usmjeravanje je pronaći i koristiti stablo za sve čvorove jer će se po njemu svaki paket dostaviti u konačnom broju skokova (stablo -> nema petlji)
Slika: Podmreža i stablo čvora B (Tanenbaum, 1996)
Statički algoritmi
2.1 Usmjeravanje po najkraćem putu (Shortest Path Routing)
gradi se graf podmreže tako da čvorovi predstavljaju računala-čvorove, a lukovi komunikacijske linije (linkove)
da bi se izabrala ruta između zadanog para čvorova, algoritam pronalazi najkraću stazu među njima u grafu
mjera za najkraći put može biti broj skokova, udaljenost u km, procijenjeno vrijeme prijenosa, ...
za odabranu mjeru se lukovi u grafu označavaju “težinama” tj. brojevima koji se izračunaju kao funkcija odabrane mjere (npr. prosječni zastoj ili geografska udaljenost u km)
postoji više algoritama za računanje najkraće staze između 2 čvora u grafu
poznat Dijkstrin algoritam:o svaki čvor je obilježen s brojem koji predstavlja udaljenost od
izvorišnog čvora po najboljoj stazio na početku se staze neznaju, pa su svi čvorovi označeni
s (beskonačno), kako algoritam napreduje, oznake se mijenaju (privremene i stalne oznake)
Primjer:
ako je mjera broj skokova, staze ABC i ABE su jednako duge ako je mjera udaljenost u km, ABC je duža od ABE
Slika: Primjer za usmjeravanje po najkraćem putu (Tanenbaum, 1996)
računa se najkraća staza od A do D (mjera je udaljenost) udaljenost se mjeri od "radnog" čvora
uz svaki čvor se navodi udaljenost i čvor od kojeg se vršilo označavanje - na kraju se može rekonstruirati najkraća staza
rezultat: A - B - E - F - H - D
2.2 Plavni algoritam (Flooding)
svaki dolazeći paket šalje se po svakoj izlazećoj liniji osim po onoj po kojoj je došao
tako je uvijek izabran i najkraći put, ali je veliki broj dupliciranih paketa selektivni flooding - paketi se ne šalju po svim linijama nego samo po onima
koje idu približno u pravom smjeru prednost: robustan algoritam (lako izdrži sve promjene u topologiji i prometu)
- na pr. za vojnu primjenu
2.3 Ruting na osnovu toka (Flow-Based Routing)
statički algoritam koji uzima u obzir i topologiju mreže i promet po njoj jer je u nekim mrežama prosječni tok podataka između svakog para čvorova relativno stalan i predvidiv
osnovna ideja pri analizi: ako se zna kapacitet i prosječni tok linije, moguće je izračunati prosječni zastoj paketa na osnovu teorije stoga (queueing theory); na taj se način lako izračuna prosječni zastoj cijele podmreže i traži se algoritam koji proizvodi tu vrijednost minimalniom
moraju se unaprijed poznavati: topologija podmreže, matrica prometa, matrica kapaciteta linije, algoritam koji će se koristiti
za računanje se može koristiti program koji isprobava sve moguće rute, potrebno je dosta vremena ali se može vršiti off-line
Dinamički algoritmi
2.4 Usmjeravanje vektorom udaljenosti (Distance Vector Routing)
Bellman-Ford ili Ford-Fulkerson algoritam, originalni algoritam u ARPANET ideja čvorovi periodično izmjenjuju informacije o usmjeravanju sa susjedima svaki čvor održava tablicu (vektor) indeksiranu po svakom čvoru podmreže
(ima po jedan ulaz za svako odredište) ulaz se sastoji od 2 dijela:
o izlazna linija prema odredištuo procjenjena mjera udaljenosti do odredišta (vrijeme, ili udaljenost u
km, kašnjenje, ukupan broj paketa na stazi,...)
pretpostavlja se da čvor zna mjeru do svog susjeda (na pr. ako je mjera broj skokova, vrijednost je 1)
tablice se stalno ažuriraju i razmjenjuju sa susjedima izvođenjem računanja za tablicu svakog susjeda, čvor može pronaći koju liniju
je najbolje koristiti
Primjer:
mjera je kašnjenje (zastoj) svake T msec svaki čvor J šalje svakom svom susjedu listu procijenjenih
kašnjenje za svako odredište (ujedno i prima takve liste od susjeda) J ažurira tablicu:
o susjed X poslao tablicu u kojoj Xi označava procjenu kašnjenja od X prema čvoru i
o ako je m kašnjenje od J do X, onda je m + Xi kašnjenje od J prema čvoru i
o ako je vrijeme m + Xi manje od onog koje već u tablici od J piše za i, stavlja se novo vrijeme
Slika: Primjer za usmjeravanje vektorom udaljenosti (Tanenbaum, 1996)
2.5 Usmjeravanje stanjem veza (Link State Routing)
ARPANET od 1979. zamjenjuje usmjeravanje vektorom udaljenosti ovim algoritmom
razlozi toj zamjeni su što su u početku sve linije bile istog kapaciteta od 56 kbps (nije bilo potrebno uzeti u obzir propusnost) te sporost distance vector routinga
kod link state usmjeravanja svaki čvor mora:
1. otkriti svoje susjede i naučiti njihove adrese - slanjem HALLO paketa po svakoj point-to-point liniji
2. izmjeriti zastoj do svakog susjeda - slanjem ECHO paketa kojeg druga strana vraća odmah čim ga primi
3. napraviti paket pomoću kojeg će reći ostalima što je saznao - to vrši periodički ili kad se pojavi neki značajni događaj (npr. pad nekog čvora)
4. poslati taj paket svim ostalim čvorovima - na kraju svaki čvor ima čitav skup link state paketa
5. izračunati najkraći put do svakog drugog čvora - nekim algoritmom se računa najkraći put za sva moguća odredišta (na pr. Dijkstra)
za podmrežu s n čvorova od kojih svaki ima k susjeda, memorija potrebna za spremanje podataka proporcionalna je s nk
2.6 Hijerarhijsko usmjeravanje (Hierarchical Routing)
usmjeravanje se vrši hijerarhijski kada je mreža toliko velika da svaki čvor ne može imati podatke za svaki drugi čvor, pa se čvori grupiraju u regije
svaki čvor zna kako proslijediti paket unutar svoje regije, ali ne zna unutrašnju strukturu drugih regija
svaka takva regija promatra se kao 1 čvor , pa u tablici postoje reci koji odgovaraju drugim čvorima u istoj grupi i drugim regijama
za velike mreže vrši se hijerarhija na više nivoa
Primjer:
Slika: Primjer za hijerarhijsko usmjeravanje (Tanenbaum, 1996)
2.7 Usmjeravanje za pokretne (mobile) hostove
da bi se proslijedio paket pokretnom hostu, mreža ga prvo mora naći pokretni korisnik ima svoju stalnu kućnu lokaciju i adresu koja se koristi za
slanje paketa geografska podjela na područja od kojih svako ima svog forein agent koji pazi
na pokretne korisnike koji ulaze u to područje, te home agent koji paze na korisnike koji inače pripadaju tom području, ali su trenutno van njega
pokretni host se mora registrirati kod forein agent područja u kojem se nalazi, a on uspostavlja vezu sa home agent područja u kojem je kućna lokacija hosta
2.8 Broadcast usmjeravanje
koristi se kada je potrebno da se paket istovremeno pošalje na više ili na sva odredišta
može se vršiti na više načina:
- svima se šalje druga kopija paketa
- plavljenje (flooding)
- usmjeravanje na više odredišta (multidestination routing): svaki paket ima listu odredišta, kad stigne u čvor, provjerava se lista i čvor određuje skup potrebnih izlaznih linija (tj. onih koje su najbolja staza za barem 1 odredište); čvorovi šalju dalje po tim linijama kopije paketa čija lista odredišta sadrži samo one prema kojima linija vodi; na kraju ostaje samo jedno odredište (kopija kao obični paket)
- koristi se spanning tree - podskup podmreže koji uključuje sve čvorove, ali je bez petlji; čvor kopira pakete po svim linijama koje pripadaju tom stablu, osim po onoj po kojoj je paket došao, a za obilaženje stabla mogu se koristiti različiti algoritmi
2.9 Multicast usmjeravanje
multicasting je slanje poruka grupama čvorova koje su same po sebi velike, ali su u odnosu na čitavu mrežu male
čvorovi moraju znati u kojoj su grupi njihovi hostovi i te podatke šalju čvorovima-susjedima, pa se tako te informacije šire kroz podmrežu
kod ovog usmjeravanje svaki čvor računa spanning tree za sve ostale čvorove u podmreži
kad se pošalje multicast paket za neku grupu, čvor makne linkove u stablu koji vode do čvor koji nisu u grupi
Slika: Primjer multicast usmjeravanje (Tanenbaum, 1996)
3. ALGORITMI ZA KONTROLU ZAKRČENJA (CONGESTION CONTROL)
zakrčenje (congestion) - u mreži je previše paketa što degradira performanse
Slika: Previše prometa u mreži dovodi do zakrčnja (Tanenbaum, 1996)
dok je prijenos manji od prijenosnog kapaciteta podmreže, broj dostavljenih paketa proporcionalan je broju poslanih
kod prejakog prometa dio poslanih paketa se gubi kod vrlo jakog prometa skoro niti jedan paket nije dostavljen (zakrčenje)
razlozi zakrčenja:o paketi stižu s nekoliko ulaznih linija, a moraju se dostaviti po istoj
izlaznoj linijio spori procesori čvorovao linije s malom propusnošću (potrebno izbalansirati sve komponente
sustava)
zakrčenje ima tendenciju da se sve više i više pojačava:o ako čvor nema slobodnih buffera, ignorira dolazeće paketeo čvor koji ih šalje ponavlja slanje (nije dobio povrdu)o spreminci čvora koji šalju ostaju puni, pa se tako zakrčenje vraća
unatrag kontrola zakrčenja se razlikuje od kontrole toka gdje brzi pošiljaoc šalje
podatke sporom primaocu (gleda se point-to-point promet); ovdje se gleda ukupni promet na mreži
3.1 Općeniti principi kod kontrole zakrčenja
načini kontrole se mogu podijeliti u dvije grupe: kontrola s otvorenom petljom (open loop) i s zatvorenom petljom (close loop)
Kontrola s otvorenom petljom (upravljanje)
problem se nastoji riješiti tako da se dobrim dizajnom unaprijed osigura da do njega ni ne dođe
odluka se donosi bez obzira na trenutno stanje mreže planira se: kada će se prihvatiti novi paketi, pa kada odbaciti, koji će se paketi
odbaciti, kako će se vršiti raspoređivanje u raznim točkama mreže
Kontrola sa zatvorenom petljom (regulacija)
kad dođe do problema, poduzimaju se koraci za njegovo rješavanje što se kod kontrole zakrčenja sastoji od 3 koraka:
1. promatra se sistem da se ustanovi kada i gdje se javilo zakrčenje - različite mjere za promatranje podmreže i otkrivanje zakrčenja: postotak odbačenih paketa, prosječna duljina redova (queue), broj paketa koji se šalju ponovo jer je vrijeme isteklo, prosječno kašnjenje paketa
2. te informacije se šalju na mjesta gdje će se poduzeti akcija - može se poslati posebni paket s obavijesti, uključiti u posebno polje običnih paketa, periodički slati posebni probni paket koji ispituje zakrčenje
3. prilagoditi će se sistem tako da se problem riješi - hostovi poduzimaju određene akcije da reduciraju zakrčenje
algoritmi za kontrolu isto se dijele na algoritme s otvorenom i zatvorenom petljom
Algoritmi s otvorenom petljom
djeluju kod pošiljaoca djeluju kod primaoca
Algoritmi sa zatvorenom petljom
eksplicitna povratna informacija (feedback) - paketi se šalju natrag od točke zakrčenja da se upozori pošiljaoc,
implicitna povratna informacija (feedback) - pošiljaoc sam, vlastitim opažanjem (na pr. kašnjenja potvrde) ustanovi da je došlo do zasićenja
2 rješenja kod zakrčenje: povećati resurse - koristiti dodatnu propusnost, druge rute, rutere koji se
inače koriste za backup... smanjiti promet - nekim korisnicima otkazati ili smanjiti neke usluge...
3.2 Oblikovanje prometa (Traffic Shaping)
jedan od glavnih uzroka zagušenja je promet u “rafalima” (bursty traffic) oblikovanje prometa želi regulirati i ujednačiti tok prometa kod postavljanja virtualnih kanala korisnik i prijenosnik (carrier) dogovaraju
oblik prometa, kasnije se treba promatrati da li se korisnik drži dogovora i poduzeti određene akcije ako se ne drži
lakše se realizira kod virtualne veze nego kod datagramske
Algoritam “kabao koji propušta” (Leaky Bucket Algorithm)
algoritam otvorene petlje svaki host je povezan na mrežu preko sučelja koje sadrži stog konačne
veličine (kabao) kad paket stigne dodaje se na stog, osim ako stigne na već puni stog (tada se
odbacuje) izlazni tok je konstantan bez obzira koliko je vode u kabelu (tj. paketa u stogu)
Slika: Algoritam “kabao koji propušta” (Tanenbaum, 1996)
algoritam kabla koji propušta: sustav stoga s jednim poslužiteljem i konstantnim vremenom posluživanja
ako su paketi jednake duljine, host periodički postavlja po jedan paket na mrežu
ako su paketi različite duljine, periodički se šalje fiksni broj bytova
Algoritam "kabao sa znakovima" ( Token Bucket Algorithm)
algoritam otvorene petlje fleksibilniji algoritam od prethodnog koji dozvoljava da se izlaz nešto ubrza
kad je promet jači (dozvoljava “rafale” do neke maksimalne dužine), sprečava i gubitak podataka
kabao sadrži znakove (token) koji se periodički generiraju jedan po jedan (nakon svakog određenog broja sekundi)
da bi se paket proslijedio, mora uhvatiti i uništiti jedan znak: 1 znak je dozvola za slanje 1 paketa (varijanta: 1 znak je dozvola za slanje k bytova)
algoritam dozvoljava da se skupi veći broj znakova i tako pošalje veći snop paketa (do maksimalne veličine kabela)
ovaj algoritam nikada ne odbacuje pakete, kada se kabao popuni, bacaju se tokeni
implementacija:o varijabla koja broji znakoveo brojač se povećava za 1 svakih ∆T i smanjuje za 1 svaki put kad se
paket pošaljeo ako je brojač 0, ne može se poslati niti jedan paket
Slika: Algoritam “kabao sa znakovima” (Tanenbaum, 1996)
3.3 Specifikacija toka (Flow Specification)
specifikacija toka je dogovor pošiljaoca, primaoca i podmreže o točnoj specifikaciji oblika prometa - određuju se karakteristike prometa i kvaliteta usluga potrebnih za aplikacije
ideja: prije nego što se uspostavi veza (ili počne slati niz datagrama) izvor traži od podmreže da odobri specifikaciju)
podmreža prihvaća, odbija ili daje drugi prijedlog
3.4 Kontrola zasićenja kod podmreža s virtualnim vezama
algoritam zatvorene petlje kontrola pristupa (admission control) - kad se ustanovi zasićenje, ne
uspostavljaju se novi virtualni kanali dok se problem ne riješi sličan je način kada se dozvoljavaju novi kanali, ali se vode dalje od
problematičnih mjesta:
Slika: Kontrola pristupa (Tanenbaum, 1996)
još jedna strategija kod virtualnih veza:o prije uspostavljanja virtualnih kanala host i mreža se dogovaraju o
količini i obliku prometa, kvaliteti usluga i o ostalim parametrimao resursi se unaprijed rezerviraju i izbjegava se zasićenjeo dogovaranje se najčešće vrši kad je podmreža već zakrčena
3.5 Prigušeni paketi (Choke Packets)
pristup koji se koristi i za podmreže sa virtualnim vezama i za datagramske podmreže
čvor promatra postotak iskoristivosti izlaznih linija i u slučaju opterećenja šalje prigušeni (choke) paket natrag izvoru koji reducira slanje paketa prema tom čvoru za određeni postotak
čvor može svakoj izlaznoj liniji pridružiti vrijednost u između 0 i 1 koja opisuje iskoristivost linije, u se računa prema unaprijed odabranim formulama, a ovisi o karakteristikama čvora i linija
ako je u veće od nekog zadanog praga, linija je u stanju alarma i tada šalje prigušeni paket prema izvoru
originalni paket se označava (kako ne bi ponovo generirao prigušen paket) te se prosljeđuje dalje
kad izvor dobije prigušeni paket, smanjuje promet prema naznačenom čvoru
neko vrijeme ignorira ostale prigušene pakete od tog čvora zatim osluškuje ponovo da li mu je stigao prigušeni paket, ako nije može opet
povećati tok paketa prema čvoru
varijante algoritma: pošteno stavljanje u red (fair queueing)
o koristi se kako bi se osiguralo da svi hostovi koji šalju podatke prema čvoru ravnopravno smanje slanje paketa
o čvorovi imaju više stogova za svaku izlaznu liniju (po jedan stog za svaki izvor)
o kad linija postane mirna, čvor ciklički obilazi stogove i uzima prvi paket sa slijedećeg stoga - ciklički se dodjeljuje izlazna linija za slanje po jednog paketa
prigušeni paketi po skokovima (hop-by-hop choke packets)o kod velikih udaljenosti slanje prigušenih paketa nema efekta zbog
prespore reakcijeo koriste se prigušeni paketi po skokovima tj. svi hostovi na putu između
izvora i hosta kod kojeg je došlo do zagušenja isto primaju prigušeni paket i reduciraju slanje
3.6 Odbacivanje (Load Shedding)
čvorovi odbacuju pakete koje ne mogu primiti, koje će pakete odbaciti ovisi o aplikacijama koje se izvršavaju
aplikacije moraju označiti svoje pakete klasama prioriteta, tako da se prvo odbacuju paketi u najnižoj klasi (najmanje važni)
VII. MREŽNI SLOJ (Network)
4. POVEZIVANJE MREŽA (INTERNETWORKING)
povezuju se dvije ili više mreža koje koriste različite protokole - čine internet razlozi:
o trend povećanja broja različitih mrežao jeftinija računalna oprema i odluka o kupovini na nižima razinamao različite mreže imaju različite tehnologije (razvoj HW dovodi do
kreiranja novog SW) primjeri povezivanja:
o LAN-LAN, LAN-WAN, WAN-WAN, LAN-WAN-LAN
Slika: Povezivanje mreža (Tanenbaum, 1996)
Razlike među mrežama
neke od razlika koje se mogu javiti u mrežnom sloju:
Element Mogućnost
Ponuđena usluga Spojna nasuprot bespojnoj
Protokoli IP, IPX, CLNP, AppleTalk, ...
Adresiranje Plošno (IEEE 802) nasuprot hijerarhijskom (IP)
Multicasting (broadcasting) Podržani ili nisu
Veličina paketa Svaka mreža ima vlastiti maksimum
Kvaliteta usluge (QoS) Može biti prisutno ili ne, više različitih vrsta
Rješavanje pogrešaka Pouzdano, uređeno, neuređeno dostavljenje
Kontrola toka Protokoli s prozorima, upravljanje intenzitetom, nema
Kontrola zakrčenja Kabao koji propušta, prigušeni paketi, ...
Sigurnost Pravila povjerljivosti, enkripcije, ...
Parametri Različiti vremenski intervali, specifikacije toka,...
Obračunavanje troškova Po trajanju veze, paketima, byteovima, bez naknade
4.1 Načini povezivanja mreža
između svakih dviju mreža potrebna “crna kutija” tj. uređaj koji vrši potrebna pretvaranja paketa pri prijelazu iz jedne mreže u drugu, različito se zove ovisno o sloju koji vrši to pretvaranje (često korišten zajednički naziv je usmjernik, pristupnik - gateway):
mreže se mogu povezivati pomoću različitih uređaja koji funkcioniraju u različitim slojevima:
Sloj Uređaj
aplikacijski aplikacijski pristupnik (application gateway)
prijenosni prijenosni pristupnik (transport gateway)
mrežni usmjernik (router)
podatkovne veze premosnik (bridge), prespojnik (switch)
fizički ponavljač (repeater), razdjelnik (hub)
1. fizički sloj:
ponavljač (repeater)
o kopira bitove između segmenata kabelao uređaj nižeg sloja koji samo pojačava ili obnavlja slabe signale
razdjelnik (hub)
o povezuje dijelove lokalnih mreža te sadrži veći broj ulaznih portovao kada okvir stigne na jedan ulaz, šalje se na sve ostale ulaze: ne
provjeravaju se adrese
2. sloj podatkovne veze:
premosnik (bridge)
o "store-and-forward" uređajo sprema i prosljeđuje okvire sloja prijenosa podataka između LAN-ovao prihvaća okvir i daje ga sloju prijenosa podataka gdje se provjerava, a
zatim ga šalje fizičkom sloju za prosljeđivanje na drugu mrežuo sam premosnik ne gleda niti mijenja paket mrežnog sloja koji je unutar
okvirao provjerava adrese (MAC za Ethernet)
prespojnik (switch)
o sličan premosniku po tome što provjerava odredišne adrese okvirao osnovna razlika u tome što se najčešće koristi kada treba povezati
samostalna računala
3. mrežni sloj:
usmjernik (router) za više protokola (multiprotocol router)
o prosljeđuje pakete između različitih mrežao uređaj mrežnog sloja koji uzima dolazeće pakete s jedne linije i
prosljeđuje ih na druguo te linije mogu pripadati mrežama sa različitim protokolimao provjerava adrese paketa i ne vidi adrese okvira prijenosnog sloja
4. prijenosni sloj:
transportni pristupnik (gateway)
o povezuje računala koja koriste različite prijenosne protokole (na pr. TCP/IP i ATM)
o kopira pakete s jedne prijenosne veze na drugu i reformatira ih po potrebi
Iznad 4. sloja: u aplikacijskom sloju povezivanje mreža vrši aplikacijski pristupnik (gateway): razumije format i sadržaj podataka te prevodi poruke iz jednog formata u drugi (na pr. e-mail gateway može prevoditi Internet poruke u SMS poruke za mobitele)
Razlika između prespajanja (switching) u sloju podatkovne veze i usmjeravanja (routing) u mrežnom sloju:
Slika: prespajanje i ruting (Tanenbaum, 1996)
a)
izvorišno računalo S želi poslati paket odredištu D, S i D su na različitim Ethernetima povezanim sa switchem (ili premosnikom)
S uključuje (enkapsulira) paket u okvir, okvir dolazi u swich koji ga osnovu MAC adrese utvrđuje da treba ići na LAN 2
switch uklanja okvir s LAN 1 i postavlja ga na LAN 2
b)
Ethernet LAN-ovi su povezani parom rutera (međusobno povezani point-to-point iznajmljenom linijom)
ruter iz okvira izvlači paket, utvrđuje adresu (na pr. IP adresu) i traži je u svojoj tablici usmjeravanja -> odlučuje da treba poslati paket udaljenom ruteru
na suprotnom kraju paket se uključuje u Eternet okvir i postavlja na LAN 2
Osnovna razlika: switch (ili premosnik) vrši prijenos na osnovu MAC adrese, a ruter na osnovu adrese paketa unutar okvira
Zajedničko: prihvaćaju dolazeće PDU, pogledaju određena polja u zaglavlju, te donesu odluku gdje poslati PDU na osnovu informacije u zaglavlju i u internim tablicama
uobičajena su 2 stila povezivanja mreža: spajanje podmreža s virtualnim vezama i spajanje datagramskih podmreža
4.2 Povezane virtualne veze (Concatenated Virtual Circuts)
povezivanje slično načinu na koji se uobičajeno uspostavlja veza uspostavlja se niz virtualnih veza od izvora prema odredištu kroz 1 ili više
pristupnika (višeprotokolarni usmjernici - ruteri) virtualni kanal u podmreži gradi se prema usmjerniku najbližem odredišnoj
mreži novi virtualni kanal gradi se od tog usmjernika do višeprotokolarnog
usmjernika višeprotokolarni usmjernik nastavlja graditi virtualni kanal prema takvom
usmjerniku u slijedećoj podmreži, ako se još nije dostiglo odredište svaki usmjernik održava tabele koje govore o tome koji virtualni kanali prolaze
kroz njega i gdje se trebaju usmjeriti kad se uspostavi virtualna staza i započne tok paketa podataka, svaki
usmjernik pretvara paket u odgovarajući format pakete je potrebno označiti brojevima virtualnih veza svi paketi moraju proći kroz isti niz višeprotokolarnih usmjernika ovakav način je najbolji ako su sve mreže približno istih osobina (npr. sve
generiraju pouzdan prijenos)
Slika: Povezane virtualne veze (Tanenbaum, 1996)
4.3 Bespojno povezivanje (Connectionless Internetworking)
datagramski model kod kojeg paketi koji pripadaju 1 vezi ne moraju od izvora do odredišta ići kroz isti niz pristupnika, tj. po istoj stazi
odluka o usmjeravanju se donosi za svaki paket posebno veća propusnost nego kod povezivanja virtualnih kanala, ali nema garancije
da će paketi stići na odredište u pravom redoslijedu glavna prednost datagramskog modela kod povezivanja mreža: može se
koristiti za podmreže koje nemaju implementirane virtulane kanale (npr. mobilni LAN)
problemi: različiti formati paketa, adresiranje
Slika: Bespojno povezivanje (Tanenbaum, 1996)
4.4 Korištenje tunela (Tunneling)
poseban slučaj kod povezivanja je kada su izvori i odredište u istom tipu mreže, a između njih su mreže različitih tipova
tehnika tuneliranja: host 1 načini paket sa IP adresom hosta 2 i uključuje ga u Ethernet okvir adresiran na multiprotokolarni usmjernik
kad usmjernik primi okvir, uklanja IP paket i sprema ga u posebno (payload) polje paketa mrežnog sloja WAN mreže, te ga adresira na drugi usmjernik
taj usmjernik izvlači IP paket i šalje ga hostu 2 unutar Ethernet okvira WAN služi kao tunel od jednog do drugog višeprotokolarnog usmjernika samo ti višeprotokolarni usmjernici trebaju razumjeti IP i WAN pakete, mreža
na krajevima ne mora
Slika: Usporedba tuneliranja paketa i automobila (Tanenbaum, 1996)
4.5 Usmjeravanje kod povezivanja mreža
ruting kod više povezanih mreža sličan je onom kod jedne mreže
Slika: Primjer povezivanja 5 mreža s 6 usmjernika (Tanenbaum, 1996)
graf interneta komplicira to što svaki usmjernik može direktno slati pakete bilo kojem drugom usmjerniku povezanom na mrežu na koju je i on spojen
nakon konstruiranja grafa, primjenjuje se neki od algoritama za usmjeravanje 2 razine algoritama (razlikuju se internetwork i intranetwork usmjeravanje)
o unutrašnji protokol za premošćivanje (interior gateway protocol) - koristi se unutar svake mreže
o vanjski (exterior gateway protocol) - između mreža mreže se nazivaju samostalni sustavi - Autonomous System (AS) - ne ovise
jedna o drugoj i svaka koristi svoj unutrašnji protokol
4.6 Fragmentacija
svaka mreža ima neku maksimalnu dozvoljenu veličinu svojih paketa (u rangu od 48 bajtova za ATM ćelije do 65,515 bajtova za IP pakete)
problem: veliki paket treba proći kroz mrežu čija je maksimalna dozvoljena veličina paketa manja
rješava se tako da se dozvoli pristupnicima (gateway) da pakete razbiju u fragmente i da svaki fragment šalju kao posebni internet paket
teži dio je fragmente ponovo složiti u originalni paket, za to postoje 2 suprotne strategije:
1. fragmentacija je nevidljiva (transparentna) za bilo koju slijedeću mrežu u nizu međumreža kroz koje paket prolazi do odredišta, te mreže ne znaju da se fragmentacija dogodila jer na ulazu u međumrežu pristupnik fragmentira paket, fragmenti se šalju kroz mrežu na izlazni pristupnik koji ih opet slaže
- jednostavni pristup, ali problemi:
izlazni pristupnik mora znati kada je primio sve dijelove
svi dijelovi moraju izaći iz mreže kroz isti pristupnik javlja se zastoj zbog stalnog ponovnog razbijanja i slaganja paketa
2. fragmentacija je vidljiva - veliki paket se fragmentira i dijelovi se šalju kroz sve međumreže kao "obični" paketi, a slažu se tek kad stignu do odredišta (hosta)
- problemi:
svaki host mora znati napraviti spajanje smanjuje se propusnost jer svaki fragment mora imati zaglavlje cijelo vrijeme
prenošenja
Slika: Fragmentacija (Tanenbaum, 1996)
Numeriranje fragmenata
kod fragmentacije paketa, fragmenti moraju biti tako numerirani da se može rekonstruirati originalni podatak: jedan način stablo:
0 -> 0.0, 0.1, 0.2, 0.30.0 -> 0.0.1, 0.0.2 itd.
najbolje je da internetwork protokol definira osnovnu veličinu fragmenta dovoljno malu da može proći kroz svaku mrežu, svi fragmenti biti će isti osim zadnjeg koji može biti kraći
zaglavlje sadrži podatak o originalnom broju paketa i o broju fragmenta
4.7 Firewalls (sigurnosne stijene)
problem zašite povjerljivih informacija kompanija od neovlaštenog pristupa i od oštećivanja
firewall - elektronički “pokretni most” preko kojeg ide sav promet prema kompaniji ili iz nje
firewall na slici ima 2 komponente: 2 usmjernika (na unutrašnjem LAN i na vanjskom LAN) koji vrše filtriranje paketa i aplikacijski pristupnik (gateway)
pristupnici-filteri su standardni pristupnici sa dodatnim funkcijama koje omogućuju da se svaki dolazeći i izlazeći paket provjeri i da se odbace oni koji ne zadovoljavaju neke kriterije; provjereni paket na jednom usmjerniku prolazi kroz aplikacijski pristupnik
filterima paketa upravljaju tablice koje konfigurira administrator sistema, a u kojima se navodi popis prihvatljivih i neprihvatljivih izvora i odredišta i pravila o tome što učiniti sa paketima koji dolaze ili idu na druga računala
aplikacijskih pristupnika može biti više za različite aplikacije
Slika: Primjer firewalla (Tanenbaum, 1996)
5. MREŽNI SLOJ U INTERNETU
Internet se sa stanovišta mrežnog sloja može promatrati kao skup međusobno povezanih podmreža ili samostalnih (autonomnih) sustava (Autonomous Systems - AS)
ne postoji prava struktura, ali postoji nekoliko glavnih okosnica (backbone) na koje su povezane regionalne mreže, a na njih LAN univerziteta, kompanija, davaoca Internet usluga... (“kvazihijerarhijska” organizacija)
Slika: Internet - primjeri mreža (Tanenbaum, 1996)
ono što Internet drži na okupu je protokol mrežnog nivoa - IP (Internet Protocol) čiji je zadatak da na najbolji mogući način prenese datagrame (koje
prima od prijenosnog sloja) od izvora do odredišta, bez obzira da li su oni na istoj mreži ili nisu i da li postoje ili ne postoje mreže među njima
5.1 IP protokol
format IP datagrama: datagram se sastoji od zaglavlja i teksta zaglavlje (header) ima 20-byte-ni fiksni dio i opcionalni dio varijabilne dužine
Slika: IP zaglavlje (Tanenbaum, 1996)
polja:
1. verzija (version) - kojoj verziji protokola pripada datagram (omogućeno korištenje različitih verzija na različitim računalima) - IPv4 i IPv6
2. IHL - koliko je dugačako zaglavlje u 32-bitnim riječima (polje je dugo 4 bita, min. vrijednost je 5 (nema opcija), max je 15 (60 bytova za zaglavlje)
3. tip usluge (type of service) - host govori podmreži koju vrstu usluge želi (moguće su različite kombinacije pouzdanosti i brzine) - prva 3 bita prioritet, po jedan za zastoj (D - deley), propusnost (T - throughput), pouzdanost (R - reliability)
4. ukupna duljina (total length) datagrama - i zaglavlja i podataka (max. je 65,535 byteova)
5. identifikacija (identification) omogućuje odredišnom hostu da odredi kojem datagramu pripada fragment koji je stigao
6. nekorišten bit7. DF (Don’t Fragment) - naređenje usmjernicima da ne fragmentiraju datagram
jer ga odredište ne može ponovo složiti8. MF (More Fragments) - polje imaju postavljeni svi fragmenti osim zadnjeg kao
znak da dolazi još fargmenata istog datagrama9. posmak fragmenta (fragment offset) - gdje fragment pripada unutar
trenutnog datagrama10.vrijeme života paketa (time to live) - brojač za ograničavanje životnog
vijeka paketa, smanjuje se pri svakom skoku i kad dosegne nulu, paket se odbacuje (max. je 255 sekundi)
11.protokol (protocol) polje govori mrežnom sloju koji će se protokol prijenosnog sloja koristiti
12.kontrolni zbroj zaglavlja (header checksum) - provjerava se samo zaglavlje (računa se ponovo pri svakom skoku)
13.izvorna adresa (source address)14.odredišna adresa (destination address) - broj mreže i hosta15.opcije (options) - za uključivanje informacija koje će biti potrebne u
slijedećim verzijama protokola, neke od opcija:
Opcija Opis
Sigurnost Navodi koliko je datagaram tajan
Strogo usmjeravanje Daje cijelu stazu koja se mora slijediti
Slabo usmjeravanje Daje listu čvorova koji se ne smiju zaobići
Bilježenje staze Svaki čvor dodaje svoju IP adresu
Vremenska oznaka (timestamp)
Svaki čvor dodaje svoju IP adresu i vremensku oznaku
5.2 IP adrese
svaki host i čvor (router) na Internetu ima jedinstvenu IP adresu dugu 32 bita koja se piše kao četiri decimalna broja odvojena točkom (dotted decimal notation)
svaki od 4 bytea piše se decimalno u rasponu od 0-255 na pr.
10100001 00110101 000101101 00000011 ==> 161.53.45.3
IP se ne odnosi na host nego na mrežno sučelje (obično je isto jer je host na 1 mreži)
IP adresa se sastoji od 2 dijelao broja mreže na koju je priključeno računaloo broja računala u toj mreži
adrese dodjeljuje neprofitna organizacija ICANN (Internet Corporation for Assigned Names and Numbers)
postoji više različitih formata IP adresa različite klase IP adresa koje odgovaraju različitim veličinama mreža
Slika: Klase IP adresa (Tanenbaum, 1996)
klasa A (velike mreže) koristi se za mali broj mreža (128) sa velikim brojem računala (16,777,214),
klasa B (srednje mreže) je za nešto više mreža (16,382) sa srednjim brojem računala (65,534)
klasa C (male mreže) je za veliki broj mreža (2,097,152) sa malo računala (256)
klasa D služi za mulitcasting, a E za buduće korištenje
neke su adrese rezervirane i imaju posebno značenje:
Slika: Posebne IP adrese (Tanenbaum, 1996)
Na primjer:o ako je 0.0 oznaka mreže, to je trenutna mrežao 0.0.0.0 se koristi samo kod podizanja računalao 161.53.0.0 označava mrežu čija je adresa 161.53 (CARNet)o 161.53.255.255 se odnosi na sva računala u CARNetuo 127.xx.yy.zz služi za testiranje
Podmreže (subnets)
veća mreža sa IP adresiranjem može se interno podijeliti se u više dijelova kako bi se lakše održavala, ali se prema vanjskom svijetu i dalje čini da je riječ o jednoj mreži
dijelovi mreže nazivaju se podmreža (subnet) i povezani su ruterima za označavanje podmreža koristi se maskiranje koje nije vidljivo izvan mreže određuje se maska podmreže (subnet mask) koja definira način na koji se broj
hosta dijeli na broj podmreže i broj hosta; čuva je glavni ruter bitovi za adresu mreže postavljaju se na 1, a za adresu hosta na 0
Na primjer:
16-bitni broj hosta podijeljen je na 6-bitni broj podmreže i 10 bitni broj hosta (64 LAN, svaki sa 1022 hosta)
maska je 255.255.252.0 ili /22 (maska duga 22 bita)
Slika: Primjer za maskiranje (Tanenbaum, 1996)
standardno usmjernik ima tablicu s (mreža, 0) IP adresama ostalih udaljenih mreža i tablicu s (ova-mreža, host) IP adresama lokalnih hostova u svojoj mreži
paket se šalje:
o drugom čvoru (ruteru) ako je za udaljenu mrežu
o defaultnom čvoru (ako tablica ne sadrži adresu u paketu)
o lokalnom hostu
tablica se mijenja ako se koristi maskiranje, dodaju se ulazi:
o (ova-mreža, podmreža, 0)
o (ova-mreža, ova-podmreža, host)
ruter na podmreži k zna sve ostale podmreže, a zna i sve hostove u svojoj podmreži k
za određivanje adrese podmreže usmjernik koristi Boolean AND adrese paketa i podmaske:
130.50.15.6 10000010.00110010.00001111.00000110
255.255.252.0/22 11111111.11111111.11111100.00000000
AND10000010.00110010.00001100.00000000
Rezultat (adresa podmreže:
130.50.12.0
5.3 Usmjeravanje na internetu
a) Unutrašnji protokol usmjeravanja OSFP (Open Shortest Path First)
Internet se sastoji od više autonomnih sistema (AS), razlikuju se algoritmi za usmjeravanje unutar jednog AS (interior gateway protocol) i između više AS (exterior gateway protocol)
originalni Internet unutrašnji protokol bio je usmjeravanje vektorom udaljenosti (distance vector routing), zatim usmjeravanje stanjem veza (link state routing), a od 1990. godine standard je dinamički algoritam OSPF (Open Shortest Path First)
OSPF podržava 3 tipa veza i mreža:
1. point-to-point vezu između točno 2 rutera2. mrežu s višestrukim pristupom (multiaccess) s broadcasting (većina LAN)3. mrežu s višestrukim pristupom (multiaccess) bez broadcasting
mreža s višestrukim pristupom (multiaccess network) je ona koja ima više čvorova od kojih svaki može direktno komunicirati sa svima ostalima (svojstvo koje imaju LAN i WAN)
OSFP djeluje tako da predstavi skup stvarnih mreža, rutera i veza usmjerenim grafom čijim su lukovima pridružene težine (udaljenost, zastoj...) na osnovu kojih se računa najkraći put između čvorova
veliki AS dijele se u više područja (areas) koje čini 1 mreža ili skup susjednih mreža, uvijek je jedno područje okosnica (backbone area) ili područje 0 na koje su povezana sva ostala područja (na pr. tunelima)
unutar jednog područja svaki čvor koristi istu bazu podataka o stanju linkova i izvodi isti algoritam za pronalaženje najkraćeg puta
glavni mu je zadatak izračunati najkraći put od sebe do svakog drugog čvora u svom području uključujući i one koji su povezani u okosnicu
razlikuju se 3 vrste staza:
1. intra-area - unutar jednog područja2. interarea - između 2 područja, u 3 koraka: ide se od izvora do okosnice,
preko okosnice do odredišnog područja, te do odredišta3. interAS - između različitih AS
OSPF razlikuje 4 klase čvorova:
1. unutrašnji čvorovi potpuno unutar jednog područja2. čvorovi na rubu područja - povezuju 2 ili više područja3. čvorovi na okosnici4. čvorovi na rubu AS koji komuniciraju s čvorovima u drugim AS
Slika: Odnos AS, okosnica i područja za OSPF (Tanenbaum, 1996)
svaki ruter korištenjem preplavljivanja (flooding) informira ostale rutere u svom području o svojim susjedima i troškovima nakon čega svaki ruter konstruira graf za svoje područje i izračuna najkraći put
to čini i područje okosnice, a njegovi čvorovi dodatno računaju najbolju stazu od sebe do svakog drugog čvora (pri tome izmjenjuju informacije sa ruterima na rubu područja)
a) Vanjski protokol usmjeravanja BGP (Border Gateway Protocol)
BGP (Border Gateway Protocol) se koristi između više AS i dizajniran je tako da dozvoli uključivanje različitih vrsti pravila u vezi sa prometom, a koja se odnose na političke, sigurnosne ili ekonomske prilike
pravila se ručno konfiguriraju u svaki BGP usmjernik i nisu dio samog protokola
u osnovi je BGP protokol usmjeravanja vektorom udaljenosti, ali umjesto da BGP čvorovi periodički daju susjedima samo procijenjeni trošak do svakog odredišta, daju i točnu stazu koju koriste
5.4 IPv6
nova verzija IP protokola (razvija se od 1990.) koja će zamijeniti postojeću IPv4
glavni ciljevi:
1. podrška za milijarde hostova2. reduciranje veličine tablica usmjeravanja3. jednostavniji protokol koji će dozvoliti da ruteri brže šalju paketa4. sigurniji od IP5. više pažnje posvećuje tipu usluge (posebno za podatke u stvarnom vremenu)6. olakšava multicasting specificiranjem područja7. omogućuje pokretnost hosta bez promjene adrese8. dozvoljava daljnji razvoj protokola u budućnosti9. dopušta da se još godinama koriste i stari i novi protokoli
od brojnih prijedloga, 1993 je odabran SIPP (Simple Internet Protocol Plus) i dana mu je oznaka IPv6
IPv6 nije kompatibilan sa IPv4, ali je kompatibilan sa ostalim Internet protokolima (TCP, UDP, ICMP, IGMP, OSPF, ...)
glavne osobine: duže adrese od IPv4 (16 byte-ova duge), jednostavnije zaglavlje (7 polja), bolja podrška za dodatne opcije (nekadašnja polja zaglavlja sada su opcionalna), veća sigurnost, više se posvećuje pažnja QoS (kvaliteti usluge)
IPv6 zaglavlje
Slika: IPv6 zaglavlje (Tanenbaum, 2002)
polja:
1. verzija (version) - oznaka 6 za IPv6 (4 za IPv4)2. klasa prometa (traffic class) - za razlikovanje paketa sa različitim zahtjevima
za dostavljanje u stvarnom vremenu (multimedijski sadržaji)3. oznaka toka (flow label) - koristiti će se za dozvoljavanje uspostavljenja
pseudoveze (flow) s posebnim zahtjevima između izvora i odredišta4. duljina ostatka (payload length) - koliko bajtova slijedi iza zaglavlja od 40
byteova5. slijedeće zaglavlje (next header) - za opcionalna dodatna zaglavlja, ako je to
zadnje IP zaglavlje, kazuje kojem transportnom protokolu treba predati paket6. granica skoka (hop limit) - za ograničavanje života paketa7. izvorna adresa (source address)8. odredišna adresa (destination address) - 16 byte-ne adrese
IPv6 adresni prostor:
adrese koje započinju sa 80 nula rezervirane su za IPv4 adrese ukupan broj adresa je 2128 (približno 3 x 1038) - 7 x 1023 IP adresa/m2 i trenutno
je dodijeljeno oko 28% nova notacija: 8 grupa od 4 heksadecimalne znamenke sa dvotočkama
između, npr.
8000:0000:0000:0000:0123:4567:89AB:CDEF
ili optimizirano:
8000::123:4567:89AB:CDEF
ili u staroj notaciji sa parom dvotočki ispred:
::192.31.20.46 (za IPv4 adrese)
Usporedba IPv6 sa IPv4 zaglavljem:
nema IHL jer IPv6 ima fiksnu duljinu, umjesto Protocol polja ima Next header, nema polja koja omogućuju fragmentaciju (svi paketi su veliki 1280 bajtova), nema Checksum polja jer sloj podatakovne veze i transportni sloj vrše provjeru
Dodatna zaglavlja
da bi se nadoknadila neka polja kojih nema, uvode se opcionalna dodatna zaglavlja (extension header)
6 vrsti:
Slika: IPv6 opcionalona zaglavlja (Tanenbaum, 2002)
VIII. PRIJENOSNI SLOJ (Transport)
prijenosni sloj (transport layer) zadužen je za prijenos podataka od izvorišnog do odredišnog računala
1. PRIJENOSNE USLUGE
zadatak prijenosnog sloja je osigurati efikasnu i pouzdanu uslugu za aplikacijski sloj (ili sloj sjednice, ako postoji)
zadaci:o usluge za više slojeve o adresiranjeo uspostavljanje vezeo oslobađanje vezeo kontrola tokao multipleksiranjeo obnavljanje nakon pada
1.1 Usluge za više slojeve
prijenosni entitet (transport entity) - hardver i/ili softver u prijenosnom sloju (u jezgri operacijskog sustava, kao poseban korisnički proces, na sučelju mrežne kartice...) koji obavlja usluge za više slojeve
logički odnos između mrežnog, prijenosnog i aplikacijskog sloja:
Slika: Odnos mrežnog, prijenosnog i aplikacijskog sloja: (Tanenbaum, 1996)
kao što postoje 2 tipa mrežnih usluga (spojna - connection-oriented i bespojna -conectionless), tako postoje i 2 tipa prijenosnih usluga
općenito vrijedi da su usluge mrežnog i prijenosnog sloja slične s tom razlikom da prijenosni sloj nudi bolju kvalitetu tih usluga
primitivi prijenosnog sloja trebaju biti dizajnirani neovisno od primitiva mrežnog sloja koji se razlikuju od mreže do mreže; tako se programi aplikacijskog sloja mogu pisati i mijenjati neovisno o tipu mreže => gornji slojevi su izolirani od tehnologije, dizajna i implementacije podmreže
iz tog razloga se često razlikuju slojevi od 1-4 kao niži slojevi koji osiguravaju uslugu prijenosa (transport service provider) od viših slojeva koji su korisnici usluge prijenosa (transport service user)
prijenosni sloj ima ključnu poziciju u toj podjeli jer je na granici između davanja i korištenja usluge pouzdanog prijenosa podataka
1.2 Primitivi prijenosne usluge
primitivi dozvoljavaju korisniku prijenosnog sloja (to je aplikacijski program) da dohvati prijenosnu uslugu; svaka prijenosna usluga ima svoje vlastite primitive
glavne razlike u odnosu ne mrežnu uslugu:
o spojna prijenosna usluga (connection-oriented) je pouzdana i tako nadograđuje nepouzdanu mrežu
o mrežnu uslugu koriste samo prijenosni entiteti i korisnici ne moraju poznavati mrežne primitive
o prijenosne primitive koriste aplikacijski programi, te ih programeri moraju poznavati
TPDU (Transport Protocol Data Unit) - poruke koje prijenosni entitet šalje drugom prijenosnom entitetu; razmjenjuju ih prijenosni slojevi na različitim računalima i sadržane su u paketima koje razmjenjuju mrežni slojevi, paketi su uključeni u okvire (frames) koje razmjenjuju slojevi prijenosa podataka:
Slika: TPDU, paketi i okviri (Tanenbaum, 1996)
primjer primitiva prijenosne usluge koji dozvoljavaju aplikaciji (npr. sa serverom i više udaljenih klijenata) da uspostavi, koristi i oslobodi vezu:
Primitiv Poslani TPDU Značenje
LISTEN (ništa) Blokira dok neki proces ne pokuša uspostaviti vezu
CONNECT CONNECTION REQ. Aktivni pokušaj uspostavljanja veze
SEND DATA Slanje informacija
RECEIVE (ništa) Blokira dok ne stigne DATA TPDU
DISCONNECT DISCONNECTION REQ. Ova strana želi osloboditi vezu
LISTEN primitiv izvršava server obično pozivajući proceduru koja uzrokuje da se server blokira dok klijent pokušava uspostaviti vezu
CONNECT izvršava klijent koji želi uspostaviti vezu sa serverom i pri tome šalje serveru CONNECTION REQUEST TPDU
prijenosni entitet deblokira server koji je u LISTEN i šalje CONNECTION ACCEPTED TPDU natrag klijentu, kad taj TPDU stigne do klijenta, uspostavljena je veza
sada s podaci izmjenjuju korištenjem SEND i RECEIVE primitiva, kod RECEIVE je jedna strana blokirana dok čeka da druga izvrši SEND i pošalje TPDU
veza se oslobađa korištenjem DISCONNECT primitiva; razlikuje se asimetričnooslobađanje veze (bilo koji korisnik šalje DISCONNECT TPDU drugoj strani) odsimetričnog (u oba smjera se veza prekida kao da je riječ o 2 samostalne veze, tj. obje strane vrše DISCONNECT)
Berkeley Sockets (spojne točke)
skup prijenosnih primitiva (socket primitiva) koje koristi Berkeley UNIX za TCP:
Primitive Značenje
SOCKET Kreira novu komunikacijsku krajnju točku (end point) - bez adrese
BIND Socket-u pridružuje lokalnu adresu
LISTEN Oglašava spremnost za prihvaćanjem veze; daje veličinu stoga za spremanje dolazećih poziva
ACCEPT Prihvaća se veza
CONNECT Aktivni pokušaj uspostavljanja veze
SEND Slanje nekih podataka preko veze
RECEIVE Primanje nekih podataka preko veze
CLOSE Simetrično oslobađanje veze
2. ELEMENTI PRIJENOSNIH PROTOKOLA
prijenosna usluga se implementira pomoću prijenosnog protokola (transport protocol) koji se koristi između 2 prijenosna entiteta
prijenosni protokol sličan je protokolu podatkovne veze (data link) jer oba trebaju osigurati i pravilan slijed podataka, te kontrolu pogreški i toka
Slika: Okolina sloja podatkovne veze i podatkovnog sloja (Tanenbaum, 1996)
glavne razlike ovise o okolini u kojoj ta dva protokola djeluju:
1. kod sloja podatkovne veze ne treba specificirati čvor s kojim se komunicira (svaka izlazna linija jedinstveno određuje taj čvor); kod prijenosnog sloja potrebno je adresiranje odredišta
2. početno uspostavljanje veze kompliciranije je kod prijenosnog sloja3. sposobnost podmreže da sprema pakete (“sakrije” paket koji se nakon nekog
vremena iznenada ponovo pojavi) zahtjeva kod prijenosnog sloja posebne protokole
4. pohranjivanje podataka (buffering) i kontrola toka zahtijevaju kod prijenosnog sloja poseban pristup zbog velikog broja različitih veza
2.1 Adresiranje
kad aplikacijski proces želi uspostaviti vezu sa drugim udaljenim aplikacijskim procesom, mora točno navesti koji je to proces
metoda koja se za to koristi je da se definiraju krajnje točke na kojoj procesi osluškuju da li ima zahtjeva za uspostavljenjem veze - npr. na Internetu su te krajnje točke parovi (IP adresa, lokalni port)
općeniti naziv za prijenosne krajnje točke je TSAP (Transport Service Access Point) - npr. port - dok je analogna krajnja točka mrežnog sloja NSAP (Network Service Access Point) - npr. IP adresa
odnos između NSAP, TSAP, mrežne veze (od NSAP do NSAP) i prijenosne veze (od TSAP do TSAP) za podmrežu:
Slika: TSAP, NSAP i veze (Tanenbaum, 1996)
TSAP imaju pridružene adrese, a određene usluge (procesi na serveru) vežu se na TSAP sa nekom adresom
da bi se pronašla TSAP adresa koja odgovara danom imenu usluge, mogu se koristiti ili stalne TSAP adrese za usluge (moraju ih unaprijed znati korisnički procesi koji zahtijevaju usluge od servera) ili neke drugačije sheme:
1. initial connection protocol - umjesto da svaki server osluškuje na unaprijed poznatom TSAP, na računalu postoji posebni poslužitelj procesa (process server) na koji se spoje potencijalni korisnici neke usluge, zatim taj poslužitelj pronalazi TSAP koji odgovara traženoj usluzi
2. postoji posebni proces koji se zove poslužitelj imena (name server)(ili poslužitelj kazala - directory server), korisnik uspostavlja vezu sa tim poslužiteljem i navodi ime usluge, a poslužitelj mu natrag šalje TSAP adresu; klijent oslobađa vezu s poslužiteljem imena i uspostavlja novu s traženom uslugom
2.2 Uspostavljanje veze
prijenosni entitet šalje CONNECTION REQUEST TPDU odredištu i čeka na CONNECTION ACCEPTED odgovor=> problem se javlja jer mreža može izgubiti, spremiti ili duplicirati pakete
potrebno je koristiti posebne algoritme za pouzdano uspostavljanje veze, posebno kako ne bi došlo do duplikata zbog zastoja podmreže (delayed duplicate problem)
da bi se spriječilo iznenadno pojavljivanje paketa za koje se mislilo da su izgubljeni, a koji su bili samo dugo spremljeni u podmreži (zakašnjeli paketi), ograničava se životni vijek paketa (packet lifetime) na neki poznati maksimum koristeći neku od tehnika:
1. ograničavanje dizajna podmreže - koriste se metode koje sprečavaju da paketi kruže po mreži
2. stavljanje brojača skokova u svaki paket - brojač se povećava pri svakom novom prosljeđivanju paketa, a nakon što prijeđe određenu vrijednost, paket se odbacuje
3. označavanje paketa s vremenom kreiranja - čvorovi odbacuju pakete starije od nekog propisanog vremena (zahtjeva da satovi čvorova budu sinkronizirani)
potrebno je ne samo uništiti zakašnjeli paket, nego i sve njegove potvrde uvodi se vrijeme T jednako umnošku životnog vijeka paketa i nekog unaprijed
odabranog malog broja n ako se nakon slanja paketa čeka vrijeme T, neće se pojaviti ni kopije niti
njihove potvrde
Metoda za rješavanje problema zakašnjelih kopija TPDU podataka (Tomlinson)
osnovna ideja: osigurati da dva jednako numerirana TDPU nikada ne mogu postojati istovremeno
svaki host se oprema satom (binarni brojač) koji se povećava u jednakim vremenskim intervalima
broj bitova brojača veći je ili jednak broju bitova u rednim brojevima kod uspostavljanja veze TPDU su numerirani različitim rednim brojevima, a
početni redni broj je jednak nižim k bitovima brojila prostor rednih brojeva mora biti dovoljno velik da nakon isteka kruga niza
brojeva nestanu TPDU s istim rednim brojem kada se oba prijenosna entiteta dogovore o početnom rednom broju, dalje se
za kontrolu toka koristi bilo koji protokol s prozorom problem: pad hosta nakon čega prijenosni entitet ne zna kako nastaviti niz
brojeva=> moguće rješenje: dozvoliti da nakon obnavljanja host miruje T sekundi kako bi svi stari TPDU nestali
Sinkronizacija u tri koraka (three-way handshake)
jedan od protokola za uspostavljanje veze koji rješava problem vezan uz dogovor obaju strana o početnom rednom broju
svaka strana može imati svoj redni broj
Slika: Sinkronizacija u tri koraka (Tanenbaum, 1996)
kod normalne setup procedure, host 1 šalje CONNECTION REQUEST TPDU hostu 2 i bira redni broj x; host 2 odgovara sa CONNECTION ACCEPTED TPDU
(potvrđuje x i predlaže svoj redni broj y) te host 1 potvrđuje y u prvom DATA TPDU kojeg šalje
ako hostu 2 stigne duplicirani CONNECTION REQUEST TPDU (za kojeg ne zna host 1), host 2 šalje CONNECTION ACCEPTED TPDU tražeći potvrdu od hosta 1, ali host 1 odbacuje (REJECT) pokušaj da se veza uspostavi
ako su duplicirani i CONNECTION REQUEST i CONNECTION ACCEPTED TPDU, na osnovu neslaganja rednog broja TPDU (z y), host 2 će ustvrditi da je DATA TPDU stari duplikat
kod ovog protokola ne postoji takva kombinacija starih TPDU koja će dovesti do toga da protokol ne uspije i da se veza uspostavi slučajno kada je hostovi ne žele
2.3 Oslobađanje (raskidanje) veze
lakše od uspostavljanja razlikuju se dva stila prekidanja veze:
1. simetrično - veza se promatra kao da se sastoji od dvije jednosmjerne veze i svaka se mora osloboditi posebno
2. asimetrično - veza se prekida čim je jedna strana prekine asimetrično prekidanje veze može dovesti do gubitaka podataka, na
primjer:
Slika: Prekid veze s gubitkom podataka (Tanenbaum, 1996)
host 2 je poslao zahtjev za prekidom veze (DR) još dok je host 1 slao podatke, pa je došlo do gubitaka podataka
kod simetričnog prekidanja veze host bi nastavio primati podatke i nakon što je poslao DISCONNECT TPDU
taj način je dobar ako svaki proces ima stalnu količinu podataka za slanje i točno zna kada ih šalje
inače je problem kako da se 2 hosta dogovore kada su gotovi sa slanjem te da se veza može prekinuti
problem koji odgovara tome je tzv. problem dvije vojske (two-army problem)
Slika: Problem dvije vojske (Tanenbaum, 1996)
plava vojska je podijeljena na 2 međusobno udaljena dijela i može pobijediti bijelu samo ako oba dijela napadnu zajedno, problem je kako sinkronizirati napad (tj. izmijeniti poruke između dvaju dijelova vojske)?
koristi nepouzdani komunikacijski kanal (put kroz bijelu vojsku)
ne postoji protokol koji bi omogućio takav dogovor, tj. ako niti jedna strana nije spremna napasti (raskinuti vezu) dok nije sigurna da će to učiniti i druga strana, do napada (raskidanja veze) nikada neće ni doći
u praksi se zato koriste manje pouzdani protokoli, na pr. sinkronizacija u tri koraka (three-way handshake)
primjeri 4 scenarija raskidanja veze:
Slika: Primjeri 4 scenarija raskidanja veze (Tanenbaum, 1996)
a) normalni slučaj kad host 1 šalje zahtjev za prekid i ujedno pokreće timer za slučaj da se DR izgubi; kad DR stigne, host 2 isto šalje DR; kad host 1 primi taj DR oslobađa vezu i šalje potvrdu ACK; pri primitku potvrde host 2 isto prekida vezu
b) ako se izgubi ACK, veza se prekida kad istekne timer
c) ako se drugi DR izgubi, host 1 neće primiti očekivani odgovor, isteći će njegov timer pa će ponovo poslati novi DR
d) slučaj kao c), samo što nisu uspjeli ni slijedeći pokušaji slanja DR; nakon N pokušaja host 1 odustaje i prekida vezu, a to čini i host 2 nakon što istekne njegov timer
mogući neuspjeh protokola ako se izgube svi inicijalni DR=> host 1 će odustati i osloboditi vezu, ali će druga strana i dalje ostati aktivna - dolazi do poluotvorene veze (half-open connection)
2.4 Kontrola toka i spremanje TPDU (buffering)
sličnost kontrole toka sa slojem podatkovne veze: koristi se tehnika protokola s prozorima ili slična za svaku vezu kako bi se spriječilo da pošiljaoc šalje podatke brže nego što ih primaoc može prihvaćati
glavna razlika: čvor ima samo nekoliko linija, dok host može imati veliki broj veza što čini nepraktičnom upotrebu strategije sa spremnicima (buffering ) sloja podatkovne veze
mrežna usluga nepouzdana: TPDU se spremaju u spremnike (buffere) na strani pošiljaoca
kod pouzdane usluge gdje primaoc garantira da će primiti svaki poslani TPDU, moguće je da pošiljaoc ne drži kopije TPDU
općenito vrijedi:o pri manjoj propusnosti i prometu u rafalima koriste se spremnici na
strani pošiljaoca (jer nije sigurno da će primaoc moći primiti svaki TPDU)
o pri većoj propusnosti i ujednačenom prometu koriste se spremnici na strani primaoca (kako bi podaci mogli stizati maksimalnom brzinom)
ako se odluči da primaoc vrši spremanje , postavlja se pitanje veličine buffera:o svi spremnici su jednake veličine (po jedan za svaki TPDU),o spremnici su varijabilne veličineo koristi se jedan veliki buffer za svaku vezu:
Slika: Spremnici za TPDU (Tanenbaum, 1996)
pored ograničenja pri slanju zbog veličine spremnika koje ima primaoc, problem može biti i kapacitet podmreže kod koje isto može doći do zagušenja
2.5 Multipleksiranje (Multiplexing)
uobičajeno je da prijenosni sloj kreira 1 prijenosnu vezu za 1 mrežnu vezu ponekad može:
o za više prijenosnih veza koristiti 1 mrežnu čime se smanjuju troškovi prijenosa (multipleksiranje prema gore - upward multiplexing)
o raspodijeliti 1 prijenosnu vezu na više mrežnih da se poveća propusnost (multipleksiranje prema dolje - downward multiplexing)
Slika: Multipleksiranje (Tanenbaum, 1996)
VIII. PRIJENOSNI SLOJ INTERNETA
Internet ima dva osnovna protokola u prijenosnom sloju:
1. TCP (Transmission Control Protocol) - spojni protokol2. UDP (User Datagram Protocol) - bespojni protokol; u osnovi je IP sa
dodanim kratkim zaglavljem (kraćim od zaglavlja TCP protokola)
1. TCP (Transmission Control Protocol)
dizajniran je tako da osigura pouzdani tok byteova s jednog do drugog kraja po nepouzdanim mrežama koje se mogu razlikovati po topologiji, propusnosti, kašnjenju, veličini paketa,...
svako računalo koje podržava TCP ima TCP prijenosni entitet (dio softvera) kao proceduru, korisnički proces ili kao dio jezgre - upravlja TCP tokovima (streams) i sučeljima prema IP sloju
TCP entitet prihvaća od lokalnih procesa tok podataka korisnika, razbija ga u dijelove koji ne prelaze 64KB i šalje svaki dio kao posebni IP datagram
kada IP datagrami sa TCP podacima stignu na drugi kraj, predaju se TCP entitetu koji obnavlja originalni tok byteova
TCP mora osigurati pouzdanost koju ne omogućuje IP
3.1 TCP model usluga (TCP Service Model)
TCP usluga se osigurava tako da i pošiljaoc i primaoc kreiraju krajnje točke (end points) tj. spojne točke ili priključke (socket),
svaki socket ima svoj broj (adresu) koji čine IP adresa hosta i port (16-bitni broj koji je lokalan za taj host; to je TCP ime za TSAP, a može se smatrati identifikacijskom oznakom usluge na hostu)
da bi se osigurala TCP usluga, mora se uspostaviti veza između socketa na hostu koji šalje i socketa na hostu koji prima podatke
socket se može koristiti za više istovremenih veza koje se označavaju pomoću oznaka socketa na oba kraja: (socket1, socket2)
brojevi portova ispod 1024 (well-known ports) rezervirani su za standardne usluge, a svaki host može za sebe odlučiti kako će dodijeliti ostale svoje portove
Slika: Popis nekih portova (D.Sušanj, D.Petric, Velika knjiga o World Wide Webu, Znak, Zagreb, 1996., str.19)
Internet daemon (inetd) pod UNIXom prati više portova i čeka na dolazeće veze te ovisno o vrsti procesa poziva odgovarajući daemon (= proces koji se izvodi u pozadini)
neefikasno da su svi aktivni cijelo vrijeme i da prate portove koji su im dodijeljeni
inetd zna koje port koristi koji proces na osnovu konfiguracijske datoteke
sistem administrator može postaviti i neke od ostalih daemon procesa da prate neke portove (na pr port 80)
sve TCP veze su full-duplex i point-to-point, TCP ne podržava multicasting ilibroadcasting
TCP veza je tok byteova, a ne tok poruka TCP softver ne zna što znače byteovi koje prenosi i ne čuva granice poruka -
šalje ih kao segmente koji se sastoje od grupe byteova:
Slika: Slanje segmenata (Tanenbaum, 1996)
četiri 512-byte-na komada mogu se dostaviti kao 4 dijela od 512, 2 od 1024 ili jedan 2048-byteni dio -> bitno je sve podatke dostaviti aplikaciji
kad aplikacija proslijedi podatke TCP-u (tj. TCP entitetu), TCP ih može poslati odmah ili spremiti u buffer kako bi prikupio veću količinu za slanje odjednom
ako aplikacija zahtjeva da se podaci šalju odmah (bez spremanja), koristi posebnuPUSH zastavicu
URGENT zastavica se šalje kad TCP treba prestati spremanje podataka i odmah poslati sve u bufferu (potrebno npr. kad korisnik udaljene veze pritisne CTRL-C za prekid izvršavanja neke započete naredbe)
3.2 TCP protokol
šaljući i primajući TCP entiteti razmjenjuju podatke u obliku segmenata segment se sastoji od 20-bytenog zaglavlja (uz opcionalni dio) za kojim slijedi
0 ili više byteova podataka, a nastaje skupljanjem podataka od nekoliko upisivanja (write) ili razbijanjem podataka od jednog upisivanja
veličinu segmenata određuje TCP softver uz dva ograničenja:
1. svaki segment uključujući i TCP zaglavlje mora stati u 65,535 bajtova IP paketa
2. svaka mreža ima svoj MTU (maximum transfer unit - najveću dozvoljenu jednicu za prijenos) koji definira gornju granicu veličine segmenta
ako je segment prevelik za mrežu kroz koju mora proći, čvor vrši fragmentaciju u više manjih segmenata od kojih svaki dobiva svoje IP zaglavlje
osnovni protokol kojeg koriste TCP entiteti je protokol s prozorima (sliding window):
o nakon slanja segmenta pošiljaoc pokreće timero kad segment stigne na odredište, primaoc šalje u segmentu potvrdu s
brojem jednakim slijedećem broju segmenta kojeg očekuje primitio ako timer istekne prije nego što je primljena potvrda, segment se šalje
ponovo
3.3 Zaglavlje TCP segmenta
format TCP segmenta se sastoji se od:
1. zaglavlja: ima 20-byteni fiksni dio i opcionalni dio varijabilne dužine2. podataka: 65,535 byteova - 20 byteova IP zaglavlja - 20 byteova TCP zaglavlja
= 65,494 bajtova, segmenti sa 0 byteova podataka koriste se za potvrde i kontrolne poruke
Slika: TCP zaglavlje (Tanenbaum, 1996)
polja:
1. izvorni (source) port2. odredišni (destination) port3. redni broj (sequence number) - svaki byte kod TCP veze ima svoj broj4. broj potvrde (acknowledgement number) - određuje slijedeći bytekoji se
očekuje5. dužina zaglavlja (TCP header length) - koliko 32-bitnih riječi ima zaglavlje6. 6-bitno polje koje se ne koristi7. 6 jednobitnih zastavica za hitno slanje (URG), potvrdu primitka (ACK),
pražnjenje buffera (PSH), resetiranje veze (RST), sinkronizaciju rednih brojeva (SYN), oslobađanje veze (FIN)
8. veličina prozora (window size) - koliko se bajtova može poslati počevši od potvrđenog bajta
9. kontrolni zbroj (checksum) za provjeru ispravnosti i TCP zaglavlja i podataka koji slijede; primjenjuje se nad zaglavljem, podacima i tzv. pseudozaglavljem (uključuje polja IP zaglavlja: izvorna i odredišna adresa i protokol, plus TCP duljina segmena) -> osigurava se od pogrešnog dostavljanja od strane IP
10.pokazivač hitnosti (urgent pointer)11.opcije (options) - za uključivanje dodatnih mogućnosti kojih normalno nema u
zaglavlju, npr. host može navesti maksimalnu dozvoljenu veličinu TCP segmenata koje prihvaća
3.4 TCP upravljanje vezom (Connection Management)
kod TCP se veza uspostavlja korištenjem three-way handshake protokola
Slika: Uspostavljanje TCP veze (Tanenbaum, 1996)
da bi se uspostavila veza, server s jedne strane pasivno čeka izvršavajući LISTEN i ACCEPT primitive
s druge strane klijent izvršava CONNECT primitiv specificirajući IP adresu i port na koji se želi vezati, maksimalnu veličinu TCP segmenata i opcionalno neke korisničke podatke (npr. šifru); CONNECT šalje TCP segment sa uključenim SYN bitom (za sinkronizaciju) i isključenim ACK bitom (za potvrdu), te čeka na odgovor
kad taj segment stigne, TCP entitet na odredištu provjerava da li postoji proces koji je izvršio LISTEN na portu navedenom u polju za odredišni port zaglavlja segmenta, ako ne postoji šalje se odgovor sa uključenim RST bitom (za resetiranje veze) i veza se odbacuje
ako postoji proces koji osluškuje na navedenom portu, daje mu se dolazeći TCP segment i ako ga prihvati, šalje natrag segment sa potvrdom
kada oba hosta pokušavaju istovremeno uspostaviti vezu između ista dva socketa, uspostavlja se samo jedna veza
kod oslobađanja TCP veze, smatra se da je riječ o paru simplex veza (a ne o 1full-duplex) koje se oslobađaju neovisno jedna o drugoj, tj. obje strane šalju TCP segment sa postavljenim FIN bitom (za oslobađanje veze)
strana koja primi segment sa FIN bitom šalje potvrdu i prestaje slati podatke (ali može primati podatke koji i dalje mogu stizati od druge strane dok i ona ne pošalje segment sa FIN)
da bi se spriječio two-army problem, koriste se timeri, tj. strana koja šalje FIN prekida vezu ako ne dobije potvrdu unutar određenog vremena
3.5 TCP politika slanja (Transmission Policy)
upravljanje prozorom nije direktno vezano uz slanje potvrda primaoc vrši upravljanje veličinom prozora na osnovu veličine svog buffera primjer:
Slika: Upravljanje veličinom prozora (Tanenbaum, 1996)
WIN - veličina otvora prozora, ACK/SEQ - potvrda ispravnog prijenosa primaoc ima buffer veličine 4K, a pošiljaoc šalje 2K segmente nakon što stigne prvi 2K segment, primaoc oglašava prozor veličine 2K kad stigne i drugi segment primaoc oglašava da mu je buffer pun (prozor je 0)
i pošiljaoc mora stati sa slanjem dok aplikacijski proces na primajućem hostu ne uzme nešto podataka iz buffera
kod prozora veličine 0, izuzetak su hitni podaci koji se uvijek mogu poslati kao i 1-byteni segmenti koji služe da se navede sljedeći byte koji se očekuje i veličina prozora
3.6 TCP kontrola zakrčivanja (Congestion Control)
iako se vrši i u mrežnom sloju, veći dio kontrole zasićenja vrši TCP jer je pravo rješenje smanjenje količine podataka koji se šalju
cilj je postići da se u mrežu ne šalje novi paket, dok jedan stari ne ode - TCP ga nastoji postići dinamičkim upravljanjem veličinom prozora
problemi koji će dovesti do zasićenja su mali kapacitet primaoca ili mreže
TCP sprečava pojavljivanje zakrčenja tako da pošiljaoc brine o 2 prozora:o standardnom prozoru primaocao prozoru zakrčenje (congestion window)
broj byteova koji se mogu poslati jednak je veličini manjeg prozora
Algoritam polagani start (slow start)
kod uspostavljanja veze pošiljaoc postavlja prozor zasićenja na veličinu najvećeg segmenta, a nakon svakog uspješnog slanja segmenta, veličina prozora se udvostručuje
prozor eksponencijalno raste sve dok ne istekne timer jer nije došlo do potvrde slanja ili dok se ne dosegne veličina prozora primaoca
time se spriječilo da dođe do zakrčenja jer se ustanovilo koja ga količina podataka uzrokuje, pa se ostalo pri slanju manje podataka (tj. pri manjoj veličini prozora zakrčenja
Internet algoritam za kontrolu zasićenja
pored 2 prozora koristi i treći parametar - prag (threshold) početne veličine 64K
kad istekne timer, prag se postavlja na polovicu trenutne veličine prozora zakrčenja, a prozor zakrčenja se ponovo postavlja na veličinu jednog segmenta
zatim se koristi algoritam polaganog starta (slow start) s tom razlikom da eksponencijalni rast prestaje kad se dosegne prag - od te točke dalje prozor zasićenja raste linearno za po jedan segment
ako se ne pojavi novi timeout, linearni rast se nastavlja dok se ne dosegne veličina prozora primaoca
primjer:
Slika: Algoritam za kontrolu zasićenja (Tanenbaum, 1996)
2. UDP (User Data Protocol)
nadograđuje se na IP -> dodaje IP-u adresiranje portova bespojni protokol koji omogućuje slanje IP datagrama sa dodanim kratkim
zaglavljem bez potrebe da se uspostavi veza koriste ga, na primjer, mnoge klijent-server aplikacije (npr. DNS) sa jednim
zahtjevom (request) i jednim odgovorom (response) - ne treba inicijalni setup veze
8-byteno zaglavlje nakon kojeg slijede podaci UDP zaglavlje (header):
Slika: UDP zaglavlje (Tanenbaum, 1996)
portovi za identifikaciju krajnjih točaka (kao kod TCP) ukupna UDP dužina - uključuje 8-byteno zaglavlje i podatke
kontrolni zbroj - isti algoritam kao kod TCP; opcionalno polje (0 ako se ne koristi)
IX. APLIKACIJSKI SLOJ
slojevi ispod aplikacijskog sloja osiguravaju pouzdani prijenos, ali ne vrše nikakav konkretni posao za korisnike
u aplikacijskom sloju se pored korisničkih aplikacija nalaze i pomoćni protokoli koji omogućuju njihovo izvršavanje: protokoli (i koncepti) koji osiguravaju sigurnost, DNS koji upravlja dodjelom imena na Internetu i protokol za upravljanje mrežom
1. DNS - Domain Name System
programi rijetko koriste brojčane IP adrese hostova, umjesto njih koriste ASCII stringove to jest tekstualna imena ili puna imena domena (fully qualified domain name, FQDN)
potreban je mehanizam za pretvaranje iz jednog oblika u drugi na primjer, umjesto [email protected] -> [email protected] sama mreža i dalje koristi IP (mrežne) adrese
u početku razvoja ARPANET-a koristila se jedna datoteka hosts koja je sadržavala popis svih hostova sa njihovim IP adresama i koju su hostovi svake noći dohvaćali sa računala koje ju je održavalo
povećanjem broja računala u mreži razvila se hijerarhijska shema koja se bazira na imenu domena - DNS (Domain Name System) i koji prvenstveno služi za preslikavanje imena hostova u njihove IP adrese
Korištenje DNS
da bi se ime preslikalo u IP adresu, aplikacijski program poziva proceduru koja se naziva resolver i kojoj kao parametar daje ime;
resolver šalje UDP paket lokalnom DNS serveru koji pronalazi odgovarajuću IP adresu i vraća je resolveru, a on programu koji ga je pozvao
taj program sada ima IP adresu te može uspostaviti TCP vezu sa odredištem ili slati UDP pakete
1.1 DNS imena
Internet je konceptualno podijeljen u preko 200 domena najvišeg nivoa od kojih svaka sadrži mnoštvo hostova,
svaka domena najvišeg nivoa podijeljena je u poddomene (subdomains) koje se dalje dijele
sve domene mogu prikazati kao stablo čiji su listovi domene bez poddomena (ali sadrže računala), na primjer:
Slika: Dio Internet stabla domena (Tanenbaum, 1996)
domene najvišeg nivoa mogu biti:o generičke (generic domains)o domene zemalja (country domains):
generičke su:o com - komercijalne (commercial)o edu - za obrazovne institucije (educational institutions)o gov - za vladine institucije (government)
o int - za međunarodne organizacije (international organizations)o mil - za U.S. vojne institucije (military)o net - za davaoce mrežnih usluga (network prowiders)o org - za nekomercijalne organizacije (nonprofit organizations)
domene zemalja uključuju po jednu oznaku za svaku zemlju 2000. ICANN odobrio nove generičke domene:
o biz - poslovni korisnici (businesses)o info (information)o name - imena osobao pro (professions) - zanimanja, na pr. pravnici, liječnici,...o aero (aerospace industry) - avionska industrijao coop (co-operatives) - zadrugeo museum - muzeji
u praksi skoro sve organizacije u US su pod nekom generičkom domenom, a u ostalim zemljama pod domenom te zemlje
domene oblika ime_tvrtke.com lako se registriraju ukoliko već nisu zauzete
svaka domena je imenovana stazom u stablu od njenog čvora prema neimenovanom korijenu, a komponente su razdvojene točkama, na pr.
o eng.yale.eduo robot.ai.cs.yale.eduo edu.sun.com
u imenima domena se ne razlikuju mala i velika slova, imena komponenti mogu biti duga do 63 znaka, a čitavo ime do 255 znakova
da bi se kreirala nova domena, potrebna je dozvola domene koja bi je trebala sadržavati
kad je jednom nova domena kreirana i registrirana, može kreirati svoje poddomene bez potreba da traži dozvolu od nekog višeg od nje u stablu (hijerarhiji)
imena slijede organizacijske granice, a ne fizičke mreže -> hostovi u različitim lokalnim mrežama mogu pripadati istoj domeni i obrnuto
1.2 Poslužitelji imena (Name Servers)
želi se izbjeći jedan server na kojem je cijela DNS baza -> prostor DNS imena podijeljen je u neprekrivajuće zone, na pr:
Slika: Podjela dijela prostora DNS na zone (Tanenbaum, 1996)
svaka zona sadrži dio stabla, te DNS servere koji imaju informacije o toj zoni uobičajeno je da postoji
o jedan primarni DNS server - informacije dohvaća iz svoje datotekeo jedan ili više sekundarnih DNS servera - informacije dobivaju od
primarnih DNS servera kad resolver primi upit o imenu domene, šalje ga jednom od lokalnih DNS
servera ako domena pripada u njegovu nadležnost, lokalni server vraća traženi
podatak: uvijek točan podatak (authoritative record) ako je riječ o udaljenoj domeni za koju lokalno ne postoje informacije, DNS
server šalje zahtjev DNS serveru domene najvišeg nivoa kojemu pripada ta tražena domena
taj server prosljeđuje zahtjev DNS serverima odgovarajućih poddomena primjer rekurzivnog upita (recursive query):
o resolver na flits.cs.vu.nl želi saznati IP adresu hosta linda.cs.yale.edu:
Slika: Podjela dijela prostora DNS na zone (Tanenbaum, 1996)
kada se podatak o imenu vrati cs.vu.nl DNS serveru, sprema ga u cache - to nijeauthoritative record jer se ev. promjene koje načini cs.yale.edu neće proslijediti
2. ELEKTRONSKA POŠTA (Electronic mail, email)
usluga za razmjenjivanje poruka na računalima povezanim u Internet - najpopularniji način asinkrone komunikacije
prvi email sustavi koristili su običan protokol za prijenos datoteka s tim da je prvi redak poruke (tj. datoteke) sadržavao adresu primatelja
neki nedostaci takvog pristupa bili su:o poruke nisu imale svoju unutrašnju strukturu, pa je njihova obrada bila
teška,o slanje poruke grupi ljudi bilo je nezgodnoo pošiljatelj nije znao da li je njegova poruka stigla do primatelja ili nijeo korisničko sučelje bilo je loše integrirano sa sistemom za prijenos
datoteka,o nije bilo moguće kreirati i poslati poruku koja se sastojala i od teksta,
grafike, zvuka... 1982. objavljen je ARPANET-ov prijedlog za email sistem kao RFC 821
(protokol za prijenos) i RFC 822 (format poruke)
2.1 Arhitektura i usluge
email sistem se obično sastoji od dva podsustava:o korisnički (user agents) koji omogućuje slanje i čitanje pošteo podsustav za slanje poruka (message transfer) koji prenosi
poruke od izvora do odredišta korisnički podsustavi (agenti) su lokalni programi koji omogućuju interakciju
sa email sistemom preko naredbenih redaka, menua ili grafičkih sučelja podsustavi (agenti) za slanje poruka su obično deamon programi koji se
izvršavaju u pozadini i prenose email poruke kroz sistem 5 osnovnih funkcija email sustava:
1. izrada (composition) - proces kreiranja poruka i odgovora na poruke2. prijenos (transfer) - prenošenje poruka od pošiljatelje do primatelja
(uspostavljanje veze - sa odredištem ili nekim strojem na putu, slanje poruke, oslobađanje veze)
3. izvještavanje (reporting) - da li je poruka dostavljena ili nije4. prikaz (displaying) - da bi se pročitale primljene poruke5. raspoređivanje (disposition) - spremanje, brisanje, prosljeđivanje...
primljenih poruka
uz osnovne, većina email sustava podržava i dodatne funkcije (npr. automatsko prosljeđivanje poruka na drugu adresu, kreiranje različitih “poštanskih pretinaca” (mailboxes, folders) za čuvanje poruka, kreiranje poštanskih listi (mailing lists), kreiranje šifriranog emaila, definiranje prioriteta poruka...)
kod email sustava razlikuje se omotnica (envelope) i sadržaj omotnica uključuje unutar sebe poruku i sadrži sve informacije koje su
prijenosnim agentima potrebne za prijenos poruke, odnosno za usmjeravanje na pravu adresu
poruka unutar omotnice sastoji se od zaglavlja (header) sa kontrolnim podacima za korisničke agente i tijela (body) sa samom porukom
Slika: Usporedba omotnice i sadržaja obične i elektronske pošte (Tanenbaum, 1996)
2.2 Korisnički podsustav (user agent)
program za:
o prikazivanjeo slanje porukao čitanje porukao odgovaranje na poruke i prosljeđivanjeo upravljanje poštanskim sandučićima
programi najčešće koriste izbornike ili ikone kao sučelje -> ista funkcionalnost
Slanje maila
navode se barem poruka i odredišna adresa oblika korisnik@dns_adresa
Slika: primjer poruke pripremljene za slanje u MS Outlook Express programu
Čitanje poruka
prikaz poruka s različitim poljima
Slika: popis pristiglih poruka u MS Outlook Express programu
2.3 Formati poruka
osnovni ASCII email po RFC 822 i multimedijska proširenja za RFC 822
ASCII email po RFC 822
poruka se sastoji od primitivne omotnice, nekoliko polja zaglavlja, praznog retka i tijela poruke; svako polje zaglavlja se sastoji od jednog retka ASCII teksta sa imenom polja, dvotočkom i (za većinu polja) vrijednosti
glavna polja koja se odnose na prijenos poruka:
To: email adresa primaocaCc: email adrese osoba kojima su poslane kopije porukaBcc: email adrese osoba kojima su poslane kopije, a ostali
primaoci ih ne vide
From: osoba koja je kreirala porukuSender: email adresa pošiljaoca
Received: kako je poruka putovala od polazišne adrese do odredišta
Return-Path: bilježi se staza do pošiljaoca
Najčešća dodatna polja koja koriste e-mail klijenti ili sami korisnici su:
Date: datum i vrijeme slanja
Reply-To: email adresa na koju će se poslati odgovorMessage-Id: jedinstveni broj poruke za kasnije referenciranje
In-Reply-To: Message-Id poruke na koju se odgovoriloReferences: ostali važni Message-IdSubject: naslov poruke
korisnicima je dozvoljeno definirati nova polja za vlastitu upotrebu uz uvjet da njihova imena počinju s X- kako se ne bi zamijenila za službeno definirana polja
Primjer: X-Mailer: polje sadrži podatak o email programu korištenom za slanje poruke
Multimedijska proširenja za RFC 822 - MIME (Multipurpose Internet Mail Extensions)
kod RFC 822 problem za poruke koje pisane na jezicima s posebnim znakovima ili koje sadrže netekstualne sadržaje (slike, zvuk,...)
i dalje se koristi RFC 822 format, ali se u tijelo poruke dodaje nova struktura i definiraju se pravila šifriranja za poruke koje nisu ASCII
na taj se način MIME poruke mogu slati korištenjem postojećih mail programa i protokola
MIME definira 5 novih zaglavlje poruka:
MIME-Version: govori da je riječ o MIME poruci određene verzije (poruka koja nema to polje smatra se običnom tekstualnom porukom)
Content-Description: ACSII string koji govori primatelju što je u poruci
Content-ID: služi za identificiranje sadržaja
Content-Transfer-Encoding: način kodiranja (šifriranja) netekstualnog dijela
Content-Type: određuje tip i podtip tijela poruke, npr. video/mpeg
1. MIME-Version: - govori korisničkom agentu da je riječ o MIME poruci određene verzije (poruka koja nema to polje smatra se običnom tekstualnom porukom)
2. Content-Description: - ACSII string koji govori primatelju što je u poruci3. Content-ID: - za identificiranje sadržaja4. Content-Transfer-Encoding: - na koji način je netekstualni dio šifriran da se
može prenijeti mrežom, može se koristiti 5 shema:
običan ASCII tekst - znakovi koriste 7 bita, a dostavljaju se direktno pomoću email protokola (ako reci ne prelaze dužinu od 1000 znakova)
8-bitno šifriranje - narušava originalni Internet email protokol, pa mu je potrebno implementirati neka dodatke
binarno šifriranje - za slanje binarnih datoteka koje ne poštuju ograničenje od 1000 znakova u redu; nepouzdano, bolji način:
base64 šifriranje - grupe od 24 bita razbijene su u četiri 6-bitna dijela i svaki se šalje kao ASCII znak; šifra (određuje se za svaku vrijednost od 0-63) je “A” za 0, “B” za 1, ..., nakon velikih slova slijedi 26 malih, zatim 10 brojki i na kraju + za 62 i / za 63; znakovi == i = označavaju da zadnja grupa ima samo 8, odnosno 16 bita
quoted-printable šifriranje - 7-bitni ASCII kod kojeg su svi znakovi iznad 127 šifrirani kao znak = nakon kojeg slijedi vrijednost znaka kao 2 heksadecimalne znamenke; koristio se za poruke koje su gotovo cijele ACSII osim nekoliko ne-ASCII znakova
5. Content-Type: - određuje tip i podtip tijela poruke, npr: Content-Type: video/mpeg
MIME tipovi i podtipovi koji su bili početno definirani (u RFC 1521):
text/plain
text/richtext
image/gif
image/jpeg
audio/basic
video/mpeg
application/octet-stream
application/postscript
message/rfc822
message/partial
message/external-body
multipart/mixed
multipart/alternative
multipart/parallel
multipart/digest
Text, Image, Audio, Video i Application tipovi se odnose na sam multimedijski sadržaj koji se šalje porukom,
Message navodi kako je jedna poruka uključena u drugu (npr. kod prosljeđivanja)
Multipart opisuje poruku koja se sastoji od više dijelova pri čemu svaki dio ima jasno označen početak i kraj
Na primjer:
multipart/alternative – za poruku koja je poslana i kao obični tekst i kao HTML tekst
multipart/mixed – za poruku s tekstom i sa slikom kao dodatkom
danas su prošireni novim tipovima i podtipovima, na primjer za poruku koja sadrži HTML tekst - Content-Type: text/html
Primjer multipart poruke:
Received: from as104.tel.hr (as104.tel.hr [195.29.150.2])by mapef.pefri.hr (8.9.3/8.9.3/Debian/GNU) with ESMTP id HAA14139for <[email protected]>; Sun, 11 Mar 2001 07:20:23 +0100Received: from natasa (ar4-m182.net.hinet.hr [195.29.67.182])by as104.tel.hr (0.0.0/0.0.0) with SMTP id HAA313598for <[email protected]>; Sun, 11 Mar 2001 07:25:31 +0100 (MET)From: "Natasa Hoic-Bozic" <[email protected]>To: <[email protected]>Subject: Primjer MIME email porukeDate: Sun, 11 Mar 2001 07:22:45 +0100Message-ID: <[email protected]>MIME-Version: 1.0Content-Type: multipart/mixed;boundary="----=_NextPart_000_0000_01C0A9FC.1176B960"X-Priority: 3 (Normal)X-MSMail-Priority: NormalX-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0)Importance: NormalX-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400Status:
This is a multi-part message in MIME format.
------=_NextPart_000_0000_01C0A9FC.1176B960Content-Type: multipart/alternative;boundary="----=_NextPart_001_0001_01C0A9FC.1176B960"
------=_NextPart_001_0001_01C0A9FC.1176B960Content-Type: text/plain;charset="iso-8859-2"Content-Transfer-Encoding: 7bit
Ovo je poruka u HTML formatu koja ima pridodanu binarnu datoteku sa slikomjpeg formata.
------=_NextPart_001_0001_01C0A9FC.1176B960Content-Type: text/html;charset="iso-8859-2"Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE></TITLE><META http-equiv=3DContent-Type content=3D"text/html; =charset=3Diso-8859-2"><META content=3D"MSHTML 5.50.4134.600" name=3DGENERATOR></HEAD><BODY bgColor=3D#00ffff><DIV><FONT size=3D4><FONT face=3DGaramond><FONT =color=3D#000080><STRONG>Ovo je poruka=20u <EM>HTML formatu</EM> koja ima pridodanu binarnu datoteku sa slikom =<EM>jpeg=20formata.</EM></STRONG></FONT></FONT></FONT></DIV><DIV> </DIV></BODY></HTML>
------=_NextPart_001_0001_01C0A9FC.1176B960--
------=_NextPart_000_0000_01C0A9FC.1176B960Content-Type: image/jpeg;name="slika.jpg"Content-Transfer-Encoding: base64Content-Disposition: attachment;filename="slika.jpg"
/9j/4AAQSkZJRgABAAEAZABkAAD//gAXVS1MZluYy4A/9sAhAADAgICAgIAgICAwMDAwQIBQQEBAQJBwcFCAsKDAwLCgsLNEQ0LCxAVEBBgSFBQ
(…ovdje dolazi preostali dio kodirane jpeg slike )
------=_NextPart_000_0000_01C0A9FC.1176B960--
2.4. Prijenos poruka
SMTP - Simple Mail Transfer Protocol
na Internetu se email dostavlja tako da izvorišno računalo uspostavi TCP vezu sa portom 25 na odredišnom računalu, na tom portu osluškuje email deamon koji raspoznaje SMTP protokol
deamon prihvaća dolazeće veze i kopira poruke s njih u odgovarajuće poštanske sandučiće
ako se poruka ne može dostaviti, pošiljatelju se vraća poruka o pogreški SMTP je jednostavan ASCII protokol:
o nakon uspostavljanja TCP veze na portu 25, klijent (računalo-pošiljatelj) čeka da server (računalo-primatelj) prvi počne slati podatke o svom identitetu i da li je spreman primiti email ili ne
o ako server nije spreman prihvatiti email, klijent oslobađa vezu; ako je spreman, klijent oglašava od koga je email i za koga
o ako primatelj postoji, server daje dozvolu za slanje i klijent šalje poruku, a server potvrđuje njen primitak
o ukoliko postoji još poruka, razmjenjuju se (u oba smjera) i na kraju se veza oslobađa
Primjer za komunikaciju (S-sender (primatelj), C-client (pošiljatelj)):
Slika: Prijenos email poruke (Tanenbaum, 1996)
2.5. Dostavljanje poruka
POP3 (Post Office Protocol)
jednostavan protokol za dohvaćanje poruka iz udaljenog mailboxa i njihovo spremanje na lokalno računalo korisnika kako bi se mogle čitati i kasnije
razvio se zbog potrebe da PC računala koja sama ne mogu slati i primati email izvan npr. kompanije mogu komunicirati s email serverom
POP3 započinje kad korisnik pokrene program za čitanje emaila koji putem napr. modemske veze preko ISP uspostavlja TCP vezu na portu 110 sa serverom koji je spremio poruke
POP3 ima 3 stanja:1. autorizacija - korisnike se prijavljuje korisničkim imenom (login) i šifrom
(password)2. transakcija - korisnik prikuplja poruke i označava ih za brisanje
(opcionalno)3. ažuriranje - email poruke se brišu sa servera
Slika: Prijenos email poruka s POP3 (Tanenbaum, 2003)
IMAP (Interactive Mail Access Protocol)
složeniji od POP3 i omogućuje održavanje pošte na serveru korištenjem različitih udaljenih računala
pošta se ne kopira sa servera na osobno računalo jer ih korisnik može imati više (računalo u uredu, kod kuće, prijenosno računalo)
ovaj protokol ne podržavaju svi ISP niti svi email klijenti
Webmail
poruke se čitaju i šalju putem Web sučelja koriste se HTML forme za unos podataka i programi na serveru koji sadržaj
mailboxa formatiraju i kreiraju HTML stranu za prikaz u pregledniku
Filtriranje poruka mogućnost koju imaju današnji korisnički e-mail programi je definiranje filtera sastoje se od uvjeta i akcije i primjenjuju se na dolazeće poruke primjer: slanje spam poruka u posebne mape
IX. APLIKACIJSKI SLOJ
3. WORLD WIDE WEB (WWW)
World Wide Web (WWW, W3, Web) - mrežni servis (ili proširenje i sinteza drugih Internet servisa) koji pomaže u pretraživanju mrežnih resursa
projekt koji je omogućio stvaranje univerzalne informacijske baze podataka koja je na mreži dostupna ljudima širom svijeta i u kojoj su informacije međusobno povezane tako da se lako pretražuju
Internet - fizička mreža računala, WWW - “mreža ljudskog znanja” razvoj započeo u Europskom centru za nuklearna istraživanja (CERN) 1989. Tim Berners-Lee predstavio je projekt mreže povezanih dokumenata
pomoću koje su se trebale razmjenjivati ideje istraživača te udruge iz različitih zemalja
1990. nastaje prvi hipertekstualni prototip 1993. Marc Andreessen razvija u NCSA (National Center for Supercomputing
Applications) prvo grafičko sučelje Mosaic 1994. Andreessen napušta NCSA i osniva Netscape Communications
kompaniju čiji je cilj da razvija klijente, servere i ostale programe za WWW 1994. CERN i MIT osnivaju World Wide Web Consortium, organizaciju koja se
brine o budućem razvoju Weba i o standardizaciji protokola (http://www.w3.org/)
Web je u osnovi klijent-server (korisničko-poslužiteljski) sustav
3.1 WWW s korisničke strane
globalni hipermedijski sustav, sastoji se od kolekcije dokumenata (stranica) međusobno povezanih hiperlinkovima ili hipervezama (hyperlinks)
hipertekst - nelinearni tekst sa vezama na druge dokumente multimedija - kombinacija teksta, slika, zvuka, animacije, videa objedinjenih
putem računala; odnosi se prvenstveno na medije koji su po svojoj prirodi netekstualni, a ako je uključen tekst riječ je o kraćim uputama - komandama ili objašnjenjima
hipermedija - kombinacija hiperteksta s multimedijskim elementima:
hipermedija = hipertekst + multimedija
WWW klijent (preglednik, browser) je program koji predstavlja korisničko sučelje prema WWW mreži i koji prikazuje HTML dokumente dohvaćene s WWW servera (tekstualni: Lynx; grafički: Mosaic, Netscape, MS Internet Explorer, Opera, Mozilla Firefox; glasovni (voce-based) preglednici...)
za datoteke sa slikovnim, zvučnim, video... zapisima koje preglednik ne može prikazati, pozivaju se pomoćni programi:
o samostalni programi - helper application,o dodaci pregledniku - plug-in, external viewer,
preglednik dohvaća stranu tako da uspostavi TCP vezu sa računalom na kojem se strana nalazi, te zatim po uspostavljenoj vezi šalje poruku tražeći stranu
primjer Web modela:
Slika: Primjer Web modela (Tanenbaum, 1996)
koraci između korisničkog odabira hiperveze koja upućuje na Web stranicuTheProject.html koja se nalazi na serveru www.w3.org i prikaza te stranice na ekranu su:
1. preglednik određuje adresu stranice (URL) na osnovu selektirane veze2. preglednik od DNS traži IP adresu za www.w3.org3. DNS odgovara s 18.23.0.234. preglednik uspostavlja TCP vezu na portu 80 računala 18.23.0.235. preglednik šalje naredbu (GET /hypertext/WWW/TheProject.html )6. www.w3.org server šalje datoteku TheProject.html7. TCP veza se oslobađa8. preglednik prikazuje na ekranu tekst datoteke TheProject.html9. preglednik dohvaća i prikazuje slike i ostale multimedijske datoteke
uTheProject.html (jednu po jednu)
za svaki element na stranici (sliku, zvuk, ...) preglednik treba uspostaviti novu vezu sa serverom, koristiti je i osloboditi je - neefikasna ali jednostavna implementacija
3.2 WWW s poslužiteljske strane i HTTP
na svakom Web sjedištu (site-u) nalazi se server koji na TCP portu 80 osluškuje dolazeće veze od strane klijenata (obično preglednika)
nakon što se veza uspostavi klijent šalje zahtjev, a server mu šalje odgovor, te se zatim veza oslobađa
WWW poslužitelji su programi, obično instalirani na jačim računalima, koji se koriste za spremanje i ustupanje dokumenata za upotrebu na WWW-u
primjeri: Apache za Unix platformu, Microsoft Internet Information Server (IIS) za Windows platformu
protokol za komunikaciju medu klijentima i serverima je HTTP (HyperText Transfer Protocol)
URL (Uniform Resource Locator) - adresa WWW stranice npr.http://www.w3.org/hypertext/WWW/TheProject.html
HTTP (HyperText Transfer Protocol) protokol
HTTP protokol se temelji na zahtjev/odgovor (request/response) paradigmi svaka interakcija kod HTTP protokola se sastoji od jednog ASCII zahtjeva
nakon kojeg slijedi jedan RFC 822 MIME odgovor veza između klijenta i servera uspostavlja se slijedećim fazama:
1. uspostavljanje veze (connection) - klijent inicira uspostavljanje veze na TCP portu 80, a server je potvrđuje;
2. zahtjev (request) koji klijent šalje serveru – sastoji se od metode, adrese (URL) i verzije protokola
3. odgovor (response) servera klijentu – u statusnoj liniji sadrži verziju protokola i kod koji označava uspjeh ili grešku; ako nije bilo greške šalje se traženi dokument ili objekt
4. prekidanje veze (close) - prekida je server.
za svaki objekt na HTML stranici uspostavlja i oslobađa po jedna HTTP veza, razvoj novih verzija HTTP protokola (HTTP-NG tj. HTTP Next Generation) koje
bi trebale prenijeti sadržaj cijele stranice odjednom
ASCII protokol (kao i SMTP), pa se korištenjem telnet veze na portu 80 http servera mogu direktno slati naredbe s terminala (umjesto da to čini preglednik), primjer:
Slika: Dohvaćanje Web strane (Tanenbaum, 1996)
klijent se prvo spoji na host i zatim šalje komandu kojom traži stranu i navodi protokol i verziju koju koristi (HTTP/1.0)
server u prvom retku odgovora ispisuje protokol i kôd 200 (znači OK); zatim slijedi RFC 822 MIME dokument koja se sastoji od polja zaglavlja, te praznog retka nakon kojeg slijedi sam dokument
ako se šalje tekst, polje Content-Type sadrži text/html tip i podtip, npr. za .gif sliku bi bilo: Content-Type: Image/GIF
ugradene metode za zahtjeve klijenta su:
GET - zahtjev serveru da pošalje stranu kodiranu kao MIME; ako iza GET slijedi If-Modified-Since zaglavlje, server šalje podatke samo ako su mijenjani nakon navedenog datuma
HEAD metoda traži samo zaglavlje Web stranice, npr. za prikupljanje informacija koje su potrebne za indeksiranje
PUT - obrnuto od GET, za spremanje strane na server
POST - slična metoda kao PUT, dodaje podatke na kraj navedenog izvora npr. Web stranice
DELETE - briše stranu sa servera (ako je to dozvoljeno)
LINK, UNLINK - za uspostavljenje i prekidanje veza izmedu strana i drugih resursa
na svaki zahtjev server odgovara, a odgovor se sastoji od statusne linije i mogućih dodatnih informacija (npr. Web strana ili njezin dio)
statusna linija sadrži ili kod 200 (OK), ili jedan od kodova za greške, npr. 400 (bad request), 403 (forbidden)
3.3 URL (Uniform Resource Locator)
standardna adresa koja se koristi za pronalaženje stranice Web poslužitelja ili drugog resursa na Webu ili Internetu i predstavlja opis lokacije
mrežno proširenje standardnog koncepta imena datoteke, potrebno naznačiti:o ime datoteke u direktoriju,o na kojem se računalu u mreži nalaze ta datoteka i direktorij,o pomoću koje metode (protokola) se datoteka može dohvatiti
protokol://ime.računala/direktorij/datoteka
resurs koji se naznačuje ne mora biti datoteka, može biti upit, rezultat finger ili archie naredbe, email adresa,...
tri osnovna dijela URL adrese:
1. ime protokola za dohvat podatak nakon kojeg slijedi dvotočka i dvije kose crte (://)
2. DNS ime Internet računala na kojem se nalazi traženi servis (opciono slijedi i broj porta) nakon kojeg slijedi jedna kosa crta (/)
3. ime datoteke i direktorija u kojima se ona nalazi potpuni URL: navode se sva tri dijela URL-a djelomičan URL: ovisno o tipu URL-a neki od 3 dijela se može izostaviti
Tipovi URL-a
Prot. URL Objašnjenje
HTTP http://<host>:<port>/<path>?<search> Dohvaćanje s HTTP servera
FTP ftp://<login>:<password>@<host>:<port>/<path>;type=<type_code>
Dohvaćanje s ftp servera
Gopher gopher:// <host>:<port>/<gopher_path> Dohvaćanje s gopher servera
e-mail mailto:<login@host> Slanje emaila
Telnet telnet://<login>:<password>@<host>:<port>/ Spajanje na udaljeno računalo
WAIS wais://<host>:<port>/<database>?<search>wais://<host>:<port>/<database>/<type>/<path>
Dohvaćanje iz wais baza
Usenet news:<conference_group>news: //<host>:<port>/<conference_group>/<messag_number>
Dohvaćanje novinskih grupa
File file:///<host>/<path> Dohvaćanje s lokalnog računala
najčešći su URL-ovi za dohvaćanje dokumenata sa HTTP servera i anonimnih FTP servera, za slanje e-maila, dok se pri off-line testiranju WWW stranice koriste lokalni URL-ovi (file)
Primjeri:
http://www.ffri.hr/ ftp://mapef.ffri.hr http://www.ffri.hr/studenti/index.html http://ahyco.ffri.hr/ritehmreze/teme/aplikacijski_sloj2.htm ftp://avalon.irb.hr/pub/ gopher://regoc.srce.hr:70/ mailto:[email protected] news:hr.comp.www file:///C|/studenti/lokalna_datoteka.htm - pristup datoteci na lokalnom računalu sa Windowsi-ma
3.4 HTML (HyperText Markup Language)
standardni jezik koji WWW koristi za kreiranje i prepoznavanje hipermedijskih dokumenata
podskup je SGML-a (Standard Generalized Markup Language), složenijeg jezika za formatiranje dokumenata kojeg prvenstveno zanima sadržaj dokumenta, a ne izgled
ne ovisi o računalnim sustavima na kojima će se dokumenti prikazivati određuje se struktura dokumenta (koji dio je naslov, odlomak, lista…), a ne
izgled kao kod standardnih programa za obradu teksta (na pr. Word)
trenutna verzija je HTML 4.0
HTML dokumenti
tekstualne (ASCII) datoteke sa sadržajem i naredbama za formatiranje koje opisuju kako će taj sadržaj biti prikazan na ekranu
imaju nastavak .html ili .htm; kreiraju se i testiraju lokalno (off-line), a na poslužitelj na pr. www.riteh.hr korisnik ih postavlja tako da ih smjesti u public_html direktorij koji kreira na svome home direktoriju. Svoj home page treba kreirati kao datoteku posebnog imena index.html koji se tada poziva kao:
http://www.riteh.hr/~login_korisnika/
• HTML dokumenti mogu se kreirati:
direktno s običnim editorima teksta (na primjer Notepad za Windows platformu)
koristeći specijalne editore ili HTML autorske alate, primjeri:
MS Word koji nudi spremanje teksta u HTML formatu WebEdit dodaje odabrane HTML oznake u označeni tekst WYSIWYG MS FrontPage prikazuje dodane HTML elemente u dokumentu onako
kako će izgledati u WWW pregledniku
Slika: Primjer HTML dokumenta u Notepadu
Slika: Gornji primjer u pregledniku MS Internet Explorer
Slika: Gornji primjer u MS Front Page editoru
HTML oznake (kodovi, naredbe, eng. tags)
daju informacije o izgledu i hiperlinkovima definiraju početak i kraj naslova, odlomaka, listi, stilova teksta, hiperveza, itd. većina HTML elemenata označava se u dokumentu pomoću početne oznake
koja daje ime i atribute elementa, zatim slijedi sam sadržaj elementa i na kraju završna oznaka
početna oznaka između znakova < i >, a završna između znakova </ i > nije bitno da li se oznake pišu malim ili velikim slovima, isto je: <HTML> ili
<html> ili <Html> ili <hTmL>.
<B>Ovaj će tekst na ekranu biti podebljan (bold)!</B>
<P>Ovo je primjer vrlo kratkog odlomka.</P>
Za odlomak nije potrebno pisati obje oznake.<P>
• osnovne HTML elemente dijelimo u nekoliko grupa:
1. Strukturalni elementi - označavaju datoteku kao HTML dokument i daju informacije o podacima u njemu.
2. Oblikovanje odlomaka - označavaju krajeve odlomka, naslove različitih nivoa
3. Oblikovanje znakova - označavanje dijelova teksta kao podebljanog, nakošenog, podcrtanog...
4. Označavanje listi - označavanje dijelova teksta kao listi (numerirana, nenumerirana, definicijska lista...)
5. Kreiranje hiperveza - informacije o međusobnom povezivanju dokumenata
6. Uključivanje slika i slikovnih mapa - prikazivanje datoteka sa slikama, kreiranje slikovnih mapa osjetljivih na dodir
7. Kreiranje tablica - služe za strukturalni prikaz podataka u dokumentu
8. Kreiranje obrazaca (eng. forms) - omogućuju Web serveru primanje informacije koje unosi korisnik
9. Kreiranje okvira (eng. frames) - stranica se dijeli na više područja
10. Uključivanje objekata i multimedijalnih zapisa - prikazivanje datoteka sa zvučnim i video zapisom, animacijom
3.5 Pretraživanje WWW
tražilice (Search Engines) metatražilice (Meta-Search Engines) tematski katalozi (Directories) portali (portal services) lokalne tražilice, katalozi, portali
a) Tražilice (Search Engines)
na automatiziran način korištenjem posebnih programa (spiders, worms, knowbots - knowledge robots) pregledavaju se i indeksiraju Web stranice te se podaci o njima dodaju u bazu podataka
korisnik u obrasce za unos podataka na Web sučelju tražilice upisuje ključne riječi po kojima se pretražuje baza
kao rezultat pretraživanja ispisuju se URL-ovi stranica koje odgovaraju upitu kod tražilica 2 elementa:
1. programi za prikupljanje i indeksiranje (katalogiziranje) sadržaja na WWW
2. programi za pretraživanje preko sučelja koje koristi forme za unos ključnih riječi
1. Prikupljanje
Web se može promatrati kao veliki graf čiji su čvorovi stranice, a lukovi hiperlinkovi, pa se pri pretraživanju mogu koristiti algoritmi za obilaženje čvorova grafa (problem: veličina grafa)
primjer za jednostavnu tražilicu:
Slika: Podatkovne strukture jednostave tražilice (Tanenbaum, 1996)
potrebne su 3 podatkovne strukture:
1. tablica (linear array) url-table koja ima po jedan redak za svaku Web stranicu, a koji sadrži 2 pointera: jedan na URL stranice i jedan na naslov stranice (title)
2. heap - za čuvanje URL-a i naslova stranice (stringovi varijabilne dužine)3. hash tablica (hash table) sa n redaka - svaki URL hash funkcija pretvara u neki
nenegativni integer izmedu 0 i n; svi URL koji su dobili neku istu vrijednost k grupiraju se zajedno u listu koja započinje u k-tom retku tabele: svaki URL koji se dodaje u url-table dodaje se i uhash tablicu, a njezina je glavna svrha da se počne traženje sa zadanim URL-om i da se brzo ustanovi da li je već prisutan u url-table
razlikuju se dvije faze: traženje i indeksiranje:
Traženje
osnova jednostavne tražilice je rekurzivna procedura process_url koja uzima kao ulaz URL string i hash-ira ga da provjeri je li već prisutan u url-table
ako je URL nepoznat (nije u tabeli), stranica se dohvaća, URL i naslov se kopiraju na heap i pointeri na ta dva stringa se dodaju u url-table, a URL se dodaje i u hashtablicu
process_url izvlači sve hiperlinkove na stranici i poziva rekurzivno process_url za svaki link sa njegovi URL-om kao ulaznim parametrom
problem kod algoritma: traži prvo u dubinu (depth-first search) i rekurzivno se ponavlja onoliko puta koliko je duga najduža neciklička staza na Webu, pa se može desiti da se nikada ne završi pretrazivanje; zato se u praksi koristi pretrazivanje u širinu (breadth-first)
Indeksiranje ključnih riječi
procedura za indeksiranje linearno obilazi url-table gledajući naslove i selektirajući sve riječi koje nisu na “stop-listi” (lista prijedloga, veznika, članova...)
za svaku selektiranu riječ, procedura ispisuje u datoteku redak koji se sastoji od te riječi iza koje slijedi njezin trenutni broj u url-table
tako dobivena datoteka sortira se po riječima i sprema na disk
2. Pretraživanje preko korisničkog sučelja
korisnik unaša tražene ključne riječi u formu za unos podataka uključenu u HTML dokument
POST zahtjev šalje ključne riječi CGI skripti (programu) koja u datoteci-indeksu pronalazi koji riječi u url-table odgovaraju unosu; ako je za povezivanje ključnih riječi korišteno Boolean AND, računa se presjek, ako se koristilo OR, računa se unija
u url-table se pronalaze naslovi i URL-ovi od kojih se složi Web stranica koja se šalje natrag korisniku kao odgovor na POST zahtjev, a nakon što pretraživač prikaže tu stranicu, korisnik može odabrati neki od ponuđenih hiperlinkova
mogući problemi:
zastarjeli URL-ovi (pokazuju na strane koje više ne postoje), računala sa Web serverima koja su privremeno nedostupna sve strane ne mogu se dohvatiti od polaznog URL-a neke se strane mogu dohvatiti samo preko mapa osjetljivih na dodir (clickable
maps) neki dokumenti ne mogu se indeksirati (npr. zvučni zapisi) svi dokumenti nemaju naslov search engine može potrošiti svu memoriju ili prostor na disku čitavi proces može trajati predugo
Primjeri:
Google (http://www.google.com)
AltaVista (http://www.altavista.com)
AskJeeves (http://www.ask.com/)
Excite (http://www.excite.com/)
FAST (http://www.alltheweb.com)
HotBot (http://hotbot.lycos.com)
Go (http://www.go.com/)
Lycos (http://www.lycos.com/)
b) Metatražilice (Meta-Search Engines)
korisnik putem jedinstvenog sučelja postavlja upit kojeg metatražilica prosljeđuje većem broju tražilica
nemaju vlastite baze podatak i robot programe
Primjeri:
Metacrawler (http://www.metacrawler.com/)
Search. com (http://www.search.com/)
c) Tematski katalozi (Directories)
Web resursi su organizirani u hijerarhijske kataloge po područjima ili kategorijama (na primjer, umjetnost, obrazovanje, računala, politika, znanost, zabava,…)
odabiranje i organizaciju resursa vrše ljudi, a ne automatizirani programi
pretraživanje započinje od najvišeg nivoa od kojeg se spušta po hijerarhiji ovisno o izboru korisnika
nedostatak: ne može se uvijek predvidjeti način na koji su teme klasificirane – ponekad se koriste standardne sheme kao što je UDK za biblioteke
Primjeri:
Yahoo (http://www.yahoo.com)
AltaVista (http://www.altavista.com)
LookSmart (http://www.looksmart.com)
Netscape Search (http://search.netscape.com/)
d) Portali (portal services)
"ulazne točke" na Internet koje nude različite informacije
objedinjuju karakteristike tražilica i tematskih kataloga, te nude i druge usluge, na primjer pronalaženje email i poštanskih adresa, telefona i fax brojeva, čitanje vijesti i vremenskih izvještaja, online trgovinu, besplatne email adrese
često personalizirane usluge za prijavljenog korisnika
Primjeri:
Microsoft Network (http://www.msn.com)
Yahoo (http://www.yahoo.com)
Excite (http://www.excite.com)
Go/InfoSeek (http://infoseek.go.com)
e) Lokalne tražilice, katalozi, portali
ograničeni na pretraživanje ograničenih zenljopisnih područja primjeri u Hrvatskoj:
direktorij WWW.HR (http://www.hr/wwwhr/) – home page Hrvatskehttp://www.hr
portal HThinet http://moj.hinet.hr
portal VIPonline http://www.vip.hr/
Iskon katalog http://www.iskon.hr/
X. SIGURNOST MREŽE (NETWORK SECURITY)
problem izgradnje sigurnih mreža postaje sve veći jer raste i broj korisnika mreža
problemi u vezi sa sigurnošću mreže mogu se podijeliti u 4 područja (koja se međusobno i preklapaju):
1. tajnost ili povjerljivost (secrecy) - čuvanje informacija izvan dohvata neovlaštenih korisnika
2. dokazivanje autentičnosti (authentication) - utvrđivanje tko je osoba s kojom se uspostavila veza prije slanja važnih informacija
3. sprečavanje nepriznavanje (nonrepudiation) - odnosi se na potpise: kako dokazati da je neka osoba koja je potpisana u poruci tu poruku zaista i poslala ako ona to negira?
4. kontrola integriteta (integrity control) - da li je poruka koja je stigla zaista ona koja je poslana ili ju je netko u toku prijenosa izmijenio?
1. Klasične kriptografske metode
na principima kriptografije temelje se gotovo svi načini uspostavljanja sigurnosti mreže
u povijesti je najveću ulogu u razvoju kriptografije imala vojska do otkrića računala glavno je ograničenje bila sposobnost činovnika da izvede
odgovarajuće šifriranja i dešifriranje, te da brzo promijeni korištenu kriptografsku metodu
šifra (cipher) - promjena znaka u znak (ili bita u bit) bez obzira na značenje poruke
kôd (code) - jedna riječ zamjenjuje se drugom riječi ili simbolom -> više se ne koristi (primjer: Navajo kôd US vojske za vrijeme II svjetskog rata)
model šifriranja (encryption model):
Slika: Model šifriranja (Tanenbaum, 1996)
poruka koja se šifrira je običan tekst (plaintext) P P se transformira na osnovu metode šifriranja (encryption method)
- funkcije koja kao parametar koristi ključ (encryption key) K kao izlaz dobivamo šifrirani tekst (ciphertext) C koji se šalje na pr. preko
glasnika, radiom,... uljez (intruder) može samo osluškivati komunikacijski kanal (pasivni uljez) ili
može snimiti poruku, mijenjati je ili slati vlastitu (aktivni uljez) vrijedi: C = EK(P) tj. šifriranjem teksta P pomoću ključa K dobijemo šifrirani
tekst C obrnuto: P = DK(C) predstavlja dešifriranje (decryption) šifriranog teksta C
da bi se ponovo dobio početni obični tekst P (slijedi da je DK(EK(P))=P) E, D - odabrane matematičke funkcije čiji su parametri ključ i tekst (obični ili
šifrirani)
osnovno pravilo kriptografije je da onaj tko vrši dešifriranje mora znati korištenumetodu dešifriranja i ključ koji se u toj metodi koristio
dok se osnovna metoda šifriranja mijenja nakon nekoliko godina, ključ se mijenja često -> osnovni model je stabilna i javno poznata općenita metoda koja kao parametar koristi tajni, lako izmjenjivi ključ
dužina ključa je glavno pitanje kod njegova dizajna ključ se sastoji od znamenki (znakova) koje su unesene određenim
redoslijedom i što je ključ duži, više je mogućih kombinacija i više je rada potrebno da ga onaj koji razbija šifru pogodi (može se koristiti npr. 256 bita)
metode šifriranja dijele se povijesno u 2 kategorije: supstitucijske i transpozicijske šifre
1.1 Supstitucijske šifre
svako slovo ili grupa slova zamjenjuje se drugim slovom ili grupom slova tj. čuva se redoslijed slova, ali se ona “prerušavaju”
najstarija poznata takva šifra je Cezarova šifra kod koje a postaje D, b postaje E,c postaje F,..., z postaje C (npr. attack postaje DWWDFN)
generalizacija Cezarove šifre dozvoljava da se abeceda šifriranja pomakne za kslova, a ne za 3
slijedeće poboljšanje je da se svaki znak preslika u neki drugi znak bez pravilnog pomaka (npr. attack postaje QZZQEA), na primjer:
P: a b c d e f g h i j k l m n o p q r s t u v w x y z
C: Q W E R T Y U I O P A S D F G H J K L Z X C V B N M
takav se sistem naziva monoalfabetska supstitucija kod koje je ključ niz od 26 slova koji odgovara čitavoj (engleskoj) abecedi
mogućih ključeva ima 26! ≈ 4 x 1026 ali se unatoč tome, poznajući već i manju količinu šifriranoga teksta, može pronaći ključ na osnovu statističkih osobina prirodnih jezika (gledaju se najčešća slova, kombinacije od 2 slova i kombinacije od 3 slova)
1.2 Transpozicijske šifre
slova ostaju ista (ne zamjenjuju se kao kod supstitucijskih šifri), ali se mijenja njihov redoslijed (izmiješaju se)
primjer - stupčana transpozicija:
Slika: Primjer transpozicijske šifre (Tanenbaum, 1996)
ključ je riječ ili fraza koja ne sadrži ponavljajuća slova (u primjeru: MEGABUCK), a služi za numeraciju stupaca tako da je stupac 1 pod slovom koje je najbliže početku abecede
obični tekst se piše u recima (vodoravno), a šifrirani tekst u stupcima počevši od onoga koji je označen kao stupac 1
1.3 Ključ za jednokratnu uporabu (One-Time Pads)
tehnika za konstruiranje šifre koja se ne može razbiti (unbreakable cipher): izabrati slučajni niz bitova kao ključ pretvoriti tekst u niz bitova (na primjer, korištenjem ASCII reprezentacije
znakova) izračunati ISKLJUČIVI ILI (EXCLUSIVE OR) tih dvaju stringova, bit po bit
rezultirajući šifrirani tekst ne može se razbiti jer je jednako vjerojatno za bilo koji obični tekst određene duljine da je tako šifriran
nedostaci: ključ se ne može zapamtiti, pa i pošiljaoc i primaoc moraju držati kopiju uz sebe; velika osjetljivost na izmjene do kojih može doći u prijenosu
2. Dva osnovna principa kriptografije
principi koji su zajednički za različite kriptografske sisteme:
1. redundancija (redundancy): sve šifrirane poruke moraju sadržavati određenu količinu suvišnih podataka, (tj. informacija koje nisu potrebne da se razumije poruka) kako aktivni uljezi ne bi mogli poslati slučajan niz znakova koji će se interpretirati kao ispravna poruka
2. "svježina" (freshness): mora se spriječiti da aktivni uljezi ponovo šalju stare poruke - u poruke se uključuju vremenske oznake (timestamps)
3. Algoritmi sa simetričnim ključem (Symmetric-Key Algorithms)
moderna kriptografija koristi iste osnovne ideje (supstituciju i transpoziciju) kao i klasična
razlika: klasična je koristila jednostavne algoritme za šifriranje s vrlo dugačkim ključevima kao sigurnost, modernoj je cilj napraviti što složenijima algoritme
algoritmi sa simetričnim ključem:o isti ključ se koristi za šifriranje i dešifriranjeo šifre u blokovima - ulaz je n-bitni blok teksta koji se pomoću ključa
transformira u n-bitni blok šifriranog tekstao kriptografski algoritmi mogu se implementirati hardverski (zbog brzine)
ili softverski (zbog fleksibilnosti)o transpozicija i supstitucija mogu se primijeniti više puta u nizu i
kombinirati na različite načine, a implementiraju se jednostavnim uređajima (električnim sklopovima) P-kutijom (P-box) i S-kutijom (S-box)
2 osnovna pristupa razbijanju šifre:o kriptoanaliza: na osnovu poznavanja prirode algoritma i nekih
osnovnih osobina teksta (ili čak nekih uzoraka parova tekst-šifrirani tekst) nastoji se zaključiti koji je ključ korišten
o "gruba sila" (brute-force): isprobava se svaki mogući ključ na komadu šifriranog teksta sve dok se ne dobije odgovarajući tekst- teže je (duže traje) što je duži ključ
DES (Data Encription Standard)
poznati algoritam sa simetričnim ključem DES (Data Encription Standard) šifru razvio je IBM, a 1977. ju je usvojila i
vlada USA kao svoj službeni standard osnovna ideja: tekst se šifrira u blokovima od 64 bita, algoritam koristi 56 bitni
ključ i odvija se u 19 faza:o prva faza je transpozicija teksta koja ne ovisi o ključu,o zadnja faza je inverz te transpozicijeo predzadnja faza je zamjena 32 lijeva bita s 32 desnao ostalih 16 faza koriste istu funkciju, ali različite ključeve koji se izvode
iz polaznog ključa
Slika: Faze DES-a i detalj jedne od 16 faza (Tanenbaum, 1996)
ulaz je podijeljen na lijevi i desni sa po 32 bita lijevi izlaz je kopija desnog ulaza
desni izlaz je XOR lijevog ulaza i funkcije nad desnim ulazom i ključem Kiza ovu i-tu fazu (iteraciju)
sva kompleksnost se nalazi u funkciji
unatoč kompleksnosti, DES je u osnovi monoalfabetska supstitucijska šifra koja koristi 64-bitne znakove, te uvijek isti 64-bitni šifrirani tekst odgovara istom 64-bitnom ulaznom tekstu
da bi se povećala kompleksnost, kao jedna od metoda koristi se ulančavanje blokova šifri (cipher block chaining) kod koje se svaki blok običnog teksta prije šifriranja povezuje sa EXCLUSIVE OR sa prethodnim blokom šifre
problemi kod DES:o i mala količina običnog teksta i odgovarajućeg šifriranog teksta je
dovoljna da se nađe ključ dužine 56 bitova (namjerno kratki ključ?!) korištenjem vrlo jakog računala ili korištenjem velikog broja manje jakih računala koji dijele posao (problem se može riješiti korištenjem dužeg ključa npr. 128 bitnog)
o distribucija ključeva: isti ključ je i za šifriranje i za dešifriranje, pa se mora distribuirati objema stranama koje ga moraju znati, a istovremeno spriječiti uljeze da dođu do njega
AES (Advanced Encryption Standard) - novi sigurniji standard s duljinom blokova od 128 bita i podrškom za ključeve dužine 128, 192, 256 bita
4. Algoritmi s javnim ključem (Public-Key Algorithms)
1976. predložen je na Stanford University (Diffe, Hellman) potpuno novi sistem kriptografije kod koje su ključ za šifriranje i ključ za dešifriranje različiti, i ključ dešifriranja ne može se izvesti iz ključa šifriranja
korisnik za šifriranje poruke koristi javni ključ (public key), a za dešifriranje poruke privatni (tajni) ključ (private key)
zahtjevi koje trebaju ispuniti algoritam za šifriranje (E) s javnim ključem i algoritam za dešifriranje (D) s privatnim ključem:
1. D(E(P)) = P (ako primijenimo D na šifrirani tekst E(P) dobiti ćemo ponovo polazni tekst P
2. izuzetno je teško na osnovu algoritma E zaključiti kakav je D3. algoritam E se ne može razbiti iako se ima dio dešifriranog teksta
uz ove uvjete ključ za šifriranje može biti javni ključ
Metoda:
Slika: Algoritam s javnim ključem (Tanenbaum, 1996)
osoba A koja šalje poruku ima 2 algoritma EA i DA koji ispunjavaju gornje uvjete i od kojih je algoritam za šifriranje i njegov ključ EA javni; javni je i algoritam za dešifriranje, ali je njegov ključ DA tajni i poznat samo osobi A; analogno vrijedi za osobu B i ključeve EB i DB
ako A želi poslati tajnu poruku P za B, uzima njezin javni ključ EB i računa EB(P), tako šifrirani tekst šalje osobi B koji ga dešifrira pomoću svog tajnog ključa DB (računa DB(EB(P)) = P)
problem kod metoda s javnim ključevima je kako naći algoritam koji ispunjava sva tri zahtjeva
jedan od njih je RSA algoritam
RSA algoritam
razvijen 1976. na MIT-u Rivest, Shamir i Adleman, a metoda se bazira na nekim principima teorije brojeva, tj. na nemogućnosti računala da u realnom vremenu vrši faktorizaciju velikih prim brojeva
RSA je dosta spor za šifriranje većih količina podataka (zadovoljavajuće sigurnost se postiže s ključem od barem 1024 bita)
često se koristi samo za distribuciju ključeva kod DES, a DES se dalje koristi za šifriranje ostalih podataka
Postupak:
1. izabrati 2 velika prim broja p i q (obično 1024 bita)
2. izračunati n = p x q i z = (p-1) x (q-1)3. izabrati broj d relativno prim prema z4. naći e tako da je e x d = 1 mod z5. podijeliti tekst u blokove (ili poruke) P tako da svaki od njih bude 0 ≤ P < n6. za šifriranje poruke P izračunati C = Pe mod n7. za dešifriranje C izračunati P = Cd mod n
-> funkcije za šifriranje i dešifriranje su inverzne(e,n) je javni ključ za šifriranje(d,n) je privatni ključ za dešifriranje
kada bi se javno znani n uspio faktorizirati na p i q, našao bi se z, a zatim e i d -> teško
Primjer:
1. p=3, q=112. n=3 x 11=33, z=2 x 10=203. d=74. 7 x e = 1 mod 20 -> (7 x e)/20 = x + 1/20 -> e=35. C = P3 mod 336. P = C7 mod 33
(3,33) je javni ključ za šifriranje(7,33) je privatni ključ za dešifriranje
Slika: Primjer za RSA (Tanenbaum, 2003)
5. Digitalni potpisi (Digital Signatures)
treba pronaći odgovarajuću zamjenu za potpise pisane rukom čije se krivotvorenje može utvrditi
potreban je sistem u kojem:o jedna strana može poslati “potpisanu” poruku drugoj tako da primaoc
može provjeriti identitet pošiljaoca,o pošiljaoc ne može kasnije negirati poslanu porukuo primaoc ne može sam izmisliti poruku
5.1 Potpisi korištenjem simetričnih ključeva
postoji centralni autoritet kojem svi vjeruju (BB - “Big Brother”) i koji ima pohranjen tajni ključ svakog korisnika, samo korisnik A i BB znaju za ključ KA, korisnik B i BB znaju za ključ KB itd.
Slika: Digitalni potpisi uz nadzor BB (Tanenbaum, 2003)
ako A želi poslati poruku P osobi B, prvo generira i šalje KA(B, RA, t, P) za BB:o B - identitet osobe Bo RA - slučajan broj kojeg A birao t - vremenska oznaka
BB dešifrira tu poruku i koristeći tajnu šifru osobe B KB šalje osobi B, (uz ostale podatke) tekst poruke, te KBB(A, t, P)
podatak KBB(A, t, P) služi osobi B kao dokaz da mu je poruku zaista poslala osoba A
5.2 Potpisi korištenjem javnog ključa
razmjena potpisanih poruka bez nadzora nekog centralnog autoriteta (svaku poruku koja mu stiže može pročitati)
koriste se algoritmi za šifriranje i dešifriranje pomoću javnog ključa koji imaju dodatnu osobinu da je E(D(P)) = P (uz standardnu: D(E(P)) = P ), npr. RSA
Slika: Digitalni potpisi korištenjem javnog ključa (Tanenbaum, 2003)
osoba A šalje potpisanu poruku osobi B načinivši EB(DA(P)) B primjenjuje prvo svoj privatni ključ DB da bi dobio DA(P), a zatim javni ključ
EA da dobije tekst P od A da je zaista osoba A poslala poruku, može se provjeriti tako da se od B uzmu i
P i DA(P) i da se primjenom ključa EA ustanovi da li je zaista EA(DA(P)) = P, ako to vrijedi, znači da je poruka zaista od osobe A jer jedina ona zna DA
6. Upravljanje javnim ključevima
problem sigurne razmjene javnih ključeva osoba koje se ne poznaju ključevima može upravljati distribucijski centar za ključeve koji je cijelo
vrijeme on-line
umjesto takvog centra jedan od načina je korištenjem certifikata (certificates)
Certifikati
CA (Certification Authority) - organizacija koja potvrđuje javne ključeve osobe se registriraju u CA svojim javnim ključem i nekim osobnim podatkom, a
CA izdaje certifikat (potvrdu) potpisan nekim digitalnim potpisom pri čemu se koristi privatni ključ tog CA
osnovni zadatak certifikata: pridružiti javni ključ imenu osobe (ili neke organizacije, firme,...) - sami certifikati nisu tajni ili zaštićeni
Slika: Primjer certifikata (Tanenbaum, 2003)
kad osoba A dohvati certifikat od B, primjeni algoritam korišten za digitalni potpis s javnim ključem od CA -> ako se dobiveni rezultat slaže s onim navedenim u certifikatu, riječ je zaista o pravom certifikatu od B
na taj način CA ne mora biti stalno on-line
X.509 - standard za certifikate