коммутаторы 7-го уровня (коммутаторы информации)

В последние годы на рынке телекоммуникационного оборудования появился новый класс устройств, который называют «коммутаторы 7-го уровня» («Layer 7 switch»). К сожалению, в периодической печати практически отсутствует информация о назначении и применении таких устройств. Рост интернета привел к возникновению ряда проблем, связанных с производительностью компьютерного и телекоммуникационного оборудования, которые сегодня решаются не самым лучшим образом. Эта статья призвана показать назначение и способы применения коммутаторов 7-го уровня для различных областей деятельности.

Традиционные коммутаторы, как правило, работают на 2-ом или 3-ем уровне модели взаимодействия открытых систем OSI, коммутируя блоки данных по адресной информации, расположенной в заголовке блока. При этом коммутаторы не имеют никакого представления о типе и характере передаваемой информации. По мере развития сети Интернет, ее проникновения во многие бизнес-процессы возникает необходимость оперативного и качественного доступа к прикладной информации, содержащейся в интернете. Хотелось бы подчеркнуть словосочетание «прикладная информация», поскольку именно она, или, как сейчас модно говорить, контент, является товаром, доставляемым пользователю. Именно поэтому гораздо важнее обеспечивать не коммутацию абстрактных блоков данных, а коммутацию самой информации, что и делают коммутаторы 7-го уровня.

Сегодня отсутствует адекватный русский термин, обозначающий этот тип устройств, поэтому в данной статье они будут называться «коммутаторы информации» (КИ). КИ работают на 4-м—7-м уровнях модели OSI, обрабатывая такие информационные протоколы и приложения, как HTTP, FTP, Telnet и др. Сегодня всем известна проблема заторов, возникающих в интернете, из-за которых пользователю приходится долго ожидать появления странички на экране своего компьютера. До недавних пор это считалось само собой разумеющимся, однако когда бизнес начал делать ставку на привлечение и обслуживание клиентов через интернет, такая ситуация стала недопустимой. По оценкам западных консалтинговых агентств, 32% пользователей, испытывающих трудности с доступом к информационному ресурсу, ищут альтернативный, который вполне может принадлежать конкуренту. В результате бизнес хочет иметь средства, которые позволяли бы обеспечивать дифференцированное качество обслуживания для различных категорий пользователей. Специалисты в области телекоммуникаций могут сказать, что проблема заторов и необходимость в управлении качеством обслуживания давно знакома и решена такими технологиями, как ATM, MPLS, DiffServ и др. Действительно, одна из причин заторов — недостаточная полоса пропускания линий связи, образующих сеть Интернет, и она успешно решается перечисленными технологиями. Но существует еще одна причина возникновения заторов: недостаточная производительность серверов, на базе которых организуются информационные службы (сайты WWW). Традиционный способ подключения серверов к интернету следующий: сервер подключается к брандмауэру (система защиты от несанкционированного доступа), брандмауэр подключается к маршрутизатору, маршрутизатор подключается к интернету. В большинстве случаев такая конфигурация удовлетворяет и клиентов, и хозяев информационной системы (ИС), однако когда возникает необходимость массового обслуживания, приходится увеличивать производительность аппаратных средств ИС.

Подобная потребность может возникнуть как у многих компаний, предоставляющих услуги связи, так и у традиционных компаний, обслуживающих клиентов через интернет: порталов, электронных СМИ, бирж, магазинов электронной торговли и др. Бесконечно увеличивать производительность нельзя, так как она ограничена возможностями существующего оборудования. Коммутаторы информации помогают решить эту проблему, обеспечивая постепенное масштабирование ИС до неограниченных размеров с использованием имеющегося на рынке оборудования. Для лучшего понимания места КИ покажем, как обычно происходит развитие ИС, рассчитанных на массовое обслуживание. Когда описанная выше модель перестает справляться с возросшей нагрузкой, начинается модернизация физических серверов — замена процессоров, жестких дисков и оперативной памяти. Статистика показывает, что удвоение производительности серверов происходит каждые 18 месяцев, а рост нагрузок на них удваивается каждые 3 месяца. В какой-то момент наращивание производительности становится невозможным, и создаются так называемые «зеркала» — по сути, копии основного сервера на других серверах, доступ к которым возможен по альтернативному адресу. Выбор нужного сервера должен осуществлять сам пользователь, но особенности психологии человека не делают «зеркала» достаточно эффективным средством реализации ИС. Альтернативным вариантом является создание кластера, когда ИС распределяется по разным физическим серверам, а операционная система представляет группу как единый распределенный сервер (кластер). Физические сервера в такой конфигурации объединяются через локальную сеть коммутаторами 2-го или 3-го уровня. Существенный недостаток кластера состоит в том, что возможно распределение информационных ресурсов, но не приложений обработки запросов пользователей (IIS, apache). В результате ведущий сервер, непосредственно подключенный к интернету, продолжает оставаться узким местом. Осознав это, владелец информационной системы начинает искать способы оптимизации загрузки кластера и находит программные средства, позволяющие равномерно распределить (сбалансировать) нагрузку между несколькими серверами. Однако такие системы не всегда эффективно справляются с обработкой большого числа запросов. Кроме того, появляется очередная проблема: недостаточная производительность брандмауэра — которая существующими средствами трудно решаема.

Дополнительная проблема, встающая перед владельцем коммерческой ИС: необходимость дифференциации пользователей, хотя бы на уровне бесплатного/ платного доступа к информации. Предположим, что все проблемы были решены какими-либо программными средствами. Если бросить взгляд на получившуюся ИС, то владелец увидит целый набор программного обеспечения разных производителей, трудно стыкуемого друг с другом. Часть ПО написано не профессионалами, а любителями, что увеличивает риск его использования. Настройка подобной системы трудоемка, требует большой численности обслуживающего персонала, и осуществляется медленно. Все это усугубляется тем, что в распоряжении владельца находится несколько таких систем в различных городах, которые необходимо обслуживать как одну распределенную систему. В результате эксплуатационные затраты на обслуживание информационной системы многократно возрастают. Большой проблемой является также переконфигурация такой системы, например, при добавлении нового пользователя или аппаратного обеспечения. Все эти проблемы легко разрешимы при использовании коммутаторов информации. Подобный класс оборудования сегодня выпускается многими ведущими телекоммуникационными компаниями (Nortel, Cisco, Foundry Networks, Extreme Networks, F5, Radware, Intel). Во второй части статьи возможности КИ и их реализация будут показаны на примере оборудования Alteon, являющегося лидером среди устройств этого типа. Аналогичные устройства других фирм имеют примерно такие же функциональные возможности и в основном отличаются способом реализации функций и набором интерфейсов. Итак, коммутаторы информации обеспечивают выполнение следующих основных функций:

  • создание виртуальных серверов как совокупности физических серверов под единым адресом IP; существенное повышение надежности серверов за счет «горячего резервирования;;
  • создание географически распределенных ИС;
  • равномерное распределение трафика между брандмауэрами;
  • оптимизация ресурсов аппаратных средств ИС;
  • управление полосой пропускания линии связи;
  • формирование информационного потока с учетом приоритетности информации различного вида;
  • «прозрачное» кэширование информации;
  • ускорение операций по передаче шифрованного трафика с использованием технологии SSL.

Рассмотрим эти возможности и их реализацию подробнее.

виртуальный сервер

Как уже говорилось выше, кластер содержит ведущий сервер, на котором выполняется обработка запросов пользователя, и подчиненные, на которых расположена информация. Ведущий сервер вынужден самостоятельно обеспечивать обработку запросов пользователей. Виртуальный сервер — это группа однотипных (зеркалированных) физических серверов, которые подключаются к различным портам КИ, и которые средствами КИ представляются как единый сервер, адресуемый одним адресом IP. Такой подход позволяет управлять виртуальным сервером удаленно, с применением стандартных средств Telnet и FTP, в то время как для управления кластером требуется, как правило, фирменная система управления. Конфигурация с применением КИ позволяет неограниченно увеличивать производительность ИС, добавляя в группу физические сервера, на каждом из которых настроено по экземпляру приложения обработки запросов пользователя. Таким образом, число этих приложений и их производительность всегда соответствуют количеству пользователей. Кроме того, не требуется модернизация или удаление устаревших серверов из системы: их можно оставить, ограничив нагрузку на них, и сохранить ранее сделанные финансовые вложения. Следует отметить еще одну полезную особенность виртуального сервера. В кластере авария ведущего сервера приводит к выходу из строя всей системы, а авария подчиненного — ее части. Выход из строя одного физического сервера, образующего виртуальный сервер, приводит всего лишь к перераспределению нагрузки на другие физические сервера. При этом информация, продублированная на соседних серверах, всегда остается доступной, а текущие сеансы связи не прерываются.

Чтобы обеспечить равномерное распределение нагрузки, КИ периодически посылает на каждый физический сервер специальный запрос в виде пакета TCP или в формате HTTP, запоминает время ответа и направляет поступившие пользовательские запросы на тот сервер, время ответа которого минимально. Подчеркнем, что уровень загрузки сервера измеряется не уровнем загрузки его сетевого интерфейса, а временем его реакции на запрос, аналогичный пользовательскому. Это важно, поскольку возможна ситуация, когда один сервер передает клиенту видеоинформацию, а другой в это время обрабатывает тысячи запросов пользователей при несоизмеримо меньшей загрузке сетевого интерфейса.

географически распределенная ИС

Трагедия, произошедшая 11 сентября 2001 г. в США привела к тому, что серверы практически всех электронных СМИ оказались недоступны из-за их перегрузки, а также из-за перегрузки международных и междугородних линий связи. Для предотвращения такой ситуации необходимо увеличивать число ИС, размещая их в месте наибольшего скопления пользователей (чтобы доступ осуществлялся преимущественно по скоростным городским сетям связи). Однако при увеличении ИС значительно увеличивается трудоемкость обслуживания распределенной ИС. Кроме того, как упоминалось выше, возникает необходимость применения альтернативного имени ИС для местного доступа к ней. С использованием КИ можно создать распределенную ИС, когда все физические или даже виртуальные серверы объединяются под одним именем URL. Имя (адрес) URL — строковое представление названия ИС, например,http://www.ixbt.comилиhttp://www.cnn.com. Когда пользователь вводит URL, браузер посылает запрос на определение соответствующего адреса IP. Стандартным способом, с использованием механизмов DNS (Domain Name System), этот запрос достигает КИ, который выбирает наименее загруженный и наиболее близкий территориально к клиенту сервер. Затем КИ передает его адрес обратно пользователю, а далее браузер пользователя формирует запрос с использованием этого адреса. Для выбора наименее загруженного сервера используется фирменный протокол DSSP (Distributed Site State Protocol). С помощью этого протокола все КИ, входящие в состав географически распределенного виртуального сервера, определяют коэффициент загрузки друг друга. Коэффициент загрузки каждого виртуального или физического сервера определяется указанным ранее способом.

Каждому региону международной организацией IANA централизованно выделяется диапазон адресов IP. КИ анализирует адрес пользователя, определяет регион, к которому он относится, и передает пользователю адрес наименее загруженного и наиболее близкого к нему сервера.

равномерное распределение трафика между брандмауэрами

Создав высокопроизводительный виртуальный сервер (например, в корпоративной сети крупной транснациональной компании), его владелец столкнется с проблемой недостаточной пропускной способности брандмауэров. Распределить нагрузку между ними способами, описанными выше, невозможно, так как брандмауэры работают с непрерывным информационным потоком, а не с сессиями TCP или HTTP. Для равномерного распределения трафика между брандмауэрами средствами административного управления создается несколько подсетей IP, каждая из которых обслуживается своим брандмауэром. Поступающий в КИ трафик равномерно делится на несколько частей и передается в соответствующий брандмауэр. После обработки трафика последующий КИ собирает все в единый информационный поток и передает его в виртуальный сервер. Разделение входящего трафика на части осуществляется так, чтобы все входящие пакеты IP с одинаковым адресом поступали в одну подсеть.

оптимизация ресурсов аппаратных средств ИС

Информацию, содержащуюся в интернете, можно разделить на два типа: статическую и динамическую. Статическая информация характеризуется неизменностью во времени и большим объемом. Типичные примеры — файлы в формате PDF, DOC, MPEG, WAV, MP3, приложения Java, ActiveX и др. Динамическая информация характеризуется изменяемостью по времени и небольшим объемом — это, например, динамические страницы PHP и ASP, создаваемые в момент обращения к ним. Для хранения и обработки информации этих двух типов требуются физические серверы, к которым предъявляются различные требования. Для динамической информации необходим высокопроизводительный сервер, который должен десятки тысяч раз в секунду принимать запросы пользователя, делать выборку из базы данных, формировать ее для отображения на экране и передавать пользователю. Использование такого сервера для хранения статической информации экономически нецелесообразно, так как высокопроизводительные сервера имеют высокую цену. Для статической информации требуется сервер средней производительности, но с большим размером дискового пространства. Для совместного использования серверу со статической информацией присваивается отдельный адрес IP, а сервер с динамической информацией обеспечивает выборку нужных данных по этому адресу. Такая модель требует трудоемкой ручной работы по формированию гипертекстовых ссылок на статические ресурсы и затрудняет перевод ИС на другой адрес или другое имя URL. КИ позволяет упростить и ускорить обслуживание таких ИС. Для этого КИ анализирует имя URL, выискивая в нем название директории или имени файла по заданному администратором шаблону. После этого происходит автоматическая подстановка реальной информации с другого сервера. При изменении адреса IP или имени URL администратор всего лишь изменит адрес IP или имя URL в таблице подстановок, и КИ начнет автоматически подставлять новые значения.

управление полосой пропускания линии связи

Многие владельцы коммерческих ИС желают обеспечить дифференцированный подход к различным категориям пользователей, например, обеспечить более качественный доступ к платным ресурсам. Это позволяет сформировать гибкие тарифы, привлечь новых пользователей и получить тем самым конкурентное преимущество. На сегодняшний день отсутствуют сетевые средства организации такого подхода на участке от сервера до транспортной сети. В принципе, возможно организовать дифференцированное качество обслуживания, анализируя адрес IP пользователя, однако в интернете тот может пользоваться различными терминалами или динамическими адресами IP. КИ позволяют определить такого пользователя либо анализом файлов cookies, либо анализируя набираемое им имя URL платного ресурса.

регулировка приоритетности различной информации

Сегодня в интернете широко применяются средства мультимедиа для повышения качества предоставляемой информации. Распознавание трафика мультимедиа традиционными средствами практически невозможно. Обычно определение вида трафика осуществляется по номеру логического порта IP или содержимому поля «Тип информации» пакета IP. Однако эти способы неприменимы для приложений интернета, где разнородная информация передается в рамках одного запроса HTTP. Коммутатор информации, анализируя имя URL в запросе пользователя (например,http://www.cnn.com/live/video.mpeg), определяет тип информации по расширению запрашиваемого файла и формирует выходной поток, в котором информация различного вида размещена с учетом приоритетов. Дальнейшую передачу такого потока с необходимым качеством обслуживания необходимо решать средствами транспортной сети.

«прозрачное» кэширование информации

Статистика показывает, что 60% передающегося через интернет трафика — это статическая неизменная информация. Каждый раз, когда пользователь запрашивает такую информацию, ему через интернет передается очередная ее копия. Обеспечив промежуточное запоминание информации наиболее близко к пользователям, можно добиться сокращения передаваемого через линии связи трафика на 60%. При этом пользователи получали бы не оригинал, а копию файла. Подобная модель, получившая название кэширования, достаточно давно известна и активно применяется в компьютерных файловых системах. Для сети Интернет также разработаны механизмы кэширования, получившие название прокси-сервера. Их внедрение позволяет оператору сети доступа существенно сократить расходы по оплате линии связи и более оперативно выдавать информацию пользователю. Однако прокси-сервер требует специальной адаптации программного обеспечения, что не удовлетворяет многих пользователей. Поэтому использование прокси обычно носит рекомендательный характер и не снискало массовой популярности. КИ обеспечивает «прозрачное» кэширование информации, при этом пользователь и его ПО даже не подозревают о существовании кэша. Для этого КИ анализирует имя URL, проверяет наличие запрошенного файла в локальном кэше, при наличии копии файла сверяет дату его создания и размер с оригиналом (отслеживает изменения) и передает копию пользователю. Естественно, для такого способа кэширования адаптация программного обеспечения или его настройка не требуются.

ускорение шифрования трафика SSL

С развитием электронной коммерции появилась необходимость шифровать трафик, содержащий конфиденциальную информацию, такую как номера кредитных карточек, адреса и телефоны. Для шифрования трафика используется технология SSL (Security Socket Layer), работающая в реальном масштабе времени. Наибольшее развитие в настоящее время получило шифрование трафика программными средствами, как наиболее дешевое и доступное. Такой подход не может считаться оптимальным, так как производительность программной реализации алгоритма шифрования обратно пропорциональна числу одновременно обрабатываемых потоков. В аппаратуре КИ реализация алгоритма шифрования выполнена на аппаратном уровне, что позволяет ускорить операции шифрования в десятки и сотни раз. Это, в свою очередь, позволяет организовать более оперативное взаимодействие с пользователями и тем самым получить конкурентное преимущество.

Станислав Журавлев



Сетевые решения. Статья была опубликована в номере 01 за 2002 год в рубрике технологии

©1999-2024 Сетевые решения