Немного о сетке (IPv4/IPv6, NAT)
Я постараюсь простым языком объяснить базовые вещи в постороение сетей.
Общее
Компьютеры по всему миру соеденены между собой проводами. Для того, чтобы общаться между собой, был придумал спициальный протокол - IP. Расшифровывается очень просто - интернет протокол.
Так вот, чтобы понимать к каком компьютеру обращаться у каждого компьютера есть IP Address. То есть адрес в сети интернет. Вы могли видеть уже такие цифры раньше, вроде 192.168.1.254 или чего-то подобного.
Основная и самая широко используемая реализация протокола IP это IPv4. Это как раз адреса из цифр с точками. Но этому протоколу скоро стукнет 50 лет и как вы понимаете, 50 лет назад продумать все нюансы было невозможно.
Мы уже давно приблежаемся к моменту, когда IPv4 адресов перестанет хватать. И, чтобы эта проблема была не настолько больнючей, было придумано простое решение - NAT.
Из-за такого явления, как NAT (не только конечно), эта статья станет чуть длинее.
Что такое NAT и почему важно это понимать
Это простая, как пробка вещь на самом деле.
У нас стали заканчивать адреса ipv4, мы прикрутили NAT и стали выдавать меньше адресов.
NAT позволяет преобразовывать адреса, схема примерно такая:
Слева у нас клиенты (ваш мобильник, ноут, микроволновка и сосед укравший ваш пароль от вифи).
Справа у нас сервер, например это 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. Но это все мои догадки, может быть все не так