ИЗВЕСТИЯ
ПЕНЗЕНСКОГО ГОСУДАРСТВЕННОГО ПЕДАГОГИЧЕСКОГО УНИВЕРСИТЕТА имени В. Г. БЕЛИНСКОГО ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ №26 2011
IZVESTIA
PENZENSKOGO GOSUDARSTVENNOGO PEDAGOGICHESKOGO UNIVERSITETA IMENI V.G. BELINSKOGO PHYSICAL AND MATHEMATICAL SCIENCES №26 2011
УДК: 004.75
СРАВНИТЕЛЬНЫЙ АНАЛИЗ СИСТЕМ ПОТОКОВОГО ВЕЩАНИЯ
© Р. Х. АЛЬМУХАМЕДОВ Санкт-Петербургский государственный университет аэрокосмического приборостроения,
г. Санкт-Петербург, Россия, кафедра информационных систем e-mail: [email protected]
Альмухамедов Р. Х. — Сравнительный анализ систем потокового вещания // Известия ПГ-
ПУ им. В. Г. Белинского. 2011. № 26. С. 514—518. — Анализируются основные классы архитектур потокового вещания, с точки зрения надежности, стоимости и производительности. Показано, что архитектуры P2P обладают существенными преимуществами перед другими.
Ключевые слова: потоковое вещание, CDN, IP multicasting, система P2P, одноранговая сеть, Интернет
Almukhamedov R. H. — Comparative Analysis of Existing Streaming Systems // Izv. Penz. gos. pedagog. univ. im.i V. G. Belinskogo. 2011. № 26. P. 514—518. — In this paper main types of streaming architectures are analyzed according to its reliability, cost and capacity. Shown that P2P architectures offer essential advantages before others.
Keywords: broadcast, streaming, CDN systems, IP multicasting, P2P streaming system, P2P network, Internet
В последнее время широко распространены системы потоковой передачи данных, например, системы видеонаблюдения, системы трансляции видео, аудио, передающие данные через глобальную сеть. Задача этих систем - передача различных типов данных одновременно некоторой распределенной группе пользователей. Архитектура глобальной сети Интернет изначально строилась по схеме “один к одному” и для организации потоковой передачи большому числу пользователей в такой сети необходимы значительные ресурсы. С быстрым ростом числа пользователей в глобальной сети разработчики и поставщики систем потокового вещания столкнулись с большими трудностями, связанными с недостатком сетевых вычислительных ресурсов.
В данной статье показывается, что технология P2P обладает рядом преимуществ перед другими технологиями, как IP multicasting и CDN, за счет более рационального использования ресурсов сети. В статье так же отмечаются недостатки использования P2P систем. Особенно стоит отметить проблему устойчивой работы P2P системы, которая более подробно рассматривается в работе [1].
В 1980-90-х гг. проводились исследования по созданию специализированных клиент-серверных архитектур для организации потокового вещания, главными из которых являются Сети Распределения Контента (CDN) и технологии IP мультикастинга (IP multicasting - групповой адресации). Сети Распределения Контента (CDN) представляют собой распределенную сеть, узлы которой являются серверами, обслуживающими, в свою очередь, конечных пользователей. Все узлы такой серверной сети связаны
между собой выделенными линиями связи, которые обеспечивают целостность, безопасность, доступность данных. Сеть может быть как одноранговой, так и многоуровневой, может состоять из нескольких серверов до нескольких тысяч серверов, распределенных территориально. Сервера стоят в специализированных помещениях - ЦОД - Центрах Обработки Данных, где проводится постоянный мониторинг их состояния, проводятся профилактические мероприятия, которые снижают вероятность отказов до минимума. Примером подобной системы является глобальная распределенная система Akamai [2]. Технология IP multicasting реализовывает иной подход к решению проблемы с недостатком вычислительных ресурсов сети. Решение нацелено не на расширение, как в первом случае, а на более рациональное использование имеющихся ресурсов, в частности каналов передачи. Главный вопрос - как передать нужные данные всей группе распределенных пользователей одновременно при том, что прямое тиражирование потока на всю группу приведет к коллапсу. Например, скорость воспроизведения - битрейт видео формата MPEG-4 составляет около 1,5 Мбит/сек. Пусть группа состоит из 100 000 пользователей, тогда суммарный поток с сервера должен передаваться в сеть с невероятной скоростью около 150 Гбит/сек (пропускная способность портов на Core-маршрутизаторах в большинстве ЦОД России составляет около 100 Гбит/сек). Широковещательные пакеты нагрузку не снижают, а наоборот увеличивают. Поэтому было предложено использовать специальные дейтаграммы и несколько иную технологию адресации пакетов и дейтаграмм. В такой системе IP адрес указывает не на одно устройство, а на целую группу устройств. Таким образом, для передачи данных всем абонентам используется единственный поток с сервера. Это стало поводом к разработке нового класса маршрутных транспортных протоколов [3] IP мультивещания (Групповой адресации поверх IP), например, протокол IGMP (Internet Group Management Protocol), MBGP (Multicast Border Gateway Protocol), PIM (Protocol Independent Multicast), MOSPF (Multicast Open Shortest Path First). В настоящее время большой интерес привлекли к себе системы, построенные на базе технлогии P2P (Peer-to-Peer), которые получили свое начало от протоколов систем обмена файлами, например, Napster [4] или BitTorrent [5]. Идея этого нового подхода очень проста и оригинальна. Система P2P - это одноранговая сеть, в которой каждый узел является как клиентом, так и сервером. Технология P2P отходит от классической схемы “клиент-сервер”. В P2P сети нет четкого разделения системы на серверную и клиентскую часть, в такой сети все узлы задействованы в обслуживании друг друга, в обеспечении работоспособности системы, при этом роль сервера может быть условно сведена к роли узла, который только поставляет новые данные в сеть. Такая организация позволяет улучшить показатели работы системы за счет более рационального использования имеющихся ресурсов в сети. Нагрузка распределяется на все имеющиеся узлы сети. Большим преимуществом систем на базе P2P является гибкость и адаптируемость при реализации, при сохранении низких затрат. Это обуславливается тем, что система P2P больше зависит от программной части, чем от аппаратной, как CDN или IP. Это дает дополнительные возможности при ее разработке. Примерами пиринговых потоковых систем являются PPLive [6], CoolStreaming [7].
Главным достоинством IP multicasting технололгии является то, что передача данных происходит за счет более сложных механизмов маршрутизации на сетевом уровне [8], что сокращает транспортные издержки при трансляции данных большому числу хостов и позволяет избежать перегрузки каналов передачи. Надежность и отказоустойчивость системы обеспечивается качественными параметрами линий связи, маршрутизаторов и остального сетевого оборудования. С увеличением числа хостов производительность системы может снизиться незначительно, в зависимости от пропускной способности каналов и скорости подключения к сети сервера, транслирующего поток. Однако, внедрение технологии потребует значительных изменений в существующей инфраструктуре глобальной сети, в существующей архитектуре сетей. Так как для успешной реализации необходимо, чтобы групповая адресация поддерживалась большинством региональных подсетей, что сейчас пока невозможно. Разработка и внедрение систем, построенных на базе технологии IP multicasting затруднена. Модернизация, администрирование сетей с поддержкой
групповой адресации требует значительных ресурсов. Основываясь на существующей инфраструктуре, было предложено развивать серверную часть потоковой системы. Серверная составляющая в классической схеме является одной из главных. Основная нагрузка при потоковой передаче ложится на каналы и сервер. Технология IP multicasting частично (или полностью) способна решить проблему своевременной доставки данных до конечных пользователей, CDN призвана обеспечить работоспособность потоковой системы за счет увеличения и распределенности серверных вычислительных мощностей. Потоковые сервера системы территориально распределены по разным регионам, объединены в одну сеть высокоскоростными выделенными каналами. Таким образом функции сервера многократно дублируются и резервируются. При поступлении запроса на данные они быстро становятся доступными конечным пользователям. Для подключения к потоку конечный пользователь делает запрос к системе через ближайший потоковый сервер, который находится на “удалении последней мили” или “предпоследней мили”, это значительно снижает нагрузку на основной сервер и сокращает задержки. Реальная система, такая как Akamai включает до нескольких сотен тысяч серверов по всему Миру. Надежность и отказоустойчивость системы полностью зависит от уровня надежности и отказоустойчивости инфраструктуры, на которой она построена - каналы связи, оборудование на серверных площадках и т. д. Дополнительным преимуществом систем CDN является возможность просмотра подробной статистической информации конечным пользователем
[9]. К недостаткам можно отнести крайне высокую стоимость подобной системы. Основную долю затрат составляют обслуживание и модернизация специализированного оборудования в ЦОД, выделенные каналы связи. В зависимости от размера и степени распределенности системы увеличиваются расходы на ее обслуживание.
Обе технологии направлены на улучшение инфраструктуры ядра системы - сервера, каналы связи и маршрутизация. Инженерам-разработчикам удалось достичь многого, реализованы и успешно функционируют множество систем и протоколов. Но, во-первых, до сих пор не везде поддерживается групповая адресация, по прогнозам экспертов на полный переход к новому типу адресации понадобиться около 510 лет. Во-вторых, дорогое обслуживание сложной, разветвленной инфраструктуры ее модернизация и администрирование. И наконец, самой главной проблемой является крайне быстрое увеличение числа пользователей в глобальной сети. По данным в [3] пиковое число одновременных подключений может достигать несколько сотен тысяч. К примеру, для устойчивой передачи видео сигнала с битрейтом всего 400 Кбит/сек одновременно 300 000 - 400 000 хостам необходимы каналы связи между сервером и узлами c пропускной способностью около 100 Гбит/сек, и сама скорость подключения сервера к сети должна быть не менее 100 Гбит/сек. Известный провайдер Akamai опубликовал отчет, в котором заявлено о пиковой суммарной пропускной полосе в системе в 200 Гбит/сек, для этого потребовалось развернуть несколько десятков тысяч потоковых серверов по различным регионам. Интернет расширяет свое присутствие, от персональных компьютеров до мобильных карманных устройств, подключенных к сети. Актуальной становится задача поиска альтернативных решений для реализации систем потокового вещания с устойчивыми высокими качественными показателями в условиях постоянного увеличения числа абонентов.
К преимуществами P2P-систем можно отнести высокую степень распределенности данных, живучести, отказоустойчивости и относительно низкую стоимость за счет отсутствия ресурсоемкой инфраструктуры. Распределенность потоковых данных по всем узлам повышает устойчивость, кроме прямого подключения к серверу имеется целое множество дополнительных источников данных, потоковая скорость данных остается на высоком уровне. Следует добавить, что с увеличением числа абонентов устойчивость растет. Распределенность данных обеспечивает живучесть, при сбое в одном из узлов, данные всегда сразу доступны из других соседних источников. Вследствие того, что теоретически все узлы связаны между собой и с сервером, то перестроения узлов и их связей, и восстановление потока после сбоя не вызывает значительных задержек. Для успешной реализации P2P поточной системы не требуется практи-
чески никакой сопутствующей инфраструктуры, система реализована в виде специального программного обеспечения на имеющейся аппаратной основе, образуя оверлейную сеть из хостов. Передача данных по физическим сетям осуществляется поверх IP, обычно транспортными протоклами TCP или UDP. Таким образом решаются проблемные моменты первых двух технологий, связанные с техническим переоборудованием инфраструктуры и ее поддержкой и являющиеся самыми затратными. Но к основным недостаткам можно отнести:
1. Качество и возможные задержки воспроизведения. В отличие от CDN системы, в которой, благодаря “сильной” инфраструктурной составляющей, задержки минимальны и, соответственно, заведомо гарантируется доставка качественного контента до конечного пользователя, то в P2P сети производительность системы перекладывается на производительность и скорости подключения к сети конечных пользователей, которые могут варьироваться в больших пределах. Кроме того, поведение конечных пользователей может быть изменичивым, просчитать длительность пребывания отдельного абонента в системе не представляется возможным. Из-за постоянного отключения и подключения узлов могут возникать “провалы” в работе системы. Самым важным следствием этого недостатка является то, что просчитать нижнюю границу гарантированной потоковой скорости в системе и возможные задержки не возможно
[10].
2. По ходу функционирования P2P системы каждый узел, выступая в роли сервера, генерирует очень большой объем трафика. При получении одних и тех же данных двумя разными узлами, они сразу же начинают раздавать эти данные другим. Дубликаты данных начинают блуждать по сети, “забивая” физические каналы. Это серьезная проблема, с которой столкнулись ISP провайдеры. Более 70 % всего трафика в сети Интернет генерируется системами на базе P2P, значительная часть которого, как ожидается, будет приходиться и на потоковые системы.
В заключение следует отметить, что достижения в области сетей в совокупности с высокопроизводительными домашними компьютерами и современными операционными системами, мобильными портативными устройствами с беспроводными сетевыми интерфейсами делают потоковую информацию доступной широкому кругу простых пользователей. Каждая архитектура имеет свои преимущества и недостатки, которые необходимо учитывать при проектировании и реализации в конкретных условиях и для решения конкретных задач.
СПИСОК ЛИТЕРАТУРЫ
1. Альмухамедов Р. Х., Поляничко М. А., Бобков А. И. Устойчивость P2P систем видеонаблюдения // Программные продукты и системы. 2010. № 2. С. 116-118.
2. Akamai, www.akamai.com.
3. Liu J., Rao S. G., Li B., Zhang H. Opportunities and Challenges of Peer-to-Peer Internet Video Broadcast, Proc. of The IEEE, 2008.
4. Napster. [Электронный ресурс]. Режим доступа: www.napster.com.
5. BitTorrent. [Электронный ресурс]. Режим доступа: www.bittorrent.org.
6. PPLive. [Электронный ресурс]. Режим доступа: www.pplive.com.
7. Zhang X., Liu J., Li B., Yum T-S. P. CoolStreaming: A Datadriven Overlay Network for Peer-to-Peer Live Media Streaming, IEEE INFOCOM 2005, March 2005, Miami.
8. Deering S. Host Extensions for IP Multicasting, Stanford University Computer Science Department Stanford, CA 94305-2140, RFC 1112.
9. Apostolopoulos J., Tan W., Wee S. Video Streaming: Concepts, Algorithms, and Systems, Mobile and Media Systems Laboratory HP Laboratories Palo Alto, HPL-2002-260, 2002.
10. Альмухамедов Р. Х., Поляничко М. А. Применение архитектуры одноранговых сетей в системах видеонаблюдения // Программные продукты и системы. 2010. № 1. С. 112-113.