6. cvičení - Protokoly IP a ARP, VPN
Cíle cvičení
- Zjištění Maximum Transfer Unit (MTU) po cestě k cíli.
- Inspekce IP paketu od ping s nastavenou velikostí, zakázanou fragmentací a s nastavenými volitelnými položkami záhlaví.
- Manipulace s Adress Resolution Protocol (ARP) cache a inspekce ARP paketů.
- Inspekce IPv6 paketů.
Zjištění Maximum Transfer Unit (MTU) po cestě k cíli
IPv4 protokol defaultně umožňuje jakémukoli uzlu na cestě fragmentovat pakety podle MTU další linky na cestě (Toto chování lze zakázat pomocí položky v hlavičce paketu). Fragmentace paketů zvyšuje režii přenosu. Proto je výhodné znát MTU cesty před zahájením komunikace, a posílat pakety menší délky než MTU.
Program ping umožňuje nastavit velikost paketů (na Linuxu parametr -s
) a zakázat jejich fragmentaci (na linuxu parametr -M
). Pomocí nastavení těchto parametrů lze zjistit Maximum Transfer Unit (MTU) pomocí Path MTU discovery algoritmu.
Úkol: S pomocí programu ping nastavováním velikosti packetu a zákazem fragmentace (Path MTU discovery algoritmus) zjistit MTU cesty ke google.cz a phoenix.inf.upol.cz.
Inspekce IP paketu od ping s nastavenou velikostí, zakázanou fragmentací a s nastavenými volitelnými položkami záhlaví
IPv4 packet má následující strukturu.
Umožňuje nastavení nepoviných položek záhlaví. Jsou to například:
- zaznamenej směrovače (číslo 7)
- zaznamenej čas (68)
- explicitní směrování (131, 137)
- upozornění pro směrovače (148)
Některé z těchto položek jsou na směrovačích z bezpečnostních důvodů zakázány a pakety s těmito parametry jsou zahazovány.
Úkol: Zachytit pakety od programu ping
s nastavenou velikostí paketu větší než MTU a zakázanou/povolenou fragmentací a najít zákaz fragmentace v hlavičce paketu a jednotlivé fragmenty původního paketu.
Úkol: Zachytit pakety generované programem ping
s nastaveným záznamem směrovačů a najít tento záznam v hlavičce.
Nalezení MTU a inspekce IP paketu od ping s nastavenou velikostí, zakázanou fragmentací a s nastavenými volitelnými položkami je za 1 bod.
Manipulace s Adress Resolution Protocol (ARP) cache a inspekce ARP paketů
Pro odeslání IP paketu sousedovi je třeba tento paket zabalit do linkového rámce. Linkový rámec musí mít nastavenu MAC adresu cílového počítače. Ke zjištění MAC adresy odpovídající nějaké IP adrese souseda slouží ARP cache a ARP zprávy.
Struktura ARP zprávy.
K manipulaci s ARP cache se dá na Windows i linuxu použít program arp
. Na linuxu se dá navíc využít program ip
(vyprázdnění ARP cache: ip neigh flush all
). Na windows je to pak program netsh
(vyprázdnění ARP cache: netsh interface ip delete arpcache
)
Úkol: Vypsat obsah ARP cache.
Úkol: Na windows nebo na linuxu vyprázdnit ARP cache a zachytit ARP zprávy sloužící k jejímu opětovnému naplnění. Popsat jaké položky obsahují.
Zobrazení a manipulace s ARP cache a zachytávání ARP zpráv je za 1 bod.
Inspekce IPv6 paketů
IPv6 protokol má následující strukturu paketu a adres.
Podpora pro IPv6 je v linuxu přítomna přímo v jádře. A není již nic potřeba instalovat.
Stejně tak na Windows 2008 Server je podpora IPv6 nainstalována v základu a není potřeba nic instalovat.
Programy jako ping
, traceroute
mají v Linuxu svoje IPv6 obdoby s názvy ping6
, traceroute6
. Ve Windows mají ping a tracert parametr (-6
) umožnující, vynutit IPv6.
Úkol: V Linuxu a ve Windows zjistit IPv6 adresy místních rozhraní a řekněte jáké typy adres podle rozsahu platnosti může rozhraní mít.
Úkol: Zkusit odezvu pomocí ping
loopback (lo) rozhraní virtuálního stroje.
Úkol: Zachytit IPv6 paket (například od
ping
) na rozhraní loopback (lo) a popsat všechna pole v
hlavičce IPv6 paketu kromě version, FlowLabel a Traffic class.
Jak nastavit IPv6 adresu je popsáno v tomto návodu. Ve stejném návodu je také popsáno jak nastavit výchozí směr (bránu, gateway).
Úkol: Na Linuxu nastavit IPv6 adresu 2001:1:1:1::2/64 na rozhraní eth1. A nastavit bránu 2001:1:1:1::1/64.
Ve Windows 2008 Server je možné nastavit statickou IPv6 pomocí grafického rozhraní.
Úkol: Na windows nastavit IPv6 adresu 2001:1:1:1::2/64 na rozhraní "Local Area Connection 2". A nastavit bránu 2001:1:1:1::1/64.
IPv6 úkoly jsou za 2 body.