Nets2010 (1131259), страница 30
Текст из файла (страница 30)
У 10Base-T трансивера нет вовсе (рисунок 4-16 (c)). Машина соединяется с хабом витой парой, длина которой не должна превосходить 100 метров. Вся электроника сосредоточена в хабе.
Наконец, последний вид кабеля 10Base-F - оптоволоконный вариант. Он относительно дорог, но низкий уровень шума и длина одного сегмента - важные достоинства этого кабеля.
Чтобы увеличить длину сегмента, используются репитеры. Это устройство физического уровня, которое отвечает за очистку, усиление и передачу сигнала. Репитеры не могут отстоять более чем на 2,5 км, и на одном сегменте их не может быть более четырех.
Манчестерский код.
Ни одна версия IEEE 802.3 не использует прямого кодирования, т.к. оно очень неоднозначно. Так, например, оно не позволяет однозначно отличить 00100011 от 10001100 или 01000110 без дополнительных усилий на синхронизацию. Нужен был метод, который бы позволял определять начало, середину и конец передачи каждого бита без особой побитной синхронизации. Было предложено два метода для этого: манчестерский код и дифференциальный манчестерский код.
При использовании Манчестерского кода весь период передачи бита разбивается на два равных интервала. При передаче 1 передается высокий сигнал в первом интервале и низкий - во втором. При передаче 0 - наоборот. Такой подход имеет переход в середине передачи каждого бита, что позволяет синхронизироваться приемнику и передатчику. Недостатком такого подхода является то, что пропускная способность канала падает вдвое по сравнению с прямым кодированием.
При использовании дифференциального манчестерского кода при передаче 1 в начале передачи нет различия в уровне с предыдущим интервалом передачи, т.е. нет перепада в уровне в начале каждого интервала, а при передаче 0 - есть. Этот способ кодирования обладает лучшей защищенностью, чем просто манчестерский код, но требует более сложного оборудования.
IEEE 802.3: протокол МАС-подуровня.
Структура кадра в IEEE 802.3 показана на рисунке 4-19. Кадр начинается с преамбулы - 7 байт вида 10101010, которая в манчестерском коде на скорости 10 МГц обеспечивает 5,6 мксек для синхронизации приемника и передатчика. Затем следует стартовый байт 10101011, обозначающий начало передачи.
Рисунок 4-19. Структура кадра IEEE 802.3
Хотя стандарт допускает двух- и шестибайтные адреса, для 10Base используются только 6-байтные. 0 в старшем бите адреса получателя указывает на обычный адрес. Если там 1, это признак группового адреса. Групповой адрес позволяет обращаться сразу к нескольким станциям одновременно. Если адрес получателя состоит из одних единиц - это вещательный адрес, т.е. этот кадр должны получить все станции в сети.
Другой интересной возможностью адресации является различение локального адреса и глобального. На то, какой адрес используется, указывают 46 бит. Если этот бит 1 - это локальный адрес, который устанавливает сетевой администратор и вне данной сети этот адрес смысла не имеет. Глобальный адрес устанавливает IEEE и гарантирует, что нигде в мире нет такого второго. С помощью 46 битов можно получить 7х1013 глобальных адресов.
Поле длины указывает на длину поля данных. Она может быть от 0 до 1500 байт. То, что поле данных может иметь длину 0, вызывает проблему для обнаружения коллизий. Поэтому IEEE 802.3 предписывает, что кадр не может быть короче 64 байт. Если длина поля данных недостаточна, то поле Pad компенсирует нехватку длины.
Ограничение на длину кадра связано со следующей проблемой. Если кадр короткий, то станция может закончить передачу прежде, чем начало кадра достигнет самого отдаленного получателя. В этом случае она может пропустить коллизию и ошибочно считать, что кадр доставлен благополучно. Пусть τ - минимальное время распространения сигнала до самой удаленной станции. Тогда минимальная длина кадра должна быть такой, чтобы время передачи кадра такой длины занимало не менее 2τ секунд. Для IEEE 802.3 (2,5 км и четырех репитерах) это время равно 51,2 мксек., что соответствует 64 байтам. При больших скоростях длина кадра должна быть еще больше. И это становится проблемой при переходе на высокие скорости передачи.
Последнее поле - контрольная сумма, которая формируется с помощью CRC-кода.
Двоичный экспоненциальный алгоритм задержки.
Теперь рассмотрим, как определяется случайная величина задержки при возникновении коллизий. При возникновении коллизии время разбивается на слоты длиной, соответствующей наибольшему времени распространения сигнала в оба конца (2τ). Для 802.3, как уже было указано, это время при длине линии 2,5 км и четырех репитерах равно 51,2 мксек.
При первой коллизии станции, участвовавшие в ней, случайно выбирают 0 или 1 слот для ожидания. Если они выберут одно и то же число, то коллизия возникнет опять. Тогда выбор будет происходить среди чисел 0, 2i, 1, где i - порядковый номер очередной коллизии.
После 10 коллизий число слотов достигает 1023 и далее не увеличивается, после 16 коллизий Ethernet-контроллер фиксирует ошибку и сообщает о ней более высокому уровню стека протоколов.
Этот алгоритм называется алгоритм двоичной экспоненциальной задержки. Он позволяет динамически подстраиваться под число конкурирующих станций. Если для каждой коллизии случайный интервал был бы равен 1023, то вероятность повторной коллизии для двух станций была бы пренебрежимо мала. Однако среднее время ожидания разрешения коллизии было бы сотни слотов. Если бы случайный интервал был бы постоянно 0 или 1, то при 100 станциях разрешение коллизии потребовало бы годы, так как 99 станций должны были бы случайно выбрать, скажем, 0 и лишь одна - 1.
Производительность IEEE 802.3.
Рассмотрим производительность 802.3 при условии плотной и постоянной нагрузки. У нас есть k станций, всегда готовых к передаче. С целью упрощения анализа при коллизиях мы будем рассматривать не алгоритм двоичной экспоненциальной задержки, а постоянную вероятность повторной передачи в каждом слоте. Если каждая станция участвует в состязаниях в слоте с вероятностью p, то вероятность А, что некоторая станция захватит канал в этом слоте, равна
А достигает максимума при p=1/k , А→1/е при k→∞. Вероятность, что период состязаний будет иметь j слотов, равна A(1-A)j-1. Отсюда среднее число слотов в состязаниях равно
Так как каждый слот имеет длительность 2τ, то средний интервал состязаний w равен 2τ/А. Предполагая оптимальное значение р, w
е
5.4
. Если передача кадра средней длины занимает m сек, то при условии большого числа станций, постоянно имеющих кадры для передачи, эффективность канала равна
Из этой формулы видно, что чем длиннее кабель, тем хуже эффективность, т.к. растет длительность периода состязаний. При длительности 51,2 мксек, что соответствует 2,5 км при четырех репитерах и скорости передачи 10 Мбит/сек., минимальный размер кадра - 512 бит, или 64 байта. Хотя с ростом длины кадра эффективность канала растет, время задержки кадра в системе также увеличивается.
41. Стандарты IEEE 802.х для локальных и муниципальных сетей: Стандарт IEEE 802.4 – шина с маркером (область применения, протокол МАС подуровня, логическая поддержка логического кольца).
Стандарт 802.3 получил очень широкое распространение. Однако там, где возникала потребность в режиме реального времени, он вызывал нарекания. Во-первых, потому что с ненулевой вероятностью станция может ожидать сколь угодно долго отправки кадра. В стандарте нет понятия приоритета кадра, что очень важно для приложений реального времени.
Простейшая система с заранее известным наихудшим случаем ожидания - кольцо. Если есть n станций, соединенных в кольцо, и передача кадра занимает Т сек., то максимальное время ожидания передачи кадра будет не более nT. Специалистам по системам реального времени нравилась идея кольца, но не нравилась ее физическая реализация. Во-первых, кольцо не надежно - обрыв в одном месте разрушает всю систему. Во-вторых, оно плохо соответствовало топологии многих сборочных линий на заводах. В результате был разработан стандарт, который объединял достоинства 802.3 с гарантированным наихудшим временем передачи и приоритетностью кадров.
Этот стандарт был назван 802.4 и описывал шину с маркером. Физически шина с маркером имеет линейную или древовидную топологию. Логически станции объединены в кольцо (рисунок 4-22), где каждая станция знает своего соседа справа и слева. Когда кольцо инициализировано, станция с наибольшим номером может послать первый кадр. После этого она передает разрешение на передачу кадра своему непосредственному соседу, посылая ему специальный управляющий кадр - маркер. Передача кадра разрешена только той станции, которая владеет маркером. Так как маркер один, то всегда только одна станция может осуществлять передачу, и коллизий не возникает.
Рисунок 4-22. Маркерная шина
Важно отметить, что на порядок передач влияет только логические номера станций, а не их физическое размещение. Маркер передается только логическому соседу. Естественно, протокол должен учитывать случай, когда станция подключается к кольцу в ходе функционирования.
802.4 МАС - очень сложный протокол, который поддерживает 10 таймеров и более 24 внутренних переменных. Его описание занимает более 200 страниц.
На физическом уровне 802.4 использует коаксиальный 75-омный кабель, три разные схемы аналоговой модуляции, скорость передачи - 1,5 и 10 Мбит/сек. Он полностью несовместим с физическим уровнем 802.3.
МАС-протокол для шины с маркером.
При инициализации станции образуют кольцо в соответствии с их адресами от старших к младшим. Маркер передают от станций с большими адресами к станциям с меньшими адресами. Каждый раз, когда станция получает маркер, она может передавать кадры в течение определенного промежутка времени. После этого она должна передать маркер следующей станции. Если кадры достаточно короткие, то может быть послано несколько последовательных кадров. Если у станции нет данных для передачи, то она передает маркер дальше, немедленно по его получении.
Шина с маркером определяет четыре приоритета для кадров: 0, 2, 4 и 6. Для простоты можно представить, что станция разделена внутри на четыре подстанции, по одной на уровень приоритета. Как только кадр поступает сверху, он распределяется на одну из подстанций в соответствии с приоритетом. Таким образом, каждая подстанция имеет свою очередь кадров на передачу.
Когда маркер поступил по кабелю, он попадает на подстанцию с приоритетом 6. Если у нее есть кадр на передачу, она его передает, если нет, то маркер передается подстанции с приоритетом 4. Эта подстанция передает свои кадры в течение своего интервала времени, либо по истечении определенного временного промежутка передает маркер подстанции с приоритетом 2. Так продолжается до тех пор, пока либо подстанция с приоритетом 0 перешлет свои кадры, либо ее таймер исчерпается и она отдаст маркер следующей станции.
Из приведенной схемы ясно, что подстанция с номером 6 имеет наивысший приоритет и в любом случае ее кадрам обеспечена некая гарантированная пропускная способность. Эта подстанция и используется для передачи трафика реального времени.
На рисунке 4-23 показан формат кадра для шины с маркером. Поле Preamble предназначено для синхронизации таймера получателя. Его длина не короче одного байта. Поля Start delimiter и End delimiter предназначены для распознавания начала и конца кадра. Они имеют специальную кодировку, которая не может встретиться у пользователя. Поэтому поля длины кадра не требуется. Поле Frame control отделяет управляющие поля от полей данных. Для кадров данных здесь указывается приоритет кадра. Это поле также используется станцией-получателем для подтверждения корректного или некорректного получения кадра. Для этого отправитель устанавливает в этом поле специальный индикатор подтверждения. При наличии такой установки станция-получатель, даже не имея маркера, может послать подтверждение. Без этого поля получатель был бы лишен возможности давать подтверждения - у него не было бы маркера.
Рисунок 4-23. Формат кадра для шины с маркером
В управляющих кадрах это поле используется для указания типа кадра. Среди них передача маркера, всевозможные кадры для поддержки кольца, например, включение станции в кольцо и исключение станции из кольца.