# Sieci komputerowe. Warsztat 5.
Krzysztof Nyczka, 299386
### Zadanie do zaprezentowania (3 pkt.)
#### W tej części przyjrzymy się dokładniej warstwie łącza danych i współpracy pomiędzy tą warstwą a warstwą sieciową.
Uruchom dwie maszyny wirtualne Virbian1 i Virbian2, każdą z jedną kartą sieciową zmostkowaną z interfejsem local0. Zmień nazwę wirtualnego interfejsu w każdej z maszyn na enp0.
Aktywuj interfejsy enp0 obu maszyn i przypisz im adresy IP równe odpowiednio 192.168.0.1/24 i 192.168.0.2/24. Na każdej maszynie uruchom Wiresharka. Uwaga: włącz obserwację wyłącznie interfejsu enp0: jeśli włączysz obserwację wszystkich interfejsów podgląd warstwy łącza danych będzie utrudniony.
virbian_1:
`sudo ip link set enp0s3 name enp0`
`sudo ip link set up dev enp0`
`sudo ip addr add 192.168.0.1/24 dev enp0`
virbian_2:
`sudo ip link set enp0s3 name enp0`
`sudo ip link set up dev enp0`
`sudo ip addr add 192.168.0.2/24 dev enp0`
ping V1->V2, WireShark z V1:

Poleceniem ip link wyświetl adresy MAC kart sieciowych na obu maszynach. Z maszyny Virbian1 pingnij maszynę Virbian2 i obejrzyj przesyłane ramki w Wiresharku. Jakie są pola nadawcy i odbiorcy ramki ethernetowej? A jakie są pola nadawcy i odbiorcy zawartego w niej pakietu IP?
virbian_1 i virbian_2:
`ip link`
Z maszyny Virbian1 pingnij adres rozgłoszeniowy 192.168.0.255. Jakie są tym razem pola nadawcy i odbiorcy ramki ethernetowej? A jakie są pola nadawcy i odbiorcy zawartego w niej pakietu IP?
`ping 192.168.0.255 -b` z V1

`ip neigh` na V1

Z maszyny Virbian1 pingnij maszynę Virbian2. W Wiresharku zaobserwuj, że maszyna najpierw wysyła zapytanie ARP, otrzymuje na nie odpowiedź, a następnie wysyła komunikaty ICMP echo i otrzymuje na nie odpowiedzi. Jak zmienił się stan tablicy ARP obu maszyn?
ping V2->V1, WireShark z V2:

`ping 192.168.0.255 -b` z V2:

`ip neigh` na V2

Z maszyny Virbian1 pingnij maszynę Virbian2. W Wiresharku zaobserwuj, że maszyna najpierw wysyła zapytanie ARP, otrzymuje na nie odpowiedź, a następnie wysyła komunikaty ICMP echo i otrzymuje na nie odpowiedzi. Jak zmienił się stan tablicy ARP obu maszyn?
WireShark na V1 po ping V1->V2

1. Co jest danymi ramki w przypadku zapytań ARP?
2. Czy zapytania ARP są wysyłane do konkretnego komputera czy na adres rozgłoszeniowy?
3. Czy odpowiedzi ARP są wysyłane do konkretnego komputera czy na adres rozgłoszeniowy?
---
1. Danymi ramki w przypadku zapytań ARP są adres o który pyta, a także adres na który maja zostać wysłane odpowiedzi.
2. Zapytania ARP są wysyłane na adres rozgłoszeniowy.
3. Odpowiedzi są wysyłane do konkretnego komputera.
### Zadanie do zaprezentowania (2 pkt.)
#### Uruchom dwie dodatkowe maszyny wirtualne Virbian3 i Virbian4, każdą z jedną kartą sieciową zmostkowaną z interfejsem local0. Zmień nazwę wirtualnego interfejsu w każdej z maszyn na enp0, otrzymując konfigurację z poniższego rysunku.

#### Zobaczymy teraz, do czego prowadzi mieszanie wielu sieci IP w jednej sieci Ethernet. Włącz na wszystkich komputerach Wiresharka, jeśli jeszcze nie jest włączony.
Przypisz interfejsom enp0 maszyn wirtualnych następujące adresy:
– Virbian1 : 192.168.1.1/24
– Virbian2 : 192.168.1.2/25
– Virbian3 : 192.168.1.129/24
– Virbian4 : 192.168.1.130/25
`sudo ip link set enp0s3 name enp0`
`sudo ip link set up dev enp0`
`sudo ip addr add 192.168.0.1/24 dev enp0`
`sudo ip link set enp0s3 name enp0`
`sudo ip link set up dev enp0`
`sudo ip addr add 192.168.0.2/25 dev enp0`
`sudo ip link set enp0s3 name enp0`
`sudo ip link set up dev enp0`
`sudo ip addr add 192.168.0.129/24 dev enp0`
`sudo ip link set enp0s3 name enp0`
`sudo ip link set up dev enp0`
`sudo ip addr add 192.168.0.130/25 dev enp0`
Zauważ, że maszyny leżą w jednej sieci warstwy drugiej, ale w trzech różnych podsieciach IP (różnych sieciach warstwy trzeciej). Jakie są zakresy adresów tych sieci?
Z maszyny Virbian1 pingnij jej adres rozgłoszeniowy, a następnie odpowiedz na następujące pytania:
1. Które maszyny otrzymały komunikat ICMP echo request? Które nie otrzymały i dlaczego?
2. Które maszyny wysłały w odpowiedzi komunikat ICMP echo reply? Które nie wysłały i dlaczego?
3. Które odpowiedzi dotarły do maszyny Virbian1 ? Które nie dotarły i dlaczego?
---
1. Wszystkie maszyny otrzymały echo request, bo są podłączone do tej samej sieci local0.
2. Virbian_1 nie wysyła odpowiedzi, pomimo tego że ping tam dociera, to ze względu na inną warstwę. Virbian_2 nie wysyła odpowiedzi, bo ma inny adres rozgłoszeniowy. Virbian_3 wysyła echo replay. Virbian_4 nie odpowiada, chociaż ma taki sam adres rozgłoszeniowy, ale nadawca echo request jest spoza sieci.
3. Wszystkie odpowiedzi dochodziły do nadawcy.
Wykonaj powyższy punkt, ale z maszyny Virbian2, z maszyny Virbian3, a na końcu z maszyny Virbian4.
Virbian_2:
Echo request dotarł do wszystkich pozostałych maszyn, ale Virbian_2 nie otrzymał odpowiedzi, bo adres rozgłoszeniowy reszty maszyn jest inny.
Virbian_3:
Echo request dotarł do wszystkich maszyn, ale odpowiedziały tylko maszyny Virbian_1 i Virbian_4, bo Virbian_3 należy do ich sieci.
Virbian_4:
Echo request dotarł do wszystkich maszyn, a odpowiedzi otrzymują Virbian_1 i Virbian_3, bo mają ten sam adres rozgłoszeniowy.