K-INFO
HU
EN
Belépés

Programozható hálózatok: OpenFlow a gyakorlatban

Software Defined Networks: OpenFlow in Practice
A tantárgyleírás hatályossága
Hatályosság kezdete:
Hatályosság vége:
Tantárgy neve (magyarul, angolul)
Programozható hálózatok: OpenFlow a gyakorlatban
Software Defined Networks: OpenFlow in Practice
Tantárgykód BMEVITMAV09
Tantárgyjelleg
Képzési szint
Kurzustípusok és óraszámok (heti/féléves)
Kurzustípus elmélet gyakorlat laboratóriumi gyakorlat
óraszám (heti) 2 0 2
jelleg (kapcsolt/önálló) kapcsolt
Tanulmányi teljesítmény/értékelés típusa félévközi érdemjegy
Tantárgy kreditértéke 4
Tantárgyfelelős
DR. Sonkoly Balázs
beosztás: egyetemi docens
Tantárgyat gondozó oktatási szervezeti egység
Kar
Tantárgy weboldala
Tantárgy elsődleges mintatantervi jellege
Közvetlen előkövetelmények – Erős előkövetelmény nincs
Közvetlen előkövetelmények – Gyenge előkövetelmény nincs
Közvetlen előkövetelmények – Párhuzamos előkövetelmény nincs
Közvetlen előkövetelmények – Mérföldkő előkövetelmény nincs
Közvetlen előkövetelmények – Kizáró feltétel nincs

Célkitűzés

Tantárgyprogram

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.

 

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.

Tanulmányi eredmények

Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:

Tudás

Nincsenek rögzített tanulási eredmények.

Képességek

Nincsenek rögzített tanulási eredmények.

Attitűd

Nincsenek rögzített tanulási eredmények.

Autonómia és felelősség

Nincsenek rögzített tanulási eredmények.

Oktatási módszertan

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

Tanulástámogató anyagok

Online források
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)

A tantárgy teljesítéséhez ajánlott előzetes ismeretek

Tudás típusú kompetenciák
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
Alapvető számítógép-hálózati ismeretek.
Képesség típusú kompetenciák
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
Alapvető számítógép-hálózati ismeretek.
Általános szabályok
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.   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.
Teljesítményértékelési módszerek
Szorgalmi időszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Szorgalmi időszakban végzett teljesítményértékelések részaránya

Nincs megadva részarány.

Vizsgaidőszakban végzett teljesítményértékelések részletes leírása

Nincs megadva részletes értékelés.

Vizsgarészek részaránya

Nincs megadva részarány.

Érdemjegy megállapítása

Nincs megadva érdemjegy határ.

Jelenléti és részvételi követelmények

Nincs megadva jelenléti követelmény.

Javítás, ismétlés és pótlás különös szabályai

Nincs megadva.

Rövid leírás

Nincs megadva.

Részletes leírás

Nincs megadva.

Ajánlott tantárgyak

Nincs megadva.

A tantárgy elvégzéséhez szükséges tanulmányi munka

Nincs megadva munkaidő bontás.

Tantárgykövetelmények hatályossága
Tantárgykövetelmények hatályosságának kezdete:
Tantárgykövetelmények hatályosságának vége:
Tantervi elhelyezés

Nincsenek rögzített tantervi elhelyezések ehhez a tárgyverzióhoz.