Псевдокод программы алгоритма ожидания следующей попытки доступа в сеть типа ETHERNET. (Backoff алгоритм)
Кода не нашел, написал, всю инфу что нашел по этому поводу. Если во время передачи кадра рабочая станция обнаруживает другой сигнал, занимающий передающую среду, она останавливает передачу, посылает jam signal и ждёт в течение случайного промежутка времени (известного как «backoff delay» и находимого с помощью алгоритма truncated binary exponential backoff), перед тем как снова отправить кадр.
Truncated binary exponential back off (усеченная двоичная экспоненциальная отсрочка) – задержка перед следующей попыткой передачи пакета после коллизии (допускается максимум 16 попыток). Вычисляется она по следующей формуле: RAND(0,2min(N,10)) x 512 x ВТ где N – значение счетчика попыток, RAND(a, b) – генератор случайных нормально распределенных целых чисел в диапазоне а...b, включая крайние значения. Дискрет изменения данного параметра равен минимальной длине пакета или максимально допустимой двойной задержке распространения сигнала в сети (PDV).
(ниже перевод статьи с английского) Этот пример взят из протокола Ethernet, [2], в которой отправитель может знать, когда столкновение произошло (то есть, другой хозяин попытался передать), когда он посылает кадр. Если оба хоста пытался повторно, как только произошло столкновение, было бы еще одно столкновение - и картина будет продолжаться вечно. Хозяева должны выбрать случайное значение в допустимых пределах, чтобы этой ситуации не бывает.Экспоненциальный алгоритм отката поэтому используется. На рисунке 51.2μs был дан здесь в качестве примера. Тем не менее, 51.2μs (миллисекунды) можно заменить на любое положительное значение на практике. При столкновении произойдет раньше, отправить “Jamming signal”, чтобы предотвратить дальнейшее передаче данных.
1. Пересылка кадров либо после 0 секунд или 51.2μs, выбранных наугад. 2. Если это не удается, повторно рамки либо после 0s, 51.2μs, 102.4μs или 153.6μs. 3. Если это все еще не работает, повторно кадр после к · 51.2μs, где к является случайным числом между 0 и 2 3 - 1. 4. В общем, после неудачной c-той попытки, повторно кадр после к · 51.2μs, где k является случайным числом между 0 and 2 c − 1, где c – номер коллизии
bool результат = послатьКадрПосле(случайноеЗначениеИз(0s; 51.2μs)); if (результат <> true) then bool второйРезультат = послатьКадрПосле (случайноеЗначениеИз (0s; 51.2μs; 102.4μs; 153.6μs)); if (второйРезультат <> true) then begin int k = случайноеЗначениеИз(0; 2 3 -1;) bool третийРезультат = послатьКадрПосле (к · 51.2μs); end; if (третийРезультат <> true) then begin int k = случайноеЗначениеИз(0; 2 c -1;) bool третийРезультат = послатьКадрПосле (к · 51.2μs); end; 20. Классический Ethernet типа 10Base5. Ethernet 10Base5 Спецификация Ethernet 10Base5 предусматривает выполнение следующих условий: Среда передачи - "толстый" около 12 мм в диаметре коаксиальный кабель (RG-8 или RG-11) с волновым сопротивлением 50 Ом. Длина кабеля между соседними станциями не менее 2,5 м. Максимальная длина сегмента сети не более 500 метров. Общая длина всех кабелей в сегментах не более 2,500 метров. Общее число узлов на один сегмент сети не более 100. Сегмент оканчивается терминаторами, один из которых должен быть заземлен. Ответвительные кабели могут быть сколь угодно короткими, но расстояние от трансивера до адаптера не более 50 метров. В идеальном случае расстояние между соседними станциями должно быть кратно 2,5 м. Некоторые кабели имеют соответствующую маркировку через каждые 2,5 м для облегчения соблюдения этого условия. Наибольшее распространение получило подключение трансивера к кабелю при помощи разъемов, имеющих веселенькое название "вампиры" (это из-за того, что при подключении разъем прокалывает кабель до центральной жилы). Подключение производится без остановки работы сети, в отличие от подключения через N-коннектор. Кабели в сегменте должны браться с одной катушки кабеля, что обеспечивает одинаковые электрические параметры всех подключаемых отрезков.
В трансивере находится активный приемо-передатчик с детектором коллизий и высоковольтным (1-5 кВ) разделительным трансформатором, питание обеспечивается от AUI-порта адаптера. Основные преимущества 10Base5: большая длина сегмента, хорошая помехозащищенность кабеля и высокое напряжение изоляции трансивера. Благодаря этим качествам "толстый" Ethernet чаще всего применялся для прокладки базовых сегментов (Backbone). Сейчас этот стандарт практически полностью вытеснен более дешевыми и производительными реализациями Ethernet. 21. Классический Ethernet типа 10Base2.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|