CSMA (Carrier-Sense Multiple Access — множественный доступ с контролем несущей).
Когда у станции появляются данные для передачи, она сначала прослушивает канал,
проверяя, свободен он или занят. Если канал бездействует, то станция отправляет
данные. В противном случае, когда канал занят, станция ждет, пока он освободится.
Затем станция передает кадр. Если происходит столкновение, станция ждет в течение
случайного интервала времени, затем снова прослушивает канал и, если он свободен,
пытается передать кадр еще раз. Такой протокол называется протоколом CSMA с настойчивостью 1, так как станция передает кадр с вероятностью 1, как только обнаружит, что канал свободен.
От этой схемы можно было бы ожидать, что коллизий вообще происходить не
будет, за исключением редких случаев одновременной отправки, но это не так. Если
две станции придут в состояние готовности в то время, когда передает какая-то третья
станция, обе будут ждать, пока она не закончит передачу, после чего сами одновременно станут передавать, и в результате произойдет столкновение. Если бы они не были
столь нетерпеливы, количество столкновений было бы меньшим.
Если копнуть чуть глубже, то на количество коллизий сильное влияние оказывает
задержка распространения сигнала. Существует небольшая вероятность того, что как
только станция начнет передачу, другая станция также окажется готовой к передаче
и опросит канал. Если сигнал от первой станции еще не успел достичь второй станции,
вторая станция решит, что канал свободен, и также начнет передачу, результатом чего
будет коллизия. Вероятность зависит от числа кадров, умещающихся в канал, или от
показателя «полоса пропускания, умноженная на задержку» для данного канала. Если
в канал умещается лишь небольшая часть кадра, как бывает в большинстве локальных
сетей, где задержка распространения невелика, то и шанс коллизии мал. Чем больше
время распространения сигнала, тем выше вероятность столкновений и ниже производительность протокола.
Однако даже такая система значительно лучше чистой системы ALOHA, так как
обе станции воздерживаются от передачи, пока передает третья станция. То же самое
можно сказать о дискретной системе ALOHA.
Вторым протоколом с опросом несущей является ненастойчивый протокол CSMA.
В данном протоколе предпринята попытка сдержать стремление станций начинать
передачу, как только освобождается канал. Как и выше, прежде чем начать передачу,
станция опрашивает канал. Если никто не передает в данный момент по каналу, станция начинает передачу сама. Однако если канал занят, станция не ждет освобождения
канала, постоянно прослушивая его и пытаясь захватить сразу, как только он освободится, как в предыдущем протоколе. Вместо этого станция ждет в течение случайного
интервала времени, а затем снова прослушивает линию. Очевидно, данный алгоритм
должен привести к лучшему использованию канала и к большим интервалам ожидания, чем протокол CSMA с настойчивостью 1.
Наконец, третий протокол, который мы рассмотрим, это протокол CSMA с настойчивостью p. Он применяется в дискретных каналах и работает следующим образом.
Когда станция готова передавать, она опрашивает канал. Если канал свободен, она
с вероятностью p начинает передачу. С вероятностью q = 1 – p она отказывается от
передачи и ждет начала следующего такта. Этот процесс повторяется до тех пор, пока
кадр не будет передан или какая-либо другая станция не начнет передачу. В последнем
случае станция ведет себя так же, как в случае столкновения. Она ждет в течение случайного интервала времени, после чего начинает все снова. Если при первом прослушивании канала он оказывается занят, станция ждет следующего интервала времени,
после чего применяется тот же алгоритм. В IEEE 802.11 применяется улучшенная
версия протокола CSMA с настойчивостью p, которую мы рассмотрим далее.
|