Андрей Погребенник
Мир IP, возможно, и родственен классической телефонии, однако стоящие
перед ним проблемы носят особый характер. Сервер трансляции сетевых адресов
(NAT) создаёт серьёзные препятствия нормальной работе с VoIP. Как решается
проблема NAT в сетях IP-телефонии на базе протокола SIP? Как бороться с
угрозами безопасности в таких сетях? Ответы на эти вопросы вы узнаете из
заключительной части статьи.
Проблема обхода NAT
Вряд ли стоит долго объяснять, почему NAT является проблемой для голосового
трафика. Достаточно уже того факта, что голосовой трафик обособлен от
сигнализации и использует динамически назначенные номера портов. А IP-адреса и
номера портов, помещаемые находящимся за NAT-пользовательским агентом в поля
заголовков Contact и Via, а также в SDP-сообщение,
не маршрутизируемы. Маршрутизатор с поддержкой NAT-транспортного уровня модели
OSI, а SIP-заголовки формируются на уровне приложения. Следовательно такое
устройство не может проанализировать заголовки и SDP-сообщение и переопределить
анонсированные там IP-адреса и номера портов (а также открыть обратный канал
для маршрутизации входящего трафика к пользовательскому агенту), равно как и не
может знать, к какому SIP-диалогу относится тот или иной медиапоток.
Как результат, каждый не понаслышке знакомый с
IP-телефонией человек сталкивался с явлениями односторонней слышимости или
вовсе отсутствия звукового потока. Сразу следует заметить, что «серебряной
пули» здесь нет: все решения этой проблемы в большей или меньшей степени
частные.
Впрочем, проблема обхода NAT медиатрафиком – это
лишь одна сторона медали. Вначале мы рассмотрим, какие препятствия создаёт NAT
для сигнальных сообщений и какие расширения SIP были разработаны для их
преодоления.