IP alapú hálózatok tervezése és üzemeltetése 15/8
Az előző előadás tartalma Adathálózati címkiosztás. Fix vs. Dinamikus címkiosztás RARP BOOTP DHCP IPv6 Plug and Play Link local cím Szomszéd felderítés Automatikus konfiguráció Állapotmentes Állapottartó - DHCPv6
Tartalom A hálózat működése A forgalomirányító feladatai A forgalomirányító szerepe Proxy ARP CIDR jelentősége Többesküldés adattovábbítás IGMP MLD A forgalomirányító feladatai Forgalomirányító architektúrák Első generációs Második generációs Harmadik generációs Várakozási sorok
Források Online: Offline: CIDR: RFC 1518 ASM, SFM, SSM: Router: Challenges of Integrating of ASm and SSM IP Multicast Protocol Architectures RFC 1112 Router: IP Router Architectures: An Overview Fast Switched backplane for Gigabit Switched Router Offline: CIDR: Routing TCP/IP II.
A hálózat működése A hálózati réteg feladat: Elemei: Forgalom típusok: Egy hierarchikus címzés segítségével azonosítani a hálózat egyes szegmenseit Megkeresni közöttük a legkedvezőbb útvonalat Legjobb szándék szerint kézbesíteni az adat csomagokat Elemei: Forgalomirányítók Több logikai vagy fizikai interfész és képes átvinni a forgalmat közöttük Hostok, Állomások Egy vagy több logikai vagy fizikai interfész és nem képes átvinni a forgalmat közöttük Forgalom típusok: Normál (Unicast) Töbesküldés (Multicast)
Példa H H Hálózat 128.135.0.0 Hálózat 128.140.0.0 R H H H R = router 128.140.5.40 128.135.40.1 Interfész cím 128.135.10.2 Interfész cím 128.140.5.35 H H Hálózat 128.135.0.0 Hálózat 128.140.0.0 R H H H 128.135.10.20 128.135.10.21 128.140.5.36 A host részen csak 0-t tartalmazó cím a hálózat cím A host részen csak 1-t tartalmazó cím az üzenetszórási cím R = router H = host
Alhálózatok kialakítása Egy új szintet ad Transzparens a távoli hálózatok számára Az alhálózati maszk segítségével azonosítják
Példa Van egy B osztályú címünk: (16 host ID bit) a hálózati cím: 150.100.0.0 Osszuk fel úgy alhálózatokra, hogy 100 cím jusson mindegyikre 7 bit elég minden alhálózatra 16-7=9 bit az alhálózatok azonosítására Az alhálózati maszk segítségével tudjuk kideríteni egy IP cím alhálózatát Példa: 150.100.12.176 IP cím = 10010110 01100100 00001100 10110000 Maszk = 11111111 11111111 11111111 10000000 ÉS = 10010110 01100100 00001100 10000000 Alhálózat = 150.100.12.128
Alhálózat példa R1 H1 H2 H3 H4 R2 H5 To the rest of the Internet 150.100.0.0 150.100.12.128 150.100.12.0 150.100.12.176 150.100.12.154 150.100.12.24 150.100.12.55 150.100.12.1 150.100.15.54 150.100.15.0 150.100.15.11 150.100.12.129 150.100.12.4
Forgalomirányítás alhálózatokkal Az IP réteg egy forgalomirányító táblát menedzsel A forrás: Az IP csomag elküldése előtt megnézi a forgalomirányító táblát Amennyiben a cél cím ugyanazon a hálózaton van akkor elküldi az adatkapcsolati címre Egyébként indirekt módon a tábla jelzi a következő ugrást ami egy forgalomirányító Forgalomirányító: Megnézi a cél címet és: Ha a sajátja akkor feldolgozza, ha nem akkor a forgalomirányító táblájában kikeresi a következő ugrás cél címét
Forgalomirányító tábla Az alábbiakat tartalmazhatja minden sor: Cél IP cím A következő ugrás IP címe Fizikai cím Statisztikai információk Forgalomirányító tábla keresési sorrend és akció Teljes cél cím; a következő ugrásra küldi Cél hálózati cím; a következő ugrásra küldi Alapértelmezett útvonal bejegyzés; a következő ugrásra küldi A csomag kézbesíthetetlen; Egy ICMP “host unreachable error” csomagot küld a forrás címre
Példa H5-H2 kommunikáció R1 H1 H2 H3 H4 R2 H5 To the rest of the Internet 150.100.0.1 150.100.12.128 150.100.12.0 150.100.12.176 150.100.12.154 150.100.12.24 150.100.12.55 150.100.12.1 150.100.15.54 150.100.15.0 150.100.15.11 150.100.12.129 150.100.12.4 H5 forgalomirányító tábla Destination Next-Hop Mask Net I/F 127.0.0.1 127.0.0.1 8 lo0 default 150.100.15.54 0 emd0 150.100.15.0 150.100.15.11 24 emd0 150.100.12.176
Példa H5-H2 kommunikáció R1 H1 H2 H3 H4 R2 H5 To the rest of the Internet 150.100.0.1 150.100.12.128 150.100.12.0 150.100.12.176 150.100.12.154 150.100.12.24 150.100.12.55 150.100.12.1 150.100.15.54 150.100.15.0 150.100.15.11 150.100.12.129 150.100.12.4 150.100.12.176 R2 forgalomirányító tábla Destination Next-Hop Mask Net I/F 127.0.0.1 127.0.0.1 8 lo0 default 150.100.12.4 0 emd0 150.100.15.0 150.100.15.54 24 emd1 150.100.12.0 150.100.12.1 23 emd0
Példa H5-H2 kommunikáció R1 H1 H2 H3 H4 R2 H5 To the rest of the Internet 150.100.0.1 150.100.12.128 150.100.12.0 150.100.12.176 150.100.12.154 150.100.12.24 150.100.12.55 150.100.12.1 150.100.15.54 150.100.15.0 150.100.15.11 150.100.12.129 150.100.12.4 150.100.12.176 R1 forgalomirányító tábla Destination Next-Hop Mask Net I/F 127.0.0.1 127.0.0.1 8 lo0 150.100.12.128 150.100.12.129 23 emd0 150.100.12.0 150.100.12.4 23 emd1 150.100.15.0 150.100.12.1 24 emd1
Proxy-ARP A hostokon a netmask 0 –azaz minden címet a saját hálózatukon lévőnek gondolnak A forgalomirányító figyeli az ARP kéréseket és amikor látja, hogy valami nincs a hálózaton akkor saját MAC címét adja vissza. Előny: Az alapértelmezett átjáró láthatatlanul cserélhető Multihoming Hátrány: Sok ARP kérés Biztonsági problémák Nagy ARP táblák
Problémák az IPv4-es címzéssel A 90-es években ezek a problémák jelentkeztek: Az IP címek kifogyóban voltak A forgalomirányító táblák nagyon nagyra nőttek IP cím kimerülés A, B, és C cím osztályok nem voltak hatékonyak A B osztály túl nagy a legtöbb szervezetnek A C túl kicsi A B osztály foglalás a címek kifogyását vetítette előre Az IP forgalomirányító tábla mérete A hálózatok számának növekedése a bejegyzések számának növekedésével járt 1991-től 1995-ig 10 havonta megduplázódott a méretük Komoly kihívás a forgalomirányítóknak (memória, feldolgozási kapacitás) Megoldás: Osztálymentes Tartományközi Forgalomirányítás (Classless Interdomain Routing (CIDR), RFC 1518) Új cím allokációs szabályok (RFC 2050) Privát cím tartományok Hosszú távú megoldás: IPv6
Új IP cím kiosztási szabály A & B cím tartományokat csak nagyon indokolt esetben osztanak Egymás után következő C osztályú címeket osztana(max. 64 blokkot) Egy tartományba eső IP címek közös előtaggal rendelkeznek, minden ezzel az előtaggal rendelkező IP cím ebbe a tartományba esik Tetszőleges előtag hossz, hatékonnyá teszi a cím kihasználást A C osztályú címek alsó része ki lett osztva regionális hatóságoknak Sokkal hierarchikusabb cím kiosztás Szolgáltatás a felhasználónak Igény Kiosztás < 256 1 Class C 256<,<512 2 Class C 512<,<1024 4 Class C 1024<,<2048 8 Class C 2048<,<4096 16 Class C 4096<,<8192 32 Class C 8192<,<16384 64 Class C
Szuperhálózatok (Supernetting) Egy folyamatos C osztályú cím csoportot egy változó hosszúságú maszkkal azonosítunk Példa: 150.158.16.0/20 IP cím (150.158.16.0) & maszk hossz (20) IP cím = 10010110 10011110 00010000 00000000 Maszk = 11111111 11111111 11110000 00000000 16 osztályú blokkot tartalmaz: Kezdete 10010110 10011110 00010000 00000000 Pl.: 150.158.16.0 Vége 10010110 10011110 00011111 00000000 Pl.: 150.158.31.0
Classless Inter-Domain Routing CIDR megoldás a forgalomirányító tábla robbanásra A hálózatok előtaggal és maszkkal vannak azonosítva A CIDR előtt: Egy 16 folyamatos C blokkot tartalmazó hálózathoz 16 bejegyzés kellett A CIDR után: Egy 16 folyamatos C blokkot tartalmazó hálózathoz 1 bejegyzés kell Megoldás: Maszk alapján nem az osztály alapján történik a forgalomirányítás A forgalomirányító tábla bejegyzés: <IP cím, hálózati maszk> Példa: 192.32.136.0/21 11000000 00100000 10001000 00000001 min cím 11111111 11111111 11111--- -------- maszk 11000000 00100000 10001--- -------- IP előtag 11000000 00100000 10001111 11111110 max cím 11000000 00100000 10001--- -------- ugyanaz az előtag
Hierarchikus forgalomirányítás 0000 0001 0010 0011 0100 0101 0110 0111 1 4 3 R1 R2 2 5 1000 1001 1010 1011 1100 1101 1110 1111 00 1 01 3 10 2 11 3 00 3 01 4 10 3 11 5 (b) 0000 0111 1010 1101 0001 0100 1011 1110 1 4 3 R1 R2 2 5 0011 0110 1001 1100 0011 0101 1000 1111 0000 1 0111 1 1010 1 … … 0001 4 0100 4 1011 4 … …
Cím aggregálás
CIDR allokációs szabályok (RFC 1518-1520) Az IP cím kiosztás a fizikai topológiát követi A hálózati topológia nemzeti/kontinentális határokat követi Az IP címeket ezek szerint kell kiosztani Áthaladó forgalomirányító tartományok (Transit routing domains (TRDs)) saját IP előtaggal rendelkeznek IP forgalmat szállít tartományok között Nem feltétlenül hierarchikus, nemzetközi összeköttetések A legtöbb forgalomirányító tartomány single-homed (egy TRD) Ezen tartományok a TRD előtg darabját kaphatják A TRD kifelé 1 bejegyzést hirdet Megvalósítás BGPv4 (RFC 1520)
Miért használhatjuk a CIDR-t? Az Internet többé-kevésbé hierarchikus Felhasználók (cégek is) Internet szolgáltatók Regionális Internet szolgáltatók Nemzetközi hálózat szolgáltatók
Leghosszabb előtag egyezés A CIDR befolyásolja a forgalomirányítást és a továbbítást A forgalomirányító tábláknak/protokolloknak foglalkoznia kell a címmel és a maszkkal is Több bejegyzés is megfelelhet egy cél címnek PL: A forgalomirányító tábla tartalmazhatja 205.100.0.0/22 mely megfelel az adott szupernetnek 205.100.0.0/20 mely nagyobb számú cél összefogásával jött létre A csomagot a legjobban egyező irányba kell továbbítani (leghosszabb előtag egyezés) Több gyors leghosszabb előtag egyezés algoritmus is ismert
Problémák a CIDR-al Adminisztratív: Forgalomirányítás pontatlanság Multi homed forgalomirányító tartomány Szolgáltató váltás (/19-es szabály) Forgalomirányítás pontatlanság Aszimmetrikus forgalom
Többesküldés (Multicast) A többesküldés hasznos amikor a forrás több címzettnek is szeretné ugyanazt a csomagot elküldeni Az unicast csomagtovábbítás nagyon kicsi hatékonysággal működik ez esetben Tipikus alkalmazás: Video konferencia TV közvetítés (Internet TV) Igény szerinti video (Video On Demand) Fájl terítés …
Többesküldés Az S forrás a G1 csoportnak küld csomagokat G1 7 2 5 8 S 3 4 5 6 7 8 G2 Az S forrás a G1 csoportnak küld csomagokat
Tetszőleges Forrású Többesküldés Any Source Multiast (ASM) Pont-több pont, Több pont – Több pont kommunikáció 1988 Steve Deering PhD Stanadard multicast modell: IP stílus. A forrás bármikor bármilyen többesküldés címre forgalmazhat, nem szükséges ezekre feliratkoznia. Az IP feletti beágyazás: UDP. Nyílt csoportok. A forrásnak nem kell tudnia a csoport tagjairól, csak a címet kell tudnia. Egy csoportnak tetszőleges számú forrása lehet. Dinamikus csoportok. A tagok bármikor kiléphetek és beléphetnek a csoportba, ezt senkivel sem kell egyeztetniük. 1992 MBone, mrouted.
Fordított útvonalú üzenetszórás Reverse Path Broadcasting (RPB) Az S-be vezető legrövidebb utak halmaza egy fát alkot mely átfogja a hálózatot Megközelítés: Kövessük ezeket az útvonalakat visszafelé Minden forgalomirányító tudja a legrövidebb útvonalat S felé Egy többesküldés csomag megérkezésekor feljegyzi a csomag forrását és a bejövő portot Amennyiben a legrövidebb útvonalon érkezett akkor minden más portján kiküldi Egyébként eldobja A hurkok így nem jelentkeznek: minden csomag csak egyszer halad át egy forgalomirányítón Ezzel azt feltételeztük hogy a forrástól és a forrásig vezető legrövidebb útvonal azonos Amennyiben ez nem így van akkor link állapotokat kell menedzselnünk, hogy kiszámítsuk a legrövidebb útvonalat S felé
Példa: A legrövidebb útvonalak S G1 G3 1 2 3 4 5 6 7 8 G2
S küld egy csomagot G1 G1 7 2 5 G1 8 S 1 G1 4 6 3 G2 G3 G3 1 2 3 2 4
Példa: Az első ugrás csomópontok G1 G1 1 7 2 3 2 4 2 3 4 2 1 1 5 2 5 3 3 G1 4 8 2 1 S 1 4 1 G1 3 5 4 2 2 4 1 3 6 3 2 1 1 3 4 G2 3 G3 G3
Példa: Folytatás G1 G1 1 7 2 3 2 4 2 3 4 2 1 1 5 2 5 3 3 G1 4 8 2 1 S 1 1 4 G1 3 5 4 2 2 4 1 3 6 3 2 1 1 3 4 G2 3 G3 G3 Csonkolt RPB (Truncated RPB (TRPB)): A levél forgalomirányítók nem továbbítják a csomagot, ha a csatlakozó állomások közül egy sem csatlakozott az adott csatornához
Internet csoport menedzselő protokoll Internet Group Management Protocol (IGMP): Az állomás IGMP üzenetek küldésével tud adott csatornákra feliratkozni Minden forgalomirányító periodikusan küld IGMP kérdés üzeneteket a csoport tagságról Az állomások a csoporttagságukkal válaszolnak A válaszidő véletlenszerű, ha már más válaszolt a kérdésre akkor nem válaszolnak A forgalomirányítók megállapítják, hogy milyen csoportok aktívak az adott portokon Csak azokra a portokra küldik ki a csoportosküldés csomagokat ahol vevők is vannak hozzá
Fordított útvonalú csoportosküldés Reverse Path Multicasting (RPM) az IGMP segítségével azonosítja a csoportokat Az első csomag (forrás,csoport) minden levél ághoz el lesz küldve TRPB segítségével A levél forgalomirányító melyhez nem tartoznak csoporttagok prun üzenetet küld a fán előtte lévő forgalomirányítónak A felette lévő forgalomirányító amennyiben nincs más akit érdekelne a csoport továbbküldi a prun üzenetet A prun üzeneteknek véges élettartamuk van Amennyiben egy állomás egy csoporthoz szeretne csatlakozni a akkor graft üzenete küld
Példa: prun üzenet G2-től 1 7 2 3 2 4 2 3 4 2 1 1 5 2 5 3 3 G1 4 8 2 1 S 1 1 4 G1 3 5 4 2 2 4 1 3 6 3 2 1 1 3 4 G2 3 G3 G3
Példa: RPM fa G1 G1 1 7 2 3 2 4 2 3 4 2 1 1 5 2 5 3 3 G1 4 8 2 1 S 1 1 4 G1 3 5 4 2 2 4 1 3 6 3 2 1 1 3 4 G2 3 G3 G3
Példa: Router 6 –os router graft 1 7 2 3 2 4 2 3 4 2 1 1 5 2 5 3 3 G1 4 8 2 1 S 1 1 4 G1 3 5 4 Graft 2 2 4 1 3 6 3 2 1 1 3 4 G1 3 G3 G3
Példa: RPM fa graft után 1 7 2 3 2 4 2 3 4 2 1 1 5 2 5 3 3 G1 4 8 2 1 S 1 1 4 G1 3 5 4 2 2 4 1 3 6 3 2 1 1 3 4 G1 3 G3 G3
Többesküldés A mai napig nem olyan elterjedt, sikeres mint a WEB (1990) Új követelmény a jelenleg Unicast küldésre specializált hálózattal szemben Problémák Mindenki-Mindenkinek nem alkalmas a mai kereskedelmi alkalmazásoknál Biztonság (támadások egyes csoportok ellen) Cím kiosztás Cím aggregálás Számlázás
Alternatív megoldások
SFM, SSM A felhasználó kiválaszthatja a számára érdekes forrásokat IGMP v3 MLD v2 SFM: Mindent csak adott forrásokat ne Forrás lista SSM: Egy adó-egy csatorna !!!
Forgalomirányító tervezési szempontok Gerinc forgalomirányító Megbízhatóság Sebesség/Teljesítmény Vállalati forgalomirányító Alacsony portonkénti ár Sok port Könnyű konfigurálhatóság Hozzáférést biztosító forgalomirányító Otthoni/kicsi vállalat Olcsó Modem gyűjtmény Gerinc Hozzáférési Vállalati
Forgalomirányító feladatok Forgalomirányító tábla karbantartás Csomag továbbítás Csomag ellenőrzés (verziós, hossz, ellenőrző összeg) Cél cím keresés Csomag TTL kezelés Ellenőrző összeg újraszámítás
Forgalomirányító komponensek Route Processing Route updates Topology & address exchange with neighboring nodes Topology & address exchange with neighboring nodes Forgalomirányító tábla Destination address lookup Packet Forwarding Bejövő csomagok Kimenő csomagok Adat Adat
Forgalomirányító komponensek Kapcsoló egység Interfész kártyák Forgalomirányító egységek Továbbító egységek
Kapcsoló egység Osztott memória Busz Tér osztás (crossbar) A memória hozzáférés határozza meg a maximális sebességet Busz A busz kapacitása a szűk keresztmetszet Tér osztás (crossbar) Az időzítő a szűk keresztmetszet
Problémák a busszal Az adat kétszer halad át rajta A csomag feldolgozás a és a menedzsment is a központban történik A teljesítmény a busztól és a központi processzortól függ
Osztott memória Az interfészek és a központi egység egy közös osztott memórián át kommunikálnak A memória hozzáférési sebessége korlátozza a megoldás használhatóságát Interfész szám függő
Elosztott feldolgozás A csomagok feldolgozása az interfészeken történik ASIC Proci A Buszt/Memóriát csak egyszer használják Elosztott útvonal gyorstár A gyakran előforduló címek vannak benne A forgalom típusától erősen függ a használhatósága (gerinc/vállalati) A gyorstár növelésével javítható ez a probléma
Útvonal gyorstár Route Processor Memory Cache updates Bus Line Card DMA DMA DMA Line Card Line Card Line Card Route Cache Route Cache Route Cache Memory Memory Memory MAC MAC MAC
Kapcsolt háló alapú megoldás Az interfészek feladata: Csomag feldolgozás Következő ugrás keresés Gyakran csomag darabolás Csomag összeillesztés A kapcsolatot egy teljes kapcsolt háló adja Központ Különleges esetek kezelése Forgalomirányító tábla kezelése Kapcsolás: Gyors útvonal Lassú útvonal
Kapcsolt háló
Bejövő/Kimenő várakozási sor Bejövő várakozási sor A vonali sebesség > kapcsoló egység sebesség Típusa FIFO (HOB probléma) VOQ (Virtual Output Queueing) QOS? Kimenő várakozási sor A vonali sebesség < kapcsoló egység sebesség Gyorsabbnak kell lennie mint a kapcsoló egységnek
Memória techológia (2003-04) Technológia Egy IC $/IC ($/MByte) Sebesség Watts/chip Networking DRAM 64 MB $30-$50 ($0.50-$0.75) 40-80ns 0.5-2W SRAM 4 MB $20-$30 ($5-$8) 4-8ns 1-3W TCAM 1 MB $200-$250 ($200-$250) 15-30W
Keresési sebesség Év Vonali sebeség csomag/sec (40Byte packet) 1997 622Mb/s 1.94M 1999 2.5Gb/s 7.81M 2001 10Gb/s 31.25M 2003 40Gb/s 125M A keresési algoritmus: Egyszerűnek kell lennie Egyszerűen implementálható
Ütemezés First Come Fist Served (FCFS) Fair Queuing R: ideális továbbítási arány w1, w2 … wn a sorok súlyai Az ideális szolgáltatás K : Rwk/(wi) A jól viselkedő források nem vesznek észre csomag vesztést Garantálja a minimum arányt
Leghosszabb egyezés Hálózat Cím Port Pontos egyezés 1 hosszú Kiválasztás Port Pontos egyezés 32 hosszú
Csomag osztályozás Több mező is használ Forrás/Cél IP cím (32 bit) Forrás/Cél port (16 bit) TOS bájt (8 bit) Type of protocol (8 bit) Más mezők
A mai csúcs forgalom irányító Carrier Routing System – 1 Hátlap: 640 GBs – 92 TBps 2 Gbyte útvonal memória 1 Gbyte csomag memória (Kártyánként) 40GBps –interfészek (ASIC 40 GBit/s) Skálázható megoldás 0.5 Tonna 13.6 KW 500.000 USD
Tartalom A hálózat működése A forgalomirányító feladatai A forgalomirányító szerepe Proxy ARP CIDR jelentősége Többesküldés adattovábbítás IGMP MLD A forgalomirányító feladatai Forgalomirányító architektúrák Első generációs Második generációs Harmadik generációs Várakozási sorok
A következő előadás tartalma Forgalomirányító algoritmusok. Statikus bejegyzések. Távolságvektor alapú forgalomirányító algoritmusok. Link állapot alapú forgalomirányító algoritmusok. Hibrid forgalomirányító algoritmusok. RIP EIGRP