Курс лекций по дисциплине «Информационные сети»

Вид материалаКурс лекций

Содержание


Глава 6 ARP и RARP
Рисунок 6.3. Отправитель не может обнаружить МАС-адрес получателя в своей ARP-таблице
Рисунок 6.8. Каждый компьютер в сети содержит ARP-таблицу
Маршрутизаторы и ARP-таблицы
Подобный материал:
1   2   3   4   5   6

Глава 6 ARP и RARP


В этой главе:
  • Что такое ARP
  • ARP-запросы, ARP-таблицы, ARP-ответы и кадры ARP-запросов
  • Обновление ARP-таблиц RARP
  • RARP-серверы, RARP-запросы и кадры RARP-ответов
  • Какие межсетевые устройства имеют ARP-таблицы
  • Определение шлюза по умолчанию

Введение

В главе 5 "IP-адресация", говорилось, что в Internet каждая сеть видит другую как одну отдельную сеть и не имеет сведений о ее внутренней структуре Таким образом, устройства из внешних сетей видят только номера сети и хоста устройства, находящегося в другой сети С точки зрения внутренней структуры сеть может рассматриваться как группа небольших сетей, называемых подсетями IP-адреса устройств представляют собой совокупность номеров сети, подсети и хоста. Для адресации подсетей используются уникальные 32-битовые адреса, которые создаются путем заимствования битов из поля хоста Адреса подсетей видимы для других устройств этой же сети, но невидимы для внешних сетей, поскольку подсети используют специальные маски, называемые масками подсети .

В этой главе будет рассказано о том, каким образом устройства в локальных вычислительных сетях используют протокол преобразования адреса (Address Resolution Protocol, ARP) .. перед отправкой данных адресату Будет рассказано, что происходит, если устройство из одной сети не знает МАС-адрес устройства в другой сети Также будет рассмотрен протокол обратного преобразования адреса (Reverse Address Resolution Protocol, RARP), который используется устройствами, если они не знают собственных IP-адресов.

ARP

Протоколы определяют, передаются ли данные через сетевой уровень к верхним уровням эталонной модели OSI В основном, для того чтобы это произошло, необходимо, чтобы пакет данных содержал MAC-и IP-адрес пункта назначения Если в пакете данных отсутствует один из этих адресов, данные не будут переданы на верхние уровни Таким образом, MAC- и IP-адрес служат для своего рода проверки и дополнения друг друга

Когда отправитель определил IP-адрес получателя (рис 6 1), он смотрит в свою ARP-таблицу, для того чтобы узнать его МАС-адрес Если источник обнаруживает, что MAC-и IP-адрес получателя присутствуют в его таблице, он устанавливает соответствие между ними, а затем использует их в ходе инкапсуляции данных После этого пакет данных по сетевой среде отправляется адресату (рис 6. 2)



Рисунок 6.1 Источник сверяется со своей ARP-таблицей после того, как определит IP-адрес пункта назначения



Рисунок 6.2. Данные принимаются получателем, после того как установлено соединение между МАС и IP адресами и инкапсулированы данные

ARP-запросы

В примере, показанном на рис. 6.3, отправитель хочет отправить данные другому устройству. Он знает IP-адрес получателя, но МАС-адрес получателя в его ARP-таблице отсутствует. Поэтому устройство инициирует процесс, называемый ARP-запросом, который позволяет определить этот МАС-адрес. Сначала устройство создает пакет ARP-запроса и посылает его всем устройствам в сети. Для того чтобы пакет ARP-запроса был замечен всеми устройствами в сети, источник использует МАС-адрес широковещания. Адрес широковещания, используемый в схеме МАС-адресации, имеет значение F во всех разрядах. Таким образом, МАС-адрес широковещания имеет вид FF-FF-FF-FF-FF-FF.



Рисунок 6.3. Отправитель не может обнаружить МАС-адрес получателя в своей ARP-таблице


APR-запросы структурированы определенным образом. Поскольку протокол APR функционирует на нижних уровнях эталонной модели OSI, сообщение, в которых содержится APR-запрос, должно быть инкапсулировано внутри кадра протокола аппаратных средств. Таким образом, кадр APR-запроса состоит из двух частей: заголовка и APR-сообщения (рис 6.4). Кроме того, заголовок кадра может быть затем разделен на МАС- и IP-заголовок (рис 6.5)




Рисунок 6.4. Кадр APR-запроса состоит из заголовка и APR’-сообщения




Рисунок 6.5. Заголовок кадра состоит МАС- и IP-заголвка

ARP-ответы

Поскольку пакет ARP-запроса посылается в режиме широковещания, его принимают все устройства в локальной сети и передают для анализа на сетевой уровень. Если IP-адрес устройства соответствует IP-адресу пункта назначения, содержащемуся в ARP-запросе, устройство откликается путем отправки источнику своего МАС-адреса. Этот процесс называется ARP-ответом. В примере, показанном на рис. 6.3, источник 197.15.22.33 запрашивает МАС-адрес получателя, имеющего IP-адрес 197.15.22.126. Получатель 197.15.22.126 принимает ARP-запрос и откликается путем отправки ARP-ответа, содержащего его МАС-адрес.



Рисунок 6.6. Структура APR-ответа включает МАС- и IP-заголовок, а также сообщение APR-ответа

Когда устройство, создавшее APR-запрос, получает ответ, оно извлекает МАС-адрес из МАС-заголовка и обновляет свою APR-таблицу. Теперь, когда устройство имеет нужную ему информацию, оно может добавить к данным МАС- и IP-адрес пункта назначения. Устройство использует эту новую структуру кадра для инкапсуляции данных перед отправкой их по сети (рис 6.7).

Когда данные достигают адресата, производится сравнение на канальном уровне. Канальный уровень убирает МАС-заголовок и передает данные на следующий уровень эталонной модели OSI-сетевой. Сетевой уровень анализирует данные и обнаруживает, что его IP-адрес соответствует IP-адресу назначения, содержащемуся в IP-заголовке данных. Сетевой уровень убирает IP-заголовок и передает данные следующему более высокому уровню – транспортному (уровень 4). Этот процесс повторяется, пока остаток пакета не достигнет приложения, где данные будут прочитаны.



Рисунок 6.7. Перед отправкой данных через сеть данные инкапсулируются с использованием новой структуры кадра.

ARP-таблицы

Любое устройство в сети, принимающее широковещательный ARP-запрос, видит содержащуюся в нем информацию. Устройства используют информацию от источника для обновления своих таблиц. Если бы устройства не содержали ARP-таблиц, процесс создания ARP-запросов и ответов имел бы место каждый раз, когда устройство хотело передать данные другому устройству в сети. Это было бы чрезвычайно неэффективно и могло бы привести к слишком большому трафику в сети. Чтобы избежать этого, каждое устройство имеет свою ARP-таблицу.

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

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



Рисунок 6.8. Каждый компьютер в сети содержит ARP-таблицу

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

RARP

Как было сказано выше, для того, чтобы сетевое устройство могло отправить данные на уровень 4 (транспортный) эталонной модели OSI, необходимы и MAC-, и IP-адрес. Таким образом, MAC- и IP-адрес служат для проверки и дополнения друг друга. Чтобы получатель, принимающий данные, знал, кто их отправил, пакет данных должен содержать MAC-и IP-адреса источника. А что произойдет, если источник знает свой МАС-адрес, но не знает своего IP-адреса? Протокол, который используют устройства, если не знают своего IP-адреса, называется протоколом обратного преобразования адреса (Reverse Address Resolution Protocol, RARP). Как и ARP, RARP связывает МАС-адреса с IP-адресами, чтобы сетевое устройство могло использовать их для инкапсуляции данных перед отправкой в сеть. Для использования данного протокола в сети должен присутствовать RARP-сервер, отвечающий на RARP-запросы (рис 6.9).

RARP-запросы

Представим, что источник хочет послать данные другому устройству. Однако источник знает свой МАС-адрес, но не может обнаружить собственный IP-адрес в своей ARP-таблице. Чтобы получатель мог оставить у себя данные, передать их на верхние уровни эталонной модели OSI и распознать устройство, которое отправило данные, источник должен включить в пакет данных свои MAC- и IP-адреса. Поэтому источник инициирует процесс, называемый RARP-запросом, позволяющий ему определить собственный IP-адрес. Для этого устройство создает пакет RARP-запроса и посылает его в сеть. Для того чтобы пакет ARP-запроса был замечен всеми устройствами в сети, источник использует IP-адрес широковещания.

RARP-запросы имеют такую же структуру, как и ARP-запросы (рис. 6.10). Следовательно, RARP-запрос состоит из MAC- и IP-заголовка, а также сообщения RARP-запроса. Единственное отличие в формате RARP-пакета заключается в том, что заполнены МАС-адреса источника и получателя, а поле IP-адреса источника — пустое. Поскольку сообщение передается в режиме широковещания, т.е. всем устройствам в сети, адрес назначения записывается в виде всех двоичных единиц.



Рисунок 6.9. Для ответов на RARP-запросы необходим RARP-сервер




Рисунок 6.10. АКР- и RARP-запросы и имеют одинаковую структуру


Так как RARP -запрос посылается в режиме широковещания, его видят все устройства в сети. Однако только специальный RARP-сервер может отозваться на RARP-запрос. RARP-сервер служит для отправки RARP-ответа, в котором содержится IP-адрес устройства, создавшего RARP-запрос.

RARP-ответы

RARP-ответы имеют такую же структуру, как и ARP-ответы. RARP-ответ состоит из сообщения RARP-ответа, MAC- и IP-заголовка. Когда устройство, создавшее RARP-запрос, получает ответ, оно обнаруживает свой IP-адрес. На рис. 6.11 показано, что происходит в ситуации, когда сервер с IP-адресом 197 .15.22.126 откликается на IP-запрос от бездисковой рабочей станции с МАС-адресом 08-00-20-67-92-89.

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

Маршрутизаторы и ARP-таблицы

Ранее говорилось, что порт или интерфейс, с помощью которого маршрутизатор подключен к сети, рассматривается как часть этой сети. Следовательно, интерфейс маршрутизатора, подключенный к сети, имеет тот же IP-адрес, что и сеть (рис. 6.12). Поскольку маршрутизаторы, как и любые другие устройства, принимают и отправляют данные по сети, они также строят ARP-таблицы, в которых содержатся отображения IP-адресов на МАС-адреса.



Рисунок 6.11. RARP-сервер откликается на IP запрос от рабочей станции с МАС-адресом 08-00-20-67-92-89



Рисунок 6.12. IP-адреса приводятся в соответствие с МАС-адресами с помощью ARP-таблиц.


Маршрутизатор может быть подключен к нескольким сетям или подсетям. Вообще, сетевые устройства имеют наборы только тех МАС- и IP-адресов, которые регулярно повторяются. Короче говоря, это означает, что типичное устройство содержит информацию об устройствах своей собственной сети. При этом об устройствах за пределами собственной локальной сети известно очень мало. В то же время маршрутизатор строит таблицы, описывающие все сети, подключенные к нему. В результате ARP-таблицы маршрутизаторов могут содержать МАС- и IP-адреса устройств более чем одной сети (6.13). Кроме карт соответствия IP-адресов МАС адресам в таблицах маршрутизаторов содержатся отображение портов (рис. 6.14)

Что происходит если пакет данных достигает маршрутизатора, который не подключен к сети назначения пакета? Кроме МАС и IP-адресов устройств тех сетей, к которым подключен данный маршрутизатор, он еще содержит МАС- и IP-адреса других маршрутизаторов. Маршрутизатор использует эти адреса для направления данных конечному получателю (рис.6.15). При получении пакета, адрес назначения которого отсутствует в таблице маршрутизации, маршрутизатор направляет этот пакет по адресам других маршрутизаторов, которые, возможно, содержат в своих таблицах маршрутизации информацию о хост-машине пункта назначения.



Рисунок 6.13. APR-таблица, построенная маршрутизатором




Рисунок 6.14. Порты также заносятся в таблицу маршрутизации


Шлюз по умолчанию

Если источник расположен в сети с номером, который отличается от номера сети назначения, и источник не знает МАС-адрес получателя, то для того, чтобы доставить данные получателю, источник должен воспользоваться услугами маршрутизатора. Если маршрутизатор используется подобным образом, то его называют шлюзом по умолчанию (default gateway). Чтобы воспользоваться услугами шлюза по умолчанию, источник инкапсулирует данные, помещая в них в качестве МАС-адреса назначения МАС-адрес маршрутизатора. Так как источник хочет доставить данные устройству, а не маршрутизатору, то в заголовке в качестве IP-адреса назначения используется IP-адрес устройства, а не маршрутизатора (рис. 6.16). Когда маршрутизатор получает данные, он убирает информацию канального уровня, использованную при инкапсуляции. Затем данные передаются на сетевой уровень, где анализируется IP-адрес назначения. После этого маршрутизатор сравнивает IP-адрес назначения с информацией, которая содержится в таблице маршрутизации. Если маршрутизатор обнаруживает отображение IP-адреса пункта назначения на соответствующий МАС-адрес и приходит к выводу, что сеть назначения подключена к одному из его портов, он инкапсулирует данные, помещая в них информацию о новом МАС-адресе, и передает их по назначению.



Рисунок 6.15. Данные переправляются маршрутизатором к пункту их назначения



Рисунок 6.16. Для доставки данных используются IP-адрес пункта назначения

Резюме
  • Все устройства в локальной сети должны следить за ARP-запросами, но только те устройства, чей IP-адрес совпадает с IP-адресом, содержащимся в запросе, должны откликнуться путем сообщения своего MAC-адреса устройству, создавшему запрос.
  • Если IP-адрес устройства совпадает с IP-адресом, содержащимся в ARP-запросе, устройство откликается, посылая источнику свой МАС-адрес. Эта процедура называется ARP-ответом.
  • Если источник не может обнаружить МАС-адрес пункта назначения в своей ARP-таблице, он создает ARP-запрос и отправляет его в широковещательном режиме всем устройствам в сети.
  • Если устройство не знает собственного IP-адреса, оно использует протокол RARP.
  • Когда устройство, создавшее RARP-запрос, получает ответ, оно копирует свой IP-адрес в кэш-память, где этот адрес будет храниться на протяжении всего сеанса работы.
  • Маршрутизаторы, как и любые другие устройства, принимают и отправляют данные по сети, поэтому они также строят ARP-таблицы, в которых содержатся отображения IP-адресов на МАС-адреса.
  • Если источник расположен в сети с номером, который отличается от номера сети назначения, и источник не знает МАС-адрес получателя, то для того, чтобы доставить данные получателю, источник должен использовать маршрутизатор в качестве шлюза по умолчанию.