История

Технология Ethernet была разработана вместе со многими первыми проектами корпорации Xerox PARC. Общепринято считать, что Ethernet был изобретён 22 мая 1973 года, когда Роберт Меткалф (Robert Metcalfe ) составил докладную записку для главы PARC о потенциале технологии Ethernet. Но законное право на технологию Меткалф получил через несколько лет. В 1976 году он и его ассистент Дэвид Боггс (David Boggs) издали брошюру под названием «Ethernet: Distributed Packet-Switching For Local Computer Networks» R. M. Metcalfe and D. R. Boggs . Ethernet: Distributed Packet Switching for Local Computer Networks. // ACM Communications, 19(5):395--404, July 1976.

Меткалф ушёл из Xerox в 1979 году и основал компанию 3Com для продвижения компьютеров и локальных вычислительных сетей (ЛВС) . Ему удалось убедить DEC, Intel и Xerox работать совместно и разработать стандарт Ethernet (DIX). Впервые этот стандарт был опубликован 30 сентября 1980 года. Он начал соперничество с двумя крупными запатентованными технологиями: Token Ring и Arcnet , - которые вскоре были похоронены под накатывающимися волнами продукции Ethernet. В процессе борьбы 3Com стала основной компанией в этой отрасли.

Технология

В стандарте первых версий (Ethernet v1.0 и Ethernet v2.0) указано, что в качестве передающей среды используется коаксиальный кабель , в дальнейшем появилась возможность использовать витую пару и оптический кабель .

Популярные разновидности Ethernet обозначаются как 10Base2, 100BaseTX и др. Здесь первый элемент обозначает скорость передачи, Мбит/с. Второй элемент:

  • Base - прямая (немодулированная) передача,
  • Broad - использование широкополосного кабеля с частотным уплотнением каналов.

Третий элемент: округленная длина кабеля в сотнях метров (10Base2 - 185 м, 10Base5 - 500 м) или среда передачи (T, ТХ, Т2, Т4 - витые пары, FX, FL, FB, SX и LX - оптоволокно, СХ - твинаксиальный кабель для Gigabit Ethernet).

Причинами перехода на витую пару были:

  • возможность работы в дуплексном режиме;
  • низкая стоимость кабеля "витой пары";
  • более высокая надёжность сетей при неисправности в кабеле;
  • большая помехозащищенность при использовании дифференциального сигнала;
  • возможность питания по кабелю маломощных узлов, например IP-телефонов (стандарт Power over Ethernet, POE);
  • отсутствие гальванической связи (прохождения тока) между узлами сети. При использовании коаксиального кабеля в российских условиях, где, как правило, отсутствует заземление компьютеров, применение коаксиального кабеля часто сопровождалось пробоем сетевых карт, и иногда даже полным "выгоранием" системного блока.

Причиной перехода на оптический кабель была необходимость увеличить длину сегмента без повторителей.

Метод управления доступом (для сети на коаксиальном кабеле) - множественный доступ с контролем несущей и обнаружением коллизий (CSMA/CD , Carrier Sense Multiple Access with Collision Detection), скорость передачи данных 10 Мбит/с, размер пакета от 72 до 1526 байт, описаны методы кодирования данных. Режим работы полудуплексный, то есть узел не может одновременно передавать и принимать информацию. Количество узлов в одном разделяемом сегменте сети ограничено предельным значением в 1024 рабочих станции (спецификации физического уровня могут устанавливать более жёсткие ограничения, например, к сегменту тонкого коаксиала может подключаться не более 30 рабочих станций, а к сегменту толстого коаксиала - не более 100). Однако сеть, построенная на одном разделяемом сегменте, становится неэффективной задолго до достижения предельного значения количества узлов, в основном по причине полудуплексного режима работы.

Большинство Ethernet-карт и других устройств имеет поддержку нескольких скоростей передачи данных, используя автоопределение (autonegotiation) скорости и дуплексности, для достижения наилучшего соединения между двумя устройствами. Если автоопределение не срабатывает, скорость подстраивается под партнёра, и включается режим полудуплексной передачи. Например, наличие в устройстве порта Ethernet 10/100 говорит о том, что через него можно работать по технологиям 10BASE-T и 100BASE-TX, а порт Ethernet 10/100/1000 - поддерживает стандарты 10BASE-T, 100BASE-TX и 1000BASE-T.

Ранние модификации Ethernet

  • Xerox Ethernet - оригинальная технология, скорость 3Мбит/с, существовала в двух вариантах Version 1 и Version 2, формат кадра последней версии до сих пор имеет широкое применение.
  • 10BROAD36 - широкого распространения не получил. Один из первых стандартов, позволяющий работать на больших расстояниях. Использовал технологию широкополосной модуляции, похожей на ту, что используется в кабельных модемах . В качестве среды передачи данных использовался коаксиальный кабель.
  • 1BASE5 - также известный, как StarLAN, стал первой модификацией Ethernet-технологии, использующей витую пару. Работал на скорости 1 Мбит/с, но не нашёл коммерческого применения.

10 Мбит/с Ethernet

  • 10BASE5 , IEEE 802.3 (называемый также «Толстый Ethernet») - первоначальная разработка технологии со скоростью передачи данных 10 Мбит/с. Следуя раннему стандарту IEEE использует коаксиальный кабель с волновым сопротивлением 50 Ом (RG-8), с максимальной длиной сегмента 500 метров.
  • 10BASE2 , IEEE 802.3a (называемый «Тонкий Ethernet») - используется кабель RG-58, с максимальной длиной сегмента 200 метров, компьютеры присоединялись один к другому, для подключения кабеля к сетевой карте нужен T-коннектор, а на кабеле должен быть BNC-коннектор. Требуется наличие терминаторов на каждом конце. Многие годы этот стандарт был основным для технологии Ethernet.
  • StarLAN 10 - Первая разработка, использующая витую пару для передачи данных на скорости 10 Мбит/с. В дальнейшем эволюционировал в стандарт 10BASE-T.

Несмотря на то, что теоретически возможно подключение к одному кабелю (сегменту) витой пары более чем двух устройств, работающих в симплексном режиме, такая схема никогда не применяется для Ethernet, в отличие от работы с коаксиальным кабелем. Поэтому, все сети на витой паре используют топологию "звезда", в то время как, сети на коаксиальном кабеле построены на топологии "шина". Терминаторы для работы по витой паре встроены в каждое устройство, и применять дополнительные внешние терминаторы в линии не нужно.

  • 10BASE-T , IEEE 802.3i - для передачи данных используется 4 провода кабеля витой пары (две скрученные пары) категории-3 или категории-5. Максимальная длина сегмента 100 метров.
  • FOIRL - (акроним от англ. Fiber-optic inter-repeater link). Базовый стандарт для технологии Ethernet, использующий для передачи данных оптический кабель. Максимальное расстояние передачи данных без повторителя 1 км.
  • 10BASE-F , IEEE 802.3j - Основной термин для обозначения семейства 10 Мбит/с ethernet-стандартов, использующих оптоволоконный кабель на расстоянии до 2 километров: 10BASE-FL, 10BASE-FB и 10BASE-FP. Из перечисленного только 10BASE-FL получил широкое распространение.
  • 10BASE-FL (Fiber Link) - Улучшенная версия стандарта FOIRL. Улучшение коснулось увеличения длины сегмента до 2 км.
  • 10BASE-FB (Fiber Backbone) - Сейчас неиспользуемый стандарт, предназначался для объединения повторителей в магистраль.
  • 10BASE-FP (Fiber Passive)- Топология «пассивная звезда», в которой не нужны повторители - никогда не применялся.

Быстрый Ethernet (Fast Ethernet , 100 Мбит/с)

  • 100BASE-T - общий термин для обозначения стандартов, использующих в качестве среды передачи данных витую пару. Длина сегмента до 100 метров. Включает в себя стандарты 100BASE-TX, 100BASE-T4 и 100BASE-T2.
  • 100BASE-TX , IEEE 802.3u - развитие стандарта 10BASE-T для использования в сетях топологии "звезда". Задействована витая пара категории 5, фактически используются только две неэкранированные пары проводников, поддерживается дуплексная передача данных, расстояние до 100 м.
  • 100BASE-T4 - стандарт, использующий витую пару категории 3. Задействованы все четыре пары проводников, передача данных идёт в полудуплексе. Практически не используется.
  • 100BASE-T2 - стандарт, использующий витую пару категории 3. Задействованы только две пары проводников. Поддерживается полный дуплекс, когда сигналы распространяются в противоположных направления по каждой паре. Скорость передачи в одном направлении - 50 Мбит/с. Практически не используется.
  • 100BASE-SX - стандарт, использующий многомодовое оптоволокно. Максимальная длина сегмента 400 метров в полудуплексе (для гарантированного обнаружения коллизий) или 2 километра в полном дуплексе.
  • 100BASE-FX - стандарт, использующий одномодовое оптоволокно. Максимальная длина ограничена только величиной затухания в оптоволоконном кабеле и мощностью передатчиков.
  • 100BASE-FX WDM - стандарт, использующий одномодовое оптоволокно. Максимальная длина ограничена только величиной затухания в оптоволоконном кабеле и мощностью передатчиков. Интерфейсы бывают двух видов, отличаются длиной волны передатчика и маркируются либо цифрами (длина волны) либо одной латинской буквой A(1310) или B(1550). В паре могут работать только парные интерфейсы: с одной стороны передатчик на 1310 нм, а с другой - на 1550 нм.

Fast Ethernet

Fast Ethernet (IEEE802.3u, 100BASE-X) - набор стандартов передачи данных в компьютерных сетях, со скоростью до 100 Мбит/с, в отличие от обычного Ethernet (10 Мбит/с).

Гигабит Ethernet (Gigabit Ethernet, 1 Гбит/с)

  • 1000BASE-T , IEEE 802.3ab - стандарт, использующий витую пару категорий 5e. В передаче данных участвуют все 4 пары. Скорость передачи данных - 250 Мбит/с по одной паре.Используется метод кодирования PAM5, частота основной гармоники 62,5 МГц.
  • 1000BASE-TX был создан Ассоциацией Телекоммуникационной Промышленности (англ. Telecommunications Industry Association, TIA ) и опубликован в марте 2001 года как «Спецификация физического уровня дуплексного Ethernet 1000 Мб/с (1000BASE-TX) симметричных кабельных систем категории 6 (ANSI/TIA/EIA-854-2001)» (англ. «A Full Duplex Ethernet Specification for 1000 Mbis/s (1000BASE-TX) Operating Over Category 6 Balanced Twisted-Pair Cabling (ANSI/TIA/EIA-854-2001)» ). Стандарт, использует раздельную приёмо-передачу (1 пару на передачу, 1 пару на приём, по каждой паре данные передаются со скоростью 500 Мбит/с), что существенно упрощает конструкцию приёмопередающих устройств. Но, как следствие, для стабильной работы по такой технологии требуется кабельная система высокого качества, поэтому 1000BASE-TX может использовать только кабель 6 категории. Ещё одним существенным отличием 1000BASE-TX является отсутствие схемы цифровой компенсации наводок и возвратных помех, в результате чего сложность, уровень энергопотребления и цена процессоров становится ниже, чем у процессоров стандарта 1000BASE-T. На основе данного стандарта практически не было создано продуктов, хотя 1000BASE-TX использует более простой протокол, чем стандарт 1000BASE-T, и поэтому может использовать более простую электронику.
  • 1000BASE-X - общий термин для обозначения стандартов со сменными приёмопередатчиками GBIC или SFP.
  • 1000BASE-SX , IEEE 802.3z - стандарт, использующий многомодовое оптоволокно. Дальность прохождения сигнала без повторителя до 550 метров.
  • 1000BASE-LX , IEEE 802.3z - стандарт, использующий одномодовое оптоволокно. Дальность прохождения сигнала без повторителя до 80 километров.
  • 1000BASE-CX - стандарт для коротких расстояний (до 25 метров), использующий твинаксиальный кабель с волновым сопротивлением 150 Ом. Заменён стандартом 1000BASE-T и сейчас не используется.
  • 1000BASE-LH (Long Haul) - стандарт, использующий одномодовое оптоволокно. Дальность прохождения сигнала без повторителя до 100 километров.

10 Гигабит Ethernet

Новый стандарт 10 Гигабит Ethernet включает в себя семь стандартов физической среды для LAN, MAN и WAN. В настоящее время он описывается поправкой IEEE 802.3ae и должен войти в следующую ревизию стандарта IEEE 802.3.

  • 10GBASE-CX4 - Технология 10 Гигабит Ethernet для коротких расстояний (до 15 метров), используется медный кабель CX4 и коннекторы InfiniBand.
  • 10GBASE-SR - Технология 10 Гигабит Ethernet для коротких расстояний (до 26 или 82 метров, в зависимости от типа кабеля), используется многомодовое оптоволокно. Он также поддерживает расстояния до 300 метров с использованием нового многомодового оптоволокна (2000 МГц/км).
  • 10GBASE-LX4 - использует уплотнение по длине волны для поддержки расстояний от 240 до 300 метров по многомодовому оптоволокну. Также поддерживает расстояния до 10 километров при использовании одномодового оптоволокна.
  • 10GBASE-LR и 10GBASE-ER - эти стандарты поддерживают расстояния до 10 и 40 километров соответственно.
  • 10GBASE-SW , 10GBASE-LW и 10GBASE-EW - Эти стандарты используют физический интерфейс, совместимый по скорости и формату данных с интерфейсом OC-192 / STM-64 SONET/SDH. Они подобны стандартам 10GBASE-SR, 10GBASE-LR и 10GBASE-ER соответственно, так как используют те же самые типы кабелей и расстояния передачи.
  • 10GBASE-T , IEEE 802.3an-2006 - принят в июне 2006 года после 4 лет разработки. Использует экранированную витую пару. Расстояния - до 100 метров.

Стандарт 10 Гигабит Ethernet ещё слишком молод, поэтому потребуется время, чтобы понять, какие из вышеперечисленных стандартов передающих сред будут реально востребованы на рынке. 10 Гигабит / секунду - это ещё не предел. Уже ведутся разработки 1000 G Ethernet и выше.

Шаблон технологии Ethernet, написан в доке IEEE 802,3. Это единственное описание кадра формата уровня MAC. В сети Ethernet реализован только один тип кадра канального уровня, заголовок которого есть множество заголовков подуровней MAC и LLC что есть некой .

  • Ethernet DIX/Ethernet II , появился в 1980 году в результате совместной роботы трех фирм Xerox, Intel и Digital которые представил версию 802,3в качестве международного стандарта;
  • Комитет принял 802,3 и немного переделал его. Так появились 802,3/LLC, 802,3/802,2 или Novell 802,2 ;
  • Raw 802,3 или Novell 802,3 — созданы для ускорения работы своего стека протоколов в сетях Ethernet;
  • Ethernet SNAP является итогом комитета 802,2 которые приведен к общему стандарту и стал гибок к будущим возможным добавлением полей;

Сегодня сетевое аппаратное и программное обеспечение умеют работать со всеми форматами кадров, и распознавание кадров работает автоматически что уменьшает и одним из . Форматы кадров показано на рис.1.

Рисунок 1

Кадр 802.3/LLC

Заголовок этого кадра объединяет поля заголовком кадров IEEE 802,3 и 802,2. Стандарт 802,3 состоит из:

  • Поле преамбулы — называется полем синхронизирующих байтов — 10101010. В манчестерском кодировании этот код модифицируется в физической среде в сигнал с частотой 5 МГц.
  • Начальный ограничитель кадра — является одним байтом 10101011. Это поле указывает на то, что следующий байт — это первый байт заголовка кадра.
  • Адрес назначения — это поле может быть длиной 6 или 2 байта. Обычно это поле используют для MAC-адреса в 6 байт.
  • Адрес источника — это поле которое содержит 6 или 2 байта MAC-адреса узла отправителя. Первый бит всегда является — 0.
  • Длина — поле которое имеет размер 2 байта, и содержит длину поля данных в кадре.
  • Поле данных — поле может иметь от 0 до 1500 байт. Но если вдруг данные занимают меньше 46 байт, то используется поле заполнителя , который дополняет поле до 46 байт.
  • Поле заполнителя — Обеспечивает заполнение поля данных, если там вес меньший 46 байт. Нужен для корректной работы механизму обнаружений коллизий.
  • Поле контрольной последовательности кадра — в этом поле записывается контрольная сума размером в 4 байта. Используется алгоритм CRC-32/

Этот кадр есть кадр подуровня MAC, в его поле данных влажуется кадр подуровня LLC с удаленными флагами в конце и начала кадра который передается через .

Кадр Raw 802.3/Novell 802,3

Раньше этот кадр был протоколом сетевого уровня в ОС MetWare. Но теперь, когда нужда в идентификации протокола верхнего уровня отпала, то кадр был инкапсулирован в кадр MAC кадра LLC.

Кадр Ethernet DIX/Ethernet II

Этот кадр имеет структуру, которая похожа на структуру Ras 802,3. Но 2-байтовое поле длины здесь имеет назначения поля типа протокола. Указывает тип протокола верхнего уровня, вложившей свой пакет в поле данных этого кадра. Различают эти кадры по длине поля, если значении меньше 1500 то это поле длины, если больше — то типа.

Кадр Ethernet SNAP

Кадр появился в результате устранения разнобоя в кодировках типов протоколов. Протокол используется также в протоколе IP при инкапсуляции следующих сетей: Token Ring, FDDI, 100VC-AnyLan. Но при передаче IP пакетов через Ethernet протокол использует кадры Ethernet DIX.

Протокол IPX

Этот протокол может использовать все четыре типа кадра Ethernet. Он определяет тип по проверки отсутствия или наличия поля LLC. Также за полями DSAP/SSAP. Если значение полей равны 0хАА, то это кадр SNAP иначе это 802,3/LLC.

1000Base-X

Спецификация 1000BASE-X предусматривает использование среды в виде оптических волокон. В основе этого стандарта лежит технология основанная на стандарте ANSI Fibre Channel (ANSI X3T11).

Технология 1000BASE-X допускает использование трех различных сред передачи, отсюда три разновидности: 1000BASE-SX, 1000BASE-LX и 1000BASE-CX.

1000Base-SX

Наиболее часто используемая и самая дешевая технология на основе стандартного многомодового волокна. Максимальное расстояние для 1000BASE-SX составляет 220 метров. Используется длина волны 850 нм, S означает Short Wavelength - короткая волна.

Очевидно, что это значение может достигаться только при полнодуплексной передаче данных, так как время двойного оборота сигнала на двух отрезках по 220 метров равно 4400 bt, что превосходит предел 4095 bt даже без учета повторителя и сетевых адаптеров. Для полудуплексной передачи максимальные значения сегментов оптоволоконного кабеля всегда должны быть меньше 100 метров.

1000Base-LX

Технология 1000BASE-LX обычно используется с одномодовыми волокнами, здесь допустимое расстояние составляет 5 километров. Спецификация 1000Base-LX может работать и на многомодовом кабеле. В этом случае предельное расстояние получается небольшим - 550 метров.

Для спецификации 1000Base-LX в качестве источника излучения всегда применяется полупроводниковый лазер с длиной волны 1300 нм.

1000Base-СX

Технология 1000BASE-CX использует наиболее своеобразную среду из трех. Это основанное на применении решения, в котором используются кабели, выполненные на основе предварительно закрученных (precrimped) экранированных витых пар.

Соединитель - не простой RJ-45, обычно используемый в 10/100/1000Base-T. Вместо него используется DB-9 или HSSDS, завершающие эти две пары проводов. Технология 1000BASE-CX работает на расстояниях до 25 м, что ограничивает ее применение небольшими площадями.

1000Base-T

Спецификация 1000Base-T работает по витой паре категории 5.

Каждая пара кабеля категории 5 имеет гарантированную полосу пропускания до 100 МГц. Для передачи по такому кабелю данных со скоростью 1000 Мбит/с было решено организовать параллельную передачу одновременно по всем 4 парам кабеля.

Это сразу уменьшило скорость передачи данных по каждой паре до 250 Мбит/с.

Для кодирования данных был применен код РАМ5, использующий 5 уровней потенциала: -2, -1, 0, +1, +2. Поэтому за один такт по одной паре передается 2,322 бит информации. Следовательно, тактовую частоту вместо 250 МГц можно снизить до 125 МГц. При этом, если использовать не все коды, а передавать 8 бит за такт (по 4 парам), то выдерживается требуемая скорость передачи в 1000 Мбит/с и еще остается запас неиспользуемых кодов, так как код РАМ5 содержит 5 4 = 625 комбинаций, а если передавать за один такт по всем четырем парам 8 бит данных, то для этого требуется всего 2 8 = 256 комбинаций. Оставшиеся комбинации приемник может использовать для контроля принимаемой информации и выделения правильных комбинаций на фоне шума. Код РАМ5 на тактовой частоте 125 МГц укладывается в полосу 100 МГц кабеля категории 5.

Для распознавания коллизий и организации полнодуплексного режима в спецификации применяется техника, при которой оба передатчика работают навстречу друг другу по каждой из 4-х пар в одном и том же диапазоне частот, так как используют один и тот же потенциальный код РАМ5 (рис. 12). Схема гибридной развязки Н позволяет приемнику и передатчику одного и того же узла использовать одновременно витую пару и для приема и для передачи.

Рисунок 12. Двунаправленная передача по 4 парам UTP cat5 в Gigabit

Для отделения принимаемого сигнала от своего собственного приемник вычитает из результирующего сигнала известный ему свой сигнал. Это не простая операция и для ее выполнения используются специальные цифровые сигнальные процессоры - DSP (Digital Signal Processor).

Поля кадра Преамбула (7 байтов) и Начальный разграничитель кадров (SFD) (1 байт) в Ethernet используются для синхронизации между передающим и принимающим устройствами. Эти первые восемь байтов фрейма используются, чтобы привлечь внимание узлов получения. По существу первые несколько байтов говорят получателям подготовиться принимать новый кадр.

Поле MAC-адрес Назначения

Поле MAC Адрес Назначения (6 байтов) является идентификатором для предполагаемого получателя. Как Вы можете вспомнить, этот адрес используется Уровнем 2, чтобы помочь устройствам в определении, адресуется ли им данный фрейм. Адрес во фрейме сравнивается с MAC-адресом устройства. Если адреса совпадают, устройство принимает фрейм.

Поле MAC-адрес Источника

Поле MAC Адрес Назначения (6 байтов) идентифицирует отправляющий NIC или интерфейс фрейма. Коммутаторы также используют этот адрес, чтобы добавить его к своим таблицам сопоставления. Роль коммутаторов будет обсуждаться позже в этой рубрике.

Поле Длина/Тип

Для любого стандарта IEEE 802.3, более раннего 1997 года, поле Длина определяет точную длину поля данных фрейма. Это позже используется позже в качестве части FCS, чтобы гарантировать, что сообщение было получено корректно. Если цель поля состоит в том, чтобы определить тип, как в Ethernet II, поле Тип описывает, какой реализуется протокол.

Эти два применения поля были официально объединены в 1997 в стандарте IEEE 802.3x, потому что оба применения были распространены. Поле Тип Ethernet II включается в текущее определение фрейма 802.3. Когда узел принимает кадр, он должен исследовать поле Длина, чтобы определить, какой протокол более высокого уровня в нем присутствует. Если значение двух октетов больше или равно, чем шестнадцатеричное число 0x0600 или десятичное число 1536, то содержимое поля Данные декодируется согласно обозначенному типу протокола. Если значение поля меньше или равно, чем шестнадцатеричное число 0x05DC или десятичное число 1500, поле Длина используется для указания использования формата кадра IEEE 802.3. Таким образом различаются кадры Ethernet II и 802.3.

Поля Данные и Набивка

Поля Данные и Набивка (46 - 1500 байтов) содержат инкапсулированные данные от более высокого уровня, который является типичным PDU Уровня 3, обычно, пакетом IPv4. Все фреймы должны быть по крайней мере 64 байта длиной. Если инкапсулируется пакет меньшего размера, используется Набивка, чтобы увеличить размер кадра до этого минимального размера.

IEEE поддерживает список общего назначения типов Ethernet II.

Выделим три главных элемента стандарта: формат кадра, систему сигнализации между рабочими станциями при осуществлении передачи данных по протоколу CSMA/CD и набор физических сред: коаксиальный кабель, витая пара, волоконно-оптический кабель.

Формат кадра Ethernet

На рис. 7-2 показан формат кадра Ethernet. Поля имеют следующие назначения:
— Преамбула: 7 байт, каждый из которых представляет чередование единиц и нулей 10101010. Преамбула позволяет установить битовую синхронизацию на приемной стороне.
— Ограничитель начала кадра (SFD, start frame delimiter): 1 байт, последовательность 10101011. указывает, что далее последуют, информационные поля кадра. Этот байт можно относить к преамбуле.
— Адрес назначения (DA, destination address): 6 байт, указывает МАС-адрес станции (МАС-адреса станций), для которой (которых) предназначен этот кадр. Это может быть единственный физический адрес (unicast), групповой адрес (multicast) или широковещательный адрес (broadcast).
— Адрес отправителя (SA, source address): б байт, указывает МАС-адрес станции, которая посылает кадр.
— Поле типа или длины кадра (Т or L, type or length): 2 байта. Существуют два базовых формата кадра Ethernet (в английской терминологии raw formats -сырые форматы) -EthernetII и IEEE 802.3 (рис. 7.2), причем различное назначение у них имеет именно рассматриваемое поле. Для кадра EthernetII в этом поле содержится информация о типе кадра. Ниже приведены значения в шестнадцатеричной системе этого поля для некоторых распространенных сетевых протоколов: 0х0800 для IP, 0х0806 для ARP, 0х809В для AppleTalk, 0х0600 для XNS, и 0х8137 для IPX/SPX. С указанием в этом поле конкретного значения (одного из перечисленных) кадр приобретает реальный формат, и в таком формате кадр уже может распространяться по сети.
— Для кадра IEEE 802,3 в этом поле содержится выраженный в байтах размер следующего поля — поля данных (LLC Data). Если эта цифра приводит к общей длине кадра меньше 64 байт, то за полем LLC Data добавляется поле Pad. Для протокола более высокого уровня не возникает путаницы с определением типа кадра, так как для кадра IEEE 802.3 значение этого поля не может быть больше 1500 (0x05DC). Поэтому, в одной сети могут свободно сосуществовать оба формата кадров, более того, один сетевой адаптер может взаимодействовать с обоими типами посредством стека протоколов.
— Данные (LLC Data): поле данных, которое обрабатывается подуровнем LLC. Сам по себе кадр IEEE 802.3 еще не окончательный. В зависимости от значений первых нескольких байт этого поля, могут быть три окончательных формата этого кадра IEEE 802.3:
— Ethernet_802.3 (не стандартный, в настоящее время устаревающий формат, используемый Novell) — первые два байта LLC Data равны 0xFFFF;
— EthernetSNAP (стандартный IEEE 802.2 SNAP формат, которому отдается наибольшее предпочтение в современных сетях, особенно для протокола TCP/IP) — первый байт LLC Data равен 0хАА;
— Ethernet_802.2 (стандартный IEEE 802.2 формат, используется фирмой Novell в NetWare 4.0) — первый байт LLC Data не равен ни 0xFF (11111111), ни 0хАА (10101010).

Дополнительное поле (pad — наполнитель) — заполняется только в том случае, когда поле данных невелико, с целью удлинения длины кадра до минимального размера 64 байта — преамбула не учитывается. Ограничение снизу на минимальную длину кадра необходимо для правильного разрешения коллизий.

Контрольная последовательность кадра (FCS, frame check sequence): 4-байтовое поле, в котором указывается контрольная сумма, вычисленная с использованием циклического избыточного кода по полям кадра, за исключением преамбул SDF и FCS.

Рис. 7.2. Два базовых MAC формата кадра Ethernet

Основные варианты алгоритмов случайного доступа к среде

Протокол CSMA/CD определяет характер взаимодействия рабочих станций в сети с единой общей для всех устройств средой передачи данных. Все станции имеют равноправные условия по передаче данных. Нет определенной последовательности, в соответствии с которой станции могут получать доступ к среде для осуществления передачи. Именно в этом смысле доступ к среде осуществляется случайным образом. Реализация алгоритмов случайного доступа представляется значительно более простой задачей, чем реализация алгоритмов детерминированного доступа. Поскольку в последнем случае требуется или специальный протокол, контролирующий работу всех устройств сети (например, протокол обращения маркера, свойственный сетям Token Ring и FDDI), или специальное выделенное устройство-мастер концентратор, который в определенной последовательности предоставлял бы всем остальным станциям возможность передавать (сети Arcnet, 100VG AnyLAN).

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

Дадим определение: множество всех станций сети, одновременная передача любой пары из которых приводит к коллизии, называется коллизионным доменом (collision domain). Из-за коллизии (конфликта) могут возникать непредсказуемые задержки при распространении кадров по сети, особенно при большой загруженности сети (много станций пытаются одновременно передавать внутри коллизионного домена, > 20-25), и при большом диаметре коллизионного домена (> 2 км). Поэтому при построении сетей желательно избегать таких экстремальных режимов работы.

Проблема построения протокола, способного наиболее рационально разрешать коллизии, и оптимизирующего работу сети при больших загрузках, была одной из ключевых на этапе формирования стандарта Ethernet IEEE 802.3. Первоначально рассматривались три основных подхода в качестве кандидатов для реализации стандарта случайного доступа к среде (рис. 7.3): непостоянный, 1-постоянный и р-постоянный.

Рис. 7.3. Алгоритмы множественного случайного доступа (CSMA) и выдержка времени в конфликтной ситуации (collision backoff)

Непостоянный (nonpersistent) алгоритм. При этом алгоритме станция, желающая передавать, руководствуется следующими правилами.

1. Прослушивает среду, и, если среда свободна (т.е. если нет другой передачи или нет сигнала коллизии), передает, в противном случае — среда занята -переходит к шагу 2.
2. Если среда занята, ждет случайное (в соответствии с определенной кривой распределения вероятностей) время и возвращается к шагу 1.

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

1-постоянный (1-persistent) алгоритм. Для сокращения времени, когда среда не занята, мог бы использоваться 1-постоянный алгоритм. При этом алгоритме станция, желающая передавать, руководствуется следующими правилами.

1. Прослушивает среду, и, если среда не занята, передает, в противном случае переходит к шагу 2;
2. Если среда занята, продолжает прослушивать среду до тех пор, пока среда не освободится, и, как только среда освобождается, сразу же начинает передавать.

Сравнивая непостоянный и 1-постоянный алгоритмы, можно сказать, что в 1-постоянном алгоритме станция, желающая передавать, ведет себя более «эгоистично». Поэтому, если две или более станций ожидают передачи (ждут, пока не освободится среда), коллизия, можно сказать, будет гарантирована. После коллизии станции начинают решать, что им делать дальше.

Р-постоянный (p-persistent) алгоритм. Правила этого алгоритма следующие:
1. Если среда свободна, станция с вероятностью р сразу же начинает передачу или с вероятностью (1-р) ожидает в течение интервала времени Т. Интервал Т обычно берется равным максимальному времени распространения сигнала из конца в конец сети;
2. Если среда занята, станция продолжает прослушивание до тех пор, пока среда не освободится, затем переходит к шагу 1;
3. Если передача задержана на один интервал Т, станция возвращается к шагу 1.

И здесь возникает вопрос выбора наиболее эффективного значения параметра р. Главная проблема, как избежать нестабильности при высоких загрузках. Рассмотрим ситуацию, при которой n станций намерены передать кадры, в то время, как уже идет передача. По окончанию передачи ожидаемое количество станций, которые попытаются передавать, будет равно произведению количества желающих передавать станций на вероятность передачи, то есть пр. Если np > 1, то в среднем несколько станций будут пытаться передать сразу, что вызовет коллизию. Более того, как только коллизия будет обнаружена, все станции вновь перейдут к шагу 1, что вызовет повторную коллизию. В худшем случае, новые станции, желающие передавать, могут добавиться к n, что еще больше усугубит ситуацию, приведя, в конечном итоге, к непрерывной коллизии и нулевой пропускной способности. Во избежании такой катастрофы пр должно быть меньше единицы. Если же сеть подвержена возникновению состояний, когда много станций одновременно желают передавать, то необходимо уменьшать р. С другой стороны, когда р становиться слишком малым, даже отдельная станция может прождать в среднем (1 — р)/р интервалов Т, прежде чем осуществит передачу. Так если р=0,1, то средний простой, предшествующий передаче, составит 9Т.