Э. Таненбаум, Д. Уэзеролл - Компьютерные сети (1114668), страница 84
Текст из файла (страница 84)
В данном разделемы рассмотрим некоторые протоколы, позволяющие улучшить производительностьканала.Протоколы, в которых станции прослушивают среду передачи данных и действуютв соответствии с этим, называются протоколами с контролем несущей. Было разработано много таких протоколов и их давным-давно подробно проанализировали. Например, см. работу Кляйнрок и Тобаги (Kleinrock, Tobagi, 1975).
Ниже мы рассмотримнесколько версий протоколов с контролем несущей.Настойчивый и ненастойчивый CSMAПервый протокол с опросом несущей, который мы рассмотрим, называется 1‑настойчивый протокол CSMA (Carrier-Sense Multiple Access — множественный доступ с контролем несущей). Длинноватое название для простейшей схемы CSMA.Когда у станции появляются данные для передачи, она сначала прослушивает канал,проверяя, свободен он или занят.
Если канал бездействует, то станция отправляетданные. В противном случае, когда канал занят, станция ждет, пока он освободится.Затем станция передает кадр. Если происходит столкновение, станция ждет в течениеслучайного интервала времени, затем снова прослушивает канал и, если он свободен,пытается передать кадр еще раз. Такой протокол называется протоколом CSMA с настойчивостью 1, так как станция передает кадр с вероятностью 1, как только обнаружит, что канал свободен.От этой схемы можно было бы ожидать, что коллизий вообще происходить небудет, за исключением редких случаев одновременной отправки, но это не так. Еслидве станции придут в состояние готовности в то время, когда передает какая-то третьястанция, обе будут ждать, пока она не закончит передачу, после чего сами одновременно станут передавать, и в результате произойдет столкновение.
Если бы они не былистоль нетерпеливы, количество столкновений было бы меньшим.Если копнуть чуть глубже, то на количество коллизий сильное влияние оказываетзадержка распространения сигнала. Существует небольшая вероятность того, что кактолько станция начнет передачу, другая станция также окажется готовой к передачеи опросит канал.
Если сигнал от первой станции еще не успел достичь второй станции,вторая станция решит, что канал свободен, и также начнет передачу, результатом чегобудет коллизия. Вероятность зависит от числа кадров, умещающихся в канал, или отпоказателя «полоса пропускания, умноженная на задержку» для данного канала. Еслив канал умещается лишь небольшая часть кадра, как бывает в большинстве локальныхсетей, где задержка распространения невелика, то и шанс коллизии мал. Чем больше292 Глава 4. Подуровень управления доступом к средевремя распространения сигнала, тем выше вероятность столкновений и ниже производительность протокола.Однако даже такая система значительно лучше чистой системы ALOHA, так какобе станции воздерживаются от передачи, пока передает третья станция.
То же самоеможно сказать о дискретной системе ALOHA.Вторым протоколом с опросом несущей является ненастойчивый протокол CSMA.В данном протоколе предпринята попытка сдержать стремление станций начинатьпередачу, как только освобождается канал. Как и выше, прежде чем начать передачу,станция опрашивает канал. Если никто не передает в данный момент по каналу, станция начинает передачу сама. Однако если канал занят, станция не ждет освобожденияканала, постоянно прослушивая его и пытаясь захватить сразу, как только он освободится, как в предыдущем протоколе.
Вместо этого станция ждет в течение случайногоинтервала времени, а затем снова прослушивает линию. Очевидно, данный алгоритмдолжен привести к лучшему использованию канала и к большим интервалам ожидания, чем протокол CSMA с настойчивостью 1.Наконец, третий протокол, который мы рассмотрим, это протокол CSMA с настойчивостью p. Он применяется в дискретных каналах и работает следующим образом.Когда станция готова передавать, она опрашивает канал. Если канал свободен, онас вероятностью p начинает передачу. С вероятностью q = 1 – p она отказывается отпередачи и ждет начала следующего такта. Этот процесс повторяется до тех пор, покакадр не будет передан или какая-либо другая станция не начнет передачу.
В последнемслучае станция ведет себя так же, как в случае столкновения. Она ждет в течение случайного интервала времени, после чего начинает все снова. Если при первом прослушивании канала он оказывается занят, станция ждет следующего интервала времени,после чего применяется тот же алгоритм. В IEEE 802.11 применяется улучшеннаяверсия протокола CSMA с настойчивостью p, которую мы рассмотрим далее.На рис. 4.4 показана расчетная зависимость производительности канала от предлагаемого потока кадров для всех трех протоколов, а также для чистой и дискретнойсистем ALOHA.Рис. 4.4. Сравнение использования канала в зависимости от его загрузкидля различных протоколов коллективного доступа4.2.
Протоколы коллективного доступа 293Протокол CSMA с обнаружением коллизийНастойчивый и ненастойчивый протоколы CSMA, несомненно, являются улучшениями системы ALOHA, поскольку они гарантируют, что никакая станция не начнетпередачу, если она определит, что канал уже занят. Однако если две станции, обнаружив, что канал свободен, одновременно начали передачу, столкновение все равнопроизойдет. Еще одно улучшение — способность станций быстро распознавать коллизию и немедленно прекращать передачу (а не завершать ее), так как данные все равноискажены.
Эта стратегия экономит время, и улучшается производительность канала.Такой протокол, называемый CSMA/CD (Carrier-Sense Multiple Access with Collision Detection — множественный доступ с контролем несущей и обнаружениемколлизий), является основой чрезвычайно популярных ЛВС Ethernet, поэтому мыуделим некоторое время более или менее подробному рассмотрению CSMA/CD. Важно понимать, что распознавание коллизий представляет собой аналоговый процесс.Оборудование станции должно «прослушивать» канал во время передачи.
Если оносчитывает сигнал и понимает, что он отличается от пересылаемого, то сразу понятно — произошла коллизия. Следствие таково, что полученный сигнал не обязательнодолжен идеально совпадать с отправленным (что может быть сложно в беспроводныхсетях — принимаемый сигнал нередко в 1 000 000 раз слабее передаваемого) и чтонеобходимо выбирать такой способ уплотнения, который позволит распознаватьколлизии (например, коллизию двух 0-вольтовых сигналов распознать практическиневозможно).В протоколе CSMA/CD, так же как и во многих других протоколах локальныхсетей, применяется концептуальная модель, показанная на рис. 4.5. В момент времени t0 одна из станций закончила передачу кадра.
Все остальные станции, готовыек передаче, теперь могут попытаться передать свои кадры. Если две станции или болееодновременно начнут передачу, то произойдет столкновение. Обнаружив коллизию,станция прекращает передачу, ждет случайный период времени, после чего пытаетсяснова, при условии, что к этому моменту не начала передачу другая станция. Такимобразом, наша модель протокола CSMA/CD будет состоять из чередования периодовконкуренции и передачи, а также периодов простоя канала (когда все станции молчат).Рис.
4.5. Протокол CSMA/CD может находиться в одном из трех состояний: конкуренции,передачи и простояРассмотрим более подробно алгоритм борьбы за право передачи по каналу. Предположим, две станции одновременно начали передачу в момент времени t0. Сколько294 Глава 4. Подуровень управления доступом к средепонадобится времени на то, чтобы они поняли, что произошло столкновение? От ответа на этот вопрос зависит длина периода конкуренции, а следовательно, величиназадержки и производительность канала.Минимальное время обнаружения конфликта равно времени распространениясигнала от одной станции до другой.
Исходя из этих рассуждений, можно предположить, что станция, которая не слышит столкновения в течение времени, требуемогодля прохождения сигнала по всему кабелю, может быть уверена, что ей удалось захватить кабель. Под термином «захватить» имеется в виду, что все остальные станциизнают, что эта станция передает, и не будут сами пытаться передавать. Однако такоезаключение неверно.Рассмотрим следующий сценарий наихудшей ситуации. Пусть время, необходимоедля прохождения сигнала между двумя самыми дальними станциями, равно τ. В момент времени t0 одна из станций начинает передачу. Через интервал времени τ – ε, замгновение до того, как сигнал достигнет самой дальней станции, та станция также начинает передавать.
Конечно, почти мгновенно она обнаруживает столкновение и останавливается, но всплеск шума, вызванный столкновением, достигает передающейстанции только через интервал времени 2τ – ε с момента начала передачи. Другимисловами, станция не может быть уверена в том, что захватила канал, до тех пор покане пройдет интервал времени 2τ с момента начала передачи.Понимая это, конкурирование CSMA/CD можно рассматривать как дискретную систему ALOHA с шириной интервала 2τ. В коаксиальном кабеле длиной 1 кмτ ≈ 5 мкс.