ARP – protokol a mechanismus zjišťování MAC adresy
Komunikační mechanismus podle referenčního modelu OSI vyžaduje vyplnění údajů hlaviček všech vrstev. Z tohoto důvodu potřebujeme k IP adrese zjistit MAC adresu. Mechanismus zjišťování MAC adresy pro IP protokol se nazývá ARP (Address Resolution Protocol). Předpokládejme, že stanice A má IP adresu 192.168.1.21 a chce komunikovat s adresou 192.168.1.1. Mohou nastat dva případy. Stanice spolu nedávno komunikovali a uzel má MAC adresu uloženu v tzv. ARP Cache. ARP Cache je paměťový segment v němž je držena tabulka s relacemi IP adresa, MAC adresa. Důvodem je snížení množství požadavků na zjišťování MAC adres. Údaj je v ARP Cache je však držen omezenou dobu. Hodnoty ARP Cache vypíšeme na většině systémů pomocí příkazu arp –a. Konkrétní výpis pak vypadá např. takto:
00-00-64-65-73-74 192.168.1.21
Stanice si tedy v první fázi zkontroluje zda má v ARP Cache MAC adresu dané IP adresy. Pokud ne, musí si MAC adresu zjistit.
1. stanice A odesílá ARP Request, zdrojovou adresou je její MAC adresa a adresou určení je broadcast; zdrojová adresa i adresa určení protokolu IP odpovídají konkrétním hodnotám
2. všechny uzly se musí broadcastu věnovat a porovnat svoji IP adresu s adresou určení, ten uzel jehož IP adresa odpovídá adrese z požadavku posílá tzv. ARP Response, tedy odpověď s vyplněnou svojí MAC adresou. Další vzájemné komunikace obou uzlů probíhají prostřednictvím Unicastů.
ARP není IP protokol v pravém slova smyslu protože nemá IP hlavičku – tím nemůže ani opustit logickou síť neboť nemůže projít přes směrovač.
ARP lze v ethernetovém paketu poznat tak, že v poli Type má vyplněna čísla:
0x0806 ARP request (požadavek)
0x0835 ARP response (odpověď)