Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Отображение физических адресов на IР-адреса

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

Разработчики протоколов TCP/IP нашли конструктивное решение проблемы разрешения адресов для сетей, которые имеют возможность широковещания. Этим решением стал Протокол Разрешения Адресов - ARP (Address Resolution Protocol), определённый в документе RFC-826 (Request For Comment). Этот протокол является как эффективным, так и лёгким для реализации, и позволяет добавлять машины к сети без перекомпиляции кода и без создания центральной базы данных. Фактически, ARP преобразует произвольные IP -адреса в произвольные физические адреса (сетевые и локальные), и тем самым избавляет приложения от необходимости знать что-либо о физических адресах. Проще говоря, ARP ведет таблицу соответствия между IP -адресами и физическими адресами, называемую таблицей ARP.

АRР -таблица необходима потому, что IP -адреса и МAС -адреса выбираются независимо друг от друга, и нет какого-либо алгоритма для преобразования одного в другой. Эти таблицы обычно строятся динамически и хранятся в памяти компьютеров. Каждая запись в ARР- таблице "живет" определенное время, после чего удаляется, хотя администратор сети может осуществить запись, которая там будет храниться "вечно".

АRР -таблица, на основании документа RFC-1213, для каждого -адреса содержит четыре кода:

· ifindex – физический порт (интерфейс), соответствующий данному адресу;

· Физический адрес – МAС-адрес, например Еthernet-адрес;

· IР-адрес – IР-адрес, соответствующий физическому адресу;

· Тип адресного соответствия – это поле может принимать 4 значения:

1 – вариант не стандартный и не подходит ни к одному из описанных ниже типов;

2 – данная запись уже не соответствует действительности;

3 – постоянная привязка;

4– динамическая привязка.

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

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

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

Узел, сформировавший ARP -запрос, вкладывает его в кадр протокола канального уровня, указывая в нем известный -адрес. В пакете заполняются все поля, кроме поля искомого локального адреса. Значение этого поля заполняется узлом, опознавшим свой -адрес. Этот запрос для устройств в сети имеет следующий смысл: "Если ваш IP-aдpec совпадает с указанным, то сообщите мне ваш Физический адрес". Пакет ARP-запроса, выглядит примерно так:

 

IP-адрес отправителя 223.1.2.1
МAC-адрес отправителя 08:00:39:00:2F:C3
Искомый IР-адрес 223.1.2.2
Искомый МAС-адрес < пусто >

 

Все узлы локальной сети получают ARP -запрос и сравнивают указанный там IP -адрес с собственным. В случае их совпадения узел формирует АRР -ответ, в котором указывает свой IP -адрес и свой локальный адрес, и отправляет его уже направленно, так как в ARP -запросе отправитель указывает свой локальный адрес. ARP- ответ можно интерпретировать так: "Да, это мой IP-адрес, ему соответствует такой-то МАС-адрес". Пакет с АRР -ответом выглядит примерно так:

 

 

IP -адрес отправителя 223.1.2.2
МAС -адрес отправителя 08:00:28:00:38:А9
Искомый -адрес 223.1.2.1
Искомый МAС -адрес 08:00:39:00:2F:C3|

В связи с тем, что локальные адреса в различных типах сетей могут иметь различную длину, то формат пакета протокола ARP зависит от типа сети. Поэтому, первые поля заголовка содержат счетчики, которые указывают длину следующих полей. Сообщение ARP включает следующие поля:

· ТИП ОБОРУДОВАНИЯ – определяет тип аппаратного интерфейса, для которого отправитель ищет адрес (например: 1 – Ethernet, 4 – Token Ring, 1 – ARCNET);

· ТИП ПРОТОКОЛА – указывает тип адреса протокола более высокого

· уровня, который использует отправитель (0800 в шестнадцатеричном формате для IР-адреса);

· HLEN – длина аппаратного адреса (в байтах);

· PLEN – длина адреса протокола верхнего уровня (в байтах, например, для IР-адреса PLEN =4);

· ОПЕРАЦИЯ – указывает запрос ARP = 1, ответ ARP = 2, запрос RARP= 3, или ответ RARP = 4;

· ОТПРАВИТЕЛЬ АА – аппаратный адрес отправителя пакета;

· ОТПРАВИТЕЛЬ IP – IР-адрес отправителя пакета;

· ПОЛУЧАТЕЛЬ АА – аппаратный адрес отвечающей машины (заполняется получателем пакета);

· ПОЛУЧАТЕЛЬ IP – IР-адрес, для которого нужно найти аппаратный адрес.

Новая запись в ARP -таблице появляется автоматически, спустя несколько миллисекунд после того, как она потребовалась. Отправитель, обновивший свой ARP-кеш, теперь готов передать информацию получателю.

Когда -адрес прошёл процедуру разрешения адреса, он остается в кеше в течение 2-х минут. Если в течение этих двух минут произошла повторная передача данных по этому адресу, то время хранения записи в кеше продлевается ещё на 2 минуты. Эта процедура может повторяться до тех пор, пока запись в кеше просуществует до 10 минут. После этого запись будет удалена из кеша и будет отправлен повторный ARР -запрос. Если в сети нет машины с искомым IP -адресом, то ARР -ответа не будет и не будет записи в ARР -таблице. Протокол IP будет уничтожать IP -пакеты, направляемые по этому адресу.

 

Полностью порядок преобразования адресов выглядит так:

  1. По сети передается широковещательный ARР-запрос.
  2. Исходящий IP-пакет ставится в очередь.
  3. Возвращается ARP-ответ, содержащий информацию о соответствии IP- и МAС-адресов. Эта информация заносится в АRР-таблицу.
  4. Для преобразования IP-адреса в локальный адрес у IP-пакета, поставленного в очередь, используется ARР-таблица.
  5. Кадр передается по локальной сети.

 

Некоторые реализации IP и ARP не ставят в очередь IP -пакеты на то время, пока они ждут ARР -ответов. Вместо этого IP -пакет просто уничтожается, а его восстановление возлагается на модуль TCP или прикладной процесс, работающий через UDP. Такое восстановление выполняется с помощью таймаутов и повторных передач. Повторная передача сообщения проходит успешно, так как первая попытка уже вызвала заполнение ARР -таблицы.

В глобальных сетях, как правило, не поддерживающих широковещательный доступ, администратору сети чаще всего приходится вручную формировать АRР -таблицы, в которых он задает, например, соответствие IP -адреса адресу узла сети Х.25, который имеет смысл локального адреса. Но и здесь в последнее время наметилась тенденция автоматизации работы протокола ARP. Для этой цели среди всех маршрутизаторов, подключенных к какой-либо глобальной сети, выделяется специальный маршрутизатор, который ведет ARР -таблицу для всех остальных узлов и маршрутизаторов этой сети. При таком централизованном подходе для всех узлов и маршрутизаторов вручную нужно задать только IP -адрес и локальный адрес выделенного маршрутизатора. Затем каждый узел и маршрутизатор регистрирует свои адреса в выделенном маршрутизаторе, а при необходимости установления соответствия между IP -адресом и локальным адресом узел обращается к выделенному маршрутизатору с запросом и автоматически получает ответ без участия администратора.

Существует также протокол, решающий обратную задачу – нахождение IP -адреса по известному локальному адресу. Он называется Реверсивный ARP - RARP {Reverse Address Resolution Protocol, определённый в RFC-903). Вызов этого протокола происходит при старте бездисковых станций, не знающих в начальный момент своего IP -адреса, но знающих адрес своего сетевого адаптера. Никакой другой информации по RARP передать нельзя, поэтому сегодня он применяется главным образом для сетевой загрузки компьютеров.

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

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

RARP создан на основе протокола ARP и использует тот же самый формат сообщений. Единственное отличие заключается в том, что поле (ТИП ПРОТОКОЛА) для запроса или отклика RARP установлено в 8035, а поле (ОПЕРАЦИЯ) имеет значение (3) для RARP запроса и значение (4) для RARP отклика.

Все машины в сети принимают запрос, но только те из них, кто отвечает за поддержку RARP, обрабатывают запрос и посылают ответ; такие машины называют серверами RARP. Ответ может быть получен непосредственно от RARР -сервера или от посредника (proxy). В качестве посредника обычно выступает маршрутизатор. Для успешного использования RARP в сети должен быть, по крайней мере, один сервер RARP.

При наличии нескольких серверов RARP все серверы пытаются обработать запрос RARP. Обычно клиент RARP принимает первый полученный ответ и игнорирует остальные. Главным преимуществом использования группы машин как серверов RARP является то, что это делает систему более надежной. Если один сервер вышел из строя или перегружен и не может ответить, другой ответит на запрос. Поэтому существует большая вероятность того, что средство будет постоянно доступно. Главный же недостаток использования нескольких серверов заключается в том, что когда машина передает широковещательный запрос RARP, сеть становится перегруженной из-за того, что все серверы пытаются на него ответить. В сетях Ethernet, например, использование нескольких серверов RARP приводит к высокой вероятности возникновения коллизии.

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

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

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

<== предыдущая лекция | следующая лекция ==>
Сетевой адрес | Отображение символьных имён на IР-адреса
Поделиться с друзьями:


Дата добавления: 2013-12-12; Просмотров: 488; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.