Что первично: доменное имя или IP-адрес?
Что проверяют
Понимаете ли вы, как имя превращается в адрес, и не путаете ли, что из этого чем является. Вопрос звучит по-школьному, но инженеру данных его задают не зря: дальше обычно идут вопросы про логи, идентификаторы и то, что по ним можно восстановить.
Как отвечать
Технически первичен адрес: пакеты маршрутизируются по IP, а доменное имя это удобный слой поверх адресации. Имя без адреса не работает, адрес без имени работает.
Связка живёт в DNS. Клиент идёт от имени к адресу: резолвер обходит корневые серверы и зону домена, получает запись A или AAAA, промежуточным звеном может быть CNAME. Ответ кэшируется на время жизни записи, поэтому смена адреса видна не мгновенно. Обратное направление отдельное и необязательное: запись PTR ведёт владелец адреса, и совпадать с прямой она не обязана.
Дальше переводите в плоскость данных, ради которой вопрос и задан:
- соответствие не взаимно однозначное: за одним адресом стоят сотни сайтов, а крупный домен раздаётся десятками адресов балансировщиком и сетью доставки контента;
- адрес в логе не даёт домена: обратное разрешение врёт или отсутствует, сам адрес меняется, живёт за трансляцией и переиспользуется другим абонентом;
- в аналитике адрес даёт лишь приблизительный регион, а в отчётности считается персональными данными и хранится по своим правилам.
Где спотыкаются
Отвечают, что первично имя, ведь его вводит пользователь, и путают удобство с порядком работы. Стоит прямо назвать имя слоем косвенности, придуманным ради людей и ради возможности сменить адрес, не меняя имени.
Второе: считают связь один к одному. Отсюда берутся отчёты, где трафик разных сайтов склеен по общему адресу площадки, и правила доступа, выданные на адрес, который завтра принадлежит другому.
Третье: строят признаки на обратном разрешении и на самом адресе как на стабильном ключе. Модель учится на распределении, которого через месяц нет, и деградирует молча: провайдеры и сети доставки меняют адреса, никого не спрашивая.