Кратко
За каждым IP, доступным из интернета, стоит AS (автономная система), которая «анонсирует» его в BGP, и номер этой AS и есть ASN. Главное: ASN не получают регистрацией где-либо — его анонсирует какая-то AS в глобальной таблице маршрутизации BGP. Поэтому если блок IP никогда не анонсировался ни одной AS (частные сети, внутренние сегменты, только что выделенные и ещё не запущенные адреса или блоки, покрытые лишь более крупным агрегированным анонсом вышестоящего провайдера), у него нет origin ASN в глобальной таблице маршрутизации — базы вроде MaxMind / IPinfo, естественно, тоже его не находят и могут взять из whois только зарегистрированное «название организации». Это не ошибка базы данных — у этого блока IP действительно нет ASN.
1. Как ASN «привязывается» к IP
Многие считают, что ASN — это постоянное свойство, «выданное» IP, как почтовый адрес. На самом деле это динамический факт маршрутизации. Чтобы у блока IP появился ASN, он должен пройти такую цепочку:
- ① Выделение — IANA передаёт крупные блоки адресов пяти RIR (в Азиатско-Тихоокеанском регионе это APNIC), а каждый RIR регистрирует префиксы вроде
/19или/24на организацию. На этом шаге появляется только запись в whois — ASN ещё нет. - ② Анонс — эта организация (или её вышестоящий провайдер) через свою AS «анонсирует» по BGP соседним маршрутизаторам: «трафик на
113.48.0.0/19— через меня». - ③ Появляется origin ASN — номер AS, анонсировавшей префикс, становится origin ASN этого блока. Таблицы маршрутизации (RIB) по всему миру записывают: этот префикс исходит от AS××××.
Так что суть ASN — «кто маршрутизирует этот блок IP», а не «кому этот блок IP принадлежит». Если шага ② не было, шага ③ не существует — блок никогда не будет определяться с ASN.
Коротко: нет маршрута, анонсированного в BGP, — нет ASN. ASN — это факт из таблицы маршрутизации, а не поле в реестре.
2. Почему у некоторых IP нет ASN — четыре типичных случая
| Случай | Описание | Типичный сценарий |
|---|---|---|
| Неанонсированный маршрут | Блок IP выделен, но владелец никогда не анонсирует его в публичную таблицу BGP (используется только внутри сети / по выделенным каналам) | Частные сети госструктур и предприятий, некоторые внутренние сегменты дата-центров, отраслевые выделенные сети |
| Агрегированный анонс | Вышестоящий провайдер анонсирует только более крупный охватывающий блок; у подблока нет собственного независимого origin | Крупный оператор включает /24 в /16 и анонсирует агрегат |
| Только выделен, ещё не запущен | RIR только что передал префикс организации, но его ещё не подключили к BGP | Недавно полученный блок адресов, маршрутизация которого ещё не настроена |
| Зарезервированные / специальные | Адреса, не маршрутизируемые глобально (частные, для документации, CGNAT и т. п.) | 10.0.0.0/8, 100.64.0.0/10, 192.0.2.0/24 |
Эти два случая часто путают, но ведут они себя совсем по-разному: IP, покрытый агрегатом, доступен (у крупного блока есть маршрут) и лишь не имеет собственного origin ASN, а IP, который никогда не анонсировался, из публичного интернета просто недоступен — ping даст 100% потерь пакетов, — хотя whois всё равно показывает зарегистрированную организацию. Общее у них одно: в глобальной таблице BGP у них нет собственного origin.
3. Проверьте сами — убедитесь, что ASN «действительно нет», по авторитетным источникам BGP
Если база геолокации не находит ASN, это ещё не значит, что у IP его действительно нет — возможно, у базы просто неполное покрытие. Чтобы сказать наверняка, нужно спросить саму глобальную таблицу маршрутизации BGP. Вот два авторитетных бесплатных источника, которые можно проверить самостоятельно:
3.1 RIPEstat — читаем глобальную таблицу маршрутизации напрямую
RIPEstat от RIPE NCC собирает данные BGP-коллекторов со всего мира. Чтобы узнать origin ASN для IP:
$ curl -s "https://stat.ripe.net/data/network-info/data.json?resource=113.48.177.6"
{
"data": {
"prefix": "", // ← пусто: ни один префикс его не покрывает
"asns": [] // ← пусто: нет origin ASN
}
}asns: [] — пустой массив. Ни одна AS в мире не анонсирует этот IP в глобальной таблице маршрутизации. Это окончательное доказательство.
3.2 Team Cymru — whois-сервис IP-to-ASN
Team Cymru поддерживает самый распространённый в отрасли сервис сопоставления IP→ASN, тоже основанный на BGP:
$ whois -h whois.cymru.com " -v 113.48.177.6"
AS | IP | BGP Prefix | CC | Registry | Allocated | AS Name
NA | 113.48.177.6 | NA | CN | apnic | 2008-10-16 | NAAS = NA, BGP Prefix = NA. Обратите внимание на правую часть: Registry = apnic, Allocated = 2008-10-16 — этот блок IP был выделен APNIC Китаю ещё в 2008 году (отсюда код страны CN), но он ни разу не попадал в BGP, поэтому AS — NA. «Выделен» и «имеет ASN» — две совершенно разные вещи, и этот пример показывает разницу предельно наглядно.
4. Откуда тогда берётся название вроде «China Great Wall Internet Server Provider»?
Если ASN нет, почему проверка IP всё равно показывает название компании? Потому что название и ASN берутся из двух совершенно разных наборов данных:
- ASN / asn_org — из таблицы маршрутизации BGP (кто маршрутизирует этот блок IP). Нет анонса — нет значения.
- Провайдер / название организации в whois — из реестра inetnum / контактов по злоупотреблениям у RIR (кто зарегистрирован владельцем блока). Даже если блок ни разу не попадал в BGP, регистрационная запись всё равно существует.
Некоторые источники данных возвращают поле isp (например, China Great Wall Internet Server Provider или Beijing Big Data Tech Co.,Ltd.). Это название организации, зарегистрированное в whois, а не поле org у ASN. Поэтому сочетание «название есть, а номера ASN нет» — совершенно нормально.
Название отвечает на вопрос «кто зарегистрировал этот блок IP», а ASN — на вопрос «какая AS его маршрутизирует». Если одно есть, а другого нет, противоречия здесь нет.
5. Как это влияет на IP-аналитику и проверки
Поле ASN в коммерческих базах IP — это по сути снимок таблицы маршрутизации BGP. Когда у IP нет origin ASN:
- Ни одна база, опирающаяся на BGP, не выдаст ASN — это общее слепое пятно на уровне источника данных, а не упущение конкретного поставщика.
- Доступно только название организации, зарегистрированное в whois (если оно есть).
- Классификации на основе ASN (тип оператора, дата-центр ли это, риск-кластеризация) для таких IP теряют точность, и остаётся опираться на другие признаки: название организации, географию, поведение.
Поэтому, когда CleanIP.io проверяет такой IP, вы увидите, что название организации отображается как обычно, а поле ASN остаётся пустым — это точно отражает факт «у этого блока IP действительно нет ASN в глобальной таблице маршрутизации», а не сбой проверки. В такой ситуации ориентируйтесь на название организации, страну принадлежности и сигналы риска — пустой столбец ASN здесь нормален.
Источники
- RFC 4271 — A Border Gateway Protocol 4 (BGP-4)Сам протокол BGP: определения анонса префикса / AS-PATH / origin
- RIPEstat Data API — network-infoОфициальный инструмент RIPE NCC: самостоятельная проверка префикса / origin ASN любого IP
- Team Cymru — IP to ASN MappingСамый распространённый в отрасли whois-сервис IP→ASN на основе BGP
- IANA — IPv4 Address Space RegistryПервоисточник того, почему выделение адресов (RIR) и «маршрутизируется ли блок» — разные вещи