Что такое STUN и зачем он нужен?
=================================

 **Что такое STUN и зачем он нужен?** 

 Сервер STUN (Simple Traversal of User Datagram Protocol [UDP-протокол пользовательских датаграмм] через сервер NAT [транслятор сетевых адресов]) позволяет клиентам NAT (т.e. компьютерам за сетевым экраном) устанавливать сеансы связи с провайдером VOIP, находящимся за пределами локальной сети.   
  
 Сервер STUN позволяет клиентам находить свой адрес общего доступа, тип NAT, за которым они находятся и порт Интернета, связываемый NAT с конкретным локальным портом. Эта информация используется для настройки связи UDP между клиентом и провайдером VOIP и организации сеанса. Протокол STUN определяется стандартом RFC 3489.   
  
 Чаще всего, необходимость сервера, который предоставляет данную возможность, возникает при наличии служб передачи медиаконтента. Например, особенность некоторых из них (VOIP или WebRTC) заключается в попытке установить соединение точка-точка, что противоречит идеи использования NAT. Конечно же, данное соединение не будет выполнено, так как два различных узла с IP-адресами из диапазона локальных сетей не смогут «найти» друг друга. STUN-сервер позволяет данным узлам использовать для режима точка-точка не внутренние адреса, а внешние, делая возможным их соединение.   
  
 Альтернатива STUN — TURN. Последний может создавать дополнительную нагрузку на сеть, но более гарантировано обеспечивает соединение между узлами. Однако, в связи с большой нагрузкой, которую он может создать на сеть, стоит отдать предпочтение протоколу STUN.