За время своего существования эта технология прошла долгую эволюцию: от Ethernet через коммутируемый Ethernet и Fast Ethernet к Gigabit Ethernet. Однако знание основ никогда не помешает.
Эфирная сеть, как можно перевести Ethernet, получила свое название от несуществующей субстанции (эфира), которой, как считали ученые в прошлом веке, был заполнен вакуум и которая якобы служила средой для распространения света. Однако это технология имеет и более непосредственное отношение к эфиру, точнее, радиоэфиру, так как ее предшественницей была система радиосвязи для разбросанных по Гавайскому архипелагу станций под названием ALOHA.
Основываясь на принципах, заложенных в ALOHA, компания Xerox построила свою собственную кабельную сеть с пропускной способностью 2,94 Мбит/с для связи 100 компьютеров. Проект оказался настолько успешным, что Xerox совместно с DEC и Intel разработала затем спецификацию для Ethernet на 10 Мбит/с. Позднее эта спецификация легла в основу стандарта 802.3. Этот стандарт отличается от исходной спецификации Ethernet форматом кадров и некоторыми другими деталями, в частности он описывает несколько сред и скоростей передачи, на которые Ethernet изначально не был рассчитан. Однако название Ethernet столь прочно прижилось, что оно осталось и за официальным стандартом, и за всеми последующими его модификациями.
CSMA/CD
Стандарт 802.3 рассматривает как физический уровень (типы кабелей, соединители, кодирование сигнала и т. д.), так и канальный уровень, точнее, нижний подуровень канального уровня, определяющий метод доступа к среде передачи (Media Access Sublayer, MAC). С него мы и начнем рассмотрение Ethernet.
Применяемый в Ethernet метод множественного доступа с контролем несущей и обнаружением конфликтов (Carrier Sense Mupltiple Access/Collision Detect, CSMA/CD) можно описать вкратце следующим образом. Когда какая-либо станция А в сегменте Ethernet хочет передать пакет другой станции Б, она пытается вначале определить, что никакая другая станция в это время ничего не передает: в случае, если кабель свободен, станция начинает передачу немедленно. В противном случае она ждет, пока кабель не освободится. Если две станции начинают передачу одновременно, то происходит конфликт. Обе станции прекращают передачу и ждут случайное время, прежде чем попытаться ее возобновить. Конфликт может быть определен по увеличению мощности или ширины импульса регистрируемого сигнала по сравнению с соответствующими характеристиками переданного сигнала.
Допустим, две станции начали передачу одновременно, посчитав, что канал свободен. Сколько времени им потребуется, чтобы понять, что помимо них передачу осуществляет еще и другая станция? Как минимум, это время распространения сигнала от одной станции до другой. Однако, даже если станция не зафиксировала конфликта в течение времени распространения сигнала по кабелю между двумя самыми удаленными станциями, это еще не означает, что она избежала конфликта и "заняла" кабель. Рассмотрим такую ситуацию. Одна из наиболее удаленных станций начинает передачу. Вторая наиболее удаленная станция получит сигнал только через время t, поэтому, не обнаружив передачи, она начинает свою собственную в момент t-e. Конечно, вторая станция тут же обнаружит конфликт (через время t) и прекратит передачу, однако первой станции это уже не поможет; к тому же она обнаружит конфликт только через время 2*t-e. Таким образом, в общем случае время обнаружения конфликта равно времени распространения сигнала от одной самой удаленной станции до другой самой удаленной станции, и обратно. Только по истечении этого времени станция может быть уверена, что она "заняла" кабель. Данная характеристика - время разрешения конфликта - имеет огромное значение для эффективности протокола, в частности во многом именно она определяет ограничения на протяженность кабеля в сегменте Ethernet.
Обнаружение конфликта представляет собой аналоговый процесс. Аппаратное обеспечение станции должно во время передачи продолжать слушать кабель с целью выявления конфликта. Если сигнал, который станция регистрирует, отличается от передаваемого ею, то на этом основании станция определяет, что произошел конфликт. Как следствие, кодирование сигнала должно позволять установить наличие конфликта (например, наложение двух сигналов напряжением 0 В зарегистрировать не представляется возможным). По этой причине в Ethernet применяется специальное кодирование сигнала.
МАНЧЕСТЕРСКОЕ КОДИРОВАНИЕ
Прямое двоичное кодирование нулевого бита нулевым напряжением (0 В) и единичного бита ненулевым напряжением (5 В) не применяется, помимо прочего, из-за того, что оно ведет к неоднозначности. В частности, строку бит 00001000 становится невозможно отличить от строки 10000000 ввиду отсутствия различий между свободной линией (0 В) и нулевым битом (также 0 В).
Следовательно, каким-то образом принимающая сторона должна иметь возможность определить начало и конец любого бита безотносительно внутреннего тактового генератора. Это позволяет сделать манчестерское кодирование и дифференциальное манчестерское кодирование.
При манчестерском кодировании каждый интервал времени, который занимает передача одного бита, разделен на два равных подинтервала. Единичный бит кодируется высоким напряжением в продолжении первой половины интервала и низким напряжением в течение второй его части, а нулевой бит кодируется противоположным образом. Изменение напряжения в середине интервала облегчает принимающей стороне синхронизацию с передающей станцией.
Дифференциальное манчестерское кодирование представляет собой разновидность обычного манчестерского кодирования. В этом случае единичный бит характеризуется отсутствием изменения напряжения по сравнению с уровнем напряжения во второй половине предшествующего бита. Изменение напряжения в начале бита означает, что это нулевой бит.
Недостаток схемы манчестерского кодирования очевиден - оно требует вдвое большей пропускной способности, чем прямое кодирование. Однако вследствие своей простоты манчестерское кодирование используется в 802.3. Уровень напряжения составляет +0,85В и -0,85В, причем в силу принятой схемы кодирования постоянные токи в кабеле не могут возникнуть в принципе.
ФОРМАТ КАДРА
Максимальный размер кадра Ethernet составляет 1526 байт (12 208 бит), а минимальный - 72 байт (576 бит). При частоте передачи 10 МГц время передачи пакета минимальной длины составляет 57,6 мс. Это время несколько больше, чем удвоенное время распространения сигнала между крайними точками кабеля, равное 51,2 мс. Последняя цифра получена исходя из максимально допустимого в Ethernet расстояния между узлами в 2500 м.
Структура кадра показана на Рисунке 1. Каждый кадр начинается с преамбулы длиной 7 байт, причем каждый байт преамбулы представляет собой чередующуюся последовательность единиц и нулей. Преамбула позволяет принимающей стороне подстроиться под передающую станцию, т. е. синхронизироваться с ней. Следом за преамбулой идет стартовый байт (10101011), сигнализирующий о начале кадра.
(1x1)
Рисунок 1.
Форматы кадров Ethernet могут несколько отличаться друг от друга, в
частности поле длины поля данных может иметь смысл типа протокола.
Далее кадр содержит два поля адреса - получателя и отправителя. Стандарт допускает адреса длиной 2 и 6 байт, однако спецификация на немодулированную передачу со скоростью 10 Мбит/с предусматривает применение только адресов длиной 6 байт. Если сетевая плата Ethernet определяет, что адрес получателя совпадает с ее собственным, то, считав кадр, она передает его для дальнейшей обработки на более высокие уровни. Если адреса не совпадают, то кадр игнорируется.
Адреса Ethernet могут быть обычными, групповыми и широковещательными. Если старший бит адреса получателя равен нулю, то это обычный адрес, а если единице, то это групповой. Многоадресная передача принимается всеми станциями, групповой адрес которых совпадает с указанным в поле адреса получателя. Если же все биты адреса равны единице, то это широковещательный адрес, и такой пакет предназначен всем станциям.
Следующий по старшинству бит в поле адреса используется для различения локальных и глобальных адресов. Как ясно из названия, локальные адреса назначаются администратором сети и имеют смысл только в пределах локальной сети. За вычетом двух вышеуказанных битов адресное пространство составляет 246 или около 7*1013 адресов, а эта цифра намного больше числа имеющихся компьютеров, так что адресов хватит всем.
Поле длины кадра состоит из двух байтов и определяет длину поля данных (от 0 до 1500 бит). Однако, ввиду ограничений на минимальную длину кадра, поле данных не может быть короче 46 байт. Если же объем передаваемых данных меньше, то поле данных дополняется заполняющими битами. Собственно в Ethernet поле длины кадра соответствует полю типа протокола. Оно служит для идентификации протокола на уровень выше канального.
Заканчивается кадр контрольной последовательностью. Очевидно, она служит для проверки кадра на предмет наличия ошибок.
АЛГОРИТМ ОТКАТА
Как уже говорилось, после обнаружения конфликта станции ждут случайный промежуток времени. Единицей измерения времени (квантом времени) является удвоенное время распространения сигнала из конца в конец отрезка кабеля (см. выше), равное 51,2 мс. После первого конфликта каждая станция ждет 0 или 1 квант времени, прежде чем попытаться возобновить передачу. Если конфликт произошел вновь, так как две станции выбрали одно и то же случайное число, то каждая из них выбирает после второго конфликта уже из четырех чисел 0, 1, 2, 3. Если же конфликт имеет место и в третий раз (что вполне вероятно, когда более двух станций пытаются начать передачу одновременно), то в следующий раз случайное число слотов выбирается из интервала 0-7 и т. д. Однако после 10 последовательных конфликтов интервал выбора случайных чисел фиксируется и задается равным 1023. После 16 конфликтов контроллер отказывается от дальнейших попыток передать кадр и сообщает об этом компьютеру. Все дальнейшие действия по исправлению ситуации должны осуществляться высокоуровневыми протоколами. Такой алгоритм позволяет разрешить коллизии, когда конфликтующих станций немного, а также ликвидировать их за приемлемое время, когда множество станций хочет передавать одновременно.
РАЗНОВИДНОСТИ ETHERNET
В качестве физической среды передачи стандарт для Ethernet на 10 Мбит/с определяет тонкий и толстый коаксиальный кабель, витую пару и даже оптоволокно. Вкупе с прочими факторами такое разнообразие возможных сред передачи немало способствовало росту популярности Ethernet. Ниже мы рассмотрим вкратце спецификации Ethernet на 10 Мбит/с.
10Base5. Как и изначальная версия Ethernet, эта спецификация в качестве среды передачи предусматривает толстый коаксиальный кабель на 50 Ом с двумя оболочками. По этой причине в англоязычной литературе ее иногда еще называют Thicknet и толстым Ethernet. Каждый коаксиальный кабель в сети образует отдельный сегмент. Протяженность сегмента не может превышать 500 м, а число узлов - 100, причем отрезок кабеля между соседними узлами должен быть не менее 2,5 м. Это позволяет уменьшить вероятность отражений и появления стоячих волн. Как правило, производители предусматривают соответствующую разметку кабеля в целях упрощения идентификации мест, где станция может быть подключена к сегменту. Контроллер станции, т. е. сетевая плата, подключается к кабелю с помощью трансиверного кабеля и трансивера (см. Рисунок 2). Длина трансиверного кабеля не должна превышать 50 м.
(1x1)
Рисунок 2.
В 10Base5 узел подключается к кабелю с помощью трансивера и трансиверного
кабеля.
10Base2. Спецификация предусматривает использование тонкого коаксиального кабеля RG-58 с характеристическим импедансом 50 Ом, а также соединителей типа BNC-T, подключаемых к контроллеру Ethernet напрямую (см. Рисунок 3). Это исключает необходимость применения дорогостоящих трансивера и трансиверного кабеля, а также выполнение самой операции по подключению трансивера к кабелю. Данный стандарт известен так же, как Cheapernet, Thinnet или тонкий Ethernet. Протяженность сегмента ограничена расстоянием 185 м, а число узлов - 30. Кроме того, Cheapernet более подвержена шумам, в частности от радиосигналов. Тем не менее эта намного более дешевая, чем 10Base5, разновидность Ethernet была в свое время, несмотря на присущие ей ограничения, весьма популярна.
(1x1)
Рисунок 3.
В 10Base2 узел подключается к кабелю напрямую с помощью соединителя
BNC-T.
10BaseT. Данная разновидность Ethernet в настоящее время, вероятно, наиболее распространена. Буква T в названии означает, что средой передачи является неэкранированный кабель на основе витой пары (Unshielded Twisted Pair, UTP). Спецификация предусматривает использование концентратора для подключения пользователей по физической топологии "звезда". Применение дешевых кабелей UTP является одним из основных преимуществ 10BaseT над 10Base2 и 10Base5. Подключение узлов к сети осуществляется с помощью модульных настенных телефонных гнезд RJ-45 и RJ-11 и четырехпарного телефонного кабеля UTP, причем соединитель RJ-45 вставляется напрямую в сетевую плату (см. Рисунок 4). Протяженность отрезка кабеля от концентратора до станции не должна превышать 100 м (в случае UTP Категории 3) или 150 м (в случае UTP Категории 5).
Рисунок 4.
В 10BaseT узлы подключаются к концентратору по физической топологии
"звезда".
10BaseF. Принятая относительно недавно, эта спецификация предусматривает использование в качестве среды передачи оптический кабель. Естественно, это весьма дорогостоящая разновидность Ethernet, и не столько из-за стоимости самого кабеля, сколько из-за дороговизны соединителей и терминаторов. Однако она не чувствительна к электромагнитным помехам и позволяет связывать по Ethernet здания и далеко отстоящие друг от друга концентраторы.
Каждая из разновидностей Ethernet предусматривает те или иные ограничения на протяженность сегмента кабеля. Для создания более протяженной сети несколько кабелей может быть соединено с помощью повторителей. Повторитель представляет собой устройство физического уровня. Он принимает, усиливает и передает сигнал дальше в обоих направлениях (таким образом повторитель полностью прозрачен для кадров Ethernet). С точки зрения программного обеспечения последовательность кабельных сегментов, связанных повторителями, ничем не отличается от одного кабеля. Сеть может содержать несколько сегментов кабеля и несколько повторителей, но никакие два узла не должны отстоять друг от друга на расстояние свыше 2,5 км, а путь между ними - пролегать более чем через четыре повторителя.
БЕСПРОИГРЫШНЫЙ ВАРИАНТ
Технология Ethernet не стоит на месте. Коммутируемые Ethernet и Fast Ethernet вывели ее на новые рубежи скорости и производительности, а с появлением Gigabit Ethernet старый добрый Ethernet вообще рискует оказаться в роли дедушки. В последующих уроках мы намереваемся рассмотреть перечисленные технологии, а также некоторые проблемы, связанные с Ethernet.
Дмитрий Ганьжа - ответственный редактор LAN. С ним можно связаться по адресу: dganzha@osp.ru.
ТАБЛИЦА 1 - РАЗНОВИДНОСТИ ETHERNET
Стандарт |
Кабель |
Максимальная протяженность сегмента |
Допустимое число узлов в сегменте |
Достоинства |
10Base5 | Толстый коаксиальный | 500 м | 100 | Хорош для магистрали |
10Base2 | Тонкий коаксиальный | 200 м | 30 | Дешевая система |
10BaseT | Витая пара | 100 м | 1024 | Простота эксплуатации |
10BaseF | Оптический кабель | 2000 м | 1024 | Между зданиями |