Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АПОС_Зао-Вопросы на экзамен111.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.62 Mб
Скачать
  1. Связь между сетевым и канальным уровнем, сопоставление адресов, служба arp.

  1. Связь между сетевым и канальным уровнем

Канальный (2) уровень [2] или уровень управления линией передачи (Data link Layer) отвечает за формирование пакетов (кадров) стандартного для данной сети (Ethernet, Token-Ring, FDDI) вида, включающих начальное и конечное управляющие поля. Здесь же производится управление доступом к сети, обнаруживаются ошибки передачи путем подсчета контрольных сумм, и производится повторная пересылка приемнику ошибочных пакетов. Канальный уро­вень делится на два подуровня: верхний LLC и нижний MAC. На канальном уровне работают такие промежуточные сетевые устройства, как, например, коммутаторы.

Сетевой (3) уровень (Network Layer) отвечает за адресацию пакетов и перевод логиче­ских имен (логических адресов, например, IP-адресов или IPX-адресов) в физические сетевые МАС-адреса (и обратно). На этом же уровне решается задача выбора маршрута (пути), по кото­рому пакет доставляется по назначению (если в сети имеется несколько маршрутов). На сетевом уровне действуют такие сложные промежуточные сетевые устройства, как маршрутизаторы.

Сетевой уровень занимает в модели OSI промежуточное положение: его услугами пользуются более высокие уровни, а для выполнения своих функций он использует канальный уровень [2].

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

Канальный уровень не позволяет производить адресацию в сложных сетях. Поэтому при объединении сетей в кадры канального уровня добавляется заголовок сетевого уровня. Этот заголовок позволяет находить адресата в сети с любой топологией.

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

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

Одной из главных задач [2, гл. 17]., которая ставилась при создании протокола IP, явля­лось обеспечение совместной согласованной работы в сети, состоящей из подсетей, в общем случае использующих разные сетевые технологии. Взаимодействие технологии TCP/IP с ло­кальными технологиями подсетей происходит многократно при перемещении IP-пакета по со­ставной сети. На каждом маршрутизаторе протокол IP определяет, какому следующему мар­шрутизатору в этой сети надо направить пакет. В результате решения этой задачи протоколу 1Р становится известен IP-адрес интерфейса следующего маршрутизатора (или конечного узла.

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

  • упаковать пакет в кадр соответствующего для данной сети формата (например, Ethernet);

  • снабдить данный кадр локальным адресом следующего маршрутизатора.

Никакой зависимости между локальным адресом и его IP-адресом не существует, сле­довательно, единственный способ установления соответствия - ведение таблиц. В результате конфигурирования сети каждый интерфейс знает свои IP-адрес и локальный адрес, что можно рассматривать как таблицу, состоящую из одной строки. Проблема состоит в том, как организо­вать обмен имеющейся информацией между узлами сети.

Для определения локального адреса по IP-адресу используется протокол разрешения адресов (Address Resolution Protocol, ARP). Протокол разрешения адресов реализуется различ­ным образом в зависимости от того, работает ли в данной сети протокол локальной сети (Ether­net, Token Ring, FDDI) с возможностью широковещания или же какой-либо из протоколов гло­бальной сети (Х.25, Frame Relay), которые, как правило, не поддерживают широковещательный доступ.

ARP (Address Resolution Protocol) динамически преобразует IP-адрес в физический (MAC).

  1. Протокол (служба) ARP

Протокол ARP (Address Resolution Protocol, протокол разрешения адреса) [3, гл.6] опи­сан в документе RFC 826. Необходимость протокола ARP продиктована тем обстоятельством, что IP-адреса устройств в сети назначаются независимо от их физических адресов. Поэтому для доставки сообщений по сети необходимо определить соответствие между физическим адресом устройства и его IP-адресом - это называется разрешением адресов. В большинстве случаев прикладные программы используют именно IP-адреса. А так как схемы физической адресации устройств весьма разнообразны, то необходим специальный, универсальный протокол. Разре­шение адресов может быть произведено двумя способами: с помощью прямого отображения и с помощью динамического связывания. Протокол ARP использует механизм динамического свя­зывания.

Функционально протокол ARP состоит из двух частей. Одна часть протокола определя­ет физические адреса при посылке дейтаграммы, другая отвечает на запросы от других уст­ройств в сети. Протокол ARP предполагает, что каждое устройство знает как свой IP-адрес, так и свой физический адрес.

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

В ARP-таблице могут быть как статические, так и динамические записи. Динамические записи добавляются и удаляются автоматически. Статические записи могут быть добавлены пользователем. Кроме того, ARP-таблица всегда содержит запись с физическим широковеща­тельным адресом (%FFFFFFFFFFFF) для локальной сети. Эта запись позволяет устройству при­нимать широковещательные ARP-запросы.

Каждая запись в ARP-таблице имеет свое время жизни - обычно оно составляет 10 мин. После того как запись была добавлена в таблицу, ей присваивается таймер. Если запись не ис­пользуется в первые две минуты, она удаляется. Если используется - время ее жизни составляет 10 мин. В некоторых реализациях протокола ARP новый таймер устанавливается после каждого использования записи в ARP-таблице. На Рис. 2 показан пример ARP-таблицы, сформирован­ной на компьютере с двумя сетевыми интерфейсами, работающим под управлением операци­онной системы Microsoft Windows NT. Это таблица выводится по команде агр -а.

Сообщения протокола ARP при передаче по сети инкапсулируются в поле данных кад­ра. Они не содержат IP-заголовка. В отличие от большинства протоколов сообщения, ARP не имеют фиксированного формата заголовка. Протокол ARP был разработан таким образом, что­бы его можно было использовать для разрешения адресов в различных сетях. Фактически про­токол можно использовать с произвольными физическими адресами и сетевыми протоколами.

Рис. 2. Пример ARP-таблицы компьютера с двумя сетевыми интерфейсами

На рис. Рис. 3 показан формат сообщения ARP. В отличие от большинства протоколов, поля переменной длины в сообщениях ARP не выровнены по 32-битовой границе, что вносит определенные трудности в изучение протокола. Например, аппаратный адрес отправителя за­нимает 6 байт, поэтому на рис. 6.8 он занимает две строки (одна строка - одно двойное слово).

В поле «Тип сети» - для сетей Ethernet указывается 1. Для других типов сетей значение этого поля определено соответствующими документами RFC. Поле «Тип протокола» позволя­ет использовать сообщения ARP не только для протокола IP, но и для других сетевых протоко­лов. Для протокола IP значение этого поля равно 0800 (шестнадцатеричное). В поле - «Тип операции» для ARP-запросов указывается 1, а для ARP-ответов - 2. Поля «Длина аппаратного адреса» и «Длина сетевого адреса» позволяют использовать протокол ARP в любых сетях, так как длину адресов можно задать.

Рис. 3. Формат сообщения ARP

Протокол ARP работает по следующей схеме. Устройство, отправляющее ARP-запрос, заполняет в сообщении все поля, кроме искомого аппаратного адреса. Затем оно рассылает за­просы по всей подсети. Поле заполняется устройством, опознавшим свой 1Р-адрес.