Сделай Сам Свою Работу на 5

Работа ARP протокола, когда отправитель и получатель расположены в одной сети

Чтобы передать какие-либо данные, компьютер А должен обратиться к компьютеру В по его IP-адресу, например 192.168.0.145 (на компьютере А вводится команда ping 192.168.0.145, в результате чего на компьютер В будет послан эхо-запрос). Однако по физическому каналу данные передаются в кадре Ethernet, в заголовке которого должен быть указан МАС-адрес компьютера, а не IP-адрес. Соответствия между IP-адресами и МАС-адресами компьютеров одной сети хранятся в таблице протокола ARP, расположенной в специальной области памяти каждого компьютера, причем эти соответствия (записи) могут быть статическими и динамическими. Статические записи вводятся администратором и хранятся до перезагрузки компьютера, а динамические определяются с помощью протокола ARP и хранятся в течение некоторого времени. В операционных системах Windows по умолчанию это время равно двум минутам для невостребованных записей и десяти минутам для записей, к которым было обращение. Для просмотра таблицы ARP компьютера служит командааrр-а, а для удаления всех записей из таблицы ARP (очистки таблицы) используется команда аrр -d.

 

Работа ARP протокола, когда отправитель и получатель расположены в разных сетях.

Для примера работы ARP- протокола возьмем те же два компьютера А- отправитель (192.168.0.125, 00-02-44-63-D3-87) и компьютер В(192.168.0.145, 00-80-48-B7-BD-73) и компьютер C- получатель (195.5.20.10), который находится в удаленной сети по отношению к этим 2ум компьютерам.

 

При обращении компьютера А к компьютеру С, например, при вводе на компьютере А команды ping -n, компьютер А действует следующим образом.

Сначала компьютер А определяет, в какой сети - локальной или удаленной - находится компьютер С. Для этого он "накладывает" стандартную маску подсети класса С 255.255.255.0 на свой IP-адрес 192.168.0.125 и получает результат 192.168.0.0. Затем он "накладывает" ту же маску на IP-адрес компьютера-получателя 195.5.20.10 и получает результат 195.5.20.0. Т.к. результаты этих двух операций различны, компьютер А делает вывод о том, что компьютер С находится в другой сети и передачу данных нужно выполнить через шлюз (компьютер В).

Затем компьютер А должен послать кадр Ethernet с эхо-запросом, указав в заголовке вложенного в этот кадр пакета ICMPIP-адрес компьютера-получателя 195.5.20.10, а в заголовке кадра Ethernet - МАС-адрес шлюза, т.е. компьютера В(а не МАС-адрес компьютера-получателя), т.к. сначала кадр по сети Ethernet должен достигнуть шлюза. Следовательно, компьютер А должен знать МАС-адрес шлюза, но в настройках TCP/IP компьютера указывается не МАС-адрес, а IP-адрес шлюза. Если компьютер А недавно обращался к шлюзу, то МАС-адрес шлюза может находиться в таблице ARP компьютера А. Если же компьютер А после начальной загрузки еще не обращался к шлюзу или обращался к нему давно и соответствующая динамическая запись соответствия "IP-адрес - МАС-адрес" уже удалена, то таблица ARP компьютера А не будет содержать МАС-адреса шлюза (если только он не введен туда администратором вручную). В этом случае компьютер А должен выяснить МАС-адрес шлюза с помощью протокола ARP.

После определения МАС-адреса шлюза компьютер А посылает эхо-запрос компьютеру С. Этот эхо-запрос поступает на компьютер В, который, выполняя функцию маршрутизатора, направляет эхо-запрос компьютеру С через внешнюю сеть.

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

 

Кэширование запросов ARP

Чтобы уменьшить накладные расходы, программы, использующие ARP, должны кэшировать ответы на несколько последних сделанных запросов, содер­жащих информацию об IP-адресах и соответствующих им физических адресах. Другими словами, как только программа получает ответ на посланный ARP- запрос, она сохраняет IP-адрес и соответствующий ему физический адрес в ло­кальной памяти компьютера для дальнейшего использования. Перед отправкой нового ARP-запроса программа всегда сначала просматривает кэш-память. Если нужное соответствие адресов найдено, широковещательныйARP-запрос в сеть не посылается. Таким образом, если двум компьютерам в сети нужно обменяться информацией, они вначале шлют друг другу широковещательные ARP-запросы. После получения ответа все последующие передачи пакетов выполняются уже напрямую, без предварительных ARP-запросов. Опыт эксплуатации сетей пока­зывает, что, поскольку в большинстве сеансов обмена информацией пересылает­ся более одного пакета данных, использование кэш-памяти даже небольшого размера уже имеет смысл.[ 3 ]

 

Тайм-аут кэширования запросов ARP

Рассмотренный в предыдущем разделе механизм кэширования запросов ARP представляет собой один из примеров применения технологии систем с неустой­чивым состоянием (soft state). Эта технология широко используется в сетевом программном обеспечении. Ее название говорит о том, что возможны ситуации, когда информация, содержащаяся у клиента, устаревает, а он об этом даже ни­чего не подозревает, поскольку никакие уведомления он не получает. Возвраща­ясь к ARP, давайте рассмотрим две машины, А и В, подключенные к сети Eth­ernet. Предположим, что машина А посылает ARP-запрос, на который машина В отвечает и после этого выходит из строя. При этом машина А не получит уве­домления о том, что с машиной В что-то случилось. Более того, поскольку в кэш-памяти ARP-запросов машины А находится адресная привязка для машины В, машина А будет продолжать напрямую посылать пакеты машине В. В аппа­ратном обеспечении Ethernet не предусмотрены средства для контроля за со­стоянием машины В, поскольку в технологии Ethernet отсутствует механизм га­рантированной доставки пакетов. Поэтому машина А не располагает средствами, позволяющими установить момент, когда информация, хранящаяся в ее кэш­памяти ARP-запросов, не соответствует действительности.

Таким образом, в системах с неустойчивым состоянием ответственность за достоверность информации возложена на владельцев этой информации. На прак­тике это означает, что в сетевых программах, реализующих подобные системы, используются специальные таймеры, определяющие интервал времени, в течение которого информация считается достоверной. По истечении установленного вре­мени какая бы то ни было информация о состоянии системы удаляется из кэш­памяти. Например, после того, как информация об адресной привязке помещена в кэш-память ARP-запросов, протокол ARP требует, чтобы программа установи­ла значение таймера, равное, как правило, 20 минутам. По истечении установ­ленного времени информация из кэш-памяти должна быть удалена. После этого события могут развиваться по одному из двух сценариев. Во-первых, если ника­кие пакеты больше не будут посылаться получателю, проблема решается сама собой. Во-вторых, если получателю нужно отправить пакет, а в кэш-памяти за­данная адресная привязка отсутствует, программа выполняет обычную процеду­ру посылки широковещательного ARP-запроса и обработки его ответа. Если к этому моменту машина получателя возобновила работу, информация об адресной привязке снова помещается в кэш-память ARP-запросов отправителя. Если же нет, отправитель отмечает тот факт, что машина получателя недоступна. [4]

 

Список литературы:

[1] - http://cs.nyu.edu/courses/fall98/G22.2262-001/class6.txt

[2] – RFC 826 http://www.protocols.ru/files/RFC/RFC826.pdf

[3] – Д. КеймерTCP/IP

[4] - http://www.kantarimm.ru/tajmaut_kyeshirovaniya_zaprosov_arp

[5] – Cisco http://infocisco.ru/network_model_encapsulation_pdu.html

[6] – Семенов Ю. лекция 14

Компьютерные сети. Построение таблицы маршрутизации



©2015- 2017 stydopedia.ru Все материалы защищены законодательством РФ.