NAT (Network Address Translation) - это трансляция или другими словами подмена сетевых адресов. Это широкоиспользуемая технология которая позволяет противостоять недостатоку в нехватке IPv4 адресов и повысить безопасность сети.
Приватные адресса
IPv4 бывают двух видов: публичные и приватные. И если объяснять в двух словах, то приватные адреса может использовать кто угодно в своей сети, для этого нет необходимости арендовать адресное пространства или выделять адреса у провайдера. Очевидный недостаток таких адресов - к машине, имеющий приватный адрес невозможно подключиться из интернета - только из своей собственной локальной сети. Главным преимуществом приватных адресов заключется в том, за них не нужно платить, ими можно пользоваться на свое усмотрение и главное - одни и те же адреса использовать в разных локальных сетях различных организаций, что в итоге позволяет экономить адресное пространство IPv4.
Трансляция адресов
Для того чтобы организовать возможный выход в интернет с машин, имеющих приватные адреса применяется технология подмены адресов, или используется прокси-сервер. Если попытаться отправить, к примеру, запрос к web-серверу, находящимуся в интернете, с приватного адреса, то сам запрос теоретически дойдет, так как сервер имеет публичный адрес, а вот ответ от него не вернется, потому что обратный адрес, на который этот ответ надо отправлять - приватный. Подмена адресов заключается в том, что есть некоторое NAT-устройство, к примеру, сервер или маршрутизатор, который имеет один или несколько публичных адресов. При этом в пакете подменяется адрес отправителя: вместо приватного адреса клиента, устройство ставит в это поле один из своих публичных адресов, после чего пакет отправляется в сеть. Теперь у него и адрес отправителя и адрес получателя - публичные. Получатель обрабатывает пакет и возвращает на него ответ (например, содержимое запрошенное из интернета странички). Этот ответ, направляется на публичный адрес устройств, занимающегося NAT-ом. Машина помнит, когда и какой адрес оно подменяло и в этом пакете адрес получателся снова меняется: публичный адрес машины заменяется на приватный адрес клиента, после чего пакет идет дальше во внутреннюю сеть. Клиент получает данные, как будто бы никакого преобразование адресов небыло.
Преимущества трансляции адресов:
Недостатки трансляции адресов:
Виды трансляции адресов:
Вся информация указанная выше является общими принцыпами NAT. Однако, существуют различные методы организация этого процесса: