Přeskočit na obsah

Address Resolution Protocol

Z Wikipedie, otevřené encyklopedie

Address Resolution Protocol (ARP) se v počítačových sítích s IP protokolem používá k získání ethernetové MAC adresy sousedního stroje z jeho IP adresy. Používá se v situaci, kdy je třeba odeslat IP datagram na adresu ležící ve stejné podsíti jako odesilatel. Data se tedy mají poslat přímo adresátovi, u něhož však odesilatel zná pouze IP adresu. Pro odeslání prostřednictvím např. Ethernetu ale potřebuje znát cílovou ethernetovou adresu.

Proto vysílající odešle ARP dotaz (ARP request) obsahující hledanou IP adresu a údaje o sobě (vlastní IP adresu a MAC adresu). Tento dotaz se posílá linkovým broadcastem – na MAC adresu identifikující všechny účastníky dané lokální sítě (v případě Ethernetu na ff:ff:ff:ff:ff:ff). ARP dotaz nepřekročí hranice dané podsítě, ale všechna k ní připojená zařízení dotaz obdrží a jako optimalizační krok si zapíší údaje o jeho odesilateli (IP adresu a odpovídající MAC adresu) do své ARP cache. Vlastník hledané IP adresy pak odešle tazateli ARP odpověď (ARP reply) obsahující vlastní IP adresu a MAC adresu. Tu si tazatel zapíše do ARP cache a může odeslat datagram.

Informace o MAC adresách odpovídajících jednotlivým IP adresám se ukládají do ARP cache, kde jsou uloženy do vypršení své platnosti. Není tedy třeba hledat MAC adresu před odesláním každého datagramu – jednou získaná informace se využívá opakovaně. V řadě operačních systémů (Linux, Windows) lze obsah ARP cache zobrazit a ovlivňovat příkazem arp.

Alternativou pro počítač bez ARP protokolu je používat tabulku přiřazení MAC adres IP adresám definovanou jiným způsobem, například pevně konfigurovanou. Tento přístup se používá především v prostředí se zvýšenými nároky na bezpečnost, protože v ARP se dá podvádět – místo skutečného vlastníka hledané IP adresy může odpovědět někdo jiný a stáhnout tak k sobě data pro něj určená.

ARP je definováno v RFC 826. Používá se pouze pro IPv4, novější verze IP protokolu (IPv6) používá podobný mechanismus nazvaný Neighbor Discovery Protocol (NDP, „objevování sousedů“).

Ačkoliv se ARP v praxi používá téměř výhradně pro překlad IP adres na MAC adresy, nebyl původně vytvořen pouze pro IP sítě. ARP se může použít pro překlad MAC adres mnoha různých protokolů na síťové vrstvě. ARP byl také uzpůsoben tak, aby vyhodnocoval jiné typy adres fyzické vrstvy: například ATMARP se používá k vyhodnocení ATM NSAP adres v protokolu Classical IP over ATM.

Získávání MAC k IP adrese

  • ARP
    • známe cílovou IP adresu, zjišťujeme MAC, abychom mohli IP paket umístit do ethernetového rámce (linková vrstva) a odeslat
    • vytváří ARP tabulku, MAC↔IP
    • 1 MAC může mít více IP adres
    • vytváří dynamický záznam (dynamické záznamy mají omezenou životnost – sekundy až desítky minut)
  • Proxy ARP
    • router se při ARP odpovědích vydává za PC, které leží za ním
    • vytvoření 1 logickou podsíť z více fyzických sítí
  • RARP (Reverzní ARP)
    • známe svoji MAC, ale neznáme svoji IP adresu
    • pro konfiguraci bezdiskových stanic → dnes DHCP (Dynamic Host Configuration Protocol)
    • umí předat jen IP → omezené možnosti
    • v síti je server se statickou ARP tabulkou
    • následník BootP, zpětně nekompatibilní
    • dynamické konfigurace stanic pro TCP/IP
    • server přiděluje:
      • a) staticky - dle MAC přidělí IP
      • b) dynamicky - stanice dostanou volnou IP z definovaného rozsahu
    • stanice si „pronájem“ obnovují podle požadovaného serveru → evidence aktivních stanic
    • stanice požádá pomocí broadcastu (se svojí MAC), server odpoví

Operační rámec

Adress Resolution Protocol je protokol dotazu a odpovědi, který je řízen zabaleným linkovým protokolem. Je tedy komunikací mezi hranicemi jednotlivých síťových systémů a nikdy se nesměruje přes vnitřní systémové uzly. Tato vlastnost umísťuje ARP do linkové vrstvy tohoto internetového protokolového souboru. Zatímco v otevřeném propojeném systémovém modelu je často charakterizován jako soubor mezi vrstvami 2 a 3 zabalený ve vrstvě 2 těchto protokolů. Ačkoliv ARP nebylo vyvinuto v rámcové konstrukci OSI.

Struktura packetu

Adress Resolution Protocol používá jednoduché formátové zprávy, které obsahují jeden dotaz, nebo odpověď. Velikost ARP zpráv závisí na vyšších a nižších vrstvách formátových adres, které jsou dány typem síťového protokolu (obvykle IPv4) spolu s typem hardwaru či virtuální linkové vrstvy. Tímto je vrchní vrstva protokolu v chodu. Hlavička zpráv určuje tyto typy, tak jako formát jednotlivých adres. Hlavička zpráv je pak kompletní díky kodové operaci pro dotaz (1) a odpověď (2). Užitečné zatížení této složky se skládá ze čtyř adres, hardwaru a protokolu adres od odesílatele a příjemce hostitele. 

Hlavní struktura složky ARP je ukázána v následující tabulce spolu s ilustracemi případu IPv4 systémů, které běží na Ethernetu. V tomto případě má složka 48 bitových polí pro odesílatele hardwarové adresy. (SHA) a cílová hardwarová adresa (THA), 32 bitová pole pak pro korespondenci mezi odesílatelem a cílovou protokolovou adresou (SPA a TPA). V tomto případě je ARP složka ve formátu 28 bitů. Etherický typ pro ARP je 0x0806.

Hardwarový typ (HTYPE)

Tato oblast specifikuje systémový protokolový typ. Příklad: Ethernet je 1.

Protokolový typ (PTYPE)

Tato oblast specifikuje vnitřní systémový protokol, na který je žádost ARP zaměřena. Pro IPv4 to má hodnotu 0x0800. Povolený PTYPE hodnot sdílí číselný úsek s těmi pro typ Ether.

Hardwarová délka (HLEN)

Délka hardwarové adresy Ethernetových adres je 6.

Protokolová délka (PLEN)

Délka adres užívaných v horních vrstvách protokolu. (Horní vrstva protokolu je specifikována  v PTYPE.) IPv4 adresový formát je 4.

Operace

Specifikuje operaci, kterou odesílatel provádí: 1 pro žádost, 2 pro odpověď.

Odesílatel hardwarové adresy (SHA)

Mediální adresa odesílatele. V ARP je žádost této složky užita pro značení adresy zaslané žádosti hostitelem. V ARP odpovědi je tato složka užita k označení adresy hostitele, kterou žádost hledala. (Ne vždy adresa hostitele odpovídá jako v tomto případě virtuálních medií.) Přepínače v učení MAC adres neberou zřetel na tuto oblast.

Odesílatel protokolové adresy (SPA)

Vnitřní síťové adresy odesílatele.

Cílová hardwarová adresa (THA)

Mediální adresa požadovaného přijímače. V ARP je žádost této adresy ignorována. V ARP je odpověď této oblasti užita k označení adresy hostitele, kterou vyvolala žádost ARP.

Cílový protokol adresy (TPA)

Vnitřní adresa požadovaného přijímače. ARP protokolové parametrové hodnoty byly standardizovány a jsou udržovány autority pro přidělování čísel na internetu.

Příklad

Na příklad počitače Matterhorn a Washington jsou v kanceláři propojeny jeden ke druhému v Local Area Network. Jsou také síťově propojeny Ethernetovými kabely a síťovými přepínači bez zásahu bran, nebo směrovačů. Matterhorn chce poslat packet do počítače Washington. Přes DNS, který určí Washingtonovu IP adresu, která je 192.168.0.55. Aby zprávu poslal, potřebuje také vědět Washingtonovu |MAC adresu. První Matterhorn použije Cached (rychlé vyrovnávací paměti) ARP tabulky, aby vyhledal 192.168.0.55 pro jakékoliv existující záznamy Washingtonova MAC adresy (00:eb:24:b2:05:ac). Když je MAC adresa nalezena, pošle zabalenou IP složku v úrovňovém rámci 2 přes prostředníka vrstvy na adresu 00.eb:24:b2:05.ac místní síťovou kabeláží. Pokud rychlá vyrovnávací paměť nevyprodukuje výsledek pro 192.168.0.55, musí Matterhorn poslat celoplošnou ARP zprávu (cíl FF:FF:FF:FF:FF:FF MAC adresa, která je akceptována všemi počítači) požadující odpověď pro 192.168.0.55. Washington odpoví MAC adresou (a její IP). Washington může záznam pro Matterhorn uložit do jeho vlastní tabulky pro budoucí použití. Informační odpověď je uložena v rychlé vyrovnávací paměti (cached) v Matterhornově ARP tabulce a zpráva tak může být odeslána. 

ARP průzkum

Průzkum ARP je sestavená žádost ze všech nulových odesílatelů IP adresy. Termín je použit v IPv4 adrese (Konfliktu Detekce specifikace) (5227). Na začátku, než použijeme IPv4 adresu (pokud byla doručena z manuální konfigurace. DHCP, či jiné možnosti. Hostitel, který realizuje tuto specifikaci, musí vše otestovat, aby viděl, zda je adresa použitá vysíláním ARP packetama.

Související články

Reference

Externí odkazy