Что такое трансляция сетевых адресов (NAT) и как она работает?

Ирония в том, что одной из самых больших угроз для Интернета был продукт того, что никто не предвидел, насколько популярным он будет.

До недавнего времени основным способом назначения IP-адресов компьютерам была система IPv4.

, Это позволило создать около 4,3 миллиарда возможных IP-адресов, значительная часть которых была разослана региональным интернет-властям в количестве 16,8 миллионов.

Довольно рано стало очевидно, что предложения не хватит для удовлетворения огромного спроса. Когда исчерпание ресурсов IP-адресов выглядело неизбежным, люди искали способы «обмениваться» IP-адресами с несколькими системами. Таким образом, трансляция сетевых адресов (NAT) родилась, и Интернет был сохранен.

Что такое трансляция сетевых адресов?

Чтобы компьютер мог общаться с Интернетом в целом, он должен иметь IP-адрес. Используя систему IPv4, это уникальные 32-разрядные числа, которые разбиты на четыре разных двоичных октета. Неважно, сервер это, компьютер или Xbox. Если у него нет IP-адреса, он не подключается к Интернету.

NAT-IP-адрес

Но просто не хватает IP-адресов, чтобы дать каждому хосту свой адрес. Итак, чтобы лучше использовать чрезвычайно ограниченное доступное адресное пространство, мы используем преобразование сетевых адресов.

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

Это одно устройство (обычно роутер

, коммутатор или аппаратный брандмауэр) изменяет заголовки IP-пакетов на лету, гарантируя, что содержимое пакета попадет в назначенное место назначения.

физ-маршрутизатор

Однако это имеет свои недостатки, поскольку узлам, находящимся за пределами локальной сети, становится экспоненциально сложнее обмениваться данными с серверами, расположенными за маршрутизатором.

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

Динамический NAT

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

Но самое главное, это означает, что большой пул хостов может совместно использовать значительно меньший пул IP-адресов. Это было жизненно важно, учитывая неизбежное исчерпание доступного пула адресов IPv4.

перегрузка

Обычный способ выполнения трансляции сетевых адресов — это так называемая «перегрузка», когда несколько внутренних IP-адресов сопоставляются одному общедоступному IP-адресу.

Это делается путем предоставления каждому внутреннему хосту соответствующего порта. Например, предположим, у вас есть три компьютера во внутренней сети и общедоступный IP-адрес 212.18.123.123. Каждый из этих внутренних компьютеров теоретически может быть доступен через 212.18.123.123:2001, 212.18.123.123:2002 и 212.18.123.123:2003.

Это обычно известно как преобразование адреса порта (PAT), одноадресный NAT и мультиплексированный NAT на уровне порта.

Статический NAT

Наконец, давайте поговорим о статическом NAT.

Внутренние сети, такие как домашняя или офисная сеть, не используют ту же систему IP-адресации, которая используется в общедоступном Интернете. Любое сетевое устройство эффективно имеет два IP-адреса. Первый является частным, и он доступен только внутри этой сети. Второй — тот, который доступен извне.

Статический NAT позволяет создать прямую прямую связь между частным IP-адресом и статическим общедоступным IP-адресом.

,

Это, конечно, не поможет избежать исчерпания IPv4-адресов. Но это не относится к делу. Например, если вы хотите подключить веб-сервер к Интернету, вам нужно убедиться, что его IP-адрес остается прежним. Статический NAT позволяет вам сделать это.

Но как насчет IPv6?

Мир быстро переходит от IPv4 с его жестко ограниченным адресным пространством к IPv6

, который может поддерживать теоретическую сумму 2 ^ 128 IP-адресов.

Чтобы адекватно выразить чудовищность этого, это эквивалент 340 ундециллионов, 282 дециллионов, 366 ниллионов, 920 октиллионов, 938 септиллионов, 463 секстиллионов, 463 квинтиллионов, 374 квадриллионов, 607 триллионов, 431 млрд, 768 миллионов, 211 тысяч и 456.

физ-ipv6

Это много IP-адресов.

Итак, имея в виду, нужно ли нам преобразование сетевых адресов, учитывая, что существует избыток доступных IP-адресов, которые почти наверняка никогда не будут исчерпаны?

Ну, NAT поставляется с некоторыми другими ключевыми преимуществами. Возможно, наиболее очевидным является тот факт, что он непреднамеренно действует как «брандмауэр»

к любым системам за маршрутизатором. Любые службы, работающие из этой сети (будь то частный файловый сервер или частный веб-сервер, на котором работает Wiki), недоступны за пределами этой сети.

Проще говоря, NAT значительно повышает безопасность любой системы, стоящей за ним.

Заключение

NAT — это якобы сухая технология, которую почти невозможно понять. Но не позволяй этому обмануть тебя. Без этого Интернет выглядел бы радикально иначе.

Есть мысли? Дай мне знать. Оставьте мне комментарий ниже, и мы поговорим.

Изображение предоставлено: IPv6-IPv4 от Abode of Chao

Ссылка на основную публикацию
Adblock
detector