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.

http://www.svetsiti.cz/akttema/2000/zaklady/obr18.jpg

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ěď)