252
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

Racunari

Embed Size (px)

Citation preview

Page 1: Racunari

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

Page 2: Racunari

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)

 

Page 3: Racunari

 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

Page 4: Racunari

 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

Page 5: Racunari

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

Page 6: Racunari

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)

Page 7: Racunari

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

Page 8: Racunari

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

Page 9: Racunari

topologija povezivanja rutera - obično nepravilna, primjeri:

Slika: primjeri topologija point-to-point podmreže (Tanenbaum, 1996)

Page 10: Racunari

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:

Page 11: Racunari

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

Page 12: Racunari

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)

Page 13: Racunari

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

Page 14: Racunari

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)

 

Page 15: Racunari

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

Page 16: Racunari

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

Page 17: Racunari

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

Page 18: Racunari

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)

Page 19: Racunari

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

Page 20: Racunari

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)

Page 21: Racunari

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  

Page 22: Racunari

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

Page 23: Racunari

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

 

Page 24: Racunari

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):

Page 25: Racunari

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)

Page 26: Racunari

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

Page 27: Racunari

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

Page 28: Racunari

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

Page 29: Racunari

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)

Page 30: Racunari

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:

Page 31: Racunari

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

Page 32: Racunari

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:

Page 33: Racunari

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

 

Page 34: Racunari

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)

Page 35: Racunari

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

Page 36: Racunari

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

Page 37: Racunari

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)

 

Page 38: Racunari

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

Page 39: Racunari

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

Page 40: Racunari

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

Page 41: Racunari

 

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

Page 42: Racunari

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

 

Page 43: Racunari

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:

Page 44: Racunari

 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

Page 45: Racunari

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

 

 

Page 46: Racunari

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

 

Page 47: Racunari

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)  

Page 48: Racunari

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

Page 49: Racunari

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)

Page 50: Racunari

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)

Page 51: Racunari

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) 

Page 52: Racunari

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)

Page 53: Racunari

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

Page 54: Racunari

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:

Page 55: Racunari

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)

Page 56: Racunari

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)

Page 57: Racunari

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

Page 58: Racunari

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

 

Page 59: Racunari

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

Page 60: Racunari

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

Page 61: Racunari

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 

Page 62: Racunari

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

Page 63: Racunari

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

Page 64: Racunari

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

Page 65: Racunari

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

Page 66: Racunari

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)

 

Page 67: Racunari

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

Page 68: Racunari

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

Page 69: Racunari

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

Page 70: Racunari

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)

 

Page 71: Racunari

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)

Page 72: Racunari

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

Page 73: Racunari

3. vrijeme je isteklo - u oba slučaja ne mijenja se ni sadržaj spremnika ni redni broj

 

Page 74: Racunari
Page 75: Racunari

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

Page 76: Racunari

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:

Page 77: Racunari

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:

Page 78: Racunari

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?

Page 79: Racunari

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

Page 80: Racunari

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:

Page 81: Racunari

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

Page 82: Racunari

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

Page 83: Racunari

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:

Page 84: Racunari

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:

Page 85: Racunari

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

Page 86: Racunari

Primjeri HDLC operacija (Stallings, 2004)

a) Uspostavljanje i prekidanje veze:

b) Dvosmjerna razmjena podataka:

Page 87: Racunari

c) Stanje zauzetosti

Page 88: Racunari

d)  Obnavljanje od pogreške uz pomoć negativne potvrde (REJ  - reject)

Page 89: Racunari

e) Obnavljanje od pogreške uz pomoć timera

Page 90: Racunari

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

 

Page 91: Racunari

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:

Page 92: Racunari

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,...)

Page 93: Racunari

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)

 

Page 94: Racunari

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

Page 95: Racunari

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

Page 96: Racunari

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

Page 97: Racunari

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

Page 98: Racunari

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

Page 99: Racunari

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.

Page 100: Racunari

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.

Page 101: Racunari

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

Page 102: Racunari

Slika: CSMA/CD (Stallings, 2004)

za jedan interval se uzima 2  primjer 2:

Page 103: Racunari

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

 

Page 104: Racunari

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:

Page 105: Racunari

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

Page 106: Racunari

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)

Page 107: Racunari

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

 

Page 108: Racunari

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)

Page 109: Racunari

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

Page 110: Racunari

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

Page 111: Racunari

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:

Page 112: Racunari

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:

 

Page 113: Racunari

Slika: Primjer Gigabitne Ethernet konfiguracije (Stallings, 2004)

Usporedba medija:

Page 114: Racunari

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

Page 115: Racunari

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

Page 116: Racunari

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

 

Page 117: Racunari

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

Page 118: Racunari

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:

Page 119: Racunari

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

Page 120: Racunari

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  

 

Page 121: Racunari

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)

 

Page 122: Racunari

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:

Page 123: Racunari

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

Page 124: Racunari

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,...)

Page 125: Racunari

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

Page 126: Racunari

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

Page 127: Racunari

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,...)

Page 128: Racunari

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)

Page 129: Racunari

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:

Page 130: Racunari

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)

Page 131: Racunari

- 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

Page 132: Racunari

 

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

Page 133: Racunari

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 

Page 134: Racunari

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) 

Page 135: Racunari

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

Page 136: Racunari

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

Page 137: Racunari

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 

Page 138: Racunari

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

Page 139: Racunari

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

Page 140: Racunari

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 

Page 141: Racunari

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:

Page 142: Racunari

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)

Page 143: Racunari

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)

Page 144: Racunari

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

Page 145: Racunari

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

Page 146: Racunari

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

Page 147: Racunari

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

Page 148: Racunari

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.

Page 149: Racunari

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

Page 150: Racunari

 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

Page 151: Racunari

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)

Page 152: Racunari

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

Page 153: Racunari

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:

Page 154: Racunari

 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)

Page 155: Racunari

 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

 

Page 156: Racunari

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

Page 157: Racunari

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

Page 158: Racunari

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

Page 159: Racunari

 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

 

Page 160: Racunari

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)

Page 161: Racunari

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:

Page 162: Racunari

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:

Page 163: Racunari

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

Page 164: Racunari

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

 

Page 165: Racunari

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:

 

Page 166: Racunari

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

Page 167: Racunari

 

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)

Page 168: Racunari

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

Page 169: Racunari

(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:

Page 170: Racunari

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)

 

Page 171: Racunari

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:

 

Page 172: Racunari

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

Page 173: Racunari

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:

Page 174: Racunari

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)

Page 175: Racunari

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

Page 176: Racunari

 

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)

Page 177: Racunari

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 

Page 178: Racunari

š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

Page 179: Racunari

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

Page 180: Racunari

 

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

 

Page 181: Racunari

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)

Page 182: Racunari

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

Page 183: Racunari

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):

Page 184: Racunari

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

Page 185: Racunari

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)

Page 186: Racunari

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:

Page 187: Racunari

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:

Page 188: Racunari

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

Page 189: Racunari

 

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:

Page 190: Racunari

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

Page 191: Racunari

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

Page 192: Racunari

 

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)

Page 193: Racunari

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

 

Page 194: Racunari

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"

Page 195: Racunari

------=_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>&nbsp;</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 

Page 196: Racunari

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)):

Page 197: Racunari

 

Slika: Prijenos email poruke (Tanenbaum, 1996)

 

 2.5. Dostavljanje poruka

Page 198: Racunari

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)

 

Page 199: Racunari

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

 

Page 200: Racunari

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: 

Page 201: Racunari

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 

Page 202: Racunari

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:  

Page 203: Racunari

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

Page 204: Racunari

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

Page 205: Racunari

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)

Page 206: Racunari

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

Page 207: Racunari

Slika: Primjer HTML dokumenta u Notepadu

Slika: Gornji primjer u pregledniku MS Internet Explorer

Page 208: Racunari

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>

 

Page 209: Racunari

• 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:

Page 210: Racunari

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

Page 211: Racunari

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/)

Page 212: Racunari

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

Page 213: Racunari

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?

Page 214: Racunari

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)

 

Page 215: Racunari

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:

Page 216: Racunari

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:

Page 217: Racunari

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

Page 218: Racunari

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)

Page 219: Racunari

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:

Page 220: Racunari

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)

Page 221: Racunari

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) 

Page 222: Racunari

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)

Page 223: Racunari

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

Page 224: Racunari

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