8. Сетевые технологии (1245066), страница 4
Текст из файла (страница 4)
13), которые наряду сполем данных содержат различную служебную информацию. Стандарт 802.3 определяет следующие поля:Преамбула (Р) – последовательность из 7 байт, каждый из которых имеет вид: (АА)16 – (10101010)2.При манчестерском кодировании эта комбинация представляется в физической среде периодическим волновымсигналом. Преамбула используется для того, чтобы дать время и возможность схемам приемопередатчиков(transceiver) прийти в устойчивый синхронизм с принимаемыми тактовыми сигналами.Признак начала кадра SFD (Start Frame Delimiter) - (АВ)16 – (10101011)2.
Появление этой комбинацииявляется указанием на предстоящий прием кадра.Адреса получателя (DA) (MAC-адрес получателя) и отправителя (SA) – по 6 байт – представляют собойфизические адреса сетевых адаптеров и являются уникальными. Адрес получателя может быть физическим (однозначно определяющим узел сети) или многопунктовым (относящимся к нескольким узлам).Первый бит адреса получателя - это признак того, является адрес индивидуальным или групповым: если0, то адрес указывает на определенную станцию, если 1, то это групповой адрес нескольких (возможно всех)станций сети. При широковещательной адресации все биты поля адреса устанавливаются в 1.Первый бит адреса отправителя всегда имеет значение 0.Тип протокола – тип протокола сетевого уровня, пакет которого переносится этим кадром.Пакет – передаваемые данные (в минимальном варианте – это квитанция).Поле данных может содержать от 0 до 1500 байт.
Но если длина поля меньше 46 байт, то используетсяследующее поле - поле заполнения, чтобы дополнить кадр до минимально допустимой длины.Если длина кадра передаваемых данных меньше минимальной величины, сетевой адаптер автоматическидополняет его до 46 байт. Этот процесс называют выравниванием.Контрольная сумма (КС) – сумма всех полей кадра (за исключением полей преамбулы, признака началакадра и самой КС). Поле контрольной суммы - 4 байта, содержащие значение, которое вычисляется по определенному алгоритму (полиному CRC-32). После получения кадра рабочая станция выполняет собственное вычисление контрольной суммы для этого кадра, сравнивает полученное значение со значением поля контрольнойсуммы и, таким образом, определяет, не искажен ли полученный кадр.В стандарте Ethernet минимальная длина поля данных кадра - 46 байт (вместе со служебными полями 64 байтов, а вместе с преамбулой – 72 байта или 576 бит).
Отсюда может быть определено ограничение на расстояние между узлами.Минимальная длина кадра вместе со служебной информацией и преамбулой 72 байта (576 бит)8 (7+1) байт6 байт6 байт2 байтаMin – 46, max - 1500 байтПреамбула(Р)и признакначалакадра(SFD)Адресполучателя(DА)Адресотправителя(SА)Типпротокола/кадра(Type)Поле данных(пакет)4 байтаКонтрольнаясумма(КС)Рис. 13. Форматкадрадля стандартаEthernetПоля кадра передаются в определенной последовательности: преамбула, адрес приемника, адрес передатчика, тип протокола (кадра), данные, контроль правильности – контрольная сумма (КС).10Каждый узел начинает принимать кадр с преамбулы.
Затем сравнивает значение адреса получателя сосвоим адресом. Если адреса одинаковы, или пришел широковещательный кадр, или задана специальная программа обработки, то кадр копируется в буфер узла. Если нет, то кадр игнорируется.Этапы доступа к среде (рис. 14). Все данные, передаваемые по сети, помещаются в кадры. Получив заявку на передачу данных, сетевой адаптер (СА) начинает передавать данные только в том случае, если в это время не ведет передачу другой СА (определяется по наличию несущей частоты в канале). Т.о., признаком незанятости среды является отсутствие несущей частоты, которая при манчестерском способе кодирования равна 5-10МГц.
Если среда свободна, то узел имеет право начать передачу кадра. Если в сети обнаруживается передачаданных, то данный СА откладывает передачу до исчезновения несущей частоты, после чего СА выдерживает интервал 9,6 мкс для восстановления состояния всей аппаратуры после передачи и начинает передачу.В качестве примера рассмотрим диаграмму, приведенную на рис. 14.Узел 1, прослушивая, обнаружил, что СПД свободна, он «захватывает» ее и начинает передавать свойкадр.
Время монопольного использования разделяемой среды одним узлом ограничивается временем передачиодного кадра.Узел 2 во время передачи кадра узлом 1 также пытался начать передачу своего кадра, однако обнаружил,что среда занята (есть несущая частота), поэтому он вынужден ждать. После окончания передачи кадра все узлысети обязаны выдержать технологическую паузу в 9,6 мкс (межкадровый интервал), которая нужна для приведения СА в исходное состояние и предотвращения монопольного захвата среды одним узлом.Технологическая пауза (межкадровый интервал)Конфликт9,6 мксКадрОбщаяшина2131Случайная пауза1ПрослушиваниеУзел 1tПередачаПередачаПередачаtУзел 2Пытался тожепередаватьОжиданиеПередачаtПередачаОжиданиеУзел 3tРис.
14. Диаграмма передачи данных и обнаружения конфликтаИз-за задержек распространения сигнала по кабелю не все узлы строго одновременно фиксируют фактокончания передачи кадра узлом 1. В приведенном примере узел 2 дождался окончания передачи кадра узлом 1,сделал паузу в 9,6 мкс и начал передачу своего кадра. Иногда может возникать ситуация, когда одновременно 2или более узла решают, что сеть свободна, и начинают передавать данные.
Такая ситуация, называемая конфликтом, препятствует правильной передаче данных. В стандарте Ethernet предусмотрен алгоритм обнаруженияи корректной обработки конфликтов.Если наложение обнаружено, то данный ПД прекращает работу, предварительно подкрепляя наложениепередачей помехи в сеть. Длительность помехи равна 32-48 бит.
В качестве помехи может быть выбран произвольный код, отличный от 32-разрядного кода КС. При наличии конфликта разрешается сделать еще 15 попытокповторной передачи данных. Если все 16 попыток неудачны, то выдается сигнал об ошибке.Конфликт – нормальная ситуация в работе сетей Ethernet. В примере (рис. 14) конфликт породила одновременная передача данных узлами 3 и 1.
Для возникновения конфликта не обязательно, чтобы несколько узловначали передачу абсолютно одновременно, такая ситуация маловероятна. Гораздо вероятней, что конфликт возникает из-за того, что один узел начинает передачу данных раньше другого, но до второго узла сигналы первогопросто не успеют дойти к тому времени, когда второй узел решает начать передачу своего кадра.
Т.е. конфликт –это следствие распределенного характера сети.Чтобы корректно обработать конфликт, все узлы одновременно наблюдают за возникающими на кабелесигналами. Если передаваемые и наблюдаемые сигналы отличаются, то фиксируется обнаружение конфликта.Для увеличения вероятности скорейшего обнаружения конфликта, узел, который обнаружил конфликт,прерывает передачу своего кадра и усиливает ситуацию конфликта посылкой в сеть специальной последовательности из 32 бит. После этого обнаруживший конфликт передающий узел обязан прекратить передачу и сделатьпаузу.
Затем снова предпринять попытку захвата среды и передачи кадра.11Алгоритм выбора случайной паузы: Пауза = L (интервал отсрочки), где интервал отсрочки равен 512битовым интервалам (bt); для скорости 10 Мбит/с bt=0,1 мкс=100 нс; интервал отсрочки рассчитан для максимальной длины коаксиального кабеля в 2,5 км.L – случайное целое число, равномерно распределенное в диапазоне [0, 2N], где N – номер повторной попытки передачи данного кадра: N=1,2,…,10.После 10-й попытки интервал, из которого выбирается пауза, не увеличивается. Таким образом, случайная пауза может принимать значения от 0 до 52,4 мс. Если 16 последовательных попыток передачи кадра вызывают конфликт, то передатчик должен прекратить попытки и отбросить этот кадр.Следует отметить, что этот метод доступа вообще не гарантирует узлу, что он когда-либо сможет получить доступ к СПД при большой загрузке сети ! Этот недостаток метода – плата за его чрезвычайную простоту, которая сделала технологию Ethernet самой недорогой.Примечание: Интервал отсрочки (slot time) - это время, в течение которого станция гарантированно может узнать, что в сети нет коллизии.
Это время тесно связано с другим важным временным параметром сети - окном коллизий (collision window). Окно коллизий равно времени двукратного прохождения сигнала между самымиудаленными узлами сети - наихудшему случаю задержки, при которой станция еще может обнаружить, что произошла коллизия. Интервал отсрочки выбирается равным величине окна коллизий плюс некоторая дополнительная величина задержки для гарантии: интервал отсрочки = окно коллизий + дополнительная задержка.В стандартах 802.3 большинство временных интервалов измеряется в количестве межбитовых интервалов, величина которых для битовой скорости 10 Мб/с составляет 0.1 мкс и равна времени передачи одного бита.12.