CSMA/ CD - Локально-вычислительная сеть малого офиса

Контроллер MAC Fast Ethernet, прежде чем приступить к передаче, прослушивает несущую. Несущая существует лишь тогда, когда другой узел ведет передачу. Уровень PHY определяет наличие несущей и генерирует сообщение для MAC. Наличие несущей говорит о том, что среда занята и слушающий узел (или узлы) должны уступить передающему.

MAC, имеющий кадр для передачи, прежде чем передать его, должен подождать некоторый минимальный промежуток времени после окончания предыдущего кадра. Это время называется межпакетной щелью (IPG, interpacket gap) и продолжается 0,96 микросекунды, то есть десятую часть от времени передачи пакета обычной Ethernet со скоростью 10 Мбит/с (IPG -- единственный интервал времени, всегда определяемый в микросекундах, а не во времени бита) рис. 2.9

межпакетная щель

Рис. 2.9 Межпакетная щель

После окончания пакета 1 все узлы ЛВС обязаны подождать в течение времени IPG, прежде чем смогут передавать. Временной интервал между пакетами 1 и 2, 2 и 3 на рис. 2 -- это время IPG. После завершения передачи пакета 3 ни один узел не имел материала для обработки, поэтому временной интервал между пакетами 3 и 4 длиннее, чем IPG.

Все узлы сети должны соблюдать эти правила. Даже если на узле имеется много кадров для передачи и данный узел является единственным передающим, то после пересылки каждого пакета он должен выждать в течение, по крайней мере, времени IPG.

Именно в этом заключается часть CSMA правил доступа к среде Fast Ethernet. Короче говоря, многие узлы имеют доступ к среде и используют несущую для контроля ее занятости.

В ранних экспериментальных сетях применялись именно эти правила, и такие сети работали очень хорошо. Тем не менее, использование лишь CSMA привело к возникновению проблемы. Часто два узла, имея пакет для передачи и прождав время IPG, начинали передавать одновременно, что приводило к искажению данных с обеих сторон. Такая ситуация называется коллизией (collision) или конфликтом.

Для преодоления этого препятствия ранние протоколы использовали достаточно простой механизм. Пакеты делились на две категории: команды и реакции. Каждая команда, переданная узлом, требовала реакции. Если в течение некоторого времени (называемого периодом тайм-аута) после передачи команды реакция на нее не была получена, то исходная команда подавалась вновь. Это могло происходить по нескольку раз (предельное количество тайм-аутов), прежде чем передающий узел фиксировал ошибку.

Эта схема могла прекрасно работать, но лишь до определенного момента. Возникновение конфликтов приводило к резкому снижению производительности (измеряемой обычно в байтах в секунду), потому что узлы часто простаивали в ожидании ответов на команды, никогда не достигающие пункта назначения. Перегрузка сети, увеличение количества узлов напрямую связаны с ростом числа конфликтов и, следовательно, со снижением производительности сети.

Проектировщики ранних сетей быстро нашли решение этой проблемы: каждый узел должен устанавливать факт потери переданного пакета путем обнаружения конфликта (а не ожидать реакции, которая никогда не последует). Это означает, что потерянные в связи с конфликтом пакеты должны быть немедленно переданы вновь до окончания времени тайм-аута. Если узел передал последний бит пакета без возникновения конфликта, значит, пакет передан успешно.

Метод контроля несущей хорошо сочетать с функцией обнаружения коллизий. Коллизии все еще продолжают происходить, но на производительности сети это не отражается, так как узлы быстро избавляются от них. Группа DIX, разработав правила доступа к среде CSMA/CD для Ethernet, оформила их в виде простого алгоритма - рис. 2.10.

Рис. 2.10 Алгоритм работы CSMA/CD

Похожие статьи




CSMA/ CD - Локально-вычислительная сеть малого офиса

Предыдущая | Следующая