Protokol arp a jeho účel. protokol arp

Za zveřejnění původního článku, stejně jako všem, kteří přidali karmu za možnost mého vlastního vydání. Nyní aktualizovaná verze zohledňující přání a doplňky. Vítejte u kočky.

Hezký den, milí Habrauseři. Tímto článkem chci začít sérii příběhů o protokolech, které nám pomáhají transparentně, rychle a spolehlivě vyměňovat informace. A začněte s protokolem ARP.

Jak víte, adresování na internetu je 32bitová sekvence 0 a 1, nazývaná IP adresy. Přímá komunikace mezi dvěma zařízeními v síti se však provádí pomocí adres na úrovni linky (adres MAC).

K určení shody mezi logickou adresou síťové vrstvy (IP) a fyzickou adresou zařízení (MAC) se tedy používá protokol ARP (Address Resolution Protocol) popsaný v RFC 826.

ARP se skládá ze dvou částí. První určuje fyzickou adresu při odesílání paketu, druhý odpovídá na požadavky ostatních stanic.

Protokol má vyrovnávací paměť (ARP tabulku), ve které jsou uloženy dvojice adres (IP adresa, MAC adresa), aby se snížil počet odeslaných požadavků, a tím se šetřil provoz a zdroje.

Příklad tabulky ARP.

192.168.1.1 08:10:29:00:2F:C3
192.168.1.2 08:30:39:00:2F:C4

Vlevo jsou IP adresy, vpravo MAC adresy.

Před připojením k jednomu ze zařízení protokol IP zkontroluje, zda v jeho tabulce ARP existuje záznam pro odpovídající zařízení. Pokud takový záznam existuje, pak k připojení a přenosu paketů dojde přímo. Pokud ne, odešle se požadavek na vysílání ARP, aby se zjistilo, které zařízení vlastní IP adresu. Jakmile se zařízení identifikuje, odešle jako odpověď svou MAC adresu a do ARP tabulky odesílatele se zadá odpovídající záznam.

Existují dva typy položek tabulky ARP: statické a dynamické. Statické si přidává uživatel sám, dynamické se vytvářejí a mažou automaticky. V tomto případě tabulka ARP vždy ukládá vysílanou fyzickou adresu FF:FF:FF:FF:FF:FF (v Linuxu a Windows).

Vytvoření záznamu v tabulce ARP je jednoduché (přes příkazový řádek):

arp –s

Zobrazit položky tabulky ARP:

arp –a

Po přidání záznamu do tabulky je mu přiřazen časovač. Navíc, pokud není záznam první 2 minuty používán, je smazán, a pokud je použit, jeho životnost se prodlužuje o další 2 minuty, maximálně na 10 minut pro Windows a Linux (FreeBSD - 20 minut, Cisco IOS - 4 hodiny), po které je vytvořen nový vysílaný požadavek ARP.

Zprávy ARP nemají pevný formát záhlaví a při přenosu po síti jsou zapouzdřeny v datovém poli spojové vrstvy.

Formát zprávy ARP.

  • typ sítě (16 bitů): pro Ethernet – 1;
  • typ protokolu (16 bitů): h0800 pro IP;
  • délka hardwarové adresy (8 bitů);
  • délka síťové adresy (8 bitů);
  • typ operace (16 bitů): 1 – žádost, 2 – odpověď;
  • hardwarová adresa odesílatele (proměnná délka);
  • síťová adresa odesílatele (proměnná délka);
  • hardwarová adresa příjemce (proměnná délka);
  • síťová adresa příjemce (proměnná délka).

A zde je návod, jak se určuje trasa pomocí protokolu ARP.

Nechte odesílatele A a příjemce B své vlastní adresy označující masku podsítě.

  1. Pokud jsou adresy ve stejné podsíti, zavolá se ARP a určí se cílová fyzická adresa, načež je paket IP zapouzdřen do rámce linkové vrstvy a odeslán na zadanou fyzickou adresu odpovídající cílové IP adrese.
  2. Pokud ne, tabulka začne skenovat a hledat přímou cestu.
  3. Pokud je nalezena cesta, je voláno ARP a je určena fyzická adresa odpovídajícího routeru, načež je paket zapouzdřen do rámce linkové vrstvy a odeslán na zadanou fyzickou adresu.
  4. V opačném případě se zavolá ARP a určí se výchozí fyzická adresa směrovače, načež je paket zapouzdřen do rámce spojové vrstvy a odeslán na zadanou fyzickou adresu.

Hlavní výhodou protokolu ARP je jeho jednoduchost, z čehož pramení i jeho hlavní nevýhoda - absolutní nejistota, protože protokol neověřuje pravost paketů a v důsledku toho je možné nahradit položky v tabulce ARP (materiál na samostatný článek) vklíněním mezi odesílatele a příjemce.

S tímto nedostatkem můžete bojovat ručním zadáváním záznamů do ARP tabulky, což přidává spoustu rutinní práce jak při tvorbě tabulky, tak její následné údržbě při úpravě sítě.

Existují také protokoly InARP (Inverse ARP), které plní obrácenou funkci: logický příjemce je vyhledán pro danou fyzickou adresu a RARP (Reverse ARP), který je podobný InARP, pouze hledá logickou adresu odesílatele. .

Obecně je protokol ARP univerzální pro jakoukoli síť, ale používá se pouze v IP a broadcast (Ethernet, WiFi, WiMax atd.) sítích, jako nejrozšířenější, a proto je nepostradatelný při hledání shod mezi logickými a fyzickými adresami. .

P.S. Tento článek jsem napsal sám, aniž bych kdekoli hledal, pouze na základě svých znalostí získaných při studiu sítí.

Protokol ARP funguje odlišně v závislosti na tom, který protokol linkové vrstvy v dané síti běží – protokol místní sítě (Ethernet, Token Ring, FDDI) s možností vysílat přístup současně všem síťovým uzlům, nebo protokol rozlehlé sítě ( X.25, frame relay), zpravidla nepodporuje všesměrový přístup.

V místních sítích používá ARP k vyhledání hostitele s danou IP adresou v síti vysílané rámce protokolu linkové vrstvy.

Princip fungování:

    Uzel, který potřebuje namapovat IP adresu na lokální adresu, vygeneruje požadavek ARP, vloží jej do rámce protokolu linkové vrstvy, označí známou IP adresu, a požadavek odešle.

    Všichni hostitelé v místní síti obdrží požadavek ARP a porovnají tam uvedenou IP adresu se svou vlastní.

    Pokud se shodují, uzel vygeneruje odpověď ARP, ve které uvede svou IP adresu a svou místní adresu a odešle ji již směrovanou, protože v požadavku ARP odesílatel uvede svou místní adresu.

Arp tabulka pro překlad adres

Překlad adres se provádí prohledáváním tabulky. Tato tabulka, nazývaná ARP tabulka, je uložena v paměti a obsahuje řádky pro každého hostitele v síti.

ARP tabulky jsou sestaveny podle RFC-1213 a pro každou IP adresu obsahuje čtyři kódy:

    Ifindex - Fyzický port (rozhraní) odpovídající této adrese;

    Fyzická adresa - MAC adresa, například ethernetová adresa;

    IP adresa - IP adresa odpovídající fyzické adrese;

    typ shody adresy - toto pole může mít 4 hodnoty: 1 - volba není standardní a nezapadá do žádného z níže popsaných typů; 2 - tento záznam již není pravdivý; 3 - trvalá vazba;

4 - dynamická vazba;

Znaky tabulky pro technologii Ethernet:

Ethernetová adresa

08:00:39:00:2F:C3

08:00:10:99:AC:5

Je obvyklé zapisovat všechny bajty 4bajtové IP adresy jako desetinná čísla oddělená tečkami. Při zápisu 6bajtové ethernetové adresy je každý bajt zadán v šestnáctkové soustavě a je oddělen dvojtečkou.

Tabulka ARP je nezbytná, protože IP adresy a ethernetové adresy jsou vybírány nezávisle a neexistuje žádný algoritmus pro převod jedné na druhou.

IP adresu vybírá správce sítě. Ethernetová adresa je vybrána výrobcem zařízení síťového rozhraní z adresního prostoru přiděleného pro ni v rámci licence. Když se vymění karta síťového adaptéru stroje, změní se také jeho ethernetová adresa.

Arp cache.

    Účinnost ARP do značné míry závisí na mezipaměti ARP, která je přítomna na každém hostiteli.

    Standardní životnost každého záznamu v cache je 20 minut od okamžiku vytvoření záznamu.

Objednávka překladu adresy

Během normálního provozu odesílá síťový program, jako je TELNET, aplikační zprávu pomocí transportních služeb TCP. TCP modul odešle odpovídající transportní zprávu přes IP modul. Výsledkem je paket IP, který musí být odeslán do ovladače Ethernet. Cílovou IP adresu zná aplikační program, modul TCP a modul IP. Na základě toho musíte zjistit ethernetovou adresu cíle. K určení požadované ethernetové adresy se používá tabulka ARP.

Jak se plní tabulka ARP? Podle potřeby jej automaticky vyplní modul ARP. Když existující tabulka ARP nedokáže přeložit IP adresu, dojde k následujícímu:

    Požadavek ARP je vysílán po síti.

    Odchozí IP paket je zařazen do fronty.

Každý síťový adaptér přijímá vysílání. Všechny ovladače Ethernet kontrolují pole typu v přijatém rámci Ethernet a předávají pakety ARP modulu ARP. Požadavek ARP lze interpretovat následovně: "Pokud se vaše IP adresa shoduje s uvedenou, sdělte mi prosím svou ethernetovou adresu." Paket požadavku ARP vypadá asi takto:

Příklad požadavku ARP

Každý modul ARP zkontroluje pole hledané IP adresy v přijatém ARP paketu a pokud se adresa shoduje s vlastní IP adresou, odešle odpověď přímo na ethernetovou adresu žadatele. Odpověď ARP lze interpretovat následovně: „Ano, toto je moje IP adresa a ta a ta ethernetová adresa jí odpovídá.“ Paket odpovědi ARP vypadá asi takto:

Příklad odpovědi ARP

Tuto odpověď obdrží počítač, který provedl požadavek ARP. Ovladač tohoto stroje zkontroluje typové pole v rámci Ethernetu a předá paket ARP modulu ARP. Modul ARP analyzuje paket ARP a přidá položku do své tabulky ARP.

Aktualizovaná tabulka vypadá takto:

Hodnocení: 4,86 ​​Hlasů: 7 Komentářů: 10

Začněme teorií...

Co je ARP a proč jej potřebujeme?

ARP(“Address Resolution Protocol” - protokol pro určení adresy) je nízkoúrovňový protokol používaný v počítačových sítích, určený k určení adresy spojové vrstvy ze známé adresy síťové vrstvy. Tento protokol se nejvíce rozšířil díky všudypřítomnosti IP sítí postavených na Ethernetu, protože v téměř 100 % případů se s touto kombinací používá ARP.

Protokol ARP pracuje s MAC adresami. Každá síťová karta má svou vlastní individuální MAC adresu.

MAC adresa ("Media Access Control" - řízení přístupu k médiím) je jedinečný identifikátor spojený s různými typy zařízení počítačové sítě. Většina síťových protokolů linkové vrstvy používá jeden ze tří prostorů MAC adres spravovaných IEEE: MAC-48, EUI-48 a EUI-64. Adresy v každém prostoru by teoreticky měly být globálně jedinečné. Ne všechny protokoly používají MAC adresy a ne všechny protokoly, které používají MAC adresy, potřebují, aby tyto adresy byly tak jedinečné.

Obr.1. Cesta k tabulce ARP.

Obr.2. ARP tabulka.

Na obrázku 2 vidíme tabulku ARP. Obsahuje tři položky, přidávají se automaticky a mají následující strukturu. IP adresa– toto je ve skutečnosti IP adresa síťového počítače, MAC adresa– toto je mac adresa stejného počítače a rozhraní, který označuje, na kterém rozhraní se tento počítač nachází. Vezměte prosím na vědomí, že všechny položky mají vedle sebe písmeno D. To znamená, že tato položka je dynamická a bude změněna, pokud se některá data změní. To znamená, že pokud uživatel omylem zadá špatnou IP adresu, záznam v tabulce ARP se jednoduše změní a nic jiného. Ale tohle se nám nehodí. Proti takovým případům se musíme pojistit. Za tímto účelem jsou do tabulky ARP přidány statické položky. Jak to udělat? Existují dva způsoby.

Obr.3. Prvním způsobem přidáme statický záznam.

Metoda jedna. Jako obvykle stiskněte červené plus. V zobrazeném okně zadejte IP adresu, MAC adresu a vyberte rozhraní, za kterým se tento počítač nachází.

Obr.4. Druhým způsobem přidáme statický záznam.

Metoda dva. Vyberte požadovaný záznam, dvakrát klikněte levým tlačítkem myši a v okně, které se objeví, stiskněte tlačítko Vytvořte Statik. Přidán statický záznam.

Obr.5. Tabulka se statickými záznamy.

Jak můžete vidět na obrázku 5, u přidané položky není žádné písmeno D. To znamená, že položka je statická.

Nyní, pokud uživatel omylem zadá adresu, která není jeho vlastní, Mikrotik, který zkontroloval shodu IP a MAC adres v tabulce ARP a nenalezl požadovaný záznam, neumožní uživateli přístup k internetu, což povede k že se uživatel domnívá, že mohl být, se mýlí a měli byste zavolat administrátorovi.

Co bych ještě chtěl? upoutat vaši pozornost e: tyto položky se používají pro pakety procházející směrovačem.

Router nebo router- síťové zařízení, které rozhoduje o předávání paketů síťové vrstvy (vrstva 3 modelu OSI) mezi různými segmenty sítě na základě informací o topologii sítě a určitých pravidlech.

Pokud chcete, aby pravidla platila pro Bridge, pak je potřeba v Bridge povolit funkci Use IP Firewall (Obr. 6.).

Most je způsob propojení dvou ethernetových segmentů na úrovni datového spoje, tzn. bez použití protokolů vyšší úrovně, jako je IP. Pakety jsou přenášeny na základě ethernetových adres spíše než IP adres (jako v routeru). Protože přenos probíhá na vrstvě datového spojení (OSI Layer 2), všechny protokoly vyšší vrstvy procházejí transparentně mostem.

Obr.6. Povolení funkce Use IP Firewall.

Jevgenij Rudčenko

Nástroj příkazového řádku ARP.EXE je k dispozici ve všech verzích systému Windows a má stejnou syntaxi. Navrženo pro zobrazení a změnu položek v mezipaměti ARP (Address Resolution Protocol), což je tabulka shody mezi IP adresami a hardwarovými adresami síťových zařízení. Hardwarová adresa je jedinečná, výrobcem přiřazená 6bajtová adresa pro síťové zařízení, jako je síťová karta. Tato adresa se také často nazývá MAC adresa (Media Access Control) nebo ethernetová adresa. V sítích Ethernet obsahují přenášená a přijímaná data vždy zdrojovou MAC adresu (Source MAC) a cílovou MAC adresu (Destination MAC).

Dva nejvýznamnější bity hardwarové adresy se používají k identifikaci typu:

První bit je jedna (0) nebo skupinová (1) adresa.

Druhý bit je znakem univerzální (0) nebo místně spravované (1) adresy.

Následujících 22 bitů adresy obsahuje speciální kód výrobce, označený jako M.F.G. nebo OUI- univerzální kód organizace.

V ethernetových sítích má tedy jakékoli síťové zařízení hardwarovou adresu sestávající ze dvou částí, jejichž význam závisí na výrobci zařízení a konkrétní instanci zařízení. Nadřazená část MAC adresy je centrálně přidělena na základě licence každému výrobci síťového zařízení. Například 00:E0:4C – pro síťová zařízení REALTEK SEMICONDUCTOR CORP. Velcí výrobci síťových zařízení obvykle vlastní několik řad OUI. Nízká část MAC adresy se tvoří během výroby síťového zařízení a je jedinečná pro každou instanci.

Mapování IP adres (generovaných softwarem) na hardwarové adresy se provádí pomocí následujících kroků:

Požadavek na vysílání (požadavek ARP) je odeslán do sítě a akceptován všemi síťovými zařízeními. Obsahuje zdrojovou IP a Ethernetovou adresu a také cílovou IP adresu, pro kterou je MAC adresa určena.

Každé zařízení, které obdrží požadavek, zkontroluje, zda cílová IP adresa uvedená v požadavku odpovídá jeho vlastní IP adrese. V případě shody je odesílateli zaslána odpověď ARP, která obsahuje IP a MAC adresy odpovídajícího uzlu. Rámec odpovědi ARP obsahuje adresy IP a MAC odesílatele i příjemce požadavku.

Informace přijaté v odpovědi ARP jsou uloženy v mezipaměti ARP a lze je použít pro IP komunikaci pro daného hostitele. ARP cache je tabulka v RAM, kde každý záznam obsahuje IP, MAC a jejich stáří platnosti (od několika sekund do několika hodin). Stáří položky se bere v úvahu, aby bylo zajištěno, že procedura ARP může být znovu provedena, pokud dojde k jakékoli změně v mapování adresy.

Formát příkazového řádku ARP:

ARP -s inet_addr eth_addr

ARP -d inet_addr

ARP -a [-N if_addr] [-v]

Možnosti příkazového řádku ARP:

-A-Zobrazí aktuální položky ARP dotazem na aktuální data protokolu. Pokud je parametr zadán inet_addr, pak se zobrazí IP a fyzická adresa pouze pro zadaný počítač. Pokud se ARP používají na více než jednom síťovém rozhraní, zobrazí se položky pro každou tabulku.

-G- stejné jako parametr -A.

-proti- zobrazuje aktuální položky ARP v režimu podrobného protokolování. Zobrazí se všechny neplatné položky a položky v rozhraní zpětné vazby.

inet_addr- určuje IP adresu.

-N if_addr- zobrazí položky ARP pro zadané if_addr síťové rozhraní.

-d- smaže zadaný uzel inet_addr. Parametr inet_addr může obsahovat zástupný znak * smazat všechny uzly.

-s- přidá uzel a propojí internetovou adresu inet_addr s fyzickou adresou eth_addr. Fyzická adresa je specifikována 6 bajty (v hexadecimální soustavě), oddělených pomlčkou. Toto spojení je trvalé

eth_addr- definuje fyzickou adresu.

if_addr- pokud je zadán, udává adresu internetového rozhraní, jehož tabulka překladu adres se má změnit. Pokud parametr není zadán, použije se první dostupné rozhraní.

V sítích IP existují tři způsoby odesílání paketů ze zdroje do cíle:

Unicast přenos ( Unicast);

Vysílat ( Přenos);

Při unicastovém přenosu je datový tok přenášen z odesílajícího uzlu na individuální IP adresu přijímacího uzlu.

Vysílání zahrnuje doručování toku dat ze zdrojového uzlu do více přijímacích uzlů připojených k danému segmentu místní sítě pomocí broadcast IP adresy.

Multicast doručuje tok dat do skupiny uzlů na IP adrese skupiny multicast. Uzly skupiny mohou být umístěny v této lokální síti nebo v jakékoli jiné. Uzly pro multicastovou distribuci jsou sloučeny do skupin pomocí protokolu IGMP(Internet Group Management Protocol, Internet Group Management Protocol). Pakety obsahující skupinovou adresu v poli cílové hlavičky dorazí do skupinových uzlů a budou zpracovány. Zdroj vícesměrového provozu směruje pakety vícesměrového vysílání nikoli na jednotlivé adresy IP každého z přijímajících uzlů, ale na adresu IP vícesměrového vysílání.

Multicastové adresy definují libovolnou skupinu IP uzlů, které se připojily k této skupině a chtějí přijímat provoz, který je jí adresován. Internet Assigned Numbers Authority (IANA), který řídí přidělování multicastových adres, přidělil IPv4 adresy třídy D v rozsahu 224.0.0.0 až 239.255.255.255 pro multicast.

Příklady použití ARP:

arp -a- zobrazit tabulku shody mezi IP a MAC adresami pro tento počítač.

arp -a | více- stejné jako v předchozím případě, ale s informacemi zobrazenými v režimu po jednotlivých stránkách.

arp -a > macaddr.txt- zobrazit tabulku shody mezi IP a MAC adresami pro daný počítač s výstupem výsledků do textového souboru macaddr.txt.

Příklad obsahu tabulky ARP:

Rozhraní: 127.0.0.1 --- 0x1

224.0.0.22                                                
224.0.0.251                                            
239.255.255.250                                        

Rozhraní: 192.168.1.133 --- 0x1c

Internetová adresa Typ fyzické adresy

192.168.1.1                c8-2b-35-9a-a6-1e   dynamické
192.168.1.132            00-11-92-b3-a8-0d   dynamické
192.168.1.255            ff-ff-ff-ff-ff-ff            statický
224.0.0.22                  01-00-5e-00-00-16   statický
224.0.0.251                01-00-5e-00-00-fb   statický
224.0.0.252                01-00-5e-00-00-fc   statický
239.255.255.250        01-00-5e-7f-ff-fa     statické

Tento příklad obsahuje položky ARP pro rozhraní zpětné smyčky 127.0.0.1 a skutečné 192.168.1.133 . Rozhraní zpětné smyčky se nepoužívá pro skutečný přenos dat a není vázáno na hardwarovou adresu. ARP tabulka skutečného rozhraní obsahuje položky pro hostitele s adresami 192.168.1.1 A 192.168.1.132 , stejně jako záznamy pro broadcast (MAC adresa je ff-ff-ff-ff-ff-ff) a multicast (MAC adresa začíná 01-00-5e). MAC adresa multicast vždy začíná 24bitovou předponou - 01-00-5E. Další, 25. bit je 0. Posledních 23 bitů MAC adresy je tvořeno 23 nejméně významnými bity multicastové IP adresy.

arp -s 192.168.1.1 00-08-00-62-F6-19- přidejte položku do tabulky ARP, která odpovídá IP adrese 192.168.1.1 a fyzické adrese 00-08-00-62-F6-19

arp -d 192.168.1.1- odebrat záznam z tabulky ARP pro IP adresu 192.168.1.1

arp -d 192.168.1.*- odstranit položky z tabulky ARP pro rozsah IP adres 192.168.1.1 - 192.168.1.254

Několik poznámek k praktickému použití příkazu ARP:

Rozlišení adresy ARP se provádí pouze během operací převody data přes IP protokol.
- životnost položek v tabulce ARP je omezená, proto před zobrazením jejího obsahu pro konkrétní adresu musíte tuto adresu pingnout.
- pokud odpověď na ping nepřijde a v ARP tabulce je uvedena položka pro danou IP adresu, pak lze tuto skutečnost interpretovat jako blokování ICMP paketů firewallem pingovaného hostitele.
- nemožnost připojení ke vzdálenému hostiteli přes protokoly TCP nebo UDP, pokud jsou v ARP tabulce položky pro cílovou IP, může být známkou absence služeb zpracovávajících příchozí spojení, nebo jejich blokování firewallem (uzavřené porty) .
- Protokol ARP funguje v rámci segmentu lokální sítě. Pokud tedy pingnete externího hostitele (například ping yandex.ru), bude tabulka ARP obsahovat záznam pro IP adresu routeru, přes který je paket odeslán do externí sítě.

Pokud počítač komunikuje s jiným podobným zařízením ve stejné síti, je vyžadována fyzická nebo MAC adresa. Ale protože aplikace poskytla IP adresu příjemce, potřebuje nějaký mechanismus, který ji sváže s MAC adresou. To se provádí pomocí protokolu ARP (Address Resolution Protocol). IP adresa cílového hostitele je vysílána a cílový hostitel vysílá zdroj své MAC adresy.

To znamená, že v každém případě, kdy má stroj A v úmyslu posílat datové pakety do zařízení B, je nucen poslat ARP paket pro vyřešení MAC adresy B. V důsledku toho se příliš zvyšuje provozní zatížení, takže za účelem snížení nákladů na komunikaci, počítače, které používají protokoly ARP, udržují mezipaměť nedávno získaných vazeb adres IP_to_MAC, tj. nesmí tento protokol znovu používat.

Moderní vzhled

Dnes se používá několik vylepšení protokolu ARP a jeho účelu. Takže když chce stroj A posílat pakety do zařízení B, je možné, že B brzy odešle data do A. Z tohoto důvodu, aby se zabránilo ARP pro stroj B, musí A provést vazbu IP_to_MAC adresy, když požaduje MAC adresu B ve speciálním paketu.

Protože A zadá svůj počáteční požadavek na MAC adresu B, musí každý počítač v síti načíst a uložit do mezipaměti vazbu IP_to_MAC adresy A, když do sítě přijde nový počítač (například když je restartován operační systém), může tuto vazbu vysílat aby jej všechny ostatní stroje mohly uložit do svých mezipamětí. To odstraní spoustu ARP paketů ze všech ostatních počítačů, když chtějí komunikovat s přidaným zařízením.

Variace protokolu ARP

Zvažte scénář, ve kterém se počítač pokusí pingnout vzdálený počítač, když mezi zařízeními nebyly předtím vyměněny žádné datagramy IP, a musí být odeslán paket ARP k identifikaci MAC adresy vzdáleného počítače.

Požadavek protokolu Address Resolution Protocol (který vypadá jako A.A.A.A volání na B.B.B.B - IP adresy) je vysílán v místní síti pomocí protokolu Ethernet typu 0x806. Paket je zahozen všemi počítači kromě cíle, který odpoví zprávou s odpovědí APR (AAAA - hh: hh: hh: hh: hh: hh kde hh: hh: hh: hh: hh: hh je adresa zdroje Ethernet) . Tato odpověď je unicastově odeslána do stroje s IP adresou B.B.B.B. Protože zpráva požadavku protokolu APR obsahovala hardwarovou adresu (jmenovitě ethernetový zdroj) žádajícího počítače, cílové zařízení nepotřebuje další zprávu, aby jí porozumělo.

Vztah k jiným protokolům

Jakmile pochopíte, k čemu ARP je, měli byste zvážit, jak interaguje s ostatními prvky sítě.

RARP je protokol, pomocí kterého může fyzický stroj v místní síti požádat o zjištění své IP adresy z tabulky protokolů nebo mezipaměti serveru brány. Je to nutné, protože zařízení nemůže mít trvale nainstalovaný disk, kam si může trvale uložit svou IP adresu. Správce sítě vytvoří ve směrovači brány LAN tabulku, která mapuje adresy fyzického počítače (nebo adresy MAC pro řízení přístupu k médiím) na odpovídající adresy IP. Když je nakonfigurován nový počítač, jeho klientský program RARP požádá server RARP na routeru, aby mu zaslal jeho IP adresu. Za předpokladu, že byla v tabulce směrovače nakonfigurována položka, tento server RARP vrátí IP do počítače, který ji může uložit pro budoucí použití. Jedná se tedy také o druh protokolu určování adresy.

Mechanismus v detailu

Jak stroj vydávající požadavek, tak server, který na něj odpovídá, používají během krátké komunikace fyzické síťové adresy. Obvykle to žádající počítač neví. Požadavek je tedy vysílán všem počítačům v síti. Žadatel se nyní musí pro server jednoznačně identifikovat. K tomu můžete použít sériové číslo procesoru nebo fyzickou síťovou adresu zařízení. Použití druhého jako jedinečného identifikátoru má zároveň dvě výhody:

  • Tyto adresy jsou vždy dostupné a nemusí být nutně spojeny s kódem bootstrap.
  • Protože informace o identitě jsou specifické pro síť a ne pro CPU, všechny stroje v dané síti budou poskytovat jedinečné identifikátory.

Podobně jako zpráva ARP je požadavek RARP odeslán z jednoho počítače do druhého, zapouzdřený v datové části síťového rámce. Ethernetový rámec, který jej obsahuje, má obvyklou preambuli, ethernetové zdrojové a cílové adresy a pole typu paketu před rámcem. Rámec je zakódován s hodnotou 8035, aby byl jeho obsah identifikován jako zpráva RARP. Datová část rámce obsahuje 28-oktetovou zprávu.

Odesílatel odešle požadavek RARP, který se identifikuje jako žadatel a cílový počítač a předá svou fyzickou síťovou adresu do pole cílové hardwarové adresy. Žádost obdrží všechna zařízení v síti, ale pouze ta, která mají oprávnění poskytovat RARP, požadavek zpracují a odešlou odpověď. Takové stroje jsou neformálně známé jako servery pro tento protokol. Pro úspěšnou implementaci protokolů ARP/RARP musí síť obsahovat alespoň jeden takový server.

Odpovídají na požadavek vyplněním adresního pole cílového protokolu, změnou typu zprávy z požadavku na odpověď a odesláním odpovědi přímo do stroje, který požadavek posílá.

Synchronizace RARP transakcí

Vzhledem k tomu, že protokol RARP přímo využívá fyzickou síť, žádný jiný protokolový software nemusí na požadavek reagovat ani jej znovu přenášet. Tyto úkoly musí provádět software RARP. Některé pracovní stanice, které se při stahování spoléhají na takový protokol, se rozhodnou opakovat neomezenou dobu, dokud neobdrží odpověď. Jiné implementace deklarují selhání po několika pokusech zabránit zahlcení sítě zbytečným vysíláním.

Výhody více serverů RARP: větší spolehlivost.

Nevýhoda: Když všechny servery odpoví, může dojít k zahlcení.

Abyste se vyhnuli nevýhodám, můžete použít primární a sekundární server. Každému počítači, který požaduje požadavek RARP, je přiřazen primární server. Obvykle odpovídá na všechny požadavky, ale pokud selže, může žadateli vypršet časový limit a požadavek znovu vysílat. Pokud druhý server obdrží druhou kopii požadavku během krátké doby od první, odpoví. Stále však může nastat problém, kdy všechny sekundární servery reagují ve výchozím nastavení, čímž dochází k přetížení sítě. Problém je tedy vyhnout se odesílání odpovědí z obou serverů současně. Každý sekundární server, který obdrží požadavek, vypočítá náhodné zpoždění a poté odešle odpověď.

Nevýhody RARP

Protože pracuje na nízké úrovni, vyžaduje přímé adresy v síti, což ztěžuje aplikacím vytvoření serveru. Nevyužívá plně možnosti sítě, jako je ethernet, který se používá k odeslání minimálního paketu. Protože odpověď ze serveru obsahuje pouze jednu malou informaci, je 32bitová internetová adresa RARP formálně popsána v RFC903.

protokol ICMP

Tento protokol šifruje mechanismus, který brány a hostitelé používají k výměně řídicích nebo chybových informací. Internetový protokol poskytuje spolehlivou službu přenosu dat bez připojení, datagram putuje od brány k bráně, dokud nedosáhne takové, která jej může doručit přímo do konečného cíle.

Pokud brána není schopna směrovat nebo doručit datagram nebo pokud detekuje neobvyklý stav, jako je přetížení sítě, které ovlivňuje její schopnost předávat datagram, musí původnímu zdroji dát pokyn, aby podnikl kroky k zamezení nebo nápravě problému.

Odkaz

Internet Protocol Control Protocol umožňuje branám odesílat chybové zprávy nebo řídicí zprávy jiným branám nebo hostitelům. ICMP zajišťuje komunikaci mezi softwarem internetového protokolu mezi počítači. Jedná se o takzvaný mechanismus zpráv pro zvláštní účely přidaný vývojáři k protokolům TCP/IP. Brány na internetu tak mohou hlásit chyby nebo předávat informace o neočekávaných okolnostech.

Samotný protokol IP neobsahuje nic, co by pomohlo připojit se k testování odesílatelů nebo se dozvědět o selháních. Chyby a opravy chyb jsou hlášeny prostřednictvím protokolu ICMP pouze původnímu zdroji. Musí přiřadit chyby k jednotlivým aplikačním programům a přijmout opatření k nápravě problémů. Poskytuje tedy bráně způsob, jak hlásit chybu. Nedefinuje však plně opatření, která je třeba provést k nápravě problému.

Protokol ICMP je omezen kvůli původnímu zdroji, ale ne na mezilehlé zprávy ICMP. Jsou odesílány přes internet v datové části IP datagramu, který sám putuje po síti. Proto úzce souvisí s protokolem ARP. Zprávy ICMP jsou směrovány přesně jako datagramy obsahující uživatelské informace, bez jakékoli další spolehlivosti nebo priority.

Výjimkou jsou procedury zpracování chyb, kdy IP datagram nesoucí zprávy ICMP není generován pro chyby, které vznikají z datagramů obsahujících chybové zprávy.

Formát zprávy ICMP

Obsahuje tři pole:

  • 8bitové celočíselné pole TYPE identifikující zprávu;
  • 8bitové pole CODE, které poskytuje další informace o jeho typu;
  • 16bitové pole CHECKSUM (ICMP používá stejný algoritmus kontrolního součtu, který pokrývá pouze zprávu protokolu).

Kromě toho chybové zprávy ICMP ve všech případech obsahují záhlaví a počátečních 64 bitů dat datagramu způsobujícího problém.

Žádosti a odpovědi

Protokoly TCP/IP poskytují prostředky, které pomáhají správcům sítě nebo uživatelům identifikovat síťové problémy. Jedním z nejčastěji používaných ladicích nástrojů je volání ICMP echo request a echo response zpráv. Hostitel nebo brána odešle zprávu na konkrétní místo určení.

Jakýkoli počítač, který obdrží požadavek echo, vytvoří odpověď a vrátí ji původnímu odesílateli. Žádost obsahuje volitelný rozsah zasílaných dat. Odpověď obsahuje kopii dat odeslaných v žádosti. Ping a odpověď s ním spojená lze použít k testování dostupnosti dosažitelného cíle a odezvy.

Vzhledem k tomu, že požadavek i odpověď jsou odesílány v IP datagramech, úspěšné přijetí požadavku potvrzuje, že systém funguje správně. K tomu musí být splněny následující podmínky:

  • Zdrojový IP software musí směrovat datagram;
  • Cílová a zdrojová mezilehlá brána musí být spuštěna a musí správně směrovat datagram;
  • Na cílovém počítači musí být spuštěn a spuštěn software ICMP i IP;
  • Trasy u bran na zpáteční cestě musí být správné.

Jak to funguje?

Provoz protokolů ARP a ICMP spolu úzce souvisí. Kdykoli chyba brání bráně ve směrování nebo doručení datagramu, odešle zprávu o nedosažitelnosti cíle zpět do zdrojového kódu a poté datagram zahodí. Neopravitelné síťové problémy obvykle zahrnují selhání přenosu dat. Protože zpráva obsahuje krátkou předponu datagramu způsobujícího problém, zdroj přesně ví, která adresa je nedostupná. Cíl nemusí být dostupný, protože hardware je dočasně mimo provoz, odesílatel nahlásil cílovou adresu, která neexistuje, nebo protože brána nemá cestu do cílové sítě.

Přestože brány odesílají neúspěšné zprávy do svých cílů, pokud nejsou schopny směrovat nebo doručovat datagramy, ne všechny takové chyby mohou být detekovány. Pokud datagram obsahuje parametr zdrojové trasy s nesprávnými daty, může vyvolat chybovou zprávu o zdrojové trase.




Nahoru