10
II dio - Računalne mreže Računalni praktikum II 20 4. PODATKOVNI SLOJ 4.1. Usluge koje pruža podatkovni sloj Funkcija podatkovnog sloja je pružanje usluga mrežnom sloju. Proces na mrežnom sloju prepušta podatke podatkovnom sloju, koji će prenijeti podatke ka odredišnom podatkovnom sloju koji će ih predati mrežnom sloju na toj strani. Podatkovni sloj mora: Osigurati dobro definirano sučelje prema mrežnom sloju Definirati način na koji se bitovi sa fizičkog sloja grupiraju u okviru Riješiti problem pogrešaka pri prijenosu Regulirati protok okvira Usluga prijenosa koje podatkovni sloj pruža može biti: Usluga bez spajanja i bez potvrde prijema Stroj koji služi kao izvor podataka šalje okvire bez da traži potvrdu o primitku. Prije komunikacije ne uspostavlja se put kojim će okviri putovati. Ovaj način je pogodan kod sustava sa malom razinom pogrešaka, kao i za sustave u realnom vremenu. Usluga bez spajanja i s potvrdom prijema Kod ove vrste usluge veza se također ne uspostavlja prije prijenosa, ali se za svaki okvir traži potvrda prijema. Ako okvir nije primljen šalje se ponovo. Usluga sa spajanjem i s potvrdom prijema Izvor i odredište uspostavljaju vezu prije samog prijenosa podataka. Svaki okvir se numerira i podatkovni sloj garantira da će svaki okvir doći na odredište, da neće biti dupliciranja i da će stići po redu. Slika 20. a) virtualna komunikacija b) stvarna komunikacija

Racunalne mreze 2

Embed Size (px)

DESCRIPTION

mreze

Citation preview

Page 1: Racunalne mreze 2

II dio - Računalne mreže

Računalni praktikum II 20

4. PODATKOVNI SLOJ 4.1. Usluge koje pruža podatkovni sloj Funkcija podatkovnog sloja je pružanje usluga mrežnom sloju. Proces na mrežnom sloju prepušta podatke podatkovnom sloju, koji će prenijeti podatke ka odredišnom podatkovnom sloju koji će ih predati mrežnom sloju na toj strani.

Podatkovni sloj mora: • Osigurati dobro definirano sučelje prema mrežnom sloju • Definirati način na koji se bitovi sa fizičkog sloja grupiraju u okviru • Riješiti problem pogrešaka pri prijenosu • Regulirati protok okvira Usluga prijenosa koje podatkovni sloj pruža može biti: • Usluga bez spajanja i bez potvrde prijema

Stroj koji služi kao izvor podataka šalje okvire bez da traži potvrdu o primitku. Prije komunikacije ne uspostavlja se put kojim će okviri putovati. Ovaj način je pogodan kod sustava sa malom razinom pogrešaka, kao i za sustave u realnom vremenu.

• Usluga bez spajanja i s potvrdom prijema Kod ove vrste usluge veza se također ne uspostavlja prije prijenosa, ali se za svaki okvir traži potvrda prijema. Ako okvir nije primljen šalje se ponovo.

• Usluga sa spajanjem i s potvrdom prijema Izvor i odredište uspostavljaju vezu prije samog prijenosa podataka. Svaki okvir se numerira i podatkovni sloj garantira da će svaki okvir doći na odredište, da neće biti dupliciranja i da će stići po redu.

Slika 20. a) virtualna komunikacija b) stvarna komunikacija

Page 2: Racunalne mreze 2

II dio - Računalne mreže

Računalni praktikum II 21

Prijenos ima tri faze: 1. Uspostava veze, inicijalizacija varijabli i brojača okvira 2. Prijenos okvira 3. Raskid veze, resetiranje svih resursa koji su se koristili (varijabli, spremnika, ...) Kontrola pogreški Jedna od zadaća podatkovnog sloja je kontrola pogreški. Najčešće se za postizanje pouzdanog prijenosa koristi potvrda prijema. Protokol poziva prijemnu stranu da pošalje upravljački okvir sa pozitivnom ili negativnom potvrdom prijema poslanih okvira. U slučaju negativne potvrde okvir se mora poslati ponovo. Protokol mora riješiti i problem izgubljenog okvira ili izgubljene potvrde, jer se ne može dopustiti dugo čekanje na predajnoj strani. Taj problem se rješava upotrebom brojača, koji čeka određeni vremenski period dovoljan da okvir dođe do odredišta i da prijemna strana pošalje natrag potvrdu. Ako vremenski period istekne (zbog izgubljenog okvira ili izgubljene potvrde), brojač se isključi i upozorava pošiljatelja na problem. Okvir se šalje ponovo, pa stoga može doći do dupliciranja okvira na prijemnoj strani. Način sprječavanja dupliciranja okvira je zadavanje broja svakom okviru tako da ih prijemna strana zna razlikovati. Kontrola pogreški je važna zadaća podatkovnog sloja i postoji niz različitih sofisticiranih protokola koji ovaj problem rješavaju. Kontrola toka Kontrola toka na podatkovnom sloju vezana je uz problem kako spriječiti bržeg pošiljatelja da ne zatrpa podacima sporijeg primatelja. Potrebno je uvesti nekakav povratni mehanizam, kako bi se pošiljatelj obavijestio može li ga primatelj "pratiti". Većina mehanizama kontrole toka se zasniva na istom principu. Protokol ima definirana pravila o tome kad pošiljatelj smije slati okvire. Kad se uspostavi veza primatelj kaže koliko pošiljatelj smije poslati okvira, nakon što ih pošalje mora čekati prijemnu stranu za dopuštenje daljnjeg slanja okvira. 4.2. Formiranje okvira Fizički sloj prihvaća niz bitova i predaje ih odredišnoj strani. Broj bitova koji je prenijet može se razlikovati od broja poslanih bitova, također može doći do promjene vrijednosti bitova. Podatkovni sloj ima zadaću detektiranja i korekcije (ako je nužno) ovako nastale greške. Podatkovni sloj razbija niz bitova u okvire i računa kontrolni niz bitova za svaki okvir. Na odredišnoj strani kontrolni niz bitova (polje za provjeru) se ponovo računa i ako se ne poklapa s vrijednošću izračunatoj na predajnoj strani znači da je došlo do pogreške. Prvi problem koji se mora riješiti kod podatkovnog sloja je sinkronizacija tj. suprotne strane se moraju dogovoriti o detekciji početka i kraja okvira koji se prenose. Postoji više načina na koji se sinkronizacija izvršava. Prvi način je korištenje zaglavlja koje nosi informaciju o broju znakova u okviru. Na odredište se iz pročitanog zaglavlja zna koliko znakova slijedi i kad je kraj okvira. Ako dođe do greške na zaglavlju prijemna

Page 3: Racunalne mreze 2

II dio - Računalne mreže

Računalni praktikum II 22

strana ne može više znati kad je početak sljedećeg okvira. Zbog ovog razloga ova metoda se rijetko koristi. Druga metoda zaobilazi ovaj problem resinkronizacije nakon pogreške tako da svaki okvir počinje sa ASCII sekvencom DLE STX i završava sa sekvencom DLE ETX. Ako se izgubi sinkronizacija, odredišna strana traži DLE STX ili DLE ETX. Problem nastaje kad se u podacima jave znakovi DLE STX i DLE ETX. Jedan od načina za rješavanje ovog problema je ubacivanje znaka tj. svaki put kad se u podacima slučajno pojavi DLE znak podatkovni sloj ubaci prije njega još jedan DLE znak. Na prijemnoj strani se taj dodatni znak uklanja prije predaje mrežnom sloju.

Nedostatak ove metode je njegova znakovna orijentiranost, tj. vezanost za 8 bitovne znakove. Treća metoda je bitovno orijentirana i dopušta da okviri imaju proizvoljan broj bitova, te kodiranje znakova sa proizvoljnim brojem bitova. Svaki okvir počinje sa bitovnom sekvencom 01111110 koja se zove zastavica (engl. flag). Da bi se spriječilo pojavljivanje te sekvence u podacima, pošiljatelj nakon svakog niza od pet 1 ubacuje 0. Kod prijemna strana vidi pet jedinica iza kojih slijedi 0 ona je automatski izbacuje.

Zadnja metoda je pogodna samo za mreže kod kojih na fizičkom sloju postoji redudancija.

a) 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0

b) 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 0

c) 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0UBAČENE NULE

Slika 22. a) originalni podatak b) podaci nakon ubacivanja nula (u ovom obliku se prenose) c) podaci na prijemnoj

strani nakon izbacivanja dodanih nula

Slika 21. a) podaci koje šalje mrežni sloj b) podaci nakon ubacivanja DLE znakac) podaci predani mrežnom sloju na predajnoj strani

Page 4: Racunalne mreze 2

II dio - Računalne mreže

Računalni praktikum II 23

4.3. Korekcija i detekcija pogreški U računalnim mrežama postoje dva načina zaštite od pogrešaka. Prvi način je korištenje kodova za korekciju pogrešaka. U svakom bloku podataka unosi se dovoljno redudancije da bi se mogla korigirati greška na prijemnoj strani. Kod drugog načina unosi se toliko redudancije koliko je dovoljno za detektiranje pogreške i nakon toga se traži retransmisija. U tom slučaju koriste se kodovi za detekciju pogreške. Kad se na m bitovni podatak doda r redudantnih bitova (kontrolnih) dobije se n=m+r kodna riječ. Za svake dvije kodne riječi moguće je izračunati u koliko bitova se razlikuju. Npr. 10101010 i 11001011 se razlikuju u 3 bita (primijenimo operaciju isključivo ILI i zbrojimo u rezultatu broj jedinica). Broj bitova u kojima se dvije kodne riječi razlikuju zove se Hammingova distanca. Ako dvije riječi imaju Hammingovu distancu d, tada je potrebno pogriješiti d bitova da bi se jedna kodna riječ pretvorila u drugu. Za m-bitovni podatak postoji 2m mogućih kodnih riječi, kad se doda r kontrolnih bitova dobije se n bitna riječ i pri tome se ne koriste svih 2n mogućih kodnih riječi. Pomoću algoritama za računanje kontrolnih bitova konstruira se lista valjanih kodnih riječi i iz te liste se nađu dvije kodne riječi koje imaju minimalnu Hammingovu distancu. Tada je to Hammingova distanca cijelog koda i korekcija i detekcija pogreške se zasniva na njoj. Za detektiranje d pogreški potrebno je imati kod sa d+1 Hammingovom distancom, zato što je onda nemoguće da pogreška u d bitova rezultira kodnom riječi koja je valjana. Kad prijemna strana primi nevaljalu kodnu riječ traži retransmisiju. Za korekciju d pogreški potrebno je imati 2d+1 Hammingovu distancu, što znači da su dvije valjane kodne riječi toliko daleko da čak i s d pogreški originalna kodna riječ je bliže nego druga kodna riječ. Primjer za kod s detekcijom greške bio bi dodavanje paritetnog bita kodnoj riječi. Paritetni bit odabere se tako da ukupni broj bitova u 1 bude paran. Npr. na kodnu riječ 10110101 doda se 1 i to daje 101101011 ili na kodnu riječ 10110001 doda se 0 i dobije se kodna riječ 101100010. Kod sa jednim paritenim bitom ima udaljenost 2, što znači da se mogu detektirati pogreške u jednom bitu (čim se jedan bit promjeni, poremeti se parnost). Ako imamo kod sa samo 4 ispravne kodne riječi npr. 0000000000, 0000011111, 1111100000, 1111111111, udaljenost mu je 5 i može ispravljati 2-bitne pogreške. Kad bi npr. primatelj dobio kodnu riječ 0000000111, znao bi da je original 0000011111. Sve greške na više od 2 bita ne mogu se popraviti. Kodovi za detekciju pogreške koriste se kad je isplativije ponovo poslati podatke nego ispravljati greške. Često se koriste polinomni kod tj. CRC (Cyclic Redundancy Code) kod. Kodna riječ se predstavlja kao polinom k-1 stupnja (od xk-1 do x0), gdje su koeficijenti 0 i 1. Npr. kodna riječ 110101 ima 6 bitova i predstavljena je polinomom x5+x4+x2+x0. Kod CRC kodova primatelj i pošiljatelj se moraju dogovoriti o generator polinomu G(x) (najviši i najniži bit generator polinoma mora biti 1). Okvir duljine m bita (predstavljen polinomom M(x)) mora biti veći od duljine generator polinoma. Na predajnoj strani se izračuna polje za provjeru pomoću generator polinoma i doda se na kraj okvira. Tako dobiveni okvir se na prijemnoj strani dijeli sa generator polinomom i ako nema ostatka znači da je okvir točno prenesen tj. da nije došlo do greške prilikom prijenosa. Primjeri generator polinoma su: CRC-12 =x12+x11+x3+x2+x1+1 CRC-16 =x16+x15+x2+1

Page 5: Racunalne mreze 2

II dio - Računalne mreže

Računalni praktikum II 24

CRC-CCITT =x16+x12+x5+1 CRC-32 =x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1 Ciklički kodovi detektiraju jednostruke i dvostruke greške i imaju visoki stupanj otkrivanja pogreški u nizovima ( sa r kontrolnih bitova detektirati će sve greške u nizovima čija je duljina ≤ r). Ciklički kodovi su osjetljivi na greške tipa dodavanja ili oduzimanja bitova iz kodne riječi, te dodavanja niza nula. 4.4. Osnovni protokoli podatkovnog sloja Okvir se sastoji od paketa i kontrolnih informacija. Mrežni sloj gradi paket tako da poruci dobivenoj od prijenosnog sloja dodaje mrežno zaglavlje. Paket se šalje podatkovnom sloju koji ga uključuje u okvir, dodaje zaglavlje i kraj i preko fizičkog sloja šalje na odredište. Na odredištu podatkovni sloj "izvlači" paket iz okvira i predaje mrežnom sloju. 4.4.1. Jednosmjerni protokol bez ograničenja (engl. An Unrestricted Simplex Protocol) Ovaj protokol omogućava slanje podataka samo u jednom smjeru (engl. simplex), od pošiljatelja ka primatelju. Mrežni slojevi obje strane su uvijek spremni, prijemna strana može obraditi sve primljene podatke beskonačnom brzinom i posjeduje beskonačni spremnik. Komunikacijski kanal je bez smetnji tj. okviri se ne gube i ne oštećuju. U realnim situacijama ovakvi uvjeti su neostvarivi. 4.4.2. Jednosmjerni "stani i čekaj" protokol (engl. A Simplex Stop-And-Wait Protocol) U realnim uvjetima prijemna strana ne može obrađivati dolazeće podatke beskonačnom brzinom, te je potrebno spriječiti pošiljatelja da šalje podatke brže nego ih prijemna strana može obraditi. Ovaj problem može se riješiti tako da prijemna strana šalje predajnoj strani povratnu informaciju tj. okvir sa potvrdom prijema. Kad predajna strana dobije okvir sa potvrdom to je ujedno i dozvola za slanje sljedećeg okvira sa podacima. Protokoli kod kojih pošiljatelj šalje jedan okvir i zatim čeka na potvrdu nakon koje može nastaviti sa slanjem zovu se "stani i čekaj" protokoli. Iako je promet podataka jednosmjeran, okviri putuju u oba smjera tj. obosmjerno (engl. half duplex). 4.4.3. Jednosmjerni protokol za kanal sa smetnjama (engl. A Simplex Protocol for a Noisy Channel) Realna situacija je da u kanalima postoje smetnje pa okviri mogu stizati oštećeni ili se mogu potpuno izgubiti. Na prijemnoj strani se računa polje za provjeru (pomoću nekog od algoritama) i na taj način se utvrđuje da li je okvir oštećen. Ako je okvir stigao neoštećen šalje se potvrda, a u suprotnom jedno od rješenja je dodavanje timera. Nakon isteka predodređenog vremena pošiljatelj šalje okvir ponovo. Kod ovog načina problem nastaje ako se izgubi okvir sa potvrdom jer tada dolazi do dupliciranja okvira. Da bi se spriječilo dupliciranje okvira u zaglavlje svakog okvira dodaje se

Page 6: Racunalne mreze 2

II dio - Računalne mreže

Računalni praktikum II 25

redni broj, pa prijemna strana provjerom rednog broja može ustanoviti je li stigao novi okvir ili duplikat. Kod ovog protokola prijenos se odvija na sljedeći način. Nakon slanja okvira predajna strana pokrene timer. Vremenski interval mora biti odabran tako da ostavi dovoljno vremena da okvir stigne do prijemne strane, da ga ona obradi, pošalje potvrdu i da potvrda stigne do predajne strane. Pokrenuvši timer predajna strana čeka na neki od tri moguća događaja, te ovisno o tome pokreće odgovarajuću akciju: 1. Okvir sa potvrdom je stigao neoštećen - predajna strana uzima od mrežnog sloja

sljedeći paket, stavlja ga u spremnik za slanje i povećava redni broj 2. Okvir sa potvrdom je stigao oštećen 3. Vrijeme je isteklo Za 2. i 3. ne mijenja se sadržaj spremnika ni redni broj, tako da se može poslati ponovo isti okvir. 4.5. Protokoli s kliznim prozorom (engl. Sliding Window Protocols) U prethodnim protokolima okviri sa podacima slali su se jednosmjerno. Slanje podataka u oba smjera može se ostvariti na dva načina. Prvi način je korištenjem dva odvojena komunikacijska kanala gdje se svaki koristi za jednosmjerni promet tj. po jedan za svaki smjer. Kod svakog kanala u jednom smjeru idu podaci, a obrnuto potvrde. Ovaj način ne iskorištava dovoljno pojasnu širinu kanala. Drugi način je korištenje jednog kanala za oba smjera. Okviri sa podacima i potvrdama se u ovom slučaju miješaju, pa se po posebnom polju u zaglavlju određuje vrsta okvira. Da bi se povećala propusnost kanala potvrde se ne šalju kao poseban okvir, nego se doda podacima koji se šalju u tom smjeru. Ovaj način prijenosa je pogodan ako paketi sa podacima u suprotnom smjeru stižu u zadovoljavajućem vremenskom intervalu za potvrdu, jer predajna strana ima ograničeno vrijeme za čekanje potvrde. Kod protokola sa kliznim prozorom svaki okvir sadrži redni broj od 0 do nekog maksimuma. Pošiljatelj održava skup rednih brojeva okvira koje može slati. Ti okviri čine prozor za slanje (engl. sending window). Primatelj održava skup okvira koje može primati i oni čine prozor za primanje (engl. receiving window). Pošiljatelj za prozor maksimalne veličine n treba n spremnika za čuvanje nepotvrđenih okvira. Kad stigne potvrda za neki okvir donji rub prozora pomiče se za jedan, a kad stigne novi paket od mrežnog sloja gornji rub okvira se pomiče za jedan. Ako je prozor za slanje veličine n, znači da pošiljatelj mora imati n spremnika za čuvanje nepotvrđenih okvira. Ako veličina prozora dođe do maksimuma, podatkovni sloj pošiljatelja mora spriječiti mrežni sloj da dalje šalje pakete, dok se spremnik ne oslobodi. Prozor za primanje pomiče donji rub prozora kad primljeni okvir pošalje mrežnom sloju i generira potvrdu. Veličina ovog prozora je uvijek ista tj. ona koja se postavi.

Page 7: Racunalne mreze 2

II dio - Računalne mreže

Računalni praktikum II 26

4.6. Primjeri protokola na podatkovnom sloju 4.6.1. HDLC HDLC (High Level Data Link Control) je ISO protokol na podatkovnom sloju, bitovno je orijentiran i koristi ubacivanje bitova. HDLC je nastao kao modifikacija IBMovog SDLC (Synchronous Data Link Control) protokola. CCITT je usvojio i modificirao HDLC i nazvao ga LAP (Link Access Procedure) protokol koji je dio X.25 mrežnog standarda. Svi ovi protokoli su bitovno orijentirani i koriste ubacivanje bitova. Međusobno se razlikuju samo u detaljima. HDLC format okvira

Polje F zastavica (engl. flag) je sinkronizacijski oktet i definiran je sekvencom 01111110. Zaključna grupa nije nužna, ali u tom slučaju kontrolno polje mora sadržavati informaciju o broju podataka u paketu. Ako se ova sekvenca pojavi u samim podacima iza pete 1 dodaje se 0. Adresno polje može biti 8 bitno i tada počinje sa 0 (0xxxxxxx ) ili 16 bitno i počinje sa 1 (1xxxxxxxxxxxxxxxx). ITU-T je fiksno odredio adrese DTE i DCE za prijemnu i predajnu stranu i one se ne mogu mijenjati. Kontrolno polje definira tri tipa okvira (Slika 24.):

FA C PODACI (I) FCSF1 1(2) 1(2) n okteta 2(4) 1

oktetaoktet okteta okteta oktet

Slika 23. Format HDLC okvira

0 N (S) P/F

1 0 P/F N(R)

1 1 M P/F M

N(R)

1bita

3bita

1bita

3bita

informacijskiokvir

nadzorniokvir

nenumeriraniokvir

N (S

Slika 24. Kontrolno polje kod HDLC okvira

Page 8: Racunalne mreze 2

II dio - Računalne mreže

Računalni praktikum II 27

Informacijski okvir (engl. information frame) sadrži redni broj odaslanog okvira N(S) i redni broj sljedećeg okvira N(R). N(S)- slijedni broj tj. broj okvira koji se šalje N(R)- broj okvira za potvrdu. Većina protokola umjesto da šalju broj okvira koji je zadnji primljen šalju broj sljedećeg okvira tj. onog kojeg očekuju. Bolje iskorištenje kanala postiže se kad informacijski okvir nosi i potvrdu (engl. piggybacking), koja se nalazi u polju N(R). HDLC koristi klizni prozor, a broj okvira koji mogu biti uzastopno poslani bez čekanja na potvrdu određen je veličinom polja N(S) i N(R). Nadzorni okvir (engl. supervisory frame) koristi se za kontrolu toka podataka i kontrolu grešaka. S polje može imati format: • 00 RR (Receiver Ready) ima funkciju pozitivne potvrde. Koristi se kad nema

povratnog prometa s kojim bi se poslala potvrda. • 01 REJ (REJect) ima funkciju negativne potvrde tj. u nizu nedostaje neki okvir.

N(R) kazuje koji je prvi okvir u nizu koji nije primljen. • 10 RNR (Receiver Not Ready) prijemnik nije spreman za prijem, u N(R) piše

koliko je okvira primljeno tj. potvrda za okvire do N(R) • 11 SREJ (Selective REJect) negativna potvrda koja omogućava selektivno

retransmitiranje (određenog okvira)

Nenumerirani okvir (engl. unnumbered frame) određuje vrstu odzivnog moda, koji može biti normalni ili asinkroni. Kod normalnog odzivnog moda sekundarna prelazi na predaju samo uz dozvolu primarne stanica, dok kod asinkronog odzivnog moda sekundarna može prijeći na predaju bilo kada. M polje može imati format: • 11 000 SARM (Set Asynhron Response Mode) postavljanje asinkronog odzivnog

moda. • 00 001 SNRM (Set Normal Response Mode) postavljanje sinkronog odzivnog

moda. • 00 010 DISC (DISCconnect) stanica označava da prekida sa radom. • 11 010 SARME (Set Asynhrone Resonse Mode Enhanced) postavljanje

asinkronog odzivnog moda s tim da polje N(S) ima 7 bitova umjesto 3. • 11 011 SNRME (Set Normal Response Mode Enhanced) postavljanje normalnog

odzivnog moda s tim da polje N(S) ima 7 bitova umjesto 3.

P/F (Poll/Final) bit je prozivni bit i može značit: • Neka računalo pošalje nadzorni okvir odmah tj. neka ne čeka promet u obrnutom

pravcu da na njega doda potvrdu • Određuje koja strana (primarna ili sekundarna) ima kontrolu nad komunikacijom FCS (Frame Check Sequence) polje predstavlja kontrolne bitove generirane sistemskim cikličkim kodiranjem CRC (Cyclic Redundancy Check) i pri tome se koristi CRC-CCITT generator polinom.

Page 9: Racunalne mreze 2

II dio - Računalne mreže

Računalni praktikum II 28

4.6.2. Podatkovni sloj na Internetu Računalo se na Internet može spojiti preko lokalne mreže ili pomoću modema. Kod lokalnih mreža radi se o većem broju međusobno spojenih računala, koji se putem usmjernika (engl. router) spojeni na Internet. Sami usmjernici su međusobno spojeni vezom od točke do točke. Milijuni računala spojeni su Internet pomoću modema i telefonske linije. Korisnik zove davatelja Internet usluga (engl. Internet provider), te kad uspostavi vezu privremeno postaje čvor na Internetu. Za oba slučaja potreban je protokol na podatkovnom sloju kako bi se osigurala kontrola pogreški, kreiranje okvira te ostale funkcije podatkovnog sloja. SLIP i PPP su protokoli podatkovnog sloja koji se koriste na Internetu. SLIP (Serial Line Internet Protocol) protokol nastao je 1984. i opisan je u RFC 1055. Kod SLIP protokola stanica šalje IP pakete sa posebnom oznakom (0xCO) za kraj okvira. Ako se taj znak pojavi unutar IP paketa koristi se ubacivanje znakova. Poneke implementacije SLIP protokola dodaju oznaku na početak i kraj IP paketa. Problemi koji se javljaju kod ovog protokola su: • Ne vrši se detekcija i korekcija pogreški (taj zadatak prepušta se višim slojevima) • Podržan je samo IP protokol • Nema dinamičke dodjele adrese, pa svaka strana mora unaprijed znati IP adresu

strane s kojom komunicira • Ne daje mogućnost prijavljivanja korisnika pod posebnim imenom tj.

autentifikaciju • SLIP protokol nije Internet standard, tako da postoji više verzija SLIP protokola PPP (Point-to-Point Protocol) definiran je u RFC 1661, te dopunjen u RFC 1662 i RFC 1663. Ovaj protokol osigurava formiranje okvira i detekciju pogreški. PPP koristi LCP (Link Control Protocol) koji osigurava uspostavu, testiranje i prekid veze, kao i "pregovaranje" sa suprotnom stranom. Za svaki različiti mrežni sloj koristi odgovarajući NCP (Network Control Protocol). Na taj način je podržano "pregovaranje" sa mrežnim slojem nezavisno o protokolima koji se koriste. Kad korisnik pomoću modema zove davatelja Internet usluga, njegovo računalo postaje privremeno Internet čvor. Korisnikovo računalo pomoću modema zove davatelja Internet usluga odnosno njegov usmjernik. Nakon što modem usmjernika

Internet davatelj usluga

Modemi

Usmjernik Usmjeravanje

Telefonska linija

Korisnikova kuća

PC

Klijent kojikoristi TCP/IP

TCP/IP veza(SLIP ili PPP)

Slika 25. Osobno računalo kao Internet čvor

Page 10: Racunalne mreze 2

II dio - Računalne mreže

Računalni praktikum II 29

odgovori uspostavlja se fizička veza. Računalo šalje usmjerniku niz LCP paketa u polju podataka jednog PPP okvira ili više PPP okvira. Na taj način se odabiru PPP parametri koji će se koristiti. Slijedi niz NCP paketa za konfiguriranje mrežnog sloja. Korisnikovom računalu je potrebna IP adresa kako bi pokrenuo TCP/IP protokol. Internet davatelj usluga ima na raspolaganju niz IP adresa i dinamički ih dodjeljuje računalima koja se prijavljuju za rad. Kad je računalu dodijeljena IP adresa on postaje Internet čvor i može slati i primati IP pakete. Kad korisnik završi rad i želi prekinuti vezu, NCP oslobađa vezu sa mrežnim slojem i dodijeljenu IP adresu. Nakon toga LCP oslobađa vezu sa podatkovnim slojem. Na kraju računalo kaže modemu da prekine telefonsku vezu i tako oslobodi vezu sa fizičkim slojem. PPP format okvira Format PPP okvira sličan je HDLC formatu okvira. Razlika je što je PPP znakovno orijentiran, a HDLC bitovno.

ZASTAVICA ADRESA KONTROLNO POLJE PROTOKOL PODACI FCS ZASTAVICA

byta 1 1 1 1 ili 2 Varijabilno 2 do 4 1

Slika 26. PPP format okvira

Na početku i kraju okvira nalazi se zastavica (engl. flag) sa sekvencom 01111110. Adresno polje postavljeno je na 11111111, što znači da sve stanice mogu primiti okvir. Kontrolno polje postavljeno je na 00000011 i u tom slučaju se radi o nenumeriranom okviru. PPP u pravilu ne koristi pouzdani prijenos sa potvrdom. U polje Protocol označava se vrsta paketa u polju sa podacima. Definirani su kodovi za LCP, NCP, IP, IPX i ostale protokole. Polje sa podacima može biti proizvoljne dužine, maksimalna duljina se dogovara sa LCP protokolom tijekom uspostavljanja veze. Ako duljina nije dogovorena pri uspostavljanju veze koriste se 1500 bytova. Slijede polje za provjeru, te zastavica za kraj okvira.