Для попытки установить соединение P2P запрос привязки STUN и ответ на / с основного адреса службы STUN (IP и порт) - это все, что действительно имеет значение.Отображенный адрес, возвращенный в теле ответа на этот запрос, передается (через XMPP или другую службу) удаленному узлу, с которым локальный клиент пытается установить прямую связь с.
Второй IP-адрес и порт, которые STUNпрослушивание службы полезно для определения поведения сопоставления портов NAT и поведения фильтрации NAT.
Отправляя запросы на привязку к альтернативному порту IP: в службе, клиент может обнаружить, имеет ли его NAT согласованную семантику сопоставления для локальных портов.,В случае, если он получает разные значения сопоставления портов для каждого теста, клиент может заключить, что он находится за «симметричным NAT» - который наиболее труден для прохождения P2P.
Посылая запрос связывания сАтрибут «запрос на изменение», который запрашивает у службы ответ с другого IP-адреса или порта, клиент может определить, просто ли его NAT фильтрует дейтаграммы с удаленных хостов на основе IP-адреса и порта, или разрешает дейтаграммы с альтернативных портов на хостах, которые он отправил исходящим.датаграммы до.
Тесты отображения и фильтрации предоставляют только ограниченную информацию для последующих P2P-соединений.В случае определения симметричного NAT между хостом и Интернетом, некоторые реализации могут наблюдать, что NAT имеет последовательное возрастающее значение значения порта в каждом ответе привязки.(например, внешний порт, наблюдаемый службой STUN, увеличивается на единицу).Таким образом, клиент может предложить удаленный клиент IP и угаданный номер порта, чтобы попытаться отправить его вместо того, который был отображен обратно из первого запроса привязки.Или клиент может использовать этот тест поведения / фильтрации для регистрации.Или для автоматического выделения реле в случае симметричного NAT.