Почему случайная пауза помогала Ethernet
В старом Ethernet несколько компьютеров делили один канал — например, общий коаксиальный кабель. Перед отправкой устройство проверяло, свободна ли линия. Но почти одновременно два компьютера могли услышать тишину и начать передачу: сигнал одного не мгновенно достигал другого, поэтому оба считали канал свободным.
Сетевые адаптеры замечали столкновение по изменению сигнала на линии. Передачи прерывались, а устройства отправляли короткий сигнал, чтобы остальные тоже узнали о сбое. Затем начинался не просто случайный отсчёт, а случайный выбор времени из растущего диапазона.
Как сеть разводила повторные попытки
После первой неудачи ожидание выбирали из небольшого набора временных интервалов. Если столкновение повторялось, диапазон расширялся: устройство бросало жребий уже среди большего числа вариантов. Так два компьютера, которые однажды столкнулись, с меньшей вероятностью снова назначали передачу на один и тот же момент. Если попытки продолжали не удаваться, устройство в конце концов прекращало отправку и сообщало об ошибке.
Размер временного интервала был связан с устройством сети: сигналу нужно время, чтобы пройти кабель и вернуться, поэтому слишком короткая пауза не дала бы всем участникам заметить столкновение. Чем больше устройств одновременно претендовали на общий канал, тем чаще возникали сбои и тем дольше могли затягиваться ожидания.
Почему сегодня этот механизм почти не виден
Позже общий канал во многих сетях заменили коммутаторами: каждый компьютер получил отдельное соединение с устройством, которое направляет данные нужному получателю. В полнодуплексном режиме передача и приём идут одновременно, поэтому старый механизм обнаружения столкновений не нужен. Случайная пауза Ethernet — решение для конкретной инженерной проблемы: не запретить компьютерам говорить, а дать им способ разойтись во времени, когда общий провод всё-таки занят.






