Основы построения аудиосетей AoIP


PDF версия

В статье изложены основные принципы передачи звукового потока по локальной сети. Подробно рассмотрены протоколы и методы повышения качества передачи.

Введение

Системы передачи звукового потока по сети (AoIP — Audio over IP) строятся на стандартных компонентах, поэтому принципы организации аудиосетей и обычных локальных сетей (ЛС) различаются мало. Для определенности будем рассматривать сети Ethernet, поскольку они наиболее распространены. Если звуковые данные покидают сеть, то они уже не относятся к разряду AoIP, а становятся мультимедийным потоком.

Методы передачи в Ethernet

Пересылка пакетов в сети Ethernet происходит через коммутаторы. Анализируя адреса устройств, отправляющих пакет, коммутатор строит таблицу соответствия между портами и адресами (MAC или IP) и направляет данные в порт, соответствующий адресату. Если необходимого адреса в таблице нет, то происходит широковещательная передача. Таким образом, за счет использования коммутаторов исключаются коллизии, а абоненты получают доступ к полной полосе пропускания.

Сети Ethernet поддерживают три вида рассылки пакетов:

– «точка-точка» (индивидуальная) — наиболее часто используемый способ передачи данных от одного абонента другому;

– широковещательная — принятый пакет рассылается всем абонентам сети без исключения;

– многоадресная (групповая) — пакет могут получить сразу несколько абонентов, подписавшихся на рассылку.

Разница между широковещательной и групповой передачей заключается в том, что при групповой передаче данные направляются не всем абонентам, а только тем, которые хотят их получить. Широковещательная рассылка имеет тот недостаток, что каждому абоненту приходится обрабатывать пакет независимо от того, нужен он или нет. В больших сетях это может привести к резкому снижению быстродействия и увеличению трафика. Для предотвращения подобных ситуаций большие сети разбиваются на изолированные широковещательные домены, либо ЛВС разделяется на виртуальные сети VLAN, объединенные IP-роутером. Такое разделение не заметно для пользователя.

Наиболее подходящим способом пересылки данных для аудиосетей является многоадресная передача. Данные один раз запускаются в эфир и затем могут приниматься любым числом устройств. При этом перегрузки сети не возникает, поскольку коммутатор направляет поток только в те порты, которые подписались на рассылку. Ниже мы рассмотрим этот процесс более подробно.

Значение TCP для звуковых сетей

Протокол TCP изначально был разработан для интернета и широко применяется в сетях, где полоса пропускания, доступная пользователю, имеет переменную ширину. Однако некоторые механизмы TCP применяются и в ЛВС, поскольку часто происходит так, что несколько быстродействующих компьютеров, одновременно отсылающих пакеты, могут занять всю полосу и не давать доступ более медленным устройствам. Для разрешения таких конфликтов удобно использовать тот же принцип управления скоростью передачи, что и в TCP. Вторая функция из набора TCP, необходимая в аудиосетях — это обнаружение и исправление ошибок (обеспечение качественной передачи данных). Хотя вероятность потери пакета мала, она не равна нулю. Еще одним важным свойством протокола является гарантия соблюдения очередности пакетов. Все пакеты нумеруются по мере поступления и направляются по адресам назначения в строгом порядке. При этом гарантируется корректная передача данных, но могут возникать задержки, если какой-либо пакет был передан с ошибкой. В этом случае передача других пакетов приостанавливается до тех пор, пока пакет не будет принят абонентом корректно.

Поскольку задержки в аудиосетях недопустимы, необходимо предусмотреть защиту звукового потока. Во-первых, данным AoIP следует назначить более высокий приоритет, чем информационным или служебным. Однако при этом незвуковые данные, пересылаемые по ТСР, могут теряться. Чтобы избежать этого эффекта, протокол ТСР автоматически должен снизить скорость передачи незвуковых данных настолько, чтобы оставшейся полосы пропускания хватало на качественную передачу.

Второй способ обеспечить качественную передачу аудиопотока — это установка на компьютере двух сетевых карт: одной для аудио, другой — для всех остальных типов данных. В этом случае оба потока имеют доступ к полной полосе пропускания сети. Кроме того, появляется возможность организовать две независимые сети, что повысит быстродействие и безопасность.

Виртуальные сети VLAN

Виртуальные сети появились в Ethernet вместе с технологией коммутирования. Сеть VLAN — это виртуальное разделение одной физической сети на несколько ЛС. Широковещательные пакеты рассылаются всем абонентам, что может привести к резкому увеличению трафика, если их слишком много. Виртуальные сети помогают ограничить широковещательные рассылки внутри сегмента. Также они повышают безопасность сети. Если аудиопоток передается по одной сети, а доступ к интернету осуществляться через другую, то злоумышленник не сможет получить доступ к аудиоданным через глобальную сеть.

В сетях, где происходит обмен как информационными (общими), так и звуковыми данными, разделение на виртуальные сети помогает избавиться от проблем с программным обеспечением или интерфейсной платой. Коммутатор можно настроить так, чтобы порты, к которым подключены компьютеры, отправляющие общие данные, не имели права направлять пакеты за пределы своей виртуальной сети. Таким образом, их пакеты никогда не попадут в аудиосеть.

Наконец, виртуальные сети обеспечивают защиту от широковещательных рассылок в случае, если коммутатор не может определить адресата и начинает опрашивать все устройства сети.

Для обмена данными между виртуальными сетями используется маршрутизатор.

Многоадресная рассылка

Протокол AoIP является групповым (multicast), поскольку один источник данных должен быть доступен нескольким абонентам. Такой же принцип применяется в классических звуковых усилителях-распределителях и системах маршрутизации аудиоданных.

Устройство, вещающее в сеть, направляет поток в ближайший коммутатор, адресуя его на зарезервированные для многоадресной передачи адреса. Это «виртуальные» адреса, они не соответствуют какому-либо физическому устройству. Абоненты могут прослушивать эти данные, отправляя запрос в коммутатор по протоколу IGMP (об этом ниже). Получив запрос, коммутатор направляет аудиопоток по адресу отправителя. Если запросов на прослушивание нет, то аудиопоток задерживается в коммутаторе и ресурсы сети не тратятся.

Для обозначения многоадресной передачи в старшем бите 48-разрядного адреса ставится единица. Таким образом, половина адресов Ethernet отведена для групповой передачи.

IGMP

Для того чтобы объявить о желании принимать аудиопоток, абонент должен отправить запрос в коммутатор по протоколу IGMP (Internet Group Management Protocol).

Существует три типа служебных сообщений:

– запрос (Query) — сообщение, которое коммутатор рассылает всем абонентам группы, чтобы проверить, хочет ли кто-нибудь из них принимать поток;

– отчет (Report/Join) — сообщение, которое отсылает устройство, чтобы вступить в группу подписчиков или обозначить, что оно уже находится в составе группы;

– выход из группы (Leave group) — сообщение, которое посылается абонентом в коммутатор для выхода из группы.

Опрос устройств в группе (рассылка запросов) производится для того, чтобы обнаружить отключенные устройства и остановить трансляцию на их адреса.

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

ARP

Если устройства, входящие в сеть Ethernet, подключены к интернету, то у них имеется два адреса: IP и MAC. Соответственно, может возникнуть ситуация, когда требуется передавать данные между сетями IP и Ethernet или серверу известен только IP-адрес устройства. На этот случай у каждого IP-устройства есть встроенный модуль ARP (Address Resolution Protocol), который по внутренней таблице соответствий генерирует кадр Ethernet, вставляя в поле MAC-адреса адрес IP. Если встречается адрес, которого нет в таблице ARP, то модуль производит широковещательный опрос устройств в ЛС, посылая им пакет-запрос ARP. В ответ обладатель данного IP высылает свой MAC-адрес. Если ответа нет, то пакет, скорее всего, был получен ошибочно и перенаправляется обратно межсетевому маршрутизатору.

RPT/UDP

На транспортном уровне передача по AoIP реализуется с помощью протоколов UDP, поскольку в критических ко времени приложениях лучше потерять данные, нежели ждать задержавшийся пакет (как это происходит в TCP). Протоколы UDP позволяют быстро передавать данные, минуя процедуру установления связи с приемником. Обнаружение и исправление ошибок также не предусмотрены в протоколе. Таким образом, протоколы UDP максимально упрощены для обеспечения максимальной скорости передачи. Они отлично подходят для групповых рассылок в IP-сетях.

Протоколы TCP для групповых рассылок не применяются, поскольку ситуация, когда один абонент из группы потерял пакет, может привести к приостановке передачи всем устройствам на некоторое время. Кроме того, TCP имеет много полезных, но ненужных или избыточных для локальных аудиосетей возможностей: функции управления скоростью, механизмы восстановления данных (если сеть спроектирована правильно, пакеты не теряются), службы восстановления (аудиопоток достаточно устойчив к ошибкам). Кроме того, ТСР устанавливает связь типа «точка-точка». Таким образом, использование его для передачи звуковых потоков возможно, но не оправдано.

В качестве надстройки над UDP обычно используются протоколы реального времени RTP. Они лишены изъянов ТСР и обеспечивают только необходимый минимум требуемых для AoIP функций: установка временных отметок, нумерация пакетов, идентификация методов кодирования.

QoS

Мы уже вскользь затрагивали вопрос о качестве передачи звукового потока. Если ЛС используется не только для передачи аудиопотока, то необходимо принять меры, чтобы звуковые данные передавались без прерывания.

Эти меры охватывают все уровни системы и состоят из следующих компонентов:

– коммутаторы Ethernet, позволяющие каждому абоненту сети иметь доступ ко всей полосе пропускания. Они разделяют трафик между портами и управляют передачей;

– полнодуплексные соединения, обеспечивающие всю ширину полосы в обоих направлениях. Они позволяют предотвратить возникновение коллизий без применения соответствующих механизмов Ethernet;

– система приоритетов. Аудиопоток всегда должен иметь самый высокий приоритет, чтобы он не прерывался;

– протоколы IGMP, гарантирующие, что поток AoIP транслируется только на те порты, на которых есть абоненты, входящие в группу подписчиков. Это позволяет избежать передачи лишнего трафика;

– ограничение количества потоков в соединении. Устройства управляют как передаваемыми, так и принимаемыми аудиопотоками. Таким образом, им всегда известно общее количество потоков и они могут ограничивать его, чтобы избежать перегрузки линии.

Все эти факторы позволяют достигнуть высочайшего качества обслуживания аудиопотока и в то же время предоставляют возможность использовать ресурсы ЛС для совместной передачи всех типов данных.

VoIP

Интернет, в отличие от ЛС, — это открытая расширяемая сеть. Преимущество глобальной сети заключается в ее повсеместном распространении, а недостаток — в ненадежности.

Передача потоковых данных, в том числе звуковых и голосовых, через интернет или другие IP-сети происходит по тому же принципу, что и по локальным сетям, но с использованием других протоколов.

Любое устройство, подключенное к интернету, использует систему имен DNS (Domain name system — система доменных имен). Она преобразует текстовые названия доменов в IP-адреса. В системе DNS функции распределения и присвоения доменных имен и привязки этих имен к IP-адресам выполняются не одним устройством, а разделены между большим числом серверов. Каждому ответственному (authoritative) серверу приписывается ограниченный набор доменов. В свою очередь, ответственные серверы могут назначать другие серверы имен для субдоменов. Такое построение делает систему отказоустойчивой.

Чтобы запросы не проходили весь путь от пользователя до ответственного или корневого сервера, все удаленные DNS-серверы, встречающиеся на пути, кэшируют проходящие через них запросы. Это позволяет разгрузить сервер и снизить сетевой трафик.

Кроме своей основной задачи — нахождения доменов в интернете — DNS-серверы способны идентифицировать машины внутри локальной сети. Это может потребоваться в том случае, когда внешнему пользователю, не прописанному в сети, требуется найти определенного абонента
ЛС.

Протоколы для IP-сетей

Протокол DHCP (Dynamic Host Configuration Protocol) позволяет IP-устройствам получить конфигурацию от сервера автоматически без введения пользователем IP-адреса, шлюза, маски подсети и адреса DNS. При подключении клиентское устройство рассылает по своей подсети запрос, в ответ на который сервер присваивает ему адрес и высылает сообщение, содержащее MAC-адрес (физический) устройства, присвоенный сервером IP-адрес, маску подсети, срок обслуживания и IP-адрес DHCP-сервера.

Как и в сети Ethernet, в IP-сетях поддерживается три варианта пересылок: индивидуальные, групповые и широковещательные. Для инициирования широковещательной IP-рассылки устройство должно направить пакет на адрес 255.255.255.255 (адрес, зарезервированный в подсети для широковещательной рассылки). Для групповых передач существует свой зарезервированный адрес. Подписка на многоабонентскую рассылку в IP-сетях производится таким же образом, как и в локальных, через протокол IGMP. Запрос от абонента направляется в ближайший IP-маршрутизатор, который производит все необходимые процедуры формирования соединения с другими IP-маршрутизаторами. При этом протокол IGMP используется только между устройством и ближайшим маршрутизатором, а между роутерами дерево передачи строится по протоколам PIM (Protocol Independent Multicast) или DVMRP (Distance Vector Multicast Routing Protocol).

Как ни странно, групповые IP-рассылки до сих пор не получили широкого распространения в интернете из-за сложностей взаимодействия между провайдерами. В частности, это объясняется финансовыми причинами: когда потоковые данные передаются индивидуально, объем трафика (соответственно, плата за услуги) увеличивается.

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

Для объединения различных типов сетей (ЛС, беспроводная, интернет) применяется транслятор сетевых адресов (NAT — network address translator). Он содержит в себе IP-маршрутизатор, коммутатор Ethernet и приемопередатчик Wi-Fi. С помощью такого устройства можно подключить к интернету под одним IP-адресом несколько машин, невидимых для злоумышленника. Кроме того, трансляторы NAT являются очень хорошими межсетевыми экранами, что значительно повышает защищенность данных.

Литература

1. Введение в Livewire//www.axiaaudio.com.

2. Church, Pizzi. Network Engineering for Audio Engineers//www.audiodesignline.com/howto/222600129.

Оставьте отзыв

Ваш емейл адрес не будет опубликован. Обязательные поля отмечены *