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