Что такое NAT, как он работает и для чего используется?

Возможно, вы слышали о чем-то, что называется IP-адресом(IP Address) , — если нет, начните с прочтения нашей статьи, объясняющей эту концепцию, — но для этой статьи о NAT ( трансляции сетевых адресов(Network Address Translation) ) вам нужно знать, что IP-адреса ограничены. Вы также не можете иметь два устройства в сети с одинаковым IP-адресом(same IP address)

Проблема в том, что разные сети, такие как ваша домашняя сеть и компьютеры в Интернете в целом, неизбежно будут иметь одинаковые IP-адреса или иметь несовместимые настройки сетевых адресов. NAT решил как проблему нехватки IP-адресов, так и проблему несовместимости сетей, которым необходимо взаимодействовать друг с другом. 

В большинстве случаев вам не о чем беспокоиться, но иногда ваши проблемы с Интернетом являются результатом неправильной работы NAT . Таким образом, базовое понимание того, что такое NAT и как он работает, может помочь решить проблему.

Где происходит NAT?(Where Does NAT Happen?)

В случае обычных пользователей, таких как мы, NAT — это работа, выполняемая вашим маршрутизатором. Маршрутизатор имеет IP-адрес, назначенный ему вашим поставщиком услуг(IP address assigned to it by your service provider) . Это адрес, который видит остальная часть Интернета. Каждому(Every) устройству в вашей домашней сети назначается частный IP-адрес, который они будут использовать для общения друг с другом. 

Когда устройство в вашей сети хочет связаться с внешним миром, маршрутизатор заменяет его. Маршрутизатор имеет общедоступный IP-адрес, который видят все остальные. Он отслеживает, какие частные IP-адреса запрашивали какой трафик, и гарантирует, что пакеты данных направляются на нужное устройство.

Частные и общедоступные IP-адреса(Private Vs Public IP Addresses)

Прежде чем мы перейдем к типам NAT , с которыми вы столкнетесь, рекомендуется быстро обсудить частные и общедоступные IP-адреса.

По соглашению определенные диапазоны IP-адресов зарезервированы для определенных целей. Общедоступные IP(Public IP) -адреса зарезервированы для подключенных к Интернету устройств, таких как маршрутизатор или веб-серверы. Ваш интернет- провайдер(ISP) выделяет общедоступный IP-адрес вашему маршрутизатору, и этот адрес видят все посторонние в Интернете. Обычно частный интернет-адрес — это что-то вроде 192.168.0.X или 10.1.1.X, но это зависит от одного маршрутизатора к другому. Хотя частные адреса должны быть уникальными в пределах частной сети, они почти наверняка одинаковы между частными сетями.

Публичный IP-адрес, как упоминалось выше, — это тот, который видят все остальные в Интернете. Когда вы посещаете веб-сайт, ваш браузер подключается к его общедоступному IP-адресу. Как правило, домашние маршрутизаторы не разрешают прямой доступ через свой общедоступный IP-адрес, который не был инициирован им. Это означает, что вы не можете просто ввести публичный адрес маршрутизатора вашего друга и получить доступ к устройствам в его сети.

Однако к некоторым веб-сервисам и устройствам, таким как игровые приставки, требуется более мягкий подход. Здесь в игру вступают различные типы NAT . Часто проблемы возникают из-за того, что тип NAT вашего соединения не соответствует типу службы, которую вы пытаетесь использовать. Далее мы рассмотрим типы NAT более подробно.

Типы NAT(NAT Types)

Хотя основная идея того, что такое NAT , не слишком сложна, на практике есть много нюансов в том, как он работает. Существуют различные типы NAT , которые подходят для различных потребностей трансляции. 

Статический NAT(Static NAT)

Статический стиль NAT сопоставляет один конкретный частный IP-адрес с определенным общедоступным IP-адресом. Статический NAT позволяет получить прямой доступ к устройству, сопоставленному с общедоступным адресом. 

Этот тип NAT используется для веб-серверов(web servers) , которые также являются частью частной сети. При доступе к серверу через эту статическую карту вы также не можете получить доступ к другим устройствам в его частной сети. Однако сам сервер может без проблем общаться с устройствами в своей частной сети.

Динамический NAT(Dynamic NAT)

Динамический NAT(Dynamic NAT) используется, когда у вас есть пул общедоступных IP-адресов, которые вы хотите динамически назначать устройствам в вашей частной сети. 

Это не используется для доступа к веб-серверу из-за пределов сети. Вместо этого, когда устройство в частной сети хочет получить доступ к Интернету или другому ресурсу за пределами частной сети, ему назначается один из общедоступных IP-адресов в пуле. 

Перегрузка NAT (PAT)(NAT Overload (PAT))

С элементами как статического, так и динамического NAT стиль перегрузки NAT является наиболее распространенной формой и используется большинством домашних маршрутизаторов. Он известен как NAT с преобразованием адресов портов(Port Address Translation) ( PAT ) среди других имен.

В большинстве случаев вашему маршрутизатору назначен один общедоступный IP-адрес, но всем устройствам в вашей сети, вероятно, нужен доступ в Интернет. Используя перегрузку NAT , маршрутизатор устанавливает соединение между своим общедоступным IP-адресом и адресом сервера. Затем он отправляет пакеты на сервер, а также назначает обратный порт назначения. 

Это помогает ему узнать, какие пакеты предназначены для какого IP-адреса в вашей частной сети. Между прочим, это часть процесса PAT .(PAT)

Собственные типы NAT(Proprietary NAT Types)

Чтобы еще больше запутать ситуацию, некоторые компании решили ввести свои собственные классификации NAT . Это в основном применимо к игровым консолям, и вы обнаружите, что когда вы выполняете сетевой тест, он говорит вам, что вы используете что-то вроде NAT  Type 2(NAT Type 2) или NAT Type D.

Эти классификации специфичны для производителей консолей или устройств, и вам следует проверить их официальную документацию, чтобы выяснить, что на самом деле означает каждая классификация.

Распространенные исправления проблем с NAT(Common Fixes for NAT Issues)

Большую часть времени для большинства людей NAT работает идеально и с полной прозрачностью. Однако иногда он дает сбой или мешает. 

Еще раз, игровые консоли, скорее всего, столкнутся с проблемами, потому что некоторым из их сервисов нужна ваша сеть для приема запросов на доступ к вашему общедоступному IP-адресу извне, поскольку стандартные конфигурации NAT обычно не позволяют этого. Хорошей новостью является то, что есть несколько распространенных исправлений, которые вы можете попробовать, чтобы сделать NAT менее ограничивающим и разрешить входящие соединения.

Во-первых, получите доступ к вашему маршрутизатору (согласно его руководству) и проверьте , включен ли UPnP (универсальный plug and play). (UPnP)Эта функция позволяет приложениям в вашей локальной сети автоматически перенаправлять порты(forward ports) без необходимости возиться с настройками сети. Просто имейте в виду, что любое вредоносное программное обеспечение в вашей сети, например вредоносное ПО, также может использовать UPnP . Убедитесь(Make) , что все ваши устройства просканированы и очищены, если вы используете эту функцию.

У вас также есть возможность выполнить переадресацию портов вручную, чтобы устройства, которым требуется менее строгое соединение, могли получить его в каждом конкретном случае.

Это только НАТУРАЛЬНО (It’s Only NATural )

Это все, что вам нужно знать о том, что такое NAT , чтобы начать работу. Настоящие азы работы NAT могут быстро усложниться, но если вы понимаете, что делает NAT на высоком уровне и почему иногда что-то идет не так, вы также поймете, почему определенные исправления работают или не работают при запуске. в сетевые проблемы.



About the author

Я iOS-разработчик с более чем 10-летним опытом. Я специализируюсь на разработке приложений для iPhone и iPad. У меня есть опыт создания пользовательских потоков, создания пользовательских комплектов разработки (CDK) и работы с различными средами разработки приложений. В своей предыдущей работе я также разработал инструменты для управления магазином приложений Apple, в том числе инструмент управления продуктами и инструмент отправки приложений.



Related posts