570 likes | 829 Views
Višja strokovna šola Velenje. Informatika Murska Sobota. Računalniške komunikacije in omrežja II. Usmerjevalni protokoli. 3. predavanje. Predavatelj: dr. Iztok Fister E-pošta: iztok.fister@mdi2.net Gradivo na naslovu: ftp.scv.si. Murska Sobota, december 2009. Vsebina.
E N D
Višja strokovna šola Velenje Informatika Murska Sobota Računalniške komunikacije in omrežja II Usmerjevalni protokoli 3. predavanje • Predavatelj:dr. Iztok Fister • E-pošta:iztok.fister@mdi2.net • Gradivo na naslovu:ftp.scv.si Murska Sobota, december 2009
Vsebina • Osnovno usmerjanje IP • usmerjevalni procesi • avtonomni sistemi (AS) • Usmerjevalni algoritmi • statično IP usmerjanje • usmerjanje na osnovi vektorja razdalj • usmerjanje na osnovi stanja povezav • Notranji usmerjevalni protokoli • RIP, RIP-2 • Zunanji usmerjevalni protokoli • EGP, BGP
Osnovno usmerjanje IP 1/9 • Osnovna funkcija usmerjanja • vhodni IP datagram z drugačnim IP naslovom od lokalnega naslova gostitelja se obravnava kot običajni izhodni IP datagram. • Lastnosti: • omenjena funkcija je prisotna v vseh IP implementacijah (vloga vmesnega gostitelja), • vsak izhodni datagram je predmet usmerjevalnega algoritma lokalnega gostitelja, • usmerjevalni algoritem usmeri datagram proti vmesnemu gostitelju na poti do ponora, t.j. izbere naslednji skok (angl. hop), • naloga vmesnega gostitelja je, da posreduje IP datagram iz enega fizičnega omrežja v drugega.
Osnovno usmerjanje IP 2/9 • Osnovni pojmi pri usmerjanju • Most (angl. bridge): povezuje LAN segmente na plasti rač.omrežja (LLC). Med omrežji prenaša naslove MAC (Transparent Bridging). • Usmerjevalnik (angl. router): povezuje omrežja na omrežni plasti. Med omrežji prenaša naslove IP (IP routing). • Prehod (angl. gateway): povezuje omrežja na aplikacijski plasti. Podpira preslikavo naslovov iz enega omrežja v drugega in je nepropusten za IP.
Osnovno usmerjanje IP 3/9 • Usmerjanje IP
Who is 192.168.1.100 192.168.1.100 is MAC1 Who is 192.168.1.100 192.168.1.100 is MAC4 Send MAC1,MAC3,IP4,IP3 Answ MAC3,MAC1,IP3,IP4 Send MAC4,MAC2,IP4,IP3 Answ MAC2,MAC4,IP3,IP4 Osnovno usmerjanje IP 4/9 MAC2=2222.2222.2222 IP2=192.168.1.1 PC1 PC2 Router MAC3=3333.3333.3333 IP3=172.16.1.100 IP MAC 172.16.1.100 MAC3 IP MAC 172.16.1.100 MAC3 192.168.1.100 MAC4 MAC4=4444.4444.4444 IP4=192.168.1.100 MAC1=1111.1111.1111 IP1=172.16.1.1
Osnovno usmerjanje IP 5/9 • Lastnosti usmerjevalnikov z omejenimi informacijami • poznajo le del omrežja IP, • lokalni gostitelji so pri vzpostavljanju in spreminjanju prehodov avtonomni, • podpirajo statično usmerjanje, • usmerjevalne informacije držijo v usmerjevalnih tabelah, • napaka v zapisu prehoda enega izmed usmerjevalnikov lahko povzroči težavo, zaradi katere določeni del omrežja postane nedosegljiv.
Osnovno IP usmerjanje 6/9 • Lastnosti specializiranih usmerjevalnikov IP • poznajo vsa omrežja IP, npr. usmerjevalnik v spletnem omrežju, • podpirajo dinamično usmerjanje, • uporabljajo dinamične usmerjevalne tabele, ki jih spreminjajo brez ročnega poseganja, • spremembe v lokalnem omrežju naznanjajo drugim usmerjevalnikom v omrežju.
Osnovno IP usmerjanje 7/9 • Usmerjevalne protokole v TCP/IP OS implementiramo z • routed: osnovni usmerjevalni proces za notranje usmerjanje IP, ki uporablja RIP, in je implementiran v večini instalacij TCP/IP, • gated: zahtevnejši usmerjevalni proces za notranje in zunanje usmerjanje IP, ki uporablja dodatne protokole, npr. OSPF in BGP.
Osnovno IP usmerjanje 8/9 • Avtonomni sistem AS • logični del večjega omrežja IP, ki predstavlja administrativno enoto. • Dinamični usmerjevalni protokoli • notranji usmerjevalni protokoli (angl. Interior Gateway Protocol, krajše IGP): usmerjanje znotraj AS, npr. OSPF in RIP, • zunanji usmerjevalni protokoli (angl. Exterior Gateway Protocol, krajše EGP): usmerjanje med posameznimi administrativno ločenimi AS, npr. BGP.
Osnovno IP usmerjanje 9/9 • Avtonomni sistemi AS
Usmerjevalni algoritmi 1/25 • Vrste usmerjevalnih algoritmov • statični: osnovni usmerjevalni algoritem, • dinamični: • Notranji usmerjevalni protokoli (IGP): • usmerjanje na osnovi vektorja razdalj: protokola RIP, RIP-2, • usmerjanje na osnovi stanja povezav: protokol OSPF. • Zunanji usmerjevalni protokoli (EGP): • mejni usmerjevalni protokol (BGP).
Usmerjevalni algoritmi 2/25 • Statično usmerjanje • prehode konfigurira omrežni admin. ročno, • dosegljivost omrežja ni odvisna od stanja omrežja samega, • Uporaba • definiranje privzetih prehodov ali prehodov, ki se ne objavljajo avtomatično, • izkoristek ali cena linij ne dopuščata povečanje prometa usm. protokola, • zahtevamo kompleksno usm. politiko, • določa varnejše omrežno okolje, • omogoča boljši izkoristek usmerjevalnika.
Usmerjevalni algoritmi 3/25 • Usmerjanje na osnovi vektorja razdalj • informacije o razdaljah usmerjevalnik vzdržuje v tabeli, t.i. vektorju razdalj, • vektor razdalj določa pot, po kateri dosežemo določeno omrežje in pripadajočo ceno, t.j. razdaljo do le-tega, • pot z nižjo ceno je primernejša od poti z višjo ceno, • cene v vektorju razdalj usmerjevalni algoritem izračuna iz informacij, ki jih dobi od sosedov.
N0 - 1 N1 - 1 N1 - 1 N2 - 1 N2 - 1 N3 - 1 N1 - 1 N2 R2 2 N3 R2 3 N2 - 1 N3 R3 2 Usmerjevalni algoritmi 4/25 • Primer 1: gradnja vektorja razdalj 1/2 N1 N2 N0 R1 R2 R3 N3
N0 - 1 N1 - 1 N4 - 1 N1 - 1 N2 - 1 N2 - 1 N3 - 1 N4 - 1 N2 - 1 N3 R3 2 N4 R3 2 N1 - 1 N2 R2 2 N3 R2 3 N4 R2 3 Usmerjevalni algoritmi 5/25 • Primer 2: gradnja vektorja razdalj 2/2 N4 N1 N2 N0 R1 R2 R3 N3
Usmerjevalni algoritmi 6/25 • Izračun vektorjev razdalj • usmerjevalnik tvori seznam omrežij, na katera je priključen, s pripadajočo ceno (vrednost = 1). • inicializira usmerjevalno tabelo (tabela vektorja razdalj): lokalni gostitelj = 0, drugi usmerjevalniki v mreži = 1, vse ostalo = . • usmerjevalnik periodično (vsakih 30 sec) prek med-usmerjevalnega protokola izmenja svojo usmerjevalno tabelo z drugimi sosedi na omrežju. • iz dobljenih informacij, kjer skupno ceno do ponora poveča za 1, izračuna novo usmerjevalno tabelo. • če do ponora vodita dve poti, vzame pot z manjšo ceno.
Usmerjevalni algoritmi 7/25 • Primer 3: izračun usmerjevalne tabele
Usmerjevalni algoritmi 8/25 • Povzetek 1/2 • usmerjevalnik na osnovi vektorja razdalj: • Tvori seznam omrežij, ki jih lahko doseže in postavi metriko števila skokov na 1. • Periodično deli usmerjevalno tabelo z ostalimi usmerjevalniki preko med-usmerjevalniškega protokola (angl. inter-router protocol). • Usmerjevalno tabelo kreira na osnovi neposrednih prehodov kot prej in upošteva dodatne informacije, ki jih dobi od drugih usmerjevalnikov. Metrika cene predstavlja število skokov.
Usmerjevalni algoritmi 9/25 • Povzetek 2/2 • usmerjevalnik na osnovi vektorja razdalj: • Briše napačne poti iz nove usmerjevalne tabele. Če obstajata dve poti do iste mreže, vzame pot z najmanjšim številom skokov. • Novo usmerjevalno tabelo posreduje vsem usmerjevalnikom v danem omrežju. Usmerjevalne informacije se na ta način širijo po omrežju.
N2 R2 N3 N1 R1 N0 R3 N3a R4 R5 N5 N4 Usmerjevalni algoritmi 10/25 • Primer 4: usmerjanje na osnovi vektorja razdalj
Usmerjevalni algoritmi 11/25 • Primer 5: usmerjanje na osnovi vektorja razdalj
Usmerjevalni algoritmi 12/25 • Slabosti usmerjevalnega algoritma na osnovi vektorja razdalj: • nestabilnost, ki jo povzročajo nesinhronizirani usm. v omrežju, • dolg konvergenčni čas na velikih omrežjih, • omejena velikost omrežja zaradi maksimalnega števila skokov, • prenašanje usmerjevalnih tabel, čeprav se vsebina v njej ni spremenila.
Usmerjevalni algoritmi 13/25 • Usmerjanje na osnovi stanja povezav • določitev topologije temelji na stanju povezav, • vsak usm. identificira vse sosednje usm. v neposrednem povezanem omrežju, • vsak usm. objavi seznam neposrednih povezav do sosednjih usm. in njihove pripadajoče cene (LSA), • iz teh sporočil tvori podatkovno bazo trenutne topologije omrežja, ki je enaka na vseh usm., • iz te topologije, t.i. topološke karte, izračuna zahtevane poti do vsakega ponornega omrežja, • imenujemo ga tudi algoritem najprej najkrajša pot (angl. Shortest Path First, SPF), • najboljšo izvedbo tega algoritma predstavlja OSPF (angl. Open Shortest Path First).
Usmerjevalni algoritmi 14/25 • Princip usmerjanja na osnovi stanja povezav: • usmerjevalniki povezujejo sosede in spoznavajo njihovo identiteto, • usmerjevalniki tvorijo pakete stanja povezav (LSA): seznam mrežnih povezav in pripadajočih cen, • pakete stanja povezav algoritem pošlje vsem usmerjevalnikom v mreži, • vsi usmerjevalniki tvorijo podobno topološko karto, • topološko karto služi za izračun najkrajše poti do ponorov v omrežju.
Usmerjevalni algoritmi 15/25 • Gradnja topoloških kart • identificiranje sosednjih usmerjevalnikov, • razpošiljanje informacij za izračun topoloških kart, • kreiranje topoloških kart. • Izračun usmerjevalnih tabel • izračun najkrajših poti, • polnjenje usmerjevalne tabele, • optimizacijski algoritem.
Usmerjevalni algoritmi 16/25 • Identificiranje sosednjih usmerjevalnikov • s paketom Hello (na PPP linijah in v omrežjih, ki ne podpirajo Broadcast-a), • z naslovom Multicast (v LAN omrežjih). • Razpošiljanje infor. o stanju povezav • stohastično pošiljanje kratkih sporočil LSA (angl. Link State Advertisement), ki določajo • izvorni usmerjevalnik, • vse ostale usmerjevalnike do katerih ni neposredne povezave (kako?), • starost paketa z vključevanjem zaporedne številke. • sporočila poplavijo omrežje (angl. flooding).
Usmerjevalni algoritmi 17/25 • Kreiranje topoloških kart • s popolno množico LSA algoritem zlahka izračuna graf topološke karte omrežja, • vsak LSA predstavlja eno povezavo v grafu, • razpošiljanje paketov LSA temelji na pravilnih usmerjevalnih tabelah (problem koklje in jajca, t.j. paket ali tabela), • gornji problem rešuje shema poplava • zagotavlja, da imajo vsi usmerjevalniki v omrežju iste informacije o stanju povezav, • če je zaporedna številka prejetega paketa LSA ista kot v podatkovni bazi, paket uničimo.
Usmerjevalni algoritmi 18/25 • Izračun najkrajših poti • vsako vozlišče na topološki karti neodvisno izračuna najkrajše poti (uporabi Dijkstra-ov algoritem), • rezultat algoritma je drevo z najkrajšimi razdaljami od izvora, ki je v korenu drevesa, do vseh ostalih vozlišč v omrežju.
Usmerjevalni algoritmi 19/25 • Polnjenje usmerjevalne tabele • iz drevesa najkrajših poti usmerjevalno tabelo zlahka polnimo, • potrebujemo samo sprehod po drevesu najkrajših povezav od korena do ponora in dodamo ustrezen zapis v usm. tabeli. • Optimizacija algoritma SPF • najpomembnejša je optimizacija delnega preračunavanja drevesa najkrajših poti, • usmerjevalno tabelo napolnimo, ko izračunamo drevo najkrajših poti.
Usmerjevalni algoritmi 20/25 • Algoritem za izračun najkrajše poti • algoritem Nizozemca Edsgerja Dijkstre iz leta 1959 (angl. single-source problem), • rešuje problem najkrajše poti iz danega izvornega vozlišča v usmerjenem grafu z nenegativnimi utežmi povezav, • časovna zahtevnost algoritma je , • večina znanih algoritmov za iskanje najkrajših poti v usmerjenem grafu ima časovno zahtevnost .
Usmerjevalni algoritmi 21/25 • Dijkstrov algoritem • vhod: podan usmerjeni graf G=(V,E), izvorno vozlišče in funkcija cene za katero velja , če vozlišči ne tvorita povezave in . • izhod: za vsak minimalna izmed vseh poti P od do glede na vsoto cen povezav E. • metoda: tvorimo množico tako, da leži najkrajša pot od izvora do vsakega obiskanega vozlišča S.
Usmerjevalni algoritmi 22/25 begin 1. 2. 3. for vsak vindo 4. while do begin 5.izberi vozlišče tako, da je min; 6. dodaj w k S; 7. for vsak do 8. end end • Dijkstrov algoritem v psevdokodu
Usmerjevalni algoritmi 23/25 • Primer 6: usmerjeni graf s petimi vozlišči
Usmerjevalni algoritmi 24/25 • Koraki izvajanja Dijkstrovega algoritma
Usmerjevalni algoritmi 25/25 • Primer 7: praktična uporaba algoritma SPF
Eulerjevi grafi 1/5 • Problem Koenigsberških mostov
Eulerjevi grafi 2/5 • Problem: • imamo sedem mostov, ki povezujejo štiri dele mesta med seboj, • najti obhod mesta, ki bi prečkal vsak most natanko enkrat in se vrnil v izhodišče. • problem ima rešitev? • Rešitev: • reši Leonhard Euler v članku leta 1736, • članek pomeni začetek teorije grafov, čeprav ni napisan v jeziku grafov, • pri reševanje problema uporabi topološko shemo.
Eulerjevi grafi 3/5 • Topološka shema problema
Eulerjevi grafi 4/5 • Problem v jeziku teorije grafov: • Štiri dele mesta uporabimo za točke grafa, • Sedem mostov predstavljajo povezave grafa, • Iskanje Eulerjevega obhoda v tem grafu.
Eulerjevi grafi 5/5 • Rešitev problema v jeziku teorije grafov: • Pogoj za Eulerjev obhod: kadarkoli pridemo v neki del mesta, mora obstajati možnost, da ta del zapustimo po še neprehojenem mostu, • Graf je Eulerjev, če ima vsaka točka sodo stopnjo. • Sklep: • Problem Koenigsberških mostov nima rešitve.
Interni usmerjevalni protokoli 1/9 • Standardni interni usmerjevalni protokoli (IGP): • RIP (angl. Routing Information Protocol), • RIP-2 (angl. Routing Information Protocol Version 2), • OSPF (angl. Open Shortest Path First). • Uporabljamo jih znotraj AS.
Interni usmerjevalni protokoli 2/9 • Routing Information Protocol (RIP): • usmerjanje na osnovi vektorja razdalj, • primeren za manjša omrežja, • obstajata dve verziji RIP: • verzija 1: zelo razširjen s številnimi znanimi omejitvami (označena kot RIP), • verzija 2: izboljšana verzija, ki rešuje omejitve predhodne verzije in z njo ostaja kompatibilna. • koda protokola, znana kot proces routed, implementirana v različnih inačicah OS UNIX.
Interni usmerjevalni protokoli 3/9 • Lastnosti protokola RIP • usmerjevalniki pošiljajo v omrežje pakete RIP kot UDP datagrame prek vrat 540, • pakete >512 bajtov fragmentiramo, • paket RIP je običajen Broadcast poslan v LAN na naslov gostitelja 255.255.255.255 ali naslov izvornega usmerjevalnika, • v usmerjevalnikih teče v aktivnem (strežnik), v končnih vozliščih pa v pasivnem načinu (odjemalec).
Interni usmerjevalni protokoli 4/9 • Princip delovanja protokola RIP • omogoča pošiljanje dveh vrst paketov: zahtevoin odgovor, • usmerjevalniki pošiljajo vsebino tabele vektorjev razdalj v naslednjih primerih: • periodično (npr. vsakih 30 sekund), • kot odgovor na poslano zahtevo, • ko se spremeni vsebina tabele vektorjev. • glede na vsebine sporočil spreminjajo aktivni in pasivni sistemi lastni vektor razdalj, • pot do določenega gostitelja ostane v tabelah, dokler ne najdemo boljše alternativne poti ali poti ne zbrišemo.
Interni usmerjevalni protokoli 5/9 • Format paketa RIP
Interni usmerjevalni protokoli 6/9 • Slabosti protokola RIP: • ne zagotavlja prenosa mask podomrežja, • usmerjevalnik, ki sprejme odgovor RIP, mora informacije o podomrežju dobiti od drugod, da lahko pravilno interpretira IP naslov, • ne moremo ga uporabiti v omrežjih z variabilno masko podomrežja.
Interni usmerjevalni protokoli 7/9 • Routing Information Protocol Version 2 • razširitev protokola RIP, • omogoča enostavno zamenjavo protokola RIP v manjših in srednje velikih omrežjih, • podpira omrežja z variabilno masko podomrežja, • zagotavlja interoperabilnost s protokolom RIP: oba protokola delujeta na istih podatkovnih strukturah. • namesto Broadcastinga raje uporablja Multicasting.
Interni usmerjevalni protokoli 8/9 • Format paketa RIP-2
Interni usmerjevalni protokoli 9/9 • Opisi polj RIP-2 • Version: vrednost 2 pove usmerjevalnikom RIP, da rezervirana polja ignorirajo, • Address Family: vrednost X’FFFF’ pomeni, da gre za avtentikacijski zapis, • Authentication Type: • 0 = ni avtentikacije, • 2 = polje Authentic. Data vsebuje geslo. • Authentic. Data: 16-bitno, tekstovno polje, • Subnet Mask: maska podomrežja, • Next Hop: priporočilo usmerjevalniku o naslednjim skoku.