Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
2
Šta je rutiranje?
• Proces prosleđivanja datagrama od jednog do drugog rutera u složenoj mreži sa ciljem dovođenja datagrama do odredišne mreže
• Rutiranje se obavlja na osnovu tabele rutiranja
• Tabela rutiranja je baza podataka o dostupnosti pojedinih mreža
• Rutiranje obavljaju ruteri
3
Funkcije rutera
Ruter - usmerava IP datagrame sa jednog interfejsa na drugi u zavisnosti od odredišne IP adrese u zaglavlju IP datagrama i podataka u tabeli rutiranja.
• Ruter može biti:– Namenski (dedicated) - računar koji obavlja isključivo rutiranje.– Improvizovani (embedded) - računar opšte namene koji i rutira.
• Bez obzira na realizaciju, svaki ruter mora da poštuje standarde!• RFC 1812 - Specifikacija tehničkih zahteva za IPv4 rutere (dopunjena u RFC
2644).• Rutiranje se obavlja na osnovu informacija u tabelama rutiranja.• Tabele rutiranja moraju da budu uvek ažurne.• Razmenu sadržaja tabela rutiranja obavljaju protokoli za dinamičko rutiranje
saobraćaja.• Tabele rutiranja mogu da se formiraju i ručno u nekim slučajevima
4
Prosleđivanje datagrama (forwarding)
• Dekapsulacija (izdvajanje) iz data-link layer paketa (npr. Ethernet paketa).• Analiza ispravnosti zaglavlja IP datagrama na osnovu kontrolne sume.• Analiza opcija za IP (source routing, record route, etc.)• Izdvajanje odredišne adrese iz IP datagrama (npr. 147.91.8.55)• Donošenje odluke o daljoj putanji datagrama na osnovu odredišne adrese i tabele
rutiranja.• Ako je odredište sam ruter, dalju obradu datagrama vrši oper. sistem rutera.• Ako je odredište van rutera, po potrebi se vrši fragmentacija datagrama radi
prilagođenja njegove dužine mrežnoj tehnologiji interfejsa na koji se upućuje.• Datagram se potom prosleđuje (forwarding) na određeni interfejs rutera radi daljeg
usmeravanja kroz mrežu ka sledećem čvoru (next hop)• Donošenje odluke o izlaznom interfejsu na osnovu podataka u tabeli rutiranja.• Provera access liste na ruteru/interfejsu da se proveri da li datagram može da bude
prosleđen ili treba da bude odbačen.• Ruter umanjuje vrednost TTL polja (TTL=TTL-1) pre njegovog prosleđivanja (ako je
TTL=0 datagram se odbacuje).• Na samom interfejsu pozivaju se funkcije data-link sloja, datagram se enkapsulira u
data-link paket i dalje prenosi korišćenjem odgovarajućeg protokola (Ethernet, PPP, HDLC ...) – određuje se MAC adresa za enkapsulaciju paketa
5
Slanje paketa sa računara
• Prvo mora da se utvrdi da li je odredište paketa lokalna mreža ili neka druga mreža
IP address: 10.5.7.14Netmask: 255.255.255.0Default gateway: 10.5.7.1
10.5.7.0/24
10.5.7.1
Odredišna IP adresa:192.168.1.10
11000000 10101000 00000001 00001010
11111111 11111111 11111111 00000000
11000000 10101000 00000001 00000000
192.168.1.0
Operacija: logičko I
≠
6
Slanje paketa sa računara
• Ako je lokalna mreža, posredstvom ARP protokola se utvrđuje MAC adresa odredišnog računara
• Ako je udaljena mreža, ARP-om se određuje MAC adresa rutera (default gateway-a) i njemu se šalje paket
7
FiziFiziččki slojki slojMACMAC
IPIP
Odredi-šna
MAC adresa
Izvori-šna
MAC adresa
poljetipa
paketa IP datagramPADokteti
CRC polje
Proces rutiranja paketa u ruteru
8
FiziFiziččki slojki slojMACMAC
IPIPIP datagram
Proces rutiranja paketaDonošenje odluke o izlaznom portu na osnovu odredišne IP adrese i sadržaja tabele rutiranja.
10
Rutiranje - opšti princip rada
B160.99.0.0/16
A147.91.0.0/16
C194.106.162.0/23
a b
c
d
Ka drugim mrežama
147.91.0.0/16 a160.99.0.0/16 b194.106.162.0/23 cdefault d
11
Analiza tabele rutiranja
• Tabelu rutiranja ruter pretražuje pre prosleđivanja datagrama.
• Ruta ka odredištu može da bude:– Preciznija (more specific)– Manje precizna (less specific)
• Pravilo: datagram se prosleđuje najpreciznijom putanjom.
• Primer za odredišnu adresu 10.91.12.6:– Ruta 10.91.12/2410.91.12/24 je preciznija od rute 10.91.8/2110.91.8/21– Ruta 10.91/1610.91/16 manje precizna od rute 10.91.12/2410.91.12/24– Ruta 10.91.12.6/3210.91.12.6/32 je u svakom sluje u svakom sluččajuaju najpreciznija!
12
Primer za odredišnu adresu 10.91.12.610.91.12.6
00001010 01011011 0000110000001010 01011011 00001100 0000000000000000 10.91.12/2410.91.12/24
00001010 0101101100001010 01011011 00000000 0000000000000000 00000000 10.91/1610.91/16
00001010 01011011 0000100001010 01011011 00001000 00000000000 00000000
00001010 01011011 00001100 0000011000001010 01011011 00001100 00000110 10.9110.91.12.6.12.6//3232
10.9110.91.8.8//2121
13
Analiza tabele rutiranja (2)
• Ako u tabeli rutiranja postoji eksplicitna putanja do odredišta (putanja sa prefiksom /32), datagram se upućuje tom putanjom!
• Ako u tabeli rutiranja postoji zapis čijih se vodećih m bita poklapa sa vodećim bitima odredišne adrese, datagram ide tamo.
• Ako u tabeli ne postoji adresa čiji se vodeći biti poklapaju sa odredišnom adresom, datagram ide ka default gateway putanji.
14
Izbor najpreciznije rute u tabeli (longest match routing rule)
• U tabeli može da se nalazi nekoliko ruta koje se preklapaju, tj. gde za jedno odredište postoji više ruta koje se poklapaju
• Ruter će uvek da izabere najprecizniju rutu (poklapa se najveći broj bita)
15
Izbor najpreciznije rute u tabeli (longest match routing rule)
• Primer – ako je sadržaj tabele rutiranja:DestinationDestination Next hopNext hop InterfaceInterface10.91.8.0 /21 10.91.254.9 Serial010.91.8.0 /21 10.91.254.9 Serial010.91.12.0 /22 10.91.254.13 Serial110.91.12.0 /22 10.91.254.13 Serial10.0.0.0 /0 10.91.250.1 Ethernet00.0.0.0 /0 10.91.250.1 Ethernet0
• Saobraćaj za 10.91.8.110.91.8.1 treba poslati na Serial0Serial0 interfejs• Saobraćaj za 10.91.14.110.91.14.1 treba poslati na Serial1Serial1 interfejs• Saobraćaj za 10.91.1.110.91.1.1 treba poslati na Ethernet0Ethernet0 interfejs
16
Primer jedne mreže sa ruterima
147.91.9.0/26
147.91.8.0/24
Eth1: 147.91.9.1/26Eth1: 147.91.9.1/26
Eth0: 147.91.8.77/24Eth0: 147.91.8.77/24serial0serial0
147.91.9.32147.91.9.32
147.91.9.30147.91.9.30
147.91.9.31147.91.9.31
17
Primer analize tabele rutiranja
Destination Gateway Netmask Interface0.0.0.0 147.91.9.32 0.0.0.0 Ethernet1147.91.8.0 147.91.8.77 255.255.255.0 Ethernet0147.91.9.0 147.91.9.1 255.255.255.192 Ethernet1147.91.9.64 147.91.9.31 255.255.255.192 Ethernet1147.91.9.251 147.91.9.30 255.255.255.255 Ethernet1147.91.241.0 0.0.0.0 255.255.255.0 Serial0
• Odredište =147.91.9.251 => interfejs Ethernet1; sledeća stanica: 147.91.9.30.• Odredište =147.91.9.67 => interfejs Ethernet1; sledeća stanica: 147.91.9.31.• Odredište =147.91.8.1 => interfejs Ethernet0, datagram se isporučuje direkno• Odredište =147.91.9.2 => interfejs Ethernet1, datagram se isporučuje direkno• Odredište =147.91.241.1 => interfejs Serial1, datagram se isporučuje direkno• Odredište =15.1.68.2 => interfejs Ethernet1, sledeća stanica: 147.91.9.32.
18
147.91.8.6
A B147.91.8.77 147.91.241.1 147.91.241.5
Tracing the Route ...
Destination Gateway Netmask Interface147.91.8.0 147.91.8.6 255.255.255.0 eth00.0.0.0 147.91.8.77 0.0.0.0 eth0
Destination Gateway Netmask Interface147.91.8.0 147.91.8.77 255.255.255.0 Ethernet0147.91.241.0 0.0.0.0 255.255.255.0 Serial0147.91.242.0 0.0.0.0 255.255.255.0 Serial10.0.0.0 147.91.9.1 0.0.0.0 Ethernet1
Destination Gateway Netmask Interface147.91.241.0 147.91.241.1 255.255.255.0 Ethernet00.0.0.0 0.0.0.0 0.0.0.0 Serial0
19
Sažimanje (agregacija) ruta (Route Aggregation)
147.91.8.0 147.91.8.0 -- 147.91.11.255147.91.11.255
10.91.8 10.91.8 /24/2410.91.9 10.91.9 /24/2410.91.1010.91.10 /23/23
10.91.8 /2210.91.8 /22
• Šta se dobija agregacijom ruta:– Čuva se memorija rutera– Minimizuje se količina routing informacija koje se razmenjuju između
rutera• Princip: nekoliko ruta koje imaju isti next hop se mogu sažeti u
jednu rutu sa manjom mrežnom maskom• Primer:
10.91.8/24
10.91.9/24
10.91.10/23
AA BB
20
UobiUobiččajene greajene grešške kod agregacije rutake kod agregacije ruta
10.91.8 /2210.91.8 /22 10.91.8/24
10.91.9/24
10.91.11/24
10.91.10/24
0.0.0.0 /00.0.0.0 /0
AABB
CC DD
Black hole:Black hole:10.91.10/2410.91.10/24
SAVET – Nikada ne treba agregirati one mrežekoje vam ne pripadaju ili nisu direktno dostupne !!!
21
Ispravna konfiguracija
10.91.8 /2310.91.8 /2310.91.11/2410.91.11/24 10.91.8/24
10.91.9/24
10.91.11/24
10.91.10/24
10.91.10/2410.91.10/240.0.0.0 /00.0.0.0 /0
AABB
CC DD
22
Statičko i dinamičko rutiranje
• Sa porastom mreže potrebno je redovno ažurirati tabelu rutiranja.• Ažuriranje može da bude ručno (static) ili naučeno dinamički:• Statičke rute:
– Unete od strane administratora rutera.– Idealne za ISP-a kada povezuje single-homed korisnika.– Loše rešenje za velike mreže.
• Dinamičko rutiranje:– Tabela rutiranja se ažurira pomoću informacija dobijenih od drugog rutera.– Protokoli rutiranja – koriste se za razmenu informacija o rutama između
rutera.– Loše rešenje za slabo kontrolisane mreže gde korisnici mogu da oglase đubre.
VAVAŽŽNO!NO! –– PProtorotokoli rutiranja ne rutiraju paketekoli rutiranja ne rutiraju pakete –– oni oni samo razmenjuju informacije o rutiranju i rutamasamo razmenjuju informacije o rutiranju i rutama
SaobraSaobraććaj se rutiraaj se rutira od straneod strane IP IP slojasloja!!!!!!
23
Statičke rute
• Ručno ih konfiguriše administrator rutera.
• Ne treba ih izbegavati kada daju efikasno rešenje!
• Nisu uvek fleksibilne ali rade šta treba!
• Tipična primena u mrežama ISP-a.
•• Uvek je bolje saobraUvek je bolje saobraććaj za aj za neiskusne korisnike rutirati neiskusne korisnike rutirati pomopomoćću statiu statiččkih ruta nego kih ruta nego im dozvoliti da oni im dozvoliti da oni oglaoglaššavaju kojeavaju koješšta!ta!
POPPOP--11
POPPOP--22
KorisniciKorisnici10.91.8 /2410.91.8 /24 10.91.9 /2610.91.9 /26 10.91.9.64 /2710.91.9.64 /27
10.91.1 /2310.91.1 /23
10.91.4 /2210.91.4 /22
StatiStatiččkeke ruterute
DDinamiinamiččkokooglaoglaššavanjeavanje10.91.8/2310.91.8/23
24
Dinamičko rutiranje
POPPOP--11 POPPOP--22
10.91 /1610.91 /16
OglaOglaššavanjeavanjeAAnnouncennounce10.91/1610.91/16
PrihvatanjePrihvatanjeAcceptAccept
10.91/1610.91/16
SaobraSaobraććaj sada moaj sada možže da se rutira kae da se rutira ka::10.91/1610.91/16
Pravila za oglaPravila za oglaššavanje i prihvatanje ruta su osnovniavanje i prihvatanje ruta su osnovnideo protokola za dinamideo protokola za dinamiččko rutiranje saobrako rutiranje saobraććajaaja!!
25
Protokoli rutiranja
• Protokoli rutiranja ne rutiraju pakete u mreži – to radi IP!• Protokoli rutiranja se koriste za razmenu informacija o rutama –
razmenjuju sadržaj tabela rutiranja između rutera u mreži.• U zavisnosti od načina rada, možemo ih podeliti na:
– Distance vector (npr. RIPv1, RIPv2)– Link-state (npr. OSPF)– Path vector (npr. EGP, BGP)
• U odnosu na zavisnost od IP adresnih klasa, možemo ih podeliti na:– Classful protokole (RIPv1; EGP, BGP-1, 2 i 3)– Classless protokole (RIPv2, OSPF, EIGRP; BGP-4)
26
Distance Vector protokoli
• U ovu kategoriju spadaju RIPv1 i RIPv2 protokoli• Svakom hop-u se dodeljuje fiksni faktor rastojanja.• Svaka routing update poruka sadrži vektor tipa (address, distance) para.• Ruter, koji primi update poruku, dodaje faktor rastojanja i šalje update dalje ka
ostalim ruterima (osim rutera od koga je primio update).• Da bi se izbegle petlje u rutiranju, maximalno dozvoljeno kumulativno rastojanje
je limitirano (15 za RIPv1 i RIPv2). Ovo je ozbiljno ograničenje u velikim mrežama!
• Konvergencija je drugi veliki problem za distance vector protokole.
1
1
2
11AA
BB
CC
DD
10.91.8.010.91.8.0
10.91.10.010.91.10.0
10.91.8.010.91.8.0 11
10.91.10.010.91.10.0 11
10.91.8.010.91.8.010.91.10.010.91.10.0
3322
10.91.8.010.91.8.010.91.10.010.91.10.0
4433
27
Link State protokoli
• U ovu kategoriju spadaju OSPF i IS-IS protokoli.• Svakom interfejsu rutera je dodat faktor cene.• Ruter šalje update poruku sa informacijom o stanju njegovih interfejsa, zajedno sa
faktorom cene.• Ruteri prime update poruke i na osnovu njih formiraju graf sa topologijom mreže• Ruteri računaju optimalnu putanju do odredišta pomoću formiranog grafa
topologije mreže.
R1 R2
R3
Network N
R4
8
10
2224
7R1 R2
R3R4
N
8
0
0
7
10 0
24
22
28
Path Vector protokoli
AS 286
AS 27
AS 5377
AS 3 AS 11
147.91 /16Path: 286
147.91 /16Path: 286
147.91 /16Path: 3 - 286
147.91 /16Path: 11 - 3 - 286
147.91 /16Path: 27 - 286
147.91 /16Path: 27 - 286
147.91 /16Path: 27 - 3 - 286
29
Routing protokoli - zbirno
Protocol Principle Application Network size limit
CIDR support
Route aggreg.
Security support
Underlying protocol
EGP Path vector
Exterior No No No No IP PROTO=8
BGP-4 Path vector
Exterior No Yes Yes Yes TCP PORT=179
RIPv1 Distance vector
Interior Yes No No No UDP PORT=520
RIPv2 Distance vector
Interior Yes Yes No Yes UDP PORT=520
OSPF Link state
Interior No Yes Yes Yes IP PROTO=89
31
Hijerarhija rutiranja na Internetu
• Internet je kompleksan sistem.• Savremeni Internet podrazumeva dvoslojno rutiranje.• Granica dva sloja definisana je pojmom autonomnog sistema.• Autonomni sistem - deo mreže, odnosno skup rutera, čiji nadzor,
upravljanje i održavanje obavlja jedna institucija, a između kojih se primenjuju identična pravila rutiranja.
• Interno rutiranje - usmeravanje datagrama unutar autonomnog sistema, precizno ka odredištu - mreži ili računaru unutar AS.
• Eksterno rutiranje - grubo usmeravanje datagrama između pojedinih autonomnih sistema - od polaznog ka odredišnom AS.
• Za razmenu tablica rutiranja relevantnih za ekst. odnosno int. rutiranje ruteri koriste različite protokole!
32
Autonomni sistem i njegova“okolina”
AS5377Border router
Ethernet
193.203.18.0/23
160.99.0.0/16
BeoTelNet
TaideNet
147.91.1.0 /24
AS 5479 AS 2614
AS 1800
AS5377
33
Interno rutiranje
• Rutiranje saobraćaja unutar autonomnog sistema.• Prosleđivanje datagrama precizno ka odredišnom računaru.• Sa stanovišta internog rutiranja, Internet je graf čiji su čvorovi
pojedini povezani računari unutar AS.• Podaci koji se prenose su adrese odredišnog računara/mreže,
adresa rutera ka odredištu i faktor cene (metric).• Faktor cene (metrika) zavisi od tehničkih parametara mreže
(protok na linku, broj linkova između dve tačke i slično)• Protokoli koji se koriste mogu se podeliti u dve kategorije:
– Distance vector - faktori cene pridružuju se pojedinim mrežama (RIPv1, RIPv2, IGRP, EIGRP).
– Link-state - faktori cene pridružuju se interfejsima rutera ka mreži (OSPF).
34
Eksterno rutiranje
• Rutiranje saobraćaja između autonomnih sistema.• Prosleđivanje datagrama od polaznog ka odredišnom AS.• Sa stanovišta eksternog rutiranja, Internet je graf čiji su čvorovi
pojedini AS.• Prosleđivanje datagrama precizno ka odredišnom računaru
obavljaju protokoli internog rutiranja.• Podaci koji se prenose su liste IP adresa dostupnih mreža unutar
jednog AS.• Postoji više protokola za razmenu informacija o rutiranju (GGP,
EGP, BGP), od čega se danas koristi isključivo BGP-4.• Parametri za izbor najbolje rute nisu tehničke prirode već
su administrativni