Обход nat что это
NAT: что такое в роутере и как ей пользоваться?
В Интернете встречается много вопросов по поводу NAT, что это такое в роутере, и какие функции выполняет. Простыми словами, это механизм, позволяющий всему оборудованию локальной сети (мобильным устройствам, планшетам, ПК, ноутбукам) использовать только один общедоступный IP адрес для подключения к Интернету. Ниже рассмотрим, в чем особенности этой опции, для чего она необходима, и как правильно ее настроить в маршрутизаторе.
Что такое NAT в роутере
Кратко рассмотрим особенности NAT, и что это в роутере. Расшифровывается как Network Address Translation, а именно «трансляция сетевых адресов». С помощью процесса компьютер или другое оборудование получает доступ к Интернету.
Простыми словами, NAT в роутере (Network Address Translation) — это процесс перевода внутренних (приватных) адресов во внешние. Такая функция применяется всеми маршрутизаторами вне зависимости от установленных настроек и цены.
Многие путают NAT в роутере с фаерволом. Задача Firewall в запрете доступа к ресурсу по конкретному порту, к примеру, UDP или TCP. Он может устанавливаться на любом оборудовании для фильтрации трафика. Что касается NAT, он дает разрешение или запрещает доступ к определенному адресу или диапазону IP внутри сети.
NAT бывает трех видов:
Много вопросов касается еще одного термина — что такое NAT loopback в роутере. Здесь все просто. Если пакет поступает из внутренней сети на IP-адрес, он принимается в качестве внешнего. Это означает, что на него распространяются правила брандмауэра. После прохождения firewall в силу вступает NAT роутера, являющийся неким посредником. В результате удается следующее:
Существует также NAT Traversal, позволяющий сетевым приложениям определить тот факт, что они находятся вне границ устройства. В таких ситуациях NAT применяется для определения IP адреса устройства и сопоставления портов.
Для чего он нужен
Выше мы кратко затронули функции NAT в роутере, что это, и как работает. Но назначение такой технологии заслуживает более глубокого изучения. При проектировании сети подразумевается применение локальных IP-адресов, которые используются внутри компании или площадки для локального взаимодействия. Иными словами, они не маршрутизируются во «всемирной паутине». Для обращения к устройствам вне локальной платформы приватный адрес необходимо перевести в публичный. Для этого и существует NAT.
Благодаря действию такой функции, устройство с персональным адресом IPv4 может подавать запросы вне частной интернет-сети. Дополнительное преимущество механизма состоит в обеспечении конфиденциальности и безопасности. На практике маршрутизаторы NAT могут настраиваться с одним или группой общедоступных адресов (пулом NAT). Как только оборудование вышло во внешнюю интернет-сеть, роутер с поддержкой технологии переводит внутренний адрес в общедоступный. При этом маршрутизатор NAT, как правило, функционирует на границе Stub (тупиковой) сети, имеющей одно соединение (вход/выход).
С помощь NAT все устройства, подключенные к интернет-сети, используют один IP-адрес внешнего интерфейса. Простыми словами, сетевые пакеты корректируются и в них происходит подмена IP-адреса источника и назначения.
Подводя промежуточные итоги, можно выделить следующие особенности NAT в роутере:
С помощью NAT частная сеть подключается к Интернету через общий публичный IP, которые выдается провайдером, а ресурс адресов тратится более экономично. Кроме того, применение опции важно с позиции безопасности. В частности, можно скрыть локалку от пользователей из вне, что исключает несанкционированный доступ.
Как пользоваться функцией NAT
С учетом сказанного возникает вопрос, как открыть NAT для своего роутера. В большинстве случаев опция включена по умолчанию. Если это не так, необходима ее активация и дополнительная настройка. Алгоритм действий следующий:
Для каждого роутера принципы включения NAT могут отличаться. К примеру, в Zyxel необходимо войти в настройки маршрутизатора, перейти в раздел Network — Routing, а там в Policy routing, Здесь будет тумблер, позволяющий включить службу. Далее задаются настройки в группе Criteria. Если необходимо отключить NAT в роутере, проделайте рассмотренные выше шаги и деактивируйте службу. В качестве альтернативы отключению можно перевести маршрутизатор в другой режим работы.
Если возникает необходимость изменения типа NAT, войдите в настройки роутера, посмотрите IP и настройки сетевого подключения. После этого звоните провайдеру для получения помощи в перенастройке на нужный тип.
Плюсы и минусы использования
Перед тем как отключить NAT на роутере или до включения функции обратите внимание на ее плюсы и минусы.
Если говорить в целом, технологию NAT в роутере трудно переоценить. С ее помощью обеспечивается удобство выхода в Интернет, гарантируется безопасность подключения и гибкость настройки. При этом решение о включении и отключении режима необходимо принимать самостоятельно.
Обход NAT
Технологии трансляции сетевых адресов не стандартизированы. В результате методы, используемые для обхода NAT, часто являются частными и плохо документированы. Многие методы обхода требуют помощи серверов вне замаскированной сети. Некоторые методы используют сервер только при установлении соединения, в то время как другие основаны на ретрансляции всех данных через него, что увеличивает требования к пропускной способности и задержку, что отрицательно сказывается на передаче голоса и видео в реальном времени.
Доступны следующие методы обхода NAT:
Симметричный NAT
Клиенты виртуальной частной сети IPsec используют обход NAT, чтобы пакеты инкапсулирующей полезной нагрузки проходили через NAT. IPsec использует в своей работе несколько протоколов, которые должны быть включены для прохождения межсетевых экранов и трансляторов сетевых адресов:
Многие маршрутизаторы предоставляют явные функции, часто называемые сквозной передачей IPsec.
В Windows XP обход NAT включен по умолчанию, но в Windows XP с пакетом обновления 2 он был отключен по умолчанию для случая, когда сервер VPN также находится за устройством NAT из-за редкой и спорной проблемы безопасности. [6] Патчи IPsec NAT-T также доступны для Windows 2000, Windows NT и Windows 98.
Обход NAT и IPsec могут использоваться для обеспечения гибкого шифрования трафика между системами. Обход NAT позволяет системам, находящимся за NAT, запрашивать и устанавливать безопасные соединения по запросу.
Обход NAT с помощью IPv6 и Teredo
Были внесены улучшения, которые предоставляют поддержку обхода преобразования сетевых адресов (NAT). Эти изменения предназначены для использования с IPv6 и Teredo, но также могут применяться к другим технологиям туннелирования IP-адресов. Эти улучшения влияют на классы в System.Net и соответствующие пространства имен.
Эти изменения могут повлиять на клиентские и серверные приложения, в которых планируется использовать технологии туннелирования IP-адресов.
Обзор
В протоколе IP версии 4 (IPv4) длина IP-адреса IPv4 составляет 32 бита. Следовательно, IPv4 поддерживает примерно 4 миллиарда уникальных IP-адресов (2 в 32-й степени). С увеличением количества компьютеров и сетевых устройств в Интернете в девяностые годы XX века ограничения адресного пространства IPv4 стали очевидными.
Одна из несколько методик, используемых для увеличения времени существования адреса IPv4, — развертывание NAT, благодаря которому один общедоступный IP-адрес может представлять большое количество частных IP-адресов (частную интрасеть). Частные IP-адреса, находящиеся за устройством NAT, соответствуют одному и тому же общедоступному IP-адресу IPv4. В качестве устройства NAT может использоваться специализированное аппаратное устройство (например, точка беспроводного доступа и маршрутизатор) или компьютер, на котором запущена служба NAT. Устройство или служба для этого общедоступного IP-адреса преобразует сетевые пакеты IP между общедоступным Интернетом и частной интрасетью.
Эта схема подходит для клиентских приложений в частной интрасети, которые отправляют запросы к другим IP-адресам (обычно серверам) в Интернете. Устройство NAT или сервер может содержать сведения о сопоставлении клиентских запросов, чтобы при получении ответа определить место назначения для этого ответа. Однако эта схема создает проблемы для приложений, работающих в частной интрасети за устройством NAT, которым необходимо предоставлять службы, прослушивать пакеты и отправлять ответы. Это особенно актуально в случае с одноранговыми приложениями.
В протоколе IPv6 длина адреса IPv4 составляет 128 бит. Поэтому протокол IPv6 поддерживает очень большое количество IP-адресов — 3.2×10 в 38-й степени уникальных адресов (2 в 128-й степени). С адресным пространством такого размера можно предоставить уникальный адрес для каждого устройства, подключенного к Интернету. Но существуют проблемы. На большей части компьютеров во всем мире все еще используются только адреса IPv4. В частности, многие из существующих маршрутизаторов и точек беспроводного доступа, которые используются в небольших организациях и дома, не поддерживают IPv6. Также некоторые поставщики услуг Интернета, которые обслуживают этих клиентов, не поддерживают IPv6 либо у них не настроена поддержка IPv6.
Было разработано несколько технологий туннелирования адресов IPv6 в пакет IPv4. Эти технологии включают 6to4, ISATAP и туннели Teredo, которые предоставляют назначение адресов и автоматическое туннелирование одноадресного трафика IPv6 между узлами, при котором узлы IPv6 должны проходить по сетям IPv4, чтобы достичь других сетей IPv6. Пакеты IPv6 отправляются c туннелированием в пакетах IPv4. Существует несколько методов туннелирования, которые позволяют обойти NAT для адресов IPv6 через устройство NAT.
Teredo — одна из технологий туннелирования IPv6, которая позволяет использовать адреса IPv6 в сетях IPv4. Спецификация Teredo приведена в стандарте RFC 4380, опубликованном IETF. В Windows XP с пакетом обновления 2 (SP2) и более поздней версии поддерживается виртуальный адаптер Teredo, который позволяет получить общедоступный адрес IPv6 в диапазоне 2001:0::/32. Этот адрес IPv6 можно использовать для прослушивания входящих подключений из Интернета. Его можно предоставить клиентам с поддержкой IPv6, которые хотят подключиться к службе прослушивания. Это позволяет приложению не беспокоиться об адресации компьютера за устройством NAT, так как приложение может просто подключиться к нему по адресу IPv6 Teredo.
Улучшения поддержки обхода NAT и Teredo
В пространства имен System.Net, System.Net.NetworkInformation и System.Net.Sockets добавлены улучшения для поддержки обхода преобразования сетевых адресов (NAT) с помощью IPv6 и Teredo.
В класс System.Net.NetworkInformation.IPGlobalProperties добавлены несколько методов для получения списка IP-адресов одноадресной рассылки на узле. Метод BeginGetUnicastAddresses отправляет асинхронный запрос для получения таблицы стабильных IP-адресов одноадресной рассылки на локальном компьютере. Метод EndGetUnicastAddresses завершает ожидающий асинхронный запрос для получения таблицы стабильных IP-адресов одноадресной рассылки на локальном компьютере. Метод GetUnicastAddresses отправляет синхронный запрос на получение таблицы стабильных IP-адресов одноадресной рассылки на локальном компьютере, при необходимости ожидая, пока таблица стабилизируется.
Чтобы определить, является ли IPAddress IP-адресом IPv6 Teredo, можно использовать свойство IPAddress.IsIPv6Teredo.
Используя эти новые методы класса IPGlobalProperties в сочетании со свойством IsIPv6Teredo, приложение может легко определить адрес Teredo. Для связи с удаленными приложениями приложению обычно необходим только локальный адрес Teredo. Например, одноранговое приложение может отправлять все IP-адреса IPv6 координирующему серверу, который затем может перенаправлять их другим одноранговым узлам для прямого взаимодействия.
Русские Блоги
Turn: концепция обхода NAT
Список терминов / сокращений:
Четыре сетевых режима NAT:
Ниже приводится текст
1. Описание
В этой статье подробно описывается процесс P2P-телефона SIP на основе протоколов серии STUN, который включает взаимодействие сигнализации SIP, принципа P2P и взаимодействия протоколов STUN, TURN и ICE.
Взаимодействие каждого сервисного модуля, упомянутого в этой статье, использует UDP и не включает перфорацию TCP и другие связанные с TCP операции.
В этой статье предполагается, что ни одна из сторон связи не имеет ограничений брандмауэра для протоколов и портов.
Эта статья не предполагает освобождение и поиск клиентских ресурсов.
Эта статья подходит для читателей, у которых есть определенные знания, такие как знание различных типов и характеристик устройств NAT, знание основных концепций протокола STUN / TURN / ICE и знание соответствующего процесса взаимодействия протокола SIP.
Эта статья стремится быть строгой, но в ней неизбежны упущения. Пожалуйста, поймите, и приветствуйте критику и исправления.
Эту статью условно можно разделить на 4 части:
2. Концепция бурения и пересечения
Из-за характеристик NAT (см. Характеристики нескольких различных типов NAT) внешний хост не может напрямую установить соединение с внутренним хостом. Чтобы реализовать взаимодействие между внешними хостами и внутренними хостами, тогда «Я (внутренний хост) сначала пробиваю дыру в моем собственном устройстве NAT, а затем заставляю ваши (внешний хост) данные проходить через эту дыру».
Когда мы включаем компьютер, подключаемся к Интернету и открываем несколько разных веб-сайтов, сверление и пересечение происходят постоянно. Вы открываете http://www.baidu.com Когда вы проделали дыру в своем NAT, эта дыра позволяет только baidu.com Данные порта 80 переходят обратно. Если вы не сделали дырки, baidu.com Невозможно успешно отправить вам сообщение.
3. Сверление и перемещение в P2P
Поскольку и пробивка отверстий, и обход происходят в реальном времени, почему концепции пробивки отверстий и обхода редко упоминаются в сетевом программировании модели клиент / сервер, но неоднократно упоминаются в P2P-коммуникации?
Прежде всего, при сетевом программировании модели CS сервер настраивается в общедоступной сети, и серверу не нужно делать дыры (серверу не нужно делать дыры для клиента, а данные клиента могут тоже приходят), клиент может отправлять запросы на сервер.
Во-вторых, когда клиент отправляет запрос на сервер, пробивание клиентом дыр и обход ответа сервера осуществляются автоматически.
Наконец, ясно, что в модели C-S пробивка отверстий является однонаправленной, то есть пробивать отверстия нужно только клиенту.
При программировании сети P2P обе стороны A и B при обмене данными должны действовать как серверы и клиенты. Следовательно, пробивка отверстий предназначена для обеих сторон: A делает отверстие для B в своем собственном NAT, чтобы данные B могли проходить; B делает отверстие для A в своем собственном NAT, чтобы данные A могли проходить;
Операцию сверления отверстий для обеих сторон AB должны выполнять мы сами, поэтому мы должны упомянуть концепцию сверления сквозных отверстий.
Поймите, что «в P2P-коммуникации пробивка дыр предназначена для обеих сторон», вы также понимаете половину ICE.
4. Функции обхода с использованием протоколов серии STUN
После изучения нескольких типов NAT и ограничений каждого типа эти проблемы решаются специально для достижения обхода NAT.
Можно считать, что способность ALG является подключаемым модулем NAT. С подключаемым модулем типа протокола NAT может идентифицировать тип протокола, а затем выполнять связанные операции с соответствующим типом протокола. Обычно используемые приложения включают FTP, DNS, ICMP, SIP и т. Д. В VOIP, если используется ALG, может быть реализована прямая коммуникация между двумя сторонами, но недостатком является то, что NAT требуется для поддержки SIP, что не подходит для таких приложений, как Skype.
Существует также зрелая технология обхода: UPnP, идея которой аналогична ALG, и она также используется в NAT. Когда хост в интрасети запускает программу UPnP, он генерирует взаимно-однозначное сопоставление между «портом сопоставления» и портом программы UPnP на NAT, и оно не будет повторно использовано. Сообщения извне, если они отправляются на «порт сопоставления», они будут напрямую отправляться программе UPnP во внутренней сети. Подобно Thunder и E-Mules, которые мы обычно используем, этот метод не требует пробивания отверстий, но недостатком является то, что он требует, чтобы приложения, операционные системы и NAT поддерживали UPnP, а также он не подходит для приложений типа skype.
Самым большим преимуществом использования STUN / TURN / ICE является полное использование функций NAT. Это не требует поддержки операционной системы или изменений существующих устройств NAT для достижения обхода.
5. Связь между соглашением STUN / TURN / ICE.
Из-за возможности сбоя, если вы просто полагаетесь на адрес отражения, предоставляемый протоколом STUN, вам необходимо заранее определить тип NAT обеих сторон. Если обнаруживается, что это симметричный NAT, то дыра не пробивается, но прямой перевод. В настоящее время типы сетей являются сложными и сложными.Протокол STUN удалил возможность определения типа NAT в 5389, потому что все больше и больше практик обнаруживают, что определение типа не всегда эффективно при многоуровневом NAT. При использовании ICE нет необходимости заранее определять тип NAT.
Вообще говоря, современные серверы TURN обычно также реализуют протокол STUN, поэтому их можно назвать серверами TURN или серверами STUN.
Если сервер является сервером STUN, тогда сервер может быть чистым сервером STUN (RFC 5389), он может быть сервером TURN (RFC 5766) или может быть сервером, который реализует оба. Все серверы STUN, упомянутые на следующих рисунках в этой статье, реализуют STUN и TURN.
Эта статья является оригинальной, пожалуйста, укажите следующее:
Имя: Применение протокола STUN / TURN / ICE в P2P SIP (1)
Автор: Мистер Сноу
ссылка:http://www.cnblogs.com/ishang/p/3810382.html
6. Протокол STUN (RFC 5389)
6.1 Почему используется протокол STUN
Первое, что необходимо прояснить:Протокол STUN не имеет возможности прохождения, он только предоставляет адрес отражения для прохождения (рефлексивный адрес сервера). Когда две стороны обмениваются данными, адрес назначения для нас обоих может быть адресом отражения другой стороны, но когда адрес отражения не может быть успешно пройден (когда тип NAT является симметричным), необходимо использовать TURN.
Протокол STUN, упомянутый в этой статье, относится к RFC-5389. RFC-5389 удалил возможность обнаружения типа NAT (RFC-3489 определяет возможность обнаружения типа NAT).Протокол STUN выполняет две основные функции.:
Функция 1: позволить клиенту, находящемуся за NAT, получить свой собственный общедоступный сетевой адрес (рефлексивный адрес сервера). Эта функция завершается отправкой запроса привязки на сервер, и сервер возвращает сообщение об успешном ответе. Сообщение об успешном ответе содержит атрибут, называемый XOR-MAPPED-ADDRESS.Значение этого атрибута является значением «отраженного адреса» после XOR.
Функция 2: В ICE (Interactive Connectivity Establishment) протокол STUN используется для обнаружения возможности подключения обеих сторон. Эта функция также достигается путем отправки сообщения Binding клиенту другой стороны, и другая сторона отвечает на запрос. Следует отметить, что сообщение Binding во время взаимодействия ICE отличается от сообщения Binding, упомянутого в функции 1. ICE добавил несколько новых свойств для расширения сообщения Binding: PRIORITY, USE-CANDIDATE, ICE-CONTROLLED, ICE-CONTROLLING. Это расширенное сообщение привязки будет использоваться только при обнаружении ICE.
6.2 Принцип работы протокола STUN
A. Клиент используется для получения собственного внешнего сетевого адреса (рефлексивного адреса сервера), как показано на следующем рисунке:
a) Клиент A отправляет запрос привязки в порт STUN (зеленая часть на рисунке)
b) Сервер STUN получает запрос привязки от клиента A, он может получить адрес источника и порт запроса (адрес и порт отображаются через NAT) и записать адрес и порт как рефлексивный адрес сервера.
c) Сервер STUN отправляет ответный ответ.В ответе рефлексивный адрес сервера подвергается операции XOR и заполняется атрибутом XOR-MAPPED-ADDRESS.
г) После того, как клиент A получает ответ от сервера STUN, он знает свой собственный внешний сетевой адрес (рефлексивный адрес сервера).
B. В ICE (интерактивное установление соединения) он используется для обнаружения возможности соединения обеих сторон.
Подробно познакомим во время бурения ДВС.
7 TURN протокол
7.1 Почему используется протокол TURN?
Как упоминалось ранее, протокол TURN является эффективным дополнением к протоколу STUN. TURN будет использоваться только в том случае, если метод обхода с использованием рефлексивного адреса сервера не работает.
Проще говоря, протокол TURN использует метод транзита для достижения связи между двумя разными клиентами NAT. Протокол TURN назначает общедоступный сетевой адрес (ретранслируемый адрес) каждому клиенту, подключенному к серверу, а ретранслируемый адрес предназначен специально для клиента для ретрансляции сообщений.
Преимущество этого метода заключается в том, что независимо от типа NAT (типы NAT делятся на: полный конус, конус ограничения адреса, конус ограничения порта и симметричный тип), связь между двумя клиентами может быть реализована таким образом.
Недостатки реле TURNЕсть два:
Следовательно, этот метод использования протокола TURN для передачи будет использоваться только тогда, когда две стороны обмениваются данными и взаимодействуют с небольшим объемом данных.
7.2 Принцип работы протокола TURN
В этом разделе описывается общий принцип работы протокола TURN, который несколько отличается от RFC 5766. Если вы поймете этот принцип работы, а затем прочитаете RFC 5766, вы получите вдвое больший результат с половиной усилий. Введение в этом разделе не включает операции CreatePermission и ChannelBind, упомянутые в RFC 5766.
7.2.1 Распределить запрос
Клиент отправляет запрос Allocate на сервер STUN, чтобы сервер STUN открыл порт ретрансляции для пользователя A.
a) Клиент A отправляет запрос на выделение в порт STUN (зеленая часть на рисунке)
b) Сервер STUN получает запрос Allocate от клиента A. Сервер видит, что это запрос Allocate, и выделяет порт для A в соответствии со стратегией распределения портов ретрансляции.
c) Сервер отправляет успешный ответный ответ. Ответ содержит атрибут XOR-RELAYED-ADDRESS. Значение этого атрибута является результатом XOR порта ретрансляции A.
7.2.2 Пересылка сообщений через порт ретрансляции
Любой, кто хочет связаться с клиентом A, должен знать только адрес ретрансляции клиента A.
7.2.2.1 Порт ретрансляции A принимает сообщения от других клиентов
Как показано на рисунке выше: поскольку клиент A находится за NAT, другие клиенты не могут установить прямую связь с A. Однако клиент A подал заявку на порт на сервере STUN (см. Выше: порт ретрансляции A). Если другие клиенты хотят связываться с A, им нужно только отправить информацию на порт ретрансляции A, и сервер STUN будет Информация, полученная от порта ретрансляции, отправляется в A через порт STUN.
7.2.2.2 Ответное сообщение A, возвращенное исходным способом
Когда A отвечает на сообщения от других клиентов, он возвращается по тому же маршруту.
7.2.2.3 Мышление
Вопрос 1: Почему сервер STUN не пересылает данные в A напрямую из порта ретрансляции A (как показано на рисунке ниже)? Вместо отправки с порта STUN?
вопрос 2: Когда ответное сообщение клиента A возвращается таким же образом, ответное сообщение A сначала отправляется в порт STUN, а затем отправляется через порт ретрансляции A. Итак, как порт ретрансляции А знает, куда он хочет отправить данные?
7.2.3 Запрос на обновление
Адреса ретрансляции, выделенные сервером STUN для клиента A, имеют определенную эффективную продолжительность, которая может составлять 30 секунд, 1 минуту или десятки минут. Если клиенту требуется, чтобы сервер STUN всегда открывал для него этот порт, ему необходимо периодически отправлять запрос на сервер STUN, и запрос использует оставшееся время для обновления порта ретрансляции.
В стандартном протоколе TURN (RFC 5766) клиент A отправляет запрос Allocate на сервер STUN, а сервер STUN добавляет к ответному сообщению атрибут «LifeTime», который представляет время жизни реле. Клиенту необходимо периодически вызывать запрос REFRESH в течение времени жизни реле. После того, как сервер получает запрос REFRESH, он обновляет оставшееся время; когда атрибут времени жизни в запросе REFRESH равен 0, это означает, что клиент активно запрашивает закрытие адрес реле.
7.2.4 Сохранение активности порта STUN
Поскольку для связи с сервером STUN используется протокол UDP, для поддержания длительного соединения клиенту необходимо периодически отправлять пакеты контрольных сообщений на порт STUN сервера STUN.
Это объясняется здесь, первая проблема в 7.2.2.3, потому что клиент A не поддерживает связь с портом ретрансляции, и из-за характеристик NAT, когда данные напрямую перенаправляются на A через порт ретрансляции, NAT напрямую отброшен, поэтому не может быть получен. Следовательно, данные должны отправляться через порт STUN сервера STUN.
7.2.5 Добавление заголовка STUN при пересылке реле (запрос отправки и данных)
Объединение 7.2.2.1 и 7.2.2.2 вместе:
Как показано на приведенном выше рисунке, B активно отправляет сообщение A: «Привет», а A отвечает «Привет».
Порядковые номера 1, 2, 3, 4 и 5 отправляют запросы B (в направлении синей стрелки);
Примечание. В процессе отправки «Hello» на первом и втором этапах отправляемые данные являются пустыми данными UDP. В процессах 4 и 5 это «Hello», заключенное в оболочку протокола STUN, которое называется индикацией данных.
На этапах 6 и 7 ответ A был возвращен таким же образом. Чтобы порт ретрансляции A знал, какому клиенту он был в конечном итоге отправлен, заголовок STUN был добавлен в «Hi», а также был добавлен атрибут XOR-PEER-ADDRESS. добавлен. Это рефлексивный адрес сервера клиента B. Таким образом, порт ретрансляции A знает адрес назначения «Hi».
Здесь объясняется вторая проблема 7.2.2.3.
Интерактивный процесс, когда клиент B активно отправляет информацию клиенту A, показан на рисунке выше. Тогда каков интерактивный процесс, когда клиент A активно отправляет информацию клиенту B, вы можете его нарисовать?
7.2.6 Необходимость использования протокола TURN
Должен ли использоваться протокол TURN для передачи сообщений? Конечно, нет.
В процессе его принятия и использования в внедряемые стандарты обязательно будут внесены определенные изменения. Но это не имеет большого значения, просто осознайте функцию, которая нас волнует.
Эта статья является оригинальной, пожалуйста, укажите следующее:
Название: Применение протокола STUN / TURN / ICE в P2P SIP (2)