ARP: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Victorz (обговорення | внесок)
Немає опису редагування
Victorz (обговорення | внесок)
Немає опису редагування
Рядок 26:
 
 
ARP-таблиця необхідна тому, що IP-адреси та Ethernet-адреси вибираються незалежно, і немає жодного алгоритму для перетворення однієї в їншу. IP-адресу вибирає менеджер мережі з урахуванням розташування машини у мережі Інтернет. Якщо машину переміщують в іншу частину мережі [[Інтернет]], то її [[IP]]-адреса повинна бути змінена. [[Ethernet]]-адресу вибирає виробник мережного інтерфейсного обладнання з виділеного для нього згідно з ліцензією адресного простору. Якщо у машини змінюється мережний адаптер, то міняється і [[Ethernet]]-адреса.
 
===Порядок перетворення адрес===
У ході звичайної роботи мережна програма відпраляє прикладне повідомлення, користуючись транспортними послугами [[TCP]]. Модуль [[TCP]] посилає відповідне транспортне повідомлення через модуль [[IP]]. В результаті, складається [[IP]]-пакет, який має бути переданий драйверу Ethernet. [[IP]]-адреса місця призначення відома прикладній програмі, модулю [[TCP]] та модулю [[IP]]. Необхідно на її основі знайти Ethernet-адресу місця призначення. Для пошуку відповідної [[[Ethernet]]-адреси використовується ARP-таблиця.
 
===Запити та відповіді протоколу ARP===
ARP-таблиця заповнюється автоматично модулем ARP по мірі необхідності. Коли за допомогою існуючої ARP-таблиці не вдається перетворити [[IP]]-адресу, то відбувається наступне:
 
# По мережі передається широкомовний ARP-запит.
# Вихідний [[IP]]-пакет ставиться в чергу.
 
Кожний мережний адаптер приймає широкомовні передачі. Усі драйвери [[Ethernet]] перевіряють поле типу в прийнятому Ethernet-кадрі й передають ArpARP-пакети модулю ARP. ArpARP-запит можна інтерпретувати так: "Якщо ваша Ip[[IP]]-адреса збігається із зазначеною, то повідомитеповідомте мені вашу [[Ethernet]]-адресу". Пакет ArpARP-запиту виглядає приблизно так:
 
{| align="center" class="standard" border="1" cellpadding="2"
Рядок 56:
|}
 
Кожний модуль ARP перевіряє поле шуканої Ip[[IP]]-адреси в отриманому ARP-пакеті і, якщо адреса збігається з його власною IP-адресою, то посилає відповідь прямо за [[Ethernet]]-адресою відправника запиту. Пакет з ARP-відповіддю виглядає приблизно так:
 
{| align="center" class="standard" border="1" cellpadding="2"
Рядок 75:
|}
 
Цю відповідь одержує машина, що зробила ARP-запит. Драйвер цієї машини перевіряє поле типу в [[Ethernet]]-кадрі й передає ARP-пакет модулю ARP. Модуль ARP аналізує ARP-пакет і додає запис у свою ARP-таблицю.
Якщо в мережі немає машини із шуканою [[IP]]-адресою, то ARP-відповіді не буде й не буде запису в ARP-таблиці. Протокол [[IP]] буде знищувати IP-пакети, що направляються по цій адресі. Протоколи верхнього рівня не можуть відрізнити випадок пошкодження мережі Ethernet від випадку відсутності машини із шуканим IpIP- Адресоюадресою.