3.2. Адресация пакетов
Каждый абонент (узел) локальной сети должен иметь свой уникальный адрес
(он же идентификатор, МАС-адрес), чтобы ему можно было адресовать пакеты.
Существуют две основные системы присвоения адресов абонентам сети (точнее,
сетевым адаптерам этих абонентов).
Первая система элементарно проста. Она сводится к тому, что при установке
сети каждому абоненту присваивается свой адрес (программно или с помощью
переключателей на плате адаптера). При этом требуемое количество разрядов
адреса определяется из простого уравнения:
2n>Nmax,
где п — количество разрядов адреса, a Nmax - максимально возможное количество
абонентов в сети. Например, восьми разрядов адреса достаточно для сети
из 255 абонентов. Один адрес (обычно 1111....11) отводится для широковещательной
передачи, то есть используется для пакетов, адресованных всем абонентам
одновременно. Именно этот подход использо-
ван в такой известной сети, как Arcnet. Достоинства данного подхода
-простота и малый объем служебной информации в пакете, а также простота
аппаратуры адаптера, распознающей адрес пакета. Недостаток -трудоемкость
задания адресов и возможность ошибки (например, двум абонентам сети может
быть присвоен один и тот же адрес).
Второй подход к адресации был разработан международной организацией
IEEE, занимающейся стандартизацией сетей. Именно он используется в большинстве
сетей и рекомендован для всех новых разработок. Идея состоит в том, чтобы
присваивать уникальный сетевой адрес каждому адаптеру сети еще на этапе
его изготовления. Если количество возможных адресов будет достаточно большим,
то можно быть уверенным, что в любой сети не будет абонентов с одинаковыми
адресами. Был выбран 48-битный формат адреса, что соответствует примерно
280 триллионам различных адресов. Понятно, что столько сетевых.адаптеров
никогда не будет выпущено.
Рис. 3.4. Структура 48-битного стандартного адреса
Чтобы распределить возможные диапазоны адресов между многочисленными
изготовителями сетевых адаптеров, была предложена следующая структура
адреса (рис. 3.4):
- Младшие 24 разряда кода адреса
называются OUA (Organizationally Unique Address) - организационно уникальный
адрес. Именно их присваивает производитель сетевого адаптера. Всего
возможно свыше 16 миллионов комбинаций.
- Следующие 22 разряда кода называются OUI (Organizationally
Unique Identifier) - организационно уникальный идентификатор. IEEE присваивает
один или несколько ОШ каждому производителю сетевых адаптеров. Это позволяет
исключить совпадения адресов адаптеров от разных производителей. Всего
возможно свыше 4 миллионов разных OUI. Вместе OUA и OUI называются UAA
(Universally Administered Address) - универсально управляемый адрес
или IEEE-адрес.
- Два старших разряда адреса являются управляющими и
определяют тип адреса, способ интерпретации остальных 46 разрядов. Старший
бит I/G (Individual/Group) определяет, индивидуальный это адрес или
групповой. Если он установлен в 0, то мы имеем дело с индивидуальным
адресом, если установлен в 1, то с групповым (многопунктовым или функциональным)
адресом. Пакеты с групповым адресом получают все имеющие его сетевые
адаптеры, причем групповой адрес определяется всеми 46 младшими разрядами.
Второй управляющий бит U/L (Universal/Local) называется флажком универсального/местного
управления и определяет, как был присвоен адрес данному сетевому адаптеру.
Обычно он установлен в 0. Установка бита U/L в 1 означает, что адрес
задан не производителем сетевого адаптера, а организацией, использующей
данную сеть. Это довольно редкая ситуация.
Для широковещательной передачи используется специально выделенный сетевой
адрес, все 48 битов которого установлены в единицу. Его принимают все
абоненты сети независимо от их индивидуальных и групповых адресов.
Данной системы адресов придерживаются, например, такие популярные сети,
как Ethernet, Fast Ethernet, Token-Ring, FDDI, lOOVG-AnyLAN. Ее недостатки
- высокая сложность аппаратуры сетевых адаптеров, а также большая доля
служебной информации в передаваемом пакете (адрес источника и адрес приемника
требуют уже 96 битов пакета, или 12 байт).
Во многих сетевых адаптерах предусмотрен так называемый циркулярный
режим. В этом режиме адаптер принимает все пакеты, приходящие к нему,
независимо от значения поля адреса приемника. Этот режим используется,
например, для проведения диагностики сети, измерения ее производительности,
контроля за ошибками передачи. В этом случае один компьютер принимает
и контролирует все пакеты, проходящие по сети, но сам ничего не передает.
В этом же режиме работают сетевые адаптеры мостов и коммутаторы, которые
должны обрабатывать перед ретрансляцией все приходящие к ним пакеты. |