PSIK – studia dzienne, zima 2018/2019

Programowalne SIeci Komputerowe

Software Defined Networking

Spis treści

Zasady zaliczania przedmiotu

Charakterystyka przedmiotu

Tematy wykładów

Literatura

Recenzja

Projekt


Zasady zaliczania przedmiotu

Ocena końcowa jest wystawiana na podstawie uzyskanych punktów z 2 kolokwiów i projektu wycenianych następująco:

Oceny cząstkowe i końcowe publikowane są na:

https://studia.elka.pw.edu.pl/pl/18Z/103A-INxxx-MSP-PSIK/info-one/


Charakterystyka przedmiotu

Celem przedmiotu jest przedstawienie obecnego stanu wiedzy, kierunków rozwojowych i powstałych rozwiązań technicznych dotyczących programowania sieci komputerowych. Różne są powody dla których powstają nowe techniki ich programowania. Jedne wynikają z potrzeb, kreowanych przez olbrzymie centra danych i usługi „w chmurze” (ang. big data, cloud computing), inne wynikają z dążenia do obniżania kosztów administracji i utrzymania sieci. Znajomość problematyki i technik programowania sieci jest potrzebna, i nie tylko w zespołach badawczych ale również w zespołach wdrażających nowe rozwiązania po stronie dostawców sieci i po stronie dostawców zdalnych usług świadczonych poprzez Internet. Programowalne sieci umożliwią stworzenie rozwiązań dynamicznie dostosowujących sieć do potrzeb aplikacji, oraz informujących aplikacje o bieżącym stanie i możliwościach sieci. W konsekwencji umożliwiają szybkie dostosowywanie sieci do zmieniających się warunków rynkowych.

Efektem kształcenia będzie zdobycie przez studentów wiedzy teoretycznej i praktycznej z zakresu najnowszych technik programowania przełączników sieciowych, technik wirtualizacji sieci i istniejących standardów komunikacji urządzeń sieciowych z aplikacjami rozproszonymi.

Tematy wykładów

Nr

Data

Tematy

Prowadzący

1

8 paź

Historia rozwoju koncepcji programowania zasobów sieci komputerowych. Wprowadzenie do technik SDN (ang. Software Defined Networking).

J. Wytrębowicz

2

15 paź

Technika OpenFlow zgodnie ze specyfikacjami Open Network Foundation.

J. Wytrębowicz

3

22 paź

Omówienie środowiska symulacyjnego Mininet. Wirtualny przełącznik OVS. Narzędzia do generacji i analizy przepływów w sieci.

K. Cabaj

4

29 paź

Zestawianie środowiska na różnych komputerach, tunelowanie SSH. Wybrane sterowniki OpenFlow.

P. Radziszewski

5

5 lis

Zarządzanie i konfiguracja sieci OpenFlow.

J. Wytrębowicz

6

12 lis dzień wolny

Bieżące projekty badawcze dotyczące rozwoju techniki OpenFlow.

J. Wytrębowicz

7

19 lis

Kolokwium.

J. Wytrębowicz

8

26 lis

Technika Application-Layer Traffic Optimization (ALTO).

J. Wytrębowicz

9

3 gru

Aspekty skalowalności. Technika Interface to the Routing System  (i2rs).

P. Radziszewski

10

10 gru

Bezpieczeństwo sieci SDN.

K. Cabaj

11

17 gru

Techniki wirtualizacji zasobów sieciowych (ang. Network Function Virtualisation).

J. Wytrębowicz

12

2 sty

Zastosowania sieci SDN (multicast, wybrane projekty z github).

J. Wytrębowicz

13

7 sty

Typowe obszary zastosowań sieci SDN (centra danych, sieci komunikacji ruchomej, sieci bezprzewodowe) i przykładowe wdrożenia.

S. Kukliński

14

14 sty

Programowanie sieci Multiprotocol Label Switching (MPLS) z użyciem techniki Path Computation Element (PCE).

S. Kukliński

15

21 sty

Kolokwium.

J. Wytrębowicz

Zajęcia w poniedziałki godz. 16-18, sala 108.

 

Materiały z wykładów jak również pytania kontrolne dostępne są na:

https://studia.elka.pw.edu.pl/file/18Z/103A-INxxx-MSP-PSIK/priv/

 

Literatura:

 

Do przeglądania książek wybierz z listy e-baz PW (http://www.bg.pw.edu.pl/index.php/zasoby/lista-e-baz): ProQuest Ebook Central


 

Recenzja

Studenci otrzymają̨ na zajęciach listę proponowanych artykułów. Każdy student wybierze jeden artykuł do recenzji. Każdy student recenzuje inny artykuł. Możliwe jest samodzielne wyszukanie i wybranie artykułu (z poza listy) prezentującego najnowsze prace z dziedziny Programowalnych Sieci Komputerowych – wybór ten musi być zaakceptowany przez prowadzącego przedmiot. Do akceptacji należy przekazać dane bibliograficzne i streszczenie wybranej publikacji. Wybrany artykuł należy zgłosić najpóźniej do dnia 30 października 2018. Może zaistnieć potrzeba wybrania innego artykułu wówczas, gdy inny student wcześniej zgłosi ten sam tekst do recenzji.

 

Recenzja ma zawierać:

Długość recenzji powinna wynosić od 3000 do 5000 znaków (bez spacji). Może być ona napisana w języku polskim albo angielskim. Wymagany jest styl obowiązujący w publikacjach naukowo-technicznych. Recenzje powinny być dostarczone (w formie pliku PDF) do oceny najpóźniej do dnia 14 stycznia 2019.

 

Treści artykułów i recenzji będą udostępnione wszystkim studentom zapisanym na przedmiot. Na kolokwium 21 stycznia mogą pojawić się pytania dotyczące treści zawartych w recenzjach.

 


 

Projekt

 Prowadzący

e-adres

Pok.

Krzysztof Cabaj

K.Cabaj (at) ii.pw.edu.pl

134

Paweł Radziszewski

P.Radziszewski (at) ii.pw.edu.pl

309

Jacek Wytrębowicz

J.Wytrebowicz (at) ii.pw.edu.pl

319

Sławomir Kukliński

kuklinski (at) tele.pw.edu.pl

475

 

Studenci otrzymają̨ do wykonania zadanie polegające na zaprojektowaniu i skonfigurowaniu doświadczalnego środowiska z wykorzystaniem symulatora sieci OpenFlow (tj. Mininet) wraz ze sterownikiem tej sieci (np. POX, Ryu, Floodlight). Następnie zbudują zadany prosty moduł dla sterownika (w języku Phyton albo Java), po czym zademonstrują jego działanie. Celem zadania projektowego może być realizacja wybranych funkcji inżynierii ruchu, kontroli bezpieczeństwa, harmonogramowania przepływów, profilowania parametrów jakościowych dla wybranych przepływów, wsparcia dla usług „sieci dostarczania treści”. Studenci będą̨ mogli wybrać, czy projektują moduł używający interfejs REST API danego sterownika SDN, czy też modyfikują istniejący moduł danego sterownika wyposażając go w nowe funkcje. Jeżeli projekt polega na prostej modyfikacji kodu istniejącego modułu sterownika, to oczekiwane jest, że studenci napiszą skrypt w Pythonie realizujący określony scenariusz generacji i analizy ruchu pakietów. Praca nad projektem zajmuje około 60 godzin.

 

Studenci, którzy postanowili wspólnie realizować projekt wybierają prowadzącego poprzez stronę https://studia.elka.pw.edu.pl/pl/18Z/103A-INxxx-MSP-PSIK/info-one/ (każdy z nich powinien przypisać się do tego samego prowadzącego).

 

Regulamin projektu z PSIK:

1.     Projekt realizowany jest w zespołach 2-osobowych.

2.     Realizacja zadania podzielona jest na 3 fazy: projekt wstępny, implementacja do odbioru częściowego i implementacja do odbioru końcowego.

3.     Projekt wstępny powinien określać:

a.     Treść zadania.

b.     Przyjęte założenia funkcjonalne i niefunkcjonalne.

c.     Wybrane środowisko narzędziowe.

d.     Architekturę rozwiązania, tj. ilustrację i opis struktury logicznej systemu (koncepcyjnych bloków funkcjonalnych), oraz API modułów funkcjonalnych (gdy ma to sens w danym projekcie).

e.     Sposób demonstracji rezultatów, tj. scenariusze testów akceptacyjnych do zaprezentowania przy końcowym odbiorze projektu.

f.      Wyniki do zaprezentowania w czasie odbioru częściowego.

g.     Podział prac w zespole.

4.     Wybór prowadzącego w czasie od 15 do 22 października.

5.     Ustalenie tematu z prowadzącym do 29 października.

6.     Projekt wstępny należy złożyć do 12 listopada.

7.     Odbiór częściowy do dnia 3 grudnia.

8.     Złożenie dokumentacji projektu końcowego do dnia 11 stycznia.

9.     Obrona i ocena projektu przewidziana jest w czasie od 14 do 21 stycznia.

10.  Oceny z projektu powinny być wystawione do dnia 24 stycznia.

11.  Kara za każdy dzień spóźnienia wynosi 1 punkt. Maksymalnie za nieterminowość można stracić:

a.     3 pkt. za projekt wstępny,

b.     2 pkt. za odbiór częściowy,

c.     3 pkt. za dokumentację końcową,

d.     2 pkt. za prezentację końcową.

12.  Dokumentacja końcowa powinna zawierać:

a.     Projekt wstępny z ewentualnymi aktualizacjami.

b.     Opis konstrukcyjny i użytkowy zbudowanych modułów.

c.     Opis reprezentatywnych reguł zapisywanych w tablicach przepływów przełączników (jeżeli dotyczy).

d.     Opis przeprowadzonych testów.

e.     Ewentualnie instrukcja instalacji zbudowanych modułów.

f.      Refleksje na temat realizacji projektu, w tym oszacowanie czasu na jego realizację (wyróżniając etapy instalacji/konfiguracji środowiska, nauki środowiska i narzędzi, tworzenia i testowania rozwiązania, opracowywania dokumentacji).

g.     Oszacowanie czasochłonności projektu (w roboczogodzinach).

h.     Wykaz załączonych plików źródłowych.

13. Dokumentacje wstępną i końcową należy dostarczyć w wersji elektronicznej.