Дегидрированный учебник - ip, nat, dns и о сетях в целом
IP адреса
Каждое устройство в сети имеет свой адрес, с помощью которого общается со всем остальным интернетом, а интернет общаешься с устройством.
Адрес или ip обычно имеет вид 172.217.3.100 - четыре цифры, разделенные точкой. Каждая и цифр может принимать значения от 0 до 255.
В двоичной системе длина ip4 адреса - 32 бита.
Это классический адрес четвертой версии или ipv4, был разработан еще 1980 и уже тогда стало понятно, что этого недостаточно для интернета.
Поэтому в 1996 разработали адреса шестой версии - ipv6, длина которых уже 128 бит и, вот, их уже много, очень-очень МНОГО.
ipv6 обеспечит возможность использования более 300 млн ip-адресов на каждого жителя Земли. Но за прошедшие 25 лет адресация шестой версии пока не получила широкого распространения. Поэтому вернемся к версии четыре.
NAT
В современном мире, когда не то что гаджетов в доме много, а каждая камера, пылесос, телевизор, холодильник или умная лампочка хотят свой ip-адрес - малая емкость ipv4 как раз и проявилась. Собственно свободные адреса у провайдеров интернета закончились еще несколько лет назад. Один из вариантов сэкономить адреса ipv4 - механизм NAT (трансляция адресов). Когда один адрес превращается в несколько. Пример - домашняя сеть. Провайдер проводит в дом интернет и выдает один адрес. Можно подключить к нему один компьютер и адреса на этом закончатся. А как же телефоны, айпады и лампочки? Выход - поставить роутер. Роутер создаст свою внутреннюю сеть до 254 устройств, а на выходе превратит (транслирует) все в один адрес провайдера, т.е. весь интернет будет «видеть» любое из ваших домашних устройств как один адрес, который выдал провайдер.
При этом внутри дома у каждого устройства свой адрес и устройства прекрасно могут общаться внутри друг с другом. Это и есть трансляция (NAT), когда множество адресов внутренней сети превращается в один адрес внешней. Чтобы не путать внутренние сети и внешние, для внутренних выделили особые диапазоны адресов. В 90% роутеров - это сеть 192.168.0.0-192.168.0.255. Где обычно (но необязательно):
- 192.168.0.0 - адрес для обозначения сети
- 192.168.0.1 - сам роутер (он же gateway/шлюз), он же dns-сервер.
- 192.168.0.2-192.168.0.254 - адреса для устройств
- 192.168.0.255 - адрес для служебных нужд сети
Домашняя сеть может использовать и другие диапазоны адресов:
- 10.0.0.0 — 10.255.255.255
- 172.16.0.0 — 172.31.255.255
- 192.168.0.0 — 192.168.255.255
Цифры, цифры, цифры. Добро пожаловать в цифровой мир.
Когда на смену ipv4 придет ipv6 необходимость экономить адреса отпадет, а следовательно, про NAT можно будет забыть.
DNS
В интернете компьютеры и серверы общаются по ip-адресам, но для человека это неудобно. Как и номера телефонов - мы редко звоним знакомым, набирая сам номер. Обычно, для частых номеров мы присваиваем имя и записываем в телефон. Так и в интернете - вместо цифр адреса придумали имена. Это домены. Yandex.ru, YouTube.com - это все доменные имена, за которыми скрываются ip-адреса. Преобразование имени в цифры адреса называется DNS. В браузере мы набираем адрес в виде имени, например - Yandex.ru. Далее, незаметно для нас, с помощью DNS это имя преобразуется в ip-адрес 5.255.255.5 и дальше компьютер общается с сервером яндекса уже по цифровым адресам.
В интернете есть большие серверы, которые хранят в себе все записи соответствия доменных имен и ip-адресов всего интернета - это DNS-серверы. Адреса некоторых:
- 1.1.1.1 - DNS-сервер Cloudflare
- 8.8.8.8 - DNS-сервер Google
- 9.9.9.9 - DNS-cервер Quad9
- 77.88.8.8 - DNS-cервер Яндекс
Хотя для домашней сети, мы обычно указываем, что для всех устройств роль DNS-сервера выполняет наш роутер, а дальше он сам общается с большими серверами.