Escolar Documentos
Profissional Documentos
Cultura Documentos
Mrežni sloj
Computer Networking:
A Top Down Approach
Featuring the Internet,
3rd edition.
Jim Kurose, Keith Ross
Addison-Wesley, July
2004.
Ciljevi:
razumeti principe po kojima rade servisi
mrežnog sloja:
rutiranje (određivanje putanje)
skaliranje
kako ruter radi
IPv6, mobilnost
konkretni primeri i primena na Internet-u
datagrame
data link
physical network
data link
sloju
physical
physical
network
protokoli mrežnog sloja na data link
physical
application
transport
routing algorithm
vrednost u hederu
dolazećeg paketa
0111 1
3 2
setap poziva, za svaki poziv pre nego što podaci mogu da protiču
svaki paket nosi VC identifikator (ne odredišnu adresu hosta)
svaki ruter na putanji izvorište-odredište održava "stanje" za
svaku konekciju
resursi linka i rutera (širina opsega, baferi) mogu biti alocirani
virtuelnom kolu
12 22 32
1 2
3
1 12 2 22
2 63 1 18
3 7 2 17
1 97 3 87
… … … …
application
application
transport 5. Slanje podataka 6. Prijem podataka
transport
network
4. Povezivanje poziva 3. Prihvatanje poziva network
data link
1. Iniciranje poziva 2. Dolazeći poziv data link
physical
physical
application
application
transport
transport
network
network
data link 1. Send data 2. Receive data
data link
physical
physical
otherwise 3
Primeri
Internet ATM
razmena podataka između razvijen iz telefonije
računara
govorna komunikacija ljudi:
“elastic” servisi, ne zahteva
striktni tajming, pouzdanost
se striktni tajming-
vremenska ograničenja potreba garantovanog
servisa
“pametni” krajevi sistema
(računari) krajevi sistema
može da adaptira, izvršava telefoni
kontrolu, popravlja greške kompleksnost unutar mreže
prost unutar mreže,
kompleksan na “ivici”
više tipova linkova
različite karakteristike
Mrežni sloj 4-17/134
Poglavlje 4: Mrežni sloj
4. 1 Uvod 4.5 Algoritmi rutiranja
4.2 Virtuelna kola i Stanje linka
datagram mreže Distance vektor
Hijerarhijsko rutiranje
4.3 Šta je u unutrašnjosti
rutera 4.6 Rutiranje na Internet-u
RIP
4.4 IP: Internet protokol
OSPF
format datagrama
BGP
IPv4 adresiranje
ICMP 4.7 Difuzno rutiranje i
IPv6 rutiranje sa višestrukim
upućivanjem
Fizički sloj:
prijem na nivou bitova
Sloj veze podataka:
Decentralizovano komutiranje:
dato je odredište datagrama, traži se
npr. Ethernet izlazni port koristeći tabelu prosleđivanja
u memoriji ulaznog porta
cilj: kompletan ulazni port procesiran na
‘line speed’
stavljanje u red: ako datagrami stižu
brže od brzine prosleđivanja na switch
fabric
System Bus
en
Link layer
physical layer
fizičkog linka
ruteri tipično imaju više
interfejsa 223.1.3.1 223.1.3.2
host može imati više
interfejsa
IP adrese su pridružene
svakom interfejsu 223.1.1.1 = 11011111 00000001 00000001 00000001
223 1 1 1
približno 4 milijarde mogućih
IP adresa Mrežni sloj 4-35/134
Podmreže
IP adresa: 223.1.1.1
Prijem
Da bi odredili podmreže,
treba rastaviti svaki
interfejs od njegovog
hosta ili rutera,
kreirajući ostrva
izolovanih mreža. Svaka
izolovana mreža se zove
podmreža. 223.1.3.0/24
prisutno ?
223.1.1.3
-6
223.1.9.2 223.1.7.0
R1
223.1.9.1 223.1.7.1
223.1.8.1 223.1.8.0
R2 R3
223.1.2.6 223.1.3.27
subnet host
part part
11001000 00010111 00010000 00000000
200.23.16.0/23
Organization 0
200.23.16.0/23
Organization 1
“Send me anything
200.23.18.0/23 with addresses
Organization 2 beginning
200.23.20.0/23 . Fly-By-Night-ISP 200.23.16.0/20”
.
. . Internet
.
Organization 7 .
200.23.30.0/23
“Send me anything
ISPs-R-Us
with addresses
beginning
199.31.0.0/16”
“Send me anything
with addresses
Organization 2 beginning
200.23.20.0/23 . Fly-By-Night-ISP 200.23.16.0/20”
.
. . Internet
.
Organization 7 .
200.23.30.0/23
“Send me anything
ISPs-R-Us
with addresses
Organization 1 beginning 199.31.0.0/16
or 200.23.18.0/23”
200.23.18.0/23
10.0.0.4
10.0.0.2
138.76.29.7
10.0.0.3
A B C D E F
Physical view:
IPv6 IPv6 IPv4 IPv4 IPv6 IPv6
data data
A-to-B: E-to-F:
B-to-C: B-to-C:
IPv6 IPv6
IPv6 inside IPv6 inside
IPv4 IPv4
Mrežni sloj 4-58/134
Poglavlje 4: Mrežni sloj
4. 1 Uvod 4.5 Algoritmi rutiranja
4.2 Virtuelna kola i Stanje linka
datagram mreže Distance vektor (rastojanja)
Hijerarhijsko rutiranje
4.3 Šta je u unutrašnjosti
rutera 4.6 Rutiranje na Internet-u
RIP
4.4 IP: Internet protokol
OSPF
format datagrama
BGP
IPv4 adresiranje
ICMP 4.7 Difuzno rutiranje i
IPv6 rutiranje sa višestrukim
upućivanjem
routing algorithm
value in arriving
packet’s header
0111 1
3 2
v 3 w
2 5
u 2 z
1
3
1
x y 2
Graph: G = (N,E) 1
N = set of routers = { u, v, w, x, y, z }
E = set of links ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) }
-Least-cost path
-Shortest path - cost=1, najmanji broj linkova Mrežni sloj 4-61/134
Graf apstrakcija: cena-troškovi
• c(x,x’) = cost of link (x,x’)
•trošak, cena, težina
5
v 3 w - npr. c(w,z) = 5
2 5
u 2 z • cost može uvek da bude 1,
1
3 •ili inverzno povezana sa
1
x y 2 bandwidth,
1 •ili direktno sa congestion,
•ili direktno sa dužinom linka
v 3 w
2 5
u 2 z
1
3
1
x y 2
1
Tada je
from
y ∞∞ ∞ y 2 0 1
from
y 2 0 1
z ∞∞ ∞ z 7 1 0 z 3 1 0
node y table
cost to cost to cost to
x y z x y z x y z y
2 1
x ∞ ∞ ∞ x 0 2 7 x 0 2 3 x z
from
y 2 0 1 y 2 0 1
from
from
y 2 0 1 7
z ∞∞ ∞ z 7 1 0 z 3 1 0
node z table
cost to cost to cost to
x y z x y z x y z
x ∞∞ ∞ x 0 2 7 x 0 2 3
from
from
y 2 0 1 y 2 0 1
from
y ∞∞ ∞
z 71 0 z 3 1 0 z 3 1 0
time
Mrežni sloj 4-75/134
Vektor rastojanja: troškovi linka se menjaju
Menjaju se troškovi linkova:
1
čvor detektuje promenu troškova lokalnog y
linka 4 1
x z
ažurira ruting informacije, ponovo 50
izračunava vektor rastojanja
ako se DV menja, obaveštavaju se susedi
U trenutku t0, y detektuje promene troškova linka, ažurira svoj DV,
“dobre i informiše svoje susede.
vesti
U trenutku t1, z prima ažuriranje od y i ažurira svoju tabelu.
putuju On izračunava novi trošak ka x-u i šalje svojim susedima svoj DV.
brzo”
U trenutku t2, y prima z-ovo ažuriranje i ažurira svoju tabelu rastojanja.
3c
3a 2c
3b 2a
AS3 2b
1c AS2
1a 1b
1d AS1
Tabela prosleđivanja je
konfigurisana i od intra-
i od inter-AS ruting
Intra-AS
Routing
Inter-AS
Routing algoritma
Intra-AS postavlja upise
algorithm algorithm
postavljaju upise za
spoljašnje destinacije
Mrežni sloj 4-82/134
Inter-AS zadaci AS1 treba:
Pretpostavimo da 1. da zna koje
ruter u AS1 prima destinacije su
datagram za koji je dostupne kroz AS2 a
destinacija izvan AS1 koje kroz AS3
Ruter treba da prosledi 2. da prosledi ovu
paket prema jednom od
informaciju o
gateway rutera, ali
prema kom ? dostupnosti svim
ruterima u AS1
Posao inter-AS rutinga!
3c
3a 2c
3b 2a
AS3 2b
1c AS2
1a 1b
1d AS1
u destination hops
v
u 1
A B w v 2
w 2
x 3
x y 3
z C D z 2
y podmreže
Mrežni sloj 4-89/134
RIP oglašavanje
Vektori rastojanja (tekuće procenjene putanje sa
najkraćim rastojanjima od datog rutera do podmreža u AS) :
razmenjuju se između suseda svakih 30
sekundi preko Response Message (takođe
nazvano oglašavanje)
Svako oglašavanje: lista do 25 destinacionih
podmreža unutar AS
C
Destination Subnet Next Router Num. of hops to dest.
w A 2
y B 2
z B 7
x -- 1
…. …. ....
Tabela rutiranja za ruter D pre primanja objave (oglašavanja) od rutera A
C
Destination Network Next Router Num. of hops to dest.
w A 2
y B 2
z B A 7 5
x -- 1
…. …. ....
Tabela rutiranja za D nakon primanja objave od rutera A
Mrežni sloj 4-92/134
RIP: Greške na linku i oporavak
Ako se nikakvo oglašavanje ne čuje nakon 180 sec -->
sused/link se deklariše kao "dead"
rutira se koristeći susedovu iskoristljivost
nova oglašavanja se šalju susedima
susedi redom šalju nova oglašavanja (ako se tabela
promeni)
informacija o grešci linka brzo se širi kroz celu
mrežu
poison reverse se koristi za prevenciju ping-pong
petlji (beskonačno rastojanje = 16 hops)
Transprt Transprt
(UDP) (UDP)
network forwarding forwarding network
(IP) table table (IP)
link link
physical physical
3c
3a 2c
3b 2a
AS3 2b
1c AS2
1a 1b
AS1 1d
eBGP session
iBGP session
3c
3a 2c
3b 2a
AS3 2b
1c AS2
1a 1b
AS1 1d
eBGP session
iBGP session
Mrežni sloj 4-103/134
Atributi putanja & BGP rute-putanje
Kada ruter oglasi prefiks kroz BGP sesiju, to
uključuje uz prefiks i BGP atribute:
prefiks + atributi = “putanja-ruta”
Dva važna atributa:
AS-PUTANJA: sadrži AS-e kroz koje je oglašavanje za
prefiks prošlo: AS 67 AS 17
SLEDEĆI-HOP: Može biti više fizičkih linkova od tekućeg
AS ka next-hop-AS-u.
Kada gateway ruter primi oglas o ruti, koristi
import policy da bi odlučio da li da prihvati ili
filtrira rutu.
A oglašava ka B putanju AW
Figure 4.5-BGPnew: a simple BGP scenario
Politika:
Inter-AS: administrator želi kontrolu nad tim kako se
njegov saobraćaj rutira, ko rutira kroz mrežu.
Intra-AS: jedan administrator, tako da nije potrebna
politika odlučivanja
Skaliranje:
hijerarhijsko rutiranje čuva veličinu tabele, redukujući
ažuriranje saobraćaja
Performanse:
Intra-AS: može da se fokusira na performanse
Inter-AS: politika može da dominira u odnosu na
performanse
Mrežni sloj 4-109/134
Poglavlje 4: Mrežni sloj
4. 1 Uvod 4.5 Algoritmi rutiranja
4.2 Virtuelna kola i Stanje linka
datagram mreže Distance vektor
Hijerarhijsko rutiranje
4.3 Šta je u unutrašnjosti
rutera 4.6 Rutiranje na Internet-u
RIP
4.4 IP: Internet protokol
OSPF
format datagrama
BGP
IPv4 adresiranje
ICMP 4.7 Difuzno rutiranje i
IPv6 rutiranje sa višestrukim
upućivanjem
duplicate
duplicate R1 creation/transmission R1
duplicate
R2 R2
R3 R4 R3 R4
source in-network
duplication duplication
A A
B B
c c
D D
F E F E
G G
(a) Broadcast initiated at A (b) Broadcast initiated at D
A A
3
B B
c c
4
2
D D
F E F E
1 5
G G
(a) Postepena (b) Završni spanning tree
konstrukcija spanning
tree Mrežni sloj 4-114/134
Multicast rutiranje
4-116/133
Stablo najkraće putanje
mcast forwarding stablo: stablo sa rutama
sa najkraćom putanjom
Dijkstrin algoritam
S: source LEGENDA
R1 2
1 R4 ruteri sa prikačenim
članovima grupe
R2 5
ruteri bez prikačenih
3 4
R5 članova grupe
R3 6 i link korišćen za prosleđivanje,
R6 R7 pokazuje redosled linkova
dodatih od strane algoritma
4-117/133
Prosleđivanje reverznom putanjom
4-118/133
Prosleđivanje reverznom putanjom: primer
S: source
LEGENDA
R1
R4 router with attached
group member
R2
router with no attached
R5 group member
R3 datagram će biti
R6 R7 prosleđen
datagram neće biti
prosleđen
4-119/133
Prosleđivanje reverznom putanjom: odsecanje
stablo prosleđivanja sadrži podstabla bez mcast članova
grupe
nema potrebe za prosleđivanjem datagrama niz podstablo
koje ne sadrži članove grupe; odsecanje
S: source LEGENDA
4-120/133
Stabla bazirana na centralnom ruteru
LEGENDA
4-122/133
Internet Multicasting ruting: DVMRP
4-123/133
DVMRP: nastavak ...
soft state: DVMRP ruter periodično (1 min.)
“zaboravlja” grane koje su odsečene-pruned:
mcast podaci ponovo teku dole neodsečenom granom
downstream ruter: ponovo odseca ili još nastavlja da
prima podatke
ruteri mogu brzo da se ponovo "nakaleme" na
stablo
sledeći InternetGgroupManagementProtocol se
pridružuje listi
4-124/133
Tunelovanje
Q: Kako povezati “ostrva” multicast rutera u
“moru” unicast rutera?
4-125/133
PIM: Protocol Independent Multicast
ne zavisi od određenog unicast algoritma rutiranja
(radi sa svima)
dva različita scenarija multicast distribucije:
Zbijen-Dense: Rasejan-Sparse:
članovi grupe pakovani broj rutera sa pridruženim
gusto članovima grupe je mali u
širina opsega još veća odnosu na ukupan broj
rutera
članovi grupe “široko
rasejani”
širina opsega nije veća
4-126/133
Posledice Sparse-Dense podele:
Dense Sparse:
grupno članstvo rutera nema članstva dok se
pretpostavljeno dok ruteri eksplicitno ne
ruteri eksplicitno vrše pridruže
odsecanje prijemom-pobuđena
podacima-pobuđena konstrukcija mcast stabla
konstrukcija na mcast (npr. centar-bazirana)
stablu (npr. RPF)
4-127/133
PIM- Dense mod
4-128/133
PIM - Sparse mod
centar-bazirani pristup
ruter šalje join msg ka
rendezvous tački (RP) R1
R4
intermediate ruteri join
ažuriraju stanje i prosleđuju R2
join join
R5
nakon pridruženja preko join
RP-a, ruter može da se R3 R7
prebaci na source-specific R6
4-129/133
PIM - Sparse mod
sender(i):
unicast podatke ka RP-
u, koji se distribuiraju R1
R4
RP-rooted stablu join
RP može da proširi R2
join
mcast stablo R5
RP može da pošalje join
R3 R7
stop msg ako nema R6
prikačenih primaoca
all data multicast rendezvous
“niko ne osluškuje!” from rendezvous point
point
4-130/133