Professional Documents
Culture Documents
RM1.06. Rutiranje PDF
RM1.06. Rutiranje PDF
6. deo: Rutiranje
Predavač:
dr Slavko Gajin, slavko.gajin@rcub.bg.ac.rs
Autori:
dr Slavko Gajin
2009. god
1
ETF, Katedra za računarsku tehniku i informatiku
Ruteri
• Ruter (router, gateway) – komunikacioni uređaj koji radi na L3 nivou
(obuhvata i L2 i L1 nivo)
– primaju pakete na ulazni port, ispituju odredišnu IP adresu iz hedera paketa i
određuju izlazni port na najboljem putu do odredištima
• Ruteri koriste tabele rutiranja – routing table
2
ETF, Katedra za računarsku tehniku i informatiku
1
Ruteri
• Interfejsi (portovi) rutera
– fizičke utičnice za povezivanja na mrežu i linkove
• Vrste interfejsa na L2 nivou:
– LAN – Ethernet, FastEthertnet, GigaEthernet
– Serijski – Smart Serial (do 2Mbps)
– PoS – Packet Over Sonet – SDH digitalne veze
– Logički – Loopback – softverski interfejs posebne namene (npr. ruter ID)
• Vrste interfejsa na L1 nivou :
– RJ-45
• za UTP kablove (Ethernet)
• E1- digitalne veze 2 Mbps (G.703)
– Smart Serial (ranije DB-60) – serijske veze do 2 Mbps
– koaksijalni – za SDH veze brzina većih od 2 Mbps
– gaigabitski moduli (optički i UTP)
• GBIC – Gigabit Interface Card - prethodni standard za 1Gbps Ethernet
• SFP – Small Form-factor Pluggable - aktuelni standard za 1Gbps Ethernet
3
ETF, Katedra za računarsku tehniku i informatiku
Ruteri
• Interfejsi imaju:
– Naziv
• simboličko ime vrste interfejsa (Serial, FastEthernet, PoS...)
• numerička oznaka (indeks) interfejsa (modul/kartica/port)
– IP adresa
– MAC adresa – za LAN portove
– SNMP ID
jedinstveni
indeks (broj)
koji identifikuje
interfejs
4
ETF, Katedra za računarsku tehniku i informatiku
2
Default gateway
• IP komunikacija
– unutar iste podmreže – obavlja se direktno
– između različitih podmreža – preko rutera
• Default gateway – predefinisani izlaz iz podmreže za IP pakete
– port rutera koji pripada podmreži za koju predstavlja predefinisani izlaz
5
ETF, Katedra za računarsku tehniku i informatiku
Default gateway
• Hostovi na IP nivou imaju definisano:
– IP adresu, masku i default gateway
6
ETF, Katedra za računarsku tehniku i informatiku
3
Default gateway
Primer:
• host 192.168.2.30/24 šalje paket za hosta 192.168.5.6/24
– izvorišna i odredišna IP adrese ne pripadaju istoj podmreži
– odredište se nalazi u drugoj LAN mreži “iza” jednog ili više rutera
– paket se šalje izlazni ruter (default gateway) da se pobrine za njega
192.168.2.1/24
7
ETF, Katedra za računarsku tehniku i informatiku
Next-hop
• Next-hop – IP adresa susednog rutera (interfejs na zajedničkom linku
ili LAN mreži)
• Definiše se u odnosu na određeni ruter i mreže koje se preko next-hop-a
mogu dosegnuti
– “sledeći korak od trenutnog rutera na putu prema određenoj mreži”
• Za mreže 10.1.1.0/24 i 10.1.2.0/24, na ruteru A,
next-hop je 192.168.2.2/24
Router A
8
ETF, Katedra za računarsku tehniku i informatiku
4
Tabela rutiranja
• Svaki ruter poseduje svoju tabelu rutiranja (ruting tabelu, routing table)
• Ruta – uređeni par oblika (mreža, next-hop)
– mreža – adresa mreže ili podmreže kojoj se mogu slati paketi
– next-hop - adrese rutera kome se prosleđuju paketi za odredišta na uparenim
mrežama (podmrežama)
• Tabela rutiranja sadrži rute za određene mreže - “ruterov pogled na ostatak
mreže”, ali i druge kontrolne podatke (metrika, vreme važenja rute...)
• Tabela rutiranja utiču samo na odlazni saobraćaj u odnosu na
pripadajući ruter
9
ETF, Katedra za računarsku tehniku i informatiku
Principi rutiranja
• Tri principa rutiranja:
1. Svaki ruter samostalno donosi odluku o rutiranju, na osnovu informacija iz svoje
ruting tabele
2. Različite ruting tabele mogu imati različite podatke
3. Ruting tabele mogu dati odgovor na koju stranu proslediti paket prema
odredištu, ali ne utiču na povratni put
– Posledica:
– Paketi se rutiraju kroz mrežu od jednog rutra do drugog (hop-by-hop)
– Paketi se nezavisno rutiraju u oba smera - do odredišta mogu da idu po jednom
putu, a da se vraćaju po drugom – asimetrično rutiranje
10
ETF, Katedra za računarsku tehniku i informatiku
5
Statičke rute
• Statičke rute (Static Routes)
– Manuelno konfigurisanje ruta za određene mreže
– “koristi next-hop 192.168.2.2 za mrežu 1.1.1.0/24”
• Osobine:
– prednosti: jednostavno, ne zahteva dodatne resurse, sigurnije
– nedostaci – promene u mreži zahtevaju manuelnu rekonfiguraciju na većem
broju uređaja, neskalabilno za veće mreže
11
ETF, Katedra za računarsku tehniku i informatiku
Dinamičke rute
• Ruteri koriste određene protokole rutiranje, pomoću kojih automatski razmenjuju
informacije o mrežama (routing updates)
• Osobine:
– skalabilno – prilagođavaju se promenama u mreži
– zahteva pažljivi dizajn mreže i adresnog prostora, usaglašene konfiguracije ruteta...
12
ETF, Katedra za računarsku tehniku i informatiku
6
Razlike između statičkog i dinamičkog
rutiranja
• Statičke rutiranje
– unose se za svaku podmrežu i na svakom ruteru
– neskalabilno - dodavanjem jedne podmreže moraju se konfigurisati statičke ruter na
svim ruterima
– neadaptivno - u slučaju prekida nekih veza, statičko rutiranje neće pronaći
alternativni put do odredišta
– ponekad je korisno za pojedine specifične slučajeve, privremeno testiranje,
pojedinačne mreže itd.
• Dinamičko rutiranje
– adaptivno - ruting protokoli razmenjuju informacije o trenutnom stanju na linkova i
prilagođavaju se promeni topologije
– skalabilno – dodavanjem nove podmreže, ruta do nje će se automatski propagirati
do ostalih rutera, bez potrebe za konfiguracijom ostalih rutera
– primenjuje se u svim iole većim mrežama
13
ETF, Katedra za računarsku tehniku i informatiku
7
Primer statičke i default rute
• Statička ruta definisana prema mreži samo sa samo jednom vezom sa
ostatkom mreže (stub network)
• Default ruta definisana od stub podmreže da pokazuje na jedinu vezu sa
ostatkom mreže
15
ETF, Katedra za računarsku tehniku i informatiku
16
ETF, Katedra za računarsku tehniku i informatiku
8
Broadcast domeni
• Kolizioni domeni
– segmenti LAN mreža između svičeva (L2 nivo)
– na ovom segmentima se prenose paketi i može da dođe do kolizije
• Broadcast domeni
– segmenti mreža između rutera (L3 nivo)
– na ovom segmentima propagira L2 brodkast paket (adresa FFFF.FFFF.FFFF)
– “obični” (unikast) L2 paketi se na svičevima blokiraju na svim portovima, sem na
portu prema odredištu
– L2 brodkast je namenjen za celu L2 mrežu - paketi se na svičevima prosleđuju
na sve portove, ali se blokiraju na portovima rutera (granica L2 mreže)
17
ETF, Katedra za računarsku tehniku i informatiku
Broadcast domeni
18
ETF, Katedra za računarsku tehniku i informatiku
9
Broadcast domeni
19
ETF, Katedra za računarsku tehniku i informatiku
20
ETF, Katedra za računarsku tehniku i informatiku
10
ARP
• ARP – Address Resolution Protocol
– automatsko određivanje MAC adrese na osnovu IP adresa na istoj podmreži
– održavanje ARP tabele (ARP keš)
• uparene MAC adrese i IP adrese
• vremenske oznake (timestamp) – označavaju vreme validnosti podataka u tabeli
• ARP sprovode svi IP uređaji na LAN mreži (hostovi, ruteri, štamači...)
• Kada host ili ruter treba da pošalje IP paket, a u ARP tabeli nema podataka o
pripadajućoj MAC adresi:
– šalje se brodkast okvir ARP request sa navedenom IP adresom
– svi primaju ovaj okvir, ažuriraju ARP tabelu sa IP i MAC adresom pošiljaoca i
upoređuju svoje IP adrese sa navedenom
– host koji prepozna svoju IP adresu u ARP request paket, odgovara slanjem unikast
ARP reply paketa do hosta koji je inicirao ARP upit
– početni host prima ARP reply paket, saznaje MAC adresu i upisuje je u ARP tabelu
– u slučaju da se niko ne odazove na ARP request poruku, ARP javlja grešku IP nivou –
L2 sloj ne može da pošalje IP poruku
21
ETF, Katedra za računarsku tehniku i informatiku
ARP
• Primer – korak 0, inicijalno stanje:
– host A ima u ARP tabeli IP i MAC adresu hosta C
– host A treba da pošalje paket van LAN mreže
– paket treba da se pošalje do default gateway-a
– host A zna IP adresu default gateway-a, ali ne i MAC adresu
22
ETF, Katedra za računarsku tehniku i informatiku
11
ARP
• Primer – korak 1
– host A šalje brodkast ARP request sa IP adresom od default gateway-a
– svi uređaji na LAN mreži primaju ovaj paket i upoređuju svoje IP adrese sa
adresom navedenom u ARP request paketu
23
ETF, Katedra za računarsku tehniku i informatiku
ARP
• Primer – korak 2
– default gateway prepoznaje svoju IP adresu u ARP request paketu
– default gateway šalje unikast ARP reply paket hostu A
24
ETF, Katedra za računarsku tehniku i informatiku
12
ARP
• Primer – korak 3
– host A prima ARP reply paket
– izvorišna adrese L2 okvira ovog paketa je MAC adresa default gateway-a
– host A upisuje IP i MAC adresu u ARP tabelu
25
ETF, Katedra za računarsku tehniku i informatiku
ARP
• Primer – korak 4
– host A šalje IP paket za adresu van LAN mreže (172.16.0.10)
– paket se enkapsulira u L2 okvir sa odredišnom MAC adresom od
default gateway-a
– default gateway prima okvir, raspakuje ga na L3 nivo, rutira ga do sledećeg
rutera....
26
ETF, Katedra za računarsku tehniku i informatiku
13
Format ARP paketa
• ARP je protokol L3 nivoa
• ARP poruka se enkapsulira u L2 nivo (npr. Ethernet) – ARP ne gleda MAC
adrese L2 Ethernet okvira, već polja u ARP paketu
• ARP request
– Sender HA (hardware address) – MAC adresa pošiljaoca
– Target HA – prazno za ARP request, MAC adresa koja se traži
• ARP reply
– Target IP i Target HA – adrese kome se šalje paket
– Sender IP i Sender HA – adrese pošiljaoca – MAC adresa koja se tražila
ARP
• ARP automatski sprovode svi IP uređaji na LAN mreži (hostovi, ruteri, štampači)
• ARP tabele se mogu izlistati ili obrisati:
– hostovi - Windows XP:
• arp -a
– interfejsi rutera (default gateway) C:\>arp -a
Interface: 147.91.4.8 --- 0x60003
• show arp Internet Address Physical Address Type
• clear arp 147.91.4.1 00-1b-90-41-78-00 dynamic
147.91.4.48 00-e0-18-3e-09-c9 dynamic
147.91.4.50 00-0b-cd-38-79-cb dynamic
147.91.4.58 00-60-b0-ef-90-ba dynamic
28
ETF, Katedra za računarsku tehniku i informatiku
14
Rutiranje
• Ruteri su uređaji trećeg nivoa – ali rade i na L1 i L2 nivou
• Viši slojevi hostova pakete enkapsuliraju u L3, zatim L2 i L1 nivo
• Ruteri na interfejsima primaju pakete na L1 i L2 nivou i raspakuju do L3 nivoa
• Rutiranje u mreži – prosleđivanje paketa od izvorišta do odredišta
• Rutiranje na nivou rutera (switching) – prosleđivanje paketa sa ulaznog interfejsa rutera na izlazni -
na osnovu odredišne IP adrese (dst)
• Prilikom rutiranja paketa:
– IP adrese (src i dst) NIKADA se ne menjaju – IP paket (skoro) neizmenjen
– MAC adrese (src i dst) UVEK se menjaju (raspakuju na ulazu i enkapsuliraju na izlazu u novi okvir)
29
ETF, Katedra za računarsku tehniku i informatiku
Rutiranje
• Primer – korak 1: PC1 šalje paket za PC2
– src=192.168.1.10/24 i dst=192.168.4.10/24 pripadaju različitim mrežama
– L3 paket: src=192.168.1.10 (PC1), dst=192.168.4.10 (PC2)
– PC1 gleda ARP tabelu i nalazi MAC adresu od default gateway-a: IP 192.168.1.1 – MAC 00-10
(MAC adrese su u ovom primeru prikazane u pojednostavljenom obliku !!)
– enkapsulacija u L2 okvir:
src=0A-10 (PC1), dst=00-10 (R1.Fa0/0), protocol type: 0x800 (IP)
30
ETF, Katedra za računarsku tehniku i informatiku
15
Rutiranje
• Primer – korak 2: Rutiranje u R1
– L1 nivo: R1 prima okvir i prepoznaje svoju MAC adresu u dst polju
– L2 nivo: proverava se CRC, raspakuje se i izdvaja se data - L3 paket
– L3 nivo: izdvaja se dst IP adrese, gleda se ruting tabela i nalazi se
next-hop adresa 192.168.2.2 (R2)
– Gleda se ARP tabela za adresu 192.168.2.2 – MAC 0B-31
– L3 paket sa neizmenjenim src i dst IP adresama se re-enkapsulira u novi L2 okvir: src=00-20
(R1.Fa0/1), dst=0B-31 (R2.Fa0/0)
31
ETF, Katedra za računarsku tehniku i informatiku
Rutiranje
• Primer – korak 3: Rutiranje u R2
– L1 nivo: R2 prima okvir i prepoznaje svoju MAC adresu u dst polju
– L2 nivo: proverava se CRC, raspakuje se i izdvaja se data - L3 paket
– L3 nivo: izdvaja se dst IP adrese, gleda se ruting tabela i nalazi se
next-hop adresa 192.168.3.2 (R3)
– R3 je direktno povezan preko serijskog porta S0/0/0 – ne gleda se ARP
– L3 paket sa neizmenjenim src i dst IP adresama se re-enkapsulira u novi L2 okvir: npr.
HDLC ili PPP
32
ETF, Katedra za računarsku tehniku i informatiku
16
Rutiranje
• Primer – korak 4: Rutiranje u R3
– L1 nivo: R3 prima okvir preko serijskog interfejsa S0/0/0
– L2 nivo: proverava se CRC, raspakuje se i izdvaja se data - L3 paket
– L3 nivo: izdvaja se dst IP adrese, gleda se ruting tabela i nalazi se
da je dst direktno povezan – na istoj mreži kao Fa0/0 interfejs
– R3 gleda ARP tabelu na Fa0/0 interfejs za adresu 192.168.4.10 i nalazi MAC adresu 0B-20
(PC2)
– L3 paket sa neizmenjenim src i dst IP adresama se re-enkapsulira u novi L2 Ethernet okvir
okvir: src=0C-22 (R3.Fa0/0), dst=0B-20 (PC2)
33
ETF, Katedra za računarsku tehniku i informatiku
Rutiranje
• Primer – korak 5: Prijem paketa u PC2
– L1 nivo: PC2 prima okvir i prepoznaje svoju MAC adresu u dst polju
– L2 nivo: proverava se CRC, raspakuje se i izdvaja se data - L3 paket
– L3 nivo:
• izdvaja se dst IP adrese i prepoznaje se kao lokalna adresa (PC2)
• izdvaja se L4 poruka, prepoznaje se tip protokola i njemu se prosleđuje poruka
– L4 nivo: vrše se provere na L4 nivou (TCP/UDP), izdvajaju se podaci, prepoznaje se tip višeg
nivao (odredišni “TCP/UDP port”) na osnovu čega se podaci prosleđuju odgovarajućim
aplikacijama – email, WWW, DNS...
34
ETF, Katedra za računarsku tehniku i informatiku
17
Rutiranje
• Ruting tabela za određeni dst može da sadrži više ruta sa mrežama sa različitim
maskama (agregirane mreže i podmreže)
• Pravilo “more specific”, “longest match”:
– bira se ruta za mrežu sa najvećim prefiksom (maskom)
35
ETF, Katedra za računarsku tehniku i informatiku
Fragmentacija IP paketa
• MTU (Maximum Transmition Unit)
na L2 nivou
– ograničava veličinu L2 okvira
– šta ako je IP paket veći od MTU
ne može da stane u okvir ...
• Fragmentacija
– podela jednog IP paketa na više manjih IP paketa
• IP heder
– polje Fragment Offset – relativni pomeraj podataka iz jednog fragmenta u odnosu
na podatke iz originalnog IP paketa u jedinicama od 8 bajta
– polje Flags (control bits)
• Flag MF – More Fragment
1 – nije poslednji fragment originalnog paketa
0 – poslednji fragment originalnog paketa
• Flag DF – Don’t Fragment
1 – zabranjuje se fragmentacija
0 – dozvoljava se fragmentacija
– polje Identification – svaki IP paket ima jedinstveni ID od 16 bita
• svi fragmenti imaju isti ID – pripadaju istom originalnom IP paketu
36
ETF, Katedra za računarsku tehniku i informatiku
18
Fragmentacija IP paketa
• Fragmentacija
– ako je MTU manji od veličine paketa i DF nije setovan
– niz podataka se deli na dva ili više delova koji zajedno sa hederom mogu da se
uklope u MTU
– dužina svakog dela podataka mora biti umnožak od 8 bajtova, osim poslednjeg
– svaki deo podataka se enkapsulira u posebne IP pakete
• setuje se MF bit za sve fragmente sem za poslednji
• Fragment Offset se postavlja na relativni pomeraj od početka originalnog niza podataka u
jedinicama od 8 bajtova
• Header Length (IHL), Packet Length i Checksum se preračunavaju
• ostala polja se kopiraju, uključujući ID
• Fregmentirani IP paket se može ponovo
Total Fragment
fragmentirati po istim principima MF Ident.
Length Offset
• Primer
Originalni paket 4000 bajta 0 4000 0 ID1
Fragmentacija IP paketa
• Reasembling (reassembling)
objedinjavanje svih podataka iz fragmenata u originalni niz podataka iz
prvobitnog IP paketa
• Prilikom prijema IP paketa sa setovanim MF bitom sprovodi se sledeće:
– alocira se bafer
– startuje se tajmer – maks. vreme čekanja da pristignu svi fragmenti
• vreme može biti predefinisano, u zavisnosti od implementacije (npr. 60 sek)
• vreme se može prenositi u opcionim poljima IP hedera
– prikupljaju se svi IP paketi sa istim ID poljem i izdvajaju se pripadajući podaci
– na osnovu polja Fragment Offset rekonstruiše se originalni niz podataka
– poslednji fragment se prepoznaje po resetovanom MF flegu
– u slučaju da ne stignu svi fragmenti tokom trajanja tajmera, ili je oštećen bar
jedan fragment, integralni podaci iz originalnog IP paketa se ne mogu
rekonstruisati i odbacuju se u celini
38
ETF, Katedra za računarsku tehniku i informatiku
19
ICMP
• ICMP – Internet Control Message Protocol
– protokol koji služi za slanje kontrolnih poruka o radu IP mreže (npr. o grešakama
prilikom rutiranja)
– koriste ga ruteri i hostovi
• ICMP poruka se enkapsulira se u IP poruku, ali se ne smatra protokolom L4
nivoa, jer ne služi za transport aplikativnih podataka
• Tipovi ICMP poruka
– Destination Unreachable
– Time Exceeded
– Redirect
– Echo Request, Echo Reply
39
ETF, Katedra za računarsku tehniku i informatiku
40
ETF, Katedra za računarsku tehniku i informatiku
20
ICMP - Redirect
• Ruter šalje izvorišnom hostu ICMP redirect poruku, da ga obavesti da koristi
drugi geteway, koji ima bolju rutu do specificiranod odredišta
• Ruter ne odbacuje originalni paket, već ga prosleđuje do dugog ruteta
• Host može da ignoriše ICMP redirect poruke
• Primer:
– 1. host šalje paket za mrežu 10.1.4.0 ruteru B, koji je default-gateway
– 2. ruter B prosleđuje paket ruteru A
– 3. ruter B šalje ICMP redirect poruku hostu
– 4. host sledeće pakete za mrežu 10.1.4.0 šalje direktno na ruter A
41
ETF, Katedra za računarsku tehniku i informatiku
42
ETF, Katedra za računarsku tehniku i informatiku
21
ICMP Echo Request/reply - ping
• Host/ruter može da pošalje ICMP Echo Request na proizvoljnu IP adresu
• Uređaj koji primi ICMP Echo Request paket, odgovara izvorišnom uređaju
sa ICMP Echo Reply paketom
• Ping komanda (Windows, Linux, ruteri)
– šalje određeni broj ICMP Echo Request paketa
– prihvata ICMP Echo Reply pakete u odgovorima
– kao rezultat daje broj poslatih i primljenih paketa, procenat izgubljenih paketa,
vreme između slanja i prijema paketa (Round Trip Time)
43
ETF, Katedra za računarsku tehniku i informatiku
Ping
• Osnovni servis za proveru rutiranja, odnosno dostupnosti IP uređaja na
mreži (reachability)
amres-core-R>ping www.google.com
Translating "www.google.com"...domain server (147.91.1.5) [OK]
Sending 5, 100-byte ICMP Echos to 64.233.183.104, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 32/33/36 ms
amres-core-R>
22
Traceroute
• Ping komanda
– pokušava da nađe put do odredišta i nazad, i o tome izveštava korisnika
– korisnika ne zna kojim putem je paket prošao u jednom i drugom smeru
• Traceroute komanda
– proverava put prenosa paketa u smeru od korisnika do zadate IP adrese
• Traceroute na ruterima koristi UDP i IP protokole prenosa
• Traceroute se zadaje do određene IP adrese do koje se želi proveriti put
rutiranja paketa
– u prvom koraku TTL polje IP headera se postavlja na 1 – prvi ruter na putu
odbacuje paket, i korisniku se šalje ICMP Time Exceeded poruka
– u svakom sledećem koraku šalje se isti paket sa vrednošću TTL polja uvećanom
za 1 – paket će doseći sledeći ruter na put do odredišta, kada se ponovo
odbacuju, a korisnik se obaveštava slanjem ICMP Time Exceeded poruke
– UDP port slučajno izabrana velika vrednost koja je malo verovatna da se koristi
na odredišnom hostu
– kada paket dođe do odredišnog hosta, UDP port neće biti prepoznat i šalje se
ICMP port unreachable poruka, koja označava uspešan kraj traceroute komande
45
ETF, Katedra za računarsku tehniku i informatiku
Traceroute
• Traceroute na ruterima koristi UDP i IP paketa
• Traceroute na Windows računarima koristi ICMP echo pakete
• Moguće različito ponašanje u zavisnosti od dozvola ili zabrana ICMP i UDP
paketa
46
ETF, Katedra za računarsku tehniku i informatiku
23
Traceroute
• Šalju se po 3 paketa u svakom koraku
• Prikazuje se RTT vreme za svaki poslati paket
• Primer
– Windows: tracert
– Linux: traceroute
– Cisco: traceroute
47
ETF, Katedra za računarsku tehniku i informatiku
24
Literatura
• CCENT/CCNA ICND1,
official exam certification guide,
Wendell Odom, Cisco Press, 2008
• www.wikipedia.org
49
ETF, Katedra za računarsku tehniku i informatiku
25