
5.Команда arp
Для визначення локальної адреси по IP-адресі використовується протокол дозволу адреси Address Resolution Protocol, ARP. Протокол ARP працює різним образом залежно від того, який протокол канального рівня працює в даній мережі - протокол локальної мережі (Ethernet, Token Ring, FDDI) з можливістю широкомовного доступу одночасно до всіх вузлів мережі, або ж протокол глобальної мережі (X.25, frame relay), як правило не підтримуючий широкомовний доступ. Існує також протокол, що вирішує зворотне завдання - знаходження IP-адреси по відомій локальній адресі. Він називається реверсивний ARP - RARP (Reverse Address Resolution Protocol) і використовується при старті бездискових станцій, що не знають у початковий момент своєї IP-адреси, але знаючу адресу свого мережного адаптера.
В локальних мережах протокол ARP використовує широкомовні кадри протоколу канального рівня для пошуку в мережі вузла із заданою IP-адресою.
Вузол, якому потрібно виконати відображення IP-адреси на локальну адресу, формує ARP запит, вкладає його в кадр протоколу канального рівня, указуючи в ньому відома IP-адреса, і розсилає запит широкомовно. Всі вузли локальної мережі одержують ARP запит і порівнюють зазначений там IP-адресу із власним. У випадку їхнього збігу вузол формує ARP-відповідь, у якому вказує своя IP-адреса й своя локальна адреса й відправляє його вже направленно, тому що в ARP запиті відправник указує свою локальну адресу. ARP-запити й відповіді використають той самий формат пакета. Тому що локальні адреси можуть у різних типах мереж мати різну довжину, то формат пакета протоколу ARP залежить від типу мережі. На малюнку 3.2 показаний формат пакета протоколу ARP для передачі по мережі Ethernet.
У поле типу мережі для мереж Ethernet указується значення 1. Поле типу протоколу дозволяє використати пакети ARP не тільки для протоколу IP, але й для інших мережевих протоколів. Для IP значення цього поля дорівнює 080016.
Довжина локальної адреси для протоколу Ethernet дорівнює 6 байтам, а довжина IP-адреси - 4 байтам. У поле операції для ARP запитів указується значення 1 для протоколу ARP й 2 для протоколу RARP.
Вузол, що відправляє ARP-запит, заповнює в пакеті всі поля, крім поля шуканої локальної адреси (для RARP-запиту не вказується шукана IP-адреса). Значення цього поля заповнюється вузлом, що пізнав свою IP-адресу.
Відображення й зміна використовуваної протоколом ARP таблиці відповідності адрес IP і фізичних адрес.
Формат команди:
ARP -s inet_addr eth_addr [if_addr]
ARP -d inet_addr [if_addr]
ARP -a [inet_addr] [-N if_addr]
-а Вивід поточних записів таблиці ARP шляхом опитування поточних даних протоколу. Якщо зазначено адресу inet_addr, то адреси IP і фізичні виводяться тільки для зазначеного комп'ютера. Якщо протокол ARP використовується декількома мережними інтерфейсами, то виводяться записи з кожної таблиці ARP.
-g Аналог –a.
inet_addr Завдання адреси IP.
-N if_addr Вивід поточних записів таблиці ARP для мережного інтерфейсу, обумовленого параметром if_addr.
-d Видалення вузла, обумовленого параметром inet_addr.
-s Додавання вузла й зв'язування адреси IP inet_addr з фізичною адресою eth_addr. Фізична адреса задається за допомогою 6 шестнадцатеричних чисел, поділюваних дефісами. Запис є постійною.
eth_addr Завдання фізичної адреси.
if_addr Необов'язковий параметр, що вказує адреса IP інтерфейсу, для якого варто змінити таблицю адрес. Якщо параметр не заданий, використовується перший доступний інтерфейс.
Наприклад:
arp –a … Виводить таблицю arp.
arp –s 176.16.1. 400 00-aa-00-62-c6-09 … Додає статичний запис.