NAT — это механизм в сетях TCP/IP, позволяющий преобразовывать IP-адреса транзитных пакетов. Также применяются названия IP Masquerading, Network Masquerading и Native Address Translation.
В 80х годах ХХ века заложили основу адресации IPv4, позволяющую создавать ~4.3 млрд. адресов, но никто не предполагал, что этот запас так быстро иссякнет. С каждым годом появлялось все больше и больше пользователей и с 25 ноября 2019г. в России и в Европе официально закончились IP адреса. Лимит выделенных для этих стран и территорий адрессов был достаточно быстро исчерпан.
Для решения этой проблемы было придумано несколько способов:
Первый способ заключается в усилении контроля за IP адресами.
Пусть существует некоторый сайт N с IPv4 xxx.xxx.xxx.xxx, и его хост решил прекратить его поддержание данного сайта. Сайт заброшен, а его IP адрес продолжает числиться как занятый и таких случаев может быть очень много. Обычно это значит, что необходимо своевременно провести “инвентаризацию” IP адресов и изъять из использования неиспользуемые/заброшенные.
Второй способ – в массовом использовании системы IPv6.
Протокол IPv6 разработан как преемник протокола IPv4. Основные преимущества IPv6 над IPv4 заключаются в увеличенном адресном пространстве (IPv4 имел 32 бита, что равнялось 232 адресам, а IPv6 имел 128 бит, что равнялось 2128 адресам), 6 версия протокола стала безопаснее (т.к. в v4 не предусматривались многие аспекты безопасности, ибо расчет был на сторонние ПО, а в v6 появились контрольные суммы и шифрование пакетов), однако это далеко не все преимущества IPv6 над IPv4.
Проблема, казалось бы, была решена, однако переход с протокола IPv4 на IPv6 вызывает до сих пор вызывает трудности, потому что эти протоколы несовместимы. И изюминкой причины тяжелого перехода на 6 версию протокола является денежная стоимость. Многие кампании не готовы вложить достаточное кол-во средств для перехода, хотья стоит отметить, что процесс перехода с IPv4 на IPv6 постепенно идет.
И третий способ – использование технологии трансляции сетевых адресов – NAT.
Механизм NAT определён в RFC 1631, RFC 3022.
Типы NAT
Классификация NAT, часто встречающаяся в связи с VoIP. Термин «соединение» использован в значении «последовательный обмен пакетами UDP».
Симметричный NAT (Symmetric NAT) — трансляция, при которой каждое соединение, инициируемое парой «внутренний адрес: внутренний порт» преобразуется в свободную уникальную случайно выбранную пару «публичный адрес: публичный порт». При этом инициация соединения из публичной сети невозможна.
Cone NAT, Full Cone NAT — однозначная (взаимная) трансляция между парами «внутренний адрес: внутренний порт» и «публичный адрес: публичный порт». Любой внешний хост может инициировать соединение с внутренним хостом (если это разрешено в правилах межсетевого экрана).
Address-Restricted cone NAT, Restricted cone NAT — постоянная трансляция между парой «внутренний адрес: внутренний порт» и «публичный адрес: публичный порт». Любое соединение, инициированное с внутреннего адреса, позволяет в дальнейшем получать ему пакеты с любого порта того публичного хоста, к которому он отправлял пакет(ы) ранее.
Port-Restricted cone NAT — трансляция между парой «внутренний адрес: внутренний порт» и «публичный адрес: публичный порт», при которой входящие пакеты проходят на внутренний хост только с одного порта публичного хоста — того, на который внутренний хост уже посылал пакет.
Следует отметить, что почти каждый маршрутизатор и коммутатор третьего уровня вполне может быть использован для технологий NAT, VPN, VLAN, IPsec, а иногда – и как прокси SOCKS и для WireGuard .