Подписаться

Трансляция сетевых адресов (NAT)

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

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

Были выбраны 32-битные IP-адреса, и это то, что мы сегодня называем IPv4. 32-битная длина означает, что может быть 232 или 4 294 967 296 различных IP-адресов, что недостаточно для удовлетворения потребностей современного интернет-сообщества - с более чем 7 миллиардами человек в мире и бесчисленным количеством устройств просто не может быть, что только 4,2 миллиарда уникальных адресов будет достаточно. NAT решает эту проблему, применяя метод, который переназначает одно пространство IP-адресов в другое, изменяя информацию о сетевых адресах в заголовке пакетов IP. Таким образом, несколько устройств могут использовать один публичный IP-адрес для отправки и получения пакетов через Интернет.

Как работает NAT
NAT работает, применяя маскировку IP-адресов, которая скрывает все пространство IP-адресов, обычно состоящее из частных IP-адресов, за одним IP-адресом в другом, обычно общедоступном адресном пространстве. Адрес, который должен быть скрыт, заменяется на один (общедоступный) IP-адрес в качестве «нового» исходного адреса исходящего IP-пакета, поэтому он выглядит как исходящий не от скрытого хоста, а от самого устройства маршрутизации:

Private public ip 3 v2.png

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

Допустим, пользователь за компьютером с IP-адресом 192.168.1.3 хочет проверить новостной сайт, адрес которого 68.1.31.1. Компьютер генерирует пакет, содержащий его IP-адрес, IP-адрес назначения и запрос на доступ к веб-сайту. Компьютер не может отправить пакет через Интернет напрямую на IP-адрес веб-сайта, так как он не получил бы никакого ответа. Это связано с тем, что хост не будет знать, как получить IP-адрес компьютера 192.168.1.3, поскольку в любой момент могут быть тысячи устройств, использующих один и тот же IP-адрес.

Именно здесь вступает NAT. Вместо того, чтобы отправлять пакет непосредственно на хост, он проходит через маршрутизатор, который затем меняет IP-адрес отправителя на свой собственный публичный IP-адрес: порт, в данном случае 101.89.101.12:8801. Так что теперь, когда хост получает пакет, он точно знает, куда отправить ответ. Затем он генерирует пакет ответов и отправляет его по адресу 101.89.101.12:8801. Затем маршрутизатор получает этот ответ на конкретный порт и точно знает, куда его перенаправить - на 192.168.1.3:102

0 Комментарии

Войдите в службу, чтобы оставить комментарий.
На базе технологии Zendesk