Η SDN είναι μια νέα ανερχόμενη αρχιτεκτονική δικτύων υπολογιστών. Σε ένα δίκτυο υπολογιστών έχουμε τις έννοιες του data plane και του control plane. Σήμερα, η διεπαφή μεταξύ του control plane και του data plane είναι κλειστή και βρίσκεται στο εσωτερικό δρομολογητών και μεταγωγέων με αποτέλεσμα να μην μπορεί κάποιος να αλλάξει εύκολα τα πρωτόκολλα δρομολόγησης που χρησιμοποιούνται σε ένα δίκτυο υπολογιστών. Η βασική ιδέα της αρχιτεκτονικής SDN είναι η αποσύνδεση του control plane από το data plane και η δημιουργία μιας ανοιχτής διεπαφής μεταξύ τους. Το control plane τρέχει εξωτερικά από τους δρομολογητές πάνω από ένα λεγόμενο network operating system (NOS), το οποίο διαχειρίζεται τους πίνακες προώθησης των δρομολογητών και μεταγωγέων ενός δικτύου. Με αυτή την προσέγγιση γίνεται πολύ πιο εύκολο να εφαρμόσει κανείς καινοτόμες τεχνικές δρομολόγησης και διαχείρισης της κίνησης μιας και ένα νέο πρωτόκολλο δρομολόγησης μπορεί να εφαρμοστεί πολύ γρήγορα, απλά με τη χρήση νέου λογισμικού πάνω από το NOS, χωρίς να χρειάζονται αλλαγές στους δρομολογητές και τους μεταγωγείς. Η αρχιτεκτονική SDN έχει προσεγγίσει τα τελευταία 2-3 χρόνια πολύ ενδιαφέρον από την βιομηχανία, υποστηρίζεται ήδη από πολλές εταιρίες παραγωγής δρομολογητών και μεταγωγών, όπως η Cisco και η Juniper, και χρησιμοποιείται ήδη σε ορισμένα δίκτυα, όπως το inter-data-center δίκτυο της Google.
Ενδεικτικά κάποια από τα θέματα που καλύπτονται είναι τα ακόλουθα:
Εισαγωγή στην αρχιτεκτονική SDN. Ιστορικό και βασικές έννοιες. Το πρωτόκολλο OpenFlow.
Εφαρμογές της αρχιτεκτονικής SDN σε data center, transit, και enterprise networks.
Network virtualization.
Ασκήσεις προγραμματισμού δικτύων SDN.
Η διδασκαλία του μαθήματος διαρκεί 6 εβδομάδες και βασίζεται εν μέρη σε papers. Οι φοιτητές λύνουν ασκήσεις προγραμματισμού.
Μαθησιακοί στόχοι:
Εργαλεία για τη διαχείριση και τον προγραμματισμό δικτύων υπολογιστών (OpenFlow, P4, ONOS, OVS, mininet, κ.α.)
Βασικές αρχές τεχνολογιών δικτύων καθοριζόμενων από λογισμικό (Software Defined Networking)
Μοντέρνα θέματα και έρευνα σχετικά με τον προγραμματισμό δικτύων υπολογιστών
Εισαγωγή και εφαρμογή της γλώσσας προγραμματισμού python
Αξιολόγηση:
Λεπτομέριες για την βαθμολόγηση του μαθήματος περιέχονται στην ιστοσελίδα του μαθήματος
Τα μαθήματα του Τμήματος Επιστήμης Υπολογιστών κωδικοποιούνται με τα γράμματα "ΗΥ" και με τρία ψηφία. Το πρώτο ψηφίο δηλώνει το έτος κατά το οποίο συνήθως παρακολουθείται το μάθημα, το δε δεύτερο την επιστημονική περιοχή του μαθήματος:
Πρώτο Ψηφίο
Κανονικό Έτος Παρακολούθησης
1,2,3,4
Πρώτο, Δεύτερο, Τρίτο, Τέταρτο
5,6
Μεταπτυχιακά μαθήματα
7,8,9
Ειδικά θέματα
Δεύτερο Ψηφίο
Επιστημονική Περιοχή
0
Εισαγωγικά - Γενικά
1
Υπόβαθρο (Μαθηματικά, Φυσική)
2
Υλικό και Συστήματα Υπολογιστών
3
Τηλεπικοινωνίες και Δίκτυα
4,5
Συστήματα Λογισμικού και Εφαρμογές
6
Πληροφοριακά Συστήματα
7
Υπολογιστική Όραση και Ρομποτική
8
Αλγοριθμική και Θεωρία Υπολογισμού
9
Ειδικές Εργασίες
Ακολουθούν συνοπτικοί κατάλογοι κατά κατηγορίες των μαθημάτων του προγράμματος βασικών σπουδών του Τμήματος Επιστήμης Υπολογιστών του Πανεπιστημίου Κρήτης. Μαθήματα των οποίων οι κωδικοί αρχίζουν με "ΜΕΜ" ή "ΦΥΣ" διδάσκονται από το Τμήμα Μαθηματικών Εφαρμοσμένων Μαθηματικών ή το Φυσικό αντιστοίχως και αναφέρονται με τους οικείους κωδικούς. Τα προαπαιτούμενα που αναφέρονται μέσα σε παρενθέσεις συνιστώνται έντονα, αλλά δεν είναι υποχρεωτικά.