Az internet ökoszisztémája és evolúciója

Hasonló dokumentumok
Mérnöki modellalkotás Az elmélettől a gyakorlatig. IP forgalomtovábbítás: Prefix fák és fabejárások

Az internet ökoszisztémája és evolúciója. Gyakorlat 2

A számítógép egységei

Hálózati architektúrák laborgyakorlat

NCS5500 bemutató. Balla Attila

elektronikus adattárolást memóriacím

6. számú melléklet KÖLTSÉGVETÉSI SPECIFIKÁCIÓ. a Társadalmi Megújulás Operatív Program. Új tanulási formák és rendszerek Digitális Középiskola program

Statikus routing. Hoszt kommunikáció. Router működési vázlata. Hálózatok közötti kommunikáció. (A) Partnerek azonos hálózatban

Párhuzamos programozási platformok

Algoritmusok és adatszerkezetek gyakorlat 07

SDN a különböző gyártói megközelítések tükrében

Párhuzamos programozási platformok

Az internet ökoszisztémája és evolúciója. Gyakorlat 1

Az internet ökoszisztémája és evolúciója. Gyakorlat 1

Algoritmusok és adatszerkezetek gyakorlat 06 Adatszerkezetek

Az Ethernet példája. Számítógépes Hálózatok Az Ethernet fizikai rétege. Ethernet Vezetékek

Routing update: IPv6 unicast. Jákó András BME EISzK

Az adott eszköz IP címét viszont az adott hálózat üzemeltetői határozzákmeg.

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés

Hálózati architektúrák és Protokollok Levelező II. Kocsis Gergely

Könyvtári címkéző munkahely

Mérnöki modellalkotás Az elmélettől a gyakorlatig. Prefix fák tömörítése: a dinamikus programozás

Hálózati réteg. Feladata: a csomag eljusson a célig Több útválasztó Ez a legalacsonyabb rétek, mely a két végpont

IP anycast. Jákó András BME TIO

Számítógép felépítése

4: Az IP Prefix Lookup Probléma Bináris keresés hosszosztályok alapján. HálózatokII, 2007

Az alábbi állítások közül melyek a forgalomirányító feladatai és előnyei?

Az internet ökoszisztémája és evolúciója. Gyakorlat 4

Számítógépek felépítése

Hálózati architektúrák laborgyakorlat

Ethernet/IP címzés - gyakorlat

Számítógép Architektúrák

Hálózati architektúrák és Protokollok PTI 5. Kocsis Gergely

Bevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb

Hálózati architektúrák és Protokollok GI 7. Kocsis Gergely

Számítógép hálózatok gyakorlat

ELŐADÁS SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA

Hálózati rendszerek adminisztrációja JunOS OS alapokon

6.2. TMS320C64x és TMS320C67xx DSP használata

2014 UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Tartalom. Az adatkapcsolati réteg, Ethernet, ARP. Fogalma és feladatai. Adatkapcsolati réteg. A hálókártya képe

Kommunikációs rendszerek programozása. Switch-ek

Újdonságok Nexus Platformon

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor


Hálózati architektúrák és Protokollok PTI 6. Kocsis Gergely

Az Invitel adatközponti virtualizációja IBM alapokon

Windows rendszeradminisztráció és Microsoft szerveralkalmazások támogatása. 3. óra. Kocsis Gergely, Kelenföldi Szilárd

Beállítások 1. Töltse be a Planet_NET.pkt állományt a szimulációs programba! A teszthálózat már tartalmazza a vállalat

VIII. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

Everything Over Ethernet

Bepillantás a gépházba

Hálózati Technológiák és Alkalmazások. Vida Rolland, BME TMIT november 5. HSNLab SINCE 1992

IPv6 bevezetés a Műegyetem hálózatán. Jákó András

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Hálózati Technológiák és Alkalmazások

EnterNet ADSL. Tájékoztató (Szolgáltató-váltás esetén) január 15-től visszavonásig azokon a T-Com területeken, ahol az ADSL üzemel.

IPv6 Elmélet és gyakorlat

IPv6 Biztonság: Ipv6 tűzfalak tesztelése és vizsgálata

Hálózati architektúrák és Protokollok GI 8. Kocsis Gergely

Tájékoztató. Használható segédeszköz: -

Újdonságok Nexus Platformon

Számítógép-hálózatok. Gyakorló feladatok a 2. ZH témakörének egyes részeihez

SEGÉDLET. A TTMER102 - FPGA-alapú hálózati eszközfejlesztés című méréshez

Feladatlap: Számítógép összetevők keresése

IPTABLES. Forrás: Gregor N. Purdy: Linux iptables zsebkönyv

Általános rendszergazda Általános rendszergazda

Operandus típusok Bevezetés: Az utasítás-feldolgozás menete

1. oldal, összesen: 29 oldal

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

HÁLÓZATOK I. Segédlet a gyakorlati órákhoz. Készítette: Göcs László mérnöktanár KF-GAMF Informatika Tanszék tanév 1.

8. Fejezet Processzor (CPU) és memória: tervezés, implementáció, modern megoldások

Hálózatok építése és üzemeltetése

III. Felzárkóztató mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

SDN a különböző gyártói megközelítések tükrében

Address Resolution Protocol (ARP)

Routing. Számítógép-hálózatok. Dr. Lencse Gábor. egyetemi docens Széchenyi István Egyetem, Távközlési Tanszék

Az internet ökoszisztémája és evolúciója

IP alapú kommunikáció. 5. Előadás Routing 2 Kovács Ákos

Internet Protokoll 4 verzió

Informatika érettségi vizsga

Első sor az érdekes, IBM PC ra alapul: 16 bites feldolgozás, 8 bites I/O (olcsóbb megoldás). 16 kbyte RAM. Nem volt háttértár, 5 db ISA foglalat

SZÁMÍTÓGÉP FELÉPÍTÉSE (TK 61-TŐL)

Hálózati Technológiák és Alkalmazások. Vida Rolland, BME TMIT október 29. HSNLab SINCE 1992

1. Digitális írástudás: a kőtáblától a számítógépig 2. Szedjük szét a számítógépet 1. örök 3. Szedjük szét a számítógépet 2.

AGSMHÁLÓZATA TOVÁBBFEJLESZTÉSE A NAGYOBB

Számítógép fajtái. 1) személyi számítógép ( PC, Apple Macintosh) - asztali (desktop) - hordozható (laptop, notebook, palmtop)

Windows rendszeradminisztráció és Microsoft szerveralkalmazások támogatása. 3. óra. Kocsis Gergely, Supák Zoltán

Léteznek nagyon jó integrált szoftver termékek a feladatra. Ezek többnyire drágák, és az üzemeltetésük sem túl egyszerű.

Biztonsági folyamatirányító. rendszerek szoftvere

Névfeloldás hosts, nsswitch, DNS

Tartalom. Az adatkapcsolati réteg, Ethernet, ARP. Fogalma és feladatai. Adatkapcsolati réteg. Ethernet

Az internet ökoszisztémája és evolúciója. Gyakorlat 4

Az internet ökoszisztémája és evolúciója

Szolgáltatások leírása - lakossági

Routing IPv4 és IPv6 környezetben. Professzionális hálózati feladatok RouterOS-el

Számítógép Architektúrák

Az internet ökoszisztémája és evolúciója

SZÁMÍTÓGÉPES ALAPISMERETEK

Tudásszint mérés feladatlap

Átírás:

Az internet ökoszisztémája és evolúciója

Tartalom Az IP routerek felépítése routerek általános felépítése, linecard/ ackplane/control, a csomagtováítás menete, IP router generációk FIB keresés a legspecifikusa prefix keresési feladat hardver és szoftver megvalósítások: a TCAMek, a prefix fa és FIB aggregáció

Az IP routerek felépítése

Routerek: csomagtováítás lépései IP csomag ellenőrzése: formátum, verzió, headerhossz, opciók, fejrész-ellenőrzőösszeg FIB keresés: a cél IP címéhez tartozó next-hop keresése a FIBen A legspecifikusa ejegyzést keressük! TTL állítása: ha TTL=0 a csomag eldoása és ICMP üzenet a küldőnek, egyéként TTL TTL Fejrész-ellenőrzőösszeg újraszámolása Opcionálisan: fragmentáció, source routing, st.

Nagyteljesítményű routerek Cisco GSR 246 Kapacitás: 60 G/s Felvett teljesítmény: 4.2kW Kapacitás: 80 G/s Felvett teljesítmény: 2.6kW Juniper M60

Routerek típusai (RFC4098) Edge/order router: ASek közti forgalom továítása más ASek edge routerei felé (ibgp+ebgp+igp) Core router: ASen elüli router POPok közti forgalomátvitelre (IGP+iBGP) Access router: az Internet edge forgalmának koncentrációja a core felé Access AS 2 Core Edge AS 3 AS

Routerek típusai Soft router: szoftveren, általános célú CPUn megvalósított router például PC + Linux + Quagga kise teljesítmény (Intel DPDK!) főleg kis ISP-k, IXP-k(!), BGP monitorok HW router: speciális célú HW-t tartalmazó nagy teljesítményű router nagy ISPk core és edge routerei sok előfizetőt kiszolgáló access routerek

Általános felépítés Vezérlőkártya menedzsment, CLI, konfiguráció, st Control CPU DRAM Control plane Data plane linecard # linecard #3 interfész ASIC SRAM ASIC SRAM interfész linecard #2 linecard #4 interfész ASIC SRAM Interconnect ASIC SRAM interfész

Általános felépítés Vezérlőkártya: a router logikája routing protokollok futtatása, menedzsment hozzáférés (CLI (Command Line Interface), SNMP, st.), monitoring, extra szolgáltatások vezérli az interconnect-et, eállítja a FIBet általános célú CPU/DRAM, néha általános célú operációs rendszer (pl. Linux!) Vezérlőkártya menedzsment, CLI, konfiguráció, st Control CPU DRAM Control plane

Általános felépítés Interfészkártya (linecard): csomag adás/vétel egy vagy tö fizikai csatoló (interfész) a linkre (Serial/FastEthernet/GigaitEthernet) alapvető csomagtováítási funkciók speciális célú HW és gyors statikus memória legtö router ővíthető új kártyákkal linecard interfész ASIC, network processzor, st. SRAM

Általános felépítés Interconnect/ackplane: kapcsolólogika interfészkártyák és a control CPU közti kommunikáció + pufferelés osztott usz/első switch (akár Ethernet) input puffer (head of line locking!)/output puffer/osztott memória Interconnect

Fast path Fast path: a csomagtováítás Data plane-en megvalósított lépései (nagy seesség!) HWen könnyen megvalósítható műveletek célcím olvasása, ellenőrzőösszeg számítása sokszor a FIB keresés is (de ehhez le kell tölteni a FIBeket az interfészkártyákra!) linecard # Interconnect linecard #3 Data plane interfész ASIC SRAM ASIC SRAM interfész linecard #2 linecard #4 interfész ASIC SRAM ASIC SRAM interfész

Slow path Slow path: a vezérlősík eavatkozását igénylő onyolulta funkciók (csökkent seesség!) IP opciók, fragmentáció, protokollüzenetek kezelése, ARP, ICMP generálás, st. Vezérlőkártya CPU RAM Control plane linecard linecard Data plane linecard linecard

Routerek fejlődése:. generáció A hálózati csatoló kivételével minden a slow path-en, minden csomag igényli a vezérlősík eavatkozását adatusz CPU FIB Puffer memória linecard # linecard #2 linecard #3 MAC MAC MAC interfész interfész interfész

Routerek fejlődése: 2. generáció Az interfészkártyán: input puffer + FIB cache Fast path továítás, ha a célcím a cache-en adatusz CPU FIB Puffer memória linecard # FIB cache Input queue MAC linecard #2 FIB cache Input queue MAC linecard #3 FIB cache Input queue MAC interfész interfész interfész

Routerek fejlődése: 3. generáció Az interfészkártyán a teljes FIB, szinte minden csomag marad a fast path-en A CPU csak egy másik kártya a chassis-en switched ackplane linecard # CPU card linecard #2 FIB Input queue MAC CPU RIB FIB Input queue MAC interfész interfész

Routerek fejlődése: a jövő? A mai általános célú CPUk gyakran vannak olyan gyorsak, mint egy ASIC ráadásul sokkal olcsóak is Moore-törvénye miatt gyorsan fejlődnek a csomagtováítás masszívan párhuzamos feladat: csomagonként akár külön CPU végzi A fejlődés az olcsó, masszívan parallel, virtualizált szoftver-routerek felé mutat Akár nem is különálló dooz, hanem a cloudan fut (Intel DPDK)!

FIB keresés

FIB keresés Az IP csomagtováítás legidőigényese feladata: a csomagan található célcím alapján meg kell találni a megfelelő next-hopot a legspeficikusa ejegyzés kell (LPM) FIB (Forwarding Information Base): a csomagtováítási szaályok összessége Az útvonalválasztó protokollok adatai alapján a control CPU tölti le az interfészkártyákra Így azok a control CPU igényevétele nélkül, fast path-en továítják a csomagokat

FIB keresés: LPM A LPM megvalósítása nem triviális Egy naiv megközelítés végigkeresné az összes ejegyzést a FIBen és megjegyezné a legtö iten illeszkedőt O(N) komplexitás, ha a ejegyzések száma N A gyakorlatan N 0 6, a rendelkezésre álló időkeret pedig 500 yte-os csomagokkal számolva 0Git/s seességen GHz-es órajelen alig 400 órajel A naiv módszer használhatatlan

Tartalomcímezhető memóriák Content Addressale Memory (CAM) Pontosan a klasszikus memóriák ellentéte: RAM: cím alapján megadja a tárolt adatot CAM: az adathoz megkeresi annak címét ha tö adat stimmel, az első címét adja meg Cím: pl. 0 RAM Adat: pl. 000 CAM Cím Adat Cím Adat 000 0 00 0 000 Adat: 00 000 0 00 0 000 Cím: 0 000 000

Háromállapotú CAM: TCAM Ternary Content Addressale Memory: a CAM csak 0 és értékű iteket ismer, a TCAM mintákan eállítható "Don't care" it is (*) Például az 0** TCAM minta illeszkedik 000, 00, 00 és 0 lekérdezésekre * árhol szerepelhet, nemcsak a minta végén! Alacsonya címen levő minták elő illesztve Illeszkedő minta esetén kiszállás a címmel Az alacsonya címen levő minták felülírálják a magasa címen levő mintákat: prioritás

Háromállapotú CAM: TCAM A 000 keresésre a 00 és az címen levő minta is illeszkedik, az első preferált, output: 00 Az keresésre az eredmény: 0 00 keresésre a 0 és az címen levő minta is illeszkedik, output: 0 Adat Cím Adat 00 *0** 0 00* 0 ** 0*0 TCAM Cím

TCAM: megvalósítása (Mintaszám * itszélesség) számú cella, mindegyiken 0//* tárolva és egy komparátor A cellák egyszerre végzik az összehasonlítást Kimeneti logika választja ki a legkise címet TCAM Adat: 00 Cím Adat 00** 0 00* 0 0** 00 Cím: 0 pagiamtzis.com

TCAM: a LPM megvalósítása Tekintsük az alái FIBet IP prefix Bináris prefix Next-hop 60.0.0.0/3 0 0.0.0. 96.0.0.0/4 00.0.0.2 96.0.0.0/3 0 0.0.0.3 84.0.0.0/5 0 0.0.0.2 Minden csomaghoz a cél IP címére a legtö iten illeszkedő FIB-ejegyzést keressük A 96.28.59.2 IP címre a 2. és 3. ejegyzés is illeszkedik, de a 2. tö iten, így az preferált LPM eredménye: a 2. ejegyzés-eli next-hop

TCAM: a LPM megvalósítása Használjunk az LPM megvalósítására TCAMet Az alhálózati prefix itjeit pontosan megadjuk Ezeket a iteket a TCAM pontosan illeszti A hoszt-azonosítót * itekkel helyettesítjük Hisz ezen itek nem számítanak az LPM-en Így csak az utolsó pozíciókan állhat * Cím IP prefix Illesztendő TCAM minta Next-hop 060.0.0.0/3 0***** ******** ******** ******** 0.0.0. 0 96.0.0.0/4 00**** ******** ******** ******** 0.0.0.2 0 96.0.0.0/3 0***** ******** ******** ******** 0.0.0.3 84.0.0.0/5 0*** ******** ******** ******** 0.0.0.2

TCAM: a LPM megvalósítása Proléma: ha een a sorrenden írjuk a TCAMe a mintákat, egy kevésé specifikus prefix felülírhatja a specifikusaat (pl. a 84... címre az. minta lenne a kimenet, de a 4. a jó LPM találat, hiszen hossza) Megoldás: rendezzük át a ejegyzéseket a prefix-hossz szerinti csökkenő sorrende a legspecifikusa ejegyzésekhez tartozó minták (vagyis a leghossza prefixek) kerülnek alacsony címekre = magas prioritás kevésé specifikus prefixek: magasa cím

TCAM: a LPM megvalósítása A FIB ejegyzések szaadon átrendezhetők Hiszen pontos prioritást ad a prefix-hossz A prefix-hossz szerinti csökkenő sorrende rendezés után kapott tálázat Cím IP prefix Illesztendő TCAM minta Next-hop 084.0.0.0/5 0*** ******** ******** ******** 0.0.0.2 0 96.0.0.0/4 00**** ******** ******** ******** 0.0.0.2 0 96.0.0.0/3 0***** ******** ******** ******** 0.0.0.3 60.0.0.0/3 0***** ******** ******** ******** 0.0.0. A pirossal jelzett oszlopok TCAMe írhatók A maradék oszlopokat RAMan tároljuk

TCAM: a LPM megvalósítása HW FIB: TCAM és RAM összekapcsolása A TCAMől kiolvasott címmel címezzük a RAMot, amelyől kiolvassuk a next-hop címét Elég 5 it széles TCAM (max. prefix-hossz) Input: IP cím ináris formáan FIB Cím Adat 00 0 00* Cím Cím Adat 00.0.0.2 0 0.0.0.2 Output: a legtö iten illeszkedő FIB ejegyzéshez tartozó next-hop IP címe 0 0** 0.0.0.3 0** 0.0.0. TCAM RAM

TCAM: a LPM megvalósítása A 84...=0... IP címre a TCAM a 00 címet adja A RAMól a 00 címen kiolvassuk a next-hopot Input: 0... FIB Cím: 00 Cím Adat 00 0 00* 0 0** 0** TCAM Cím Adat 00.0.0.2 0 0.0.0.2 0.0.0.3 0.0.0. RAM Output: 0.0.0.2

TCAM: a LPM megvalósítása A 97.2.24.45=000... IP címre a 2. és a 3. TCAM ejegyzés is illeszkedik A TCAM a 0 címet adja, a next-hop: 0.0.0.2 Input: 000... FIB Cím: 0 Cím Adat 00 0 00* 0 0** 0** TCAM Cím Adat 00.0.0.2 0 0.0.0.2 0.0.0.3 0.0.0. RAM Output: 0.0.0.2

TCAM: a LPM megvalósítása A routereken alkalmazott HW ASICek a TCAMet és a RAMot is tartalmazzák (egyen) Pár órajel alatt kész az LPM keresés: nagyon gyors fast-path IP csomagtováítás Elterjedt egyé feladatokra is: Ethernet MAC learning tála, firewall szaályok kódolása, st. De a TCAM onyolult: 6 tranzisztor/cella (SRAM: 6, DRAM: 2 tranzisztor/cella): drága! Magas a fogyasztása (9MB TCAM csip, 00 MHz órajel, 0 5W disszipáció): melegszik!

A LPM megvalósítása SWen Nem minden felhasználásra célszerű a TCAM soft routerek, egyszerű access routerek (pl. SOHO router), virtualizált routerek (cloud) Hasznos lenne egy olyan FIB adatstruktúra, amely gyors keresést tesz lehetővé általános célú CPUn implementálva Egy általános CPUn a legköltségese művelet a memóriahozzáférés Cél: a LPM megvalósításához szükséges RAM olvasások számának minimalizálása

A (ináris) prefix fa LPM keresésre optimalizált adatstruktúra A prefix fa a következő műveleteket támogatja: keresés: adott mintára legtö iten illeszkedő prefix megtalálása és a hozzá tárolt címke kiolvasása eszúrás: (prefix címke) páros eillesztése törlés: prefix és hozzá tartozó címke törlése módosítás: prefix címkéjének módosítása

A prefix fa Tekintsük a korái FIBet és ontsuk két részre A next-hopokat azonosítsuk egyedi címkékkel és tároljuk külön egy next-hop index táláan FIB IP prefix Prefix Címke 60.0.0.0/3 0 a 96.0.0.0/4 00 96.0.0.0/3 0 c 84.0.0.0/5 0 c a Next-hop index Címke Next-hop a 0.0.0. Prefix fa 0.0.0.2 c 0.0.0.3

A prefix fa Gyökér Üres pont IP cím első itje IP cím második itje Élcimke IP cím harmadik itje c a Belső pont IP cím negyedik itje IP cím ötödik itje Levélpont Címkével ellátott pont

A prefix fa Prefix=ponta vezető út élcímkéinek sorozata A fáan a prefixeknek megfelelő pontokat a prefixhez tartozó next-hop címkével jelöljük FIB IP prefix Prefix Címke 60.0.0.0/3 0 a 96.0.0.0/4 00 96.0.0.0/3 0 c 84.0.0.0/5 0 c a Next-hop index Címke Next-hop a 0.0.0. 0.0.0.2 c 0.0.0.3

A prefix fa Prefix=ponta vezető út élcímkéinek sorozata A fáan a prefixeknek megfelelő pontokat a prefixhez tartozó next-hop címkével jelöljük FIB IP prefix Prefix Címke 60.0.0.0/3 0 a 96.0.0.0/4 00 96.0.0.0/3 0 c 84.0.0.0/5 0 c a Next-hop index Címke Next-hop a 0.0.0. 0.0.0.2 c 0.0.0.3

A prefix fa Prefix=ponta vezető út élcímkéinek sorozata A fáan a prefixeknek megfelelő pontokat a prefixhez tartozó next-hop címkével jelöljük FIB IP prefix Prefix Címke 60.0.0.0/3 0 a 96.0.0.0/4 00 96.0.0.0/3 0 c 84.0.0.0/5 0 c a Next-hop index Címke Next-hop a 0.0.0. 0.0.0.2 c 0.0.0.3

A prefix fa Az üres levélpontokat elhagyhatjuk, az üres pontoka mutató pointerek: NULL Kise fa, kevese memória FIB IP prefix Prefix Címke 60.0.0.0/3 0 a 96.0.0.0/4 00 96.0.0.0/3 0 c 84.0.0.0/5 0 c a Next-hop index Címke Next-hop a 0.0.0. 0.0.0.2 c 0.0.0.3

A prefix fa: keresés Keressük a 84...=0... IP címre a legspecifikusa találatot a prefix fáan Start a gyökérpontól, output érvénytelen output: érvénytelen 0 c 0 a 84...=0... FIB IP prefix Prefix Címke 60.0.0.0/3 0 a 96.0.0.0/4 00 96.0.0.0/3 0 c 84.0.0.0/5 0

A prefix fa: keresés A 84...=0... keresési cím első itje értékű, így a gyökéről az -es élcímkével ellátott élen lépünk a következő ponta 84...=0... 0 FIB c 0 a IP prefix Prefix Címke 60.0.0.0/3 0 a 96.0.0.0/4 00 96.0.0.0/3 0 c 84.0.0.0/5 0

A prefix fa: keresés Az új pontan nincs címke, output változatlan A második it 0, így az 0 élcímkén haladunk tová a következő ponta 84...=0... 0 c output: érvénytelen 0 a FIB IP prefix Prefix Címke 60.0.0.0/3 0 a 96.0.0.0/4 00 96.0.0.0/3 0 c 84.0.0.0/5 0

A prefix fa: keresés A harmadik it ismét, az élcímkén haladunk to a következő ponta Az új pont címkéje a, ezért: output a 84...=0... 0 FIB c 0 a output: a IP prefix Prefix Címke 60.0.0.0/3 0 a 96.0.0.0/4 00 96.0.0.0/3 0 c 84.0.0.0/5 0

A prefix fa: keresés A 4. és 5. it, az élcímkéken egy, címkével ellátott ponta jutunk, ezért: output A kapott pont levél, így kilépés: output = 84...=0... 0 FIB c 0 a IP prefix Prefix Címke 60.0.0.0/3 0 a 96.0.0.0/4 00 96.0.0.0/3 0 c 84.0.0.0/5 0 output:

A prefix fa: keresés Algoritmus: soran olvassuk a keresett IP cím itjeit, és az olvasott itnek megfelelően mindig a 0 vagy élcímkével ellátott élen lépünk tová egy következő ponta Az iteráció közen az output változóan tároljuk a legutoljára olvasott címkét (kezdeten: érvénytelen) Ha levélpontot vagy NULL pointert találunk: kilépés A kapott címkéhez (output) kiolvasuk a next-hop indexől a megfelelő next-hop címet és visszaadjuk Esetünken az LPM eredmény: 0.0.0.2

A prefix fa: keresés LPM a 69.2.75.54=0000... IP címre Nem találkozunk érvényes címkéjű ponttal: output = érvénytelen 0 0 NULL c 0 a

A prefix fa: keresés LPM a 78.4.66.9=00... IP címre Utolsó látott címke: a, output = a 0 c 0 a 0 NULL

A prefix fa: eillesztés Illesszük e a 20.0.0.0/5 0.0.0.3 ejegyzést Kövessük a itek által kijelölt utat, hozzuk létre a hiányzó pontokat, és a kapott ponta írjunk c-t 20.0.0.0/5=0... 0 0 c a c

A prefix fa: egyé műveletek A módosítás is hasonló: kövessük a itek által kijelölt utat, írjuk felül a kapott pontan a címkét A törlés is hasonló, de kitöröljük a címkét a kapott pontól és felfelé haladva a fán rekurzívan kitöröljük az üres levélpontokat Legfelje annyi lépést kell tennünk a fáan, ahány itől egy IP cím állhat Tétel: a prefix fán a LPM keresés, eillesztés, törlés és módosítás, legfelje O(W) lépésen végez, ahol W a címtér itszélessége (IPv4: 32, IPv6: 28)

A prefix fa Általánosságan: N prefix tárolása esetén a LPM keresés, eillesztés, törlés és módosítás műveletek komplexitása O(log N) A tálázatos tárolási módszerrel az összes prefixen végig kellene keresni: O(N) lépés De 32 it RAM olvasás (főleg ha nem cache-ől történik) időigényes: lassú LPM FIB aggregáció: a prefix fa konverziója kise, de az eredetivel keresés szempontjáól teljesen ekvivalens formáa Feltétel: LPM csak teljesen specifikált IP címekre (32 it), tetszőleges prefixekre nem feltétlenül működik!

FIB aggregáció a c c c Bináris prefix fa c a c c Levélcímkézett normalizált prefix fa 0 c c a 0 0 Optimalizált ináris prefix fa 0 00 0 a c c Szinttömörített prefix fa 0 c