Różnice między wybraną wersją a wersją aktualną.
Both sides previous revision Poprzednia wersja Nowa wersja | Poprzednia wersja | ||
sk1:ip_icmp_dhcp [2018/04/05 12:46] jkonczak [ICMP] |
sk1:ip_icmp_dhcp [2018/04/05 13:17] (aktualna) jkonczak [Pomiędzy warstwą łącza danych a warstwą sieci] |
||
---|---|---|---|
Linia 13: | Linia 13: | ||
* TTL | * TTL | ||
* <html><small></html> [[https://en.wikipedia.org/wiki/Differentiated_services|DiffServ]] i [[https://en.wikipedia.org/wiki/Explicit_Congestion_Notification#Operation_of_ECN_with_IP|ECN]] (wcześniej ToS)<html></small></html> | * <html><small></html> [[https://en.wikipedia.org/wiki/Differentiated_services|DiffServ]] i [[https://en.wikipedia.org/wiki/Explicit_Congestion_Notification#Operation_of_ECN_with_IP|ECN]] (wcześniej ToS)<html></small></html> | ||
+ | |||
+ | <html><small></html> | ||
+ | Dla przetestowania fragmentacji spróbuj zmienić rozmiar pakietu ping: ''ping -s <rozmiar> <cel>'', np: \\ | ||
+ | ''ping -s 5000 1.1.1.1'' | ||
+ | <html></small></html> | ||
<html><!-- | <html><!-- | ||
Linia 27: | Linia 32: | ||
* testowanie łączności (ping) | * testowanie łączności (ping) | ||
- | Aby zaobserwować komunikaty ICMP, można: | + | Aby zaobserwować komunikaty ICMP, można wykonać: |
* ''ping <//cel//>'' | * ''ping <//cel//>'' | ||
* ''traceroute [-q 1] -T <//cel//>'' (porównaj z ''traceroute -I <//cel//>'') | * ''traceroute [-q 1] -T <//cel//>'' (porównaj z ''traceroute -I <//cel//>'') | ||
Linia 44: | Linia 49: | ||
Dzięki IGMP urządzenia sieciowe wysyłają wiadomości multicastowe tylko zainteresowanym odbiorcom [[https://en.wikipedia.org/wiki/IGMP_snooping|[2]]], a urządzenia końcowe mogą przyjmować tylko ramki z interesujących ich grup multicastowych. \\ | Dzięki IGMP urządzenia sieciowe wysyłają wiadomości multicastowe tylko zainteresowanym odbiorcom [[https://en.wikipedia.org/wiki/IGMP_snooping|[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 [IP]: ''netstat -g'' \\ | ||
- | Wyświetlenie grup do których należy komputer [MAC]: ''cat /proc/net/igmp'' \\ | + | 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 -'' | Oczekiwanie na wiadomość multicastową: ''socat udp-recvfrom:2222,ip-add-membership=239.1.2.3:br0 -'' | ||
+ | ++++ Przykładowy wynik poleceń: | <html><pre> | ||
+ | # netstat -ng | ||
+ | IPv6/IPv4 Group Memberships | ||
+ | Interface RefCnt Group | ||
+ | --------------- ------ --------------------- | ||
+ | br0 1 <span title="Adres 224.0.0.251 odpowiada adresowi MAC 01:0E:00:00:FB" style="background-color:rgba(128,0,128,0.2)">224.0.0.251</span> | ||
+ | br0 1 224.0.0.1 | ||
+ | |||
+ | # cat /proc/net/igmp | ||
+ | Idx Device : Count Querier Group Users Timer Reporter | ||
+ | 3 wlan0 : 2 V3 | ||
+ | <span title="Adres 224.0.0.251 odpowiada adresowi MAC 01:0E:00:00:FB, stąd FB0000E0" style="background-color:rgba(128,0,128,0.2)">FB0000E0</span> 1 0:00000000 0 | ||
+ | 010000E0 1 0:00000000 0 | ||
+ | </pre></html> | ||
+ | ++++ | ||
<html></small></html> | <html></small></html> | ||
Linia 69: | Linia 89: | ||
''arping -I <//interfejs//> <//adres IP//>'' \\ | ''arping -I <//interfejs//> <//adres IP//>'' \\ | ||
''arping -I //br0// //150.254.32.129//'' | ''arping -I //br0// //150.254.32.129//'' | ||
+ | ++++ Przykładowe wyniki poleceń: | | ||
+ | <html><pre> | ||
+ | # ip -4 n | ||
+ | 10.0.0.1 dev wlan0 lladdr e8:de:27:34:8c:91 <span title="System uznaje wpis za aktualny" style="background-color:rgba(0,255,0,0.2)">REACHABLE</span> | ||
+ | 10.0.0.253 dev wlan0 <span title="System próbował znaleźć adres MAC dla żądanego IP, ale próba nie powiodła się" style="background-color:rgba(255,0,0,0.2)">FAILED</span> | ||
+ | 10.0.0.254 dev wlan0 lladdr cc:af:78:34:82:d7 <span title="System uznaje wpis za przeterminowany, ale przechowuje go żeby kolejne żądanie o ten adres IP wysłać najpierw unicastowo pod pamiętany MAC" style="background-color:rgba(255,255,0,0.4)">STALE</span> | ||
+ | 10.0.1.2 dev br0 lladdr 84:16:f9:bb:f4:a3 STALE | ||
+ | 10.0.1.3 dev br0 lladdr 44:8a:5b:21:4c:e3 STALE | ||
+ | 10.0.1.250 dev br0 lladdr 02:00:00:00:00:01 STALE | ||
+ | |||
+ | # arping -c 5 -I br0 10.0.1.250 | ||
+ | ARPING 10.0.1.250 | ||
+ | 42 bytes from 02:00:00:00:00:01 (10.0.1.250): index=0 time=120.205 usec | ||
+ | 42 bytes from 02:00:00:00:00:01 (10.0.1.250): index=1 time=59.082 usec | ||
+ | 42 bytes from 02:00:00:00:00:01 (10.0.1.250): index=2 time=55.915 usec | ||
+ | 42 bytes from 02:00:00:00:00:01 (10.0.1.250): index=3 time=57.665 usec | ||
+ | 42 bytes from 02:00:00:00:00:01 (10.0.1.250): index=4 time=56.081 usec | ||
+ | --- 10.0.1.250 statistics --- | ||
+ | 5 packets transmitted, 5 packets received, 0% unanswered (0 extra) | ||
+ | rtt min/avg/max/std-dev = 0.056/0.070/0.120/0.025 ms</pre></html>++++ | ||
Slajdy: ''[[http://www.cs.put.poznan.pl/mlibuda/ARP.pdf|Protokół ARP]]'' | Slajdy: ''[[http://www.cs.put.poznan.pl/mlibuda/ARP.pdf|Protokół ARP]]'' | ||
+ | Opis implementacji ARP pod Linuksem: ''man 7 arp'' (samo ''man arp'' pokaże pomoc dla polecenia ''arp'') | ||
<html><small> | <html><small> |