Jste zde

Konfigurace IP adresy přes TCP/IP

Popis funkce ARP protokolu a možnosti, jak jím nastavit IP adresu cílového zařízení, připojeného v lokální síti.

Každé zařízení  v ethernet síti (např. síťová karta) má od výrobce přidělenu 6. bytovou MAC adresu, složenou z kódu výrobce a sériového čísla karty. MAC adresa by měla být unikátní, v praxi však musí být unikátní pouze v rámci jedné ethernet sítě. Linková vrstva komunikačních protokolů podle MAC adres distribuuje pakety mezi jednotlivými zařízeními nebo segmenty v lokální síti, aniž by se starala o jejich IP adresu, protože to je starost vyšších vrstev komunikačního protokolu.  

ARP – (Address Resolution Protocol


ARP je standardní součástí sady TCP/IP protokolů.  Detailní popis protokolu najdete v dokumentu RFC826 (An Ethernet Address Resolution Protocol). Všechny potřebná RFC najdete na Internetu nebo na Web51 CD, které dodáváme s plnou verzí systému Web51.  Protokol ARP řeší problém zjištění MAC adresy, potřebné pro adresaci v
sítích Ethernet, ze známé IP adresy. Metoda je jednoduchá, používá se zde důsledně distribované řešení, kdy každý odpovídá pouze za sebe. Potřebujeme-li zjistit MAC adresu z IP
adresy, pošleme všem stanicím na Ethernetu linkový oběžník s broadcast adresou (0xFFFFFFFFFFFF) se zprávou obsahující IP adresu hledané stanice a požadavkem na sdělení MAC adresy. Stanice, která detekuje v požadavku svoji IP adresu, odpoví paketem obsahujícím požadovanou MAC adresu. Pro správnou činnost každé zařízení potřebuje obě části, musí
umět jak přijmout ARP požadavek a odpovědět na něj, tak se umět zeptat na MAC adresu protistanice a zpracovat odpověď. Podrobné popisy implementace ARP jsou uvedeny v dokumentaci. 
V některé literatuře se MAC adrese říká linková. 

 K čemu je vlastně ARP potřebný? Algoritmy sestavení ethernetových paketů na první pohled vypadají složitě, nicméně lze říci, že linková vrstva vezme připravený IP packet, a pokud zná MAC adresu adresáta, doplní ji do paketu, přidá svoji MAC adresu, … a celé to odešle do ethernetu. Nezná-li MAC adresu adresáta a je-li adresa adresáta ze stejné sítě jako adresa odesílatele, tak použije ARP protokol ke zjištění MAC adresy ze známé IP adresy adresáta. Složitější je situce v případě, že cílové zařízení není v lokálním síťovém segmentu. IP pakety nejsou posílány přímo, ale přes Gateway. Do výsledného ethernetového paketu proto není doplněna MAC adresa adresáta, kterou samozřejmě neznáme, vloží se proto pouze MAC adresa Gateway coby prostředníka.

Známe-li MAC adresu zařízení a potřebujeme-li mu sdělit jeho IP adresu, můžeme použít ke konfiguraci BOOTP či DHCP protokol, oba však požadují mít v síti příslušný server obsahující potřebná konfigurační data. Nicméně existuje i poměrně jednoduchá možnost, jak s jednoduchými prostředky, obsaženými i např. ve Windows dosáhnout stejného cíle.
 

Konfigurace IP adresy pomocí ARP + PING


Jak již bylo uvedeno výše, pro správnou funkci IP protokolu na na úrovni ethernetu je nutné znát jeho MAC adresu. Mimo dynamického zjištění MAC adresy za pomoci ARP protokolu je možné u většiny operačních systémů obejít prohledávání sítě pomocí ARP dotazů přidáním statických položek do ARP tabulky. Přidáme-li např. pomocí příkazu 

arp –s 192.168.0.77 00-00-E8-EE-10-34

(kde 192.168.0.77 je požadovaná IP adresa, 00-00-E8-EE-10-34 je MAC adresa např. zjištěná z výrobního štítku)
statickou položku, je možné jednoduše pomocí příkazu

ping 192.168.0.77

pingnout zařízení s MAC adresou 00-00-E8-EE-10-34

Uvedený ping na MAC adresu lze využít pro nastavení IP adresy zařízení pokud je konfigurující i konfigurované zařízení v jedné síti ethernet.

Tímto postupem jsme nejdříve do tabulky na ovládacím počítači napevno nastavili MAC adresu která náleží IP adrese zařízení. Jakýmkoli IP paketem je nyní možné IP adresu zařízení nastavit. V našem případě je použita utilita PING, která je nejrozšířenější součástí ICMP (Internet Control Message Protocol). Pevným přidělením IP adresy v tabulce obejdete právě počáteční zjištění MAC adresy cílového zařízení pomocí výše popsaného mechanizmu ARP protokolu. Paket je tak odeslán do konfigurovaného zařízení přímo na nastavenou MAC adresu. Konkrétně při konfiguraci Web51 odpoví první dva pingy ze standardní série čtyř opakování, že zařízení nebylo nalezeno, protože po detekci IP adresy ji firmware Web51 uloží a zresetuje zařízení. Zpravidla 3. ping však již od Web51 obdrží korektní odpověď což znamená, že bylo provedeno korektní nastavení IP adresy.

Web51 obsahuje podporu tohoto postupu nastavení, ale IP adresu je možné tímto způsobem nastavit pouze jednou, je-li výchozí IP nastavena na 0.0.0.0. Pokud je jakákoli jiná adresa již uložena je potřeba provést softwarový reset nastavení (který mimo jiné nastaví IP adresu na nuly), což se provádí zapojením loopbacku na rozhraní RS 232, zapnutím napájení a po cca 1 sekundě odpojením loopbacku. Není-li nastavena IP adresa, zařízení očekává zaslání ICMP paketu (používaného příkazem ping) s MAC adresou shodnou s MAC adresou nastavenou v EEPROM Web51. ICMP paket v sobě nese i údaj o IP adrese adresáta, tj. v tomto případě IP adrese Web51. Přijatá IP adresa je tedy zkopírována na příslušná místa konfiguraci a v předpřipravených zprávách a Web51 se zresetuje a korektně spouští. 

Po nastavení IP adresy, je možno dokončit nastavení ostatních parametrů přes WWW rozhraní, pomocí příslušných SETUP stránek konfigurovaného zařízení. 

Hodnocení článku: