---
# System prepended metadata

title: Egzamin z sieci

---

# Wykład 1

❖ Co to jest protokół komunikacyjny?

Protokół komunikacyjny określa jak wygląda przesyłany strumień danych. 

❖ Dlaczego wprowadza się warsty protokołów?


Warstwy sie wprowadza, żeby mieć modularność i enkapsulacje.

❖ Wymień warstwy internetowego modelu warstwowego. Jakie są zadania każdej z nich?

![image](https://hackmd.io/_uploads/BkuzXitSR.png)
![image](https://hackmd.io/_uploads/ByfNmsKrA.png)
![image](https://hackmd.io/_uploads/HknvXjKHA.png)

danych - ethernet - przesyla ramki
transportowa - tcp, udp - do jakiego portu
sieciowa - IP - do jakiego adresu ip
aplikacji - Htpp - zawartosc

❖ Jakie warstwy są zaimplementowane na komputerach a jakie na routerach?

sieciowa i łacza ma router

❖ Czym różni się model warstwowy TCP/IP od OSI?

![image](https://hackmd.io/_uploads/rkaEEoFrR.png)


❖ Co jest potrzebne do zbudowania dwukierunkowego niezawodnego kanału?

protokół komunikacyjny, mechanizmy detekcji i naprawy błędów, mechanizmy synchronizacji danych

❖ Porównaj wady i zalety przełączania obwodów i przełączania pakietów.

![image](https://hackmd.io/_uploads/H1vxwotBC.png)
![image](https://hackmd.io/_uploads/BkSrDitB0.png)
![image](https://hackmd.io/_uploads/Skl3DjKB0.png)


❖ Jakie znasz rodzaje multipleksowania? Po co i kiedy się je stosuje?

przełączanie obwodów: 
![image](https://hackmd.io/_uploads/S1oL_sYrR.png)


przełączanie pakietów, multipleksowanie statyczne:
![image](https://hackmd.io/_uploads/SJRCvjYHA.png)


❖ Porównaj ze sobą rodzaje routingu.

![image](https://hackmd.io/_uploads/r1oKujYBR.png)


❖ Co to jest komunikacja pełnodupleksowa, półdupleksowa i simpleksowa?

- Simpleksowa - Komunikacja odbywa się wyłącznie w jedną stronę od nadawcy do odbiorcy.
- Półdupleksowa - Komunikacja odbywa się w dwie strony, aczkolwiek nie jednocześnie, albo w jedną albo w drugą
- Pełnodupleksowa - Komunikacja odbywa się w dwie strony bez powyższych ograniczeń

❖ Do czego służy polecenie traceroute? Co pokazuje?

Kolejne routery przez które przeszedł pakiet po drodze do nadawcy

❖ Po co stosuje się bufory w routerach? Co to jest przeciążenie?

Jeżeli rzadko jest tak, że dostajemy więcej pakietów niż jesteśmy w stanie przetworzyć to (jestesmy przeciazeni) chcemy sobie odłożyć te nadmiarowe na później. 

❖ Jakie są przyczyny opóźnień pakietów?

- czas podrozy na kablu (rozmiar pakietu / przepustowosc + czas propagacji),
- czekanie w kolejce routerow.

❖ Co to jest BDP? Co to jest czas propagacji?
![image](https://hackmd.io/_uploads/ByJZtsKBC.png)

❖ Co umożliwia protokół IP? Co to znaczy, że protokół realizuje zasadę best effort?

![image](https://hackmd.io/_uploads/HJM1ijtrC.png)


❖ Jakie są zalety i wady zasady end-to-end?

zalety: niski koszt innowacyjnosic 
wady: brak kontroli ani gwarancji -> wrazliwosc na ataki

❖ Po co wprowadza się porty?

odróżnienie aplikacji na tym samym urzadzeniu

❖ Wyjaśnij pojęcie enkapsulacji i dekapsulacji.

proces dodawania/usuwania nagłówka przy przechodzeniu przez kolejną warstwę.


# Wykład 2

Z czego wynika hierarchia adresów IP? Jaki ma wpływ na konstrukcję tablic routingu?
![image](https://hackmd.io/_uploads/HyL33jtr0.png)


❖ Notacja CIDR.

![image](https://hackmd.io/_uploads/B1LX6itrA.png)


❖ Co to jest adres rozgłoszeniowy?

![image](https://hackmd.io/_uploads/HJFEaitB0.png)

❖ Co to jest maska podsieci
![image](https://hackmd.io/_uploads/Hkh96iYSA.png)


❖ Opisz sieci IP klasy A, B i C.
![image](https://hackmd.io/_uploads/HJjJAoFSA.png)


❖ Co to jest pętla lokalna (loopback)?
![image](https://hackmd.io/_uploads/ryCWRoYHA.png)

❖ Do czego służy pole TTL w pakiecie IP? Do czego służy pole protokół?

![image](https://hackmd.io/_uploads/Sk4mRoYBA.png)

❖ Jakie reguły zawierają tablice routingu?

![image](https://hackmd.io/_uploads/HJoHCsFBR.png)


❖ Na czym polega reguła najdłuższego pasującego prefiksu?
![image](https://hackmd.io/_uploads/BJ_YAoFSC.png)

❖ Co to jest trasa domyślna?

regula opisujaca wszystkie adresy (maska 0)

❖ Do czego służy protokół ICMP? Jakie znasz typy komunikatów ICMP?

![image](https://hackmd.io/_uploads/SkrvJnFH0.png)
Typ 8 - echo req
Typ 0 - echo reply
Typ 11 podtyp 0 - Time exceeded

❖ Jak działa polecenie ping?
![image](https://hackmd.io/_uploads/SychJ2KBA.png)


❖ Jak działa polecenie traceroute?

![image](https://hackmd.io/_uploads/r1YTyntBC.png)

❖ Dlaczego do tworzenia gniazd surowych wymagane są uprawnienia administratora?

![image](https://hackmd.io/_uploads/rkzWx2FHR.png)
Tworzenie i manipulacja pakietami IP na niskim poziomie może prowadzić do działań, które mogą być wykorzystane w celach szkodliwych lub naruszać zasady działania sieci.

❖ Co to jest sieciowa kolejność bajtów?

big little endian - bajty w kolejnosci odwrotnej albo normalnej

❖ Co robią funkcje socket(), recvfrom() i sendto()?

socket - tworzy gniazdo
recvfrom - odbiera
sendto - wysyla

❖ Jakie informacje zawiera struktura adresowa sockaddr_in?

reprezentacji adresu IPv4 w kontekście gniazd sieciowych.

❖ Co to jest tryb blokujący i nieblokujący? Co to jest aktywne czekanie?

nieblokujacy nie czeka aktywnie tylko oddaje kontrole innym

❖ Jakie jest działanie funkcji select()?

select - czekanie maksymalnie x sekund na pakiet w gnieździe sockfd. Jeśli wynik funkcji
jest:
< 0 oznacza to błąd
= 0 oznacza to timeout
> 0 tyle obserwowanych deskryptorów jest gotowych do odczytu


# Wykład 3

Co to jest cykl w routingu? Co go powoduje?

pakiet krazy w kolko bo tablica jest zla

❖ Czym różni się tablica routingu od tablicy przekazywania?

![image](https://hackmd.io/_uploads/Hk5IDhKrC.png)

❖ Dlaczego w algorytmach routingu dynamicznego obliczamy najkrótsze ścieżki?

zeby zminimalizowac czas podrozy pakietu

❖ Co to jest metryka? Jakie metryki mają sens?
Metryka to funkcja pozwalająca na określanie odległości pomiędzy obiektami
![image](https://hackmd.io/_uploads/ryqMKhKBC.png)


❖ Czym różnią się algorytmy wektora odległości od algorytmów stanów łączy?

![image](https://hackmd.io/_uploads/HJgwKhFBA.png)
![image](https://hackmd.io/_uploads/r1yin3tB0.png)


❖ Jak router może stwierdzić, że bezpośrednio podłączona sieć jest nieosiągalna?

pinga i jak sie nie uda to jest nieosiagalna

❖ Co to znaczy, że stan tablic routingu jest stabilny?

tablica sie nie zmienia 

❖ Jak zalewać sieć informacją? Co to są komunikaty LSA?

kazdy router wysyla swoim sasiadom info ktore dostal itd. jak sa cykle to to sie nie konczy, nawet jak nie ma to przyrost wykladniczy.

❖ Co wchodzi w skład wektora odległości?

![image](https://hackmd.io/_uploads/r1fEo3tr0.png)

❖ W jaki sposób podczas działania algorytmu routingu dynamicznego może powstać cykl w routingu?

byla awaria A i informacja o tym ze A juz nie dziala przechodzi wolniej niz informacja ze ktos moze sie dostac przez A, A sobie pisze ta trase ktora go wykorzystuje

❖ Co to jest problem zliczania do nieskończoności? Kiedy występuje?
![image](https://hackmd.io/_uploads/BkKW3nKS0.png)


❖ Na czym polega technika zatruwania ścieżki zwrotnej (poison reverse)?

![image](https://hackmd.io/_uploads/BJmm2ntHR.png)

❖ Po co w algorytmach wektora odległości definiuje się największą odległość w sieci (16 w protokole RIPv1)?

zeby uniknac zliczania do nieskonczonsci

❖ Po co stosuje się przyspieszone uaktualnienia?

zeby uniknac cyklenia

❖ Co to jest system autonomiczny (AS)? Jakie znasz typy AS?
isp- dostawca internetu
![image](https://hackmd.io/_uploads/SkW_TnKSA.png)


❖ Czym różnią się połączenia dostawca-klient pomiędzy systemami autonomicznymi od łącz partnerskich (peering)?

za pierwsze sie placi

❖ Dlaczego w routingu pomiędzy systemami autonomicznymi nie stosuje się najkrótszych ścieżek?

za to sie placi. chcemy przejsc przez jak najmniej drogich routerow a nie jak najszybciej

❖ Które trasy w BGP warto rozgłaszać i komu? A które wybierać?
![image](https://hackmd.io/_uploads/r1vmC3KrR.png)
![image](https://hackmd.io/_uploads/BkV803YHR.png)


❖ Jak BGP współpracuje z algorytmami routingu wewnątrz AS?
![image](https://hackmd.io/_uploads/HyweeaYHC.png)
![image](https://hackmd.io/_uploads/HJXWxaKrR.png)



# Wykład 4

Co to są prywatne adresy IP? Jakie pule adresów są zarezerwowane na takie adresy?

przeznaczone dla sieci lokalnych 
pule:
10.0.0.0/8 (1 adres klasy A),
172.16.0.0/12 ( 16 adresów klasy B)
192.168.0.0/16 (256 adresów klasy C)

❖ Co robi funkcja bind()?

![image](https://hackmd.io/_uploads/BJp7W6tBR.png)

❖ Czym różnią się porty o numerach mniejszych niż 1024 od innych?

sudo

❖ Jakie są zadania procesora routingu, portu wejściowego, portu wyjściowego i struktury przełączającej?
![image](https://hackmd.io/_uploads/BkE5maKB0.png)



❖ Czym się różni przełączanie pakietów w routerze za pomocą RAM od przełączania za pomocą struktury przełączającej?
❖ Jakie są pożądane cechy struktury przełączającej w routerze?
❖ Gdzie w routerze stosuje się buforowanie? Po co?
❖ Po co w portach wyjściowych klasy kuje się pakiety?
❖ Co to jest blokowanie początku kolejki? Gdzie występuje? Jak się go rozwiązuje?
❖ Rozwiń skrót LPM.
❖ Jakie znasz struktury danych implementujące LPM? Porównaj je.
❖ Co to jest pamięć TCAM? Jak można ją zastosować do implementacji LPM?
❖ Na czym polega fragmentacja IP? Gdzie się ją stosuje i dlaczego? Gdzie łączy się fragmenty?
❖ Co to jest MTU? Na czym polega technika wykrywania wartości MTU dla ścieżki?
❖ Jak działa szeregowanie pakietów w buforze wyjściowym routera?
❖ Jakie są różnice pomiędzy nagłówkami IPv4 i IPv6?
❖ Zapisz adres IPv6 0321:0000:0000:0123:0000:0000:0000:0001 w najkrótszej możliwej postaci.
❖ Co to jest tunelowanie 6in4?
❖ Na czym polega NAT i po co się go stosuje? Jakie są jego zalety i wady?
❖ Jaki stan musi przechowywać router z funkcją NAT?

# Wykład 5

Jakie są zadania warstwy łącza danych a jakie warstwy fizycznej?
![image](https://hackmd.io/_uploads/SJv6NTYr0.png)

❖ Rozwiń pojęcia LAN i WAN.
![image](https://hackmd.io/_uploads/rylyHTtSA.png)

❖ Czym różni się koncentrator od przełącznika sieciowego?
![image](https://hackmd.io/_uploads/HJxUwWorC.png)

![image](https://hackmd.io/_uploads/HJ3lrTKBR.png)

❖ Jak działa algorytm rundowy i bezrundowy ALOHA?
![image](https://hackmd.io/_uploads/BJafSaFSR.png)
![image](https://hackmd.io/_uploads/SyP7BatH0.png)

❖ Jak działa algorytm odczekiwania wykładniczego?
![image](https://hackmd.io/_uploads/rywxV-sBA.png)


❖ Wyjaśnij skróty CSMA/CD i CSMA/CA; opisz te algorytmy

![image](https://hackmd.io/_uploads/S19GN-sBA.png)
![image](https://hackmd.io/_uploads/rkAz8bjHR.png)


❖ Opisz budowę ramki Ethernetowej.
![image](https://hackmd.io/_uploads/rkBVLZsB0.png)


❖ Co to jest adres MAC?

![image](https://hackmd.io/_uploads/H1tA8-srA.png)


❖ Do czego służy tryb nasłuchu (promiscuous mode)?

![image](https://hackmd.io/_uploads/BJ-2_-iH0.png)


❖ Po co w Ethernecie de niuje się minimalną długość ramki?
![image](https://hackmd.io/_uploads/rybltbsBC.png)

![image](https://hackmd.io/_uploads/SJEjEZsSA.png)
:::spoiler przyklad liczenia
![image](https://hackmd.io/_uploads/rkZaDpkQA.png)

$v = 10^8 m/s$
$s = 2.5km$
$delay = \frac{2.5km}{10^8 m/s} = 0.000025s$
$b = 10Mb/s$
$2*delay = t$
minimalna długość ramki $r$:
$t = r / b$
$2 * 0.000025s = \frac{r}{10^7 b/s}$
$500 bitów= r$
:::

❖ Jak dobierać długość rundy odczekiwania w protokole CSMA/CD?
2 * czas propagacji
❖ Do czego służą protokoły ARP, RARP, DHCP i APIPA?
arp -> jaki adres ip ma gosc z takim adresem mac
rarp -> odwrotnie
dhcp -> pobieranie całej konfiguracji sieci
apipa -> losuje adres

![image](https://hackmd.io/_uploads/ryNaFBnB0.png)
![image](https://hackmd.io/_uploads/ryBTsBnrC.png)


❖ Czym różni się łączenie dwóch sieci za pomocą mostu od łączenia ich za pomocą routera?

most ma tylko 2 porty i Łączy dwie sieci, często różnych technologii (np. Ethernet i WiFi). most nie obluguje ip i jest glupi ale szybki

❖ Jak warstwa łącza danych realizuje rozgłaszanie?

![image](https://hackmd.io/_uploads/HJ7-Ar2r0.png)

❖ Na czym polega tryb uczenia się w przełączniku sieciowym?

uczy sie kto ma jakie adresy mac zeby nie wysylac wszystkiego wszystkim.

❖ Po co w przełączanym Ethernecie stosuje się algorytm drzewa spinającego?

zeby nie bylo cykli

❖ Co to jest sieć VLAN? Po co się ją stosuje?
![image](https://hackmd.io/_uploads/SyU8yIhS0.png)


❖ Wyjaśnij zjawisko ukrytej stacji.

![image](https://hackmd.io/_uploads/HJ1GlL2SC.png)


❖ Na czym polega rezerwowanie łącza za pomocą RTS i CTS?

![image](https://hackmd.io/_uploads/Sk9Xe8nr0.png)


# Wykład 6

Co może stać się z przesyłanym ciągiem pakietów IP podczas zawodnego i niezawodnego transportu?

w zawodnym pakiety moga nie dotrzec albo dotrzec uszkodzone.
w niezawodnym na pewno dotra, niekoniecznie we wlasciwej kolejnosci i potencjalnie kilka sztuk tego samego




❖ Czym różnią się protokoły UDP i TCP? Podaj zastosowania każdego z nich.

zawodny i niezawodny
szybki i wolny
do gierania i do przegladania

❖ Co to jest segmentacja? Dlaczego segmenty mają ograniczoną wielkość? Rozwiń skrót MSS.

dzielimy dane na porcje. 
![image](https://hackmd.io/_uploads/B1g57d83HA.png)
maximum segment size
MSS = rozmiar maksymalnego pakietu - rozmiar nagłówka IP - rozmiar nagłówka TCP

❖ Jak nazywają się jednostki danych przesyłane w kolejnych warstwach?

![image](https://hackmd.io/_uploads/H1WKuInHR.png)


❖ Jak małe pakiety zmniejszają opóźnienie przesyłania danych?

![image](https://hackmd.io/_uploads/B1p0dU2B0.png)


❖ Wytłumacz znaczenie skrótów RTT i RTO. Na jakiej podstawie ustalana jest wartość RTO?

round trip time, retransmission timeout = 2E(rtt) + 4Var(rtt), po jakim czasie nadac ponownie segment


❖ Jak protokoły niezawodnego transportu wykrywają duplikaty pakietów i potwierdzeń?



❖ Opisz algorytm Stop-and-Wait. Jakie są jego wady i zalety?

![image](https://hackmd.io/_uploads/HkoeiIhBC.png)
![image](https://hackmd.io/_uploads/B1-3j82rA.png)

![image](https://hackmd.io/_uploads/rJ9gn82rC.png)
wolnyyy
❖ Do czego służą numery sekwencyjne w niezawodnym protokole transportowym?

do odrozniania segmentow

❖ Opisz algorytm okna przesuwnego.

wiadomo, klepalo sie

❖ Jaki jest związek między rozmiarem okna a BDP (bandwidth-delay product)?

chcemy wykorzystac cale lacze ale nie chcemy zawalic za bardzo

❖ Opisz i porównaj następujące mechanizmy potwierdzania: Go-Back-N, potwierdzanie selektywne, potwierdzanie skumulowane.
![image](https://hackmd.io/_uploads/Sk5pp8hSC.png)

Go-Back-N - jak i sie zgubi to wszystko >i olewamy az i nie wejdzie

potwierdzanie selektywne - wysle ack dla >i

potwierdzanie skumulowane - wysylamy ack dopiero jak dostaniemy i

❖ Dlaczego istotne jest potwierdzanie odbioru duplikatów segmentów?

bo moze nasze pierwsze potwierdzenie nie dotarlo

❖ Co to jest kontrola przepływu?
Nadawca powinien dostosowywać prędkość transmisji do szybkości odbierania odbiorcy.
![image](https://hackmd.io/_uploads/rkidRInr0.png)

❖ Co to jest okno oferowane? Jak pomaga w kontroli przepływu?


Odbiorca mówi jak dużo segmentów może pomieścić. Wtedy nadawca może sobie dostosowac prędkość wysyłania.

❖ Jakie mechanizmy niezawodnego transportu i kontroli przepływu implementowane są w protokole TCP?

Używa okna przesuwanego z potwierdzaniem skumulowanym.

❖ Na czym polega opóźnione wysyłanie ACK w protokole TCP?

chcemy wysylac malo ack wiec wysylamy wszystkie dopiero jak dostaniemy i

❖ Na czym polega mechanizm Nagle'a? Kiedy nie należy go stosować?
Wyślij dopiero jeśli kiedy wszystkie poprzednie dane zostaną potwierdzone

Mechanizm Nagle'a nie należy stosować w przypadku, gdy aplikacja generuje małe ilości danych, które są wysyłane często lub w trybie interaktywnym, gdzie ważne jest minimalizowanie opóźnień.

❖ Co oznaczają pola ,,numer sekwencyjny'' i ,,numer potwierdzenia'' w nagłówku TCP?

numer sekwencyjny (numer pierwszego bajtu w segmencie)
numer ostatniego potwierdzanego bajtu + 1

❖ Czy warstwa transportowa implementowana jest na routerach? Dlaczego?

![image](https://hackmd.io/_uploads/BJh2lvnSC.png)


❖ Sformułuj słabą i silną zasadę end-to-end.

![image](https://hackmd.io/_uploads/By-RlD2SC.png)



# Wykład 7

Co to jest gniazdo?

deskryptor plikow powiazany z portem aplikacji

❖ Czym różni się gniazdo nasłuchujące od gniazda połączonego? Czy w protokole UDP mamy gniazda
połączone? nie

te drugie na poczatku nawiazuja polaczenie

❖ Co robią funkcję jądra bind(), listen(), accept(), connect()?

bind() - łączy gniazdo z portem
listen() - oznacza gniazdo jako nasłuchujące. Na takim gnieździe będzie można wykonać accept.
connect() - zwraca gniazdo połączone po stronie klienta
accept() - zwraca gniazdo połączone (po 3fazowej operacji nawiązania połączenia). Blokuje aż do połączenia z klientem

❖ Czym różni się komunikacja bezpołączeniowa (nie ma stanu) od połączeniowej (ma stan)?



❖ Czym różni się otwarcie bierne od otwarcia aktywnego?

otwarcie bierne (nie wysyła pakietu),
otwarcie czynne (wysyła segment
SYN),

Czy serwer może wykonać otwarcie aktywne?

nie powinien

❖ Do czego służą agi SYN, ACK, FIN i RST stosowane w protokole TCP?

SYN oznacza chęć sparowania. (Synchronizuje kolejne numery sekwencyjne)
ACK oznacza potwierdzenie otrzymania pakietu. (Zawiera numer potwierdzenia)
FIN chęć zakończenia połączenia. (Zakończenie przekazu danych)
RST resetuje połączenie.

❖ Opisz trójstopniowe nawiązywanie połączenia w TCP. Jakie informacje są przesyłane w trakcie takiego
połączenia?

![image](https://hackmd.io/_uploads/HJWDFv2r0.png)


❖ Dlaczego przesyłanych bajtów nie numeruje się od zera?

bo poczatek segmentu to naglowki? idk

❖ Jakie segmenty są wymieniane podczas zamykania połączenia w protokole TCP?
![image](https://hackmd.io/_uploads/H1ohcw3SR.png)


❖ Co zwraca funkcja recv() wywołana na gnieździe w blokującym i nieblokującym trybie?

Jeśli w trybie blokującym to zawsze zwraca liczbę bajtów odebranych. 
W trybie nieblokującym zwraca -1 jeśli nie było co odebrać i odpowiednio ustawia errno. Jeśli udało się coś odebrać to zwraca liczbę odebranych bajtów.

❖ Po co wprowadzono stan TIME_WAIT?

![image](https://hackmd.io/_uploads/rkSJov3SC.png)


# Wykład 8

Czym różni się kontrola przepływu od kontroli przeciążenia?
![image](https://hackmd.io/_uploads/By97-O3B0.png)

Kontrola przepływu
✦ Nadawca powinien dostosowywać prędkość transmisji do
szybkości z jaką odbiorca może przetwarzać dane.
![image](https://hackmd.io/_uploads/rJPgCw2BR.png)

![image](https://hackmd.io/_uploads/rkClbdnSR.png)

❖ Co to jest przeciążenie?

Jeśli bufor się przepełni (przeciążenie) → pakiety są odrzucane.



❖ Na czym polega mechanizm opóźnionych potwierdzeń?


❖ Jaka jest zależność między rozmiarem okna nadawcy a prędkością transmisji?
❖ Czy nieskończone bufory rozwiązałyby problem przeciążenia?



❖ Jak zależy średni rozmiar kolejki od średniej prędkości nadchodzenia pakietów?
❖ Jakie są cele kontroli przeciążenia?
❖ Jak można de niować sprawiedliwy podział łącza? Co to jest max-min fairness?
❖ Na jakiej podstawie zmienia się rozmiar okna przeciążenia?
❖ Kiedy TCP wnioskuje, że pakiet zaginął?
❖ Opisz algorytm ustalania rozmiaru okna przeciążenia
❖ Rozwiń skrót AIMD. Czego dotyczy?
❖ W jaki sposób AIMD gwarantuje sprawiedliwy podział łącza?
❖ Opisz fazy unikania przeciążenia i wolnego startu w TCP.
❖ Opisz mechanizm szybkiej retransmisji i szybkiego przywracania.
❖ Na czym polega mechanizm RED?
❖ Opisz działanie mechanizmu ECN (explicit congestion noti cation).
❖ Jaka jest relacja w AIMD między przepustowością a traconymi pakietami?
❖ Jakie mody kacje wprowadza FastTCP do AIMD? Dlaczego?

# Wykład 9

Opisz budowę adresu URL. Opisz budowę adresu URL w przypadku schematu http.
❖ W jakim celu serwer WWW ustawia typ MIME dla wysyłanej zawartości? Podaj kilka przykładów typów MIME.
❖ Wymień parę możliwych odpowiedzi HTTP wraz z ich znaczeniem.
❖ Po co w nagłówku żądania HTTP/1.1 podaje się pole Host?
❖ Do czego służą pola Accept, Accept-Language, User-Agent, Server, Content-Length, Content-Type w
nagłówku HTTP?
❖ Jak wygląda warunkowe zapytanie GET protokołu HTTP?
❖ Jakie znasz kody odpowiedzi protokołu HTTP?
❖ Na czym polegają połączenia trwałe w HTTP/1.1? Do czego służy opcja Connection: close w nagłówku HTTP?
❖ Wymień parę możliwości uzyskiwania dynamicznych stron WWW.
❖ Po co stosuje się metodę POST?
❖ Co to jest technologia REST?
❖ Do czego służą serwery proxy?
❖ Co to jest odwrotne proxy? Co to jest CDN?
❖ Jak skłonić klienta, żeby łączył się z serwerem proxy a nie bezpośrednio ze stroną WWW?
❖ Jakie informacje dołączane są przez serwer proxy do zapytania?
❖ Co to są anonimowe serwery proxy?
❖ W jakim celu powstał protokół QUIC? Jakie funkcje spełnia?

# Wykład 10

Jaki jest cel systemu nazw DNS?
❖ Do czego służy plik /etc/hosts?
❖ Rozwiń skrót TLD (kontekst: DNS), podaj parę przykładów.
❖ Czym są strefy i delegacje DNS?
❖ Czym różni się rekurencyjne odpytywanie serwerów DNS od iteracyjnego?
❖ Jak działa odwrotny DNS? Jaki typ rekordów i jaką domenę wykorzystuje?
❖ Jakie znasz typy rekordów DNS? Co to jest rekord CNAME?
❖ Do czego służy protokół SMTP a do czego POP3?
❖ Co to jest przekazywanie poczty (relaying)? Co to jest smarthost?
❖ Jaki rekord DNS jest sprawdzany przed wysłaniem poczty do danej domeny?
❖ Wymień parę popularnych pól w nagłówku maila. Do czego służą pola Received i Bcc?
❖ Co umożliwia standard MIME?
❖ Co to jest spam? Jakie znasz metody walki ze spamem?
❖ Na czym polega mechanizm SPF?
❖ Jaka jest rola trackera w sieci Bittorrent?
❖ Po co w plikach .torrent stosuje się funkcje skrótu?
❖ Jakie są różnice w postępowaniu seedera i leechera w sieci BitTorrent?
❖ Na czym polegają połączenia odwrócone? Jak stosuje się je w protokole FTP?
❖ Opisz podobieństwa i różnice asymetrycznych (cone) NAT (pełnego, ograniczonego i ograniczonego portowo) i symetrycznych NAT.
❖ Opisz technikę wybijania dziur (hole punching) w NAT. Po co konieczny jest serwer pośredniczący?

# Wykład 11

Jakie znasz typy kodów detekcyjnych? Do czego służą i jakie są między nimi różnice?
❖ Jakie rodzaje błędów mają wykrywać kody detekcyjne? Z czego biorą się błędy przy przesyłaniu danych?
❖ Jak działa algorytm obliczania sum kontrolnych CRC?
❖ W jaki sposób działa wykrywanie błędów przy sumie kontrolnej CRC?
❖ Do czego służą kody MAC? Co to jest HMAC?
❖ Jakie własności powinna mieć kryptogra czna funkcja skrótu?
❖ Jakie znasz metody korygowania błędów w transmisji?
❖ Co to jest (a,b)-kod? Podaj przykład.
❖ Co to jest odległość Hamminga? Jak wpływa na możliwość detekcji i korekcji błędów?
❖ Czym różni się poufność od integralności?
❖ Co to są szyfry monoalfabetyczne? Dlaczego łatwo je złamać?
❖ Na czym polegają ataki z wybranym tekstem jawnym, znanym tekstem jawnym i znanym szyfrogramem?
❖ Czym szyfrowanie symetryczne różni się od asymetrycznego?
❖ Co to jest szyfrowanie one-time pad?
❖ Na czym polega szyfrowanie blokowe? Czym różni się tryb ECB od CBC?
# Wykład 12

Czym szyfrowanie symetryczne różni się od asymetrycznego?
❖ Na czym polega bezpieczeństwo przy szyfrowaniu asymetrycznym?
❖ Opisz algorytm RSA.
❖ Czy różni się szyfrowanie od uwierzytelniania?
❖ Co to jest atak powtórzeniowy?
❖ Czy w szyfrowaniu asymetrycznym szyfrujemy kluczem publicznym czy prywatnym?
❖ Na czym polega podpisywanie wiadomości? Jakim kluczem to robimy?
❖ Jak można wykorzystać podpisy cyfrowe do uwierzytelniania?
❖ Czy HMAC można wykorzystać do uwierzytelniania? Czy HMAC jest podpisem cyfrowym?
❖ Dlaczego lepiej podpisywać funkcję skrótu wiadomości niż samą wiadomość? Z jakim ryzykiem się to wiąże?
❖ Co to są certy katy? Co to jest ścieżka certy kacji?
❖ Co to jest urząd certy kacji (CA)?
❖ Jak TLS zapewnia bezpieczeństwo połączenia?
❖ W jaki sposób w TLS następuje uwierzytelnienie serwera, z którym się łączymy?
❖ Co to są klucze sesji? Po co się je stosuje?
❖ Co to są kolizje kryptogra cznej funkcji skrótu?
❖ Na czym polega atak urodzinowy?
❖ Na jaki atak narażone jest podejście, w którym wiadomość najpierw szyfrujemy a potem podpisujemy?

# Wykład 13

Co to jest pamięć CAM i jak stosuje się ją w przełącznikach? Jak można ją przepełnić?
❖ Opisz atak typu ARP spoo ng.
❖ Co oznacza termin IP spoo ng? Na czym polega metoda wery kacji tak zmody kowanych pakietów (ingress ltering)?
❖ Na czym polega atak RIP spoo ng?
❖ Na czym polega zatruwanie pamięci podręcznej serwera DNS?
❖ Jak wygląda uwierzytelnianie serwera SSH?
❖ Na czym polega uwierzytelnianie użytkownika przez SSH z wykorzystaniem kluczy RSA?
❖ Przedstaw przykładowe ataki wykorzystujące brak sprawdzania poprawności wprowadzanych danych.
❖ Wyjaśnij pojęcia: robak internetowy, exploit, botnet.
❖ Na czym polega phishing?
❖ Co to jest skanowanie portów? Po co się je wykonuje?
❖ Co to są ataki DoS i DDoS?
❖ Na czym polega atak typu odbity (re ected) DoS?
❖ Jak działa i do czego jest wykorzystywany ICMP Traceback?
❖ Podaj przykłady tunelowania.
❖ Rozwiń skrót VPN. Do czego służy?
❖ Porównaj wady i zalety ltrów pakietów: prostych, stanowych i działających w warstwie aplikacji.
❖ Do czego służą moduły input, output, forward w ltrze Net lter/nftables?
❖ W jakich łańcuchach zapory Linuksa wykonywany jest źródłowy a w jakich docelowy NAT?

