Разработка интегрированной сети доступа на базе технологий Ethernet и Wi-Fi. Tехнология сети ethernet Построение сетей по технологии ethernet 1000base t

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).

Шаблон технологии 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.

EtherNet стандарт IEEE 802.3

Это самый распространенный на сегодняшний день стандарт технологии сети.

Особенности:

  • работает с коаксиальным кабелем, витой парой, оптическими кабелями;
  • топология – шина, звезда;
  • метод доступа – CSMA/CD.

Архитектура сетевой технологии Ethernet фактически объединяет целый набор стандартов, имеющих как общие черты, так и отличия.

Технология Ethernet была разработана вместе со многими первыми проектами корпорации Xerox PARC. Общепринято считать, что Ethernet был изобретён 22 мая 1973 года, когда Роберт Меткалф составил докладную записку для главы PARC о потенциале технологии Ethernet. Но законное право на технологию Меткалф получил через несколько лет. В 1976 году он и его ассистент Дэвид Боггс издали брошюру под названием «Ethernet: Distributed Packet Switching For Local Computer Networks». Меткалф ушёл из Xerox в 1979 году и основал компанию 3Com для продвижения компьютеров и локальных вычислительных сетей. Ему удалось убедить DEC, Intel и Xerox работать совместно и разработать стандарт Ethernet (DIX). Впервые этот стандарт был опубликован 30 сентября 1980 года .

Дальнейшее развитие технологии EtherNet:

  • 1982-1993 разработка 10Мбит/с EtherNet;
  • 1995-1998 разработка Fast EtherNet;
  • 1998-2002 разработка GigaBit EtherNet;
  • 2003-2007 разработка 10GigaBit EtherNet;
  • 2007-2010 разработка 40 и 100GigaBit EtherNet;
  • 2010 по сей день разработка Terabit Ethernet.

На уровне MAC, который обеспечивает доступ к среде и передаче кадра, для идентификации сетевых интерфейсов узлов сети используются регламентированные стандартом уникальные 6-байтовые адреса, называемые MAC-адресами. Обычно MAC-адрес записывается в виде шести пар шестнадцатеричных цирф, разделенных тире или двоеточиями, например 00-29-5E-3C-5B-88. Каждый сетевой адаптер имеет MAC-адрес.

Структура MAC-адреса Ethernet:

  • первый бит MAC-адреса получателя называется битом I/G (individual/group или широковещательным). В адресе источника он называется индикатором маршрута от источника (Source Route Indicator);
  • второй бит определяет способ назначения адреса;
  • три старших байта адреса называются защитным адресом (Burned In Address, BIA) или уникальным идентификатором организации (Organizationally UniqueIdentifier, OUI);
  • за уникальность младших трех байт адреса отвечает сам производитель.

Некоторые сетевые программы, в частности wireshark, могут сразу отображать вместо кода производителя - название фирмы производителя данной сетевой карты.

Формат кадра технологии EtherNet

В сетях Ethernet существует 4 типа фреймов (кадров):

  • кадр 802.3/LLC (или кадр Novell802.2),
  • кадр Raw 802.3 (или кадр Novell 802.3),
  • кадр Ethernet DIX (или кадр Ethernet II),
  • кадр Ethernet SNAP.

На практике в оборудовании EtherNet используется только один формат кадра, а именно кадр EtherNet DIX, который иногда называют кадром по номеру последнего стандарта DIX.

  • Первые два поля заголовка отведены под адреса:
    • DA (Destination Address) – MAC-адрес узла назначения;
    • SA (Source Address) – MAC-адрес узла отправителя. Для доставки кадра достаточно одного адреса – адреса назначения, адрес источника помещается в кадр для того, чтобы узел, получивший кадр, знал, от кого пришел кадр и кому нужно на него ответить.
  • Поле T (Type) содержит условный код протокола верхнего уровня, данные которого находятся в поле данных кадра, например шестнадцатеричное значение 08-00 соответствует проколу IP. Это поле требуется для поддержки интерфейсных функций мультиплексирования и демультиплексирования кадров при взаимодействии с протоколами верхних уровней.
  • Поле данных. Если длина пользовательских данных меньше 46 байт, то это поле дополняется до минимального размера байтами заполнения.
  • Поле контрольной последовательности кадра (Frame Check Sequence, FCS) состоит из 4 байт контрольной суммы. Это значение вычисляется по алгоритму CRC-32.

Кадр EtherNet DIX (II) не отражает разделения канального уровня EtherNet на уровень MAC и уровень LLC: его поля поддерживают функции обоих уровней, например интерфейсные функции поля T относятся у функциям уровня LLC, в то время как все остальные поля поддерживают функции уровня MAC.

Рассмотрим формат кадра EtherNet II на примере перехваченного пакета с помощью сетевого анализатора Wireshark

Обратите внимание, что так как MAC адрес состоит из кода производителя и номера интерфейса, то сетевой анализатор сразу преобразует код производителя в название фирмы-изготовителя.

Таким образом в технологии EtherNet в качестве адреса назначения и адреса получателя выступают MAC адреса.

Стандарты технологии Ethernet

Физические спецификации технологии Ethernet включают следующие среды передачи данных.

  • l0Base-5 - коаксиальный кабель диаметром 0,5 дюйма (1дм=2,54см), называемый «толстым» коаксиальным кабелем, с волновым сопротивлением 50Ом.
  • l0Base-2 - коаксиальный кабель диаметром 0,25 дюйма, называемый «тонким» коаксиальным кабелем, с волновым сопротивлением 50Ом.
  • l0Base-T - кабель на основе неэкранированной витой пары (Unshielded Twisted Pair, UTP), категории 3,4,5.
  • l0Base-F - волоконно-оптический кабель.

Число 10 обозначает номинальную битовую скорость передачи данных стандарта, то есть 10Мбит/с а слово «Base» - метод передачи на одной базовой частоте. Последний символ обозначает тип кабеля.

Кабель используется как моноканал для всех станций, максимальная длина сегмента 500м. Станция подключаться к кабелю через приемопередатчик - трансивер. Трансивер соединяется с сетевым адаптером разъема DB-15 интерфейсным кабелем AUI. Требуется наличие терминаторов на каждом конце, для поглощения распространяющихся по кабелю сигналов.

Правила «5-4-3» для коаксиальных сетей:

Стандарт сетей на коаксиальном кабеле разрешает использование в сети не более 4 повторителей и, соответственно, не более 5 сегментов кабеля. При максимальной длине сегмента кабеля в 500 м это дает максимальную длину сети в 500*5=2500 м. Только 3 сегмента из 5 могут быть нагруженными, то есть такими, к которым подключаются конечные узлы. Между нагруженными сегментами должны быть ненагруженные сегменты.

l0Base-2

Кабель используется как моноканал для всех станций, максимальная длина сегмента 185 м. Для подключения кабеля к сетевой карте нужен T-коннектор, а на кабеле должен быть BNC-коннектор.

Также используется правило 5-4-3.

l0Base-T

Образует звездообразную топологию на основе концентратора, концентратор осуществляет функцию повторителя и образует единый моноканал, максимальная длина сегмента 100м. Конечные узлы соединяются с помощью двух витых пар. Одна пара для передачи данных от узла к концентратору - Tx, а другая для передачи данных от концентратора к узлу – Rx.
Правила «4-х хабов» для сетей на основе витой пары:
В стандарте сетей на витой паре определено максимально число концентраторов между любыми двумя станциями сети, а именно 4. Это правило носит название «правила 4-х хабов». Очевидно, что если между любыми двумя узлами сети не должно быть больше 4-х повторителей, то максимальный диаметр сети на основе витой пары составляет 5*100 = 500 м (максимальная длина сегмента 100м).

10Base-F

Функционально сеть Ethernet на оптическом кабеле состоит из тех же элементов, что и сеть стандарта 10Base-T

Стандарт FOIRL (Fiber Optic Inter-Repeater Link) первый стандарт комитета 802.3 для использования оптоволокна в сетях Ethernet. Мах длина сегмента 1000м, мах число хабов 4, при общей длине сети не более 2500 м.

Стандарт 10Base-FL незначительное улучшение стандарта FOIRL. Мах длина сегмента 2000 м. Максимальное число хабов 4,а максимальная длина сети - 2500 м.

Стандарт 10Base-FB предназначен только для соединения повторителей. Конечные узлы не могут использовать этот стандарт для присоединения к портам концентратора. Мах число хабов 5, мах длина одного сегмента 2000 м и максимальной длине сети 2740 м.

Таблица. Параметры спецификаций физического уровня для стандарта Ethernet

При рассмотрении правила «5-4-3» или «4-х хабов», в случае появления на пути распространения по кабелям воображаемого сигнала устройства типа «свич», расчет топологических ограничений начинается с нуля.

Пропускная способность сети Ethernet

Пропускная способность оценивается через количество кадров либо количество байт данных, передаваемых по сети за единицу времени. Если в сети не происходят коллизии, максимальная скорость передачи кадров минимального размера(64 байта) составляет 14881 кадров в секунду. При этом полезная пропускная способность для кадров Ethernet II – 5.48 Мбит/с.

Максимальная скорость передачи кадров максимального размера (1500 байт) составляет 813 кадров в секунду. Полезная пропускная способность при этом составит 9.76 Мбит/с.

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

Стандарт Gigabit Ethernet с использованием в качестве среды передачи данных кабеля 5-й категории (неэкранированная витая пара), описанный в разделе IEEE 802.3ab, был окончательно утвержден 28 июня 1999 года.

Прошло время, и сейчас уже можно говорить, что гигабитный Ethernet по «меди» прочно вошел в историю развития локальных сетей. Резкое падение цен как на гигабитные сетевые адаптеры 1000Base-T, так и на гигабитные модули к коммутаторам постепенно привело к тому, что установка подобных адаптеров в серверы становится стандартом де-факто. К примеру, некоторые производители серверов уже стали интегрировать гигабитные адаптеры 1000Base-T на серверные материнские платы, а количество компаний, производящих такие адаптеры, в начале этого года достигло 25. Кроме того, стали выпускаться и адаптеры, предназначенные для установки в рабочие станции (они отличаются тем, что рассчитаны на 32-битную 33-мегагерцевую PCI-шину). Все это позволяет с уверенностью говорить, что через год-два гигабитные сетевые адаптеры станут столь же распространенными, как сейчас адаптеры Fast Ethernet.

Рассмотрим принципиальные нововведения, воплощенные в стандарте IEEE 802.3ab и позволившие достичь столь высокой скорости передачи, при сохранении неизменным максимального расстояния между двумя компьютерами в 100 м, как это было в стандарте Fast Ethernet.

Прежде всего напомним, что сетевые адаптеры работают на физическом и канальном уровнях семиуровневой модели OSI (Open System Interconnection). Канальный уровень принято разделять на два подуровня: MAC и LCC. Подуровень MAC (Media Access Control) - это подуровень управления доступом к среде передачи данных, обеспечивающий корректное совместное использование общей разделяемой среды передачи данных, предоставляя ее в соответствии с определенным алгоритмом в распоряжение той или иной станции. Подуровень LCC (Logical Link Control) отвечает за передачу кадров между узлами с различной степенью надежности, а также реализует функции интерфейса с прилегающим к нему третьим (сетевым) уровнем.

Все отличия между Ethernet и Fast Ethernet сосредоточены только на физическом уровне. При этом MAC и LCC не претерпели каких-либо изменений.

Физический уровень можно условно разделить на три элемента: уровень согласования, независимый от среды интерфейс (Media Independent Interface, MII) и устройство физического уровня (Physical layer device, PHY). Устройство физического уровня также можно поделить на несколько подуровней: подуровень физического кодирования, подуровень физического присоединения (Physical Medium Attachment), подуровень зависимости физической среды (Physical Medium Dependent) и подуровень автопереговоров о скорости передачи данных (Auto-Negotiation).

Если отличия между Ethernet и Fast Ethernet минимальны и не затрагивают MAC-уровня, то при разработке стандарта Gigabit Ethernet 1000Base-T разработчикам пришлось не только внести изменения в физический уровень, но и затронуть MAC-уровень (рис. 1).

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

Первой проблемой реализации скорости 1 Гбит/с стало обеспечение приемлемого диаметра сети при работе в полудуплексном режиме работы. Как известно, минимальный размер кадра в сетях Ethernet и Fast Ethernet составляет 64 байта. Однако размер кадра в 64 байта при скорости передачи в 1 Гбайт/с приводит к тому, что для надежного распознавания коллизий необходимо, чтобы максимальный диаметр сети (расстояние между двумя наиболее удаленными друг от друга компьютерами) составлял не более 25 м. Дело в том, что успешное распознавание коллизий возможно только в том случае, если время между посылкой двух последовательных кадров минимальной длины больше, чем двойное время распространения сигнала между двумя максимально удаленными друг от друга узлами в сети. Поэтому, чтобы обеспечить максимальный диаметр сети в 200 м (два кабеля по 100 м и коммутатор), минимальная длина кадра в стандарте Gigabit Ethernet была увеличена до 512 байт. Для увеличения длины кадра до требуемой сетевой адаптер дополняет поле данных до длины 448 байт так называемым расширением (extention). Поле расширения - это поле, заполненное запрещенными символами, которые невозможно принять за коды данных (рис. 2). В то же время увеличение минимальной длины кадра негативно сказывается при передаче коротких служебных сообщений, например квитанций, так как полезная передаваемая информация становится существенно меньше общей передаваемой информации. С целью сокращения накладных расходов при использовании длинных кадров для передачи коротких квитанций стандартом Gigabit Ethernet допускается возможность передачи нескольких кадров подряд в режиме монопольного захвата среды, то есть без передачи среды другим станциям. Такой монопольный режим захвата называется Burst Mode. В этом режиме станция может передавать подряд несколько кадров с общей длиной не более 8192 байт (BurstLength).

Как уже отмечалось, наряду с изменением MAC-уровня, достижение гигабитных скоростей передачи стало возможным благодаря существенному изменению физического уровня, то есть самой технологии представления данных (кодирования) при передаче данных по витой паре.

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

Неэкранированный кабель 5-й категории состоит из четырех пар проводов, причем каждая пара перекручена между собой. Такой кабель рассчитан для работы на частоте 100 МГц (рис. 3).

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

Если взаимная индукция вычисляется в начале кабеля, то соответствующий тип помех будет называться NEXT (Near-end crosstalk loss). Если же помехи, вызванные взаимной индукцией, рассматриваются в конце кабеля, то они называются FEXT (Far-end crosstalk loss - рис. 4).

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

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

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

При цифровом кодировании битовых «нулей» и «единиц» используют либо потенциальные, либо импульсные коды. В потенциальных кодах (рис. 5) для представления логических нулей и единиц используют только значение потенциала сигнала. Например, единицу представляют в виде потенциала высокого уровня, а нуль - в виде потенциала низкого уровня. Импульсные коды позволяют представлять биты перепадом потенциала определенного направления. Так, перепад потенциала от низкого уровня к высокому может соответствовать логическому нулю.

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

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

Во-вторых, обладал бы способностью распознавать ошибки.

В-третьих, обеспечивал бы синхронизацию между приемником и передатчиком.

Код NRZ

В простейшем случае потенциального кодирования логическую единицу можно представлять высоким потенциалом, а логический нуль - низким. Подобный способ представления сигнала получил название «кодирование без возврата к нулю, или кодирование NRZ (Non Return to Zero)». Под термином «без возврата» в данном случае понимается то, что на протяжении всего тактового интервала не происходит изменения уровня сигнала. Метод NRZ прост в реализации, обладает хорошей распознаваемостью ошибок, но не обладает свойством самосинхронизации. Отсутствие самосинхронизации приводит к тому, что при появлении длинных последовательностей нулей или единиц приемник лишен возможности определять по входному сигналу те моменты времени, когда нужно в очередной раз считывать данные. Поэтому незначительное рассогласование тактовых частот приемника и передатчика может приводить к появлению ошибок, если приемник считывает данные не в тот момент времени, когда это нужно. Особенно критично такое явление при высоких скоростях передачи, когда время одного импульса чрезвычайно мало (при скорости передачи 100 Мбит/с время одного импульса составляет 10 нс). Другим недостатком кода NRZ является наличие низкочастотной составляющей в спектре сигнала при появлении длинных последовательностей нулей или единиц. Поэтому код NRZ не используется в чистом виде для передачи данных.

Код NRZI

Другим типом кодирования является несколько видоизмененный NRZ-код, называемый NRZI (Non Return to Zero with one Inverted). Код NRZI является простейшей реализацией принципа кодирования сменой уровня сигнала или дифференциального кодирования. При таком кодировании при передаче нуля уровень сигнала не меняется, то есть потенциал сигнала остается таким же, как и в предыдущем такте. При передаче единицы потенциал инвертируется на противоположный. Сравнение кодов NRZ и NRZI показывает, что код NRZI обладает лучшей самосинхронизацией в том случае, если в кодируемой информации логических единиц больше, чем логических нулей. Таким образом, этот код позволяет «бороться» с длинными последовательностями единиц, но не обеспечивает должной самосинхронизации при появлении длинных последовательностей логических нулей.

Манчестерский код

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

Из всех рассмотренных нами кодов манчестерский обладает лучшей самосинхронизацией, поскольку перепад сигнала происходит как минимум один раз за такт. Именно поэтому манчестерский код используется в сетях Ethernet со скоростью передачи 10 Мбит/с (10Ваsе 5, 10Ваsе 2, 10Bаsе-Т).

Код МLТ-3

Код МLТ-3 (Multi Level Transmission-3) реализуется аналогично коду NRZI. Изменение уровня линейного сигнала происходит только в том случае, если на вход кодера поступает единица, однако в отличие от кода NRZI алгоритм формирования выбран таким образом, чтобы два соседних изменения всегда имели противоположные направления. Недостаток кода MLT-3 такой же, как и у кода NRZI, - отсутствие должной синхронизации при появлении длинных последовательностей логических нулей.

Как уже отмечалось, различные коды отличаются друг от друга не только степенью самосинхронизации, но и шириной спектра. Ширина спектра сигнала определяется в первую очередь теми гармониками, которые дают основной энергетический вклад в формирование сигнала. Основную гармонику легко рассчитать для каждого типа кода. В коде NRZ или NRZI максимальная частота основной гармоники (рис. 6) соответствует периодической последовательности логических нулей и единиц, то есть когда не встречается подряд нескольких нулей или единиц. В этом случае период основной гармоники равен временному интервалу двух битов, то есть при скорости передачи 100 Мбит/с частота основной гармоники должна быть 50 Гц.

В манчестерском коде максимальная частота основной гармоники соответствует ситуации, когда на вход кодера поступает длинная последовательность нулей. В этом случае период основной гармоники равен временному интервалу одного бита, то есть при скорости передачи 100 Мбит/с максимальная частота основной гармоники будет 100 Гц.

В коде MLT-3 максимальная частота основной гармоники (рис. 7) достигается при подаче на вход кодера длинных последовательностей логических единиц. В этом случае период основной гармоники соответствует временному интервалу четырех битов. Следовательно, при скорости передачи 100 Мбит/с максимальная частота основной гармоники будет равна 25 МГц.

Как уже отмечалось, манчестерское кодирование используется в сетях Ethrnet 10 Мбит/с, что связано и с хорошими самосинхронизирующими свойствами кода, и с допустимой максимальной частотой основной гармоники, которая при работе на скорости 10 Мбит/с составит 10 МГц. Этого значения достаточно для кабеля не только 5-й, но и 3-й категории, которая рассчитана на частоту 20 МГц.

В то же время использование манчестерского кодирования для более высокоскоростных сетей (100 Мбит/с, 1 Гбит/с) является неприемлемым, так как кабели не рассчитаны на работу при столь высоких частотах. Поэтому используются другие коды (NRZI и MLT-3), но для улучшения самосинхронизирующих свойств кода они подвергаются дополнительной обработке.

Избыточные коды

Такая дополнительная обработка заключается в логическом блочном кодировании, когда одна группа бит по определенному алгоритму заменяется другой группой. Наиболее распространенными типами подобного кодирования являются избыточные коды 4B/5B, 8B/6T и 8B/10T.

В этих кодах исходные группы бит заменяются на новые, но более длинные группы. В коде 4B/5B группе из четырех бит ставится в соответствие группа из пяти бит. Возникает вопрос - для чего нужны все эти усложнения? Дело в том, что такое кодирование является избыточным. К примеру, в коде 4B/5B в исходной последовательности из четырех бит существует 16 различных битовых комбинаций нулей и единиц, а в группе из пяти бит таких комбинаций уже 32. Поэтому в результирующем коде можно выбрать 16 таких комбинаций, которые не содержат большого количества нулей (напомним, что в исходных кодах NRZI и MLT-3 длинные последовательности нулей приводят к потере синхронизации). При этом остальные не используемые комбинации можно считать запрещенными последовательностями. Таким образом, кроме улучшения самосинхронизирующих свойств исходного кода избыточное кодирование позволяет приемнику распознавать ошибки, так как появление запрещенной последовательности бит свидетельствует о возникновении ошибки. Соответствие исходных и результирующих кодов приведено в табл. 1 .

Из таблицы видно, что после использования избыточного кода 4B/5B в результирующих последовательностях не встречается более двух нулей подряд, что гарантирует самосинхронизацию битовой последовательности.

В коде 8B/6T последовательность восьми бит исходной информации заменяется последовательностью из шести сигналов, каждый из которых может принимать три состояния. В восьмибитной последовательности имеется 256 различных состояний, а в последовательности шести трехуровневых сигналов таких состояний уже 729 (3 6 =729), поэтому 473 состояния считаются запрещенными.

В коде 8B/10T каждая восьмибитная последовательность заменяется на десятибитную. При этом в исходной последовательности содержится 256 различных комбинаций нулей и единиц, а в результирующей 1024. Таким образом, 768 комбинаций являются запрещенными.

Все рассмотренные избыточные коды находят применение в сетях Ethernet. Так, код 4B/5B используется в стандарте 100Base-TX, а код 8B/6T - в стандарте 100Base-4T, который в настоящее время практически уже не используется. Код 8B/10T используется в стандарте 1000Base-Х (когда в качестве среды передачи данных используется оптоволокно).

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

Скремблирование

Скрэмблирование (scramble - перемешивание) заключается в перемешивании исходной последовательности нулей и единиц с целью улучшения спектральных характеристик и самосинхронизирующих свойств результирующей последовательности битов. Осуществляется скремблирование путем побитовой операции исключающего ИЛИ (XOR) исходной последовательности с псевдослучайной последовательностью. В результате получается «зашифрованный» поток, который восстанавливается на стороне приемника с помощью дескрэмблера.

С аппаратной точки зрения скрэмблер состоит из нескольких логических элементов XOR и регистров сдвига. Напомним, что логический элемент XOR (исключающее ИЛИ) совершает над двумя булевыми операндами x и y, которые могут принимать значение 0 или 1, логическую операцию на основе таблицы истинности (табл. 2).

Из данной таблицы непосредственно следует основное свойство операции исключающего ИЛИ:

Кроме того, нетрудно заметить, что к операции исключающего ИЛИ применим сочетательный закон:

На схемах логический элемент XOR принято обозначать так, как показано на рис. 8 .

Как уже отмечалось, другим составным элементом скрэмблера является регистр сдвига. Регистр сдвига состоит из нескольких последовательно связанных друг с другом элементарных запоминающих ячеек, выполненных на основе триггерных схем и передающих информационный сигнал с входа на выход по управляющему сигналу - тактирующему импульсу. Регистры сдвига могут реагировать как на положительный фронт тактирующего импульса (то есть при переходе управляющего сигнала из состояния 0 в состояние 1), так и на отрицательный фронт.

Рассмотрим простейшую запоминающую ячейку регистра сдвига, управляемую по положительному фронту тактирующего импульса С (рис. 9).

В момент изменения тактирующего импульса из состояния 0 в состояние 1 на выход ячейки передается тот сигнал, который был на его входе в предыдущий момент времени, то есть когда управляющий сигнал С был равен 0. После этого состояние выхода не изменяется (ячейка заперта) вплоть до прихода следующего положительного фронта тактирующего импульса.

Используя цепочку, состоящую из нескольких последовательно связанных запоминающих ячеек с одним и тем же управляющим сигналом, можно составить регистр сдвига (рис. 10), в котором информационные биты будут последовательно передаваться от одной ячейки к другой синхронно по положительному фронту тактирующего импульса.

Составным элементом любого скрэмблера является генератор псевдослучайной последовательности. Такой генератор образуется из регистра сдвига при создании обратной связи между входом и выходами запоминающих ячеек регистра сдвига посредством логических элементов XOR.

Рассмотрим генератор псевдослучайной последовательности, изображенный на рис. 11 . Пусть в начальный момент времени все четыре запоминающие ячейки хранят некоторое предустановленное состояние. К примеру, можно предположить, что Q1=1, Q2=0, Q3=0 и Q4=1, а на входе первой ячейки D=0. После прихода тактирующего импульса все разряды сдвинутся на один бит, а на вход D поступит сигнал, значение которого определится по формуле:

Пользуясь данной формулой, нетрудно определить значения выходов запоминающих ячеек на каждом такте работы генератора. В табл. 3 показано состояние выходов запоминающих ячеек генератора псевдослучайной последовательности на каждом такте работы. При этом нетрудно заметить, что в начальный момент времени и через 15 тактов состояние генератора полностью повторяется, то есть 15 тактов работы - это период повторения нашей псевдослучайной последовательности (именно из наличия периода повторения последовательность и называется псевдослучайной). В общем случае, если генератор состоит из n-ячеек, период повторения равен:

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

Если обозначить двоичную цифру исходного кода, поступающую на i-м такте работы на вход скрэмблера, через A i , а двоичную цифру результирующего кода, полученную на i-м такте работы, через B i , то нетрудно заметить, что рассматриваемый скрэмблер осуществляет следующую логическую операцию: , где B i -3 и B i -4 - двоичные цифры результирующего кода, полученные на предыдущих тактах работы скрэмблера, соответственно на 3 и на 4 такта ранее текущего момента.

После раскодирования полученной таким образом последовательности на стороне приемника используется дескрэмблер. Самое удивительное, что схема дескрэмблера полностью идентична схеме скрэмблера. В том, что это действительно так, нетрудно убедиться путем простых рассуждений. Если обозначить через B i двоичную цифру исходного кода, поступающую на i-м такте работы на вход дескрэмблера, а двоичную цифру результирующего кода, полученную на i-м такте работы, через С i , то дескрэмблер, работая по той же схеме, что и скрэмблер, должен реализовывать следующий алгоритм:

Следовательно, если схема дескрэмблера совпадает со схемой скрэмблера, то дескреблер полностью восстанавливает исходную последовательность информационных бит.

Рассмотренная четырехразрядная схема скрэмблера является одной из простейших. В технологии 1000Base-T используется значительно более сложный скрэмблер на 33 разряда, что увеличивает период повторения до 8 589 934 591 бит (2 33 –1), то есть формируемые псевдослучайные последовательности повторяются через 68,72 с.

Кодирование PAM-5

Разобравшись с тем, какие коды используются для представления данных, и рассмотрев методы улучшения самосинхронизирующих и спектральных свойств этих кодов, попробуем выяснить, достаточно ли этих мер, чтобы обеспечить передачу данных на скорости 1000 Мбит/с с использованием четырехпарного кабеля 5-й категории.

Как уже отмечалось, манчестерское кодирование обладает хорошими самосинхронизирующими свойствами и в этом смысле не требует каких-либо доработок, однако максимальная частота основной гармоники численно равна скорости передачи данных, то есть количеству переданных бит в секунду. Этого достаточно для передачи данных со скоростью 10 Мбит/с, так как кабель 3-й категории (а в стандарте 10Base-T может использоваться такой кабель) ограничен частотами в 16 МГц. Однако манчестерское кодирование не годится для передачи данных со скоростью 100 Мбит/с и выше.

Использование кода NRZI после дополнительной доработки с помощью избыточного блочного кода 4B/5B и скрэмблирования, а также трехпозиционного кода MLT-3 (с целью уменьшения максимальной частоты основной гармоники) позволяет передавать данные со скоростью 100 Мбит/с по кабелю 5-й категории. Действительно, при использовании кода MLT-3 максимальная частота основной гармоники численно равна одной четвертой от скорости передачи данных, то есть при скорости передачи 100 Мбит/с частота основной гармоники не превосходит 25 МГц, что вполне достаточно для кабеля 5-й категории. Однако такой способ не годится для передачи данных на скорости 1000 Мбит/с.

Поэтому в стандарте 1000Base-T используется принципиально иной способ кодирования. Для уменьшения тактовой частоты до величин, позволяющих передавать данные по витым парам категории 5, данные в линии представляются в так называемом коде PAM-5 (рис. 13). В нем передаваемый сигнал имеет набор из пяти фиксированных уровней {–2, –1, 0, +1, +2}. Четыре из них используются для кодирования информационных битов, а пятый предназначен для коррекции ошибок. На наборе из четырех фиксированных уровней одним дискретным состоянием сигнала можно закодировать сразу два информационных бита, поскольку комбинация из двух бит имеет четыре возможные комбинации (так называемые дибиты) - 00, 01, 10 и 11.

Переход к дибитам позволяет в два раза повысить битовую скорость. Чтобы различать битовую, или информационную, скорость и скорость различных дискретных состояний сигнала, вводят понятие бодовой скорости. Бод - это количество различных дискретных состояний сигнала в единицу времени. Поэтому, если в одном дискретном состоянии кодируется два бита, битовая скорость в два раза больше бодовой, то есть 1 Бод = 2 бит/с.

Если учесть, что кабель 5-й категории рассчитан на частоту 125 МГц, то есть способен работать с бодовой скоростью 125 МБод, то информационная скорость по одной витой паре составит 250 Мбит/с. Вспомним, что в кабеле имеется четыре витые пары, поэтому если задействовать все четыре пары (рис. 14), то можно повысить скорость передачи до 250 Мбит/сх4=1000 Мбит/с, то есть достичь желаемой скорости.

Как уже отмечалось, в кодировании PAM-5 имеется пять дискретных уровней, однако для передачи дибитов используется только четыре уровня. Пятый избыточный уровень кода (Forward Error Correction, FEC) используется для механизма построения коррекции ошибок. Он реализуется кодером Треллиса и декодером Витерби. Применение механизма коррекции ошибок позволяет увеличить помехоустойчивость приемника на 6 дБ.

Треллис-кодирование

Рассмотрим принципы треллис-кодирования на основе простейшего кодера, состоящего из двух запоминающих ячеек и элементов XOR (рис. 15). Пусть на вход такого кодера поступает со скоростью k бит/с последовательность бит 0101110010. Если на выходе кодера установить считывающую ячейку, работающую с вдвое большей частотой, чем скорость поступления бит на вход кодера, то скорость выходного потока будет в два раза выше скорости входного потока. При этом считывающая ячейка за первую половину такта работы кодера считывает данные сначала с логического элемента XOR 2, а вторую половину такта - с логического элемента XOR 3. В результате каждому входному биту ставится в соответствие два выходных бита, то есть дибит, первый бит которого формируется элементом XOR 2, а второй - элементом XOR 3. По временной диаграмме состояния кодера нетрудно проследить, что при входной последовательности бит 0101110010 выходная последовательность будет 00 11 10 00 01 10 01 11 11 10.

Отметим одну важную особенность принципа формирования дибитов. Значение каждого формируемого дибита зависит не только от входящего информационного бита, но и от двух предыдущих бит, значения которых хранятся в двух запоминающих ячейках. Действительно, если принято, что A i - входящий бит, то значение элемента XOR 2 определится выражением , а значение элемента XOR 3 - выражением . Таким образом, дибит формируется из пары битов, значение первого из которых равно , а второго - . Следовательно, значение дибита зависит от трех состояний: значения входного бита, значения первой запоминающей ячейки и значения второй запоминающей ячейки. Такие кодеры получили название сверточных кодеров на три состояния (K = 3) с выходной скоростью ½.

Работу кодера удобно рассматривать на основе не временных диаграмм, а так называемой диаграммы состояния. Состояние кодера будем указывать с помощью двух значений - значения первой и второй запоминающих ячеек. К примеру, если первая ячейка хранит значение 1 (Q1=1), а вторая - 0 (Q2=0), то состояние кодера описывается значением 10. Всего возможно четыре различных состояния кодера: 00, 01, 10 и 11.

Пусть в некоторый момент времени состояние кодера равно 00. Нас интересует, каким станет состояние кодера в следующий момент времени и какой дибит будет при этом сформирован. Возможны два исхода в зависимости от того, какой бит поступит на вход кодера. Если на вход кодера поступит 0, то следующее состояние кодера также будет 00, если же поступит 1, то следующее состояние (то есть после сдвига) будет 10. Значение формируемых при этом дибитов рассчитывается по формулам и . Если на вход кодера поступает 0, то будет сформирован дибит 00 (), если же на вход поступает 1, то формируется дибит 11 (). Приведенные рассуждения удобно представить наглядно с помощью диаграммы состояний (рис. 16), где в кружках обозначаются состояния кодера, а входящий бит и формируемый дибит пишутся через косую черту. Например, если входящий бит 1, а формируемый дибит 11, то записываем: 1/11.

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

Используя диаграмму состояний кодера, несложно построить временную диаграмму переходов для уже рассмотренной нами входной последовательности бит 0101110010. Для этого строится таблица, в столбцах которой отмечаются возможные состояния кодера, а в строках - моменты времени. Возможные переходы между различными состояниями кодера отображаются стрелками (на основе полной диаграммы состояний кодера - рис. 17), над которыми обозначаются входной бит, соответствующий данному переходу, и соответствующий дибит. Например, для двух первых моментов времени диаграмма состояния кодера выглядит так, как показано на рис. 18 . Красной стрелкой отображен переход, соответствующий рассматриваемой последовательности бит.

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

Основным достоинством изложенного выше метода треллис-кодирования является его помехоустойчивость. Как будет показано в дальнейшем, благодаря избыточности кодирования (вспомним, что каждому информационному биту ставится в соответствие дибит, то есть избыточность кода равна 2) даже в случае возникновения ошибок приема (к примеру, вместо дибита 11 ошибочно принят дибит 10) исходная последовательность бит может быть безошибочно восстановлена.

Для восстановления исходной последовательности бит на стороне приемника используется декодер Витерби.

Декодер Витерби

Декодер Витерби в случае безошибочного приема всей последовательности дибитов 00 11 10 00 01 10 01 11 11 10 будет обладать информацией об этой последовательности, а также о строении кодера (то есть о его диаграмме состояний) и о его начальном состоянии (00). Исходя из этой информации он должен восстановить исходную последовательность бит. Рассмотрим, каким образом происходит восстановление исходной информации.

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

Однако у нас нет 100% гарантии того, что принятый дибит 00 является правильным, поэтому не стоит пока отметать и второй возможный путь из состояния 00 в состояние 10, соответствующий дибиту 11 и исходному биту 1. Два пути, показанные на диаграмме, отличаются друг от друга так называемой метрикой ошибок, которая для каждого пути рассчитывается следующим образом. Для перехода, соответствующего принятому дибиту (то есть для перехода, который считается верным), метрика ошибок принимается равной нулю, а для остальных переходов она рассчитывается по количеству отличающихся битов в принятом дибите и дибите, отвечающем рассматриваемому переходу. Например, если принятый дибит 00, а дибит, отвечающий рассматриваемому переходу, равен 11, то метрика ошибок для этого перехода равна 2.

Для следующего момента времени, соответствующего принятому дибиту 11, возможными будут два начальных состояния кодера: 00 и 10, а конечных состояния будет четыре: 00, 01, 10 и 11 (рис. 23). Соответственно для этих конечных состояний существует несколько возможных путей, отличающихся друг от друга метрикой ошибок. При расчете метрики ошибок необходимо учитывать метрику предыдущего состояния, то есть если для предыдущего момента времени метрика для состояния 10 была равной 2, то при переходе из этого состояния в состояние 01 метрика ошибок нового состояния (метрика всего пути) станет равной 2 + 1 = 3.

Для следующего момента времени, соответствующего принятому дибиту 10, отметим, что в состояния 00, 01 и 11 ведут по два пути (рис. 24). В этом случае необходимо оставить только те переходы, которым отвечает меньшая метрика ошибок. Кроме того, поскольку переходы из состояния 11 в состояние 11 и в состояние 01 отбрасываются, переход из состояния 10 в состояние 11, отвечающий предыдущему моменту времени, не имеет продолжения, поэтому тоже может быть отброшен. Аналогично отбрасывается переход, отвечающий предыдущему моменту времени из состояния 00 в 00.

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

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

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

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

В описанном выше случае мы предполагали, что все принятые декодером дибиты не содержат ошибок. Рассмотрим далее ситуацию, когда в принятой последовательности дибитов содержатся две ошибки. Пусть вместо правильной последовательности 00 11 10 00 01 10 01 11 11 10 декодер принимает последовательность 00 11 11 00 11 10 01 11 11 10, в которой третий и пятый дебит являются сбойными. Попробуем применить рассмотренный выше алгоритм Витерби, основанный на выборе пути с наименьшей метрикой ошибок, к данной последовательности и выясним, сможем ли мы восстановить в правильном виде исходную последовательность битов, то есть исправить сбойные ошибки.

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

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

После получения десятого дибита количество возможных путей с различной метрикой накопленных ошибок станет достаточно большим (рис. 29), однако на приведенной диаграмме (с использованием табл. 5 , где представлена метрика накопленных ошибок для различных путей) нетрудно выбрать единственный путь с наименьшей метрикой (на рис. 29

Рассмотренный пример сверточного кодера имел всего четыре различных состояния: 00, 01, 10 и 11. В технологии 1000Base-T используется сверточный кодер уже на восемь различных состояний (с тремя элементами задержки), поэтому он называется восьмипозиционным. Кроме того, поскольку символы передаются по всем четырем витым парам кабеля одновременно с использованием пятиуровневого кодирования PAM-5, такое кодирование получило название четырехмерного 4D/PAM-5.

Другим существенным отличием кодера Треллиса, используемого в технологии 1000Base-T, является алгоритм перехода между различными состояниями кодера. В рассмотренном нами простейшем примере состояние кодера в следующий момент времени определялось исключительно текущим состоянием и входным битом. Так, если текущее состояние 00, а входной бит 1, то следующее состояние, то есть поле сдвига битов по запоминающим ячейкам, будет соответствовать 10. В реальном восьмипозиционном кодере Треллиса, управляющих (входных) битов два, а переходы между различными состояниями определяются по алгоритму наибольшего расстояния между точками сигнального созвездия. Как следует из рис. 30 , кодер Треллиса реализует соотношение:

где d 6 , d 7 и d 8 - соответственно биты данных на линиях 6, 7 и 8.

Поясним это на конкретном примере.

Вспомним, что в коде PAM-5 используется пять уровней для передачи сигналов: –2, –1, 0, +1, +2. При этом уровням +2/–2 соответствует напряжение +1/–1 В, а уровням +1/–1 - напряжение +0,5/–0,5 В. Учитывая, что по четырем витым парам одновременно передается четыре уровня сигнала и каждый из этих уровней может принимать одно из пяти значений, всего получаем 625 (5х5х5х5) разных комбинаций сигналов. Различные возможные состояния сигнала удобно изображать на так называемой сигнальной плоскости. На этой плоскости каждое возможное состояние сигнала изображается сигнальной точкой, а совокупность всех сигнальных точек называют сигнальным созвездием. Естественно, что изобразить четырехмерное пространство не представляется возможным, поэтому рассмотрим для наглядности двухмерное сигнальное созвездие 5х5. Такое созвездие формально может соответствовать двум витым парам. Изобразим вдоль оси Х точки, отвечающие одной витой паре, а вдоль оси Y - другой. Тогда наше 2D-созвездие будет выглядеть так, как показано на рис. 31 .

Обратим внимание, что минимальное расстояние между двумя точками такого созвездия равно 1.

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

Поэтому одной из задач кодера Треллиса является такое формирование сигнального созвездия, которое обеспечивало бы максимальное расстояние между различными сигнальными точками. Для того чтобы понять, как это делается, обозначим уровни сигналов –1 и +1 через Х, а уровни –2, 0, +2 через Y. Тогда исходное созвездие можно изобразить в виде, показанном на рис. 33 .

Разделив это созвездие на два подсозвездия, одно из которых сформировано из точек XX и YY, а другое - из точек XY и YX, можно увеличить расстояние между сигнальными точками до (рис. 34).

При использовании двух витых пар задача кодера Треллиса заключается в том, чтобы по одной витой паре посылать только символы, принадлежащие какому-либо одному из сигнальных созвездий, например D0=XX+YY, а по второй витой паре - символы, принадлежащие другому созвездию, например D1=XY+YX. Тогда расстояние между посылаемыми символами станет в два раза больше, чем было в исходном созвездии. В результате улучшается распознаваемость точек в сигнальном созвездии, то есть возрастает помехозащищенность.

Приблизительно по такой же схеме работает и реальный треллис-кодер, формирующий символы, посылаемые по четырем витым парам, однако, поскольку каждой точке созвездия отвечают четыре координаты (по одной на каждую пару) и каждая точка может принимать значение X или Y, то всего существует 16 различных комбинаций, из которых можно сформировать восемь подсозвездий:

В полученных подсозвездиях минимальное расстояние между точками в два раза больше, чем в исходном созвездии. Кроме того, минимальное расстояние между точками двух разных подсозвездий также равно 2. Именно эти восемь сигнальных созвездий формируют диаграмму состояний треллис-кодера. К примеру, состоянию кодера 000 соответствует комбинация точек из созвездий D0D2D4D6 в том смысле, что по первой паре передаются точки из созвездия D0, по второй паре - из созвездия D2 и т.д. Следующему возможному состоянию кодера будет соответствовать такая комбинация, при которой минимальное расстояние между посылаемыми символами по каждой паре равно 2.

Использование треллис-кодирования по описанной схеме позволяет снизить соотношение «сигнал/шум» (SNR) на 6 дБ, то есть значительно увеличить помехоустойчивость при передаче данных.

КомпьютерПресс 2"2002