IAX

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

IAX2 — Inter-Asterisk eXchange protocol — протокол обмена VoIP данными между IP-PBX Asterisk. Наиболее приспособлен к трансляции сетевых адресов NAT, в отличие от SIP и H.323 использует только один порт 4569 протокола UDP для сигнализации и медиапотока, тогда как последние используют для этих целей разные порты. Данный протокол позволяет существенно экономить сетевой трафик по сравнению с протоколом SIP, что объясняется передачей сигнальной информации в битовых полях, а не текстом. Так же протокол позволяет совмещать множество голосовых потоков и передавать их внутри единого транка, уменьшая накладные расходы, связанные с передачей заголовков IP-пакетов.

История[править | править вики-текст]

IAX2 — (Inter-Asterisk eXchange protocol — вторая версия) протокол разработанный компанией Digium, специально для Asterisk, как альтернативный протокол. Группа разработчиков в составе: Марк Спенсер, Фрэнк Миллер, Кенни Шумард, Эд Гай и Брайан Капоч подала заявку в IETF и 20-го февраля 2009 года протокол был утверждён под RFC 5456. Предпосылкой было желание обеспечить передачу голоса высокого качества в «слабых» сетях. Так как при использовании протоколов SIP и H.323 двух портов для передачи голоса и сигнализации, иногда возникали проблемы, когда во время длительного разговора одного абонента и молчания другого, Firewall, в целях безопасности, закрывал порт сигнализации, так как по нему не шли пакеты. В результате этого после того, как молчавший абонент начинал говорить, сигнализация об этом не проходила через порт, и респондент его не слышал. Для того что бы исключить данную проблему, IAX2 разработан так, что бы использовать один порт для передачи голоса и сигнализации. Передача сигнальной информации в битовых полях (а не текстом), совмещение множества голосовых потоков и передача их внутри единого транка, позволяет существенно снизить сетевой трафик.

Технические особенности[править | править вики-текст]

  • полностью бинарный протокол (в отличие от SIP) — экономия трафика
  • используется один единственный UDP-порт 4569, что упрощает конфигурацию Firewall и улучшает работу через NAT
  • поддерживается транкинг, при этом в каждом пакете передаются данные сразу нескольких параллельных каналов — экономия трафика
  • экономнее чем SIP в требованиях к полосе пропускания
  • проще конфигурация NAT и Firewall
  • меньше неочевидных проблем (при наличии Firewall невозможна ситуация, когда соединение устанавливается, а голосовые данные пройти не могут, в отличие от SIP)
  • IAX2 эффективнее RTP (SIP) для любого количества одновременных соединений, и при использовании любого кодека. Экономия начиная от 2.4k для единственного вызова, до приблизительно утроения количества одновременных соединений через мегабитовый поток для G.729 при использовании trunk mode.

Недостатки[править | править вики-текст]

  • Трудность расширения протокола: каждая новая возможность должна быть добавлена в спецификации протокола, что делает его менее гибким, чем H.323, SIP или MGCP;
  • Уязвимость: старые реализации IAX2 уязвимы к DoS-атакам[1], и эта проблема до сих пор не исправлена. Наилучшим решением является ограничения доступа к UDP-порту только с определённых IP-адресов, которым можно доверять. В новых версиях Asterisk этой проблемы больше нет[2].

Программы[править | править вики-текст]

Телефонные станции:

Примечания[править | править вики-текст]

  1. http://www.securitylab.ru/poc/extra/381425.php — экслоит для IAX
  2. http://downloads.asterisk.org/pub/security/AST-2009-006.html Отчёт по безопасности

Ссылки[править | править вики-текст]