Исходники
Статьи
Языки программирования
.NET Delphi Visual C++ Borland C++ Builder C/С++ и C# Базы Данных MySQL MSSQL Oracle PostgreSQL Interbase VisualFoxPro Веб-Мастеру PHP HTML Perl Java JavaScript Протоколы AJAX Технология Ajax Освоение Ajax Сети Беспроводные сети Локальные сети Сети хранения данных TCP/IP xDSL ATM Операционные системы Windows Linux Wap Книги и учебники
Скрипты
Магазин программиста
|
Регуляторы трафикаВ связи с увеличением потребления трафика в локальных сетях встречаются ситуации, когда одни приложения монополизируют весь сетевой канал. Решить эту проблему можно с помощью сетевого оборудования, позволяющего контролировать или регулировать поток трафика. Конкуренция трафика: возможен ли компромисс?В настоящее время все больше решений в области коммуникаций самого разного масштаба используют IP-протокол и локальные сети Ethernet. При этом есть возможность минимизировать затраты благодаря использованию уже имеющегося оборудования, существующим программным решениям и даже приобретенным знаниям и опыту местных специалистов. Упрощает работу включение в общий проект уже имеющихся коммуникаций. IP-трафик, обеспечивающий работу программ, будет передаваться по каналам LAN и шлюзам, соединяющим сетевые сегменты. В качестве примера можно привести вариант организации информационного сообщения между разнесенными офисами путем реализации VPN. Одна из проблем IP-сетей – это эффективный контроль трафика. Методы решения этой проблемы основываются на применении политики, позволяющей гармонично распределить информационный поток. Ведущие разработчики сетевого оборудования пытаются воплотить идею использования политики контроля трафика в технические решения. Как правило, реализуются методы QoS (Quality of Service) и CoS (Class of Service), которые, впрочем, связаны между собой. Но в каких же случаях проблема управления трафиком является действительно критичной? И может ли достаточно широкий канал, соединяющий сети, решить все вопросы? Необходимо учитывать, что протокол IP, созданный для передачи данных в интернете, не гарантирует доставку данных. Этот же протокол, работая в локальной сети Ethernet, не приобрел дополнительного качества, также полагаясь на принцип best effort service (негарантированная доставка данных). Если сеть компании используется только для обмена данными, то, наверное, заметного постоянного наростания трафика в ней не наблюдается, а возможные задержки при работе в сети или незаметны пользователям, или малозначимы. Даже в случае добавления новых пользователей в группу необходимо только пропорционально увеличить пропускную способность каналов, чтобы обеспечить необходимое качество сетевых сервисов. Совершенно другая ситуация складывается при использовании приложений, для работы которых критичны задержки и скорость потока данных. Расширение пропускного канала сети сделает скорость обмена данными только более высокой, но не предотвратит внезапного увеличения до критического значения потока пакетов. При этом может наблюдаться переполнение буфера роутера или коммутатора. В такой ситуации происходит разрушение части сетевых пакетов. Также есть возможность потери пакетов второстепенных программ, а не приложений межсетевого обмена, например e-mail. Чтобы обеспечить эффективную работу всех приложений, следует изменить логику функционирования сети. Необходимо отказаться от негарантированной доставки данных, не дающей никаких привилегий программам. В тех случаях, когда объем трафика или задержки в локальной сети могут возрастать в пределах 10–30%, разумно будет задействовать QoS/CoS-политику как способ контроля трафика. Если организация планирует использовать видеоконференцию или систему групповой работы, в локальной сети обязательно нужно закрепить необходимый ресурс за определенными приложениями. Кстати, разработчики предлагают несколько схем, позволяющих эффективно применить схему QoS/CoS в локальной сети. Проще всего использовать схему приоритезации сетевого трафика. IEEE и Internet Engineering Task Force поддерживают восемь одинаковых уровней приоритета IEEE в спецификации 802.1p(802.1d), а IETF использует специальные биты в IP-заголовке. Компания 3COM одной из первых реализовала поддержку данной спецификации в своих коммутаторах и роутерах под фирменным названием 3Com Transcend Policy Manager. Важно, что ведущие производители сетевого оборудования, в частности 3COM и Cisco, сотрудничали с разработчиками основных ОС для достижения совместимости обработки битов приоритета в заголовках IP-пакета. Политика приоритетов создает что-то наподобие дорожных развязок. Она, например, может определить, что пакеты, относящиеся к приложениям CRM, имеют превосходство по доставке перед пакетами других типов – обмена файлов или интернет-пейджеров. Если же возникнет ситуация, когда часть пакетов в результате перегрузки будет отброшена, то в первую очередь это случится с пакетами с низким приоритетом. Надо сказать, что наряду с обеспечением достаточной полосы пропускания схема приоритетов позволяет осуществить доставку необходимого трафика в пункт назначения. В рабочих группах, где необходимо обеспечить определенный уровень задержек сетевых передач, оптимальным будет использование схемы QoS, реализованной в стандарте ATM и RSVP (Resource Reservation Protocol). Данная схема позволяет получить контроль над пропускной способностью, задержками и точностью соблюдения приоритетов (над тем, какие пакеты будут отброшены в ситуации переполнения очереди). Так, RSVP способен гарантировать то, что задержка сетевой передачи не превысит определенного максимума, а ATM к тому же предлагает контроль за дрожанием – колебанием задержек и временем движения пакетов от одной критичной точки LAN до другой. Даже если компания не нуждается в системе управления трафиком сегодня, вполне возможно, что такая необходимость возникнет в будущем. Необходимо обращать внимание на то, чтобы приобретаемое сетевое оборудование, например коммутаторы, устанавливаемые на границе сети, поддерживали второй уровень и могли использовать схему приоритезации по стандарту 802.1p(802.1d). Механизм дифференцированных услугС целью формализации описанных проблем и решений в 1998 году IETF создала рабочую группу по созданию дифференцированных услуг (DiffServ). Основная задача дифференцированных услуг – совместить требования по качеству обслуживания данных с принципом негарантированной доставки пакетов. В этой модели происходит разделение трафика путем его разбивки на классы с различным приоритетом. Принцип приоритезации трафика прост: преимущества в сети отдаются более важным данным. При этом возникает несколько вопросов: какой трафик может быть дифференцирован? Кто и как наделяет данные приоритетом? Приоритезация, называемая также CoS, разделяет трафик по нескольким категориям: высокая, средняя и низкая, а также самая низкая, пакеты которой могут быть отброшены. E-mail и вэб-трафик зачастую относят к самой низкой категории, и в случае полной загрузки сети они будут отброшены в первую очередь. Сервисы, ориентированные на доставку пакетов, работают по аналогии с CoS, то есть можно отметить те пакеты, которые нужно доставить в первую очередь, во вторую и т.д. Такая схожесть не случайна, ведь CoS можно рассматривать как подкласс QoS. Но в отличие от нее, приоритезация трафика не гарантирует того, что данные будут доставлены в определенное время.
Приоритезация предписывает только обработку одних пакетов до того, как будут обработаны другие. Для реализации гарантированной доставки доставочный механизм должны поддерживать все звенья сети, принимающие участие в обработке данных. Сегодня только ATM имеет все механизмы поддержки QoS. Для локальных сетей существует RSVP. Он является IETF-стратегией поддержки QoS в сетях TCP/IP и есть нечто большее, чем приоритезация и CoS. RSVP предусматривает распределение полосы пропускания и ее резервирование под определенный вид трафика. Это достаточно сложный для реализации протокол. Существует и другой механизм реализации QoS в IP – MPLS (Multiprotocol Label Switching). Одной из проблем сетей, в которых реализована приоритезация, является задержка пакетов с самым низким приоритетом в нагруженной сети и передача всей полосы пропускания пакетам с высоким приоритетом. Таким же образом часть привилегированных пакетов будет задерживаться, когда нагрузка сети приобретет крайнюю степень. Пожалуй, сегодня одним из рациональных путей управления трафиком (требующим значительно меньших затрат, чем реализация политики QoS) может служить разделение полосы пропускания на несколько частей для конкретных нужд. В случае, когда возрастает нагрузка, пакеты начинают буферизироваться сетевым оборудованием, что приводит к задержкам. Если буфер маршрутизатора (коммутатора) переполняется, некоторые пакеты вообще могут быть потеряны. При возникновении проблем буферизации схема приоритезации поможет отправить первоочередные пакеты или пакеты, чувствительные к задержкам, раньше других. При этом необходимо, чтобы такие пакеты были правильно классифицированы и помещены в очередь с соответствующим уровнем обслуживания. Для этого порт сетевого устройства должен уметь классифицировать пакеты, а также читать метку класса входящего пакета и помещать его в очередь стека, которая отсортирована по значимости пакетов. При этом пакеты, находящиеся в начале очереди, будут обработаны быстрее. Приоритезация может быть задействована также в мультипротокольных маршрутизаторах и коммутаторах, когда классификация будет проводиться по типу протокола. Например, данные, относящиеся к SNMP-протоколу, будут отнесены к классу с наивысшим приоритетом. Существуют и другие схемы маркировки CoS:
Сегодня делаются попытки стандартизировать описание классов обслуживания и постепенно избавиться от использования поля TOS в пользу DSCP (Diff-Serve Code Point). Фактически поле DSCP представляет собой расширение поля IP-приоритета за счет использования битов, определяющих типы обслуживания. Схематически трансляция заголовка выглядит так:
Классификация пакетов может быть произведена различными способами. Лучше всего, если это будет сделано пользовательским приложением. Но компьютерные программы, как правило, не поддерживают все схемы классификации, поэтому такую задачу чаще всего предлагается выполнять многоуровневым коммутаторам, расположенным на границе сети. Практический пример использования коммутатора 2/3 уровня для регулирования трафика Далее будет показано, как можно рационально организовать обмен сетевым трафиком, задействовав интеллектуальные функции коммутатора 3COM SuperStack 3 Switch 4400. Следует сказать, что рассматриваемое устройство поддерживает стандарт 802.1d (расширяющий 802.1p) и реализует как приоритезацию трафика, так и схему QoS. В основе механизма управления TCP/IP-пакетами 3COM SuperStack 3 Switch 4400 лежит использование нескольких очередей, обрабатываемых с различными привилегиями.
Кроме собственно реализаций схем CoS/QoS, этот коммутатор предлагает различные дополнительные функции, облегчающие процесс администрирования сетевой политики. Например, использование профилей дает возможность администратору практически мгновенно изменять настройки, а программное обеспечение, поставляемое 3COM, предлагает удобный графический интерфейс обслуживания устройства. Но, пожалуй, самым показательным остается использование командной строки – аскетичный интерфейс позволяет сконцентрироваться на принципах управления устройством. Получить доступ к встроенной командной оболочке коммутатора можно различными способами:
В нашем примере используется консольное соединение по COM1-порту. Схема, по которой производится обработка данных, состоит из трех составляющих – классификатора, правила и профайла. Классификатор описывает принадлежность пакета (по различным признакам) к определенному приоритету. Таких классификаций может быть несколько. Когда создан их необходимый набор, его можно включить и запомнить в профайле. Рисунок ниже демонстрирует, как командами оболочки создается определенный классификатор. Представим себе, что необходимо подавить весь ftp-трафик. Можно классифицировать данный сервис по принадлежности к 21 и 20 порту, после чего отнести его к нужному типу обслуживания. Создается новый классификатор командой cre, после чего предлагается выбрать его номер и название. Теперь предстоит указать механизм, по которому коммутатор будет отбирать нужные нам пакеты.
Как видно из рисунка, есть несколько вариантов выбора. Итак:
Как уже говорилось, отличительной чертой ftp-трафика является принадлежность к некоторым портам (20, 21). Это нужно указать опцией ippo, а затем конкретизировать tcp-порт, №21. Подобным образом нужно закрыть и порт данных (20) для ftp-протокола. На рисунке это также представлено. Таким образом, классификация создана. Следующим шагом будет создание правила.
Собственно правило – это сопоставление классификатора и сервисного уровня (service level). На рисунке ниже изображено, как создается новый профайл с №11 и именем ftp. Затем в него добавляется правило, связывающее классификатор ftp с сервисным уровнем 1 (drop). Можно использовать 1-6 значения сервисных уровней, которые связаны с уровнем приоритета, описанным в стандарте 802.1D (802.1p). Теперь остается только применить данный профайл командой assign ко всем или только к определенному порту коммутатора. Текущее состояние настроек и правил в устройстве можно проанализировать с помощью команды detail. На рисунке справа проиллюстрирован пример ее работы. В результате мы получили запрет на весь ftp-трафик, который будет циркулировать через любой порт коммутатора. Кроме простого определения приоритета обработки пакета в очереди на основе сетевых параметров, коммутатор 3COM SuperStack 3 Switch 4400 способен анализировать поле дифференциального обслуживания в IP-заголовке. К сожалению, не все сетевые агенты используют такой механизм приоритезации трафика. Поэтому данный коммутатор наделен способностью транслировать уровни приоритета из стандарта IEEE 802.1p в DSCP и обратно.
Классификация пакетов с помощью программной оболочки устройства может быть произведена аналогично тому, как было описано выше. При этом есть возможность использовать самые разные критерии:
В дополнение к стандартным схемам приоритезации и QoS есть возможность расширенного конфигурирования физических портов коммутатора. В контексте нашей темы полезной функцией является ограничение скорости работы порта. Таким образом, можно просто зарезервировать полосу пропускания определенному хосту. Для порта в 100 Mбит устанавливать скорость можно с шагом 1 Mбит, а для гигабитного интерфейса шаг увеличивается до 8 Mбит. Как уже упоминалось, вся конфигурация правил управления трафиком в устройстве 3COM SuperStack 3 Switch 4400 сохраняется в профайле. Данное устройство может взаимодействовать с TFTP-сервером для сохранения, загрузки и выгрузки этого профайла. Такая возможность является очень полезной, если нужно организовать периодическую смену конфигураций, например для рабочего и внеурочного времени суток. Графические средства управленияНадо признать, пользоваться командной строкой не всегда удобно, особенно если речь идет только о контроле состояния. Обзор сети, поиск агентов, чтение системных сообщений всегда лучше производить с помощью ПО с графическим интерфейсом. И вообще, дружественный интерфейс может значительно ускорить освоение нового устройства. В нашем случае администратор также не ограничен только текстовой оболочкой, в его распоряжении есть отдельное ПО и вэб-интерфейс. Например, на рисунках слева видно, как можно произвести необходимые действия для ограничения трафика. Для этого достаточно запустить программу, найти нужный хост и добавить (можно выбрать из стандартных) классификатор трафика.
А вот ознакомиться с текущей статистикой работы коммутатора можно практически из любого места сети, ведь в 3COM SuperStack 3 Switch 4400 встроен вэб-интерфейс. Результат демонстрирует верхний рисунок. На основе простоты и надежностиСегодня все чаще системные администраторы сталкиваются с проблемами в работе приложений, вызванными нерациональным использованием полосы пропускания локальной сети. Различного рода паразитирующий трафик способен полностью поглотить все ресурсы или поставить определенные сервисы в невыгодные условия работы. В таких случаях приходится прибегать к решениям, позволяющим распределять пропускные каналы так, чтобы обеспечить работу важных для производственного процесса приложений. Важно то, что схема управления трафиком на основе приоритетов еще не полностью стандартизирована, и, как правило, не поддерживается приложениями, выполняемыми на отдельных ПК. В таких условиях поставленную задачу легче и проще переложить на сетевое коммуникационное оборудование. |
Форум Программиста
Новости Обзоры Магазин Программиста Каталог ссылок Поиск Добавить файл Обратная связь Рейтинги
|