Перейти к основному содержимому

Carrier-Grade NAT (CGNAT)

Carrier-grade NAT (CGNAT) — крупномасштабная архитектура трансляции сетевых адресов, развёртываемая интернет-провайдерами и мобильными операторами для совместного использования ограниченного пула публичных IPv4-адресов тысячами абонентов одновременно. Напрямую влияет на точность дедупликации голосов по IP в онлайн-конкурсах.

Определение

Carrier-grade NAT — также называемый large-scale NAT (LSN) или NAT444 — это архитектура совместного использования IP-адресов, описанная в RFC 6598 IETF (опубликована в апреле 2012 года). Она позволяет интернет-провайдеру или мобильному оператору обслуживать большое количество абонентов с гораздо меньшим пулом публичных IPv4-адресов, чем потребовалось бы для назначения каждому абоненту собственного выделенного адреса. Слово «carrier-grade» отделяет этот масштаб от домашнего NAT в роутере: CGNAT работает на инфраструктуре оператора и может транслировать трафик десятков тысяч одновременных абонентов через один публичный IP.

CGNAT появился в ответ на исчерпание адресного пространства IPv4. IANA в феврале 2011 года распределила последние блоки IPv4 региональным интернет-регистраторам. Мобильные операторы со стремительно растущей абонентской базой стояли перед выбором: разворачивать IPv6, окончательно решающий проблему исчерпания, или внедрять CGNAT, чтобы продлить жизнь IPv4-инфраструктуры. Большинство развернули и то, и другое.

Как работает CGNAT

В развёртывании CGNAT устройство абонента получает приватный IP — либо из общего адресного пространства RFC 6598 (блок 100.64.0.0/10, специально зарезервированный для CGNAT), либо из обычных приватных диапазонов RFC 1918 (10.0.0.0/8, 172.16.0.0/12 или 192.168.0.0/16). Это адрес абонента внутри сети оператора.

Когда абонент инициирует исходящее интернет-соединение, трафик проходит через оборудование CGNAT — обычно крупные маршрутизаторные платформы Cisco, Juniper или A10 Networks. Устройство CGNAT транслирует приватный исходный адрес в один из публичных IPv4-адресов оператора и назначает динамический исходный порт, чтобы отличать соединение этого абонента от других одновременных соединений, использующих тот же публичный IP. Метод называется port address translation (PAT) или network address port translation (NAPT).

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

По завершении сессии CGNAT возвращает порт в пул и может переназначить ту же пару «публичный IP + порт» другому абоненту в течение минут. Такое повторное использование адресов означает, что два совершенно разных абонента могут выглядеть как пришедшие с одного IP в разное время в течение одного дня — или даже часа.

RFC 6264 описывает последствия крупномасштабных переходных подходов IPv4-к-IPv6, одной из составляющих которых является CGNAT. IETF также опубликовал серию руководств по эксплуатации CGNAT для провайдеров.

Где вы это встречаете

CGNAT повсеместен в мобильных сетях. Почти все крупные операторы — МТС, МегаФон, Билайн, Tele2, Yota, T-Mobile, AT&T, Vodafone, Orange, Jio — используют CGNAT для IPv4-абонентов. Фиксированные провайдеры в регионах с острым дефицитом IPv4 — части Азиатско-Тихоокеанского региона, Африки к югу от Сахары — также применяют CGNAT в широкополосном доступе.

В онлайн-конкурсах CGNAT создаёт фундаментальное противоречие с дедупликацией голосов по IP. Простодушная политика «один голос на IP» в конкурсе, основная аудитория которого — мобильные пользователи, ошибочно помешает голосовать многим легитимным избирателям, оказавшимся за общим CGNAT-выходным адресом. И наоборот, злоумышленник в CGNAT-сети теоретически может отправить голоса с множества приватных IP, выходящих под одной и той же публичной IP, и платформа не сможет отличить их от одного голосующего.

Практические примеры

Благотворительный конкурс с целевой аудиторией в Индии — где Jio Platforms обслуживает сотни миллионов абонентов — фиксирует, что некоторые IP появляются на тысячах отправок голосов в окне конкурса. Техническое расследование показывает, что это CGNAT-выходные адреса 4G-сети Jio. Антифрод-команда устанавливает: данные cookie и сессий показывают разные экземпляры браузеров за каждой отправкой, что согласуется с настоящим участием множества абонентов. Сигнал кластеризации по IP, который обычно указывает на мошенничество, корректно отнесён к CGNAT, а не к манипуляции голосами.

Платформа в России получает жалобу от участника, утверждающего, что система блокирует легитимные голоса его сторонников. Проверка показывает, что эти сторонники — все на CGNAT-сети одного мобильного оператора, и rate limiter платформы применил лимит на IP, затрагивающий всех абонентов за общим выходным IP. Платформа меняет логику и переключается на cookie-дедупликацию как основной контроль для сессий, у которых геолокация IP указывает на сеть мобильного оператора.

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

Связанные понятия

IP мобильного оператора описывает абонентские характеристики IP-адресов мобильных сетей, базовым механизмом совместного использования которых и является CGNAT. Резидентный IP объединяет фиксированные и мобильные адреса в противопоставление IP датацентров, но именно CGNAT — отличительная черта мобильного подмножества. Rate limiting — конкурсный контроль, на который CGNAT влияет наиболее непосредственно: лимиты «на IP» должны учитывать среды совместного использования адресов, чтобы не блокировать легитимных голосующих.

Ограничения / Оговорки

Массовое распространение CGNAT означает, что одни лишь IP-адреса — ненадёжная база для дедупликации голосов в любом конкурсе с заметной мобильной аудиторией. Внедрение IPv6 частично решает проблему — IPv6 обычно назначает каждому устройству уникальный глобальный адрес — но IPv4 CGNAT останется значимым фактором конкурсного трафика, пока IPv4 преобладает в потребительском интернете. Проектировщикам платформ следует считать IP лишь одним из нескольких сигналов дедупликации, а не итоговым идентификатором голосующего.

Из блога — гайды и кейсы

Практические гайды, технические глубокие-дайвы, анонимизированные кейсы.60+ статей. Подборка обновляется.

Victor Williams — founder of Buyvotescontest.com
Victor Williams
Онлайн · обычно отвечаем за 5 мин

Привет 👋 — киньте URL конкурса, в течение часа пришлю расценку. Карта пока не нужна.