Обнаружение конфликта представляет собой аналоговый процесс. Аппаратное обеспечение станции должно во время передачи продолжать слушать кабель с целью выявления конфликта. Если сигнал, который станция регистрирует, отличается от передаваемого ею, то на этом основании станция определяет, что произошел конфликт. Как следствие, кодирование сигнала должно позволять установить наличие конфликта (например, наложение двух сигналов напряжением 0 В зарегистрировать не представляется возможным). По этой причине в Ethernet применяется специальное кодирование сигнала.
Прямое двоичное кодирование (рис. 15, а) нулевого бита нулевым напряжением (0 В) и единичного бита ненулевым напряжением (5 В) не применяется, помимо прочего, из-за того, что оно ведет к неоднозначности. В частности, строку бит 00001000 становится невозможно отличить от строки 10000000 ввиду отсутствия различий между свободной линией (0 В) и нулевым битом (также 0 В).
Следовательно, каким-то образом принимающая сторона должна иметь возможность определить начало и конец любого бита безотносительно внутреннего тактового генератора. Это позволяет сделать манчестерское кодирование и дифференциальное манчестерское кодирование.
При манчестерском кодировании (рис. 15, б) каждый интервал времени, который занимает передача одного бита, разделен на два равных под-интервала. Единичный бит кодируется высоким напряжением в продолжении первой половины интервала и низким напряжением в течение второй его части, а нулевой бит кодируется противоположным образом. Изменение напряжения в середине интервала облегчает принимающей стороне синхронизацию с передающей станцией.
Рис. 15. Дискретное кодирование:
а) потенциальное (прямое);
б) манчестерское;
в) дифференциальное манчестерское.
|
Дифференциальное манчестерское кодирование (рис. 15, в) представляет собой разновидность обычного манчестерского кодирования. В этом случае единичный бит характеризуется отсутствием изменения напряжения по сравнению с уровнем напряжения во второй половине предшествующего бита. Изменение напряжения в начале бита означает, что это нулевой бит.
Недостаток схемы манчестерского кодирования очевиден — оно имеет вдвое меньшую пропускную способность, чем прямое кодирование. Однако вследствие своей простоты манчестерское кодирование используется в стандарте 802.3. Уровень напряжения составляет +0,85 В и –0,85 В, причем в силу принятой схемы кодирования постоянные токи в кабеле не могут возникнуть.
Частота основной гармоники электрического сигнала называется частотой несущей. Для кабельных систем Ethernet максимальная частота несущей составляет 10 МГц, следовательно, поскольку каждый период несущей кодирует 1 бит информации, битовая скорость передачи при манчестерском кодировании будет равна 10 Мбит/с.
Формат кадра Ethernet
Максимальный размер кадра Ethernet составляет 1526 байт (12208 бит), а минимальный — 72 байт (576 бит). При частоте передачи 10 МГц время передачи пакета минимальной длины составляет 57,6 мс. Это время несколько больше, чем удвоенное время распространения сигнала, равное 51,2 мс, следовательно условие (1) выполняется. Последняя цифра получена исходя из максимально допустимого в Ethernet расстояния между узлами в 2500 м.
Каждый кадр начинается с преамбулы длиной 7 байт, причем каждый байт преамбулы представляет собой чередующуюся последовательность единиц и нулей. Преамбула позволяет принимающей стороне подстроиться под передающую станцию, т. е. синхронизироваться с ней. Следом за преамбулой идет стартовый байт (10101011), сигнализирующий о начале кадра.
|
Рис. 16 Формат кадра Ethernet | |||||||
Байты | 0-1500 | ||||||
Поле | Преамбула | Начало кадра | Адрес получателя | Адрес отправителя | Длина поля данных | Данные | Контрольная сумма |
Далее кадр содержит два 6-байтных поля адреса — получателя и отправителя. Если сетевая плата Ethernet определяет, что адрес получателя совпадает с ее собственным, то, считав кадр, она передает его для дальнейшей обработки на более высокие уровни. Если адреса не совпадают, то кадр игнорируется. Адреса Ethernet могут быть обычными, групповыми и широковещательными. Если все биты адреса равны единице, то это широковещательный адрес, и такой пакет предназначен всем станциям.
Поле длины кадра состоит из двух байтов и определяет длину поля данных (от 0 до 1500 бит). Однако, ввиду ограничений на минимальную длину кадра, поле данных не может быть короче 46 байт. Если же объем передаваемых данных меньше, то поле данных дополняется заполняющими битами.
Заканчивается кадр концевиком — контрольной последовательностью. Она служит для проверки кадра на наличие ошибок.