logo search
Тулябаев Ф

Сетевые технологии ieee802.3/Ethernet

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

 10BASE5 (толстый коаксиальный кабель) - обеспечивает скорость передачи данных 10 Мбит/с и длину сегмента до 500м;

 10BASE2 (тонкий коаксиальный кабель) - обеспечивает скорость передачи данных 10 Мбит/с и длину сегмента до 200м;;

 10BASE-T (неэкранированная витая пара) - позволяет создавать сеть по звездной топологии. Расстояние от концентратора до конечного узла до 100м. Общее количество узлов не должно превышать 1024;

 10BASE-F (оптоволоконный кабель) - позволяет создавать сеть по звездной топологии. Расстояние от концентратора до конечного узла до 2000м. В развитие технологии Ethernet созданы высокоскоростные варианты: IEEE802.3u/Fast Ethernet и IEEE802.3z/Gigabit Ethernet. Основная топология, которая используется в сетях Fast Ethernet и Gigabit Ethernet, пассивная звезда. Сетевая технология Fast Ethernet обеспечивает скорость передачи 100 Мбит/с и имеет три модификации:

 100BASE-T4 - используется неэкранированная витая пара (счетверенная витая пара). Расстояние от концентратора до конечного узла до 100м;

 100BASE-TX - используются две витые пары (неэкранированная и экранированная). Расстояние от концентратора до конечного узла до 100м;  

 100BASE-FX - используется оптоволоконный кабель (два волокна в кабеле). Расстояние от концентратора до конечного узла до 2000м; .

Gigabit Ethernet – обеспечивает скорость передачи 1000 Мбит/с. Существуют следующие модификации стандарта:

 1000BASE-SX – применяется оптоволоконный кабель с длиной волны светового сигнала 850 нм.

 1000BASE-LX – используется оптоволоконный кабель с длиной волны светового сигнала 1300 нм.

 1000BASE-CX – используется экранированная витая пара.

 1000BASE-T – применяется счетверенная неэкранированная витая пара. Сети Fast Ethernet и Gigabit Ethernet совместимы с сетями, выполненными по  стандарту Ethernet, поэтому легко и просто соединять сегменты Ethernet, Fast Ethernet и Gigabit Ethernet в единую вычислительную сеть.

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

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

Кадр Ethernet имеет формат, показанный на рис..

Формат кадра сетей Ethernet (цифры в верхней части рисунка показывают размер поля в байтах)

Поле преамбула содержит 7 байт 0хАА и служит для стабилизации и синхронизации среды (чередующиеся сигналы CD1 и CD0 при завершающем CD0), далее следует поле SFD (start frame delimiter = 0xab), которое предназначено для выявления начала кадра. Поле EFD (end frame delimiter) задает конец кадра. Поле контрольной суммы (CRC - cyclic redundancy check), также как и преамбула, SFD и EFD, формируются и контролируются на аппаратном уровне. В некоторых модификациях протокола поле efd не используется. Пользователю доступны поля, начиная с адреса получателя и кончая полем информация, включительно. После crc следует межпакетная пауза (IPG - interpacket gap - межпакетный интервал) длиной 9,6 мксек или более. Максимальный размер кадра равен 1518 байт (сюда не включены поля преамбулы, SFD и EFD). Интерфейс просматривает все пакеты, следующие по кабельному сегменту, к которому он подключен, ведь определить, корректен ли принятый пакет и кому он адресован, можно лишь приняв его целиком. Корректность пакета по CRC, по длине и кратности целому числу байт производится после проверки адреса места назначения.

При подключении ЭВМ к сети непосредственно с помощью переключателя ограничение на минимальную длину кадра теоретически снимается. Но работа с более короткими кадрами в этом случае станет возможной лишь при замене сетевого интерфейса на нестандартный (причем, как у отправителя, так и получателя)!

Если в поле кадра протокол/тип записан код менее 1500, то это поле характеризует длину кадра. В противном случае - это код протокола, пакет которого инкапсулирован в кадр Ethernet.

Доступ к каналу Ethernet базируется на алгоритме CSMA/CD (carrier sense multiple access with collision detection). В Ethernet любая станция, подключенная к сети, может попытаться начать передачу пакета (кадра), если кабельный сегмент, к которому она подключена, свободен. Свободен ли сегмент, интерфейс определяет по отсутствию "несущей" в течение 9,6 мксек. Так как первый бит пакета достигает остальных станций сети не одновременно, может случиться, что попытку передачи совершат две или более станций, тем более что задержки в повторителях и кабелях могут достигать достаточно больших величин. Такие совпадения попыток называются столкновениями. Столкновение (коллизия) распознается по наличию в канале сигнала, уровень которого соответствует работе двух или более трансиверов одновременно. При обнаружении столкновения станция прерывает передачу. Возобновление попытки может быть произведено после выдержки (кратной 51,2 мксек, но не превосходящей 52 мсек), значения которой является псевдослучайной величиной и вычисляется каждой станцией независимо (t= RAND(0,2min(n,10)), где n - содержимое счетчика попыток, а число 10 - backofflimit).

Обычно после столкновения время разбивается на ряд дискретных доменов с длиной равной удвоенному времени распространения пакета в сегменте (RTT). Для максимально возможного RTT это время равно 512 бит-тактам. После первого столкновения каждая станция ждет 0 или 2 временного домена, прежде чем совершить еще одну попытку. После второго столкновения каждая из станций может выждать 0, 1, 2 или 3 временного домена и т.д.. После n-ого столкновения случайное число лежит в пределах 0 - (2n - 1). После 10 столкновений максимальное значение случайной выдержки перестает расти и остается на уровне 1023.

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

После выдержки станция увеличивает на единицу счетчик попыток и начинает очередную передачу. Предельное число попыток по умолчанию равно 16, если число попыток исчерпано, связь прерывается и выдается соответствующее сообщение. Передаваемый длинный кадр способствует "синхронизации" начала передачи пакетов несколькими станциями. Ведь за время передачи с заметной вероятностью может возникнуть необходимость передачи у двух и более станций. В момент, когда они обнаружат завершение пакета, будут включены таймеры IPG. К счастью информация о завершении передачи пакета доходит до станций сегмента не одновременно. Но задержки, с которыми это связано, являются также причиной того, что факт начала передачи нового пакета одной из станций не становится известным немедленно. При вовлечении в столкновение нескольких станций они могут уведомить остальные станции об этом, послав сигнал "затора" (jam - не менее 32 бит). Содержимое этих 32 бит не регламентируется. Такая схема делает менее вероятным повторное столкновение. Источником большого числа столкновений (помимо информационной перегрузки) может служить запредельная суммарная длина логического кабельного сегмента, слишком большое число повторителей, обрыв кабеля, отсутствие терминатора (50-омного согласователя кабеля) или неисправность одного из интерфейсов. Но сами по себе столкновения не являются чем-то негативным - это механизм, регулирующий доступ к сетевой среде.

В Ethernet при наличии синхронизации возможны следующие алгоритмы:

А.

  1. Если канал свободен, терминал передает пакет с вероятностью 1.

  2. Если канал занят, терминал ждет его освобождения, после чего производится передача.

Б.

  1. Если канал свободен, терминал передает пакет.

  2. Если канал занят, терминал определяет время следующей попытки передачи. Время этой задержки может задаваться некоторым статистическим распределением.

В.

  1. Если канал свободен, терминал с вероятностью р передает пакет, а с вероятностью 1-р он откладывает передачу на t секунд (например, на следующий временной домен).

  2. При повторении попытки при свободном канале алгоритм не изменяется.

  3. Если канал занят, терминал ждет пока канал не освободится, после чего действует снова согласно алгоритму пункта 1.

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

Эффективность алгоритма CSMA зависит от того, как быстро передающая сторона узнает о факте столкновения и прерывает передачу, ведь продолжение бессмысленно - данные уже повреждены. Это время зависит от длины сетевого сегмента и задержек в оборудовании сегмента. Удвоенное значение задержки определяет минимальную длину пакета, передаваемого в такой сети. Если пакет короче, он может быть передан так, что передающая сторона не узнает о его повреждении в результате столкновения. Для современных локальных сетей Ethernet, построенных на переключателях и полнодуплексных соединениях, эта проблема неактуальна

С целью пояснения этого утверждения рассмотрим случай, когда одна из станций (1) передает пакет самой удаленной ЭВМ (2) в данном сетевом сегменте. Время распространения сигнала до этой машины пусть равно Т. Предположим также, что машина (2) попытается начать передачу как раз в момент прихода пакета от станции (1). В этом случае станция (1) узнает о столкновение лишь спустя время 2Т после начала передачи (время распространения сигнала от (1) до (2) плюс время распространения сигнала столкновения от (2) к (1)). Следует учитывать, что регистрация столкновения это аналоговый процесс и передающая станция должна “прослушивать” сигнал в кабеле в процессе передачи, сравнивая результат чтения с тем, что она передает. Важно, чтобы схема кодирования сигнала допускала детектирование столкновение. Например, сумма двух сигналов с уровнем 0 этого сделать не позволит. Можно подумать, что передача короткого пакета с искажением из-за столкновения не такая уж большая беда, проблему может решить контроль доставки и повторная передача.

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