Коллизия сигналов
Коллизия сигналов — это ситуация, возникающая в компьютерных сетях и системах передачи данных, при которой два или более устройства одновременно передают данные по одному и тому же физическому каналу связи, что приводит к искажению и потере передаваемой информации. В более широком смысле термин применяется в электронике, радиосвязи и других областях для обозначения наложения сигналов, делающего невозможным их корректное распознавание.
Природа явления
Коллизия сигналов является следствием разделения общего канала связи между несколькими передатчиками. В идеальной среде с одним передатчиком и одним приёмником коллизии невозможны. Однако в сетях с множественным доступом, где несколько устройств могут начать передачу в произвольный момент времени, возникает конкуренция за среду. Если два устройства начинают передачу одновременно или с минимальным интервалом, их электрические или оптические сигналы накладываются друг на друга, создавая на стороне приёмника неразличимую смесь уровней напряжения или световых импульсов. В результате пакеты данных оказываются повреждёнными, и их необходимо повторно отправлять.
История и развитие
Проблема коллизий стала очевидной с появлением первых компьютерных сетей с общей шиной. В 1970-х годах в Университете Гавайев была разработана система ALOHAnet, которая использовала радиоканал для связи компьютеров. В этой сети устройства передавали данные в любой момент, а в случае коллизии ждали случайное время и повторяли попытку. Этот принцип лёг в основу более совершенного протокола — CSMA/CD (Carrier Sense Multiple Access with Collision Detection — множественный доступ с контролем несущей и обнаружением коллизий), который стал стандартом для сетей Ethernet.
В 1980-х годах Ethernet на коаксиальном кабеле (10BASE5 и 10BASE2) работал именно по принципу общей шины, где коллизии были неизбежны. С развитием технологий и переходом на витую пару и топологию «звезда» (10BASE-T) роль коллизий изменилась. В современных коммутируемых сетях Ethernet коллизии практически отсутствуют на уровне отдельных сегментов, так как коммутатор создаёт выделенный канал между отправителем и получателем. Однако в беспроводных сетях (Wi-Fi) проблема коллизий остаётся актуальной.
Классификация коллизий
В зависимости от среды передачи и протокола, коллизии сигналов можно разделить на несколько типов.
По типу сети
- Коллизии в проводных сетях (Ethernet). Возникают в полудуплексном режиме работы, когда два устройства на одном сегменте сети пытаются передавать одновременно. В современных сетях с полнодуплексным режимом коллизии в кабеле не происходят, так как устройства имеют отдельные пары проводов для приёма и передачи.
- Коллизии в беспроводных сетях (Wi-Fi). Являются основной проблемой, так как радиосреда является общей для всех устройств в зоне действия. Устройство не может одновременно передавать и слушать эфир, поэтому коллизии обнаруживаются косвенно — по отсутствию подтверждения приёма (ACK) от получателя. Для снижения числа коллизий используется протокол CSMA/CA (Collision Avoidance — предотвращение коллизий) с механизмом RTS/CTS (Request to Send / Clear to Send).
По времени обнаружения
- Ранние коллизии. Возникают в начале передачи, когда передатчик ещё не успел отправить весь пакет. В Ethernet ранняя коллизия обнаруживается в течение первых 64 байт (512 битовых интервалов). Такая коллизия легко исправляется повторной передачей.
- Поздние коллизии. Возникают после того, как передатчик отправил более 64 байт. Это указывает на серьёзные проблемы в сети (например, слишком длинный кабель, неисправное оборудование или несоответствие стандарту). Поздние коллизии не обрабатываются протоколом автоматически и часто приводят к потере кадра.
Механизмы обнаружения и предотвращения
CSMA/CD (для проводных сетей)
Протокол CSMA/CD работает следующим образом:
- Устройство «слушает» канал (контроль несущей). Если канал свободен, начинается передача.
- Во время передачи устройство продолжает слушать канал, сравнивая передаваемый сигнал с тем, что присутствует в среде.
- Если обнаружено расхождение (коллизия), передача немедленно прекращается, и устройство отправляет в канал специальный сигнал «затор» (jam signal) длительностью 32 бита, чтобы гарантировать, что все другие устройства узнают о коллизии.
- После этого каждое устройство ждёт случайный промежуток времени (алгоритм экспоненциальной задержки) и повторяет попытку.
CSMA/CA (для беспроводных сетей)
В беспроводных сетях, где невозможно одновременно передавать и слушать, используется предотвращение коллизий:
- Устройство проверяет, свободен ли канал (физическое прослушивание).
- Если канал занят, устройство ждёт случайное время.
- Для снижения вероятности коллизий используется механизм виртуального зондирования: устройство отправляет короткий запрос RTS, а точка доступа отвечает разрешением CTS. Все остальные устройства, услышавшие CTS, задерживают свою передачу на указанное время.
Влияние на производительность сети
Коллизии сигналов приводят к снижению пропускной способности сети. Каждая коллизия означает, что время, затраченное на передачу повреждённого пакета, было потрачено впустую, и пакет необходимо отправлять заново. При высокой загрузке сети (более 30–40% от номинальной пропускной способности в полудуплексном Ethernet) количество коллизий резко возрастает, что может привести к лавинообразному падению производительности — состоянию, известному как «коллапс коллизий» (collision collapse).
В современных коммутируемых сетях, где каждое устройство подключено к отдельному порту коммутатора и работает в полнодуплексном режиме, коллизии на уровне кабеля отсутствуют. Однако коммутатор может испытывать внутренние коллизии, когда несколько портов одновременно пытаются отправить данные на один и тот же выходной порт. В этом случае пакеты помещаются в буфер или отбрасываются.
Коллизии в других областях
Помимо компьютерных сетей, термин «коллизия сигналов» используется в других технических дисциплинах:
- Радиосвязь. При одновременной работе двух или более радиопередатчиков на одной частоте в зоне приёма возникает интерференция, делающая передачу неразборчивой. Для борьбы используются частотное разделение, временное разделение (TDMA) или кодовое разделение (CDMA).
- Электроника. В цифровых схемах с общей шиной данных (например, шина I²C или шина адреса/данных в микропроцессорах) коллизия возникает, если два устройства одновременно пытаются установить на линии разные логические уровни. Для предотвращения используются схемы с открытым коллектором и подтягивающими резисторами.
- Автоматизация и промышленные сети. В шинах PROFIBUS, CAN и Modbus также существуют механизмы арбитража, позволяющие разрешать коллизии без потери данных. Например, в шине CAN приоритет сообщения определяется его идентификатором: устройство с более низким идентификатором (высшим приоритетом) продолжает передачу, а остальные прекращают.
Интересные факты
- В ранних сетях Ethernet на толстом коаксиальном кабеле максимальная длина сегмента (500 метров) была выбрана из расчёта времени распространения сигнала, чтобы коллизия могла быть обнаружена до окончания передачи самого короткого пакета (64 байта). Если бы сегмент был длиннее, передатчик мог бы закончить передачу до того, как сигнал коллизии вернулся к нему, и не обнаружил бы коллизию.
- Алгоритм экспоненциальной задержки (backoff) после коллизии был вдохновлён работой системы ALOHAnet, где случайная задержка выбиралась из диапазона, удваивающегося после каждой неудачной попытки. Это позволяет сети быстро восстанавливаться при малом числе коллизий и избегать перегрузки при высокой загрузке.
- В современных сетях Wi-Fi (стандарты 802.11ac/ax) для снижения числа коллизий используется технология MU-MIMO (Multi-User Multiple Input Multiple Output), которая позволяет точке доступа одновременно обслуживать несколько устройств на разных пространственных потоках, уменьшая конкуренцию за эфир.
Источники
- Таненбаум Э., Уэзеролл Д. «Компьютерные сети». 5-е издание. — СПб.: Питер, 2012.
- Олифер В. Г., Олифер Н. А. «Компьютерные сети. Принципы, технологии, протоколы». 5-е издание. — СПб.: Питер, 2016.
- IEEE Standard for Ethernet. 802.3-2018.
- IEEE Standard for Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications. 802.11-2020.
- Справочник по протоколам и интерфейсам вычислительной техники / Под ред. А. Н. Берлина. — М.: Радио и связь, 1995.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →