Narzędzia użytkownika

Narzędzia witryny


sk2:zagadnienia

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
sk2:zagadnienia [2023/12/30 18:42]
jkonczak [Laboratoria 12 (na zajęciach z DNS; 21/22.12 / 9.1)]
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 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 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) =====
sk2/zagadnienia.1703958136.txt.gz · ostatnio zmienione: 2023/12/30 18:42 przez jkonczak