Module also offered within study programmes:
General information:
Name:
Software defined networks
Course of study:
2019/2020
Code:
ITEI-2-211-s
Faculty of:
Computer Science, Electronics and Telecommunications
Study level:
Second-cycle studies
Specialty:
-
Field of study:
ICT studies
Semester:
2
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Full-time studies
Responsible teacher:
mgr inż. Rzym Grzegorz (rzym@agh.edu.pl)
Module summary

Aspekty nowoczesnych i programowalnych sieci komputerowych, w których rozdzielone zostały płaszczyzna danych od płaszczyzny sterowania.

Description of learning outcomes for module
MLO code Student after module completion has the knowledge/ knows how to/is able to Connections with FLO Method of learning outcomes verification (form of completion)
Social competence: is able to
M_K001 Zna zasady pracy grupowej i role w grupie wykonującej implementację wybranej aplikacji dla sieci programowalnych. TEI2A_K01 Execution of a project
Skills: he can
M_U001 Potrafi zaimplementować nowy moduł kontrolera sieci sterowanych programowo, w którym integruje działanie protokołów zarządzania sieciami teleinformatycznymi. TEI2A_U01 Execution of a project,
Execution of laboratory classes
M_U002 Potrafi zaimplementować wybrane komunikaty protokołu OpenFlow w kontrolerze sieci sterowanych programowo. TEI2A_U01 Execution of a project,
Execution of laboratory classes
M_U003 Potrafi przeprowadzić badania eksperymentalne dotyczące wybranego aspektu sieci sterowanych programowo. TEI2A_U05, TEI2A_U06 Execution of a project
M_U004 Potrafi przygotować i przedstawić prezentację wyników realizacji projektu realizującego wybraną funkcjonalność w zakresie sieci sterowanych programowo wraz z opracowaniem studium przypadku w działającej sieci wirtualnej bądź fizycznej. TEI2A_U02 Execution of a project
Knowledge: he knows and understands
M_W001 Zna sposoby emulacji sieci teleinformatycznych złożonych z przełączników wspierających protokół OpenFlow w środowisku Mininet. TEI2A_W02 Execution of a project,
Execution of laboratory classes
M_W002 Ma wiedzę o nowoczesnych protokołach zarządzania sieciami teleinformatycznymi, takich jak OpenFlow, PCEP, BGP-LS. TEI2A_W04 Execution of laboratory classes,
Execution of a project,
Test
M_W003 Zna sposoby i wybrane protokoły pomiaru ruchu w sieciach teleinformatycznych. Rozumie koncepcję pomiarów aktywnych i pasywnych, zna ich architektury. TEI2A_W02, TEI2A_W04 Test,
Execution of a project
M_W004 Ma uporządkowaną wiedzę w zakresie współpracy różnych protokołów sieciowych służących do pomiarów, analizy i zarządzania sieciami teleinformatycznymi. TEI2A_W02 Execution of laboratory classes,
Execution of a project
Number of hours for each form of classes:
Sum (hours)
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
52 8 0 18 26 0 0 0 0 0 0 0
FLO matrix in relation to forms of classes
MLO code Student after module completion has the knowledge/ knows how to/is able to Form of classes
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Social competence
M_K001 Zna zasady pracy grupowej i role w grupie wykonującej implementację wybranej aplikacji dla sieci programowalnych. - - - + - - - - - - -
Skills
M_U001 Potrafi zaimplementować nowy moduł kontrolera sieci sterowanych programowo, w którym integruje działanie protokołów zarządzania sieciami teleinformatycznymi. - - + + - - - - - - -
M_U002 Potrafi zaimplementować wybrane komunikaty protokołu OpenFlow w kontrolerze sieci sterowanych programowo. - - + + - - - - - - -
M_U003 Potrafi przeprowadzić badania eksperymentalne dotyczące wybranego aspektu sieci sterowanych programowo. - - - + - - - - - - -
M_U004 Potrafi przygotować i przedstawić prezentację wyników realizacji projektu realizującego wybraną funkcjonalność w zakresie sieci sterowanych programowo wraz z opracowaniem studium przypadku w działającej sieci wirtualnej bądź fizycznej. - - - + - - - - - - -
Knowledge
M_W001 Zna sposoby emulacji sieci teleinformatycznych złożonych z przełączników wspierających protokół OpenFlow w środowisku Mininet. + - + + - - - - - - -
M_W002 Ma wiedzę o nowoczesnych protokołach zarządzania sieciami teleinformatycznymi, takich jak OpenFlow, PCEP, BGP-LS. + - - - - - - - - - -
M_W003 Zna sposoby i wybrane protokoły pomiaru ruchu w sieciach teleinformatycznych. Rozumie koncepcję pomiarów aktywnych i pasywnych, zna ich architektury. + - - - - - - - - - -
M_W004 Ma uporządkowaną wiedzę w zakresie współpracy różnych protokołów sieciowych służących do pomiarów, analizy i zarządzania sieciami teleinformatycznymi. + - - - - - - - - - -
Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 104 h
Module ECTS credits 4 ECTS
Udział w zajęciach dydaktycznych/praktyka 52 h
Preparation for classes 17 h
przygotowanie projektu, prezentacji, pracy pisemnej, sprawozdania 30 h
Contact hours 5 h
Module content
Lectures (8h):
  1. Wprowadzanie do sieci SDN.
  2. Architektura sieci sterowanych programowo. Protokół OpenFlow.
  3. Pomiary i analiza ruchu sieciowego.
  4. Wirtualizacja sieci. NFV.
Laboratory classes (18h):
  1. Zapoznanie ze środowiskiem Mininet. Instalacja zewnętrznego kontrolera SDN.
  2. Rest API. Proaktywna instalacja przepływów.
  3. Implementacja koncepcji sieci sterowanych programowo z wykorzystaniem przełączników sprzętowych.
  4. Wprowadzenie do tworzenia własnego modułu w kotrolerze SDN.
  5. Implementacja podstawowych reguł protokołu OpenFlow z wykorzystaniem kontrolera sieci SDN.
  6. Implementacja reaktywnej instalacji przepływów w przełącznikach SDN.
  7. Implementacja kolektora statystyk OpenFlow.
  8. Implementacja własnego modułu REST API.
  9. OpenFlow Meters oraz tablice Fast-Failover.
Project classes (26h):

W ramach ćwiczeń projektowych każdy student/grupa projektowa zaimplementuje zgłoszoną (zaproponowaną) funkcjonalność (aplikację) sieciową w wybranym przez siebie kontrolerze sieci sterowanych programowo wraz z opracowaniem studium przypadku w działającej sieci wirtualnej bądź fizycznej.
Podstawą zaliczenia jest implementacja, wykonanie dokumentacji technicznej oraz prezentacja wyników pracy na forum studenckim.

Additional information
Teaching methods and techniques:
  • Lectures: Treści prezentowane na wykładzie są przekazywane w formie prezentacji multimedialnej w połączeniu z klasycznym wykładem tablicowym wzbogaconymi o pokazy odnoszące się do prezentowanych zagadnień.
  • Laboratory classes: W trakcie zajęć laboratoryjnych studenci samodzielnie rozwiązują zadany problem praktyczny, dobierając odpowiednie narzędzia. Prowadzący stymuluje grupę do refleksji nad problemem, tak by otrzymane wyniki miały wysoką wartość merytoryczną.
  • Project classes: Studenci wykonują zadany projekt samodzielnie, bez większej ingerencji prowadzącego. Ma to wykształcić poczucie odpowiedzialności za pracę w grupie oraz odpowiedzialności za podejmowane decyzje.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

1. Ocena z ćwiczeń laboratoryjnych jest wystawiana na podstawie obecności oraz wyniku kolokwium.
2. Ocena z ćwiczeń projektowych jest wystawiana na podstawie obecności, aktywności studenta i wykonanego projektu.
3. W przypadku wyliczania jakiejkolwiek oceny na podstawie uzyskanych punktów, stosuje się progi według §13, pkt. 1 Regulaminu Studiów.

Participation rules in classes:
  • Lectures:
    – Attendance is mandatory: No
    – Participation rules in classes: Studenci uczestniczą w zajęciach poznając kolejne treści nauczania zgodnie z syllabusem przedmiotu. Studenci winni na bieżąco zadawać pytania i wyjaśniać wątpliwości. Rejestracja audiowizualna wykładu wymaga zgody prowadzącego.
  • Laboratory classes:
    – Attendance is mandatory: Yes
    – Participation rules in classes: Studenci wykonują ćwiczenia laboratoryjne zgodnie z materiałami udostępnionymi przez prowadzącego. Student jest zobowiązany do przygotowania się w przedmiocie wykonywanego ćwiczenia, co może zostać zweryfikowane kolokwium w formie ustnej lub pisemnej. Zaliczenie zajęć odbywa się na podstawie zaprezentowania rozwiązania postawionego problemu. Zaliczenie modułu jest możliwe po zaliczeniu wszystkich zajęć laboratoryjnych.
  • Project classes:
    – Attendance is mandatory: Yes
    – Participation rules in classes: Studenci wykonują prace praktyczne mające na celu uzyskanie kompetencji zakładanych przez syllabus. Ocenie podlega sposób wykonania projektu oraz efekt końcowy.
Method of calculating the final grade:

1. Aby uzyskać pozytywną ocenę końcową niezbędne jest uzyskanie pozytywnej oceny z ćwiczeń projektowych oraz ćwiczeń laboratoryjnych.
2. Ocena końcowa jest obliczana jako średnia ważona ocen z projektu (waga 60%) oraz kolokwium (40%).
3. W przypadku wyliczania jakiejkolwiek oceny na podstawie uzyskanych punktów, stosuje się progi według §13, pkt. 1 Regulaminu Studiów. W przypadku wyliczania jakiejkolwiek oceny na podstawie średniej ważonej innych ocen stosuje się takie same progi jak zdefiniowane w §27, pkt. 4 Regulaminu Studiów.
4. Student ma prawo do jednokrotnego zaliczenia poprawkowego laboratorium, realizowanego jako kolokwium ustne, pod warunkiem praktycznego wykonania w ramach modułu co najmniej 7 z 9 opisanych w syllabusie ćwiczeń laboratoryjnych. Student ma prawo do jednokrotnego zaliczenia poprawkowego projektu z użyciem nowych scenariuszy badawczych określonych przez prowadzącego.

Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

Po uzgodnieniu z prowadzącym student może odrobić w domu niektóre ćwiczenia laboratoryjne, a następnie pokazać prowadzącemu efekty odrobionych ćwiczeń

Prerequisites and additional requirements:

Podstawowa wiedza z zakresu sieci komputerowych oraz sieci IP. Podstawy programowania obiektowego w języku Java.

Recommended literature and teaching resources:

1. W. Xia, Y. Wen, C. H. Foh, D. Niyato, H. Xie: Survey on Software-Defined Networking, IEEE Communications Surveys and Tutorials, Vol. 17, No. 1, 2015
2. Y. Li and M. Chen: Software-Defined Network Function Virtualization: A Survey, in IEEE Access, vol. 3, pp. 2542-2553, 2015. doi: 10.1109/ACCESS.2015.2499271
3. R. Guerzoni et al.: Network functions virtualisation: An introduction, benefits, enablers, challenges & call for action, in Proc. SDN OpenFlow World Congr., 2012, pp. 1-16
4. R. Jain and S. Paul: Network virtualization and software defined networking for cloud computing: A survey, IEEE Commun. Mag., vol. 51, no. 11, pp. 24-31, Nov. 2013
5. Open Networking Foundation: Software-defined networking: The new norm for networks, ONF White Paper, 2012
6. Open Networking Foundation: OpenFlow Switch Specification, Version 1.5.1 ( Protocol version 0×06 ), 2015

Scientific publications of module course instructors related to the topic of the module:

1. Grzegorz Rzym, Krzysztof Wajda, Krzysztof Rzym, Analysis of PCE-based path optimization in multi-domain SDN/MPLS/BGP-LS network, 2016 18th International Conference on Transparent Optical Networks (ICTON), Trento, Italy, 2016, pp. 1-5., doi: 10.1109/ICTON.2016.7550505
2. Roman Łapacz, Jakub Gutkowski, Łukasz Łopatowski, Rafał Stankiewicz, Krzysztof Wajda, Grzegorz Rzym, Piotr Wydrych, Zbigniew Duliński, Dynamic Traffic Management for minimization of inter-domain traffic cost in the Inter-cloud Communication, TNC15: connected communities : 15–18 June 2015, Porto, Portugal
3. Krzysztof Wajda, Rafał Stankiewicz, Grzegorz Rzym, Piotr Wydrych, Zbigniew Duliński, Roman Łapacz, Łukasz Łopatowski, Jakub Gutkowski, Implementacja nowych metod zarządzania ruchem danych w sieciach nakładkowych oraz środowiskach chmurowych, [Implementation on new traffic management methods for overlay networks and cloud environments], Przegląd Telekomunikacyjny, Wiadomości Telekomunikacyjne, ISSN 1230-3496. — 2015 R. 88 nr 8–9
4. Krzysztof Wajda, Grzegorz Rzym, Jerzy Domżał, Robert Wójcik, Ewolucja koncepcji sieci w kierunku sieci zorientowanych na przepływy, [Evolution of network concept towards flow-aware networking], Przegląd Telekomunikacyjny, Wiadomości Telekomunikacyjne, ISSN 1230-3496. — 2015 R. 88 nr 8–9
5. Krzysztof Wajda, Rafał Stankiewicz, Grzegorz Rzym, Piotr Wydrych, Mateusz Wielgosz, Arkadiusz Zwierz, Zbigniew Duliński, Metody zarządzania ruchem w sieciach nakładkowych i środowiskach chmur obliczeniowych realizowane w projekcie FP7 smartenIT, [Methods of traffic management in overlay networks and cloud environments implemented in FP7 SmartenIT project], Przegląd Telekomunikacyjny, Wiadomości Telekomunikacyjne, ISSN 1230-3496. — 2014 R. 87 nr 8–9
6. Piotr Boryło, Piotr Chołda, Jerzy Domżał, Piotr Jaglarz, Piotr Jurkiewicz, Artur Lasoń, Marcin Niemiec, Michał Rzepka, Grzegorz Rzym, Robert Wójcik, SDNRoute: integrated system supporting routing in software defined networks, 19th International Conference on Transparent Optical Networks (ICTON 2017), 2–6 July 2017, Girona, Spain
7. Piotr Boryło, Piotr Chołda, Piotr Jaglarz, Mirosław Kantor, Wiesław Ludwin, Grzegorz Rzym, Optymalizacja wielokryterialna na potrzeby zintegrowanego systemu obsługi trasowania w sieciach sterowanych programowo (SDNRoute), [Multi-objective optimum design for integrated system supporting routing in software defined networks (SDNRoute)], Przegląd Telekomunikacyjny, Wiadomości Telekomunikacyjne, ISSN 1230-3496, 2017 R. 90 nr 8-9
8. Grzegorz Rzym, Zbigniew Duliński, Piotr Chołda, Wielościeżkowa transmisja z wykorzystaniem mechanizmu agregacji przepływów w sieci sterowanej programowo, [Multipath transmission using flow aggregation in software-defined network], Przegląd Telekomunikacyjny, Wiadomości Telekomunikacyjne, ISSN 1230-3496, 2017 R. 90 nr 8-9
9. Grzegorz Rzym, Zbigniew Duliński, Piotr Chołda, Dynamiczny wybór wag łączy służący do sterowania ruchem w sieciach SDN z wykorzystaniem transmisji wielościeżkowej i agregacji przepływów, [Dynamic link metric selection for traffic control in SDN networks using multipath transmission and flow aggregation], Przegląd Telekomunikacyjny, Wiadomości Telekomunikacyjne, ISSN 1230-3496, 2018 R. 91 nr 8-9

Additional information:

Zajęcia przedmiotu są prowadzone w języku polskim. Niektóre materiały do zajęć są w języku angielskim.