Метод явного контроля скорости После рассмотрения ранних методов управления потоками трафика вернемся к методу явного контроля скорости (Explicit Rate Control). Он более эффективен с точки зрения качества обслуживания и предоставляет более продвинутые средства управления и контроля.
Управление скоростью первоначально использовалось в старых протоколах, которые передавали критически важный трафик по сложным сетям (например, SNA IBM). Контроль скорости применяется и в технологии ATM. В сетях ATM за управление скоростью IP-трафика отвечает служба ABR. Она контролирует скорость, передавая специальные служебные RM-ячейки.
По некоторым данным (результат исследований Лоуренса Г. Робертса (Lawrence G. Roberts)) ABR может достичь оптимальной устойчивой скорости за 6 мс. Протоколу TCP (например, алгоритму «Медленный старт») для этого требуется приблизительно одна секунда. При этом происходит приблизительно пять циклов согласования скоростей с потерей данных на каждом цикле.
Чтобы разместить трафик, который был послан слишком быстро, стеку протоколов TCP/IP потребуется много буферной памяти на всех сетевых узлах. Служба ABR нуждается в значительно меньшем объеме буферной памяти. Тем самым уменьшается флуктуация. Служба ABR так же эффективно использует полосу пропускания и характеризуется низким уровнем потерь.
Служба ABR используется для управления скоростью потоков TCP. При этом она «умеряет аппетиты» этого протокола и не допускает захвата всей полосы частот. Управление скоростью также применяется с трафиком UDP, хотя и не столь эффективно, как с TCP. Служба ABR предотвращает влияние низкоприоритетного трафика TCP на первоочередной трафик UDP.
Напомним, что размер окна TCP указывает принимающая станция, исходя из размера своего буфера. Размер окна включается в каждое сообщение о подтверждении протокола TCP. Если не учитывать ограничения, вызываемые алгоритмами «Медленный старт» или «Предотвращение перегрузки», то передающая сторона пошлет столько сегментов TCP, сколько требуется для того, чтобы заполнить доступное окно. Так как в этом процессе, очевидно, совершенно не учитываются ресурсы промежуточных узлов, возможна перегрузка сети или потеря пакетов при переполнении буферов в маршрутизаторах.
Если промежуточное устройство поддерживает управление скоростью потоков TCP, оно перехватывает подтверждения и указывает в них тот размер окна, который считает оптимальным. Кроме того, оно может посылать новые подтверждения или придерживать подтверждения, не посылая их некоторое время. Промежуточный сетевой узел точно измеряет время прохождения информации в оба конца и вычисляет оптимальную непрерывную скорость трафика. В настоящее время на рынке уже имеется сетевое оборудование, поддерживающее управление скоростью.
Промежуточный узел корректирует размер окна в TCP-подтверждениях и меняет интервалы времени между этими подтверждениями для того, чтобы управлять потоком трафика. Если, например, принимающая станция указала в своем окне размер буферной памяти в 8000 байтов, то промежуточный узел может разложить его в четыре 2000-байтовых окна, генерируя три дополнительных АСК и измеряя тайм-ауты отправителя потока для того, чтобы гарантировать устойчивый поток трафика (рис. 13.13). Такой механизм совместим со всеми реализациями протоколов TCP и не требует использования алгоритмов «Медленного старта» или «Предотвращения перегрузки» для своего правильного функционирования.
Алгоритм контроля скорости в протоколе TCP может значительно повысить эффективность работы сети, поскольку фактически устраняется нерациональное использование пропускной способности при повторных передачах, вызванных буферным переполнением. Кроме того, устраняются непредсказуемые задержки трафика, вызванные работой алгоритмов «Медленный старт» и «Предотвращение перегрузки». Стабилизированный поток трафика, контролируемый по всему пути следования, также уменьшает размеры очередей в маршрутизаторе и упрощает задачу управления ими.
Протокол UDP занимает достаточно важное место в современных сетях потому, что он используется многими приложениями мультимедиа в реальном времени. К сожалению, протокол UDP не способен обеспечить такое же многообразие средств непрерывного управления потоком данных, какое предоставляет протокол TCP. Метод RED, например, не может работать с протоколом UDP потому, что на его скорость передачи данных не воздействует потеря пакета (если только на этот факт протоколы более высокого уровня не реагируют тем же самым способом, как это делает алгоритм «Предотвращение перегрузки» в протоколе TCP).
Но механизм контроля скорости может помочь и в этом случае. Промежуточный узел, обеспечивающий контроль скорости протокола UDP, может корректировать скорость трафика, используя специальную реализацию стандартного алгоритма буферизации типа «дырявое ведро», который применяется в технологии ATM.
Такой алгоритм может работать следующим образом: у промежуточного узла имеется область памяти с организованной «утечкой» в основании; пакеты постоянно добавляются в область памяти по мере поступления, но уровень утечки пакетов остается неизменным. Контроль скорости для протокола UDP необходим по тем же самым причинам, что и для протокола TCP: «приглаженный» поток намного проще в управлении, очереди в маршрутизаторах короче, а буфера переполняются реже.
Преимущества использования контроля скорости особенно существенны для сетей, которые передают важный трафик при ограниченной ширине полосы пропускания, например, через сети ATM общего пользования, сети Frame Relay, IP-сети.
|