Számítógépes Hálózatok 6. gyakorlat
Forgalomirányítás DEFINÍCIÓ A hálózati réteg szoftverének azon része, amely azért a döntésért felelős, hogy a bejövő csomag melyik kimeneti vonalon kerüljön továbbításra. A folyamat két jól-elkülöníthető lépésre bontható fel: 1.Forgalomirányító táblázatok feltöltése és karbantartása. 2.Továbbítás. Gombos Gergő Számítógépes hálózatok 2
Elárasztásos algoritmus Statikus algoritmus Minden bejövő csomagot minden kimenő vonalon továbbítunk kivéve azon, amin érkezett. Sok duplikátum keletkezik! 1.Ugrásszámlálót kell bevezetni (fejléc mező). Minden állomás csökkenti eggyel, amint 0-ára csökken eldobják. (út hossz) 2.Második kiküldés megakadályozása, azaz nyilvántartjuk a már kiküldött csomagokat. Sorszám elhelyezése a csomagokba, és a küldési sorszámok nyilvántartása. Gombos Gergő Számítógépes hálózatok 3
Távolságvektor alapú Minden router-nek egy táblázatot kell karbantartania, amelyben minden célhoz szerepel a legrövidebb ismert távolság, és annak a vonalnak az azonosítója, amelyiken a célhoz lehet eljutni. A táblázatokat a szomszédoktól származó információk alapján frissítik. Elosztott Bellman-Ford forgalomirányítási algoritmusként is nevezik. Gombos Gergő Számítógépes hálózatok 4
Forgalomirányítás Elosztott Belmann-Ford Minden csomópont csak a közvetlen szomszédjaival kommunikálhat. Aszinkron működés. Minden állomásnak van saját távolság vektora. Ezt periodikusan elküldi a direkt szomszédoknak. Minden router ismeri a közvetlen szomszédjaihoz a költséget. A kapott távolság vektorok alapján minden csomópont aktualizálja a saját vektorát. Gombos Gergő Számítógépes hálózatok 5
Elosztott Belmann-Ford Gombos Gergő Számítógépes hálózatok 6
Elosztott Belmann-Ford PROBLÉMA A jó hír gyorsan terjed. A rossz hír lassan terjed. A és B nem tudja, hogy C nem elérhető, amíg a távolság el nem ér egy limitet, amit végtelennek tekintenek. Azaz ciklusok keletkezhetnek. Lehetséges megoldások: split horizon : olyan utakat nem küld vissza a csomópont a szomszédjának, amit tőle tanult. (C-ről nem küld infót A B-nek) split horizon with poison reverse : negatív információt küld vissza arról a szomszédjának, amit tőle tanult. (C, ) Gombos Gergő Számítógépes hálózatok 7
Feladat 1 Tegyük fel, hogy egy távolság alapú forgalomirányítási protokollban a A és B routerek távolság vektora az alábbi ábrán található. A protokoll osztott Bellman-Ford algoritmust használ az útvonalak meghatározására. A költségek szimmetrikusak, azaz minden élen mindkét irányban azonosak. A cost next hop B 4 B C 6 C D 11 B E 10 C B cost next hop A 4 A C 10 A D 7 D E 14 A a) Tegyük fel, hogy a csomópontok a "split horizon" szabályt használják a távolságvektorok átadására. Adja meg azt a távolságvektort, amit B elküld A-nak, miután E és B közötti közvetlen kapcsolat költsége 5-re változik. b) Adja meg azt a távolságvektort, amit B az a. pontban küldene A-nak, ha "split horizon with poison reverse" szabályt használna. Gombos Gergő Számítógépes hálózatok 8
Dijkstra Mindig a legrövidebb utat választjuk! Gombos Gergő Számítógépes hálózatok 9
Dijkstra Mindig a legrövidebb utat választjuk! Gombos Gergő Számítógépes hálózatok 10
Feladat 2 Tekintsük a G = (V; E) gráfot az 1. ábrán egy hálózat reprezentánsának. Először számítsa ki Dijkstra algoritmusával egy legrövidebb utak fáját D csomópontból minden más csomóponthoz az előadás fóliákon szereplő pszeudó kód segítségével. Minden iteráció után jelölje a "kész" csomópontokat és adja meg minden uεv csomóponthoz d[u] és pred[u] értéket egy táblázatban. Ezt követően rajzolja fel a kiszámított legrövidebb utak fáját. Gombos Gergő Számítógépes hálózatok 11
Netmask Alhálózat címeinek leírása. Gombos Gergő Számítógépes hálózatok 12
Feladat 3 Hány cím elérhető a következő netmaskokkal és adjuk meg a minimális és maximális címet: 188.100.22.12/32 188.100.22.12/20 188.100.22.12/10 Gombos Gergő Számítógépes hálózatok 13
Hálózati forgalom elemzés Célok: Szoftverek nyomon követése Hálózati teljesítmény analizálása Hálózatműködés szemléltetése lehallgatás Gombos Gergő Számítógépes hálózatok 14
Elemző eszközök, parancsok Parancsok Ping Traceroute / tracert Ifconfig Nslookup / dig Tcpdump Tunnel Iptables (port forwarding) Eszközök Wireshark (https://www.wireshark.org/download.html) Gombos Gergő Számítógépes hálózatok 15
Traceroute / tracert Megmutatja a cél eléréséhez szükséges útvonalon szereplő domain-eket. Gombos Gergő Számítógépes hálózatok 16
Feladat 1 A ping program segítségével egy tesztelő csomagot küldhetünk egy adott helyre, hogy megmérjük, mennyi időt utazik oda és vissza. Használja most a pingel arra, hogy kiderítse, mennyi ideig tart, amíg a csomag a tartózkodási helyétől különféle más ismert helyekre eljut! Egyetemek: a berkeley.edu a kaliforniai Berkeleyben, a mit.edu a Massachusetts-i Cambridge-ben, a vu.nl a hollandiai Amszterdámban, a sydney.edu.au/az ausztráliai Sydneyben, a www.uct.ac.za pedig a dél-afrikai Fokvárosban van Gombos Gergő Számítógépes hálózatok 17
Ifconfig Hálózati interface-k listája Gombos Gergő Számítógépes hálózatok 18
DNS lekérdezések Általában automatikus, de kezdeményezhetjük a domain-nevek feloldását. Legfontosabb erőforrás rekordok: A, AAAA, MX, SOA, NS. Gombos Gergő Számítógépes hálózatok 19
NSlookup Domain név feloldása IP címre Gombos Gergő Számítógépes hálózatok 20
DNS lekérdezési feladatok Határozza meg a 13 root szerver domain névre a hozzájuk tartozó az IP címeket. A cs.washington.edu doménről szedjen össze minél több információt, azaz névszerverek, levelező szerverek, IP címek. A megszerzett információk alapján alkosson képet a delegációkról és a topológiáról. Próbálja meg a fenti műveleteket az inf.elte.hu doménre-is. Gombos Gergő Számítógépes hálózatok 21
Tcpdump Forgalom figyelő eszköz Gombos Gergő Számítógépes hálózatok 22
Tcpdump Gombos Gergő Számítógépes hálózatok 23
Wireshark Gombos Gergő Számítógépes hálózatok 24
Wireshark Szűrők definiálására alkalmas input eszközök Csomag összefoglaló nézete Kiválasztott csomag hierarchikus nézet Kiválasztott csomag bájt-alapú nézet Szűrés statisztikái Gombos Gergő Számítógépes hálózatok 25
Wireshark Korábban rögzített adatok elemzésére szolgál. Szűrés felépítése: protokoll azonosító. fejléc mező. fejléc almező Összehasonlító operátor elvárt érték kifejezés (expression) Operátorok: or, and, xor, not Példa: tcp.flags.ack==1 and tcp.dstport==80 Gombos Gergő Számítógépes hálózatok 26
Szűrési feladatok 1 - HTTP A http_out.pcapng felhasználásával állomány felhasználásával válaszolja meg az alábbi kérdéseket: 1. Milyen oldalakat kértek le a szűrés alapján? Milyen böngészőt használtak hozzá? 2. Hány darab képet érintett a böngészés? (Segítség: webp.) 3. Az első képhez tartozó socket-en hány kép kérése történt? Volt-e olyan, amelyet nem töltött le újra, mert megvolt már? 4. Hány olyan erőforrás volt, amelyet nem kellett újra töltenie a böngészőnek? Mely oldalakat érintette ez? 5. Volt-e olyan kérés, amely titkosított kommunikációt takar? (Segítség: SSL/TLS.) Kövesse végig az első TCP folyamát. Mit tud kideríteni a kommunikációról? Gombos Gergő Számítógépes hálózatok 27
Szűrési feladatok 2 - DNS A dns_out.pcapng felhasználásával állomány felhasználásával válaszolja meg az alábbi kérdéseket: 1. Hány domén név feloldást kezdeményeztek a szűrés alapján? Mely domén nevek voltak ezek? 2. Válaszon ki 3 darab különböző domén nevet, és keresse meg a válasz csomagokat hozzájuk? Hány darab válasz van az egyes kérésekre? (Segítség: ID.) 3. Hány olyan névfeloldás volt, amelyre több válasz is érkezett? 4. Volt-e iteratív lekérdezés a szűrésben? Ha igen, akkor mennyi? Ha nem, akkor mi lehet a magyarázat? Gombos Gergő Számítógépes hálózatok 28
Szűrési feladatok 3 - NEPTUN A neptun_out.pcapng felhasználásával állomány felhasználásával válaszolja meg az alábbi kérdéseket: 1. Milyen oldalakat kértek le a szűrés alapján? Milyen böngészőt használtak hozzá? 2. Hány darab SSL/TLS protokollt használó csomag van? Az elsőn kövesse végig a kommunikációt. Minden működési elvnek megfelelően lezajlott? 3. Kezdeményezett-e megszakítást a szerver a kommunikáció során? 4. Kideríthető-e, hogy milyen kommunikáció folyt a szerver és a kliens között? Esetleg megtippelhető-e a használt böngésző típusa? Gombos Gergő Számítógépes hálózatok 29
Vége