ARP: протокол преобразования адресов
Категория: Сети TCP/IP | Автор: admin | 17-02-2010, 06:59 | Просмотров: 3865

Несмотря на то что идентификация IP-пакетов осуществляется при помощи IP-адресов, для фактической передачи данных через канальный уровень должны применяться аппаратные адреса. Определением того, какой аппаратный адрес связан с данным IP-адресом, занимается протокол ARP (Address Resolution Protocol — протокол преобразования адресов). Его можно применять в сетях любых типов, которые поддерживают широковещательный режим, но чаще всего этот протокол рассматривают в контексте сети Ethernet.

Когда компьютер А хочет послать пакет компьютеру Б, расположенному в том же самом Ethernet-сегменте, он использует протокол ARP для отыскания аппаратного адреса Б. Если Б не находится в той же сети, А с помощью протокола ARP выясняет аппаратный адрес маршрутизатора следующего уровня, которому будут посылаться пакеты, адресованные Б. Так как в ARP применяются широковещательные пакеты, которые не могут выйти за пределы локальной сети, этот протокол позволяет находить только адреса компьютеров, непосредственно подключенных к той же самой сети.

Каждый компьютер хранит в оперативной памяти специальную таблицу, называемую кэшем ARP. Кэш содержит результаты последних ARP-запросов. В нормальных условиях многие адреса, необходимые компьютеру, выявляются вскоре после начальной загрузки, поэтому протокол ARP не оказывает серьезного воздействия на загруженность сети.

Протокол ARP функционирует путем широковещательной рассылки пакета примерно следующего содержания: "Знает ли кто-нибудь аппаратный адрес для 128.138.116.4?" Машина, которую разыскивают, узнает свой адрес и посылает ответ: "Это я, мой Ethernet-адрес — 8:0:20:0:fb:6a".

Исходный запрос содержит IP-адрес и Ethernet-адрес запрашивающей стороны, благодаря чему разыскиваемая машина может ответить, не выдавая собственный ARP-запрос. Таким образом, оба компьютера узнают адреса друг друга всего за один сеанс обмена пакетами. Другие компьютеры, "слышавшие" исходное широковещательное сообщение, посланное инициатором запроса, тоже могут записать информацию о его адресах.

В большинстве систем имеется команда arp, которую можно применять для изучения и обработки содержимого кэша ARP. Она обычно используется для добавления и удаления записей. Команда arp -а отображает содержимое кэша; естественно, в каждой системе у нее свой формат.

Вот примеры выполнения команды arp -а в Solaris и Red Hat:

solaris% /uar/sbin/arp -а 

Net to Media Table

Device   IP Address   Mask            Flags   Phys Addr

hme0     titania      255.255.255.255         00:50: da:6b:b5:90

hme0     earth        255.255.255.255         00:50:da:12:4e:e5

hme0     pluto        255.255.255.255         00:50:da:12:4e:19

 

 

redhat% /sbin/arp -a

xor.com (192.108.21.1)  at 08:00:20:77:5E:AO  [ether] on eth0

earth.xor.com (192.108.21.180)  at 00:50: DA:12:4E:E5  [ether] on eth0

lollipop.xor.com (192.108.21.48) at 08:00:20:79:4F:49 [ether] on eth0

 

Команда arp, как правило, используется в целях отладки и при работе со специальным оборудованием. Некоторые устройства не могут общаться по протоколу ARP (например, сетевые принтеры и специализированные графические мониторы), и для включения их в сеть нужно сконфигурировать другую машину в качестве агента-посредника ARP. Обычно этой цели служит команда arp.

Если два компьютера в сети имеют одинаковый IP-адрес, то на одном из них запись в ARP-таблице будет правильной, а на другом — нет. С помощью команды arp можно найти машину-нарушитель.

Иногда аппаратные адреса нужно транслировать в IP-адреса. Многие специальные аппаратные устройства (бездисковые рабочие станции, сетевые компьютеры, принтеры) делают это во время начальной загрузки. Вместо того чтобы жестко задавать IP-адрес в файле конфигурации, машина может обратиться к центральному серверу, который сообщит ей ее собственный адрес. Обратные преобразования адресов выполняет протокол RARP (Reverse ARP — обратный протокол ARP), который представляет собой устаревшее расширение протокола ARP.

В отличие от ARP, RARP требует, чтобы в каждой сети был запущен центральный серверный процесс. Протокол RARP не предполагает самоконфигурирования; нужно указать явное соответствие между Ethernet-адресами и их IP-эквивалентами. В большинстве систем, которые поддерживают RARP, в качестве процесса выступает демон rarpd, а данные конфигурации извлекаются из файлов /etc/ethers и /etc/hosts.

Протокол RARP в настоящее время практически не используется. Сначала ему на смену пришел протокол ВООТР, а затем — DHCP.


 (голосов: 1)
Версия для печати | Комментариев: 0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.


 
Логин
Пароль
 

 
Locations of visitors to this page