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 байт).
Во многих сетевых адаптерах предусмотрен так называемый циркулярный режим. В
этом режиме адаптер принимает все пакеты, приходящие к нему, независимо от
значения поля адреса приемника. Этот режим используется, например, для
проведения диагностики сети, измерения ее производительности, контроля за
ошибками передачи. В этом случае один компьютер принимает и контролирует все
пакеты, проходящие по сети, но сам ничего не передает. В этом же режиме работают
сетевые адаптеры мостов и коммутаторы, которые должны обрабатывать перед
ретрансляцией все приходящие к ним пакеты.
|