směrování - rip
DESCRIPTION
Směrování - RIP. Počítačové sítě Lekce 3 Ing. Jiří ledvina, CSc. Základy směrování. Předpoklady: Mějme směrovač X Směrovač nemůže znát topologii celé sítě X potřebuje určit směrovač pro přístup k ostatním subsítím v Internetu Tato informace je uložena do směrovací tabulky směrovače. - PowerPoint PPT PresentationTRANSCRIPT
Směrování - RIPPočítačové sítě
Lekce 3Ing. Jiří ledvina, CSc.
5.3.2008 Počítačové sítě 2
Základy směrování
Předpoklady: Mějme směrovač X Směrovač nemůže znát topologii celé sítě X potřebuje určit směrovač pro přístup k
ostatním subsítím v Internetu Tato informace je uložena do směrovací
tabulky směrovače
5.3.2008 Počítačové sítě 3
Základy směrování
Hlavní problémy směrování Změny topologie ovlivňují rychlost
konvergence a stabilitu Rozšiřitelnost (škálovatelnost) velkého
množství propojených sítí, směrovačů a linek Která cesta je nejlepší?
Minimální počet mezilehlých uzlů Minimální zpoždění Maximální propustnost
5.3.2008 Počítačové sítě 4
Směrování kontra posílání Směrování( routing):
proces vytváření směrovacích tabulek v každém směrovači
Posílání (forwardování): zjištění cílové adresy paketu a poslání paketu na vybrané rozhraní směrovače
Net # Next hop Link Cost
10 171.69.245.10 2
Net # Interface MAC Address
10 if1 8:0:2b:e4:b:1:2
Posílání vyžaduje přístup k lokální směrovací tabulce
5.3.2008 Počítačové sítě 5
Směrování kontra posílání
Někdy se vytváří tabulka pro forwardování, která se pak liší od směrovací tabulky
Forwardovací tabulka: optimalizovaná pro vyhledání cíle a posílání
Směrovací tabulka: optimalizovaná pro změny směrování, změny topologie
Net # Next hop Link Cost
10 171.69.245.10 2
Net # Interface MAC Address
10 if1 8:0:2b:e4:b:1:2
5.3.2008 Počítačové sítě 6
Směrování jako problém teorie grafů Uzly: směrovače jedné
administrativní domény (vnitřní směrování), nebo různých sítí (vnější směrování)
Hrany: vzájemné propojení směrovačů
Ohodnocení hran: podle vzdálenosti, kapacity, zpoždění, …
Cíl: nalezení minimální cesty mezi libovolnými dvěma uzly
4
3
6
21
9
1
1D
A
FE
B
C
Problém: nalezení minimální cesty decentralizovanou (nebo centralizovanou) metodou
Rychlé a robustní reakce na změnu topologie
5.3.2008 Počítačové sítě 7
Typy algoritmů směrování „Statické“ směrování
Ruční nastavení směrovací tabulky
„Dynamické“ směrování Adaptivní algoritmy nastavení směrovací tabulky Interní směrování (RIP, OSPF) Externí směrování (BGP)
Směrování podle vektoru vzdáleností (Distance Vector Algorithm) Šíření obsahu směrovací tabulky sousedním směrovačům
Směrování podle stavu linek (Link State Algorithm) Šíření informace o stavu linek (hran grafu) sousedním směrovačům
Hybridní směrování
5.3.2008 Počítačové sítě 8
Propojení tří autonomních oblastí
5.3.2008 Počítačové sítě 9
Směrování podle vektoru vzdáleností
Používá Bellman-Fordův algoritmus (dynamické programování)
Vektor vzdáleností pro uzel X: minimální vzdálenost z uzlu X do všech ostatních uzlů
4
3
6
21
9
1
1D
A
FE
B
C
Např. pro uzel A je to {2,6,2,1,3}
5.3.2008 Počítačové sítě 10
Směrování podle vektoru vzdáleností Každý uzel provádí
následující 3 operace souběžně Posílá vektor
vzdáleností svým sousedům
Přijímá vektor vzdáleností od svých sousedů
Počítá nové vzdálenosti na základě přijatých vektorů distance(X,Z) = min {distance(X,Y) +
distance(Y, Z)} pro všechny sousední uzly Y
4
3
6
21
9
1
1D
A
FE
B
C
5.3.2008 Počítačové sítě 11
Směrování podle vektoru vzdáleností
Počáteční vektor vzdáleností vychází pouze ze znalosti vzdáleností k sousedním uzlům Např. pro uzel A
{3,∞,∞,1,6}
4
3
6
21
9
1
1D
A
FE
B
C
Lokální výměna globální informace o dostupnosti
Vektory vzdáleností jsou posílány Periodicky (30s) Při změně položky ve
směrovací tabulce Uzel detekuje chyby
uzlů a linek periodickou výměnou „Hello“ paketů nebo výměnou směrovací informace
5.3.2008 Počítačové sítě 12
Počáteční nastavení směrování
uzel
A B C D E F
A 0 3 ∞ ∞ 1 6
B 3 0 4 ∞ 1 ∞
C ∞ 4 0 9 ∞ ∞
D ∞ ∞ 9 0 1 ∞
E 1 1 ∞ 1 0 2
F 6 ∞ ∞ ∞ 2 0
4
3
6
21
9
1
1D
A
FE
B
C
5.3.2008 Počítačové sítě 13
Počáteční finální směrovací tabulka uzlu ACíl (od A) cena Násl. uzel
B 3 B
C ∞ -
D ∞ -
E 1 E
F 6 F4
3
6
21
9
1
1
D
A
FE
B
C
Cíl (od A) cena Násl. uzel
B 2 E
C 6 E
D 2 E
E 1 E
F 3 E
5.3.2008 Počítačové sítě 14
Změny topologie Problém „čítání do nekonečna“ Možná řešení
Omezení horní meze pro čítání (maximální vzdálenost) Split horizon (rozštěpený obzor)
X nesmí poslat do uzlu Y svou vzdálenost k uzlu Z, je-li uzel Y ve směru z X do Z.
Split horizon with poisoned reverse (rozštěpený obzor s otráveným zpětným směrem) X posílá do uzlu že jeho vzdálenost k uzlu Z je ∞, je-li uzel
Y ve směru z X do Z.
A B C
5.3.2008 Počítačové sítě 15
Změny topologie
Bohužel, žádné z těchto řešení nezabrání cyklům Možné řešení: Před generováním a posíláním vektoru
vzdáleností, který upravuje konektivitu k jinému uzlu, počkat nějakou dobu na informace o konektivitě k tomuto uzlu od jiných uzlů Může významně prodloužit dobu konvergence.
Příčinou potíží je asynchronní výměna stavových informací Není zaručeno, že je ve všech uzlech konzistentní
směrovací informace Urychlení konvergence: triggered update (okamžité
spuštění opravy)
5.3.2008 Počítačové sítě 16
Routing Information Protocol (RIP) Implementace algoritmu „směrování podle
vektoru vzdáleností“ RFC 1058, UDP port 520 Všechny ohodnocení linek jsou nastaveny na 1
(počet mezilehlých uzlů) Vektory vzdáleností vyměňovány každých 30 s Maximální možné ohodnocení je 15, 16 je
nekonečno Omezení cyklů pomocí algoritmu „Split horizon
with poisoned reverse“ (rozštěpený obzor s otráveným zpětným směrem)
5.3.2008 Počítačové sítě 17
Routing Information Protocol (RIP)
Urychlení konvergence pomocí „Triggered update“ (okamžitá oprava)
Někdy se používá také „Hold down“ (pozdržení odeslání informace o výpadku uzlu nebo linky)
Detekce výpadku uzlu nebo linky po 180 s Výmaz z nedostupnosti ze směrovací tabulky po
120 s Max. velikost datagramu 512 slabik – 25 cest
5.3.2008 Počítačové sítě 18
Formát zprávy RIP
command(1-6) version(1) (must be 0)
0 7 8 1516 31
32-bit IP address
(must be 0)address family(2)
(must be 0)
(must be 0)
metric(1-16)
(up to 24 more routes)
20 bytes
5.3.2008 Počítačové sítě 19
Algoritmus opravy směrovací tabulky
Pokud je nově vypočtená vzdálenost Menší – opravit Stejná – nic neměnit Horší
Na základě zprávy ze směrovače, který je sousední pro původní směrování – opravit (zhoršení ocenění)
Na základě zprávy z jiného směrovače – nic neměnit
Aktivní režim (směrovač) Pasivní režim (hostitelský systém)
5.3.2008 Počítačové sítě 20
Vysílání požadavku/odpovědi RIP
Vysílání požadavku Jiný zdrojový port než 520 – odpoví vždy 520 na 520
Bez záznamu – neodpoví Právě jeden záznam IP=0.0.0.0, METRIC=16 – celá tabulka Jinak – posílání cest k cílům, které jsou uvedeny
Vysílání odpovědi Odpověď na konkrétní dotaz Podle pravidelného rozvrhu (30s) Vynuceně – triggered update – náhodná doba 1 až
5s
5.3.2008 Počítačové sítě 21
Časování Výměna tabulek se sousedními uzly 30s Detekce nedostupného uzlu 180s Ponechání informace o nedostupnosti uzlu v
tabulce aby se informace mohla rozšířit i k ostatním uzlům) 120s
Triggered updates – náhodné rozprostření doby 1 až 5s
5.3.2008 Počítačové sítě 22
RIP-2
RIP 2 – používá stejný formát jako RIP (č. verze 2), rozšíření Uvažuje autonomní systémy Interakce mezi IGP a EGP Posílání subsíťové masky a adresy
následujícího uzlu Podpora skupinového doručování – snížení
zátěže Podpora ověřování pravosti – heslo
5.3.2008 Počítačové sítě 23
RIP-2
Zajištěna kompatibilita s RIP „Zvětšení“ nekonečna – využita vyšší slabika
navíc původní
5.3.2008 Počítačové sítě 24
command(1-6) version(2) routing domain
0 7 8 1516 31
32-bit IP address
route tagaddress family(2)
32-bit subnet mask
32-bit next-hop IP address
metric(1-16)
(up to 24 more routes)
20 bytes
Formát zprávy RIP-2
5.3.2008 Počítačové sítě 25
Formát zprávy RIP-2
command(1-6) version(2) routing domain
0 7 8 1516 31
Typ ověření0xFFFF
20 bytes
Ověření
Ověření
Ověření
Ověření
5.3.2008 Počítačové sítě 26
Nové vlastnosti RIP-2
Doména směrování – číslo domény směrování, logické skupiny směrovačů
Návěští externího směru Maska podsítě Adresa následujícího uzlu Ověřování – textové heslo 16 slabik Skupinová adresa 224.0.0.9 MIB pro RIP-2
5.3.2008 Počítačové sítě 27
Problémy s DVA
Problémy s protokoly směrování podle vektoru vzdáleností Dlouhá doba konvergence v rozlehlých sítích Nestabilita kvůli ponecháváním starých linek (čítání do
nekonečna) Omezená velikost sítě způsobená čítačem přeskoků
Směrování - OSPF
5.3.2008 Počítačové sítě 29
Směrování podle stavu linek (LSA)
Link State Algorithm (LSA) – směrování podle stavu linek Každý uzel ví jak dosáhnout přímo spojené sousedy: lokální
link-state (stav linek) Přerušené linky nebo nefungující sousední směrovače jsou
detekovány periodickou výměnou „hello“ zpráv Každý směrovač šíří vlastní stav linek do všech ostatních
uzlů sítě pomocí spolehlivého záplavového doručování Znalost stavu linek ze všech uzlů je dostatečná pro
konstrukci grafu propojení celé sítě Každý uzel vypočte minimální vzdálenost k ostatním uzlům
pomocí Dijkstrova algoritmu
5.3.2008 Počítačové sítě 30
Spolehlivé záplavové doručování Každý uzel generuje periodicky nebo při změně stavu lokální
linky Link State pakety (LSP) LSP obsahuje:
ID uzlu, který LSP generuje Seznam přímo propojených sousedů s cenami přidružených linek Sekvenční číslo tohoto LSP TTL pro toto LSP
Uzel, který LSP přijme, pošle jej všem svým sousedům, kromě toho, od kterého ji obdržel
Sekvenční číslo LSP musí být větší, než posledně uloženého LSP od tohoto uzlu
Přenos LSP musí být spolehlivý Používá se potvrzení, timeouty a opakování přenosu
5.3.2008 Počítačové sítě 31
Spolehlivé záplavové doručování
Před posláním LSP sousedům snižuje hodnotu TTL Jestliže TTL LSP dosáhlo nuly, posílá je uzel dál s tím, že
je to signál pro vyřazení tohoto LSP ze všech uzlů Pomocí TTL se měří stáří lokálně uložených LSP
Co se stane, když sekvenční číslo LSP dosáhne maxima?
Co se stane když se uzel rychle vypne a zase zapne bez toho, že sousedé detekují výpadek? Uzel si může od souseda vyžádat poslední uložené LSP
5.3.2008 Počítačové sítě 32
Příklad záplavování
X A
C B D
(a)
X A
C B D
(b)
X A
C B D
(c)
X A
C B D
(d)
5.3.2008 Počítačové sítě 33
Dijkstrův algoritmus pro nalezení nejkratší cesty
N: množina uzlů v grafu
L(i, j): ohodnocení linky z uzlu i do uzlu j (neexistující spojení má ohodnocení nekonečno)
Cíl: nalezení cesty s minimální cenou z uzlu s do kteréhokoliv uzlu v N
M: množina doposud testovaných uzlů
C(n): ohodnocení cesty z s do n
5.3.2008 Počítačové sítě 34
Dijkstrův algoritmus pro nalezení nejkratší cesty
M = {s}Pro každé n v N – {s}, C(n) = L(s,n)while (N ≠ M) M = M {w} takové, že C(w) je minimální pro všechna w z (N-M)
pro každé n – (N-M)C(n) = MIN ( C(n), C(w) + L(w,n) )
5.3.2008 Počítačové sítě 35
Algoritmus vyhledávání
Specifická realizace Dijkstrova algoritmu Používá potvrzený seznam a pokusný seznam (seznam
uzlů podezřelých …) Oba obsahují seznam n-tic (cíl, cena, následující uzel) Viz následující příklad
D
A
B
C
5 3
211
10
5.3.2008 Počítačové sítě 36
Postup vytváření směrovací tabulku pro uzel D
Krok Potvrzený seznam Pokusný seznam
1 (D,0,-)
2 (D,0,-) (B, 11, B), (C, 2, C)
3 (D, 0, -), (C, 2, C) (B, 11, B)
4 (D, 0, -), (C, 2, C) (B, 5, C), (A, 12, C)
5 (D, 0, -), (C, 2, C), (B, 5, C) (A, 12, C)
6 (D, 0, -), (C, 2, C), (B, 5, C) (A, 10, C)
7 (D, 0, -), (C, 2, C), (B, 5, C), (A, 10, C)
D
A
B
C
5 3
211
10
5.3.2008 Počítačové sítě 37
Klady a zápory LSA
Rychlé ustálení po změně topologie Více robustní než RIP
Předchází problému čítání do nekonečna Vyžaduje ukládání LPS v každém uzlu (týká se
rozšiřitelnosti) OSPF se proto používá pouze pro interní směrování
(omezení z důvodu škálovatelnosti – rozšiřitelnosti
5.3.2008 Počítačové sítě 38
Protokol OSPF Open Shortest Path First (OSPF) – RFC 2328 Ověřování pravosti přenášených zpráv Zavedení směrovacích oblastí – řešení problému
rozšiřitelnosti Vyrovnávání zátěže – využívání více cest se
stejným ohodnocením mezi dvěma uzly Směrování podle TOS (Type of Service) Adresování pomocí skupinového adresování
(multicast) Přímé použití IP (protokol 69) Import RIP a EGP cest do své databáze Rozsáhlé směrovací tabulky
5.3.2008 Počítačové sítě 39
OSPF – typy zpráv
Používá zprávy: Hello – vyhledání souseda Database Description – přenos databáze
sousedovi Link State Request – požadavek na zaslání
databáze (synchronizace) Link State Update – oprava topologie (router,
network, network summary, ASBR summary, AS external LSA)
Link State Acknowledgement – potvrzení opravy topologie
5.3.2008 Počítačové sítě 40
OSPF oblasti
Autonomní oblast rozdělena do několika oblastí – hierarchické směrování – škálovatelnost
Každá oblast má přiřazeno číslo (32 bitů – a.b.c.d) Páteřní oblast (oblast 0) je 0.0.0.0
5.3.2008 Počítačové sítě 41
OSPF typy směrovačů
ASBR – AS Boundary Router ABR – Area Border Router IA – Intra Area router
Všechny směrovače mají tutéž topologickou databázi
Znají topologii uvnitř oblasti
5.3.2008 Počítačové sítě 42
OSPF typy směrovačů
ASBR – AS Boundary Router – hraniční směrovač autonomní oblasti – výměna informace s jinými autonomními systémy
BR – Backbone Router – páteřní směrovač – rozhraní páteřní oblasti
ABR – Area Border Router – hraniční směrovač oblasti – rozhraní různých oblastí
IA – Intra Area Router – vnitřní směrovač – všechna rozhraní přísluší jedné oblasti Designated Router – vybraný směrovač – generuje
informaci o stavu linek v subsíti Backup Designated Router – záložní směrovač – zastává
funkci vybraného směrovače při výpadku
5.3.2008 Počítačové sítě 43
Formát záhlaví OSPF
Ověření
version (1,2) type (1 až 7) Délka paketu
Kontrolní součet Typ ověření (heslo, MD5)
ID směrovače
ID oblasti
0 8 16 31
Tělo paketu
5.3.2008 Počítačové sítě 44
Typy OSPF zpráv
Hello – vyhledání souseda Database Description – přenos databáze sousedovi Link State Request – požadavek na zaslání databáze
(synchronizace) Link State Update – oprava topologie
Route LSA Network LSA Network Summary LSA ASBR Summary LSA AS External LSA
Link State Acknowledgement – potvrzení opravy topologie
5.3.2008 Počítačové sítě 45
Určení ceny (ohodnocení) linky Nejjednodušší (často používané)
Všechny linky mají stejnou cenu – směrování s minimálním ohodnocením
Cena linky – převrácená hodnota kapacity 10Mb linka má 100 krát vyšší cenu než 1Gb linka
Cena linky – zpoždění linky 250ms satelitní spojení má 10 krát větší cenu než 25ms
pozemní linka Cena linky – využití linky
Linka s 90% využitím má 10 krát vyšší cenu než linka s 9% využitím
Může způsobit oscilace Žádný z těchto způsobů není optimální pro všechny sítě
5.3.2008 Počítačové sítě 46
Vyhledávání sousedství
Používají se zprávy typu Hello Jsou generovány pro všechna rozhraní, obsahují
IP adresu a masku pro toto rozhraní Hello interval (platnost) Seznam sousedů jejichž Hello pakety vysílač již slyšel
Posílány na IP adresu 224.0.0.5 každých 10s Nepřijme-li se Hello zpráva od souseda 40s – zrušení
sousedství
5.3.2008 Počítačové sítě 47
Nabízení stavu linek (OSPF Link State Advertisements)
Existují různé typy LSA – pro dosažení směrovače, sítě, oblasti
LSA typu 1 – nabízí cenu linek mezi směrovači
Používají TOS pro vytvoření více ohodnocení pro jednu linku (Type of Service) – není příliš využíváno
LS Age Options Type=1
0 Flags 0 Number of links
Link type Num_TOS Metric
Link state ID
Advertising router
LS sequence number
Link ID
Link data
Optional TOS information
More links
LS checksum Length
5.3.2008 Počítačové sítě 48
Výměna LSA Typy LSA (cíl, cena, následující uzel)
1. Router Link - 2. Network Link -3. Summary Link to Network through ABR -4. Summary Link to AS Boundary Router - 5. External Link –
Podmínky šíření LSA Nalezen nový soused Ztráta spojení se sousedem (výpadek linky) Změna ceny linky Implicitní opakování po 30 min.
Spolehlivé šíření Číslování, časové značky, ACK
5.3.2008 Počítačové sítě 49
Synchronizace databáze
V broadcast sítích si směrovače vyměňují příliš mnoho LSA zpráv a ACK potvrzení
Řešení problému je výběr Designated Router (DR) – vybraný směrovač
DR je vybírán algoritmem výběru, založeném na První směrovač připojený do broadcast sítě Směrovač s nejvyšší IP adresou na segmentu
Pro zvýšení spolehlivosti se také vybírá Backup Designated Router (BDR) – záložní vybraný směrovač – jako horká záloha
5.3.2008 Počítačové sítě 50
Synchronizace databáze - funkce DR
DR inicializace LSA databáze – přidání nového směrovače na segmentu způsobí DR posílá do nového směrovače database
description packet Nový směrovač posílá link-state request se
seznamem LSA které nemá nebo jsou zastaralé DR posílá do nového směrovače celou svoji
LSA – link-state update
5.3.2008 Počítačové sítě 51
Synchronizace databáze – funkce DR
DR posílají LSA pomocí multicastu všem směrovačům na lokálním segmentu: Když jakýkoliv směrovač obdrží nebo generuje nový LSA
a chce je poslat ostatním směrovačům na segmentu vysílá link-state-update DR a BDR na adresu 224.0.0.6
DR zprávu posílá ostatním na adresu 225.0.0.5 DR generuje network LSA pro subsítě, na kterých je
DR Ostatní směrovače subsítě generují pouze router LSA V network LSA jsou všechny router LSA směrovačů
připojených k subsíti. První je od DR.
5.3.2008 Počítačové sítě 52
Směrováni uvnitř oblasti
Pakety pro ostatní oblasti posílány do ABR (hraniční směrovač)
ABR posílá zprávy do páteřní oblasti BR (páteřní směrovač) posílá pakety do cílových
ABR Cílové ABR posílají pakety do cílové oblasti
5.3.2008 Počítačové sítě 53
Směrování do ostatních autonomních oblastí
Hraniční směrovač autonomní oblasti (ASBR)si vyměňuje zprávy s ostatními AS
ASBR generuje inzerci externích linek a rozesílá je do všech oblastí (pro každou externí cestu jedna položka) Externí metrika typu 1 – totéž jak interní Externí metrika typu 2 – externí část má rozhodující podíl Použije směrovač s nejmenší externí metrikou – typ 2
Směrování - EGP
5.3.2008 Počítačové sítě 55
EGP – Exterior Gateway Protocol
Směrování mezi autonomními systémy Kořenové směrovače – nezávislé na interních
směrovačích Důležité funkce
Schopnost zjistit sousedy – směrovač se nabízí, že se stane sousedem
Schopnost zjistit, běží-li soused Schopnost odpojit se od sítě – informovat ostatní o svém
odpojení Schopnost zjistit, je-li síť dosažitelná
5.3.2008 Počítačové sítě 56
EGP – Typy zpráv
Acquistion request, confirm, refuse – nalezení souseda (požadavek, potvrzení, odmítnutí)
Cease request, confirm – ukončení sousedství (požadavek, potvrzení)
Hello – test souseda I hard You – odpověď Pool Request – požadavek opravy směrování Routing Update – potvrzení Error – chybové hlášení
5.3.2008 Počítačové sítě 57
EGP – test funkčnosti souseda
Testování funkčnosti souseda Náběh, doběh Aktivní režim směrovače – Hello, IHY Pasivní režim směrovače – Hello
Stav – běží, neběží – algoritmus k z N Aktivní ( běží – 3, neběží – 1) Pasivní ( běží – 4, neběží – 1)
Směrování -BGP
5.3.2008 Počítačové sítě 59
AS - Autonomous System
Soubor IP sítí a směrovačů pod kontrolou jedné entity, prezentovaná společnou směrovací politikou do Internetu
K AS musí být přiřazeno ASN (AS number), které je použito při směrování pomocí BGP
ASN jednoznačně identifikuje AS v Internetu (16 bitů) ASN 64512 až 65534 mohou být použity privátně ASN 0 a 65535 jsou rezervované Cesnet ASN 2852 (16 bitů) 1/2006 – cca 40000 obsazených (3500 za rok) RFC 4893 – 32 bitů ASN (číslo.číslo RIPE 3.0 až 3.1023) Nová verze BGP Multihomed (více AS), stub (jedna AS), transit (přenosová AS)
5.3.2008 Počítačové sítě 60
Border Gateway Protocol (BGP) Protokol pro směrování mezi autonomními oblastni Rozdíly Inter-AS a Intra-AS směrování
Rozhodování Intra-AS: jeden administrátor, není třeba rozhodovací strategie Inter-AS: administrátor chce kontrolovat kudy je přenos
směrován, kdo je směrován přes jeho síť Rozsah
Hierarchické směrování redukuje velikost tabulek i přenos oprávek
Výkonnost Intra-AS: může se soustředit na výkon Inter-AS: rozhodovací strategie může výtězit nad výkonností
BGP (Border Gateway Protocol) je de facto standard Path Vector protocol
5.3.2008 Počítačové sítě 61
Historie BGP GGP – gateway to gateway protocol (Distance
Vector IGP používaný v ARPANET) Protějšek existuje, jestliže přijme 2 ze 4 zpráv Echo Explicitní potvrzení oprav
EGP – v době NSFNET Síť musí být přísně hierarchická, beze smyček Mez metriky – nesmí existovat 2 cesty
IDRP – ekvivalentní OSI BGP, měl vliv na BGP IDRP - RFC 1479
Chvíli soutěžil s BGP, nyní se znovu objevuje s IPv6 Source route směrování Počáteční směrovač určuje cestu k ostatním stranám
5.3.2008 Počítačové sítě 62
Historie BGP
Problémy s EGP ovlivnily návrh BGP Potřeba tolerovat více cest a vybrat s z nich Vývoj podporovaný od počátku experimenty
BGP-4 jako BGP-3 neobsahovalo CIDR V poslední době uveden multiprotokolový BGP
Může pracovat s informací IPv6 Může doručit informaci multicast skupině a podporovat
RPF (Reverse Path Forwarding) pro nadřazený PIM/SM
5.3.2008 Počítačové sítě 63
BGP přenáší TCP
TCP port 179 Dvoubodové spoje, spojované služby, unicast TCP zachycuje mnoho problémů s chybami, BGP
může být jednodušší BGP nepotřebuje vlastní spolehlivý protokol Může přenášet přes více uzlů, pokud je to třeba Přenáší tok dat
5.3.2008 Počítačové sítě 64
BGP základní operace
BGP udržuje směrovací tabulky, šíří opravy směrování a rozhodnutí o směrování zakládá na směrovací metrice Vyměňuje informaci o dosažitelnosti sítě (reachability) Vytváří graf propojitelnosti AS (AS connectivity) Odstraňuje směrovací smyčky a prosazuje rozhodnutí o strategii
BGP používá jednu metriku k určení nejlepší cesty Linková metrika je hodnota preference přiřazená administrátorem Je to multikriteriální funkce: počet procházených AS, strategie
směrování, stability, rychlosti, zpoždění, ceny, … Vybírá nejlepší cestu a instaluje IP forwardovací tabulku
5.3.2008 Počítačové sítě 65
Border Gateway Protocol (BGP)
Path Vector protocol Podobný Distance Vector Protocol Každý BGP směrovač posílá pomocí broadcastu sousedům
celou cestu (posloupnost AS) do cíle BGP směruje do sítí (AS), ne do individuálních hostů Př. Směrovač X posílá cestu do cílové sítě Z
Path(X,Z) = X, Y1, Y2, … Yn, Z
5.3.2008 Počítačové sítě 66
Border Gateway Protocol (BGP)
5.3.2008 Počítačové sítě 67
BGP: řízení směrování
A, B, C jsou sítě poskytovatele X, W, Y jsou uživatelé sítí poskytovatelů X je dual homed, připojený ke dvěma sítím
X nechce směrovat z B do C přes X Proto X nebude nabízet (inzerovat) pro síť B cestu do C
5.3.2008 Počítačové sítě 68
BGP: řízení směrování
A inzeruje do B cestu AW B inzeruje do X cestu BAW Může B inzerovat do C cestu BAW?
Ne, B nechce, aby přes B byly směrovány z W do C (CBAW), protože ani C, ani W není zákazníkem B
B chce, aby C komunikovalo s W přes A B chce směrovat pouze pro své zákazníky
5.3.2008 Počítačové sítě 69
Dva typy BGP
Externí BGP – EBGP Vnější BGP spojení mezi dvěma oddělenými AS Typicky přímé propojení Využívá T1, T3, segment Ethernetu Propojení dvou AS, dva administrátoři, možnost vzniku
sporů Vnitřní BGP, IBGP
Vnitřní v AS Spojení může být přes více uzlů Může být třeba poslat BG opravy přes AS
5.3.2008 Počítačové sítě 70
Dosažení dostupnosti
Vnější BGP – běžně tatáž linka Manuálně konfigurované na nějaké telekomunikační
lince Na segmentu Ethernetu to pro nás udělá ARP
Vnitřní BGP – mohou být přes více uzlů Je-li tomu tak, spoléháme na IGP, že to zajistí
BGP řídí a směruje datové pakety Také můžeme zahrnout statické směrování Existuje ale problém konvergence IGP/EGP
5.3.2008 Počítačové sítě 71
Topologie
Tranzitní síť – pakety jsou přes ni směrovány, nemají zde ani zdroj, ani cíl Více vnějších a vnitřních BGP společníků Pravděpodobně má úplnou Internet směrovací tabulku
(≥75 000) Spojka s více výstupy
Spojka nepřenáší tranzitní pakety, ale pouze zdrojové nebo cílové
Více než jedna výstupní cesta – výhodné pro redundantnost Potřebuje číslo AS
Jednoduchá spojka – pouze jedna výstupní cesta Nepotřebuje AS nebo BGP pro svou činnost
5.3.2008 Počítačové sítě 72
Různé topologie
5.3.2008 Počítačové sítě 73
Směrování ve spojce (nepotřebuje BGP)
1. Jednoduše použít statické směrování2. Vytvořit implicitní cestu dynamicky pomocí IGP
(RIP, OSPF)3. Použít BGP
Pravděpodobně mít falešný AS, existují privátní AS čísla a ISP tranzitní systém může jednoduše neinzerovat, místo toho udělá spojku se jeví jako součást AS směrovacího prostoru
5.3.2008 Počítačové sítě 74
BGP jako směrovací protokol
Směrování podle vektoru vzdáleností (DVA) Základní BGP logická oprava obsahuje:
(IP síť, subsíťovou masku, atributy) Zjednodušený pohled
Směrovací rozhodování jsou založena na atributech (na více) + manuální konfigurace
Jeden atribut je vektor, tj. AS cesta, vyjádřená jako kompletní „source route“ AS
Např. do sítě 1.2.3.4 před AS 1,2,3,4,5
5.3.2008 Počítačové sítě 75
BGP AS cesty z A7 do A1 a N1
1. Do N1 přes AS5,AS3,AS1, …2. Do N1 přes AS5,AS2,AS1, ...3. Do N1 přes
AS4,AS5,AS3,AS1, …4. Do N1 přes
AS4,AS5,AS2,AS1, …
• Implicitně se zvolí cesta nejmenší počtem mezilehlých uzlů
• Pokud nastane změna v topologii, vybere se náhradní cesta
Čísla sítí jsou stejná s čísly AS
5.3.2008 Počítačové sítě 76
BGP zpracování strategie směrování
vstupnístrategie
Rozhodovací proces
Vybranécesty
výstupnístrategie
BGP směrovač
Směrovacítabulka
Opravy směrováníz BGP směrovačů
Opravy směrování
do BGP směrovačů
5.3.2008 Počítačové sítě 77
BGP zprávy
BGP zprávy jsou přenášeny pomocí TCP (port 179) – spolehlivý přenos dat
BGP zprávy OPEN: otevření spojení k protějšku a ověřování vysílače UPDATE: nabízí novou cestu (nebo odstraňuje starou) KEEPALIVE: udržuje spojení při životě pokud nechodí
zprávy UPDATE. Také potvrzení požadavky OPEN NOTIFICATION: oznamuje chyby předcházející zprávy,
také použita pro uzavření spojení
Internet multicast
5.3.2008 Počítačové sítě 79
Broadcast, multicast, unicast
Broadcast Posílání kopie všem Jednoduché ale neefektivní Zprávu musí zpracovat všichni, i když je to nezajímá Zbytečné zatěžování CPU Zbytečné zatěžování sítě
Replikovaný unicast Vysílač postupně posílá kopii každému příjemci Příjemci musí být registrováni u vysílače Vysílač je středem pro řízení Spolehlivost – pro každý přijímač oddělený proces nebo stav ve
vysílači
5.3.2008 Počítačové sítě 80
Multicast – Efektivní distribuce dat
zdroj zdroj
5.3.2008 Počítačové sítě 81
Aplikace multicastu
Obnova textových informací (noviny, sport, počasí, …) Distance learning Konfigurace skupin zařízení Telekonferencing (zvuk, video, sdílená tabule, textový
editor, …) Distribuované interaktivní hry a simulace Doručování el.pošty Distribuce programového vybavení Obnova vyrovnávacích pamětí (cache) Replikace databází
5.3.2008 Počítačové sítě 82
Architektura IP multicastu
počítače
směrovače
Protokol pro registraci hostů(IGMP)
Protokoly pro směrování - interní, externí
(PIM, MOSPF, DVMRP, BGMP)
Servisní model(adresování, zpracování dat)
5.3.2008 Počítačové sítě 83
Architektura IP multicastu
Organizace hostitelského systému Povolení přijímat multicast, definice multicast adresy na MAC
úrovni
Organizace lokální směrovač – hostitelský systém Protokoly pro organizaci skupin IGMP (Internet Group Management Protocol)
Verze 1 – pouze registrace/uvolnění (RFC 1112) Verze 2 – připojení/odpojení zprávou (RFC 2236) Verze 3 – podpora SSM (RFC3376)
Skupinové směrování Protokoly pro skupinové směrování (PIM-DM, PIM-SM, BGMP)
5.3.2008 Počítačové sítě 84
Mapování IP síťových adres na MAC multicast adresy
RFC 1112 definuje Pro Ethernet a FDDI adresní prefix 01:00:5E Mapuje nižších 23 bitů skupinové IP adresy přímo na MAC
adresu Token Ring používá funkční adresu c000.4000.0000
5.3.2008 Počítačové sítě 85
Určení rozsahu doručování
Implicitní Použití link-local adresy Neopustí podsíť
Omezení rozsahu založené na TTL Multicast směrovače mají nastaven práh (TTL práh) Jestliže je TTL ≤ TTL práh, je datagram zahozen
Administrativní omezení Použití skupiny adres 239.0.0.0 až 239.255.255.255 Omezení na administrativní doménu V IPv6 je rozsah součástí atributu uvedeného v adrese
5.3.2008 Počítačové sítě 86
Rozdělení skupinových adres (RFC3171)
224.0.0.0 - 224.0.0.255 (224.0.0/24) Local Network Control Block
224.0.1.0 - 224.0.1.255 (224.0.1/24) Internetwork Control Block
224.0.2.0 - 224.0.255.0 AD-HOC Block
224.1.0.0 - 224.1.255.255 (224.1/16) ST Multicast Groups
224.2.0.0 - 224.2.255.255 (224.2/16) SDP/SAP Block
224.252.0.0 - 224.255.255.255 DIS Transient Block
225.0.0.0 - 231.255.255.255 RESERVED
232.0.0.0 - 232.255.255.255 (232/8) Source Specific Multicast Block
233.0.0.0 - 233.255.255.255 (233/8) GLOP Block (233.X.Y.0)
234.0.0.0 - 238.255.255.255 RESERVED
239.0.0.0 - 239.255.255.255 (239/8) Administratively Scoped Block
5.3.2008 Počítačové sítě 87
IGMPv1
Dotazování Na subsíti je vybrán jeden směrovač pro údržbu skupin Výzva je posílána na adresu 224.0.0.1 s TTL=1 Výzva se posílá v intervalu 60 až 120s (60 až 90s)
Odpověď IGMP report posílá pro každou skupinu pouze jeden host - ostatní se
odpovědi zdrží, když za ně odpovídá jiný Zajištěno tak, že odpověď není okamžitá, ale zpožděná o cca 5 až 10s Odpověď je posílána na skupinovou adresu. Při přistoupení ke skupině posílá host odpověď bez vyzvání
Detekce existence skupiny Pokud se nikdo neozve, skupina asi neexistuje
5.3.2008 Počítačové sítě 88
IGMPv1
Připojení se ke skupině
Formát IGMP packetu Version (4) Typ (4) Unused (8) IGMP checksum (16) Group address (32)
Typ Host Membership Query (1) Host membership Report (2) DVMRP (3)
5.3.2008 Počítačové sítě 89
IGMPv2
Hostitelský systém posílá zprávu o opuštění skupiny Leave message na adresu „all routers“ 224.0.0.2 Zkrátí se doba pro detekci prázdné skupiny
Směrovač reaguje specifickou výzvou (specifická skupinová adresa) aby se ujistil, není-li skupina prázdná Je-li skupina prázdná, přestává do subsítě posílat další multicast
zprávy
5.3.2008 Počítačové sítě 90
IGMPv2
Formát IGMP packetu Typ (8) MaxResponseTime (8)
Max čas pro odpověď v násobcích 0.1s
IGMP checksum (16) Group address (32)
Type GroupMembershipQuery (0x11)
General group-specific
Membership Report ver.1 (0x12) Membership Report ver.2 (0x16) Leave Group (0x17) Multicast Router Advertisement
(0x24) Multicast Router Solicitation (0x25) Multicast Router Termination (0x26)
5.3.2008 Počítačové sítě 91
IGMPv3 Formát rámce MemberhipQuery
General Query (GroupAddress = 0.0.0.0, N=0) GroupSpecificQuery (GroupAddress = addr, N=0) Group and Source Specific Query (GroupAddress = addr,
SourceAddress = SourceAddrs)
5.3.2008 Počítačové sítě 92
Multicast modely
ASM – Any Source Multicast Může být více zdrojů, které se nerozlišují Jeden nebo více zdrojů, jedna skupina
SSM – Source Specific Multicast Může být více zdrojů, které se však při doručování rozlišují
5.3.2008 Počítačové sítě 93
Protokoly pro skupinové směrování
DVMRP – Distance Vector Multicast Routing protocol Jeden z prvních protokolů pro skupinové doručování Pouze pro „hustý režim“ – dense mode Používá záplavové doručování a ořezávání hran Explicitní připojení subsítě Používá source-based distribuční stromy
5.3.2008 Počítačové sítě 94
Protokoly pro skupinové směrování
MOSPF – Multicast OSPF Opět „hustý“ dense mode Připojování pomocí zpráv Join Není třeba neustále šířit data záplavou (flood) od každého zdroje
do každé podsítě Používá source-based distribuční stromy
5.3.2008 Počítačové sítě 95
Protokoly pro skupinové směrování
PIM-DM – Protocol Independent Multicast – Dense Mode Hustý režim znamená, že se implicitně doručuje vše do všech
subsítí Nemůže se používat společně se PIM-SM – Sparse mode (řídký
režim), ale existuje kombinace SM-DM Může použít libovolný směrovací protokol k zjišťování RPF
(Reverse Path Forwarding) – zjišťování nejkratší cesty ke zdroji Používá source-based distribuční stromy Směrovače používají záplavové směrování s odřezáváním
(flood-and-prune) Existuje i explicitní Join zpráva
5.3.2008 Počítačové sítě 96
Protokoly pro skupinové směrování
PIM-SM – Protocol Independent Multicast – Sparse Mode Řídký režim znamená, že protokol používá explicitní Join zprávu
pro připojení toku do subsítě RPF je nezávislé na konkrétním směrovacím protokolu Doručovací stromy se budují mezi příjemcem a RP (Randevous
Point) – univerzální (ASM – Any Source Multicast) strom Pokud je cesta ke konkrétnímu zdroji kratší, přechází PIM-SM od
ASM ke SSM (Source Specific Multicast)
5.3.2008 Počítačové sítě 97
Protokoly pro skupinové směrování
CBT – Core Based Tree (RFC 2201 – Experimental Standard) Přebírá charakteristiky PIM-SM
Řídký režim, explicitní připojení, sdílené doručovací stromy Efektivnější při vyhledávání zdrojů než PIM-SM Vytváří infrastrukturu (páteř) pro doručování multicast zpráv Není komerčně používán
5.3.2008 Počítačové sítě 98
Core Based Tree
5.3.2008 Počítačové sítě 99
Core Based Tree
5.3.2008 Počítačové sítě 100
Porovnání protokolů pro skupinové směrování
Protocol Dense Mode?
Sparse Mode?
Implicit Join?
Explicit Join?
(S,G)
SBT?
(*,G) shared tree?
DVMRP Yes No Yes No Yes No
MOSPF Yes No No Yes Yes No
PIM-DM Yes No Yes No Yes No
PIM-SM No Yes No Yes Yes, maybe
Yes, initially
CBT No Yes No Yes No Yes
5.3.2008 Počítačové sítě 101
PIM – Protocol Independent Multicast
Existuje ve dvou verzích, lišících se formátem rámců PIM-DM v1 – používá IGMP rámce (nemá RFC) PIM-DM v2 – vlastní rámce (IP protokol 103) (RFC 3973) Mohou koexistovat na tomtéž směrovači nebo tomtéž rozhraní
PIM-SM (RFC 2362, RFC 4601) Zavádí RP (Randevous Points) Více RP – zvýšení odolnosti proti chybám Provádí se RP-to-group mapping
Host požaduje připojení ke skupině prostřednictvím multicast směrovače podsítě
Multicast směrovač podsítě hledá RP Řízeno BSR (Broadcast Router), PIM bootstrap protocol
5.3.2008 Počítačové sítě 102
Režimy PIM
Dva základní režimy Sparse mode Dense mode
Může pracovat také v sparse-dense mode Nějaká skupina konfigurována pro sparse mode (flood-and-
prune), (S,G) stavy Jiné konfigurovány pro sparse mode (explicitní připojení k RP),
(*,G) stavy
PIM source-specific mode (PIM-SSM) Pouze jeden zdroj pro multicast v dané doméně
5.3.2008 Počítačové sítě 103
PIM-DM
Použitelný pro LAN skupinové aplikace Používá tentýž flood-and-prune mechanizmus jako
DVMRP Rozdíl je v tom, že PIM nemá vlastní směrovací protokol PIM používá tabulky směrovacího protokolu pro
individuální směrování Dat využívá pro realizaci RPF (Reverse Path
Forwarding) mechanizmu
5.3.2008 Počítačové sítě 104
PIM zprávy
Hello Vytvoření sousedství multicast směrovačů Vysílají se periodicky (Hold time – doba dosažitelnosti, DR priority –
výběr DR, Generation ID – náhodné číslo – detekce reaktivace) Join/Prune
Seznam připojovaných a odpojovaných adres pro dané skupiny Záplavově se připojuje po 3min.
Graft/GraftACK Mnohabodové sítě, znovupřipojení po jedné po odpojení (prune) druhé
(3s) Assert
Po detekci duplicitních cest do společné sítě posílají směrovače zprávu assert – výběr jednoho z nich. Následuje jakoby prune (3min)
5.3.2008 Počítačové sítě 105
Příklad PIM-DM
5.3.2008 Počítačové sítě 106
Příklad PIM-DM
5.3.2008 Počítačové sítě 107
Příklad PIM-DM
5.3.2008 Počítačové sítě 108
Příklad PIM-DM
5.3.2008 Počítačové sítě 109
Příklad PIM-DM
5.3.2008 Počítačové sítě 110
Příklad PIM-DM
5.3.2008 Počítačové sítě 111
Příklad PIM-DM
5.3.2008 Počítačové sítě 112
Příklad PIM-DM
5.3.2008 Počítačové sítě 113
Příklad PIM-DM
5.3.2008 Počítačové sítě 114
PIM-SM
Směrovače na straně přijímačů se připojují k PIM-SM stromu s pomocí explicitních zpráv JOIN
PIM-SM RP jsou směrovače, kde se lze připojit na zdroje vysílání
Vysílače se registrují u jednoho nebo více RP, přijímače hledají na RP vysílání
V prvou chvíli se příjemce připojí přes další směrovače k RP
Poslední směrovač u příjemce může připojení ke zdroji optimalizovat (sdílený strom – source-based strom)
Prevence přetížení RP
5.3.2008 Počítačové sítě 115
PIM-SM
5.3.2008 Počítačové sítě 116
PIM-SM
5.3.2008 Počítačové sítě 117
PIM-SM
5.3.2008 Počítačové sítě 118
Příklad- PIM-SM
5.3.2008 Počítačové sítě 119
Příklad- PIM-SM
5.3.2008 Počítačové sítě 120
Příklad- PIM-SM
5.3.2008 Počítačové sítě 121
Příklad- PIM-SM
5.3.2008 Počítačové sítě 122
Příklad- PIM-SM
5.3.2008 Počítačové sítě 123
Příklad- PIM-SM
5.3.2008 Počítačové sítě 124
Příklad- PIM-SM
5.3.2008 Počítačové sítě 125
Příklad- PIM-SM
5.3.2008 Počítačové sítě 126
Příklad- PIM-SM
5.3.2008 Počítačové sítě 127
Příklad- PIM-SM
5.3.2008 Počítačové sítě 128
Příklad- PIM-SM
5.3.2008 Počítačové sítě 129
Příklad- PIM-SM
5.3.2008 Počítačové sítě 130
Příklad- PIM-SM
5.3.2008 Počítačové sítě 131
PIM-SSM
Předpokládá jeden zdroj vysílání pro skupinu (SSM) Např. videokonference, vysílání televize, rozhlasu
Jednodušší než PIM-SM Může budovat jeden optimální doručovací strom od
zdroje vysílání
5.3.2008 Počítačové sítě 132
Multicast mezi oblastmi
V jedné AS (Autonomous System) jeden RP (Randevous Point)
Uvnitř používá interní protokol směrování (PIM-SM, DVMRP)
Dvě možnosti řešení MSDP (Multicast Discovery Protocol) – distribuce informace o
doručovacích stromech BGMP (Border Gateway Multicast Protocol) – sdílení stromů
mezi doménami
5.3.2008 Počítačové sítě 133
MSDP Multicast Source Discovery Protocol
Spojuje PIM-SM oblasti (AS) RP využívá MSDP ke zjišťování zdrojů v ostatních
oblastech Může do těchto oblastí posílat PIM join požadavky
(pokud jsou lokální příjemci) Vytváření doručovacího stromu MSDP RP jsou propojeny pomocí TCP Periodicky posílají zprávy „source active“ Pracuje efektivně pokud existuje několik vysílačů
5.3.2008 Počítačové sítě 134
MSDP Multicast Source Discovery Protocol
5.3.2008 Počítačové sítě 135
BGMPBorder Gateway Multicast Routing protocol
Vytváří sdílený strom pro každou skupinu Mezi členy BGP se přenáší data pomocí TCP Distribuuje cesty do AS
5.3.2008 Počítačové sítě 136
BGMPBorder Gateway Multicast Routing Protocol
5.3.2008 Počítačové sítě 137
Přidělování multicast adres
Dynamické přidělování adres v AS Klient/server protokol MADCAP (Multicast Address
Dynamic Client Allocation protocol), UDP Obdoba DHCP pro unicast adresy (DISCOVER,
REQUEST, RELEASE, ACK) Podobné složení přenášených zpráv Pronájem, prodložení pronájmu, uvolnění Rozsah přidělování 239.251.0.0/16 Administratively
Scoped Block) Mimo zůstávají
239.248.0.0/16, 239.249.0.0/16 a 239.250.0.0/16
5.3.2008 Počítačové sítě 138
Přidělování multicast adres
MASC – Multicast Address Set Claim Dle BGP modelu (mezi doménami) Protokol pro hierarchické rozdělování prostoru adres
(RFC2909) Rozdělení globálního multicast prostoru na menší
souvislé bloky pro jednotlivé ISP
5.3.2008 Počítačové sítě 139
Přidělování multicast adres