Что такое IP‑адрес

Рассказываем, почему IP‑адреса в России и Европе уже закончились и почему «вычислить по айпи» вас никто никогда не сможет

Адреса нужны, чтобы устройства в сети могли обмениваться данными. Это как название улицы, номер дома, квартиры и подъезда. В компьютерных сетях, построенных на основе протоколов TCP/IP, такой адрес называется IP‑адресом. В любой сети у каждого устройства IP‑адрес уникальный. Он может выглядеть так:

— 192.168.0.3 — в локальной сети;
— 37.188.18.75 — в интернете.

Что такое версии IPv4 и IPv6

Примеры, приведённые выше, — адреса IPv4, четвёртой версии. Это числа, которые разделены точками. Каждое из них — это восьмизначное двоичное число, которое составляет 1 байт. Его называют октетом. Оно может принимать значения от 00000000 до 11111111, или от 0 до 255 в десятичной системе счисления, — то есть всего 256 вариантов. Получается, адрес может изменяться от 0.0.0.0 до 255.255.255.255, а всего в IPv4 4,3 млрд адресов.

grafika1

Если присваивать каждому устройству уникальный адрес, их уже не хватит. А ведь адреса есть не только у компьютеров и смартфонов, но и, например, у всех «умных» холодильников. Поэтому придумали шестую версию IP‑адресов.

Адрес IPv6 состоит из восьми четырёхзначных шестнадцатеричных чисел, разделённых двоеточиями, например:

2001:0db8:85a3:0012:0c00:8a2e:03a0:7334

Адресов в этой версии доступно 2¹²⁸, это примерно по 300 млн на каждого жителя планеты. Такого количества пока должно хватить (но это не точно).

В IPv6 можно пропускать ведущие нули. А также нулевые группы, идущие подряд, — вместо них ставят двойное двоеточие. То есть адрес 2a02:06b8:b080:8802:0000:0000:0001:000f можно записать как 2a02:6b8:b080:8802::1:f.

Адреса IPv6 используют не так часто, как IPv4, хотя переход на них идёт. Поэтому дальше мы расскажем именно о четвёртой версии. В ней есть способы расширить количество IP‑адресов.

А где первые три версии IP? И куда делась пятая?

Первые три были постепенным совершенствованием представлений о том, каким должен быть интернет. Сейчас их не используют. Пятую версию придумали для передачи потокового аудио. Сейчас наработки по IPv5 используют в VoIP — голосовой связи через интернет. Существуют и более поздние версии IP, но в современных локальных сетях и интернете распространены только IPv4 и IPv6.

Какие данные содержит IP‑адрес

IP‑адрес состоит из двух частей: номера сети и узла (хоста). Например, в адресе 192.168.0.3 первые три числа — номер сети, последнее — номер узла или устройства, подключённого к сети. Все устройства с одинаковым номером сети могут связываться друг с другом. Если номер сети разный, то для связи нужен роутер, или маршрутизатор.

Как определить, какая часть IP‑адреса относится к номеру сети, а какая — к номеру узла? Раньше это делали по классу адреса, а сейчас — по маске подсети. Хотя классы адресов сейчас не используются, полезно знать, что они собой представляют.

Всего есть пять классов:

1. Класс А: 0.XXX.XXX.XXX — 127.XXX.XXX.XXX, на номер сети указывает только первое число. В этом классе 128 сетей по 16 777 216 адресов в каждой. Это большие сети.

2. Класс В: 128.0.XXX.XXX — 191.255.XXX.XXX. На номер сети указывают два первых числа. Класс содержит 16 384 подсети по 65 536 адресов в каждой. Это средние сети.

3. Класс С: 192.0.0.XXX — 223.255.255.XXX. На номер сети указывают три первых числа, последнее — номер узла. Это класс малых сетей, он содержит 2 097 152 сети по 256 адресов в каждой.

4. Класс D: 224.XXX.XXX.XXX — 239.XXX.XXX.XXX. Здесь на номер сети указывает первое число, остальные — номер узла. Класс используется для многоадресной рассылки.

5. Класс Е: 240.XXX.XXX.XXX — 255.XXX.XXX.XXX. Это экспериментальные адреса, они зарезервированы для использования в будущем.

Классовая система с ростом интернета оказалась неэффективной. Её дополнили бесклассовой адресацией (CIDR). Так появилась дополнительная метрика — маска подсети.

Что такое маска подсети

Эта маска определяет, какая часть IP‑адреса указывает на номер сети, а какая — на номер узла. Внешне она похожа на IP‑адрес — четыре числа, разделённые точками, например:

255.255.255.0

Но есть различие. Если в IP‑адресах двоичное число может быть любым, например 10110010, то у маски подсети нельзя чередовать нули и единицы. Сначала идут единицы, которые указывают на номер сети, а потом — нули, которые указывают на номер хоста, например:

11111111.00000000.00000000.00000000

В десятичной системе эта маска выглядит так:

255.0.0.0

В локальных сетях класса C, самых распространённых, маска подсети обычно имеет значение 255.255.255.0. Это означает, что хост указан только в последнем октете IP‑адреса, а всего в сеть можно подключить 254 устройства (адрес 0 принадлежит самой сети, а 255 — широковещательный адрес).

grafika2

Если маска подсети имеет значение 255.255.255.128, или 11111111.11111111.11111111.11000000, это означает, что IP‑адрес хоста может меняться от 255.255.255.129 до 255.255.255.255, то есть устройств в сети может быть 124.

Маску обозначают с помощью префикса — он указывает на количество единиц в ней, начиная слева. Например, стандартную маску класса С (255.255.255.0) можно обозначить как /24. То есть в двоичной системе слева будет 24 единицы, а только потом нули, которые указывают на номер хоста.

Обозначение в виде префикса удобно при построении сети. Можем обозначить IP‑адрес узла как 192.168.1.14/24, и это будет означать, что узел находится в сети 192.168.1, а номер хоста — 14.

Что такое публичные и частные IP‑адреса

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

Публичные адреса назначаются, например, веб-серверам, чтобы из любой точки мира по конкретному адресу выйти на любой ресурс. Нельзя самостоятельно назначить себе публичный адрес: их выдача контролируется. Для получения нужно обратиться к интернет-провайдеру, и тот выдаст адрес от локального интернет-регистратора (LIR — Local Internet Registry). Тот обращается к региональному регистратору (RIR), который выдаёт адреса сразу нескольким странам. А он получает свой диапазон адресов от международной некоммерческой организации IANA (Internet Assigned Numbers Authority). Контролирует действие этой организации компания ICANN (Internet Corporation for Assigned Names and Numbers).

Все публичные адреса распределены между региональными интернет-регистраторами. Их всего пять: RIPE — для Европы и Ближнего Востока, ARIN — для Северной Америки, APNIC — для Азии и стран Тихого океана, LANIC — для Латинской Америки, AfriNIC — для Африки.

Для частных сетей выделены диапазоны:

  • 10.0.0.0/8 — от 10.0.0.0 до 10.255.255.255;

  • 172.16.0.0/12 — от 172.16.0.0 до 172.31.255.255;

  • 192.168.0.0/16 — от 192.168.0.0 до 192.168.255.255.

Как работает Network Address Translation

Мы упоминали, что количество IP‑адресов в версии IPv4 — 4,3 млрд. Поэтому у интернет-провайдера нет достаточного количества публичных адресов, чтобы назначить их каждому устройству при выходе в интернет.

Кстати, ещё в 2019 году в России и Европе закончились IP‑адреса протокола IPv4. Но множество сетей продолжают им пользоваться. Прямой обмен данными между устройствами IPv4 и IPv6 невозможен, так что нельзя просто выдавать новым устройствам адреса IPv6. Как же быть с уникальностью адреса каждого устройства?

На помощь приходит технология NAT (Network Address Translation) — механизм, позволяющий изменять IP‑адрес в заголовке пакета, проходящего через маршрутизатор.

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

Схема работы технологии NAT

Технология NAT повышает конфиденциальность сети: внутренние адреса конечных устройств не видны из интернета. Поэтому знаменитый мем «вычислю тебя по айпи» — пустая угроза: для точного определения конечного устройства нужно взломать сеть провайдера.

Как IP‑адрес связан с DNS

При переходе на сайт, например, Академии Яндекса мы вводим в адресной строке браузера URL-адрес ресурса, а не его IP‑адрес. Как интернет-провайдер понимает, на какой ресурс отправлять запрос? В этом помогает технология DNS, Domain Name System, — система доменных имён.

Схема работы DNS такая:

  1. Браузер отправляет запрос с URL-адресом на DNS-сервер.

  2. Сервер проверяет, зарегистрировано ли имя адреса в базе данных.

  3. Если имя зарегистрировано, DNS-сервер отправляет браузеру IP-адрес сайта.

  4. Запрос с IP-адресом отправляется интернет-провайдеру для получения данных.

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

На одном IP-адресе могут жить сотни сайтов, поэтому подключиться только по IP к нужному ресурсу, скорее всего, не получится: нужно доменное имя.

Как узнать свой IP‑адрес

IP-адрес в локальной сети можно узнать с помощью специальной команды в консоли. В Windows нужно запустить приложение PowerShell и ввести команду ipconfig. В MacOS и Linux команда другая — ifconfig.

IP-адрес, с которым ваше устройство выходит в интернет, можно посмотреть на Яндекс Интернетометре.

foto1

Краткий пересказ от Yandex GPT