Różnice między wybraną wersją a wersją aktualną.
Both sides previous revision Poprzednia wersja Nowa wersja | Poprzednia wersja | ||
sk2:zagadnienia [2023/11/27 23:45] jkonczak |
sk2:zagadnienia [2025/01/02 15:47] (aktualna) jkonczak [Laboratoria 11 (na zajęciach z konfiguracji DNS; 17/19/20.12)] |
||
---|---|---|---|
Linia 3: | Linia 3: | ||
Do zajęć konieczna jest znajomość programowania strukturalnego i obiektowego w C++. | Do zajęć konieczna jest znajomość programowania strukturalnego i obiektowego w C++. | ||
- | ===== Laboratoria 2 (10/12/13.10) ===== | + | ===== Laboratoria 2 (10/11/15.10) ===== |
* znać funkcje (nazwy, jakie informacje są przekazywane w argumentach, co oznaczają używane przez nie stałe) do: | * znać funkcje (nazwy, jakie informacje są przekazywane w argumentach, co oznaczają używane przez nie stałe) do: | ||
* tworzenia gniazda | * tworzenia gniazda | ||
Linia 14: | Linia 14: | ||
<html><!--* umieć wyświetlić pomoc systemową dla funkcji / struktur--></html> | <html><!--* umieć wyświetlić pomoc systemową dla funkcji / struktur--></html> | ||
+ | ===== Laboratoria 4 (24/25/29.10) ===== | ||
- | ===== Laboratoria 3 (17/19/20.10) ===== | + | * znać wymienione niżej funkcje API gniazd, to znaczy wiedzieć: |
- | + | * jak nazywa się funkcja która wykonuje konkretne działanie | |
- | * znać pełen zestaw funkcji BSD sockets API: | + | * jakich informacji potrzebuje (nie trzeba znać kolejności, nazw, ani dokładnych typów argumentów) |
+ | * co każda z tych funkcji zwraca (nie chodzi o typ, bo wszystkie zwracają typ ''int'' – trzeba wiedzieć co oznacza jego wartość) | ||
+ | * lista funkcji | ||
* ogólne: | * ogólne: | ||
* tworzenie gniazda | * tworzenie gniazda | ||
Linia 32: | Linia 35: | ||
* wysłanie danych | * wysłanie danych | ||
* odbiór danych | * odbiór danych | ||
+ | * odpytywanie o nazwy domenowe: | ||
+ | * do odwzorowywania nazw domenowych na adresy IP | ||
+ | * do odwzorowywania adresów IP na nazwy domenowe | ||
+ | * wiedzieć co oznaczają stałe które występują w tych funkcjach: \\ AF_INET, AF_INET6, SOCK_STREAM, SOCK_DGRAM, IPPROTO_TCP, IPPROTO_UDP, INADDR_ANY, INADDR_LOOPBACK, SOMAXCONN, SHUT_RDWR, SO_REUSEADDR | ||
* wiedzieć w jakiej kolejności można wywoływać w/w funkcje | * wiedzieć w jakiej kolejności można wywoływać w/w funkcje | ||
* wiedzieć jakie funkcje i w jakiej kolejności należy użyć, aby stworzyć: | * wiedzieć jakie funkcje i w jakiej kolejności należy użyć, aby stworzyć: | ||
Linia 39: | Linia 46: | ||
* serwer UDP | * serwer UDP | ||
- | ===== Laboratoria 5 (2/3/6/7.11) ===== | + | ===== Laboratoria 5 (5/7/8.11) ===== |
- | * znać różnice między trybem blokującym i nieblokującym | + | * tryb blokujący / nieblokujący: |
- | * wiedzieć które funkcje (spośród wszystkich omawianych funkcji sieciowych) mogą się zablokować | + | * jakie są różnice między trybami |
- | * wiedzieć w jakiej sytuacji w/w funkcje mogą się zablokować | + | * co jeśli funkcja która nie może natychmiast się wykonać jest wywołana w trybie nieblokującym |
- | * znać gwarancje funkcji write w trybie blokującym | + | * które funkcje z interfejsu gniazd mogą się zablokować, które są zawsze nieblokujące |
- | * rozumieć jakie wartości (ilości bajtów) mogą zwrócić funkcje odbierające dane z sieci | + | * należy umieć podać w jakich sytuacjach i na jak długo konkretna funkcja z interfejsu gniazd może się zablokować |
- | * rozumieć jakie wartości (ilości bajtów) mogą zwrócić funkcje wysyłające dane do sieci | + | * wysyłanie/odbieranie danych w trybie (nie)blokującym: |
- | * rozumieć na czym polega protokół strumieniowy i zorientowany na wiadomość (datagramowy), \\ szczególnie w jakich porcjach mogą być odbierane dane w TCP i UDP | + | * jakie gwarancje mają funkcje wysyłające dane w trybie blokującym |
- | * rozumieć czym może skutkować brak kontroli przepływu | + | * jakie wartości mogą zwrócić funkcje wysyłające dane do sieci (w każdym z trybów) |
- | * rozumieć czym może skutkować brak uporządkowania i potwierdzania odebrania danych | + | * jakie wartości mogą zwrócić funkcje odbierające dane z sieci (w każdym z trybów) |
+ | * na czym polega protokół strumieniowy i zorientowany na wiadomość (datagramowy), \\ szczególnie w jakich porcjach mogą być odbierane dane w TCP i UDP | ||
+ | * czym może skutkować brak kontroli przepływu | ||
+ | * czym może skutkować brak uporządkowania i potwierdzania odebrania danych | ||
* znać praktyczne różnice między protokołami TCP i UDP | * znać praktyczne różnice między protokołami TCP i UDP | ||
* jakie gwarancje zapewnia programiście TCP | * jakie gwarancje zapewnia programiście TCP | ||
Linia 62: | Linia 72: | ||
* semantyka strumieniowa / zorientowana na wiadomość (datagramowa) | * semantyka strumieniowa / zorientowana na wiadomość (datagramowa) | ||
--></html> | --></html> | ||
+ | |||
+ | ===== Laboratoria 7 (19/21/22.11) ===== | ||
+ | Wejściówka obejmuje temat z __wykładu__. | ||
+ | \\ | ||
+ | <small>(Zagadnienia z pierwszej grupy powinny być częścią wiedzy ogólnoinformatycznej, stąd na wykładzie te pojęcia mogą się pojawić bez definicji.)</small> | ||
+ | \\ | ||
+ | |||
+ | |||
+ | * co to jest: <small>(należy umieć podać krótkie definicje lub dopasować nazwę do definicji)</small> | ||
+ | * uwierzytelnianie, autoryzacja, szyfrowanie | ||
+ | * kryptografia symetryczna, kryptografia asymetryczna | ||
+ | * klucz publiczny, klucz prywatny | ||
+ | * man-in-the-middle attack | ||
+ | * urząd certyfikacji (certificate authority), certyfikat | ||
+ | * standard X.509, format PEM | ||
+ | | ||
+ | * czy serwer zwykle ma swój certyfikat | ||
+ | * czy klient zwykle ma swój certyfikat | ||
+ | * po co serwerowi certyfikat | ||
+ | * skąd bierze się klucz używany do szyfrowania | ||
+ | |||
+ | * jaka jest różnica między TLS i DTLS | ||
+ | * na jakiej warstwie działa TLS | ||
+ | * jakie gwarancje daje programiście połączenie TLS <small> tzn. jest strumieniowy czy datagramowy, połączeniowy czy bezpołączeniowy, zapewnia kontrolę przepływu czy nie, czy pozwala na gubienie danych, duplikację, zmianę kolejności</small> | ||
+ | |||
+ | * jak nazywają się przykładowe biblioteki implementujące TLS | ||
+ | | ||
+ | * czym jest i do czego służy struktura ("obiekt") ''SSL_CTX'' | ||
+ | * czym jest i do czego służy struktura ("obiekt") ''SSL'' | ||
+ | * jakie wartości w zwracane przez funkcje ''SSL_set_fd/SSL_connect/…_accept/…_read/…_write/…'' oznaczają powodzenie, jakie oznaczają inny rezultat | ||
+ | |||
+ | ===== Laboratoria 10 (na zajęciach z odpytywania DNS; 10/12/13.12) ===== | ||
+ | |||
+ | Wejściówka obejmuje temat z __wykładu__. | ||
+ | |||
+ | * co to jest nazwa domenowa, co oznacza skrót FQDN | ||
+ | * na czym polega hierarchia w systemie nazw domenowych | ||
+ | * co to jest korzeń (root zone) | ||
+ | * co to jest TLD | ||
+ | * jakie są rodzaje TLD – krajowe, funkcjonalne, sponsorowane, … | ||
+ | * z każdego z w/w rodzaju należy znać po 3 przykłady TLD | ||
+ | * jakie są rodzaje serwerów, do czego służą i czym się różnią: | ||
+ | * root server, authoritative, non-authoritative (caching) | ||
+ | * co to jest resolver | ||
+ | * rodzaje rekordów zasobowych: A, AAAA, NS, CNAME, MX, TXT, … | ||
+ | * do czego służą | ||
+ | * co zawierają | ||
+ | * na czym polegają zapytania rekurencyjne i iteracyjne | ||
+ | |||
+ | ===== Laboratoria 11 (na zajęciach z konfiguracji DNS; 17/19/20.12) ===== | ||
+ | |||
+ | * znać komendy odpytujące: | ||
+ | * podany serwer nazw | ||
+ | * o wskazane rodzaje rekordów | ||
+ | * o odwzorowanie odwrotne (o nazwę domenową odpowiadającą wskazanemu IP) | ||
+ | * wiedzieć co oznacza treść (i składnia) wartości rekordów NS, CNAME, A, AAAA i MX | ||
+ | * umieć odczytać wyniki komendy ''dig …'' lub ''host -v …'' | ||
+ | |||
+ | ===== Laboratoria 12 (na zajęciach z HTTP; 7/9/10.12) ===== | ||
+ | |||
+ | Wejściówka obejmuje temat z __wykładu__. | ||
+ | |||
+ | * co to jest HTTP i URL | ||
+ | * wersje protokołu HTTP: | ||
+ | * jakie są/były używane | ||
+ | * które używają protokołu tekstowego a które binarnego | ||
+ | * które używają TCP a które UDP, jakie są domyślne porty dla HTTP i HTTPS | ||
+ | * która obowiązkowo wymaga szyfrowania | ||
+ | * z jakich części składa się URL dla HTTP i te części oznaczają: \\ schemat, host, port, ścieżka, zapytania (//[[https://datatracker.ietf.org/doc/html/rfc1738#section-3.3|searchpart]]// aka //[[https://datatracker.ietf.org/doc/html/rfc9110#name-http-uri-scheme|query]]//) | ||
+ | * co to jest percent-encoding (urlencoding), do czego jest używane w linii żądania, w treści jakich żądań jest powszechnie używane | ||
+ | * jak jest zbudowane żądanie HTTP/1.x | ||
+ | * co to jest linia żądania, z czego się składa | ||
+ | * jakie metody HTTP są wykorzystywane przez przeglądarki | ||
+ | * co to są nagłówki, jak oddziela się nazwę od wartości | ||
+ | * jak oddziela się nagłówki od siebie, jak oddziela się nagłówki od treści żądania | ||
+ | * do czego służy nagłówek //Host// i na jaką wartość trzeba go ustawić | ||
+ | * jak wygląda odpowiedź HTTP/1.x | ||
+ | * co to jest linia statusu, z czego się składa | ||
+ | * co oznaczają kody należące do grup: 2xx, 3xx, 4xx i 5xx | ||
+ | * należy też umieć napisać treść żądania HTTP/1.x która pobierze wskazany URL bądź odtworzyć URL z treści żądania | ||
+ | ====== ——— 2023 ——— ====== | ||
===== Laboratoria 10 (na 1 zajęciach z WLAN, 7/8/12.12) ===== | ===== Laboratoria 10 (na 1 zajęciach z WLAN, 7/8/12.12) ===== | ||
Linia 120: | Linia 211: | ||
* wyświetlanie, dodawanie tras | * wyświetlanie, dodawanie tras | ||
* trasowania – kiedy jest wykonywane, jak działa | * trasowania – kiedy jest wykonywane, jak działa | ||
+ | |||
+ | |||
+ | ===== Laboratoria 12 (na zajęciach z DNS; 21.12 / 8/9.1) ===== | ||
+ | |||
+ | Na wejściówce będą pytania sprawdzające znajomość treści przedstawionych na wykładzie z DNS ([[https://www.cs.put.poznan.pl/mkalewski/edu/sk/doc/system-nazw-domen.pdf|link do slajdów]]): | ||
+ | * co to jest nazwa domenowa, co oznacza skrót FQDN | ||
+ | * na czym polega hierarchia w systemie nazw domenowych | ||
+ | * co to jest korzeń (root zone) | ||
+ | * co to jest TLD | ||
+ | * jakie są rodzaje TLD – krajowe, funkcjonalne, sponsorowane, … | ||
+ | * z każdego z w/w rodzaju należy znać po 3 przykłady TLD | ||
+ | * jakie są rodzaje serwerów, do czego służą i czym się różnią: | ||
+ | * root server, authoritative, caching (non-authoritative) | ||
+ | * master, slave | ||
+ | * co to jest resolver | ||
+ | * rodzaje rekordów zasobowych: A, AAAA, NS, CNAME, MX, TXT, … | ||
+ | * do czego służą | ||
+ | * co zawierają | ||
+ | |||
+ | |||
+ | ===== Laboratoria 13 (na zajęciach z IPv6; 11/12/16.01) ===== | ||
+ | |||
+ | * Co to jest adres MAC, ile na bitów, skąd się bierze? | ||
+ | * Na jakiej warstwie ISO/OSI działa protokół IP? | ||
+ | * Jakie zadania pełni protokół IP? | ||
+ | * Na czym polega fragmentacja w IP? | ||
+ | * Skąd wiadomo jaki protokół warstwy wyższej jest w danym pakiecie IP? | ||
+ | * Adres IPv4: | ||
+ | * Ile bitów ma adres? | ||
+ | * Jakie zakresy adresów mają bloki prywatne? | ||
+ | * Które adresy są multicastowe? | ||
+ | * Jaki jest adres localhosta, jaki adres reprezentuje dowolny adres? | ||
+ | * Jak jest określany adres MAC urządzenia o znanym adresie IP? | ||
+ | * Jaki protokół jest używany do automatycznego nadawania adresów IP? Jak wygląda przydzielanie adresu IP? | ||
+ | * Do czego wykorzystywany jest protokół ICMP? | ||
+ | * Do czego wykorzystywany jest NAT i dlaczego jest potrzebny? | ||
====== ——— 2022 ——— ====== | ====== ——— 2022 ——— ====== | ||
Linia 155: | Linia 282: | ||
* Wiedzieć jakie programy pozwalają łączyć się do sieci bez zabezpieczeń i z zabezpieczeniami WPA/WPA2/WPA3 | * Wiedzieć jakie programy pozwalają łączyć się do sieci bez zabezpieczeń i z zabezpieczeniami WPA/WPA2/WPA3 | ||
- | |||
- | ===== Laboratoria 14 (17/18.1) ===== | ||
- | * Co to jest adres MAC, ile na bitów, skąd się bierze? | ||
- | * Na jakiej warstwie ISO/OSI działa protokół IP? | ||
- | * Jakie zadania pełni protokół IP? | ||
- | * Na czym polega fragmentacja w IP? | ||
- | * Skąd wiadomo jaki protokół warstwy wyższej jest w danym pakiecie IP? | ||
- | * Adres IPv4: | ||
- | * Ile bitów ma adres? | ||
- | * Jakie zakresy adresów mają bloki prywatne? | ||
- | * Które adresy są multicastowe? | ||
- | * Jaki jest adres localhosta, jaki adres reprezentuje dowolny adres? | ||
- | * Jak jest określany adres MAC urządzenia o znanym adresie IP? | ||
- | * Jaki protokół jest używany do automatycznego nadawania adresów IP? Jak wygląda przydzielanie adresu IP? | ||
- | * Do czego wykorzystywany jest protokół ICMP? | ||
- | * Do czego wykorzystywany jest NAT i dlaczego jest potrzebny? | ||
- | | ||
====== ——— 2021 ——— ====== | ====== ——— 2021 ——— ====== | ||
===== Laboratoria 5 (1 zajęcia z programowania, 9/4.11) ===== | ===== Laboratoria 5 (1 zajęcia z programowania, 9/4.11) ===== |