RARP: Обратный протокол разрешения адресов

Что делать, если ваш собственный компьютер не знает своего IP-адреса, например, из-за отсутствия памяти? В таких случаях может помочь протокол обратного разрешения адресов (RARP). RARP — это аналог ARP — протокола разрешения адресов.

В настоящее время обратный ARP считается устаревшим и неактуальным. Более новые протоколы, такие как Bootstrap Protocol (BOOTP) и Dynamic Host Configuration Protocol (DHCP), заменили RARP. Однако полезно быть знакомым и с более старой технологией. Например, и сегодня можно найти некоторые приложения, работающие с RARP. Знакомство со старой технологией также полезно для того, чтобы лучше понять технологию, которая была создана на ее основе.

Что такое RARP?

RARP — это протокол, который был опубликован в 1984 году и включен в стек протоколов TCP/IP. RARP находится на уровне сетевого доступа (т.е. на самом нижнем уровне стека протоколов TCP/IP) и, таким образом, является протоколом, используемым для отправки данных между двумя точками в сети. Каждый участник сети имеет два более или менее уникальных адреса: логический адрес (IP-адрес) и физический адрес (MAC-адрес). В то время как IP-адрес назначается программным обеспечением, MAC-адрес встроен в аппаратное обеспечение. Производитель вашей сетевой карты уже присвоил вам адрес Media Access Control (MAC-адрес).

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

Как работает RARP?

Кто знает IP-адрес участника сети, если он сам его не знает? Это делает специальный сервер RARP. Этот сервер, отвечающий на запросы RARP, может быть и обычным компьютером в сети. Однако он должен хранить все MAC-адреса с присвоенными им IP-адресами. Если участник сети посылает в сеть RARP-запрос, только эти специальные серверы могут ответить на него.

Поскольку запрашивающий участник не знает своего IP-адреса, пакет данных (т.е. запрос) должен быть отправлен на самые нижние уровни сети как широковещательный. Это означает, что пакет отправляется всем участникам одновременно. Однако ответит только сервер RARP. Если таких серверов несколько, запрашивающий участник будет использовать только тот ответ, который будет получен первым. Формат запроса-ответа имеет структуру, аналогичную ARP.

В соответствующих полях содержится следующая информация:

  • Аппаратное адресное пространство: Эти два байта содержат тип аппаратного адреса.
  • Адресное пространство протокола: В этом поле длиной 2 байта указывается тип сетевого протокола.
  • Длина аппаратного адреса: Это поле длиной 8 бит определяет длину n аппаратного адреса.
  • Длина адреса протокола: Это поле определяет длину m сетевого адреса.
  • Опкод: Это поле имеет длину два байта и определяет тип операции. Запрос RARP имеет значение 3, а соответствующий ответ — значение 4.
  • Аппаратный адрес источника: Здесь хранится MAC-адрес отправителя. Фактическая длина этого поля равна n и определяется информацией в разделе Длина аппаратного адреса. Стандартная сеть Ethernet состоит из 6 байт.
  • Адрес протокола источника: Это поле обычно содержит IP-адрес отправителя, но поскольку IP-адрес не известен во время запроса, поле остается неопределенным. Ответ, однако, будет содержать IP-адрес сервера. Длина этого поля m зависит от длины адреса протокола. Обычно, однако, длина поля равна длине адреса IPv4 (т.е. 4 байта).
  • Аппаратный адрес цели: Это поле содержит MAC-адрес цели. Поскольку для запроса RARP не существует конкретной цели, это поле также содержит адрес отправителя. Сервер также включает в ответ адрес запрашивающего клиента. Длина этого поля также равна n и составляет 6 байт для сетей Ethernet.
  • Адрес целевого протокола: Это последнее поле остается неопределенным во время запроса и содержит в ответе информацию, запрошенную сервером: IP-адрес участника. Длина этого поля также m, которая обычно определяется как 4 байта.

Между ARP и RARP существуют важные различия. В первую очередь, конечно, эти два протокола явно различаются по своим спецификациям. Если в запросе RARP известен MAC-адрес и запрашивается IP-адрес, то запрос ARP является прямо противоположным. IP-адрес известен, а MAC-адрес запрашивается. Эти два протокола также отличаются по содержанию их операционных полей: ARP использует значение 1 для запросов и 2 для ответов. RARP, с другой стороны, использует значения 3 и 4. Это означает, что сервер может распознать ARP или RARP по коду операции.

Проблемы с обратным ARP

Обратный протокол разрешения адресов имеет некоторые недостатки, которые в конечном итоге привели к тому, что он был заменен более новыми. Для успешного использования протокола необходимо, чтобы сервер RARP находился в той же физической сети. Компьютер посылает запрос RARP на самом нижнем уровне сети. В результате маршрутизатор не может переслать пакет. Кроме того, RARP не может обрабатывать подсети, поскольку не отправляются маски подсетей. Если сеть разделена на несколько подсетей, сервер RARP должен быть доступен в каждой из них.

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

Оцените статью
cdelat.ru
Добавить комментарий