1.45k likes | 1.79k Views
Mrežni sloj ( Network Layer ). Lekcija 8. Računarske mreže. Uvod – Mrežni sloj. Odgovoran za adresiranje i rutiranje poruke Određuje se najbolja putanja od računara do računara, sve dok paketi ne stignu do odredišta
E N D
Mrežni sloj (NetworkLayer) Lekcija 8 Računarske mreže Predavanja
Uvod – Mrežni sloj Odgovoran za adresiranjei rutiranje poruke Određuje se najbolja putanja od računara do računara, sve dok paketi ne stignu do odredišta Sloj mreže – odgovoran za prosleđivanje paketa sa jednog do drugog kraja mreže (Sloj veze – prosleđivanje okvira sa jednog kraja žice na drugi) Mrežni sloj treba da “poznaje” topologiju mreže izbor putanje opterećenost usputnih rutera Mrežni sloj pruža usluge transportnom sloju Transport Layer Network Layer Data Link Layer Predavanja
Mrežni sloj Transport segmenta od predajnog do odredišnog računara Na predajnoj strani segmenti se enkapsuliraju u datagrame Na prijemnoj strani segmenti se isporučuju transportnom sloju Protokoli mrežnog sloja nalaze se u svakom računaru i ruteru network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical application transport network data link physical application transport network data link physical Predavanja
Komutacija – forwarding, switching: prosleđivanje paketa od ulaznog do izlaznog porta rutera Moguća je komutacija ka većem broju izlaznih portova Broadcast ili multicast paketi Ako ruter ne zna kako da komutira paket generiše se ICMP poruka i obaveštava pošiljaoc Komutacija Predavanja
Komutacija 18.9.2014. Predavanja 5
Routing: određivanje putanje (rute), na osnovu: informacije iz paketa (odredišna IP adresa) tabele rutiranja Algoritmi rutiranja – rade u ruterima i određuju putanju Destination address-based - Datagram networks Virtual circuit number based - VC Networks Mrežni sloj 18.9.2014. Predavanja 6
Mrežni sloj routing algorithm local forwarding table header value output link 0100 0101 0111 1001 3 2 2 1 value in arriving packet’s header 1 0111 2 3 • routing: proces određivanja najbolje putanje do odredišta • forwarding: process na jednom uređaju – izbor odgovarajućeg izlaza Predavanja
Mrežni sloj U ruterima postoje i dodatne funkcije: Provera ispravnosti paketa, Obrada kontrolnih paketa, Security, Kvalitet servisa itd. Problemi u savremenim mrežama Broj korisnika se povećava Linkovi su sve većeg kapaciteta (Gbit/s) Složeniji podaci (npr prenos videa u realnom vremenu) Itd. Predavanja
Usluge za transportni sloj Usluge koje mrežni sloj obezbeđuje transportnom treba da imaju sledeće karakteristike: Usluge treba da su nezavisne od ruterske tehnologije Od transportnog sloja treba da su skriveni: broj, vrste rutera i topologija rutera Mrežne adrese dostupne transportnom sloju treba da su jedinstveno (uniformno) označene, čak i preko LAN i WAN mreža 18.9.2014. Predavanja 9
Usluge za transportni sloj Bez uspostavljanja direktne veze Svaki paket se šalje nezavisno od drugog Nezavisno rutiranje po različitim putevima Paketi stižu za različito vreme Svaki paket mora da nosi punu odredišnu adresu Npr: Internet Peket Datagram Datagramska podmreža Sa uspostavom direktne veze Uspostavljanje direktne veze od izvorišnog do odredišnog rutera pre nego što se počnu slati paketi Npr: ATM, Frame Relay, X.25 Podizanje virtuelne veze(VC - virtual circuit) Podmreža sa virtualnim kolima Predavanja
Datagramska podmreža Dest. A B C D E F Next - B C B C C Oprema operatera Tabela rutiranja za ruter A Predavanja
Određivanje kojim putem će se slati paket od predajnika ka prijemniku Tabele rutiranja Za donošenje odluke o rutiranju Pokazuju kojim putem trebaslati paket do odredišta Pamćenje donesenih odluka o rutiranju Ruteri Specijalni uređaji koji se koriste za donošenje odluka o rutiranju Poseduje sopstvene tabele rutiranja Datagramska podmreža Dest. A B C D E F Next - B C B C C Sledeći korak Odredište Predavanja
Nema uspostave veze (no call setup) Ruteri: ne prate stanje sa kraja na kraj (no state about end-to-end connections) Paketi se tipično rutiraju na osnovu odredišne adrese Paketi mogu proći različitom putanjom Datagramska podmreža application transport network data link physical application transport network data link physical 1. Send data 2. Receive data Predavanja
Tabele rutiranja se mogu vremenom menjati Algoritam rutiranja (Routing algorithm) Radi sa tabelama rutiranja Donosi odluku o rutiranju paketa Rutiranje paketa Usluga nije pouzdana Ruteri ne čuvaju podatke o stanju veze Svaki paket sadrži punu izvorišnu i odredišnu adresu Svaki paket se usmerava nezavisno Datagramska podmreža Predavanja
Svaki paket nosi identifikator virtuelnog kola kome pripada (ne trebaju adrese odredišta) Putanja se bira pri uspostavljanju virtuelnog kola Usluga je pouzdana Obezbeđuje se kvalitet usluge Posebno važno za govor, video i sl. Ovakvo rutiranje se često naziva: usmeravanje za sesiju (session routing) – npr sesija prenosa datoteka Podmreža sa virtualnim kolima Predavanja
Call setup, sprovodi se za svaki poziv, pre slanja podataka Svaki paket nosi identifikator VC kola (to nije adresa odredišta) Svaki ruter na putu od izvorišta do odredišta održava stanje za uspostavljenu konekciju Karakteristike veze (linka), resursi rutera (propusni opseg, baferi) mogu se alocirati za dato VC Podmreža sa virtualnim kolima Predavanja
VC se sastoji od: Putanje od izvorišta do odredišta Broj VC kola, jedan broj za svaki link na putanji Ulaza u tabele komutiranja u ruterima duž putanje Paket koji se prenosi VC kolom nosi broj VC kola Broj VC kola se menja na svakom linku Novi broj VC kola koji nosi paket se određuje na osnovu tabele rutiranja Podmreža sa virtualnim kolima Predavanja
Podmreža sa virtualnim kolima VC number 22 32 12 3 1 2 interface number Incoming interface Incoming VC # Outgoing interface Outgoing VC # 1 12 3 22 2 63 1 18 3 7 2 17 1 97 3 87 … … … … Forwarding table : Routers maintain connection state information! Predavanja
Poruke i protokli signalizacije – uspostava VC kola VC kola se ne koriste u današnjem Internetu Koriste se za ATM, Frame Relay, X.25 Podmreža sa virtualnim kolima application transport network data link physical application transport network data link physical 6. Receive data 5. Data flow begins 4. Call connected 3. Accept call 1. Initiate call 2. incoming call Predavanja
Arhitektura rutera Funkcije rutera: Algoritmi rutiranja/protokoli (RIP, OSPF, BGP) Prosleđivanje datagrama (forwarding)sa ulaznog na izlazni port Predavanja
Funkcije ulaznog porta Decentralizovana komutacija: Na osnovu odredišne adrese datagrama određuje se izlazni port primenom forwarding tabele (lookup tabela) input port memory (caching of entries?) Cilj: kompletna obrada na ulaznom portu za datu linijsku brzinu Problemi: ako datagrami dolaze brže od mogućnosti forward-ovanja Fizički sloj: Prijem bita Sloj veze: npr. Ethernet Predavanja
Komutacija pomoću memorije Ruteri prve generacije: Uređaji slični tradicionalnim računarima Paket se kopira u RAM Ograničena brzina rada zbog ograničenog pristupa RAMu Memory Input Port Output Port System Bus Predavanja
Komutacija preko magistrale Datagrami se prosleđuju od memorije ulaznog porta u memoriju izlaznog porta preko deljene magistrale Brzina komutacije je ograničena karakteristikama magistrale 1 Gbps bus, Cisco 1900: Dovoljna brzina rada za rutere pojedinih oranizacija (nije dovoljno za regionalne rutere ili backbon-ove) Predavanja
Izlazni portovi Baferovanjeneophodno je kada datagrami dolaze iz komutatora koji je brži od brzine slanja Predavanja
Vrste rutiranja Centralizovano rutiranje Odluke donosi jedan centralni računar Koristi se za host-basedmreže Decentralizovano rutiranje Odluke se donose u svakom čvoru nezavisno od drugih Informacije treba da se razmenjuju kako bi se formirale tabele rutiranja Koristi se u Internetu Predavanja
Vrste rutiranja Vrste decentralizovanog rutiranja Statičko rutiranje Dinamičko rutiranje Statičko rutiranje: Koriste se fiksne tabele rutiranja koje definiše administrator mreže Non-adaptive algorithms Svaka tačka ima sopstvenu tabelu rutiranja Cilj administratora: optimizacija mrežnih performansi Cena rutiranja, kašnjenje, propusni opseg, ... Promene kada se računar dodaje ili uklanja Koristi se kod relativno jednostavnih mreža (mali broj opcija rutiranja koje se retko menjaju) Predavanja
Dinamičko rutiranje Dinamičko rutiranje (adaptivno): Zasniva se na automatskom kreiranju i ažuriranju ruting tabela Tablele rutiranja su u svakom čvoru Informacije na osnovu razmene poruka između rutera Prate se promene u topologiji i trenutnom saobraćaju Dva najčešća tipa protokola koja se danas koriste su: distance vector protokol Ruteri poznaju fizički povezane rutere (susede) link state protocol Svaki ruter poznaje kompletnu toplogiju Predavanja
Algortmi za rutiranje - osobine Tačnost Jednostavnost Robusnost promene topologije i saobraćaja u mreži Stabilnost dostizanje stanja ravnoteže Pravičnost kompromis sa optimalnošću Optimalnost kašnjenje paketa, protok kroz mrežu, ... Predavanja
Princip optimalnosti Ako se ruter J nalazi na optimalnoj putanji između rutera I i K, tada se optimalna putanja između J i K nalazi na istoj putanji Skup putanja iz svih izvora ka zadatom odredištu obrazuje stablo – stablo optimalnih putanja Stablo ne sadrži petlje – ograničen broj skokova Može postojati više stabala optimalnih putanja (npr. imaju istu dužinu putanje) Zadatak algoritama rutiranja: otkrivanje stabla optimalnih putanja Predavanja
Princip optimalnosti B B A C A C Podmreža Stablo optimalnih putanja Svaki paket se može isporučiti posle konačnog broja skokova !!! Predavanja
Usmeravanje najkraćom putanjom Algoritam pronalazi najkraći put Brojanje skokova Merenje rastojanja Kašnjenje probnog paketa izazvano čekanjem u redu i samim prenosom Algoritmi rutiranja u funkciji rastojanja, propusnog opsega, prosečnog saobraćaja, cene komuniciranja, registrovanog kašnjenja, srednje dužine redova čekanja Predavanja
Plavljenje (flooding) Statički algoritam Svaki dolazni paket se šalje na sve izlazne linije, osim na onu sa koje je došao Generiše se veliki broj duplikata, ali se oni prigušuju Brojač skokova u zaglavlju svakog paketa. Kada padne na 0, paket se odbacuje Svaki paket može da ima svoj redni broj. Ruteri vode računa da ne šalju pakete koji su već prošli Jedan brojač: paketa koji su već došli Plavljenje je neprikladan način usmeravanja, ali Uvek se pronalazi najkraća putanja Predavanja
Usmeravanje na osnovu vektora razdaljine Distance vector routing Dinamički algoritam Uzima se u obzir trenutno opterećenje mreže Ruter održava tabelu sa najkraćim poznatim rastojanjima do svakog odredišta linijama preko kojih se do odredišta može stići Ruter ažurira tabele razmenjujući informacije sa susednim ruterima Korišćen je u Internetu pod imenom RIP (Routing Information Protocol) Predavanja
Usmeravanje na osnovu vektora razdaljine Svaki ruter održava indeksiranu tabelu svih rutera u mreži Za svaki ruter postoji: najpovoljnija izlazna linija procenjeno vreme ili rastojanje za stizanje do njega Dužina puta se meri: brojem skokova, kašnjenjem u ms ukupnim brojem paketa u redu čekanja na putanji Predavanja
Usmeravanje na osnovu vektora razdaljine Rastojanje u skokovima: do svakog suseda je tačno 1 Merenje kašnjenja: Ruter šalje spec. paket ECHO, kome primalac dodaje vremensku oznaku i vraća ga nazad Susedni ruteri svakih T sekundi razmenjuju listu procenjenih kašnjenja do njih Predavanja
Usmeravanje na osnovu vektora razdaljine A B C D E F G H I J K L Predavanja
Usmeravanje na osnovu vektora razdaljine Algoritam daje optimalno rešenje Problem beskonačnosti (count-to-infinity problem) Kada ruter X saopšti ruteru Y da ima putanju do nekog odredišta, on ne zna da li se i sam nalazi u njoj Ovakvo usmeravanje je korišćeno u ARPANETu do 1979. godine Problemi u korišćenju su postali izraženi kada su se na pojedinim pravcima drastično povećale brzine Sporo se postizala uravnoteženost mreže Loše se tretira opterećenje na linijama Zamenjeno je usmeravanjem na osnovu stanja veze Predavanja
Usmeravanje na osnovu stanja veze (Link state routing) Svaki ruter treba da: otkrije susede i sazna nihove mrežne adrese izmeri vremensko rastojanje ili troškove slanja do svog suseda napravi paket sa podacima koje do tog trenutka ima taj paket pošalje svim ruterima izračuna najkraću putanju do svakog rutera Eksperimentalno utvrđena topologija mreže i kašnjenje do svakog odredišta distribuira se svim ruterima Predavanja
1. Otkrivanje suseda Po uključenju rutera šalje se specijalni pozdravni paket HELLO – za predstavljanje – obaveštenje o susedima Imena (adrese) moraju da budu globalno jedinstvena D D A C B B C A LAN LAN Predavanja LAN mreža se može posmatrati kao novi čvor
2. Merenje troškova slanja do suseda Ruter šalje specijalni paket ECHO Druga strana vraća taj paket čim ga primi Prvi ruter izmeri vremena, podeli sa 2 i ima traženu procenu Procene su tačnije ako se postupak ponovi više puta Pri merenjima putanja mogu se uneti i opterećenja za pojedine linije Ovo nekada može da izaziva oscilovanje - nestabilnost Predavanja
3. Formiranje paketa sa stanjem veze Paket za razmenu sadrži: Identifikacija pošiljaoca Redni broj Starost Lista suseda, sa kašnjenjem do svakog od njih Ovakvi paketi se prave periodično Predavanja
4. Distribucija paketa sa stanjem veze Distribucija je mehanizmom plavljenja Svaki novi paket se distribuira na sve linije sem na dolaznu Ako je u pitanju duplikat, on se odbacuje Primenjuju se 32-bitni redni brojevi Izbegavanje zabune sa lažnim duplikatima Primenjuje se starost Izbegavanje lutanja paketa i odbacivanje duplikata Predavanja
5. Izračunavanje novih putanja Na osnovu prikupljenih podataka računa se graf celokupne mreže Za podmreže koje imaju n rutera i k suseda, neophodno je smeštati podataka proporcionalno memoriji veličine kn Predavanja
Algoritmi za dinamičko rutiranje - sumarno Vektor udaljenosti Koristi najmanji broj skokova za donošenje odluke o rutiranju Routing Information Protocol (RIP) Link State Koriste se različite informacije (sofisticiran) Npr.Broj skokova, opterećenost, brzina veze ... Vrši se periodična razmena stanja veze između čvorova kako bi informacije bile aktuelne Predlaže se najpouzdanija i najsvežija informacija o putanji do odredišta Koristi gaOpen Shortest Path First (OSPF) Predavanja
Hijerarhijsko rutiranje Kada mreža raste – raste i broj rutera Troše se memorija kod rutera, kao i vreme obrade Rutiranje se organizuje hijerarhijski (kao u telefonskoj mreži) Ruteri se dele u oblasti (regions) Svaki ruter zna sve o rutiranju u njegovoj oblasti Predavanja
Protokoli za rutiranje Internet je sačinjen od velikog broja autonomnih sistema U svakom od sistema se može koristiti sopstveni algoritam za usmeravanje Važnost standardizacije interfejsa na granicama autonomnih sistema Algoritam za rutiranje unutar autonomnog sistema – unutrašnji protokol za mrežni prolaz (Interior gateway protocol) Algoritam za usmeravanje između autonomnih sistema – spoljni protokol za mrežni prolaz (Exterior gateway protocol) Predavanja
Protokoli za rutiranje • Autonomni sistem je skup mreža koje imaju zajednički domen upravljanja • (administrative domain). • U autonomnom sistemu se primenjuje IGPs. • Povezivanje autonomnih sistema se vrši preko EGPs. Predavanja
Protokoli za rutiranje Unutrašnji gateway protokoli IGP: Routing Information Protocol (RIP) Interior Gateway Routing Protocol (IGRP) Enhanced Interior Gateway Routing Protocol (EIGRP) Open Shortest Paht First (OSPF) Spoljašnji gateway protokoli EGP Exterior Gateway Protocol i Border Gateway Protocol 18.9.2014. Predavanja 48
IGP Razmenjuju informacije o rutiranju između rutera koji pripada istom AS 18.9.2014. Predavanja 49
OSPF- Open Shortest Path First Prvobitni unutrašnji protokol za mrežni prolaz je bio RIP – zasnovan na vektoru razdaljine OSPF - Otvoreni protokol najkraće putanje, standard od 1990. godine za rutere na Internetu Standard RFC 2328 OSPF dozvoljava da se jedan autonomni sistem deli na oblasti – pomaže efikasnost rutiranja Različite vrste rutera: interni, granični, kontrolni, ruteri okosnice i sl. Predavanja