Poniższa lista zawiera najważniejsze z rzeczy przerabianych w trakcie semestru. Dwa, albo nawet wszystkie trzy pytania na egzaminie będą dotyczyć właśnie tych zagadnień.
Abstrakcyjny model koncepcyjny ISO / OSI. Funkcjonalność zapewniana przez poszczególne warstwy modelu.
Rzeczywisty, czterowarstwowy model używany w Internecie (warstwy łącza danych, internetowa, transportowa i aplikacyjna). Przykładowe standardy i protokoły odpowiadające tym warstwom. Przykładowe adresy z każdego z tych czterech poziomów.
Typy protokołów transportowych: strumieniowe kontra datagramowe, godne zaufania (ang. reliable) vs te bez mechanizmów weryfikujących dotarcie danych do odbiorcy, zachowujące kolejność przesyłanych danych i te, które tego nie gwarantują.
Uniksowy model operacji wejścia-wyjścia. Pojęcie deskryptora pliku.
Podstawowe funkcje jądra operujące na deskryptorach: open,
read, write, close.
Gniazdka sieciowe POSIX, czyli tzw. gniazdka BSD.
Pojęcie dziedziny komunikacyjnej, znanej też jako rodzina adresowa. Typy
struktur służących do reprezentowania adresów z poszczególnych dziedzin. Rola
typu struct sockaddr.
Typy gniazdek: datagramowe, strumieniowe, inne. Własności dwóch podstawowych typów. Przykłady protokołów odpowiadających tym typom.
Korzystanie z gniazdek w trybie bezpołączeniowym (tak zazwyczaj używa się
gniazdek datagramowych). Sposób działania operacji socket,
sendto, recvfrom, close oraz
bind (konieczna po stronie serwera).
Korzystanie z gniazdek w trybie połączeniowym (tak używa się gniazdek
strumieniowych). Kliencka sekwencja operacji socket,
connect, read/write, close oraz
serwerowa socket, bind, listen,
accept, read/write, close.
Serwery iteracyjne i współbieżne. Mechanizmy uniksowych systemów operacyjnych używane przy implementowaniu współbieżności.
URL-e. Protokół HTTP. Zasoby i metody. Struktura zapytań i odpowiedzi HTTP. Standard CGI pozwalający serwerowi / demonowi WWW przekazywać zapytania HTTP do zewnętrznego programu.
Protokół SSL / TLS.
Podstawowe pojęcia z kryptografii: szyfr symetryczny, szyfr asymetryczny z kluczem publicznym, funkcja skrótu, sygnatura, certyfikat. Model zaufania oparty o powszechnie znane urzędy certyfikacyjne.
Informacje zawarte w certyfikatach serwerów SSL / TLS. Czynności wykonywane podczas nawiązywania połączenia między klientem a serwerem (w ogólnych zarysach).
Rodzaje ataków, przed którymi chroni SSL / TLS.
Pojęcie serializacji danych. Tekstowe oraz binarne formaty serializacji. Reprezentatywne przykłady: JSON, XML-owy format używany w XML-RPC, Sun XDR, DER, standardowa serializacja Javy. Cechy tych formatów oraz możliwości przez nie oferowane (w ogólnych zarysach).
Model zdalnego wywołania procedury / metody. Reprezentatywne przykłady: Sun RPC, XML-RPC, JSON-RPC, Java RMI. Sposób pisania programów korzystających z tych podejść (w ogólnych zarysach). Sposób adresowania procedur / metod, które chcemy wywołać.
Architektura REST, jej zalecenia określające sposób implementowania usług sieciowych.