AP_1_2016
Sadraj
Arhitekture
i tehnike
fiziki nivo:
prijem bita
linijski nivo:
napr., Ethernet
Decentralizovana komutacija:
Dato
Komutiranje u memoriji
Ruteri prve generacije:
tradicionalni raunari sa komutacijom pod direktnom
kontrolom CPU
paket sa kopira u sistemsku memoriju
granica brzine je memorijski opseg (2 prolaska busom po datagramu)
ulazni
port
Memorija
izlazni
port
sistemski Bus
datagram
Izlazni portovi
Baferovanje
Baferovanje,
10
11
Proslijeivanje
Tabela proslijeivanja
(Forwarding Table) je fajl
smeten u RAM vora koji
sadri informacije o topologiji
R1
mree u njegovoj okolini.
R3
R2
Odredite
Sljed. skok
R3
R3
R5
Arhitekture paketskih cvorova
R5
12
mreni
nivo
IP protokol
pravila adresiranja
datagram format
pravila obrade paketa
rutni protokoli
izbor puta
RIP, OSPF, BGP
Tabele
rutiranj
a
Tabela
Proslij.
ICMP protokol
Izvjet. o greki
ruter signaliza.
linijski nivo
fiziki nivo
13
Proslijeivanje?
R3
R1
A
1
16
Ver HLen
protokol
Destination
Next Hop
Odredina
adresa
D
Options
(if any)R3
F
Zaglavlje Checksum
R2
Izvorna adresa
D
32
T.Service
Fragment ID
TTL
R4
Data
R5
R3
R5
14
Proslijeivanje
R3
A
R1
R4
B
C
E
R2
R5
15
Pristupni ruteri
e.g. ISDN,
ADSL
Ruteri jezgra
napr. OC48c POS
Dimenzije, Potronja
Cisco GSR 12416
Juniper M160
19
19
Capacity: 160Gb/s
Power: 4.2kW
6ft
Capacity: 80Gb/s
Power: 2.6kW
3ft
2ft
2.5ft
Internet jezgro
Rubni Ruter
POP1
POP4
B
C
POP3
POP5
POP6
POP7
POP8
19
R2
R1
R5
R4
R3
R8
R9
R10
R7
R11
R14
R13
(40 Gb/s)
R6
R15
Arhitekture paketskih cvorova
(10 Gb/s)
R12
R16
(100 Gb/s)
20
komutiranja
komutacija
tabela
Upravljanje
Put podataka
Obrada po
paketu
21
2.Pretraga:
22
Hdr
pretraga
obnovi
IP adresa zaglavlje
IP adresa
~1M prefiksa
Na-ipu DRAM
stavi u rep
Paket
Data
Hdr
Next Hop
adresna
adresna
tabela
tabela
Bafer
Bafer
Memorija
Memorija
~1M paketa
na ipu DRAM
23
Obrada zaglavlja
pretraga
IP adresa
bafer
Manager
obnovi
zaglavlje
bafer
bafer
memorija
memorija
adresa
adresa
tabela
tabela
Data Hdr
Obrada zaglavlja
pretraga
IP adresa
bafer
Manager
obnovi
zaglavlje
baferHdr
Data
memorija
memorija
bafer
Manager
Obrada zaglavlja
pretraga
IP adresa
Data Hdr
bafer
adresa
adresa
tabela
tabela
Data Hdr
Data Hdr
obnovi
zaglavlje
bafer
bafer
memorija
memorija
adresa
adresa
tabela
tabela
24
25
Li
CP
n
i
U nt ijs
er ki
fe
js
m
em
or
ija
CPU
Route
tabela
bafer
memorija
linijski
Interfejs
linijski
Interfejs
linijski
Interfejs
MAC
MAC
MAC
26
Li
CP
n
U Int ijs
er ka
fa
ce
M
em
or
ija
CPU
Route
Table
Bafer
Memorija
Linijska
Interface
Linijska
Interface
Linijska
Interface
MAC
MAC
MAC
Ulaz 2
Ulaz N
Limitiran memorijskim
opsegom.
Route
tabela
bafer
memorija
linijska
kartica
linijska
kartica
linijska
kartica
bafer
memorija
bafer
memorija
bafer
memorija
Komut
Ke
Komut
Ke
MAC
MAC
Komut
Ke
MAC
Usko grlo u
drugoj
generaciji
komutator
a je bus ili
ring.
Tehnika
hashing-u
keu za
ATM VCI ili
Ethernet
29
CPU
DMA
Linijska
Kartica
Local
Bafer
Memorija
MAC
DMA
Linijska
Kartica
Local
Bafer
Memorija
MAC
DMA
Linijska
Kartica
Local
Bafer
Memorija
MAC
CPU
Tabela
rutira
Bafer
Memorija
Spori Put
Odbacivanje
Linijska
Kartica
Linijska
Kartica
Linijska
Kartica
Bafer
Memorija
Bafer
Memorija
Bafer
Memorija
Komut
Ke
Komut
Ke
Komut
Ke
MAC
MAC
MAC
Odbacivanje ili
Vraanje nazad
Rasporeivanje
na izlaznu
liniju
CPU
Tabela
rutir
Linijska
Kartica
Linijska
Kartica
Linijska
Kartica
Bafer
Memorija
Bafer
Memorija
Bafer
Memorija
Komut
Table
Komut
Table
Komut
Table
MAC
MAC
MAC
Brzina upisa/itanja
odreena brzinom basa
Bus
Li
i
CPnt nijs
U er ki
fe
js
m
em
or
ija
linijski
kartica
CPU
kartica
linijski
kartica
Local
bafer
memorija
Rutiranje
tabela
Local
bafer
memorija
Komut
tabela
Komut
tabela
MAC
MAC
34
Komutacija basom
Li
L
i
I
LI i nnt ene
L
innntee erf
I
L
n
i
I te
a
LI i LInint enntee erfarfac ce
n
r
n
CIP LIninteeteerferfacfacece e
ntU rfa ace e
Me erf ce
em ac
or
y
Line
Card
CPU
Card
Line
Card
Local
Buffer
Memory
Local
Buffer
Memory
MAC
MAC
Brzina upisa/itanja
odreena ubrzanjem
komutacionog polja
Komut
Arbiter
Brzina upisa/itanja
odreena ubrzanjem
komutacionog polja
Komutator
Arbitar
Kontrola toka
Povrat nazad
Po tok/klasi ili poizlaznim repovima
(VOQs)
Optike veze
100-ne
metara
Komutaciono
jezgro
Linijske kartice
39
snagu.
Kompleksno rasporeivanje, bafer mgmt, politika
odbacivanja itd. Na linijskoj kartici.
Optike veze
Vie od100
metara
Jezgro svia
Linijske kartice
Fiziko odvajanje
Linijska kartica
Brojai po repu
Komut Port
1: Zaht
1 RTT
L
C
S
2: Dozvola/kredit
Sekv br
3: Podaci
Komut
Komut
L
C
S
polje
polje
Zaht
Dozvola
Raspore
Raspore
Svia
Svia
Fiziko odvajanje
Usklaivanje elijskih vremena
Jezgra svia
Linijska kartica
L
C
S
Linijska kartica
L
C
S
Linijska kartica
L
C
S
Komut.
Komut.
Polje
Polje
Komut.
Komut.
rasporeiva
rasporeiva
Brzina upisa/itanja
odreena ubrzanjem
komutacionog polja
1 ianje po elijskom
Izlaz
Raspore
Komut
polje
Pretraga
&
Odbac
Policy
Izlaz
Raspore
Komut
Arbitration
Pretraga
&
Odbac
Policy
Komut. jezgra
(Bez bafera)
Linijska kartica
Izlaz
Raspore
Linijska kartica
Optike veze
100-ne
metara
Linijske kartice
45
Optike veze
100-ne
metara
46
bafer
Manager
obnovi
zaglavlje
adresa
adresa
tabela
tabela
bafer
bafer
memorija
memorija
Obrada zaglavlja
pretraga
IP adresa
bafer
Manager
obnovi
zaglavlje
bafer
bafer
memorija
memorija
adresa
adresa
tabela
tabela
Obrada zaglavlja
pretraga
IP adresa
bafer
Manager
obnovi
zaglavlje
bafer
bafer
memorija
memorija
adresa
adresa
tabela
tabela
47
Tehnike pretraivanja
Egzaktno podudaranje
Direktno pretraivanje
Asociativno pretraivanje
Hashing (He izraunavanje
Stabla (Trees) i pokuaji (tries)
48
49
Tabela proslijeivanja
Naj jednostavnija (i najbra) struktura podataka je LookUp Table (LUT)
To je indeksirani niz, Location Addressable Memory (LAM)
Adresa odredita se koristi kao indeks za pristup (Nrxt Hop) informaciji
U njoj moe biti dodatna informacija, npr, L2 tip i adresa, da se izbjegnu
dodatne pretrage
Primjer :
Ogranienja
LUT se mogu koristiti poslije drugih struktura podataka koje vraaju klju kao indeks
50
Hash tabele
Hash tabele omoguuju rad sa velikim brojem potencijalnih adresa
Hashing funkcija vri prevoenje:
Iz velike vrijable (velikog broja bita ili bajta)
U malu varijablu (maili broj bita ili bajta)
- white (male promjene ulaza kreiraju vrlo razliite izlaze)
Hashing dugih adresa proizvodi kratki indeks
Problem je to hashing funkcija nije 1:1 (razni ulazi mogu dati isti izlaz)
te uvijek postoji vjerovatnoa hash sudara (kolizija)
Rjeenja :
perfektni hashing samo kad su adrese unaprijed poznate
indeks u tabeli vraa listu svih memorisanih adresa
viestruki hashing linearno ispitivanje (probing), kvadratni probing
Hashing je vrlo podesan za egzaktno podudaranje (npr. MAC adrese)
a ne za LPM
51
52
54
55
Kod generalnih search trees pretraga moe biti prvo po irini (breadthfirst) ili po dubini (depth-first)
Breadth-first
Depth first
Binarna stabla
Binary Search Trees pojednostavljuju memorisanje i obradu podataka
Djeca vora N su L i R
Perfect binary trees imaju samo 2 djece po svakom internom voru
Te postoji tano 2H listova, gdje je H visina (height) stabla
Ukupno postoji (2H+1 1) vorova
Tries
Naziv izveden iz retrieve (izvui), ali se obino izgovara try
Trie je ureeno stablo sa
Podvrijednostima (subvalues) na linijama
Vrijednostima (values) u listovima
Tries se vezuju za predstave pretrage prefiksa
U poetku koritena za egzaktno podudaranje
Tries mogu biti binarna ili ne
Tries su podesna za sve leksikografike pretrage O(log n)
ali su posebno podesna za LPM
Trie varijante su najbre poznate pretrage - O(log log n)
LC-se koriste modernim Linux router implementacijama
59
Tries - Primjer
Neka je FIB data kao :
10.0.128.0/16
10.0.0.0/8
192.168.0.0/16
192.168.128.0/24
0.0.0.0/0
10 0
0
0
0
Uoite:
Kod plain trie,
svi IP prefiksi su iste duine
0
/8
128
0
/16
192
168
0
/0 /16
128
0
0
/24
60
10.0
192.168
0.0.0.0/0
128.0/16
0.0/16
128.0/24
Tries - varijante
Patricia trie
Practical Algorithm to Retrieve Information Coded in Alphanumeric
Binary trie u kojoj su upisani brojevi bita koje treba preskoiti da se
stigne u slijedeu taku odluivanja
Kod LPM prefiksi su upisani u interne vorove
Bucket tries (vedra)
Viestruki kljuevi su upisani u listove
Multibit tries (M-tries)
Manje odluka o grananju nego kod binary tries
Multibit strides (viebitni pomaci obino varijabilni)
Level-compressed tries (LC-tries) Tries sa manje nivoa
Zamjenjuju perfektna podstabla u binarnom trie sa jednim nivoom sa
2k vorova
LPC trie level and path compressed manje nivoa i puteva
I mnoga druga (Lulea, full-tree, )
62
Tries - varijante
Binarno trie
LC trie
63
M1[2]
M1[3]
M2[1]
M2[2]
M2[3]
M3[1]
M3[2]
M3[3]
match
lines
search
lines
Q[1]
Q[3]
65
Memory
Data
Address
VCI/MPLS-label
67
Match
Data
Location
Address
Address
48bits
Data
Network address
Normal
Memory
Port
68
Pointer
List/Bucket
Data
Memory
Address
48
Hashing
Function
16, say
Data
Mrena
adresa
Address
Memory
1
1 M
2
1 (1 )
M= Broj adresa
N= Broj lista
70
48
Hashing
Function
16, say
Memory
Data
Network
Address
Address
Perfektni Hashing
Port
Prednosti:
Nedostaci
Jednostavnost implementacije
Malo srednje vrijeme pretraivanja
Apdejti su brzi (osim sa perfektnim hash funkcijama)
Relativno neefektivno koritenje memorije
Ne-deterministiko vrijeme pretraivanja (rijetko)
<
>
>
<
0
>
log2N
<
N entries
Vrijeme pretraivanja zavisno od
veliine tabele, ali nezavisno od duine
adrese, memorija O(N)
1
1
010
111
0000, ptr
0000, 0
1111, ptr
000011110000
1111, ptr
1111, ptr
0000, 0
111111111111
Multiway tries
Kako stepen raste sve je vie pointera 0
Degreeof
Tree
# Mem
References
2
4
8
16
64
256
48
24
16
12
8
6
4.3
4.3
5.6
8.3
21
64
49
73
86
93
98
99.5
Prednosti:
Mane
77
Pretraga IP adresa
Zato
je teka:
Nije
78
Pretraga IP adresa
U
79
Pretraga IP adresa
Tabela
80
Pretraga IP adresa
Klasno
81
128.9.176.0/24
128.9.16.0/21 128.9.172.0/21
65.0.0.0/8
128.9.0.0/16
142.12.0.0/19
128.9.16.14
232-1
82
Izvor: http://www.cidr-report.org/
Arhitekture paketskih cvorova
85
IP Ruteri
Metrika Pretraga
128.9.16.14
Prefiks
Port
65/8
128.9/16
128.9.16/20
128.9.19/24
128.9.25/24
128.9.176/20
142.12/19
3
5
2
7
10
1
3
Trajanje pretrage
Memorijski prostor
Trajanje apdejta
Vrijeme preprocesiranja.
Linija
Linijaska brzina
(Gbps)
40B paketi
(Mpps)
1998-99
OC12c
0.622
1.94
1999-00
OC48c
2.5
7.81
2000-01
OC192c
10.0
31.25
2002-03
OC768c
40.0
125
31.25 Mpps 33 ns
DRAM: 50-80 ns, SRAM: 5-10 ns
Hdr
Lookup
IP Address
IP Address
~1M prefixes
Off-chip DRAM
Update
Header
Queue
Packet
Data
Hdr
Next Hop
Address
Address
Table
Table
Buffer
Buffer
Memory
Memory
~1M packets
Off-chip DRAM
90
Access
speed
Watts/
chip
Networking
DRAM
64 MB
40-80ns
0.5-2W
SRAM
8 MB
3-4ns
2-3W
4-8ns
15-30W
$30-$50
($0.50-$0.75)
$50-$60
($5-$8)
TCAM
2 MB
$200-$250
($100-$125)
91
ote: Price, speed and power are manufacturer and market dependent.
Tabela proslijeivanja
Tabela
Tabela proslijeivanja
- Statiki dodijeljene rute
U tabelama rutiranja se oznaavaju latininim slovom "S" od (engl.
Static), upisuje ih sam administrator statiki. Najee se koriste u
mreama sa malim brojem rutera, ili kada postoji samo izlaz na internet
servis provajdera.
- Dinamiki odreene rute
Udaljene mree se najee upisuju u tabelu dinamiki pomou
protokola rutiranja. Ruteri koriste ove protokole rutiranja radi razmjene
informacija o dostupnosti i statusu udaljenih mrea. Svaki protokol
rutiranja proizvodi svoju tabelu rutiranja, a sve tabele rutiranja se koriste
za izvoenje tabele proslijeivanja. Cijeli postupak se naziva rutiranje.
Ovakav nain odravanja tabela rutiranja ima prednosti u odnosu na
statiki. Naime, pri promjeni topologije mree, ruteri dinamiki promjene
informacije u tabeli bez potrebe za asistencijom administratora.
U tabelama dinamiki odreene rute se oznaavaju nekim od latininih
slova koje upuuje na protokol rutiranja kojim je ruta odreena.
Tabela proslijeivanja
Primjer tabele (tabela sa Cisco rutera).
Ruter#show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
* - candidate default, U - per-user static route, o - ODR
P - periodic downloaded static route
Gateway of last resort is not set
172.16.0.0/24 is subnetted, 3 subnets
R
172.16.1.0 [120/1] via 172.16.2.1, 00:00:02, Serial0/0/0
C
172.16.2.0 is directly connected, Serial0/0/0
C
172.16.3.0 is directly connected, FastEthernet0/0
C 192.168.1.0/24 is directly connected, Serial0/0/1
Ruter#
Drati
95
96
97
98
100
101
104
105
106
107
110
111
sadri
-kompletan niz od prefiksa
-Informaciju o slijedeem skoku
-Specijalni prefiks vektor koji sadri
informaciju o nizovima koji su pravilni
prefiksi drugih nizova. On je potreban
zato to interni vorovi LC-stabla
nemaju pointere na baznu vektor
tabelu. Ta informacija pokazuje da li
postoji dui prefiks koji se slae sa IP
adresom i daje informaciju o
slijedeem skoku u sluaju slaganja
Vrijeme traenja je O(W/K) i
memorijski zahtjev je O(2 K NW/K))
112
114
117
118
Stabla i tries
Binarno traenje Tree
<
>
>
<
N lanova
0
>
log2N
<
1
1
010
111
PrimjerPrefiksa
ExamplePrefixes
10.0.0.0/8
10.1.0.0/16
Duina
8
Hash
10
10.1.1.0/24
10.1.2.0/24
10.2.3.0/24
12
16
10.1,10.2
24
10.1.1,10.1.2,10.2.3
PrimjerAdresa
10.1.1.4
10.4.4.3
10.2.3.9
10.2.4.8
Prednost
Skalabilno sa IPv6.
Stabla i tries
Stabla sa viestrukim putevima
0000, 0
1111, ptr
000011110000
1111, ptr
0000, 0
1111, ptr
111111111111
Degreeof
Tree
# Mem
References
2
4
8
16
64
256
48
24
16
12
8
6
4.3
4.3
5.6
8.3
21
64
49
73
86
93
98
99.5
Number
Prefix length
Veinom prefiksi su 24-bita ili krai
142.19.6
142.19.6
142.19.6.14
24
Slijedei
skok
Slijedei
skok
14
128.3.72
128.3.72.44
24
Slijedi
skok
0 Pointer
Prefiksi dui od
24-bitsa
base
44
8
Slijedi
Next
Hop
skok
Slijedi
skok
offset
Prednosti
20Mpps sa 50ns DRAM
Lako za implement aciju u
hardveru
prefiksa
postupci
He funkcije
He
Hashing
Pretraga po vrijednostima
Prefiksi
Pretraga po vrijednostima
Prefiksi:
0*
001*
0001*
01*
0110*
10*
100*
1011*
11*
1101*
TCAM
Ternarna
predstavljaju
programabilne ipove koji se
mogu koristiti za implementaciju
raznih funkcija
Zbog svoje brzine i
fleksibilnosti predstavljaju
pogodna rjeenja za
implementaciju lukap funkcija
Ideja prikazane implementacije
je da internu memoriju FPGA
ipa koristi za binarnu
prezentaciju stabla, a same
next-hop informacije da smjeta
u brzu SRAM memoriju