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




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

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, разбиты на кадры. Напомним, что практически каждой сетевой технологии (независимо от её уровня) соответствует единица передачи данных: Ethernet - кадр, АТМ - ячейка, IP - дейтаграмма и т.д. Данные по сети в чистом виде не передаются. Как правило, к единице данных "пристраевается" заголовок. В некоторых сетевых технологиях добавляется также окончание. Заголовок и окончание несут служебную информацию и состоят из определённых полей.

Так как существует несколько типов кадров, то для того, чтобы понять друг друга, отправитель и получатель должны использовать один и тот же тип кадров. Кадры могут быть четырёх разных форматов, несколько отличающихся друг от друга. Базовых форматов кадров (raw formats) существует всего два - Ethernet II и Ethernet 802.3. Эти форматы отличаются назначением всего одного поля.

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

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

  • Ethernet Type II
  • Ethernet 802.3
  • Ethernet 802.2
  • Ethernet SNAP (SubNetwork Access Protocol).

Рассмотрим поля, общие для всех четырёх типов кадров (рис. 1).

Рис. 1. Общий формат кадров Ethernet

Поля в кадре имеют следующие значения:

  • Поля "Преамбула" и "Признак начала кадра" предназначены для синхронизации отправителя и получателя. Преамбула представляет собой 7 - байтовую последовательность единиц и нулей. Поле признака начала кадра имеет размер 1 байт. Эти поля не принимаются в расчёт при вычислении длины кадра.
  • Поле "Адрес получателя" состоит из 6 байт и содержит физический адрес устройства в сети, которому адресован данный кадр. Значения этого и следующего поля являются уникальными. Каждому производителю адаптеров Ethernet назначаются первые три байта адреса, а оставшиеся три байта определяются непосредственно самим производителем. Например, для адаптеров фирмы 3Com физические адреса будут начинаться с 0020AF. Первый бит адреса получателя имеет специальное значение. Если он равен 0, то это адрес конкретного устройства (только в этом случае первые три байта служат для идентификации производителя сетевой платы), а если 1 - широковещательный. Обычно в широковещательном адресе все оставшиеся биты тоже устанавливаются равными единице (FF FF FF FF FF FF).
  • Поле "Адрес отправителя" состоит из 6 байт и содержит физический адрес устройства в сети, которое отправило данный кадр. Первый бит адреса отправителя всегда равен нулю.
  • Поле "Длина/тип" может содержать длину или тип кадра в зависимости от используемого кадра Ethernet. Если поле задаёт длину, она указывается в двух байтах. Если тип - то содержимое поля указывает на тип протокола верхнего уровня, которому принадлежит данный кадр. Например, при использовании протокола IPX поле имеет значение 8137, а для протокола IP - 0800.
  • Поле "Данные" содержит данные кадра. Чаще всего - это информация, нужная протоколам верхнего уровня. Данное поле не имеет фиксированной длины.
  • Поле "Контрольная сумма" содержит результат вычисления котрольной суммы всех полей, за исключением перамбулы, признака начала кадра и самой контрольной суммы. Вычисление выполняется отправителем и добавляется в кадр. Аналогичная процедура вычисления выполняется и на устройстве получателя. В случае, если результат вычисления не совпадает со значением данного поля, предполагается, что произошла ошибка при передаче. В этом случае кадр считается испорченным и игнорируется.

Следует отметить, что минимальная допустимая длина всех четырёх типов кадров Ethernet составляет 64 байта, а максимальная - 1518 байт. Так как на служебную информацию в кадре отводится 18 байт, то поле "Данных" может иметь длину от 46 до 1500 байт. Если передаваемые по сети данные меньше допустимой минимальной длины, кадр будет автоматически дополняться до 46 байт. Столь жёсткие ограничения на минимальную длину кадра введены для обеспечения нормальной работы механизма обнаружения коллизий.

Стандарт 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

ТЕХНОЛОГИЯ ETHERNET

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

Когда говорят Ethernet, то под этим обычно понимают любой из вариантов этой технологии. В более узком смысле Ethernet - это сетевой стандарт, основанный на экспериментальной сети Ethernet Network, которую фирма Xerox разработала и реализовала в 1975 году. Метод доступа был опробован еще раньше: во второй половине 60-х годов в радиосети Гавайского университета использовались различные варианты случайного доступа к общей радиосреде, получившие общее название Aloha. В 1980 году фирмы DEC, Intel и Xerox совместно разработали и опубликовали стандарт Ethernet версии II для сети, построенной на основе коаксиального кабеля, который стал последней версией фирменного стандарта Ethernet. Поэтому фирменную версию стандарта Ethernet называют стандартом Ethernet DIX или Ethernet П.

На основе стандарта Ethernet DIX был разработан стандарт IEEE 802.3, который во многом совпадает со своим предшественником, но некоторые различия все же имеются. В то время как в стандарте IEEE 802.3 различаются уровни MAC и LLC, в оригинальном Ethernet оба эти уровня объединены в единый канальный уровень. В Ethernet DIX определяется протокол тестирования конфигурации (Ethernet Configuration Test Protocol), который отсутствует в IEEE 802.3. Несколько отличается и формат кадра, хотя минимальные и максимальные размеры кадров в этих стандартах совпадают. Часто для того, чтобы отличить Ethernet, определенный стандартом IEEE, и фирменный Ethernet DIX, первый называют технологией 802.3, а за фирменным оставляют название Ethernet без дополнительных обозначений.

В зависимости от типа физической среды стандарт IEEE 802.3 имеет различные модификации - 10Base-5, 10Base-2, 10Base-T, 10Base-FL, 10Base-FB.

В 1995 году был принят стандарт Fast Ethernet, который во многом не является самостоятельным стандартом, о чем говорит и тот факт, что его описание просто является дополнительным разделом к основному стандарту 802.3 - разделом 802.3u. Аналогично, принятый в 1998 году стандарт Gigabit Ethernet описан в разделе 802.3z основного документа.

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

Все виды стандартов Ethernet (в том числе Fast Ethernet и Gigabit Ethernet) используют один и тот же метод разделения среды передачи данных - метод CSMA/CD.

Адресация в сетях Ethernet

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

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

Физический адрес сети Ethernet состоит из двух частей:

  • Идентификатор производителя оборудования (Vendor codes)
  • Индивидуальный идентификатор устройства

Специальная организация в составе IEEE занимается распределением разрешенных кодировок данного поля по заявкам фирм-производителей сетевого оборудования. Для написания MAC адреса могут быть использованы различные формы. Наиболее часто используется шестнадцатеричная форма, в которой пары байтов отделяются друг от друга символами «-»:

E0-14-00-00-00

В сетях Ethernet и IEEE 802.3 используются три основных режима формирования адреса назначения:

  • Unicast – индивидуальный адрес;
  • Multicast – групповой адрес;
  • Broadcast – широковещательный адрес.

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

Признаком использования режима адресации Multicast является наличие 1 в младшем бите старшего байта идентификатора производителя оборудования.

C-CC-CC-CC

Кадр, содержание поля DA которого принадлежит типу Multicast, будет принят и обработан всеми станциями, которые имеют соответствующее значение поля Vendor Code – в данном случае – это сетевые устройства Cisco. Приведенный Multicast - адрес используется сетевыми устройствами данной фирмы для взаимодействия в соответствии с правилами Cisco Discovery Protocol (CDP).

Станция сети Ethernet и IEEE 802.3 может также использовать режим адресации типа Broadcast. Адрес станции назначения типа Broadcast кодируется специальным значением:

FF-FF-FF-FF-FF-FF

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

Метод доступа CSMA/CD

В сетях Ethernet используется метод доступа к среде передачи данных, называемый методом коллективного доступа с опознаванием несущей и обнаружением коллизий (carrier-sense-multiply-access with collision detection, CSMA/CD) (Множественный доступ к среде передачи с контролем несущей и обнаружением коллизий).

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

Однако сеть со случайным доступом имеет один, пожалуй, главный недостаток - это не совсем устойчивая работа сети при большой загруженности, когда может проходить достаточно большое время, прежде чем данной станции удается передать данные. Виной тому коллизии, которые возникают между станциями, начавшими передачу одновременно или почти одновременно. При возникновении коллизии передаваемые данные не доходят до получателей, а передающим станциям приходится повторно возобновлять передачу - методы кодирования, используемые в Ethernet, не позволяют выделять сигналы каждой станции из общего сигнала. (Заметим, что этот факт отражен в составляющей «Base(band)», присутствующей в названиях всех физических протоколов технологии Ethernet (например, 10Base-2,10Base-T и т. п.). Baseband network означает сеть с немодулированной передачей, в которой сообщения пересылаются в цифровой форме по единственному каналу, без частотного разделения. )

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

Множество всех станций сети, одновременная передача любой пары из которых приводит к коллизии, называется коллизионным доменом (collision domain) или доменом коллизий.

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

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

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

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

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

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

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

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

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

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

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

Р-постоянный (p-persistent) алгоритм. Правила этого алгоритма следующие:

1. Если среда свободна, станция с вероятность p сразу же начинает передачу или с вероятность (1-p ) ожидает в течение фиксированного интервал времени T. Интервал T обычно берется равным максимальному времени распространения сигнала из конца в конец;

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

3. Если передача задержана на один интервал T, станция возвращается к шагу 1.

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

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

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

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

3. Каждая станция, ведущая передачу прослушивает среду, и в случае обнаружения коллизии, не прекращает сразу же передачу а сначала передает короткий специальный сигнал коллизии - jam-сигнал, информируя другие станции о коллизии, и прекращает передачу;

4. После передачи jam-сигнала станция замолкает и ждет некоторое произвольное время в соответствии с правилом бинарной экспоненциальной задержки и затем возвращаясь к шагу 1.

Чтобы получить возможность передавать кадр, станция должна убедиться, что разделяемая среда свободна. Это достигается прослушиванием основной гармоники сигнала, которая также называется несущей частотой (carrier-sense, CS). Признаком незанятости среды является отсутствие на ней несущей частоты, которая при манчестерском способе кодирования равна 5-10 МГц, в зависимости от последовательности единиц и нулей, передаваемых в данный момент.

После окончания передачи кадра все узлы сети обязаны выдержать технологическую паузу (Inter Packet Gap) в 9,6 мкс (96 bt). Эта пауза, называемая также межкадровым интервалом, нужна для приведения сетевых адаптеров в исходное состояние, а также для предотвращения монопольного захвата среды одной станцией.

Рисунок 11.3. Структурная схема алгоритма CSMA/CD (уровень MAC): при передаче кадра станцией

Jam-сигнал (jamming - дословно глушение). Передача jam-сигнала гарантирует, что не один кадр не будет потерян, так как все узлы, которые передавали кадры до возникновения коллизии, приняв jam-сигнал, прервут свои передачи и замолкнут в преддверии новой попытки передать кадры. Jam-сигнал должен быть достаточной длины, чтобы он дошел до самых удаленных станций коллизионного домена, с учетом дополнительной задержки SF (safety margin) на возможных повторителях. Содержание jam-сигнала не принципиально за исключением того, что оно не должно соответствовать значению поля CRC частично переданного кадра (802.3), и первые 62 бита должны представлять чередование ‘1’ и ‘0’ со стартовым битом ‘1’.

Рисунок 11.4. Метод случайного доступа CSMA/CD

На рис.11.5 проиллюстрирован процесс обнаружения коллизии применительно к топологии шина (на основе тонкого или толстого коаксиального кабеля (стандарты 10Base5 и 10Base2 соответственно).

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

Рисунок 11.5. Обнаружение коллизии в при использовании схемы CSMA/CD

По стандарту IEEE 802.3 узел не может предавать очень короткие кадры, или иными словами вести очень короткие передачи. Даже если поле данных не заполнено до конца, то появляется специальное дополнительное поле, удлиняющее кадр до минимальной длины 64 байта без учета преамбулы. Время канала ST (slot time)- это минимальное время, в течение которого узел обязан вести передачу, занимать канал. Это время соответствует передаче кадра минимального допустимого размера, принятого стандартом. Время канала связано с максимальным допустимым расстоянием между узлами сети - диаметром коллизионного домена. Допустим, что в приведенном выше примере реализуется наихудший сценарий, когда станции A и B удалены друг от друга на максимальное расстояние. Время, распространения сигнала от A до B обозначим через . Узел A начинает передавать в нулевой момент времени. Узел B начинает передавать в момент времени и обнаруживает коллизию спустя интервал после начала своей передачи. Узел A обнаруживает коллизию в момент времени . Для того, чтобы кадр, испущенный A , не был потерян, необходимо, чтобы узел A не прекращал вести передачу к этому моменту, так как тогда, обнаружив коллизию, узел A будет знать, что его кадр не дошел, и попытается передавать его повторно. В противном случае кадр будет потерян. Максимальное время, спустя которое с момента начала передачи узел A еще может обнаружить коллизию равно - это время называется временем двойного оборота сигнала PDV (Path Delay Value, PDV) . В более общем случае PDV определяет суммарную задержку, связанную как с задержкой из-за конечной длины сегментов, так и с задержкой, возникающей при обработке кадров на физическом уровнем промежуточных повторителей и оконечных узлов сети. Для дальнейшего рассмотрения удобно использовать также другую единицу измерения времени: битовое время bt (bit time). Время в 1 bt соответствует времени, необходимому для передачи одного бита, т.е. 0,1 мкс при скорости 10 Мбит/с.

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

Для надежного распознавания коллизий должно выполняться следующее соотношение:

T min >=PVD ,

где T min - время передачи кадра минимальной длины, a PDV - время, за которое сигнал коллизии успевает распространиться до самого дальнего узла сети. Так как в худшем случае сигнал должен пройти дважды между наиболее удаленными друг от друга станциями сети (в одну сторону проходит неискаженный сигнал, а на обратном пути распространяется уже искаженный коллизией сигнал), то именно поэтому это время называется временем двойного оборота (Path Delay Value, PDV).

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

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

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

В стандарте Ethernet принято, что минимальная длина поля данных кадра составляет 46 байт (что вместе со служебными полями дает минимальную длину кадра 64 байт, а вместе с преамбулой - 72 байт или 576 бит).

При передаче больших кадров, например 1500 байт, коллизия, если она вообще возникнет, обнаруживается практически в самом начале передачи, не позднее первых 64 переданных байт (если коллизия не возникла в это время, то позже она уже не возникнет, поскольку все станции прослушивают линию и, "слыша" передачу, будут молчать). Так как jam-сигнал значительно короче полного размера кадра, то при использовании алгоритма CSMA/CD количество в холостую израсходованной емкости канала сокращается до времени, требуемого на обнаружение коллизии. Раннее обнаружение коллизий приводит к более эффективному использованию канала. Позднее обнаружение коллизий, свойственное более протяженным сетям, когда диаметр коллизионного домена составляет несколько километров, что снижает эффективность работы сети. На основании упрощенной теоретической модели поведения загруженной сети (в предположении большого числа одновременно передающих станций и фиксированной минимальной длины передаваемых кадров у всех станций) можно выразить производительность сети U через отношение PDV/ST:

где - основание натурального логарифма. На производительность сети влияет размер транслируемых кадров и диаметр сети. Производительность в наихудшем случае (когда PDV=ST) составляет около 37%, а в наилучшем случае (когда PDV много меньше, чем ST) стремится к 1. Хотя формула и выведена в пределе большого числа станций, пытающихся передавать одновременно, она не учитывает особенностей алгоритма усеченной бинарной экспоненциальной задержки, рассмотренного ниже, и не справедлива для сильно перегруженной коллизиями сети, например, когда станций, желающих передавать, становится больше 15.

Усеченная бинарная экспоненциальная задержка (truncated binary exponential backoff). Алгоритм CSMA/CD, принятый в стандарте IEEE 802.3, наиболее близок к 1-постоянному алгоритму, но отличается дополнительным элементом - усеченной бинарной экспоненциальной задержкой. При возникновении коллизии стация подсчитывает, сколько раз подряд при отправке пакета возникает коллизия. Поскольку повторяющиеся коллизии свидетельствуют о высокой загруженности среды, MAC-узел пытается увеличивать задержку между повторными попытками передачи кадра. Соответствующая процедура увеличения интервалов времени подчиняется правилу усеченной бинарной экспоненциальной задержки .

Случайная пауза выбирается по следующему алгоритму:

Пауза = Lх(интервал отсрочки),

где (интервал отсрочки) = 512 битовым интервалам (51,2 мкс);

L представляет собой целое число, выбранное с равной вероятностью из диапазона , где N - номер повторной попытки передачи данного кадра: 1,2,..., 10.

После 10-й попытки интервал, из которого выбирается пауза, не увеличивается. Таким образом, случайная пауза может принимать значения от 0 до 52,4 мс.

Если 16 последовательных попыток передачи кадра вызывают коллизию, то передатчик должен прекратить попытки и отбросить этот кадр.

Алгоритм CSMA/CD с использованием усеченной бинарной экспоненциальной задержки признан лучшим среди множества алгоритмов случайного доступа и обеспечивает эффективную работу сети как при малых, так и при средних загрузках. При больших загрузках следует отметить два недостатка. Во-первых, при большом числе коллизий станция 1, которая впервые собирается отправить кадр (до этого не пыталась передавать кадры), имеет преимущество перед станцией 2, которая уже несколько раз безуспешно пыталась передать кадр, натыкаясь на коллизии. Поскольку станция 2 ожидает значительное время пред последующими попытками в соответствии с правилом бинарной экспоненциальной задержки. Таким образом, может наблюдаться нерегулярность передачи кадров, что нежелательно для зависящих от времени приложений. Во-вторых, при большой загруженности снижается эффективность работы сети в целом. Оценки показывают, что при одновременной передаче 25 станций общая полоса пропускания снижается примерно в 2 раза. Но число станций в коллизионном домене может быть больше, поскольку далеко не все они одновременно будут обращаться к среде.

Прием кадра (рис.11.6)

Рисунок 11.6. Структурная схема алгоритма CSMA/CD (уровень MAC): при приеме кадра станцией

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

На уровне MAC оставшиеся биты преамбулы сбрасываются, а станция читает адрес назначения и сравнивает его со своим собственным. Если адреса совпадают, то поля кадра за исключением преамбулы, SDF и FCS помещаются в буфер и вычисляется контрольная сумма, которая сравнивается с полем контрольной последовательности кадра FCS (используется метод циклического суммирования CRC-32). Если они равны, то содержимое буфера передается протоколу более высокого уровня. В противном случае кадр сбрасывается. Возникновение коллизии при приеме кадра обнаруживается либо по изменению электрического потенциала, если используется коаксиальный сегмент, либо по факту приема дефектного кадра, неверная контрольная сумма, если используется витая пара или оптическое волокно. В обоих случаях принятая информация сбрасывается.

Из описания метода доступа видно, что он носит вероятностный характер, и вероятность успешного получения в свое распоряжение общей среды зависит от загруженности сети, то есть от интенсивности возникновения в станциях потребности в передаче кадров. При разработке этого метода в конце 70-х годов предполагалось, что скорость передачи данных в 10 Мбит/с очень высока по сравнению с потребностями компьютеров во взаимном обмене данными, поэтому загрузка сети будет всегда небольшой. Это предположение остается иногда справедливым и по сей день, однако уже появились приложения, работающие в реальном масштабе времени с мультимедийной информацией, которые очень загружают сегменты Ethernet. При этом коллизии возникают гораздо чаще. При значительной интенсивности коллизий полезная пропускная способность сети Ethernet резко падает, так как сеть почти постоянно занята повторными попытками передачи кадров. Для уменьшения интенсивности возникновения коллизий нужно либо уменьшить трафик, сократив, например, количество узлов в сегменте или заменив приложения, либо повысить скорость протокола, например перейти на Fast Ethernet.

Следует отметить, что метод доступа CSMA/CD вообще не гарантирует станции, что она когда-либо сможет получить доступ к среде. Конечно, при небольшой загрузке сети вероятность такого события невелика, но при коэффициенте использования сети, приближающемся к 1, такое событие становится очень вероятным. Этот недостаток метода случайного доступа - плата за его чрезвычайную простоту, которая сделала технологию Ethernet самой недорогой. Другие методы доступа - маркерный доступ сетей Token Ring и FDDI, метод Demand Priority сетей 100VG-AnyLAN - свободны от этого недостатка.

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

С увеличением скорости передачи кадров, что имеет место в новых стандартах, базирующихся на том же методе доступа CSMA/CD, например Fast Ethernet, максимальное расстояние между станциями сети уменьшается пропорционально увеличению скорости передачи. В стандарте Fast Ethernet оно составляет около 210 м, а в стандарте Gigabit Ethernet оно было бы ограничено 25 метрами, если бы разработчики стандарта не предприняли некоторых мер по увеличению минимального размера пакета.

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

Таблица 11.1. Параметры уровня MAC Ethernet

Параметры Значения
Битовая скорость 10 Мбит/с
Интервал отсрочки 512 bt
Межкадровый интервал (IPG) 9,6 мкс
Максимальное число попыток передачи
Максимальное число возрастания диапазона паузы
Длина jam-последовательности 32 бита
Максимальная длина кадра (без преамбулы) 1518 байт
Минимальная длина кадра (без преамбулы) 64 байт (512 бит)
Длина преамбулы 64 бит
Минимальная длина случайной паузы после коллизии 0 bt
Максимальная длина случайной паузы после коллизии 524000 bt
Максимальное расстояние между станциями сети 2500м
Максимальное число станций в сети

Форматы кадров технологии Ethernet

Стандарт технологии Ethernet, описанный в документе IEEE 802.3, дает описание единственного формата кадра уровня MAC. Так как в кадр уровня MAC должен вкладываться кадр уровня LLC, описанный в документе IEEE 802.2, то по стандартам IEEE в сети Ethernet может использоваться только единственный вариант кадра канального уровня, заголовок которого является комбинацией заголовков MAC и LLC подуровней.

Тем не менее, на практике в сетях Ethernet на канальном уровне используются кадры 4-х различных форматов (типов). Это связано с длительной историей развития технологии Ethernet, насчитывающей период существования до принятия стандартов IEEE 802, когда подуровень LLC не выделялся из общего протокола и, соответственно, заголовок LLC не применялся.

Консорциум трех фирм Digital, Intel и Xerox в 1980 году представил на рассмотрение комитету 802.3 свою фирменную версию стандарта Ethernet (в которой был, естественно, описан определенный формат кадра) в качестве проекта международного стандарта, но комитет 802.3 принял стандарт, отличающийся в некоторых деталях от предложения DIX. Отличия касались и формата кадра, что породило существование двух различных типов кадров в сетях Ethernet.

Еще один формат кадра появился в результате усилий компании Novell по ускорению работы своего стека протоколов в сетях Ethernet.

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

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

Ниже приводится описание всех четырех типов кадров Ethernet (здесь под кадром понимается весь набор полей, которые относятся к канальному уровню, то есть поля MAC и LLC уровней). Один и тот же тип кадра может иметь разные названия, поэтому ниже для каждого типа кадра приведено по нескольку наиболее употребительных названий:

  • кадр 802.3/LLC (кадр 802.3/802.2 или кадр Novell 802.2);
  • кадр Raw 802.3 (или кадр Novell 802.3);
  • кадр Ethernet DIX (или кадр Ethernet II);
  • кадр Ethernet SNAP.

Форматы всех этих четырех типов кадров Ethernet приведены на рис. 11.7.

Кадр 802.3/LLC

Заголовок кадра 802.3/LLC является результатом объединения полей заголовков кадров, определенных в стандартах IEEE 802.3 и 802.2.

Стандарт 802.3 определяет восемь полей заголовка (рис. 11.7; поле преамбулы и начальный ограничитель кадра на рисунке не показаны).

  • Поле преамбулы (Preamble) состоит из семи синхронизирующих байт 10101010. При манчестерском кодировании эта комбинация представляется в физической среде периодическим волновым сигналом с частотой 5 МГц.
  • Начальный ограничитель кадра (Start-of-frame-delimiter, SFD) состоит из одного байта 10101011. Появление этой комбинации бит является указанием на то, что следующий байт - это первый байт заголовка кадра.
  • Адрес назначения (Destination Address, DA) может быть длиной 2 или 6 байт. На практике всегда используются адреса из 6 байт. Первый бит старшего байта адреса назначения является признаком того, является адрес индивидуальным или групповым. Если он равен 0, то адрес является индивидуальным (unicast), a если 1, то это групповой адрес (multicast). Если адрес состоит из всех единиц, то есть имеет шестнадцатеричное представление 0xFFFFFFFFFFFF, то он предназначается всем узлам сети и называется широковещательным адресом (broadcast).

В стандартах IEEE Ethernet младший бит байта изображается в самой левой позиции поля, а старший бит -в самой правой. Этот нестандартный способ отображения порядка бит в байте соответствует порядку передачи бит в линию связи передатчиком Ethernet. В стандартах других организаций, например RFC IETF, ITU-T, ISO, используется традиционное представление байта, когда младший бит считается самым правым битом байта, а старший - самым левым. При этом порядок следования байтов остается традиционным. Поэтому при чтении стандартов, опубликованных этими организациями, а также чтении данных, отображаемых на экране операционной системой или анализатором протоколов, значения каждого байта кадра Ethernet нужно зеркально отобразить, чтобы получить правильное представление о значении разрядов этого байта в соответствии с документами IEEE. Например, групповой адрес, имеющийся в нотации IEEE вид 1000 0000 0000 0000 1010 0111 1111 0000 0000 0000 0000 0000 или в шестнадцатеричной записи 80-00-A7-FO-00-00, будет, скорее всего, отображен анализатором протоколов в традиционном виде как 01-00-5E-0F-00-00.

  • Адрес источника (Source Address, SA) - это 2- или 6-байтовое поле, содержащее адрес узла - отправителя кадра. Первый бит адреса всегда имеет значение 0.
  • Длина (Length, L) - 2-байтовое поле, которое определяет длину поля данных в кадре.
  • Поле данных (Data) может содержать от 0 до 1500 байт. Но если длина поля меньше 46 байт, то используется следующее поле - поле заполнения, - чтобы дополнить кадр до минимально допустимого значения в 46 байт.
  • Поле заполнения (Padding) состоит из такого количества байт заполнителей, которое обеспечивает минимальную длину поля данных в 46 байт. Это обеспечивает корректную работу механизма обнаружения коллизий. Если длина поля данных достаточна, то поле заполнения в кадре не появляется.
  • Поле контрольной суммы (Frame Check Sequence, PCS) состоит из 4 байт, содержащих контрольную сумму. Это значение вычисляется по алгоритму CRC-32. После получения кадра рабочая станция выполняет собственное вычисление контрольной суммы для этого кадра, сравнивает полученное значение со значением поля контрольной суммы и, таким образом, определяет, не искажен ли полученный кадр.

Кадр 802.3 является кадром МАС-подуровня, поэтому в соответствии со стандартом 802.2 в его поле данных вкладывается кадр подуровня LLC с удаленными флагами начала и конца кадра. Формат кадра LLC был описан выше. Так как кадр LLC имеет заголовок длиной 3 (в режиме LLC1) или 4 байт (в режиме LLC2), то максимальный размер поля данных уменьшается до 1497 или 1496 байт.

Рисунок 11.7. Форматы кадров Ethernet


Похожая информация.