ВЕРНУТЬСЯ

БАЗА ЗНАНИЙ

IP-адрес: что это такое, какие бывают и зачем сайту свой

IP-адрес — что это простыми словами: как устроен, чем IPv4 отличается от IPv6, что такое белый и серый адрес, зачем сайту выделенный IP и как узнать свой.

IP-адрес: что это такое, какие бывают и зачем сайту свой

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

Что такое IP-адрес простыми словами

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

Устроено это как почта: чтобы письмо дошло, нужен адрес получателя, а чтобы пришёл ответ — адрес отправителя. Разница в том, что почтовый адрес закреплён за квартирой на годы, а IP-адрес у домашнего компьютера меняется едва ли не каждую неделю.

Выглядит обычный адрес так: 203.0.113.17. Четыре числа через точку, каждое от 0 до 255. Такая запись называется IPv4, и с ней сталкиваются чаще всего.

Как устроен адрес: октеты и маска подсети

Четыре числа в адресе называют октетами: каждое занимает восемь бит, а весь адрес — 32 бита. Предел отсюда и берётся: разных комбинаций чуть больше четырёх миллиардов.

Схема структуры IP-адреса: четыре октета от 0 до 255, первые три задают сеть, последний — номер устройства
Часть адреса указывает на сеть, часть — на устройство в ней

Адрес делится на две части: номер сети и номер устройства внутри неё. Где проходит граница, определяет маска подсети. Запись 255.255.255.0, она же /24, означает, что первые три октета — это сеть, а последний отведён устройствам. В такой сети помещается 254 адреса: два зарезервированы под саму сеть и широковещательный адрес.

Маска нужна устройству, чтобы понять простую вещь: сосед по сети находится рядом, и к нему можно обратиться напрямую, а всё остальное нужно отдавать роутеру.

Как работает маршрутизация

Пакет с данными идёт от устройства к серверу не по заранее проложенной трассе. Каждый узел смотрит на адрес получателя и передаёт пакет дальше тому, кто ближе к цели.

Схема пути пакета: устройство, роутер, провайдер, сервер
Путь пакета от домашнего устройства до сервера сайта

Домашний роутер отдаёт пакет провайдеру, тот — магистральному оператору, дальше пакет попадает в сеть дата-центра и доходит до сервера. Обратно ответ идёт тем же порядком, но маршрут может отличаться: сеть выбирает путь заново для каждого пакета.

Любое устройство с адресом в сети называют хостом, а узлы, которые передают чужие пакеты дальше, — маршрутизаторами. Домашний роутер совмещает обе роли: он и хост со своим адресом, и маршрутизатор для устройств квартиры.

Посмотреть маршрут можно командой tracert example.com в Windows или traceroute example.com в Linux и macOS. Она показывает цепочку узлов и время до каждого: обычно между домашним компьютером и сервером в той же стране набирается от восьми до пятнадцати переходов.

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

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

IPv4 и IPv6

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

Сравнение IPv4 и IPv6: 32 бита против 128, четыре числа против шестнадцатеричной записи
Две версии протокола работают параллельно
Параметр IPv4 IPv6
Длина 32 бита 128 бит
Запись 203.0.113.17 2001:0db8:85a3::8a2e:0370:7334
Сколько адресов около 4,3 млрд 340 ундециллионов, хватит с запасом
Свободные адреса закончились в 2011 году выдаются свободно
Где встречается везде у мобильных операторов и крупных провайдеров

Полного перехода на IPv6 не случилось: версии работают параллельно, и большинство сайтов доступно по обеим. Для сайта это значит, что вместе с A-записью заводят AAAA-запись, если провайдер выдаёт адрес IPv6.

Публичные и частные адреса, NAT

Загляните в настройки домашнего ноутбука — скорее всего, там будет адрес вида 192.168.1.5. Такие адреса называются частными, они работают только внутри локальной сети и в интернете не маршрутизируются.

Схема NAT: ноутбук, телефон и телевизор с адресами 192.168.1.x выходят в интернет через роутер с одним внешним адресом
Все устройства квартиры выходят в сеть под одним адресом

Наружу все устройства квартиры выходят через роутер, и у него один внешний адрес. Подмена внутреннего адреса на внешний называется NAT. Роутер запоминает, какое устройство отправило запрос, и возвращает ответ именно ему.

Чтобы различать устройства, роутер запоминает не только адрес, но и номер порта: каждому исходящему соединению он выдаёт свой номер и по нему раскладывает ответы. Поэтому десяток устройств спокойно работает через один внешний адрес.

Под частные сети зарезервированы три диапазона: 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16. Их можно использовать в любой локальной сети, и они не пересекутся с публичными адресами в интернете.

Белый и серый IP

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

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

Для просмотра сайтов разницы нет. Она появляется, когда к вашему устройству нужно подключиться снаружи: домашний сервер, камера наблюдения, удалённый рабочий стол. С серым адресом такое соединение не доходит, потому что NAT провайдера не знает, кому из абонентов его передать.

На белом адресе входящее соединение доводят до нужного устройства пробросом портов: в настройках роутера указывают, что запросы на определённый порт нужно передавать, например, на домашний компьютер. С серым адресом проброс бесполезен — настройки оператора вам недоступны.

Серые адреса появились как ответ на нехватку IPv4: один белый адрес оператор делит между десятками абонентов. У домашнего провайдера белый адрес обычно идёт за отдельную плату. Серверам он нужен по определению: без него сайт никто не откроет.

Статический и динамический

Второе деление — меняется адрес со временем или нет.

Параметр Динамический Статический
Откуда берётся выдаётся из пула при подключении закреплён за абонентом или сервером
Когда меняется при переподключении, перезагрузке роутера не меняется
Где обычно домашний интернет, мобильная сеть серверы, офисные подключения
Подходит для сайта нет да

Сайту нужен статический адрес: доменное имя указывает на конкретный адрес, и если он сменится, посетители попадут в пустоту. Поэтому у серверов адрес закреплён, а меняется он только при переезде на другую площадку.

Зачем IP-адрес сайту

Браузер не умеет открывать сайты по имени: он сначала узнаёт адрес сервера, а потом обращается к нему. Связку «домен — адрес» хранит DNS, и отвечает за неё A-запись.

Схема: домен example.com через A-запись в DNS указывает на адрес сервера 203.0.113.17
A-запись связывает доменное имя с адресом сервера

Если домен уже куплен, а сайт лежит на новом сервере, достаточно поменять в A-записи адрес. Для IPv6 то же самое делает AAAA-запись.

Этим объясняется история, которая пугает при переезде: домен уже указывает на новый сервер, а часть посетителей ещё несколько часов видит старый сайт. Дело в TTL — времени, которое ответ DNS хранится в кеше у провайдеров и браузеров. Пока кеш не обновился, запросы идут по старому адресу. Поэтому за сутки до переезда TTL снижают, а старый сервер держат включённым ещё день.

Когда нужен выделенный IP

Выделенный адрес — это адрес, который принадлежит только вашему серверу или сайту. На VPS он есть всегда: у ZION к каждому виртуальному серверу по умолчанию идёт один выделенный IPv4. На виртуальном хостинге сайты обычно делят общий адрес.

Таблица: выделенный IP нужен для почтовых рассылок, доступа по адресу и белых списков, не нужен для SSL, обычного сайта и SEO
Где выделенный адрес действительно решает, а где нет

Он нужен, если вы рассылаете почту со своего сервера: репутация отправителя считается по адресу, и делить его с незнакомыми соседями рискованно. Нужен, когда к сервису обращаются по адресу, а не по домену, или когда партнёр добавляет вас в белый список по адресу.

А вот распространённые поводы, которые давно не работают. Для SSL-сертификата отдельный адрес не нужен уже лет пятнадцать: технология SNI позволяет держать на одном адресе сотни сайтов с разными сертификатами. На позиции в поиске выделенный адрес тоже не влияет — ни Яндекс, ни Google его не учитывают.

Остаётся один честный довод против общего адреса: если сосед по хостингу рассылает спам, почтовые службы могут испортить репутацию всему адресу. Это редкость, но на хостинге такое от вас не зависит.

СЕРВЕР ПОД ВАШИ ЗАДАЧИ БЫСТРО И БЕЗ ЛИШНИХ СЛОЖНОСТЕЙ

Подберите конфигурацию, оплатите и начните работу за несколько минут — без сложной настройки

Что видно в логах сервера

Каждый запрос к сайту попадает в журнал веб-сервера — файл access.log, — и первое поле в строке это адрес посетителя.

Фрагмент access.log: адреса посетителей в первом поле, за CDN настоящий адрес приходит в заголовке X-Forwarded-For
За CDN в первом поле стоит адрес посредника, а не посетителя

По этим адресам видно географию аудитории, повторные заходы и всплески нагрузки: когда с десятка адресов приходит по двадцать тысяч запросов, это уже не посетители, а атака.

Если сайт работает за CDN или за внешним балансировщиком, в первом поле окажется адрес этого посредника — одинаковый для всех. Настоящий адрес посетителя приходит в заголовке X-Forwarded-For, и его нужно отдельно добавить в формат логов, иначе разбирать нагрузку будет не по чему. Как это настраивается, разобрано в статье про Nginx.

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

У устройства два адреса сразу: локальный внутри домашней сети и внешний, под которым его видит интернет. Путают их постоянно.

Терминал: команда curl ifconfig.me показывает внешний адрес, ip addr — локальный, dig — адрес сайта
Внешний адрес, локальный адрес и адрес сайта

Внешний адрес проще всего посмотреть на любом сайте-определителе: он показывает то, что видит сервер на другом конце. Локальный виден в настройках сети: в Windows это ipconfig, в Linux и macOS — ip addr или ifconfig.

Команда ipconfig в Windows выводит адрес, маску и шлюз для каждого сетевого адаптера. Если вместо привычного 192.168.x.x вы видите адрес из диапазона 169.254.x.x, устройство не получило настройки от роутера и назначило адрес само — связи в этом случае не будет.

Адрес чужого сайта узнают командой dig +short example.com или nslookup example.com — они спрашивают DNS и возвращают то, что записано в A-записи.

Что можно узнать по IP и чего нельзя

Страшилок вокруг этого много, поэтому по пунктам.

Сравнение: по IP видно страну, город, провайдера и тип сети; не видно имя, точный адрес, телефон и содержимое трафика
Что реально определяется по адресу, а что нет

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

Чего по адресу не узнать: имени, точного адреса проживания, телефона, почты. Эти сведения есть только у провайдера, и выдаёт он их по официальному запросу, а не желающим. Содержимое трафика по адресу тоже не видно: за это отвечает шифрование, а не адрес.

Особые адреса

Несколько адресов зарезервированы и означают всегда одно и то же.

Адрес Что означает Где встречается
127.0.0.1 localhost, само устройство проверка, работает ли сервис локально
0.0.0.0 все адреса этого устройства веб-сервер слушает на всех интерфейсах
255.255.255.255 широковещательный адрес пакет уходит всем устройствам сети
169.254.0.0/16 адрес, назначенный устройством себе роутер не ответил, настройки не получены
192.168.0.0/16 частная сеть домашние и офисные устройства

Строка 127.0.0.1 пригодится чаще остальных: если сервис отвечает по ней, но недоступен снаружи, проблема не в программе, а в сети — файрвол, порт или настройки прослушивания.

В старых учебниках адреса делят на классы A, B и C. Подход устарел ещё в девяностые: сейчас используется бесклассовая адресация, где границу сети задаёт маска, а не первый октет. Встретите классы в задачнике — знайте, что на практике их не применяют.

Частые вопросы

Нет. По адресу определяются страна, город и провайдер. Имя, точный адрес и телефон есть только у провайдера, и он передаёт их по официальному запросу.
Домашний интернет обычно выдаёт динамический адрес из общего пула: он меняется при переподключении или перезагрузке роутера. Чтобы адрес был постоянным, его заказывают у провайдера отдельно.
Для почтовых рассылок со своего сервера, доступа к сервису по адресу и попадания в белые списки партнёров. У ZION к каждому VPS по умолчанию идёт один выделенный IPv4.
Нет. Благодаря SNI на одном адресе работают сотни сайтов с собственными сертификатами. Это требование осталось в прошлом.
Локальный адрес действует внутри вашей сети, обычно это 192.168.x.x. Внешний выдаёт провайдер, и именно его видят сайты.
Адрес самого устройства, localhost. Обращение по нему не покидает компьютер и используется для проверки локальных сервисов.
Технически сотни: веб-сервер различает их по доменному имени в запросе. Именно так устроен виртуальный хостинг.
Сам по себе адрес даёт мало: страна, город, провайдер. Проблема возникает, когда на устройстве открыты уязвимые сервисы, а не из-за того, что адрес известен.
Из-за нехватки адресов IPv4: один белый адрес делится между абонентами через NAT. Для просмотра сайтов это не мешает, а вот подключиться к домашнему устройству снаружи не выйдет.
Командой dig +short example.com или nslookup example.com — они возвращают адрес из A-записи домена.