Narzędzia użytkownika

Narzędzia witryny


sk2:zagadnienia-test

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-test [2023/01/16 22:16]
jkonczak
sk2:zagadnienia-test [2024/01/18 13:26] (aktualna)
jkonczak
Linia 1: Linia 1:
-Zagadnienia na test 2022/2023:+Zagadnienia na test 2023/2024:
  
 ====== Programowanie ====== ====== Programowanie ======
Linia 5: Linia 5:
 Zagadnienia:  ​ Zagadnienia:  ​
   * Znać podstawowe funkcje, wiedzieć co robią. \\ <​html><​small></​html>​Lista funkcji: ''​socket,​ bind, connect, listen, accept, shutdown, close, fcntl, read, recv, recvfrom, write, send, sendto, setsockopt, gethostbyname,​ getaddrinfo,​ getnameinfo,​ inet_aton, inet_ntoa, inet_addr, htons, ntohs, select, poll, epoll_create1,​ epoll_ctl, epoll_wait''<​html></​small></​html>​   * Znać podstawowe funkcje, wiedzieć co robią. \\ <​html><​small></​html>​Lista funkcji: ''​socket,​ bind, connect, listen, accept, shutdown, close, fcntl, read, recv, recvfrom, write, send, sendto, setsockopt, gethostbyname,​ getaddrinfo,​ getnameinfo,​ inet_aton, inet_ntoa, inet_addr, htons, ntohs, select, poll, epoll_create1,​ epoll_ctl, epoll_wait''<​html></​small></​html>​
-  * Znać podstawowe stałe i wiedzieć co oznaczają. \\ <​html><​small></​html>​Lista stałych: ''​AF_INET,​ AF_INET6, SOCK_STREAM,​ SOCK_DGRAM, INADD_ANY, INADDR_LOOPBACK,​ O_NONBLOCK, MSG_DONTWAIT,​ MSG_WAITALL,​ SHUT_RDWR, SOL_SOCKET, SO_REUSEADDR,​ POLLIN, POLLOUT, EPOLLIN, EPOLLOUT, EPOLLET''<​html></​small></​html>​ +  * Znać podstawowe stałe i wiedzieć co oznaczają. \\ <​html><​small></​html>​Lista stałych: ''​AF_INET,​ AF_INET6, SOCK_STREAM,​ SOCK_DGRAM, INADD_ANY, INADDR_LOOPBACK, SOMAXCONN, O_NONBLOCK, MSG_DONTWAIT,​ MSG_WAITALL,​ SHUT_RDWR, SOL_SOCKET, SO_REUSEADDR,​ POLLIN, POLLOUT, EPOLLIN, EPOLLOUT, EPOLLET''<​html></​small></​html>​ 
-  * Znać podstawowe struktury i wiedzieć co zawierają. \\ <​html><​small></​html>​Lista struktur: ''​sockaddr,​ sockaddr_in,​ sockaddr_in6,​ inaddr_t, hostent, addrinfo, epoll_event,​ pollfd''​ <​html></​small></​html>​+  * Znać podstawowe struktury i wiedzieć co zawierają. \\ <​html><​small></​html>​Lista struktur: ''​sockaddr,​ sockaddr_in,​ sockaddr_in6''​ (tylko do czego służy)''​, inaddr_t, hostent, addrinfo, epoll_event,​ pollfd''​ <​html></​small></​html>​
   * Nie jest wymagana znajomość składni, kolejność czy nazwy argumentów funkcji / pól struktur. \\ <​html><​small></​html>​Np. trzeba wiedzieć, że funkcja socket tworzy gniazdo podanego protokołu (IPv4, IPv6) i typu (strumieniowe,​ zorientowane na wiadomość),​ a nie trzeba wiedzieć że pierwszy argument nazywa się ''​domain'',​ a trzeci ma typ ''​int''​.<​html></​small></​html>​   * Nie jest wymagana znajomość składni, kolejność czy nazwy argumentów funkcji / pól struktur. \\ <​html><​small></​html>​Np. trzeba wiedzieć, że funkcja socket tworzy gniazdo podanego protokołu (IPv4, IPv6) i typu (strumieniowe,​ zorientowane na wiadomość),​ a nie trzeba wiedzieć że pierwszy argument nazywa się ''​domain'',​ a trzeci ma typ ''​int''​.<​html></​small></​html>​
-  * Wiedzieć jak wygląda obsługa błędów w sieciach. Umieć na podstawie objaśnienia błędu wypisanego np. przez ''​perror''​ zdiagnozować co mogło być przyczyną błędu. Wiedzieć czym jest zmienna ''​errno''​ i gdzie znaleźć kody które może zawierać. +  ​* <​small>​Kojarzyć zmienne, stałe i funkcje z interfejsu POSIX / standardu C które mają zastosowanie przy programowaniu aplikacji sieciowych i pojawiały się na laboratoriach – mogą się pojawić w kodzie podanym w treści zadania</​small>​ 
-  * Znać różnice między protokołem TCP i UDP.+  ​* Wiedzieć jak wygląda obsługa błędów w sieciach. 
 +  * Umieć na podstawie objaśnienia błędu wypisanego np. przez ''​perror''​ zdiagnozować co mogło być przyczyną błędu. 
 +  * Wiedzieć czym jest zmienna ''​errno''​ i gdzie znaleźć kody które może zawierać. 
 +  * Znać różnice między protokołem TCP i UDP, m. inn. strumieniowe vs datagramowe,​ gwarancje dawane programiście przez protokół.
   * Wiedzieć w jakiej kolejności można i w jakiej kolejności należy wywoływać funkcje na gnieździe, w szczególności by stworzyć klienta/​serwer TCP/UDP.   * Wiedzieć w jakiej kolejności można i w jakiej kolejności należy wywoływać funkcje na gnieździe, w szczególności by stworzyć klienta/​serwer TCP/UDP.
   * Wiedzieć jakie funkcje pozwalają znaleźć IP dla podanej nazwy domenowej i czym się różnią   * Wiedzieć jakie funkcje pozwalają znaleźć IP dla podanej nazwy domenowej i czym się różnią
Linia 21: Linia 24:
   * Wiedzieć jakimi funkcjami obsługuje się szukanie IP dla podanej nazwy domenowej i czym te funkcje się różnią.   * Wiedzieć jakimi funkcjami obsługuje się szukanie IP dla podanej nazwy domenowej i czym te funkcje się różnią.
   * Na czym polega wielowątkowa obsługa gniazd.   * Na czym polega wielowątkowa obsługa gniazd.
 +  * Wiedzieć które funkcje można bezpiecznie używać w programie wielowątkowym,​ jak działają ​ i jakie mają gwarancje współbieżne wywołania funkcji sieciowych.
   * Na czym polega ''​poll''​ / mechanizm epoll, czym się różnią, jakie zdarzenia na gniazdach raportują w przypadku przyjścia nowego połączenia,​ przyjścia danych, możliwości wysłania danych, zamknięcia gniazda, wystąpienia błędu na gnieździe.   * Na czym polega ''​poll''​ / mechanizm epoll, czym się różnią, jakie zdarzenia na gniazdach raportują w przypadku przyjścia nowego połączenia,​ przyjścia danych, możliwości wysłania danych, zamknięcia gniazda, wystąpienia błędu na gnieździe.
   * Jak, wykorzystując ''​poll''​ / ''​epoll_wait'',​ czekać na możliwość odczytu / zapisu danych do któregoś z podanych gniazd.   * Jak, wykorzystując ''​poll''​ / ''​epoll_wait'',​ czekać na możliwość odczytu / zapisu danych do któregoś z podanych gniazd.
Linia 27: Linia 31:
   * Wiedzieć jakie "​archetypowe"​ klasy do obsługi sieci oferują języki/​biblioteki wysokiego poziomu.   * Wiedzieć jakie "​archetypowe"​ klasy do obsługi sieci oferują języki/​biblioteki wysokiego poziomu.
   * Wiedzieć w jakich sytuacjach wybrać języki/​biblioteki wysokiego poziomu a w jakich należy korzystać z niskopoziomowego interfejsu systemowego.   * Wiedzieć w jakich sytuacjach wybrać języki/​biblioteki wysokiego poziomu a w jakich należy korzystać z niskopoziomowego interfejsu systemowego.
-  * kojarzyć komendy ''​netstat''​ / ''​ss'',​ ''​nc''​ / ''​netcat''​ / ''​socat''​ i ich użycie do rozwoju, testowania i diagnostyki programów sieciowych+  * kojarzyć komendy ''​netstat''​ / ''​ss'',​ ''​nc''​ / ''​netcat''​ / ''​socat''​, ''​strace''​ / ''​ltrace'',​ ''​gdb''​ (debugger) ​i ich użycie do rozwoju, testowania i diagnostyki programów sieciowych
   * <​html><​small></​html>​Dla jasności: nie jest wymagana znajomość API do sieci z bibliotek Qt / języka Java<​html></​small></​html>​   * <​html><​small></​html>​Dla jasności: nie jest wymagana znajomość API do sieci z bibliotek Qt / języka Java<​html></​small></​html>​
 Przykładowe formy pytań w tej części: Przykładowe formy pytań w tej części:
-  * Pytania typowo teoretyczne ​(np. o działanie ​funkcji)+  * Pytania typowo teoretyczne, **np.**: 
 +    * co robi funkcja  
 +    * co oznacza konkretny argument (por. "czym w funkcji ​''​printf(char * fstr, …)''​ jest argument ''​fstr''"​) 
 +    * co określają stałe, w jakiej funkcji można je użyć 
 +    * czy tej funkcji można użyć w danym przypadku 
 +    * co spowoduje użycie funkcji w danym przypadku
   * Fragment kodu i pytanie:   * Fragment kodu i pytanie:
-    * co robi dany kod / podana linia +    * co robi dany kod / podana linia
     * co wypisze na ekran wykonanie danego kod     * co wypisze na ekran wykonanie danego kod
     * w jakim kontekście może być użyty     * w jakim kontekście może być użyty
     * w jakim przypadku nie zadziała prawidłowo     * w jakim przypadku nie zadziała prawidłowo
 +  * Fragment kodu z luką i pytanie co pasuje w jej miejsce
   * Komunikat o błędzie i pytanie co mogło taki komunikat spowodować   * Komunikat o błędzie i pytanie co mogło taki komunikat spowodować
 +  * Jakim programem sprawdzić konkretny aspekt działania programu sieciowego, do czego służy dany program, co wypisze / spowoduje podana komenda, jaką komendą coś wypisać / spowodować
  
 ====== Sieci bezprzewodowe ====== ====== Sieci bezprzewodowe ======
Linia 57: Linia 68:
       * w jakich rodzajach sieci występują       * w jakich rodzajach sieci występują
     * bezpieczeństwo     * bezpieczeństwo
-      * WEP, WPA-PSK, WPA-EAP, WPA2-PSK, WPA2-EAP, WPA3-SAE, WPA3-EAP+      * WEP, WPA-PSK, WPA-EAP, WPA2-PSK, WPA2-EAP, WPA3-SAE, WPA3-EAP, WPS
       * realny poziom bezpieczeństwa       * realny poziom bezpieczeństwa
       * realizacja uwierzytelniania       * realizacja uwierzytelniania
       * realizacja szyfrowania       * realizacja szyfrowania
-      * różnice między WPA/​WPA2-PSK,​ WPA3-SAE i WPA/​WPA2/​WPA3-EAP+      * różnice między WPA/​WPA2-PSK,​ WPA3-SAE i WPA/​WPA2/​WPA3-EAP<​html><​!--
     * na warstwie łącza danych:     * na warstwie łącza danych:
       * zadania karty bezprzewodowej       * zadania karty bezprzewodowej
Linia 68: Linia 79:
       * jak tworzy się listę dostępnych sieci       * jak tworzy się listę dostępnych sieci
       * jak dołącza się do wybranej sieci       * jak dołącza się do wybranej sieci
 +      --></​html>​
     * Dla standardów 802.11{a,​b,​g,​n,​ac,​ax}     * Dla standardów 802.11{a,​b,​g,​n,​ac,​ax}
       * dla każdego standardu: z jakich pasm częstotliwości korzysta (2.4/​5/​6GHz)       * dla każdego standardu: z jakich pasm częstotliwości korzysta (2.4/​5/​6GHz)
Linia 105: Linia 117:
     * które rekordy są obowiązkowe dla każdej strefy     * które rekordy są obowiązkowe dla każdej strefy
     * gdzie (na serwerze której domeny) należy umieszczać wpisy dla podanej nazwy domenowej (powyższych typów)     * gdzie (na serwerze której domeny) należy umieszczać wpisy dla podanej nazwy domenowej (powyższych typów)
 +    * jakie rekordy i w jakich domenach są wykorzystywane/​potrzebne:​
 +      * do działania DNS
 +      * do tłumaczenia adresów domenowych na IPv4/6
 +      * w poczcie elektronicznej
 +      * do tłumaczenia IP na nazwę domenową ​
     * na czym polega cache'​owanie rekordów (przez serwery caching), kto i jak określa ile czasu rekord może być cache'​owany     * na czym polega cache'​owanie rekordów (przez serwery caching), kto i jak określa ile czasu rekord może być cache'​owany
     * na czym polega zone transfer     * na czym polega zone transfer
Linia 112: Linia 129:
     * wyjaśnienia wyniku     * wyjaśnienia wyniku
  
 +<​html><​!--
 ====== Kształtowanie ruchu ====== ====== Kształtowanie ruchu ======
   * Wiedzieć   * Wiedzieć
Linia 135: Linia 153:
       * jak używa się filtra ''​fw''​       * jak używa się filtra ''​fw''​
   * Wytłumaczyć co robią podane komendy (w w/w zakresie)   * Wytłumaczyć co robią podane komendy (w w/w zakresie)
 +--></​html>​ 
 +  ​
 ====== IPv6 ====== ====== IPv6 ======
   * Wiedzieć   * Wiedzieć
Linia 144: Linia 163:
       * subnet       * subnet
       * IID       * IID
 +    * Skąd jest brany IID
     * jak jest zbudowany adres multicastowy     * jak jest zbudowany adres multicastowy
     * jak zmieniono nagłówek IPv6 w porównaniu do IPv4     * jak zmieniono nagłówek IPv6 w porównaniu do IPv4
Linia 149: Linia 169:
       * NDP       * NDP
       * DHCPv6       * DHCPv6
 +    * jak jest realizowana fragmentacja w IPv6 i co to jest pMTU
     * jakie wygląda współistnienie IPv4 i IPv6     * jakie wygląda współistnienie IPv4 i IPv6
       * co oznacza dual stack       * co oznacza dual stack
Linia 173: Linia 194:
   * Na każde pytanie co najmniej jedna odpowiedź jest poprawna.   * Na każde pytanie co najmniej jedna odpowiedź jest poprawna.
   * Za błędne odpowiedzi nie ma punktów ujemnych.   * Za błędne odpowiedzi nie ma punktów ujemnych.
-  * Zaznaczenie w pytaniach wielokrotnego wyboru więcej odpowiedzi niż jest poprawnych skutkuje brakiem punktu za pytanie.+  * pytaniach wielokrotnego wyboru
 +    * Zaznaczenie ​więcej odpowiedzi niż jest poprawnych skutkuje brakiem punktu za pytanie. 
 +    * Za każdą zaznaczoną poprawną odpowiedź z //N// poprawnych odpowiedzi dostaje się //1/N// punktu. \\ <​small>​ Np. zaznaczając 2 poprawne i 1 błędną odpowiedź w pytaniu z 3 poprawnymi odpowiedziami uzyskuje się ⅔ punkta za pytanie.</​small>​
   * **Nie można** korzystać z żadnych materiałów pomocniczych ani konsoli   * **Nie można** korzystać z żadnych materiałów pomocniczych ani konsoli
  
sk2/zagadnienia-test.1673903782.txt.gz · ostatnio zmienione: 2023/01/16 22:16 (edycja zewnętrzna)