Трансляция IP-адресов

Трансляция IP-адресов

В настоящее время в сети Интернет используется протокол IP четвёртой версии, а это значит, что общее количество узлов данной сети не может превышать четыре миллиарда. Однако, реальное количество компьютеров, работающих в сети и использующих подключение к сети Интернет гораздо больше этого числа, и каждый из них обязан, согласно протоколу IP, иметь собственный адрес.

Каждый Интернет-провайдер получает от регионального регистратора определённый диапазон реальных IP-адресов. Если таких адресов у провайдера достаточное количество, то он вполне может каждому своему клиенту предоставить реальный IP-адрес. А как же быть, если адресов недостаточно? В этом случае приходится применять специальные механизмы адресного преобразования. NAT - это специальный механизм, распространённый в сетях TCP/IP. Он позволяет менять IP-адреса проходящих пакетов. Такие пакеты называются транзитными, их адрес назначения не совпадает с адресом текущего устройства в сети. В то же время, механизм NAT имеет ещё несколько названий, в зависимости от специфики устройства, на котором он применяется. Часто данным механизм называют маскарадингом IP-адресов. Чаще всего данным механизмом орудуют маршрутизаторы, внешнему интерфейсу которых присваивается реальный IP-адрес, выдаваемый провайдером. Пакеты, проходящие от локальных узлов в Интернет и обратно, являются для маршрутизатора транзитными. Механизм NAT используется для того, чтобы все узлы внутренней сети выходили в Интернет, используя лишь один внешний реальный IP-адрес. Эта схема весьма распространена в условиях домашнего подключения, когда нескольким компьютерам, телевизорам, планшетам или смартфонам нужно обеспечить выход в Интернет из под одного IP-адреса. Иногда требуется узнать IP-адрес, выданный Интернет-провайдером. Для этого можно использовать страничку статуса в конфигураторе роутера, специальный Интернет-сервис или данную страничку.

Механизм, используемый в таких роутерах, заключается в замене IP-адреса источника данных при прохождении IP-пакета в одну сторону и соответствующей обратной замене IP-адреса назначения в IP-пакете, приходящем в ответ. Кроме IP-адресов также предусмотрена замена целевых и исходящих портов. Когда роутер принимает пакет от компьютера, он смотрит первым делом на адрес назначения. Если данный адрес является локальным, то роутер шлёт пакет обратно во внутреннюю сеть другому устройству. Если же адрес назначения не является локальным, то он отправляется через внешний интерфейс в Интернет. Но адресом источника в этом пакете выступает серый адрес локального компьютера. Узел в интернете, получив пакет, не сможет отослать его обратно. Поэтому роутер, прежде чем послать такой пакет на внешний интерфейс, совершает подмену IP-адреса источника на IP-адрес своего внешнего интерфейса. Также меняется номер порта источника для идентификации обратных пакетов. Когда приходят ответные пакеты, роутер делает обратную замену для того, чтобы пакет дошёл до локального узла.