38
Rodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální fakulta, Univerzita Karlova, Praha ást 6: IP smrování

Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

Rodina protokol�TCP/IPv. 2.2

Rodina protokol� TCP/IP, verze 2.2

Ji�í Peterka, 2005

Katedra softwarového inženýrství,Matematicko-fyzikální fakulta,Univerzita Karlova, Praha

�ást 6: IP sm�rování

Page 2: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 2

Rodina protokol�TCP/IPv. 2.2 Co je sm�rování (routing)?

• striktn� vzato:– volba sm�ru pro další p�edání

paketu/datagramu• ve skute�nosti to zahrnuje:

– výpo�et optimální cesty• je to kombinatorický problém hledání

nejkratší cesty v grafu• výsledkem jsou "podklady pro volbu

sm�ru"

– uchovávání sm�rovacích informací("podklad�")

• vedení sm�rovacích tabulek

– p�edávání paket� (forwarding)• používání výsledk� výpo�t�

("podklad�")

– udržování sm�rovacích informací

• co všechno s tím dále souvisí?– celková koncepce sm�rování– celková koncepce internetu

• katenetový model• které uzly se ú�astní• historický vývoj

– p�ímé a nep�ímé sm�rování– metody optimalizace

sm�rovacích tabulek– �ešení sm�rování v opravdu

velkých systémech• autonomní systémy

– sm�rovací politiky– …..

Page 3: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 3

Rodina protokol�TCP/IPv. 2.2 Celková koncepce sm�rování

• statické sm�rování– obsah sm�rovacích tabulek má statický

charakter a nem�ní se• vyžaduje to ru�ní konfiguraci sm�rova��

(jejich sm�rovacích tabulek)– což je pracné a náchylné k chybám

• nereaguje to na zm�ny v síti– dostupnost n�jaké sít� není závislá na stavu

spojení

• používá se jen výjime�n�:– pro definování tzv. implicitních cest

• default route– pro zavedení sm�r� které nejsou inzerovány

• nap�íklad v rámci firewall�– pro implementaci speciálních sm�rovacích

politik• kdy je zám�rem reagovat na sm�rovací

informace jinak než obvykle– jako obrana proti nekorektním sm�rovacím

informacím– …..

• dynamické sm�rování– obsah sm�rovacích tabulek má dynamický

charakter a m�ní se• �asto je základ konfigurace vytvá�en

staticky, ru�ní konfigurací sm�rova��– nap�. implicitní cesty

• ostatní údaje se pr�b�žn� aktualizují

• existují dv� základní varianty dynamického sm�rování

– vector-distance routing• sousední sm�rova�e si p�edávají celé své

sm�rovací tabulky (obsahující "vzdálenostnívektory")

• je h��e škálovatelné a mén� stabilní, p�estáváse používat

– link-state routing• sm�rova�e si p�edávají jen údaje o

pr�chodnosti cest k soused�m• lépe škálovatelné, používá se ….

Page 4: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 4

Rodina protokol�TCP/IPv. 2.2 P�ipomenutí: koncepce internetu

• internet je budován na principu katenetu– je soustavou vzájemn� propojených

sítí– jednotlivé sít� jsou odd�leny

sm�rova�i

• "p�edávání" paket� (forwarding):– má na starosti protokol IP

• aktualizaci sm�rovacích informací, výpo�ty cest:– zajiš�ují specializované protokoly

jako RIP, OSPF, ..

p�edstava katenetu

skute�ná sí�

= IP sí�

= IP Router (sm�rova�)

Page 5: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 5

Rodina protokol�TCP/IPv. 2.2

P�ipomenutí: hostitelské po�íta�e vs. sm�rova�e

• TCP/IP p�edpokládá, dva typy uzl� v síti:– hostitelské po�íta�e (host computers)

• tj. koncové uzly, nap�. servery, pracovnístanice, PC, r�zná za�ízení (tiskárny, …)

• jsou p�ipojeny jen do jedné IP sít� (majíjen jednu sí�ovou adresu)

– sm�rova�e (IP Routers)• jsou p�ipojeny nejmén� do dvou IP sítí• zajiš�ují "p�estup" (sm�rování)

• teze:

– oba typy uzl� by se nem�ly prolínat

• sm�rova�e by nem�ly plnit další funkce• hostitelské po�íta�e by nem�ly fungovat

jako sm�rova�e– v podob� tzv. multihomed-hosts, kdy jsou

p�ipojeny do více sítí sou�asn�

= sm�rova�

+ + + =hostitelsképo�íta�e(hosts)

= multihomed host

IP sí� IP sí�

IP sí�

IP sí� IP sí�

Page 6: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 6

Rodina protokol�TCP/IPv. 2.2 P�ímé a nep�ímé doru�ování

• p�ímé doru�ování:– odesilatel a p�íjemce se nachází ve

stejné IP síti• pozná se podle toho, že mají stejnou

sí�ovou �ást své IP adresy– odpadá rozhodování o volb� sm�ru, o

doru�ení se dokáže postarat linkovávrstva (vrstva sí�ového rozhraní)

• odesilatel pošle datagram "p�ímo" koncovému p�íjemci

• nep�ímé doru�ování– odesilatel a p�íjemce se nachází v

r�zných IP sítích– odesilatel musí ur�it nejvhodn�jší

odchozí sm�r (resp. sm�rova� ležící v tomto sm�ru)

• odesilatel pošle datagramu sm�rova�ive zvoleném odchozím sm�ru

IP sí� IP sí�

p�ímé doru�ení

nep�ímé doru�ení

sm�rova�

Page 7: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 7

Rodina protokol�TCP/IPv. 2.2 P�edstava p�ímého doru�ování

• odesilatel rozd�lí cílovou adresu na jejísí�ovou �ást a relativní �ást

– použije d�lení, platné pro jeho vlastní sí�• masku sít�, CIDR prefix, event. vyjde z

t�ídy adresy– získá sí�ovou �ást adresy p�íjemce

• pokud se sí�ová �ást adresy p�íjemce shoduje se sí�ovou �ástí vlastní adresy, jde o p�ímé doru�ování

• odesilatel p�evede IP adresu p�íjemce na jeho linkovou adresu

– provede "Address Resolution", nap�. pomocí protokolu ARP

– získá linkovou adresu XX• odesilatel (jeho sí�ová vrstva) p�edá

datagram vrstv� sí�ového rozhraní s požadavkem na doru�ení na adresu XX

IP sí�(192.168.0)

p�ímé doru�ení

192.168.0.1 192.168.0.3

192.168.0.3

adresa p�íjemce

192.168.0 + 3

192.168.0

=

sí�ová �ást adresy

odesilatele

+-IP datagram

addressresolution

linkový rámec

xx

odesilatel

p�íjemce

Page 8: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 8

Rodina protokol�TCP/IPv. 2.2 P�edstava nep�ímého doru�ování

• porovnáním sí�ových �ástíadres odesilatel zjistí, že se p�íjemce nachází v jiné síti

• odesilatel se "podívá" do svésm�rovací tabulky a podle nízvolí odchozí sm�r

– sm�rova� v odchozímsm�ru

• odešle datagram zvolenému sm�rova�i

– již se jedná o p�ímédoru�ení

IP sí�(192.168.0)

nep�ímé doru�ení

192.168.0.1 192.168.1.3

192.168.1.3adresa p�íjemce

192.168.1 + 3

192.168.0

=

sí�ová �ást adresy

odesilatele

+-

192.168.0.2

volba odchozího sm�ruvolba odchozího sm�ru

p�es sm�rova� 192.168.0.2

IP sí�(192.168.1)

p�ímé doru�ováníp�ímé doru�ování

192.168.1 192.168.0.2

pro sí�

…….

sm�rovací tabulkaposílej p�es

p�edchozí p�ípad

Page 9: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 9

Rodina protokol�TCP/IPv. 2.2 P�edstava sm�rovacích tabulek

• ve sm�rovací tabulce se nenacházíúplná cesta k cíli, ale pouze "next hop"– adresa nejbližšího sm�rova�e

• prefix v adrese cílové sít� odpovídámasce – "CIDR prefix" vyjad�uje po�et

jedni�kových bitu masky

IP sí�(192.168.0)

IP sí�(192.168.1)

IP sí�(192.168.2)

IP sí�(192.168.3)

IP sí�(192.168.4)

IP sí�(192.168.5)

IP sí�(192.168.6)

IP sí�(192.168.7)

192.168.0.4192.168.7/24

192.168.0.4192.168.6/24

192.168.0.4192.168.5/24

192.168.0.4192.168.4/24

192.168.0.5192.168.3/24

192.168.0.4192.168.2/24

192.168.0.3192.168.1/24

sm�ruj p�ímo192.168.0/24

posílej p�escílová sí�/prefix

192.168.0.3

192.168.0.5192.168.0.4

sm�rovací tabulka uzlujsou to adresy nejbližšího p�eskoku

(next hop)

Page 10: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 10

Rodina protokol�TCP/IPv. 2.2

Optimalizace sm�rovacích tabulek(agregace položek)

IP sí�(192.168.0)

IP sí�(192.168.1)

IP sí�(192.168.2)

IP sí�(192.168.3)

IP sí�(192.168.4)

IP sí�(192.168.5)

IP sí�(192.168.6)

IP sí�(192.168.7)

192.168.0.4192.168.7/24

192.168.0.4192.168.6/24

192.168.0.4192.168.5/24

192.168.0.4192.168.4/24

192.168.0.5192.168.3/24

192.168.0.4192.168.2/24

192.168.0.3192.168.1/24

sm�ruj p�ímo192.168.0/24

posílej p�escílová sí�/prefix

192.168.0.3

192.168.0.5192.168.0.4

sm�rovací tabulka uzlu • celou skupinu sítí lze slou�it (agregovat) do v�tšího CIDR bloku

192.168.0.4192.168.4/22192.168.0.5192.168.3/24

192.168.0.4192.168.2/24

192.168.0.3192.168.1/24

sm�ruj p�ímo192.168.0/24

posílej p�escílová sí�/prefix

192.168.00000100192.168.00000101192.168.00000110192.168.00000111

192.168.000001xx22 bit�24 bit�

Page 11: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 11

Rodina protokol�TCP/IPv. 2.2

Optimalizace sm�rovacích tabulek(implicitní cesty – default route)

IP sí�(192.168.0)

IP sí�(192.168.1)

IP sí�(192.168.2)

IP sí�(192.168.3)

IP sí�(192.168.4)

IP sí�(192.168.5)

IP sí�(192.168.6)

IP sí�(192.168.7)

192.168.0.3

192.168.0.5192.168.0.4

sm�rovací tabulka uzlu• v p�ípad� stromovité topologie lze

definovat implicitní cestu (default route), vedoucí "nahoru"

192.168.0.4všechno ostatní

192.168.0.5192.168.3/24

192.168.0.3192.168.1/24

doru� p�ímo192.168.0/24

posílej p�escílová sí�/prefix192.168.0.4192.168.4/22192.168.0.5192.168.3/24

192.168.0.4192.168.2/24

192.168.0.3192.168.1/24

doru� p�ímo192.168.0/24

posílej p�escílová sí�/prefix

IP sí�(192.168.0)

IP sí�(192.168.1)

IP sí�(192.168.3)

192.168.0.4

192.168.0.5 192.168.0.3

Page 12: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 12

Rodina protokol�TCP/IPv. 2.2 Host-specific route

• pomocí masky (prefixu) lze do sm�rovacích tabulek zavést i specifickésm�rovací informace, týkající se jednotlivých uzl�– tzv. host-specific route

• lze to využít p�i redundantním p�ipojenínap�íklad pro odlišné sm�rování dat sm��ujících k n�jakému serveru

IP sí�(192.168.0)

IP sí�(192.168.1)

IP sí�(192.168.2)

IP sí�(192.168.3)

IP sí�(192.168.4)

IP sí�(192.168.5)

IP sí�(192.168.6)

192.168.0.3192.168.6.99/32

192.168.0.4192.168.6/24

….….

192.168.0.5192.168.3/24

192.168.0.4192.168.2/24

192.168.0.3192.168.1/24

doru� p�ímo192.168.0/24

posílej p�escílová sí�/prefix

192.168.0.3

192.168.0.5192.168.0.4

sm�rovací tabulka uzlu

192.168.6.99

"host-specific route" k uzlu 192.168.6.99"host-specific route" k uzlu 192.168.6.99

Page 13: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 13

Rodina protokol�TCP/IPv. 2.2 Pravidla sm�rování

• "host-specific route" by m�ly být používány jen výjime�n�– velmi zv�tšují objemy

sm�rovacích tabulek– musí se vyhodnocovat jako první

• snaha je rozhodovat p�i sm�rovánípodle p�íslušnosti cílového uzlu k ur�ité síti– pak posta�uje menší po�et

položek sm�rovacích tabulek• agregace položek pomáhá

snižovat objem sm�rovacích tabulek– pomáhá i používání "default

route" • default route odpovídá prefixu 0

• pravidlo pro prohledávánísm�rovacích tabulek:– postupuj od nejvíce konkrétního k

nejmén� konkrétnímu– tedy: nejprve hledej položku s

nejv�tším prefixem, postupuj k menším prefix�m

192.168.0.1x/0 (ostatní)

192.168.0.4192.168.4/22

192.168.0.5192.168.3/24

192.168.0.3192.168.6.99/32

posílej p�escílová sí�/prefix

p�íklad:

host-specific route

default route

postup prohledávání

Page 14: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 14

Rodina protokol�TCP/IPv. 2.2 Základní algoritmus sm�rování

• vezmi Id (“plnou” IP adresu p�íjemce), a zjisti zda se p�íjemce nachází ve stejné síti jako ty …– pokud ano, použij p�ímé doru�ování. Jinak ....

• za�ni prohledávat sm�rovací tabulku postupn� podle velikosti prefixu – pokud se hodnota v prefixu práv� prohledávané položky shoduje se

stejnolehlou �ástí Id (p�íslušným po�tem vyšších bit�), doru�uj nep�ímo dle této položky. Jinak pokra�uj další položkou, pokud existuje ...

• existuje-li implicitní cesta (default route)– použij tuto cestu. Jinak ...

• skon�i chybou– generuj ICMP zprávu "Destination Unreachable"

Page 15: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 15

Rodina protokol�TCP/IPv. 2.2

Role hostitelských po�íta�� a sm�rova��

• sm�rova�e:– ú�astní se všech �inností v

rámci sm�rování• v�etn� aktualizace

sm�rovacích informací

• hostitelské po�íta�e:– také musí volit sm�r p�enosu

paketu– vedou si sm�rovací informace ve

svých sm�rovacích tabulkách • a využívají je – aplikují

základní algoritmus sm�rování– ale neú�astní se aktualizace

sm�rovacích informací !!!

IP protokolIP protokol

sm�rova�hostitelskýpo�íta�IP sí�

když se hostitelský po�íta� "chová špatn�",sm�rova� jej "pou�í" (poskytne mu správné

sm�rovací informace)

když se hostitelský po�íta� "chová špatn�",sm�rova� jej "pou�í" (poskytne mu správné

sm�rovací informace)

Page 16: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 16

Rodina protokol�TCP/IPv. 2.2 P�íklad

• "na po�átku" musí každý hostitelský po�íta� znát alespo� jeden sm�rova� "vedoucíven" ze sít� ve které se nachází

– nech� host A zná sm�rova� X (ale nikoli sm�rova� Y)• pot�ebuje-li host A poslat n�co hostu B, pozná že jde o nep�ímé doru�ování a pošle to

sm�rova�i X• sm�rova� X pozná, že neleží na nejvhodn�jší cest� mezi hostem A a hostem B

– upozorní hosta A na vhodn�jší (kratší) cestu – na existenci sm�rova�e Y

IP sí�

IP sí�

IP sí�host A

host B

host Csm�rova� X

sm�rova� Y

od A pro B

Page 17: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 17

Rodina protokol�TCP/IPv. 2.2 ICMP Redirect

• sm�rova� X se postará o správné doru�ení IP datagramu k uzlu B– sám pošle data Sm�rova�i Y, ten se postará o doru�ení

• sm�rova� X pošle hostu A zprávu "ICMP Redirect" ve smyslu:– "datagramy pro uzel B p�íšt� posílej p�es sm�rova� Y"– host A by se m�l pou�it

• m�l by si zanést sm�rova� Y do své sm�rovací tabulky a p�íšt� jej použít

IP sí�

IP sí�

IP sí�host A

host B

host Csm�rova� X

sm�rova� Y

od A pro B

ICMP Redirect:pro B posílej p�es Y

Page 18: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 18

Rodina protokol�TCP/IPv. 2.2

IP header plus 64 bit� p�vodních dat zahozeného datagramu

IP adresa sm�rova�e

TYPE = 5

ICMP Redirect

• Jde o hlášení od sm�rova�e, že existuje lepší cesta pro doru�ení IP datagramu a vede p�es jiný sm�rova�– jeho IP adresa je uvedena

• CODE=0: zm�� sm�rování pro sí�, 1: zm�� sm�rování pro uzel• CODE=2: zm�� sm�rování pro sí� pro daný typ služby, 3: dtto, uzel&služba

• odesilatel (hostitelský po�íta�) by m�l zareagovat zanesením nového sm�rova�e do své sm�rovací tabulky– pokud tak neu�iní, nesprávn� oslovený sm�rova� má právo jej znovu upozornit,

ale nesmí jej odmítnout (musí vždy p�edat data správným sm�rem)

CODE = 0-3 CHECKSUM

0 8 16 31

Page 19: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 19

Rodina protokol�TCP/IPv. 2.2

nepoužito (nastaveno na 0)

TYPE = 10

ICMP Router Solicitation

• jde o "dotaz do pléna": jaké jsou tady sm�rova�e? – ICMP zpráva je rozesílána pomocí IP broadcastu všem uzl�m dané sít�

• odpov�� p�ináší informaci o dostupných sm�rova�ích v síti– (z�ejm�) je brána první odpov�� která dorazí, eventuelní neúplnost je �ešena

pomocí ICMP Redirect• umož�uje to, aby hostitelské po�íta�e nemusely "na po�átku" znát žádný

sm�rova�• sm�rova�e odpovídají na dotazy

– ale samy také generují odpov�di (advertisement) v náhodném intervalu mezi 450 až 600 vte�inami

CODE = 0 CHECKSUM

0 8 16 31

Page 20: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 20

Rodina protokol�TCP/IPv. 2.2

adresa sm�rova�e, preferenceadresa sm�rova�e, preference

po�et položek délka položky

TYPE = 9

ICMP Router Advertisement

• jde o odpov�� na Router Solicitation, nebo o samostatn�generovanou "reklamu" (advertisement)

• preference umož�ují p�íjemci stanovit, p�es který sm�rova�vede implicitní cesta (default route)– životnost �íká, jak dlouho má být záznam o sm�rova�i ponechán ve

sm�rovací tabulce p�íjemce

CODE = 0

životnost položek

CHECKSUM

0 8 16 31

Page 21: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 21

Rodina protokol�TCP/IPv. 2.2 Aktualizace sm�rovacích informací

• základní problém:– jak zajistit rychlou a správnou

reakci na zm�ny, tak aby s tím nebyla spojena p�íliš velká režie

• navíc: jak to ud�lat v rozsahu dnešního Internetu?

• je t�eba pr�b�žn� ší�it aktualiza�níinformace– ze kterých se pr�b�žn�

vypo�ítávají údaje (next hop) ve sm�rovacích tabulkách

– lze to �ešit na principu "vectordistance" nebo "link state"

• �ešení tohoto problému se m�nilo s vývojem Internetu– hlavn� v d�sledku jeho zv�tšování

• zpo�átku:– Internet byl malý, existovaly

centrální sm�rova�e s úplnou informací

• pozd�ji:– vznikla 2-úrov�ová struktura

• core smrova�e s úplnou informací• non-core sm�rova�e s neúplnou

informací

• ješt� pozd�ji– došlo k "dekompozici" Internetu

• vzniku tzv. autonomních systém�(AS), které v sob� lokalizujídetailní sm�rovací informace a neší�í je mimo sebe

Page 22: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 22

Rodina protokol�TCP/IPv. 2.2 Sm�rování v ranném Internetu

• existovala soustava tzv. core gateways(centrálních sm�rova��), nacházejících se v páte�ní �ásti Internetu

– tyto core gateways m�ly úplnou informaci o celé topologii Internetu

– byly centráln� spravovány (pov��enou organizací)

• ostatní sm�rova�e byly "non-coregateways"

– pracovali s neúplnou informací o topologii Internetu

• "znaly" jen sít� "pod sebou", provoz do ostatních sítí sm�rovaly p�es implicitnícesty do core gateways

– inzerovaly existenci "svých" sítí (sítí "pod sebou") sm�rem ke core gateways

A

B

C

D E

F G

páte� Internetu (ARPANET, NSFNET)

C o r e B u i ld e r 9 0 0 0Co re B u ild e r 9 0 0 0

C o r e B u i ld e r 9 0 0 0Co re B u ild e r 9 0 0 0

C o r e B u i ld e r 9 0 0 0Co re B u ild e r 9 0 0 0

non-coregateway

coregateway

zná pouze cestu k sítím D,E, F a G, ostatní posílá p�es default route

Page 23: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 23

Rodina protokol�TCP/IPv. 2.2 Sm�rování v ranném Internetu

• pro vzájemnou komunikaci centrálních sm�rova�� ("core gateways") byl vytvo�en protokol GGP– Gateway-to-Gateway Protocol

• pro komunikaci mezi centrálními a "ostatními" (vn�jšími) sm�rova�i byl vytvo�en protokol EGP– Exterior Gateway Protocol

• terminologie: – p�vodn� se IP sm�rova��m �íkalo "IP

Gateways"• proto GGP a EGP

• problém tohoto �ešení:– nebylo dostate�n� škálovatelné

A

B

páte� Internetu (ARPANET, NSFNET)

C o r e B u i ld e r 9 0 0 0Co re B u ild e r 9 0 0 0

C

D E

F G

C o r e B u i ld e r 9 0 0 0Co re B u ild e r 9 0 0 0

GGP

EGP EGP

Page 24: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 24

Rodina protokol�TCP/IPv. 2.2 Další vývoj – autonomní systémy

• s r�stem Internetu se �ešení s “coregateways” stalo neúnosné– úplná informace o celé topologii

Internetu je p�íliš velká, režie na distribuci této informace mezi všemi “core gateways” neúnosná

• “core gateways” nešlo donekone�na “nafukovat”– muselo se najít jiné �ešení

• souvislost: – Internet p�ešel do komer�ní sféry,

"sm�rovací politika" jednotlivých �ástí Internetu již nemusela být stejná

• bylo t�eba vyhov�t individuálním požadavk�m jednotlivých provider�m, požadavk�m na peering, ….

• princip "jiného �ešení"– "dekompozice" Internetu z

hlediska sm�rování– detailní ("úplná") sm�rovací

informace nebude ší�ena po celém Internetu

• resp. po páte�ní �ásti– ale z�stane lokalizována v

ur�itých oblastech• bude ší�ena pouze uvnit� t�chto

oblastí, ne mimo n�– tyto oblasti budou ší�it kolem

sebe pouze mnohem "menší" informace o dostupnosti

• jde o tzv. autonomní systémy

Page 25: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 25

Rodina protokol�TCP/IPv. 2.2 P�edstava autonomního systému

• autonomní systém "navenek" neinformuje o své vnit�ní struktu�e– ani o detailních sm�rovacích informací

• je "autonomní" v tom smyslu, že si m�že sám stanovit svou vlastní sm�rovacípolitiku– v�etn� toho, jakým zp�sobem je uvnit�

AS �ešena aktualizace sm�rovacích informací

• navenek autonomní systém zve�ej�uje pouze informace o dostupnosti– ve smyslu:

• AS1: "uvnit� mne se nachází sít� A až B"• AS2: "uvnit� mne se nachází sít� C až G"

A

B

C

D E

F G

páte�ní �ásti Internetu

autonomní systémAS1

autonomní systémAS2

je to typicky "intervalová informace" (od-do), tvo�enározsahem IP adres (resp. CIDR blok� náležejících do AS)

je to typicky "intervalová informace" (od-do), tvo�enározsahem IP adres (resp. CIDR blok� náležejících do AS)

Page 26: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 26

Rodina protokol�TCP/IPv. 2.2 P�edstava autonomního systému

• každý autonomní systém má ur�itý (malý) po�et vstupních/výstupních bod�– skrz tyto body se propojují s ostatními

autonomními systémy– skrz tyto body si vym��ují informace o

dostupnosti (o svém obsahu)• a také testují svou vzájemnou existenci

• p�vodn� musela být struktura autonomních systém� striktn� stromovitá– dnes již nemusí– každý AS si m�že sám zvolit, jak

("kudy") chce komunikovat s jinými autonomními systémy

• díky tomu je možný peering – p�ímépropojení autonomních systém�, obcházející implicitní propojení p�es páte�ní �ástiAS4

AS1

AS2

AS3

Page 27: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 27

Rodina protokol�TCP/IPv. 2.2 Dnešní struktura Internetu

NA

P

NA

Pvzájemn� alternativní páte�ní sít�

komunikace p�i neexistenci peeringu

komunikace p�i existenci

peeringu

autonomní systém(sí� providera)

autonomní systém(sí� upstream

providera)

Page 28: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 28

Rodina protokol�TCP/IPv. 2.2 Exterior Gateway Protocols

• mezi autonomními systém musí probíhat vým�na informací– o dostupnosti, existenci, "navazování

vzájemných vztah�", …)• k tomu jsou zapot�ebí vhodné protokoly• d�íve se používal protokol EGP (Exterior

Gateway Protocol)– byl šit na míru “centralizovanému

Internetu”, s jediným páte�ním autonomním systémem

– nep�ipoušt�l nic jiného než stromovitou strukturu

– nedokázal využít více alternativních “páte�ních AS”

• dnes je "Exterior Gateway Protocols" generické ozna�ení pro všechny protokoly, které zajiš�ují komunikaci mezi AS

• dnes se používá modern�jší protokol BGP (Border Gateway Protocol)

– napravuje nedostatky EGP– p�ipouští obecné propojení

autonomních systém�• ne pouze "do stromu"

– umož�uje stanovit r�zná kritéria p�i volb� mezi alternativními sm�ry

• správce AS m�že stanovit priority. nap�íklad v závislosti na rychlosti, kapacit� linek, spolehlivosti atd.

– podporuje CIDR– dnes verze BGP-4

Page 29: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 29

Rodina protokol�TCP/IPv. 2.2 IGP – Interior Gateway Protocols

• p�ipomenutí: uvnit� sebe sama si každý autonomní systém m�že �ešit sm�rování tak jak uzná za vhodné– m�že aplikovat vlastní sm�rovací

politiku– týká se to hlavn� aktualizace

sm�rovacích informací

• existuje více alternativních protokol�, které lze použít pro aktualizaci sm�rovacích informací uvnit� AS– obecn� jsou ozna�ovány jako

IGP (Interior Gateway Protocols)

• p�íklady protokol� IGP:– RIP (Routing Information

Protocol)• pracuje na principu "vector

distance"• vyvinut firmou Xerox ve

st�edisku PARC, použit mnoha firmami, používal se již v p�vodním ARPANETu

• vhodný pro malé až st�ednísít�, ne pro velké

– OSPF (Open Shortest PathFirst)

• pracuje na principu "linkstate"

• vhodný i pro v�tší sít� (v�tšíautonomní systémy)

Page 30: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 30

Rodina protokol�TCP/IPv. 2.2 RIP – Routing Information Protocol

• je typu vector-distance – uzly si vym��ují aktualizace tvo�ené

sm�rovým vektorem a jeho ohodnocením (vzdáleností k cíli)

• metrika je pevná, a to po�et p�eskok�!!• aktualizace (updaty):

– se vysílají každých 30 sekund• když do 180 sekund nep�ijde update od

n�jakého konkrétního (sousedního) routeru, jsou všechny cesty vedoucí p�es tento router ozna�eny jako nekone�n� dlouhé.

• po dalších 120 sekundách jsou odstran�ny z tabulky (nastoupí jakýsi garbage collector).

• výpo�et cest je distribuovaný– každý po�ítá kousek

– algoritmus probíhá trvale, nikdy nekon�í!!!

– každý je závislý na ostatních, chyba jednoho ovliv�uje druhé

• aktualizace (updaty): – posílají se jen k p�ímým soused�m (router�m)

• každý uzel se od svých soused� dozvídájen o dostupnosti cílových sítí (a metrice), ne o dalším routování za svými sousedy (nevidí dál než ke svým soused�m)

• nemá informace o celé topologii!!!– obsahují údaje o dostupnosti ostatních uzl� z

daného uzlu (s jakou cenou)• v zásad� jde o obsah celé sm�rovací tabulky

– alternativní cesty nejsou uvažovány, jsou zahazovány (tj. cesty se stejným ohodnocením)

• aby se zabránilo oscilacím, RIP aktualizuje n�jakou už existující cestu pouze takovou, která má nižší metriku!!! (nesta�í stejná)!!!

Page 31: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 31

Rodina protokol�TCP/IPv. 2.2 Protocol RIP

Zpráva RIP-u obsahuje:– pole Command, obsahuje bu� výzvu k zaslání routovacích

informací, nebo odpov�� na tuto výzvu. – pole Address Family (= 2 pro RIP)– pole "vzdálenost" musí obsahovat �íslo od 1 do 15, zatímco 16 je

považována za nekone�no.

Command Version (1) 0Address Family (=2) 0

IP adresa cílové sít�00

„vzdálenost do sít�“

až 25x

0 15 31

Page 32: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 32

Rodina protokol�TCP/IPv. 2.2 Protocol RIP – p�edstava fungování

• RIP je v TCP/IP je implementován jako aplikace (na aplika�ní úrovni)– jako démon "routed"– b�ží nad UDP– sedí na portu 520 (well-known

portu)– velikost každého RIP paketu je

max. 512 byt�

• výhoda:– je to jednoduché, nemusí se

konfigurovat• sta�í spustit démona routed, ten

již nastaví sm�rovací tabulky fyzická v.

linková v.

transportní v.

routed

sí�ová v.

sm�rovací.tabulky

fyzická v.

linková v.

transportní v.

routed

sí�ová v.

sm�rovací.tabulky

port 520

Page 33: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 33

Rodina protokol�TCP/IPv. 2.2 RIP2, RIPng

• v roce 1993 byl p�vodní RIP updatován– na verzi RIP-2

• nové vlastnosti/schopnosti:– podpora IP adres s maskami a CIDR– "Next Hop Specification"

• v RIP záznamu je explicitn� uvedena IP adresa sm�rova�e, p�es který vede spojení do cílové sít�

– zvyšuje efektivnost – umož�uje sm�rovat provoz i p�es

sm�rova�e, které nepodporují RIP

– autentizace• ochrana proti útok�m skrze falešné

RIP zprávy– "Route Tag"

• další informace o inzerované cest�

– použití multicastu pro rozesílání zpráv (RIP Response)

• zasílají se na adresu 224.0.0.9, která je vyhrazena pro RIP

• všechny uzly "v dosahu" musípodporovat multicast

• RIP-2 m�že koexistovat s RIP-1 – RIOP-2 vkládá svá nová data

do nevyužitých �ástí zpráv RIP-1

• v roce 1997 byl RIP upraven i pro IPv6– RIPng, RIPv6

• umož�uje používat IP adresy verze 6

• má jiný formát zpráv

Page 34: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 34

Rodina protokol�TCP/IPv. 2.2 Protokol OSPF (Open SPF)

• je "otev�enou verzí staršího protokolu SPF (Shortest Path First)– jeho specifickace jsou ve�ejn�

p�ístupné, pochází od IETF• je typu link-state

– každý uzel testuje dostupnost svých soused�

• stav linky– každý uzel sestavuje "link state

paket", ve kterém uvede údaje o dostupnosti svých soused�

• stav linky a její ohodnocení– tyto pakety jsou rozesílány všem

uzl�m v síti/soustav� sítí• sta�í ale jen p�i zm�n� n�jakého údaje

!!!!• jinak pro osv�žení každých 30 minut

• všechny uzly v síti mají úplnou informaci o jednotlivých spojích a mohou si vypo�ítat optimální cesty– každý po�ítá "za sebe", chybou ovlivní

jen sebe sama

• OSPF podporuje alternativní cesty– umož�uje definovat r�zné cesty pro

r�zné druhy provozu– podporuje load balancing

• OSPF podporuje další "dekompozici"– umož�uje rozd�lení sít� na menší

"areas", které jsou analogickéautonomním systém� v tom, že jejich topologie není ší�ena mimo danou "area"

• minimalizuje to objemy aktualiza�ních informací

Page 35: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 35

Rodina protokol�TCP/IPv. 2.2 Protokol OSPF – oblasti

• jde o vlastnost, která zv�tšuje "dosah" OSPF– umož�uje v�tší škálovatelnost, tj. realizovat AS

• celý autonomní systém se rozd�lí na (disjunktní) oblasti– jedna se prohlásí za páte�ní (backbone)

• sm�rova�e v oblastech se rozd�lí na – interní

• zajiš�ují sm�rování v rámci oblasti, mají stejné informace (navzájem)– páte�ní (Backbone)

• zajiš�ují sm�rování v rámci páte�ní oblasti– na rozhraní (Area Border)

• pat�í sou�asn� do oblasti i do páte�e, vym��ují informace mezi nimi– hrani�ní (Boundary)

• v páte�ní oblasti, vym��ují sm�rovací informace s jinými AS

Page 36: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 36

Rodina protokol�TCP/IPv. 2.2 P�íklad: hierarchické OSPF

Page 37: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 37

Rodina protokol�TCP/IPv. 2.2 Fungování OSPF

• každý OSPF sm�rova� si udržuje:– databázi p�ímých soused�

• každý ji má jinou• udržuje aktuální pomocí HELLO

paket�, které pravideln� posílá svým soused�m

– každých 10 sekund

– každý sm�rova� si udržuje "topologickou databázi"

• databázi s údaji o topologii celé sít�• všichni (v oblasti) by ji m�li mít

stejnou• pomocí této databáze po�ítá "nejkratší"

cesty– sm�rovací tabulky

• používají se pro samotné sm�rování IP paket�

• komunikace mezi OSPF sm�rova�i probíhá pomocíOSPF paket�– vkládají se p�ímo do IP paket�

• Protocol No. 89– existuje 5 druh� zpráv:

• Hello• Database Description• Link State Request• Link State Update• Link State Acknowledgement

Page 38: Rodina protokol TCP/IP, ást 6: IP smrováníRodina protokol TCP/IP v. 2.2 Rodina protokol TCP/IP, verze 2.2 Jií Peterka, 2005 Katedra softwarového inženýrství, Matematicko-fyzikální

J.Peterka, MFF UK, 2005 38

Rodina protokol�TCP/IPv. 2.2 Fungování OSPF

• "nový" sm�rova�:– nejprve zjistí, jaké má sousedy

• �eší se jinak v prost�edí s broadcastem, bez broadcastu a na dvoubodových spojích

– s každým sousedem si synchronizuje svou topologickou databázi

• pomocí p�íkaz�– Database Description– Link State Request– Link State Acknowledgement

– po úsp�šné synchronizaci oba sm�rova�eve dvojici "ohlásí sv�tu své sousedství"

• pomocí broadcastu oba rozešlou všem ostatním sm�rova��m v síti tzv. LSA (Link State Advertisement)

– informaci o existenci spojení (vazby, hrany) mezi nimi

– pomocí p�íkaz� Link State Update

• "již fungující" sm�rova�– trvale monitoruje dostupnost svých

p�ímých soused�• pomocí HELLO paket�, každých 10

sekund– pokud není zm�na:

• každých 30 minut opakuje všem své"sousedství"

– rozesílá LSA s údaji o dostupnosti souseda, pomocí broadcastu

– pokud je zm�na• okamžit� informuje o zm�n� pomocí

LSA (Link State Advertisement)– OSPF p�íkaz "Link State Update"

• LSA se ší�í jako inteligentníbroadcast– fakticky jako záplava (záplavové

sm�rování), s eliminací duplicitních paket�