Широкое вещание
АрхивКто, зачем и почему
Почему появляются в нашей жизни те или иные нововведения? Иногда потому, что мы чувствуем в этом потребность. Но как можно ощутить острую необходимость чего-то, о чем мы не имеем представления? Ровным счетом никак. Потребности еще нет, и ее необходимо сформировать (кому необходимо - это уже другой вопрос). Нужно, чтобы нам про это новое рассказали, показали, оно появилось у соседа - только тогда мы почувствуем желание иметь это и у себя. Некоторое время мы будем к нему привыкать, затем войдем во вкус и уже представить себе не сможем - а как же мы без этого раньше-то жили? Примеров масса - тот же компьютер или Интернет (у кого он есть). Но это примеры из настоящего. А зачем нам нужен, к примеру, IP-multicasting? А ведь дело идет к тому, что в один прекрасный день, когда забарахлит домашняя спутниковая тарелка (позвольте пофантазировать), мы осознаем, что без этого способа доставки информации мы не можем обходиться, так же как без телефона или почты.
Термин IP-multicasting, на мой взгляд, лучше употреблять без перевода или транскрипции, ибо "Широкое вещание по Интернет-протоколу" несколько режет слух, а написанное русскими буквами "мультикастинг" - глаз.
Пару слов стоит сказать о терминах, чтобы потом было легче в них разбираться. IP-multicasting является частью более общего понятия "Webcasting", которое означает вещание - автоматическую доставку пользователю информации из Интернета. Помимо IP-multicasting в него входят "основной webcasting" (Basic Webcasting) и "управляемый webcasting" (Managed Webcasting). IP-multicasting также называют "истинным вещанием" (True Webcasting), подразумевая, что два предыдущих способа являются неистинными. Так оно и есть на самом деле. Подробно на них я останавливаться не буду (нельзя объять необъятное), но для справки все же упомяну. Basic Webcasting и Managed Webcasting являются средствами "проталкивания" (push) информации для пользователя. Работают они в WWW по обыкновенным протоколам. Принципиально нового в них ничего нет. Вместо того чтобы пользователю самому путешествовать по Web-сайтам и выискивать информацию, за неко это делает программа - Internet Explorer 4.0, Netcaster и др. В случае Basic Webcasting пользователь сам должен указывать, что и как часто ему нужно передавать с Web-сайта. Со стороны Web-сервера никаких добавок при этом не нужно - все делает клиентская сторона. В случае Managed Webcasting серверная сторона может проявлять инициативу, что и когда посылать клиенту, но для этого ей нужны особые добавки, которые должны адекватно работать с клиентской стороной. Это может быть файл формата определения каналов (CDF - channel definition format), скрипт или другие средства. Оба этих способа вещания - и основной, и управляемый - на самом деле представляют собой не проталкивание информации (push), а скорее ее "умное вытягивание" (smart pull).
Хотя со стороны клиента IP-multicasting может быть на первый взгляд неотличим от двух предыдущих "неистинных" способов, природа его совсем другая. По идеологии он ближе к таким традиционным средствам, как радио или телевидение: вещающая сторона посылает определенный сигнал, который вылавливает и обрабатывает принимающая сторона. Смотря телевизор, мы с помощью его настроек выбираем любимую передачу, но выбрать можно только из того, что посылает станция, причем посылает не конкретно нам, а всем, всем, всем.
Такой способ распространения информации называется "broadcasting" - "широковещание". Широковещание также поддерживается в компьютерных сетях. Когда данные "вещаются", единственная копия посылается всем клиентам в сети. В настоящее время основная масса данных в сети передается по индивидуальному запросу - от точки к точке (point-to-point). Этот способ называется "unicasting" - "одновещание". Когда одни и те же данные нужны только части клиентов, и unicasting, и broadcasting понапрасну расходуют ресурсы сети. Unicasting рассылает множественные копии одинаковых данных, а broadcasting транслирует эти данные во всей сети, даже там, где они не нужны. Multicasting использует преимущества обоих подходов и избегает их слабых сторон. Этот способ вещания позволяет транслировать единственную копию данных только тем клиентам, которые запрашивают ее, не загружая сеть понапрасну.
Передаваемая информация не распадается на тысячи узеньких ручейков, ведущих к отдельным компьютерам (как в случае unicasting), а течет широким потоком, из которого каждый выбирает то, что ему нужно. Это позволяет передавать очень большие объемы информации - вплоть до видео с высоким разрешением. Трансляцию данных на PC при помощи multicasting иногда сравнивают с телевидением. Последнее достигло колоссальных успехов в деле информационного обеспечения - на свете практически нет уголка, где нельзя было бы водрузить спутниковую тарелку и наслаждаться последними новостями. Коммуникационные возможности компьютеров сейчас трудно переоценить. Интернет стал новой информационной средой, которая развивается самыми быстрыми темпами. Однако самая распространенная жалоба пользователей Сети - на небольшую скорость передачи данных по модему или на слишком "узкие" каналы провайдеров. Использование multicasting в сочетании с такими средствами передачи информации, как спутник или кабельные сети, представляется весьма перспективным. В этой области работает множество компаний, от самых мелких до гигантов.
Для себя компании, особенно крупные, уяснили выгоду IP-multicasting. Корпорация Intel в начале 1996 года организовала в Орегоне сеть вещания с 4 тыс. узлов. Сотрудники компании регулярно пользуются ею для проведения телеконференций, а также тестирования новых продуктов. Свою сеть для IP-multicasting растит и Microsoft. Компания постепенно расширяет сферу вещания, распространяя ее на новые здания и кампусы.
Выйдя из корпоративных сетей, IP-multicasting проник и в Интернет. Уже около пяти лет существует виртуальная сеть Mbone (Multicast Backbone), которая работает на основе физических соединений Интернета. Создана она была по вполне конкретному поводу - для аудио- и видеотрансляции встреч группы Internet Engineering Task Force. С тех пор по ней передавались различные события - от технических встреч и запусков спутников NASA до концертов Rolling Stones. Mbone является экспериментальным проектом, который поддерживается на добровольной основе. Она служит экспериментальным полигоном, на котором обкатываются новые протоколы и сервисы.
Чтобы не создавать лишнюю нагрузку на сеть и не транслировать данные туда, где они не нужны, в Mbone применяется механизм туннелирования. Его суть заключается в том, что транслируемые пакеты данных преобразуются в обычные, передаваемые из одной точки в другую (point-to-point).
Число участников проекта быстро растет, однако Mbone присущи и некоторые природные ограничения. Ее физической основой служат каналы, имеющие ограниченную пропускную способность, и порой эти ограничения становятся критическими. Кроме того, использование Mbone для коммерческих приложений ограничено. Но эти ограничения служат стимулом для развития новых направлений IP-multicasting.
Как нам обустроить IP-multicasting?
Multicasting использует модель "проталкивания" информации в сетях. В случае радио- и телетрансляции те, кто желает принимать программу, должны настроить свои приемники соответствующим образом. В случае multicasting пользователь настраивается на определенный IP-адрес. Компьютер, осуществляющий трансляцию, не должен знать, кто решил ее принимать.
Для multicasting должны быть задействованы следующие механизмы:
- клиенты могут узнавать, когда осуществляется интересующая их трансляция;
- клиенты должны иметь способ просигнализировать, что они хотят ее принимать;
- сеть должна эффективно осуществлять маршрутизацию данных к тем клиентам, которым они нужны.
Трансляции в сети объявляются заранее. На Mbone для этого используется протокол описания сессий (Session Description Protocol - SDP). Он обеспечивает клиентов информацией: когда осуществляется "передача", как она называется и какой тип данных содержит (аудио, видео, текст и т. д.), ее IP-адреса, порты и протоколы. Вся эта информация транслируется по известному IP-адресу и порту, на который заранее настроены клиенты.
Чтобы просигнализировать о том, что они хотят принимать передачу, клиенты должны присоединиться к группе, для которой осуществляется трансляция. Для этого используется Internet Group Management Protocol (IGMP).
Группы создают определенные удобства для трансляции. Они являются динамическими, то есть клиент может присоединяться и отсоединяться в любое время. Если у группы нет подписчиков, она прекращает свое существование в сети.
Когда клиент присоединяется к группе, он инициирует два процесса. Во-первых, ближайшему маршрутизатору посылается сообщение, что клиент желает принимать данные, транслируемые для группы. Во-вторых, клиент настраивается на адрес и порт, на которые осуществляется вещание. Для multicasting зарезервирована группа IP-адресов класса D (c 224.0.0.0 по 239.255.255.255).
Основная масса работы по обеспечению эффективной трансляции в сети ложится на плечи маршрутизаторов. Около двух лет назад ведущие производители маршрутизаторов стали предусматривать в своих устройствах возможность multicasting на уровне "железа". Для того чтобы осуществить multicasting практически, в них необходимо лишь обновить программное обеспечение и нарастить память.
Сегодня для multicasting используется несколько протоколов: DVMRP (Distance Vector Multicast Routing Protocol), MOSPF (Multicast Open Shortest Path First Protocol) и PIM (Protocol-Independent Multicast). Задача этих протоколов состоит в обеспечении наиболее эффективных путей доставки информации в сетях. Для достижения большей эффективности протоколы используют различные алгоритмы.
Понятие эффективности подразумевает, что данные транслируются только тем клиентам, которые хотят их получать. Если они рассылаются туда, куда не надо, ресурсы сети расходуются впустую. Структуру сети можно изобразить в виде дерева (рис. 2). Чтобы попасть к пользователям, данные должны пройти по его ветвям. Маршрутизаторы ответственны за то, чтобы посылать данные через "правильные" ветви к другим маршрутизаторам, а затем и в подсети, где находятся члены группы вещания. Пользователи в различных ветвях исчезают и появляются, и, соответственно, меняется маршрутизация данных.
Рис. 1. Схема.
В небе и на суше
Как обойти низкую пропускную способность каналов Интернета, одновременно воспользовавшись его богатым содержанием? Если взглянуть на статистику принятых и переданных байтов после сеанса dial-up-соединения, можно увидеть, что первая цифра во много раз превышает вторую. На каждый переданный байт приходится несколько десятков принятых. Каналы же кабельного телевидения и спутниковые обладают очень широкой полосой пропускания, но только в одну сторону. Конечно, можно поставить передающую спутниковую антенну, но в какие суммы это выльется. Решение, которое приходит на ум, - разделить потоки данных, идущие от пользователя и к нему. Передавать на компьютер информацию можно через средства широковещания, а управлять этим потоком пользователь сможет через обычную модемную линию. Такие решения сейчас предлагает несколько компаний.
В области доставки информации через средства широковещания сейчас существует два подхода: Data Broadcasting и Turbo Internet. В первом случае информация (страницы WWW, мультимедийная информация, программное обеспечение и т. д.) транслируется с помощью спутника или по наземным каналам тысячам или даже миллионам пользователей PC. Turbo Internet представляет собой способ доступа в Интернет через нестандартные (пока) средства связи. Пользователь соединяется с Web-сайтом через телефонную линию, а затребованная информация возвращается к нему через спутниковые или кабельные каналы. У каждого подхода есть свои преимущества и недостатки, они не конкурируют, а дополняют друг друга. С помощью Data Broadcasting информацию доставляет, например, швейцарская компания Fantastic Corporation, а классическую модель Turbo Internet под названием DirecPC воплощает в жизнь американская компания Hughes Electronics Corporation.
DirecPC
Hughes Electronics Corporation, а вернее ее подразделение Hughes Network Systems (HNS), предлагает сегодня доступ к Интернету со скоростью 400 кбит/с. Это в 14 раз быстрее, чем может дать обычный модем, и более чем в три раза быстрее ISDN. Такую скорость обеспечивает висящий на геостационарной орбите спутник, сигнал которого на клиентской стороне принимает "тарелка" диаметром 50 см. Коаксиальный кабель от нее соединяется с картой ISA, воткнутой в слот PC. Система эта асимметрична - пользователь запрашивает нужный ему URL с помощью модема. Информация с Web-сервера посылается в сетевой центр DirecPC, а затем через спутник - к пользователю. Вернее, к пользователям, поскольку спутник вещает на всех. Выуживанием нужной информации занимается клиентская сторона. Система управляется программным обеспечением под Windows 95. Обладателям Macintosh или приверженцам Unix предлагается подождать неопределенное время. В комплект поставки входят браузеры Microsoft Internet Explorer или Netscape Communicator - Hughes Electronics подписала лицензионные соглашения с обеими компаниями. Пользовательский комплект стоит около 500 долларов, а ежемесячная абонентская плата за неограниченный доступ к Интернету составляет от 50 до 130 долларов. Слабым местом DirecPC, как и всех спутниковых систем, является большое время отклика. Ping проходит за 400-600 мс, что уменьшает преимущество системы при частом обмене сигналами через Интернет (например, в играх). Кроме того, не каждый сервер может обеспечить большую скорость передачи данных, и чаще всего именно это является "бутылочным горлышком". Не предлагает DirecPC и своего решения для трансляции мультимедиа и организации видеоконференций.
Рис. 2. DirecPC
Fantastic Corporation
Если DirecPC можно назвать Интернет-провайдером, использующим технологии широковещания для доступа к ресурсам Сети, то швейцарская компания Fantastic сама создает эти ресурсы. Fantastic Corporation "приготавливает" для передачи по спутниковым каналам любое содержание, которое может быть передано в цифровой форме - видео, аудио, бизнес-информацию, игры и, конечно же, WWW. Компания не является провайдером Интернет в прямом смысле этого слова - для того чтобы получить содержание Web- или ftp-сайта, нужно сделать предварительный "заказ". Необходимая пользователю информация будет считана, упакована и передана по одному из каналов. В этом плане Fantastic предоставляет истинную push-технологию, где идея "проталкивания" информации сочетается с собственной программной реализацией. Система конечного пользователя должна быть оснащена, как и в случае с DirecPC, спутниковой тарелкой и специальной интерфейсной картой для раскодирования информации. Обратная связь осуществляется, как видно из приведенной схемы, также по модему. Кроме того, Fantastic предлагает свою систему Media Surfer, которая используется для приготовления мультимедийной информации. Просмотр осуществляется при помощи программного обеспечения Media Surfer Client. Компания имеет набор каналов MediaChannels, по которым ведется вещание на регулярной основе, и активно создает новые. Сама Fantastic Corporation не изготавливает аппаратное обеспечение, но работает в тесном сотрудничестве с компаниями, поставляющими системы для передачи и приема информации посредством спутниковой связи.
Microsoft
Компания Microsoft, запоздав с выходом на рынок браузеров (хотя кто сейчас об этом помнит), как бы стремится взять реванш в области push-технологий. В Internet Explorer 4.0 (а значит, и в следующие версии операционной системы Windows) будут встроены богатые возможности по приему информации, распространяемой с помощью multicasting. Как правило, все они основаны на открытых (и расширяемых) стандартах.
Для "истинного" IP-multicasting используется программное обеспечение NetShow. Клиентская часть этого пакета интегрирована в Internet Explorer 4.0, а серверная - в Windows NT 5.0. NetShow позволит транслировать и принимать мультимедийную информацию, используя различные ее носители. NetShow поддерживает существующие механизмы IP-multicasting, а также может взаимодействовать с различными устройствами для приема сигнала через спутник или кабельные сети.
Для того чтобы принимать и отображать данные, рассылаемые с помощью multicasting, программа-клиент должна знать, какой сетевой адрес и какой порт используются для передачи. Она также должна быть осведомлена о том, какой тип данных транслируется и какой кодек использовать для их декомпрессии. Сейчас в NetShow приняты два разных подхода для обеспечения клиентов этой информацией.
Во-первых, для этого используются собственные "каналы" (channels) NetShow. Каналы содержат IP-адрес и порт, а также информацию о типе передаваемых данных. Для этого используются файлы формата Active Stream Description (asd) или Active Stream Format (asf). Описания каналов сохраняются в виде файлов NetShow Channel (nsc) и должны находиться там, где клиенты могут найти их в сети. Чтобы сообщить клиенту, где именно расположен файл описания канала, NetShow использует анонсы. Они сохраняются в виде файлов с расширением asx. Анонсы можно распространять различными способами - через Web, электронную почту или в виде разделяемого сетевого ресурса. Этот способ доставки информации несколько сложен, но зато за счет промежуточного звена обеспечивается большая гибкость. Так как информация о канале (адрес, порт и тип данных) отделена от анонса, ее можно изменять уже после того, как анонс разослан по сети.
Второй подход более прост, но менее гибок. Для аудиотрансляций в формате RTP и передачи файлов, вся необходимая информация содержится в файле описания с расширением ocx, который может быть размещен на Web-странице. В этом файле содержится IP-адрес и порт, по которым нужно принимать данные, и, в случае аудиотрансляции, используемая кодировка.
Для контроля и организации потоков вещания NetShow организует их в программы. Программа содержит один или несколько потоков данных и начинается с трансляции первого потока. Когда он заканчивается, начинается второй, и т. д. В файле описания может содержаться информация о том, сколько раз повторяется программа, какова длина и время трансляции каждого потока.
Понятно, что всю роскошь аудио- или видеопрограммы не протолкнуть через узенький модемный канал. Поэтому сейчас основной упор в рекламе NetShow Microsoft делает на применении multicasting в корпоративных интрасетях. Для того чтобы принимать транслируемые программы дома, нужны новые способы передачи сигнала. Сети "по-домашнему" не могут обеспечить всех даже на Западе. В следующие версии Windows будут уже встроены программные возможности приема информации со спутника или через кабельные сети. Что же касается аппаратного обеспечения, оно включено в усиленно продвигаемую Microsoft спецификацию Entertainment PC. Entertainment PC предназначен для домашнего использования и должен стать, по замыслу Microsoft, развлекательным и образовательным центром в семье. Помимо средств для приема данных через различные носители (в том числе спутник), Entertainment PC подразумевает наличие большого монитора, беспроводного устройства для ввода информации и другие удобства.