35
Rutiranje - osnove Mr Nenad Krajnović [email protected]

Mr Nenad Krajnovićtelekomunikacije.etf.bg.ac.rs/predmeti/ot4ai/rutiranje...– Improvizovani (embedded) - računar opšte namene koji i rutira. • Bez obzira na realizaciju, svaki

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Rutiranje - osnove

Mr Nenad Krajnović[email protected]

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.

9

Proces rutiranja paketa

FiziFiziččki slojki slojMACMAC

IPIP

IP datagram

IP datagramMAC

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

30

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

Rutiranje - osnove

Mr Nenad Krajnović[email protected]