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 байт).

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