Dydaktyka:
FeedbackTo jest stara wersja strony!
IPv4 = Internet Protocol version 4 (RFC 791); czasami skracane do inet
less /etc/protocols
Dla przetestowania fragmentacji spróbuj zmienić rozmiar pakietu ping: ping -s <rozmiar> <cel>
, np:
ping -s 5000 1.1.1.1
Protokół IP nie przewiduje informowania nadawcy o problemach.
Funkcje diagnostyczne i kontrolne dla IPv4 spełnia protokół ICMP (Internet_Control_Message_Protocol)
ICMP pozwala m. inn. na:
Aby zaobserwować komunikaty ICMP, można wykonać:
ping <cel>
traceroute [-q 1] -T <cel>
(porównaj z traceroute -I <cel>
)host pl. lab-net-1
(z lab-net)host pl. lab-sec-33
(z lab-net)
Do zarządzanie przynależnością do grup multicastowych w IPv4 służy IGMP [1].
Dzięki IGMP urządzenia sieciowe wysyłają wiadomości multicastowe tylko zainteresowanym odbiorcom [2], a urządzenia końcowe mogą przyjmować tylko ramki z interesujących ich grup multicastowych.
Wyświetlenie grup do których należy komputer [IP]: netstat -g
Wyświetlenie grup do których należy komputer [MAC]: cat /proc/net/igmp
Oczekiwanie na wiadomość multicastową: socat udp-recvfrom:2222,ip-add-membership=239.1.2.3:br0 -
Zadaniem warstwy łącza danych jest dostarczenie danych do wybranego bezpośrednio połączonego urządzenia.
Zadaniem warstwy sieci jest dostarczenie danych do wybranego urządzenia [w domyśle: dowolnego w sieci].
Jeśli cel nie jest bezpośrednio połączony, dane (pakiety) trzeba wysłać przez inne urządzenie, tj. trzeba wybrać dalszą trasę pakietu.
Stąd urządzenie działające na warstwie sieci to trasownik (router).
Adresy IP i MAC na drodze pakietu od źródła do celu
Protokół ARP - http://en.wikipedia.org/wiki/Address_Resolution_Protocol
Narzędzia:
arp
/ ip neigh
arp -i br0 -s 1.0.0.0 02:de:ad:00:be:ef
ip neigh add 1.0.0.0 lladdr 02:de:ad:00:be:ef dev br0
arp -i br0 -d 1.0.0.0
ip neigh del 1.0.0.0 dev br0
ip neigh flush all
Ręczne wysyłanie żądania ARP – arping
arping -I <interfejs> <adres IP>
arping -I br0 150.254.32.129
Slajdy: Protokół ARP
[EKSTRA]
Fragmentacja IP a rzeczywistość: https://blog.cloudflare.com/ip-fragmentation-is-broken/
Protokół ARP znalazł zastosowanie w wielu technologiach warstwy 2 ([1]), natomiast na warstwie 3 używany jest tylko dla adresów IPv4.
Komenda arp
jest też dostępna w systemie Windows: https://technet.microsoft.com/en-us/library/cc940107.aspx
Q: Dlaczego komenda arping
nie uzupełnia mapowań IP—MAC?
A: Domyślnie Linux uzupełnia mapowania tylko w odpowiedzi na żądania ARP generowane przez jądro systemu. Aby akceptować inne pakiety ARP, można wydać polecenie:
sysctl net.ipv4.conf.all.arp_accept=1
Dokumentacja: https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt