Zaawansowane programowanie sieciowe 1000-2M24ZPS
1. Problemy z Internetem: ograniczenia w komunikacji (middleboxes), ataki na bezpieczeństwo, wszechobecny monitoring.
2. Aplikacje klient-serwer oparte na protokołach HTTP i TLS.
3. Serializacja danych. Formaty XML i JSON.
4. Struktura REST.
5. Główne własności bezpieczeństwa. Wprowadzenie do protokołów kryptograficznych. Protokół TLS.
6. Komunikacja peer-to-peer i komunikacja w czasie rzeczywistym. Protokoły oparte na UDP.
7. Protokoły hybrydowe (kanał kontrolny client-server, kanał danych peer-to-peer).
8. Aplikacje kryptografii do protokołów hybrydowych.
Rodzaj przedmiotu
Wymagania (lista przedmiotów)
Założenia (opisowo)
Efekty kształcenia
Wiedza - student zna i rozumie
- problemy związane z komunikacją w Internecie
- problemy związane z atakami bezpieczeństwa i monitoringiem w Internecie
- architektury klient-serwer, peer-to-peer i hybrydową
- problem serializacji danych
- główne własności bezpieczeństwa i co gwarantuje protokół TLS
- pojęcie wymiany kluczy kryptograficznych
Umiejętności - student potrafi
- programować w języku Go na poziomie podstawowym
- konstruować programy sieciowe w architekturze klient-serwer oparte na protokołach HTTP, TLS i strukturze REST
- konstruować programy sieciowe w architekturze hybrydowej oparte na protokołach HTTP i UDP
- częściowo zabezpieczać protokoły hybrydowe
Kryteria oceniania
Projekt grupowy 50% + egzamin 50%
Więcej informacji
Więcej informacji o poziomie przedmiotu, roku studiów (i/lub semestrze) w którym się odbywa, o rodzaju i liczbie godzin zajęć - szukaj w planach studiów odpowiednich programów. Ten przedmiot jest związany z programami:
Dodatkowe informacje (np. o kalendarzu rejestracji, prowadzących zajęcia, lokalizacji i terminach zajęć) mogą być dostępne w serwisie USOSweb: