# 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: ![](https://i.imgur.com/bia5hup.png) 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 ![](https://i.imgur.com/dipFHZ2.png) `ip neigh` na V1 ![](https://i.imgur.com/tUcUszx.png) 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: ![](https://i.imgur.com/PbRfdiw.png) `ping 192.168.0.255 -b` z V2: ![](https://i.imgur.com/yQGCNLm.png) `ip neigh` na V2 ![](https://i.imgur.com/zRKifIc.png) 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 ![](https://i.imgur.com/L2R1W8g.png) 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. ![](https://i.imgur.com/L7w0rml.png) #### 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.