Address Resolution ProtocolAddress Resolution Protocol (zkratka ARP) označuje v informatice název služebního protokolu v počítačových sítích. Protokol ARP slouží v rodině TCP/IP k získání linkové adresy síťového rozhraní protistrany ve stejné podsíti pomocí známé IP adresy (např. v Ethernetu je získána tzv. MAC adresa). Protokol ARP je pro IPv4 definován v RFC 826. Novější protokol IPv6 používá místo ARP podobný protokol NDP (anglicky Neighbor Discovery Protocol). CharakteristikaARP je používán v situaci, kdy je třeba odeslat IP datagram na adresu ležící ve stejné podsíti jako odesílatel. Data se tedy mají poslat přímo adresátovi, u něhož však odesílatel zná pouze IP adresu. Pro odeslání prostřednictvím např. Ethernetu ale potřebuje znát cílovou MAC 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á. 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. Přiřazování MAC adresy k IP adrese
Operační rámecARP je protokol se systémem dotaz–odpověď, který je zapouzdřen linkovým protokolem. Jde tedy o komunikaci uvnitř hranic jednotlivých podsítí (síťových systémů) a nikdy nepřekračuje hranice podsítě (tj. standardně není předáván skrze router). Tato vlastnost umísťuje ARP do linkové vrstvy v Internet Protocolu, zatímco v otevřeném propojeném OSI modelu je často charakterizován jako část mezi vrstvami 2 a 3, která je zapouzdřena ve druhé vrstvě OSI. Protokol ARP nebyl v rámcovém modelu OSI zpracován. Struktura paketuARP používá jednoduše formátované zprávy, které obsahují jeden dotaz nebo jednu odpověď. Velikost ARP zpráv závisí na vyšších a nižších vrstvách konkrétně použité infrastruktury a odpovídá typu použitého síťového protokolu (což je obvykle IPv4 nebo IPv6) spolu s použitým typem hardwaru či virtuální linkové vrstvy. Hlavička zpráv určuje tyto typy a formát jednotlivých adres. Hlavička zpráv je pak kompletní díky kódu operace pro dotaz (1) a odpověď (2). Nosnost tohoto paketu se skládá ze čtyř adres, hardwaru a protokolu a adres odesílatele a příjemce. Struktura ARP datagramu je naznačena v následující tabulce spolu s ilustracemi pro případ IPv4, které používá Ethernet. V tomto případě má paket 48bitových polí pro odesílatele hardwarové adresy (SHA) a cílové hardwarové adresy (THA), 32bitové pole pro korespondenci mezi odesílatelem a cílovou protokolovou adresou (SPA a TPA). V tomto případě je ARP paket ve formátu 28 bitů. Ethernetový typ pro ARP je 0x0806.
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.[1][2][3] 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 tohoto paketu užita pro značení adresy zaslané žádosti hostitelem. V ARP odpovědi je tento paket užit 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á protokolová adresa (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říkladNa příklad počítače Matterhorn a Washington jsou navzájem propojeny v LAN pomocí Ethernetových kabelů a switchem, není zde žádná gateway nebo router. Když chce uživatel poslat z počítače Matterhorn paket do počítače Washington, použije doménové jméno (tj. např. Související články
Externí odkazy
Reference
|