Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Programozható hálózatok: OpenFlow a gyakorlatban

    A tantárgy angol neve: Software Defined Networks: OpenFlow in Practice

    Adatlap utolsó módosítása: 2013. március 22.

    Tantárgy lejárati dátuma: 2013. december 31.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar
    Mérnök informatikus szak
    Villamosmérnöki szak
    Szabadon választható tantárgy
    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VITMAV09   2/0/2/f 4  
    4. A tantárgy előadója
    Név: Beosztás: Tanszék, Int.:
    Dr. Sonkoly Balázs egy. adjunktusBME- TMIT
    Németh Felicián tanársegéd BME-TMIT
    Dr. Gulyás András egy. adjunktusBME- TMIT
    5. A tantárgy az alábbi témakörök ismeretére épít Alapvető számítógép-hálózati ismeretek.
    7. A tantárgy célkitűzése

    A nyílt interfészeknek köszönhetően a szoftveripar már több évtizede elképesztő gyorsasággal fejlődik ennek eredménye, hogy ma már egy-egy innovatív ötlet szoftverbe való átültetése rendkívül gyorsan elvégezhető. A számítógép-hálózatok esetében azonban nem ez a helyzet. A mai hálózati eszközök gyártói – érthető módon – elrejtik a belső, megvalósítási részleteket, azok nem hozzáférhetők a kutatók számára, ebből adódóan komoly problémát jelent az új ötletek valós hálózatokban, valós körülmények melletti kipróbálása, tesztelése. A hálózati eszközök zárt interfészei nem adnak lehetőséget a hálózati eszközök külső programozására, ami gyakorlatilag lehetetlenné tesz bármiféle innovációt. Ennek következtében a hálózatok struktúrája igen merev, hiszen csak olyan hálózati megoldások kerülnek megvalósításra, amit egy-egy eszközgyártó cég arra érdemesnek talál.

    Az OpenFlow jelenleg az egyetlen széles körben elfogadott architektúra, amely nyílt interfészeinek köszönhetően lehetővé teszi a gyors innovációt. A 2008-ban indult rendszer mellé egyre több egyetem és fokozatosan több eszközgyártó (pl. Ericsson, HP, Cisco) és szolgáltató (pl. Facebook, Google, Microsoft) állt.

    A tárgy célja, hogy előadáson megismertesse a hallgatósággal az OpenFlow elméleti hátterét és laborok keretében gyakorlati tudást adjon a hallgatóknak, hogy ötleteiket valós hálózatokban ki tudják próbálni és megérezzék az innováció ízét és közelségét. A tárgyban egy-egy alkalommal eszközgyártók vendégelőadói ipari szempontból járják körül az OpenFlow-t és az abban rejlő lehetőségeket.

    8. A tantárgy részletes tematikája

    1. hét:

    Előadás: Bevezető előadás. Egy OpenFlow kapcsoló felépítése, architektúrális alapok, összehasonlítás a hagyományos hálózati megközelítéssel. Az OpenFlow mögött álló szervezetek, OpenFlow hálózatok a világban, a BME OpenFlow hálózata.

    Labor: Hálózat egy notebookban: virtuális tesztkörnyezet létrehozása néhány egyszerű paranccsal, saját topológiák készítése.

    2. hét:

    Előadás: Teszthálózat egy notebookban: virtualizáció a Mininet segítségével. Virtuális topológiák létrehozása, OpenFlow rendszer futtatása virtuális környezetben, monitorozó eszközök ismertetése

    Labor: Hálózat egy notebookban: egyszerűbb mérések, forgalommérések elvégzése, Wireshark és iperf használata.

    3. hét:

    Előadás: Az OpenFlow protokoll bemutatása. Üzenettípusok áttekintése, OpenFlow alapvető működése üzenetváltási példákon keresztül, folyamok kezelése. Kontroll és adat sík együttműködése.

    Labor: OpenFlow switch-ek konfigurálása DPCTL-lel: folyambejegyzés létrehozása, a switch működésének megfigyelése különféle folyambejegyzések hatására.

    4. hét:

    Előadás: DPCTL: parancssoros interfész OpenFlow switch-ek konfigurálásához. Folyambejegyzések kezelése OpenFlow switch-ekben (hozzáadása, lekérdezése, törlése). switch konfiguráció, lineáris és hash táblák lekérdezése. Statisztikák lekérdezése OpenFlow switch-ekből.

    Labor: OpenFlow switch-ek konfigurálása DPCTL-lel: lineáris és hash-táblák konfigurálása, statisztikák lekérdezése és kiértékelése.

    5. hét:

    Előadás: OpenFlow kontrollerek (NOX, POX, Beacon, Maestro, Trema), NOX részletesebb bemutatása, eseménykezelő interfész ismertetése. bevezetés a NOX kontroller programozásába, NOX lefordítása, forráskód szerkesztése, esettanulmány: példa NOX alkalmazás bemutatása

    Labor: NOX kontroller: NOX alkalmazások futtatása és tesztelése, NOX fordítás.

    6. hét:

    Előadás: Egyszerű NOX alkalmazások és modulok elemzése (switch, hub, discovery, web, monitoring), modulok betöltése, üzenetek fogadása más moduloktól, praktikus programozási megfontolások

    Labor: NOX kontroller: saját NOX alkalmazás készítése és futtatása.

    7. hét:

    Előadás: Innováció éles hálózaton. Több hálózati logika egy fizikai rendszeren: szegmentálás FlowVisor-ral. FlowVisor működési elve, több NOX alkalmazás futtatása egyazon fizikai hálózaton, flowspace definíciók, párhuzamos fejlesztési lehetőségek

    Labor: Hálózat virtualizáció: FlowVisor kezelése, konfigurálása, tesztelése párhuzamosan futó NOX alkalmazásokkal. Mérőcsoportok NOX alkalmazásai párhuzamosan egyazon fizikai rendszeren.

    8. hét:

    Előadás: OpenFlow switch-ek bemutatása. Folyambejegyzések kezelése, tárolása, lekérdezése, az illesztési (matching) folyamat, lineáris és hash táblákban való keresés. PC-n futó szoftver switch-ek működésének bemutatása.

    Labor: Hálózat virtualizáció: FlowVisor tesztelése, mérőcsoportok NOX alkalmazásainak párhuzamos futtatása egyazon fizikai rendszeren.

    9. hét:

    Előadás: Az olcsó megoldás: OpenFlow házilag OpenWrt-n. Az OpenWrt bemutatása, konfigurálása, lehetőségek és korlátok áttekintése. OpenFlow fordítása OpenWrt-re. Teljesítmény paraméterek meghatározása.

    Labor: OpenFlow referencia switch PC-n és OpenWrt-n. Teszthálózat építése PC-k és otthoni vezetéknélküli útválasztók felhasználásával.

    10. hét:

    Előadás: Közelebb a hardverhez: OpenFlow NetFPGA-n, nagy teljesítményű OpenFlow switch-ek: HP ProCurve konfigurációja és teljesítménye

    Labor: Hardver switch-ek: HP OpenFlow switchek kipróbálása és integrálása a teszhálózatba.

    11. hét:

    Előadás: Felejtsük el az IP-t! Alternatív útválasztási és kódolási stratégiák. Bloom filter használata a forrás útvonalválasztásban, mohó útválasztás működése és felhasználási területei. A standard OpenFlow architektúra korlátai.

    Labor: Kísérletezés alternatív útválasztási módszerekkel: Bloom filter és mohó útválasztás megvalósítása és kipróbálása.

    12. hét:

    Előadás: A hálózati kódolás alapjai. Hálózati kódolás vezetéknélküli és vezetékes hálózatokban, hibatűrés és hálózati kapacitás növelése kódolási technikák segítségével. Esettanulmány: hálózati kódolás megvalósítása OpenFlow-ban.

    Labor: Kísérletezés alternatív útválasztási módszerekkel: saját „matching” folyamat implementálása és tesztelése.

    13. hét:

    Előadás: Garantált szolgáltatásminőség biztosítása. A QoS megoldások építőkockái: sorok és ütemezők, valamint ezek beállításai a Linux TC segítségével.

    Labor: QoS OpenFlow felett: sorok konfigurálása, folyamok sorokhoz rendelése.

    14. hét

    Előadás: OpenFlow hálózat szabványos menedzsmentje. OF Config. ForCES. OpenFlow és NETCONF integráció, Yang, SNMP, az OpenNMS rendszer felépítése

    Labor: QoS OpenFlow felett: QoS mérések elvégzése.

     

    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

    Hetente 2 órás előadás és 2 órás labor.

    10. Követelmények
    • A szorgalmi időszakban: laborokon való sikeres részvétel.
    • Kisebb csoportoknak kiadott házi feladat elkészítése a vizsgaidőszakig.

     

    11. Pótlási lehetőségek

    A félév során legfeljebb 2 elmulasztott labor alkalom és a házi feladat pótlására a pótlási időszakban van lehetőség.

    12. Konzultációs lehetőségek

    Igény szerint, az oktatóval egyeztetve.

    13. Jegyzet, tankönyv, felhasználható irodalom
    • Nick McKeown és mások: „OpenFlow: Enabling Innovation in Campus Networks”
    • The Open Networking Foundation: „OpenFlow Switch Specification, Version 1.2 (Wire Protocol 0x03)”, December 5, 2011.
    • RFC5810: Forwarding and Control Element Separation (ForCES) Protocol Specification (http://tools.ietf.org/html/rfc5810)
    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
    Kontakt óra56
    Félévközi készülés órákra 40
    Felkészülés zárthelyire 0
    Házi feladat elkészítése 24
    Kijelölt írásos tananyag elsajátítása -
    Vizsgafelkészülés -
    Összesen 120
    15. A tantárgy tematikáját kidolgozta
    Név: Beosztás: Tanszék, Int.:
    Dr. Sonkoly Balázs egy. adjunktusBME- TMIT
    Németh Felicián tanársegéd BME-TMIT
    Dr. Gulyás András egy. adjunktusBME- TMIT