Скорее всего, вы читаете этот текст прямо сейчас с устройства, подключенного к интернету. Если да, то вы, возможно, используете трансляцию сетевых адресов (NAT). Это происходит в фоновом режиме. Вы можете даже не знать о её существовании.
Интернет огромен. В настоящее время оценочное число активных пользователей превышает 5,35 миллиарда. Это очень много людей. Это много устройств. Этот рост напрямую связан с тем, насколько важна для вас NAT. Это больше, чем просто техническая деталь. Это механизм, который обеспечивает работу веба для миллиардов пользователей.
Кризис исчерпания IP-адресов
Каждому компьютеру, который общается с другим компьютером в Интернете, требуется идентичность. Это IP-адрес. Аббревиатура от Internet Protocol (Протокол Интернета). Представьте его как цифровой почтовый адрес. Он указывает веб-сервису, куда именно отправлять данные.
Когда IP-протокол разрабатывался впервые, инженеры полагали, что места хватит с запасом. Они насчитали 4 294 967 296 уникальных адресов. Это $2^{32}$. Звучит как бесконечность.
Этого недостаточно.
Ваш фактический диапазон публичных адресов меньше. Цифра составляет 3,2–3,3 миллиарда. Почему? Потому что адреса разделены на категории. Некоторые зарезервированы для мультикастинга. Другие оставлены для тестирования. Взрывной рост домашнего интернета и бизнес-инфраструктуры исчерпал запасы. Индивидуальные публичные идентификаторы закончились.
Очевидное решение — переформатировать адресное пространство. Это IPv6. Разрешается больше адресов. Однако внедрение идёт медленно. Это требует изменений во всей глобальной инфраструктуре. На это уйдут годы.
Как NAT решает эту нехватку?
Здесь вступает в игру NAT. В частности, RFC 1631 определяет этот подход.
Одно устройство (обычно маршрутизатор) действует как агент. Оно находится между публичным Интернетом и частной локальной сетью. Ваш маршрутизатор имеет публичный IP-адрес. Ноутбуки, мобильные телефоны и умные телевизоры — нет. Они используют частные IP-адреса. Маршрутизатор преобразует адреса между этими двумя типами.
Только один уникальный IP-адрес может представлять целую группу компьютеров. Это решает проблему нехватки публичных IP-адресов. Но это только половина истории.
Аналогия с офисной ресепшен-зеной
Эта концепция была изобретена компанией Cisco. Самый простой способ понять, как работает NAT, — это аналогия.
Представьте большое офисное здание. Вы — внутренний сотрудник. У вас есть инструкция для секретаря: не перенаправляйте звонки мне, если я не согласен.
Затем вы звоните потенциальному клиенту. Оставляете сообщение. Говорите секретарю: «Я ожидаю звонок от этого человека». Вы предоставляете ей точную информацию.
Клиент звонит на главный номер здания. Это был единственный номер, который он знал. Он просит соединить с вами. Секретарь проверяет справочную таблицу. Эта таблица сопоставляет ваше имя с вашим внутренним номером. Она помнит, что вы запросили этот звонок. Она направляет клиента.
Без этой справочной таблицы и без вашего разрешения клиент будет заблокирован или потерян. NAT делает именно это с пакетами данных.
Механизм за трансляцией
NAT действует как контролёр доступа. Он находится между вашей внутренней сетью и остальным миром. Это может быть брандмауэр, маршрутизатор или компьютер, настроенный на обработку вашего трафика.
Он проявляется множеством различных способов. Он работает по-разному в зависимости от вашей конфигурации и потребностей в безопасности или простоте. Базовые функции остаются неизменными. Он сопоставляет внутренние частные адреса с одним публичным идентификатором. Управляет потоком данных так, чтобы внешние сети не нуждались в знании внутренней структуры локальной системы.
Эта настройка решает не только проблему экономии адресов. Она добавляет слой скрытности. Внешние стороны видят IP-адрес вашего маршрутизатора, а не IP-адрес вашего личного устройства. Это преимущество в области безопасности. Основным драйвером всё ещё остаётся исчерпание адресов IPv4.
Технология созрела. Она является стандартной на почти всех потребительских маршрутизаторах, продаваемых сегодня. Как только вы поймёте это, вы сможете увидеть, почему можете подключить пять устройств к Wi-Fi-сети, используя всего один публичный IP-адрес. Это умное решение проблемы, которую мы создали, слишком быстро растущ.
Статический NAT: одно-к-одному мост
Статический NAT эквивалентен прямой линии. Это точное отображение одного незарегистрированного частного IP-адреса на один зарегистрированный публичный IP-адрес. Без разделения ресурсов. Без путаницы с портами. Это просто прямой туннель между внешним миром и конкретным внутренним устройством.
Почему это важно? Потому что в некоторых случаях вам нужно устройство, к которому можно получить доступ через Интернет. Веб-сервер. Игровой сервер. Точка безопасного удаленного доступа. Статический NAT является стандартным инструментом при размещении контента, который внешние клиенты должны найти.
Это работает путем создания постоянной записи в таблице NAT. Когда внешний пакет поступает на публичный IP-адрес, маршрутизатор ищет соответствующий частный IP-адрес и перенаправляет трафик. Когда устройство отвечает, происходит обратное. Исходный IP-адрес изменяется обратно перед входом в сеть.
Это не динамическое преобразование. Отображения остаются неизменными. У них нет срока действия. Они просто ждут.
«Статический NAT особенно полезен, когда вы хотите получить доступ к устройству извне сети.»
Эта постоянство имеет свою цену. Для любого внутреннего сервера, требующего входящего доступа, требуется публичный IP-адрес. Если вы запускаете три публично доступных сервиса, вам потребуется три записи статического NAT и три публичных IP-адреса. Это может быстро исчерпать пул адресов.
Сравните это с PAT (Port Address Translation), где десятки внутренних устройств разделяют один публичный IP-адрес. PAT эффективен. Статический NAT прозрачен.
Ключевое слово здесь — прозрачность. Внешние клиенты видят внутренние устройства так, как если бы они были напрямую подключены к Интернету. Отладка не имеет сложности, связанной с отображением портов. Нет моментов «почему я не могу подключиться?», вызванных неправильной настройкой портов. IP-адрес — это личность. Это не ложь.
Это упрощает устранение неполадок. Если что-то идет не так, вы точно знаете, какое устройство задействовано. Нет необходимости гадать на основе номера порта. Я пингую публичный IP-адрес и общаюсь с частным устройством.
Однако это не подходит для всех ситуаций. Вы не настраиваете статический NAT для своего ноутбука. Это не нужно для почтовых клиентов или обычного просмотра веб-страниц. Им не нужны входящие соединения из внешней сети. Использование статического NAT для общего трафика избыточно и создает риск безопасности.
Это для серверов. Для тех, которые кричат: «Найди меня.»
Конфигурация проста, но жестка. Определите внутренний локальный адрес (частный IP). Укажите ваш внутренний глобальный адрес (публичный IP). Свяжите их. Вот и всё. Правила брандмауэра по-прежнему будут применяться, но сам процесс преобразования не будет виден конечным пользователям.
Есть также тонкий аспект безопасности. Он не скрывает устройство, но изолирует его. Вы также можете ограничить, кто может получить доступ к этому публичному IP-адресу. Однако сам механизм преобразования не добавляет уровень скрытности. Если вы хотите скрыть устройство, вы можете использовать PAT или прокси. Если требуется доступность, вы можете использовать статический NAT.
Это специализированный инструмент. Не весь ваш набор инструментов. Однако, если вам нужна прямая линия, это единственный способ.
Статический NAT строгий. Это жёсткая связь «один к одному». Но реальность несовершенна. В большинстве сетей недостаточно публичных IP-адресов для всех устройств. Именно поэтому используется динамический NAT. Он не фиксирован. Это вращающаяся дверь.
Устройства в сети начинают с частного, незарегистрированного IP-адреса. Они хотят связаться с внешним миром. Маршрутизаторы не назначают постоянные публичные адреса. Вместо этого они выбирают один из зарегистрированных IP-адресов. Представьте себе парковку для прокатного автомобиля. Вы садитесь за руль (IP). Вы — тот, кто управляет. Отправляете его обратно. Следующий человек садится в следующую машину.
Это отображение существует только во время активной сессии. Если соединение теряется, публичный IP-адрес возвращается в пул. Он становится доступным для всех остальных. Это экономит адреса. Это работает хорошо. Однако оно ограничено размером пула. Когда он иссякает, следующий запрос завершится неудачей.
Когда одного IP-адреса недостаточно: появляется перегрузка
Что, если у меня 50 устройств и только один публичный IP-адрес? Я не могу разместить 50 автомобилей в своём гараже. Это означает нарушение правил традиционной сети. Начните использовать порты.
Это перегрузка.
Также известная как PAT (Port Address Translation), или NAT с одним IP-адресом, или мультиплексирование NAT на уровне портов. Выбирайте то, что вам больше нравится. Концепция одна и та же: объединение нескольких частных IP-адресов в один публичный IP-адрес. Как? Использование уникальных исходных портов для каждого соединения.
Ноутбук приветствует веб-сервер. Используется порт 49152. Десктоп приветствует тот же сервер. Используется порт 49153. Маршрутизатор запоминает это. Он маркирует каждый пакет внутренним IP-адресом и портом. Когда ответ возвращается, маршрутизатор смотрит на номер порта. Он точно знает, какому внутреннему устройству принадлежат ваши данные.
Перегрузка — не единственное решение. Именно поэтому большинство домашних и небольших бизнес-интернет-соединений работают хорошо.
Без повторного использования портов Интернет рухнул бы под весом частного адресного пространства ещё много лет назад. Создаются виртуальные подсети путём заимствования структур заголовков TCP/UDP. Это очень clever (изобретательно). Это необходимо. Это повсеместно.
Почему это важно для обычных пользователей
Вы можете не замечать, как это происходит. Просто включаете компьютер. Вы просматриваете веб-страницы. Всё работает. Однако, если вы когда-либо сталкивались с обрывом соединения из-за того, что маршрутизатор исчерпал количество сессий, вы достигли предела NAT. Ещё хуже — ограничение доступных портов.
У одного IP-адреса есть 65 535 портов. Для большинства этого достаточно. Но что насчёт часто используемых маршрутизаторов? Не так уж и много. Если вы скачиваете большие файлы, транслируете видео в 4K и используете домашний сервер одновременно, эти порты могут быстро исчерпаться.
Динамический NAT обеспечивает гибкость. Перегрузка увеличивает масштабируемость. Вместе они скрывают внутреннюю сеть от публичного Интернета. То, что видит внешний мир, — это IP-адрес. Внутри вас находится множество внутренних миров.
Цена? Сложность. Диагностика усложняется. Если что-то идёт не так, вы не можете просто посмотреть на публичный IP-адрес. Вам нужно отслеживать отображение портов. Это уровень абстракции. Полезный, но непрозрачный.
Это не имеет значения, если
Решение конфликтов адресов при NAT-оверле
Большинство сетей не сталкиваются с этой проблемой. Они просто получают блок публичных IP-адресов и на этом всё заканчивается. Однако, если ваша внутренняя сеть использует диапазон, который «уже существует» в интернете (например, вы используете 192.168.1.0/24 внутри сети, но этот диапазон назначен другой компании в другом месте), возникает конфликт. Маршрутизатор не может отправлять пакеты с этими исходными IP-адресами за пределы сети. Вышестоящие провайдеры могут отбрасывать их или неправильно маршрутизировать.
Поэтому маршрутизатор должен вмешаться. Ему необходимо поддерживать таблицу поиска. Каждый раз, когда устройство в вашей сети пытается связаться с внешним миром, ваш маршрутизатор перехватывает пакеты. Он заменяет «внутренний» частный адрес на ваш уникальный зарегистрированный публичный IP-адрес. Это достаточно просто. Но подождите. Это касается не только исходящего трафика.
Если «другая» сеть (с которой вы случайно разделили адресное пространство) попытается связаться с вами, ваш маршрутизатор должен выполнить обратное преобразование. Он берет «внешний» зарегистрированный адрес и отображает его обратно на адрес вашей частной сети. Это двунаправленное преобразование настраивает конфигурацию NAT для перекрывающихся IP-адресов.
Существует два основных способа решения этой сложной ситуации. Статический NAT работает, когда отображение фиксировано. Мы говорим маршрутизатору: «Если ты видишь IP X снаружи, отправляй его на IP Y внутри». Это жестко. Предсказуемо. Однако это не масштабируется. Управление статическими записями становится кошмаром, когда у вас есть большое количество конфликтующих диапазонов.
Другой вариант — динамический NAT, который часто используется вместе с DNS. В этом случае маршрутизатор динамически назначает доступные публичные IP-адреса из пула. DNS устраняет путаницу, обеспечивая корректную работу логики преобразования, даже если внутреннее хост-устройство пытается получить доступ к внешней сети с «неправильным» (но перекрывающимся) именем. Это очень запутанно. Это сложно. Но если идентичность вашей сети конфликтует с чьей-то еще, это единственный способ поддерживать активное соединение.
Описание домена stub
Большинство внутренних сетей представляют собой просто локальные сети (LAN). Этот режим работы называется доменом stub. Используйте частный IP-адрес. Трафик остаётся внутри сети. Он редко покидает здание.
Но вот в чём проблема. Внутренние IP-адреса могут быть зарегистрированы. Если они не зарегистрированы, вы столкнётесь с проблемами. Вы не сможете напрямую общаться с внешним миром. Требуется NAT — трансляция сетевых адресов. Это своего рода мост. Без него незарегистрированные адреса оказываются «в тупике».
«Компьютеры с незарегистрированными IP-адресами должны использовать NAT для связи с остальным миром».
Теперь поговорим о технической реализации. Как именно настроить эту систему? Существует несколько способов конфигурации NAT. Далее рассмотрим эти варианты.
Особая благодарность Cisco за помощь в написании этой статьи.
Трансляция сетевых адресов (NAT) — это не единичная конфигурация. Это стратегия настройки. Вы можете адаптировать её под свою инфраструктуру. В стандартной конфигурации NAT-маршрутизатор выполняет основную работу. Он получает незарегистрированный локальный IP-адрес из вашей частной сети и заменяет его зарегистрированным глобальным адресом. Этот обмен происходит, когда внутреннее устройство пытается связаться с внешним миром.
Рассмотрите квоту вашего интернет-провайдера (ISP). Вы получите набор уникальных зарегистрированных IP-адресов. Эти адреса называются «внутренними глобальными» (inside global) адресами. Это публичное лицо сети. Однако в частной сети вы используете незарегистрированные частные IP-адреса. Они делятся на две группы. Сам NAT-маршрутизатор имеет небольшой набор «внешних локальных» (outside local) адресов, зарезервированных для себя. Кроме того, существует большое количество «внутренних локальных» (internal local) адресов. Они находятся в зоне-заглушке (stub domain), которая представляет собой внутреннюю сеть, где происходит большая часть работы.
Маршрутизатор использует эти внешние локальные адреса для трансляции уникальных «внешних глобальных» адресов публичных устройств. Большинство компьютеров в зоне-заглушке просто общаются друг с другом, используя внутренние локальные адреса. Им никогда не нужно выходить в публичную сеть. Но что насчет некоторых машин? Они очень активны. Они общаются с внешними серверами. Для них назначаются внутренние глобальные адреса. Они не требуют трансляции. У них уже есть публичный «билет» на доступ.
Путь пакета при стандартном NAT
Когда компьютер с внутренним локальным адресом подключается к Интернету, он отправляет пакет NAT-маршрутизатору. Маршрутизатор не просто угадывает. Он проверяет таблицу маршрутизации. Есть ли в ней запись для пункта назначения? Если да, устройство выполняет трансляцию пакета. Оно также создает новую запись в таблице трансляции адресов. Эта таблица отслеживает, кто с кем общается. Если пункта назначения нет в таблице, пакет отбрасывается. Точка.
После трансляции маршрутизатор использует внутренний глобальный адрес для пересылки пакета. Компьютер в публичной сети отвечает. Исходным адресом для этого ответа является внешний глобальный адрес. Назначением является внутренний глобальный адрес. NAT-маршрутизатор ищет IP-адрес назначения в своей таблице трансляции. Он находит соответствие. Преобразует внутренний глобальный адрес обратно во внутренний локальный адрес. Затем он отправляет пакет нужному компьютеру. Просто.
Соединения с перегрузкой NAT
Перегрузка NAT (NAT overload) повышает эффективность еще больше. Она использует мультиплексирование — функцию стека TCP/IP. Это позволяет одному компьютеру одновременно поддерживать несколько одновременных соединений с удаленными серверами. Как? Используя разные порты TCP или UDP.
Заголовок IP-пакета — это контейнер данных. Он содержит четыре важных элемента информации:
- Адрес отправителя – IP-адрес компьютера, отправляющего данные. Пример: 201.3.83.132
- Исходный порт – Номер порта, указанный отправителем. Пример: порт 1080
- Адрес получателя – IP-адрес принимающего компьютера. Пример: 145.51.18.223
- Порт назначения – Номер порта, который отправитель хочет, чтобы получатель открыл. Пример: порт 3021
Адреса идентифицируют машины. Порты обеспечивают уникальность соединения. Вы можете иметь несколько разговоров с одним и тем же сервером, если порты разные. Комбинация этих четырех чисел определяет соединение TCP/IP.
Номера портов имеют длину 16 бит. Теоретически это дает 65 536 возможных значений. На практике разные производители по-разному отображают порты. Типичная система может рассчитывать примерно на 4 000 свободных портов. Этого достаточно для большинства пользователей. Но это также подчеркивает важность динамического распределения.
Динамическая трансляция сетевых адресов
Динамический NAT работает немного иначе, чем статическая настройка. Вот как это устроено.
Внутренние сети (зоны-заглушки) используют IP-адреса, которые не были назначены IANA. Они не маршрутизируемы. Они не являются уникальными во всем мире. Компания настроила маршрутизатор с поддержкой NAT, используя уникальные IP-адреса, предоставленные IANA.
Этот процесс начинается, когда компьютер в зоне-заглушке пытается подключиться к внешнему серверу, например, к веб-сайту.
- Маршрутизатор получает пакет данных.
- Он сохраняет не маршрутизируемый IP-адрес компьютера в таблице трансляции.
- Заменяет не маршрутизируемый IP-адрес отправителя на первый доступный уникальный IP-адрес.
- Таблица сопоставляет частные IP-адреса с публичными IP-адресами.
Когда пункт назначения отвечает, маршрутизатор проверяет адрес назначения. Он ищет в таблице трансляции. Он находит соответствующий частный IP-адрес. Возвращает адрес назначения обратно к исходному не маршрутизируемому адресу. Он отправляет пакет этому конкретному компьютеру.
Если в таблице нет совпадений, пакет отбрасывается. Этот процесс повторяется до тех пор, пока продолжается связь. Этот динамический подход экономит публичный IP-адрес. Он не назначает их постоянно. Он берет их взаймы из пула. Когда сеанс заканчивается, IP-адрес возвращается в общий пул для повторного использования.
Как NAT перегрузка отображает соединения
NAT-перегрузка (PAT) — это не просто замена одного IP-адреса на другой. Она отображает отдельные соединения таким образом, чтобы один публичный IP-адрес мог обслуживать десятки внутренних устройств.
Это происходит следующим образом. Компьютеры в частной сети отправляют пакеты внешним серверам. Маршрутизатор NAT перехватывает их. Пакеты не пересылаются немедленно. Вместо этого маршрутизатор записывает внутренний IP-адрес и исходный порт в таблицу трансляции. Затем он заменяет исходный IP-адрес своим собственным публичным IP-адресом. Также указывается новый исходный порт. Этот новый порт указывает на запись в таблице трансляции.
Когда внешний сервер отвечает, пакет поступает на маршрутизатор. Маршрутизаторы проверяют номер порта назначения входящих пакетов. Они находят соответствующие записи в таблице. Публичный IP-адрес заменяется обратно на ваш внутренний частный IP-адрес. Номер порта сбрасывается до значения, ожидаемого исходным компьютером. Пакет доставляется нужному устройству. Этот цикл повторяется для каждого последующего пакета.
Маршрутизатор поддерживает запись активной. Таймер сбрасывается каждый раз, когда отображение используется. Если соединение становится неактивным, таймер истекает. Запись удаляется. Этот порт может использоваться другими устройствами.
Визуализация трансляции в домене stub
Представьте себе сеть stub (тупиковую сеть), в которой четыре компьютера пытаются подключиться к Интернету. Все они используют один публичный IP-адрес 215.37.32.203 на маршрутизаторе NAT.
Вот как маршрутизаторы используют порты для различения устройств:
- Компьютер A (
192.168.32.10) подключается к порту 400. Маршрутизатор назначает ему порт 1 на публичном IP-адресе. - Компьютер B (
192.168.32.13) подключается к порту 50. Маршрутизатор назначает ему порт 2. - Компьютер C (
192.168.32.15) использует порт 3750. Маршрутизатор отображает его на порт 3. - Компьютер D (
192.168.32.18) подключается к порту 206. Маршрутизатор назначает ему порт 4.
Внешняя сеть видит весь трафик от 215.37.32.203. Она распознает порты 1, 2, 3 и 4. Частные адреса 192.168.x.x не видны. Маршрутизатор использует эти номера портов для отправки ответов на правильные внутренние устройства.
Вы можете исключить определенные устройства из этого процесса. Настройте список доступа (access list). Укажите маршрутизатору, какие IP-адреса освобождаются от NAT. Эти компьютеры полностью обходят NAT. Они сохраняют свои собственные адреса. Все остальные устройства перегружаются на один публичный IP-адрес.
Аппаратное обеспечение здесь имеет значение. Количество одновременных трансляций зависит от объема памяти DRAM. Каждая запись занимает около 160 байт. Маршрутизатор с 4 МБ DRAM может обрабатывать около 26 214 одновременных соединений. Этого достаточно для большинства небольших и средних офисов.
Зачем существуют диапазоны частных IP-адресов?
Не все IP-адреса одинаковы. Некоторые являются публичными, некоторые — частными. IANA зарезервировала определенные диапазоны для частного использования. Они определены в RFC 1918. Эти адреса называются «незарегистрированными».
Попытки маршрутизации трафика с использованием этих адресов в публичном Интернете завершатся неудачей. Маршрутизаторы запрограммированы отбрасывать пакеты с незарегистрированными исходными адресами. Пакет может быть отправлен из сети, но первый внешний маршрутизатор, на который он попадет, отбросит его. Он никогда не вернется.
Существует три стандартных диапазона для частного использования.
- Класс A :
10.0.0.0~10.255.255.255 - Класс B :
172.16.0.0~172.31.255.255 - Класс C :
192.168.0.0~192.168.255.255
Вам не обязательно выбирать один диапазон и придерживаться его. Вы также можете смешивать их. Однако это считается плохой практикой. Возникают конфликты. Если одна подсеть использует 192.168.1.0, а другая — 192.168.2.0, их объединение вызовет путаницу. Придерживайтесь одного диапазона в каждом сетевом проекте. Держите маршруты четкими и ясными.
Последствия для безопасности, связанные с NAT
NAT обеспечивает уровень скрытности. Внешние сканеры видят только IP-адрес маршрутизатора. Они не видят внутреннее устройство сети. Они не знают, что за этим адресом находятся четыре компьютера.
Это не брандмауэр. Контент не фильтруется. Пакеты не проверяются на наличие вредоносного ПО. Происходит только трансляция адресов. Однако внутренняя топология скрыта. Это уже что-то.
При таком большом количестве устройств, использующих один IP-адрес, управлять ими становится сложно. Для устранения неполадок проверяйте таблицу трансляции. Вам нужно знать, какие порты назначены каким пользователям. Если ваши пользователи жалуются на низкую скорость, вы можете проверить, устарели ли записи трансляции или исчерпан ли порт.
Граница безопасности — это маршрутизатор. Если устройство NAT скомпрометировано, вся сеть stub оказывается под угрозой. Все трансляции становятся видимыми. Все соединения могут быть изменены.
Здесь есть компромисс. Вы экономите IP-адреса. Вы получаете базовую скрытность. Однако вы теряете детальную видимость трафика отдельных устройств. Маршрутизатор становится единственной точкой отказа и единственной точкой наблюдения.
Что это значит для вас? Сети сложно картографировать извне, но еще сложнее отлаживать изнутри. Вам нужно полагаться на таблицу трансляции. Вам нужно доверять таймерам. Вам также нужно надеяться, что память DRAM не заполнится до завершения соединения.
Динамический NAT делает больше, чем просто переназначает IP-адреса. Он незаметно формирует брандмауэр между вашей внутренней сетью и внешним миром. Или между внутренней сетью и Интернетом. Правила просты. NAT разрешает только соединения, инициированные из внутренней сети.
Проще говоря, это означает, что компьютеры во внешних сетях не могут подключиться к вашему компьютеру. Если только ваш компьютер не инициировал контакт. Вы можете просматривать Интернет. Вы можете подключиться к сайту. Вы можете скачать файл. Однако никто другой не может подключиться к вашему IP-адресу. Они не могут использовать его для подключения к порту на вашем компьютере.
Однако есть исключения. Статический NAT (также известный как отображение входящего трафика) требуется в определенных ситуациях. Это позволяет внешним устройствам устанавливать соединения с компьютерами во внутренней сети. Статический NAT требуется, если вы хотите перейти от глобального внутреннего IP-адреса к конкретному локальному внутреннему IP-адресу. Он обеспечивает соединение для вашего веб-сервера.
Фильтрация и регистрация трафика
Некоторые маршрутизаторы NAT предлагают обширную фильтрацию. Они также регистрируют трафик. Фильтрация позволяет компаниям контролировать, какие типы веб-сайтов сотрудники посещают в Интернете. Это предотвращает просмотр ими сомнительных материалов. Вы можете создавать файлы журналов, используя журналы трафика. Они записывают, какие сайты посещаются. На основе этого вы можете создавать различные отчеты.
Чем NAT отличается от прокси?
NAT иногда путают с прокси. Но есть и различия. NAT прозрачен для исходных и целевых компьютеров. Ни один из них не осознает, что взаимодействует с третьим устройством. Прокси не являются прозрачными.
Отправляющий компьютер знает, что он делает запрос к прокси-серверу. Он должен быть настроен для выполнения этой функции. Целевой компьютер идентифицирует прокси как исходный компьютер. Он взаимодействует с прокси напрямую.
Прокси обычно работают на 4-м уровне (транспортном) или выше, тогда как NAT — это протокол 3-го уровня (сетевом).
В большинстве случаев работа на более высоком уровне делает прокси медленнее, чем устройство NAT.
Реальная польза от трансляции сетевых адресов (NAT) выходит за рамки простого экономии IP-адресов. Значительно снижается сложность управления сетью. Рассмотрим ситуацию, когда вам нужно переместить веб-сервер или FTP-сервер на другой хост. С NAT вам не нужно беспокоиться о неработающих ссылках или обновлении записей DNS. Просто измените отображение входящего трафика в вашем маршрутизаторе, чтобы оно указывало на новый внутренний хост.
Эта гибкость распространяется на всю вашу внутреннюю сеть. Снаружи виден только IP-адрес маршрутизатора или небольшое количество глобальных адресов, что позволяет вам перестраивать внутреннюю структуру без нарушения внешнего подключения.
NAT и DHCP работают вместе
NAT естественно сочетается с DHCP (протоколом динамической настройки узла). Вы можете настроить набор незарегистрированных частных IP-адресов (часто называемых «stub-доменом») во внутренней сети и позволить серверу DHCP распределять эти адреса при подключении устройств.
Эта настройка упрощает масштабирование. По мере роста вашего бизнеса и необходимости добавления большего количества компьютеров в сеть, вам не нужно запрашивать дополнительные блоки глобальных IPv4-адресов у Интернет-корпорации по присвоению имен и номеров (IANA). Все, что вам нужно сделать, это расширить доступные диапазоны IP-адресов в конфигурации DHCP. Маршрутизатор выполняет трансляцию, и ваша внутренняя сеть мгновенно расширяется.
Мультихостинг для отказоустойчивости и скорости
По мере того как бизнес всё больше зависит от Интернета, использование единственного подключения несет в себе риски. Мультихостинг (установка подключения к Интернету через несколько точек) становится стандартной частью сетевой стратегии.
Главное преимущество — это отказоустойчивость. Сбой подключения не приведет к катастрофической остановке вашего бизнеса. Но вопрос доступности (uptime) — не единственный. Мультихостинг обеспечивает балансировку нагрузки. Он предотвращает превращение единственной линии в «узкое место», распределяя трафик по нескольким подключениям. Эта оптимизация снижает задержку для пользователей, использующих внешние ресурсы, и улучшает общую производительность.
Как BGP маршрутизирует трафик
Сети с мультихостингом обычно подключаются к нескольким различным интернет-провайдерам (ISP). Каждый провайдер назначает свой собственный IP-адрес или диапазон. Маршрутизаторы управляют этими различными подключениями с помощью протокола граничного шлюза (BGP), который является ключевым компонентом набора протоколов TCP/IP.
В этой конфигурации маршрутизатор действует как регулировщик движения.
* Использует iBGP (внутренний граничный протокол шлюза) со стороны stub-домена для управления внутренними политиками маршрутизации.
* Общается с маршрутизаторами других провайдеров с помощью eBGP (внешнего граничного протокола шлюза).
Переключение на резервный канал происходит автоматически. Когда маршрутизатор обнаруживает, что канал провайдера недоступен, он немедленно перенаправляет весь трафик через оставшиеся активные маршрутизаторы. Это происходит без вмешательства человека и поддерживает работу сети.
Масштабирование с NAT в среде с несколькими провайдерами
NAT играет ключевую роль в обеспечении масштабируемой маршрутизации в этих сложных настройках с несколькими провайдерами. Отделяя внутренние адреса от внешних, NAT позволяет сети адаптироваться к различным требованиям провайдеров, не раскрывая деталей внутренней топологии. Для получения более подробных технических стратегий ресурсы, такие как «Руководство по корпоративному мультихостингу Cisco» (Cisco Enterprise Multihoming Guide), предоставляют подробные пути внедрения.
Часто задаваемые вопросы о трансляции сетевых адресов (NAT)
Что такое трансляция сетевых адресов (NAT)?
NAT — это метод отображения, который позволяет локальным серверам и узлам получать доступ к Интернету. Он берет несколько локальных частных IP-адресов, подключает их к одному глобальному общедоступному IP-адресу и отправляет их через ваш маршрутизатор.
Влияет ли NAT на скорость Интернета?
Минимальное влияние. Если у вас достаточно современный маршрутизатор, влияние на производительность практически незаметно. В большинстве случаев процесс трансляции аппаратно ускорен.
Каковы преимущества использования NAT?
Помимо безопасности, NAT позволяет бесплатно повторно использовать множество частных IP-адресов. Внешние и внутренние IP-адреса скрыты от публичного Интернета. Кроме того, он позволяет подключать множество внутренних хостов через всего несколько внешних IP-адресов, экономя память и затраты на конфигурацию.
В чем разница между NAT и PAT?
NAT означает трансляцию сетевых адресов (Network Address Translation). PAT означает трансляцию адресов портов (Port Address Translation), также известную как NAT с перегрузкой (NAT Overload). Оба метода преобразуют частные IP-адреса в общедоступные для экономии места. Главное отличие заключается в том, что PAT использует номера портов для различения нескольких внутренних устройств, использующих один и тот же общедоступный IP-адрес, тогда как традиционный NAT обычно выполняет отображение «один-к-одному» или «один-ко-многим» и не различает порты.
Сколько существует типов NAT?
Они представлены в нескольких формах, каждая из которых служит различным целям.
* Статический NAT: Строгое отображение «один-к-одному» незарегистрированных IP-адресов на зарегистрированные IP-адреса.
* Динамический NAT: Сопоставляет незарегистрированные IP-адреса с зарегистрированными IP-адресами из пула (группы) доступных адресов.
* Перегрузка (PAT): Перегружает несколько незарегистрированных IP-адресов в один зарегистрированный IP-адрес с использованием различных номеров портов.
* Перекрывающийся (Overlapping): Возникает, когда IP-адрес устройства в общей сети конфликтует с IP-адресом устройства в Интернете (внешней сети), и для разрешения конфликта требуются сложные правила трансляции.
Дополнительная информация
Для получения дополнительной информации о корпоративной архитектуре и сложных конфигурациях маршрутизации см. связанные ресурсы на следующих страницах. Сетевая инфраструктура постоянно меняется, и понимание того, как взаимодействуют эти протоколы, является ключом к поддержанию работоспособности вашей системы.


























