При описанном подходе возможна ситуация, когда две станции одновременно пытаются передать кадр данных по общему кабелю (рис. ). Для уменьшения вероятности этой ситуации непосредственно перед отправкой кадра передающая станция слушает кабель (то есть принимает и анализирует возникающие на нем электрические сигналы), чтобы обнаружить, не передается ли уже по кабелю кадр данных от другой станции. Если опознается несущая частота (основная гармоника сигнала – 5..10 МГц в зависимости от передачи 0 или 1), то станция откладывает передачу своего кадра до окончания чужой передачи, и только потом пытается вновь его передать (после технологической паузы 9,6 мкс – для приведения сетевых адаптеров в исходное состояние). Но даже при таком алгоритме две станции одновременно могут решить, что по каналу в данный момент времени нет передачи, и начать одновременно передавать свои кадры. Говорят, что при этом происходит коллизия, так как содержимое обоих кадров сталкивается на общем кабеле, что приводит к искажению информации.
Чтобы корректно обработать коллизию, все станции одновременно наблюдают за возникающими на кабеле сигналами. Если передаваемые и наблюдаемые сигналы отличаются, то фиксируется обнаружение коллизии. Для увеличения вероятности немедленного обнаружения коллизии всеми станциями сети, ситуация коллизии усиливается посылкой в сеть станциями, начавшими передачу своих кадров, специальной последовательности битов, называемой jam-последовательностъю (32 бита).
После обнаружения коллизии передающая станция обязана прекратить передачу и ожидать в течение короткого случайного интервала времени (0 – 52,4 мс), а затем может снова сделать попытку передачи кадра.
Из описания метода доступа видно, что он носит вероятностный характер, и вероятность успешного получения в свое распоряжение общей среды зависит от загруженности сети, то есть от интенсивности возникновения в станциях потребности передачи кадров.
После обнаружения коллизии каждый узел, который передавал кадр и столкнулся с коллизией, после некоторой задержки пытается повторно передать свой кадр. Узел делает максимально 16 попыток передачи этого кадра информации, после чего отказывается от его передачи. Величина задержки между попытками передачи выбирается как равномерно распределенное случайное число из интервала, длина которого экспоненциально увеличивается с каждой попыткой. Такой алгоритм выбора величины задержки снижает вероятность коллизий и уменьшает интенсивность выдачи кадров в сеть при ее высокой загрузке.
А начинает передавать кадр
Рис. t = ∆tВ начинает передавать кадр
Схема возникновения коллизии в методе случайного доступа CSMA/CD
(tp - задержка распространения сигнала между станциями А и В)
Четкое распознавание коллизий всеми станциями сети является необходимым условием корректной работы сети Ethernet. Если какая-либо передающая станция не
распознает коллизию и решит, что кадр данных ею передан верно, то этот кадр данных будет утерян, так как информация кадра исказится из-за наложения сигналов при коллизии, он будет отбракован принимающей станцией (скорее всего из-за несовпадения контрольной суммы). Конечно, скорее всего, искаженная информация будет повторно передана каким-либо протоколом верхнего уровня, например, транспортным или прикладным, работающим с установлением соединения и нумерацией своих сообщений. Но повторная передача сообщения протоколами верхних уровней произойдет через гораздо более длительный интервал времени (десятки секунд) по сравнению с микросекундными интервалами, которыми оперирует протокол Ethernet. Поэтому, если коллизии не будут надежно распознаваться узлами сети Ethernet, то это приведет к заметному снижению полезной пропускной способности данной сети.
Все параметры протокола Ethernet подобраны таким образом, чтобы при нормальной работе узлов сети коллизии всегда четко распознавались. Именно для этого минимальная длина поля данных кадра должна быть не менее 46 байт (что вместе со служебными полями дает минимальную длину кадра в 72 байта или 576 бит). Длина кабельной системы выбирается таким образом, чтобы за время передачи кадра минимальной длины сигнал коллизии успел бы распространиться до самого дальнего узла сети. Поэтому для скорости передачи данных 10 Мб/с, используемой в стандартах Ethernet, максимальное расстояние между двумя любыми узлами сети не должно превышать 2500 метров.
С увеличением скорости передачи кадров, что имеет место в новых стандартах, базирующихся на том же методе доступа CSMA/CD, например. Fast Ethernet, максимальная длина сети уменьшается пропорционально увеличению скорости передачи. В стандарте Fast Ethernet она составляет 210 м, а в гигабитном Ethernet ограничена 25 метрами.
Независимо от реализации физической среды, все сети Ethernet должны удовлетворять двум ограничениям, связанным с методом доступа:
• максимальное расстояние между двумя любыми узлами не должно превышать 2500 м,
• в сети не должно быть более 1024 узлов.
Кроме того, каждый вариант физической среды добавляет к этим ограничениям свои ограничения, которые также должны выполняться.
Форматы кадров технологии Ethernet
Стандарт на технологию Ethernet, описанный в документе 802.3, дает описание единственного формата кадра МАС-уровня. Так как в кадр МАС-уровня должен вкладываться кадр уровня LLC, описанный в документе 802.2 (см. выше), то по стандартам IEEE в сети Ethernet может использоваться только единственный вариант кадра канального уровня, образованный комбинацией заголовков MAC и LLC подуровней. Тем не менее, на практике в сетях Ethernet на канальном уровне используются заголовки 4-х типов, что связано с длительной историей развития технологии Ethernet до принятия стандартов IEEE 802, когда подуровень LLC не выделялся из общего протокола и, соответственно, заголовок LLC не применялся. Затем, после принятия стандартов IEEE и появления двух несовместимых форматов кадров канального уровня, была сделана попытка приведения этих форматов к некоторому общему знаменателю, что привело еще к одному варианту кадра.
Различия в форматах кадров могут иногда приводить к несовместимости аппаратуры, рассчитанной на работу только с одним стандартом, хотя большинство сетевых адаптеров, мостов и маршрутизаторов умеет работать со всеми используемыми на практике форматами кадров технологии
Ethernet.
Ниже приводится описание всех четырех модификаций заголовков кадров Ethernet (причем под заголовком кадра понимается весь набор полей, которые добавляет канальный уровень к передаваемым данным). В связи с этим выделяют 4 формата кадров технологии Ethernet:
• Кадр 802.3/LLC (или кадр Novell 802.2)
• Кадр Raw 802.3 (или кадр Novell 802.3)
• Кадр Ethernet DIX (или кадр Ethernet II)
• Кадр Ethernet SNAP
Заголовок кадра 802.3/LLC является результатом объединения полей заголовков кадров, определенных в стандартах 802.3 и 802.2 (кадр LLC).
Стандарт 802.3 определяет восемь полей заголовка (кадр MAC-подуровня):
• Поле преамбулы состоит из семи байтов синхронизирующих данных. Каждый байт содержит одну и ту же последовательность битов - 10101010. При манчестерском кодировании - эта комбинация представляется в физической среде периодическим волновым сигналом. Преамбула используется для того, чтобы дать время и возможность схемам приемопередатчиков (transceiver) прийти в устойчивый синхронизм с принимаемыми тактовыми сигналами.
• Начальный ограничитель кадра состоит из одного байта с набором битов 10101011. Появление этой комбинации является указанием на предстоящий прием кадра.
• Адрес получателя - может быть длиной 2 или 6 байтов (МАС-адрес получателя). Первый бит адреса получателя - это признак того, является адрес индивидуальным или групповым: если 0, то адрес указывает на определенную станцию, если 1, то это групповой адрес нескольких (возможно, всех) станций сети. При широковещательной адресации все биты поля адреса устанавливаются в 1. Общепринятым является использование 6-байтовых адресов.
• Адрес отправителя - 2-х или 6-ти байтовое поле, содержащее адрес станции отправителя.
Первый бит - всегда имеет значение 0.
• Двухбайтовое поле длины определяет длину поля данных в кадре.
• Поле данных может содержать от 0 до 1500 байт. Но если длина поля меньше 46 байт, то используется следующее поле - поле заполнения, чтобы дополнить кадр до минимально допустимой длины.
• Поле заполнения состоит из такого количества байтов заполнителей, которое обеспечивает определенную минимальную длину поля данных (46 байт). Это обеспечивает корректную работу механизма обнаружения коллизий. Если длина поля данных достаточна, то поле заполнения в кадре не появляется.
• Поле контрольной суммы - 4 байта, содержащие значение, которое вычисляется по определенному алгоритму (полиному CRC-32). После получения кадра рабочая станция выполняет собственное вычисление контрольной суммы для этого кадра, сравнивает полученное значение со значением поля контрольной суммы и, таким образом, определяет, не искажен ли полученный кадр.
Кадр 802.3 является кадром МАС-подуровня, в соответствии со стандартом 802.2 в его поле данных вкладывается кадр подуровня LLC с удаленными флагами начала и конца кадра. Формат кадра LLC был описан выше.
Результирующий кадр 802.3/LLC изображен в левой части рисунка . Так как кадр LLC имеет заголовок длиной 3 байта, то максимальный размер поля данных уменьшается до 1497 байт (поля DSAP, SSAP, Control).
Таблица 2 Форматы кадров
Название полей | Название кадра | ||||
802.3/LLC | Ethernet 802.3 (Raw) | Ethernet DIX | Ethernet SNAP | ||
Преамбула | + | + | + | + | |
Адрес назначения | + | + | + | + | |
Адрес источника | + | + | + | + | |
Длина | + | + | Type | + | |
Кадр LLC: | Сервис назначения (DSAP) | 1 байт | – | – | + |
Сервис источника | 1 байт | – | – | + | |
Управление | 1 байт | – | – | + | |
Данные | 46 – 1497 байт | 46 – 1500 байт | + | + | |
Контрольная сумма | + | + | + | + | |
Идентификатор организации | – | – | – | + |
«+» – данное поле присутствует в кадре; «–» – данное поле отсутствует в кадре.