Немного о сетке (IPv4/IPv6, NAT)

Я постараюсь простым языком объяснить базовые вещи в постороение сетей.

Общее

Компьютеры по всему миру соеденены между собой проводами. Для того, чтобы общаться между собой, был придумал спициальный протокол - IP. Расшифровывается очень просто - интернет протокол.

Так вот, чтобы понимать к каком компьютеру обращаться у каждого компьютера есть IP Address. То есть адрес в сети интернет. Вы могли видеть уже такие цифры раньше, вроде 192.168.1.254 или чего-то подобного.

Основная и самая широко используемая реализация протокола IP это IPv4. Это как раз адреса из цифр с точками. Но этому протоколу скоро стукнет 50 лет и как вы понимаете, 50 лет назад продумать все нюансы было невозможно.

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

Из-за такого явления, как NAT (не только конечно), эта статья станет чуть длинее.

Что такое NAT и почему важно это понимать

Это простая, как пробка вещь на самом деле.

У нас стали заканчивать адреса ipv4, мы прикрутили NAT и стали выдавать меньше адресов.

NAT позволяет преобразовывать адреса, схема примерно такая:

ls

Слева у нас клиенты (ваш мобильник, ноут, микроволновка и сосед укравший ваш пароль от вифи).

Справа у нас сервер, например это Twitter

Когда запрос от нашего клиента идет к твиттеру то происходит следующее преобразование адресов:

  • Изначально клиент имеет локальный адрес, такие адреса недоступны в глобальной сети интернет, например 192.168.1.3
  • Когда клиент запрашивает твиттер, то устройство реализующее NAT (обычно это ваш домашний роутер), преобразует ваш локальный IP (192.168.1.3) в публичный (тот, что у вашего роутера, этот IP выдал вам провайдер интернета, например 73.71.31.29).
  • В итоге твитер получает запрос и выдает вам ответ, отправляя его уже на адрес 73.71.31.29 (вышего роутера), где роутер с помощью NAT перенаправляет запрос уже вам на локальный адрес (192.168.1.3)

Белый IP/Серый IP

Белый айпи - в контексте этой статьи это адрес вашего роутера. Т.е. тот адрес который явно доступен в глобальной сети интернет и не находится за NAT.

Серый айпи - ваш локальный айпи, пакеты напрямую на него не могу прийти, так как адрес не доступен в глобальной сети интернет и требует NAT.

Статический IP/Динамический IP

Еще одно ухищрение провайдеров, для экономии адресов (а соответственно и денег) - динамические адреса.

Любой статический или динамический IP может быть как белым так и серым.

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

Статические IP в основном назначаются серверам, чтобы до него было можно всегда достучаться.

Динамические IP - это то, что с вероятностью в 90% выдает вам ваш провайдер интернета

Каждый раз, когда вы перезагружаете роутер, вы получаете новый адрес IPv4.

Самый хреновый провайдер

Тот, что выдает вам серый динамический IP.

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

Что такое IPv6

По хорошему, нам на него плевать :)

Но все же темы с ним будут, идейки есть.

Когда до всех наконец-то дошло, что IPv4 не то, чего хватить на долго. То изобрели IPv6, где адреса имеют страшный вид, например 2001:0db8:85a3:0000:0000:8a2e:0370:7334

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

Переход на IPv6 идет уже кучу времени, но прогреса не видно. Его поддерживают далеко не все.

И на каком-нибудь хабре вы бы читали об этой проблеме рассуждения типа “дорого, оборудование, сложно” и т.п.

Но я открою вам тайну. От IPv6 сейчас нет спасения. Я могу генерировать сотни адресов и стучаться с них на ваш сайт и как вы поймете бот я или просто куча людей из этой подсети? Т.е. мне не надо покупать ваши HQ мега убер прокси, я просто беру и генерирую адреса.

По этому все крупные фирмы не резолвятся с IPv6. Но это все мои догадки, может быть все не так