Računalne mreže
 Studij elektrotehnike
 Tehnički fakultet Sveučilišta u Rijeci
 
 

 

PRIMJERI PROTOKOLA

HDLC

INTERNET

 

 

 

Home : O kolegiju : Predavanja : Vježbe : Ocjenjivanje

 

V. SLOJ PODATAKOVNE VEZE (Data Link)

3.PRIMJERI OSNOVNIH PROTOKOLA SLOJA PRIJENOSA PODATAKA

 

Pretpostavke:

  • fizički sloj, sloj prijenosa podataka i mrežni sloj imaju neovisne procese koji komuniciraju slanjem poruka
  • host A šalje hostu B podatke koristeći pouzdani (reliable) slijedni (connection-oriented) servis; A već ima pripremljene podatke za slanje (ne mora čekati da ih mrežni sloj pripremi)
  • sloj prijenosa podataka shvaća pakete koje preko sučelja prima od mrežnog sloja kao čiste podatke (sve ih mora prenijeti odredišnom mrežnom sloju); paket uključuje (enkapsulira) u okvir (frame) dodajući zaglavlje (header) i rep (trailer) -> okvir se sastoji od paketa i kontrolnih informacija
  • okvir se šalje drugom sloju prijenosa podataka preko fizičkog sloja (na pr. koristeći procedure to_physical_layer i from_physical_layer)
  • primaoc čeka da na neki događaj (event), ovisno o događaju pokreće se određena procedura
  • važan je odnos paketa i okvira: pakete gradi mrežni sloj uzimajući poruke transportnog sloja i dodajući mrežno zaglavlje na njih; paket se dalje šalje sloju prijenosa podataka, uključuje se u okvir i šalje na odredište gdje sloj prijenosa podataka “izvlači” paket iz okvira i šalje ga odredišnom mrežnom sloju

 

Kontrola toka

  • tehnikama kontrole toka osigurava se da pošiljatelj ne zaguši primaoca s podacima
  • primatelj obrađuje podatke prije nego što ih proslijedi mrežnom sloju - pohranjuje ih u spremnik (buffer) određene maksimalne veličine
  • kontrola toka je potrebna da se spremnik ne prepuni

 

Kontrola pogreški

  • dvije vrste pogreški: izgubljeni okviri i oštećeni okviri
  • mehanizmi kontrola pogreški zasnivaju se na:
    • utvrđivanju  pogreški (obrađeno pod 2.)
    • pozitivnoj potvrdi - primaoc vraća pozitivnu potvrdu (acknowledgment, ACK) o tome da je okvir stigao bez pogreške
    • ponovnom slanju nakon isteka određenog vremena (timeout) -pošiljaoc ponovno šalje okvir ako je isteklo unaprijed dogovoreno određeno vrijeme
    • 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-N ARQ), protokol sa selektivnim ponavljanjem (selective-repeat ARQ)

 

Model prijenosa okvira

Slika: Model prijenosa okvira bez pogrešaka i s pogreškama (Stallings, 2004)

 

Jednosmjerni protokol bez ograničenja (unrestricted simplex protocol

  • protokol omogućuje slanje podataka samo u jednom smjeru (simplex), od pošiljaoca prema primaocu
  • komunikacijski kanal je bez smetnji (error-free): okviri se nikada ne gube i ne oštećuju
  • primaoc može obraditi sve primljene podatke beskonačnom brzinom i ima beskonačni spremnik za pohranu, pa pošiljaoc šalje podatke što brže može <== “Utopia
  • protokol se sastoji od 2 različite procedure (sender, receiver), jedini događaj je dolazak okvira (frame_arrival)

 


3.1 Protokoli s čekanjem (“stani-i-čekaj” - stop-and-wait)

  • protokoli kod kojih pošiljaoc šalje 1 okvir i zatim čeka na potvrdu prije nego što nastavlja slati

 

Jednosmjerni protokol s čekanjem (simplex stop-and-wait protocol)

  • nema najmanje realnog elementa prvog protokola: sposobnosti primajućeg mrežnog nivoa da obrađuje dolazeće podatke beskonačno brzo (tj. ekvivalentno tome da primajući sloj prijenosa podataka ima beskonačni prostorni spremnik u koji pohranjuje dolazeće okvire)
  • problem: kako spriječiti da pošiljaoc šalje primaocu podatke brže nego što ih ovaj može obraditi
  • rješenje: primaoc šalje pošiljaocu povratnu informaciju (feedback): nakon što je predao paket svom mrežnom nivou, primaoc šalje mali okvir sa potvrdom (ACK) natrag pošiljaocu, te mu tako daje dozvolu da pošalje slijedeći pravi okvir
  • iako je promet podataka jednosmjeran od pošiljaoca prema primaocu, okviri ipak putuju u oba smjera (tj. fizički kanal je half-duplex)

 

Jednosmjerni protokol s čekanjem za kanal sa smetnjama (simplex protocol for noisy channel) 

  • kod kanala sa smetnjama uzimaju se u obzir pogreške: okviri mogu stizati oštećeni ili se mogu potpuno izgubiti
  • problem oštećenja okvira: ako se okvir ošteti za vrijeme prenošenja, hardver primaoca će to ustanoviti računajući checksum (primjenom nekog algoritma)
  • problem gubitka okvira: okvir nije stigao primaocu, pa se ne generira ni potvrda
  • moguće rješenje: dodati vremensko ograničenje (timer) - primaoc šalje potvrdu samo ako je okvir stigao u redu, ako je oštećen odbacuje ga, te ga nakon isteka timera pošiljaoc šalje ponovo; taj proces se ponavlja sve dok okvir stigne neoštećen
  • problem oštećenja ili gubitka potvrde: ako se u prijenosu ošteti ili potpuno izgubi potvrda, doći će do dupliciranja okvira (jer se bez potvrde nakon isteka timera okvir ponovo šalje)
  • rješava se dodavanjem rednog broja u zaglavlje svakog poslanog okvira, tada primaoc provjerom rednog broja može ustanoviti da li je stigao novi okvir ili duplikat kojeg treba odbaciti
  • nakon svakog slanja okvira pošiljaoc pokreće timer; vremenski interval mora biti odabran tako da ostavi dovoljno vremena da okvir stigne do primaoca, da ga ovaj obradi, pošalje potvrdu i da potvrda stigne natrag do pošiljaoca
  • pokrenuvši timer, pošiljaoc čeka na neki od 3 moguća događaja, te ovisno o njemu pokreće odgovarajuću akciju:
  1. okvir sa potvrdom je stigao neoštećen - pošiljaoc uzima od mrežnog sloja slijedeći paket, stavlja ga u spremnik za slanje (prepisujući prethodni paket) i povećava redni broj
  2. okvir sa potvrdom je stigao oštećen ili
  3. vrijeme je isteklo - u oba slučaja ne mijenja se ni sadržaj spremnika ni redni broj

 

Primjer za protokol s čekanjem

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 prijenos pomoć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 W okvira 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)

    • na pr. B je primio okvire 2,3,4

    • poslao je potvrdu s brojem 5 tek nakon što je 4. okvir stigao

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

Primjer za protokol s prozorom

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:

Primjer za protokol s prozorom

Slika: Primjer za protokol s prozorom  (Stallings, 2004)

  • F0, F1, F2,.... poslani okviri

  • RR (receive ready) - npr. RR3 => primljeni okviri F0, F1, F2 i primatelj je spreman za F3

 

  • kontrola toka pomoću protokola s prozorom efikasnija je nego kod protokola s čekanjem => uspostavlja se "cjevovod" (pipeline) po kojem klize okviri (ne idu jedan po jedan)

 

Kontrola pogreški kod protokola klizećeg prozora

  • 1-bitni protokol klizećeg prozora: ako je veličina prozora 1, koristi se stop-and-wait

  • kod nekih verzija ovog tipa protokola pošalje se više okvira prije blokiranja, tj. prije čekanja na potvrdu (pipelining)

  • problem: kad oštećeni okvir stigne negdje u sredini između ispravnih okvira, što s ispravnim okvirima koji su stigli iza njega?

  • 2 pristupa prilikom takvih greški: protokol s vraćanjem (go back n) i protokol sa selektivnim ponavljanjem (selective repeat)

1.  protokol s vraćanjem (go back n - “vrati se natrag za n”)

  • strategija odgovara veličini prijemnog prozora 1

  • primaoc odbacuje sve okvire koji slijede nakon okvira s greškom, tj. ne šalje potvrde za te okvire

  • potrebno je zato što sloj prijenosa podataka primaoca mora slati pakete mrežnom sloju u nizu (ne može preskočiti neispravni okvir)

  • ako se prozor za slanje popuni prije isteka određenog vremena, "cjevovod" se prazni (okviri se šalju, ali ih primatelj ne prihvaća)

  • ako istekne vrijeme (timer), ponovo će se slati okviri počevši sa zadnjim nepotvrđenim okvirom tj. okvirom koje je bio oštećen ili izgubljen

  • pogrešni okvir i svi nakon njega šalju se ponovo - gubi se na propusnosti, naročito ako je postotak pogreški visok

 

Slika: Protokol s vraćanjem (Tanenbaum, 1996)

2. Protokol sa selektivnim ponavljanjem (selective repeat)

  • strategija odgovara veličini prijemnog prozora > 1

  • primajući sloj prijenosa podataka sprema sve ispravne okvire koji slijede nakon onog s greškom

  • kad pošiljaoc ustanovi da nešto nije u redu, ponovo šalje samo onaj loš okvir

  • nakon isteka vremenskog intervala, primaoc potvrđuje sve okvire koji su stigli nakon oštećenog

  • ako je drugi pokušaj uspio, niz ispravnih okvira predaje se mrežnom sloju, a potvrda se šalje za okvir s najvećim brojem

  • protokol omogućuje veću propusnost, ali zahtijeva znatno veći prostor



Protokol sa selektivnim ponavljanjem

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:
    • primarna stanica - odgovorna za upravljanje vezom, održava po jedanu logičku vezu za svaku sekundarnu stanicu kojom upravlja; okviri = naredbe
    • sekundarna stanica - pod kontrolom je primarne stanice; okviri = odgovori
    • kombinirana stanica - karakteristike i primarne i sekundarne stanice, okviri mogu biti naredbe ili odgovori
  • Konfiguracije veza:
    • "neuravnotežena" (unbalanced configuration) - postoji primarna stanica i nekliko sekundarnih stanice; podržava full-duplex i half-duplex prijenos
    • "uravnotežena" (balanced configuration) - dvije kombinirane stanice; podržava full-duplex i half-duplex prijenos
  • Načini prijenosa podataka:
    • 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
    • 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
    • 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)

Format okvira

Slika: Format okvira  (Stallings, 2004)

  • "zastavica" (flag)

    • na početku i kraju oblika 01111110

    • jedna te ista zastavica može se koristiti kao kraj jednog i početak drugog okvira

    • koristi se umetanje bitova (bit stuffing): kada se u podacima pojavi 5 jedinica, umetne se 0 bit

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

    • važno za identifikaciju sekundarnih stanica; kod point-to-point veza nije potrebno (uključuje se zbog jednoobraznosti)

    • sadrži: adresu primaoca ako se prenosi okvir sa podacima; adresu pošiljaoca ako se vraća odgovor

    • 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

    • poseban oblik 8-bitne adrese 11111111 - označava da primarna stanica šalje okvir svima sekundarnim stanicama
       

Prošireni oblik adese okvira

Slika: Prošireni oblik adese okvira  (Stallings, 2004)

 

  • upravljačko (kontrolno) polje (control field)

    • HDLC definira 3 tipa okvira od kojih svaki ima različiti format kontrolnog polja:

    • informacijski (I-frame, information frame) - prijenos pravih podataka i "piggybacking" potvrde

    • nadzorni (S-frame, supervisory frame) - prijenos potvrda kad se "piggybacking" ne koristi

    • nenumerirani (U-frame, unnumberd frame) - podaci potrebni za upravljanje vezom

    • prvih 1 ili 2 bita služe za određivanje tipa okvira, a ostatak je organiziran u potpolja

    • 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

    • N(S), N(R) - redni brojevi okvira potrebni za kontrolu pogreški i toka

 

 Format 8-bitnog kontrolnog polja

Slika: Format 8-bitnog kontrolnog polja  (Stallings, 2004)

  • kontrolna polja S-okvira i I-okvira mogu biti proširena na 16 polja:

Formati 16-bitnih kontrolnog polja S-okvira i I-okvira

Slika: Formati 16-bitnih kontrolnog polja S-okvira i I-okvira (Stallings, 2004)

  • podaci (information field)

    • polje prisutno samo kod I-okvira i nekih U-okvira

    • sadrži bilo kakve informacije, proizvoljne dužine do nekog zadanog maksimuma

     

  • bitovi provjere (FCS, frame check sequence field)

    • koristi se polinomni kod: CRC-CCITT ili CRC-32


FUNKCIONIRANJE

  • HDLC operacije sastoje se od razmjene I, S i U okvira između 2 stanice

  • popis naredbi i odgovora:

form.

ime

kom/odg

opis

I

Information (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/R negativ. potvrda; zahtijeva se ponovno slanje samo jednog okvira
U Set normal response/extended mode (SNRM/SNRME) C postavlja način; extended = 7-bitni redni broj
Set asynchronous response/extended mode (SARM/SARME) C postavlja način; extended = 7-bitni redni broj
Set asynchronous balanced response/extended mode (SABM/SABME) C postavlja način; extended = 7-bitni redni broj
Set initialization mode (SIM) C Inicira funkcije podatkovne veze u adresiranoj stanici
Disconnect (DISC) C Prekida logičku podatkovnu vezu
Unnambered acknowledgment (UA) R Potvrđuje prihvaćanje jedne od komandi za postavljanje načina
Disconnect mode (DM) R Javlja se status  prekida logičke podatkovne veze
Request disconnect (RD) R Zahtjev za DISC komandom
Request initialization mode (RIM) R Potrebna inicijalizacija, zahtjev za SIM komandom
Unnumberd information (UI) C/R Koristi se za razmjenu kontrolnih informacija
Unnumberd poll (UP) C Koristi se za poticanje slanja kontrolnih informacija
Reset (RSET) C Koristi se za obnavljanje (recovery); resetira N(R), N(S)
Exchange identification(XID) C/R Koristi se za request/report status
Test (TEST) C/R Razmjenjuju se istovjetna informacijska polja zbog testiranja
Frame reject (FRMR) CR Izvještava se o primitku neprihvatljivog okvira
  • operacije uključuje 3 faze:

    1. jedna strana inicijalizira podatkovnu vezu; dogovaraju se opcije veze

    2. razmjenjuju se podaci i kontrolne informacije (kontrola pogreški i toka)

    3. jedna od dvije strane oglašava prekidanje logičke podatkovne veze

1. Inicijalizacija

  • bilo koja strana je zahtjeva jednom od 6 komande (osjenčeno u tablici) za postavljanje načina

  • komanda:

    • signalizira drugoj strani da zahtjeva inicijalizaciju

    • navodi koji se od 3 moda traži (NRM, ABM, ARM)

    • navodi da li se koriste 3-bitni ili 7-bitni redni brojevi

  • ako druga strana prihvati, zahtjev - šalje se inicirajućoj strani UA (Unnambered acknowledgment) okvir,

  • ako se odbija zahtjev šalje se DM (Disconnect mode) okvir

2. Prijenos podataka

  • nakon što je inicijalitacija zatražena i prihvaćena, uspostavljena je logička podatkovna veza

  • obje strane šalju I-okvire s podacima počevši s rednim brojem 0

  • koriste se N(S) i N(R) okviri s rednim brojevima za kontrolu toka i pogreški

  • N(S): numeracija modulo 8 (3-bitni redni broj) ili modulo 128 (7-bitni redni broj)

  • N(R): potvrda da je stiglo n okvira i da se čeka na n+1

  • RR okvir - potvrđuje zadnje primljeni I-okvir navođenjem broja sljedećeg okvira kojeg očekuje

  • RNR okvir - potvrđuje zadnje primljeni I-okvir i ujedno traži da suprotna strana stane sa slanjem

3. Prekidanje veze

  • prekid veze inicira bilo koja strana: na vlastiti zahtjev, zbog neke pogreške ili zbog zahtjeva s višeg sloja

  • šalje se DISC okvir

  • suprotna strana ga mora prihvatiti tako što odgovara s UA okvirom te obavještava mrežni sloj da je veza završena


Primjeri HDLC operacija (Stallings, 2004)

a) Uspostavljanje i prekidanje veze:

b) Dvosmjerna razmjena podataka:

c) Stanje zauzetosti

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

e) Obnavljanje od pogreške uz pomoć timera


5. SLOJ PODATKOVNE VEZE NA INTERNETU

  • Internet se sastoji od računala (hosteva i usmjerivača - routera) i komunikacijske infrastrukture koja ih povezuje i koja je kod WAN-ova građena od point-to-point iznajmljenih 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

 

Povezivanje PC na Internet

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:
    • ne vrši nikakvo pronalaženje i ispravljanje greški (to ostavlja višim slojevim)
    • podržava jedino IP (ne mogu ga koristiti mreže koje koriste druge protokole)
    • svaka strana mora unaprijed znati IP adresu jer se ne može dinamički dodijeliti (najveći problem!)
    • ne podržava prijavljivanje korisnika pod posebnim imenom (autentikaciju)
    • nije standardan pa postoje različite (i međusobno nekompatibilne) verzije

PPP - Point-to-Point Protocol 

  • nastao iz potrebe da se razvije standard koji neće imati nedostatke kao SLIP
  • PPP osigurava:
  1. metodu za tvorbu okvira koja sigurno određuje kraj jednog i početak drugog okvira; podržava i otkrivanje greški u prijenosu okvira
  2. LCP (Link Control Protocol) - poseban podprotokol za podizanje i testiranje veze, opcije za pregovaranje i za oslobađanje veze
  3. način da se “pregovara” s mrežnim slojem neovisno o protokolima koji će se u tom sloju koristiti; odabran je različiti NCP (Network Control Protocol) za svaki mrežni sloj koji se podržava (dinamička dodjela IP adresa)

Uspostavljanje privremne modemske PPP veze

  • korisnik od kuće zove davaoca Internet usluga kako bi njegov PC postao privremeni Internet host
  • PC prvo zove usmjerivač davaoca usluga preko modema
  • nakon što modem usmjerivača odgovori i uspostavi se fizička veza, PC šalje usmjerivaču niz LCP paketa u jednom ili više PPP okvira
  • paketi i odgovori na njih služe da se odaberu PPP parametri koji će se koristiti
  • nakon dogovora o parametrima, šalje se niz NCP paketa za konfiguriranje mrežnog sloja; za PC je potrebna IP adresa jer PC želi izvršavati TCP/IP skup protokola (davaoc Internet usluga ima niz IP adresa i dinamički ih dodijeljuje svakom novo prijavljenom PC-u)
  • PC je sada Internet host i može slati i primati IP pakete
  • kad je korisnik gotov sa radom, NCP oslobađa vezu sa mrežnim slojem i pridruženu IP adresu, a LCP oslobađa vezu sloja za prijenosa podataka
  • na kraju računalo kaže modemu da prekine telefonsku vezu i tako oslobodi vezu fizičkog sloja

Format okvira

Format PPP 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
    • adresno i kontrolno polje se mogu izostaviti, pa se uštedi 2 byte po okviru
  • polje protokol govori kojeg je tipa paket u polju sa podacima (npr. LCP, NCP, IP, IPx, Appletalk,...)
  • polje sa podacima (“payload”) može biti bilo koje dužine do nekog maksimuma dogovorenog od LCP za vrijeme postavljanja veze, default je 1500 bytova
  • zaštita (checksum) je obično dužine 2 byte

 

Dijagram uspostavljanja i oslobađanja veze (i za modemsku i usmjerivač-usmjerivač vezu) 

  • kad se linija ne koristi (MRTVO - DEAD), nije prisutan carrier fizičkog sloja niti postoji veza tog sloja
  • nakon uspostavljanja fizičke veze, prelazi se u stanje USPOSTAVI (ESTABLISH) - tada počinje dogovaranje LCP opcija
  • ako je dogovaranje bilo uspješno, vodi u fazu PROVJERI (AUTHENTICATE) - obje strane mogu provjeriti identitet jedna drugoj
  • ulaskom u fazu MREŽA (NETWORK) poziva se odgovarajući NCP protokol kako bi konfigurirao mrežni sloj, te se u fazi OTVORI (OPEN) prenose podaci
  • kada je prijenos podataka završio, veza prelazi u ZAVRŠI (TERMINATE) fazu, te ponovo u MRTVO  (DEAD) nakon što se otpušta carrier

Pojednostavljeni dijagram uspostavljanja i oslobađanja veze

Slika: Pojednostavljeni dijagram uspostavljanja i oslobađanja veze (Tanenbaum, 1996)

 

LCP (Link Control Protocol)

  • LCP se koristi za dogovaranje opcija protokola sloja prijenosa podataka za vrijeme USPOSTAVI (ESTABLISH) faze (ne zanimaju ga same opcije nego mehanizam dogovaranja)
  • osigurava način da inicirajući proces predloži uspostavljanje veze, a da ga proces koji odgovara odbaci ili prihvati,
  • osigurava da dva procesa isprobaju kvalitetu linije i da ustanove je li dovoljno dobra za uspostavljanje veze
  • dozvoljava da se veza prekine kad više nije potrebna
  • definirano je 11 vrsta LCP paketa:

Vrste 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

 


© 2004. N.Hoić-Božić