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

IP-адрес — что это такое: номер устройства в сети, по которому данные находят дорогу от отправителя к получателю. Он есть у телефона, ноутбука, роутера и у сервера, на котором лежит сайт.
Что такое IP-адрес простыми словами
IP-адрес — это числовой адрес устройства в сети, который нужен, чтобы данные дошли по назначению. Когда вы открываете сайт, браузер отправляет запрос на адрес сервера, а в самом запросе указывает обратный адрес — иначе ответ некуда вернуть.
Устроено это как почта: чтобы письмо дошло, нужен адрес получателя, а чтобы пришёл ответ — адрес отправителя. Разница в том, что почтовый адрес закреплён за квартирой на годы, а IP-адрес у домашнего компьютера меняется едва ли не каждую неделю.
Выглядит обычный адрес так: 203.0.113.17. Четыре числа через точку, каждое от 0 до 255. Такая запись называется IPv4, и с ней сталкиваются чаще всего.
Как устроен адрес: октеты и маска подсети
Четыре числа в адресе называют октетами: каждое занимает восемь бит, а весь адрес — 32 бита. Предел отсюда и берётся: разных комбинаций чуть больше четырёх миллиардов.

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

Домашний роутер отдаёт пакет провайдеру, тот — магистральному оператору, дальше пакет попадает в сеть дата-центра и доходит до сервера. Обратно ответ идёт тем же порядком, но маршрут может отличаться: сеть выбирает путь заново для каждого пакета.
Любое устройство с адресом в сети называют хостом, а узлы, которые передают чужие пакеты дальше, — маршрутизаторами. Домашний роутер совмещает обе роли: он и хост со своим адресом, и маршрутизатор для устройств квартиры.
Посмотреть маршрут можно командой tracert example.com в Windows или traceroute example.com в Linux и macOS. Она показывает цепочку узлов и время до каждого: обычно между домашним компьютером и сервером в той же стране набирается от восьми до пятнадцати переходов.
Адрес в пределах интернета уникальный: двух устройств с одним публичным адресом быть не может, иначе сеть не поняла бы, кому возвращать ответ.
Для владельца сайта из этого следует практичный вывод: чем меньше узлов между посетителем и сервером, тем быстрее отклик. Поэтому сервер выбирают ближе к аудитории, а не наугад.
IPv4 и IPv6
Четырёх миллиардов адресов казалось много в восьмидесятые, когда к сети подключались университеты. Свободные блоки IPv4 закончились в 2011 году, и сейчас адреса перераспределяют между операторами.

| Параметр | 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. Роутер запоминает, какое устройство отправило запрос, и возвращает ответ именно ему.
Чтобы различать устройства, роутер запоминает не только адрес, но и номер порта: каждому исходящему соединению он выдаёт свой номер и по нему раскладывает ответы. Поэтому десяток устройств спокойно работает через один внешний адрес.
Под частные сети зарезервированы три диапазона: 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16. Их можно использовать в любой локальной сети, и они не пересекутся с публичными адресами в интернете.
Белый и серый IP
Провайдеры называют белым адрес, который выдан вам одному, а серым — тот, что вы делите с другими абонентами через NAT оператора.

Для просмотра сайтов разницы нет. Она появляется, когда к вашему устройству нужно подключиться снаружи: домашний сервер, камера наблюдения, удалённый рабочий стол. С серым адресом такое соединение не доходит, потому что NAT провайдера не знает, кому из абонентов его передать.
На белом адресе входящее соединение доводят до нужного устройства пробросом портов: в настройках роутера указывают, что запросы на определённый порт нужно передавать, например, на домашний компьютер. С серым адресом проброс бесполезен — настройки оператора вам недоступны.
Серые адреса появились как ответ на нехватку IPv4: один белый адрес оператор делит между десятками абонентов. У домашнего провайдера белый адрес обычно идёт за отдельную плату. Серверам он нужен по определению: без него сайт никто не откроет.
Статический и динамический
Второе деление — меняется адрес со временем или нет.
| Параметр | Динамический | Статический |
|---|---|---|
| Откуда берётся | выдаётся из пула при подключении | закреплён за абонентом или сервером |
| Когда меняется | при переподключении, перезагрузке роутера | не меняется |
| Где обычно | домашний интернет, мобильная сеть | серверы, офисные подключения |
| Подходит для сайта | нет | да |
Сайту нужен статический адрес: доменное имя указывает на конкретный адрес, и если он сменится, посетители попадут в пустоту. Поэтому у серверов адрес закреплён, а меняется он только при переезде на другую площадку.
Зачем IP-адрес сайту
Браузер не умеет открывать сайты по имени: он сначала узнаёт адрес сервера, а потом обращается к нему. Связку «домен — адрес» хранит DNS, и отвечает за неё A-запись.

Если домен уже куплен, а сайт лежит на новом сервере, достаточно поменять в A-записи адрес. Для IPv6 то же самое делает AAAA-запись.
Этим объясняется история, которая пугает при переезде: домен уже указывает на новый сервер, а часть посетителей ещё несколько часов видит старый сайт. Дело в TTL — времени, которое ответ DNS хранится в кеше у провайдеров и браузеров. Пока кеш не обновился, запросы идут по старому адресу. Поэтому за сутки до переезда TTL снижают, а старый сервер держат включённым ещё день.
Когда нужен выделенный IP
Выделенный адрес — это адрес, который принадлежит только вашему серверу или сайту. На VPS он есть всегда: у ZION к каждому виртуальному серверу по умолчанию идёт один выделенный IPv4. На виртуальном хостинге сайты обычно делят общий адрес.

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

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

Внешний адрес проще всего посмотреть на любом сайте-определителе: он показывает то, что видит сервер на другом конце. Локальный виден в настройках сети: в 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 и чего нельзя
Страшилок вокруг этого много, поэтому по пунктам.

По адресу определяется страна, город и провайдер — эти данные есть в открытых базах, их и используют сайты, чтобы показать цены в рублях или подставить ваш город в форму доставки. Точность по городу обычно неплохая, по району — как повезёт, а у мобильного интернета адрес вообще может указывать на другой конец страны.
Чего по адресу не узнать: имени, точного адреса проживания, телефона, почты. Эти сведения есть только у провайдера, и выдаёт он их по официальному запросу, а не желающим. Содержимое трафика по адресу тоже не видно: за это отвечает шифрование, а не адрес.
Особые адреса
Несколько адресов зарезервированы и означают всегда одно и то же.
| Адрес | Что означает | Где встречается |
|---|---|---|
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. Подход устарел ещё в девяностые: сейчас используется бесклассовая адресация, где границу сети задаёт маска, а не первый октет. Встретите классы в задачнике — знайте, что на практике их не применяют.
Частые вопросы
192.168.x.x. Внешний выдаёт провайдер, и именно его видят сайты.dig +short example.com или nslookup example.com — они возвращают адрес из A-записи домена.

