Top Banner
1.UVOD PRIMJERI RAČUNARSKIH KOMUNIKACIJA IP-mreţa (Internet) mrežni protokol za prijenos podataka kojeg koriste izvorišna i odredišna raĉunala za uspostavu podatkovne komunikacije preko raĉunalne mreže. Treba osigurati komunikaciju izmeĊu aplikacija na raĉunalima (host, server) Jedan od glavnih Internet protokola Internet protokoli (TCP, UDP, IP) i ostali (z.B. Ethernet, WLAN) Podaci u IP mreži se šalju u blokovima koji se nazivaju paketi ili datagrami. prilikom slanja paketa izmeĊu izvorišta i odredišta se ne odreĊuje unaprijed toĉan put preko mreže kojim će podaci prijeći, a samim time se ne garantira da će poslan pakat zaista stići na odredište Paket - Jedinica za prijenos preko mreže. Podaci koji putuju mrežom se dijele na pakete, koji su pojedinaĉno šalju preko mreže. Sam paket se u procesu prijenosa može promijeniti, može se promijeniti redoslijed paketa u odnosu na ona redoslijed kojim su poslani s izvorišta, može se duplicirati ili potpuno izgubiti tijekom prijenosa. Ukoliko aplikacija zahtijeva pouzdanost, koriste se drugi mehanizmi ili protokoli, najĉešće na sloju iznad samog IP protokola. Infrastruktura se sastoji npr. iz ureĊaja za posredovanje (switch, router), modema itd. usmjerivaĉi (eng. router) - ureĊaji koji usmjeravaju pakete na njihovom putu kroz raĉunalnu mrežu. Usmjerivaĉi povremeno mogu presložiti redoslijed, promijeniti ili ĉak izgubiti pakete Modem (prijevod od eng. modulate/demodulate) je ureĊaj koji modulira digitalni signal u oblik pogodan za prijenos preko komunikacijskog
69
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 97299938-Mreze-skripta

1.UVOD

PRIMJERI RAČUNARSKIH KOMUNIKACIJA

IP-mreţa (Internet)

mrežni protokol za prijenos podataka kojeg koriste izvorišna i odredišna

raĉunala za uspostavu podatkovne komunikacije preko raĉunalne

mreže.

Treba osigurati komunikaciju izmeĊu aplikacija na raĉunalima (host,

server)

Jedan od glavnih Internet protokola

Internet protokoli (TCP, UDP, IP) i ostali (z.B. Ethernet, WLAN)

Podaci u IP mreži se šalju u blokovima koji se nazivaju paketi ili

datagrami. prilikom slanja paketa izmeĊu izvorišta i odredišta se ne

odreĊuje unaprijed toĉan put preko mreže kojim će podaci prijeći, a

samim time se ne garantira da će poslan pakat zaista stići na odredište

Paket - Jedinica za prijenos preko mreže. Podaci koji putuju mrežom se

dijele na pakete, koji su pojedinaĉno šalju preko mreže.

Sam paket se u procesu prijenosa može promijeniti, može se promijeniti

redoslijed paketa u odnosu na ona redoslijed kojim su poslani s

izvorišta, može se duplicirati ili potpuno izgubiti tijekom prijenosa.

Ukoliko aplikacija zahtijeva pouzdanost, koriste se drugi mehanizmi ili

protokoli, najĉešće na sloju iznad samog IP protokola.

Infrastruktura se sastoji npr. iz ureĊaja za posredovanje (switch, router),

modema itd.

usmjerivaĉi(eng. router) - ureĊaji koji usmjeravaju pakete na njihovom

putu kroz raĉunalnu mrežu. Usmjerivaĉi povremeno mogu presložiti

redoslijed, promijeniti ili ĉak izgubiti pakete

Modem (prijevod od eng. modulate/demodulate) je ureĊaj koji modulira

digitalni signal u oblik pogodan za prijenos preko komunikacijskog

Page 2: 97299938-Mreze-skripta

kanala, a nakon prijenosa ga demodulira u izvorni oblik. Služi za

spajanje na Internet.

Switch je ureĊaj koji upravlja protok podataka izmeĊu dijelova lokalne

mreže (LAN). Za razliku odhub-a, switch dijeli mrežni promet te ga šalje

na odreĊena odredišta, dok hub šalje podatke na sve ureĊaje koji su u

mreži.

Sam IP protokol definira samo osnovne parametre razmjene paketa u IP

mrežama, kao što su adresiranje, izgled paketa i drugo

Povezivanje na osnovi kablova ili bežiĉno

Razlikovanje izmeĊu pristupne mreže i jezgre

Pristupna mreža (access network) je dio komunikacijske mreže koja

povezuje korisnika usluge sa poslužiteljem

Jezgrane mreže (core network) su centralni dio telekomunikacijske

mreže i pružaju razliĉite usluge korisnicima koji su povezani putem

pristupne mreže

Internet Service Provider (pružatelji mrežnih usluga)

Prespajanje – prosljeĊivanje podataka iz nekog ulaza na neki izlaz

USB – povezivanje PC-a sa perifernim ureĊajima

Serijsko povezivanje – podaci se prenose jedan za drugim

Korisiti se 8 bitova za ĉvor (adresa) => na 1 raĉ se može spojiti 127

USB-a

Periferni ureĊaj koji želi komunicirati sa PC-em mora dobiti specijalni

podatkovni sadržaj token i tek onda može slati podatke na sabirnicu

Umreţavanje u automobilu

Automobili srednje i gornje klase posjeduju oko 60 do 100 elektroniĉkih

upravljaĉkih ureĊaja (Electronic Control Units, ECUs) za koĉenje,

upravljanje, zabavu itd.

Page 3: 97299938-Mreze-skripta

Controller Area Network (CAN) je standardni komunikacijski protokol

� Posebni zahtjevi za pouzdanošću, reakcijom u realnom vremenu itd.

Svi ECU ureĊaji koriste 1 sabirnicu (prioriteti po hijerarhiji) a podaci se

razmjenjuju koristeći CAN

Centralni Gateway

Prikljuĉak upravljaĉkih ureĊaja (ECU) putem CAN sabirnica i ostalih

sabirniĉkih sustava (npr. FlexRay s višim brzinama, MOST s još višim

brzinama za zabavu)

Na ureĊajima (ECU) prikljuĉeni su ostale sabirnice kao npr. Local

Interconnect Network (LIN)

Kodiranje – definirati napon i ostale fiziĉke veliĉine

Kriptiranje – omogućuje da se podaci koji se šalju ne mogu tako lako izĉitati

Autentikacija – potvrda je da je onaj kojemu šaljemo podatke doista ta osoba

Potrebno je osigurati odreĊenu propusnost

Propusnost – vrijeme koje protekne od slanja do primanja podataka

Vrijeme kašnjenja kod nekih aplikacija igra ulogu u toj mjeri da ju je nemoguće

koristiti (pr. Interaktivne app – igrice)

A kod nekih nam kašnjenje ne igra bitnu ulogu pr. Primanje datoteke

Pouzdanost – pr. Imamo skup terminala koji postavljaju upite nad nekim web

serverom, a može se dogoditi da taj server ispadne iz sustava i ne može

odgovoriti na naše upite – nepouzdan je u takvoj situaciji

Ako nam server ispadne iz sustava onda bi mogli taj server replicirati na

nekom drugom serveru gdje bi se prosljeĊivali ti upiti

PREDNOSTI RAČUNARSKIH MREŢA

Pristup udaljenim podacima (pr. Web upit je moguće postaviti na raĉ.

Koje je udaljeno od našeg)

Page 4: 97299938-Mreze-skripta

Razmjena podataka

Upravljanje udaljenim ureĊajima

Zajedniĉko korištenje resursa

Povećanje uĉinkovitosti i tolerancije na pogreške (fault tolerance)

(odreĊeni gubitak možemo tolerirati a da ne utjeĉe na kvalitetu i sl.)

VAŢNOST RAČUNARSKIH MREŢA

znaĉajan rast njihovog broja i korištenja u posljednih 20 godina

Infrastruktura za sva podruĉja života: ured, uprava, obrazovanje,

zabava, e-commerce, proizvodnja, …

Mnogi (svi?) software-ski proizvodi zahtijevaju komunikaciju (i kod neke

jednostavne app kao što je obrada teksta postoji mogućnost da taj tekst

obraĊuje nekoliko korisnika povezanih mrežom)

ZNAČAJ INTERNETA

Globalna mreža raĉunarskih mreža

Najveća i najvažnija raĉunarska mreža

Sadržaj raĉunarskih komunikacija

Mrežne usluge na primjeru Interneta

Slojevi se prolaze odozgo prema dolje

Na svakom sloju se obraĊuju najvažniji mehanizmi vonraĉunarskih

mreža

KLASIFIKACIJA KOMUNIKACIJSKUH SUSTAVA

Oblici komunikacije:

1. Unicast (točka-točka): 1 pošiljatelj, 1 primatelj

Page 5: 97299938-Mreze-skripta

Pošiljatelj šalje neke podatke, a primatelj ih prima, pr. Slanje FTP

datoteke, najelemntarniji oblik

2. Multicast (točka-više točaka): 1 pošiljatelj, grupa primatelja

Potencijalno 3 primatelja, ali 3 nije u grupi, pr. slanje maila

3. Broadcast: podaci se šalju svim sudionicima na mreži pr. Radio,

televizija

4. Anycast: iz neke grupe možemo izabrati odreĊeni broj primatelja kojima

šaljemo podatke

NAČIN PRIJENOSA

Page 6: 97299938-Mreze-skripta

Smjer prijenosa:

1. simplex: jednosmjerna veza (podaci se šalju u jednom smjeru s lijeva

na desno)

2. polu-duplex: dvosmjerna veza sprespajanjem (podaci se šalju u

jednom smjeru nakon ĉega se izvrši prespajanje i tada se podaci šalju u

drugom smjeru

3. (puni) duplex: podaci se istovremeno razmjenjuju u oba smjera (pr.

telefon)

Multipleksiranje – korištenje 1 medija od strane više ureĊaja (pr. automobil)

FDM – podatke šaljemo frekvencijskim pojasom (svaki podpojas koristi 1

ureĊaj) prednost: svaki ureĊaj ima svoju frekvenciju, nedostatk: rasipanje

resursa – možda neki ureĊaj nema podatke za slati, a nekom drugom ureĊaju

je možda potreban njegov frekvencijski podpojas

TDM – cijeli frekvencijski pojas se stavi na raspolaganje 1 ureĊaju ali u

odreĊenom vremenu i tada ni jedan drugi ureĊaj ne može koristiti frekvencijski

pojas; prednost: kanal je u potpunosti iskorišten vremenski (popunjen je

podacima); nedostatak: podaci se ne mogu odmah obraditi

OBLICI KOMUTACIJE

1. KOMUTACIJA VODA

IzmeĊu pošiljatelja i primatelja se izgradi 1 kanal koji služi za

prijenos podataka (podaci se šalju istim putem)

Page 7: 97299938-Mreze-skripta

Bit rate

- raspoloživa koliĉina bitova koja se može prijenjeti

- fiksno se dijeli na kanle

prednosti: možemo definirati na koji se naĉin podaci prenose

(možemo odrediti pojedine parametre kao što je vrijeme kašnjenja

itd.)

nedostaci: princip relativno neefikasan, ĉim rezerviramo neki dio

on više nije na raspolaganju nekom drugom; resursi su zakupljeni

iako ne šaljemo podatke

2. KOMUTACIJA PAKETA

U pakete je smješten dio podataka koje primatelj želi primiti ili

poslati

Šalje se više paketa

Paketi dolaze na odredište neovisni jedni o drugom (mogu se slati

razliĉitim putevima)

Brzina bitova se uĉinkovitije dijeli ( ne rezerviraju se već se

stavljaju na raspolaganje onome tko treba slati)

Problem: u nekom trenutku se može pojaviti prevelika koliĉina

paketa pa se može desiti da se memorija prelije i da se dio paketa

izgubi (zbog premale memorije i prevelike koliĉine paketa) a isto

tako se može desiti i kašnjenje

STATIŠKO MULTIPLEKSIRANJE

Kapacitet mreže 10 mbps, vod ima kapacitet 1,5 mbps => pakete ne možemo

dovoljno brzo proslijediti na vod zato se podaci koji se ne mogu poslati

spremaju u buffer i ĉekaju da budu prosljeĊeni (statiĉka veliĉina koja pr ovisi o

memoriji).

Page 8: 97299938-Mreze-skripta
Page 9: 97299938-Mreze-skripta

PRIJENOSNI MEDIJ

1. oţičen

- npr. bakrena žica, svjetlovod

- Brzine veze od nekoliko Kbps do nekoliko Gbps

- Brzina širenja signala kao dio brzine svjetlosti, c ≈

108 m/s = 200 m/μs

- Mala mogućnost pogreške, kod svjetlovoda npr. 10-10 (na

10 poslanih bitova 1 se pogrešno prenese)

2. beţičan

- npr. radio (zemaljski, satelitski)

- Velike mogućnosti pogreške zbog razliĉitih problema kod

širenjaradio-valova: 10-5 bis 10-2

- burst – kad se ĉitav niz bitova pogrešno prenese

UDALJENOST

Sistemske sabirnice (npr. PCI)

lokalne mreže (LAN)

- Nekoliko kilometara, brzina signala npr. 2,5 km/c = 12,5

Metropolitan Area Networks (MAN)

- Gradska podruĉja, 50-100 km

Wide Area Networks (WAN)

- globalno, brzina signala npr. 10.000 km/c = 50 ms

Brzina prijenosa

koliĉina bitova koje se može prenjeti u nekom vremenu

Od 56 Kbps za modem do nekoliko Gbps (svjetlovod, satelit)

Produkt brzine prijenosa i brzine signala daje koliĉinu podataka na vodu:

- R = 10 Mbps, d = 2,5 km: R x ( u 1

vremenskoj jedinici možemo imati 125 bitova na vodu)

Page 10: 97299938-Mreze-skripta

- ≈

TOPOLOGIJA (VRSTE MREŢA)

– naĉin rasporeĊivanja pojedinih komunikacijskih ureĊaja

1. bus – podatak koji prvi ĉvor šalje 4 prolazi kroz sve ĉvorove, ako se

prekine veza izmeĊu 2 ĉvora komunikacija je nemoguća

2. prsten – veza se ostavruje na naĉin da stanica koja želi slati podatke

treba dobiti token (postoji samo 1 i on kruži ), kada uhvati taj token onda

može slati podatke, komunikacija i dalje postoji iako se prekine veza

izmeĊu 2 ĉvora

3. zvijezda – komunikacija ide preko centralnog ĉvora; predost: ista

udaljenost izmeĊu 2 ĉvora; nedostatak: ako pukne veza u glavnom

ĉvoru komunikacija je nemoguća

Page 11: 97299938-Mreze-skripta

4. stablo – grananje iz jednog ĉvora u više njih, prednost: lako proširivanje

mreže, nedostatak: ako korijenski ĉvor postane neispravan svi ĉvorovi

koji proizlaze iz njega su neispravni

5. 2D-torus – koristi se unutar povezivanja paralelnih raĉunala, prednost:

poznata je maksimalna udaljenost izmeĊu 2 ĉvora

- Razlika izmeĊu paralelnih raĉ. I mrežnih raĉ. je u tome što kod

paralelnih raĉ imamo zajedniĉku memoriju koju nemamo u mreži

6. potpuno umreţena – prednost: svaki ĉvor je sa svakim direktno

povezan; nedostatak: puno kablova kod povezivanja

Page 12: 97299938-Mreze-skripta

PROTOKOLI

Mreţe računala su sloţene

mreže raĉ su složeni sustavi koje ĉine heterogeni ureĊaji kao što su

Periferni ureĊaji, usmjernici (router), vodovi, ...

u mreži se razmjenjuju poruke

potrebno je osigurati Mehanizme za osiguranje od pogrešaka, kontrolu

toka i opterećenja, adresiranje, prosljeĊivanje, pristup mediju, …

Protokoli

Osnovni princip strukturiranja

Definiraju format poruke (u kojem se nalaze kontrolni i korisniĉki podaci

kao što su adresa, br porta itd.) i ponašanje sudionika komunikacije

Format poruke – reĉi koje podatke trebam kako bi mogao osigurati

komunikaciju

Pr. ponašanja – kad pošaljemo podatke želimo znati da li su oni

ispravno preneseni pa želimo potvrdu primatelja

Strukturiranje u slojeve

Page 13: 97299938-Mreze-skripta

Na svakom sloju se definira pojedini protokol

gornji sloj koristi usluge sloja ispod (pr. 1. sloj koristi usluge 2. sloja), a

te usluge se nude na mjestu Service Access Point (SAP), SAP je na

svakom sloju drugaĉije definiran ( dakle SAP je mjesto gdje gornji sloj

može zatražiti usluge sloja ispod), pri ĉemu se podaci predaju pakirani

kao Service Data Units (SDUs).

Instance sloja n na razliĉitim raĉunalima razmjenjuju Protocol

DataUnits (PDUs), svaki PDU sadrži zaglavlje (Header)

PDU sloja N postaje SDU sloja N-1

Port je jedan SAP transportnog sloja

Pr. app 1 šalje podatke app2. da bi se podaci poslali oni prolaze kroz 5

slojeva (Aplikacijski sloj, Transportni sloj, Sloj mreže, Sloj veze i Fiziĉki

sloj). Aplikacijski sloj će generirati podatke i zatražiti će uslugu

Transportnog sloja na SAP-u gdje će svoju podatke predati kao SDU.

Nakon što je transportni sloj zaprimio taj SDU on ne razumije unutarnju

strukturu podataka u SDU već na taj SDU dodaje svoje zaglavlje (pr. broj

porta) i time taj SDU sa zaglavljem postaje PDU transportnog sloja. Taj

PDU se prosljeĊuje sloju mreže kao SDU jer opet ovaj sloj ne razumije

unutarnju strukturu podataka u SDU pa opet na taj SDU nadodaje svoje

zaglavlje i prosljeĊuje sloju veze koji opet generira svoj PDU. putem

fiziĉkog sloja se podaci prosljeĊuju do sloja veze koji ĉita svoje zaglavlje u

PDU vrši odreĊene akcije i preostale podatke šalje sloju mreže koji ĉita i

odstranjuje svoje zaglavlje i prosljeĊuje do transportnog sloja koji ĉita i

odstranjuje svoje zaglavlje te app sloju prosljeĊuje izvorne podatke app1.

(korisniĉki podaci). Podaci se šalju putem ureĊaja pr. switchevi ili ruteri.

Page 14: 97299938-Mreze-skripta

ISO Open Systems Interconnection (OSI)

Raširena terminologija

Komunikacija se vrši kroz istance

Usluga: što istanca nudi; sliĉno javnom suĉelju kod komponente

softvera

Page 15: 97299938-Mreze-skripta

Protokol: mora definirati kako se istance integriraju radi realizacije

usluge; definira format poruke i pravila ponašanja; opisuje

implementaciju ali ju ne nudi

Sloj: skup istanci

OSI model prikladan je za logiĉki model komunikacije

OSI model sastoji se od 7 slojeva i svaki sloj ima definiran svoj PDU

1. fizički sloj – definira mehaniĉke, elektriĉne i proceduralne

karakteristike prijenosa bitova

2. sloj veze – definira pristup mediju i siguran prijenos okvira:

sinkronizacija okvira…

3. sloj mreţe – definira prijenos paketa: izgradnja veze, usmjeravanje,

upravljanje resursima…

4. transportni sloj – definira pouzdani prijenos segmenta „s kraja na kraj“

5. sloj razgovora – treba osigurati komunikaciju izmeĊu app

6. sloj prikaza – sintaksa i semantika razmijenjenih podataka

7. aplikacijski sloj – tu se realizira komunikacija aplikacijskih procesa sa

specifiĉnim app informacijama

Arhitektura slojeva u Internetu

1. Aplikacijski sloj

Mrežni servisi (HTTP, FTP, …)

2. Transportni sloj

Transport segmenata izmeĊu aplikacija

(TCP,UDP)

3. Sloj mreže

Datagrami izmeĊu raĉunala preko

usmjerivaĉa(router),prosljeĊivanje,

Page 16: 97299938-Mreze-skripta

usmjeravanje (routing)

4. Sloj veze

Okvir izmeĊu susjednih ureĊaja, pristup mediju

5. Fiziĉki sloj

definira Binarne formate i postupke modulacije

Implementacija protokola

Slojevi ispod app sloja su najĉeće dio operacijskog sustava; usluge

transportnog sloja je moguće koristiti kroz sistemske pozive OS; većina

programskih jezika nudi odgovarajući API (Application Programming

Internet) npr. objekti i metode u Javi; u OS postoje razliĉite mogućnosti

realizacije, radi bolje uĉinkovitosti se izbjegava višestruko kopiranje SDU-ova

kod prosljeĊivanja pa se umjesto toga koristi „Copy by reference“

OS Layer otimizacija : striktno razdvajanje u slojeve se u stvarnosti ĉesto ne

koristi, npr. radi bolje uĉinkovitosti se katkad povezuju mehanizmi 2 sloja.

Opis protokola

protokoli specificirani u dokumentima organizacija za standardizaciju

neformalan opis: uobiĉajen kod IETF

formalan opis

format poruka: sliĉno strukturama podataka u programskim

jezicima, npr. Abstract Syntax Notation One (ASN.1) kod ISO

scenariji: tipiĉni tokovi razmjene poruka, npr. Message

Sequence Chart (MSC) kod ITU ili dijagrami sekvenci u UML (pr.

scenarija je uspješno slanje paketa, gubitak paketa)

ponašanje instanci: automati, npr. Specification and

Description Language (SDL) kod ITU ili statecharts u UML

Opis protokola u računarskim komunikacijama

Page 17: 97299938-Mreze-skripta

najĉešće neformalan

scenariji (neformalno)

Kvaliteta usluge (Quality-of-Service, QoS)

opisuje kvantitativne aspekte mreža raĉunala i njihovih protokola, npr.:

vrijeme odgovora (npr. na reakciju servera)

propusnost (koliĉina prenesenih podataka u vremenskoj

jedinici)

rata gubitaka i pogrešaka (npr. paketa u mreži kod bežiĉnog

prijenosa)

Page 18: 97299938-Mreze-skripta

raspoloživost (vrijeme u kojem je sustav spreman za rad,

npr. ako je server 99.99% vremena raspoloživ, onda 4,32

minute u mjesecu nije raspoloživ)

Važno za izbor i konfiguraciju mrežnih arhitektura i protokola

mogućnosti: mjerenje (odnosi se na postojeći sustav), (stohastiĉka) analiza,

simulacije (za to treba imati neki model)

Podrška kroz odgovarajuće programske alate

Kvantitativni aspekti bi trebali biti vezani uz vrstu mrežnih app za koje se

koriste

Povijest

Važniji dogaĊaji:

prije 1970. godine: telefonska mreža s komutacijom vodova

u 60-im godinama: prvi koncepti podatkovnih mreža s komutacijom

paketa, primjena u vojne svrhe, povezivanje velikih raĉunala

u 70-im godinama: ARPAnet, lokalne mreže zasnovane na sluĉajnom

pristupu (Aloha, Ethernet), Internetworking

u 80-im godinama: razvoj protokola kao TCP/IP, SMTP, DNS, FTP,

primjena uglavnom u znanosti

U 90-im godinama: razvoj aplikacijskih protokola kao HTTP, široka

upotreba web-browsera, komercijalizacija, preko 100 milijuna korisnika,

sigurnost postaje važan problem, prve bežiĉne mreže (WLAN)

od poĉetka 2000.: crash na burzi, daljni rast, nove aplikacije kao npr.

Internet telefonija, peer-to-peer sustavi, Web2.0, nove bežiĉne mreže

(Bluetooth, ZigBee, Wimax)

Organizacije za standardizaciju protokola:

Page 19: 97299938-Mreze-skripta

International Standards Organization (ISO)

- meĊunarodni standardi

- nacionalni: American National Standards Institute (ANSI),

...

International Telecommunications Union (ITU)

- telekomunikacijski standardi

- ITU-T (Telecommunications Sector, ranije CCITT)

- ITU-R (Radiocommunications Sector)

European Telecommunications Standards Institute (ETSI)

Internet Engineering Task Force (IETF)

- Request for Comments (RFCs)

Institute of Electrical and Electronic Engineers (IEEE)

- industrijski forumi za brži razvoj i certifikaciju

interoperabilnih proizvoda

- World Wide Web Consortium (W3C), Object Management

Group (OMG), MPLS Forum, WiFi Alliance, Bluetooth

Special Interest Group, ZigBee Alliance, Wimax Forum, …

2. APLIKACIJSKI SLOJ

Najčešće aplikacije

- Hypertext Transfer Protocol (HTTP)

- File Transfer Protocol (FTP)

- E-Mail

- Upravljanje mrežama (Network management)

- Domain Name System (DNS)

Page 20: 97299938-Mreze-skripta

Primjena mreţa

- Korisniĉki procesi na razliĉitim raĉunalima (host-ovi), koji u mreži

komuniciraju porukama

- Može se direktno implementirati korištenjem usluga transportnog sloja

- standardne aplikacije koriste neki aplikacijski protokol koji definira

format poruka i proceduru kod njihovog primitka

- Npr.: Web-Browser i Web-Server

- Donji slojevi i jezgra mreže ne zahtijevaju poznavanje aplikacije

- Jednostavna primjena, velika dinamika

Client-Server-Paradigma

Komunikacija na mreži se uspostavlja izmeĊu 2 osnovna tipa: client i server

- Server nudi uslugu koju traži client

- Uobiĉajena paradigma mnogih “tradicionalnih” aplikacija, kao

npr. Web-Browser i Web–Server

- Tipična svojstva server-a:

- učinkovit – da nam odgovor doĊe u realnom vremenu

- uvijek raspoloživ – ako ga nema onda ni client ne može

koristiti njegove raspoložive resurse

- Tipična svojstva client-a:

- Samo povremeno na mreži – na mreži je samo kada želi

neke usluge od servera

- Komuniciraju sa server-om, ne meĊusobno!

Client-Server-Paradigma je centralizirana arhitektura – u pravilu je 1 server i

više client-a, a taj server predstavlja centralnu jedinicu

Nedostatak: ako server nije dostupan nema ni usluge

Ostale paradigme

Page 21: 97299938-Mreze-skripta

- Promjenjiva uloga client-a i server-a: raĉunala preuzimaju

katkad jednu, katkad drugu ulogu Npr. Pozivamo neku web

stranicu preko web servera, taj server nam ne uĉita traženu

stranicu već upit proslijedi nekom drugom serveru( server postaje

client onda kada je zatražio uslugu drugog servera)

- Distribuirana aplikacija: sastoji se iz više nezavisnih aplikacija

koje skupa izgledaju kao jedna jedinstvena aplikacija (npr.

WebShop s Webserver- om, aplikacijski server i baza podataka)

- decentralna arhitektura: autonomni sustavi (npr. Peer-to-Peer

aplikacije kao Gnutella, Chord) sustavi bez servera (serverless)

- hibridna arhitektura: takoĊer autonomni samo što je za

inicijalizaciju potrebna neka centralna arhitektura, dok se

aplikacija izvodi decentralno izmeĊu raĉunala (npr. neke Peer-to-

Peer aplikacije kao Bittorrent)

VARIJANTE CLIENT – SERVER

Ne poistovjećuju se sa raĉunalom jer se na 1 raĉunalu može izvoditi nekoliko

servera

Page 22: 97299938-Mreze-skripta

Organizacija se sastoji od komponenti : KS (korisničko sučelje), A

(aplikacija), BP (baza podataka)

Postoji 5 mogućnosti CLIENT – SERVER organizacije (prikazano na slici)

1. MOGUĆNOST ( ORGANIZACIJA TC – FS)

Na strani client-a se nalazi dio KS dok se na strani servera nalazi preostali

dio KS, cijela A i cijela BP

TC – prednost : manje korištenje resursa clienta naspram serveru;

nedostatak :ako nemamo vezu ne možemo raditi ništa jer se cijela A i BP

nalaze na strani servera

FS – lakše kontroliranje sigurnosti i integriteta podataka; nedostatak -

preveliko opterećenje servera

Page 23: 97299938-Mreze-skripta

primjer ovakve org. je studomat, bankovni sustavi

2. MOGUĆNOST

Na strani clienta cijelo KS, a na strani servera cijela A i cijela BP (pr.

remote desktop)

3. MOGUĆNOST

Na strani clienta cijelo KS i dio A, a na strani servera preostali dio A i cijela

BP

4. MOGUĆNOST

Na strani clienta cijelo KS i cijela A, a na strani servera cijela BP

5. MOGUĆNOST (ORGANIZACIJA FC-TS)

Na strani clienta cijelo KS, cijela A i dio BP, a na serveru preostali dio BP

FC – prednost: mrežne resurse možemo koristiti bez obzira da li smo u

komunikaciji sa serverom (zbog podjele BP-a); Nedostatak: zahtijeva velike

resurse

TS – prednost : manje korištenje resursa; Nedostatak: podjela baze – ako

ažuriramo podatak na strani clienta moramo i na strani servera kako bi se

oĉuvao integritet podataka

Primjer: kasa u trgovini

Da bi aplikacija mogla komunicirati sa drugom app koristi usluge

transprtnog sloja

Page 24: 97299938-Mreze-skripta

Usluge transportnog sloja

U Internet-u postoje 2 osnovna transportna protokola

1. TCP: orijentiran na vezu, pouzdan

„Orijentiran na vezu“ (conection – oriented) prije slanja podataka se gradi veza

(dogovaranje komunikacijskih parametara)

FAZE:

1. graĊenje veze (dogovaranje parametara kao što su put kojim će se slati

paketi, veliĉina buffera u pojedinim ruterima itd.

2. slanje i primanje podataka

3. raskidanje veze

U 1. fazi rezerviramo odg. resurse a u 3. fazi ih oslobaĊamo da netko drugi

može slati podatke

Kad dogovaramo parametre prijenosa možemo postići da se paketi šalju

unutar toĉno odreĊenog vremena ili da je vremenski razmak izmeĊu paketa

uvijek isti; u vezi s tim vremenima je i pouzdanost( da paketi doĊu na

vrijeme)

2.UDP: nije orijentiran na vezu, nepouzdan

„Ne orijentiran na vezu“ (Conectionless) – ne gradi vezu, kad imamo

podatke za slanje onda ih šaljemo, za razliku od TCP-a gdje dogovaramo

put kojim će se paketi slati ovdje se ništa ne dogovara i paketi se mogu

slati razliĉitim putevima.

U nekim sluĉajevima ovo može biti i prednost pr. ako pukne veza izmeĊu 2

rutera kroz koje moraju proći paketi jer je tako definirano korištenjem TCP

paketi neće biti primljeni, a korištenjem UDP-a paketi se mogu slati nekim

drugim putem kroz neke druge rutere pa će biti primljeni.

Page 25: 97299938-Mreze-skripta

Nepouzdan je zato što svi paketi ne dolaze istim putem, neki se mogu

izgubiti, a ako je memorija rutera puna neki paketi mogu biti uništeni

Obiĉno realizirane u operacijskom sustavu

Većina operacijskih sustava nudi tzv. socket sučelje, realizirano u

programskim jezicima

socket sučelje je jedna od najosnovnijih tehnologija za umrežavanje

raĉunala, a olakšava komunikaciju izmeĊu app koristeći standardne

mehanizme ugraĊene u mrežu hardvera i operacijske sustave

Sa socket-ima moguće je definirati:

- Transportni protokol (TCP ili UDP)

- IP-adresu izvornog i odredišnog raĉunala

- Brojeve port-a (za razlikovanje aplikacija u raĉunalima)

Tako je moguće programirati aplikacije …

Kvantitativni zahtjevi aplikacija

Gubitak

- Ne može se tolerirati kod prijenosa datoteka, online bankarstva itd.

- Djelomiĉno se može tolerirati u multimediji

Brzina veze

- tradicionalne aplikacije kao FTP, e-mail i HTTP ne zahtijevaju fiksnu

brzinu veze (bit rate), ali je “bolje” ako imaju veliku brzinu veze

- Multimedija u realnom vremenu zahtijeva donju granicu kod brzine

veze

Vrijeme kašnjenja

- Tradicionalne aplikacije ne zahtijevaju maksimalno vrijeme kašnjenja,

ali su takoĊer “bolje” kod kraćih vremena

- Multimedija u realnom vremenu i interaktivne igre zahtijevaju kratko

vrijeme kašnjenja

Page 26: 97299938-Mreze-skripta

- Upravljanje tehniĉkim ureĊajima ĉesto zahtijeva garanciju neke

gornje granice kod vremena kašnjenja

Neki aplikacijski protokoli i pripadni transportni protokoli

Najčešće aplikacije

Page 27: 97299938-Mreze-skripta

Hypertext Transfer Protocol (HTTP)

File Transfer Protocol (FTP)

E-Mail

Upravljanje mrežama (Network management)

Domain Name System (DNS)

HTTP (Hypertext Transfer Protocol)

Protokol za web

Procedura

Korisnik unosi Uniform Resource Locator (URL) u Web-Browser

Uniform Resource Locator(URL) je Uniform Resource Identifier (URI)

koji specificira da li je identificirani resurs slobodan i mehanizme za

preuzimanje tog resursa

URL sadrži ime raĉunala nekog Web-servera i stazu prema nekom

objektu (datoteci) tamo Web-Browser postavlja upit Webserver-u za taj

objekt

Web-Server vraća objekt Webbrowser-u

Web-Browser prikazuje objekt u korisniku ĉitljivom obliku (podaci su

najĉešće zapisani u HTML dokumentu koji se prikazuju u obliku ĉitljivom

korisniku)

2. vrste HTTP poruka:

1. HTTP REQUEST

2. HTTP RESPONSE

1. HTTP REQUEST (poruka za upit)

Format poruke:

Page 28: 97299938-Mreze-skripta

zaglavlje sadrži kontrolne podatke, a tijelo korisniĉke podatke

Metode mogu biti:

GET: poziv nekog dokumenta, sastoji se iz metode, URL-a, verzije

(podaci se šalju od servera prema clientu pr. web stranica)

HEAD: poziv metapodataka nekog dokumenta (pr metapodataka je

pretraživanje po kjuĉnoj rijeĉi

POST: slanje podataka web-serveru (podaci se šalju od clienta prema

serveru pr. ispunjavanje obrasca na internetu)

Put, Delete, Trace, Options

Retci zaglavlja:

Type/Value-parovi, tipovi: Host, User-agent, …

Tijelo

Prazno kod GET, kod POST može imati sadržaj

Primjer upita:

Page 29: 97299938-Mreze-skripta

Redak za upit : Get – metoda,url, 1.1 verzija HTTP-a

Retci zaglavlja: Host, User – agent,Connection i Accept - language su

type-value parovi

Conection: close – nakon što se upit obradi veza se zatvara

Tijelo je prazno kod Get metode

2. HTTP RESPONSE (poruka za odgovor)

Format poruke:

Mogući kodovi u statusnom retku

200 OK („sve je u redu“)

Page 30: 97299938-Mreze-skripta

301 Moved Permanently (Redirection: objekt se nalazi na Location: …)

400 Bad Request (poruka za upit prepoznata)

404 Not Found (objekt nije pronaĊen)

505 HTTP Version Not Supported

Statusni kod je 200 a fraza za taj kod je OK

Retci zaglavlja takoĊer type – value parovi

Primjer upita:

HTTP-tijek (tok komunikacije prema HTTP protokolu)

1. ne-perzistentan HTTP

šalje se 1 upit (npr. HTML dokument se može sastojati od slike, teksta i

tablica a oni su objekti tog dokumenta) a transportni protokol za svaki

objekt tog upita generira 1 TCP vezu (1 TCP veza za sliku, 1TCP veza

za tekst i 1TCP veza za tablicu), server je briše odmah nakon slanja

objekta

osnovna stranica i ugniježĊeni objekti sekvencijalno (slanje u nizu) ili

više paralelnih veza za ugniježĊene objekte

prednosti:ne gube se svi podaci ako pukne veza

nedostaci:koristi više mrežnih resursa

Page 31: 97299938-Mreze-skripta

2. perzistentan HTTP

server zadržava vezu

svi se objekti šalju jednom TCP vezom

bez pipelining-a: nakon svakog objekta upit za slijedeći objekt

s pipelining-om: 1 upit za sve ugniježĊene objekte

Predosti:koristi manje mrežnih resursa

Nedostaci: brzina uĉitavanja

Standardni port web servera: 80

Port identificira (adresira) pojedinu app unutar raĉ.

Primjer tijeka ne-perzistentnog HTTP

URL: www.someSchool.edu/someDepartment/home.index

Osnovna stranica sadrži 10 ugnježĊenih objekata (jpeg)

Page 32: 97299938-Mreze-skripta

Vrijeme odgovora

Osnovna stranica

Izgradnja TCP veze zahtijeva Round Trip Time (RTT)

Poruka za upit u 1 smjeru te poruka za odgovor natrag zahtijevaju još 1

RTT

ukupno:

2 RTT

+ vrijeme slanja

+ ostala vremena ĉekanja (pr. vrijeme obrade)

Page 33: 97299938-Mreze-skripta

Dinamički sadrţaji

Slanje informacija

od browsera

prema serveru

U tijelu

poruke za

upit s POST

ĉesto: kao

Type/Value

parovi dodani

na URL u

poruci za upit

s GET

Dinamički sadržaji s CGI skriptama

Common Gateway Interface (CGI) obraĊuje informacije kao eksterni

proces i šalje novu HTML stranicu na server

Server komunicira s BP preko CGI skripte

Prednost: sigurnost, bolja fleksibilnost

Nedostatak: nova komponenta usporava sam proces

Dinamički sadržaji kroz Scripting

Page 34: 97299938-Mreze-skripta

Interpretacijom ugraĊenih skripti moguće je generirati dinamiĉke

sadržaje

Server-side Scripting: u HTML je ugraĊen kôd koji interpretira server i

pri tome generira HTML, npr. PHP

Client-side Scripting: u HTML je ugraĊen kôd koji interpretira client,

npr. JavaScript

Web-Caching

Smanjenje vremena ĉekanja korisnika i mrežnog prometa uporabom

pomoćnog meĊuspremnika (cache)

Cache je server za web browser, a client za web server

Page 35: 97299938-Mreze-skripta

Proxy sadrži kopiju podataka sa servera, nakon što client pošalje upit proxy

serveru ako on ima spremljene te podatke koji se traže u svojoj memoriji šalje

odgovor clientu (upit se nije slao serveru) ako pak nema te podatke koji se

traže prosljedit će upit serveru.

Samim time što proxy sadrži kopiju podataka može se desiti da se podaci na

serveru s vremenom promijene pa podaci na proxy serveru ne budu aktualni

no proxy može poslati upit serveru da li su njegovi podaci (neki objekat) još

uvijek aktualni.

Page 36: 97299938-Mreze-skripta

Kod slanja upita da li je objekt promijenjen ili ne šalje se datum kojeg ima

proxy zabilježen o tom objektu i ako je taj datum isti i kod servera objekt nije

promijenjen odnosno još uvijek je aktualan, ako je promijenjen proxy će

preuzeti podatke iz HTTP odgovora i ažurirati svoju bazu

Primjer upotrebe meĎuspremnika

Pretpostavke

- Srednja veliĉina objekta = 100.000 bitova

- Srednja rata HTTP upita clienata u LAN = 15/s ( u 1 s clienti

generiraju 15 upita na server

- Kašnjenje izmeĊu LAN-a i HTTP servera = 2 s (server odgovara na

upit nakon 2 s)

Posljedice

- Opterećenje LAN-a (lokalne mreže)

6 bitova/s = 0,15 = 15 % (broj

upita x veliĉina objekta / kapacitet mreže)

- Opterećenje pristupnog voda (pristupni vod povezuje mrežu s

internetom)

6 bitova/s = 1 = 100 % (broj

upita x veliĉina objekta / kapacitet voda )

- Ukupno kašnjenje = kašnjenje u LAN-u + kašnjenje kod pristupa +

kašnjenje u Internetu = ms + minute + 2 s = minute

Ukupno kašnjenje je nekoliko minuta

Page 37: 97299938-Mreze-skripta

2 rješenja da se smanji kašnjenje

1. RJEŠENJE: NADOGRADNJA PRISTUPA

Pristupni vod s 10 Mbps

Moguće, ali povezano s troškovima

Posljedice

- Opeterećenje LAN-a = 15 %

- Opterećenje pristupnog voda

6 bitova/s = 0,15 = 15 %

- Ukupno kašnjenje = kašnjenje u LANu + kašnjenje kod pristupa +

kašnjenje u Internetu = ms + ms + 2s = sekunde

- smanjeno kašnjenje s par minuta na par sekundi ali su veliki troškovi

za ovu nadogradnju

Page 38: 97299938-Mreze-skripta

2. RJEŠENJE: UPOTREBA CACHE (PROXY SERVERA)

pretpostavka: Cache Hitrate je 0,4

Realno: 40 % traženih stranica nalazi se dugoroĉno u

meĊuspremniku, a 60% je potrebno zatražiti od HTTP servera

Posljedice

- opterećenje LAN-a = 15 %

- Opterećenje pristupnog voda

0,6 x 1,5 x 6 bitova/s = 0,6 =

60 %

- Ukupno kašnjenje = kašnjenje u LANu + kašnjenje kod

pristupa + kašnjenje u Internetu = ms + ms + 0,6 x

HITRATE – udio upita na koji proxy može odgovoriti (npr. 4/10 od 10 upita

na 4 može odgovoriti a za preostalih 6 upita podatke treba zatražiti od

servera, može odgovoriti na 40% upita pa je hitrate 0,4)

Page 39: 97299938-Mreze-skripta

MISSRATE – preostali udio upita na koji proxy ne može odgovoriti (ili nema

podatke ili podaci nisu aktualni pa ih treba zatražiti od servera) (ako može

odgovoriti na 40% upita onda na 60% upita ne može ogovoriti pa je

missrate 0,6)

FTP (File Transfer Protkol)

Prijenos datoteka izmeĊu raĉunala

naredbe: USER username, PASS password, LIST, RETR filename,

STOR filename, …

Potrebna je 1 TCPveza (port 21) za razmjenu upravljaĉkih podataka i

posebna TCP veza (port 20) za prijenos svake datoteke

komunikacija se odvija: „out-of-band-control“ zbog posebne veze za

upravljaĉke podatke

Page 40: 97299938-Mreze-skripta

Prednosti: s dvije veze povećavamo propusnost

Nedostaci: velik utrošak resursa => jednom rezerviramo resurse za 1 vezu a

drugi put za drugu

Simple Mail Transfer Protocol (SMTP)

Protokol za slanje maila

Poruke u ASCII formatu ( zaglavlje + tijelo)

Jako je star protokol

Ostali podaci (Word datoteke i sl.) pretvaraju se u ASCII format te

pridodaju: multimedia mail extension (MIME – pretvara datoteku nekog

drugog formata u ASCII format)

Slanje pomoću SMTP protokola preko TCP

Ĉitanje preko POP3, HTTP

Page 41: 97299938-Mreze-skripta

Koristi TCP za pouzdan prijenos poruka od clienta prema serveru (preko

porta 25)

Možemo promijeniti vezu iz TCP na UDP ali to ne znaĉi da moramo

mijenjati i faze prijenosa SMTP-a jer se TCP i UDP nalaze na jednom

sloju a SMTP na drugom pa je 1 promjena neovisna o drugoj

Direktan prijenos: od servera (pošiljatelj) prema serveru (primatelj)

Tri faze prijenosa:

1. Handshaking (dogovaraju se parametri prijenosa)

2. Prijenos poruke (prijenos)

3. Faza završetka (komunikacijska veza se raskida)

Interakcija pomoću naredbi i odgovora

Naredbe: ASCII tekst

Odgovori: statusni kod i tekst

Poruke moraju biti u 7-bitnom ASCII tekstu (128 znakova)

UPRAVLJANJE MREŢAMA (Network management)

Zadaci upravljanja mrežom

Nadzor i administracija mreže = složen HW/SW sustav (mnogo ureĊaja,

vodova, strukture podataka, …)

Prema ISO slijedećih 5 podruĉja (FCAPS) primjene mreže

F (fault ili pogreška): nadgledanje, dokumentacija, mjere

reakcije => upravljanje pogreškama => mjere koje je potrebno

poduzeti da bi se te pogreške ispravile.

TTS sustavi (Trouble Ticket Systems) – to su baze koje sadrže

pogreške i za svaku pogrešku sadrže mjere reakcije (pr.

pogreška može biti upisana kriva adresa a mjera npr.

Provjerite da li ste dobro upisali adresu)

TTS ima na jednom mjestu definirane sve tipove pogrešaka i

takav sustav u velikoj mjeri rastereti administratora od

gubljenja vremena za takve probleme

Page 42: 97299938-Mreze-skripta

Može se desiti da i uz taj sustav ne možemo ukloniti pogrešku

pa nju administrator prosljeĊuje svom nadreĊenom

Propagacija pogrešaka – iz 1 pogreške se generira ĉitav skup

poruka o pogrešci

Problem kod propagacije => npr. Iz poruke možemo zakljuĉiti

da je problem u serveru a nije u serveru već u vodu

(razmnožavanje pogrešaka)

C (configuration ili konfiguracija): cilj je voditi podatke o

konfiguraciji ureĊaja i njihovog hardvera i softvera

Konfiguracija definira neke vrijednosti koje hardver i softver

treba tijekom svog rada ispunjavati. Moguće je definirati 2 tipa

vrijednosti : hard i soft => da li je striktna vrijednost ili ne;

moguće je uvesti i interval za zadovoljavanje neke vrijedosti

A (access ili pristup): odreĊivanje, kontrola, dokumentacija

pristupa korisnika i

UreĊaja: korisnik => naĉin pristupa korisnika => dodjeljivanje

prava klasi korisnika koja može pristupiti nekom serveru, a

moguće je definirati i mjesto pristupa serveru npr. Nekom

serveru mogu pristupiti samo zaposlenici tvrtke i to samo

unutar tvrtke

UreĊajima takoĊer možemo definirati odreĊena prava npr.

Možemo definirati ureĊajima iz svoje mreže da na prosljeĊuju

pakete na neke druge rutere

P (performance ili učinak): nadgledanje opterećenja,

propusnost, vrijeme odgovora, dokumentacija (npr. za nadzor

SLA - Service Level Agreements), mjere reakcije

Page 43: 97299938-Mreze-skripta

S (security ili sigurnost): nadgledanje i kontrola pristupa,

upravljanje kljuĉevima, npr. pravila filtriranja za firewall (pravila

filtriranja je moguće odrediti za web server npr. Da mu

odreĊene adrese ne mogu pristupiti => pr. studomatu

definramo da mu mogu pristupiti samo raĉ. iz hrvatske) ,

Intrusion Detection

Razliĉiti standardi, npr. TMN – upravljanje telekomunikacijskim

mrežama, CORBA – definira mogućnosti upravljanja mrežom

Promjena u bilo kojem podruĉju odrazit će se i u drugim podruĉjima => pr.

povećamo sigurnost – pogoršamo uĉinak (veća opterećenost)

Simple Network Management Protocol (SNMP)

Raširen protokol

Managing Entity, proces na središnjoj upravljaĉkoj stanici

(Management Station), » Client => pruža inf. O stanju cijele mreže na

naĉin da komunicira s agentima

Managed Device, ureĊaj u mreži (npr. Ruter)

Managed Object, HW ili SW u Managed Device, npr. tablica

prosljeĊivanja je managed object u ruteru

Management Agent, proces na Managed Device, izvodi lokalne akcije,

» Server

Request/Reply protokol izmeĊu Management Entity i Management

Agent preko UDP

SNMP protokol definira komunikaciju izmeĊu entity-a i agent-a

Page 44: 97299938-Mreze-skripta

Tipovi SNMP poruka:

GET: ĉitanje neke Managed Object varijable od strane Managing Entity

(informacija agentu da entitetu treba poslati neke podatke

SET: postavljanje (aktualiziranje) neke Managed Object varijable od

strane Managing Entity pr. veliĉina buffera koju želimo rezervirati

takoĊer GET-NEXT (ĉita sljedeći element u tablici) i GET-BULK (pr.

jednom nardbom je moguće izĉitati sve podatke iz tablice(grupni

podaci)) za strukture podataka => jedan upit a skupni odgovor

Za ove naredbe dolazi inicijativa od strane entiteta

TRAP: obavijest od strane Management Agent o nekoj pogrešci,

inicijativa dolazi od strane agenta pr. ruter2 nije u funkciji što zna ruter 1

jer je njegov korisnik pa ruter2 generira poruku o grešci i šalje ju clientu

(entitetu)

Page 45: 97299938-Mreze-skripta

Management Information Base (MIB)

MIB moduli sadrže strukture podataka za Managed Objects, normirane

od strane IETF => MIB je vrsta baze podataka koja sadrži strukture

podataka ua pojedine upravljaĉke objekte gdje su definirane pojedine

varijable)

Sintaksa je opisana u Structure of Management Information (SMI),

definirana od strane IETF, koja se oslanja na Abstract Syntax Notation

One (ASN.1) definiran od strane ISO (u osnovi kao C bez referenci)

ASN.1 posjeduje i numeracijsku shemu u svrhu jednoznaĉne

identifikacije objekata, ĉime je svaki MIB modul jednoznaĉno odreĊen

pomoću Bit Encoding Rules (BER) definira se toĉan binarni format za

prijenos

Domain Name System (DNS)

Imena hostova odnosno domena

DNS preslikava imena domena na neke vrijednosti, te vrijednosti su npr.

IP adrese

Page 46: 97299938-Mreze-skripta

DNS je distribuirana baza podataka (imamo više baza podataka a ne 1

– da imamo samo jednu došlo bi do zagušenja ili opterećenja BP),

sastoji se iz mnogo imeniĉkih servera koji komuniciraju nekim

aplikacijskim protokolom

osnovna pretpostavka za korištenje infrastrukture!

npr. rezolucija imena kod slanja e-maila:

Mail program (mail server) će prije nego se mail pošalje pozvati DNS server i

predat će mu ime domene , nakon toga će DNS server iz baze podataka

pronaći korespondirajuću IP adresu za tu domenu, kad pronaĊe zapis šalje ga

opet mail serveru i tako je moguće pristupiti udaljenom mail serveru i prosljediti

mail.

Komunikacija izmeĊu mail servera i DNS servera odvija se

transparentno (nije vidljiva)

Struktura domena

DNS implementira hijerarhijski imeniĉki prostor za Internet objekte

ĉita se od lijevo prema desno, od desno prema lijevo se procesira

imeniĉki serveri upravljaju pojedinim zonama

hijerarhija je implementirana kroz imeniĉke servere

Page 47: 97299938-Mreze-skripta

Edu predstavlja krovnu domenu za obrazovanje, princeton i mit su podomene

koje predstavljaju pojedine fakultete, a cs, ee, physics predstavljaju pojedine

vrste fakulteta pr. cs je fakultet informatike

Hijerarhija imeničkih servera

Root Name Server

ima ih nekoliko

top-level imenički server

za com, org, net, edu, uk, de, eu, …

autoritativni imenički server

najdonja razina, za pojedine organizacije

Resource Records

Page 48: 97299938-Mreze-skripta

podatkovni elementi u bazi DNS-a, a ti elementi su: naziv domene,

vrijednost, tip, TTL

TTL: Time to Live, vrijeme trajanja (kako dugo vrijedi ime za pojedinu

domenu)

tip = A

Podatkovni element ĉija je vrijednost IP adresa

Najĉešći oblici

primjer: (ns.cisco.com, 128.96.32.20, A, TTL)

tip = NS

Podatkovni element ĉija je vrijednost ime domene host-a na kojem se

izvodi imeniĉki server, a koji preslikava imena u domeni

primjer: (princeton.edu, cit.princeton.edu, NS, TTL)

tip = CNAME (Canonical Name)

Podatkovni element ĉija je vrijednost kanonsko ime host-a koji

omogućuje definiranje alias-imena ( drugo ime za neki server pa kad

pozivamo to alias ime mi ne znamo orginalno ime servera, prednost je

što kod takvih servera koji imaju definirano alias ime ne možemo raditi

štetu)

primjer: (cic.cs.princeton.edu, cicada.cs.princeton.edu, CNAME, TTL)

tip = MX (Mail Exchange)

Podatkovni element ĉija je vrijednost ime domene host-a na kojem se

izvodi Mail server

primjer: (cs.princeton.edu, optima.cs.princeton.edu, MX, TTL)

Primjer: Resource Records

Root Name Server

(princeton.edu, cit.princeton.edu, NS, TTL)

Page 49: 97299938-Mreze-skripta

(cit.princeton.edu, 128.196.128.233, A, TTL)

(cisco.com, ns.cisco.com, NS, TTL)

(ns.cisco.com, 128.96.32.20, A, TTL)

sadrži imeniĉki element za svaki server slijedeće razine i A-element

s IP adresom

zajedno ĉine link na servere druge razine

Page 50: 97299938-Mreze-skripta

3. TRANSPORTNI SLOJ

Zadatak transportnog sloja: komunikacija izmeĊu korisniĉkih procesa

Na app sloju imamo definirane mrežne aplikacije (izovde se na nekoliko raĉ.),

kako bi se ostvarila komunikacija izmeĊu tih app koriste se usluge

transportnog sloja i to na SAP - u

Proces= aplikacija

Host = raĉunalo

Bitna uloga porta – adresira(identificira) pojedinu aplikaciju unutar raĉ. (P1 i P2

se izvode na istom raĉ. Koje ima 1 IP adresu, kako bi se znalo kojoj app P3

šalje poruku bitan je broj porta)

Da nema porta mogla bi se izvoditi na 1 raĉ. Samo 1 app

Socket – omogućuje mrežnu komunikaciju

Moguće karakteristike usluge

Kontrola pogrešaka (podaci su pakirani u pakete i oni putuju od 1 app

do 2 app, no moguće je da se zbog nekih razloga neki paket izgubi ili

ošteti pa je pa je potrebno voditi kontrolu i prepoznati gubitak)

Osiguranje redoslijeda (ako se koristi UDP protokol onda se može desiti

da neki paketi ne stignu u dobrom redosljedu)

Page 51: 97299938-Mreze-skripta

Orijentiran na vezu/nije orijentiran na vezu (koju komunikaciju odabrati

ovisi o tome kakve karakteristike ima mrežna app)

Kontrola toka i opterećenja (bitno kontrolirati jer se može desiti da neko

raĉ. Ne može dovoljno brzo obraditi neke upite koji dolaze sa drugih

raĉ.)

Osiguranje kvalitete usluge (npr. brzina prijenosa, kašnjenje, gubitak)

User Datagram Protocol (UDP)

jednostavan

Nije orijentiran na vezu; nema kontrolne mehanizme; ne osigurava

redoslijed

Suĉelje za jednostavnu komutaciju paketa pomoću IP, odgovornost za

kontrolne mehanizme kod aplikacija

Transmission Control Protocol (TCP)

Orijentiran na vezu; kontrola pogrešaka, toka i opterećenja; ne

osigurava kvalitetu usluge (ne osigurava kvalitetu usluge jer se koristi IP

koji nije orijentiran na vezu)

Apstrahira tok byte-ova (byte stream)

Ako radimo aplikaciju onda je korištenje UDP-a složenije jer se u samoj app

moraju nalaziti i kontrolni mehanizmi => TCP jednostavniji jer se kontrolni

mehanizmi nalaze na transportnom sloju a ne u samoj app

User Datagram Protocol (UDP)

Poruka na app sloju je segment na transportnom sloju

Segment:

source port: broj izvornog porta (16 bitova)

dest port: broj odredišnog porta (16 bitova)

Page 52: 97299938-Mreze-skripta

vezu uspostavljamo izmeĊu 2 app i moramo znati koja app šalje a koja

app prima podatke

ukupno možemo imati 214 portova => 16 bitova => maksimalni broj app

koje možemo imati na 1 raĉ.

Kad se šalju paketi (segmenti) zapravo se šalju pojedini bitovi koji

reprezentiraju podatke (oni se nalaze na fiziĉkom sloju)

length: duljina cijelog segmenta (16 bitova)

Kako bi mogli iz primljenog skupa bitova generirati segment moramo

znati koja je duljina 1 segmenta da ih odvojimo (duljina odreĊuje

poĉetak i kraj segmenta)

checksum: kontrolni zbroj (16 bitova) za kontrolu pogrešaka u prijenosu

pojedinaĉnog bita, ako se samo 1 bit pogrešno prenese možemo ga

prepoznati, a ako se cijela skupina bitova pogrešno prenese to se ne

može prepoznati i checksum u takvoj situaciji ne funkcionira; upotreba je

opcionalna, 00000000000000002 znaĉi: nije korišten

Izračunavanje kontrolnog zbroja

Page 53: 97299938-Mreze-skripta

Svi se bitovi invertiraju=> 0 u 1 ili 1 u 0 => može se desiti i ostatak , u tom

sluĉaju njega miĉemo na kraj

Onaj tko generira UDP segment poznavat će niz bitova koji se prenosi i

izraĉunat će kontrolni zbroj koji će upisati za to predviĊeno polje, kad taj

segment stigne na odredište onaj koji će zaprimiti taj segment takoĊer će

izraĉunati kontrolni zbroj i usporediti ga sa kontrolnim zbrojem zapisanim u

segmentu i ako ne postoji pogreška dobit ćeme sve 1

Multipleksiranje i demultipleksiranje

Multipleksiranje: prijenos segmenata razliĉitih korisniĉkih procesa

transportnim slojem na izvornom hostu

Demultipleksiranje: predaja segmenata razliĉitim korisniĉkim

procesima na transportnom sloju odredišnog hosta

Korisniĉki proces dogovara s transportnim slojem na izvornom hostu

broj izvornog porta (izabire ga ili aplikacija ili se od strane operacijskog

sustava dodjeljuje neki slobodan port)

Realiziran npr. kroz socket-API:

DatagramSocket serverSocket =

new DatagramSocket(6428);

serverSocket.send(aPacket);

UDP na odredišnom hostu odluĉuje prema broju odredišnog porta (i

samo prema njemu) kojoj aplikaciji se segment dodjeljuje

Korisniĉki proces može sadržavati više socket-a

Page 54: 97299938-Mreze-skripta

Kad app2 šalje podatke app3 kao odredišni port će odabrati neki broj porta, a

taj odredišni port će postati izvorni port kad app3 šalje podatke app2

Pseudo-zaglavlje

Pošto 3 sloj ne nudi kontrolu pogrešaka ona se mora povjeri višem sloju,

odnosno, 2. sloju (transportni sloj)

Pseudo zaglavlje se koristi kako bi mogli otkriti eventualne pogreške u

prenošenju IP adrese

Informacija o IP adresi se treba prenjeti sa sloja 3. sloja na 2. sloj pa je

zbog toga pseudo zaglavlje

Pseudo-zaglavlje sadrži izvornu i odredišnu IP adresu, broj protokola

(17 za UDP) i duljinu segmenta

UDP pošiljatelja najprije upisuje 0 u checksum polje, generira

pseudozaglavlje i raĉuna kontrolni zbroj zajedno za UDP segment i

pseudozaglavlje

Ovaj kontrolni zbroj upisuje se u checksum polje

Zatim se segment i pseudo-zaglavlje prosljeĊuju na IP

UDP primatelja dobiva (od IP) UDP segment i pseudo-zaglavlje, piše 0 u

checksum polje i raĉuna kontrolni zbroj za segment i pseudozaglavlje

Page 55: 97299938-Mreze-skripta

prednost: provjera kontrolnog zbroja prepoznaje i pogreške u IP

adresama, npr. krivo proslijeĊene segmente

nedostatak: povreda principa uslojavanja

KONTROLA POGREŠAKA

1.Stop-and-Wait

2. Go-Back-N i Selective Repeat

šum, buffer overflow, ispadi komponenti uzrokuju pogreške bita i gubitak

paketa

rješava se protokolima s prepoznavanjem pogrešaka, potvrdama i

ponavljanjem slanja

Page 56: 97299938-Mreze-skripta

Pošiljatelj šalje paket preko nepouzdanog kanala i oĉekuje ACK (potvrdu da je

primatelj uspješno primio paket), nakon što je primatelj uspješno primio paket

generirat će ACK i poslati ga pošiljatelju

3 osnovna protokola za pouzdan transport:

Stop-and-Wait

pošiljatelj dodaje – u svrhu prepoznavanja pogreške – kontrolni zbroj ili

Cyclic Redundancy Check (CRC)

primatelj šalje potvrdu (acknowledgment, ACK)

nakon timeout-a (= potvrda nije stigla) paket se ponovo šalje

za prepoznavanje mogućih duplikata potrebni su redni brojevi (SQN –

sequence number)

Go-Back-N i Selective Repeat

Protokoli kliznog prozora (sliding window protocols)

šalje se više paketa odjednom kako bi se “popunio” kanal

razlikuju se s obzirom na timeout, potvrde, ponovno slanje

Page 57: 97299938-Mreze-skripta

Stop-and-Wait Protokol

neformalan opis:

Ponašanje pošiljatelja

1. Šalji paket s aktualnim SQN i ukljuĉi timer

2. Ako se ACK vrati bez pogreške bita i s aktualnim SQN prije isteka

timeout-a, inkrementiraj SQN (povećaj za 1) i vrati se na 1. korak

3. Ako je timeout istekao, ponovo šalji paket, takoĊer ponovo ukljuĉi

timer i vrati se na 2. korak

Ponašanje primatelja

Ako je paket primljen bez pogreške bita i s aktualnim SQN, šalji ACK s

aktualnim SQN i inkrementiraj SQN; inaĉe ponovo šalji posljednji ACK

Pošiljatelj starta timer kad pošalje paket (uloga timera jest da se oznaĉi koliko

će se dugo ĉekati na potvrdu (ACK), kad ne bi bilo timera moglo bi se ćekati

unedogled ako se ACK na putu negdje zagubi), ako je timer istekao a paket je

stigao na odredište meĊutim potvrda se negdje zagubila i nije stigla unutar

timera, pošiljatelj će poslati taj isti paket i kad on stigne na odredište primatelj

će imati 2 ista paketa zato se uvodi SQN kako bi se duplikati eliminirali

Nedostatk ovog protokola: dugo traje =>resipanje resursa raĉunala i resursa

mreže (zbog slanja 1 paketa i primanje 1 potvrde) => nije ekonomiĉno iz tog

razloga su bolje varijante kliznog prozora jer se šalje više paketa a ne samo 1,

a ACK potvrda nam potvrĊuje primitak cijele grupe paketa.

Opis pomoću UML Statecharts

Statechart se uvijek nalazi u nekom stanju (state), crno oznaĉena toĉka

predstavlja poĉetno stanje (initial state)

Page 58: 97299938-Mreze-skripta

Prijelaz izmeĊu stanja (state transition) se ostvaruje nekim dogaĊajem

(event) i ispunjavanjem nekog uvjeta (guard)

Nakon prijelaza u novo stanje izvodi se neka akcija (action)

Iz praktiĉnih razloga moguće je uvesti i varijable

Napomene vezane uz Statecharts

Statecharts predstavljaju varijantu konaĉnih automata

DogaĊaji, uvjeti i akcije se ĉesto opisuju kroz pseudokod (time dobivamo

tzv. “poluformalan” opis)

Ponašanje protokola ĉesto se modelira ovakvim (ili sliĉnim) automatima

Postoje programski alati koji takvo modeliranje podržavaju: protokoli se

mogu specificirati kao automati iz ĉega se može generirati kod; na

osnovu toga moguće je izvoditi razliĉite analize, simulacije i testiranja

Ovdje se koriste statecharts za precizan opis protokola Stop-and-Wait

(kasnije i ostalih protokola)

Stop-and-Wait: normalan slijed (flow)

Pošiljatelj:

Page 59: 97299938-Mreze-skripta

1. i pošiljatelj i primatelj postavljaju SQN na 1

2. wait for dana – u stanju je spremnosti da pošalje paket

3. vrši se akcija slanja paketa pri ĉemu paket sadrži (aktualni SQN,

podatke i CRC) i nakon što je paket poslao starta timer

4. nakon što je startao timer ovdje se nalazi u stanju ĉekanja potvrde

ACK1

Primatelj se nalazi u stanju ĉekanja paketa SQN1

paket 1 je uspješno proslijeĊen do primatelja

Primatelj:

5. vrši se akcija primitka paketa, provjerava se da li su uvjeti zadovoljeni

- nije se dogodila nikakva pogreška i

primljen sqn je jednak aktualnom sqn-u), ekstakta paket i šalje

pošiljatelju ACK sa aktualnim SQN brojem i CRC-om), nakon što je

poslao ACK povećava SQN za 1 (sljedeći ACK2)

6. prelazi u stanje ĉekanja na paket sa SQN=2

Pošiljatelj je još uvijek u stanju ĉekanja ACK1

Ack 1 je takoĊer uspješno proslijeĊena

Pošiljatelj:

7. vrši se akcija primitka potvrde, provjerava se da li su zadovoljeni

– nema pogreške u

prijenosu i SQN ACK-a je jednak aktualnom SQN-u), nakon što su

uvjeti zadovoljeni stopira timer i poveĉava SQN za 1 (sada je aktualni

SQN2) i prelazi u novo stanje

8. stanje spremnosti da pošalje novi paket SQN2

Page 60: 97299938-Mreze-skripta

Stop-and-Wait: gubitak paketa

Pošiljatelj:

1. stanje spremnosti da pošalje novi paket SQN2

2. prelazi u stanje gdje se vrši akcija slanja paketa pri ĉemu paket sadrži

(aktualni SQN, podatke i CRC) i nakon što je paket poslao starta timer

3. stanje ĉekanja potvrde (ACK2)

Primatelj se nalazi u stanju ĉekanja paketa

MeĊutim paket se negdje na puto do primatelja zagubio samim time

primatelj nije mogao posati ACK2 jer nije zaprimio paket sa SQN2

4. stanje timouta (isteklo je vrijeme timera), pa se ponovno vrši akcija

slanja paketa SQN2 i opet se starta timer

5. stanje ĉekanja potvrde ACK2

primatelj se još uvijek nalazi u stanju ĉekanja paketa SQN2

Paket 2 je ovaj put uspješno proslijeĊen do primatelja

Primatelj:

6. vrši se akcija primitka paketa, provjerava se da li su uvjeti zadovoljeni

- nije se dogodila nikakva pogreška i

primljen sqn je jednak aktualnom sqn-u), ekstakta paket i šalje

pošiljatelju ACK sa aktualnim SQN brojem i CRC-om), nakon što je

poslao ACK povećava SQN za 1 (sljedeći ACK3)

7. prelazi u stanje ĉekanja na paket sa SQN=3

Ack 2 je takoĊer uspješno proslijeĊena

Page 61: 97299938-Mreze-skripta

Pošiljatelj:

8. vrši se akcija primitka potvrde, provjerava se da li su zadovoljeni uvjeti

– nema pogreške u prijenosu i SQN

ACK-a je jednak aktualnom SQN-u), nakon što su uvjeti zadovoljeni

stopira timer i poveĉava SQN za 1 (sada je aktualni SQN3) i prelazi u

novo stanje

9. stanje spremnosti da pošalje novi paket sa SQN3

Stop-and-Wait: gubitak potvrde (ACK)

Pošiljatelj:

1. stanje spremnosti da pošalje novi paket sa SQN3

2. prelazi u stanje gdje se vrši akcija slanja paketa pri ĉemu paket sadrži

(aktualni SQN, podatke i CRC) i nakon što je paket poslao starta timer

3. stanje ĉekanja potvrde (ACK3)

Primatelj se nalazi u stanju ĉekanja paketa sa SQN3

Paket 3 je uspješno proslijeĊen do primatelja

Primatelj:

4. vrši se akcija primitka paketa, provjerava se da li su uvjeti zadovoljeni

- nije se dogodila nikakva pogreška i

primljen sqn je jednak aktualnom sqn-u), ekstakta paket i šalje

pošiljatelju ACK sa aktualnim SQN brojem i CRC-om), nakon što je

poslao ACK povećava SQN za 1 (sljedeći ACK4)

5. prelazi u stanje ĉekanja na paket sa SQN=4

Page 62: 97299938-Mreze-skripta

ACK3 se negdje na putu zagubio i nije stigao do pošiljatelja

Pošiljatelj je u stanju ĉekanje potvrde

Pošiljatelj:

6. stanje timouta (isteklo je vrijeme timera), pa se ponovno vrši akcija

slanja paketa SQN3 i opet se starta timer

7. stanje ĉekanja potvrde ACK3

I ovaj put je paket s SQN3 uspješno proslijeĊen primatelju

primatelj je u stanju ĉekanja paketa s SQN4

Primatelj:

8. vrši se akcija primanja paket i provjerava se da li su uveti zadovoljeni

– jedan uvjet nije zadovoljen jer

pristigli paket s SQN3 ne odgovara aktualnom paketu kojeg mi

oĉekojemo a to je SQN4 (dobili smo duplikat)), nakon što je primatelj

otkrio da je dobio duplikat šalje prethodnu ACK3

9. stanje ĉekanja paketa s SQN4

ACK 3 je ovaj put uspješno proslijeĊena pošiljatelju

Pošiljatelj:

10. vrši se akcija primitka potvrde, provjerava se da li su zadovoljeni uvjeti

– nema pogreške u prijenosu i SQN

ACK-a je jednak aktualnom SQN-u), nakon što su uvjeti zadovoljeni

stopira timer i poveĉava SQN za 1 (sada je aktualni SQN4) i prelazi u

novo stanje

11. stanje spremnosti da pošalje novi paket sa SQN4

Page 63: 97299938-Mreze-skripta

Stop-and-Wait: zakašnjeli ACK

Pošiljatelj:

1. stanje spremnosti da pošalje novi paket SQN4

2. prelazi u stanje gdje se vrši akcija slanja paketa pri ĉemu paket sadrži

(aktualni SQN, podatke i CRC) i nakon što je paket poslao starta timer

3. stanje ĉekanja potvrde (ACK4)

Primatelj se nalazi u stanju ĉekanja paketa sa SQN4

Paket 4 je uspješno proslijeĊen do primatelja

Primatelj :

4. vrši se akcija primitka paketa, provjerava se da li su uvjeti zadovoljeni

- nije se dogodila nikakva pogreška i

primljen sqn je jednak aktualnom sqn-u), ekstakta paket i šalje

pošiljatelju ACK sa aktualnim SQN brojem i CRC-om), nakon što je

poslao ACK povećava SQN za 1 (sljedeći ACK5)

5. prelazi u stanje ĉekanja na paket sa SQN=5

ACK 4 kasni i ne dolazi unutar timera

Pošiljatelj:

6. stanje timouta (isteklo je vrijeme timera), pa se ponovno vrši akcija

slanja paketa s SQN4 i opet se starta timer

7. stanje ĉekanja potvrde ACK4

I ovaj put je paket s SQN4 uspješno proslijeĊen primatelju

Page 64: 97299938-Mreze-skripta

Primatelj je u stanju ĉekanja paketa s SQN5

Primatelj:

8. vrši se akcija primanja paket i provjerava se da li su uveti zadovoljeni

– jedan uvjet nije zadovoljen jer

pristigli paket s SQN4 ne odgovara aktualnom paketu kojeg mi

oĉekojemo a to je SQN5 (dobili smo duplikat)), nakon što je primatelj

otkrio da je dobio duplikat šalje prethodnu ACK4

9. stanje ĉekanja paketa s SQN5

Stiže zakašnjela ACK4 do pošiljatelja koji je u stanju ĉekanja

potvrde

Pošiljatelj:

10. vrši se akcija primitka potvrde, provjerava se da li su zadovoljeni uvjeti

– nema pogreške u prijenosu i SQN

ACK-a je jednak aktualnom SQN-u), nakon što su uvjeti zadovoljeni

stopira timer i poveĉava SQN za 1 (sada je aktualni SQN5) i prelazi u

novo stanje

11. stanje spremnosti da pošalje novi paket sa SQN5

U meĊuvremenu stiže ACK4 potvrda koju je primatelj poslao kada

je zaprimio duplikat

12. pošiljatelj vrši akciju primitka potvrde, prepoznaje duplikat ACK4 i

ignorira primljenu potvrdu te se nakon toga opet nalazi u stanju

spremnosti da pošalje novi paket s SQN5

Stop-and-Wait: zakašnjeli paket

Page 65: 97299938-Mreze-skripta

Pošiljatelj:

1.

2. prelazi u stanje gdje se vrši akcija slanja paketa pri ĉemu paket sadrži

(aktualni SQN, podatke i CRC) i nakon što je paket poslao starta timer

3. stanje ĉekanja potvrde (ACK5)

Primatelj se nalazi u stanju ĉekanja paketa sa SQN5 no došlo je

do kašnjenja paketa

Primatelj:

4. vrši se akcija primitka paketa, provjerava se da li su uvjeti zadovoljeni

- nije se dogodila nikakva pogreška i

primljen sqn je jednak aktualnom sqn-u), ekstakta paket i šalje

pošiljatelju ACK sa aktualnim SQN brojem i CRC-om), nakon što je

poslao ACK povećava SQN za 1 (sljedeći ACK6)

5. prelazi u stanje ĉekanja na paket sa SQN=6

ACK 5 kasni i ne dolazi unutar timera jer je i paket kasnio

Pošiljatelj:

6. stanje timouta (isteklo je vrijeme timera), pa se ponovno vrši akcija

slanja paketa s SQN5 i opet se starta timer

7. stanje ĉekanja potvrde ACK5

I ovaj put je paket s SQN5 uspješno proslijeĊen primatelju

primatelj u stanju ĉekanja paketa s SQN6

Page 66: 97299938-Mreze-skripta

Primatelj:

8. vrši se akcija primanja paket i provjerava se da li su uveti zadovoljeni

– jedan uvjet nije zadovoljen jer

pristigli paket s SQN5 ne odgovara aktualnom paketu kojeg mi

oĉekojemo a to je SQN6 (dobili smo duplikat)), nakon što je primatelj

otkrio da je dobio duplikat šalje prethodnu ACK5

9. stanje ĉekanja paketa s SQN6

Stiže zakašnjela ACK5 do pošiljatelja koji je u stanju ĉekanja

potvrde

Pošiljatelj:

10. vrši se akcija primitka potvrde, provjerava se da li su zadovoljeni uvjeti

– nema pogreške u prijenosu i

SQN ACK-a je jednak aktualnom SQN-u), nakon što su uvjeti

zadovoljeni stopira timer i poveĉava SQN za 1 (sada je aktualni SQN6)

i prelazi u novo stanje

11. stanje spremnosti da pošalje novi paket sa SQN6

U meĊuvremenu stiže ACK5 potvrda koju je primatelj poslao kada

je zaprimio duplikat

12. pošiljatelj vrši akciju primitka potvrde, prepoznaje duplikat ACK5 i

ignorira primljenu potvrdu te se nakon toga opet nalazi u stanju

spremnosti da pošalje novi paket s SQN6

Page 67: 97299938-Mreze-skripta

Prostor rednih brojeva (sequence number space)

prikaz rednih brojeva je konaĉan: polje s n bitova omogućuje 2n rednih

brojeva

višestruka primjena kroz cikliĉki prolaz

za Stop-and-Wait dovoljan je jedan bit za prikaz 2 redna broja: 0 i 1

Stop-and–Wait s 0 i 1 kao rednim brojevima zove se i Alternating-Bit-

Protocol

Ako imamo veliki SQN onda prenosimo velik br. Bitova što povećava

mogućnost pogrešaka i overhead

GO – BACK – N I SELECTIVE REPEAT PROTOKOLI

Page 68: 97299938-Mreze-skripta

Protokoli kliznog prozora (sliding window protocol)

Protokoli koji se zasnivaju na slanju više paketa i primanje 1 potvrde za

grupu paketa

Njima se želi smanjiti neuĉinkovitost Stop – and – wait protokola

Više procesiranja za cijelu grupu paketa

GO – BACK – N

Pošiljatelj šalje grupu paketa => veliĉina te grupe je odreĊena

Prozor – grupa paketa koja se može odjednom poslati

Veliĉina prozora je w (npr. w=4 => možemo slati grupu od 4 paketa)

Interval prozora (od base(donja granica prozora) do base + w – 1

(gornja granica prozora)

Opcionalnost slanja grupe paketa - ako nam je app dala podatke za

samo 1 paket onda ćemo njega poslati, ostali paketi su prazni pa ih ne

moramo slati)

Base – SQN najstarijeg poslanog a nepotvrĊenog paketa

Next SQN – SQN sljedećeg paketa za slanje

Kad se neki paket potvrdi onda se prozor miĉe za 1 mjesto

SELECTIVE REPEAT

Kumilativnim potvrdama se potvrĊuje cijela grupa paketa

Pr. ako mi šaljemo 100 paketa i 1 paket nam je krivo prenesen, onda

ćemo poslati potvrdu za posljednjeg dobro prenesenog paketa koji je

pristigao prije krivo prenesenog, sve dalje od krivo prenesenog paketa ,

ukljuĉujući i njega, će se morati ponovo prenositi

Page 69: 97299938-Mreze-skripta