проблемой, то не исключено, что вам ее все же не избежать. Краткий обзор принципов, на которых основано предоставление услуг связи с гарантированным качеством, поможет вам разобраться в мудреной терминологии и перевести ее со специального языка на обычный.
Обеспечить гарантированное качество услуг — значит, распределить внутренние сетевые ресурсы коммутаторов и маршрутизаторов таким образом, чтобы данные могли передаваться точно по назначению, быстро, стабильно и надежно. Поскольку с каждым годом сетевые приложения требуют для своей работы все большей полосы пропускания и меньших временных задержек, поддержка QoS выходит на первый план при выборе покупателями сетевой аппаратуры.
Однако общее понятие "гарантия качества услуг" раскрывается целым рядом специальных терминов, которые с легкостью используют производители оборудования в технических описаниях своих продуктов. И разобраться в них — задача не из простых.
Вот, например, выдержка из пресс-релиза, посвященного выпуску коммутатора Catalyst 8500 компании Cis-co Systems: "Архитектура коммутатора поддерживает потоковое обслуживание трафика, приоритезацию с дифференцированной задержкой на базе пропорционального циклического диспетчера для чувствительных к задержкам приложений и приоритезацию с дифференцированными потерями для управления нагрузкой; обеспечены также поддержка правил передачи трафика и возможность его формирования. Быструю память, встроенную в схему коммутатора, можно динамически распределять между очередями по потоковому принципу (принципу очередей). Динамическое распределение памяти в сочетании с задаваемыми пользователем числом очередей и их относительной значимостью гарантирует корректную передачу чувствительного к задержкам трафика без потери пакетов".
Вы что-нибудь поняли? Если да, дальше можете не читать, если же у вас возникли трудности с осмыслением прочитанного, ознакомьтесь с нашим пояснением. Поняв значение терминов, которыми часто оперируют при описании гарантированного качества услуг, вы сумеете успешно сравнивать возможности сетевых продуктов.
Как добиться качества
Существует не слишком много способов обеспечения QoS. Самый простой из них — увеличение полосы пропускания сети за счет наращивания аппаратных возможностей оборудования. Можно использовать и такие приемы, как задание приоритетов данных, организация очередей, предотвращение перегрузок и формирование трафика. Управление сетью по заданным правилам в перспективе должно объединить все эти способы в единую автоматизированную систему, которая будет гарантировать качество услуг абсолютно на всех участках сети.
Увеличение аппаратной мощности, несомненно, является наиболее эффективным средством реализации QoS в локальной сети. Давление со стороны конкурентов, необходимость повышения эффективности производства, появление новых технологий, позволяющих оснащать специализированные микросхемы (ASIC) самыми разнообразными функциями, — все это заставляет поставщиков коммутационного оборудования для локальных сетей выбрасывать на рынок все более быстродействующие устройства по ценам, сопоставимым со стоимостью моделей прежнего поколения.
Маловероятно, что в обозримом будущем данный подход к поддержке QoS в локальных сетях перестанет быть приоритетным. Поскольку в локальных сетях удается обеспечить гарантированное качество услуг, не прибегая к дорогостоящей модернизации всего оборудования и серьезным изменениям в системе управления сетью, сетевые администраторы будут обращать внимание и на программные средства, позволяющие реализовать QoS.
Итак, наибольшее распространение, скорее всего, получит комбинированный подход. Некоторые производители высказываются в его пользу, утверждая, что лучше всего увеличивать пропускную способность сети не напрямую, а за счет интеллектуальных возможностей оборудования, которое обладает средствами обеспечения QoS. Правда, производители сетевых устройств вряд ли могут быть объективными в этом вопросе, так как они заинтересованы в сбыте тех самых продуктов, которые поддерживают гарантированное качество услуг.
В глобальных сетях наращивание аппаратных мощностей используется реже. Конечно, снижение стоимости полосы пропускания сделало бы передачу данных по глобальным сетям доступной для более широкого круга пользователей (и даже несколько снизило бы актуальность внедрения гарантированного качества услуг). Но в ближайшем будущем стоимость полосы пропускания в глобальных сетях будет оставаться достаточно высокой, поэтому и наращивание аппаратной мощности не станет столь популярным, как в локальных сетях.
Назначение приоритетов
Наравне с наращиванием аппаратного обеспечения сети для реализации QoS применяются и средства типа задания приоритетов данных и организации очередей. Маршрутизаторы поддерживают эти механизмы в течение многих лет, как и некоторые из новых коммутаторов для каналов Gigabit Ethernet. Однако ПО для управления сетью по заданным правилам, которое необходимо для практического воплощения этой технологии, пока не разработано. Среди новых коммутаторов такого класса можно назвать CoreBuilder 3500, CoreBuilder 9000 и SuperStack II компании 3Com, устройства серии Accelar фирмы Bay Networks, SmartSwitch Router компании Cabletron Systems, а также Catalyst 5000 и Catalyst 8000 производства Cisco.
Способы приоритезации данных можно условно подразделить на явные и неявные.
При неявном назначении приоритетов маршрутизатор или коммутатор автоматически присваивает услугам соответствующие уровни, исходя из заданных администратором сети критериев (например, типа приложения для применяемого протокола передачи или адреса источника). Каждый входящий пакет анализируется (фильтруется) на соответствие этим критериям. Механизм неявной приоритезации поддерживают практически все маршрутизаторы.
Некоторые коммутаторы тоже способны задавать приоритеты, но имеют ограниченный набор функций.Так, коммутаторы могут обеспечивать приоритезацию данных по типу виртуальной локальной сети, адресу источника или адресата, но не используют информацию более высокого уровня (протокол передачи или тип приложения). Разрабатываемые в настоящее время системы управления сетью по заданным правилам позволят реализовать более совершенные схемы приоритезации данных при работе с такими коммутаторами.
При явной приоритезации данных пользователь или приложение запрашивает определенный уровень службы, а коммутатор или маршрутизатор пытается удовлетворить запрос. Вероятно, самым популярным механизмом явной приоритезации станет протокол IP Precedence (протокол старшинства), получивший второе название IP TOS (IP Type Of Service), — один из разделов четвертой версии протокола IP.
IP TOS резервирует специальное поле в заголовке пакета, где могут быть указаны признаки QoS, определяющие время задержки, скорость пропускания и уровень надежности передачи пакета. Последняя версия ПО Winsock в ОС Windows 98 и Windows NT позволяет администратору вводить такое поле в заголовок. Однако найдется немного популярных приложений — за исключением мультимедийного ПО, — в которых реализована поддержка протокола IP TOS.
Сейчас разрабатывается протокол резервирования ресурсов RSVP, который предусматривает более сложный, чем в IP TOS, механизм передачи от приложения к машрутизатору запроса на гарантированное качество услуг. Как и IP TOS, протокол RSVP пока не получил широкой поддержки разработчиков — он реализован лишь в отдельных типах маршрутизаторов. Распространение RSVP сдерживается из-за того, что не решены некоторые вопросы, связанные с совместимостью различных сетей. К тому же применение RSVP значительно увеличивает нагрузку на маршрутизаторы и может привести к снижению быстродействия этих устройств.
Видимо, в обозримом будущем неявная приоритезация, не требующая серьезных вычислительных мощностей маршрутизатора, останется более популярной, чем явная. Кроме того, при явном задании приоритетов значительно усложняется управление сетью. Конечные пользователи, скорее всего, будут настраивать свое программное обеспечение на запрос наивысшего из возможных уровней услуг. Соответственно, администратору сети придется разрабатывать правила управления пользователями и, возможно, даже настраивать службы с гарантированным качеством для каждого пользователя в отдельности.
Организация и обслуживание очередей
После того как передаваемым по сети данным назначены соответствующие приоритеты (при помощи явных или неявных методов), требуется определить порядок передачи этих данных, задав алгоритм обслуживания очередей с необходимым качеством (уровнем QoS). По сути, очереди представляют собой области памяти коммутатора или маршрутизатора, в которых группируются пакеты с одинаковыми приоритетами передачи. Алгоритм обслуживания очереди определяет порядок, в котором происходит передача хранящихся в ней пакетов. Смысл применения всех алгоритмов сводится к тому, чтобы обеспечить наилучшее обслуживание трафика с более высоким приоритетом при условии, что и пакету с низким приоритетом гарантируется соответствующее внимание.
При использовании способов задания явных и неявных приоритетов (рис. 1) алгоритм обработки очередей определяет порядок их обслуживания (в данном примере он циклический). В соответствии с этим алгоритмом на каждые два пакета, переданных в сеть из очереди 1 (с высоким приоритетом) приходится по одному пакету из очередей 2 и 3. Пакеты с одинаковыми приоритетами передаются по принципу FIFO ("первым пришел — первым вышел").
Если в сети возникает перегрузка, служба очередей не гарантирует своевременного достижения пункта назначения наиболее важными данными. Гарантируется лишь то, что эти пакеты будут переданы раньше, чем имеющие более низкий приоритет.
Современные службы QoS решают такую задачу за счет резервирования полосы пропускания. Каждой из очередей (или их групп) выделяется заранее заданная величина полосы пропускания, что гарантирует определенную полосу пропускания для очереди с более высоким приоритетом. Для критических ситуаций, когда объем данных в очереди превышает размеры полосы пропускания, в алгоритмах обслуживания обычно предусматривается передача трафика с высоким приоритетом на полосу пропускания, "принадлежащую" очередям с низким приоритетом, и наоборот.
Самые простые алгоритмы обслуживают каждую очередь по принципу FIFO. При этом передача кадров большого размера, имеющих высокий приоритет, может приводить к задержкам трафика другого приложения со столь же высоким приоритетом, но меньшим объемом.
В более сложных алгоритмах предпринимается попытка "справедливой" обработки очередей. Например, алгоритм равномерного пропорционального (или взвешенного) обслуживания (WFQ — Weighted Fair Queuing), разработанный компанией Cisco, подразделяет приложения на требующие большой и малой ширины полосы пропускания, а сама полоса пропускания распределяется между всеми приложениями поровну. Следует отметить, что основные производители маршрутизаторов сами разрабатывают алгоритмы обслуживания очередей и используют для их описания собственную терминологию.
Существенным недостатком современных маршрутизаторов и коммутаторов является то, что они поддерживают малое число очередей. Чаще всего производители организуют службы QoS, использующие четыре очереди, хотя чем больше очередей, тем больше различных приоритетов можно присвоить передаваемым пакетам и тем "справедливее" распределить полосу пропускания между приложениями. Например, администратор в состоянии задать приоритеты таким образом, чтобы предпочтение при передаче отдавалось пакетам, адресованным на более удаленные узлы.
При потоковой организации очередей каждой сетевой сессии пользователя выделяется отдельная очередь. В настоящее время этот механизм реализован в коммутаторах Catalyst 8500 компании Cisco и Content Smart Switch компании Arrowpoint Communications (устройства выполнены на базе набора микросхем Anyflow 5500 фирмы MMC Networks). Однако при увеличении числа очередей растет и сложность устройства, а это неизбежно отражается на его стоимости, усложняет настройку и управление сетью.
Управление нагрузкой
Служба QoS дает возможность использовать для управления сетью два важных механизма — управления в условиях перегрузки и предотвращения перегрузок. Первый из них позволяет конечной станции сразу снижать скорость передачи данных, когда в сети начинается потеря пакетов. В протоколах TCP/IP и SNA этот механизм поддерживается уже в течение нескольких лет. И хотя сам по себе он не гарантирует качества передачи, при его использовании совместно с механизмом предотвращения перегрузок результаты оказываются намного лучшими. В сетях TCP/IP механизм предотвращения перегрузок применяется достаточно давно, но лишь в последние годы он становится стандартом "де-факто" для маршрутизаторов телекоммуникационных сетей и Internet.
Стандартным способом предотвращения перегрузок в сети стало применение механизма случайного выделения пакетов (Random Early Detection, RED). При заполнении очередей выше определенной критической отметки этот механизм заставляет маршрутизатор выбирать из очереди по случайному закону некоторые пакеты и "терять" их. Скорость передачи данных станциями-отправителями снижается, что и позволяет избежать переполнения очереди.
Механизм пропорционального случайного выделения пакетов — WRED (Weighted RED) — можно считать следующей, более совершенной "версией" RED. Он предусматривает, что выбор пакетов, которые должны "потеряться", будет происходить с учетом их приоритезации согласно IP TOS.
Среди устройств, поддерживающих механизмы RED и WRED, можно назвать маршрутизаторы магистралей серий 7000 и 12000 фирмы Cisco, а также Backbone Node компании Bay Networks. Данные механизмы будут поддерживаться и пока серийно не выпускаемыми маршрутизаторами гигабитного и терабитного диапазонов скоростей для Internet, о создании которых уже объявили недавно появившиеся на этом рынке компании, такие как Argon Networks, Avici Systems, Juniper Networks, NetCore Systems и Nexabit Networks.
Формирование трафика
Формирование трафика — это общий термин, которым принято обозначать различные способы манипулирования данными для повышения качества их передачи. Один их таких способов — сегментация пакетов. В сетях АТМ гарантированно высокий уровень QoS достигается в том числе и за счет малого размера передаваемых пакетов (ячеек — в терминологии ATM). Максимальное время задержки при передаче любого пакета сети ATM — это время передачи одной ячейки.
Заимствуя полезные механизмы технологии АТМ, производители маршрутизаторов и коммутаторов начинают обеспечивать в своих продуктах возможность сегментации пакетов. Например, маршрутизаторы Cisco серии 12000 имеют встроенный механизм сегментации пакетов на ячейки размером 64 байта, что позволяет гарантировать качество передачи данных маршрутизатором. Некоторые устройства, предназначенные для сетей frame relay, сегментируют пакеты, передаваемые по каналам глобальных сетей, чтобы гарантировать конкретное время передачи и минимизировать задержки.
Еще один способ формирования трафика — его "выравнивание". Для таких протоколов, как например, AppleTalk, характерна неравномерная передача пакетов, что порой приводит к появлению в сети последовательностей или цепочек пакетов, а следовательно — к ее перегрузке. Процедура выравнивания трафика позволяет расчленить цепочки путем размещения пакетов в буфере перед их передачей в сеть. Для обеспечения более равномерной передачи данных можно также выравнивать трафик оконечных узлов сети.
Ресурс | Необходимая задержка | Разрешенная полоса пропускания |
Пользователь | 0,2 | 1 Мбит/с |
Приложение | 1 | 10 кбит/с |
Объединение всех средств
Независимо от того, с помощью каких средств реализуется QoS в маршрутизаторе или коммутаторе, это устройство выполняет свою часть работы по передаче данных отдельно от других элементов сети. Пакет, успешно миновавший несколько узлов, может "застрять" в устройстве, не поддерживающем необходимые механизмы гарантии качества услуг. Устройства, через которые пакет уже прошел, не могут повлиять на его маршрут, чтобы предотвратить попадание пакета в несовершенный элемент сети.
Однако в настоящее время уже разрабатываются так называемые policy-based management systems, т. е. системы управления сетью по заданным правилам (рис. 2). В их функции входит объединение всех средств и формирование алгоритмов управления, обеспечивающих QoS на всех участках сети.
Специальное ПО (сервер правил), которое использует данные мониторинга и параметры администрирования, будет следить за работой сети, определять оптимальные способы реализации заданного уровня QoS и динамически настраивать маршрутизаторы и коммутаторы. Серверы правил будут "опираться" и на данные сетевых каталогов (например, NDS фирмы Novell), устанавливая с их помощью, какие уровни служб соответствуют уровню запроса пользователя или приложения. Для связи серверов и каталогов чаще всего будет служить протокол LDAP (Hight-Weight Directory Access Protocol — облегченный протокол доступа к каталогам).
Появление ПО серверов правил уже не за горами. Его использование предус-мотрено в новых продуктах компаний Bay Networks (Optivity Policy Services), 3Com (PolicyPowered Networking) и Cisco (CiscoAssure Policy Networking).
Следует отметить, что впервые идея управления сетью по заданным правилам была выдвинута компанией Cabletron еще в 1994 г. Тогда компания анонсировала систему SecureFast Virtual Networking, однако она не получила широкого признания. Сегодня использованная в этой системе технология стала основой нового сервера правил компании Cabletron. Сроки выпуска продукта пока неизвестны.
Поскольку реального сервера правил на рынке еще нет, остается только гадать, насколько простыми в эксплуатации и экономичными окажутся новые системы, обеспечивающие гарантированное качество услуг. Пока очевидно одно: для их успешной работы очень важна правильная организация всей сети. Такие услуги стоят дорого, реализовать их непросто, и не всегда использование даже самых совершенных механизмов службы QoS может компенсировать недостатки сети. По моим оценкам, службы QoS целесообразно применять так: в ЛВС — на магистральных линиях, а в глобальных сетях — на оконечных участках.
Возвращаясь к началу
Теперь, когда мы познакомились с основными терминами, связанными с понятием гарантированного качества услуг, смысл приведенного в начале статьи отрывка из пресс-релиза компании Cisco должен проясниться. Там говорится следующее. Коммутатор Catalyst 8500 может создавать для каждой открытой пользователями сессии отдельную очередь; для обслуживания очередей он использует алгоритм WFQ, предоставляющий каждому потоку данных конкретный уровень службы. Коммутатор предотвращает перегрузку сети, поддерживает формирование трафика и управление им на базе заданных правил. Благодаря всему этому реализуется QoS.